/* ========================================================================
   styles.css — shared across all pages
   Design system tokens, header + megamenu, footer, buttons, mobile menu,
   sticky CTAs. Page-specific styles live in home.css / product.css.
   ======================================================================== */

/* ============ TOKENS ============ */
:root{
  --black:#000000;
  --dark:#020101;
  --dark-2:#202020;
  --violet:#9C7DDF;
  --pink:#FF4A9B;
  --lavender:#E9E5F1;
  --light:#F5F5F5;
  --text-dark:#000000;
  --text-muted:#4B4F58;
  --text-on-dark:#F2F2F2;
  --text-on-dark-muted:#B3B3B3;
  --btn-secondary-text:#344054;
  --lime:#BFFF74;
  --serif:"Gowun Batang", serif;
  --sans:"Raleway", sans-serif;
  --ui:"IBM Plex Sans", sans-serif;
  --plex:"IBM Plex Sans", sans-serif;
  --btn-font:"Inter", sans-serif;
  --radius:8px;
  --maxw:1200px;
}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--plex);font-size:16px;line-height:1.6;color:var(--text-dark);background:#fff}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
section{padding:32px 0}
.kicker{font-family:var(--plex);font-size:14px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--violet);margin-bottom:14px}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4vw,44px);line-height:1.2;letter-spacing:-1px;margin-bottom:14px;color:var(--black)}
.lead{color:var(--text-muted);max-width:640px;margin-bottom:36px}

/* ============ BUTTONS ============ */
.btn{display:inline-block;font-family:var(--btn-font);font-size:14px;font-weight:600;line-height:20px;padding:12px 28px;border-radius:var(--radius);border:2px solid var(--violet);text-decoration:none;text-align:center;transition:all .2s;cursor:pointer}
.btn-primary{background:var(--violet);color:#fff}
.btn-primary:hover{background:var(--pink);border-color:var(--pink)}
.btn-secondary{background:#fff;color:var(--btn-secondary-text)}
.btn-secondary:hover{border-color:var(--pink)}
.btn-ghost-dark{background:transparent;color:#fff;border-color:#fff}
.btn-ghost-dark:hover{border-color:var(--lime);color:var(--lime)}
.btn-sm{font-size:14px;line-height:20px;padding:8px 20px;border-width:1px}

/* ============ ANNOUNCE BAR ============ */
.announce{background:var(--violet);color:#fff;font-family:var(--plex);font-size:14px;font-weight:500;text-align:center;padding:9px 16px}
.announce a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* ============ HEADER ============ */
header{background:var(--dark-2);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.08)}
.nav{display:flex;align-items:center;gap:28px;padding:14px 24px;max-width:var(--maxw);margin:0 auto}
.nav img{height:40px}
.nav .actions{display:flex;gap:10px}

/* ============ MEGAMENU ============ */
.mega-nav{display:flex;gap:0;flex:1;justify-content:center;font-family:"IBM Plex Sans",sans-serif;font-size:14px;font-weight:400;position:static}
.mega-nav>li{list-style:none;position:static}
.mega-nav>li>a{display:inline-flex;align-items:center;gap:6px;color:var(--text-on-dark);text-decoration:none;padding:8px 14px;cursor:pointer;transition:color .2s}
.mega-nav>li>a .chev{font-size:10px;transition:transform .2s;line-height:1}
.mega-nav>li>a:hover,.mega-nav>li.open>a{color:var(--lime)}
.mega-nav>li.open>a .chev{transform:rotate(180deg)}
.mega-panel{position:absolute;left:0;right:0;top:100%;background:var(--dark-2);color:var(--text-on-dark);box-shadow:0 24px 48px rgba(0,0,0,.45);border-top:2px solid var(--violet);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:60;font-family:var(--plex)}
.mega-panel.open{opacity:1;visibility:visible;transform:translateY(0)}
.mega-panel .wrap-inner{max-width:var(--maxw);margin:0 auto;padding:34px 24px 38px}
.mega-grid-4{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:30px}
.mega-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mega-col h3{font-family:"IBM Plex Sans",sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.12)}
.mega-col ul{list-style:none}
.mega-col li{margin-bottom:8px}
.mega-col a{color:var(--text-on-dark-muted);text-decoration:none;font-size:14px;line-height:1.45;display:block;padding:3px 0}
.mega-col a:hover{color:var(--lime)}
.mega-cta{display:inline-block;font-size:13px;font-weight:600;color:var(--violet);text-decoration:none;margin-top:8px;border-bottom:1px solid transparent;padding-bottom:1px}
.mega-cta:hover{color:var(--lime);border-color:var(--lime)}
.mega-featured{display:block;background:linear-gradient(180deg,rgba(2,1,1,.15) 0%,rgba(2,1,1,.65) 100%),url('https://mariablaquier.com/wp-content/uploads/2023/11/Thumbnails.jpg') center/cover no-repeat #202020;border-radius:14px;padding:22px 22px 24px;text-decoration:none;color:#fff;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.mega-featured:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.3)}
.mega-featured .tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dark);background:var(--lime);padding:4px 10px;border-radius:20px;align-self:flex-start;margin-bottom:auto}
.mega-featured .t{font-family:var(--serif);font-size:22px;line-height:1.2;margin:10px 0 6px}
.mega-featured .d{font-size:13.5px;color:var(--text-on-dark-muted);line-height:1.5;margin-bottom:14px}
.mega-featured .btn-go{align-self:flex-start;font-size:13px;font-weight:600;color:#fff;background:var(--violet);padding:7px 16px;border-radius:6px;border:none}
.mega-card{display:flex;flex-direction:column;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s,border-color .18s}
.mega-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.35);border-color:var(--violet)}
.mega-card .ph{aspect-ratio:16/9;background-position:center;background-size:cover;background-color:#202020}
.mega-card .body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.mega-card .body h4{font-family:"IBM Plex Sans",sans-serif;font-size:16px;font-weight:600;color:#fff;margin-bottom:6px}
.mega-card .body p{font-size:13.5px;color:var(--text-on-dark-muted);line-height:1.5;margin-bottom:12px;flex:1}
.mega-card .body ul{list-style:none;margin:0 0 6px}
.mega-card .body li{font-size:13px;color:var(--text-on-dark-muted);padding-left:14px;position:relative;margin-bottom:5px}
.mega-card .body li::before{content:"›";position:absolute;left:0;color:var(--lime)}
.mega-card .body .more{align-self:flex-start;font-size:13px;font-weight:600;color:var(--violet);text-decoration:none;border-bottom:1px solid transparent}
.mega-card .body .more:hover{color:var(--lime);border-color:var(--lime)}
.mega-backdrop{position:fixed;inset:0;background:rgba(2,1,1,.55);opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s;z-index:45}
.mega-backdrop.open{opacity:1;visibility:visible}
header.mega-open{box-shadow:none}
@media(max-width:920px){.mega-panel,.mega-backdrop,.mega-nav{display:none!important}}

/* ============ MOBILE MENU ============ */
#menu-toggle{display:none}
.burger{display:none;cursor:pointer;width:30px;height:22px;position:relative;flex-shrink:0}
.burger span{position:absolute;left:0;width:100%;height:3px;background:#fff;border-radius:2px;transition:all .25s}
.burger span:nth-child(1){top:0}
.burger span:nth-child(2){top:9px}
.burger span:nth-child(3){top:18px}
#menu-toggle:checked ~ nav .burger span:nth-child(1){top:9px;transform:rotate(45deg)}
#menu-toggle:checked ~ nav .burger span:nth-child(2){opacity:0}
#menu-toggle:checked ~ nav .burger span:nth-child(3){top:9px;transform:rotate(-45deg)}
.mobile-menu{display:none;background:var(--dark);border-top:1px solid rgba(255,255,255,.08);padding:10px 24px 24px}
.mobile-menu a{display:block;color:var(--text-on-dark);text-decoration:none;font-family:var(--plex);font-size:17px;font-weight:500;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.mobile-menu a:hover{color:var(--lime)}
.mobile-menu .btn{display:block;margin-top:16px;border-bottom:none;text-align:center}
#menu-toggle:checked ~ .mobile-menu{display:block}

/* ============ STICKY CTA (móvil) ============ */
.sticky-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;align-items:center;justify-content:space-between;gap:14px;background:rgba(2,1,1,.96);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.12);padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
.sticky-cta .info{font-family:var(--plex);font-size:12.5px;line-height:1.35;color:var(--text-on-dark-muted)}
.sticky-cta .info b{display:block;color:#FFCC4D;font-size:14px}
.sticky-cta .btn{white-space:nowrap;flex-shrink:0}

/* ============ STICKY CTA DESKTOP ============ */
.sticky-cta-desktop{position:fixed;left:50%;transform:translateX(-50%) translateY(120%);bottom:24px;z-index:60;display:flex;align-items:center;gap:18px;background:#fff;border:1px solid #E5E5E5;box-shadow:0 8px 32px rgba(2,1,1,.12);border-radius:100px;padding:8px 8px 8px 22px;transition:transform .35s cubic-bezier(.2,.8,.2,1);max-width:calc(100vw - 32px)}
.sticky-cta-desktop.show{transform:translateX(-50%) translateY(0)}
.sticky-cta-desktop .info{font-family:var(--plex);font-size:13.5px;color:var(--text-muted);line-height:1.3}
.sticky-cta-desktop .info b{display:block;color:var(--text-dark);font-size:14.5px;font-weight:600}
.sticky-cta-desktop .info .stars{color:#E8A33D;font-size:12px}
.sticky-cta-desktop .btn{white-space:nowrap}
.sticky-cta-desktop .guarantee{font-family:var(--plex);font-size:11.5px;color:#6B7280}
@media(max-width:920px){.sticky-cta-desktop{display:none}}

/* ============ FOOTER ============ */
footer{background:var(--dark);color:var(--text-on-dark);padding:56px 0 0;font-family:var(--plex);font-size:14.5px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;max-width:var(--maxw);margin:0 auto;padding:0 24px}
footer img.logo{height:44px;margin-bottom:16px}
footer p{color:var(--text-on-dark-muted);margin-bottom:14px}
footer .rating{background:#fff;color:var(--text-dark);border-radius:10px;padding:12px 16px;display:inline-block}
footer .rating b{color:#E8A33D}
footer h4{font-size:14px;letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid var(--violet);padding-bottom:8px;margin-bottom:14px;display:inline-block}
footer ul{list-style:none}
footer li{margin-bottom:9px}
footer a{color:var(--text-on-dark);text-decoration:none}
footer a:hover{color:var(--lime)}
footer .legal{text-align:center;border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding:18px;color:var(--text-on-dark-muted);font-size:13.5px}

/* ============ RESPONSIVE (global) ============ */
@media(max-width:920px){
  .nav .actions{display:none}
  .nav{justify-content:space-between}
  .burger{display:block}
  section{padding:36px 0}
  .sticky-cta{display:flex}
  body{padding-bottom:74px}
}

/* ===== Guías: figuras ilustradas y CTA grande ===== */
.g-fig{margin:34px 0}
.g-fig img{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 6px 26px rgba(2,1,1,.08)}
.g-fig figcaption{font-family:var(--plex);font-size:13.5px;color:var(--text-muted);margin-top:10px;line-height:1.5}
.g-fig-wide{margin:26px 0 38px}
.btn-guide-xl{font-size:18px;font-weight:700;padding:20px 34px;border-radius:10px;line-height:1.2}
@media(max-width:560px){.btn-guide-xl{width:100%;text-align:center;font-size:16.5px;padding:18px 22px}}
.g-links{list-style:none;margin:14px 0 6px;padding:0}
.g-links li{position:relative;padding-left:20px;margin-bottom:12px;color:var(--text-muted);line-height:1.6}
.g-links li::before{content:"·";position:absolute;left:4px;color:var(--violet);font-weight:700;font-size:22px;line-height:1}
.g-links a{color:var(--violet);font-weight:600}
