/*
 Theme Name:   Novaionic Neo Kinpaku
 Theme URI:    https://novaionicpharma.com
 Description:  Tema principal para Novaionic Pharma — diseño Neo Kinpaku (negro lacado + oro + crema). Optimizado para WooCommerce como tienda con carrito real.
 Author:       Novaionic Dev
 Version:    2.0.810785
 Text Domain:  novaionic
 Requires at least: 6.0
 Requires PHP: 7.4
*/

/* =====================================================================
   NOVAIONIC — Sistema de diseño (portado de Instatic)
   Paleta: negro carbón + dorado metálico (identidad de marca)
   ===================================================================== */

:root{
    --ink:        #0d0d0f;
    --ink-soft:   #161619;
    --ink-line:   #262629;
    --gold:       #c9a227;
    --gold-bright:#e6c65a;
    --gold-deep:  #8a6d12;
    --paper:      #f6f4ef;
    --paper-dim:  #a9a69e;
    --paper-faint:#6f6d67;
    --maxw: 1180px;
    --gutter: clamp(20px, 5vw, 64px);
    --font-display: "Bebas Neue", "Oswald", Impact, sans-serif;
    --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    /* Aliases para compatibilidad con nombres antiguos */
    --ni-black: var(--ink);
    --ni-dark: var(--ink-soft);
    --ni-gold: var(--gold);
    --ni-gold-hover: var(--gold-bright);
    --ni-cream: var(--paper);
    --ni-cream-70: var(--paper-dim);
    --ni-cream-60: var(--paper-dim);
    --ni-cream-40: var(--paper-faint);
    --ni-font-display: var(--font-display);
    --ni-font-body: var(--font-body);
    --ni-radius: 4px;
    --ni-radius-lg: 6px;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }

body{
    font-family:var(--font-body) !important;
    background:var(--ink) !important;
    color:var(--paper) !important;
    line-height:1.75;
    font-size:16px;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
}

::selection{ background:var(--gold); color:var(--ink); }

/* ---------- Tipografía ---------- */
h1,h2,h3,h4,h5,h6{
    font-family:var(--font-display) !important;
    font-weight:400;
    line-height:1.02;
    letter-spacing:.01em;
    color:var(--paper) !important;
}
.eyebrow{
    font-family:var(--font-body);
    font-size:.72rem; font-weight:600;
    letter-spacing:.28em; text-transform:uppercase;
    color:var(--gold); display:inline-block;
}
a{ color:inherit; text-decoration:none; }
.gold{ color:var(--gold); }

.container{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }

/* ---------- Header ---------- */
.site-header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:linear-gradient(180deg, rgba(13,13,15,.92), rgba(13,13,15,.62));
    border-bottom:1px solid transparent;
    transition:border-color .3s, background .3s;
}
.site-header.scrolled{
    border-bottom-color:var(--gold-deep);
    background:var(--ink);
}
.nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    height:76px;
}
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand img{ height:30px; width:auto; display:block; }
.brand span{
    font-family:var(--font-display);
    font-size:1.4rem; color:var(--gold);
    letter-spacing:.08em;
}

.nav-links{ display:flex; align-items:center; gap:38px; list-style:none; }
.nav-links li{ list-style:none; }
.nav-links a{
    font-size:.82rem; font-weight:500; letter-spacing:.06em;
    text-transform:uppercase; color:var(--paper-dim) !important;
    position:relative; padding:6px 0; transition:color .25s;
    text-decoration:none;
}
.nav-links a:hover,
.nav-links .current-menu-item a,
.nav-links a.active{ color:var(--paper) !important; }
.nav-links a::after{
    content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
    background:var(--gold); transition:width .3s;
}
.nav-links a:hover::after,
.nav-links .current-menu-item a::after,
.nav-links a.active::after{ width:100%; }

.nav-cta{
    border:1px solid var(--gold-deep) !important; color:var(--gold-bright)!important;
    padding:10px 20px!important; border-radius:2px; transition:all .25s;
}
.nav-cta:hover{ background:var(--gold); color:var(--ink)!important; border-color:var(--gold) !important; }
.nav-cta::after{ display:none !important; }

/* Botón hamburguesa */
.nav-toggle{
    display:none; background:none; border:none; cursor:pointer;
    width:40px; height:40px; position:relative; z-index:110;
}
.nav-toggle span{
    display:block; width:24px; height:2px; background:var(--paper);
    margin:5px auto; transition:transform .3s, opacity .3s;
}
.nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ---------- Botones ---------- */
.btn{
    display:inline-flex; align-items:center; gap:10px;
    font-family:var(--font-body); font-weight:600; font-size:.85rem;
    letter-spacing:.06em; text-transform:uppercase;
    padding:15px 30px; border-radius:2px; cursor:pointer;
    transition:all .28s; border:1px solid transparent;
    text-decoration:none;
}
.btn-gold,.ni-btn,.novaionic-btn-quote{
    background:var(--gold) !important; color:var(--ink) !important;
    border-color:var(--gold); display:inline-flex; align-items:center; gap:10px;
    font-family:var(--font-body); font-weight:600; font-size:.85rem;
    letter-spacing:.06em; text-transform:uppercase;
    padding:15px 30px; border-radius:2px; cursor:pointer;
    transition:all .28s; text-decoration:none !important;
}
.btn-gold:hover,.ni-btn:hover,.novaionic-btn-quote:hover{
    background:var(--gold-bright) !important;
    border-color:var(--gold-bright);
    transform:translateY(-2px);
}
.btn-ghost{
    border-color:var(--ink-line); color:var(--paper);
    text-decoration:none;
}
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold-bright); }
.btn .arrow{ transition:transform .28s; }
.btn:hover .arrow{ transform:translateX(4px); }

/* Pulse del CTA */
.btn-pulse{ position:relative; }
.btn-pulse::before,.btn-pulse::after{
    content:""; position:absolute; inset:0; border-radius:inherit;
    border:1px solid var(--gold); opacity:0;
    animation:ctaRing 3s cubic-bezier(.22,.61,.36,1) infinite;
    pointer-events:none;
}
.btn-pulse::after{ animation-delay:1.5s; }
@keyframes ctaRing{
    0%   { inset:0;     opacity:1; }
    60%  { inset:-2px;  opacity:.4; }
    100% { inset:-3px;  opacity:0; }
}
.btn-pulse:hover::before,.btn-pulse:hover::after{ animation:none; opacity:0; }

/* ---------- Secciones ---------- */
section{ padding-block:clamp(64px,10vw,130px); }
.section-head{ max-width:680px; margin-bottom:clamp(40px,6vw,72px); }
.section-head .eyebrow{ margin-bottom:18px; }
.section-head h2{
    font-size:clamp(2.4rem,6vw,4.2rem);
    color:var(--paper); margin-bottom:20px;
}
.section-head h2 .gold{ color:var(--gold); }
.section-head p{ color:var(--paper-dim); font-size:1.05rem; max-width:68ch; }

/* ---------- Page Hero ---------- */
.page-hero{
    padding-top:calc(76px + clamp(60px,10vw,110px));
    padding-bottom:clamp(30px,5vw,50px);
    position:relative; overflow:hidden;
}
.page-hero::before{
    content:""; position:absolute; inset:0;
    background:radial-gradient(ellipse 70% 80% at 50% 10%, rgba(201,162,39,.10), transparent 60%);
}
.page-hero .container{ position:relative; }
.page-hero .eyebrow{ margin-bottom:20px; }
.page-hero h1{
    font-size:clamp(3rem,9vw,6rem); color:var(--paper); line-height:.95;
}
.page-hero h1 .gold{ color:var(--gold); }
.page-hero p{
    color:var(--paper-dim); max-width:52ch; margin-top:20px; font-size:1.05rem;
}

/* ---------- Hero principal ---------- */
.hero{
    position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:center;
    padding-top:76px; overflow:hidden;
}
.hero-bg{
    position:absolute; inset:0; z-index:0;
    background:
        radial-gradient(ellipse 80% 60% at 70% 30%, rgba(201,162,39,.10), transparent 60%),
        radial-gradient(ellipse 60% 50% at 15% 80%, rgba(201,162,39,.06), transparent 55%),
        var(--ink);
}
.hero-rings{ position:absolute; right:-8%; top:50%; transform:translateY(-50%); z-index:0; opacity:.5; pointer-events:none; }
.hero-rings svg{ width:min(46vw,640px); height:auto; }
.hero .container{ position:relative; z-index:2; }
.hero-inner{ max-width:820px; }
.hero .eyebrow{ margin-bottom:26px; opacity:0; animation:fadeUp .8s .1s forwards; }
.hero h1{
    font-size:clamp(3.2rem,10vw,7rem);
    color:var(--paper); line-height:.94; margin-bottom:28px;
    opacity:0; animation:fadeUp .8s .22s forwards;
}
.hero h1 .gold{
    background:linear-gradient(180deg,var(--gold-bright),var(--gold) 55%,var(--gold-deep));
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.hero p.lede{
    font-size:clamp(1.05rem,2.2vw,1.35rem); color:var(--paper-dim);
    max-width:56ch; margin-bottom:40px;
    opacity:0; animation:fadeUp .8s .34s forwards;
}
.hero-actions{ display:flex; gap:16px; flex-wrap:wrap; opacity:0; animation:fadeUp .8s .46s forwards; }
@keyframes fadeUp{ to{ opacity:1; transform:none; } }

/* Video de fondo del hero */
.hero-video-wrap{ position:absolute; inset:0; z-index:1; }
.hero-video{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; opacity:0; transition:opacity 1.2s ease;
}
.hero-video.show{ opacity:1; }
.hero-video-overlay{
    position:absolute; inset:0; z-index:1; pointer-events:none;
    background:
        linear-gradient(90deg, rgba(13,13,15,.92) 0%, rgba(13,13,15,.7) 40%, rgba(13,13,15,.45) 100%),
        linear-gradient(0deg, rgba(13,13,15,.85) 0%, transparent 45%);
    opacity:0; transition:opacity 1s ease;
}
.hero-video-wrap.active ~ .hero-video-overlay{ opacity:1; }

/* Scroll hint */
.scroll-hint{
    position:absolute; bottom:34px; left:50%; transform:translateX(-50%);
    z-index:2; color:var(--paper-faint); font-size:.72rem; letter-spacing:.2em;
    text-transform:uppercase; display:flex; flex-direction:column; align-items:center; gap:10px;
    opacity:0; animation:fadeInOnly .8s .8s forwards;
}
@keyframes fadeInOnly{ to{ opacity:1; } }
.scroll-hint .line{ width:1px; height:40px; background:linear-gradient(var(--gold),transparent); animation:drop 1.8s infinite; }
@keyframes drop{ 0%{ transform:scaleY(0); transform-origin:top; } 50%{ transform:scaleY(1); transform-origin:top; } 51%{ transform-origin:bottom; } 100%{ transform:scaleY(0); transform-origin:bottom; } }

/* ---------- Franja de valores ---------- */
.values{ background:var(--ink-soft); border-block:1px solid var(--ink-line); }
.values-grid{ display:grid; grid-template-columns:repeat(3,1fr); }
.value{
    padding:clamp(36px,5vw,60px) clamp(24px,3vw,44px);
    border-right:1px solid var(--ink-line);
}
.value:last-child{ border-right:none; }
.value .vnum{ font-family:var(--font-display); font-size:1rem; color:var(--gold); letter-spacing:.1em; margin-bottom:16px; }
.value h3{ font-size:1.7rem; color:var(--paper); margin-bottom:12px; }
.value p{ color:var(--paper-dim); font-size:.95rem; }

/* ---------- Service cards ---------- */
.svc-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.svc-card{
    background:var(--ink-soft); border:1px solid var(--ink-line); border-radius:4px;
    padding:38px 34px; transition:border-color .3s, transform .3s;
    position:relative; overflow:hidden;
}
.svc-card::before{
    content:""; position:absolute; left:0; top:0; height:100%; width:3px;
    background:var(--gold); transform:scaleY(0); transform-origin:top; transition:transform .3s;
}
.svc-card:hover{ border-color:var(--gold-deep); transform:translateY(-3px); }
.svc-card:hover::before{ transform:scaleY(1); }
.svc-card .snum{ font-family:var(--font-display); font-size:.9rem; color:var(--gold); letter-spacing:.14em; margin-bottom:18px; }
.svc-card h3{ font-size:1.9rem; color:var(--paper); margin-bottom:14px; }
.svc-card p{ color:var(--paper-dim); font-size:.95rem; }

/* ---------- CTA band ---------- */
.cta-band{ position:relative; text-align:center; overflow:hidden; }
.cta-band::before{
    content:""; position:absolute; inset:0;
    background:radial-gradient(ellipse 70% 120% at 50% 0%, rgba(201,162,39,.12), transparent 60%);
}
.cta-band .container{ position:relative; }
.cta-band h2{ font-size:clamp(2.6rem,7vw,5rem); color:var(--paper); margin-bottom:22px; }
.cta-band h2 .gold{ color:var(--gold); }
.cta-band p{ color:var(--paper-dim); max-width:52ch; margin:0 auto 38px; font-size:1.08rem; }

/* ---------- Contact ---------- */
.contact-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(30px,6vw,72px); align-items:start; }
.form-card{
    background:var(--ink-soft); border:1px solid var(--ink-line); border-radius:6px;
    padding:clamp(28px,4vw,44px);
}
.info-block{ margin-bottom:34px; }
.info-block h3{
    font-family:var(--font-body) !important; font-size:.75rem; font-weight:700;
    letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:12px;
}
.info-block a,.info-block p{ color:var(--paper); font-size:1.05rem; }
.info-block a:hover{ color:var(--gold-bright); }

/* ---------- Footer ---------- */
.site-footer{
    background:var(--ink-soft) !important;
    border-top:1px solid var(--ink-line);
    padding-top:72px;
}
.footer-grid{
    display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px;
    padding-bottom:56px;
}
.footer-brand img{ height:34px; width:auto; margin-bottom:20px; }
.footer-brand p{ color:var(--paper-dim); font-size:.92rem; max-width:34ch; }
.footer-col h4{
    font-family:var(--font-body) !important; font-size:.75rem; font-weight:700;
    letter-spacing:.18em; text-transform:uppercase; color:var(--gold);
    margin-bottom:20px;
}
.footer-col a,.footer-col p{
    display:block; color:var(--paper-dim); font-size:.92rem;
    margin-bottom:12px; transition:color .25s;
}
.footer-col a:hover{ color:var(--gold-bright); }
.footer-social{ display:flex; gap:14px; margin-top:6px; }
.footer-social a{
    width:40px; height:40px; border:1px solid var(--ink-line); border-radius:50%;
    display:grid; place-items:center; font-size:1.1rem; transition:all .25s;
    color:var(--paper-dim);
}
.footer-social a:hover{ border-color:var(--gold); color:var(--gold-bright); transform:translateY(-2px); }
.footer-legal{
    border-top:1px solid var(--ink-line); padding-block:22px;
}
.footer-legal p{
    color:var(--paper-faint); font-size:.78rem; line-height:1.7; margin:0;
}
.footer-legal strong{ color:var(--paper-dim); }
.footer-bottom{
    border-top:1px solid var(--ink-line); padding-block:26px;
    display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
}
.footer-bottom p,.footer-bottom a{ color:var(--paper-faint); font-size:.82rem; }
.footer-bottom a:hover{ color:var(--gold-bright); }

/* ---------- Aviso legal ---------- */
.legal-strip{
    background:var(--ink-soft); border:1px solid var(--ink-line);
    border-left:3px solid var(--gold); border-radius:3px;
    padding:22px 26px; color:var(--paper-dim); font-size:.88rem; line-height:1.7;
}
.legal-strip strong{ color:var(--paper); }

/* ---------- Reveal en scroll ---------- */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:none; }

/* ---------- Etiqueta interactiva ---------- */
.ix-label{
    display:inline-flex; align-items:center; gap:8px;
    font-size:.68rem; letter-spacing:.2em; text-transform:uppercase;
    color:var(--gold); font-weight:600; margin-bottom:14px;
}
.ix-label::before{ content:""; width:22px; height:1px; background:var(--gold); }

/* ---------- Mito vs Evidencia ---------- */
.mv-grid{ display:grid; gap:16px; }
.mv-card{
    border:1px solid var(--ink-line); border-radius:4px;
    background:var(--ink-soft); overflow:hidden; transition:border-color .3s;
}
.mv-card.answered{ border-color:var(--gold-deep); }
.mv-claim{ padding:24px 26px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.mv-claim p{ flex:1; min-width:240px; color:var(--paper); font-size:1.05rem; line-height:1.6; margin:0; }
.mv-actions{ display:flex; gap:10px; }
.mv-btn{
    font-family:var(--font-body); font-size:.72rem; font-weight:600;
    letter-spacing:.1em; text-transform:uppercase;
    padding:10px 18px; border-radius:2px; cursor:pointer;
    background:none; border:1px solid var(--ink-line); color:var(--paper-dim);
    transition:all .25s;
}
.mv-btn:hover{ border-color:var(--gold); color:var(--gold-bright); }
.mv-btn.picked{ border-color:var(--gold); background:var(--gold); color:var(--ink); }
.mv-btn:disabled{ cursor:default; }
.mv-card.answered .mv-btn:not(.picked){ opacity:.35; }
.mv-reveal{
    max-height:0; overflow:hidden;
    transition:max-height .45s cubic-bezier(.4,0,.2,1);
    border-top:1px solid transparent;
}
.mv-card.answered .mv-reveal{ max-height:340px; border-top-color:var(--ink-line); }
.mv-reveal-in{ padding:22px 26px; }
.mv-verdict{
    display:inline-flex; align-items:center; gap:8px;
    font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:10px;
}
.mv-verdict.myth{ color:#c0625a; }
.mv-verdict.fact{ color:var(--gold); }
.mv-reveal-in p{ color:var(--paper-dim); font-size:.94rem; line-height:1.75; margin:0; max-width:70ch; }
.mv-score{
    margin-top:22px; padding-top:20px; border-top:1px solid var(--ink-line);
    display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.mv-score p{ color:var(--paper-dim); font-size:.92rem; margin:0; }
.mv-score strong{ color:var(--gold); }

/* ══════════════════════════════════════════════
   WOOCOMMERCE — AJUSTES GENERALES
   ══════════════════════════════════════════════ */

/* Global WooCommerce resets for dark theme */
.woocommerce,
.woocommerce-page{ color:var(--paper); }

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb{
    color:var(--paper-faint) !important; font-size:.85rem;
    margin-bottom:28px; padding:0;
}
.woocommerce .woocommerce-breadcrumb a{
    color:var(--gold) !important; text-decoration:none;
}
.woocommerce .woocommerce-breadcrumb a:hover{ color:var(--gold-bright) !important; }

/* Result count & ordering */
.woocommerce .woocommerce-result-count{
    color:var(--paper-faint) !important; font-size:.9rem;
}
.woocommerce .woocommerce-ordering select{
    background:var(--ink) !important; color:var(--paper) !important;
    border:1px solid var(--ink-line) !important; border-radius:3px;
    padding:8px 12px; font-family:var(--font-body); font-size:.9rem;
}

/* --- Product cards (shop grid) --- */
.woocommerce ul.products{
    display:grid !important;
    grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap:28px !important;
}
.woocommerce ul.products li.product{
    background:var(--ink-soft) !important; border:1px solid var(--ink-line) !important;
    border-radius:6px !important; padding:20px !important;
    transition:border-color .3s, transform .3s;
    margin:0 !important; width:100% !important; float:none !important;
}
.woocommerce ul.products li.product:hover{
    border-color:rgba(201,162,39,.3) !important;
    transform:translateY(-3px);
}
.woocommerce ul.products li.product a{ text-decoration:none !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-family:var(--font-display) !important; color:var(--paper) !important;
    font-size:1.3rem !important; padding:.5em 0 !important;
}
.woocommerce ul.products li.product img{
    border-radius:8px !important;
    background:var(--ink) !important;
    border:1px solid var(--ink-line);
    width:100% !important;
    height:auto !important;
    aspect-ratio:1/1;
    object-fit:cover !important;
}
/* Placeholder image fix */
.woocommerce ul.products li.product .wp-post-image,
.woocommerce ul.products li.product img.woocommerce-placeholder{
    background:var(--ink) !important;
    filter:brightness(.6) !important;
    border:1px solid var(--ink-line) !important;
}
.woocommerce ul.products li.product .star-rating{
    color:var(--gold) !important;
}

/* Quote loop button */
.novaionic-btn-quote-loop{
    display:inline-block; font-size:.85rem; font-weight:600;
    color:var(--gold) !important; background:transparent !important;
    border:1px solid rgba(201,162,39,.3) !important;
    padding:10px 20px; border-radius:4px; text-decoration:none !important; transition:all .3s;
    margin-top:8px;
}
.novaionic-btn-quote-loop:hover{
    background:rgba(201,162,39,.08) !important; border-color:var(--gold) !important;
}

/* --- Single product --- */
.woocommerce div.product{
    color:var(--paper);
}
.woocommerce div.product .product_title{
    font-family:var(--font-display) !important; color:var(--paper) !important;
    font-size:clamp(1.8rem,4vw,2.5rem);
}
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .description p{ color:var(--paper-dim); line-height:1.7; }
.woocommerce div.product img.wp-post-image{
    border-radius:8px; background:var(--ink); border:1px solid var(--ink-line);
}

/* Quote CTA button on single product */
.novaionic-quote-cta{ margin-top:24px; text-align:center; }
.novaionic-quote-cta .quote-note{
    font-size:.8rem; color:var(--paper-faint); margin-top:8px; font-style:italic;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs{
    margin-top:40px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
    padding:0 !important; margin:0 0 20px !important;
    list-style:none; display:flex; gap:0;
    border-bottom:1px solid var(--ink-line) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{
    display:none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
    background:transparent !important;
    border:none !important; border-radius:0 !important;
    padding:0 !important; margin:0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
    color:var(--paper-dim) !important; font-family:var(--font-body) !important;
    font-size:.85rem !important; font-weight:600 !important;
    letter-spacing:.08em; text-transform:uppercase;
    padding:14px 22px !important; display:block;
    border-bottom:2px solid transparent;
    transition:color .25s, border-color .25s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
    color:var(--paper) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
    background:transparent !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
    color:var(--gold) !important;
    border-bottom-color:var(--gold) !important;
}
.woocommerce div.product .woocommerce-tabs .panel{
    background:transparent !important; color:var(--paper-dim) !important;
    border:none !important; padding:20px 0 !important;
}
.woocommerce div.product .woocommerce-tabs .panel h2{
    font-family:var(--font-display) !important;
    color:var(--paper) !important; font-size:1.6rem;
    margin-bottom:16px;
}

/* Related products */
.woocommerce div.product .related.products h2{
    font-family:var(--font-display) !important;
    color:var(--paper) !important; font-size:1.8rem;
    margin-bottom:24px;
}

/* Notices */
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error{
    background:var(--ink-soft) !important;
    border-top-color:var(--gold) !important;
    color:var(--paper) !important;
}
.woocommerce .woocommerce-info a,
.woocommerce .woocommerce-message a{
    color:var(--gold) !important;
}
.woocommerce .woocommerce-info::before{
    color:var(--gold) !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul{
    border:none !important;
    display:flex !important;
    flex-wrap:wrap;
    list-style:none !important;
    padding:0 !important;
    margin:32px 0 0 !important;
    gap:8px;
}
.woocommerce nav.woocommerce-pagination ul li{
    border:none !important;
    list-style:none !important;
    display:inline-block !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
    background:var(--ink-soft) !important; color:var(--paper-dim) !important;
    border:1px solid var(--ink-line) !important; border-radius:3px !important;
    padding:8px 14px !important; margin:0 4px;
}
.woocommerce nav.woocommerce-pagination ul li a:hover{
    background:var(--ink) !important; color:var(--gold) !important;
    border-color:var(--gold) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current{
    background:var(--gold) !important; color:var(--ink) !important;
    border-color:var(--gold) !important;
}

/* ══════════════════════════════════════════════
   FORMULARIOS (incluye WPForms dark)
   ══════════════════════════════════════════════ */
input[type="text"],input[type="email"],input[type="tel"],
input[type="url"],input[type="password"],input[type="number"],
textarea,select,
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container textarea,
.wpforms-container select{
    width:100%;
    background:var(--ink) !important;
    border:1px solid var(--ink-line) !important;
    border-radius:3px !important;
    padding:14px 16px !important;
    color:var(--paper) !important;
    font-family:var(--font-body) !important;
    font-size:1rem !important;
    transition:border-color .25s;
}
input:focus,textarea:focus,select:focus,
.wpforms-container input:focus,
.wpforms-container textarea:focus,
.wpforms-container select:focus{
    outline:none !important;
    border-color:var(--gold) !important;
    box-shadow:0 0 0 2px rgba(201,162,39,.15) !important;
}
input::placeholder,textarea::placeholder{ color:var(--paper-faint) !important; }

/* WPForms styling */
.wpforms-container{ font-family:var(--font-body) !important; }
.wpforms-container .wpforms-field-label{
    display:block !important;
    font-size:.75rem !important; font-weight:600 !important;
    letter-spacing:.12em !important; text-transform:uppercase !important;
    color:var(--gold) !important; margin-bottom:10px !important;
}
.wpforms-container .wpforms-field-sublabel{ color:var(--paper-faint) !important; font-size:.8rem !important; }
.wpforms-container .wpforms-field-description{ color:var(--paper-faint) !important; font-size:.85rem !important; }
.wpforms-container .wpforms-required-label{ color:var(--gold) !important; }
.wpforms-container .wpforms-field{ margin-bottom:24px !important; }

/* WPForms submit button */
.wpforms-container .wpforms-submit-container{
    padding-top:8px !important;
}
.wpforms-container button[type="submit"],
.wpforms-container .wpforms-submit{
    background:var(--gold) !important; color:var(--ink) !important;
    border:1px solid var(--gold) !important;
    font-family:var(--font-body) !important; font-weight:600 !important;
    font-size:.85rem !important; letter-spacing:.06em !important;
    text-transform:uppercase !important;
    padding:15px 30px !important; border-radius:2px !important;
    cursor:pointer; transition:all .28s !important;
    width:100%;
}
.wpforms-container button[type="submit"]:hover,
.wpforms-container .wpforms-submit:hover{
    background:var(--gold-bright) !important;
    transform:translateY(-2px);
}

/* WPForms confirmation */
.wpforms-confirmation-container-full{
    background:var(--ink-soft) !important;
    border:1px solid var(--gold-deep) !important;
    color:var(--paper) !important;
    border-radius:6px !important;
    padding:32px !important;
}

/* ---------- Page content ---------- */
.page-content{ color:var(--paper-dim); font-size:1.05rem; line-height:1.8; max-width:820px; }
.page-content h2,.page-content h3,.page-content h4{ margin-top:2em; margin-bottom:.6em; }
.page-content p{ margin-bottom:1.2em; }
.page-content a{ color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
.page-content a:hover{ color:var(--gold-bright); }
.page-content ul,.page-content ol{ margin-bottom:1.2em; padding-left:1.6em; }
.page-content li{ margin-bottom:.4em; }

/* ---------- Ni-tag (blog) ---------- */
.ni-tag{
    font-size:.7rem; letter-spacing:.3em; text-transform:uppercase;
    color:var(--gold); margin-bottom:12px;
}

/* ---------- WordPress admin bar fix ---------- */
body.admin-bar .site-header{ top:32px; }
@media (max-width:782px){ body.admin-bar .site-header{ top:46px; } }

/* ══════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════ */
@media (max-width:820px){
    .values-grid{ grid-template-columns:1fr; }
    .value{ border-right:none; border-bottom:1px solid var(--ink-line); }
    .value:last-child{ border-bottom:none; }
    .svc-grid{ grid-template-columns:1fr; }
    .hero-rings{ opacity:.25; }
    .contact-grid{ grid-template-columns:1fr; }
}

@media (max-width:900px){
    .footer-grid{ grid-template-columns:1fr; gap:36px; }
    .nav-toggle{ display:block; }
    .nav-links{
        position:fixed; inset:0; width:100vw; height:100vh; height:100dvh; z-index:105;
        flex-direction:column; align-items:center; justify-content:center;
        gap:26px; padding:88px 24px 48px; margin:0;
        background:var(--ink);
        border-top:1px solid var(--ink-line);
        transform:translateY(-100%); opacity:0;
        transition:transform .45s cubic-bezier(.4,0,.2,1), opacity .35s ease;
        counter-reset:navitem;
    }
    .nav-links.open{ transform:translateY(0); opacity:1; }
    .nav-links::before{
        content:"MENÚ"; position:absolute; top:34px; left:50%; transform:translateX(-50%);
        font-family:SFMono-Regular,Consolas,monospace; font-size:.68rem; letter-spacing:.32em;
        color:var(--gold); text-transform:uppercase; opacity:.75;
    }
    .nav-links::after{
        content:"NOVAIONIC PHARMA"; position:absolute; bottom:26px; left:50%; transform:translateX(-50%);
        font-family:SFMono-Regular,Consolas,monospace; font-size:.62rem; letter-spacing:.24em;
        color:var(--ink-line); text-transform:uppercase;
    }
    .nav-links li{
        position:relative; width:100%; max-width:280px; text-align:center;
        counter-increment:navitem;
        opacity:0; transform:translateY(12px);
        transition:opacity .4s ease, transform .4s ease;
    }
    .nav-links.open li{ opacity:1; transform:translateY(0); }
    .nav-links.open li:nth-child(1){ transition-delay:.08s; }
    .nav-links.open li:nth-child(2){ transition-delay:.14s; }
    .nav-links.open li:nth-child(3){ transition-delay:.2s; }
    .nav-links.open li:nth-child(4){ transition-delay:.26s; }
    .nav-links.open li:nth-child(5){ transition-delay:.32s; }
    .nav-links li:not(:last-child)::after{
        content:"";
        position:absolute; left:50%; bottom:-13px; transform:translateX(-50%);
        width:28px; height:1px; background:var(--ink-line);
    }
    .nav-links a{
        font-size:1.4rem !important; text-align:center;
        display:inline-flex; align-items:baseline; gap:10px;
    }
    .nav-links a::before{
        content:counter(navitem,decimal-leading-zero);
        font-family:SFMono-Regular,Consolas,monospace; font-size:.66rem;
        color:var(--gold); letter-spacing:.08em; opacity:.65; font-weight:500;
    }
    .nav-cta{ margin-top:4px; padding:14px 32px!important; }
}

@media (max-width:600px){
    #categorias, #catalogo{ padding-top:44px; padding-bottom:44px; }
}

/* WooCommerce single product responsive */
@media (max-width:768px){
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary{
        float:none !important; width:100% !important;
    }
    .woocommerce ul.products{
        grid-template-columns:1fr !important;
    }
}

/* WooCommerce — No "Showing X results" on mobile */
@media (max-width:600px){
    .woocommerce .woocommerce-result-count{ display:none; }
}

/* ══════════════════════════════════════════════
   VIDEO CAROUSEL HERO
   ══════════════════════════════════════════════ */

/* Wrapper */
.vc-carousel{
    position:relative; width:100%; height:100vh; height:100dvh;
    overflow:hidden; background:var(--ink);
}

/* Track & slides */
.vc-track{
    position:relative; width:100%; height:100%;
}
.vc-slide{
    position:absolute; inset:0;
    opacity:0; visibility:hidden;
    transition:opacity .9s cubic-bezier(.4,0,.2,1), visibility .9s;
    z-index:1;
}
.vc-slide.active{
    opacity:1; visibility:visible; z-index:2;
}

/* Video / image backgrounds */
.vc-bg-video{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
}
.vc-bg-image{
    position:absolute; inset:0;
    background-size:cover; background-position:center;
}

/* Dark overlay */
.vc-overlay{
    position:absolute; inset:0; z-index:3;
    background:linear-gradient(
        180deg,
        rgba(13,13,15,.55) 0%,
        rgba(13,13,15,.30) 40%,
        rgba(13,13,15,.60) 75%,
        rgba(13,13,15,.85) 100%
    );
}

/* Content layer */
.vc-content{
    position:absolute; inset:0; z-index:4;
    display:flex; align-items:flex-end;
    padding-bottom:clamp(100px,14vh,160px);
}
.vc-content .container{
    max-width:var(--maxw); margin:0 auto;
    padding-inline:var(--gutter);
}

/* Eyebrow */
.vc-content .eyebrow{
    display:inline-block;
    font-size:.7rem; letter-spacing:.25em; text-transform:uppercase;
    color:var(--gold); margin-bottom:14px;
    opacity:.85;
}

/* Titles */
.vc-title{
    font-family:var(--font-display);
    font-size:clamp(2.4rem, 6vw, 4.8rem);
    line-height:1.05; letter-spacing:.03em;
    color:var(--paper); margin-bottom:18px;
    text-transform:uppercase;
}
.vc-title .gold{ color:var(--gold); }
.vc-product-title{
    font-size:clamp(2rem, 5vw, 3.8rem);
}

/* Subtitle */
.vc-subtitle{
    max-width:560px;
    font-size:clamp(.95rem,1.3vw,1.1rem);
    line-height:1.6; color:var(--paper-dim);
    margin-bottom:28px;
}

/* Actions */
.vc-actions{
    display:flex; flex-wrap:wrap; gap:14px;
    margin-top:8px;
}

/* ── Arrows ── */
.vc-arrow{
    position:absolute; top:50%; z-index:10;
    transform:translateY(-50%);
    width:48px; height:48px;
    display:flex; align-items:center; justify-content:center;
    background:rgba(13,13,15,.45);
    border:1px solid rgba(201,162,39,.25);
    border-radius:50%; cursor:pointer;
    color:var(--paper); backdrop-filter:blur(6px);
    transition:background .25s, border-color .25s, transform .25s;
}
.vc-arrow:hover{
    background:rgba(201,162,39,.2);
    border-color:var(--gold);
    transform:translateY(-50%) scale(1.08);
}
.vc-prev{ left:clamp(12px,2vw,32px); }
.vc-next{ right:clamp(12px,2vw,32px); }

/* ── Dots navigation ── */
.vc-dots{
    position:absolute; bottom:clamp(24px,4vh,48px);
    left:50%; transform:translateX(-50%);
    z-index:10;
    display:flex; gap:14px; align-items:center;
}
.vc-dot{
    position:relative;
    width:40px; height:40px;
    background:none; border:none; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    padding:0;
}
.vc-dot-ring{
    position:absolute; inset:0;
    width:100%; height:100%;
    transform:rotate(-90deg);
}
.vc-dot-bg{
    stroke:rgba(201,162,39,.2);
}
.vc-dot-progress{
    stroke:var(--gold);
    stroke-dasharray:100.53;  /* 2 * PI * 16 */
    stroke-dashoffset:100.53;
    transition:stroke-dashoffset 0s linear;
}
.vc-dot.active .vc-dot-progress{
    stroke-dashoffset:0;
}
.vc-dot-label{
    font-family:var(--font-body);
    font-size:.6rem; font-weight:600;
    letter-spacing:.08em; text-transform:uppercase;
    color:var(--paper-faint);
    transition:color .3s;
    position:relative; z-index:1;
}
.vc-dot.active .vc-dot-label{
    color:var(--gold);
}
.vc-dot:hover .vc-dot-label{
    color:var(--paper);
}

/* ── Scroll hint (inside carousel) ── */
.vc-carousel .scroll-hint{
    position:absolute;
    bottom:clamp(24px,4vh,48px);
    right:clamp(20px,3vw,48px);
    z-index:10;
}

/* ── Carousel content animations ── */
.vc-slide .vc-content .eyebrow,
.vc-slide .vc-content .vc-title,
.vc-slide .vc-content .vc-subtitle,
.vc-slide .vc-content .vc-actions{
    opacity:0; transform:translateY(24px);
    transition:opacity .6s ease, transform .6s ease;
}
.vc-slide.active .vc-content .eyebrow{
    opacity:.85; transform:translateY(0);
    transition-delay:.2s;
}
.vc-slide.active .vc-content .vc-title{
    opacity:1; transform:translateY(0);
    transition-delay:.35s;
}
.vc-slide.active .vc-content .vc-subtitle{
    opacity:1; transform:translateY(0);
    transition-delay:.5s;
}
.vc-slide.active .vc-content .vc-actions{
    opacity:1; transform:translateY(0);
    transition-delay:.65s;
}

/* ── Carousel responsive ── */
@media (max-width:820px){
    .vc-carousel{ height:85vh; height:85dvh; }
    .vc-content{ padding-bottom:clamp(90px,12vh,130px); }
    .vc-arrow{ width:40px; height:40px; }
    .vc-arrow svg{ width:20px; height:20px; }
    .vc-dots{ gap:10px; }
    .vc-dot{ width:34px; height:34px; }
    .vc-dot-label{ font-size:.5rem; }
}
@media (max-width:480px){
    .vc-carousel{ height:75vh; height:75dvh; }
    .vc-arrow{ width:36px; height:36px; top:auto; bottom:clamp(80px,12vh,120px); transform:none; }
    .vc-prev{ left:16px; }
    .vc-next{ right:16px; }
    .vc-actions{ flex-direction:column; }
    .vc-actions .btn{ width:100%; text-align:center; }
}

@media (prefers-reduced-motion:reduce){
    *{ animation:none!important; transition:none!important; }
    html{ scroll-behavior:auto; }
    .reveal{ opacity:1; transform:none; }
    .btn-pulse::before,.btn-pulse::after{ animation:none!important; opacity:0!important; content:none!important; }
    .vc-slide{ transition:none!important; }
    .vc-slide .vc-content .eyebrow,
    .vc-slide .vc-content .vc-title,
    .vc-slide .vc-content .vc-subtitle,
    .vc-slide .vc-content .vc-actions{
        opacity:1!important; transform:none!important; transition:none!important;
    }
}

/* === Age Gate 18+ (Neo Kinpaku) === */
.ni-age-gate{
    position:fixed; inset:0; z-index:9999;
    display:flex; align-items:center; justify-content:center;
    background: color-mix(in oklch, var(--ink) 92%, transparent);
    backdrop-filter: blur(6px);
    opacity:0; visibility:hidden; transition: opacity .35s ease;
    padding: 24px;
}
.ni-age-gate.is-visible{ opacity:1; visibility:visible; }
body.ni-age-gate-lock{ overflow:hidden; }
.ni-age-gate__panel{
    max-width: 480px; width:100%;
    background: var(--paper);
    border: 1px solid var(--ink-line);
    border-radius: var(--ni-radius);
    padding: 40px 32px;
    text-align:center;
    box-shadow: 0 24px 64px rgba(0,0,0,.35);
}
.ni-age-gate__eyebrow{
    font-family: var(--font-body);
    letter-spacing: .12em; text-transform:uppercase;
    font-size: .75rem; color: var(--gold);
    margin-bottom: 12px;
}
.ni-age-gate__title{
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 2.4rem);
    color: var(--ink);
    margin: 0 0 16px;
}
.ni-age-gate__text{
    font-family: var(--font-body);
    font-size: .95rem; line-height:1.5;
    color: var(--ink-soft);
    margin: 0 0 28px;
}
.ni-age-gate__actions{
    display:flex; gap:12px; justify-content:center; flex-wrap:wrap;
}

.ni-age-gate__panel .ni-age-gate__title{ color: var(--paper) !important; }
.ni-age-gate__panel .ni-age-gate__text{ color: var(--paper) !important; opacity:.85; }
.ni-age-gate__panel .btn-ghost{ color: var(--paper) !important; border-color: var(--ink-line) !important; }
.ni-age-gate__panel .btn-ghost:hover{ color: var(--gold) !important; border-color: var(--gold) !important; }


/* ---------- Blog (ni-section / ni-card) ---------- */
#main-content.ni-section{ max-width:1180px; margin:0 auto; padding:160px 24px 120px; }
.ni-section-head{ max-width:680px; margin-bottom:56px; }
.ni-section-head .eyebrow{ display:block; margin-bottom:18px; color:var(--gold); font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; }
.ni-section-head h1{ font-size:clamp(2.4rem,6vw,4.2rem); color:var(--paper); margin:0 0 20px; }
.ni-section-head h1 .gold{ color:var(--gold); }
.ni-section-head p{ color:var(--paper-dim); }
.ni-posts-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:32px; }
article.ni-card{ background:var(--ink-soft); border:1px solid var(--ink-line); display:flex; flex-direction:column; transition:border-color .25s ease, transform .25s ease; margin:0 !important; }
article.ni-card:hover{ border-color:var(--gold); transform:translateY(-4px); }
.ni-post-thumb, .ni-post-thumb-placeholder{ width:100%; aspect-ratio:16/9; overflow:hidden; background:var(--ink); border-bottom:1px solid var(--ink-line); }
.ni-post-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.ni-post-thumb-placeholder{ display:flex; align-items:center; justify-content:center; color:#8a8a8f; font-size:12px; letter-spacing:.08em; text-transform:uppercase; text-align:center; padding:16px; }
article.ni-card .ni-card-body{ padding:28px; display:flex; flex-direction:column; flex:1; }
article.ni-card h2{ font-size:1.5rem; margin:0 0 14px; line-height:1.25; }
article.ni-card h2 a{ color:var(--paper); text-decoration:none; }
article.ni-card h2 a:hover{ color:var(--gold); }
.ni-post-excerpt{ color:var(--paper-dim); line-height:1.7; display:flex; flex-direction:column; flex:1; }
.ni-post-excerpt p{ margin:0 0 20px; flex:1; }
.ni-read-more{ color:var(--gold); font-weight:600; text-decoration:none; font-size:.9rem; letter-spacing:.03em; align-self:flex-start; }
.ni-read-more:hover{ text-decoration:underline; }
.ni-pagination{ margin-top:56px; }
.ni-pagination .nav-links{ display:flex; flex-wrap:wrap; gap:8px; }
.ni-pagination .page-numbers{ background:var(--ink-soft); color:var(--paper-dim); border:1px solid var(--ink-line); border-radius:3px; padding:8px 14px; text-decoration:none; }
.ni-pagination .page-numbers.current{ background:var(--gold); color:var(--ink); border-color:var(--gold); }
.ni-pagination a.page-numbers:hover{ border-color:var(--gold); color:var(--gold); }
@media(max-width:700px){ #main-content.ni-section{ padding-top:120px; } }


/* ========================================================
   WOOCOMMERCE BLOCKS — CHECKOUT (Neo Kinpaku)
   ======================================================== */

.wc-block-checkout .wc-block-components-checkout-step__title{
    font-family:var(--font-display) !important; color:var(--paper) !important;
    letter-spacing:.04em;
}
.wc-block-checkout .wc-block-components-checkout-step__description{
    color:var(--paper-dim) !important;
}

.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-blocks-components-select__select,
.wc-block-checkout textarea{
    border-radius:2px !important;
    border-color:var(--ink-line) !important;
    transition:border-color .2s;
}
.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-blocks-components-select__select:focus{
    border-color:var(--gold) !important;
    outline:none !important;
    box-shadow:none !important;
}
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-blocks-components-select__label{
    color:var(--paper-dim) !important; font-family:var(--font-body) !important;
}
.wc-block-components-address-form__country.has-error .wc-blocks-components-select__select,
.wc-block-checkout .has-error input{
    border-color:#a85c4d !important;
}
.wc-block-checkout .wc-blocks-components-select__label.has-error,
.wc-block-checkout label.has-error{
    color:#c77a6a !important;
}

.wc-block-components-notice-banner{
    background:var(--ink-soft) !important;
    border:1px solid var(--ink-line) !important;
    border-left:3px solid var(--gold) !important;
    border-radius:2px !important;
    color:var(--paper) !important;
}
.wc-block-components-notice-banner.is-error{ border-left-color:#a85c4d !important; }
.wc-block-components-notice-banner.is-success{ border-left-color:var(--gold) !important; }
.wc-block-components-notice-banner .wc-block-components-notice-banner__content,
.wc-block-components-notice-banner summary{ color:var(--paper) !important; }
.wc-block-components-notice-banner svg{ fill:var(--gold) !important; }

.wc-block-components-checkbox__input{
    background:var(--ink) !important;
    border:1px solid var(--ink-line) !important;
    accent-color:var(--gold);
}
.wc-block-components-checkbox__input:checked{
    background:var(--gold) !important;
    border-color:var(--gold) !important;
}
.wc-block-components-checkbox__mark{ fill:var(--ink) !important; }
.wc-block-checkout label{ color:var(--paper-dim) !important; }

.wc-block-components-checkout-place-order-button{
    background:var(--gold) !important; color:var(--ink) !important;
    border:1px solid var(--gold) !important; border-radius:2px !important;
    font-family:var(--font-body) !important; font-weight:600 !important;
    letter-spacing:.06em !important; text-transform:uppercase !important;
    font-size:.85rem !important; padding:16px 30px !important;
    transition:all .25s !important;
}
.wc-block-components-checkout-place-order-button:hover{
    background:var(--gold-bright) !important; border-color:var(--gold-bright) !important;
    color:var(--ink) !important;
}
.wc-block-components-checkout-place-order-button:disabled,
.wc-block-components-checkout-place-order-button[aria-disabled="true"]{
    background:var(--ink-line) !important; color:var(--paper-dim) !important; border-color:var(--ink-line) !important;
}

.wc-block-components-order-summary{
    border:1px solid var(--ink-line) !important;
    border-radius:4px !important;
    background:var(--ink-soft) !important;
    padding:24px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
    color:var(--gold-bright) !important; font-family:var(--font-display) !important;
    letter-spacing:.02em;
}

.wc-block-checkout a{ color:var(--gold) !important; text-decoration:underline; text-underline-offset:3px; }
.wc-block-checkout a:hover{ color:var(--gold-bright) !important; }

.wc-block-components-panel__button{ color:var(--paper-dim) !important; }
.wc-block-components-panel__button:hover{ color:var(--paper) !important; }


/* ========================================================
   LISTA DE ESPERA — pseudo-país "Otros" en checkout
   ======================================================== */

.ni-other-country-notice{
    background:var(--ink-soft); border:1px solid var(--ink-line); border-left:3px solid var(--gold);
    border-radius:2px; padding:20px; margin-top:16px;
}
.ni-other-country-notice p{ color:var(--paper); margin:0 0 14px 0; line-height:1.6; }
.ni-other-country-notice .btn{ display:inline-flex; }

.ni-waitlist{
    max-width:560px; margin:0 auto; padding:48px 24px; text-align:center;
}
.ni-waitlist .eyebrow{ display:block; margin-bottom:10px; }
.ni-waitlist h2{ font-family:var(--font-display); color:var(--paper); font-size:clamp(1.8rem,4vw,2.6rem); margin-bottom:14px; }
.ni-waitlist > p{ color:var(--paper-dim); line-height:1.7; margin-bottom:28px; }
.ni-waitlist-form{ display:flex; flex-direction:column; gap:14px; align-items:stretch; }
.ni-waitlist-form input[type=text],
.ni-waitlist-form input[type=email]{
    background:var(--ink); border:1px solid var(--ink-line); border-radius:2px;
    color:var(--paper); padding:14px 16px; font-family:var(--font-body); font-size:.95rem;
}
.ni-waitlist-form input:focus{ border-color:var(--gold); outline:none; }
.ni-waitlist-form .ni-hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.ni-waitlist-form button{ margin-top:6px; }
.ni-other-country-notice .btn-gold{ color:var(--ink) !important; }
.ni-other-country-notice .btn-gold:hover{ color:var(--ink) !important; }
.ni-waitlist-ok{ color:var(--gold-bright); font-family:var(--font-body); font-weight:600; }


/* --- Fix rev 12: Breakdance WooCommerce CSS overriding add-to-cart buttons with default blue --- */
.woocommerce a.button, .woocommerce a.add_to_cart_button, .woocommerce button.button, .woocommerce .single_add_to_cart_button,
.breakdance-woocommerce a.button, .breakdance-woocommerce a.add_to_cart_button, .breakdance-woocommerce button.button, .breakdance-woocommerce .single_add_to_cart_button{
    background:transparent !important;
    color:var(--gold) !important;
    border:1px solid rgba(201,162,39,.4) !important;
    border-radius:4px !important;
    text-transform:uppercase !important;
    font-weight:600 !important;
    letter-spacing:.04em !important;
    transition:all .3s !important;
}
.woocommerce a.button:hover, .woocommerce a.add_to_cart_button:hover, .woocommerce button.button:hover, .woocommerce .single_add_to_cart_button:hover,
.breakdance-woocommerce a.button:hover, .breakdance-woocommerce a.add_to_cart_button:hover, .breakdance-woocommerce button.button:hover, .breakdance-woocommerce .single_add_to_cart_button:hover{
    background:rgba(201,162,39,.1) !important;
    border-color:var(--gold) !important;
    color:var(--gold-bright) !important;
}

/* --- Rev 14: carrito vacio ahora muestra productos mas vendidos (orderby=popularity), mismo carrusel que el home --- */
#cart-bestsellers.carrusel-wrap{ overflow-x:hidden; overflow-y:visible; margin-top:8px; padding:6px 0; }
#cart-bestsellers ul.products li.product{ position:relative; z-index:1; }
#cart-bestsellers ul.products li.product:hover{ z-index:2; }
#cart-bestsellers ul.products{ display:flex !important; flex-wrap:nowrap !important; gap:24px !important; transition:transform .6s ease; }
#cart-bestsellers ul.products li.product{ flex:0 0 calc((100% - 48px)/3); max-width:calc((100% - 48px)/3); }
@media(max-width:780px){
#cart-bestsellers ul.products li.product{ flex:0 0 100%; max-width:100%; }
}


/* --- Rev 16: fix padding en botones de carrito (el reset universal *{padding:0} les ganaba porque la regla gold no traia padding propio) + estilos base para ficha de producto individual (single product), casi sin estilo hasta ahora --- */
.woocommerce a.button, .woocommerce a.add_to_cart_button, .woocommerce button.button, .woocommerce .single_add_to_cart_button,
.breakdance-woocommerce a.button, .breakdance-woocommerce a.add_to_cart_button, .breakdance-woocommerce button.button, .breakdance-woocommerce .single_add_to_cart_button{
    padding:14px 28px !important;
}

.woocommerce div.product{ max-width:1100px; margin:0 auto; padding:48px 24px 80px; }
.woocommerce div.product .images{ border:1px solid var(--ink-line); border-radius:6px; overflow:hidden; background:var(--ink-soft); max-width:460px; }
.woocommerce div.product .images img{ display:block; width:100%; height:auto; }
.woocommerce div.product .summary{ margin-top:32px; }
.woocommerce div.product .product_title{ font-family:var(--font-display); color:var(--paper); font-size:clamp(1.8rem,4vw,2.6rem); margin-bottom:16px; }
.woocommerce div.product form.cart{ display:flex; align-items:center; gap:16px; margin:24px 0; flex-wrap:wrap; }
.woocommerce div.product .quantity.quantity--number{ position:relative !important; display:flex !important; align-items:center; }
.woocommerce div.product .quantity input.qty{ background:var(--ink-soft); border:1px solid var(--ink-line); color:var(--paper); }
.woocommerce div.product .product_meta{ margin-top:24px; padding-top:20px; border-top:1px solid var(--ink-line); color:var(--paper-dim); font-size:.85rem; }
.woocommerce div.product .product_meta a{ color:var(--gold) !important; text-decoration:none; }
.woocommerce div.product .product_meta a:hover{ color:var(--gold-bright) !important; }
@media(min-width:900px){
    .woocommerce div.product{ display:grid; grid-template-columns:460px 1fr; gap:56px; align-items:start; }
    .woocommerce div.product .images{ grid-column:1; grid-row:1 / span 2; }
    .woocommerce div.product .summary{ grid-column:2; grid-row:1; margin-top:0; }
    .woocommerce div.product .woocommerce-tabs{ grid-column:2; grid-row:2; }
}
.woocommerce div.product .woocommerce-tabs{ margin-top:40px; border-top:1px solid var(--ink-line); padding-top:24px; }
.woocommerce div.product .woocommerce-tabs ul.tabs{ list-style:none; display:flex; gap:24px; padding:0; margin:0 0 20px; border-bottom:1px solid var(--ink-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ color:var(--paper-dim); text-decoration:none; font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; padding-bottom:10px; display:inline-block; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--gold); border-bottom:2px solid var(--gold); }
.woocommerce div.product .woocommerce-tabs .panel{ color:var(--paper-dim); }


/* --- Rev 16: carrusel de "Productos relacionados" en ficha de producto individual, misma mecanica que home/carrito --- */
.woocommerce div.product .related.products{ max-width:1100px; margin:56px auto 0; padding:0 24px; }
.woocommerce div.product .related.products > h2{ font-family:var(--font-display); color:var(--paper); font-size:1.4rem; margin-bottom:20px; }
.related.products{ overflow-x:hidden; overflow-y:visible; }
.related.products ul.products li.product{ position:relative; z-index:1; }
.related.products ul.products li.product:hover{ z-index:2; }
.related.products ul.products{ display:flex !important; flex-wrap:nowrap !important; gap:24px !important; transition:transform .6s ease; }
.related.products ul.products li.product{ flex:0 0 calc((100% - 48px)/3); max-width:calc((100% - 48px)/3); }
@media(max-width:780px){
.related.products ul.products li.product{ flex:0 0 100%; max-width:100%; }
}


/* --- Rev 16: fix global - el stepper de cantidad (Breakdance, bde-quantity-button) es position:absolute y necesita un contenedor position:relative o se va a cualquier parte de la pagina --- */
.woocommerce .quantity.quantity--number{ position:relative !important; }


/* ---------- Transiciones entre paginas (fade sutil, overlay) ---------- */
.ni-page-transition{
  position: fixed;
  inset: 0;
  background: var(--ink);
  z-index: 99999;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}
.ni-page-transition__spinner{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -20px 0 0 -20px;
  border-radius: 50%;
  border: 1.5px solid var(--ink-line);
  border-top-color: var(--gold);
  animation: ni-spin .8s linear infinite;
}
@keyframes ni-spin{ to{ transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce){
  .ni-page-transition{ transition: none !important; display:none !important; }
  .ni-page-transition__spinner{ animation: none; display: none; }
}

/* Novaionic -- toggle de precios: texto "a confirmar" */
.novaionic-price-tbc{
	font-family: var(--ni-font-body);
	font-style: italic;
	color: var(--gold-deep);
	letter-spacing: .01em;
}

/* Novaionic -- toggle de precios: enmascara el Cart/Checkout de WooCommerce Blocks
   (usan la Store API vía React, no pasan por los filtros PHP de arriba) */
body.novaionic-prices-hidden .wc-block-components-formatted-money-amount,
body.novaionic-prices-hidden .wc-block-components-totals-item__value{
	visibility: hidden;
	position: relative;
}
body.novaionic-prices-hidden .wc-block-components-formatted-money-amount::after,
body.novaionic-prices-hidden .wc-block-components-totals-item__value::after{
	content: "A confirmar";
	visibility: visible;
	position: absolute;
	left: 0;
	top: 0;
	white-space: nowrap;
	font-family: var(--ni-font-body);
	font-style: italic;
	color: var(--gold-deep);
}

/* Novaionic -- Programa de Expansion / Reseller */
.novaionic-expansion { max-width: 880px; margin: 0 auto; padding: 48px 24px; color: var(--paper); }
.novaionic-expansion h2 { color: var(--gold); margin-bottom: 12px; }
.novaionic-expansion p { color: var(--paper-dim); line-height: 1.6; }
.novaionic-expansion-success { color: var(--gold-bright); }
.novaionic-expansion-options { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 32px; }
@media (max-width: 760px) { .novaionic-expansion-options { grid-template-columns: 1fr; } }
.novaionic-expansion-whatsapp, .novaionic-expansion-form { background: var(--ink-soft); border: 1px solid var(--ink-line); border-radius: 8px; padding: 24px; }
.novaionic-expansion-whatsapp h3, .novaionic-expansion-form h3 { color: var(--paper); margin-top: 0; }
.novaionic-expansion-form label { display: block; margin-bottom: 12px; color: var(--paper-dim); font-size: 14px; }
.novaionic-expansion-form input[type="text"], .novaionic-expansion-form input[type="email"], .novaionic-expansion-form select, .novaionic-expansion-form textarea, .novaionic-expansion-whatsapp select { width: 100%; margin-top: 4px; padding: 10px; background: var(--ink); border: 1px solid var(--ink-line); border-radius: 4px; color: var(--paper); font-family: inherit; }
.novaionic-expansion-form fieldset { border: none; padding: 0; margin: 0 0 16px; }
.novaionic-expansion-form fieldset label { display: flex; align-items: center; gap: 8px; }
.novaionic-expansion a.novaionic-expansion-btn, a.novaionic-expansion-btn, .novaionic-expansion-btn { display: inline-block; margin-top: 16px; padding: 12px 24px; background: var(--gold); color: var(--ink) !important; text-decoration: none; border-radius: 4px; font-weight: 600; border: 1px solid var(--gold); cursor: pointer; }
.novaionic-expansion-btn--outline { background: transparent; color: var(--gold); }
