/* DAHLIA BOOKS — páginas nuevas, compatible con la estética de la v4 */
:root {--line:#252226;--subpink:#f5bfd7}
[hidden]{display:none !important}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.explore-all{margin-top:18px}
.quiz-link{margin-top:26px}
.subhero{position:relative;overflow:hidden;padding:85px 7% 88px;background:var(--blue);min-height:380px}
.subhero-exps{background:var(--blue)}
.subhero-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;max-width:1200px;margin:0 auto}
.subhero h1{font-size:clamp(66px,9.4vw,135px);font-weight:800;letter-spacing:-.07em;line-height:.94;margin:20px 0 15px}
.subhero h1 i{font-family:'DM Serif Display',serif;font-weight:400}
.subhero p{font-size:17px;line-height:1.65;max-width:500px}
.subhero-spark{position:absolute;font-size:53px;color:#fff;pointer-events:none}
.spark-left{left:44%;top:16%}.spark-right{right:5%;bottom:12%;color:var(--pink)}
.round-sticker{width:145px;height:145px;flex-shrink:0;border-radius:100%;background:#f5bfd7;border:1.5px solid #252226;display:grid;place-items:center;text-align:center;font-family:'DM Serif Display',serif;font-style:italic;font-size:25px;line-height:1.12;transform:rotate(12deg);margin-bottom:8px}
.catalog-section{padding:92px 6% 100px;background:#f8f8f4}
.catalog-intro{display:flex;align-items:end;justify-content:space-between;gap:35px;max-width:1250px;margin:auto}
.catalog-intro h2{font-size:clamp(42px,5vw,67px);line-height:1.08;letter-spacing:-.06em;margin:18px 0 28px}
.catalog-intro h2 i{font-family:'DM Serif Display',serif;font-weight:400}
.catalog-intro p{max-width:300px;line-height:1.6;margin-bottom:30px}
.catalog-controls{max-width:1250px;margin:0 auto 20px;display:flex;align-items:center;gap:15px;justify-content:space-between;flex-wrap:wrap}
.filter-row{display:flex;gap:9px;flex-wrap:wrap}
.filter{border:1.5px solid var(--line);padding:12px 17px;border-radius:30px;background:#fff;color:var(--ink);font-weight:800;font-size:12px;transition:background .18s,transform .18s}
.filter:hover,.filter:focus-visible{transform:translateY(-2px)}
.filter.active{background:var(--blue)}
.search-wrap{position:relative;min-width:215px;flex:1 0 210px;max-width:310px}
.search-wrap input{width:100%;border:1.5px solid #252226;border-radius:30px;background:#fff;padding:12px 15px 12px 38px;font:600 12px 'DM Sans',sans-serif;outline-offset:3px}
.search-icon{position:absolute;left:12px;top:5px;font-size:27px}
.results-row{max-width:1250px;margin:0 auto 18px;display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:800;letter-spacing:.04em}
.results-note{opacity:.63;font-weight:500}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1250px;margin:0 auto}
.catalog-card{border:1.5px solid #252226;border-radius:13px;overflow:hidden;background:white;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s}
.catalog-card:hover{transform:translateY(-4px);box-shadow:5px 6px 0 #252226}
.catalog-card-art{position:relative;height:235px;display:grid;place-items:center;overflow:hidden;background:repeating-linear-gradient(90deg,#f3bdd5 0 28px,#f7cee0 28px 56px)}
.catalog-card.celeste .catalog-card-art{background:repeating-linear-gradient(0deg,#acd8e8 0 24px,#bee5ef 24px 48px)}
.catalog-card.lima .catalog-card-art{background:repeating-linear-gradient(90deg,#d5e5aa 0 24px,#e5eec6 24px 48px)}
.catalog-card.crema .catalog-card-art{background:repeating-linear-gradient(0deg,#f1e4ba 0 24px,#f7eccb 24px 48px)}
.art-emoji{font-size:100px;line-height:1;z-index:1;transform:rotate(-10deg);filter:drop-shadow(6px 8px 0 #fff9)}
.art-mini{position:absolute;top:16px;left:18px;background:white;border:1px solid #252226;padding:7px 10px;border-radius:30px;font-size:10px;letter-spacing:1px;font-weight:800}
.art-spark{position:absolute;right:25px;top:65px;color:white;font-size:63px;transform:rotate(16deg)}
.art-sticker{position:absolute;right:23px;bottom:17px;border:1px solid #252226;border-radius:100%;width:69px;height:69px;background:#f8f8f4;display:grid;place-items:center;text-align:center;line-height:1.15;font-size:10px;font-weight:800;transform:rotate(12deg)}
.catalog-card-body{display:flex;flex-direction:column;flex:1;padding:24px 22px 22px}
.card-topline{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;font-weight:800}
.catalog-card h3{font-family:'DM Serif Display',serif;font-weight:400;font-size:31px;line-height:1.06;letter-spacing:-.04em;margin:22px 0 12px}
.catalog-card p{font-size:14px;line-height:1.65;flex:1;margin:0 0 17px}
.card-info{display:grid;gap:7px;font-size:12px;border-top:1px dashed #666;padding-top:13px}
.card-bottom{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.card-bottom .pill{padding:10px 14px}
.upcoming-tag{border:1px solid #252226;border-radius:30px;background:#e5e9ba;padding:8px 11px;font-size:10px;font-weight:800;white-space:nowrap}
.demo-note{max-width:1250px;margin:32px auto 0;font-size:12px;line-height:1.65;opacity:.75}
.empty-state{text-align:center;padding:65px 25px;border:1px dashed #aaa;border-radius:14px;max-width:800px;margin:25px auto}
.empty-state>span{font-size:55px;color:var(--pink)}.empty-state h3{font-size:25px;margin:10px 0}.empty-state p{margin-bottom:25px}
.next-step-banner{text-align:center;padding:90px 20px;background:#f5bfd7}
.next-step-banner h2{font-size:clamp(42px,6vw,70px);line-height:1.05;letter-spacing:-.06em;margin:20px 0}
.next-step-banner h2 i{font-family:'DM Serif Display',serif;font-weight:400}
.next-step-banner p{line-height:1.6;max-width:420px;margin:0 auto 25px}
.next-step-banner.smaller{padding:65px 20px;background:var(--blue)}
/* ficha */
.detail-head{padding:35px 6% 95px;max-width:1400px;margin:auto}
.back-link{font-weight:800;font-size:13px;display:inline-block;margin-bottom:33px;text-decoration:underline;text-underline-offset:5px}
.detail-grid{display:grid;grid-template-columns:.86fr 1.14fr;align-items:start;gap:clamp(25px,6vw,90px)}
.detail-art{border:1.5px solid #252226;min-height:600px;border-radius:15px;position:sticky;top:20px;display:grid;place-items:center;overflow:hidden;background:repeating-linear-gradient(0deg,#f0bed6 0 45px,#f8dbe6 45px 90px)}
.detail-art.celeste{background:repeating-linear-gradient(90deg,#aad7e8 0 43px,#d4edf3 43px 86px)}
.detail-art.lima{background:repeating-linear-gradient(0deg,#d0e3ad 0 45px,#e6f0c9 45px 90px)}
.detail-art.crema{background:repeating-linear-gradient(90deg,#f4e5bf 0 45px,#faf0d9 45px 90px)}
.detail-emoji{font-size:clamp(130px,19vw,270px);transform:rotate(-10deg);filter:drop-shadow(10px 13px 0 #ffffff90)}
.detail-vertical{position:absolute;top:24px;left:24px;font-size:10px;letter-spacing:3px;font-weight:800}
.detail-art-caption{position:absolute;bottom:32px;right:30px;border-radius:100%;background:var(--cream);border:1px solid #252226;width:120px;height:120px;display:grid;place-items:center;text-align:center;font-weight:800;font-size:14px;line-height:1.4;transform:rotate(-12deg)}
.detail-main h1{font-size:clamp(43px,6vw,83px);line-height:.98;letter-spacing:-.06em;margin:19px 0 10px}
.detail-subtitle{font-family:'DM Serif Display',serif;font-style:italic;font-size:27px;margin:0 0 23px}
.detail-desc{font-size:16px;line-height:1.8;margin:32px 0 24px}
.detail-facts{border-top:1.5px solid #252226;margin:25px 0 31px}
.fact-row{display:flex;align-items:start;justify-content:space-between;gap:20px;border-bottom:1px solid #d0cdca;padding:16px 0;font-size:14px}
.fact-row span{opacity:.7}.fact-row strong{text-align:right}
.detail-main h2{font-family:'DM Serif Display',serif;font-size:32px;margin:26px 0 10px;font-weight:400}
.includes-list{padding-left:24px;line-height:1.9}
.detail-signup{padding:22px;border:1.5px solid #252226;border-radius:12px;background:#f5bfd7;margin-top:30px}
.detail-signup p{font-size:14px;line-height:1.6;margin:0 0 18px}
.pill:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}
.tiny-disclaimer{opacity:.7;font-size:12px;line-height:1.6}
.not-found{text-align:center;padding:90px 0}.not-found h1{font-size:clamp(42px,7vw,70px)}
/* test */
.quiz-hero{text-align:center;padding:90px 20px 75px;min-height:auto}
.quiz-hero h1{font-size:clamp(48px,8vw,105px);letter-spacing:-.065em;margin:20px 0}
.quiz-hero p{max-width:520px;margin:auto}
.quiz-hero-orn{position:absolute;top:44px;right:13%;font-size:85px;color:#f5bfd7;transform:rotate(15deg)}
.fullquiz-area{padding:90px 20px 110px;background-image:linear-gradient(#e9e7e4 1px,transparent 1px),linear-gradient(90deg,#e9e7e4 1px,transparent 1px);background-size:23px 23px}
.fullquiz-card{max-width:760px;min-height:500px;margin:auto;background:#fff;border:1.5px solid #252226;border-radius:15px;padding:clamp(26px,5vw,55px);box-shadow:12px 12px 0 #f5bfd7;text-align:center}
.fullquiz-card h2{font-size:clamp(33px,5vw,53px);line-height:1.05;letter-spacing:-.05em;margin:16px auto 20px}
.fullquiz-card h2 i{font-family:'DM Serif Display',serif;font-weight:400}
.fullquiz-card p{line-height:1.7;max-width:480px;margin:0 auto 25px}
.big-quiz-deco{font-size:55px;letter-spacing:16px;margin:38px 0 22px}
.large-button{padding:14px 25px}
.quiz-progress-top{display:flex;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:1.5px;gap:15px}
.progress-track{height:12px;border:1px solid #252226;border-radius:20px;overflow:hidden;margin:16px 0 30px;background:#f8f8f4}
.progress-fill{height:100%;width:0;background:#79addc;transition:width .2s}
.quiz-question-visual{font-size:65px;line-height:1.3}
.question-caption{color:#5a5659;font-size:14px}
.quiz-options{display:grid;gap:12px;text-align:left;margin-top:28px}
.quiz-option{border:1.5px solid #252226;border-radius:12px;text-align:left;padding:17px 20px;font-size:14px;font-weight:700;background:#f8f8f4;transition:transform .16s,background .16s}
.quiz-option:hover,.quiz-option:focus-visible{background:#f5bfd7;transform:translateX(3px)}
.quiz-option.selected{background:#79addc}
.quiz-bottom{margin-top:24px;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#6f6b6d;font-size:12px}
.text-button{border:none;background:transparent;text-decoration:underline;text-underline-offset:3px;font-weight:800;color:#252226;padding:8px 0}
.text-button:disabled{opacity:.3;cursor:not-allowed}
.result-emoji{font-size:94px;margin:34px 0 20px}
.quiz-actions{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;margin:20px 0}
#quiz-complete .tiny-disclaimer{margin-top:25px;font-size:11px}
@media(max-width:1030px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subhero-heading .round-sticker{width:115px;height:115px;font-size:20px}.detail-grid{gap:36px}}
@media(max-width:720px){.subhero{padding:60px 6% 65px}.subhero-heading{display:block}.subhero h1{font-size:clamp(57px,11vw,85px)}.round-sticker{display:none}.spark-left{left:auto;right:11%;top:22%}.subhero-spark{font-size:31px}.catalog-section{padding:65px 5%}.catalog-intro{display:block}.catalog-intro p{margin-bottom:25px}.catalog-grid{grid-template-columns:1fr}.catalog-card-art{height:200px}.catalog-controls{display:block}.filter-row{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;padding-bottom:13px}.search-wrap{max-width:none;display:block}.search-wrap input{width:100%}.results-note{display:none}.detail-head{padding:25px 5% 65px}.detail-grid{grid-template-columns:1fr}.detail-art{min-height:340px;position:relative;top:auto}.detail-art-caption{width:90px;height:90px;font-size:10px;bottom:14px;right:12px}.detail-emoji{font-size:150px}.detail-main h1{margin-top:25px}.fullquiz-area{padding:45px 20px 75px}.fullquiz-card{min-height:470px;box-shadow:7px 7px 0 #f5bfd7}.quiz-hero-orn{font-size:43px;top:30px;right:4%}.quiz-progress-top{font-size:9px}}
@media(prefers-reduced-motion:reduce){.catalog-card,.quiz-option,.progress-fill{transition:none}}
