/* Estilos para las páginas reales de categoría / subcategoría / producto
   (Tecle Manual, Tecle Eléctrico, Winche Eléctrico). Reutiliza los tokens
   de style.css y el lenguaje visual ya definido en catalogo-modelo-brasil.css
   (clases .sub-card, .sc-img, .sc-tag, .sc-btn se reusan tal cual dentro de
   un wrapper .catalogo-modelo en estas páginas). */

.pp-hero{
  position:relative; overflow:hidden; padding:6.5rem 0 2.5rem;
  background-image:linear-gradient(120deg,#012169 0%,#0040A8 35%,#0057D9 50%,#0040A8 65%,#012169 100%);
  background-size:300% 300%;
  animation:cat-banner-flow 8s ease-in-out infinite;
  color:#fff;
}
.pp-hero .container{ position:relative; z-index:1; }
.pp-breadcrumb{ display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; font-family:var(--font-display); font-size:.72rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:rgba(255,255,255,.75); margin-bottom:1rem; }
.pp-breadcrumb a{ color:rgba(255,255,255,.75); text-decoration:none; }
.pp-breadcrumb a:hover{ color:#fff; text-decoration:underline; }
.pp-breadcrumb span.sep{ opacity:.5; }
.pp-breadcrumb span.current{ color:#fff; }
.pp-hero h1{ font-family:var(--font-display); font-size:clamp(1.8rem,4vw,2.75rem); font-weight:800; line-height:1.1; margin-bottom:.5rem; }
.pp-hero p{ font-size:.95rem; color:rgba(255,255,255,.8); max-width:640px; }

.pp-section{ padding:3rem 0 4.5rem; background:#fff; }
.pp-section-label{ display:block; font-family:var(--font-display); font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--brand); margin-bottom:1.5rem; }

/* Grid de productos reales (página de subcategoría) */
.pp-prod-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
@media (max-width:1023px){ .pp-prod-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .pp-prod-grid{ grid-template-columns:1fr; } }

.pp-prod-card{ position:relative; display:block; text-decoration:none; border-radius:1.1rem; background:#fff; padding:14px; border:1px solid #f0f0f0; box-shadow:var(--shadow-card); transition:transform .35s ease, box-shadow .35s ease; }
.pp-prod-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-lift); }
.pp-prod-img{ width:100%; background:#fafafa; border-radius:.75rem; overflow:hidden; }
.pp-prod-img img{ width:100%; height:100%; object-fit:contain; display:block; }
.pp-prod-body{ padding:.85rem .15rem .1rem; }
.pp-prod-tag{ font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--brand); font-weight:700; display:block; margin-bottom:.35rem; }
.pp-prod-title{ font-family:var(--font-display); font-size:.85rem; font-weight:800; color:var(--brand-ink); line-height:1.3; margin-bottom:.75rem; }
.pp-prod-cta{ display:inline-flex; align-items:center; gap:.35rem; font-family:var(--font-display); font-size:.72rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:#fff; background-image:var(--gradient-brand); padding:.55rem .9rem; border-radius:10px; width:100%; justify-content:center; transition:background-image .3s ease; }
.pp-prod-card:hover .pp-prod-cta{ background-image:var(--gradient-danger); }

/* Ficha de producto individual */
.pp-product-layout{ display:grid; grid-template-columns:1fr; gap:2.5rem; }
@media (min-width:900px){ .pp-product-layout{ grid-template-columns:1fr 1fr; align-items:start; } }
.pp-product-media{ background:#fafafa; border:1px solid var(--border); border-radius:var(--radius-2xl); overflow:hidden; box-shadow:var(--shadow-card); }
.pp-product-media img{ width:100%; height:100%; object-fit:contain; display:block; }
.pp-product-info h1{ font-family:var(--font-display); font-size:clamp(1.5rem,3vw,2rem); font-weight:800; color:var(--brand-ink); line-height:1.15; margin-bottom:.5rem; }
.pp-product-cat{ font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--brand); margin-bottom:1.25rem; display:block; }
.pp-specs-table{ width:100%; border-collapse:collapse; margin-bottom:1.75rem; }
.pp-specs-table tr{ border-bottom:1px solid var(--border); }
.pp-specs-table tr:first-child{ border-top:1px solid var(--border); }
.pp-specs-table th{ text-align:left; padding:.65rem .5rem .65rem 0; font-family:var(--font-display); font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted-foreground); white-space:nowrap; width:42%; }
.pp-specs-table td{ padding:.65rem 0; font-size:.88rem; font-weight:600; color:var(--steel); }
.pp-product-cta-row{ display:flex; flex-wrap:wrap; gap:.85rem; }
.pp-btn-primary{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-display); font-size:.85rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:#fff; background-image:var(--gradient-danger); padding:.9rem 1.5rem; border-radius:12px; text-decoration:none; box-shadow:var(--shadow-cta); }
.pp-btn-secondary{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-display); font-size:.85rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:var(--brand); background:#fff; border:1.5px solid var(--brand); padding:.9rem 1.5rem; border-radius:12px; text-decoration:none; }

/* Otros productos de la misma subcategoría */
.pp-related{ margin-top:4rem; }
.pp-related h2{ font-family:var(--font-display); font-size:1.1rem; font-weight:800; color:var(--brand-ink); margin-bottom:1.25rem; }

/* Página de Servicios: bloques de detalle completo, imagen + texto alternados */
.pp-svc-block{ display:grid; grid-template-columns:1fr; gap:2rem; align-items:center; padding:3.5rem 0; border-bottom:1px solid var(--border); scroll-margin-top:6rem; }
.pp-svc-block:last-child{ border-bottom:none; }
@media (min-width:900px){
  .pp-svc-block{ grid-template-columns:1fr 1fr; gap:3rem; }
  .pp-svc-block.pp-svc-reverse .pp-svc-media{ order:2; }
  .pp-svc-block.pp-svc-reverse .pp-svc-info{ order:1; }
}
.pp-svc-media{ position:relative; border-radius:var(--radius-2xl); overflow:hidden; box-shadow:var(--shadow-card); aspect-ratio:4/3; }
.pp-svc-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.pp-svc-num{ position:absolute; top:1rem; left:1rem; font-family:var(--font-display); font-size:.75rem; font-weight:800; letter-spacing:.08em; color:#fff; background:rgba(1,33,105,.65); backdrop-filter:blur(4px); padding:.35rem .75rem; border-radius:999px; }
.pp-svc-icon{ display:inline-flex; align-items:center; justify-content:center; width:3rem; height:3rem; border-radius:12px; background:rgba(0,64,168,.1); color:var(--brand); font-size:1.25rem; margin-bottom:1rem; }
.pp-svc-info h2{ font-family:var(--font-display); font-size:clamp(1.35rem,2.5vw,1.85rem); font-weight:800; color:var(--brand-ink); line-height:1.15; margin-bottom:.85rem; }
.pp-svc-info p{ font-size:.95rem; line-height:1.65; color:var(--foreground); margin-bottom:1.5rem; }
