/* ===================================================================
   Asher Editions — Sistema de diseño 2026 (rediseño Claude Design)
   Tokens + componentes para home, notas, artículos y productos.
   Fuentes: Spectral (serif/display) + Instrument Sans (sans/UI).
   =================================================================== */
:root{
  --paper:#f5f1e8;        /* fondo */
  --surface:#fffdf8;      /* tarjetas */
  --ink:#211d18;          /* texto principal */
  --ink-2:#2e2922;
  --muted:#6b645a;        /* texto secundario */
  --muted-2:#544e44;
  --faint:#9a917f;        /* fechas, placeholders */
  --line:#e3dccd;         /* bordes claros */
  --line-2:#e9e2d3;
  --line-3:#ddd5c5;
  --accent:#000c3d;       /* azul marino — botones, precios, eyebrows */
  --accent-d:#001a4d;     /* hover */
  --gold:#ffd9a0;         /* dorado sobre navy */
  --navy-grad:radial-gradient(120% 140% at 50% -10%, #18306e 0%, #000c3d 55%, #00081f 100%);
  --serif:'Spectral', Georgia, 'Times New Roman', serif;
  --sans:'Instrument Sans', system-ui, -apple-system, sans-serif;
  --maxw:1200px;
  --pad:28px;
  --shadow-card:0 14px 28px rgba(33,29,24,0.16);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img{display:block;}
a{color:inherit;}
::selection{background:var(--accent);color:#fff;}
@keyframes amarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
.eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent);}
.serif{font-family:var(--serif);}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(245,241,232,0.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.site-header .inner{max-width:var(--maxw);margin:0 auto;padding:14px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;}
.brand-badge{width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-weight:600;font-size:20px;flex:none;}
.brand-name{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:.2px;display:block;line-height:1.05;}
.brand-sub{font-size:11px;color:var(--muted);letter-spacing:.3px;display:block;}
.main-nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.main-nav a{text-decoration:none;color:#3b362e;font-size:14.5px;font-weight:500;}
.main-nav a:hover{color:var(--accent);}
.main-nav a.active{color:var(--accent);font-weight:600;}
.lang-toggle{display:flex;align-items:center;gap:4px;padding-left:8px;border-left:1px solid var(--line-3);}
.lang-toggle button{font-family:inherit;font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px;cursor:pointer;border:none;background:transparent;color:var(--faint);}
.lang-toggle button.active{color:var(--accent);}

/* ---------- Hero (home) ---------- */
.hero{position:relative;max-width:var(--maxw);margin:0 auto;padding:40px var(--pad) 28px;min-height:380px;display:flex;align-items:center;overflow:hidden;}
.hero-carousel{position:absolute;inset:0;display:flex;align-items:center;overflow:hidden;}
.hero-carousel .track{display:flex;gap:16px;width:max-content;align-items:center;animation:amarquee 55s linear infinite;padding-left:24px;}
.hero-carousel img{height:240px;width:auto;border-radius:8px;box-shadow:0 14px 30px rgba(33,29,24,.18);background:#e8e1d2;}
.hero-fade{position:absolute;inset:0;background:linear-gradient(90deg,#f5f1e8 0%,#f5f1e8 30%,rgba(245,241,232,.72) 46%,rgba(245,241,232,0) 66%);}
.hero-text{position:relative;z-index:2;max-width:520px;}
.hero-text h1{font-family:var(--serif);font-weight:600;font-size:clamp(34px,4.4vw,52px);line-height:1.05;letter-spacing:-.5px;margin:12px 0 14px;}
.hero-text p.lead{font-size:clamp(15px,1.5vw,18px);line-height:1.55;color:var(--muted-2);max-width:30em;margin:0 0 22px;}
.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.hero-trust{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:12.5px;color:var(--muted);}
.hero-trust span{display:inline-flex;align-items:center;gap:6px;}
.hero-price{font-size:14px;color:var(--muted-2);}
.hero-price strong{font-family:var(--serif);font-size:19px;color:var(--ink);}

/* Botones */
.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border-radius:999px;cursor:pointer;font-family:inherit;font-weight:700;transition:background .16s ease,border-color .16s ease,transform .16s ease;}
.btn-primary{background:var(--accent);color:#fff;font-size:15px;padding:14px 28px;border:none;}
.btn-primary:hover{background:var(--accent-d);}
.btn-ghost{background:transparent;color:var(--ink);font-size:13.5px;font-weight:600;border:1px solid #ccc3b2;padding:8px 16px;}
.btn-ghost:hover{border-color:var(--ink);}
.btn-white{background:#fff;color:#1a1230;font-weight:700;font-size:14.5px;padding:11px 24px;}
.btn-white:hover{background:#f0ecff;}

/* ---------- Cinta multi-idioma ---------- */
.ribbon{width:100%;background:var(--accent);overflow:hidden;padding:9px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);}
.ribbon .track{display:flex;width:max-content;align-items:center;animation:amarquee 40s linear infinite;}
.ribbon .item{display:inline-flex;align-items:center;gap:9px;padding:0 22px;font-family:var(--serif);font-size:15px;font-weight:600;white-space:nowrap;}
.ribbon .dot{color:rgba(255,255,255,.28);font-size:11px;}

/* ---------- Stats + tiendas ---------- */
.stats-wrap{max-width:var(--maxw);margin:0 auto;padding:8px var(--pad) 0;}
.stats{padding-top:20px;border-top:1px solid var(--line);display:flex;gap:16px 24px;flex-wrap:wrap;align-items:center;}
.stat{display:flex;flex-direction:column;gap:2px;}
.stat .num{font-family:var(--serif);font-size:30px;font-weight:600;line-height:1;}
.stat .lbl{font-size:12.5px;color:var(--muted);letter-spacing:.3px;}
.store-badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-left:auto;}
.store-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--surface);border:1px solid var(--line);border-radius:999px;font-size:12.5px;font-weight:600;color:#3b362e;}

/* ---------- Slot publicitario ---------- */
.ad-section{max-width:var(--maxw);margin:16px auto 0;padding:0 var(--pad);}
.ad-slot{width:100%;}
.ad-billboard{min-height:230px;}

/* ---------- Secciones genéricas ---------- */
.section{max-width:var(--maxw);margin:0 auto;padding:36px var(--pad) 24px;}
.section-head{text-align:center;margin:0 auto 28px;max-width:980px;display:flex;flex-direction:column;align-items:center;gap:10px;}
.section-head h2{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.4vw,40px);margin:0;letter-spacing:-.3px;}
.section-head .link{text-decoration:none;color:var(--accent);font-weight:600;font-size:14.5px;}

/* ---------- Colecciones ---------- */
.collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;max-width:980px;margin:0 auto;}
.col-card{display:flex;gap:16px;padding:18px;min-height:132px;align-items:center;background:var(--surface);border:1px solid var(--line-2);border-radius:14px;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease;}
.col-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(33,29,24,.10);}
.col-card img{width:70px;height:96px;object-fit:cover;border-radius:6px;flex:none;background:#e8e1d2;box-shadow:0 6px 14px rgba(33,29,24,.14);}
.col-card .meta{display:flex;flex-direction:column;gap:6px;text-align:center;align-items:center;min-width:0;}
.col-card .name{font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.15;}
.col-card .count{font-size:12px;font-weight:600;color:var(--accent);letter-spacing:.3px;white-space:nowrap;}
.col-card .desc{font-size:13px;line-height:1.4;color:var(--muted);}

/* ---------- Tarjetas de producto ---------- */
.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media(min-width:560px){.product-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:820px){.product-grid{grid-template-columns:repeat(4,1fr);}}
@media(min-width:1100px){.product-grid{grid-template-columns:repeat(5,1fr);}}
/* Más vendidos: 5 en una sola fila, mismo tamaño que las del catálogo */
.product-grid.featured{grid-template-columns:repeat(2,1fr);}
@media(min-width:560px){.product-grid.featured{grid-template-columns:repeat(3,1fr);}}
@media(min-width:820px){.product-grid.featured{grid-template-columns:repeat(5,1fr);}}
.pcard{display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.pcard .cover{position:relative;margin-bottom:12px;}
.pcard .cover img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;background:#e8e1d2;box-shadow:0 10px 22px rgba(33,29,24,.12);}
.pcard .badge{position:absolute;top:10px;left:10px;background:rgba(33,29,24,.82);color:#fff;font-size:10.5px;font-weight:600;letter-spacing:.3px;padding:4px 9px;border-radius:999px;}
.pcard .badge.best{background:var(--accent);font-size:11px;padding:5px 10px;top:12px;left:12px;}
.pcard .col{font-size:11px;font-weight:600;color:var(--accent);letter-spacing:.3px;text-transform:uppercase;margin-bottom:4px;}
.pcard .title{font-family:var(--serif);font-size:15.5px;font-weight:500;line-height:1.25;margin-bottom:10px;flex:1;}
.pcard .foot{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.pcard .price{font-size:16.5px;font-weight:700;}
.pcard .see{font-size:13px;font-weight:600;color:var(--accent);text-decoration:none;}

/* ---------- Catálogo (search + filtros) ---------- */
.catalog-head{margin-bottom:20px;text-align:center;}
.catalog-head h2{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.4vw,40px);margin:0;letter-spacing:-.3px;}
.search-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:12px;}
.search-line .lbl{font-size:15px;color:var(--muted);white-space:nowrap;}
.search-box{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line-3);border-radius:999px;padding:10px 16px;width:100%;max-width:320px;}
.search-box input{border:none;outline:none;background:transparent;font-family:inherit;font-size:14.5px;width:100%;color:var(--ink);}
.filter-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:760px;margin:0 auto 28px;}
.chip{font-family:inherit;font-size:13.5px;font-weight:600;padding:9px 16px;border-radius:999px;cursor:pointer;transition:all .15s ease;background:var(--surface);color:#4a443b;border:1px solid var(--line-3);}
.chip:hover{border-color:#b9af9c;}
.chip.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.empty-box{padding:48px;text-align:center;color:var(--muted);background:var(--surface);border:1px solid var(--line-2);border-radius:14px;}
.load-more-wrap{text-align:center;margin:28px 0 0;}
.load-more{font-family:inherit;font-size:14px;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--line-3);border-radius:999px;padding:12px 26px;cursor:pointer;transition:all .15s ease;}
.load-more:hover{border-color:var(--ink);}

/* ---------- Dónde comprar (navy) ---------- */
.buy-section{position:relative;background:var(--navy-grad);color:#f3eee3;margin-top:56px;overflow:hidden;}
.buy-section .inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:18px var(--pad) 22px;}
.buy-head{margin-bottom:18px;text-align:center;}
.pill-gold{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);background:rgba(255,217,160,.12);border:1px solid rgba(255,217,160,.3);padding:6px 14px;border-radius:999px;margin-bottom:16px;}
.buy-head h2{font-family:var(--serif);font-weight:600;font-size:clamp(30px,3.6vw,44px);margin:0 0 8px;letter-spacing:-.3px;color:#fff;}
.buy-head p{font-size:15.5px;color:#c3cbe6;margin:0 auto;max-width:46em;}
.platforms{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:980px;margin:0 auto;}
.pcard-store{display:flex;flex-direction:column;gap:6px;padding:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:14px;text-decoration:none;color:inherit;flex:1 1 200px;max-width:240px;backdrop-filter:blur(4px);transition:transform .16s ease,background .16s ease,border-color .16s ease;}
.pcard-store:hover{transform:translateY(-3px);border-color:var(--gold);background:rgba(255,255,255,.13);}
.pcard-store .row{display:flex;align-items:center;justify-content:space-between;}
.pcard-store .name{font-family:var(--serif);font-size:20px;font-weight:600;color:#fff;}
.pcard-store .arrow{color:var(--gold);font-size:16px;}
.pcard-store .note{font-size:13px;color:#b3bcdb;}
.pcard-store.soon{opacity:.72;}

/* ---------- Sobre + testimonios ---------- */
.about-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start;}
.about-copy h2{font-family:var(--serif);font-weight:600;font-size:clamp(26px,3vw,38px);line-height:1.12;margin:12px 0 18px;letter-spacing:-.3px;}
.about-copy p{font-size:15.5px;line-height:1.6;color:var(--muted-2);margin:0 0 16px;}
.testimonials{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.tcard{background:var(--surface);border:1px solid var(--line-2);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:7px;}
.tcard .stars{color:var(--accent);font-size:12px;letter-spacing:1.5px;}
.tcard p{font-family:var(--serif);font-size:13.5px;font-style:italic;line-height:1.4;margin:0;color:#2e2922;}
.tcard .who{font-size:12px;font-weight:600;color:var(--muted);}

/* ---------- Newsletter (navy) ---------- */
.newsletter{background-color:#010c40;}
.newsletter .inner{max-width:680px;margin:0 auto;padding:34px var(--pad);text-align:center;}
.pill-light{display:inline-block;font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.92);background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);padding:5px 13px;border-radius:999px;margin-bottom:14px;}
.newsletter h2{font-family:var(--serif);font-weight:600;font-size:clamp(25px,2.8vw,34px);margin:0 0 8px;letter-spacing:-.3px;color:#fff;}
.newsletter p{font-size:15px;line-height:1.5;color:rgba(255,255,255,.94);margin:0 0 20px;}
.newsletter form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.newsletter input{border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.96);border-radius:999px;padding:14px 22px;font-family:inherit;font-size:15px;min-width:260px;outline:none;color:var(--ink);}
.newsletter button{background:#1a1230;color:#fff;border:none;font-family:inherit;font-weight:700;font-size:15px;padding:14px 30px;border-radius:999px;cursor:pointer;}
.newsletter button:hover{background:#000;}
.news-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;}
.news-ok{color:var(--gold);font-weight:700;margin:14px 0 0;}

/* ---------- Footer ---------- */
.site-footer{background:#1a1712;color:#b7afa0;}
.site-footer .cols-wrap{background:#000;}
.site-footer .cols{max-width:var(--maxw);margin:0 auto;padding:48px var(--pad) 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;}
.site-footer .col{display:flex;flex-direction:column;gap:12px;padding-bottom:40px;}
.site-footer .col h3{font-size:12px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:#7d756a;margin:0;}
.site-footer .col a{color:#cfc7b8;text-decoration:none;font-size:14px;}
.site-footer .col a:hover{color:#fdf8ee;}
.site-footer .col p{font-size:12px;line-height:1.5;color:#6f685c;margin:4px 0 0;}
.site-footer .copy{border-top:1px solid #2c2820;padding:18px var(--pad);text-align:center;font-size:12px;color:#7d756a;background:#000;}

/* ---------- Botones flotantes redes ---------- */
.social-fab{position:fixed;right:16px;bottom:18px;z-index:60;display:flex;flex-direction:column;gap:10px;}
.social-fab a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.25);transition:transform .15s ease;}
.social-fab a:hover{transform:translateY(-2px);}
.social-fab a.wa{background:#25d366;}

/* ===================================================================
   NOTAS (índice) + ARTÍCULO — rieles, banners CTA, cross-sell
   =================================================================== */
.rail-layout{max-width:1500px;margin:0 auto;padding:28px var(--pad) 8px;display:flex;gap:28px;align-items:flex-start;justify-content:center;}
/* Artículo: rieles pegados a los bordes y más ancho para el texto */
.article-layout{max-width:1820px;padding-left:clamp(12px,1.4vw,26px);padding-right:clamp(12px,1.4vw,26px);justify-content:space-between;gap:28px;}
.ad-rail{flex:none;width:160px;position:sticky;top:92px;}
.ad-rail .ad-slot{width:160px;height:600px;}
.notes-col{flex:1 1 auto;max-width:980px;}
.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;}
.note-card{display:flex;flex-direction:column;gap:9px;padding:22px;background:var(--surface);border:1px solid var(--line-2);border-radius:14px;text-decoration:none;color:inherit;transition:transform .16s ease,box-shadow .16s ease;}
.note-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(33,29,24,.10);}
.note-card .tag{font-size:11px;font-weight:700;color:var(--accent);letter-spacing:.4px;text-transform:uppercase;}
.note-card .title{font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.22;}
.note-card .excerpt{font-size:13.5px;line-height:1.5;color:var(--muted);flex:1;}
.note-card .date{font-size:12px;color:var(--faint);margin-top:2px;}

/* Banner CTA navy full-bleed */
.cta-bleed{width:100%;background:var(--navy-grad);border-radius:14px;overflow:hidden;}
.cta-bleed .inner{margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;text-align:center;}
.cta-bleed .t{font-family:var(--serif);font-weight:600;font-size:clamp(18px,2vw,24px);letter-spacing:-.3px;color:#fff;}
.cta-bleed .s{font-size:14px;color:rgba(255,255,255,.85);}
.cta-final{background:var(--navy-grad);margin-top:24px;}
.cta-final .inner{max-width:1100px;margin:0 auto;padding:18px var(--pad);display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;text-align:center;}
.cta-final .t{font-family:var(--serif);font-weight:600;font-size:clamp(18px,2vw,24px);letter-spacing:-.3px;color:#fff;}
.cta-final .s{font-size:14px;color:rgba(255,255,255,.85);}

/* Artículo */
.article{flex:0 1 880px;max-width:880px;width:100%;}
.breadcrumb{font-size:12.5px;color:var(--faint);margin-bottom:18px;}
.breadcrumb a{color:var(--faint);text-decoration:none;}
.breadcrumb .sep{margin:0 7px;}
.breadcrumb .here{color:var(--muted);}
.article .cat{display:inline-block;font-size:11.5px;font-weight:700;color:var(--accent);letter-spacing:.5px;text-transform:uppercase;margin-bottom:12px;}
.article h1{font-family:var(--serif);font-weight:600;font-size:clamp(30px,4vw,44px);line-height:1.08;letter-spacing:-.4px;margin:0 0 14px;}
.article .meta{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:13px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.article .meta .d{width:3px;height:3px;border-radius:50%;background:#c9bfac;}
.article-body{font-size:17px;line-height:1.7;color:var(--ink-2);}
.article-body>p:first-child,.article-body .lead{font-size:19px;line-height:1.6;color:var(--muted-2);}
.article-body p{margin:0 0 20px;}
.article-body h2{font-family:var(--serif);font-weight:600;font-size:26px;line-height:1.2;margin:36px 0 14px;}
.article-body h3{font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.25;margin:26px 0 12px;}
.article-body ul,.article-body ol{margin:0 0 20px;padding-left:22px;}
.article-body li{margin-bottom:10px;}
.article-body a{color:var(--accent);}
/* banner CTA al medio del artículo: una sola línea */
.cta-mid{width:100%;margin:32px 0;background:var(--navy-grad);border-radius:14px;overflow:hidden;}
.cta-mid .inner{margin:0 auto;padding:15px 24px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:nowrap;}
.cta-mid .t{font-family:var(--serif);font-weight:600;font-size:clamp(16px,1.7vw,20px);letter-spacing:-.3px;color:#fff;white-space:nowrap;flex:none;}
.cta-mid .s{font-size:13.5px;color:rgba(255,255,255,.82);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cta-mid .btn-white{white-space:nowrap;flex:none;}
/* cross-sell */
.crosssell{margin-top:44px;padding-top:28px;border-top:1px solid var(--line);}
.crosssell .eyebrow2{display:block;font-size:11.5px;font-weight:700;color:var(--accent);letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px;}
.crosssell h2{font-family:var(--serif);font-weight:600;font-size:24px;line-height:1.2;margin:0 0 20px;}
.crosssell .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media(max-width:620px){.crosssell .grid{grid-template-columns:repeat(2,1fr);}}
.xcard{display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.xcard:hover{opacity:.92;}
.xcard img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:9px;background:#e8e1d2;box-shadow:0 10px 22px rgba(33,29,24,.14);margin-bottom:11px;}
.xcard .col{font-size:11px;font-weight:700;color:var(--accent);letter-spacing:.3px;text-transform:uppercase;margin-bottom:4px;}
.xcard .title{font-family:var(--serif);font-size:15.5px;font-weight:500;line-height:1.25;margin-bottom:8px;flex:1;}
.xcard .price{font-size:16.5px;font-weight:700;}

/* ---------- Producto (página de libro) ---------- */
.book-layout{max-width:1040px;margin:0 auto;padding:36px var(--pad) 8px;}
.book-top{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:40px;align-items:start;}
.book-cover img{width:100%;border-radius:12px;background:#e8e1d2;box-shadow:var(--shadow-card);}
.book-info .cat{display:inline-block;font-size:11.5px;font-weight:700;color:var(--accent);letter-spacing:.5px;text-transform:uppercase;margin-bottom:10px;}
.book-info h1{font-family:var(--serif);font-weight:600;font-size:clamp(26px,3.4vw,38px);line-height:1.1;letter-spacing:-.3px;margin:0 0 12px;}
.book-info .price-row{display:flex;align-items:baseline;gap:12px;margin:0 0 18px;}
.book-info .price{font-size:30px;font-weight:700;font-family:var(--serif);}
.book-info .lang-tag{font-size:12px;font-weight:600;color:var(--muted);border:1px solid var(--line-3);padding:3px 9px;border-radius:999px;}
.buy-buttons{display:flex;flex-direction:column;gap:10px;margin:18px 0;}
.buy-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;border-radius:12px;padding:14px 18px;font-weight:700;font-size:15px;border:1px solid var(--line-3);background:var(--surface);color:var(--ink);transition:transform .15s ease,border-color .15s ease;}
.buy-btn:hover{transform:translateY(-2px);border-color:var(--accent);}
.buy-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);}
.buy-btn.primary:hover{background:var(--accent-d);}
.buy-btn .arrow{font-size:16px;}
.book-desc{font-size:16px;line-height:1.7;color:var(--ink-2);margin-top:8px;}
.book-desc h2{font-family:var(--serif);font-weight:600;font-size:24px;margin:32px 0 12px;}
.book-desc h3{font-family:var(--serif);font-weight:600;font-size:19px;margin:24px 0 10px;}
.book-desc ul,.book-desc ol{padding-left:22px;}
.book-desc li{margin-bottom:8px;}
.book-back{display:inline-block;margin-top:24px;color:var(--accent);font-weight:600;text-decoration:none;}

/* ---------- Responsive ---------- */
@media (max-width:1179px){ .notes-layout .ad-rail{display:none!important;} }
@media (max-width:1043px){ .article-layout .ad-rail{display:none!important;} }
/* banner del medio: en pantallas angostas pasa a 2 líneas para no cortar texto */
@media (max-width:920px){
  .cta-mid .inner{flex-wrap:wrap;}
  .cta-mid .t{white-space:normal;}
  .cta-mid .s{white-space:normal;overflow:visible;text-overflow:clip;flex:1 1 100%;text-align:center;}
}
@media (max-width:760px){
  .about-grid{grid-template-columns:1fr;gap:28px;}
  .filter-chips{grid-template-columns:repeat(2,1fr);}
  .book-top{grid-template-columns:1fr;gap:24px;}
  .book-cover{max-width:260px;margin:0 auto;}
}

/* ---------- Teaser "información a medias" (notas top) ---------- */
.post-teaser{margin:34px 0 0;padding:1.6rem 1.75rem;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:14px;}
.post-teaser h2{font-family:var(--serif);font-weight:600;font-size:22px;margin:0 0 .6rem;}
.post-teaser>p{margin:0 0 .9rem;color:var(--muted-2);line-height:1.65;font-size:16px;}
.post-teaser ul{margin:0 0 1rem;padding-left:1.15rem;}
.post-teaser li{margin:.55rem 0;line-height:1.6;color:var(--ink-2);font-size:15.5px;}
.post-teaser li::marker{color:var(--accent);}
.post-teaser .teaser-close{margin:0;font-family:var(--serif);color:var(--accent);font-size:16px;line-height:1.55;}

/* ---------- Página de producto: secciones internas ---------- */
.book-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;}
.book-meta .book-price{font-family:var(--serif);font-size:30px;font-weight:700;}
.book-meta .book-lang{font-size:12px;font-weight:600;color:var(--muted);border:1px solid var(--line-3);padding:3px 9px;border-radius:999px;}
.book-tagline{font-size:16px;line-height:1.6;color:var(--muted-2);margin:0 0 18px;}
.buy-label{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--accent);margin:0 0 10px;}
.buy-more{font-size:13.5px;color:var(--muted);margin:12px 0 0;}
.buy-more strong{color:var(--ink);}
.sat-versions,.book-faq,.related{max-width:1040px;margin:40px auto 0;}
.sat-versions h2,.book-faq h2,.related h2{font-family:var(--serif);font-weight:600;font-size:24px;margin:0 0 14px;}
.sat-versions p{color:var(--muted-2);font-size:15px;line-height:1.6;margin:0 0 16px;}
.faq-item{border-top:1px solid var(--line);padding:16px 0;}
.faq-item h3{font-family:var(--serif);font-weight:600;font-size:18px;margin:0 0 6px;}
.faq-item p{margin:0;color:var(--muted-2);font-size:15px;line-height:1.6;}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;}
.rel-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:opacity .15s ease;}
.rel-card:hover{opacity:.92;}
.rel-card img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:9px;background:#e8e1d2;box-shadow:0 10px 22px rgba(33,29,24,.14);margin-bottom:9px;}
.rel-card span{font-family:var(--serif);font-size:14px;font-weight:500;line-height:1.25;}

.book-desc{max-width:820px;margin:36px auto 0;}
.book-layout .breadcrumb{margin-bottom:18px;}
.book-cover img{aspect-ratio:auto;}
