@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,700;0,800;0,900;1,800&display=swap");

:root { --ink:#27182b; --muted:#735f76; --cream:#fffdf8; --card:#fff; --pink:#d62862; --rose:#f15882; --orange:#f3a83d; --line:#f0dfdf; --soft:#fff5f7; --shadow:0 18px 48px rgb(92 20 62 / .12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"DM Sans",sans-serif; line-height:1.5; }
button,a { font:inherit; } button { cursor:pointer; } a { color:inherit; text-decoration:none; } .container { width:min(1120px,calc(100% - 2rem)); margin:auto; }
.global-header { position:sticky; top:0; z-index:40; border-bottom:1px solid #e6e9ef; background:rgb(255 255 255 / .96); box-shadow:0 5px 20px rgb(24 37 58 / .06); backdrop-filter:blur(14px); }
.global-nav { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; min-height:82px; gap:1.25rem; }
.global-brand { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; color:#10203d; font-family:"DM Sans",sans-serif; font-size:.9rem; font-weight:900; text-align:center; }
.global-brand img { width:54px; height:54px; border-radius:50%; object-fit:cover; box-shadow:0 5px 16px rgb(16 32 61 / .12); }
.global-nav-links { display:flex; align-items:center; gap:1rem; color:#43506a; font-size:.78rem; font-weight:800; white-space:nowrap; }
.global-nav-left { justify-content:flex-end; }.global-nav-right { justify-content:flex-start; }.global-nav-links a:hover,.global-nav-links a:focus-visible { color:#d62862; outline:none; }
.global-menu-toggle { display:none; width:46px; height:46px; border:1px solid #e3e7ee; border-radius:50%; background:#fff; color:#10203d; cursor:pointer; }.global-menu-toggle span { display:block; width:19px; height:2px; margin:4px auto; border-radius:2px; background:currentColor; transition:transform .2s,opacity .2s; }.global-header.is-menu-open .global-menu-toggle span:nth-child(1) { transform:translateY(6px) rotate(45deg); }.global-header.is-menu-open .global-menu-toggle span:nth-child(2) { opacity:0; }.global-header.is-menu-open .global-menu-toggle span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
.related-guides { border-block:1px solid var(--line); background:#fff8fa; }.related-guides-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:1rem; }.related-guide-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 9px 22px rgb(64 22 40 / .08); transition:transform .2s,box-shadow .2s; }.related-guide-card:hover,.related-guide-card:focus-visible { outline:none; transform:translateY(-5px); box-shadow:var(--shadow); }.related-guide-card img { width:100%; height:auto; aspect-ratio:1/.78; object-fit:cover; }.related-guide-card span,.related-guide-card strong,.related-guide-card small { margin-inline:1rem; }.related-guide-card span { width:fit-content; margin-top:1rem; color:var(--pink); font-size:.67rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.related-guide-card strong { margin-top:.45rem; font-size:1rem; }.related-guide-card small { margin-top:.45rem; margin-bottom:1.1rem; color:var(--muted); font-size:.78rem; line-height:1.4; }
.promo-bar { min-height:38px; display:flex; justify-content:center; align-items:center; gap:.55rem; padding:.45rem 1rem; color:white; background:#27182b; font-size:.78rem; letter-spacing:.04em; text-align:center; }
.promo-bar strong { color:#ffd1df; } .promo-divider { opacity:.5; }
.site-header { position:sticky; top:0; z-index:30; background:rgb(255 253 248 / .88); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.header-content { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }.brand { display:inline-flex; align-items:center; gap:.55rem; font-size:1.25rem; font-weight:900; }.brand > span:last-child span { color:var(--pink); }.brand-icon { width:32px; height:32px; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,var(--pink),var(--rose)); border-radius:9px; }
.main-nav { display:flex; gap:1.5rem; color:#5b495d; font-size:.9rem; font-weight:600; }.main-nav a:hover { color:var(--pink); }.button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:1rem 1.5rem; border:0; border-radius:999px; color:#fff; font-weight:800; background:linear-gradient(135deg,var(--pink),var(--rose)); box-shadow:0 12px 25px rgb(214 40 98 / .23); transition:transform .2s,filter .2s; }.button:hover { filter:brightness(1.08); transform:translateY(-2px); }.button-small { padding:.62rem 1.15rem; font-size:.85rem; box-shadow:none; }
.hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:5rem; padding:4rem 0 4.5rem; }.cover-wrap { position:relative; }.cover-glow { position:absolute; inset:-2.5rem; z-index:-1; border-radius:48%; background:linear-gradient(135deg,#f5bad0,#f9d28b); filter:blur(45px); opacity:.6; }.cover-card { position:relative; padding:2.5rem; background:var(--card); border:1px solid var(--line); border-radius:28px; box-shadow:var(--shadow); }.cover-card img { width:100%; display:block; border-radius:14px; }.edition-label { position:absolute; top:-12px; right:-15px; padding:.45rem .7rem; border-radius:8px; color:#fff; background:var(--pink); box-shadow:0 8px 16px rgb(80 12 38 / .2); font-size:.7rem; font-weight:900; transform:rotate(6deg); }.rating { display:flex; align-items:center; gap:.7rem; }.rating span { color:var(--pink); letter-spacing:.1em; font-size:1.05rem; }.rating p { margin:0; color:var(--muted); font-size:.86rem; }.rating strong { color:var(--ink); }.hero h1,.section-heading h2,.bonus-section h2,.final-cta h2 { margin:.5rem 0 0; font-family:"Playfair Display",serif; font-weight:900; letter-spacing:-.045em; line-height:1.06; }.hero h1 { font-size:clamp(2.5rem,5vw,4.5rem); }.hero h1 em { color:var(--pink); font-style:normal; }.lead { max-width:550px; margin:1.25rem 0; color:var(--muted); font-size:1.1rem; }.price-row { display:flex; align-items:baseline; flex-wrap:wrap; gap:.8rem; margin:1.4rem 0; }.price-before { color:var(--muted); font-size:1rem; text-decoration:line-through; }.price-row strong { color:var(--pink); font-size:2.35rem; letter-spacing:-.06em; }.discount-badge { padding:.3rem .6rem; border-radius:999px; color:#fff; background:#ec4c3f; font-size:.73rem; font-weight:900; animation:offer-blink 1.25s ease-in-out infinite; }.offer-card { padding:1.15rem 1.25rem; border:1px solid var(--line); border-radius:18px; background:var(--card); }.eyebrow { margin:0; color:var(--pink); font-size:.73rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }.benefits { display:grid; gap:.8rem; margin:1rem 0 0; padding:0; list-style:none; }.benefits li { display:flex; gap:.7rem; }.benefits li>span { width:20px; height:20px; display:grid; flex:0 0 auto; place-items:center; margin-top:.1rem; border-radius:50%; color:#fff; background:var(--pink); font-size:.78rem; font-weight:900; }.benefits strong,.benefits small { display:block; }.benefits strong { font-size:.88rem; }.benefits small { color:var(--muted); font-size:.78rem; }.button-wide { width:100%; margin-top:1.35rem; padding:1rem; }.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem; margin-top:1rem; }.feature-grid span { padding:.55rem .45rem; border-radius:9px; color:var(--muted); background:#f8eff2; font-size:.7rem; font-weight:700; text-align:center; }.customers { display:flex; align-items:center; gap:.8rem; margin-top:1.2rem; }.customers p { margin:0; color:var(--muted); font-size:.83rem; }.customers strong { color:var(--ink); }.avatars { display:flex; }.avatars img { width:34px; height:34px; margin-right:-9px; border:2px solid var(--cream); border-radius:50%; object-fit:cover; }
.trust-strip { border-block:1px solid var(--line); background:#fff; }.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; padding:1.25rem 0; }.trust-grid p { display:flex; align-items:center; gap:.6rem; margin:0; color:var(--pink); font-size:1.2rem; }.trust-grid span { color:#59455c; font-size:.82rem; font-weight:700; }.section { padding:5.5rem 0; }.section-heading { max-width:670px; margin:0 auto 2.5rem; text-align:center; }.section-heading h2,.bonus-section h2,.final-cta h2 { font-size:clamp(2.1rem,4vw,3.4rem); }.section-heading > p:last-child { margin:.85rem 0 0; color:var(--muted); }.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }.category-card { min-height:165px; padding:1.35rem; border:1px solid var(--line); border-radius:18px; background:#fff; transition:transform .2s,box-shadow .2s; }.category-card:hover { box-shadow:var(--shadow); transform:translateY(-5px); }.category-card .emoji { font-size:1.85rem; }.category-card h3 { margin:.9rem 0 .1rem; font-size:1.05rem; }.category-card p { margin:0; color:var(--muted); font-size:.85rem; }.gallery-section { border-block:1px solid var(--line); background:#fff8fa; }.gallery-section .section { padding-bottom:5rem; }.gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }.gallery img { width:100%; aspect-ratio:1; display:block; border-radius:18px; object-fit:cover; box-shadow:0 9px 22px rgb(64 22 40 / .12); transition:transform .35s; }.gallery img:hover { transform:scale(1.035); }.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.testimonial { padding:1.5rem; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 9px 22px rgb(64 22 40 / .06); }.testimonial .stars { color:var(--pink); letter-spacing:.08em; }.testimonial blockquote { margin:1rem 0; color:#4b394d; }.testimonial p { margin:0; font-size:.85rem; font-weight:800; }.testimonial small { color:var(--muted); font-size:.75rem; }.bonus-section { display:grid; grid-template-columns:1.1fr .9fr; gap:3rem; padding:3.5rem; overflow:hidden; border-radius:28px; color:#fff; background:linear-gradient(130deg,#bd1e59,#f0567d 58%,#ec9b47); }.bonus-section h2 { margin-top:1rem; }.bonus-section > div > p:not(.bonus-pill) { max-width:500px; opacity:.92; }.bonus-pill { display:inline-block; margin:0; padding:.35rem .65rem; border-radius:999px; background:rgb(255 255 255 / .18); font-size:.72rem; font-weight:800; text-transform:uppercase; }.button-light { margin-top:1.2rem; color:var(--pink); background:#fff; box-shadow:none; }.bonus-cards { display:grid; align-content:center; gap:.9rem; }.bonus-cards article { display:flex; justify-content:space-between; gap:1rem; padding:1.15rem; border:1px solid rgb(255 255 255 / .26); border-radius:16px; background:rgb(255 255 255 / .13); }.bonus-cards strong { font-size:.88rem; }.bonus-cards p { margin:.3rem 0 0; font-size:.8rem; opacity:.9; }.bonus-cards article>div:last-child { display:grid; align-content:start; text-align:right; white-space:nowrap; font-size:.78rem; }.bonus-cards b { font-size:.9rem; }.faq-section { width:min(800px,calc(100% - 2rem)); }.faq-list { display:grid; gap:.75rem; }.faq-item { border:1px solid var(--line); border-radius:15px; overflow:hidden; background:#fff; }.faq-question { width:100%; display:flex; align-items:center; justify-content:space-between; padding:1.05rem 1.25rem; border:0; color:var(--ink); background:transparent; font-weight:800; text-align:left; }.faq-question span { color:var(--pink); font-size:1.25rem; transition:transform .2s; }.faq-question[aria-expanded="true"] span { transform:rotate(45deg); }.faq-answer { padding:0 1.25rem 1.1rem; color:var(--muted); font-size:.9rem; }.final-cta { padding:5.5rem 0; text-align:center; }.final-cta>p { max-width:570px; margin:1rem auto; color:var(--muted); }.price-row-center { justify-content:center; }.final-cta small { display:block; margin-top:1rem; color:var(--muted); } footer { border-top:1px solid var(--line); background:#fff; }.footer-content { display:flex; justify-content:space-between; gap:1rem; padding:1.75rem 0; color:var(--muted); font-size:.8rem; }.footer-content div { display:flex; gap:1.2rem; }.footer-content a:hover { color:var(--pink); }
.mini-packs-section { border-block:1px solid var(--line); background:#fff8fa; }.mini-packs { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.mini-pack { padding:1.6rem; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 9px 22px rgb(64 22 40 / .06); }.mini-pack>span { font-size:2rem; }.mini-pack-label { margin:.8rem 0 .2rem; color:var(--pink); font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }.mini-pack h3 { margin:0; font-size:1.2rem; }.mini-pack p:not(.mini-pack-label) { min-height:3rem; margin:.5rem 0 1rem; color:var(--muted); font-size:.9rem; }.mini-pack b { display:inline-block; padding:.3rem .55rem; border-radius:999px; color:#fff; background:var(--pink); font-size:.7rem; letter-spacing:.06em; }
.activity-toast { position:fixed; left:1rem; bottom:1rem; z-index:50; width:min(340px,calc(100vw - 2rem)); padding:1rem 2.2rem 1rem 1rem; border:1px solid #f2cbd8; border-radius:14px; color:var(--ink); background:#fff; box-shadow:var(--shadow); animation:toast-in .35s ease-out; }.activity-toast[hidden] { display:none; }.activity-toast button { position:absolute; top:.4rem; right:.6rem; border:0; color:var(--muted); background:none; font-size:1.4rem; }.toast-label { margin:0 0 .3rem; color:var(--pink); font-size:.66rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.activity-toast p:last-child { margin:0; font-size:.88rem; }.checkout-message { position:fixed; z-index:60; left:50%; bottom:1.25rem; max-width:calc(100vw - 2rem); padding:.8rem 1.1rem; border-radius:999px; color:#fff; background:var(--ink); box-shadow:var(--shadow); font-size:.85rem; transform:translateX(-50%); }.checkout-message[hidden] { display:none; }
@keyframes offer-blink { 50% { opacity:.45; transform:scale(.96); } } @keyframes toast-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } } @media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } }
@media (max-width:850px) { .hero,.bonus-section { grid-template-columns:1fr; gap:2.5rem; }.hero { padding-top:3rem; }.cover-wrap { width:min(480px,100%); margin:auto; }.category-grid { grid-template-columns:repeat(2,1fr); }.gallery { grid-template-columns:repeat(2,1fr); }.testimonial-grid,.mini-packs { grid-template-columns:1fr; }.trust-grid { grid-template-columns:repeat(2,1fr); }.related-guides-grid { grid-template-columns:repeat(2,1fr); }.bonus-section { padding:2rem; } }
@media (max-width:760px) { .global-nav { grid-template-columns:minmax(0,1fr) auto; min-height:76px; gap:.75rem; padding:8px 0; }.global-brand { grid-column:1; grid-row:1; justify-content:flex-start; gap:.6rem; font-size:.86rem; text-align:left; }.global-brand img { width:58px; height:58px; }.global-menu-toggle { display:block; grid-column:2; grid-row:1; }.global-nav-links { display:none; width:100%; flex-wrap:wrap; gap:.45rem .9rem; padding:10px 0 2px; white-space:normal; }.global-header.is-menu-open .global-nav-links { display:flex; }.global-nav-left { grid-column:1/-1; grid-row:2; justify-content:flex-start; }.global-nav-right { grid-column:1/-1; grid-row:3; justify-content:flex-start; }.global-nav-links a { padding:.35rem 0; } }
@media (max-width:590px) { .main-nav { display:none; }.promo-bar { font-size:.66rem; }.promo-divider { display:none; }.promo-bar { flex-wrap:wrap; gap:.2rem .4rem; }.hero { padding-bottom:3rem; }.cover-card { padding:1.25rem; }.feature-grid { grid-template-columns:1fr 1fr; }.feature-grid span:last-child { grid-column:1/-1; }.section { padding:3.75rem 0; }.category-grid { gap:.7rem; }.category-card { min-height:135px; padding:1rem; }.category-card h3 { font-size:.9rem; }.trust-grid { gap:.65rem; }.trust-grid p { align-items:flex-start; font-size:1rem; }.trust-grid span { font-size:.71rem; }.related-guides-grid { grid-template-columns:1fr; }.footer-content { flex-direction:column; align-items:center; text-align:center; }.bonus-section { margin-inline:-.15rem; padding:1.5rem; }.bonus-cards article { padding:.9rem; }.hero h1 { font-size:2.55rem; } }
.promo-bar { position:relative; overflow:hidden; isolation:isolate; }.promo-bar::before { position:absolute; inset:0; z-index:-1; content:""; background:linear-gradient(110deg,transparent 18%,rgb(255 255 255 / .16) 45%,transparent 72%); transform:translateX(-130%); animation:promo-shine 3.2s ease-in-out infinite; }.promo-bar>* { position:relative; }.offer-live { animation:promo-pulse 1.4s ease-in-out infinite; }.live-dot { width:.48rem; height:.48rem; flex:0 0 auto; border-radius:50%; background:#ffcfde; box-shadow:0 0 0 0 rgb(255 207 222 / .7); animation:live-ping 1.35s infinite; }.promo-bar #countdown { color:#ffe5a7; font-weight:800; animation:countdown-pop 2.4s ease-in-out infinite; }.mini-price { display:block; margin:.1rem 0 .85rem; color:var(--pink); font-size:1.35rem; letter-spacing:-.04em; }.mini-pack-button { width:100%; display:flex; align-items:center; justify-content:center; padding:.65rem 1rem; border:1px solid var(--pink); border-radius:999px; color:var(--pink); background:transparent; font-size:.82rem; font-weight:900; transition:.2s; }.mini-pack-button:hover { color:#fff; background:var(--pink); transform:translateY(-2px); }.mini-pack p:not(.mini-pack-label) { min-height:auto; }.mini-pack b { display:none; } @keyframes promo-shine { 0%,45% { transform:translateX(-130%); } 72%,100% { transform:translateX(130%); } } @keyframes promo-pulse { 50% { color:#fff0b8; letter-spacing:.055em; } } @keyframes live-ping { 70% { box-shadow:0 0 0 .45rem rgb(255 207 222 / 0); } 100% { box-shadow:0 0 0 0 rgb(255 207 222 / 0); } } @keyframes countdown-pop { 50% { transform:scale(1.045); } }

/* Compra siempre visible sin cubrir el contenido de la página. */
body { padding-bottom:5.5rem; }
.sticky-offer { position:fixed; right:1.25rem; bottom:1.25rem; z-index:70; display:flex; align-items:center; gap:1rem; padding:.7rem .75rem .7rem 1rem; border:1px solid #f1bacb; border-radius:999px; color:var(--ink); background:rgb(255 255 255 / .97); box-shadow:0 14px 36px rgb(92 20 62 / .22); backdrop-filter:blur(12px); }
.sticky-offer-copy { display:grid; gap:.05rem; white-space:nowrap; }.sticky-offer-label { color:var(--pink); font-size:.67rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }.sticky-offer-copy strong { font-size:1.05rem; letter-spacing:-.03em; }.sticky-offer-button { padding:.75rem 1rem; font-size:.8rem; box-shadow:none; }
@media (max-width:590px) { body { padding-bottom:6.25rem; }.sticky-offer { right:.65rem; bottom:.65rem; left:.65rem; justify-content:space-between; gap:.6rem; padding:.65rem .7rem .65rem .85rem; }.sticky-offer-label { font-size:.59rem; }.sticky-offer-copy strong { font-size:.98rem; }.sticky-offer-button { flex:0 0 auto; padding:.72rem .85rem; font-size:.74rem; } .activity-toast { bottom:6.35rem; } .checkout-message { bottom:6.35rem; } }

/* La oferta permanece visible justo debajo del menú durante todo el recorrido. */
.promo-bar { position:sticky; top:82px; z-index:35; }
@media (max-width:760px) { .promo-bar { top:76px; } }

/* Productos relacionados compactos: evita las imágenes gigantes en celular. */
@media (max-width:590px) {
  .hero { padding-bottom:1.25rem; }
  .related-guides-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
  .related-guide-card img { aspect-ratio:1/1; }
  .related-guide-card span,.related-guide-card strong,.related-guide-card small { margin-inline:.7rem; }
  .related-guide-card span { margin-top:.7rem; font-size:.58rem; }
  .related-guide-card strong { font-size:.82rem; line-height:1.2; }
  .related-guide-card small { margin-top:.35rem; margin-bottom:.75rem; font-size:.67rem; line-height:1.35; }
}
