/* ─── DESIGN SYSTEM ───────────────────────────────────────────────────── */
:root {
  --bg:       #F7F4EF;
  --bg2:      #EFECE5;
  --fg:       #100F0D;
  --mid:      #6B6258;
  --soft:     #A89F95;
  --gold:     #B8956A;
  --gold-lt:  #D4B896;
  --dark:     #0E0C0A;
  --dark2:    #181410;
  --line:     rgba(16,15,13,.10);
  --line-md:  rgba(16,15,13,.18);
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'Inter', system-ui, sans-serif;
  --mono:  'DM Mono', monospace;
  --ease:     cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:var(--bg); color:var(--fg);
  font-family:var(--sans); overflow-x:hidden; cursor:none;
}

/* ─── RESET ESTILOS WORDPRESS ─────────────────────────────────────────── */
/* Previene que WordPress global-styles y block-library sobreescriban */
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6 {
  font-size: revert;
  font-weight: revert;
  line-height: revert;
  letter-spacing: revert;
  font-family: revert;
  color: revert;
  margin: revert;
  padding: revert;
}
html body p { margin: revert; }
html body a { color: revert; text-decoration: revert; }
html body * { box-sizing: border-box; }

img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }


/* ─── ADMIN BAR OFFSET ────────────────────────────────────────────────── */
body.admin-bar nav { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar nav { top: 46px; } }
/* ─── CURSOR ──────────────────────────────────────────────────────────── */
#cur-d,#cur-r { position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);border-radius:50%; }
#cur-d { width:7px;height:7px;background:var(--fg);transition:width .25s var(--ease-out),height .25s var(--ease-out),background .2s; }
#cur-r { width:34px;height:34px;border:1px solid var(--fg);z-index:9998;transition:width .3s var(--ease-out),height .3s var(--ease-out),border-color .2s,opacity .2s; }
body.ch #cur-d { width:5px;height:5px;background:var(--gold); }
body.ch #cur-r { width:48px;height:48px;border-color:var(--gold);opacity:.55; }
body.ch-dark #cur-d { background:#F7F4EF; }
body.ch-dark #cur-r { border-color:rgba(247,244,239,.6); }

/* ─── LOADER ──────────────────────────────────────────────────────────── */
#loader { position:fixed;inset:0;background:var(--dark);z-index:9000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;transition:opacity .9s var(--ease),visibility .9s; }
#loader.gone { opacity:0;visibility:hidden;pointer-events:none; }
.ldr-name { font-family:var(--serif);font-weight:300;font-size:clamp(18px,2.5vw,26px);letter-spacing:.25em;text-transform:uppercase;color:#F7F4EF;opacity:0;animation:lf .5s .4s var(--ease) forwards; }
.ldr-bar-w { width:160px;height:1px;background:rgba(247,244,239,.1);overflow:hidden; }
.ldr-bar   { height:100%;background:var(--gold-lt);width:0%;animation:lb 1.5s .6s var(--ease-out) forwards; }
@keyframes lf { to{opacity:1} }
@keyframes lb { to{width:100%} }

/* ─── NAV ─────────────────────────────────────────────────────────────── */
nav { position:fixed;top:0;left:0;right:0;z-index:800;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:68px;transition:background .4s,backdrop-filter .4s,border-bottom .4s; }
nav.scrolled { background:rgba(247,244,239,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line); }
nav.on-dark:not(.scrolled) .nav-logo { color:#F7F4EF !important; }
nav.on-dark:not(.scrolled) .nav-link { color:rgba(247,244,239,.75) !important; }
nav.on-dark:not(.scrolled) .nav-link:hover { color:#F7F4EF !important; }
nav.on-dark:not(.scrolled) .nav-cta { background:#fff !important;color:var(--gold) !important; }
.nav-logo { font-family:var(--serif) !important;font-weight:400 !important;font-size:15px !important;letter-spacing:.1em !important;text-transform:uppercase !important;color:var(--fg) !important;text-decoration:none !important;transition:color .3s; }
.nav-logo span { color:var(--gold) !important; }
nav.on-dark:not(.scrolled) .nav-logo span { color:var(--gold-lt) !important; }
.nav-links { display:flex;align-items:center;gap:32px;list-style:none; }
.nav-link { font-family:var(--mono) !important;font-size:10px !important;letter-spacing:.2em !important;text-transform:uppercase !important;color:var(--mid) !important;text-decoration:none !important;transition:color .2s; }
.nav-link:hover { color:var(--fg) !important; }
.nav-cta { background:var(--fg);color:var(--bg) !important;padding:10px 22px;border-radius:2px;font-family:var(--mono) !important;font-size:9.5px !important;letter-spacing:.18em !important;text-transform:uppercase !important;transition:background .2s !important;border:1px solid rgba(184,149,106,.25); }
.nav-cta:hover { background:var(--gold) !important;color:#fff !important;border-color:var(--gold) !important; }

/* ─── BUTTONS ─────────────────────────────────────────────────────────── */
.btn-primary { display:inline-flex;align-items:center;gap:10px;background:var(--fg);color:var(--bg);font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;padding:14px 30px;border-radius:2px;text-decoration:none;transition:background .25s,transform .2s; }
.btn-primary:hover { background:var(--gold);transform:translateY(-1px); }
.btn-light { display:inline-flex;align-items:center;gap:10px;background:#F7F4EF;color:var(--fg);font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;padding:14px 30px;border-radius:2px;text-decoration:none;transition:background .25s,transform .2s; }
.btn-light:hover { background:var(--gold-lt);transform:translateY(-1px); }
.btn-outline-light { display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(247,244,239,.22);color:rgba(247,244,239,.6);font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;padding:14px 28px;border-radius:2px;text-decoration:none;transition:border-color .2s,color .2s; }
.btn-outline-light:hover { border-color:rgba(247,244,239,.5);color:#F7F4EF; }
.btn-ghost { font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mid);text-decoration:none;display:inline-flex;align-items:center;gap:7px;transition:color .2s; }
.btn-ghost:hover { color:var(--fg); }
.btn-ghost::after { content:'→';transition:transform .2s; }
.btn-ghost:hover::after { transform:translateX(4px); }

/* ─── CONTAINER / LABELS ──────────────────────────────────────────────── */
.container { max-width:1220px;margin:0 auto;padding:0 48px; }
.s-label { font-family:var(--mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:18px; }
.s-title { font-family:var(--serif) !important;font-weight:300 !important;font-size:clamp(40px,5vw,68px) !important;line-height:1.0 !important;letter-spacing:-.02em !important;color:var(--fg) !important; display:block !important; }
.s-title em { font-style:italic;font-weight:400;color:var(--gold); }

/* ─── HERO ────────────────────────────────────────────────────────────── */
.hero { min-height:100svh;background:var(--dark);display:grid;place-items:center;position:relative;overflow:hidden; }
.hero::before { content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");opacity:.022;pointer-events:none;z-index:3; }
.hero-photo-bg { position:absolute;inset:0;z-index:0;overflow:hidden; }
.hero-photo-bg img { width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block;filter:brightness(.78) contrast(1.02) saturate(.85);transform:scale(1.03);transition:transform 14s ease; }
.hero:hover .hero-photo-bg img { transform:scale(1.0); }
.hero-photo-bg::after { content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(6,5,4,.18) 0%,rgba(6,5,4,.08) 35%,rgba(6,5,4,.52) 100%),linear-gradient(to right,rgba(6,5,4,.35) 0%,transparent 55%);pointer-events:none; }
.hero-content { position:absolute;z-index:2;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:104px; }
section.hero h1.hero-h1, .hero-h1 { font-family:var(--serif) !important;font-weight:300 !important;font-size:clamp(88px,14vw,196px) !important;line-height:.84 !important;letter-spacing:-.03em !important;color:#F2EFE9 !important;margin:0 !important;width:100% !important;padding:0 32px !important;opacity:0;animation:fu .9s 1.6s var(--ease-out) forwards;text-shadow:0 2px 48px rgba(6,5,4,.22) !important; }
.hero-h1 em { font-style:italic;font-weight:300;color:#F2EFE9; }
.hero-sub-row { display:flex;flex-direction:column;align-items:center;gap:24px;margin-top:auto;margin-bottom:88px;opacity:0;animation:fu .8s 2s var(--ease-out) forwards; }
.hero-body { font-size:13px;line-height:1.8;color:rgba(247,244,239,.62);max-width:360px;margin:0;letter-spacing:.01em; }
.hero-btns { display:flex;align-items:center;gap:14px;margin-top:4px; }
.hero-corner { position:absolute;z-index:3;font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(247,244,239,.2); }
.hero-corner-tl { top:92px;left:48px; }
.hero-corner-tr { top:92px;right:48px;text-align:right; }
.hero-corner-bl { bottom:44px;left:48px;display:flex;align-items:center;gap:14px;opacity:0;animation:fu .6s 2.8s var(--ease-out) forwards; }
.hero-corner-br { bottom:44px;right:48px;opacity:0;animation:fu .6s 2.9s var(--ease-out) forwards; }
.hero-scroll-line { width:36px;height:1px;background:rgba(247,244,239,.2);transform-origin:left;transform:scaleX(0);animation:scaleX 1s 3.2s var(--ease-out) forwards; }
@keyframes scaleX { to{transform:scaleX(1)} }
@keyframes fu { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }

/* ─── TICKER ──────────────────────────────────────────────────────────── */
.ticker { background:var(--fg);height:42px;overflow:hidden;display:flex;align-items:center; }
.t-track { display:flex;align-items:center;white-space:nowrap;animation:tick 30s linear infinite; }
.t-track span { font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(247,244,239,.5);padding:0 36px; }
.t-track span.dot { color:var(--gold);opacity:1;padding:0;font-size:7px; }
@keyframes tick { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ─── FEATURED ────────────────────────────────────────────────────────── */
.featured { padding:140px 0 120px; }
.featured-in { display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center; }
.f-eyebrow { display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:30px; }
.f-eyebrow::before { content:'';width:28px;height:1px;background:var(--gold);flex-shrink:0; }
.f-title { font-family:var(--serif) !important;font-weight:300 !important;font-size:clamp(54px,6.5vw,86px) !important;line-height:.92 !important;letter-spacing:-.025em !important;color:var(--fg) !important;margin-bottom:28px; }
.f-title em { font-style:italic;color:var(--gold); }
.f-desc { font-size:14px;line-height:1.85;color:var(--mid);max-width:400px;margin-bottom:36px; }
.f-pills { display:flex;flex-wrap:wrap;gap:10px;margin-bottom:44px; }
.f-pill { font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mid);padding:8px 16px;border:1px solid var(--line-md);border-radius:2px; }
.f-price-row { display:flex;align-items:center;gap:20px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:40px; }
.f-price { font-family:var(--serif) !important;font-size:44px !important;font-weight:300 !important;color:var(--fg) !important;line-height:1 !important;margin-bottom:10px !important; }
.f-price-note { font-size:13px;color:var(--soft);line-height:1.6;margin-top:10px; }
.f-btns { display:flex;align-items:center;gap:18px; }
.f-preview { position:relative;height:660px; }
.fp-main { position:absolute;left:0;top:0;width:74%;height:87%;border-radius:3px;overflow:hidden;box-shadow:0 32px 80px rgba(16,15,13,.16); }
.fp-main img { width:100%;height:100%;object-fit:cover; }
.fp-thumb { position:absolute;right:0;bottom:0;width:50%;height:55%;border-radius:3px;overflow:hidden;box-shadow:0 20px 60px rgba(16,15,13,.2);border:4px solid var(--bg); }
.fp-thumb img { width:100%;height:100%;object-fit:cover; }
.fp-badge { position:absolute;top:24px;right:-6px;background:var(--gold);color:#fff;font-family:var(--mono);font-size:7.5px;letter-spacing:.22em;text-transform:uppercase;padding:10px 14px;writing-mode:vertical-rl;transform:rotate(180deg);border-radius:2px 0 0 2px; }
/* placeholder gradient for main mockup when no image */
.fp-main-placeholder { width:100%;height:100%;background:linear-gradient(160deg,#1A1714 0%,#2D2520 35%,#3C2E26 60%,#1F1B17 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px; }
.fp-main-placeholder .mock-title { font-family:var(--serif);font-size:clamp(28px,4vw,52px);font-weight:300;color:#F7F4EF;text-align:center;line-height:.9;letter-spacing:-.02em; }
.fp-main-placeholder .mock-title em { font-style:italic;color:#D4B896; }
.fp-main-placeholder .mock-sub { font-family:var(--mono);font-size:7px;letter-spacing:.2em;text-transform:uppercase;color:rgba(247,244,239,.25); }

/* ─── SHOP ────────────────────────────────────────────────────────────── */
.shop { padding:64px 0 72px;background:var(--bg); }
.shop-hd { display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px; }
.shop-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line); }
.tcard { background:var(--bg);padding:0;transition:background .3s; }
.tcard:hover { background:var(--bg2); }
.tcard-thumb { aspect-ratio:3/4;overflow:hidden;position:relative; }
.tcard-thumb img { width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--ease-out); }
.tcard:hover .tcard-thumb img { transform:scale(1.04); }
.tcard-ov { position:absolute;inset:0;background:rgba(16,15,13,.42);opacity:0;transition:opacity .35s;display:flex;align-items:center;justify-content:center;gap:10px; }
.tcard:hover .tcard-ov { opacity:1; }
.ov-btn { background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;padding:11px 20px;border-radius:2px;text-decoration:none;transition:background .2s,color .2s; }
.ov-btn:hover { background:var(--gold);color:#fff; }
.ov-btn.sec { background:transparent;border:1px solid rgba(247,244,239,.32);color:rgba(247,244,239,.75); }
.ov-btn.sec:hover { border-color:var(--gold-lt);color:var(--gold-lt);background:transparent; }
.tcard-body { padding:24px 28px 32px; }
.tcard-num { font-family:var(--mono);font-size:8px;letter-spacing:.18em;color:var(--soft);margin-bottom:10px; }
.tcard-name { font-family:var(--serif) !important;font-size:22px !important;font-weight:400 !important;font-style:italic !important;color:var(--fg) !important;margin-bottom:4px; }
.tcard-type { font-family:var(--mono);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);margin-bottom:14px; }
.tcard-price-row { display:flex;align-items:baseline;gap:8px; }
.tcard-price { font-family:var(--serif) !important;font-size:20px !important;font-weight:400 !important;color:var(--fg) !important; }
.tcard-price-note { font-family:var(--mono);font-size:8px;letter-spacing:.12em;color:var(--soft); }
.tcard-soon .tcard-thumb { background:var(--bg2);display:flex;align-items:center;justify-content:center; }
.soon-inner { text-align:center; }
.soon-name { font-family:var(--serif);font-size:clamp(48px,6vw,80px);font-style:italic;font-weight:300;color:rgba(16,15,13,.08);letter-spacing:-.02em; }
.soon-tag { font-family:var(--mono);font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);margin-top:12px; }

/* ─── WHY ─────────────────────────────────────────────────────────────── */
.why { padding:140px 0; }
.why-in { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start; }
.why-left { position:sticky;top:140px; }
.why-title { font-family:var(--serif) !important;font-weight:300 !important;font-size:clamp(42px,5.5vw,72px) !important;line-height:.95 !important;letter-spacing:-.025em !important;color:var(--fg) !important;margin-bottom:28px; }
.why-title em { font-style:italic;color:var(--gold); }
.why-desc { font-size:14px;line-height:1.85;color:var(--mid);max-width:360px; }
.feat-list { display:flex;flex-direction:column;padding-top:8px; }
.feat-item { border-top:1px solid var(--line);padding:32px 0;display:grid;grid-template-columns:48px 1fr;gap:24px;align-items:start; }
.feat-item:last-child { border-bottom:1px solid var(--line); }
.feat-n { font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--gold);padding-top:3px; }
.feat-name { font-family:var(--serif) !important;font-size:21px !important;font-weight:400 !important;color:var(--fg) !important;margin-bottom:8px; }
.feat-desc { font-size:13.5px;line-height:1.8;color:var(--mid); }

/* ─── PROCESS ─────────────────────────────────────────────────────────── */
.process { padding:120px 0 140px;background:var(--dark);overflow:hidden; }
.proc-hd { text-align:center !important;margin-bottom:80px !important;width:100% !important;display:flex !important;flex-direction:column !important;align-items:center !important; }
.proc-hd .s-label { text-align:center !important;display:block !important; }
.proc-hd h2,
.proc-hd .s-title { 
  text-align:center !important; 
  margin:0 auto 0 auto !important; 
  display:block !important;
  width:100% !important;
  color:#F7F4EF !important;
}
.proc-hd { text-align:center !important;margin-bottom:80px !important; width:100% !important; }
.proc-hd .s-label { text-align:center !important;display:block !important; }
.process .proc-hd h2,
.process .proc-hd .s-title,
section.process h2 { 
  text-align:center !important; 
  margin:0 auto !important; 
  display:block !important;
  width:100% !important;
}
.proc-hd .s-label { color:var(--gold-lt); }

.proc-hd .s-title em { color:var(--gold-lt); }
.steps { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(247,244,239,.06); }
.step { background:var(--dark);padding:48px 36px;position:relative;overflow:hidden;transition:background .3s; }
.step:hover { background:#1A1612; }
.step::before { content:attr(data-n);position:absolute;top:-16px;right:16px;font-family:var(--serif);font-size:110px;font-weight:300;font-style:italic;color:rgba(212,184,150,.28);line-height:1;pointer-events:none;transition:color .3s; }
.step:hover::before { color:rgba(212,184,150,.42); }
.step-name { font-family:var(--serif) !important;font-size:24px !important;font-weight:300 !important;color:#F7F4EF !important;margin-bottom:12px;line-height:1.15 !important; }
.step-desc { font-size:13px;line-height:1.8;color:rgba(247,244,239,.38); }

/* ─── ABOUT ───────────────────────────────────────────────────────────── */
.about { padding:140px 0;background:var(--bg2); }
.about-in { display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center; }
.about-photos { position:relative;height:540px; }
.ap-main { position:absolute;left:0;top:0;width:76%;height:88%;border-radius:3px;overflow:hidden;box-shadow:0 24px 64px rgba(16,15,13,.13); }
.ap-main img { width:100%;height:100%;object-fit:cover;display:block; }
.ap-accent { position:absolute;right:0;bottom:0;width:46%;height:44%;border-radius:3px;overflow:hidden;box-shadow:0 16px 48px rgba(16,15,13,.18);border:4px solid var(--bg2); }
.ap-accent img { width:100%;height:100%;object-fit:cover;display:block; }
.ap-main-placeholder { width:100%;height:100%;background:linear-gradient(135deg,#2C2820 0%,#1A1510 50%,#0D0B08 100%); }
.ap-accent-placeholder { width:100%;height:100%;background:linear-gradient(135deg,#C4A882 0%,#8B6B52 50%,#5C3D2C 100%); }
.about-text .s-label { margin-bottom:22px; }
.about-t { font-family:var(--serif) !important;font-weight:300 !important;font-size:clamp(36px,4.2vw,54px) !important;line-height:1.05 !important;letter-spacing:-.02em !important;color:var(--fg) !important;margin-bottom:24px; }
.about-t em { font-style:italic;color:var(--gold); }
.about-b { font-size:14px;line-height:1.9;color:var(--mid);margin-bottom:40px; }
.about-footer { padding-top:28px;border-top:1px solid var(--line);display:flex;align-items:center;gap:16px; }
.about-sig { font-family:var(--serif);font-size:22px;font-style:italic;color:var(--fg); }
.about-sig-role { font-family:var(--mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);margin-top:4px; }

/* ─── PLUGIN SPOTLIGHT ────────────────────────────────────────────────── */
.plugin-spot { padding:140px 0 120px;background:var(--dark);position:relative;overflow:hidden; }
.plugin-spot::before { content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");opacity:.025;pointer-events:none; }
.plug-glow { position:absolute;width:50vw;height:50vw;bottom:-20%;right:-10%;background:radial-gradient(circle,rgba(184,149,106,.06) 0%,transparent 65%);pointer-events:none; }
.plug-in { display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:center;position:relative;z-index:1; }
.plug-eyebrow { display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:30px; }
.plug-eyebrow::before { content:'';width:28px;height:1px;background:var(--gold-lt);flex-shrink:0; }
.plug-title { font-family:var(--serif) !important;font-weight:300 !important;font-size:clamp(48px,6vw,80px) !important;line-height:.92 !important;letter-spacing:-.025em !important;color:#F2EFE9 !important;margin-bottom:24px; }
.plug-title em { font-style:italic;color:var(--gold-lt); }
.plug-desc { font-size:14px;line-height:1.85;color:rgba(247,244,239,.42);max-width:400px;margin-bottom:32px; }
.plug-feats { display:grid;grid-template-columns:1fr 1fr;gap:12px 32px;margin-bottom:44px; }
.plug-feat { font-size:12.5px;color:rgba(247,244,239,.5);display:flex;align-items:flex-start;gap:8px;line-height:1.5; }
.plug-feat::before { content:'→';color:var(--gold-lt);font-size:11px;flex-shrink:0;margin-top:2px; }
.plug-price-row { display:flex;align-items:center;gap:20px;padding:26px 0;border-top:1px solid rgba(247,244,239,.08);border-bottom:1px solid rgba(247,244,239,.08);margin-bottom:36px; }
.plug-price { font-family:var(--serif) !important;font-size:44px !important;font-weight:300 !important;color:#F2EFE9 !important;line-height:1 !important; }
.plug-price-note { font-size:13px;color:rgba(247,244,239,.28);line-height:1.6; }
.plug-btns { display:flex;align-items:center;gap:18px; }
.plug-preview { position:relative;height:420px; }
.plug-screen { position:absolute;left:0;top:0;right:0;bottom:0;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.55); }
.ps-topbar { height:34px;background:#F9F7F5;border-bottom:1px solid #E8E0D8;display:flex;align-items:center;padding:0 16px;gap:8px; }
.ps-dot { width:8px;height:8px;border-radius:50%; }
.ps-dot:nth-child(1){background:#ff5f57;opacity:.7;} .ps-dot:nth-child(2){background:#febc2e;opacity:.7;} .ps-dot:nth-child(3){background:#28c840;opacity:.7;}
.ps-title { font-family:var(--mono);font-size:8.5px;letter-spacing:.15em;text-transform:uppercase;color:#B5A090;margin-left:8px; }
.ps-new-btn { margin-left:auto;background:#B8956A;color:#fff;font-family:var(--mono);font-size:7.5px;padding:4px 12px;border-radius:2px;letter-spacing:.12em;text-transform:uppercase; }
.ps-body { padding:16px;display:flex;flex-direction:column;gap:12px; }
.ps-stats { display:grid;grid-template-columns:repeat(4,1fr);gap:8px; }
.ps-stat { background:#F9F7F5;padding:8px 10px;border-radius:2px; }
.ps-stat-n { font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:300;color:#1a1a1a; }
.ps-stat-l { font-family:var(--mono);font-size:6px;letter-spacing:.15em;text-transform:uppercase;color:#b5a090;margin-top:2px; }
.ps-cols { display:grid;grid-template-columns:repeat(5,1fr);gap:6px; }
.ps-col { background:#F9F7F5;padding:7px;border-radius:2px; }
.ps-col-t { font-family:var(--mono);font-size:5.5px;letter-spacing:.12em;text-transform:uppercase;color:#aaa;margin-bottom:5px; }
.ps-card { background:#fff;padding:5px 7px;border-radius:2px;margin-bottom:4px;border-left:2px solid #B8956A; }
.ps-card-n { font-size:7.5px;font-weight:500;color:#1a1a1a;margin-bottom:2px; }
.ps-card-tag { display:inline-block;font-size:6px;background:#EDE8DF;color:#7a5030;padding:1px 5px;border-radius:8px; }
.plug-badge { position:absolute;top:-18px;right:-18px;background:var(--gold);color:#fff;font-family:var(--mono);font-size:7.5px;letter-spacing:.18em;text-transform:uppercase;padding:10px 16px;border-radius:2px;z-index:2;box-shadow:0 8px 32px rgba(184,149,106,.35); }

/* ─── FAQ ─────────────────────────────────────────────────────────────── */
.faq { padding:120px 0 140px;background:var(--bg2); }
.faq-in { display:grid;grid-template-columns:1fr 1.6fr;gap:80px;align-items:start; }
.faq-left { position:sticky;top:120px; }
.faq-left .s-label { margin-bottom:20px; }
.faq-left-title { font-family:var(--serif) !important;font-weight:300 !important;font-size:clamp(36px,4.5vw,56px) !important;line-height:1.0 !important;letter-spacing:-.02em !important;color:var(--fg) !important;margin-bottom:20px; }
.faq-left-title em { font-style:italic;color:var(--gold); }
.faq-left-sub { font-size:13.5px;line-height:1.8;color:var(--mid);max-width:280px; }
.faq-left-sub a { color:var(--gold);text-decoration:underline;text-underline-offset:3px; }
.faq-list { display:flex;flex-direction:column; }
.faq-item { border-top:1px solid var(--line);overflow:hidden; }
.faq-item:last-child { border-bottom:1px solid var(--line); }
.faq-q { display:flex;align-items:center;justify-content:space-between;padding:28px 0;gap:24px;cursor:none;font-family:var(--serif) !important;font-size:19px !important;font-weight:400 !important;color:var(--fg) !important;line-height:1.2;transition:color .2s;user-select:none; }
.faq-q:hover { color:var(--gold); }
.faq-icon { flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-md);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:14px;color:var(--soft);transition:transform .35s var(--ease-out),border-color .2s,color .2s; }
.faq-item.open .faq-icon { transform:rotate(45deg);border-color:var(--gold);color:var(--gold); }
.faq-a { max-height:0;overflow:hidden;transition:max-height .45s var(--ease-out); }
.faq-item.open .faq-a { max-height:300px; }
.faq-a-inner { padding:0 0 28px;font-size:13.5px;line-height:1.85;color:var(--mid);max-width:560px; }

/* ─── CTA FINAL ───────────────────────────────────────────────────────── */
.cta-final { padding:140px 0;background:var(--dark);text-align:center;position:relative;overflow:hidden; }
.cta-bg-word { position:absolute;font-family:var(--serif) !important;font-style:italic !important;font-weight:300 !important;font-size:clamp(200px,30vw,420px) !important;color:rgba(247,244,239,.025) !important;line-height:1 !important;letter-spacing:-.04em !important;bottom:0 !important;left:50%;transform:translateX(-50%);pointer-events:none;white-space:nowrap;z-index:0;user-select:none; }
.cta-final .s-label { color:var(--gold-lt);margin-bottom:28px; }
.cta-final-title { font-family:var(--serif) !important;font-weight:300 !important;font-size:clamp(48px,7vw,96px) !important;line-height:.92 !important;letter-spacing:-.03em !important;color:#F2EFE9 !important;margin-bottom:20px; }
.cta-final-title em { font-style:italic;color:var(--gold-lt); }
.cta-final-sub { font-size:14px;line-height:1.8;color:rgba(247,244,239,.38);max-width:400px;margin:0 auto 56px; }
.cta-final-price { font-family:var(--serif) !important;font-size:clamp(52px,8vw,110px) !important;font-weight:300 !important;color:#F2EFE9 !important;letter-spacing:-.03em !important;line-height:1 !important; }
.cta-final-price-note { font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(247,244,239,.25);margin-top:36px;margin-bottom:48px; }
.cta-final-btns { display:flex;align-items:center;justify-content:center;gap:14px; }
.cta-line { width:1px;height:80px;background:rgba(247,244,239,.1);margin:0 auto 48px; }

/* ─── NEWSLETTER ──────────────────────────────────────────────────────── */
.newsletter { padding:100px 0 120px;background:var(--bg2);text-align:center; }
.nl-label { font-family:var(--mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:18px; }
.nl-title { font-family:var(--serif) !important;font-weight:300 !important;font-size:clamp(38px,5vw,64px) !important;line-height:1.0 !important;letter-spacing:-.02em !important;color:var(--fg) !important;margin-bottom:16px; }
.nl-title em { font-style:italic;color:var(--gold); }
.nl-sub { font-size:14px;color:var(--mid);margin-bottom:48px;line-height:1.8; }
.nl-form { display:flex;max-width:440px;margin:0 auto;border:1px solid var(--line-md);border-radius:3px;overflow:hidden;background:var(--bg); }
.nl-form input { flex:1;background:transparent;border:none;outline:none;color:var(--fg);font-family:var(--serif);font-size:15px;font-style:italic;padding:16px 20px;caret-color:var(--gold); }
.nl-form input::placeholder { color:var(--soft); }
.nl-form button { background:var(--fg);border:none;color:var(--bg);font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;padding:0 24px;cursor:none;transition:background .2s;white-space:nowrap; }
.nl-form button:hover { background:var(--gold); }

/* ─── FOOTER ──────────────────────────────────────────────────────────── */
footer { background:#0A0806;padding:68px 0 36px; }
.ft { display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;margin-bottom:60px; }
.ft-brand { font-family:var(--serif);font-size:18px;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:#F7F4EF;margin-bottom:14px; }
.ft-brand span { color:var(--gold); }
.ft-desc { font-size:12.5px;line-height:1.8;color:rgba(247,244,239,.3);max-width:240px; }
.ft-col-t { font-family:var(--mono);font-size:8px;letter-spacing:.25em;text-transform:uppercase;color:rgba(247,244,239,.28);margin-bottom:18px; }
.ft-links { list-style:none;display:flex;flex-direction:column;gap:11px; }
.ft-links a { font-size:12.5px;color:rgba(247,244,239,.42);text-decoration:none;transition:color .2s; }
.ft-links a:hover { color:var(--gold-lt); }
.ft-bottom { border-top:1px solid rgba(247,244,239,.06);padding-top:26px;display:flex;align-items:center;justify-content:space-between; }
.ft-copy { font-family:var(--mono);font-size:8.5px;letter-spacing:.15em;text-transform:uppercase;color:rgba(247,244,239,.2); }
.ft-soc { display:flex;gap:18px; }
.ft-soc a { font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(247,244,239,.25);text-decoration:none;transition:color .2s; }
.ft-soc a:hover { color:var(--gold-lt); }

/* ─── REVEAL ──────────────────────────────────────────────────────────── */
.r { opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out); }
.r.v { opacity:1;transform:translateY(0); }
.r.d1{transition-delay:.1s} .r.d2{transition-delay:.22s} .r.d3{transition-delay:.34s} .r.d4{transition-delay:.46s}

/* ─── SINGLE / GENERIC PAGES ──────────────────────────────────────────── */
.page-wrap { max-width:760px;margin:0 auto;padding:120px 48px 100px; }
.page-wrap h1 { font-family:var(--serif);font-weight:300;font-size:clamp(40px,5vw,64px);line-height:.95;letter-spacing:-.025em;color:var(--fg);margin-bottom:40px; }
.page-wrap h1 em { font-style:italic;color:var(--gold); }
.page-wrap p { font-size:15px;line-height:1.9;color:var(--mid);margin-bottom:20px; }
.page-wrap h2 { font-family:var(--serif);font-size:28px;font-weight:300;color:var(--fg);margin:40px 0 16px; }

/* Colección: rejilla de 2 productos */
.shop-grid.shop-grid-2 { grid-template-columns:repeat(2,1fr); max-width:720px; margin:0 auto; gap:44px; background:transparent; }
.shop-grid.shop-grid-2 .tcard-thumb { aspect-ratio:4/5; }
.shop-grid.shop-grid-2 .tcard-body { padding:18px 4px 0; }
@media (max-width:768px){ .shop-grid.shop-grid-2 { grid-template-columns:1fr; } }

/* ═══ EASY DIGITAL DOWNLOADS — estilo Studio Web Templates ═══ */
.edd-submit.button, .edd-submit, #edd-purchase-button,
.edd_go_to_checkout, input.edd-submit {
  background: var(--fg) !important; color: var(--bg) !important;
  font-family: var(--mono) !important; font-size: 11px !important; letter-spacing: .16em !important;
  text-transform: uppercase !important; padding: 16px 30px !important; border-radius: 3px !important;
  border: 1px solid var(--fg) !important; box-shadow: none !important; transition: all .25s !important; cursor: pointer;
}
.edd-submit.button:hover, .edd-submit:hover, #edd-purchase-button:hover,
.edd_go_to_checkout:hover { background: var(--gold) !important; border-color: var(--gold) !important; color: #fff !important; }
.edd_price, .edd_download_purchase_form .edd_price { color: var(--fg) !important; font-family: var(--serif) !important; }
/* Carrito y checkout */
.edd-cart, #edd_checkout_cart, .edd_cart_amount { font-family: var(--sans); }
#edd_checkout_cart th, #edd_checkout_cart td { border-color: var(--line) !important; font-family: var(--mono); font-size: 12px; }
.edd_cart_header_row, #edd_checkout_cart .edd_cart_header_row { background: var(--bg2) !important; }
#edd_final_total_wrap { background: var(--bg2) !important; border-color: var(--line) !important; }
#edd_checkout_form_wrap legend, .edd-checkout h3 { font-family: var(--serif) !important; font-weight: 400 !important; color: var(--fg) !important; }
#edd_checkout_form_wrap input[type=text], #edd_checkout_form_wrap input[type=email], #edd_checkout_form_wrap select {
  border: 1px solid var(--line-md) !important; border-radius: 3px !important; font-family: var(--sans) !important; padding: 12px 14px !important;
}
.edd-blank-slate, .widget_edd_cart_widget { font-family: var(--sans); }
/* Botones "añadir al carrito" en tarjetas de la colección (si se usan shortcodes) */
.tcard .edd_purchase_submit_wrapper { margin-top: 12px; }

/* ═══ WOOCOMMERCE — estilo Studio Web Templates ═══ */
.wc-wrap{ padding: 120px 0 90px; }
.woocommerce, .woocommerce-page { font-family: var(--sans); color: var(--fg); }
.woocommerce a { color: var(--gold); }
/* Títulos */
.woocommerce .product_title, .woocommerce-loop-product__title, .woocommerce h1, .woocommerce h2 {
  font-family: var(--serif) !important; font-weight: 400 !important; letter-spacing: -.01em; color: var(--fg) !important;
}
.woocommerce div.product .product_title { font-size: clamp(34px,4vw,54px); line-height: 1; margin-bottom: 12px; }
/* Precio */
.woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce ul.products li.product .price {
  color: var(--fg) !important; font-family: var(--serif) !important; font-size: 30px !important; font-weight: 500 !important;
}
.woocommerce div.product p.price { font-size: 40px !important; }
/* Botones */
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce .single_add_to_cart_button, .woocommerce a.button.alt,
.woocommerce button.button.alt, .woocommerce #place_order {
  background: var(--fg) !important; color: var(--bg) !important; font-family: var(--mono) !important;
  font-size: 11px !important; letter-spacing: .16em !important; text-transform: uppercase !important;
  padding: 16px 30px !important; border-radius: 3px !important; border: 1px solid var(--fg) !important;
  box-shadow: none !important; transition: all .25s !important; font-weight: 400 !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #place_order:hover,
.woocommerce #respond input#submit:hover {
  background: var(--gold) !important; border-color: var(--gold) !important; color: #fff !important;
}
/* Layout de producto */
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.woocommerce div.product .images, .woocommerce div.product .summary { float: none !important; width: auto !important; margin: 0 !important; }
.woocommerce div.product .woocommerce-product-gallery { width: 100% !important; }
@media (max-width:900px){ .woocommerce div.product { grid-template-columns: 1fr; gap: 30px; } }
/* Fila de garantías */
.wc-trust{ display:flex; flex-wrap:wrap; gap:16px; margin-top:22px; padding-top:22px; border-top:1px solid var(--line); }
.wc-trust div{ font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--mid); display:flex; align-items:center; gap:8px; }
.wc-trust div::before{ content:'\2713'; color:var(--gold); }
/* Tienda (grid de productos) */
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 20px !important; padding: 12px 0 6px; }
.woocommerce ul.products li.product { background: var(--bg); }
/* Carrito y checkout */
.woocommerce table.shop_table { border-color: var(--line) !important; font-family: var(--sans); }
.woocommerce table.shop_table th { font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3, .woocommerce-billing-fields h3 { font-family: var(--serif) !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce .select2-selection {
  border: 1px solid var(--line-md) !important; border-radius: 3px !important; padding: 12px 14px !important; font-family: var(--sans) !important;
}
.woocommerce-message, .woocommerce-info { border-top-color: var(--gold) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--gold) !important; }

/* Colección: 3 productos centrados y separados */
.shop-grid.shop-grid-3 { grid-template-columns:repeat(3,1fr); max-width:1060px; margin:0 auto; gap:40px; background:transparent; }
.shop-grid.shop-grid-3 .tcard-thumb { aspect-ratio:4/5; }
.shop-grid.shop-grid-3 .tcard-body { padding:18px 4px 0; }
@media (max-width:900px){ .shop-grid.shop-grid-3 { grid-template-columns:1fr; max-width:420px; gap:32px; } }

/* ═══ WooCommerce — página de producto refinada ═══ */
.single-product .wc-wrap { padding: 88px 0 90px; }
.woocommerce div.product { grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }
.woocommerce div.product .woocommerce-product-gallery { position: sticky; top: 100px; }
.woocommerce div.product .woocommerce-product-gallery__wrapper img,
.woocommerce div.product .woocommerce-product-gallery img { border-radius: 8px; }
.woocommerce span.onsale { display: none; }
.woocommerce div.product .summary { padding-top: 4px; }
.woocommerce div.product .product_title { display: block !important; font-family: var(--serif) !important;
  font-weight: 400 !important; font-size: clamp(32px,3.6vw,52px) !important; line-height: 1.02 !important;
  letter-spacing: -.02em !important; color: var(--fg) !important; margin: 0 0 14px !important; }
.woocommerce div.product p.price { margin: 0 0 26px !important; }
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 15.5px; line-height: 1.75; color: var(--mid);
  margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid var(--line); }
.woocommerce div.product form.cart { margin: 0 0 22px !important; }
.woocommerce div.product form.cart .single_add_to_cart_button { width: 100%; padding: 18px 30px !important; }
.woocommerce div.product form.cart .quantity { display: none; }
#wc-stripe-express-checkout-element, .wc-stripe-product-checkout-container,
.wc-stripe-payment-request-wrapper { margin: 6px 0 26px !important; }
.wc-trust { border-top: 1px solid var(--line); margin-top: 26px; padding-top: 24px; }
.woocommerce div.product .product_meta { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line);
  font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--soft); line-height: 2; }
.woocommerce div.product .product_meta > span { display: block; }
.woocommerce div.product .product_meta a { color: var(--mid); text-decoration: none; }
.woocommerce div.product .product_meta a:hover { color: var(--gold); }

/* Pestañas Descripción / Reseñas */
.woocommerce div.product .woocommerce-tabs { margin-top: 84px; border-top: 1px solid var(--line); padding-top: 52px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 0 34px !important; display: flex; gap: 30px; border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; margin: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: var(--mono) !important; font-size: 11px !important;
  letter-spacing: .16em !important; text-transform: uppercase !important; color: var(--soft) !important; padding: 0 0 8px !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--fg) !important; box-shadow: inset 0 -1px 0 var(--gold); }
.woocommerce div.product .woocommerce-Tabs-panel { max-width: 820px; }
.woocommerce div.product .woocommerce-Tabs-panel h2 { font-family: var(--serif) !important; font-weight: 400 !important; font-size: 26px !important; margin-bottom: 14px !important; }
.woocommerce div.product .woocommerce-Tabs-panel p,
.woocommerce div.product .woocommerce-Tabs-panel li { color: var(--mid); line-height: 1.85; }

/* Productos relacionados */
.woocommerce .related.products { margin-top: 92px; border-top: 1px solid var(--line); padding-top: 56px; }
.woocommerce .related.products > h2 { font-family: var(--serif) !important; font-weight: 400 !important;
  font-size: clamp(28px,3vw,40px) !important; letter-spacing: -.02em; margin-bottom: 36px !important; }
.woocommerce .related.products ul.products { gap: 30px; }
.woocommerce ul.products li.product a img { border-radius: 8px; margin-bottom: 16px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--serif) !important; font-size: 20px !important; padding: 6px 0 4px !important; }
.woocommerce ul.products li.product .price { font-size: 17px !important; }
.woocommerce ul.products li.product .button { margin-top: 12px; }

@media (max-width:900px){ .woocommerce div.product { grid-template-columns: 1fr; gap: 30px; } .woocommerce div.product .woocommerce-product-gallery { position: static; } }

/* ═══ Icono de carrito en el menú ═══ */
.nav-cart-li { display: flex; align-items: center; }
.nav-cart { position: relative; display: inline-flex; align-items: center; color: var(--fg); text-decoration: none; margin-left: 6px; transition: color .2s; }
.nav-cart:hover { color: var(--gold); }
.nav-cart svg { display: block; }
.nav-cart-count { position: absolute; top: -8px; right: -10px; min-width: 17px; height: 17px; padding: 0 4px;
  border-radius: 9px; background: var(--gold); color: #fff; font-family: var(--mono); font-size: 9px;
  display: flex; align-items: center; justify-content: center; line-height: 1; }
.nav-cart-count.is-zero { display: none; }
/* En la home el menú va sobre fondo oscuro: icono claro */
nav.on-dark:not(.scrolled) .nav-cart { color: #F7F4EF; }
nav.on-dark:not(.scrolled) .nav-cart:hover { color: var(--gold-lt); }

/* ═══ MENÚ MÓVIL (hamburguesa) + HERO responsive ═══ */
.nav-right { display: flex; align-items: center; gap: 20px; }
.nav-toggle { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 34px; height: 34px;
  background: none; border: 0; padding: 0; cursor: pointer; color: var(--fg); z-index: 810; }
nav.on-dark:not(.scrolled) .nav-toggle { color: #F7F4EF; }
.nav-toggle span { display: block; width: 22px; height: 2px; background: currentColor; transition: transform .3s, opacity .3s; }
nav.nav-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
nav.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
nav.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
body.nav-lock { overflow: hidden; }

@media (max-width: 860px) {
  nav { padding: 0 22px; }
  .nav-logo { font-size: 13px !important; line-height: 1.35; max-width: 190px; }
  .nav-toggle { display: inline-flex; }
  nav.nav-open .nav-toggle, nav.nav-open .nav-cart { color: var(--fg) !important; }
  .nav-links {
    position: fixed; top: 0; right: 0; height: 100vh; width: min(82vw, 300px);
    background: var(--bg); flex-direction: column; align-items: flex-start; justify-content: flex-start;
    gap: 6px; padding: 92px 30px 40px; transform: translateX(100%);
    transition: transform .38s var(--ease-out); box-shadow: -16px 0 50px rgba(16,15,13,.16); z-index: 790;
  }
  nav.nav-open .nav-links { transform: translateX(0); }
  .nav-links li { width: 100%; }
  .nav-links .nav-link { color: var(--fg) !important; font-size: 12px !important; display: block; padding: 13px 0 !important; }
  .nav-links .nav-cta { display: inline-block; margin-top: 14px; padding: 12px 24px !important; }
}

@media (max-width: 768px) {
  .hero-h1 { font-size: clamp(44px, 13.5vw, 78px) !important; padding: 0 18px !important; line-height: .95 !important; }
  .hero-corner { display: none !important; }
  .hero-content { padding-top: 110px !important; }
  .hero-sub-row { margin-bottom: 56px !important; gap: 18px !important; }
  .hero-body { padding: 0 8px; }
  .hero-btns { flex-direction: column; align-items: stretch; gap: 12px; width: 100%; padding: 0 10px; }
  .hero-btns a { width: 100%; justify-content: center; text-align: center; }
}

/* ═══ Sección destacada (Featured) — responsive ═══ */
@media (max-width: 820px) {
  .featured { padding: 70px 0 64px; }
  .featured-in { grid-template-columns: 1fr !important; gap: 44px; }
  .f-preview { height: auto; }
  .fp-main { position: relative; left: auto; top: auto; width: 100%; height: auto; aspect-ratio: 4 / 3;
    box-shadow: 0 20px 50px rgba(16,15,13,.14); }
  .fp-main img, .fp-main .fp-main-placeholder { height: 100%; }
  .fp-thumb { position: relative; right: auto; bottom: auto; width: 55%; height: auto; aspect-ratio: 4 / 3;
    margin: -48px 0 0 auto; }
  .fp-badge { display: none; }
}

/* ═══ Plugin Spotlight (Leads Manager) — responsive ═══ */
@media (max-width: 820px) {
  .plugin-spot { padding: 58px 0 70px; }
  .plug-in { grid-template-columns: 1fr !important; gap: 46px; align-items: start !important; }
  .plug-desc { max-width: none; }
  .plug-feats { gap: 24px 26px; margin-bottom: 34px; }
  .plug-btns { flex-direction: column; align-items: stretch; gap: 12px; }
  .plug-btns a, .plug-btns .btn-light, .plug-btns .btn-outline-light { width: 100%; justify-content: center; text-align: center; }
  /* Visual del plugin: debajo del listado, con altura propia (evita que se colapse) */
  .plug-in > .r.d2 { position: relative; aspect-ratio: 4 / 3.2; min-height: 300px; margin-top: 4px; }
  .plug-badge { top: -12px; }
}

/* ═══ Plugin Spotlight — botones de lado, iguales y más anchos (móvil) ═══ */
@media (max-width: 820px) {
  .plug-btns { flex-direction: row !important; gap: 12px; align-items: stretch; }
  .plug-btns > a,
  .plug-btns .btn-light,
  .plug-btns .btn-outline-light {
    flex: 1 1 0 !important; width: auto !important; min-width: 0;
    display: inline-flex; align-items: center; justify-content: center; text-align: center;
    padding: 16px 10px !important; font-size: 9px !important; letter-spacing: .1em !important; line-height: 1.4;
  }
}

/* ═══ "¿Por qué elegirnos?" (why) — responsive ═══ */
@media (max-width: 820px) {
  .why { padding: 64px 0; }
  .why-in { grid-template-columns: 1fr !important; gap: 40px; }
  .why-left { position: static !important; top: auto !important; }
  .why-desc { max-width: none; }
  .feat-list { padding-top: 0; }
  .feat-item { padding: 30px 0; grid-template-columns: 40px 1fr; gap: 18px; }
  .feat-name { font-size: 24px !important; }
  .feat-desc { max-width: none; }
}

/* ═══ "En marcha en 4 pasos" (steps) — 2×2 en móvil ═══ */
@media (max-width: 820px) {
  .steps { grid-template-columns: 1fr 1fr !important; }
  .step { padding: 40px 24px; }
  .step::before { font-size: 84px; top: -10px; right: 12px; }
}

/* ═══ Sección "Sobre" (about) — fotos debajo del texto en móvil ═══ */
@media (max-width: 820px) {
  .about { padding: 64px 0; }
  .about-in { grid-template-columns: 1fr !important; gap: 44px; align-items: start; }
  .about-photos { order: 2; position: relative; height: auto; }
  .ap-main { position: relative; left: auto; top: auto; width: 100%; height: auto; aspect-ratio: 4 / 5;
    box-shadow: 0 20px 50px rgba(16,15,13,.13); }
  .ap-main img, .ap-main .ap-main-placeholder { height: 100%; }
  .ap-accent { position: relative; right: auto; bottom: auto; width: 56%; height: auto; aspect-ratio: 4 / 5;
    margin: -60px 0 0 auto; }
  .about-b { max-width: none; }
}

/* ═══ FAQ — apilado en móvil (título arriba, preguntas a lo ancho) ═══ */
@media (max-width: 820px) {
  .faq { padding: 64px 0; }
  .faq-in { grid-template-columns: 1fr !important; gap: 34px; }
  .faq-left { position: static !important; top: auto !important; }
  .faq-a-inner { max-width: none; }
  .faq-q { font-size: 20px !important; }
}

/* ═══ Footer responsive + anti-desbordamiento horizontal (móvil) ═══ */
html, body { max-width: 100%; overflow-x: hidden; }
@media (max-width: 820px) {
  .ft { grid-template-columns: 1fr 1fr !important; gap: 36px 24px; margin-bottom: 44px; }
  .ft > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 460px) {
  .ft { grid-template-columns: 1fr !important; gap: 30px; }
}

/* ═══ Nav visible en páginas internas + ficha de producto móvil ═══ */
nav:not(.on-dark) { background: rgba(250,249,246,.95); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line); box-shadow: 0 6px 20px rgba(16,15,13,.05); }
@media (max-width: 900px) {
  .woocommerce div.product .woocommerce-product-gallery { margin-bottom: 36px !important; }
  .woocommerce div.product .product_title { margin-top: 4px !important; margin-bottom: 12px !important; }
  .woocommerce div.product p.price { margin-top: 2px !important; }
}

/* Botón "Ver plantillas" del menú móvil: texto claro sobre fondo oscuro */
@media (max-width: 860px) {
  .nav-links .nav-cta { color: #fff !important; background: var(--fg) !important; border-color: var(--fg) !important; }
}

/* ═══ Ficha de producto: evitar que la galería se solape con el título ═══ */
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .images {
  float: none !important; width: 100% !important; margin: 0 0 34px !important;
}
.woocommerce div.product .summary {
  float: none !important; width: auto !important; margin: 0 !important; clear: both; position: relative; z-index: 2;
}
.woocommerce div.product .product_title { position: relative; z-index: 2; }
@media (max-width: 900px) {
  .woocommerce div.product .woocommerce-product-gallery { margin-bottom: 40px !important; }
}

/* ═══ Título de producto a todo el ancho, ARRIBA de la imagen ═══ */
.woocommerce div.product > .product_title { grid-column: 1 / -1; order: -1; margin: 0 0 26px !important; }
/* Menú móvil: forzar textos oscuros del panel aunque el nav sea "on-dark" (mayor especificidad) */
@media (max-width: 860px) {
  nav.on-dark:not(.scrolled) .nav-links .nav-link:not(.nav-cta),
  nav .nav-links .nav-link:not(.nav-cta) { color: var(--fg) !important; }
  nav.on-dark:not(.scrolled) .nav-links .nav-cta,
  nav .nav-links .nav-cta { background: var(--fg) !important; color: #fff !important; border-color: var(--fg) !important; }
}

/* ═══ Hero móvil: título más junto y contenido arriba (no pisar el portátil) ═══ */
@media (max-width: 768px) {
  .hero-content { padding-top: 92px !important; justify-content: flex-start !important; }
  .hero-h1 { font-size: clamp(38px, 11.5vw, 62px) !important; line-height: .9 !important; letter-spacing: -.02em !important; }
  .hero-sub-row { margin-top: 34px !important; margin-bottom: 0 !important; }
}

/* ═══ Vídeo de fondo del hero (cubre toda la sección) ═══ */
.hero-video-bg { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.hero-video-bg iframe {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 100vw; height: 56.25vw;         /* 16:9 según el ancho */
  min-height: 100%; min-width: 177.78vh;  /* 16:9 según el alto → asegura cubrir */
  border: 0; pointer-events: none;
}

/* Vídeo de fondo del hero: cubrir al 100% sin franjas negras */
.hero-video-bg iframe {
  top: 50%; left: 50%; transform: translate(-50%, -50%) scale(1.02);
  width: 100%; height: 100%; min-width: 100%; min-height: 100%;
}

/* Vídeo de fondo del hero — cubrir garantizado (sin franjas negras, también YouTube) */
.hero-video-bg iframe {
  position: absolute !important; top: 50% !important; left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: max(100vw, 177.78vh) !important;
  height: max(56.25vw, 100vh) !important;
  min-width: 0 !important; min-height: 0 !important;
  border: 0 !important; pointer-events: none;
}

/* Vídeo hero: cubrir SIEMPRE el ancho (recorta arriba/abajo, sin franjas negras) */
.hero .hero-photo-bg .hero-video-bg { position: absolute; inset: 0; overflow: hidden; }
.hero .hero-photo-bg .hero-video-bg iframe {
  position: absolute !important; top: 50% !important; left: 50% !important;
  transform: translate(-50%, -50%) scale(1.02) !important;
  width: max(100vw, 178vh) !important;
  height: max(100vh, 56.26vw) !important;
  min-width: 0 !important; min-height: 0 !important;
  max-width: none !important; max-height: none !important;
  border: 0 !important; pointer-events: none;
}

/* Parche: recortar (zoom) el vídeo para tapar los negros grabados del archivo */
.hero .hero-photo-bg .hero-video-bg iframe { transform: translate(-50%, -50%) scale(1.18) !important; }

/* Zoom del vídeo del hero controlado desde ACF (--hero-zoom) */
.hero .hero-photo-bg .hero-video-bg iframe { transform: translate(-50%, -50%) scale(var(--hero-zoom, 1)) !important; }

/* ── Ajustes hero móvil (home): título más junto, botones más abajo, fondo algo más oscuro ── */
@media (max-width: 768px) {
  .hero-h1 { line-height: .78 !important; }
  .hero-content { justify-content: flex-start !important; }
  /* Empujar subtítulo+botones al fondo del hero, justo encima del marquee */
  .hero-sub-row { margin-top: auto !important; margin-bottom: 40px !important; gap: 24px !important; }
  .hero-photo-bg::before { content: ''; position: absolute; inset: 0; background: rgba(6,5,4,.22); z-index: 1; pointer-events: none; }
}

/* ── Home: Featured sin precio → una sola línea encima de los botones ── */
.f-btns { border-top: 1px solid var(--line); padding-top: 40px; margin-top: 4px; }
@media (max-width: 768px) { .f-btns { padding-top: 30px; } }

/* ── Home: banda de 2 fotos a todo el ancho (franjas blancas) ── */
.photo-band { width: 100%; background: #fff; padding: 10px 0; }
.photo-band-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.photo-band-item { overflow: hidden; background: var(--cream); }
.photo-band-item img { width: 100%; height: 100%; object-fit: cover; display: block; aspect-ratio: 4/3; }
@media (max-width: 768px) { .photo-band-row { grid-template-columns: 1fr; gap: 10px; } }

/* ── Home: foto centrada bajo los 4 pasos ── */
.proc-photo { margin: 72px auto 0; max-width: 900px; }
.proc-photo img { width: 100%; height: auto; display: block; border-radius: 2px; }
@media (max-width: 768px) { .proc-photo { margin-top: 48px; max-width: 100%; } }

/* Descripción del plugin (Leads Manager): respetar párrafos/saltos y formato */
.plug-desc p { margin: 0 0 14px; color: inherit; font-size: inherit; line-height: inherit; }
.plug-desc p:last-child { margin-bottom: 0; }

/* ── Template Ember: sección 1 (featured invertido: foto izq, texto der) ── */
.featured-rev .featured-in { grid-template-columns: 1.1fr 1fr; }
.featured-rev .fp-badge { right: auto; left: -6px; border-radius: 0 2px 2px 0; }

/* ── Template Ember: sección 2 (título + foto debajo | texto derecha) ── */
.ember-more { padding: 30px 0 130px; }
.ember-more-in { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.ember-more-title { font-family: var(--serif) !important; font-weight: 300 !important; font-size: clamp(40px,5.2vw,68px) !important; line-height: .96 !important; letter-spacing: -.025em; color: var(--fg) !important; margin-bottom: 30px; }
.ember-more-title em { font-style: italic; color: var(--gold); }
.ember-more-photo { aspect-ratio: 16/11; overflow: hidden; border-radius: 3px; }
.ember-more-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ember-more-right { padding-top: 10px; }
.ember-more-right p { font-size: 15px; line-height: 1.9; color: var(--mid); margin-bottom: 20px; }
.ember-more-right p:last-child { margin-bottom: 0; }

/* ── Colección a 4 columnas ── */
.shop-grid.shop-grid-4 { grid-template-columns: repeat(4,1fr); }
@media (max-width:1000px){ .shop-grid.shop-grid-4 { grid-template-columns: repeat(2,1fr); } }
@media (max-width:560px){ .shop-grid.shop-grid-4 { grid-template-columns: 1fr; } }
@media (max-width:768px){ .ember-more-in { grid-template-columns: 1fr !important; gap: 34px; } }

/* Ember: imagen pequeña horizontal y un poco más abajo (tapa menos la grande) */
.featured-rev .fp-thumb { width: 60%; height: 34%; right: 0; bottom: -22px; }
