/* === DREAMY — sezonní akce /black-friday/ + /vanoce/ · v1 · 2026-10-28 · vše pod .dsz === */
.dsz { --pink: #D90074; --pink-dark: #990052; --pink-2: #b8005f; --g1: #D80673; --g2: #72033D; --mint: #5ABAB7; --mint-dark: #2e8a86;
  --cream: #FFF5F9; --blush: #fcf1f6; --blush-2: #f8e3ee; --ink: #141118; --body: #3f3339; --muted: #7c7079; --line: #efe4ea;
  --serif: 'Source Serif 4', Merriweather, Georgia, serif;
  --pill: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 96' preserveAspectRatio='none'%3E%3Cpath d='M200 48C200 48 155.2 96 100 96C44.8 96 0 48 0 48C0 48 44.8 0 100 0C155.2 0 200 48 200 48Z'/%3E%3C/svg%3E");
  font-family: 'Source Sans 3', Rubik, -apple-system, 'Segoe UI', sans-serif; color: var(--body); font-size: 17px; font-weight: 400; line-height: 1.6; max-width: 1180px; margin: 0 auto; }
.dsz *, .dsz *::before, .dsz *::after { box-sizing: border-box; }
.dsz p, .dsz li, .dsz summary { font-weight: 400; color: inherit; }
.dsz :where(h1, h2, h3, h4, p, ul, ol, figure) { margin: 0; padding: 0; }
.dsz ul, .dsz ol { list-style: none; }
.dsz li::before { content: none !important; }
.dsz img { display: block; max-width: 100%; height: auto; border: 0; }
.dsz a { color: var(--pink); text-decoration: none; }
.dsz h1, .dsz h2, .dsz h3 { font-family: var(--serif) !important; color: var(--ink) !important; letter-spacing: -.01em; text-align: left; }
.dsz h1 { font-size: 50px !important; line-height: 1.08 !important; font-weight: 800 !important; }
.dsz h2 { font-size: 34px !important; line-height: 1.15 !important; font-weight: 700 !important; margin-bottom: 12px !important; }
.dsz h3 { font-size: 20px !important; line-height: 1.3 !important; font-weight: 700 !important; }
.dsz-eyebrow { display: inline-block; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--pink); margin-bottom: 12px !important; }
.dsz-lead { font-size: 19px; line-height: 1.6; max-width: 56ch; }
.dsz-sec { padding: 60px 0; }
.dsz-center { text-align: center; }
.dsz-center h2, .dsz-center .dsz-lead { text-align: center; margin-left: auto; margin-right: auto; }
.dsz-note { font-size: 14.5px; color: var(--muted); }

/* ---------- prvek polštář (tvar z kreativního konceptu, poměr 2,08 : 1) ---------- */
.dsz-pl { --w: 200px; --r: 0deg; position: absolute; width: var(--w); height: calc(var(--w) * .48); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  -webkit-mask: var(--pill) center / 100% 100% no-repeat; mask: var(--pill) center / 100% 100% no-repeat; transform: rotate(var(--r)); font-family: var(--serif); color: #fff; line-height: 1.05; pointer-events: none; }
.dsz-pl--pink { background: radial-gradient(130% 150% at 30% 18%, #F2449F 0%, #D90074 52%, #A8005C 100%); }
.dsz-pl--mint { background: radial-gradient(130% 150% at 30% 18%, #93DAD7 0%, #5ABAB7 52%, #3E9895 100%); }
.dsz-pl--mintflat { background: var(--mint); }
.dsz-pl--white { background: radial-gradient(130% 150% at 30% 18%, #fff 0%, #FFF2F8 60%, #F6D9E7 100%); color: var(--pink); }
.dsz-pl--bg { background: linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.02) 70%); }
.dsz-pl--ghost { background: rgba(255,255,255,.12); }
.dsz-pl--ghostpink { background: rgba(217,0,116,.09); }
.dsz-pl small { display: block; font-size: 16px; font-weight: 400; margin-bottom: 2px; }
.dsz-pl b { display: block; font-weight: 900; }
.dsz-sh { position: absolute; inset: 0; pointer-events: none; filter: drop-shadow(0 12px 16px rgba(70,0,35,.30)) drop-shadow(0 3px 5px rgba(70,0,35,.16)); }
.dsz-sh-light { position: absolute; inset: 0; pointer-events: none; filter: drop-shadow(0 12px 18px rgba(150,0,80,.18)); }
/* odrážka polštář */
.dsz-bul { position: relative; display: inline-block; width: 1.15em; height: .55em; vertical-align: middle; top: -.06em; margin-right: .45em; background: var(--mint);
  -webkit-mask: var(--pill) center / 100% 100% no-repeat; mask: var(--pill) center / 100% 100% no-repeat; }

/* ---------- tlačítka ---------- */
.dsz-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 15px 26px; border-radius: 999px; font-weight: 700; font-size: 16.5px; line-height: 1; cursor: pointer; border: 2px solid var(--pink); background: var(--pink); color: #fff !important; transition: background .15s, transform .15s; font-family: inherit; }
.dsz-btn:hover { background: var(--pink-2); border-color: var(--pink-2); transform: translateY(-1px); }
.dsz-btn--ghost { background: transparent; color: var(--pink) !important; }
.dsz-btn--ghost:hover { background: var(--blush); color: var(--pink-2) !important; }
.dsz-btn--white { background: #fff; border-color: #fff; color: var(--pink-dark) !important; }
.dsz-btn--white:hover { background: var(--cream); border-color: var(--cream); }
.dsz-btn--wghost { background: transparent; border-color: rgba(255,255,255,.75); color: #fff !important; }
.dsz-btn--wghost:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.dsz-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

/* ---------- úvod (hero) ---------- */
.dsz-hero { position: relative; overflow: hidden; border-radius: 30px; display: grid; grid-template-columns: 1.08fr 1fr; gap: 24px; align-items: center; padding: 54px 36px 54px 52px; min-height: 470px; margin-top: 10px; }
.dsz-hero > div:not(.dsz-deco) { position: relative; z-index: 2; }
.dsz-hero .dsz-lead { margin-top: 16px !important; }
/* kompozice vpravo: vše v cqw (% šířky kompozice), škáluje se na PC i mobilu */
.dsz-hero-art { position: relative; container-type: inline-size; aspect-ratio: 1.45; width: 100%; max-width: 600px; justify-self: center; }
.dsz-hero-art .a-back { --w: 86cqw; --r: 9deg; left: 8cqw; top: 21cqw; }
.dsz-hero-art .a-photo { width: 88cqw; height: 42.3cqw; left: 4cqw; top: 17cqw; transform: rotate(-5deg); }
.dsz-hero-art .a-tag { --w: 40cqw; --r: -6deg; left: 0; top: 1cqw; }
.dsz-hero-art .a-tag small { font-size: 3cqw; }
.dsz-hero-art .a-tag b { font-size: 9.6cqw; }
.dsz-hero-art .a-tag2 { --w: 33cqw; --r: 5deg; right: 2cqw; bottom: 1cqw; }
.dsz-hero-art .a-tag2 small { font-size: 2.2cqw; font-family: 'Source Sans 3', sans-serif; font-weight: 600; }
.dsz-hero-art .a-tag2 b { font-size: 3.7cqw; letter-spacing: .02em; }
.dsz-hero-art .a-tagbr { --w: 41cqw; --r: -7deg; right: 0; bottom: 0; }
.dsz-hero-art .a-tagbr small { font-size: 3cqw; }
.dsz-hero-art .a-tagbr b { font-size: 9cqw; }
.dsz-photo { position: absolute; -webkit-mask: var(--pill) center / 100% 100% no-repeat; mask: var(--pill) center / 100% 100% no-repeat; overflow: hidden; }
.dsz .dsz-photo img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.dsz-deco { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
/* BF = gradient */
.dsz--bf .dsz-hero { background: linear-gradient(135deg, var(--g1), var(--g2)); color: #fff; }
.dsz--bf .dsz-hero h1 { color: #fff !important; }
.dsz--bf .dsz-hero .dsz-eyebrow { color: #ffd1e7; }
.dsz--bf .dsz-hero .dsz-lead { color: #ffe9f3; }
/* Vánoce = krémová */
.dsz--xm .dsz-hero { background: var(--cream); }
.dsz--xm .dsz-hero h1 { color: var(--pink) !important; }
.dsz--xm .dsz-hero .dsz-eyebrow { color: var(--pink-dark); }

/* kód + kopírování */
.dsz-code { margin-top: 24px; display: inline-flex; align-items: center; gap: 14px; flex-wrap: wrap; background: #fff; border-radius: 18px; padding: 10px 10px 10px 20px; box-shadow: 0 10px 28px rgba(70,0,35,.18); }
.dsz-code span { font-size: 13px; color: var(--muted); font-weight: 600; line-height: 1.2; }
.dsz-code b { display: block; font-family: var(--serif); font-size: 26px; font-weight: 900; letter-spacing: .04em; color: var(--pink-dark); }
.dsz-code button { font: inherit; font-weight: 700; font-size: 15px; padding: 12px 18px; border-radius: 12px; border: 0; background: var(--mint); color: #fff; cursor: pointer; }
.dsz-code button:hover { background: var(--mint-dark); }
.dsz-code button.is-ok { background: var(--mint-dark); }

/* odpočet (jen posledních 72 h) */
.dsz-cdbox { margin-top: 18px; display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; border-radius: 14px; padding: 10px 16px; font-size: 14.5px; font-weight: 600; }
.dsz-cdbox[hidden] { display: none !important; }
.dsz--bf .dsz-cdbox { background: rgba(255,255,255,.14); color: #fff; }
.dsz--xm .dsz-cdbox { background: #fff; color: var(--pink-dark); }
.dsz-cd { display: inline-flex; align-items: baseline; gap: 3px; font-variant-numeric: tabular-nums; }
.dsz-cd b { font-size: 22px; font-weight: 800; min-width: 1.3em; text-align: right; }
.dsz-cd small { font-size: 12px; opacity: .8; margin-right: 8px; }

/* ---------- lišta důvěry ---------- */
.dsz-trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 22px !important; }
.dsz-trust li { display: flex; gap: 12px; align-items: flex-start; background: var(--blush); border-radius: 16px; padding: 16px 18px; font-size: 15px; line-height: 1.45; }
.dsz-trust strong { display: block; color: var(--ink); font-size: 16px; }
.dsz-trust svg { flex: 0 0 auto; margin-top: 2px; }
.dsz-trust a { font-weight: 600; }

/* ---------- kroky ---------- */
.dsz-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 26px !important; counter-reset: dsz; }
.dsz-steps li { position: relative; border: 1px solid var(--line); border-radius: 22px; padding: 64px 24px 24px; background: #fff; }
.dsz-steps li::after { counter-increment: dsz; content: counter(dsz); position: absolute; left: 22px; top: 18px; width: 56px; height: 27px; display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-weight: 900; font-size: 17px; color: #fff; background: var(--pink);
  -webkit-mask: var(--pill) center / 100% 100% no-repeat; mask: var(--pill) center / 100% 100% no-repeat; }
.dsz-steps h3 { margin-bottom: 6px !important; }
.dsz-steps p { font-size: 16px; }
.dsz-fair { margin-top: 18px !important; background: var(--cream); border-radius: 18px; padding: 18px 22px; font-size: 15.5px; }
.dsz-fair strong { color: var(--ink); }
.dsz-example { margin-top: 18px !important; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; background: #fff; border: 2px dashed var(--blush-2); border-radius: 18px; padding: 16px 22px; font-size: 16px; }
.dsz-example b { color: var(--ink); }
.dsz-example .dsz-save { color: var(--mint-dark); font-weight: 700; }

/* ---------- rozcestník kategorií ---------- */
.dsz-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 26px !important; }
.dsz-cats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dsz-cat { display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: #fff; border: 1px solid var(--line); transition: box-shadow .2s, transform .2s; color: var(--ink) !important; }
.dsz-cat:hover { box-shadow: 0 14px 36px rgba(20,17,24,.09); transform: translateY(-2px); }
.dsz-cat-img { position: relative; aspect-ratio: 4 / 3; background: var(--cream); overflow: hidden; display: block; }
.dsz .dsz-cat-img img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.dsz .dsz-cat-img img.dsz-contain { object-fit: contain; padding: 14px; }
.dsz-cat-body { padding: 16px 20px 20px; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.dsz-cat-body h3 { font-size: 21px !important; }
.dsz-cat-body > span > span { font-size: 14px; color: var(--muted); display: block; }
.dsz .dsz-cat-img:has(img.dsz-contain), .dsz .dsz-tip-img:has(img.dsz-contain) { background: #fff; }
/* fotky Dorelan = čtverec s bílými pruhy v rámu 4:3 → přiblížit, ať pruhy zmizí */
.dsz img.dsz-sq { transform: scale(1.34); }
.dsz-arrow { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; background: var(--blush); color: var(--pink); display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; }

/* ---------- tipy (produkty) ---------- */
.dsz-tips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 26px !important; }
.dsz-tips--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dsz-tip { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; background: #fff; color: var(--body) !important; transition: box-shadow .2s, transform .2s; }
.dsz-tip:hover { box-shadow: 0 14px 36px rgba(20,17,24,.09); transform: translateY(-2px); }
.dsz-tip-img { position: relative; aspect-ratio: 4 / 3; background: #fff; overflow: hidden; display: block; }
.dsz .dsz-tip-img img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.dsz .dsz-tip-img img.dsz-contain { object-fit: contain; padding: 10px; }
.dsz-badge { position: absolute; top: 12px; left: 12px; background: var(--pink); color: #fff; font-weight: 700; font-size: 14px; padding: 6px 11px; border-radius: 999px; line-height: 1; }
.dsz--xm .dsz-badge { background: var(--mint-dark); }
.dsz-tip-body { padding: 16px 18px 20px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.dsz-kind { font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.dsz-tip-body h3 { font-size: 19px !important; }
.dsz-tip-body p { font-size: 15px; line-height: 1.5; }
.dsz-more { margin-top: auto !important; padding-top: 6px; font-weight: 700; color: var(--pink); font-size: 15px; }

/* ---------- dvě karty (dárky / proč) ---------- */
.dsz-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.dsz-duo > div { position: relative; overflow: hidden; border-radius: 24px; padding: 32px; background: var(--blush); }
.dsz-duo > div:last-child { background: var(--cream); }
.dsz-duo p { margin-top: 8px !important; }
.dsz-duo .dsz-btn { margin-top: 18px; }
.dsz-duo ul { margin-top: 12px !important; display: grid; gap: 6px; }

/* ---------- doručení do Vánoc ---------- */
.dsz-ship { display: flex; gap: 20px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 22px 26px; margin-top: 22px; }
.dsz-ship svg { flex: 0 0 auto; }
.dsz-ship, .dsz-store, .dsz-fair, .dsz-example { color: var(--body); }
.dsz-ship strong { color: var(--ink); font-size: 18px; display: block; }

/* ---------- prodejny ---------- */
.dsz-stores { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 26px !important; }
.dsz-store { border-radius: 20px; background: var(--cream); padding: 20px; display: flex; flex-direction: column; gap: 4px; font-size: 15px; line-height: 1.45; }
.dsz-store h3 { font-size: 19px !important; margin-bottom: 4px !important; }
.dsz-store .dsz-hours { font-weight: 600; color: var(--ink); margin-top: 6px; }
.dsz-store a { margin-top: auto; padding-top: 10px; font-weight: 700; }

/* ---------- FAQ ---------- */
.dsz-faq { max-width: 800px; margin: 0 auto; }
.dsz-faq details { border-bottom: 1px solid var(--line); padding: 18px 0; }
.dsz-faq summary { cursor: pointer; font-weight: 700; color: var(--ink); font-size: 18px; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.dsz-faq summary::-webkit-details-marker { display: none; }
.dsz-faq summary::after { content: '+'; color: var(--pink); font-size: 24px; line-height: 1; }
.dsz-faq details[open] summary::after { content: '–'; }
.dsz-faq p { margin-top: 10px !important; max-width: 70ch; }

/* ---------- závěr ---------- */
.dsz-final { position: relative; overflow: hidden; border-radius: 30px; padding: 56px 40px; text-align: center; color: #fff; background: linear-gradient(135deg, var(--g1), var(--g2)); }
.dsz--xm .dsz-final { background: var(--pink); }
.dsz-final > :not(.dsz-deco) { position: relative; z-index: 2; }
.dsz-final h2 { color: #fff !important; text-align: center; font-size: 38px !important; }
.dsz-final p { color: #ffe9f3; }
.dsz-final a.dsz-tel { color: #fff; font-weight: 700; }
.dsz-final .dsz-ctas { justify-content: center; }

/* ---------- stavy akce (řídí JS) ---------- */
.dsz-po-akci { display: none; }
.dsz-skoncilo .dsz-akce-only { display: none !important; }
.dsz-skoncilo .dsz-po-akci { display: block; }
.dsz-ended { border-radius: 24px; background: var(--ink); color: #eee; padding: 34px; text-align: center; margin-top: 10px; }
.dsz-ended h2 { color: #fff !important; text-align: center; }
.dsz-ended .dsz-ctas { justify-content: center; }

/* ---------- responzivita ---------- */
@media (max-width: 1000px) {
  .dsz-hero { grid-template-columns: 1fr; padding: 40px 32px 32px; min-height: 0; }
  .dsz-trust, .dsz-stores, .dsz-cats, .dsz-tips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dsz-cats--3, .dsz-tips--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dsz h1 { font-size: 40px !important; }
  .dsz h2 { font-size: 28px !important; }
}
@media (max-width: 700px) {
  .dsz-steps, .dsz-duo, .dsz-cats--3, .dsz-tips--3 { grid-template-columns: 1fr; }
  .dsz-sec { padding: 42px 0; }
}
@media (max-width: 560px) {
  .dsz { font-size: 16px; }
  .dsz h1 { font-size: 31px !important; }
  .dsz h2 { font-size: 25px !important; }
  .dsz-lead { font-size: 17px; }
  .dsz-hero { padding: 30px 20px 24px; border-radius: 24px; }
  .dsz-trust, .dsz-stores { grid-template-columns: 1fr; }
  .dsz-cats, .dsz-tips { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .dsz-cat-body { padding: 12px 14px 14px; }
  .dsz-cat-body h3 { font-size: 17px !important; }
  .dsz-cat-body > span > span, .dsz-arrow { display: none; }
  .dsz-tip-body { padding: 12px 12px 14px; }
  .dsz-tip-body h3 { font-size: 16px !important; }
  .dsz-tip-body p { display: none; }
  .dsz-badge { font-size: 12px; padding: 5px 8px; top: 8px; left: 8px; }
  .dsz-final { padding: 40px 20px; border-radius: 24px; }
  .dsz-final h2 { font-size: 28px !important; }
  .dsz-ctas .dsz-btn { width: 100%; }
  .dsz-code { width: 100%; justify-content: space-between; }
  .dsz-ship { flex-direction: column; align-items: flex-start; }
  .dsz-duo > div { padding: 24px; }
  .dsz-hero .dsz-deco > .dsz-pl:not(.dsz-pl--bg):not(.dsz-pl--ghostpink) { display: none; }
}

/* ---------- šablona Shoptetu: skrýt nadpis stránky (LP má vlastní H1) ---------- */
body.in-black-friday .pageArticleDetail > header[itemprop="headline"],
body.in-vanoce .pageArticleDetail > header[itemprop="headline"] { display: none !important; }


/* ---------- BF úvod: „Black Friday v pyžamu“ (noc, měsíc, hvězdy) ---------- */
.dsz-pl--wine { background: radial-gradient(130% 150% at 30% 18%, #9c1c52 0%, #6b0c34 55%, #3f061f 100%); }
.dsz-pl--black { background: radial-gradient(130% 150% at 30% 18%, #403238 0%, #1d1519 58%, #0b0709 100%); color: #fff; }
.dsz-pl--ghostpink2 { background: rgba(216,6,115,.16); }
.dsz--bf .dsz-hero.dsz-hero--night { background: radial-gradient(110% 120% at 80% 10%, #2a0b1e 0%, #120812 50%, #07050a 100%); }
.dsz-stars { position: absolute; inset: 0; pointer-events: none; opacity: .75;
  background-image: radial-gradient(1.6px 1.6px at 8% 18%, #fff 50%, transparent 52%), radial-gradient(1.2px 1.2px at 22% 70%, #fff 50%, transparent 52%), radial-gradient(1.8px 1.8px at 41% 12%, #ffd1e7 50%, transparent 52%),
  radial-gradient(1.2px 1.2px at 55% 86%, #fff 50%, transparent 52%), radial-gradient(1.6px 1.6px at 63% 30%, #fff 50%, transparent 52%), radial-gradient(1.2px 1.2px at 72% 62%, #ffd1e7 50%, transparent 52%),
  radial-gradient(1.8px 1.8px at 86% 44%, #fff 50%, transparent 52%), radial-gradient(1.2px 1.2px at 93% 82%, #fff 50%, transparent 52%), radial-gradient(1.4px 1.4px at 33% 40%, #fff 50%, transparent 52%), radial-gradient(1.2px 1.2px at 48% 55%, #fff 50%, transparent 52%); }
.dsz-moon { position: absolute; width: 17cqw; height: 17cqw; border-radius: 50%; box-shadow: inset -4.2cqw 2.2cqw 0 0 #FFE6C7; transform: rotate(-12deg); filter: drop-shadow(0 0 18px rgba(255,214,170,.35)); }
.dsz-zzz { position: absolute; font-family: var(--serif); font-weight: 900; color: #fff; line-height: 1; pointer-events: none; }
.dsz-wink { margin-top: 14px; font-size: 15px; color: #ffd1e7; font-style: italic; }

/* ---------- Vánoce úvod: polštáře padají jako vločky ---------- */
.dsz-snow { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 1; }
.dsz-flake { position: absolute; top: -40px; left: var(--x); width: var(--s); height: calc(var(--s) * .48); background: var(--c, #fff); opacity: var(--o, .9);
  -webkit-mask: var(--pill) center / 100% 100% no-repeat; mask: var(--pill) center / 100% 100% no-repeat;
  animation: dsz-fall var(--d, 14s) linear var(--dl, 0s) infinite; filter: drop-shadow(0 2px 3px rgba(150,0,80,.12)); }
@keyframes dsz-fall {
  0% { transform: translate(0, -40px) rotate(-12deg); }
  25% { transform: translate(14px, 140px) rotate(6deg); }
  50% { transform: translate(-10px, 300px) rotate(-8deg); }
  75% { transform: translate(12px, 450px) rotate(10deg); }
  100% { transform: translate(0, 620px) rotate(-12deg); } }
.dsz-drift { position: absolute; left: 0; right: 0; bottom: -26px; height: 70px; pointer-events: none; z-index: 1; }
.dsz-drift .dsz-pl { filter: drop-shadow(0 -2px 6px rgba(150,0,80,.08)); }
.dsz--xm .dsz-wink { color: var(--pink-dark); }
@media (prefers-reduced-motion: reduce) { .dsz-flake { animation: none; top: var(--y, 20%); } }
@media (max-width: 560px) { .dsz-flake:nth-child(n+9) { display: none; } }

/* ---------- před startem akce (JS přidá .dsz-pred): jen krátké „začíná…“ ---------- */
.dsz-pred-akci { display: none; }
.dsz-pred > :not(.dsz-pred-akci) { display: none !important; }
.dsz-pred > .dsz-pred-akci { display: block; }
.dsz-teaser { position: relative; overflow: hidden; border-radius: 30px; padding: 56px 52px; margin-top: 10px; }
.dsz-teaser > :not(.dsz-stars) { position: relative; z-index: 2; }
.dsz-teaser p { max-width: 60ch; margin-top: 12px !important; font-size: 18px; }
.dsz-teaser--bf { background: radial-gradient(110% 120% at 80% 10%, #2a0b1e 0%, #120812 50%, #07050a 100%); color: #ffe9f3; }
.dsz-teaser--bf h2 { color: #fff !important; }
.dsz-teaser--bf .dsz-eyebrow { color: #ffd1e7; }
.dsz-teaser--xm { background: var(--cream); }
.dsz-teaser--xm h2 { color: var(--pink) !important; }
@media (max-width: 560px) { .dsz-teaser { padding: 30px 20px; border-radius: 24px; } .dsz-teaser p { font-size: 16px; } }
/* ---------- mobil: kompaktní úvod (Michal 2026-10-29) ---------- */
.dsz-show-m { display: none; }
@media (max-width: 560px) {
  .dsz-hide-m { display: none; }
  .dsz-show-m { display: inline; }
  .dsz-hero { padding: 22px 18px 16px; gap: 6px; margin-top: 0; }
  .dsz-hero .dsz-eyebrow { font-size: 11px; letter-spacing: .12em; margin-bottom: 8px !important; }
  .dsz .dsz-hero h1 { font-size: 26px !important; line-height: 1.12 !important; }
  .dsz-hero .dsz-lead { font-size: 15px; line-height: 1.5; margin-top: 10px !important; }
  .dsz-hero .dsz-code { margin-top: 14px; padding: 8px 8px 8px 14px; flex-wrap: nowrap; gap: 8px; border-radius: 14px; }
  .dsz-hero .dsz-code span { font-size: 11px; }
  .dsz-hero .dsz-code b { font-size: 20px; }
  .dsz-hero .dsz-code button { padding: 10px 12px; font-size: 14px; white-space: nowrap; }
  .dsz-hero .dsz-wink { font-size: 13px; margin-top: 8px !important; }
  .dsz-hero .dsz-cdbox { margin-top: 10px; padding: 8px 12px; }
  .dsz-hero .dsz-ctas { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
  .dsz-hero .dsz-ctas .dsz-btn { width: auto; padding: 12px 10px; font-size: 15px; }
  .dsz-hero-art { max-width: 230px; margin: 0 auto; }
}
