/* ============================================================
   INCRENOVA · Sistema de diseño de ficha de producto
   Dirección: "instrumento técnico certificado"
   Paleta y tipografía según Manual de Identidad Visual
   Portado desde fichas36increnova.html para woocommerce/single-product.php
   ============================================================ */
:root{
  /* Color por rol (no por nombre) */
  --azul:#2270B7;          /* primario de marca */
  --azul-700:#1A5A93;      /* hover / presionado */
  --azul-900:#143C63;      /* superficies oscuras de marca */
  --tinta-900:#0E1621;     /* tinta profunda para superficies */
  --celeste:#63A4FF;       /* resalte */
  --celeste-claro:#9FD0F5; /* texto sobre azul oscuro */
  --tinta:#202020;         /* texto principal */
  --gris:#5B6573;          /* texto secundario */
  --gris-2:#8A93A0;        /* texto terciario / unidades */
  --linea:#E6EAEF;         /* borde base */
  --linea-2:#D3DBE4;       /* borde marcado */
  --fondo:#FFFFFF;
  --suave:#F4F8FC;         /* superficie sutil */
  --suave-2:#EAF2FA;       /* superficie de acento */
  --verde:#1C9D5F;         /* estado positivo */
  --verde-suave:#EAF7F0;
  --naranja:#FF6B2C;       /* alerta / sin stock */
  --oro-bg:#FFF4D6; --oro-tx:#7A5A00;

  /* Escala de espaciado (base 4) */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px;
  --s6:24px; --s7:32px; --s8:40px; --s9:56px; --s10:72px;

  /* Radios */
  --r-xs:8px; --r-sm:10px; --r:14px; --r-lg:18px; --r-xl:22px; --r-pill:999px;

  /* Sombras por jerarquía */
  --sh-1:0 1px 2px rgba(20,40,70,.06);
  --sh-2:0 6px 20px rgba(20,40,70,.08);
  --sh-3:0 18px 44px rgba(20,40,70,.14);

  /* Tipografía */
  --f-display:"Poppins",system-ui,sans-serif;
  --f-body:"Roboto",system-ui,sans-serif;
  --f-data:"Roboto Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}

.ficha-producto-page{box-sizing:border-box}
.ficha-producto-page *,.ficha-producto-page *::before,.ficha-producto-page *::after{box-sizing:border-box}
.ficha-producto-page{
  display:block; width:100%; max-width:100%; min-width:0;
  margin:0; font-family:var(--f-body); color:var(--tinta);
  background:var(--fondo); line-height:1.55; -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden; overflow-x:clip; /* red de seguridad: hay varios plugins de terceros activos que agregan su propio markup en esta página. "clip" no crea contenedor de scroll, así el header sticky sigue funcionando. */
}
/* Mobile first: nada puede generar scroll horizontal ni agrandar el viewport (las barras fijas se anclan a ese ancho). */
html{overflow-x:clip}
html{scroll-behavior:smooth; scroll-padding-top:104px}
.ficha-producto-page .hero-grid > *,.ficha-producto-page .benefits > *,.ficha-producto-page .fit > *,
.ficha-producto-page .miedo .wrap > *,.ficha-producto-page .demo > *,.ficha-producto-page .cert > *{min-width:0}
@media(max-width:880px){html{scroll-padding-top:128px}}
@media(max-width:880px){.ficha-producto-page{padding-bottom:78px}}
.ficha-producto-page h1,.ficha-producto-page h2,.ficha-producto-page h3,.ficha-producto-page h4,.ficha-producto-page .poppins{font-family:var(--f-display); margin:0; line-height:1.18; letter-spacing:-.01em}
.ficha-producto-page img{max-width:100%; display:block}
.ficha-producto-page a{color:inherit}
.ficha-producto-page .wrap{max-width:1140px; margin:0 auto; padding:0 var(--s5)}
.ficha-producto-page :focus-visible{outline:3px solid var(--celeste); outline-offset:2px; border-radius:6px}

/* Enlace de salto para teclado / lectores de pantalla */
.ficha-producto-page .skip{position:absolute; left:-9999px; top:0; z-index:100; background:var(--azul); color:#fff;
  padding:12px 18px; border-radius:0 0 var(--r-sm) 0; font-family:var(--f-display); font-weight:600}
.ficha-producto-page .skip:focus{left:0}

/* Dato tabular: números que no bailan al cambiar */
.ficha-producto-page .data{font-family:var(--f-data); font-variant-numeric:tabular-nums; letter-spacing:-.02em}

/* ---- Barra superior de confianza ---- */
.ficha-producto-page > .topbar,.ficha-producto-page > header,.ficha-producto-page > main,.ficha-producto-page > footer{width:100%; max-width:100%; min-width:0}
.ficha-producto-page .topbar{background:var(--azul-900); color:#fff; position:relative; overflow:hidden}
.ficha-producto-page .topbar-inner{width:100%; max-width:100%; min-width:0; display:flex; align-items:center; justify-content:center; padding:10px 18px; font-size:13px; font-weight:500; line-height:1; overflow-x:auto; -ms-overflow-style:none; scrollbar-width:none}
.ficha-producto-page .topbar-inner::-webkit-scrollbar{display:none}
.ficha-producto-page .trust-item{display:inline-flex; align-items:center; gap:8px; white-space:nowrap; padding:0 18px}
.ficha-producto-page .trust-item svg{width:16px; height:16px; flex:none}
.ficha-producto-page .trust-item b{font-weight:700; color:#FFD27A}
.ficha-producto-page .tdiv{width:1px; height:15px; background:rgba(255,255,255,.20); flex:none}
@media(max-width:640px){
  .ficha-producto-page .topbar-inner{justify-content:flex-start}
  .ficha-producto-page .topbar::after{content:""; position:absolute; top:0; right:0; bottom:0; width:34px; background:linear-gradient(90deg,transparent,var(--azul-900)); pointer-events:none}
}

/* ---- Header ---- */
.ficha-producto-page header{position:sticky; top:0; z-index:40; background:#fff; border-bottom:1px solid var(--linea)}
.ficha-producto-page header .wrap{display:flex; align-items:center; justify-content:space-between; gap:var(--s4); padding:12px var(--s5)}
/* Logo del sitio: mismo bloque que el header original del tema (ícono + título + tagline). */
.ficha-producto-page .brand{display:inline-flex; align-items:center; gap:10px; text-decoration:none; flex:none}
.ficha-producto-page .brand img{width:60px; height:auto; display:block; flex:none}
.ficha-producto-page .brand-text{display:flex; flex-direction:column; justify-content:center}
.ficha-producto-page .brand-name{font-family:"Nunito",system-ui,sans-serif; font-size:25px; font-weight:700; line-height:1; color:#000}
.ficha-producto-page .brand-tagline{font-family:"Nunito Sans",system-ui,sans-serif; font-size:14px; font-weight:400; line-height:1.2; color:#b9bdbd; margin-top:3px}
@media(max-width:480px){
  .ficha-producto-page .brand{gap:8px}
  .ficha-producto-page .brand img{width:44px}
  .ficha-producto-page .brand-name{font-size:20px}
  .ficha-producto-page .brand-tagline{font-size:11px}
}

/* Aviso nativo de WooCommerce ("Store Notice"): esta plantilla no carga el CSS general de
   WooCommerce, así que se le da un estilo propio acorde al resto del diseño. */
.ficha-producto-page .woocommerce-store-notice{position:relative; z-index:41; background:var(--tinta-900); color:#fff; text-align:center; font-size:13px; padding:9px var(--s5); margin:0}
.ficha-producto-page .woocommerce-store-notice a{color:var(--celeste-claro); text-decoration:underline}
.ficha-producto-page .woocommerce-store-notice__dismiss-link{color:#fff; margin-left:14px; text-decoration:underline}
.ficha-producto-page .minav{display:flex; gap:2px; font-size:13.5px; font-weight:500; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none}
.ficha-producto-page .minav::-webkit-scrollbar{display:none}
.ficha-producto-page .minav a{text-decoration:none; color:var(--gris); padding:7px 12px; border-radius:var(--r-pill); white-space:nowrap; transition:background .15s,color .15s}
.ficha-producto-page .minav a:hover{color:var(--azul); background:var(--suave)}
.ficha-producto-page .minav a[aria-current="true"]{color:var(--azul); background:var(--suave-2); font-weight:600}
@media(max-width:880px){
  .ficha-producto-page header .wrap{flex-wrap:wrap; padding-bottom:8px}
  .ficha-producto-page .minav{order:3; width:100%; margin:0 -4px; padding:2px 4px 4px}
}

/* ---- Hero producto ---- */
.ficha-producto-page .hero{padding:var(--s7) 0 var(--s3)}
.ficha-producto-page .hero-grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--s8); align-items:start}
@media(max-width:880px){.ficha-producto-page .hero-grid{grid-template-columns:1fr; gap:var(--s6)}}

.ficha-producto-page .gallery{position:sticky; top:108px}
@media(max-width:880px){.ficha-producto-page .gallery{position:static}}
.ficha-producto-page .gmain{position:relative; border:1px solid var(--linea); border-radius:var(--r-lg); background:var(--suave); overflow:hidden; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center}
.ficha-producto-page .gmain img{width:100%; height:100%; object-fit:contain}
.ficha-producto-page .gmain .gbadge{position:absolute; left:14px; top:14px; background:rgba(255,255,255,.94); border:1px solid var(--linea);
  padding:6px 12px; border-radius:var(--r-pill); font-family:var(--f-display); font-weight:600; font-size:12px;
  display:inline-flex; align-items:center; gap:7px; box-shadow:var(--sh-1)}
.ficha-producto-page .gmain .gcount{position:absolute; right:14px; bottom:14px; background:rgba(14,22,33,.72); color:#fff;
  padding:5px 11px; border-radius:var(--r-pill); font-size:11.5px; font-weight:500}
.ficha-producto-page .gthumbs{display:flex; flex-wrap:wrap; gap:var(--s2); margin-top:var(--s3)}
.ficha-producto-page .gthumbs button{flex:0 0 calc((100% - 40px)/6); padding:0; border:1px solid var(--linea); border-radius:var(--r-xs); background:var(--suave); overflow:hidden; cursor:pointer; aspect-ratio:1/1; transition:border-color .15s, box-shadow .15s}
.ficha-producto-page .gthumbs button:hover{border-color:var(--linea-2)}
.ficha-producto-page .gthumbs button[aria-current="true"]{border-color:var(--azul); box-shadow:0 0 0 2px rgba(34,112,183,.25)}
.ficha-producto-page .gthumbs img{width:100%; height:100%; object-fit:cover}

/* ---- Buy box ---- */
.ficha-producto-page .rep{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:var(--s3)}
.ficha-producto-page .gold{display:inline-flex; align-items:center; gap:7px; background:linear-gradient(90deg,var(--oro-bg),#FFE9AE); color:var(--oro-tx); font-weight:700; font-size:12.5px; padding:5px 11px; border-radius:var(--r-pill); font-family:var(--f-display)}
.ficha-producto-page .gold svg{width:14px;height:14px}
.ficha-producto-page .stars{color:#F5A623; font-size:15px; letter-spacing:1px}
.ficha-producto-page .rep .small{color:var(--gris); font-size:13px}
.ficha-producto-page .rep .small a{color:var(--azul); text-decoration:none; font-weight:500}

.ficha-producto-page h1{font-size:29px; font-weight:700; margin:var(--s1) 0 6px}
.ficha-producto-page .subtitle{color:var(--gris); font-size:15px; margin-bottom:var(--s5)}

.ficha-producto-page .colorsel{display:flex; gap:10px; margin:0 0 var(--s5); flex-wrap:wrap}
.ficha-producto-page .colorsel a{display:flex; align-items:center; gap:8px; border:1.5px solid var(--linea); background:#fff; border-radius:var(--r-sm); padding:8px 13px; cursor:pointer; font-family:var(--f-display); font-weight:600; font-size:13px; transition:border-color .15s, background .15s; text-decoration:none; color:var(--tinta)}
.ficha-producto-page .colorsel a[aria-pressed="true"]{border-color:var(--azul); background:var(--suave-2)}
.ficha-producto-page .dot{width:15px; height:15px; border-radius:50%; border:1px solid rgba(0,0,0,.15); flex:none; display:inline-block}

.ficha-producto-page .pricebox{background:var(--suave); border:1px solid var(--linea); border-radius:var(--r); padding:var(--s5); margin-bottom:var(--s4)}
.ficha-producto-page .was{color:var(--gris); text-decoration:line-through; font-size:15px}
.ficha-producto-page .off{background:var(--verde); color:#fff; font-weight:700; font-size:12.5px; padding:2px 9px; border-radius:7px; margin-left:8px; font-family:var(--f-display)}
.ficha-producto-page .now{font-family:var(--f-display); font-weight:800; font-size:40px; color:var(--tinta); line-height:1; margin:6px 0 2px; font-variant-numeric:tabular-nums}
.ficha-producto-page .now .amount,.ficha-producto-page .now bdi,.ficha-producto-page .now .woocommerce-Price-amount{font-family:var(--f-display); font-weight:800}
.ficha-producto-page .cuotas{color:var(--verde); font-weight:700; font-size:15px}
.ficha-producto-page .cuotas span{color:var(--gris); font-weight:400}

.ficha-producto-page .warranty-inline{display:flex; align-items:center; gap:var(--s3); background:#fff; border:1.5px solid var(--azul); border-radius:var(--r); padding:13px 15px; margin-bottom:var(--s4)}
.ficha-producto-page .warranty-inline .seal{flex:none; width:46px; height:46px}
.ficha-producto-page .warranty-inline b{font-family:var(--f-display); font-size:14.5px; display:block}
.ficha-producto-page .warranty-inline small{color:var(--gris); font-size:12.5px}

.ficha-producto-page .stockrow{display:flex; align-items:center; gap:9px; font-size:14px; font-weight:500; margin-bottom:6px}
.ficha-producto-page .instock{color:var(--verde); font-weight:700}
.ficha-producto-page .outofstock{color:var(--naranja); font-weight:700}
.ficha-producto-page .pulse{width:9px; height:9px; border-radius:50%; background:var(--verde); box-shadow:0 0 0 0 rgba(28,157,95,.6); animation:ficha-pulse 2s infinite}
.ficha-producto-page .pulse.is-out{background:var(--naranja); box-shadow:none; animation:none}
@keyframes ficha-pulse{70%{box-shadow:0 0 0 7px rgba(28,157,95,0)}100%{box-shadow:0 0 0 0 rgba(28,157,95,0)}}
.ficha-producto-page .shiprow{display:flex; align-items:center; gap:8px; color:var(--gris); font-size:13.5px; margin-bottom:var(--s4)}
.ficha-producto-page .shiprow b{color:var(--tinta)}

.ficha-producto-page .qty-cta{display:flex; flex-wrap:wrap; gap:var(--s3); align-items:stretch; margin-bottom:var(--s3)}
.ficha-producto-page form.cart{display:flex; gap:var(--s3); align-items:stretch; margin:0; flex:1; min-width:220px}
/* Widgets que otros plugins agregan antes del form.cart dentro de .qty-cta (ej. selector de
   moneda de YayCurrency, vía woocommerce_before_add_to_cart_form): ocupan su propia fila en
   vez de forzar el desborde del qty+botón. */
.ficha-producto-page .qty-cta > *:not(form.cart){flex-basis:100%; margin-bottom:6px}
.ficha-producto-page .buybox,.ficha-producto-page .qty-cta > *{max-width:100%; min-width:0}
.ficha-producto-page .qty-cta > form.cart{min-width:min(220px,100%)}
.ficha-producto-page .quantity{display:flex; align-items:center; border:1.5px solid var(--linea); border-radius:var(--r-sm); overflow:hidden; min-height:48px; flex:none}
.ficha-producto-page .quantity .qty-btn{width:44px; min-height:44px; border:0; background:#fff; font-size:20px; cursor:pointer; color:var(--azul)}
.ficha-producto-page .quantity input.qty{width:42px; border:0; text-align:center; font-family:var(--f-display); font-weight:600; font-size:16px; -moz-appearance:textfield}
.ficha-producto-page .quantity input.qty::-webkit-outer-spin-button,
.ficha-producto-page .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none; margin:0}
.ficha-producto-page .btn{flex:1; border:0; border-radius:var(--r-sm); font-family:var(--f-display); font-weight:700; font-size:16px; cursor:pointer; padding:15px 18px; min-height:48px; transition:transform .08s, background .15s}
.ficha-producto-page .btn:active{transform:translateY(1px)}
.ficha-producto-page .btn-primary,
.ficha-producto-page .single_add_to_cart_button{background:var(--azul); color:#fff; width:100%}
.ficha-producto-page .btn-primary:hover,
.ficha-producto-page .single_add_to_cart_button:hover{background:var(--azul-700); color:#fff}
.ficha-producto-page .btn-secondary{display:block; width:100%; background:#fff; color:var(--azul); border:1.5px solid var(--azul); border-radius:var(--r-sm); font-family:var(--f-display); font-weight:700; font-size:15px; padding:13px; cursor:pointer; margin-bottom:var(--s4); transition:background .15s; text-align:center; text-decoration:none}
.ficha-producto-page .btn-secondary:hover{background:var(--suave-2)}

.ficha-producto-page .paytrust{display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding-top:var(--s4); border-top:1px dashed var(--linea); color:var(--gris); font-size:12.5px}
.ficha-producto-page .paytrust .chip{display:inline-flex; align-items:center; gap:6px; background:#fff; border:1px solid var(--linea); padding:5px 10px; border-radius:var(--r-xs); font-weight:600; color:var(--tinta)}
.ficha-producto-page .paytrust .chip svg{width:26px; height:17px; display:block}

/* ---- Strip "comprá sin miedo" ---- */
.ficha-producto-page .miedo{background:var(--suave); border-top:1px solid var(--linea); border-bottom:1px solid var(--linea); margin-top:var(--s6)}
.ficha-producto-page .miedo .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s4); padding:var(--s6) var(--s5)}
@media(max-width:760px){.ficha-producto-page .miedo .wrap{grid-template-columns:1fr 1fr; gap:14px}}
.ficha-producto-page .pill{display:flex; gap:var(--s3); align-items:flex-start}
.ficha-producto-page .pill .ic{flex:none; width:40px; height:40px; border-radius:var(--r-sm); background:#fff; border:1px solid var(--linea); display:flex; align-items:center; justify-content:center}
.ficha-producto-page .pill .ic svg{width:21px; height:21px; stroke:var(--azul)}
.ficha-producto-page .pill b{font-family:var(--f-display); font-size:14px; display:block}
.ficha-producto-page .pill small{color:var(--gris); font-size:12.5px}

/* ---- Secciones ---- */
.ficha-producto-page section.block{padding:var(--s9) 0}
.ficha-producto-page .eyebrow{font-family:var(--f-data); font-weight:500; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--azul); margin-bottom:var(--s2)}
.ficha-producto-page .h2{font-size:27px; font-weight:700; margin-bottom:6px}
.ficha-producto-page .lead{color:var(--gris); font-size:15.5px; max-width:640px; margin-bottom:var(--s7)}

/* ---- Garantía: certificado (firma emocional) ---- */
.ficha-producto-page .cert{background:linear-gradient(135deg,var(--azul-900),var(--azul)); color:#fff; border-radius:var(--r-xl); padding:var(--s8); display:grid; grid-template-columns:1fr auto; gap:var(--s7); align-items:center; box-shadow:var(--sh-3)}
@media(max-width:760px){.ficha-producto-page .cert{grid-template-columns:1fr; text-align:center; padding:30px 24px}}
.ficha-producto-page .cert h2{font-size:28px; margin-bottom:10px}
.ficha-producto-page .cert p{color:#D8E8F7; font-size:15px; margin:0 0 var(--s5)}
.ficha-producto-page .cert ul{list-style:none; padding:0; margin:0; display:grid; gap:9px}
.ficha-producto-page .cert li{display:flex; gap:10px; align-items:flex-start; font-size:14.5px}
@media(max-width:760px){.ficha-producto-page .cert li{justify-content:center; text-align:left}}
.ficha-producto-page .cert li svg{flex:none; width:19px; height:19px; stroke:#7FE3B0; margin-top:1px}
.ficha-producto-page .cert li b{font-weight:700; color:#fff}
.ficha-producto-page .certlink{display:inline-block; margin-top:var(--s5); color:var(--celeste-claro); font-family:var(--f-display); font-weight:600; font-size:14px; text-decoration:none; border-bottom:1px solid rgba(159,208,245,.4); padding-bottom:2px}
.ficha-producto-page .certlink:hover{color:#fff; border-color:#fff}
.ficha-producto-page .cert-seal{width:170px; height:auto; max-width:100%; object-fit:contain; justify-self:center; display:block}
@media(max-width:760px){.ficha-producto-page .cert-seal{width:140px; margin:0 auto}}

/* ---- Beneficios ---- */
.ficha-producto-page .benefits{display:grid; grid-template-columns:repeat(2,1fr); gap:var(--s5)}
@media(max-width:760px){.ficha-producto-page .benefits{grid-template-columns:1fr}}
.ficha-producto-page .ben{border:1px solid var(--linea); border-radius:var(--r-lg); padding:var(--s6); background:#fff; transition:box-shadow .2s, transform .2s, border-color .2s}
.ficha-producto-page .ben:hover{box-shadow:var(--sh-2); transform:translateY(-3px); border-color:var(--linea-2)}
.ficha-producto-page .ben .tag{display:inline-block; font-family:var(--f-data); font-weight:500; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--azul); background:var(--suave-2); padding:4px 9px; border-radius:6px; margin-bottom:var(--s3)}
.ficha-producto-page .ben h3{font-size:19px; margin-bottom:7px}
.ficha-producto-page .ben p{color:var(--gris); font-size:14.5px; margin:0}
.ficha-producto-page .ben .metric{font-family:var(--f-display); font-weight:800; font-size:32px; color:var(--tinta); margin-bottom:2px; font-variant-numeric:tabular-nums}
.ficha-producto-page .ben .metric span{font-size:15px; color:var(--gris); font-weight:600}
/* Barra de prioridad declarada por el comprador (encuesta n=385) */
.ficha-producto-page .prio{margin-top:var(--s4); padding-top:var(--s3); border-top:1px dashed var(--linea)}
.ficha-producto-page .prio .lbl{display:flex; justify-content:space-between; align-items:baseline; gap:10px; font-size:11.5px; color:var(--gris-2); margin-bottom:6px}
.ficha-producto-page .prio .lbl strong{font-family:var(--f-data); font-size:12px; color:var(--azul); font-weight:700}
.ficha-producto-page .prio .bar{height:5px; border-radius:var(--r-pill); background:var(--linea); overflow:hidden}
.ficha-producto-page .prio .bar i{display:block; height:100%; border-radius:var(--r-pill); background:linear-gradient(90deg,var(--azul),var(--celeste))}

/* ============================================================
   FICHA TÉCNICA — elemento firma del diseño
   ============================================================ */
.ficha-producto-page .sheet{border:1px solid var(--linea-2); border-radius:var(--r-xl); overflow:hidden; background:#fff; box-shadow:var(--sh-2)}

.ficha-producto-page .sheet-top{background:var(--tinta-900); color:#fff; padding:var(--s6) var(--s7)}
@media(max-width:620px){.ficha-producto-page .sheet-top{padding:var(--s5) var(--s4)}}
.ficha-producto-page .sheet-id{display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--s2) var(--s5); font-family:var(--f-data); font-size:11.5px; letter-spacing:1px; text-transform:uppercase; color:#7F8B9B; margin-bottom:var(--s4)}
.ficha-producto-page .sheet-id b{color:var(--celeste-claro); font-weight:500}
.ficha-producto-page .sheet-hi{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.10); border-radius:var(--r); overflow:hidden}
@media(max-width:760px){.ficha-producto-page .sheet-hi{grid-template-columns:1fr 1fr}}
.ficha-producto-page .sheet-hi > div{background:var(--tinta-900); padding:var(--s4) var(--s4) var(--s5)}
.ficha-producto-page .sheet-hi .v{font-family:var(--f-display); font-weight:800; font-size:30px; line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums}
.ficha-producto-page .sheet-hi .v em{font-style:normal; font-size:15px; font-weight:600; color:#93A1B2; margin-left:3px}
.ficha-producto-page .sheet-hi .k{font-family:var(--f-data); font-size:11px; letter-spacing:1.2px; text-transform:uppercase; color:#7F8B9B; margin-top:8px}
@media(max-width:400px){.ficha-producto-page .sheet-hi .v{font-size:25px}}

/* Navegación por grupos */
.ficha-producto-page .sheet-nav{display:flex; gap:var(--s2); overflow-x:auto; padding:var(--s3) var(--s7); border-bottom:1px solid var(--linea); background:var(--suave); scrollbar-width:none; -ms-overflow-style:none}
.ficha-producto-page .sheet-nav::-webkit-scrollbar{display:none}
@media(max-width:620px){.ficha-producto-page .sheet-nav{padding:var(--s3) var(--s4)}}
.ficha-producto-page .sheet-nav a{text-decoration:none; white-space:nowrap; font-family:var(--f-display); font-weight:600; font-size:12.5px; color:var(--gris); background:#fff; border:1px solid var(--linea); padding:7px 13px; border-radius:var(--r-pill); transition:all .15s}
.ficha-producto-page .sheet-nav a:hover{border-color:var(--azul); color:var(--azul)}

/* Grupos */
.ficha-producto-page .sgroup{border-top:1px solid var(--linea)}
.ficha-producto-page .sgroup:first-of-type{border-top:0}
.ficha-producto-page .sgroup > .sghead{display:flex; align-items:center; gap:var(--s3); padding:var(--s5) var(--s7) var(--s3); position:static; background:none; border:0; backdrop-filter:none}
.ficha-producto-page .ficha-admin-add{margin-left:auto; flex:none; box-sizing:border-box; width:28px; height:28px; padding:0; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--r-xs); border:0; appearance:none; -webkit-appearance:none; background:var(--suave-2); color:var(--azul); font-family:var(--f-display); font-size:17px; font-weight:700; line-height:1; cursor:pointer; transition:background .15s,color .15s}
.ficha-producto-page .ficha-admin-add:hover{background:var(--azul); color:#fff}
.ficha-producto-page .ficha-admin-add:active{transform:translateY(1px)}
.ficha-producto-page .ficha-admin-row{display:grid; grid-template-columns:1fr 1fr auto 1fr auto auto; gap:8px; align-items:center; padding:11px var(--s7); background:var(--suave-2); border-top:1px dashed var(--linea-2)}
@media(max-width:620px){.ficha-producto-page .ficha-admin-row{grid-template-columns:1fr; padding:11px var(--s4)}}
.ficha-producto-page .ficha-admin-row input[type="text"],
.ficha-producto-page .ficha-admin-row input[type="url"]{font:inherit; font-size:13px; padding:6px 8px; border:1px solid var(--linea-2); border-radius:6px; width:100%}
.ficha-producto-page .ficha-admin-row input[data-f="unidad"]{width:70px}
.ficha-producto-page .ficha-admin-row label{display:flex; align-items:center; gap:4px; font-size:12px; color:var(--gris); white-space:nowrap}
.ficha-producto-page .ficha-admin-row button{font:inherit; font-size:12.5px; font-weight:600; padding:6px 12px; border-radius:6px; cursor:pointer; border:0}
.ficha-producto-page .ficha-admin-row .ficha-guardar{background:var(--azul); color:#fff}
.ficha-producto-page .ficha-admin-row .ficha-cancelar{background:#fff; border:1px solid var(--linea-2)}
@media(max-width:620px){.ficha-producto-page .sgroup > .sghead{padding:var(--s4) var(--s4) var(--s2)}}
.ficha-producto-page .sgroup .num{font-family:var(--f-data); font-size:11.5px; font-weight:700; color:var(--azul); background:var(--suave-2); border-radius:6px; padding:3px 7px; letter-spacing:.5px; flex:none}
.ficha-producto-page .sgroup .gic{flex:none; width:22px; height:22px; stroke:var(--azul); fill:none; stroke-width:1.8}
.ficha-producto-page .sgroup h3{font-size:16px; font-weight:700}
.ficha-producto-page .srows{display:grid; grid-template-columns:1fr 1fr; gap:0 var(--s8); padding:0 var(--s7) var(--s5)}
@media(max-width:880px){.ficha-producto-page .srows{grid-template-columns:1fr; gap:0}}
@media(max-width:620px){.ficha-producto-page .srows{padding:0 var(--s4) var(--s4)}}
.ficha-producto-page .srow{display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:var(--s4); padding:11px 0; border-bottom:1px solid var(--linea); font-size:14px}
.ficha-producto-page .srow:last-child{border-bottom:0}
.ficha-producto-page .srow dt{color:var(--gris); margin:0}
.ficha-producto-page .srow dd{margin:0; text-align:right; font-family:var(--f-data); font-weight:500; font-size:13.5px; color:var(--tinta); font-variant-numeric:tabular-nums}
.ficha-producto-page .srow dd .u{color:var(--gris-2); font-weight:400} /* unidad */
.ficha-producto-page .srow.hl dd{color:var(--azul); font-weight:700}
.ficha-producto-page .srow dd a{color:var(--azul); text-decoration:none; border-bottom:1px solid rgba(34,112,183,.3)}

/* Pie de la ficha */
.ficha-producto-page .sheet-foot{background:var(--suave); border-top:1px solid var(--linea); padding:var(--s5) var(--s7); display:flex; flex-wrap:wrap; gap:var(--s4); align-items:center; justify-content:space-between}
@media(max-width:620px){.ficha-producto-page .sheet-foot{padding:var(--s4)}}
.ficha-producto-page .sheet-foot p{margin:0; font-size:13px; color:var(--gris); max-width:600px}
.ficha-producto-page .sheet-foot p b{color:var(--tinta)}
.ficha-producto-page .btn-ghost{background:#fff; border:1.5px solid var(--linea-2); color:var(--tinta); font-family:var(--f-display); font-weight:600; font-size:13px; padding:10px 16px; border-radius:var(--r-sm); cursor:pointer; display:inline-flex; align-items:center; gap:8px; transition:border-color .15s,color .15s}
.ficha-producto-page .btn-ghost:hover{border-color:var(--azul); color:var(--azul)}
.ficha-producto-page .btn-ghost svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2}

/* ---- Demo ---- */
.ficha-producto-page .demo{background:var(--azul-900); color:#fff; border-radius:var(--r-xl); overflow:hidden; display:grid; grid-template-columns:1.1fr 1fr; align-items:center}
@media(max-width:760px){.ficha-producto-page .demo{grid-template-columns:1fr}}
.ficha-producto-page .demo .txt{padding:var(--s8)}
.ficha-producto-page .demo h2{font-size:25px; margin-bottom:10px}
.ficha-producto-page .demo p{color:#C8CDD6; font-size:15px}
.ficha-producto-page .demo .media{background:transparent; display:flex; align-items:center; justify-content:center; padding:30px}
.ficha-producto-page .demo .media .videoframe{position:relative; width:100%; max-width:300px; aspect-ratio:9/16; border-radius:20px; overflow:hidden; background:var(--azul-900); border:1px solid rgba(255,255,255,.18); box-shadow:0 18px 40px rgba(0,0,0,.32)}
.ficha-producto-page .demo .media .videoframe iframe{position:absolute; inset:0; width:100%; height:100%; border:0; display:block}
@media(max-width:400px){.ficha-producto-page .demo .media{padding:16px} .ficha-producto-page .demo .media .videoframe{max-width:235px}}
.ficha-producto-page .noai{display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); padding:6px 12px; border-radius:var(--r-pill); font-size:12.5px; font-weight:600; margin-top:var(--s4)}

/* ---- Reseñas ---- */
.ficha-producto-page .rev-head{display:flex; gap:30px; align-items:center; flex-wrap:wrap; margin-bottom:var(--s6)}
.ficha-producto-page .rev-score{text-align:center}
.ficha-producto-page .rev-score .big{font-family:var(--f-display); font-weight:800; font-size:52px; line-height:1; color:var(--tinta)}
.ficha-producto-page .rev-score .stars{font-size:18px}
.ficha-producto-page .rev-score small{color:var(--gris); font-size:13px; display:block; margin-top:4px}
.ficha-producto-page .rev-note{flex:1; min-width:240px; background:var(--verde-suave); border:1px solid #BDE6CF; border-radius:var(--r); padding:14px 16px; font-size:13.5px; color:#15613C}
.ficha-producto-page .rev-note b{display:block; font-family:var(--f-display); margin-bottom:2px}
.ficha-producto-page .rev-source{border:1px solid var(--linea); border-radius:var(--r-lg); padding:var(--s6); background:#fff; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--s4)}
.ficha-producto-page .rev-source .who{font-family:var(--f-display); font-weight:600; font-size:16px; margin-bottom:4px}
.ficha-producto-page .rev-source p{margin:0; color:var(--gris); font-size:14.5px; max-width:560px}
.ficha-producto-page .rev-source .btn-secondary{width:auto; max-width:100%; margin:0; white-space:nowrap; text-decoration:none; display:inline-block}
@media(max-width:620px){.ficha-producto-page .rev-source{padding:var(--s5)} .ficha-producto-page .rev-source .btn-secondary{width:100%; white-space:normal}}

/* ---- Para quién sí / para quién no ---- */
.ficha-producto-page .fit{display:grid; grid-template-columns:1fr 1fr; gap:var(--s5)}
@media(max-width:760px){.ficha-producto-page .fit{grid-template-columns:1fr}}
.ficha-producto-page .fitcard{border:1px solid var(--linea); border-radius:var(--r-lg); padding:var(--s6); background:#fff}
.ficha-producto-page .fitcard.yes{border-color:#BDE6CF; background:linear-gradient(180deg,var(--verde-suave),#fff 60%)}
.ficha-producto-page .fitcard.no{border-color:var(--linea-2); background:linear-gradient(180deg,var(--suave),#fff 60%)}
.ficha-producto-page .fitcard h3{font-size:17px; display:flex; align-items:center; gap:10px; margin-bottom:var(--s4)}
.ficha-producto-page .fitcard h3 svg{width:22px; height:22px; fill:none; stroke-width:2.2; flex:none}
.ficha-producto-page .fitcard.yes h3 svg{stroke:var(--verde)} .ficha-producto-page .fitcard.no h3 svg{stroke:var(--gris-2)}
.ficha-producto-page .fitcard ul{list-style:none; margin:0; padding:0; display:grid; gap:11px}
.ficha-producto-page .fitcard li{display:flex; gap:10px; font-size:14.5px; color:var(--gris); line-height:1.45}
.ficha-producto-page .fitcard li b{color:var(--tinta); font-weight:600}
.ficha-producto-page .fitcard li::before{content:""; flex:none; width:6px; height:6px; border-radius:50%; margin-top:8px; background:var(--linea-2)}
.ficha-producto-page .fitcard.yes li::before{background:var(--verde)}

/* ---- FAQ ---- */
.ficha-producto-page .faq{display:grid; gap:var(--s3); max-width:800px}
.ficha-producto-page details{border:1px solid var(--linea); border-radius:var(--r); background:#fff; overflow:hidden}
.ficha-producto-page details[open]{border-color:var(--linea-2); box-shadow:var(--sh-1)}
.ficha-producto-page summary{cursor:pointer; padding:16px 20px; font-family:var(--f-display); font-weight:600; font-size:15px; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:var(--s4)}
.ficha-producto-page summary::-webkit-details-marker{display:none}
.ficha-producto-page summary::after{content:"+"; color:var(--azul); font-size:22px; font-weight:700; flex:none}
.ficha-producto-page details[open] summary::after{content:"–"}
.ficha-producto-page details p{padding:0 20px 18px; margin:0; color:var(--gris); font-size:14.5px}
.ficha-producto-page details p a{color:var(--azul)}

/* ---- Barra fija de compra (mobile) ---- */
.ficha-producto-page .stickybar{position:fixed; left:0; right:0; bottom:0; z-index:50; background:#fff; border-top:1px solid var(--linea); box-shadow:0 -6px 20px rgba(0,0,0,.07); padding:10px 16px calc(10px + env(safe-area-inset-bottom)); display:none; align-items:center; gap:var(--s3); transform:translateY(120%); transition:transform .25s}
.ficha-producto-page .stickybar.show{transform:translateY(0)}
.ficha-producto-page .stickybar .sp{flex:1; min-width:0}
.ficha-producto-page .stickybar .sp b{font-family:var(--f-display); font-weight:800; font-size:18px; display:block; font-variant-numeric:tabular-nums}
.ficha-producto-page .stickybar .sp small{color:var(--gris); font-weight:500; font-size:11.5px; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.ficha-producto-page .stickybar .sp small em{font-style:normal; color:var(--verde); font-weight:700}
.ficha-producto-page .stickybar .btn{flex:none; padding:13px 18px; min-height:46px; font-size:15px; width:auto; white-space:nowrap}
@media(max-width:360px){.ficha-producto-page .stickybar{padding-left:12px; padding-right:12px} .ficha-producto-page .stickybar .btn{padding:13px 14px; font-size:14px}}
@media(max-width:880px){.ficha-producto-page .stickybar{display:grid; grid-template-columns:minmax(0,1fr) auto; width:100%; max-width:100%; overflow:hidden}}
/* En mobile la barra fija ya trae "Agregar al carrito": se oculta el botón flotante del carrito (FunnelKit) para que no se superpongan. En escritorio se mantiene. */
@media(max-width:880px){.ficha-producto-page #fkcart-floating-toggler{display:none!important}}

/* ---- Footer ---- */
.ficha-producto-page footer{background:var(--suave); border-top:1px solid var(--linea); margin-top:var(--s5); padding:var(--s8) 0 var(--s8); color:var(--gris); font-size:13px; text-align:center}
.ficha-producto-page footer a{color:inherit; text-decoration:none}
.ficha-producto-page .foot-contact{display:flex; flex-direction:column; align-items:center; gap:var(--s3); margin:0 auto var(--s6); padding-bottom:var(--s6); border-bottom:1px solid var(--linea); max-width:520px}
.ficha-producto-page .foot-contact b{font-family:var(--f-display); font-size:16px; color:var(--tinta)}
.ficha-producto-page .foot-contact p{margin:0; font-size:13.5px; color:var(--gris)}
.ficha-producto-page footer .foot-contact-btn{display:inline-flex; align-items:center; gap:8px; background:var(--azul); color:#fff; font-family:var(--f-display); font-weight:600; font-size:14px; padding:11px 22px; border-radius:var(--r-sm); transition:background .15s}
.ficha-producto-page footer .foot-contact-btn:hover{background:var(--azul-700); color:#fff}
.ficha-producto-page .foot-nav{display:flex; flex-wrap:wrap; justify-content:center; gap:10px 24px; margin-bottom:var(--s5)}
.ficha-producto-page .foot-nav a{font-family:var(--f-display); font-weight:500; font-size:12.5px; letter-spacing:.4px; text-transform:uppercase; color:var(--tinta)}
.ficha-producto-page .foot-nav a:hover{color:var(--azul)}
.ficha-producto-page .foot-legal{margin:0 auto var(--s5); font-size:12.5px; color:var(--gris); max-width:760px}
.ficha-producto-page .foot-legal a{color:var(--azul)}
.ficha-producto-page .datafiscal{display:inline-block}
.ficha-producto-page .datafiscal img{width:74px; height:auto; display:block}

@media(prefers-reduced-motion:reduce){.ficha-producto-page *{animation:none!important; transition:none!important; scroll-behavior:auto}}

/* ---- Refinamiento mobile ---- */
@media(max-width:480px){
  .ficha-producto-page .wrap{padding:0 var(--s4)}
  .ficha-producto-page .hero{padding:var(--s5) 0 6px}
  .ficha-producto-page h1{font-size:22px}
  .ficha-producto-page .subtitle{font-size:14px}
  .ficha-producto-page .now{font-size:32px}
  .ficha-producto-page .pricebox{padding:15px 16px}
  .ficha-producto-page .warranty-inline{padding:12px 13px}
  .ficha-producto-page section.block{padding:var(--s7) 0}
  .ficha-producto-page .h2{font-size:21px}
  .ficha-producto-page .lead{font-size:14.5px; margin-bottom:var(--s5)}
  .ficha-producto-page .cert{padding:26px 20px}
  .ficha-producto-page .cert h2{font-size:21px}
  .ficha-producto-page .cert-seal{width:110px}
  .ficha-producto-page .demo .txt{padding:26px 20px}
  .ficha-producto-page .demo h2{font-size:21px}
  .ficha-producto-page .rev-head{gap:18px}
  .ficha-producto-page .rev-score .big{font-size:40px}
  .ficha-producto-page .gthumbs button{flex:0 0 calc((100% - 32px)/5)}
  .ficha-producto-page .ben{padding:18px}
  .ficha-producto-page .stickybar .sp b{font-size:16px}
}
@media(max-width:360px){
  .ficha-producto-page .gthumbs button{flex:0 0 calc((100% - 24px)/4)}
  .ficha-producto-page .now{font-size:28px}
}

/* ---- Impresión: la ficha técnica se imprime sola y limpia ---- */
@media print{
  .ficha-producto-page{padding:0}
  .ficha-producto-page .topbar,.ficha-producto-page header,.ficha-producto-page .hero,.ficha-producto-page .miedo,
  .ficha-producto-page #garantia,.ficha-producto-page #beneficios,.ficha-producto-page #demo,.ficha-producto-page #resenas,
  .ficha-producto-page #fit,.ficha-producto-page #faq,.ficha-producto-page .stickybar,.ficha-producto-page .foot-contact,
  .ficha-producto-page .sheet-nav,.ficha-producto-page .sheet-foot .btn-ghost,.ficha-producto-page footer .foot-nav,
  .ficha-producto-page .datafiscal{display:none!important}
  .ficha-producto-page section.block{padding:0}
  .ficha-producto-page .sheet{border:1px solid #999; box-shadow:none; border-radius:0}
  .ficha-producto-page .sheet-top{background:#fff!important; color:#000!important; border-bottom:2px solid #000}
  .ficha-producto-page .sheet-hi > div{background:#fff!important}
  .ficha-producto-page .sheet-hi{background:#999}
  .ficha-producto-page .sheet-hi .v, .ficha-producto-page .sheet-id b{color:#000!important}
  .ficha-producto-page .sheet-hi .k, .ficha-producto-page .sheet-id{color:#444!important}
  .ficha-producto-page .srow{break-inside:avoid}
}
