/*
 Theme Name:   Blocksy Child (Industrias Correa)
 Theme URI:    https://industrias-correa.soluciones-digitales.com
 Description:  Blocksy Child Theme for Industrias Correa Prototypes
 Author:       Antigravity
 Template:     blocksy
 Version:      1.0.0
*/

/* ═══════════════════════════════════════════════════════════
   TOKENS — Industrias Correa S.A.C. · Design System v2.0 "Ember"
   Color y patrones actualizados. Tipografía y espaciado sin cambios.
   ═══════════════════════════════════════════════════════════ */
:root{
  /* Fondos oscuros — espresso cálido (antes gris neutro) */
  --c-espresso:#120D0A; --c-surface:#1C140F; --c-surface-2:#271C15;

  /* Naranja de marca — sin cambios */
  --c-orange:#F0892A; --c-orange-h:#FFA94D; --c-orange-dim:rgba(240,137,42,.14);

  /* Ember & glow — solo dentro de gradientes, halos y velos. Nunca color plano ni de texto. */
  --c-ember:#D06E12; --c-glow:#FFCB8C; --c-flare:#FFF8EC;

  /* Mundo claro — sin cambios */
  --c-cream:#F5F1EA; --c-beige:#E8DCC7; --c-wengue:#2C1A0E;
  --c-border-l:#D6C9B5;

  /* Bordes y texto */
  --c-border-d:#34261B;
  --c-text:#F3ECE3; --c-text-muted:#B4A594; --c-text-dark:#1A1A1A;
  --c-text-muted-l:#7D6E5E;
  --c-text-dim:#857567;
  --c-green:#25D366;

  /* Gradientes — tres roles fijos, no inventar otros */
  --grad-ember:linear-gradient(135deg,#FFA94D 0%,#F0892A 55%,#D06E12 100%);
  --grad-glow:radial-gradient(ellipse at 30% 30%,#FFCB8C,#F0892A 55%,transparent 100%);
  --grad-surface:linear-gradient(180deg,#271C15 0%,#120D0A 100%);

  /* Halos — solo en :hover / :focus-visible */
  --glow-btn:0 8px 30px -6px rgba(240,137,42,.55),0 0 40px rgba(246,208,138,.25);
  --glow-card:0 16px 50px -10px rgba(240,137,42,.35),0 0 60px -20px rgba(246,208,138,.30);

  /* Velo sobre fotografía — capa 1 legibilidad, capa 2 bloom cálido */
  --veil-hero:linear-gradient(90deg,rgba(18,13,10,.86) 0%,rgba(18,13,10,.62) 34%,rgba(18,13,10,.18) 62%,rgba(18,13,10,0) 82%);
  --veil-bloom:radial-gradient(ellipse 55% 85% at 88% 42%,rgba(246,208,138,.20),transparent 62%);

  --mel-wengue:#3A2010; --mel-gales:#C8B89A; --mel-niebla:#D4D0C8; --mel-rovere:#A08060;
  --mel-caramelo:#C8825A; --mel-panela:#E8C87A; --mel-negro:#1A1A1A; --mel-blanco:#F0F0F0;

  --font-display:'Cormorant Garamond',Georgia,serif; --font-body:'Jost',system-ui,sans-serif; --font-mono:'Jost',system-ui,sans-serif;

  --grid-max:1280px; --pad-x:48px; --pad-x-mob:20px;
  --radius-sm:0; --radius-md:0; --radius-lg:0; --radius-full:999px;
  --gap-lg:120px; --gap-md:80px; --gap-sm:48px;
  --transition:.2s ease;
  --font-scale:.9;

  /* ── Sobreescritura de variables de Blocksy ──────────────
     Blocksy global.css usa --theme-palette-color-8 para el fondo
     del body (por defecto #ffffff). Lo reemplazamos aquí para que
     cuando Blocksy diga background-color:var(--theme-palette-color-8)
     aplique nuestro color oscuro en lugar de blanco.
  ─────────────────────────────────────────────────────────── */
  --theme-palette-color-8: #120D0A;
  --theme-text-color: #F3ECE3;
  --theme-link-initial-color: #F0892A;
  --theme-link-hover-color: #FFA94D;
  --headings-color: #F3ECE3;
  --theme-headings-color: #F3ECE3;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
/* Fondo oscuro — valores hex hardcodeados para máxima compatibilidad.
   NO depender solo de variables CSS porque Blocksy puede pisar :root
   con su propio global.css. El valor #120D0A es --c-espresso. */
body,html body{
  background:#120D0A !important;
  background-color:#120D0A !important;
  background-image:none !important;
  color:#F3ECE3 !important;
  font-family:var(--font-body,'Inter',sans-serif);
  font-size:calc(14px * var(--font-scale,0.9));
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer;border:none;background:none}

.wrap{max-width:var(--grid-max);margin:0 auto;padding:0 var(--pad-x)}

/* ── Tipografía ───────────────────────────────────────── */
.t-display{font:400 calc(72px * var(--font-scale))/1.05 var(--font-display);letter-spacing:-.02em}
.t-display-sm{font:400 calc(52px * var(--font-scale))/1.1 var(--font-display);letter-spacing:-.01em}
.t-h1{font:400 calc(40px * var(--font-scale))/1.2 var(--font-display)}
.t-h2{font:400 calc(32px * var(--font-scale))/1.25 var(--font-display)}
.t-h3{font:600 calc(18px * var(--font-scale))/1.4 var(--font-body);letter-spacing:.01em}
.t-eyebrow{font:600 calc(11px * var(--font-scale))/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.t-body-lg{font:400 calc(16px * var(--font-scale))/1.7 var(--font-body)}
.t-body{font:400 calc(14px * var(--font-scale))/1.6 var(--font-body)}
.t-body-sm{font:400 calc(12px * var(--font-scale))/1.5 var(--font-body)}
.t-price{font:500 calc(28px * var(--font-scale))/1 var(--font-mono)}
.t-sku{font:400 calc(11px * var(--font-scale))/1 var(--font-mono);letter-spacing:.06em}
.t-spec{font:400 calc(13px * var(--font-scale))/1.6 var(--font-mono)}

/* ── Botones ──────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
     font:500 calc(13px * var(--font-scale))/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;
     padding:14px 32px;border-radius:var(--radius-sm);transition:all var(--transition)}
/* v2.0 — el primario es gradiente ember; el hover enciende el halo en vez de cambiar de color */
.btn-primary{background:var(--grad-ember);color:#fff}
.btn-primary:hover{box-shadow:var(--glow-btn);transform:translateY(-1px)}
.btn-secondary{background:transparent;color:var(--c-orange);border:1.5px solid var(--c-orange);padding:13px 32px}
.btn-secondary:hover{background:rgba(240,137,42,.10)}
.btn-outline-light{background:transparent;color:var(--c-text);border:1.5px solid var(--c-text);padding:13px 32px}
.btn-outline-light:hover{border-color:var(--c-glow);color:var(--c-glow)}
.btn-dark{background:var(--c-text-dark);color:#fff}
.btn-dark:hover{background:#000}
.btn-whatsapp{background:transparent;color:var(--c-green);border:1.5px solid var(--c-green);padding:13px 32px}
.btn-whatsapp:hover{background:rgba(37,211,102,.08)}

/* ── Estándar de par de CTAs: botón sólido + enlace, ambos con flecha ── */
.cta-pair{display:flex;align-items:stretch;gap:18px;flex-wrap:wrap}
.btn-link::after{content:'';width:15px;height:9px;flex-shrink:0;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14'%3E%3Cpath d='M0 7h20M15 1l6 6-6 6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14'%3E%3Cpath d='M0 7h20M15 1l6 6-6 6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  transition:transform var(--transition)}
.btn-link:hover::after{transform:translateX(4px)}
.btn-link{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;
  font:500 calc(13px * var(--font-scale))/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;
  color:var(--c-text-dark);border-bottom:1px solid currentColor;padding:0 2px 12px;
  align-self:flex-end;transition:color var(--transition)}
.btn-link:hover{color:var(--c-orange)}
.btn-link--light{color:var(--c-text)}
.btn-link--light:hover{color:var(--c-orange)}

/* ── Badges ───────────────────────────────────────────── */
.badge{display:inline-block;font:600 calc(10px * var(--font-scale))/1 var(--font-body);letter-spacing:.08em;
       text-transform:uppercase;padding:5px 10px;border-radius:0}
.badge-new{background:var(--grad-ember);color:#fff}
.badge-offer{background:var(--c-espresso);color:var(--c-orange);border:1px solid var(--c-orange)}
.badge-top{background:var(--grad-ember);color:#fff}
.badge-custom{background:var(--c-cream);color:var(--mel-wengue);border:1px solid var(--c-border-l)}

/* ── ELEMENTO FIRMA · tira de acabados de melamina ────── */
.mel-strip{display:flex;height:8px;border-radius:0;overflow:hidden}
.mel-strip i{flex:1;display:block}
.mel-strip--thin{height:5px;border-radius:0}

/* ═══ 1 · WELCOME BAR ═════════════════════════════════ */
.welcome{background:var(--c-espresso);height:32px;display:flex;align-items:center;
         border-bottom:1px solid var(--c-border-d)}
.welcome .wrap{display:flex;align-items:center;justify-content:space-between;width:100%}
.welcome-msgs{position:relative;height:32px;flex:1;overflow:hidden}
.welcome-msg{position:absolute;inset:0;display:flex;align-items:center;gap:8px;
             font:400 calc(11px * var(--font-scale))/1 var(--font-mono);letter-spacing:.05em;color:var(--c-text);
             opacity:0;transform:translateY(6px);transition:opacity .45s,transform .45s}
.welcome-msg.on{opacity:1;transform:none}
.welcome-msg b{color:var(--c-orange);font-weight:600}
.welcome-social{display:flex;gap:14px;flex-shrink:0}
.welcome-social a{color:var(--c-text-muted);transition:color var(--transition);display:flex}
.welcome-social a:hover{color:var(--c-orange)}

/* ═══ 2 · NAV ═════════════════════════════════════════ */
.nav{background:var(--c-espresso);border-bottom:1px solid var(--c-border-d);
     position:sticky;top:0;z-index:200}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:74px;gap:32px}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.brand-mark{width:38px;height:38px;flex-shrink:0;object-fit:contain}
.brand-txt{display:flex;flex-direction:column;line-height:1;align-items:flex-end}
.brand-txt small{font:600 calc(9px * var(--font-scale))/1 var(--font-body);letter-spacing:.14em;text-transform:lowercase;color:var(--c-text)}
.brand-txt strong{font:700 calc(21px * var(--font-scale))/1 var(--font-body);letter-spacing:-.01em;color:var(--c-orange);
                  font-style:italic;margin-top:2px}
.nav-menu{display:flex;gap:28px;list-style:none}
.nav-menu a{font:500 calc(11px * var(--font-scale))/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;
            color:var(--c-text);transition:color var(--transition);position:relative;padding:6px 0}
.nav-menu a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1.5px;
                   background:var(--c-orange);transform:scaleX(0);transition:transform var(--transition)}
.nav-menu a:hover{color:var(--c-text)}
.nav-menu a:hover::after{transform:scaleX(1)}
.nav-icons{display:flex;align-items:center;gap:20px;flex-shrink:0}
.nav-icons button{color:var(--c-text);display:flex;transition:color var(--transition)}
.nav-icons button:hover{color:var(--c-orange)}
.cart-wrap{position:relative}
.cart-count{position:absolute;top:-7px;right:-9px;background:var(--grad-ember);color:#fff;
            font:600 calc(9px * var(--font-scale))/1 var(--font-mono);min-width:16px;height:16px;border-radius:var(--radius-full);
            display:flex;align-items:center;justify-content:center;padding:0 4px}

/* ═══ 3 · HERO ════════════════════════════════════════ */
.hero{position:relative;height:84vh;min-height:560px;overflow:hidden;background:var(--c-espresso)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}
.slide.on{opacity:1;pointer-events:auto}
.slide img{width:100%;height:100%;object-fit:cover}
/* v2.0 — dos capas: bloom cálido a la derecha (arriba) + velo espresso para legibilidad */
.slide::after{content:'';position:absolute;inset:0;pointer-events:none;
              background:var(--veil-bloom),var(--veil-hero)}
.slide-body{position:absolute;inset:0;z-index:2;display:flex;align-items:center}
.slide-body .wrap{width:100%}
.slide-inner{max-width:600px}
.slide-inner .t-eyebrow{color:var(--c-orange);margin-bottom:22px;display:flex;align-items:center;gap:10px}
.slide-inner .t-eyebrow::before{content:'';width:34px;height:1px;background:var(--c-orange)}
.slide-inner h1{margin-bottom:20px;color:var(--c-text)}
.slide-inner h1 em{font-style:italic;font-weight:300;color:var(--c-orange)}
.slide-inner p{color:var(--c-text);max-width:460px;margin-bottom:16px}
.slide-price{font:600 calc(15px * var(--font-scale))/1 var(--font-mono);color:var(--c-text);margin-bottom:32px;
             display:flex;align-items:baseline;gap:9px}
.slide-price s{color:var(--c-text-dim);font-weight:400;font-size:calc(13px * var(--font-scale))}
.slide-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-nav{position:absolute;z-index:5;bottom:44px;left:0;right:0}
.hero-nav .wrap{display:flex;align-items:center;justify-content:space-between}
.hero-dots{display:flex;gap:10px}
.hero-dots button{width:34px;height:3px;background:rgba(243,236,227,.28);border-radius:0;
                  transition:background var(--transition)}
.hero-dots button.on{background:var(--c-orange)}
.hero-arrows{display:flex;gap:10px}
.hero-arrows button{width:44px;height:44px;border:1px solid rgba(243,236,227,.3);border-radius:var(--radius-sm);
                    color:var(--c-text);display:flex;align-items:center;justify-content:center;
                    transition:all var(--transition)}
.hero-arrows button:hover{border-color:var(--c-orange);background:var(--grad-ember);color:#fff}

/* ═══ 4 · BENEFICIOS ═══════════════════════════════════ */
.diff{background:#EFEFEF;padding:30px 0}
.diff-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.diff-item{display:flex;gap:16px;align-items:center;justify-content:center;padding:4px 30px}
.diff-item:not(:first-child){border-left:1px solid var(--c-text-muted)}
.diff-icon{flex-shrink:0;color:var(--c-text-dark)}
.diff-item h3{font:600 calc(14px * var(--font-scale))/1.3 var(--font-body);color:var(--c-text-dark);margin-bottom:3px}
.diff-item p{color:var(--c-text-muted-l);font-size:calc(12px * var(--font-scale));line-height:1.4}

/* ═══ 5 · MARCAS QUE CONFÍAN ═══════════════════════════ */
.brands{background:#fff;padding:16px 0 56px}
.brands .sec-head{margin-bottom:48px}
.brands-marquee{position:relative;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.brands-track{display:flex;align-items:center;width:max-content;animation:brandsScroll 34s linear infinite}
.brands-set{display:flex;align-items:center;flex-shrink:0}
.brand-logo{display:flex;align-items:center;justify-content:center;height:30px;padding:0 42px;
            color:var(--c-text-dim);flex-shrink:0;transition:color var(--transition)}
.brand-logo svg{height:100%;width:auto;display:block}
.brand-logo:hover{color:var(--c-text-dark)}
@keyframes brandsScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ═══ 6 · CATEGORÍAS ══════════════════════════════════ */
.light{background:#fff;color:var(--c-text-dark)}
.sec{padding:var(--gap-lg) 0}
.sec-head{margin-bottom:44px}
.sec-head .t-eyebrow{color:var(--c-orange);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.sec-head .t-eyebrow::before{content:'';width:34px;height:1px;background:var(--c-orange)}
.sec-head h2{color:var(--c-text-dark)}
.sec-head.on-dark h2{color:var(--c-text)}
.sec-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.sec-head-row p{color:var(--c-text-muted-l);max-width:440px;margin-top:10px}
.sec-head.on-dark p{color:var(--c-text-muted)}
.sec-head.on-dark .t-eyebrow{color:var(--c-orange)}

/* ── Patrón de sección reusable: título + botón lateral + contenido ── */
.cc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
         flex-wrap:wrap;margin-bottom:36px}
.cc-head .sec-head{margin-bottom:0}
.sec-link{display:inline-flex;align-items:center;gap:8px;
          font:600 calc(12px * var(--font-scale))/1 var(--font-mono);
          letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-dark);
          border-bottom:1px solid var(--c-text-dark);padding-bottom:5px;flex-shrink:0;
          transition:color var(--transition),border-color var(--transition)}
.sec-link svg{transition:transform var(--transition)}
.sec-link:hover{color:var(--c-orange);border-color:var(--c-orange)}
.sec-link:hover svg{transform:translateX(3px)}

/* ── Grilla de favoritos: foto + swatches + precio (reusable, ej. "Ofertas que te sorprenderán") ── */
.pf-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:28px 20px}
.pf-card{display:block}
.pf-media{position:relative;background:#EFEFEF;aspect-ratio:1/1;overflow:hidden;
          display:flex;align-items:center;justify-content:center}
.pf-media img{width:86%;height:86%;object-fit:contain}
.pf-badge{position:absolute;top:10px;left:10px;z-index:2;background:var(--grad-ember);color:#fff;
          width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
          font:700 calc(11px * var(--font-scale))/1 var(--font-mono)}
.pf-nav{display:flex;align-items:center;justify-content:center;gap:26px;padding:9px 0 2px}
.pf-nav button{color:var(--c-text-dim);display:flex;transition:color var(--transition)}
.pf-nav button:hover{color:var(--c-orange)}
.pf-name{font:500 calc(15px * var(--font-scale))/1.3 var(--font-body);color:var(--c-text-dark);margin:2px 0 6px}
.pf-material{font:400 calc(12px * var(--font-scale))/1.4 var(--font-body);color:var(--c-text-muted-l);margin-bottom:10px}
.pf-swatches{display:flex;align-items:center;gap:7px;margin-bottom:12px}
.pf-swatches button{width:15px;height:15px;border-radius:50%;border:1px solid rgba(0,0,0,.08);
                     flex-shrink:0;padding:0;cursor:pointer;transition:box-shadow var(--transition)}
.pf-swatches button.on{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--c-text-dark)}
.pf-more{font:400 calc(11px * var(--font-scale))/1 var(--font-body);color:var(--c-text-dim);
         white-space:nowrap;margin-left:2px}
.pf-price{display:flex;align-items:baseline;gap:9px}
.pf-price .now{font:700 calc(15px * var(--font-scale))/1 var(--font-mono);color:var(--c-text-dark)}
.pf-price .was{font:400 calc(13px * var(--font-scale))/1 var(--font-mono);color:var(--c-text-dim);
               text-decoration:line-through}

/* variante carrusel: muestra 5 y el resto se navega con las flechas */
.pf-grid--slider{display:flex;grid-template-columns:none;gap:20px;overflow-x:auto;
                 scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.pf-grid--slider::-webkit-scrollbar{display:none}
.pf-grid--slider .pf-card{flex:0 0 calc((100% - 80px)/5);scroll-snap-align:start}
/* flechas flotantes centradas sobre la imagen del carrusel */
.pf-wrap{position:relative}
.pf-float{position:absolute;top:calc((100% - 118px)/2);transform:translateY(-50%);z-index:5;
          width:44px;height:44px;background:#fff;border:1px solid var(--c-border-l);
          display:flex;align-items:center;justify-content:center;color:var(--c-text-dark);
          box-shadow:0 4px 16px rgba(18,13,10,.10);transition:all var(--transition)}
.pf-float:hover{background:var(--grad-ember);border-color:var(--c-orange);color:#fff}
.pf-float--prev{left:-22px}
.pf-float--next{right:-22px}
.pf-dark .pf-float{background:var(--c-surface);border-color:var(--c-border-d);color:var(--c-text)}
.pf-dark .pf-float:hover{background:var(--grad-ember);border-color:var(--c-orange);color:#fff}

.sec-nav{display:flex;gap:8px;flex-shrink:0}
.sec-nav button{width:40px;height:40px;border:1px solid var(--c-border-l);
                display:flex;align-items:center;justify-content:center;color:var(--c-text-dark);
                transition:all var(--transition)}
.sec-nav button:hover{border-color:var(--c-orange);background:var(--grad-ember);color:#fff}

/* variante oscura del componente (ej. "Ofertas que te sorprenderán") */
.pf-dark{background:var(--c-espresso)}
.pf-dark .sec-head h2{color:var(--c-text)}
.pf-dark .pf-name{color:var(--c-text)}
.pf-dark .pf-material{color:var(--c-text-muted)}
.pf-dark .pf-price .now{color:var(--c-text)}
.pf-dark .pf-price .was{color:var(--c-text-dim)}
.pf-dark .pf-more{color:var(--c-text-muted)}
.pf-dark .pf-nav button{color:var(--c-text-muted)}
.pf-dark .pf-nav button:hover{color:var(--c-orange)}
.pf-dark .pf-swatches button.on{box-shadow:0 0 0 2px var(--c-espresso),0 0 0 3px var(--c-text)}
.pf-dark .sec-link{color:var(--c-text);border-color:var(--c-text)}
.pf-dark .sec-link:hover{color:var(--c-orange);border-color:var(--c-orange)}
.pf-dark .sec-nav button{border-color:var(--c-border-d);color:var(--c-text)}
.pf-dark .sec-nav button:hover{border-color:var(--c-orange);background:var(--grad-ember);color:#fff}

/* ── Grilla de tarjetas simples (categorías, y reusable para otras secciones) ── */
.cc-track{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.cc-card{display:block}
.cc-media{aspect-ratio:4/4.4;overflow:hidden;background:#F5F5F3;
          display:flex;align-items:center;justify-content:center}
.cc-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.cc-card:hover .cc-media img{transform:scale(1.05)}
.cc-info{border-top:1px solid var(--c-border-l);margin-top:14px;padding-top:14px;
         display:flex;align-items:center;justify-content:space-between;gap:12px}
.cc-info h3{font:500 calc(15px * var(--font-scale))/1.3 var(--font-body);color:var(--c-text-dark)}
.cc-info svg{flex-shrink:0;color:var(--c-text-dark);transition:transform var(--transition),color var(--transition)}
.cc-card:hover .cc-info svg{transform:translateX(4px);color:var(--c-orange)}

/* ═══ 7 / 9 · GRILLAS DE PRODUCTO ═════════════════════ */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--c-border-l);border-radius:var(--radius-md);
      overflow:hidden;display:flex;flex-direction:column;
      transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}
.card:hover{border-color:var(--c-orange);transform:translateY(-4px);box-shadow:var(--glow-card)}
.card-media{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--c-beige)}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .card-media img{transform:scale(1.05)}
.card-badges{position:absolute;top:12px;left:12px;z-index:2;display:flex;gap:6px;flex-wrap:wrap}
.card-rank{position:absolute;top:12px;right:12px;z-index:2;width:32px;height:32px;
           background:var(--grad-ember);color:#fff;border-radius:var(--radius-sm);
           font:600 calc(14px * var(--font-scale))/1 var(--font-mono);display:flex;align-items:center;justify-content:center}
.card-body{padding:16px 17px 18px;display:flex;flex-direction:column;flex:1}
.card-cat{font:600 calc(10px * var(--font-scale))/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;
          color:var(--c-text-muted-l);margin-bottom:8px}
.card-name{font:500 calc(18px * var(--font-scale))/1.25 var(--font-display);color:var(--c-text-dark);margin-bottom:6px}
.card-spec{font:400 calc(11px * var(--font-scale))/1.5 var(--font-mono);color:var(--c-text-muted-l);margin-bottom:14px}
.card-foot{margin-top:auto}
.card-price{font:700 calc(20px * var(--font-scale))/1 var(--font-mono);color:var(--c-text-dark);
            display:flex;align-items:baseline;gap:8px;margin-bottom:13px}
.card-price s{font-size:calc(12px * var(--font-scale));font-weight:400;color:var(--c-text-dim)}
.card-price.is-offer{color:var(--c-orange)}
.card-mel{display:flex;align-items:center;gap:9px}
.card-mel .mel-strip{flex:1}
.card-mel span{font:400 calc(9px * var(--font-scale))/1 var(--font-mono);letter-spacing:.06em;color:var(--c-text-muted-l);
               text-transform:uppercase;white-space:nowrap}

/* variante oscura */
.dark-sec{background:var(--c-espresso)}
.dark-sec .card{background:var(--c-surface);border-color:var(--c-border-d)}
.dark-sec .card:hover{border-color:var(--c-orange)}
.dark-sec .card-media{background:#EFEFEF}
.dark-sec .card-name{color:var(--c-text)}
.dark-sec .card-price{color:var(--c-text)}
.dark-sec .card-cat,.dark-sec .card-spec,.dark-sec .card-mel span{color:var(--c-text-dim)}

/* ═══ 8 · DESTACADO 01 (full-bleed) ═══════════════════ */
.feat{position:relative;height:78vh;min-height:620px;overflow:hidden;background:var(--c-espresso)}
.feat-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none;
            display:flex;align-items:center}
.feat-slide.on{opacity:1;pointer-events:auto}
.feat-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feat-slide::after{content:'';position:absolute;inset:0;pointer-events:none;
             background:var(--veil-bloom),
                        linear-gradient(90deg,rgba(18,13,10,.88) 0%,rgba(18,13,10,.66) 34%,rgba(18,13,10,.22) 62%,rgba(18,13,10,0) 82%)}
.feat .wrap{position:relative;z-index:2;width:100%}
.feat-inner{max-width:560px}
.feat-inner .sec-head{margin-bottom:18px}
.feat-inner .sec-head h2 em{font-style:italic;font-weight:300;color:var(--c-orange)}
.feat-nav{position:absolute;z-index:5;bottom:40px;left:0;right:0}
.feat-nav .wrap{display:flex;align-items:center;justify-content:space-between}
.feat-dots{display:flex;gap:10px}
.feat-dots button{width:34px;height:3px;background:rgba(243,236,227,.28);transition:background var(--transition)}
.feat-dots button.on{background:var(--c-orange)}
.feat-arrows{display:flex;gap:10px}
.feat-arrows button{width:44px;height:44px;border:1px solid rgba(243,236,227,.3);
                    color:var(--c-text);display:flex;align-items:center;justify-content:center;
                    transition:all var(--transition)}
.feat-arrows button:hover{border-color:var(--c-orange);background:var(--grad-ember);color:#fff}
.feat-inner p{color:var(--c-text-muted);margin-bottom:26px;max-width:440px}
.feat-ctas{display:flex;gap:13px;flex-wrap:wrap}
.feat-specs{display:flex;gap:12px;margin-bottom:32px;flex-wrap:wrap}
.feat-spec{display:flex;flex-direction:column;gap:6px;padding:11px 16px;
           background:rgba(28,20,15,.72);border:1px solid var(--c-border-d);border-radius:var(--radius-sm)}
.feat-spec b{font:600 calc(15px * var(--font-scale))/1 var(--font-mono);color:var(--c-text)}
.feat-spec span{font:400 calc(10px * var(--font-scale))/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--c-orange)}

/* ═══ 10 · DESTACADO 02 (split) ═══════════════════════ */
.split{background:var(--c-espresso);padding:var(--gap-lg) 0}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:1/1}
.split-media img{width:100%;height:100%;object-fit:cover}
.split-tag{position:absolute;top:24px;right:24px;background:var(--grad-ember);color:#fff;
           border-radius:0;padding:13px 22px;text-align:center}
.split-tag b{font:700 calc(20px * var(--font-scale))/1 var(--font-mono);display:block}
.split-tag span{font:400 calc(9px * var(--font-scale))/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;
                opacity:.85;display:block;margin-top:4px}
.split-body .t-h2{font-size:calc(38px * var(--font-scale))}
.split-body>p{color:var(--c-text-muted);margin-bottom:24px;max-width:430px}
.split-list{list-style:none;margin-bottom:28px;display:flex;flex-direction:column;gap:11px}
.split-list li{display:flex;gap:11px;align-items:flex-start;font-size:calc(13px * var(--font-scale));color:var(--c-text-muted)}
.split-list svg{flex-shrink:0;color:var(--c-orange);margin-top:2px}
.split-price{display:flex;align-items:baseline;gap:12px;margin-bottom:28px}
.split-price b{font:700 calc(34px * var(--font-scale))/1 var(--font-mono);color:var(--c-text)}
.split-price s{font:400 calc(16px * var(--font-scale))/1 var(--font-mono);color:var(--c-text-dim)}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font:500 calc(14px * var(--font-scale))/1 var(--font-body);
            color:var(--c-text);border-bottom:1px solid var(--c-text);padding-bottom:4px;
            transition:color var(--transition),border-color var(--transition)}
.link-arrow:hover{color:var(--c-orange);border-color:var(--c-orange)}

/* ═══ 11 · REDES ══════════════════════════════════════ */
/* ── Nuestros proyectos · mosaico asimétrico full-bleed ── */
.proj{padding-bottom:56px}
.proj .cc-head{margin-bottom:32px}
.proj-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(0,1fr);
             gap:10px;height:min(78vh,720px);padding:0 10px}
.proj-item{position:relative;overflow:hidden;display:block;background:var(--c-surface)}
.proj-item--lead{grid-column:span 2;grid-row:span 2}
.proj-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.proj-item::after{content:'';position:absolute;left:0;right:0;bottom:0;height:52%;
                  background:linear-gradient(180deg,rgba(18,13,10,0) 0%,rgba(18,13,10,.55) 55%,rgba(18,13,10,.88) 100%);
                  transition:opacity var(--transition)}
.proj-item:hover img{transform:scale(1.05)}
.proj-item:hover::after{opacity:1}
.proj-cap{position:absolute;left:20px;right:20px;bottom:18px;z-index:2}
.proj-cap h3{font:500 calc(19px * var(--font-scale))/1.2 var(--font-display);color:var(--c-text);margin-bottom:4px}
.proj-cap span{font:400 calc(10px * var(--font-scale))/1 var(--font-mono);letter-spacing:.1em;
               text-transform:uppercase;color:var(--c-orange)}
.proj-item--lead .proj-cap h3{font-size:calc(28px * var(--font-scale))}

/* ── CTA final · comparador antes / después ────────────── */
.cta-final{background:#fff;padding:16px 0 96px}
.ba{position:relative;aspect-ratio:16/6.2;min-height:340px;overflow:hidden;
    background:var(--c-surface);user-select:none;touch-action:pan-y}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba-before{position:absolute;inset:0;width:50%;overflow:hidden;will-change:width}
.ba-before .ba-img{width:100vw;max-width:none}
.ba::after{content:'';position:absolute;inset:0;pointer-events:none;
           background:linear-gradient(180deg,rgba(18,13,10,.32) 0%,rgba(18,13,10,.48) 100%)}
.ba-tag{position:absolute;top:20px;z-index:3;pointer-events:none;
        font:500 calc(10px * var(--font-scale))/1 var(--font-mono);letter-spacing:.14em;
        text-transform:uppercase;color:var(--c-text);
        background:rgba(18,13,10,.55);border:1px solid rgba(243,236,227,.25);padding:7px 12px}
.ba-tag--before{left:20px}
.ba-tag--after{right:20px}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;z-index:4;width:2px;
           background:var(--c-text);transform:translateX(-1px);pointer-events:none;will-change:left}
.ba-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
         width:44px;height:44px;background:var(--c-text);color:var(--c-text-dark);
         display:flex;align-items:center;justify-content:center;
         box-shadow:0 4px 18px rgba(18,13,10,.34)}
.ba-range{position:absolute;inset:0;z-index:5;width:100%;height:100%;margin:0;
          opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;background:transparent}
.ba-range::-webkit-slider-thumb{-webkit-appearance:none;width:52px;height:100%;cursor:ew-resize}
.ba-range::-moz-range-thumb{width:52px;height:100%;border:0;background:transparent;cursor:ew-resize}
.ba-body{position:absolute;inset:0;z-index:3;pointer-events:none;
         display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
         text-align:center;padding:0 var(--pad-x)}
.ba-body h2{color:var(--c-text);text-wrap:balance;
            text-shadow:0 2px 24px rgba(18,13,10,.5)}
.ba-body h2 em{font-style:italic;font-weight:300;color:var(--c-orange)}
.ba-body .btn{pointer-events:auto}

.tt-arrows{display:flex;gap:10px;flex-shrink:0}
.tt-arrows button{width:44px;height:44px;border:1px solid var(--c-border-l);border-radius:var(--radius-sm);
                  color:var(--c-text-dark);display:flex;align-items:center;justify-content:center;
                  transition:all var(--transition)}
.tt-arrows button:hover{border-color:var(--c-orange);background:var(--grad-ember);color:#fff}
.tt-carousel{position:relative}
.tt-track{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;
          padding-bottom:4px;scrollbar-width:none}
.tt-track::-webkit-scrollbar{display:none}
.tt-card{position:relative;display:block;flex:0 0 260px;aspect-ratio:9/16;overflow:hidden;
         background:var(--c-text-dark);scroll-snap-align:start}
.tt-media{position:absolute;inset:0}
.tt-media img{width:100%;height:100%;object-fit:cover;animation:ttPan 16s ease-in-out infinite alternate}
.tt-card:nth-child(3n+2) .tt-media img{animation-duration:19s}
.tt-card:nth-child(3n) .tt-media img{animation-duration:22s}
.tt-play{position:absolute;top:14px;right:14px;z-index:2;width:32px;height:32px;border-radius:50%;
         background:rgba(18,13,10,.4);display:flex;align-items:center;justify-content:center;color:#fff}
.tt-overlay{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px 18px 16px;
            background:linear-gradient(180deg,transparent 0%,rgba(18,13,10,.12) 42%,rgba(18,13,10,.82) 100%)}
.tt-desc{font:600 calc(11px * var(--font-scale))/1.4 var(--font-body);letter-spacing:.03em;
         text-transform:uppercase;color:#fff;margin-bottom:9px}
.tt-link{display:inline-flex;align-items:center;gap:6px;font:600 calc(11px * var(--font-scale))/1 var(--font-mono);
         letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8);
         border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:3px;
         transition:color var(--transition),border-color var(--transition)}
.tt-card:hover .tt-link{color:var(--c-orange);border-color:var(--c-orange)}
@keyframes ttPan{from{transform:scale(1.04) translate(0,0)}to{transform:scale(1.16) translate(-2%,-1%)}}

/* ═══ 12 · FOOTER ═════════════════════════════════════ */
.footer{background:var(--grad-surface);position:relative;overflow:hidden;padding:80px 0 0}
.footer .wrap{position:relative;z-index:2}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:44px;padding-bottom:56px}
.footer-col h4{font:500 calc(17px * var(--font-scale))/1.2 var(--font-display);color:var(--c-text);margin-bottom:20px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.footer-col ul a{font-size:calc(13px * var(--font-scale));color:var(--c-text-muted);transition:color var(--transition)}
.footer-col ul a:hover{color:var(--c-orange)}
.footer-col ul a span{color:var(--c-text-dim);font-family:var(--font-mono);font-size:calc(11px * var(--font-scale))}
.footer-about p{font-size:calc(13px * var(--font-scale));color:var(--c-text-muted);line-height:1.75;margin:18px 0 22px;max-width:330px}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand .brand-mark{width:46px;height:46px}
.footer-tagline{font:400 calc(10px * var(--font-scale))/1 var(--font-mono);letter-spacing:.28em;text-transform:uppercase;
                color:var(--c-orange);margin-top:9px}
.footer-social{display:flex;gap:11px}
.footer-social a{width:38px;height:38px;border:1px solid var(--c-border-d);border-radius:var(--radius-full);
                 display:flex;align-items:center;justify-content:center;color:var(--c-text-muted);
                 transition:all var(--transition)}
.footer-social a:hover{border-color:var(--c-orange);color:var(--c-orange)}
.footer-addr{font-size:calc(13px * var(--font-scale));color:var(--c-text-muted);line-height:1.8;font-style:normal}
.libro{margin-top:20px;display:inline-flex;align-items:center;gap:11px;border:1px solid var(--c-border-d);
       border-radius:var(--radius-sm);padding:11px 15px;transition:border-color var(--transition)}
.libro:hover{border-color:var(--c-orange)}
.libro svg{color:var(--c-text);flex-shrink:0}
.libro span{font:600 calc(9px * var(--font-scale))/1.35 var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--c-text)}
.footer-bottom{border-top:1px solid var(--c-border-d);padding:24px 0 30px;display:flex;
               align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-bottom p{font-size:calc(11px * var(--font-scale));color:var(--c-text-dim)}
.pay-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.pay{height:28px;padding:0 11px;border:1px solid var(--c-border-d);border-radius:0;
     display:flex;align-items:center;background:var(--c-surface);
     font:600 calc(10px * var(--font-scale))/1 var(--font-body);letter-spacing:.06em;color:var(--c-text-muted)}
.pay.yape{color:#742384;background:#fff;border-color:#fff}
.pay.plin{color:#0DB8C4;background:#fff;border-color:#fff}

/* ═══ WHATSAPP WIDGET ═════════════════════════════════ */
.wa-widget{position:fixed;right:24px;bottom:24px;z-index:500;width:58px;height:58px;
           border-radius:50%;background:var(--c-green);display:flex;align-items:center;justify-content:center;
           color:#fff;box-shadow:0 6px 20px rgba(37,211,102,.4);transition:transform var(--transition),box-shadow var(--transition)}
.wa-widget:hover{transform:scale(1.08);box-shadow:0 8px 26px rgba(37,211,102,.55)}
.wa-widget::before{content:'';position:absolute;inset:0;border-radius:50%;background:var(--c-green);
                   opacity:.55;animation:waPulse 2.2s ease-out infinite;z-index:-1}
.wa-widget svg{width:30px;height:30px;position:relative;z-index:1}
@keyframes waPulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.7);opacity:0}}
@media (max-width:560px){.wa-widget{right:16px;bottom:16px;width:52px;height:52px}.wa-widget svg{width:27px;height:27px}}


/* ═══ RESPONSIVE ══════════════════════════════════════ */
@media (max-width:1080px){
  .t-display{font-size:calc(56px * var(--font-scale))}
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .pf-grid{grid-template-columns:repeat(3,1fr)}
  .pf-grid--slider .pf-card{flex-basis:calc((100% - 40px)/3)}
  .cc-track{grid-template-columns:repeat(3,1fr);row-gap:26px}
  .proj-mosaic{height:auto;grid-auto-rows:220px}
  .tt-card{flex-basis:220px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .nav-menu{display:none}
}
@media (max-width:820px){
  :root{--pad-x:var(--pad-x-mob);--gap-lg:72px}
  .t-display{font-size:calc(40px * var(--font-scale))} .t-h2{font-size:calc(26px * var(--font-scale))}
  .diff-grid{grid-template-columns:repeat(2,1fr);row-gap:20px}
  .diff-item{padding:4px 18px}
  .diff-item:nth-child(2n+1){border-left:none}
  .diff-item:nth-child(n+3){border-top:1px solid var(--c-text-muted);padding-top:18px}
  .split-grid{grid-template-columns:1fr;gap:36px}
  .hero{height:auto;min-height:0}
  .slide{position:relative;display:none}
  .slide.on{display:block}
  .slide img{height:64vh;min-height:400px}
  .slide-body{position:absolute}
  .hero-arrows{display:none}
  .feat{height:auto;min-height:0}
  .feat-slide{position:relative;display:none;min-height:78vh}
  .feat-slide.on{display:flex}
  .feat-arrows{display:none}
  .feat-nav{bottom:24px}
  .ba{aspect-ratio:4/3.4;min-height:0}
  .cta-final{padding-bottom:64px}
  .pf-float{display:none}
  .split-price b{font-size:calc(28px * var(--font-scale))}
}
@media (max-width:560px){
  .prod-grid{grid-template-columns:1fr}
  .pf-grid{grid-template-columns:repeat(2,1fr)}
  .pf-grid--slider .pf-card{flex-basis:calc((100% - 20px)/2)}
  .cc-track{grid-template-columns:repeat(2,1fr);gap:16px;row-gap:22px}
  .proj-mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
  .proj-item--lead{grid-column:span 2;grid-row:span 1}
  .proj-item--lead .proj-cap h3{font-size:calc(21px * var(--font-scale))}
  .diff-grid{grid-template-columns:1fr;row-gap:18px}
  .diff-item{border-left:none !important;padding:0}
  .diff-item:not(:first-child){border-top:1px solid var(--c-text-muted);padding-top:16px}
  .tt-card{flex-basis:60vw}
  .tt-arrows{display:none}
  .footer-grid{grid-template-columns:1fr}
  .welcome-social{display:none}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .slide-ctas .btn{flex:1}
}

/* --- WOOCOMMERCE CATEGORY OVERRIDES --- */
.t-price .woocommerce-Price-amount, 
.t-price bdi, 
.t-price .woocommerce-Price-currencySymbol {
    color: var(--c-glow) !important;
}
.woocommerce-loop-product__title {
    color: var(--c-text) !important;
}
.category-grid select {
    color: var(--c-text);
    background: var(--c-surface);
}
.category-grid select option {
    color: var(--c-text);
    background: var(--c-surface);
}
/* ==========================================================================
   EMBER THEME: HEADINGS, PRODUCT CARDS & COMPLETE CART CUSTOMIZATION
   ========================================================================== */

/* --- FIX HEADING & TYPOGRAPHY COLORS --- */
.t-display, .t-display-sm, .t-h1, .t-h2, .t-h3, .t-eyebrow, .t-body, .t-body-lg, .t-body-sm, .t-spec {
    color: var(--c-text);
}
.pf-info .t-h3 {
    color: var(--c-text);
}
.category-hero h1 {
    color: var(--c-text);
}
.category-grid .t-body {
    color: var(--c-text-muted);
}

/* Fix WooCommerce price and typography colors in product cards (Matches Prototype Images 1 & 2) */
.pf-grid {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 28px 20px !important;
}
.pf-card {
    display: block !important;
    text-decoration: none !important;
}
.pf-card-link {
    display: block !important;
    text-decoration: none !important;
}
.pf-media {
    position: relative !important;
    background: #EFEFEF !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.pf-media img,
.pf-card-img {
    width: 86% !important;
    height: 86% !important;
    object-fit: contain !important;
    transition: transform 0.3s ease !important;
}
.pf-card:hover .pf-card-img {
    transform: scale(1.04) !important;
}
.pf-badge {
    display: none !important; /* Descuento oculto por requerimiento del usuario */
}
.pf-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 26px !important;
    padding: 9px 0 2px !important;
}
.pf-nav button {
    color: var(--c-text-dim) !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color var(--transition) !important;
}
.pf-nav button:hover {
    color: var(--c-orange) !important;
}
.pf-dark .pf-name {
    color: var(--c-text) !important;
    font: 600 calc(15px * var(--font-scale))/1.3 var(--font-body) !important;
    margin: 10px 0 6px !important;
}
.pf-nav + a .pf-name {
    margin-top: 2px !important;
}
.pf-dark .pf-material {
    color: var(--c-text-muted) !important;
    font: 400 calc(12px * var(--font-scale))/1.4 var(--font-body) !important;
    margin-bottom: 8px !important;
}
.pf-swatches {
    display: none !important; /* Retirado a petición del usuario */
}
.pf-dark .pf-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 9px !important;
}
.pf-dark .pf-price,
.pf-dark .pf-price .now,
.pf-dark .pf-price .now *,
.pf-dark .pf-price ins,
.pf-dark .pf-price ins *,
.pf-dark .pf-price bdi {
    color: var(--c-text) !important;
    font: 700 calc(15px * var(--font-scale))/1 var(--font-mono) !important;
}
.pf-dark .pf-price del,
.pf-dark .pf-price del *,
.pf-dark .pf-price .was,
.pf-dark .pf-price .was *,
.pf-dark .pf-price .was bdi {
    color: var(--c-text-dim) !important;
    font: 400 calc(13px * var(--font-scale))/1 var(--font-mono) !important;
    text-decoration: line-through !important;
}

@media (max-width: 1080px) {
    .pf-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 560px) {
    .pf-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px 12px !important; }
}


/* --- WOOCOMMERCE CART PAGE (BLOCKS & CLASSIC) --- */

/* 1. Page Title & Layout Header */
.woocommerce-cart .entry-header .page-title,
.woocommerce-cart .page-title,
.woocommerce-cart h1.page-title,
.woocommerce-cart h1,
.woocommerce-cart .entry-title,
.hero-section[data-type] .page-title,
.hero-section .page-title {
    color: var(--c-text) !important;
    font-family: var(--font-display) !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
}

/* 2. Gutenberg Cart Block Wrapper */
.wp-block-woocommerce-cart,
.wc-block-cart {
    color: var(--c-text) !important;
    font-family: var(--font-body) !important;
    margin-top: 20px;
    margin-bottom: 80px;
}

/* 3. Table Headers (PRODUCT, TOTAL, CART TOTALS) */
.wc-block-cart-items__header,
.wc-block-cart-items__header th,
.wc-block-cart-items__header span,
.wc-block-cart-items__header-image,
.wc-block-cart-items__header-product,
.wc-block-cart-items__header-total,
.wc-block-cart table th,
.woocommerce-cart table.shop_table th {
    color: var(--c-text-muted) !important;
    font-family: var(--font-mono) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    border-bottom: 1px solid var(--c-border) !important;
    padding-bottom: 14px !important;
}

/* 4. Product Name & Link */
.wc-block-cart-items__row a.wc-block-components-product-name,
.wc-block-components-product-name,
.wc-block-cart-item__wrap .wc-block-components-product-name,
.woocommerce-cart table.shop_table .product-name a {
    color: var(--c-text) !important;
    font-family: var(--font-body) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    line-height: 1.35 !important;
    transition: color var(--transition) !important;
}
.wc-block-cart-items__row a.wc-block-components-product-name:hover,
.wc-block-components-product-name:hover,
.woocommerce-cart table.shop_table .product-name a:hover {
    color: var(--c-orange) !important;
}

/* 5. Product Variations & Details (e.g. Medida: 1.60m) */
.wc-block-components-product-metadata,
.wc-block-components-product-details,
.wc-block-components-product-details__value,
.wc-block-components-product-metadata__description,
.wc-block-components-product-metadata *,
.woocommerce-cart dl.variation dt,
.woocommerce-cart dl.variation dd,
.woocommerce-cart dl.variation dd p {
    color: var(--c-text-muted-l) !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    margin-top: 4px !important;
}

/* 6. Product Prices (Item Price & Subtotal) */
.wc-block-cart-item__price,
.wc-block-cart-item__price span,
.wc-block-cart-item__price .wc-block-formatted-money-amount,
.wc-block-cart-item__total,
.wc-block-cart-item__total span,
.wc-block-cart-item__total .wc-block-formatted-money-amount,
.wc-block-components-product-price,
.wc-block-components-product-price span,
.wc-block-components-product-price .wc-block-formatted-money-amount,
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal,
.woocommerce-cart table.shop_table .amount {
    color: var(--c-orange) !important;
    font-family: var(--font-mono) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}

/* 7. Quantity Selector & Trash Icon */
.wc-block-components-quantity-selector {
    background: var(--c-surface-2) !important;
    border: 1px solid var(--c-border) !important;
    border-radius: var(--radius-sm) !important;
    overflow: hidden !important;
}
.wc-block-components-quantity-selector__input {
    background: transparent !important;
    color: var(--c-text) !important;
    font-family: var(--font-mono) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    border: none !important;
}
.wc-block-components-quantity-selector__button {
    background: transparent !important;
    color: var(--c-text) !important;
    border: none !important;
    transition: all var(--transition) !important;
}
.wc-block-components-quantity-selector__button:hover {
    color: var(--c-orange) !important;
    background: rgba(234, 91, 12, 0.15) !important;
}
.wc-block-cart-item__remove-link,
button.wc-block-cart-item__remove-link {
    color: var(--c-text-muted) !important;
    background: transparent !important;
    border: none !important;
    transition: color var(--transition) !important;
    cursor: pointer !important;
}
.wc-block-cart-item__remove-link:hover,
button.wc-block-cart-item__remove-link:hover,
.wc-block-cart-item__remove-link:hover svg {
    color: #ff4d4d !important;
    fill: #ff4d4d !important;
}

/* 8. Cart Totals Sidebar / Summary Card */
.wc-block-cart__totals,
.wc-block-cart__sidebar,
.wp-block-woocommerce-cart-totals-block,
.woocommerce-cart .cart_totals {
    background: var(--c-surface-2) !important;
    border: 1px solid var(--c-border) !important;
    border-radius: var(--radius-lg) !important;
    padding: 30px !important;
}

.wc-block-cart__totals-title,
.wc-block-components-totals-header,
.wc-block-cart-order-summary-heading-block h2,
.woocommerce-cart .cart_totals h2 {
    color: var(--c-text) !important;
    font-family: var(--font-display) !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    border-bottom: 1px solid var(--c-border) !important;
    padding-bottom: 14px !important;
    margin-bottom: 20px !important;
}

/* "Add coupons" Accordion & Panel */
.wc-block-components-panel__button,
.wc-block-components-totals-coupon,
.wc-block-components-totals-coupon button,
.wc-block-components-totals-coupon a {
    color: var(--c-orange) !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}
.wc-block-components-totals-coupon input[type="text"] {
    background: var(--c-surface) !important;
    border: 1px solid var(--c-border) !important;
    color: var(--c-text) !important;
    border-radius: var(--radius-sm) !important;
    padding: 8px 12px !important;
}
.wc-block-components-totals-coupon button.wc-block-components-button {
    background: transparent !important;
    border: 1.5px solid var(--c-orange) !important;
    color: var(--c-orange) !important;
    border-radius: var(--radius-sm) !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: all var(--transition) !important;
    cursor: pointer !important;
}
.wc-block-components-totals-coupon button.wc-block-components-button:hover {
    background: rgba(234, 91, 12, 0.15) !important;
    color: #ffffff !important;
}

/* Totals Rows (Subtotal, taxes, shipping) */
.wc-block-components-totals-item,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__label span,
.woocommerce-cart .cart_totals table th {
    color: var(--c-text-muted-l) !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
}
.wc-block-components-totals-item__value,
.wc-block-components-totals-item__value span,
.woocommerce-cart .cart_totals table td {
    color: var(--c-text) !important;
    font-family: var(--font-mono) !important;
    font-weight: 600 !important;
}

/* Estimated Total Row */
.wc-block-components-totals-footer-item,
.woocommerce-cart .cart_totals .order-total {
    border-top: 1px solid var(--c-border) !important;
    padding-top: 20px !important;
    margin-top: 16px !important;
}
.wc-block-components-totals-footer-item__label,
.wc-block-components-totals-footer-item__label span,
.woocommerce-cart .cart_totals .order-total th {
    color: var(--c-text) !important;
    font-family: var(--font-body) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
}
.wc-block-components-totals-footer-item__value,
.wc-block-components-totals-footer-item__value span,
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount,
.woocommerce-cart .cart_totals .order-total td .amount {
    color: var(--c-orange) !important;
    font-family: var(--font-mono) !important;
    font-size: 26px !important;
    font-weight: 700 !important;
}

/* 9. Proceed to Checkout Button - Ember Gradient & Hover Glow */
.wc-block-cart__submit-button,
a.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wp-block-woocommerce-proceed-to-checkout-block button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.wc-block-components-button.contained,
.wp-block-woocommerce-proceed-to-checkout-block .wp-element-button {
    background: var(--grad-ember) !important;
    color: #ffffff !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 16px 28px !important;
    border-radius: var(--radius-sm) !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    box-shadow: 0 4px 16px rgba(234, 91, 12, 0.3) !important;
    transition: all var(--transition) !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.wc-block-cart__submit-button:hover,
a.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wp-block-woocommerce-proceed-to-checkout-block button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.wc-block-components-button.contained:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wp-element-button:hover {
    background: var(--grad-ember-h) !important;
    box-shadow: var(--glow-btn) !important;
    transform: translateY(-2px) !important;
    color: #ffffff !important;
}

/* 10. Borders & Separation */
.wc-block-cart-items__row,
.wc-block-cart-items td,
.woocommerce-cart table.shop_table td {
    border-bottom: 1px solid var(--c-border-d) !important;
}

/* 11. Empty Cart State & Product Grid */
.wc-block-cart__empty-cart__title,
.wc-block-cart__empty-cart__description {
    color: var(--c-text) !important;
    font-family: var(--font-display) !important;
}
.wc-block-grid__product-link,
.wc-block-grid__product-title {
    color: var(--c-text) !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
}
.wc-block-grid__product-title:hover {
    color: var(--c-orange) !important;
}
.wc-block-grid__product-price,
.wc-block-grid__product-price .woocommerce-Price-amount {
    color: var(--c-orange) !important;
    font-family: var(--font-mono) !important;
    font-weight: 700 !important;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link {
    background: var(--grad-ember) !important;
    color: #ffffff !important;
    border-radius: var(--radius-sm) !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: all var(--transition) !important;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
    box-shadow: var(--glow-btn) !important;
    transform: translateY(-2px) !important;
}

/* ==========================================================================
   WOOCOMMERCE CART PAGE — COMPLETE EMBER DESIGN SYSTEM STYLES
   ========================================================================== */

/* Cart Page Background */
body.woocommerce-cart,
body.woocommerce-cart #main-container,
body.woocommerce-cart .site-main {
    background-color: var(--c-espresso) !important;
    color: var(--c-text) !important;
}

/* Page Header */
.woocommerce-cart .hero-section {
    padding: 30px 0 10px !important;
    margin: 0 auto !important;
    text-align: center !important;
    background: transparent !important;
}

.woocommerce-cart .page-title,
.woocommerce-cart h1.page-title {
    color: var(--c-text) !important;
    font-family: var(--font-display) !important;
    font-size: clamp(28px, 3.5vw, 38px) !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 10px 0 !important;
}

/* Break out of WordPress & Blocksy layout constraints for Cart (1540px) */
.woocommerce-cart .ember-page-main,
.woocommerce-cart .ember-page-main .wrap,
.woocommerce-cart .ct-container,
.woocommerce-cart .ct-container-full,
.woocommerce-cart article.page,
.woocommerce-cart .ember-page-article,
.woocommerce-cart .ember-page-content,
.woocommerce-cart .entry-content,
.woocommerce-cart .entry-content.is-layout-constrained,
.woocommerce-cart .entry-content.is-layout-constrained > * {
    max-width: 1540px !important;
    width: 96% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .woocommerce {
    display: block !important;
    max-width: 1500px !important;
    width: 100% !important;
    margin: 10px auto 80px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .woocommerce-notices-wrapper {
    width: 100% !important;
    margin-bottom: 24px !important;
}

/* Two-column layout container: .ct-woocommerce-cart-form */
.woocommerce-cart .ct-woocommerce-cart-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1.85fr) minmax(350px, 400px) !important;
    gap: 36px !important;
    width: 100% !important;
    align-items: start !important;
    box-sizing: border-box !important;
}

@media (max-width: 991px) {
    .woocommerce-cart .ct-woocommerce-cart-form {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }
}

/* Column 1: Cart Form & Products Table Card */
.woocommerce-cart .woocommerce-cart-form {
    width: 100% !important;
    min-width: 0 !important;
    background: var(--c-surface, #1C140F) !important;
    padding: 28px 32px !important;
    border-radius: var(--radius-lg, 12px) !important;
    border: 1px solid var(--c-border-d, #34261B) !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25) !important;
}

.woocommerce-cart table.shop_table.cart {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    table-layout: fixed !important;
    margin: 0 0 10px !important;
}

/* Encabezados de tabla */
.woocommerce-cart table.shop_table.cart thead th {
    color: var(--c-text-muted, #B4A594) !important;
    font-family: var(--font-mono, monospace) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 12px 10px !important;
    border: none !important;
    border-bottom: 1px solid var(--c-border-d, #34261B) !important;
    background: transparent !important;
    text-align: left !important;
    box-sizing: border-box !important;
}
.woocommerce-cart table.shop_table.cart thead th.product-name {
    text-align: left !important;
}
.woocommerce-cart table.shop_table.cart thead th.product-quantity {
    width: 124px !important;
    text-align: center !important;
}
.woocommerce-cart table.shop_table.cart thead th.product-subtotal {
    width: 110px !important;
    text-align: right !important;
}
.woocommerce-cart table.shop_table.cart thead th.product-remove {
    width: 40px !important;
    text-align: center !important;
}

/* Filas de productos */
.woocommerce-cart table.shop_table.cart tbody tr.cart_item td {
    padding: 18px 10px !important;
    border: none !important;
    border-bottom: 1px solid var(--c-border-d, #34261B) !important;
    vertical-align: middle !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* Columna 1: Miniatura del Producto */
.woocommerce-cart table.shop_table.cart td.product-thumbnail {
    width: 76px !important;
    max-width: 76px !important;
    min-width: 76px !important;
    padding-right: 12px !important;
}
.woocommerce-cart table.shop_table.cart td.product-thumbnail .ct-media-container,
.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;
    object-fit: cover !important;
    border-radius: var(--radius-sm, 6px) !important;
    border: 1px solid var(--c-border-d, #34261B) !important;
    background: var(--c-surface-2, #221913) !important;
    display: block !important;
}

/* Columna 2: Nombre del Producto y Variaciones */
.woocommerce-cart table.shop_table.cart td.product-name {
    width: auto !important;
    padding-right: 16px !important;
}
.woocommerce-cart table.shop_table.cart td.product-name a {
    color: var(--c-text, #F3ECE3) !important;
    font-family: var(--font-body, 'Inter', sans-serif) !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-bottom: 3px !important;
    transition: color 0.2s ease !important;
}
.woocommerce-cart table.shop_table.cart td.product-name a:hover {
    color: var(--c-orange, #F0892A) !important;
}
.woocommerce-cart table.shop_table.cart dl.variation {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 2px 8px !important;
    margin: 4px 0 0 !important;
    font-size: 12px !important;
}
.woocommerce-cart table.shop_table.cart dl.variation dt {
    font-weight: 600 !important;
    color: var(--c-text-muted, #B4A594) !important;
    margin: 0 !important;
}
.woocommerce-cart table.shop_table.cart dl.variation dd {
    margin: 0 !important;
    color: var(--c-cream, #EADBCC) !important;
}
.woocommerce-cart table.shop_table.cart dl.variation dd p {
    margin: 0 !important;
}
.woocommerce-cart table.shop_table.cart td.product-name .price {
    font-family: var(--font-mono, monospace) !important;
    font-size: 13px !important;
    color: var(--c-glow, #FFCB8C) !important;
    margin-top: 4px !important;
}

/* Ocultar acciones móviles duplicadas en desktop */
@media (min-width: 768px) {
    .woocommerce-cart .product-mobile-actions {
        display: none !important;
    }
}

/* Columna 3: Selector de Cantidad */
.woocommerce-cart table.shop_table.cart td.product-quantity {
    width: 124px !important;
    max-width: 124px !important;
    min-width: 124px !important;
    text-align: center !important;
}
.woocommerce-cart table.shop_table.cart .quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 104px !important;
    height: 38px !important;
    background: var(--c-surface-2, #221913) !important;
    border: 1px solid var(--c-border-d, #34261B) !important;
    border-radius: var(--radius-sm, 6px) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
.woocommerce-cart table.shop_table.cart .quantity .ct-decrease,
.woocommerce-cart table.shop_table.cart .quantity .ct-increase {
    position: static !important;
    width: 30px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    color: var(--c-text, #F3ECE3) !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    transition: all 0.2s ease !important;
}
.woocommerce-cart table.shop_table.cart .quantity .ct-decrease:hover,
.woocommerce-cart table.shop_table.cart .quantity .ct-increase:hover {
    background: rgba(234, 91, 12, 0.15) !important;
    color: var(--c-orange, #F0892A) !important;
}
.woocommerce-cart table.shop_table.cart .quantity .ct-decrease:before {
    content: "−" !important;
    font-family: var(--font-body, 'Inter', sans-serif) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}
.woocommerce-cart table.shop_table.cart .quantity .ct-increase:before {
    content: "+" !important;
    font-family: var(--font-body, 'Inter', sans-serif) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}
.woocommerce-cart table.shop_table.cart .quantity .ct-decrease {
    order: 1 !important;
}
.woocommerce-cart table.shop_table.cart .quantity input.qty {
    order: 2 !important;
    flex: 1 1 auto !important;
    width: 44px !important;
    min-width: 0 !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    border-left: 1px solid var(--c-border-d, #34261B) !important;
    border-right: 1px solid var(--c-border-d, #34261B) !important;
    color: var(--c-text, #F3ECE3) !important;
    font-family: var(--font-mono, monospace) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce-cart table.shop_table.cart .quantity .ct-increase {
    order: 3 !important;
}

/* Columna 4: Subtotal del Producto */
.woocommerce-cart table.shop_table.cart td.product-subtotal {
    width: 110px !important;
    max-width: 110px !important;
    min-width: 110px !important;
    text-align: right !important;
    white-space: nowrap !important;
}
.woocommerce-cart table.shop_table.cart td.product-subtotal .amount {
    color: var(--c-orange, #F0892A) !important;
    font-family: var(--font-mono, monospace) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

/* Columna 5: Botón Eliminar Producto */
.woocommerce-cart table.shop_table.cart td.product-remove {
    width: 40px !important;
    max-width: 40px !important;
    min-width: 40px !important;
    text-align: center !important;
}
.woocommerce-cart table.shop_table.cart td.product-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    color: var(--c-text-muted, #B4A594) !important;
    background: transparent !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
}
.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover {
    color: #fff !important;
    background: #ef4444 !important;
}
.woocommerce-cart table.shop_table.cart td.product-remove a.remove svg {
    fill: currentColor !important;
    width: 12px !important;
    height: 12px !important;
}

/* ── FILA DE ACCIONES (CUPÓN Y ACTUALIZAR CARRITO) ──
   Alineación horizontal perfecta en una sola línea elegante, simétrica y limpia */
.woocommerce-cart table.shop_table.cart tr:has(td.actions),
.woocommerce-cart table.shop_table.cart tr:last-child {
    display: block !important;
    width: 100% !important;
}

.woocommerce-cart table.shop_table.cart td.actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    padding: 24px 0 4px !important;
    border: none !important;
    border-top: 1px solid var(--c-border-d, #34261B) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .coupon {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
}

.woocommerce-cart .coupon label.screen-reader-text {
    display: none !important;
}

.woocommerce-cart .coupon input[type="text"],
.woocommerce-cart .coupon input#coupon_code {
    width: 165px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    line-height: 40px !important;
    padding: 0 14px !important;
    margin: 0 !important;
    background: var(--c-surface-2, #221913) !important;
    border: 1px solid var(--c-border-d, #34261B) !important;
    color: var(--c-text, #F3ECE3) !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-family: var(--font-body, 'Inter', sans-serif) !important;
    box-sizing: border-box !important;
    outline: none !important;
    vertical-align: middle !important;
    transition: border-color 0.2s ease !important;
}

.woocommerce-cart .coupon input#coupon_code:focus {
    border-color: var(--c-orange, #F0892A) !important;
    box-shadow: 0 0 0 1px var(--c-orange, #F0892A) !important;
}

.woocommerce-cart .coupon button.button,
.woocommerce-cart .coupon input[type="submit"] {
    --theme-button-min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    line-height: 40px !important;
    padding: 0 18px !important;
    margin: 0 !important;
    background: var(--c-surface-2, #221913) !important;
    border: 1px solid var(--c-border-d, #34261B) !important;
    color: var(--c-text, #F3ECE3) !important;
    border-radius: 6px !important;
    font-family: var(--font-body, 'Inter', sans-serif) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
    transition: all 0.2s ease !important;
}

.woocommerce-cart .coupon button.button:hover {
    border-color: var(--c-orange, #F0892A) !important;
    color: var(--c-orange, #F0892A) !important;
    background: rgba(234, 91, 12, 0.12) !important;
}

.woocommerce-cart button[name="update_cart"] {
    --theme-button-min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    line-height: 40px !important;
    padding: 0 22px !important;
    margin: 0 !important;
    margin-left: auto !important;
    background: transparent !important;
    border: 1.5px solid var(--c-orange, #F0892A) !important;
    color: var(--c-orange, #F0892A) !important;
    border-radius: 6px !important;
    font-family: var(--font-body, 'Inter', sans-serif) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
    transition: all 0.2s ease !important;
}

.woocommerce-cart button[name="update_cart"]:hover:not(:disabled) {
    background: var(--c-orange, #F0892A) !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 16px rgba(234, 91, 12, 0.35) !important;
}

.woocommerce-cart button[name="update_cart"]:disabled,
.woocommerce-cart button[name="update_cart"][aria-disabled="true"] {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
    border-color: #3E2D20 !important;
    color: #8C7F78 !important;
    background: transparent !important;
}

/* Columna 2: Card de Resumen / Totales del Carrito */
.woocommerce-cart .cart-collaterals {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
.woocommerce-cart .ct-woocommerce-cart-form .cart_totals,
.woocommerce-cart .cart_totals {
    width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    background: var(--c-surface, #1C140F) !important;
    padding: 28px 30px !important;
    border-radius: var(--radius-lg, 12px) !important;
    border: 1px solid var(--c-border-d, #34261B) !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25) !important;
}
.woocommerce-cart .cart_totals h2 {
    color: var(--c-text, #F3ECE3) !important;
    font-family: var(--font-display, 'Fraunces', serif) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    margin: 0 0 18px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--c-border-d, #34261B) !important;
}
.woocommerce-cart .cart_totals table.shop_table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    table-layout: auto !important;
    margin-bottom: 24px !important;
}
.woocommerce-cart .cart_totals table.shop_table th {
    width: 32% !important;
    text-align: left !important;
    color: var(--c-text-muted, #B4A594) !important;
    font-family: var(--font-body, 'Inter', sans-serif) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    padding: 12px 10px 12px 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--c-border-d, #34261B) !important;
    background: transparent !important;
    vertical-align: top !important;
}
.woocommerce-cart .cart_totals table.shop_table td {
    width: 68% !important;
    text-align: right !important;
    color: var(--c-text, #F3ECE3) !important;
    font-family: var(--font-mono, monospace) !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    padding: 12px 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--c-border-d, #34261B) !important;
    background: transparent !important;
    vertical-align: top !important;
}
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td {
    text-align: left !important;
    white-space: normal !important;
}
.woocommerce-cart .cart_totals table.shop_table .order-total th {
    color: var(--c-text, #F3ECE3) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-top: 1px solid var(--c-border-d, #34261B) !important;
    padding-top: 18px !important;
}
.woocommerce-cart .cart_totals table.shop_table .order-total td {
    border-top: 1px solid var(--c-border-d, #34261B) !important;
    padding-top: 18px !important;
}
.woocommerce-cart .cart_totals table.shop_table .order-total td .amount {
    color: var(--c-orange, #F0892A) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    font-family: var(--font-mono, monospace) !important;
}

/* Opciones de envío dentro del Total del Carrito */
.woocommerce-cart .cart_totals ul#shipping_method {
    list-style: none !important;
    margin: 4px 0 8px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
}

.woocommerce-cart .cart_totals ul#shipping_method li {
    background: var(--c-surface-2, #221913) !important;
    border: 1px solid var(--c-border-d, #34261B) !important;
    border-radius: var(--radius-sm, 6px) !important;
    padding: 10px 12px !important;
    margin-bottom: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    font-size: 13px !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    line-height: 1.4 !important;
    text-align: left !important;
    transition: border-color 0.2s ease !important;
}

.woocommerce-cart .cart_totals ul#shipping_method li:hover {
    border-color: rgba(234, 91, 12, 0.5) !important;
}

.woocommerce-cart .cart_totals ul#shipping_method li label {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    color: var(--c-text, #F3ECE3) !important;
    cursor: pointer !important;
    display: inline !important;
    font-family: var(--font-body, 'Inter', sans-serif) !important;
    font-size: 12.5px !important;
}

.woocommerce-cart .cart_totals ul#shipping_method li input[type="radio"] {
    margin-top: 3px !important;
    accent-color: var(--c-orange, #F0892A) !important;
    flex-shrink: 0 !important;
}

/* Botón Finalizar Compra */
.woocommerce-cart .wc-proceed-to-checkout {
    margin-top: 10px !important;
    padding: 0 !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 48px !important;
    background: var(--c-orange, #F0892A) !important;
    color: #ffffff !important;
    border-radius: var(--radius-sm, 6px) !important;
    font-family: var(--font-body, 'Inter', sans-serif) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    text-decoration: none !important;
    box-shadow: 0 4px 16px rgba(234, 91, 12, 0.35) !important;
    transition: all 0.2s ease !important;
    border: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #D44E07 !important;
    box-shadow: 0 6px 22px rgba(234, 91, 12, 0.5) !important;
    transform: translateY(-1px) !important;
}

/* Responsividad en móviles para Carrito */
@media (max-width: 767px) {
    .woocommerce-cart table.shop_table.cart {
        table-layout: auto !important;
    }
    .woocommerce-cart table.shop_table.cart tr:has(td.actions),
    .woocommerce-cart table.shop_table.cart tr:last-child {
        display: block !important;
    }
    .woocommerce-cart table.shop_table.cart td.actions {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
    }
    .woocommerce-cart .coupon {
        width: 100% !important;
        display: flex !important;
    }
    .woocommerce-cart .coupon input#coupon_code {
        flex: 1 1 auto !important;
        width: 100% !important;
    }
    .woocommerce-cart button[name="update_cart"] {
        width: 100% !important;
        margin-left: 0 !important;
    }
}

/* ==========================================================================
   SINGLE PRODUCT PAGE (EMBER THEME)
   ========================================================================== */
#main-product-price,
#main-product-price * {
    color: var(--c-glow) !important;
    font-family: var(--font-mono) !important;
    font-weight: 700 !important;
}
#main-product-price del,
#main-product-price del * {
    color: var(--c-text-dim) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
}

/* Hide duplicate variation price in single product form */
.custom-woo-add-to-cart .single_variation .woocommerce-variation-price,
.custom-woo-add-to-cart .woocommerce-variation-price {
    display: none !important;
}

/* Single Product background & container enforcement */
body.single-product,
body.single-product #main-container,
body.single-product .site-main,
.single-product-main {
    background-color: var(--c-espresso) !important;
    color: var(--c-text) !important;
}

/* Variation Swatches dark skinning */
.variable-items-wrapper.button-variable-items-wrapper .variable-item.button-variable-item {
    background: var(--c-surface-2) !important;
    border: 1.5px solid var(--c-border-d) !important;
    border-radius: var(--radius-sm) !important;
    color: var(--c-text) !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    padding: 8px 16px !important;
    box-shadow: none !important;
    transition: all var(--transition) !important;
}
.variable-items-wrapper.button-variable-items-wrapper .variable-item.button-variable-item:hover {
    border-color: var(--c-orange) !important;
    color: var(--c-orange) !important;
}
.variable-items-wrapper.button-variable-items-wrapper .variable-item.button-variable-item.selected {
    border-color: var(--c-orange) !important;
    background: rgba(234, 91, 12, 0.16) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: 0 0 14px rgba(234, 91, 12, 0.35) !important;
}

/* Remove tooltip overlap */
body.wvs-tooltip {
    display: block !important;
}
div.wvs-tooltip,
span.wvs-tooltip, 
.wvs-style-squared [data-wvstooltip]:after, 
.wvs-style-squared [data-wvstooltip]:before {
    display: none !important;
}

/* ==========================================================================
   HOMEPAGE: SECCIÓN PRODUCTO DESTACADO (FEAT / HERO HIGHLIGHT)
   ========================================================================== */

.feat {
    position: relative;
    height: 78vh;
    min-height: 580px;
    max-height: 750px;
    overflow: hidden;
    background: var(--c-espresso);
}

.feat-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.8s ease;
    pointer-events: none;
    display: flex;
    align-items: center;
}

.feat-slide.on {
    opacity: 1;
    pointer-events: auto;
}

.feat-slide > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center right;
}

/* Left gradient overlay for crystal clear contrast */
.feat-slide::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, 
        rgba(18, 13, 10, 0.94) 0%, 
        rgba(18, 13, 10, 0.82) 42%, 
        rgba(18, 13, 10, 0.35) 72%, 
        rgba(18, 13, 10, 0.1) 100%);
}

.feat .wrap {
    position: relative;
    z-index: 2;
    width: 100%;
}

.feat-inner {
    max-width: 580px;
}

.feat-inner .sec-head {
    margin-bottom: 20px;
}

.feat-inner .sec-head .t-eyebrow {
    color: var(--c-orange);
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.feat-inner .sec-head .t-eyebrow::before {
    content: '';
    display: inline-block;
    width: 28px;
    height: 1.5px;
    background: var(--c-orange);
}

.feat-inner .sec-head h2.t-display {
    font-family: var(--font-display);
    font-size: clamp(34px, 4.5vw, 56px);
    font-weight: 600;
    line-height: 1.15;
    color: var(--c-text);
    margin: 0;
    letter-spacing: -0.01em;
}

.feat-inner .sec-head h2.t-display em {
    font-style: italic;
    font-weight: 400;
    color: var(--c-orange);
    display: block;
    margin-top: 2px;
}

.feat-inner p.t-body-lg {
    color: var(--c-text-muted);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.65;
    margin-bottom: 28px;
    max-width: 480px;
}

/* 3 Specifications / Attributes boxes */
.feat-specs {
    display: flex;
    gap: 12px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}

.feat-spec {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 10px 18px;
    background: rgba(26, 18, 14, 0.85);
    border: 1px solid var(--c-border-d);
    border-radius: var(--radius-sm);
    min-width: 80px;
    text-align: center;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

.feat-spec b {
    font-family: var(--font-mono);
    font-size: 15px;
    font-weight: 700;
    color: var(--c-text);
}

.feat-spec span {
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--c-orange);
}

/* Call to action buttons */
.feat-ctas {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}

.feat-ctas .btn-primary {
    background: var(--grad-ember) !important;
    color: #ffffff !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 15px 28px !important;
    border-radius: var(--radius-sm) !important;
    box-shadow: 0 4px 20px rgba(234, 91, 12, 0.4) !important;
    text-decoration: none !important;
    transition: all var(--transition) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.feat-ctas .btn-primary:hover {
    box-shadow: var(--glow-btn) !important;
    transform: translateY(-2px);
    color: #ffffff !important;
}

.feat-ctas .btn-link {
    color: var(--c-text);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 1.5px solid rgba(243, 236, 227, 0.45);
    padding-bottom: 3px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all var(--transition);
}

.feat-ctas .btn-link:hover {
    color: var(--c-orange);
    border-color: var(--c-orange);
}

/* Carousel Dash Dots & Navigation (Only visible if more than 1 product) */
.feat-nav {
    position: absolute;
    z-index: 5;
    bottom: 36px;
    left: 0;
    right: 0;
}

.feat-nav .wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.feat-dots {
    display: flex;
    gap: 12px;
    align-items: center;
}

.feat-dots button {
    width: 28px;
    height: 3.5px;
    background: rgba(243, 236, 227, 0.25);
    border-radius: 2px;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: all 0.25s ease;
}

.feat-dots button.on {
    width: 36px;
    background: var(--c-orange);
}

.feat-arrows {
    display: flex;
    gap: 10px;
}

.feat-arrows button {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(243, 236, 227, 0.3);
    border-radius: var(--radius-sm);
    color: var(--c-text);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--transition);
}

.feat-arrows button:hover {
    border-color: var(--c-orange);
    background: var(--grad-ember);
    color: #fff;
    box-shadow: var(--glow-btn);
}

@media (max-width: 768px) {
    .feat {
        height: auto;
        min-height: 520px;
        padding: 60px 0 80px;
    }
    .feat-slide {
        position: relative;
        inset: auto;
    }
    .feat-inner .sec-head h2.t-display {
        font-size: 32px;
    }
    .feat-specs {
        margin-bottom: 24px;
    }
    .feat-ctas {
        gap: 14px;
    }
}

/* ==========================================================================
   HOMEPAGE: ANTES / DESPUÉS (BEFORE & AFTER) SLIDER SECTION
   ========================================================================== */

.cta-final {
    background: transparent;
    padding: 30px 0 90px;
    position: relative;
}

.ba {
    position: relative;
    aspect-ratio: 16 / 7;
    min-height: 380px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--c-surface);
    user-select: none;
    touch-action: pan-y;
    border: 1px solid var(--c-border-d);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
    --ba-pos: 50%;
}

.ba-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

.ba-img--after {
    z-index: 1;
}

.ba-before {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    clip-path: polygon(0 0, var(--ba-pos) 0, var(--ba-pos) 100%, 0 100%);
    -webkit-clip-path: polygon(0 0, var(--ba-pos) 0, var(--ba-pos) 100%, 0 100%);
    will-change: clip-path;
    z-index: 2;
}

.ba-before .ba-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Contrast gradient overlay */
.ba::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(18, 13, 10, 0.22) 0%, rgba(18, 13, 10, 0.48) 100%);
}

/* Antes / Después Tags */
.ba-tag {
    position: absolute;
    top: 24px;
    z-index: 5;
    pointer-events: none;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #ffffff;
    background: rgba(18, 13, 10, 0.65);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(243, 236, 227, 0.22);
    border-radius: var(--radius-sm);
    padding: 7px 14px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.ba-tag--before {
    left: 24px;
}

.ba-tag--after {
    right: 24px;
}

/* Sliding Divider Line & Grip */
.ba-handle {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--ba-pos);
    z-index: 6;
    width: 2px;
    background: #ffffff;
    transform: translateX(-50%);
    pointer-events: none;
    will-change: left;
    box-shadow: 0 0 14px rgba(0, 0, 0, 0.6);
}

.ba-grip {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 44px;
    height: 44px;
    background: #F3ECE3;
    color: #120D0A;
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.7);
    transition: transform 0.15s ease, background 0.15s ease;
}

.ba:hover .ba-grip {
    transform: translate(-50%, -50%) scale(1.08);
}

/* Native Slider Touch & Drag Range input */
.ba-range {
    position: absolute;
    inset: 0;
    z-index: 7;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: ew-resize;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
}

.ba-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 60px;
    height: 100%;
    cursor: ew-resize;
}

.ba-range::-moz-range-thumb {
    width: 60px;
    height: 100%;
    border: 0;
    background: transparent;
    cursor: ew-resize;
}

/* Center Callout */
.ba-body {
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
    text-align: center;
    padding: 0 var(--pad-x);
}

.ba-body h2 {
    color: var(--c-text);
    font-family: var(--font-display);
    font-size: clamp(28px, 4.2vw, 50px);
    font-weight: 600;
    line-height: 1.15;
    text-wrap: balance;
    margin: 0;
    text-shadow: 0 4px 28px rgba(18, 13, 10, 0.75);
}

.ba-body h2 em {
    font-style: italic;
    font-weight: 400;
    color: var(--c-orange);
}

.ba-body .btn {
    pointer-events: auto;
    background: var(--grad-ember) !important;
    color: #ffffff !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 16px 32px !important;
    border-radius: var(--radius-sm) !important;
    box-shadow: 0 4px 20px rgba(234, 91, 12, 0.45) !important;
    text-decoration: none !important;
    transition: all var(--transition) !important;
    border: none !important;
}

.ba-body .btn:hover {
    box-shadow: var(--glow-btn) !important;
    transform: translateY(-2px);
    color: #ffffff !important;
}

@media (max-width: 768px) {
    .ba {
        aspect-ratio: 4 / 3.2;
        min-height: 320px;
    }
    .ba-tag {
        top: 16px;
        font-size: 10px;
        padding: 5px 10px;
    }
    .ba-tag--before {
        left: 16px;
    }
    .ba-tag--after {
        right: 16px;
    }
    .ba-grip {
        width: 38px;
        height: 38px;
    }
    .ba-body {
        gap: 16px;
    }
    .ba-body .btn {
        padding: 12px 24px !important;
        font-size: 11px !important;
    }
}

/* ═══ 14 · PRODUCTOS RELACIONADOS BASADOS EN EL CARRITO ═══ */
.sec-cart-related {
    background: var(--c-espresso);
    padding: 72px 0 88px;
    border-top: 1px solid var(--c-border-d);
    position: relative;
}

.sec-cart-related .cc-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 34px;
    flex-wrap: wrap;
    gap: 16px;
}

.sec-cart-related .sec-desc {
    color: var(--c-text-muted);
    font-size: 14px;
    line-height: 1.5;
    max-width: 480px;
    margin-top: 8px;
}

.cart-related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
}

.cart-related-grid .pf-card {
    background: rgba(28, 20, 15, 0.45);
    border: 1px solid var(--c-border-d);
    border-radius: var(--radius-sm);
    padding: 14px;
    display: flex !important;
    flex-direction: column;
    transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.cart-related-grid .pf-card:hover {
    border-color: rgba(234, 91, 12, 0.4);
    box-shadow: 0 10px 24px -10px rgba(0, 0, 0, 0.5);
    transform: translateY(-3px);
}

.cart-related-grid .pf-media {
    border-radius: calc(var(--radius-sm) - 2px);
    width: 100%;
}

.cart-related-grid .pf-name {
    margin-top: 10px !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}

.cart-related-grid .pf-material {
    margin-top: 4px;
    margin-bottom: auto;
}

.cart-related-grid .pf-price {
    margin-top: 12px;
}

@media (max-width: 1024px) {
    .cart-related-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 560px) {
    .sec-cart-related {
        padding: 48px 0 60px;
    }
    .cart-related-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* ═══════════════════════════════════════════════════════════
   CATÁLOGO Y BÚSQUEDA CON FILTROS LATERALES (EMBER DESIGN SYSTEM)
   ═══════════════════════════════════════════════════════════ */
.catalog-page-main {
    background: var(--c-espresso, #120D0A);
    min-height: 80vh;
    padding: 30px 0 90px;
    color: var(--c-text, #F3ECE3);
}

/* Barra superior y breadcrumbs */
.catalog-top-bar {
    margin-bottom: 24px;
}

.catalog-breadcrumbs {
    font-size: 13px;
    color: var(--c-text-muted, #B4A594);
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.catalog-breadcrumbs a {
    color: var(--c-text-muted, #B4A594);
    transition: color var(--transition);
}

.catalog-breadcrumbs a:hover {
    color: var(--c-orange, #F0892A);
}

.catalog-breadcrumbs .sep {
    color: var(--c-text-muted-l, #7D6E5E);
}

.catalog-breadcrumbs .current {
    color: var(--c-text, #F3ECE3);
    font-weight: 600;
}

/* Buscador interactivo */
.catalog-search-container {
    background: var(--c-surface, #1C140F);
    border: 1px solid var(--c-border-d, #34261B);
    border-radius: var(--radius-sm, 0);
    padding: 8px;
}

.catalog-search-form .search-input-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
}

.catalog-search-form .search-icon {
    margin-left: 12px;
    color: var(--c-orange, #F0892A);
    flex-shrink: 0;
}

.catalog-search-field {
    flex: 1;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    color: var(--c-text, #F3ECE3) !important;
    font-family: var(--font-body, 'Inter', sans-serif) !important;
    font-size: 15px !important;
    padding: 8px 4px !important;
}

.catalog-search-field::placeholder {
    color: var(--c-text-muted-l, #7D6E5E);
}

.catalog-search-submit {
    background: var(--grad-ember, linear-gradient(135deg, #FFA94D 0%, #F0892A 55%, #D06E12 100%)) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 10px 24px !important;
    font-family: var(--font-body, 'Inter', sans-serif) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    border-radius: var(--radius-sm, 0) !important;
    cursor: pointer !important;
    transition: all var(--transition) !important;
}

.catalog-search-submit:hover {
    box-shadow: var(--glow-btn) !important;
    transform: translateY(-1px);
}

/* Layout de dos columnas: Sidebar + Contenido */
.catalog-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 36px;
    align-items: start;
}

/* ── SIDEBAR DE FILTROS ── */
.catalog-sidebar {
    background: var(--c-surface, #1C140F);
    border: 1px solid var(--c-border-d, #34261B);
    border-radius: var(--radius-sm, 0);
    padding: 24px;
}

.sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.sidebar-title {
    font-family: var(--font-display, 'Fraunces', serif);
    font-size: 22px;
    font-weight: 600;
    color: var(--c-text, #F3ECE3);
    margin: 0;
}

.sidebar-clear-btn {
    font-size: 12px;
    color: var(--c-orange, #F0892A);
    text-decoration: underline;
    transition: opacity var(--transition);
}

.sidebar-clear-btn:hover {
    opacity: 0.8;
}

.sidebar-results-count {
    font-family: var(--font-body, 'Inter', sans-serif);
    font-size: 13px;
    color: var(--c-text-muted, #B4A594);
    padding-bottom: 16px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--c-border-d, #34261B);
}

.filter-group {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--c-border-d, #34261B);
}

.filter-group:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.filter-group-header {
    margin-bottom: 14px;
}

.filter-group-title {
    font-family: var(--font-mono, 'Archivo', sans-serif);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--c-text, #F3ECE3);
}

/* Checkboxes personalizados */
.filter-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 13px;
}

.filter-checkbox-label input[type="checkbox"] {
    display: none;
}

.custom-checkbox {
    width: 18px;
    height: 18px;
    border: 1.5px solid var(--c-border-d, #34261B);
    background: var(--c-surface-2, #271C15);
    border-radius: 3px;
    flex-shrink: 0;
    margin-top: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition);
}

.filter-checkbox-label input[type="checkbox"]:checked + .custom-checkbox,
.custom-checkbox.checked {
    background: var(--c-orange, #F0892A);
    border-color: var(--c-orange, #F0892A);
}

.filter-checkbox-label input[type="checkbox"]:checked + .custom-checkbox::after,
.custom-checkbox.checked::after {
    content: "✓";
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
}

.filter-text {
    color: var(--c-text, #F3ECE3);
    line-height: 1.4;
}

.filter-subtext {
    display: block;
    font-size: 11px;
    color: var(--c-text-muted-l, #7D6E5E);
    margin-top: 2px;
}

/* Categorías en chips */
.filter-category-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cat-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: var(--c-surface-2, #271C15);
    border: 1px solid var(--c-border-d, #34261B);
    border-radius: 20px;
    font-size: 12px;
    color: var(--c-text, #F3ECE3);
    text-decoration: none;
    transition: all var(--transition);
}

.cat-pill:hover {
    border-color: var(--c-orange, #F0892A);
    color: var(--c-orange, #F0892A);
}

.cat-pill.active {
    background: var(--c-orange, #F0892A);
    border-color: var(--c-orange, #F0892A);
    color: #ffffff;
    font-weight: 600;
}

.pill-count {
    font-size: 11px;
    opacity: 0.75;
}

/* Rango de precio */
.price-quick-links {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}

.price-chip {
    padding: 6px 10px;
    background: var(--c-surface-2, #271C15);
    border: 1px solid var(--c-border-d, #34261B);
    border-radius: 4px;
    font-size: 12px;
    color: var(--c-text-muted, #B4A594);
    text-decoration: none;
    transition: all var(--transition);
}

.price-chip:hover {
    border-color: var(--c-orange, #F0892A);
    color: var(--c-orange, #F0892A);
}

.price-chip.active {
    background: rgba(234, 91, 12, 0.15);
    border-color: var(--c-orange, #F0892A);
    color: var(--c-orange, #F0892A);
    font-weight: 600;
}

.price-inputs-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.price-inputs-row input {
    width: 65px;
    padding: 6px 8px;
    background: var(--c-surface-2, #271C15);
    border: 1px solid var(--c-border-d, #34261B);
    color: var(--c-text, #F3ECE3);
    font-size: 12px;
    border-radius: 3px;
    text-align: center;
}

.price-dash {
    color: var(--c-text-muted-l, #7D6E5E);
    font-size: 12px;
}

.price-btn {
    padding: 6px 10px;
    background: var(--c-orange, #F0892A);
    color: #ffffff;
    border: none;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--transition);
}

.price-btn:hover {
    background: var(--c-orange-h, #FFA94D);
}

/* Swatches de color en sidebar */
.filter-color-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sidebar-color-swatch {
    width: 28px;
    height: 28px;
    border-radius: 4px;
    border: 1.5px solid rgba(255, 255, 255, 0.25);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition);
    text-decoration: none;
}

.sidebar-color-swatch:hover {
    transform: translateY(-2px);
    border-color: var(--c-orange, #F0892A);
}

.sidebar-color-swatch.selected {
    border-color: var(--c-orange, #F0892A);
    box-shadow: 0 0 0 2px var(--c-orange, #F0892A);
    transform: translateY(-2px);
}

.swatch-check {
    color: #ffffff;
    font-size: 12px;
    font-weight: bold;
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.9);
}

/* ── ÁREA DE CONTENIDO Y TOOLBAR ── */
.catalog-content {
    min-width: 0;
}

.catalog-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    padding: 12px 18px;
    background: var(--c-surface, #1C140F);
    border: 1px solid var(--c-border-d, #34261B);
    border-radius: var(--radius-sm, 0);
    flex-wrap: wrap;
    gap: 16px;
}

.toolbar-results-text {
    font-size: 13px;
    color: var(--c-text-muted, #B4A594);
}

.catalog-ordering-form {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.orderby-label {
    font-size: 13px;
    color: var(--c-text-muted, #B4A594);
}

.catalog-orderby-select {
    padding: 8px 30px 8px 12px;
    background: var(--c-surface-2, #271C15);
    border: 1px solid var(--c-border-d, #34261B);
    color: var(--c-text, #F3ECE3);
    font-family: var(--font-body, 'Inter', sans-serif);
    font-size: 13px;
    border-radius: var(--radius-sm, 0);
    cursor: pointer;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%23B4A594" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>');
    background-repeat: no-repeat;
    background-position: right 10px center;
    -webkit-appearance: none;
    appearance: none;
}

/* ── GRILLA DE PRODUCTOS Y TARJETAS ── */
.catalog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.cat-card {
    background: var(--c-surface, #1C140F);
    border: 1px solid var(--c-border-d, #34261B);
    border-radius: var(--radius-sm, 0);
    padding: 16px;
    display: flex;
    flex-direction: column;
    transition: all 0.25s ease;
    position: relative;
}

.cat-card:hover {
    border-color: var(--c-orange, #F0892A);
    box-shadow: var(--glow-card);
    transform: translateY(-3px);
}

.cat-card .pf-media {
    position: relative;
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--c-surface-2, #271C15);
    border-radius: var(--radius-sm, 0);
}

.cat-card .pf-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.cat-card:hover .pf-card-img {
    transform: scale(1.05);
}

.cat-sale-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    background: var(--c-orange, #F0892A);
    color: #ffffff;
    font-family: var(--font-mono, 'Archivo', sans-serif);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 4px 8px;
    z-index: 2;
}

.cat-brand {
    font-family: var(--font-mono, 'Archivo', sans-serif);
    font-size: 10px;
    letter-spacing: 0.12em;
    color: var(--c-orange, #F0892A);
    text-transform: uppercase;
    margin: 12px 0 4px;
}

.cat-title-link {
    text-decoration: none;
    color: var(--c-text, #F3ECE3);
}

.cat-card .pf-name {
    font-family: var(--font-body, 'Inter', sans-serif);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 6px;
    color: var(--c-text, #F3ECE3);
    transition: color var(--transition);
}

.cat-card:hover .pf-name {
    color: var(--c-orange, #F0892A);
}

.cat-swatch-dots {
    display: flex;
    gap: 5px;
    margin-bottom: 8px;
}

.cat-swatch-dots .dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: inline-block;
}

.cat-card .pf-material {
    font-size: 12px;
    color: var(--c-text-muted-l, #7D6E5E);
    margin-bottom: 12px;
}

.cat-card .pf-price {
    margin-top: auto;
    margin-bottom: 14px;
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.cat-card .pf-price .now {
    font-family: var(--font-mono, 'Archivo', sans-serif);
    font-size: 18px;
    font-weight: 700;
    color: var(--c-text, #F3ECE3);
}

.cat-card .pf-price .was {
    font-family: var(--font-mono, 'Archivo', sans-serif);
    font-size: 13px;
    color: var(--c-text-muted-l, #7D6E5E);
    text-decoration: line-through;
}

.cat-action-btn {
    display: block;
    width: 100%;
    text-align: center;
    background: var(--c-surface-2, #271C15);
    border: 1px solid var(--c-border-d, #34261B);
    color: var(--c-text, #F3ECE3);
    padding: 10px 14px;
    font-family: var(--font-body, 'Inter', sans-serif);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: all var(--transition);
}

.cat-action-btn:hover {
    background: var(--c-orange, #F0892A);
    border-color: var(--c-orange, #F0892A);
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(234, 91, 12, 0.35);
}

/* Estado sin resultados */
.catalog-no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 70px 20px;
    background: var(--c-surface, #1C140F);
    border: 1px dashed var(--c-border-d, #34261B);
    border-radius: var(--radius-sm, 0);
}

.catalog-no-results h3 {
    font-family: var(--font-display, 'Fraunces', serif);
    font-size: 24px;
    color: var(--c-text, #F3ECE3);
    margin: 14px 0 8px;
}

.catalog-no-results p {
    font-size: 14px;
    color: var(--c-text-muted-l, #7D6E5E);
    max-width: 480px;
    margin: 0 auto 20px;
}

.btn-reset-filters {
    display: inline-block;
    padding: 10px 22px;
    background: var(--c-orange, #F0892A);
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
    transition: all var(--transition);
}

.btn-reset-filters:hover {
    background: var(--c-orange-h, #FFA94D);
    box-shadow: var(--glow-btn);
}

/* Paginación */
.catalog-pagination {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.catalog-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    background: var(--c-surface, #1C140F);
    border: 1px solid var(--c-border-d, #34261B);
    color: var(--c-text, #F3ECE3);
    font-size: 13px;
    text-decoration: none;
    transition: all var(--transition);
}

.catalog-pagination .page-numbers.current {
    background: var(--c-orange, #F0892A);
    border-color: var(--c-orange, #F0892A);
    font-weight: 700;
}

.catalog-pagination .page-numbers:hover:not(.current) {
    border-color: var(--c-orange, #F0892A);
    color: var(--c-orange, #F0892A);
}

/* ── RESPONSIVE ADAPTATION ── */
@media (max-width: 1024px) {
    .catalog-layout {
        grid-template-columns: 240px 1fr;
        gap: 24px;
    }
    .catalog-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
}

@media (max-width: 768px) {
    .catalog-layout {
        grid-template-columns: 1fr;
    }
    .catalog-sidebar {
        margin-bottom: 24px;
    }
    .catalog-grid {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════════════════════════
   PÁGINAS ESTÁNDAR DE CONTENIDO (EMBER DESIGN SYSTEM)
   ═══════════════════════════════════════════════════════════ */
.ember-page-main {
    background: var(--c-espresso, #120D0A);
    min-height: 70vh;
    padding: 50px 0 100px;
    color: var(--c-text, #F3ECE3);
}

.ember-page-article {
    max-width: 860px;
    margin: 0 auto;
}

.ember-page-header {
    margin-bottom: 30px;
}

.ember-page-breadcrumbs {
    font-size: 13px;
    color: var(--c-text-muted, #B4A594);
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.ember-page-breadcrumbs a {
    color: var(--c-text-muted, #B4A594);
    transition: color var(--transition);
}

.ember-page-breadcrumbs a:hover {
    color: var(--c-orange, #F0892A);
}

.ember-page-breadcrumbs .sep {
    color: var(--c-text-muted-l, #7D6E5E);
}

.ember-page-breadcrumbs .current {
    color: var(--c-text, #F3ECE3);
    font-weight: 500;
}

.ember-page-title {
    font-family: var(--font-display, 'Fraunces', serif);
    font-size: clamp(30px, 4vw, 42px);
    font-weight: 600;
    color: var(--c-text, #F3ECE3);
    line-height: 1.15;
    margin: 0 0 16px 0;
}

.ember-page-divider {
    width: 54px;
    height: 3px;
    background: var(--c-orange, #F0892A);
    border-radius: 2px;
}

.ember-page-content {
    background: var(--c-surface, #1C140F);
    border: 1px solid var(--c-border-d, #34261B);
    border-radius: var(--radius-sm, 0);
    padding: 40px 48px;
    font-family: var(--font-body, 'Inter', sans-serif);
    font-size: 15px;
    line-height: 1.8;
    color: var(--c-text, #F3ECE3);
}

.ember-page-content p {
    margin-bottom: 20px;
}

.ember-page-content h2 {
    font-family: var(--font-display, 'Fraunces', serif);
    font-size: 22px;
    font-weight: 600;
    color: var(--c-text, #F3ECE3);
    margin: 32px 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--c-border-d, #34261B);
}

.ember-page-content h3 {
    font-family: var(--font-display, 'Fraunces', serif);
    font-size: 18px;
    font-weight: 600;
    color: var(--c-text, #F3ECE3);
    margin: 24px 0 12px;
}

.ember-page-content ul,
.ember-page-content ol {
    margin-bottom: 24px;
    padding-left: 24px;
}

.ember-page-content li {
    margin-bottom: 10px;
    color: var(--c-text, #F3ECE3);
}

.ember-page-content strong {
    color: #ffffff;
    font-weight: 600;
}

.ember-page-content a {
    color: var(--c-orange, #F0892A);
    text-decoration: underline;
    transition: opacity var(--transition);
}

.ember-page-content a:hover {
    opacity: 0.85;
}

@media (max-width: 768px) {
    .ember-page-main {
        padding: 36px 0 60px;
    }
    .ember-page-content {
        padding: 24px 20px;
        font-size: 14px;
    }
}

/* ═══════════════════════════════════════════════════════════
   CARRITO Y CHECKOUT (EMBER DESIGN SYSTEM) — 2 COLUMNAS AMPLIAS (1540PX)
   ═══════════════════════════════════════════════════════════ */
.woocommerce-cart,
.woocommerce-checkout {
    background: var(--c-espresso, #120D0A) !important;
    color: var(--c-text, #F3ECE3) !important;
}

.woocommerce-cart .ember-page-main,
.woocommerce-checkout .ember-page-main {
    padding: 30px 0 80px !important;
}

/* Forzar ancho amplio del contenedor general de Blocksy para Carrito y Checkout */
.woocommerce-cart .ct-container,
.woocommerce-cart .ember-page-main .wrap,
.woocommerce-cart .ember-page-article,
.woocommerce-checkout .ct-container,
.woocommerce-checkout .ember-page-main .wrap,
.woocommerce-checkout .ember-page-article {
    max-width: 1540px !important;
    width: 96% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
}

/* Quitar fondo de tarjeta y bordes al contenedor padre de página estándar para Carrito y Checkout */
.woocommerce-cart .site-main,
.woocommerce-cart .ember-page-content,
.woocommerce-cart .entry-content,
.woocommerce-checkout .site-main,
.woocommerce-checkout .ember-page-content,
.woocommerce-checkout .entry-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Eliminar borde blanco exterior generado por Blocksy en el checkout */
.woocommerce-checkout .ct-order-review {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
}

/* Contenedor principal de 2 columnas amplias para Checkout */
.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 36px !important;
    max-width: 1500px !important;
    width: 100% !important;
    margin: 20px auto 80px !important;
    padding: 0 !important;
}

@media (min-width: 992px) {
    .woocommerce-checkout form.checkout {
        grid-template-columns: 1.35fr 1fr !important;
        gap: 44px !important;
        align-items: start !important;
    }
}

@media (max-width: 768px) {
    .woocommerce-checkout form.checkout {
        padding: 0 8px !important;
        margin: 16px auto 60px !important;
        gap: 24px !important;
    }
}


/* Columna Izquierda: Datos del Cliente y Logística */
.woocommerce-checkout #customer_details {
    width: 100% !important;
    float: none !important;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
    background: var(--c-surface, #1C140F);
    border: 1px solid var(--c-border-d, #34261B);
    border-radius: 12px;
    padding: 28px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.25);
}

.woocommerce-checkout h3 {
    font-family: var(--font-display, 'Fraunces', serif) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: var(--c-text, #F3ECE3) !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid var(--c-border-d, #34261B);
    padding-bottom: 12px;
}

/* Estilización de Inputs y Selects */
.woocommerce-checkout .form-row {
    margin-bottom: 16px !important;
}

.woocommerce-checkout .form-row label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--c-text-muted, #B4A594) !important;
    margin-bottom: 6px !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container--default .select2-selection--single {
    width: 100% !important;
    height: auto !important;
    background: #120D0A !important;
    border: 1px solid #34261B !important;
    border-radius: 8px !important;
    color: #F3ECE3 !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--c-orange, #F0892A) !important;
    box-shadow: 0 0 0 3px rgba(234, 91, 12, 0.2) !important;
}

/* ── Estilos Select2 / SelectWoo en Tema Oscuro Ember (Soluciona texto blanco sobre blanco) ── */
.select2-dropdown {
    background-color: #1A1310 !important;
    border: 1px solid #F0892A !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.8) !important;
    color: #F3ECE3 !important;
    z-index: 999999 !important;
    overflow: hidden !important;
}

.select2-search--dropdown {
    background-color: #140E0B !important;
    padding: 10px !important;
    border-bottom: 1px solid #34261B !important;
}

.select2-search--dropdown .select2-search__field {
    background-color: #120D0A !important;
    color: #FFFFFF !important;
    border: 1px solid #34261B !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    outline: none !important;
    width: 100% !important;
    font-size: 13.5px !important;
}

.select2-search--dropdown .select2-search__field:focus {
    border-color: #F0892A !important;
    box-shadow: 0 0 0 2px rgba(234, 91, 12, 0.25) !important;
}

.select2-container--default .select2-results__option {
    color: #D4C5BE !important;
    background-color: #1A1310 !important;
    padding: 10px 14px !important;
    font-size: 13.5px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}

.select2-container--default .select2-results__option--highlighted,
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: #F0892A !important;
    color: #FFFFFF !important;
}

.select2-container--default .select2-results__group {
    color: #F0892A !important;
    font-weight: 700 !important;
    padding: 10px 14px !important;
    background: #140E0B !important;
    font-size: 12px !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid rgba(234, 91, 12, 0.25) !important;
}

/* ── Estilos para Selects Nativos y Opciones ── */
select option,
.ic-select option {
    background-color: #1A1310 !important;
    color: #F3ECE3 !important;
    padding: 10px 14px !important;
    font-size: 13.5px !important;
}

select option:hover,
select option:focus,
select option:checked,
.ic-select option:checked {
    background-color: #F0892A !important;
    color: #FFFFFF !important;
}


/* Columna Derecha: Resumen del Pedido (Sticky) */
.woocommerce-checkout #order_review_heading {
    display: none; /* Ocultar encabezado separado para integrarlo en la caja */
}

.woocommerce-checkout #order_review {
    background: var(--c-surface-2, #271C15) !important;
    border: 1px solid var(--c-border-d, #34261B) !important;
    border-radius: 14px !important;
    padding: 32px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.35) !important;
}

@media (min-width: 992px) {
    .woocommerce-checkout #order_review {
        position: sticky;
        top: 90px;
    }
}

/* Título de la caja de revisión */
.woocommerce-checkout #order_review::before {
    content: "Resumen de tu Compra";
    display: block;
    font-family: var(--font-display, 'Fraunces', serif);
    font-size: 22px;
    font-weight: 700;
    color: var(--c-text, #F3ECE3);
    margin-bottom: 20px;
    border-bottom: 1px solid var(--c-border-d, #34261B);
    padding-bottom: 14px;
}

/* Tabla de productos y totales */
.woocommerce-checkout table.shop_table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    margin-bottom: 24px !important;
    background: transparent !important;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
    border-top: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    padding: 12px 0 !important;
    color: var(--c-text, #F3ECE3) !important;
    font-size: 14px !important;
}

.woocommerce-checkout table.shop_table th {
    color: var(--c-text-muted, #B4A594) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.woocommerce-checkout table.shop_table .product-name {
    font-weight: 500;
}

.woocommerce-checkout table.shop_table .product-total,
.woocommerce-checkout table.shop_table .order-total td {
    text-align: right !important;
    font-family: var(--font-mono, monospace);
    font-weight: 600;
}

.woocommerce-checkout table.shop_table .order-total th,
.woocommerce-checkout table.shop_table .order-total td {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--c-glow, #FFCB8C) !important;
    border-top: 1px solid var(--c-border-d, #34261B) !important;
    border-bottom: none !important;
    padding-top: 18px !important;
}

/* Métodos de Envío en la tabla */
.woocommerce-checkout ul#shipping_method {
    list-style: none !important;
    margin: 8px 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.woocommerce-checkout ul#shipping_method li {
    background: #1C140F;
    border: 1px solid var(--c-border-d, #34261B);
    border-radius: 8px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.woocommerce-checkout ul#shipping_method li:hover {
    border-color: rgba(234, 91, 12, 0.4);
}

.woocommerce-checkout ul#shipping_method li input[type="radio"] {
    accent-color: var(--c-orange, #F0892A);
    cursor: pointer;
}

/* Pasarelas de Pago */
.woocommerce-checkout #payment {
    background: transparent !important;
    border-radius: 0 !important;
    border-top: 1px solid var(--c-border-d, #34261B);
    padding-top: 20px;
}

.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: none !important;
    padding: 0 !important;
    margin-bottom: 20px !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    background: #1C140F;
    border: 1px solid var(--c-border-d, #34261B);
    border-radius: 8px;
    padding: 12px 14px;
    margin-bottom: 10px !important;
    color: var(--c-text, #F3ECE3);
}

.woocommerce-checkout #payment div.payment_box {
    background: #120D0A !important;
    color: var(--c-text-muted, #B4A594) !important;
    border: 1px solid #34261B !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    margin-top: 10px !important;
    padding: 12px 14px !important;
}

.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: #34261B !important;
}

/* Botón Realizar Pedido */
.woocommerce-checkout #place_order {
    width: 100% !important;
    background: var(--grad-ember, linear-gradient(135deg, #FFA94D 0%, #F0892A 55%, #D06E12 100%)) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 16px 24px !important;
    font-family: var(--font-body, inherit) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    box-shadow: 0 6px 20px rgba(234, 91, 12, 0.4) !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
}

.woocommerce-checkout #place_order:hover {
    box-shadow: var(--glow-btn, 0 8px 30px -6px rgba(240,137,42,.55)) !important;
    transform: translateY(-2px);
}

/* ══════════════════════════════════════════════════════════════
   FASE 6: ESTILOS EMBER PARA PASARELAS DE PAGO (YAPE, PLIN, BACS)
   ══════════════════════════════════════════════════════════════ */

/* Caja contenedora Yape / Plin */
.ic-yape-box {
    background: #16100D !important;
    border: 1px solid rgba(234, 91, 12, 0.35) !important;
    border-radius: 8px !important;
    padding: 18px !important;
    margin-top: 12px !important;
    color: #F5EBE6 !important;
}

.ic-yape-desc {
    font-size: 13.5px !important;
    color: #D4C5BE !important;
    margin-bottom: 12px !important;
}

/* Badges oficiales Yape y Plin */
.ic-badges-row {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.ic-badge-yape {
    background: #742384;
    color: #ffffff;
    font-weight: 800;
    font-size: 11px;
    letter-spacing: 0.08em;
    padding: 4px 10px;
    border-radius: 4px;
    display: inline-block;
}

.ic-badge-plin {
    background: #00BFD6;
    color: #0A1C2A;
    font-weight: 800;
    font-size: 11px;
    letter-spacing: 0.08em;
    padding: 4px 10px;
    border-radius: 4px;
    display: inline-block;
}

/* Datos del receptor */
.ic-yape-data {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid #34261B;
    border-radius: 6px;
    padding: 12px 14px;
    margin-bottom: 14px;
}

.ic-data-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 0;
    font-size: 13.5px;
}

.ic-data-label {
    color: #A89B93;
}

.ic-data-val {
    color: #FFFFFF;
    font-weight: 600;
}

.ic-phone-highlight {
    color: #F0892A !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em;
}

/* Instrucciones numeradas */
.ic-yape-instructions {
    margin-bottom: 16px;
}

.ic-yape-instructions ol {
    margin: 0;
    padding-left: 18px;
    color: #D4C5BE;
    font-size: 13px;
    line-height: 1.55;
}

.ic-yape-instructions li {
    margin-bottom: 6px;
}

.ic-yape-instructions strong {
    color: #FFFFFF;
}

/* Campos de formulario de comprobante */
.ic-voucher-fields {
    border-top: 1px dashed rgba(234, 91, 12, 0.25);
    padding-top: 14px;
    margin-top: 10px;
}

.ic-field-group {
    margin-bottom: 12px;
}

.ic-field-group label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #F5EBE6;
    margin-bottom: 6px;
}

.ic-field-group label .required {
    color: #F0892A;
}

.ic-field-group label .optional {
    font-size: 11px;
    color: #8C7F78;
    font-weight: 400;
}

.ic-field-group input[type="text"],
.ic-field-group input[type="file"] {
    width: 100% !important;
    background: #120D0A !important;
    border: 1px solid #34261B !important;
    border-radius: 6px !important;
    color: #FFFFFF !important;
    padding: 10px 12px !important;
    font-size: 13.5px !important;
    transition: border-color 0.2s ease;
}

.ic-field-group input[type="text"]:focus {
    border-color: #F0892A !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(234, 91, 12, 0.2) !important;
}

.ic-field-group input[type="file"] {
    padding: 8px !important;
    cursor: pointer;
}

.ic-file-help {
    display: block;
    margin-top: 5px;
    font-size: 11.5px;
    color: #8C7F78;
}

/* Pantalla de agradecimiento Yape */
.ic-thankyou-yape-box {
    background: #1A1310;
    border: 1px solid #F0892A;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
    color: #F5EBE6;
}

.ic-thankyou-yape-box h3 {
    color: #F0892A;
    margin-top: 0;
}

.ic-alert-wa {
    background: rgba(37, 211, 102, 0.1);
    border-left: 3px solid #25D366;
    padding: 10px 14px;
    border-radius: 4px;
    margin-top: 15px;
}

.ic-alert-wa a {
    color: #25D366;
    text-decoration: underline;
}

/* ══════════════════════════════════════════════════════════════
   FASE 7: SELECTOR BOLETA / FACTURA ELECTRÓNICA (SUNAT / PRASEN)
   ══════════════════════════════════════════════════════════════ */
.ic-billing-type-box {
    background: #16100D;
    border: 1px solid rgba(234, 91, 12, 0.35);
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 28px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}

.ic-billing-type-title {
    margin: 0 0 6px 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.ic-billing-type-sub {
    font-size: 13px;
    color: #A89B93;
    margin: 0 0 18px 0;
}

.ic-radio-selector-group {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 20px;
}

@media (min-width: 580px) {
    .ic-radio-selector-group {
        grid-template-columns: 1fr 1fr;
    }
}

.ic-radio-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #1C140F;
    border: 2px solid #34261B;
    border-radius: 10px;
    padding: 16px 18px;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
}

.ic-radio-card:hover {
    border-color: rgba(234, 91, 12, 0.6);
    background: #201712;
}

.ic-radio-card.active {
    border-color: #F0892A;
    background: rgba(234, 91, 12, 0.08);
    box-shadow: 0 0 0 1px #F0892A;
}

.ic-radio-card input.ic-radio-input {
    width: 18px !important;
    height: 18px !important;
    accent-color: #F0892A !important;
    cursor: pointer;
    margin: 0 !important;
}

.ic-radio-content {
    display: flex;
    flex-direction: column;
}

.ic-radio-name {
    font-size: 15px;
    font-weight: 700;
    color: #FFFFFF;
}

.ic-radio-desc {
    font-size: 12px;
    color: #9C8E86;
    margin-top: 2px;
}

.ic-conditional-fields {
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid #34261B;
    border-radius: 8px;
    padding: 18px;
    margin-top: 10px;
}

.ic-help-text {
    display: block;
    font-size: 11.5px;
    color: #8C7F78;
    margin-top: 4px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PANTALLA ORDER RECEIVED / THANK YOU — EMBER DESIGN SYSTEM (INDUSTRIAS CORREA)
   ═══════════════════════════════════════════════════════════════════════════ */

/* 1. Ocultar elementos rotos / antiguos de Blocksy y WooCommerce */
body.woocommerce-order-received .entry-header,
body.woocommerce-checkout .woocommerce-order-received .entry-header,
.woocommerce-order > .woocommerce-notice--success.woocommerce-thankyou-order-received,
.woocommerce-order > ul.woocommerce-order-overview.order_details,
.woocommerce-order > .woocommerce-order-details,
.woocommerce-order > .woocommerce-customer-details,
.woocommerce-order > .ic-thankyou-yape-box {
    display: none !important;
}

.ic-woocommerce-hidden-hooks {
    display: none !important;
}

/* 2. Contenedor Principal */
.ic-thankyou-container {
    max-width: 1040px;
    margin: 0 auto 80px auto;
    padding: 30px 20px 60px;
    color: var(--c-text, #F3ECE3);
    font-family: var(--font-body, 'Inter', sans-serif);
}

/* 3. Hero de Confirmación */
.ic-thankyou-hero {
    text-align: center;
    background: linear-gradient(180deg, rgba(39, 28, 21, 0.95) 0%, rgba(18, 13, 10, 0.98) 100%);
    border: 1px solid var(--c-border-d, #34261B);
    border-radius: 20px;
    padding: 48px 32px 40px;
    box-shadow: 0 20px 50px -10px rgba(0, 0, 0, 0.6), 0 0 40px -15px rgba(234, 91, 12, 0.2);
    margin-bottom: 32px;
    position: relative;
    overflow: hidden;
}

.ic-thankyou-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #F0892A, transparent);
}

.ic-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(37, 211, 102, 0.12);
    border: 1px solid rgba(37, 211, 102, 0.35);
    color: #4ADE80;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 24px;
}

.ic-badge-pulse {
    width: 8px;
    height: 8px;
    background: #4ADE80;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.7);
    animation: icPulse 2s infinite;
}

@keyframes icPulse {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 8px rgba(74, 222, 128, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(74, 222, 128, 0); }
}

.ic-hero-icon-wrap {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: linear-gradient(135deg, #FFA94D 0%, #F0892A 55%, #D06E12 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF8EC;
    box-shadow: 0 10px 30px rgba(234, 91, 12, 0.45), 0 0 45px rgba(255, 178, 122, 0.25);
}

.ic-hero-icon--failed {
    background: linear-gradient(135deg, #EF4444 0%, #B91C1C 100%) !important;
    box-shadow: 0 10px 30px rgba(239, 68, 68, 0.45) !important;
}

.ic-hero-title {
    font-family: var(--font-display, 'Fraunces', serif);
    font-size: 34px;
    font-weight: 700;
    color: #FFF8EC;
    margin: 0 0 14px 0;
    line-height: 1.25;
}

.ic-hero-subtitle {
    font-size: 16px;
    color: var(--c-text-muted, #B4A594);
    max-width: 640px;
    margin: 0 auto 36px;
    line-height: 1.6;
}

.ic-hero-subtitle strong {
    color: #FFF8EC;
}

.ic-order-highlight {
    color: var(--c-orange, #F0892A) !important;
    font-size: 18px;
}

/* 4. Timeline de Estados */
.ic-order-timeline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(18, 13, 10, 0.75);
    border: 1px solid rgba(52, 38, 27, 0.9);
    border-radius: 14px;
    padding: 20px 28px;
    margin-top: 10px;
    text-align: left;
}

.ic-timeline-step {
    display: flex;
    align-items: center;
    gap: 12px;
    opacity: 0.45;
    transition: opacity 0.3s ease;
}

.ic-timeline-step.is-active,
.ic-timeline-step.is-current {
    opacity: 1;
}

.ic-step-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #271C15;
    border: 1.5px solid #34261B;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-text-muted, #B4A594);
}

.ic-timeline-step.is-active .ic-step-icon {
    background: #25D366;
    border-color: #25D366;
    color: #120D0A;
}

.ic-timeline-step.is-current .ic-step-icon {
    background: #F0892A;
    border-color: #FFA94D;
    color: #FFF;
    box-shadow: 0 0 15px rgba(234, 91, 12, 0.6);
}

.ic-step-info {
    display: flex;
    flex-direction: column;
}

.ic-step-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-text-dim, #857567);
}

.ic-step-name {
    font-size: 13.5px;
    font-weight: 600;
    color: #FFF;
    white-space: nowrap;
}

.ic-timeline-divider {
    flex: 1;
    height: 2px;
    background: #34261B;
    margin: 0 16px;
}

.ic-timeline-divider.is-active {
    background: linear-gradient(90deg, #25D366, #F0892A);
}

/* 5. Grid de Métricas Clave */
.ic-metrics-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 32px;
}

.ic-metric-card {
    background: var(--c-surface, #1C140F);
    border: 1px solid var(--c-border-d, #34261B);
    border-radius: 14px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.ic-metric-card:hover {
    transform: translateY(-2px);
    border-color: rgba(234, 91, 12, 0.4);
}

.ic-metric-card--highlight {
    background: linear-gradient(180deg, rgba(39, 28, 21, 0.95) 0%, rgba(28, 20, 15, 0.95) 100%);
    border-color: rgba(234, 91, 12, 0.5);
    box-shadow: 0 8px 25px -5px rgba(234, 91, 12, 0.15);
}

.ic-metric-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: rgba(234, 91, 12, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-orange, #F0892A);
    flex-shrink: 0;
}

.ic-metric-content {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ic-metric-label {
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--c-text-muted, #B4A594);
    margin-bottom: 4px;
}

.ic-metric-value {
    font-size: 16px;
    font-weight: 700;
    color: #FFF;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.ic-metric-value--price {
    font-size: 20px;
    color: var(--c-orange-h, #FFA94D);
}

/* 6. Instrucciones de Pago */
.ic-payment-instructions {
    border-radius: 16px;
    padding: 28px;
    margin-bottom: 32px;
    border: 1px solid var(--c-border-d, #34261B);
}

.ic-instructions--bacs {
    background: linear-gradient(180deg, rgba(39, 28, 21, 0.8) 0%, rgba(24, 17, 13, 0.95) 100%);
    border-color: rgba(234, 91, 12, 0.4);
}

.ic-instructions--card,
.ic-instructions--yape {
    background: rgba(28, 20, 15, 0.8);
    text-align: center;
}

.ic-instructions-header h3,
.ic-payment-instructions h3 {
    font-family: var(--font-display, 'Fraunces', serif);
    font-size: 22px;
    color: #FFF8EC;
    margin: 10px 0 6px 0;
}

.ic-instructions-header p,
.ic-payment-instructions p {
    font-size: 14.5px;
    color: var(--c-text-muted, #B4A594);
    margin: 0 0 20px 0;
}

.ic-instructions-badge,
.ic-badge-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.ic-instructions-badge {
    background: rgba(234, 91, 12, 0.15);
    color: #FFA94D;
    border: 1px solid rgba(234, 91, 12, 0.3);
}

.ic-badge--secure {
    background: rgba(37, 211, 102, 0.12);
    color: #4ADE80;
    border: 1px solid rgba(37, 211, 102, 0.3);
}

.ic-badge--yape {
    background: rgba(116, 34, 134, 0.2);
    color: #C084FC;
    border: 1px solid rgba(192, 132, 252, 0.4);
}

.ic-bank-card {
    background: rgba(18, 13, 10, 0.85);
    border: 1px solid #34261B;
    border-radius: 12px;
    padding: 20px 24px;
    margin-bottom: 24px;
}

.ic-bank-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px dashed rgba(52, 38, 27, 0.8);
    font-size: 14px;
}

.ic-bank-row:last-child {
    border-bottom: none;
}

.ic-bank-label {
    color: var(--c-text-muted, #B4A594);
}

.ic-bank-val {
    color: #FFF;
    font-weight: 600;
}

.ic-bank-number {
    font-family: monospace;
    font-size: 16px;
    color: #FFA94D;
    letter-spacing: 0.04em;
}

.ic-voucher-cta {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.ic-voucher-note {
    font-size: 13px;
    color: var(--c-text-muted, #B4A594);
}

/* 7. Tabla Detalle de Productos */
.ic-order-details-section {
    margin-bottom: 32px;
}

.ic-section-title {
    font-family: var(--font-display, 'Fraunces', serif);
    font-size: 24px;
    color: #FFF8EC;
    margin: 0 0 18px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.ic-section-title svg {
    color: var(--c-orange, #F0892A);
}

.ic-order-table-card {
    background: var(--c-surface, #1C140F);
    border: 1px solid var(--c-border-d, #34261B) !important;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

/* Forzar reseteo absoluto de bordes de tabla heredados de Blocksy / Woo */
.ic-thankyou-container table,
.ic-thankyou-container table tr,
.ic-thankyou-container table th,
.ic-thankyou-container table td,
.entry-content .ic-thankyou-container table,
.entry-content .ic-thankyou-container table tr,
.entry-content .ic-thankyou-container table th,
.entry-content .ic-thankyou-container table td {
    border: none !important;
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    border-bottom: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.ic-thankyou-container .ic-order-table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    text-align: left;
    margin: 0 !important;
    background: transparent !important;
}

.ic-thankyou-container .ic-order-table thead th {
    background: #271C15 !important;
    padding: 16px 24px !important;
    font-size: 12px !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-text-muted, #B4A594) !important;
    border-bottom: 1px solid #34261B !important;
}

.ic-thankyou-container .ic-order-table tbody td {
    padding: 20px 24px !important;
    border-bottom: 1px solid #251A14 !important;
    vertical-align: middle;
    background: transparent !important;
}

.ic-thankyou-container .ic-order-table tbody tr:last-child td {
    border-bottom: 1px solid #34261B !important;
}

.ic-product-meta-cell {
    display: flex;
    align-items: center;
    gap: 18px;
}

.ic-product-thumb {
    width: 58px;
    height: 58px;
    border-radius: 8px;
    overflow: hidden;
    background: #271C15;
    flex-shrink: 0;
    border: 1px solid #34261B !important;
}

.ic-product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ic-product-name {
    font-size: 16px;
    color: #FFF;
    display: block;
    margin-bottom: 6px;
}

.ic-item-variations {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
}

.ic-item-variations li {
    font-size: 12px;
    color: var(--c-text-muted, #B4A594);
    background: rgba(255, 255, 255, 0.04);
    padding: 2px 8px;
    border-radius: 4px;
    border: none !important;
}

.ic-item-variations li span {
    color: #8C7F78;
}

.ic-qty-pill {
    font-size: 13.5px;
    font-weight: 700;
    color: #FFF;
    background: #271C15;
    padding: 4px 10px;
    border-radius: 6px;
    border: 1px solid #34261B !important;
}

.ic-item-price {
    font-size: 16px;
    color: #FFF;
}

.ic-thankyou-container .ic-order-table tfoot tr {
    background: rgba(24, 17, 13, 0.5) !important;
}

.ic-thankyou-container .ic-order-table tfoot th,
.ic-thankyou-container .ic-order-table tfoot td {
    padding: 14px 24px !important;
    border-top: 1px solid #251A14 !important;
    border-bottom: none !important;
    font-size: 14px;
    background: transparent !important;
}

.ic-thankyou-container .ic-order-table tfoot th {
    text-align: right;
    color: var(--c-text-muted, #B4A594) !important;
    font-weight: 500;
}

.ic-thankyou-container .ic-order-table tfoot td {
    font-weight: 700;
    color: #FFF;
}

.ic-thankyou-container .ic-order-table .ic-total-row--order_total th,
.ic-thankyou-container .ic-order-table .ic-total-row--order_total td {
    background: rgba(39, 28, 21, 0.6) !important;
    font-size: 18px !important;
    border-top: 2px solid #F0892A !important;
    border-bottom: none !important;
}

.ic-thankyou-container .ic-order-table .ic-total-row--order_total td {
    color: var(--c-orange-h, #FFA94D) !important;
    font-size: 22px !important;
}

/* 8. Tarjetas de Información del Cliente */
.ic-customer-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.ic-info-card {
    background: var(--c-surface, #1C140F);
    border: 1px solid var(--c-border-d, #34261B);
    border-radius: 16px;
    padding: 24px;
}

.ic-info-card-title {
    font-family: var(--font-display, 'Fraunces', serif);
    font-size: 18px;
    color: #FFF8EC;
    margin: 0 0 16px 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 12px;
    border-bottom: 1px solid #34261B;
}

.ic-info-card-title svg {
    color: var(--c-orange, #F0892A);
}

.ic-info-card-content p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--c-text-muted, #B4A594);
    margin: 0 0 8px 0;
}

.ic-info-card-content strong {
    color: #FFF;
}

.ic-info-contact {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #F0892A !important;
    font-weight: 600;
    margin-top: 6px !important;
}

.ic-comp-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 12px;
}

.ic-comp--boleta {
    background: rgba(59, 130, 246, 0.15);
    color: #60A5FA;
    border: 1px solid rgba(59, 130, 246, 0.3);
}

.ic-comp--factura {
    background: rgba(234, 91, 12, 0.15);
    color: #FFA94D;
    border: 1px solid rgba(234, 91, 12, 0.3);
}

.ic-comp-note {
    font-size: 12px !important;
    color: #7D6E5E !important;
    margin-top: 14px !important;
    font-style: italic;
}

/* 9. Botones de Acción Finales */
.ic-final-cta-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.ic-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 28px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
    cursor: pointer;
}

.ic-btn--primary-whatsapp,
.ic-btn--whatsapp {
    background: #25D366;
    color: #120D0A !important;
    box-shadow: 0 8px 25px -4px rgba(37, 211, 102, 0.4);
}

.ic-btn--primary-whatsapp:hover,
.ic-btn--whatsapp:hover {
    background: #20BA56;
    transform: translateY(-2px);
    box-shadow: 0 12px 30px -4px rgba(37, 211, 102, 0.55);
}

.ic-btn--primary {
    background: linear-gradient(135deg, #FFA94D 0%, #F0892A 55%, #D06E12 100%);
    color: #FFF !important;
    box-shadow: 0 8px 25px -4px rgba(234, 91, 12, 0.45);
}

.ic-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px -4px rgba(234, 91, 12, 0.6);
}

.ic-btn--ghost {
    background: transparent;
    color: var(--c-text-muted, #B4A594) !important;
    border: 1px solid #34261B;
}

.ic-btn--ghost:hover {
    background: #271C15;
    color: #FFF !important;
    border-color: #F0892A;
}

/* 10. Adaptabilidad Móvil */
@media (max-width: 860px) {
    .ic-metrics-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .ic-order-timeline {
        flex-direction: column;
        gap: 16px;
    }
    .ic-timeline-divider {
        display: none;
    }
    .ic-customer-info-grid {
        grid-template-columns: 1fr;
    }
    .ic-hero-title {
        font-size: 26px;
    }
    .ic-final-cta-bar {
        flex-direction: column;
        width: 100%;
    }
    .ic-btn {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .ic-metrics-grid {
        grid-template-columns: 1fr;
    }
    .ic-thankyou-hero {
        padding: 32px 18px;
    }
    .ic-order-table td,
    .ic-order-table th {
        padding: 12px 14px;
    }
}
