/* ================================================================
   LIMONAZUL — HOME (edición editorial)
   Papel marfil, tinta azul y latón. Titulares en serif de alto
   contraste; DM Sans en versalitas con tracking amplio para
   etiquetas y botones. El logo y los azules de la marca se
   conservan: el latón sólo acompaña.
   Todo vive bajo body.ed para no tocar el panel ni los formularios.
   ================================================================ */

body.ed{
  --paper:#f6f2e9;        /* marfil cálido  */
  --paper-2:#efe9db;      /* banda de papel */
  --ink:#10182f;          /* tinta          */
  --ink-70:#4a5267;       /* texto apagado  */
  --brass:#9d7a2c;        /* latón          */
  --brass-lt:#c8a864;     /* latón claro    */
  --rule:rgba(16,24,47,.14);
  --font-serif:'Cormorant Garamond', 'Times New Roman', Georgia, serif;
  background:var(--paper);
  color:var(--ink);
  overflow-x:hidden;
}
/* el body es flex column: sin esto, la cinta y la barra fijan un min-content
   más ancho que la pantalla y la portada se desborda en móvil */
body.ed > *{ min-width:0; max-width:100%; }
body.ed::before{ /* veladura cálida, apenas perceptible */
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(120% 80% at 50% 0%, rgba(255,255,255,.55), transparent 60%);
}

.home{ flex:1; width:100%; }
.home > .flash{ max-width:1200px; margin:18px auto 0; padding:0 clamp(20px,5vw,48px); }
.container{ width:100%; max-width:1200px; margin:0 auto; padding:0 clamp(20px,5vw,48px); }

/* ---------- Cabecera y pie en modo portada ---------- */
body.ed .topbar{ background:rgba(246,242,233,.88); backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--rule); }
body.ed .topbar-in{ max-width:1200px; padding:16px clamp(20px,5vw,48px); }
body.ed .nav{ gap:26px; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; font-weight:500; }
body.ed .nav a{ color:var(--ink-70); text-decoration:none; transition:color .2s; }
body.ed .nav a:hover{ color:var(--ink); }
body.ed .nav-cta{ border:1px solid var(--ink); border-radius:0; padding:10px 16px; color:var(--ink); }
body.ed .nav-cta:hover{ background:var(--ink); color:var(--paper) !important; }
body.ed .site-foot{ background:transparent; border-top:1px solid var(--rule); padding:40px 20px; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-70); }
body.ed .site-foot a{ color:var(--ink-70); text-decoration:none; border-bottom:1px solid var(--rule); }
body.ed .site-foot a:hover{ color:var(--ink); border-color:var(--ink); }

/* ---------- Tipografía de la portada ---------- */
.ed-display{
  margin:0; font-family:var(--font-serif); font-weight:300;
  font-size:clamp(2.2rem,8vw,5.6rem); line-height:1.04; letter-spacing:-.015em;
  text-wrap:balance;
}
.ed-display em{ font-style:italic; color:var(--brass); }
.ed-title{
  margin:0; font-family:var(--font-serif); font-weight:400;
  font-size:clamp(2rem,4.4vw,3.1rem); line-height:1.1; letter-spacing:-.01em;
}
.ed-eyebrow{
  display:flex; align-items:center; gap:14px; margin:0 0 26px;
  font-size:.68rem; font-weight:500; letter-spacing:.28em; text-transform:uppercase; color:var(--brass);
}
.ed-eyebrow span{ opacity:.6; }
.ed-eyebrow::after{ content:""; flex:1; max-width:120px; height:1px; background:currentColor; opacity:.4; }
.ed-lead{ margin:26px 0 0; max-width:40ch; font-size:1.04rem; line-height:1.8; color:var(--ink-70); }
.ed-head{ margin-bottom:clamp(36px,5vw,56px); }
.ed-head .ed-eyebrow{ margin-bottom:18px; }

.ed-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 32px; border:1px solid var(--ink); background:var(--ink); color:var(--paper);
  font:500 .7rem/1 var(--font-body); letter-spacing:.2em; text-transform:uppercase;
  text-decoration:none; border-radius:0; transition:background .25s, color .25s;
}
.ed-btn:hover{ background:transparent; color:var(--ink); }
.ed-btn-light{ background:var(--paper); border-color:var(--paper); color:var(--ink); }
.ed-btn-light:hover{ background:transparent; color:var(--paper); }
.ed-link{
  font:500 .7rem/1 var(--font-body); letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink); text-decoration:none; padding-bottom:4px; border-bottom:1px solid var(--brass-lt);
  transition:border-color .25s, color .25s;
}
.ed-link:hover{ color:var(--brass); border-color:var(--brass); }

/* ---------- HERO ---------- */
.ed-hero{ padding:clamp(48px,8vw,90px) 0 clamp(56px,7vw,84px); overflow:hidden; }
.ed-hero-in{ display:grid; gap:clamp(40px,6vw,64px); align-items:center; }
.ed-url{
  display:inline-flex; align-items:center; margin:34px 0 0; padding-bottom:12px;
  border-bottom:1px solid var(--rule);
  font:400 1.1rem/1.2 var(--font-display); letter-spacing:.01em; color:var(--ink);
}
.ed-url em{ font-style:normal; color:var(--brass); }
.ed-url .dot{ width:6px; height:6px; margin-right:12px; border-radius:50%; background:var(--brass); box-shadow:0 0 0 4px rgba(157,122,44,.14); }
.ed-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 30px; margin-top:38px; }
.ed-note{ margin:22px 0 0; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-70); }

.ed-hero-art{ position:relative; margin:0; justify-self:center; width:100%; max-width:420px; aspect-ratio:1; display:grid; place-items:center; }
.ed-hero-art picture{ position:relative; z-index:2; width:78%; }
.ed-hero-art img{ width:100%; height:auto; filter:drop-shadow(0 30px 50px rgba(16,24,47,.18)); }
.ed-arc{ position:absolute; inset:4%; border:1px solid var(--rule); border-radius:50%; }
.ed-arc::after{ content:""; position:absolute; inset:9%; border:1px solid rgba(157,122,44,.3); border-radius:50%; }
.ed-seal{ position:absolute; z-index:3; right:-4%; bottom:-2%; width:32%; max-width:136px; color:var(--brass); }
.ed-seal-text{ font:500 11px/1 var(--font-body); letter-spacing:.2em; fill:currentColor; text-transform:uppercase; }

/* ---------- Cinta ---------- */
.ed-ticker{ border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:16px 0; overflow:hidden; }
.ed-ticker-row{ display:flex; width:max-content; gap:26px; align-items:center; white-space:nowrap; font-size:.7rem; letter-spacing:.26em; text-transform:uppercase; color:var(--ink-70); }
.ed-ticker-row i{ font-style:normal; color:var(--brass-lt); }

/* ---------- Secciones ---------- */
.ed-section{ padding:clamp(64px,9vw,120px) 0; }
.ed-templates{ background:var(--paper-2); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }

/* Cómo funciona — índice editorial */
.ed-index{ list-style:none; margin:0; padding:0; }
.ed-index li{ display:grid; grid-template-columns:auto 1fr; gap:20px 28px; align-items:start; padding:28px 0; border-top:1px solid var(--rule); }
.ed-index li:last-child{ border-bottom:1px solid var(--rule); }
.ed-num{ font-family:var(--font-serif); font-weight:300; font-size:clamp(2.2rem,5vw,3.4rem); line-height:.9; color:var(--brass-lt); transition:color .3s; }
.ed-index li:hover .ed-num{ color:var(--brass); }
.ed-index h3{ margin:0 0 8px; font-family:var(--font-serif); font-weight:500; font-size:1.5rem; line-height:1.2; letter-spacing:.005em; }
.ed-index p{ margin:0; max-width:52ch; color:var(--ink-70); font-size:.96rem; line-height:1.75; }

/* Diseños disponibles */
.ed-tpls{ display:grid; gap:clamp(30px,4vw,48px); }
.ed-tpl{ margin:0; }
.ed-tpl .mock{ box-shadow:0 26px 60px rgba(16,24,47,.14); transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s; }
.ed-tpl:hover .mock{ transform:translateY(-6px); box-shadow:0 36px 70px rgba(16,24,47,.2); }
.ed-tpl figcaption{ margin-top:22px; padding-top:16px; border-top:1px solid var(--rule); }
.ed-kicker{ display:block; font-family:var(--font-serif); font-weight:500; font-size:1.6rem; line-height:1.2; }
.ed-tpl figcaption p{ margin:6px 0 0; color:var(--ink-70); font-size:.94rem; }
.ed-soon{ display:flex; align-items:center; gap:16px; margin:clamp(40px,5vw,60px) 0 0; font-size:.7rem; letter-spacing:.26em; text-transform:uppercase; color:var(--ink-70); }
.ed-soon span{ flex:1; height:1px; background:var(--rule); }

/* ---------- Gratis (banda de tinta) ---------- */
.ed-free{ background:var(--ink); color:var(--paper); padding:clamp(64px,9vw,120px) 0; }
.ed-free-in{ display:grid; gap:clamp(40px,6vw,72px); align-items:center; }
.ed-free .ed-eyebrow{ color:var(--brass-lt); }
.ed-free .ed-title{ margin-bottom:34px; }
.ed-price{ display:grid; justify-items:center; text-align:center; }
.ed-price-amount{ font-family:var(--font-serif); font-weight:300; font-size:clamp(6rem,17vw,10rem); line-height:.85; letter-spacing:-.03em; }
.ed-price-label{ margin-top:22px; padding-top:16px; border-top:1px solid rgba(246,242,233,.3); font-size:.68rem; letter-spacing:.28em; text-transform:uppercase; color:var(--brass-lt); }
.ed-list{ list-style:none; margin:0 0 38px; padding:0; }
.ed-list li{ position:relative; padding:15px 0 15px 30px; border-top:1px solid rgba(246,242,233,.16); font-size:.98rem; color:rgba(246,242,233,.78); }
.ed-list li:last-child{ border-bottom:1px solid rgba(246,242,233,.16); }
.ed-list li::before{ content:"—"; position:absolute; left:0; color:var(--brass-lt); }
.ed-list strong{ color:var(--paper); font-weight:500; }

/* ---------- Cierre ---------- */
.ed-close{ padding:clamp(80px,11vw,150px) 0; text-align:center; }
.ed-close .container{ display:grid; justify-items:center; gap:clamp(32px,4vw,44px); }
.ed-close-title{ max-width:16ch; }

/* ---------- Movimiento ---------- */
@media (prefers-reduced-motion:no-preference){
  .ed-hero-text > *, .ed-hero-art{ animation:ed-rise .9s cubic-bezier(.2,.7,.2,1) both; }
  .ed-hero-text > *:nth-child(1){ animation-delay:.05s; }
  .ed-hero-text > *:nth-child(2){ animation-delay:.12s; }
  .ed-hero-text > *:nth-child(3){ animation-delay:.19s; }
  .ed-hero-text > *:nth-child(4){ animation-delay:.26s; }
  .ed-hero-text > *:nth-child(5){ animation-delay:.33s; }
  .ed-hero-text > *:nth-child(6){ animation-delay:.4s; }
  .ed-hero-art{ animation-delay:.18s; animation-duration:1.1s; }
  @keyframes ed-rise{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
  .ed-seal{ animation:ed-spin 34s linear infinite; }
  @keyframes ed-spin{ to{ transform:rotate(360deg); } }
  .ed-ticker-row{ animation:ed-marquee 42s linear infinite; }
  @keyframes ed-marquee{ to{ transform:translateX(-50%); } }
}

/* ---------- Miniaturas de los templates (su propio estilo, no el del sitio) ---------- */
.mock{ overflow:hidden; aspect-ratio:4/3; display:flex; flex-direction:column; background:#fff; }
.mock-t1{ background:#faf8f5; border:1px solid #e7e0d6; }
.mock-bar{ font:500 .55rem/1 'Playfair Display', Georgia, serif; letter-spacing:.3em; text-align:center; padding:8px; background:#fff; border-bottom:1px solid #e7e0d6; color:#181818; }
.mock-hero{ display:grid; grid-template-columns:1fr 1.1fr; gap:6%; padding:6%; flex:1; min-height:0; }
.mock-hero img{ width:100%; height:100%; object-fit:cover; }
.mock-hero div{ display:flex; flex-direction:column; justify-content:center; gap:6px; }
.mock-hero b{ font:600 clamp(1rem,3vw,1.7rem)/1.1 'Playfair Display', Georgia, serif; color:#181818; }
.mock-hero i{ font-family:'Playfair Display', Georgia, serif; color:#585249; font-size:.8rem; }
.mock-hero em{ display:block; width:46%; height:14px; background:#181818; margin-top:6px; }
.mock-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#e7e0d6; border-top:1px solid #e7e0d6; }
.mock-grid i{ height:18px; background:#fff; }
.mock-t2{ background:#0e0d0c; }
.mock-full{ display:flex; align-items:center; gap:6%; flex:1; min-height:0; padding:7%; }
.mock-full img{ width:42%; height:100%; object-fit:cover; object-position:center 25%; box-shadow:0 10px 24px rgba(0,0,0,.5); }
.mock-full b{ color:#f3efe8; font:500 clamp(1.1rem,3.6vw,1.9rem)/1.05 'Bodoni Moda', Georgia, serif; letter-spacing:.02em; }
.mock-strip{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:#2a2825; }
.mock-strip i{ height:16px; background:#171615; }
.mock-sq{ display:grid; grid-template-columns:repeat(3,1fr); gap:4px; padding:4px; }
.mock-sq i{ height:22px; background:#2a2825; }

/* ---------- Responsive ---------- */
@media (min-width:700px){
  .ed-tpls{ grid-template-columns:repeat(2,1fr); }
  .ed-index li{ grid-template-columns:auto 1fr; gap:20px 44px; padding:34px 0; }
}
@media (min-width:980px){
  .ed-hero-in{ grid-template-columns:1.05fr .95fr; align-items:center; }
  .ed-hero-art{ max-width:520px; }
  .ed-free-in{ grid-template-columns:.75fr 1.25fr; }
  .ed-index li{ padding:40px 0; }
  .ed-index p{ font-size:1rem; }
}
@media (max-width:560px){
  .ed-hero{ padding-top:34px; }
  .ed-hero-art{ max-width:300px; }
  .ed-display br{ display:none; }   /* el titular se parte solo en pantallas chicas */
  .ed-actions{ gap:16px 22px; }
  .ed-actions .ed-btn{ flex:1 1 100%; }
  .ed-url{ font-size:.96rem; }
  .ed-eyebrow{ font-size:.62rem; letter-spacing:.2em; gap:10px; }
  .ed-seal{ width:28%; bottom:0; right:-2%; }
  body.ed .nav{ gap:14px; font-size:.6rem; letter-spacing:.1em; }
  body.ed .nav-cta{ padding:9px 11px; }
  body.ed .topbar-in{ gap:10px; }
}
