/* Boceto de grupoigneo.com con el diseño aprobado el 05/10/2026. La primera parte es la hoja de la plantilla aprobada
   (Dropbox › Rediseño web › 06 Plantillas web), sin cambios; abajo, lo que necesitan las demás páginas del boceto. */
/* Tipografías servidas desde la app (05/10/2026): la política de seguridad (CSP) bloquea Google Fonts, así que el boceto
   y la vista previa de notas salían con la letra del sistema. Jost y Source Serif 4, variables, latín y latín extendido. */
@font-face{font-family: 'Jost'; font-style: italic; font-weight: 400 600; font-display: swap; src: url(fonts/jost-italic-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family: 'Jost'; font-style: italic; font-weight: 400 600; font-display: swap; src: url(fonts/jost-italic-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family: 'Jost'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(fonts/jost-normal-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family: 'Jost'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(fonts/jost-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family: 'Source Serif 4'; font-style: italic; font-weight: 400 700; font-display: swap; src: url(fonts/source-serif-4-italic-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family: 'Source Serif 4'; font-style: italic; font-weight: 400 700; font-display: swap; src: url(fonts/source-serif-4-italic-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family: 'Source Serif 4'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/source-serif-4-normal-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family: 'Source Serif 4'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/source-serif-4-normal-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0}
img{max-width:100%}
/* Web de Grupo Ígneo según el manual «Lo que queda» (octubre 2026): piedra clara, magma solo para lo nuevo,
   Jost para títulos y menús, Source Serif para leer. Un solo aspecto claro, elegido a propósito. */
:root{
  --ceniza2:#f4f1ec; --ceniza:#ebe7e0; --pomez:#cbc4b8; --basalto:#2a2622; --basalto2:#4d4740;
  --brasa:#f5a524; --magma:#e04e10; --escoria:#a8280c;
  --veta-g:linear-gradient(90deg,var(--brasa),var(--magma) 55%,var(--escoria));
  --tit:"Jost","Century Gothic",system-ui,sans-serif; --txt:"Source Serif 4",Georgia,serif;
  --ancho:1180px;
  color-scheme:light;
}
body{background:var(--ceniza2);color:var(--basalto);font:17px/1.6 var(--txt)}
a{color:inherit;text-decoration:none}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.etq{font:500 12px/1 var(--tit);letter-spacing:.18em;text-transform:uppercase;color:var(--escoria);margin:0 0 12px}
h1,h2,h3,h4{font-family:var(--tit);font-weight:500;margin:0;text-wrap:balance}
h2{font-size:clamp(28px,3.6vw,40px);line-height:1.05;letter-spacing:-.015em}
h3{font-size:21px;line-height:1.2}
.veta{width:96px;height:6px;border-radius:6px;background:var(--veta-g);box-shadow:0 0 16px rgba(224,78,16,.4);margin-top:16px}
.veta.apagada{background:var(--basalto);box-shadow:none}
.nota{font-size:14px;color:var(--basalto2)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;background:var(--basalto);color:var(--ceniza2);font:500 14px/1 var(--tit);letter-spacing:.12em;text-transform:uppercase;border:1.5px solid var(--basalto);border-radius:2px;cursor:pointer}
.btn.btn-sec{background:transparent;color:var(--basalto)}
.btn:hover{background:var(--basalto2)} .btn.btn-sec:hover{background:var(--basalto);color:var(--ceniza2)}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--magma);outline-offset:3px}
.botones{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* cabecera y pie */
.cab-web{background:var(--ceniza2);border-bottom:1px solid var(--pomez)}
.cw-in{max-width:var(--ancho);margin:0 auto;padding-inline:20px;padding-block:16px;display:flex;align-items:center;gap:20px 34px;flex-wrap:wrap}
.cw-logo img{height:38px;width:auto;display:block}
.cw-menu{display:flex;flex-wrap:wrap;gap:6px 26px;font:500 14px/1 var(--tit);letter-spacing:.12em;text-transform:uppercase;flex:1}
.cw-menu a{padding:6px 0;border-bottom:2px solid transparent}
.cw-menu a[aria-current="page"]{border-color:var(--magma)}
.cw-acc{display:flex;gap:18px;align-items:center;font:500 13px/1 var(--tit);letter-spacing:.1em;text-transform:uppercase}
.cw-busca{font-size:20px}
.pie-web{background:var(--basalto);color:var(--ceniza);margin-top:40px}
.pw-in{max-width:var(--ancho);margin:0 auto;padding-inline:20px;padding-block:52px 34px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px}
.pw-in > *{min-width:0}
.pw-logo{height:36px;width:auto}
.pie-web h4{font:500 13px/1 var(--tit);letter-spacing:.16em;text-transform:uppercase;color:var(--pomez);margin-bottom:14px}
.pie-web a{display:block;padding:4px 0}
.pie-web p{font-size:15px;color:var(--pomez)}
.pw-form{display:flex;gap:8px;flex-wrap:wrap}
.pw-form input{flex:1 1 160px;min-width:0;padding:11px 12px;border:1px solid var(--basalto2);background:#35302b;color:var(--ceniza2);font:15px var(--txt);border-radius:2px}
.pw-form button{padding:11px 16px;background:var(--ceniza2);color:var(--basalto);border:0;font:500 13px/1 var(--tit);letter-spacing:.1em;text-transform:uppercase;border-radius:2px;cursor:pointer}
.pw-legal{max-width:var(--ancho);margin:0 auto;padding-inline:20px;padding-block:18px 26px;border-top:1px solid var(--basalto2);display:flex;flex-wrap:wrap;gap:6px 26px;font:400 13px/1.4 var(--tit);color:var(--pomez)}

/* libro 3D */
.libro{position:absolute;width:calc(var(--w) + var(--t));height:var(--h);perspective:1800px}
.libro .in{position:absolute;left:var(--t);top:0;width:var(--w);height:var(--h);transform-style:preserve-3d;transform:rotateY(28deg)}
.libro img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translateZ(calc(var(--t) / 2));border-radius:0 3px 3px 0}
.libro .brillo{position:absolute;inset:0;transform:translateZ(calc(var(--t) / 2 + 1px));background:linear-gradient(90deg,rgba(0,0,0,.3),rgba(255,255,255,.18) 1.5%,rgba(0,0,0,.08) 3.5%,transparent 8%,rgba(255,255,255,.06) 60%,rgba(0,0,0,.1));border-radius:0 3px 3px 0}
.libro .lomo{position:absolute;top:0;left:0;width:var(--t);height:var(--h);background-size:auto 100%;background-position:left center;filter:brightness(.6);transform-origin:left center;transform:translateZ(calc(var(--t) / 2)) rotateY(90deg)}
.libro .sombra{position:absolute;left:10%;right:-6%;bottom:-18px;height:30px;background:radial-gradient(ellipse at center,rgba(42,38,34,.38),transparent 70%);filter:blur(6px)}

/* hero */
.hero{background:var(--ceniza);border-bottom:1px solid var(--pomez)}
.hero-in{max-width:var(--ancho);margin:0 auto;padding-inline:20px;padding-block:56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:30px;align-items:center}
.hero-in > *{min-width:0}
.hero h1{font-size:clamp(46px,7.4vw,92px);line-height:.96;letter-spacing:-.025em}
.bajada{font-size:19px;line-height:1.55;max-width:46ch;margin:22px 0 0}
.hero-libros{container-type:inline-size}
.estante{position:relative;height:60cqi}

.banda-paises{background:var(--ceniza2);border-bottom:1px solid var(--pomez)}
.bp-in{max-width:var(--ancho);margin:0 auto;padding-inline:20px;padding-block:16px;display:flex;flex-wrap:wrap;gap:8px 28px;align-items:baseline;font:500 15px/1.2 var(--tit);letter-spacing:.14em;text-transform:uppercase}
.bp-t{color:var(--basalto2);font-size:12px;letter-spacing:.18em}
.bp-p b{font-weight:500;color:var(--escoria);margin-right:6px}

/* secciones */
.sec{max-width:var(--ancho);margin:0 auto;padding-inline:20px;padding-block:56px 10px}
.sec-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:30px}
.ver{font:500 14px/1 var(--tit);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--basalto);padding-bottom:4px}
.grilla-libros{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:34px 26px}
.tarjeta{display:grid;gap:6px;align-content:start}
.tapa{aspect-ratio:2/3;display:flex;align-items:flex-end;justify-content:center;margin-bottom:8px}
/* Portada PLANA (sin la franja gris que traía pegada la imagen de la tienda) con una sombra suave y cálida del diseño.
   08/10/2026: «las imágenes planas no llevan esa sombra fea». El «marco» del 05/10 salía de sumar las dos sombras. */
.tapa img{max-width:100%;max-height:100%;width:auto;object-fit:contain;box-shadow:0 8px 18px rgba(42,38,34,.18);border-radius:1px 3px 3px 1px;transition:transform .25s}
.tarjeta:hover .tapa img{transform:translateY(-4px)}
.t-tit{font:500 18px/1.2 var(--tit)}
.t-aut{font:italic 400 16px/1.3 var(--txt);color:var(--basalto2)}
.t-pie{display:flex;justify-content:space-between;gap:8px;margin-top:4px;padding-top:8px;border-top:1px solid var(--pomez);font:500 12px/1 var(--tit);letter-spacing:.14em;text-transform:uppercase}
.t-pie .pais{color:var(--escoria)}
.t-pie .precio{letter-spacing:.04em;font-variant-numeric:tabular-nums}

.destacado{max-width:none;background:var(--ceniza);border-block:1px solid var(--pomez);margin-top:56px;padding-block:56px}
.dest-in{max-width:var(--ancho);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:30px;align-items:center}
.dest-in > *{min-width:0}
.dest-libro{container-type:inline-size;position:relative;height:clamp(380px,46vw,560px)}
.dest-txt h2{font-size:clamp(34px,4.6vw,56px);line-height:1}
.d-aut{font:500 14px/1.3 var(--tit);letter-spacing:.12em;text-transform:uppercase;color:var(--basalto2);margin:18px 0 0}
.d-sin{font-size:18px;line-height:1.6;max-width:52ch}

.desde-grilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}
.desde{background:var(--ceniza);border:1px solid var(--pomez);padding:22px;display:grid;gap:2px;transition:background .2s}
.desde:hover{background:var(--ceniza2)}
.d-de{font:italic 400 18px/1 var(--txt);color:var(--basalto2)}
.d-pais{font:500 40px/1.05 var(--tit);letter-spacing:-.02em}
.d-l{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--pomez)}
.d-l img{width:54px}
.d-l b{display:block;font:500 15px/1.25 var(--tit)} .d-l i{font:italic 400 14px/1.3 var(--txt);color:var(--basalto2)}

.feria{max-width:none;padding-block:0;margin-top:56px;background:var(--ceniza2)}
.fe-in{max-width:var(--ancho);margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:10px 40px;align-items:center;padding-block:44px;border-block:1px solid var(--pomez)}
.fe-in > *{min-width:0}
.fe-fecha{font:500 clamp(110px,16vw,200px)/.8 var(--tit);letter-spacing:-.05em;background:var(--veta-g);-webkit-background-clip:text;background-clip:text;color:transparent}
.fe-in p:last-child{font-size:18px;margin:16px 0 0;max-width:56ch}

.notas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:26px}
.nota{display:grid;gap:8px;align-content:start}
.n-img{aspect-ratio:3/2;overflow:hidden;background:var(--ceniza)}
.n-img img{width:100%;height:100%;object-fit:cover}
.n-cat{font:500 12px/1 var(--tit);letter-spacing:.16em;text-transform:uppercase;color:var(--escoria);margin-top:6px}
.n-tit{font:500 21px/1.2 var(--tit)}
.n-fecha{font:400 14px/1 var(--tit);color:var(--basalto2)}

.publica-band{max-width:none;margin-top:56px;padding-block:0}
.pb-in{max-width:var(--ancho);margin:0 auto;background:var(--ceniza);border:1px solid var(--pomez);padding:34px 30px;display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.pb-in > div{flex:1 1 380px;min-width:0}
.pb-in p:last-child{margin:12px 0 0;max-width:60ch}

/* página de libro */
.migas{max-width:var(--ancho);margin:0 auto;padding-inline:20px;padding-block:16px;font:400 14px/1.3 var(--tit);color:var(--basalto2)}
.ficha{background:var(--ceniza);border-block:1px solid var(--pomez)}
.ficha-in{max-width:var(--ancho);margin:0 auto;padding-inline:20px;padding-block:44px 56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:36px;align-items:start}
.ficha-in > *{min-width:0}
.f-escena{container-type:inline-size;position:relative;height:clamp(420px,50vw,620px)}
.f-tit{font-size:clamp(40px,5.2vw,64px);line-height:1;letter-spacing:-.02em}
.f-sub{font:italic 400 22px/1.3 var(--txt);color:var(--basalto2);margin:10px 0 0}
.f-aut{font-size:18px;margin:18px 0 0}
.f-compra{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-top:22px}
.f-precio{font:500 34px/1 var(--tit);font-variant-numeric:tabular-nums}
.f-nota{font:400 14px/1.3 var(--tit);color:var(--basalto2)}
.f-ficha{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 22px;margin:30px 0 0;padding-top:22px;border-top:1px solid var(--pomez)}
.f-ficha dt{font:500 11.5px/1 var(--tit);letter-spacing:.16em;text-transform:uppercase;color:var(--basalto2)}
.f-ficha dd{margin:6px 0 0;font:400 16px/1.35 var(--txt);overflow-wrap:anywhere}
.sin-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:40px;align-items:start}
.sin-in > *{min-width:0}
.sin-txt{font-size:18px;line-height:1.7;max-width:64ch}
.sin-txt h3{font-size:24px;margin:0 0 6px}
.autor-box{background:var(--ceniza);border:1px solid var(--pomez);padding:26px}
.a-desde{font:italic 400 18px/1 var(--txt);color:var(--basalto2);margin:0}
.autor-box h3{font-size:28px;margin:4px 0 0}

/* publica con nosotros */
.hero-serv h1{font-size:clamp(44px,6.8vw,84px)}
.pasos-pub{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:22px;counter-reset:p}
.pasos-pub li{counter-increment:p;border-top:2px solid var(--basalto);padding-top:18px;display:grid;gap:8px}
.pasos-pub li::before{content:counter(p);font:500 46px/1 var(--tit);color:var(--escoria)}
.pasos-pub b{font:500 22px/1.2 var(--tit)}
.pasos-pub span{font-size:17px;color:var(--basalto2)}
.zona-planes{max-width:none;background:var(--ceniza);border-block:1px solid var(--pomez);margin-top:56px;padding-block:56px}
.zona-planes > *{max-width:var(--ancho);margin-left:auto;margin-right:auto}
.bajada-s{margin:12px 0 0}
.paises-sel{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.paises-sel button{padding:10px 16px;border:1.5px solid var(--basalto);background:transparent;color:var(--basalto);font:500 13px/1 var(--tit);letter-spacing:.12em;text-transform:uppercase;border-radius:99px;cursor:pointer}
.paises-sel button[aria-pressed="true"]{background:var(--basalto);color:var(--ceniza2)}
.planes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:22px;align-items:start}
.plan{background:var(--ceniza2);border:1px solid var(--pomez);padding:28px 24px;display:grid;gap:12px;position:relative;align-content:start}
.plan .btn{justify-self:start}
.planes[hidden],.vista[hidden]{display:none!important}
.plan.destacado{border:2px solid var(--basalto)}
.insignia{position:absolute;top:-13px;left:24px;background:var(--veta-g);color:#fff;font:500 11.5px/1 var(--tit);letter-spacing:.14em;text-transform:uppercase;padding:7px 12px}
.plan h3{font-size:26px}
.pl-desc{margin:0;font-size:16px;color:var(--basalto2)}
.pl-precio{margin:6px 0;font:500 40px/1 var(--tit);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
/* el precio, en magma (Álvaro 05/10): el número lleva el degradado; «A partir de» y el asterisco quedan en gris */
.pl-precio .monto{background:var(--veta-g);-webkit-background-clip:text;background-clip:text;color:transparent}
.pl-precio small{display:block;font:400 13px/1.4 var(--tit);color:var(--basalto2);letter-spacing:.04em}
.pl-precio small:last-child{display:inline}
.pl-feats{margin:8px 0 0;padding:14px 0 0 18px;border-top:1px solid var(--pomez);display:grid;gap:5px;font-size:15px}
.pq-grilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:28px}
.pq-grilla p{font-size:16px;color:var(--basalto2)}
.pr-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:36px;align-items:start}
.pr-in > *{min-width:0}
.pr-form{display:grid;gap:6px;background:var(--ceniza);border:1px solid var(--pomez);padding:24px}
.pr-form label{font:500 12px/1 var(--tit);letter-spacing:.14em;text-transform:uppercase;margin-top:10px}
.pr-form input,.pr-form textarea{padding:11px 12px;border:1px solid var(--pomez);background:var(--ceniza2);font:16px var(--txt);color:var(--basalto);border-radius:2px;min-width:0}
.pr-form .btn{margin-top:16px;justify-self:start}

@media (max-width:760px){
  .cw-menu{display:none}
  .cw-acc::before{content:'Menú';font:500 13px/1 var(--tit);letter-spacing:.12em;text-transform:uppercase;border:1.5px solid var(--basalto);padding:8px 12px;border-radius:2px}
  .cw-in{justify-content:space-between}
}
@media (max-width:640px){
  .hero-in{padding-block:36px}
  .estante{height:66cqi}
  .fe-in{grid-template-columns:1fr}
  .sec{padding-block:40px 6px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* destacados: tres libros con título propio (una trilogía, una colección) */
.trilogia{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:28px}
.tri{display:grid;gap:6px;justify-items:center;text-align:center}
.tri-libro{container-type:inline-size;position:relative;width:100%;height:clamp(300px,30vw,360px)}
.destacado{margin-top:0}

/* carrusel del cabezal: tres libros, el del centro grande y los de los lados más chicos y atrás */
.carrusel .c-item{position:absolute;left:0;top:0;width:calc(30cqi + 4cqi);height:48cqi;display:block;transform-origin:50% 0;
  transition:transform .9s cubic-bezier(.6,.05,.25,1),opacity .9s,filter .9s;color:inherit}
.carrusel .c-item .libro{left:0;top:0}
.carrusel .c-item[data-pos=centro]{transform:translate(31cqi,1cqi) scale(1);z-index:3}
.carrusel .c-item[data-pos=izq]{transform:translate(2cqi,10cqi) scale(.78);z-index:1;filter:saturate(.85) brightness(.96);cursor:pointer}
.carrusel .c-item[data-pos=der]{transform:translate(64cqi,10cqi) scale(.78);z-index:2;filter:saturate(.85) brightness(.96);cursor:pointer}
.carrusel .c-item:focus-visible{outline:2px solid var(--magma);outline-offset:6px}
.c-puntos{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:10px}
.c-puntos button{width:30px;height:5px;border:0;border-radius:5px;background:var(--pomez);cursor:pointer;padding:0;transition:background .4s,width .4s}
.c-puntos button[aria-pressed=true]{background:var(--veta-g);width:46px}
@media (prefers-reduced-motion: reduce){.carrusel .c-item{transition:none}}

/* foto del autor: chica, cabeza y hombros, al lado del nombre; solo si la mandó */
.a-cab{display:flex;gap:18px;align-items:center}
.a-cab > div{min-width:0}
.a-foto{flex:0 0 auto;width:112px;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;filter:grayscale(1) contrast(1.05);border-bottom:4px solid var(--magma)}

/* ───────── Lo que suma el boceto de la app ───────── */
p{margin:0 0 14px}
main{display:block}
.boceto-c{background:var(--basalto);color:var(--ceniza2);font:400 13px/1.3 var(--tit);padding:8px 16px;text-align:center}
.boceto-c select{font:inherit;margin-left:4px;padding:3px 6px;border-radius:2px;border:0}
a.lk,.sin-txt a,.cuerpo a,.nota a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--pomez)}

/* cabezal: buscador, carrito y menú del celular (un botón de verdad) */
.cw-buscar input{width:150px;padding:8px 10px;border:1px solid var(--pomez);background:transparent;font:400 15px var(--txt);color:var(--basalto);border-radius:2px}
.cw-buscar input:focus{outline:2px solid var(--magma);outline-offset:1px;background:#fff}
.cw-carro{white-space:nowrap}
.cw-boton{display:none;font:500 13px/1 var(--tit);letter-spacing:.12em;text-transform:uppercase;border:1.5px solid var(--basalto);background:transparent;color:var(--basalto);padding:9px 12px;border-radius:2px;cursor:pointer}
.pw-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.pie-web a:hover{color:#fff}
@media (max-width:860px){
  .cw-in{gap:12px 16px}
  .cw-boton{display:inline-block;order:3;margin-left:auto}
  .cw-acc{order:4;width:100%;justify-content:space-between}
  .cw-acc::before{content:none}
  .cw-buscar{flex:1}.cw-buscar input{width:100%}
  .cw-menu{display:none;order:5;width:100%;flex-direction:column;gap:0;border-top:1px solid var(--pomez)}
  .cw-menu.abierto{display:flex}
  .cw-menu a{padding:14px 0;border-bottom:1px solid var(--pomez)}
}

/* libro sin portada cargada: tapa lisa de piedra con el título */
.sin-tapa{display:flex;flex-direction:column;justify-content:space-between;gap:10px;width:100%;height:100%;padding:12%;background:var(--pomez);color:var(--basalto);border-radius:1px 3px 3px 1px}
.libro .sin-tapa{position:absolute;inset:0;transform:translateZ(calc(var(--t) / 2))}
.libro .lomo:not([style]){background:var(--basalto2)}
.sin-tapa b{font:500 clamp(13px,6cqi,22px)/1.15 var(--tit)}
.sin-tapa i{font:italic 400 clamp(11px,4cqi,15px)/1.2 var(--txt)}
.tapa .sin-tapa{aspect-ratio:2/3;height:auto;font-size:15px}

/* título de página interior */
.tit-pag{background:var(--ceniza);border-bottom:1px solid var(--pomez)}
.tp-in{max-width:var(--ancho);margin:0 auto;padding:44px 20px 40px}
.tit-pag h1{font-size:clamp(38px,5.6vw,68px);line-height:1;letter-spacing:-.02em}
.tit-pag .bajada{font-size:18px;max-width:60ch;margin-top:20px}
.sec.pegada{padding-top:34px}
.sec:last-of-type{padding-bottom:30px}

/* filtros del catálogo y del blog */
.filtros{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 320px}
.chip{padding:9px 15px;border:1.5px solid var(--basalto);border-radius:99px;font:500 13px/1 var(--tit);letter-spacing:.12em;text-transform:uppercase}
.chip[aria-current]{background:var(--basalto);color:var(--ceniza2)}
.campo-linea{padding:10px 12px;border:1px solid var(--pomez);background:#fff;font:400 16px var(--txt);color:var(--basalto);border-radius:2px;min-width:0}
.cuenta{font:400 14px/1 var(--tit);color:var(--basalto2);margin:18px 0 26px}
.vacio{background:var(--ceniza);border:1px solid var(--pomez);padding:34px 24px;text-align:center}

/* página de libro: cantidad junto a «Comprar» */
.f-form{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;align-items:stretch}
.cantidad{display:inline-flex;border:1.5px solid var(--basalto);border-radius:2px}
.cantidad button{width:42px;border:0;background:transparent;font:500 18px/1 var(--tit);color:var(--basalto);cursor:pointer}
.cantidad input{width:44px;border:0;background:transparent;text-align:center;font:500 16px/1 var(--tit);color:var(--basalto);font-variant-numeric:tabular-nums}
.sin-txt h2{font-size:24px;margin:22px 0 8px;letter-spacing:0}
.sin-txt h3{margin-top:22px}
.autor-box .otros{margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--pomez);display:grid;gap:6px;font-size:16px}
.autor-box .a-desde{margin-top:2px}

/* autores */
.autores{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:0 34px}
.autor-fila{display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:center;padding:18px 0;border-top:1px solid var(--pomez)}
.autor-fila img{width:58px}
.autor-fila b{display:block;font:500 20px/1.2 var(--tit)}
.autor-fila span{display:block;font:500 12px/1.4 var(--tit);letter-spacing:.14em;text-transform:uppercase;color:var(--escoria);margin-top:4px}
.autor-fila i{display:block;font:italic 400 15px/1.3 var(--txt);color:var(--basalto2);margin-top:4px}

/* blog */
.nota-grande{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:30px;align-items:center;padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--pomez)}
.nota-grande > *{min-width:0}
.nota-grande .n-img{aspect-ratio:3/2}
.nota-grande .n-tit{display:block;font-size:clamp(28px,3.4vw,40px);line-height:1.08;letter-spacing:-.015em;margin:10px 0 14px}
.nota-grande p{font-size:18px;color:var(--basalto2);max-width:52ch}
.articulo{max-width:760px;margin:0 auto;padding:10px 20px 20px}
.articulo h1{font-size:clamp(34px,5vw,56px);line-height:1.02;letter-spacing:-.02em}
.articulo .bajada{font-size:20px;max-width:none;color:var(--basalto2)}
.meta{display:flex;flex-wrap:wrap;gap:6px 22px;font:400 14px/1.3 var(--tit);color:var(--basalto2);padding:16px 0;margin:22px 0;border-block:1px solid var(--pomez)}
.art-img{margin:0 0 30px;background:var(--ceniza)}
.art-img img{display:block;width:100%}
.cuerpo{font-size:19px;line-height:1.75}
.cuerpo h2{font-size:28px;margin:34px 0 10px}.cuerpo h3{font-size:22px;margin:28px 0 8px}
.cuerpo img{height:auto}
.cuerpo blockquote{margin:26px 0;padding:4px 0 4px 22px;border-left:4px solid var(--basalto);font-style:italic}
.compartir{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:34px;padding-top:18px;border-top:1px solid var(--pomez);font:500 13px/1 var(--tit);letter-spacing:.12em;text-transform:uppercase}
.compartir a{border-bottom:1px solid var(--basalto);padding-bottom:3px}

/* nosotros */
.nos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:40px;align-items:center}
.nos > *{min-width:0}
.nos-lead{font-size:22px;line-height:1.5}
.nos p{font-size:18px;max-width:58ch}
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-top:30px}
.cifras div{border-top:2px solid var(--basalto);padding-top:14px}
.cifras b{display:block;font:500 28px/1.1 var(--tit);letter-spacing:-.01em}
.cifras span{font-size:15px;color:var(--basalto2)}
.nos-libros{container-type:inline-size}
.nos-libros .estante{height:62cqi}

/* contacto y distribución */
.canales{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:22px;margin-bottom:50px}
.canal{display:grid;gap:8px;border-top:2px solid var(--basalto);padding-top:18px;align-content:start}
.canal b{font:500 24px/1.2 var(--tit)}
.canal span{color:var(--basalto2)}
.canal em{font:500 13px/1.3 var(--tit);font-style:normal;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--basalto);padding-bottom:4px;justify-self:start;margin-top:6px;overflow-wrap:anywhere}
.pr-form select{padding:11px 12px;border:1px solid var(--pomez);background:var(--ceniza2);font:16px var(--txt);color:var(--basalto);border-radius:2px;min-width:0}
.pr-form .dos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:0 14px}
.pr-form .dos > *{display:grid;gap:6px;min-width:0}
.paises{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:18px}
.pais-caja{background:var(--ceniza);border:1px solid var(--pomez);padding:22px}
.pais-caja[aria-current]{border:2px solid var(--basalto)}
.pais-caja h3{font-size:24px;margin-bottom:12px}
.pais-caja ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:16px;color:var(--basalto2)}

/* compra de una sola página */
.compra{max-width:var(--ancho);margin:0 auto;padding:26px 20px 30px}
.compra h1{font-size:clamp(34px,4.6vw,52px);line-height:1;letter-spacing:-.02em;margin:10px 0 28px}
.volver{font:500 13px/1 var(--tit);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--basalto);padding-bottom:3px}
.compra-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:36px;align-items:start}
.paso{border:0;border-top:2px solid var(--basalto);margin:0 0 30px;padding:20px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;min-width:0}
.paso legend{float:left;width:100%;grid-column:1/-1;padding:0;margin-bottom:6px;font:500 24px/1.2 var(--tit);display:flex;align-items:baseline;gap:12px}
.paso legend span{font:500 30px/1 var(--tit);color:var(--escoria)}
.campo{display:grid;gap:6px;min-width:0;align-content:start}
.campo.ancho,.ancho{grid-column:1/-1}
.campo > span{font:500 12px/1.3 var(--tit);letter-spacing:.14em;text-transform:uppercase}
.campo small{font:400 13px/1.3 var(--tit);letter-spacing:0;text-transform:none;color:var(--basalto2)}
.campo input,.campo select,.campo textarea{padding:12px;border:1px solid var(--pomez);background:#fff;font:16px var(--txt);color:var(--basalto);border-radius:2px;min-width:0;width:100%}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--magma);outline-offset:1px}
.campo.mal input,.campo.mal select{border-color:var(--escoria);box-shadow:inset 0 0 0 1px var(--escoria)}
.opciones{display:grid;gap:10px}
.opcion{display:flex;gap:14px;align-items:center;border:1px solid var(--pomez);background:var(--ceniza);padding:14px 16px;cursor:pointer}
.opcion:has(input:checked){border:2px solid var(--basalto);padding:13px 15px;background:var(--ceniza2)}
.opcion input{accent-color:var(--basalto);width:18px;height:18px;flex:0 0 auto}
.opcion > span{flex:1;min-width:0}
.opcion b{display:block;font:500 17px/1.25 var(--tit)}
.opcion small{font-size:15px;color:var(--basalto2)}
.opcion em{font:500 16px/1 var(--tit);font-style:normal;font-variant-numeric:tabular-nums;white-space:nowrap}
.direccion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.direccion[hidden]{display:none}
.resumen{background:var(--ceniza);border:1px solid var(--pomez);padding:24px;position:sticky;top:16px;display:grid;gap:12px}
.resumen h2{font-size:24px}
.item{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:start;padding-bottom:14px;border-bottom:1px solid var(--pomez)}
.item img{width:64px}
.item b{display:block;font:500 17px/1.25 var(--tit)}
.item span{display:block;font-size:15px;color:var(--basalto2)}
.linea{display:flex;justify-content:space-between;gap:16px;font-size:16px;font-variant-numeric:tabular-nums}
.linea span:last-child{text-align:right}
.total{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding-top:12px;border-top:2px solid var(--basalto);font:500 26px/1 var(--tit);font-variant-numeric:tabular-nums}
.acepto{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.acepto input{accent-color:var(--basalto);width:18px;height:18px;margin-top:3px;flex:0 0 auto}
.acepto a{text-decoration:underline;text-underline-offset:3px}
.error{color:var(--escoria);font:500 14px/1.4 var(--tit);margin:0}
.btn.ancho-t{width:100%}
.seguro{font:400 13px/1.4 var(--tit);color:var(--basalto2);margin:0}
.gracias{max-width:680px;margin:0 auto;padding:50px 20px 30px;display:grid;gap:18px}
.gracias h1{font-size:clamp(34px,5vw,56px);line-height:1;letter-spacing:-.02em}
.gracias .resumen{position:static}
.pasos-pub.chicos li::before{font-size:34px}
.pasos-pub.chicos span{font-size:16px}

/* publica con nosotros: calculadora, pago único y WhatsApp */
.calc{background:var(--ceniza2);border:1px solid var(--pomez);padding:22px 24px;margin-bottom:34px;display:grid;gap:12px}
.calc label{font:500 20px/1.2 var(--tit)}
.calc-fila{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.con-unidad{display:inline-flex;align-items:center;border:1.5px solid var(--basalto);border-radius:2px;background:#fff}
.con-unidad input{width:112px;padding:12px;border:0;background:transparent;font:500 18px/1 var(--tit);color:var(--basalto);font-variant-numeric:tabular-nums;min-width:0}
.con-unidad span{padding:0 12px 0 0;font:400 14px/1 var(--tit);color:var(--basalto2)}
.calc .o{font:italic 400 16px var(--txt);color:var(--basalto2)}
.calc .nota{margin:0}
.pl-unico{margin:0;font:400 14px/1.4 var(--tit);color:var(--basalto2)}
.pl-unico b{font-weight:500;color:var(--basalto);font-variant-numeric:tabular-nums}
.pl-acc{display:flex;flex-wrap:wrap;gap:10px}
.pl-precio .mon{font-size:.55em;letter-spacing:.04em}
.tiendas{display:flex;flex-wrap:wrap;gap:10px 30px;font:500 20px/1.2 var(--tit);color:var(--basalto2)}
.zona-planes .nota{margin-top:26px;max-width:var(--ancho)}

@media (max-width:860px){
  .compra-grid{grid-template-columns:minmax(0,1fr)}
  .resumen{position:static}
}
@media (max-width:560px){
  .paso,.direccion{grid-template-columns:minmax(0,1fr)}
  .tp-in{padding:30px 20px 28px}
  .pb-in{padding:26px 20px}
}

/* escenas de libro 3D: el alto sigue al ancho, para que el libro nunca se salga en una sola columna */
.tri-libro{height:auto;aspect-ratio:1/1.02}
.dest-libro{height:auto;aspect-ratio:1/1.1;max-width:560px;width:100%;margin:0 auto}
.f-escena{height:auto;aspect-ratio:1/1.16;max-width:560px;width:100%;margin:0 auto}
.d-sin{margin:14px 0 22px}

/* ficha del autor debajo de la sinopsis (05/10) */
.sinopsis .autor-box{max-width:760px;margin-top:44px}

/* color del cabezal a prueba (05/10): basalto por defecto; pómez y ceniza clara se eligen en la barra del boceto */
.boceto-c{background:var(--basalto2)}
.cab-web{--c-bg:var(--ceniza2);--c-ink:var(--basalto);--c-line:var(--pomez);background:var(--c-bg);color:var(--c-ink);border-bottom-color:var(--c-line)}
.cab-web.cab-basalto{--c-bg:var(--basalto);--c-ink:var(--ceniza2);--c-line:var(--basalto2)}
.cab-web.cab-pomez{--c-bg:var(--pomez);--c-ink:var(--basalto);--c-line:#b0a899}
.cw-logo .l-cla,.cab-basalto .cw-logo .l-osc{display:none}
.cab-basalto .cw-logo .l-cla{display:block}
.cab-web .cw-boton{border-color:var(--c-ink);color:var(--c-ink)}
.cab-web .cw-buscar input{border-color:var(--c-line);color:var(--c-ink)}
.cab-web .cw-buscar input::placeholder{color:var(--c-ink);opacity:.65}
.cab-web .cw-buscar input:focus{background:#fff;color:var(--basalto)}
.cab-pomez .cw-buscar input{border-color:var(--basalto2)}
.cab-basalto .cw-menu a[aria-current="page"]{border-color:var(--brasa)}
@media (max-width:860px){.cab-web .cw-menu,.cab-web .cw-menu a{border-color:var(--c-line)}}

/* sinopsis a todo el ancho (05/10): una sola columna de lado a lado (Álvaro: sin dos columnas); la ficha del autor, igual de ancha */
.sin-txt{max-width:none}
.sin-txt p{margin:0 0 16px}
.sinopsis .autor-box{max-width:none}

/* franja de sellos en escoria (Álvaro 05/10: un color llamativo); el cabezal quedó en basalto */
.banda-paises{background:var(--escoria);border-bottom-color:var(--escoria);color:var(--ceniza2)}
.banda-paises .bp-t{color:var(--ceniza2);opacity:.8}
.banda-paises a:hover{text-decoration:underline;text-underline-offset:5px}

/* franja de sellos: ya no va de lado a lado, ocupa el ancho del contenido (Álvaro 05/10) */
.banda-paises{background:var(--ceniza);border-bottom:1px solid var(--pomez);padding:0 20px 30px;color:var(--ceniza2)}
.banda-paises .bp-in{max-width:calc(var(--ancho) - 40px);background:var(--escoria);padding:16px 22px}
.hero:has(+ .banda-paises){border-bottom:0}
.hero:has(+ .banda-paises) .hero-in{padding-bottom:40px}
.banda-paises + .destacado{border-top:0}

/* buscador: se abre al tocar la lupa; resultados mientras se escribe */
.cw-busca{background:transparent;border:0;color:inherit;cursor:pointer;padding:4px 6px;font-size:20px;line-height:1}
.busca-capa{position:fixed;inset:0;z-index:80;background:rgba(42,38,34,.62);overflow:auto;overscroll-behavior:contain}
.busca-panel{background:var(--basalto);color:var(--ceniza2);padding-top:env(safe-area-inset-top,0px);box-shadow:0 18px 40px rgba(0,0,0,.3)}
.busca-in{max-width:var(--ancho);margin:0 auto;padding:22px 20px 30px}
.busca-cab{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px}
.busca-cab .etq{margin:0;color:var(--brasa)}
.busca-cerrar{background:transparent;border:1px solid rgba(244,241,236,.4);color:var(--ceniza2);font:500 13px/1 var(--tit);letter-spacing:.12em;text-transform:uppercase;padding:9px 13px;border-radius:2px;cursor:pointer}
.busca-campo{position:relative;border-bottom:2px solid rgba(244,241,236,.45)}
.busca-campo::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--veta-g);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.busca-campo:focus-within::after{transform:scaleX(1)}
.busca-campo input{width:100%;background:transparent;border:0;outline:0;color:var(--ceniza2);font:500 clamp(24px,4.2vw,44px)/1.2 var(--tit);letter-spacing:-.015em;padding:10px 0 12px;min-width:0}
.busca-campo input::placeholder{color:var(--ceniza2);opacity:.45}
.busca-ayuda{font:400 14px/1.4 var(--tit);color:var(--pomez);margin:12px 0 0}
.busca-res{background:var(--ceniza2);color:var(--basalto);margin-top:22px}
.busca-res[hidden]{display:none}
.busca-tit{font:500 12px/1 var(--tit);letter-spacing:.18em;text-transform:uppercase;color:var(--escoria);padding:18px 20px 10px;margin:0}
.busca-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:16px;align-items:center;padding:12px 20px;border-top:1px solid var(--pomez)}
.busca-item:hover,.busca-item:focus-visible{background:var(--ceniza)}
.busca-item img{width:46px}
.busca-item b{display:block;font:500 18px/1.2 var(--tit)}
.busca-item i{display:block;font:italic 400 15px/1.3 var(--txt);color:var(--basalto2)}
.busca-item span{font:500 14px/1 var(--tit);letter-spacing:.04em;font-variant-numeric:tabular-nums;white-space:nowrap}
.busca-item mark{background:transparent;color:var(--escoria)}
.busca-vacio{padding:22px 20px;margin:0;border-top:1px solid var(--pomez)}
.busca-todo{display:block;padding:16px 20px;border-top:1px solid var(--pomez);font:500 13px/1 var(--tit);letter-spacing:.12em;text-transform:uppercase}
@media (max-width:560px){.busca-item{grid-template-columns:40px minmax(0,1fr)}.busca-item span{grid-column:2}.busca-item img{width:40px}}
@media (prefers-reduced-motion:reduce){.busca-campo::after{transition:none}}
.busca-campo input::-webkit-search-cancel-button{display:none}
.banda-paises:has(+ .destacado){border-bottom:0;padding-bottom:0}

/* pie: años de la editorial; el año final se pone solo */
.pw-copy{max-width:var(--ancho);margin:0 auto;padding:0 20px 26px;font:400 13px/1.4 var(--tit);color:var(--pomez)}
.pw-legal{padding-block:18px 10px}

/* la veta del cabezal acompaña al título: tan larga como su segunda línea (Álvaro 05/10) */
.hero .veta{width:calc(clamp(46px,7.4vw,92px) * 4.3);max-width:100%;height:8px;border-radius:8px}
.hero-serv .veta{width:calc(clamp(44px,6.8vw,84px) * 4.3)}

/* planes: en computadora, tres tablas lado a lado; en celular, una tarjeta por plan con su precio que se despliega al tocarla (aprobado el 27/09) */
.pl-cab,.pl-cuerpo{display:contents}
.plan h3{order:1}.plan .pl-desc{order:2}.plan .pl-precio{order:3}.plan .pl-unico{order:4}.plan .pl-acc,.plan .pl-cuerpo > .btn{order:5}.plan .pl-feats{order:6}
.pl-ver{display:none}
@media (max-width:760px){
  .planes{gap:14px}
  .plan{padding:0;gap:0}
  .plan .insignia{left:18px}
  .pl-cab{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 14px;padding:20px 18px 18px;cursor:pointer}
  .pl-cab:focus-visible{outline:2px solid var(--magma);outline-offset:-2px}
  .plan h3{font-size:22px;grid-column:1}
  .plan .pl-precio{grid-column:1;margin:0;font-size:30px;white-space:nowrap}
  .plan .pl-precio small,.plan .pl-precio small:last-child{display:inline;font-size:12px;margin-right:6px}
  .pl-ver{display:block;grid-column:2;grid-row:1 / span 2;font:500 12px/1 var(--tit);letter-spacing:.12em;text-transform:uppercase;border:1.5px solid var(--basalto);border-radius:99px;padding:10px 13px;white-space:nowrap}
  .plan.abierto .pl-ver{background:var(--basalto);color:var(--ceniza2)}
  .pl-cuerpo{display:none;gap:12px;padding:16px 18px 22px;border-top:1px solid var(--pomez)}
  .plan.abierto .pl-cuerpo{display:grid}
  .plan .pl-feats{margin-top:4px}
}

/* contratar un plan: pasos, resumen del plan y borrador del contrato */
.pasos-contrato{list-style:none;display:flex;flex-wrap:wrap;gap:8px 26px;padding:0;margin:22px 0 30px;counter-reset:pc;font:500 13px/1 var(--tit);letter-spacing:.14em;text-transform:uppercase;color:var(--basalto2)}
.pasos-contrato li{counter-increment:pc;padding-bottom:8px;border-bottom:3px solid var(--pomez)}
.pasos-contrato li::before{content:counter(pc) " · "}
.pasos-contrato li.hecho{border-color:var(--basalto);color:var(--basalto)}
.pasos-contrato li.actual{border-image:var(--veta-g) 1;color:var(--basalto)}
.contrato-grid{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:40px;align-items:start}
.contrato-col h1{font-size:clamp(30px,4vw,44px);line-height:1.02;letter-spacing:-.02em;margin:0 0 12px}
.contrato-baj{font-size:18px;max-width:60ch;margin-bottom:26px}
.resumen-plan h2{font-size:30px}
.resumen-plan .linea{padding-top:12px;border-top:1px solid var(--pomez);align-items:baseline}
.rp-monto{font:500 22px/1 var(--tit);white-space:nowrap}
.rp-monto .mon{font-size:.6em}
.asesor{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;background:var(--ceniza);border:1px solid var(--pomez);padding:16px 20px;margin-bottom:30px}
.asesor p{margin:0;flex:1 1 260px}
.op-sub{font:500 12px/1 var(--tit);letter-spacing:.14em;text-transform:uppercase;color:var(--basalto2);margin:10px 0 0}
.contrato{background:#fff;border:1px solid var(--pomez);padding:38px 42px;font-size:17px;line-height:1.75}
.contrato h2{font-size:22px;text-align:center;margin-bottom:22px;letter-spacing:0}
.contrato h3{font:500 12px/1 var(--tit);letter-spacing:.16em;text-transform:uppercase;color:var(--escoria);margin:24px 0 8px}
.contrato p{margin:0 0 12px}
.clausulas-pendientes{background:var(--ceniza);border-left:4px solid var(--pomez);padding:12px 16px;font-size:15px;color:var(--basalto2)}
.contrato-col .botones form{display:contents}
@media (max-width:860px){.contrato-grid{grid-template-columns:minmax(0,1fr)}.contrato{padding:24px 20px}}

/* botones de contacto por WhatsApp: verde de WhatsApp y su logo, para que se reconozcan de un vistazo (Álvaro 05/10) */
.btn.btn-wa{background:#25d366;border-color:#25d366;color:#10241a;gap:10px}
.btn.btn-wa:hover{background:#1fbd5a;border-color:#1fbd5a;color:#10241a}
.wa-ico{width:18px;height:18px;fill:currentColor;flex:0 0 auto}

/* planes: «Contratar» y WhatsApp van al final, después de lo que incluye cada plan (Álvaro 05/10) */
.plan .pl-acc{order:7;margin-top:10px;padding-top:18px;border-top:1px solid var(--pomez)}

/* «En un solo pago» más grande: es el precio que conviene (Álvaro 05/10) */
.pl-unico{font:400 17px/1.35 var(--tit);color:var(--basalto)}
.pl-unico b{font-size:24px;font-weight:500;white-space:nowrap}
.pl-unico b .mon{font-size:.65em}
.pl-unico{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0}
.pl-unico small{font:500 12px/1 var(--tit);letter-spacing:.1em;text-transform:uppercase;color:var(--escoria);white-space:nowrap}

/* el asterisco del precio, visible (Álvaro 05/10) */
.plan .pl-precio small:last-child{font:500 .6em/1 var(--tit);color:var(--escoria);margin:0 0 0 4px;vertical-align:.35em;letter-spacing:0}

/* notas bajo los planes: tres columnas con título, en vez de un párrafo chico corrido (Álvaro 05/10) */
.notas-plan{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:26px 40px;margin-top:40px;padding-top:26px;border-top:2px solid var(--basalto)}
.notas-plan > div{min-width:0}
.notas-plan h3{font:500 13px/1.2 var(--tit);letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px}
.notas-plan h3 span{color:var(--escoria);font-size:18px;letter-spacing:0;margin-right:2px}
.notas-plan p{font-size:16px;line-height:1.6;margin:0;max-width:60ch}
@media (max-width:860px){.notas-plan{grid-template-columns:minmax(0,1fr)}}

/* cierre de «Publica con nosotros»: el eslogan en un panel de basalto con grano y cuatro fichas con los fondos aprobados para redes
   (tonos profundos de portada y magma; sobre oscuro, texto claro y etiqueta en brasa) */
:root{--grano:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .9  0 0 0 0 .85  0 0 0 0 .8  0 0 0 .5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --r-azul:#1a2545;--r-verde:#1a453a;--r-tierra:#45301a}
.cierre{padding-bottom:20px}
.cierre-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:44px;align-items:stretch}
.cierre-txt p{font-size:18px;line-height:1.65;margin:0 0 16px;max-width:58ch}
.cierre-txt .cierre-lead{font-size:22px;line-height:1.5}
.lema{position:relative;margin:0;background:var(--basalto);color:var(--ceniza2);padding:44px 40px;display:flex;flex-direction:column;justify-content:center;gap:18px;overflow:hidden}
.lema::before,.fichas li::before{content:"";position:absolute;inset:0;background:var(--grano);opacity:.18;pointer-events:none}
.lema > *{position:relative;margin:0}
.lema .etq{color:var(--brasa)}
.lema-g{font:500 clamp(34px,4.4vw,58px)/1 var(--tit);letter-spacing:-.02em;text-wrap:balance;background:var(--veta-g);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.lema-s{font:400 20px/1.45 var(--txt);color:var(--ceniza);max-width:30ch}
.fichas{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px}
.fichas li{position:relative;overflow:hidden;padding:26px 24px 30px;color:var(--ceniza2);font:500 19px/1.35 var(--tit);min-height:170px;display:flex;align-items:flex-end}
.f-azul{background:var(--r-azul)}.f-verde{background:var(--r-verde)}.f-tierra{background:var(--r-tierra)}
.f-magma{background:linear-gradient(135deg,var(--magma),var(--escoria))}
@media (max-width:860px){.cierre-in{grid-template-columns:minmax(0,1fr);gap:26px}.lema{padding:34px 24px}.fichas li{min-height:0}}

/* «En un solo pago», el monto y el descuento en UNA sola línea (Álvaro 05/10) */
.pl-unico{flex-wrap:nowrap;white-space:nowrap;gap:8px;font-size:16px}
.pl-unico b{font-size:22px}
.pl-unico small{background:var(--escoria);color:#fff;padding:4px 7px;border-radius:2px;letter-spacing:.04em;align-self:center}

/* calculadora dentro del plan elegido (página de contratar) */
.calc-plan{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--pomez)}
.calc-plan label{font:500 17px/1.2 var(--tit)}
.calc-plan .calc-fila{gap:8px}
.calc-plan .con-unidad{flex:1 1 120px;min-width:0}
.calc-plan .con-unidad input{width:100%;padding:10px;font-size:17px}
.calc-plan .o{font:italic 400 15px var(--txt);color:var(--basalto2)}
.calc-plan .btn{justify-self:start;padding:11px 16px;font-size:13px}

/* librerías donde se distribuye: una ficha blanca por logo */
ul.tiendas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
ul.tiendas li{background:#fff;border:1px solid var(--pomez);height:92px;display:flex;align-items:center;justify-content:center;padding:14px 18px}
ul.tiendas img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}

/* panel «Tu plan»: el precio con los mismos números grandes en magma de la tabla de planes */
.rp-precios{display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--pomez)}
.rp-precios .pl-precio{margin:0}

/* oferta del plan siguiente, antes de contratar */
.mejora{display:flex;flex-wrap:wrap;gap:18px 30px;align-items:center;justify-content:space-between;background:var(--basalto);color:var(--ceniza2);padding:26px 28px;margin-bottom:34px}
.mejora > div{flex:1 1 320px;min-width:0}
.mejora .etq{color:var(--brasa)}
.mejora h2{font-size:24px;line-height:1.2;letter-spacing:0}
.mejora h2 span[data-cp-dif]{background:var(--veta-g);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.mejora h2 .mon{font-size:.7em}
.mejora ul{margin:14px 0 0;padding:0 0 0 18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:4px 26px;font-size:15px;color:var(--ceniza)}
.mejora .btn{background:var(--ceniza2);color:var(--basalto);border-color:var(--ceniza2)}
.mejora .btn:hover{background:#fff;color:var(--basalto)}
.opcion[hidden]{display:none}

/* paso 3 de contratar: aviso de contrato generado, descarga y lectura */
.listo{background:var(--ceniza);border:1px solid var(--pomez);padding:34px 34px 30px;display:grid;gap:14px}
.listo h1{margin:0}.listo .veta{margin-top:4px}.listo .contrato-baj{margin:8px 0 0}
.listo .botones{margin-top:10px}.listo .botones form{display:contents}
.leer-contrato{margin-top:26px;border-top:2px solid var(--basalto)}
.leer-contrato summary{cursor:pointer;padding:16px 0;font:500 14px/1 var(--tit);letter-spacing:.12em;text-transform:uppercase}
.leer-contrato .contrato{margin-bottom:10px}
.aceptar{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;justify-content:space-between;margin-top:26px;padding-top:22px;border-top:1px solid var(--pomez)}
.aceptar p{margin:0;flex:1 1 280px}

/* panel «Tu plan»: nota en bloque y precios alineados a la derecha (Álvaro 05/10) */
.rp-nota{font-size:14px;line-height:1.5;color:var(--basalto2);margin:0}
.rp-nota a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--pomez)}
.rp-precios{justify-items:end;text-align:right}
.rp-precios .pl-unico{justify-content:flex-end}
/* boletín del pie: botón en escoria, para que contraste sobre el basalto (Álvaro 05/10) */
.pw-form button{background:var(--escoria);color:#fff}
.pw-form button:hover{background:#c2300f}
.contrato-col form + .mejora{margin:34px 0 0}

/* punto 3 de contratar, siempre en la página */
.paso .listo h2{font-size:clamp(28px,3.4vw,40px)}
.paso .leer-contrato{margin-top:0}
.paso .aceptar{margin-top:0}
#contrato{scroll-margin-top:20px}

/* frase bajo el carrusel de «Publica con nosotros» */
.car-lema{margin:18px 0 0;text-align:center;font:italic 400 clamp(20px,2.4vw,26px)/1.2 var(--txt);color:var(--basalto)}

/* ventana «Tengo dudas sobre mi contrato» y número del contrato */
dialog.dudas{border:0;padding:0;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);background:var(--ceniza2);color:var(--basalto);box-shadow:0 30px 70px rgba(0,0,0,.45)}
dialog.dudas::backdrop{background:rgba(42,38,34,.62)}
.dudas-in{display:grid;gap:14px;padding:32px 30px 30px;border-top:6px solid var(--escoria)}
.dudas-in[hidden]{display:none}
.dudas-in h2{font-size:28px;line-height:1.1}
.dudas-in .etq{margin:0}
.dudas-baj{margin:0;font-size:17px}
.contrato-n{text-align:center;font:500 12px/1 var(--tit);letter-spacing:.16em;text-transform:uppercase;color:var(--basalto2);margin:-12px 0 22px!important}

/* todo enlace de texto va en escoria (Álvaro 05/10), salvo sobre fondos oscuros o de color (cabezal, pie, franja roja, paneles de basalto),
   donde sigue claro. No incluye botones, menú ni tarjetas. */
a.lk,.sin-txt a,.cuerpo a,.cierre-txt a,.rp-nota a,.acepto a,.nota a,.migas a,.ver,.volver,.compartir a,.busca-todo,.meta a,.vacio a,.contrato-baj a,.notas-plan a,.seguro a{color:var(--escoria);text-decoration-color:currentColor}
.ver,.volver,.compartir a{border-bottom-color:currentColor}
a.nota,a.nota *{color:inherit}
.canal em{color:var(--escoria);border-bottom-color:currentColor}
.pie-web a,.banda-paises a,.mejora a,.lema a,.fichas a,.cab-web a{color:inherit}

.notas-plan{grid-template-columns:1.5fr 1.3fr 1.3fr}
/* «Atención personalizada todo el año»: bloque propio con sus dos caminos de contacto */
.atencion{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;margin-top:40px;padding:30px 0 0;border-top:2px solid var(--basalto)}
.atencion > div:first-child{flex:1 1 380px;min-width:0}
.atencion h3{font-size:clamp(26px,3vw,34px);line-height:1.1;letter-spacing:-.01em}
.atencion p:last-child{margin:12px 0 0;font-size:18px}
.atencion-acc{display:flex;flex-wrap:wrap;gap:12px}

/* «¿Por qué nosotros?»: aire entre cada título y su párrafo (Álvaro 05/10) */
.pq-grilla h3{margin-bottom:12px}

/* redes en el pie: botones de escoria */
.pw-redes{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.pie-web .pw-redes a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;background:var(--escoria);color:#fff;border-radius:2px;transition:background .2s}
.pie-web .pw-redes a:hover{background:#c2300f}
.pw-redes svg{width:20px;height:20px;fill:currentColor}

/* volver a un contrato ya generado, con número y correo */
.volver-contrato{margin:-14px 0 30px;border-bottom:1px solid var(--pomez)}
.volver-contrato summary{cursor:pointer;padding:12px 0;font:500 13px/1.3 var(--tit);letter-spacing:.1em;text-transform:uppercase;color:var(--escoria)}
.volver-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:12px 16px;align-items:end;padding:6px 0 20px}
.volver-form .error,.volver-form .seguro{grid-column:1/-1}
@media (max-width:700px){.volver-form{grid-template-columns:minmax(0,1fr)}}

/* firma en línea del contrato y pago, que aparece recién después de firmar */
.firma,.firmado{display:grid;gap:14px;padding:28px 30px;scroll-margin-top:20px}
.firma{border:2px solid var(--basalto)}
.firma h3,.firmado h3{font-size:26px}
.firma p,.firmado p{margin:0}
.firma-campo{font:italic 400 22px var(--txt)!important}
.firmado{background:var(--basalto);color:var(--ceniza2)}
.firmado .etq{color:var(--brasa);margin:0}
.firmado .seguro{color:var(--pomez)}
.firma-trazo{font:italic 400 1.05em var(--txt);border-bottom:2px solid var(--brasa);padding-bottom:2px}
.btn.btn-pago{background:var(--veta-g);border-color:transparent;color:#fff;font-size:15px;padding:16px 28px}

/* panel «Tu plan»: «Precio» con la misma letra y en la misma línea que su monto, igual que «En un solo pago» (Álvaro 05/10) */
.rp-precios .pl-precio{display:flex;flex-wrap:nowrap;align-items:baseline;justify-content:flex-end;gap:10px;white-space:nowrap}
.rp-precios .pl-precio small:first-child{display:inline;font:400 16px/1.35 var(--tit);color:var(--basalto);letter-spacing:0}

/* número de contrato, al final del contrato */
.contrato-num{margin:26px 0 0!important;padding-top:16px;border-top:1px solid var(--pomez);font:400 14px/1.4 var(--tit);letter-spacing:.06em;text-transform:uppercase;color:var(--basalto2);text-align:left!important}
.contrato-num b{font:500 20px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;color:var(--basalto);margin-left:8px;text-transform:none}

/* pago del contrato (simulación): el total en una sola línea aunque el rótulo sea largo */
.compra .total{font-size:22px;flex-wrap:wrap}
.resumen .btn-pago{font-size:15px}

/* contrato ya firmado: solo se ve el contrato firmado y el pago (Álvaro 05/10: «todos los datos anteriores son innecesarios») */
.es-firmado .volver,.es-firmado .resumen-plan,.es-firmado .contrato-col > .asesor,.es-firmado .volver-contrato,.es-firmado .contrato-col > h1,
.es-firmado .contrato-col > .contrato-baj,.es-firmado .mejora,.es-firmado .listo,.es-firmado form > .paso:not(#contrato),.es-firmado #contrato > legend{display:none}
.es-firmado .contrato-grid{grid-template-columns:minmax(0,1fr);max-width:820px;margin:0 auto}
.es-firmado #contrato{border-top:0;padding-top:0;margin-bottom:0}
.es-firmado .leer-contrato{border-top:0;order:2}
.es-firmado .firmado{order:1;padding:38px 36px}
.es-firmado .firmado h3{font-size:clamp(28px,3.6vw,40px)}
.firmado .btn.btn-sec{border-color:rgba(244,241,236,.55);color:var(--ceniza2)}
.firmado .btn.btn-sec:hover{background:var(--ceniza2);color:var(--basalto)}

/* botón en escoria */
.btn.btn-esc{background:var(--escoria);border-color:var(--escoria);color:#fff}
.btn.btn-esc:hover{background:#c2300f;border-color:#c2300f;color:#fff}

/* manuscrito del autor */
.ms-baj{margin:0;font-size:18px;max-width:60ch}
.ms-ok{background:var(--ceniza);border:1px solid var(--pomez);border-left:4px solid var(--basalto);padding:16px 20px;display:grid;gap:4px}
.ms-ok p{margin:0}
.campo input[type=file]{padding:10px;background:var(--ceniza2);cursor:pointer}
.es-firmado form > #manuscrito.ms-pendiente{display:grid;order:3;margin-top:30px}
.es-firmado form{display:flex;flex-direction:column}

/* manuscrito: barra de avance de la subida */
.ms-barra{height:6px;background:var(--pomez);border-radius:6px;overflow:hidden;margin:6px 0 2px}
.ms-barra i{display:block;height:100%;width:0;background:var(--veta-g);transition:width .2s}
.ms-ok[hidden]{display:none}
.es-firmado #manuscrito legend span{display:none}

/* quitar un libro del pedido */
.item.con-quitar{grid-template-columns:64px minmax(0,1fr) auto}
.quitar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--pomez);border-radius:50%;font:400 20px/1 var(--tit);color:var(--basalto2);background:var(--ceniza2)}
.quitar:hover,.quitar:focus-visible{background:var(--escoria);border-color:var(--escoria);color:#fff}
