/* ──────────────────────────────────────────────────────────────────
   White Village Boutique — main.css
   CSS común a todas las páginas: tokens, reset, promo bar, nav,
   footer y burger mobile. El CSS específico de cada página vive
   inline en su template (page-{slug}.php).
   ────────────────────────────────────────────────────────────────── */

/* ── tokens + reset ── */
:root{
  --cal:#faf7f1;
  --cal-2:#f1ece1;
  --cal-3:#e5dfd2;
  --ink:#1a1614;
  --ink-soft:#403a34;
  --muted:#8a847b;
  --line:rgba(26,22,20,.10);
  --blue:#2c4a7c;
  --terra:#c97a5b;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--cal);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
em{font-family:var(--serif);font-style:italic;font-weight:300}
a{color:inherit;text-decoration:none}

/* WP admin bar */
body.admin-bar nav.main{top:32px}
@media (max-width:782px){body.admin-bar nav.main{top:46px}}

/* ── promo / coupon bar (editable por el cliente) ── */
.promo-toggle{display:none}
.promo{background:var(--blue);color:#fff;font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;text-align:center;padding:16px 50px;position:relative;display:flex;align-items:center;justify-content:center;gap:16px}
.promo .code{font-family:var(--serif);font-style:italic;text-transform:none;letter-spacing:.01em;font-size:20px;border:1px solid rgba(255,255,255,.4);padding:4px 16px;border-radius:2px}
.promo-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);cursor:pointer;opacity:.7;font-size:15px;line-height:1}
.promo-close:hover{opacity:1}
.promo-toggle:checked + .promo{display:none}

/* ── nav ── */
nav.main{padding:24px 56px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:var(--cal);position:sticky;top:0;z-index:20;backdrop-filter:blur(8px)}
.logo{font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:.005em}
.logo em{color:var(--blue)}
.menu{display:flex;gap:36px;list-style:none;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--ink-soft)}
.menu li{cursor:pointer;transition:color .2s}
.menu li:hover,.menu li.active,.menu li.current-menu-item{color:var(--ink)}
.menu li a{display:block}
.lang{display:flex;gap:14px;align-items:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.lang span{cursor:pointer}
.lang span.on{color:var(--ink)}
.cta-nav{padding:10px 18px;background:var(--ink);color:var(--cal);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;display:inline-flex;align-items:center;gap:8px}

/* ── footer (común a todas las páginas) ── */
footer{background:var(--ink);color:var(--cal);padding:96px 56px 48px}
.foot-grid{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:64px;padding-bottom:80px;border-bottom:1px solid rgba(250,247,241,.12)}
.foot-brand .logo-f{font-family:var(--serif);font-size:32px;font-weight:400;color:var(--cal);margin-bottom:24px}
.foot-brand .logo-f em{color:var(--cal)}
.foot-brand p{font-size:13.5px;line-height:1.7;color:rgba(250,247,241,.7);max-width:34ch}
.foot-col h4{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--cal);font-weight:500;margin-bottom:24px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:14px;font-size:14px;color:rgba(250,247,241,.85)}
.foot-col li{cursor:pointer}
.foot-col li a{transition:color .2s}
.foot-col li a:hover{color:#fff}
.foot-col p{font-size:14px;color:rgba(250,247,241,.85);line-height:1.7}
.foot-col p b{color:var(--cal);font-weight:500}
.foot-bottom{max-width:1480px;margin:0 auto;padding-top:32px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(250,247,241,.55);gap:16px;flex-wrap:wrap}
.foot-bottom em{color:var(--cal);font-style:italic;font-family:var(--serif);text-transform:none;letter-spacing:.01em;font-size:14px}

/* ── responsive base ── */
@media (max-width:1100px){
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  footer{padding:80px 28px 48px}
  .foot-grid{grid-template-columns:1fr;gap:40px}
  .promo{font-size:9.5px;letter-spacing:.1em;padding:9px 38px;gap:8px}
  .promo .code{font-size:12px}
}

/* === nav burger (mobile) === */
.nav-toggle{display:none}
.nav-burger{display:none}
@media (max-width:980px){
  nav.main{flex-wrap:wrap;gap:14px;align-items:center;row-gap:0;padding:18px 24px}
  .menu,.lang{display:none}
  .nav-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;width:30px;height:30px;order:2}
  .nav-burger span{width:22px;height:1.5px;background:var(--ink);transition:transform .25s,opacity .25s;display:block}
  nav.main:has(.nav-toggle:checked) .menu{display:flex !important;flex-direction:column;width:100%;gap:0;font-size:13px;order:5;padding-top:12px;border-top:1px solid var(--line)}
  nav.main:has(.nav-toggle:checked) .menu li{padding:16px 0;border-bottom:1px solid var(--line);letter-spacing:.18em;cursor:pointer}
  nav.main:has(.nav-toggle:checked) .menu li:last-child{border-bottom:0}
  nav.main:has(.nav-toggle:checked) .lang{display:flex !important;width:100%;order:6;justify-content:center;padding:16px 0;border-top:1px solid var(--line);gap:24px}
  nav.main:has(.nav-toggle:checked) .nav-burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  nav.main:has(.nav-toggle:checked) .nav-burger span:nth-child(2){opacity:0}
  nav.main:has(.nav-toggle:checked) .nav-burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
}

/* ── helpers comunes a varias páginas ── */
.btn{padding:16px 28px;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:10px;cursor:pointer}
.btn-cream{background:var(--cal);color:var(--ink)}
.btn-ink{background:var(--ink);color:var(--cal)}
.btn-line-light{border:1px solid #fff;color:#fff}
.btn-line-dark{border:1px solid var(--ink);color:var(--ink)}

/* ── aviso de éxito de formularios (contacto / grupos) ── */
.form-success{background:#eef3ec;border:1px solid #2c7a3d;border-left:3px solid #2c7a3d;color:#1a1614;padding:16px 20px;margin-bottom:24px;font-size:14.5px;line-height:1.6;border-radius:2px}

/* ── logo como imagen (header + footer) ── */
.logo img{height:32px !important;width:auto !important;max-width:200px;display:block}
.logo-f img{height:46px !important;width:auto !important;max-width:260px;display:block}
@media (max-width:720px){ .logo img{height:26px !important} }
