/*
 * hooo · pagina-cadou, /cadou/<cod>/ (pista A, docs/PRODUCTIE-CADOURI.md). Șablonul: template-parts/cadou/, scripturile: assets/cadou/*.js.
 * Pagina are stilurile ei, fără style.css: tokenurile de mai jos sunt aceleași ca în temă. Provocările și jocul pornesc din
 * demonstrațiile assets/lp/demo.css (reveal, joc-perechi), copiate și adaptate aici, fără să atingem fișierul acela.
 * Cu prefers-reduced-motion nu avem confetti, pluteală sau întoarceri de pagini; totul merge la fel, doar fără mișcare.
 */

/* ---------- tokenuri ---------- */
:root{
	--ink:#1E1A20;--ink-2:#4A444D;--ink-3:#7A7280;
	--paper:#FFFFFF;--cream:#FBF8F1;--hartie:#FFFDF8;--blush:#FBEEF1;--blush-2:#F5DCE2;
	--rasp:#C92A48;--rasp-d:#A11F3A;--rasp-soft:rgba(201,42,72,.14);
	--pine:#1F5B4A;--pine-d:#174537;--pine-l:#E8F2ED;--aur:#EFC654;
	--line:#E7E0E4;--ok:#1F7A4D;--err:#B42318;
	--fd:"Bricolage Grotesque","Avenir Next","Helvetica Neue",Arial,sans-serif;
	--fb:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
	--e:cubic-bezier(.2,.8,.2,1);
	--sh:0 1px 2px rgba(30,26,32,.06),0 12px 32px rgba(30,26,32,.1);
	--sh2:0 2px 6px rgba(30,26,32,.08),0 26px 64px rgba(30,26,32,.18);
	--lat:980px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body.cd{margin:0;min-height:100vh;background:var(--cream);color:var(--ink);font:400 17px/1.6 var(--fb);-webkit-font-smoothing:antialiased;overflow-x:clip}
.cd img,.cd video,.cd svg{max-width:100%}
.cd a{color:var(--rasp-d);text-underline-offset:.18em}
/* baza titlurilor și a paragrafelor, fără specificitate (:where), ca marginile din componente (.cd-final__titlu, .cd-lead…) să se aplice */
:where(.cd) :where(h1,h2,h3){font-family:var(--fd);letter-spacing:-.02em;line-height:1.08;margin:0;text-wrap:balance}
:where(.cd) :where(p){margin:0}
.cd [hidden]{display:none!important}
.cd :focus-visible{outline:3px solid var(--rasp);outline-offset:3px;border-radius:6px}
.cd [tabindex="-1"]:focus{outline:0}
.cd-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.cd-sari{position:absolute;left:-9999px;top:10px;z-index:200;padding:10px 14px;border-radius:10px;background:#fff;color:var(--ink);box-shadow:var(--sh)}
.cd-sari:focus{left:10px}
.cd-logo{display:block;width:100%;height:auto}

/* ---------- butoane și linkuri ---------- */
.cd-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:0;border-radius:14px;background:var(--rasp);color:#fff!important;font:600 17px/1.1 var(--fb);text-decoration:none;cursor:pointer;box-shadow:0 10px 22px -10px rgba(201,42,72,.7);transition:background .2s var(--e),transform .2s var(--e),box-shadow .2s var(--e)}
@media (hover:hover){.cd-btn:hover{background:var(--rasp-d);transform:translateY(-1px)}}
.cd-btn:active{transform:translateY(1px)}
.cd-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.cd-btn--mare{min-height:58px;padding:0 32px;font-size:18px;border-radius:16px}
.cd-btn--mic{min-height:42px;padding:0 18px;font-size:15px;border-radius:11px}
.cd-btn--linie{background:#fff;color:var(--ink)!important;box-shadow:inset 0 0 0 1.5px var(--ink)}
@media (hover:hover){.cd-btn--linie:hover{background:var(--ink);color:#fff!important}}
.cd-btn:focus-visible{border-radius:14px}
.cd-link,.cd-link--btn{display:inline-flex;align-items:center;gap:6px;padding:4px 0;border:0;border-bottom:1.5px solid currentColor;background:none;color:var(--rasp-d);font:600 15px/1.3 var(--fb);text-decoration:none;cursor:pointer}
@media (hover:hover){.cd-link:hover,.cd-link--btn:hover{color:var(--rasp)}}

/* ---------- mesajele de sus: echipa, cel care a dăruit ---------- */
.cd-echipa{margin:0;padding:10px 20px;background:var(--ink);color:#fff;font:500 14px/1.4 var(--fb);text-align:center}
.cd-echipa--dar{background:var(--pine)}

/* ---------- deschiderea ---------- */
.no-js .cd-open{display:none}
html.cd-inchis,html.cd-inchis body{overflow:hidden}
.cd-open{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px 20px calc(24px + env(safe-area-inset-bottom));overflow:auto;background:radial-gradient(120% 90% at 50% 18%,#fff 0,var(--blush) 48%,var(--blush-2) 100%);transition:opacity .6s var(--e),transform .7s var(--e)}
.cd-open.gata{opacity:0;transform:scale(1.05);pointer-events:none}
.cd-open__in{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;width:min(560px,100%);text-align:center}
.cd-open__logo{display:block;width:74px;margin-bottom:6px;opacity:.92}
.cd-open__obiect{position:relative;width:min(290px,64vw);margin:4px 0 8px}
.cd-open__obiect svg{display:block;width:100%;height:auto;overflow:visible}
.cd-open__titlu{max-width:16ch;color:var(--ink);font:800 clamp(32px,6.4vw,54px)/1.02 var(--fd);letter-spacing:-.035em}
.cd-open__sub{color:var(--rasp-d);font:600 clamp(18px,2.6vw,22px)/1.3 var(--fd)}
.cd-open__btn{margin-top:10px;position:relative}
.cd-open__btn::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(201,42,72,.45);animation:cd-inel 2.2s ease-out infinite}
.cd-open.deschide .cd-open__btn::after{animation:none}
.cd-open__nota{color:var(--ink-3);font-size:15px}
.cd-open__eticheta{position:absolute;right:-6%;bottom:13%;padding:8px 15px 8px 26px;border-radius:6px 14px 14px 6px;background:#fff;color:var(--ink);font:700 16px/1.1 var(--fd);white-space:nowrap;box-shadow:0 8px 18px -6px rgba(30,26,32,.3);transform:rotate(-7deg);max-width:70vw;overflow:hidden;text-overflow:ellipsis}
.cd-open__eticheta::before{content:"";position:absolute;left:10px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--blush-2);box-shadow:inset 0 0 0 1.5px var(--ink-3)}
.cd-open--plic .cd-open__eticheta{bottom:4%;right:-2%}
/* fundalul: puncte de confetti care plutesc */
.cd-open__fond{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.cd-open__fond i{position:absolute;width:10px;height:10px;border-radius:3px;background:var(--rasp);opacity:.18;animation:cd-cade 9s linear infinite}
.cd-open__fond i:nth-child(3n){background:var(--aur);border-radius:50%}
.cd-open__fond i:nth-child(3n+1){background:var(--pine);width:7px;height:14px}
.cd-open__fond i:nth-child(1){left:6%;animation-delay:-1s}.cd-open__fond i:nth-child(2){left:14%;animation-delay:-6s;animation-duration:11s}
.cd-open__fond i:nth-child(3){left:23%;animation-delay:-3s}.cd-open__fond i:nth-child(4){left:31%;animation-delay:-8s;animation-duration:12s}
.cd-open__fond i:nth-child(5){left:42%;animation-delay:-2s;animation-duration:10s}.cd-open__fond i:nth-child(6){left:55%;animation-delay:-5s}
.cd-open__fond i:nth-child(7){left:63%;animation-delay:-9s;animation-duration:13s}.cd-open__fond i:nth-child(8){left:71%;animation-delay:-4s}
.cd-open__fond i:nth-child(9){left:79%;animation-delay:-7s;animation-duration:10s}.cd-open__fond i:nth-child(10){left:86%;animation-delay:-1.5s;animation-duration:12s}
.cd-open__fond i:nth-child(11){left:92%;animation-delay:-6.5s}.cd-open__fond i:nth-child(12){left:48%;animation-delay:-10s;animation-duration:14s}
/* cutia */
.cd-open:not(.deschide) .cd-cutie{animation:cd-pluteste 3.4s var(--e) infinite}
.cd-cutie__capac{transform-box:fill-box;transform-origin:50% 100%;transition:transform .75s cubic-bezier(.3,1.6,.5,1)}
.cd-open.deschide .cd-cutie{animation:cd-scutura .5s}
.cd-open.deschide .cd-cutie__capac{transform:translate(-12px,-62px) rotate(-18deg)}
.cd-cutie__lumina{opacity:0;transform-box:fill-box;transform-origin:50% 100%;transition:opacity .5s .25s,transform .8s .25s var(--e)}
.cd-open.deschide .cd-cutie__lumina{opacity:.95;transform:scale(1.25,3.2) translateY(-8%)}
.cd-scl{transform-box:fill-box;transform-origin:center;animation:cd-sclipeste 2.6s ease-in-out infinite}
.cd-scl--2{animation-delay:-1.3s}
/* plicul */
.cd-open:not(.deschide) .cd-plic{animation:cd-pluteste 3.6s var(--e) infinite}
.cd-plic__clapa{transform-box:fill-box;transform-origin:50% 0;transition:transform .32s ease-in}
.cd-plic__deschis{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);transition:transform .34s .32s ease-out}
.cd-plic__scrisoare{transition:transform .8s .6s var(--e)}
.cd-open.deschide .cd-plic__clapa{transform:scaleY(0)}
.cd-open.deschide .cd-plic__deschis{transform:scaleY(1)}
.cd-open.deschide .cd-plic__scrisoare{transform:translateY(-62px)}

/* ---------- conținutul ---------- */
.cd-main{position:relative;max-width:var(--lat);margin:0 auto;padding:0 20px 24px}
.cd-main:focus{outline:0}
.cd-cap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0 8px}
.cd-cap__logo{display:block;width:86px;line-height:0}
.cd-cap__pentru{padding:6px 14px;border-radius:999px;background:#fff;color:var(--ink-2);font:600 14px/1.3 var(--fb);box-shadow:inset 0 0 0 1px var(--line);max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cd-erou{padding:34px 0 6px;text-align:center}
.cd-erou__sus{margin-bottom:12px;color:var(--rasp-d);font:700 13px/1.4 var(--fb);letter-spacing:.12em;text-transform:uppercase}
.cd-erou__titlu{font-size:clamp(36px,6.4vw,64px);font-weight:800;letter-spacing:-.035em}
.cd-h2{font-size:clamp(26px,4vw,38px);font-weight:750;text-align:center}
.cd-h3{font-size:22px;font-weight:750}
.cd-lead{max-width:56ch;margin:10px auto 0;color:var(--ink-2);text-align:center}
.cd-nota{max-width:56ch;margin:18px auto 0;padding:14px 18px;border-radius:14px;background:#fff;color:var(--ink-2);text-align:center;box-shadow:inset 0 0 0 1px var(--line)}

/* dedicația, pe o foaie ușor înclinată */
.cd-ded{margin:34px auto 0;max-width:660px}
.cd-ded__foaie{position:relative;margin:0;padding:40px 42px 32px;border-radius:22px;background:var(--hartie);box-shadow:var(--sh2);transform:rotate(-.7deg)}
.cd-ded__foaie::before{content:"";position:absolute;left:28px;top:-24px;width:50px;height:50px;border-radius:50%;background:var(--rasp) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M7.2 17.5c-1.9 0-3.2-1.4-3.2-3.2 0-3 2-5.9 4.9-7.3l.9 1.4c-1.6 1-2.4 2.3-2.6 3.8 1.8.1 3.1 1.4 3.1 2.8 0 1.4-1.3 2.5-3.1 2.5zm9.3 0c-1.9 0-3.2-1.4-3.2-3.2 0-3 2-5.9 4.9-7.3l.9 1.4c-1.6 1-2.4 2.3-2.6 3.8 1.8.1 3.1 1.4 3.1 2.8 0 1.4-1.3 2.5-3.1 2.5z'/%3E%3C/svg%3E") center/26px no-repeat;box-shadow:0 8px 18px -8px rgba(201,42,72,.75)}
.cd-ded__foaie::after{content:"";position:absolute;inset:10px;border:1px dashed rgba(201,42,72,.22);border-radius:16px;pointer-events:none}
.cd-ded__text{margin:0}
.cd-ded__text p{color:var(--ink);font:italic 400 clamp(20px,2.6vw,25px)/1.55 var(--fb);text-wrap:pretty}
.cd-ded__semn{margin-top:18px;color:var(--rasp-d);font:700 18px/1.3 var(--fd);text-align:right}

/* cadoul */
.cd-cadou{margin:56px auto 0;text-align:center}
.cd-cadou .cd-h2{margin-bottom:22px}

/* cartea: coperta desenată (fără imaginile motorului) și cartea răsfoibilă */
.cd-carte{position:relative;margin:0 auto;max-width:1100px}
.cd-carte__prima{display:block;margin:0 auto;width:auto;max-height:78vh;border-radius:8px;box-shadow:var(--sh2)}
/* la cadourile cu mai multe piese (cutia), coperta fiecărui PDF stă mai mică, ca piesele să încapă una după alta */
.cd-carte--piesa .cd-carte__prima{max-width:min(100%,560px);max-height:min(62vh,560px);height:auto}
.cd-carte__act{margin-top:22px;text-align:center}
.cd-doc{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:min(340px,86vw);aspect-ratio:.76;margin:0 auto;padding:34px 26px;border-radius:6px 16px 16px 6px;background:radial-gradient(130% 90% at 30% 10%,rgba(255,255,255,.18),transparent 55%),linear-gradient(160deg,#246A56,var(--pine) 55%,var(--pine-d));color:#fff;text-align:center;box-shadow:inset 10px 0 0 rgba(0,0,0,.14),inset 12px 0 0 rgba(255,255,255,.08),var(--sh2);transform:rotate(-1.5deg)}
.cd-doc__sus{font:700 12px/1.2 var(--fb);letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.cd-doc__titlu{font:800 clamp(26px,4.6vw,34px)/1.05 var(--fd);letter-spacing:-.02em;text-wrap:balance}
.cd-doc__pentru{padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.14);font:600 16px/1.2 var(--fb)}
.cd-doc__semn{width:62px;margin-top:10px}
.cd-doc--scrisoare{aspect-ratio:.72;border-radius:6px;background:linear-gradient(#FFFDF8,#FBF3E4);color:var(--ink);box-shadow:inset 0 0 0 10px #fff,inset 0 0 0 11px rgba(201,42,72,.3),var(--sh2);transform:rotate(1.2deg)}
.cd-doc--scrisoare .cd-doc__sus{color:var(--rasp-d);opacity:1}
.cd-doc--scrisoare .cd-doc__pentru{background:var(--blush);color:var(--rasp-d)}

/* cartea răsfoibilă (construită de cadou.js) */
.cd-fb{--rap:1;position:relative;margin:0 auto;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.cd-fb:focus-visible{outline-offset:8px;border-radius:8px}
.cd-fb--dubla{width:min(100%,calc(74vh * 2 * var(--rap)));aspect-ratio:calc(2 * var(--rap));perspective:2600px}
.cd-fb--simpla{width:min(100%,calc(66vh * var(--rap)));aspect-ratio:var(--rap);overflow:hidden;border-radius:8px;box-shadow:var(--sh2);background:#fff}
.cd-fb__baza,.cd-fb__foaie{position:absolute;top:0;bottom:0;width:50%}
.cd-fb__baza--st{left:0;border-radius:8px 0 0 8px}
.cd-fb__baza--dr{left:50%;border-radius:0 8px 8px 0}
.cd-fb__umbra{position:absolute;top:-10px;bottom:-10px;left:-12px;right:-12px;border-radius:14px;background:rgba(30,26,32,.12);filter:blur(14px);pointer-events:none;transition:left .6s var(--e),right .6s var(--e)}
.cd-fb--inceput .cd-fb__umbra{left:50%}
.cd-fb--sfarsit .cd-fb__umbra{right:50%}
.cd-fb__foaie{left:50%;transform-origin:0 50%;transform-style:preserve-3d;transition:transform .95s cubic-bezier(.45,.05,.3,1)}
.cd-fb__foaie.intoarsa{transform:rotateY(-180deg)}
.cd-fb__f{position:absolute;inset:0;overflow:hidden;background:#fff;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.cd-fb__f img{display:block;width:100%;height:100%;object-fit:cover}
.cd-fb__f.spate{transform:rotateY(180deg)}
.cd-fb__f::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(30,26,32,.18),rgba(30,26,32,0) 7%)}
.cd-fb__f.spate::after{background:linear-gradient(270deg,rgba(30,26,32,.2),rgba(30,26,32,0) 7%)}
.cd-fb__f--gol{background:var(--hartie)}
.cd-fb__banda{position:absolute;inset:0;display:flex;transition:transform .5s var(--e)}
.cd-fb__banda>div{flex:0 0 100%;height:100%;background:var(--hartie)}
.cd-fb__banda img{display:block;width:100%;height:100%;object-fit:contain}
.cd-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:22px}
.cd-nav__nr{min-width:150px;color:var(--ink-2);font:600 15px/1 var(--fb);font-variant-numeric:tabular-nums;text-align:center}
.cd-rotund{display:inline-grid;place-items:center;width:50px;height:50px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--ink);cursor:pointer;box-shadow:0 0 0 1px var(--line),0 4px 12px rgba(30,26,32,.08);transition:transform .2s var(--e),background .2s,opacity .2s}
@media (hover:hover){.cd-rotund:hover:not(:disabled){transform:translateY(-1px);background:var(--blush)}}
.cd-rotund:disabled{opacity:.35;cursor:default}
.cd-rotund svg{width:22px;height:22px}
.cd-rotund:focus-visible{border-radius:50%}
.cd-fb__sfat{margin-top:10px;color:var(--ink-3);font-size:14px}

/* clipurile */
.cd-video{max-width:880px;margin:0 auto 26px}
.cd-video video{display:block;width:100%;max-height:78vh;border-radius:20px;background:var(--ink);box-shadow:var(--sh2)}
.cd-video__leg{margin-top:10px;color:var(--ink-2);font:600 16px/1.3 var(--fd)}

/* cântecul */
.cd-audio{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);align-items:center;gap:26px;max-width:780px;margin:0 auto 22px;padding:22px;border-radius:26px;background:#fff;box-shadow:var(--sh);text-align:left}
.cd-audio--mic{grid-template-columns:minmax(0,1fr)}
.cd-audio__cop{position:relative;aspect-ratio:1;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 30% 25%,#fff3,transparent 55%),linear-gradient(145deg,var(--rasp),#8E1A33)}
.cd-audio__cop img{width:100%;height:100%;object-fit:cover}
.cd-audio__disc{position:absolute;inset:14%;border-radius:50%;background:repeating-radial-gradient(circle,#1E1A20 0 2px,#2A2530 2px 4px);box-shadow:0 10px 24px rgba(0,0,0,.35)}
.cd-audio__disc span{position:absolute;inset:36%;border-radius:50%;background:var(--aur);box-shadow:inset 0 0 0 6px var(--blush-2)}
.cd-audio.canta .cd-audio__disc{animation:cd-roteste 3.2s linear infinite}
.cd-audio__unde{position:absolute;left:12px;right:12px;bottom:10px;display:flex;align-items:flex-end;justify-content:center;gap:4px;height:26px}
.cd-audio__unde i{width:5px;height:30%;border-radius:3px;background:#fff;opacity:.9}
.cd-audio.canta .cd-audio__unde i{animation:cd-bara 1s ease-in-out infinite}
.cd-audio__unde i:nth-child(2){animation-delay:-.2s}.cd-audio__unde i:nth-child(3){animation-delay:-.5s}.cd-audio__unde i:nth-child(4){animation-delay:-.1s}
.cd-audio__unde i:nth-child(5){animation-delay:-.7s}.cd-audio__unde i:nth-child(6){animation-delay:-.35s}.cd-audio__unde i:nth-child(7){animation-delay:-.6s}
.cd-audio__titlu{font:750 clamp(22px,3vw,28px)/1.1 var(--fd);letter-spacing:-.02em}
.cd-audio__pentru{margin-top:4px;color:var(--ink-3)}
.cd-audio audio{display:block;width:100%;margin-top:16px}

/* galeria și imaginea mare */
/* imaginile se văd întregi, cu raportul lor (width și height din șablon): afișele, portretele, cartonașele; niciuna nu se decupează.
   Cele foarte înalte (afișul A3, fundalul de telefon) se opresc la înălțimea ecranului, tot întregi (contain). */
.cd-galerie{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px;align-items:start;margin:0;padding:0;list-style:none}
.cd-galerie--una{grid-template-columns:minmax(0,1fr);max-width:760px;margin:0 auto}
.cd-galerie li{min-width:0}
/* --r = lățimea / înălțimea imaginii (din șablon): caseta se îngustează cât să nu treacă de înălțimea ecranului */
.cd-galerie a{display:block;width:100%;max-width:calc(min(82vh,1100px) * var(--r,100));margin:0 auto;border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--sh);transition:transform .25s var(--e)}
@media (hover:hover){.cd-galerie a:hover{transform:translateY(-3px)}}
.cd-galerie img{display:block;width:100%;height:auto;object-fit:contain}
.cd-lb{width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;padding:0;border:0;background:rgba(20,17,22,.94);color:#fff}
.cd-lb::backdrop{background:rgba(20,17,22,.7)}
.cd-lb__in{position:relative;display:grid;place-items:center;width:100%;height:100%;padding:56px 16px 76px}
.cd-lb__in img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}
.cd-lb__x{position:absolute;top:12px;right:12px}
.cd-lb__nav{position:absolute;left:0;right:0;bottom:16px;display:flex;align-items:center;justify-content:center;gap:16px}
.cd-lb__nav span{min-width:90px;text-align:center;font:600 15px/1 var(--fb)}

/* descărcarea */
.cd-desc{max-width:720px;margin:56px auto 0;padding:26px 28px;border-radius:24px;background:#fff;box-shadow:var(--sh)}
.cd-desc__lista{margin:16px 0 0;padding:0;list-style:none}
.cd-desc__fisier{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.cd-desc__fisier:first-child{border-top:0}
.cd-desc__ic{flex:none;display:grid;place-items:center;width:48px;height:56px;border-radius:8px 14px 8px 8px;background:var(--blush);color:var(--rasp-d);font:800 12px/1 var(--fd);letter-spacing:.04em}
.cd-desc__fisier--video .cd-desc__ic{background:var(--pine-l);color:var(--pine)}
.cd-desc__fisier--audio .cd-desc__ic{background:#FFF4D6;color:#8A6A0A}
.cd-desc__nume{flex:1;min-width:0;font-weight:600;line-height:1.3}
.cd-desc__nume small{display:block;color:var(--ink-3);font-weight:400;font-size:14px}
.cd-desc__gata{color:var(--ink-3);font-size:14px}
.cd-desc__nota{margin-top:14px;color:var(--ink-3);font-size:15px}

/* reacția */
.cd-re{max-width:720px;margin:34px auto 0;padding:26px 28px;border-radius:24px;background:var(--blush);box-shadow:inset 0 0 0 1px rgba(201,42,72,.14)}
.cd-re--nota,.cd-re--gata{padding:18px 24px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);text-align:center}
.cd-re__cap{display:flex;align-items:flex-start;gap:16px}
.cd-re__ic{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--rasp);color:#fff}
.cd-re__ic svg{width:28px;height:28px}
.cd-re__text{margin-top:4px;color:var(--ink-2)}
.cd-re__pas{margin-top:18px}
.cd-re__acord{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.45;cursor:pointer}
.cd-re__acord input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--rasp)}
.cd-re__mic{margin-top:10px;color:var(--ink-3);font-size:14px}
.cd-re__alege{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.cd-re__scena{position:relative;overflow:hidden;width:min(100%,460px);aspect-ratio:4/3;margin:0 auto;border-radius:20px;background:var(--ink);box-shadow:var(--sh2)}
.cd-re__scena video{display:block;width:100%;height:100%;object-fit:cover}
.cd-re__scena video.oglinda{transform:scaleX(-1)}
.cd-re__scena--audio{display:grid;place-items:center;aspect-ratio:16/9;background:radial-gradient(circle,#3A2F3F,var(--ink))}
.cd-re__mic-ic{position:relative;display:grid;place-items:center;width:92px;height:92px;border-radius:50%;background:var(--rasp);color:#fff}
.cd-re__mic-ic svg{width:44px;height:44px}
.cd-re__mic-ic::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:3px solid rgba(201,42,72,.6);animation:cd-puls 1.4s ease-out infinite}
.cd-re__numar{position:absolute;inset:0;display:grid;place-items:center;background:rgba(30,26,32,.45);color:#fff;font:800 96px/1 var(--fd)}
.cd-re__bara{position:absolute;left:14px;right:14px;bottom:14px;height:8px;border-radius:8px;background:rgba(255,255,255,.28);overflow:hidden}
.cd-re__bara i{display:block;height:100%;width:0;background:#fff;border-radius:inherit}
.cd-re__rec{position:absolute;left:14px;top:12px;display:flex;align-items:center;gap:8px;padding:5px 11px;border-radius:999px;background:rgba(30,26,32,.6);color:#fff;font:700 13px/1 var(--fb)}
.cd-re__rec::before{content:"";width:9px;height:9px;border-radius:50%;background:#FF4D5E;animation:cd-clipeste 1s steps(1) infinite}
.cd-re__stare{margin-top:14px;color:var(--ink-2);text-align:center}
.cd-re__stare--eroare{color:var(--err);font-weight:600}
.cd-re__actiuni{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px}
.cd-re__vezi video,.cd-re__vezi audio{display:block;width:min(100%,460px);margin:0 auto;border-radius:18px}
.cd-re__progres{width:min(100%,360px);height:10px;margin:16px auto 0;border-radius:10px;background:rgba(30,26,32,.1);overflow:hidden}
.cd-re__progres i{display:block;height:100%;width:0;background:var(--rasp);transition:width .2s}
.cd-re__multumim{text-align:center}
.cd-re__multumim p:first-child{color:var(--rasp);font:800 44px/1 var(--fd);letter-spacing:-.04em}

/* numărătoarea până la data deschiderii */
.cd-numara{max-width:640px;margin:34px auto 0;padding:34px 28px;border-radius:26px;background:#fff;box-shadow:var(--sh2);text-align:center}
.cd-numara__text{margin-top:10px;color:var(--ink-2)}
.cd-numara__ceas{margin-top:14px;color:var(--rasp);font:800 clamp(26px,5vw,40px)/1.2 var(--fd);font-variant-numeric:tabular-nums}
.cd-numara__nota{margin-top:14px;color:var(--ink-3);font-size:15px}

/* finalul și subsolul */
.cd-final{position:relative;overflow:hidden;margin:64px 0 0;padding:56px 20px 60px;background:var(--pine);color:#fff;text-align:center}
.cd-final__ecou{display:flex;align-items:baseline;justify-content:center;gap:.08em;margin-bottom:10px;color:rgba(255,255,255,.2);font:800 clamp(54px,11vw,110px)/.9 var(--fd);letter-spacing:-.05em}
.cd-final__ecou span{font-size:.72em;opacity:.8}
.cd-final__ecou small{font-size:.5em;opacity:.6}
.cd-final__titlu{max-width:22ch;margin:0 auto;color:#fff;font-size:clamp(28px,4.6vw,44px);font-weight:800}
.cd-final__text{max-width:52ch;margin:14px auto 26px;color:rgba(255,255,255,.85)}
.cd-final .cd-btn{background:#fff;color:var(--rasp-d)!important;box-shadow:0 12px 26px -12px rgba(0,0,0,.5)}
@media (hover:hover){.cd-final .cd-btn:hover{background:var(--blush)}}
.cd-subsol{padding:22px 20px calc(26px + env(safe-area-inset-bottom));background:var(--pine-d);color:rgba(255,255,255,.75);font-size:14px;text-align:center}
.cd-subsol ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:8px 0 0;padding:0;list-style:none}
.cd-subsol a{color:#fff}
.cd-subsol__ai{margin:8px 0 0;font-size:13px;color:rgba(255,255,255,.62)}
/* nota despre AI din panoul celui care dăruiește: pe fondul verde al panoului, nu pe un cartonaș alb */
.cd-panou .cd-panou__ai{margin-top:18px;color:#CFE6DC;font-size:14px;text-align:left}
.cd-panou .cd-panou__ai .cd-link{color:#fff}

/* ---------- panoul celui care a dăruit ---------- */
.cd-panou{background:var(--pine);color:#fff}
.cd-panou__in{max-width:var(--lat);margin:0 auto;padding:30px 20px 34px}
.cd-panou__sus{color:#CFE6DC;font:700 13px/1.3 var(--fb);letter-spacing:.12em;text-transform:uppercase}
.cd-panou__titlu{margin-top:8px;color:#fff;font-size:clamp(26px,4vw,36px);font-weight:800}
.cd-panou__text{max-width:62ch;margin-top:8px;color:rgba(255,255,255,.86)}
.cd-panou__stare{display:inline-block;margin-top:16px;padding:8px 14px;border-radius:12px;background:rgba(255,255,255,.12);font-weight:600}
.cd-panou__pasi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.cd-panou__pas{padding:20px;border-radius:20px;background:#fff;color:var(--ink)}
.cd-panou__h{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:18px;font-weight:750}
.cd-panou__h span{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--blush);color:var(--rasp-d);font-size:14px}
.cd-panou__link{display:flex;gap:8px}
.cd-panou input[type=text],.cd-panou input[type=email],.cd-panou input[type=datetime-local]{width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1.5px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:16px/1.3 var(--fb)}
.cd-panou input:focus{outline:0;border-color:var(--rasp);box-shadow:0 0 0 4px var(--rasp-soft)}
.cd-panou label{display:block;margin:0 0 6px;font:600 15px/1.3 var(--fb)}
.cd-panou__rand{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px}
.cd-panou__form{display:grid;gap:12px}
.cd-panou__cand{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;border:0}
.cd-panou__cand legend{margin-bottom:6px;padding:0;font:600 15px/1.3 var(--fb)}
.cd-panou__cand label{display:flex;align-items:center;gap:8px;margin:0;font-weight:500}
.cd-panou__cand input{width:18px;height:18px;accent-color:var(--rasp)}
.cd-panou__mesaj{min-height:1.4em;color:var(--pine);font-weight:600;font-size:15px}
.cd-panou__mesaj.eroare{color:var(--err)}
.cd-panou__mic{margin-top:10px;color:var(--ink-3);font-size:14px;line-height:1.45}
.cd-panou__qr{width:150px;margin:0 auto 10px;padding:6px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.cd-panou__qr svg{display:block;width:100%;height:auto}
.cd-panou__pas--qr{text-align:center}
.cd-panou__pas--qr .cd-panou__h{justify-content:center}
.cd-panou__pas--qr .cd-btn{margin-top:12px}
.cd-panou__semn{max-width:520px;margin-top:20px}
.cd-panou__semn label{color:#fff}
.cd-panou__semn .cd-panou__mesaj{color:#CFE6DC}
.cd-panou__reactie{margin-top:20px;padding:20px;border-radius:20px;background:#fff;color:var(--ink)}
.cd-panou__reactie video,.cd-panou__reactie audio{display:block;width:min(100%,460px);border-radius:14px;margin:0 auto}
.cd-panou__reactie .cd-panou__h{justify-content:center}
.cd-panou__reactie .cd-panou__mic{text-align:center}
.cd-panou .cd-link--btn,.cd-panou .cd-link{color:var(--rasp-d)}
.cd-panou__jos{margin:0;padding:12px 20px;background:var(--pine-d);color:#CFE6DC;font:600 14px/1.3 var(--fb);text-align:center;letter-spacing:.02em}
.cd-panou__vezi{margin-top:16px;color:#fff!important;background:rgba(255,255,255,.14)!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)!important}

/* ---------- starea (link greșit, anulat, în lucru, expirat) ---------- */
.cd-stare{display:grid;place-content:center;justify-items:center;gap:12px;min-height:100vh;padding:40px 20px;text-align:center;background:radial-gradient(120% 90% at 50% 10%,#fff,var(--blush) 60%,var(--blush-2))}
.cd-stare__logo{display:block;width:96px;margin-bottom:18px}
.cd-stare__ecou{color:var(--rasp);font:800 clamp(30px,6vw,52px)/1 var(--fd);letter-spacing:-.04em}
.cd-stare__titlu{max-width:20ch;font-size:clamp(28px,5vw,44px);font-weight:800}
.cd-stare__text{max-width:52ch;color:var(--ink-2)}
.cd-stare__act{margin-top:12px}
.cd-stare__mic{margin-top:6px;color:var(--ink-3);font-size:15px}

/* ---------- „Cadoul se descoperă”: provocările (din demo.css → reveal, adaptat) ---------- */
.cd-rv{position:relative;max-width:660px;margin:0 auto;padding:26px 28px 32px;border-radius:28px;background:radial-gradient(120% 90% at 50% 0,#fff 0,#fff 45%,var(--blush) 100%);box-shadow:var(--sh2);overflow:hidden;text-align:center}
.cd-rv__sus{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.cd-rv__pas{color:var(--rasp-d);font:700 12px/1.2 var(--fb);letter-spacing:.1em;text-transform:uppercase}
.cd-rv__bara{display:flex;gap:6px}
.cd-rv__bara i{position:relative;width:34px;height:7px;border-radius:9px;background:rgba(30,26,32,.1);overflow:hidden}
.cd-rv__bara i::after{content:"";position:absolute;inset:0;background:var(--rasp-d);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--e)}
.cd-rv__bara i.acum::after{transform:scaleX(.4)}
.cd-rv__bara i.plin::after{transform:none}
.cd-rv__scena{display:grid;min-height:420px}
.cd-rv__ecran{grid-area:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;animation:cd-intra .5s var(--e) both}
.cd-rv__ecran.iese{animation:cd-iese .28s var(--e) both;pointer-events:none}
.cd-rv__tip{color:var(--ink-3);font:700 12px/1 var(--fb);letter-spacing:.14em;text-transform:uppercase}
.cd-rv__titlu{max-width:24ch;color:var(--ink);font:750 clamp(22px,4.4vw,30px)/1.14 var(--fd)}
.cd-rv__sub{max-width:40ch;color:var(--ink-2)}
.cd-rv__foto{width:min(230px,62%);border:6px solid #fff;border-radius:14px;box-shadow:var(--sh);transform:rotate(-2deg)}
.cd-rv__foto img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.cd-rv__var{display:grid;gap:10px;width:100%;max-width:460px;margin-top:4px}
.cd-var{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:10px 16px;border:0;border-radius:16px;background:#fff;color:var(--ink);font:600 16px/1.3 var(--fb);text-align:left;cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--line),0 2px 6px rgba(30,26,32,.04);transition:transform .2s var(--e),box-shadow .2s var(--e),background .2s}
@media (hover:hover){.cd-var:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1.5px var(--ink),0 10px 20px -12px rgba(30,26,32,.35)}}
.cd-var:focus-visible{border-radius:16px}
.cd-var__l{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--blush);color:var(--rasp-d);font:700 14px/1 var(--fd)}
.cd-var__l svg{width:18px;height:18px}
.cd-var.gresit{background:#FFF6F6;color:var(--ink-3);box-shadow:inset 0 0 0 1.5px #EBC1C1;text-decoration:line-through;text-decoration-color:rgba(180,35,24,.45);cursor:default;transform:none;animation:cd-scutura .45s}
.cd-var.gresit .cd-var__l{background:#F7DADA;color:var(--err)}
.cd-var.corect{background:#EAF5EE;box-shadow:inset 0 0 0 2px var(--ok)}
.cd-var.corect .cd-var__l{background:var(--ok);color:#fff}
.cd-rv__ind{max-width:460px;padding:10px 16px;border-radius:12px;background:#FFF7DD;color:#5E4A0E;font-size:15px;line-height:1.45;animation:cd-intra .4s var(--e) both}
.cd-rv__ind b{color:#8A6A0A}
.cd-rv__nota{color:var(--ink-3);font-size:14px}
.cd-razuit{position:relative;width:100%;max-width:440px;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--sh)}
.cd-razuit__sub{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 30% 20%,#fff,var(--blush) 70%)}
.cd-razuit__sub img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cd-razuit__mesaj{position:relative;max-width:18ch;color:var(--rasp-d);font:800 clamp(22px,4.4vw,30px)/1.15 var(--fd);letter-spacing:-.02em}
.cd-razuit__sub img+.cd-razuit__mesaj{align-self:end;max-width:none;padding:8px 14px;border-radius:12px;background:rgba(255,255,255,.92);font-size:clamp(16px,3vw,20px)}
.cd-folie{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);touch-action:none;cursor:crosshair;transition:opacity .75s var(--e)}
.cd-folie.gata{opacity:0;pointer-events:none}
.cd-razuit:has(.cd-folie:focus-visible)::after{content:"Apasă Enter ca să răzuiești";position:absolute;left:50%;bottom:12px;transform:translateX(-50%);padding:6px 12px;border-radius:999px;background:var(--ink);color:#fff;font:600 13px/1.2 var(--fb);white-space:nowrap;pointer-events:none}
.cd-cod{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}
.cd-cod__camp{position:relative;width:100%;display:flex;justify-content:center}
.cd-cod__cas{display:grid;grid-template-columns:repeat(var(--n),minmax(0,54px));justify-content:center;gap:8px;width:100%}
.cd-cod__cas span{display:grid;place-items:center;aspect-ratio:.82;border-radius:14px;background:#fff;color:var(--ink);font:700 clamp(18px,5vw,30px)/1 var(--fd);text-transform:uppercase;box-shadow:inset 0 0 0 1.5px var(--line);transition:box-shadow .2s var(--e),background .3s,color .3s,transform .35s var(--e)}
.cd-cod__cas span.acum{box-shadow:inset 0 0 0 2px var(--rasp),0 0 0 4px var(--rasp-soft)}
.cd-cod__in{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:14px;background:transparent;color:transparent;caret-color:transparent;font-size:16px;outline:0;cursor:text;-webkit-text-fill-color:transparent}
.cd-cod.gresit .cd-cod__cas{animation:cd-scutura .45s}
.cd-cod.gresit .cd-cod__cas span{background:#FFF6F6;box-shadow:inset 0 0 0 2px #EBC1C1}
.cd-cod.corect .cd-cod__cas span{background:var(--ok);color:#fff;box-shadow:none;transform:translateY(-4px)}
.cd-cod--liber .cd-cod__in{position:static;width:min(340px,100%);height:56px;padding:0 16px;border:1.5px solid var(--line);background:#fff;color:var(--ink);caret-color:var(--rasp);-webkit-text-fill-color:currentColor;text-align:center;font:700 22px/1 var(--fd);letter-spacing:.1em;text-transform:uppercase}
.cd-cod--liber .cd-cod__in:focus{border-color:var(--rasp);box-shadow:0 0 0 4px var(--rasp-soft)}
.cd-cod__camp:has(.cd-cod__in:focus-visible) .cd-cod__cas{outline:3px solid var(--rasp);outline-offset:4px;border-radius:16px}
.cd-rv__final{display:flex;flex-direction:column;align-items:center;gap:14px}
.cd-hooo{display:flex;align-items:baseline;color:var(--rasp);font:800 clamp(64px,16vw,112px)/.9 var(--fd);letter-spacing:-.05em}
.cd-hooo span{display:inline-block;animation:cd-pop .75s cubic-bezier(.3,1.5,.5,1) both;animation-delay:calc(var(--k) * 85ms + 100ms)}
.cd-hooo span:first-child{color:var(--ink)}
.cd-hooo span:nth-child(3){font-size:.78em;color:#D9526B}
.cd-hooo span:nth-child(4){font-size:.6em;color:#E6798D}
.cd-rv__dez-foto{width:min(420px,92%);border:8px solid #fff;border-radius:16px;box-shadow:var(--sh2);transform:rotate(-2deg);animation:cd-pop .8s cubic-bezier(.3,1.4,.5,1) both}
.cd-rv__dez-foto img{display:block;width:100%;height:auto;max-height:62vh;object-fit:cover;border-radius:8px}
.cd-rv__dez-titlu{font:800 clamp(28px,6vw,44px)/1.05 var(--fd);letter-spacing:-.03em}
.cd-rv__dez-text{max-width:46ch;color:var(--ink-2);font-size:18px;white-space:pre-line}
.cd-rv__spre{margin-top:6px;animation:cd-pop .7s cubic-bezier(.3,1.4,.5,1) .5s both}
@media (prefers-reduced-motion:reduce){.cd-rv__spre{animation:none}}
.cd-amintiri{margin:40px auto 0;max-width:var(--lat)}
.cd-amintiri .cd-h2{margin-bottom:18px}

/* ---------- „Familia se joacă”: jocul de perechi (din demo.css → joc-perechi, adaptat) ---------- */
.cd-joc{max-width:820px;margin:22px auto 0;container-type:inline-size}
.cd-joc__tipar{max-width:760px;margin:44px auto 0;color:var(--ink-2)}
.cd-joc__tipar>p{max-width:56ch;margin:8px auto 18px}
.cd-joc__pdf{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px!important}
.cd-jp{position:relative}
.cd-jp__bara{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;margin-bottom:16px;color:var(--ink-2);font-size:15px}
.cd-jp__bara b{color:var(--ink);font:700 18px/1 var(--fd);font-variant-numeric:tabular-nums}
.cd-jp__grila{--g:12px;display:grid;grid-template-columns:repeat(var(--col),minmax(0,1fr));gap:var(--g)}
.cd-jp__c{aspect-ratio:3/4;padding:0;border:0;border-radius:14px;background:none;perspective:900px;cursor:pointer}
.cd-jp__c:focus-visible{border-radius:14px}
.cd-jp__in{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s var(--e)}
@media (hover:hover){.cd-jp__c:hover:not(.sus) .cd-jp__in{transform:translateY(-4px) rotate(-1deg)}}
.cd-jp__c.sus .cd-jp__in{transform:rotateY(180deg)}
.cd-jp__f{position:absolute;inset:0;overflow:hidden;border-radius:14px;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:0 2px 4px rgba(30,26,32,.08),0 12px 22px -12px rgba(30,26,32,.35)}
.cd-jp__dos{display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.18),transparent 55%),repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 6px,transparent 6px 12px),var(--rasp);color:#FFF6E8}
.cd-jp__dos::before{content:"";position:absolute;inset:7px;border:1.5px solid rgba(255,246,232,.4);border-radius:9px}
.cd-jp__dos svg{width:52%;height:auto}
.cd-jp__fata{display:flex;flex-direction:column;background:#fff;transform:rotateY(180deg)}
.cd-jp__fata img{flex:1;min-height:0;width:100%;object-fit:cover}
.cd-jp__nume{padding:6px 6px 7px;color:var(--ink);font:600 clamp(11px,2.2cqw,15px)/1.15 var(--fb);text-align:center}
.cd-jp__c.gasita .cd-jp__fata{box-shadow:0 0 0 3px var(--ok),0 12px 24px -10px rgba(31,122,77,.55)}
.cd-jp__c.gasita{animation:cd-sari .5s var(--e);cursor:default}
.cd-jp__final{position:absolute;inset:40px -8px -8px;z-index:6;display:grid;place-content:center;justify-items:center;gap:10px;border-radius:20px;background:rgba(251,248,241,.94);text-align:center;animation:cd-intra .5s var(--e) both}
.cd-jp__bravo{color:var(--rasp);font:800 clamp(52px,12cqw,88px)/1 var(--fd);letter-spacing:-.04em}
.cd-jp__nota{margin-top:14px;color:var(--ink-3);font-size:14px;text-align:center}

/* confetti, peste tot ecranul */
.cd-confetti{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:300}

/* ---------- telefonul ---------- */
@media (max-width:760px){
	.cd-panou__pasi{grid-template-columns:minmax(0,1fr)}
	.cd-audio{grid-template-columns:minmax(0,1fr);text-align:center;padding:18px}
	.cd-audio__cop{width:min(220px,70%);margin:0 auto}
}
@media (max-width:560px){
	body.cd{font-size:16px}
	.cd-main{padding:0 16px 20px}
	.cd-erou{padding-top:22px}
	.cd-ded{margin-top:26px}
	.cd-ded__foaie{padding:34px 24px 26px;transform:rotate(-.5deg)}
	.cd-ded__foaie::before{width:44px;height:44px;top:-20px;left:20px;background-size:22px}
	.cd-cadou{margin-top:44px}
	.cd-desc,.cd-re{padding:22px 18px;border-radius:20px}
	.cd-desc__fisier{flex-wrap:wrap}
	.cd-desc__fisier .cd-btn{margin-left:62px}
	.cd-rv{padding:18px 14px 22px;border-radius:22px}
	.cd-rv__scena{min-height:430px}
	.cd-jp__grila{--g:8px}
	.cd-panou__in{padding:24px 16px 28px}
	.cd-panou__pas{padding:16px}
	.cd-open__eticheta{font-size:14px;right:-2%}
	.cd-nav{gap:10px}
	.cd-nav__nr{min-width:120px;font-size:14px}
}

/* ---------- mișcare ---------- */
@keyframes cd-pluteste{50%{transform:translateY(-8px) rotate(-1.5deg)}}
@keyframes cd-scutura{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-7px)}40%,60%{transform:translateX(7px)}}
@keyframes cd-sclipeste{0%,100%{opacity:.25;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}
@keyframes cd-inel{0%{box-shadow:0 0 0 0 rgba(201,42,72,.45)}80%,100%{box-shadow:0 0 0 18px rgba(201,42,72,0)}}
@keyframes cd-cade{from{transform:translateY(-10vh) rotate(0)}to{transform:translateY(110vh) rotate(540deg)}}
@keyframes cd-intra{from{opacity:0;transform:translateY(14px)}}
@keyframes cd-iese{to{opacity:0;transform:translateY(-10px)}}
@keyframes cd-pop{0%{opacity:0;transform:scale(.3) translateY(40%)}60%{opacity:1;transform:scale(1.12)}100%{transform:none}}
@keyframes cd-sari{50%{scale:1.07}}
@keyframes cd-roteste{to{transform:rotate(360deg)}}
@keyframes cd-bara{0%,100%{height:25%}50%{height:100%}}
@keyframes cd-puls{from{transform:scale(1);opacity:.8}to{transform:scale(1.5);opacity:0}}
@keyframes cd-clipeste{50%{opacity:.2}}
@media (prefers-reduced-motion:reduce){
	.cd *,.cd *::before,.cd *::after{animation:none!important;transition:none!important}
	.cd-open__fond{display:none}
}

/* ---------- harta digitală (pista E, formatul hooo-harta/1; harta.js): fundalul, traseul, punctele și cartea poștală ---------- */
.cd-harta{--h-hartie:#FBF6EC;--h-text:var(--ink);--h-text2:var(--ink-3);--h-traseu:var(--rasp);--h-punct:var(--rasp);--h-punct-text:#fff}
.cd-harta__sub{margin:0 0 4px;text-align:center;font:italic 400 clamp(17px,2.4vw,21px)/1.35 Georgia,"Times New Roman",serif;color:var(--rasp-d)}
.cd-harta__ajutor{margin:0 0 16px;text-align:center;font-size:14px;color:var(--ink-3)}
.cd-harta__corp{display:grid;gap:18px}
@media (min-width:860px){.cd-harta__corp{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:24px}}
.cd-harta__cadru{position:relative;aspect-ratio:var(--hw)/var(--hh);border-radius:16px;overflow:hidden;background:var(--h-hartie);box-shadow:0 0 0 1px rgba(30,26,32,.08),var(--sh)}
.cd-harta__fundal,.cd-harta__traseu{position:absolute;inset:0;display:block;width:100%;height:100%}
.cd-harta__traseu{pointer-events:none;transition:opacity .3s}
.cd-harta__traseu path{fill:none;stroke:var(--h-traseu);stroke-linecap:round;stroke-linejoin:round}
.cd-harta__static{display:block;width:100%;height:100%;object-fit:contain}
.cd-harta__stare{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:24px;text-align:center;font-size:15px;color:var(--ink-3)}
.cd-harta__stare--eroare{color:var(--err)}
.cd-harta__pct{position:absolute;z-index:1;width:36px;height:36px;margin:-18px 0 0 -18px;padding:0;border:3px solid var(--h-hartie);border-radius:50%;background:var(--h-punct);color:var(--h-punct-text);font:700 15px/1 var(--fd);cursor:pointer;box-shadow:0 3px 8px rgba(0,0,0,.25);opacity:0;transition:scale .2s var(--e)}
.cd-harta.e-vazuta .cd-harta__pct{opacity:1;animation:cd-h-pop .45s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(.25s + var(--k,0) * .12s)}
.cd .cd-harta__pct:focus-visible{border-radius:50%}
.cd-harta__pct.activ{z-index:2;outline:3px solid var(--h-punct);outline-offset:3px}
@media (hover:hover){.cd-harta__pct:hover{scale:1.12}}
@keyframes cd-h-pop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}
.cd-harta__lat{display:grid;gap:14px;align-content:start;min-width:0;text-align:left}
.cd-harta__cp{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:10px 14px;padding:18px 18px 10px;border-radius:14px;background:var(--paper);box-shadow:var(--sh);animation:cd-intra .3s var(--e)}
.cd-harta__cp-corp{min-width:0}
.cd-harta__cp-d{margin:0;font:italic 400 14px/1.3 Georgia,"Times New Roman",serif;color:var(--ink-3)}
.cd-harta__cp-t{margin:2px 0 6px;font:700 clamp(20px,2.6vw,24px)/1.15 var(--fd)}
.cd-harta__cp-t:focus{outline:none}
.cd-harta__cp-text{margin:0;line-height:1.55}
.cd-harta__cp-poza{display:block;width:100%;height:auto;max-height:340px;margin-top:12px;border-radius:10px;object-fit:cover;background:var(--cream)}
.cd-harta__timbru{align-self:start;display:grid;place-items:center;align-content:center;gap:4px;aspect-ratio:3/4;margin-top:30px;padding:6px;border:2px dashed var(--blush-2);border-radius:6px;color:var(--rasp);text-align:center;transform:rotate(3deg)}
.cd-harta__timbru span{font:700 26px/1 var(--fd)}
.cd-harta__timbru small{font:600 11px/1.2 var(--fb);overflow-wrap:anywhere}
.cd-harta__x{position:absolute;top:4px;right:6px;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:none;color:var(--ink-3);font:400 26px/1 var(--fb);cursor:pointer}
@media (hover:hover){.cd-harta__x:hover{color:var(--ink);background:var(--cream)}}
.cd-harta__nav{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-3)}
.cd-harta__nav .cd-link--btn{border-bottom:0;padding:8px 0;font-size:14px}
.cd-harta__nav .cd-link--btn:disabled{opacity:.35;cursor:default}
.cd-harta__lista-t{margin:0;font:700 18px/1.2 var(--fd)}
.cd-harta__lista{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.cd-harta__lista li{line-height:1.45}
.cd-harta__loc{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s}
@media (hover:hover){.cd-harta__loc:hover{border-color:var(--rasp)}}
.cd-harta__loc.activ{border-color:var(--rasp);box-shadow:0 0 0 2px var(--rasp-soft)}
.cd-harta__nr{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--h-punct);color:var(--h-punct-text);font:700 13px/1 var(--fd)}
.cd-harta__loc-t{display:flex;flex-direction:column;min-width:0}
.cd-harta__loc-t b{font-weight:650;overflow-wrap:anywhere}
.cd-harta__loc-t small{font-size:13px;color:var(--ink-3)}
.cd-harta__atr{margin:14px 0 0;text-align:center;font-size:11.5px;line-height:1.4;color:var(--ink-3)}
@media (max-width:479px){.cd-harta__cp{grid-template-columns:minmax(0,1fr);padding:16px 14px 8px}.cd-harta__timbru{display:none}.cd-harta__cp-t{padding-right:28px}}

/* ---------- tiparul (cartonașul cu codul QR și pagina, dacă cineva o tipărește) ---------- */
@media print{
	.cd-open,.cd-panou,.cd-echipa,.cd-re,.cd-final,.cd-subsol,.cd-sari,.cd-nav{display:none!important}
	body.cd{background:#fff}
}

/* „Traseul cu amintiri” (11 octombrie 2026): puzzle-ul din poză, „Unde eram aici?” și filmul amintirilor (assets/cadou/descopera.js) */
.cd-pz{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:4px;width:min(100%,420px);aspect-ratio:var(--r,1);padding:4px;border-radius:16px;background:#fff;box-shadow:var(--sh2,0 12px 30px rgba(30,26,32,.16));touch-action:none;user-select:none;-webkit-user-select:none;transition:gap .5s,padding .5s}
.cd-pz__b{position:relative;width:100%;height:100%;padding:0;border:0;border-radius:6px;background-repeat:no-repeat;cursor:grab;transition:transform .18s,box-shadow .18s,filter .18s}
.cd-pz__b:hover{filter:brightness(1.06)}
.cd-pz__b.ales{transform:scale(.92);box-shadow:0 0 0 3px var(--rasp,#C92A48),0 10px 22px -8px rgba(201,42,72,.6);z-index:1}
.cd-pz__b:focus-visible{outline:3px solid var(--rasp,#C92A48);outline-offset:2px;z-index:2}
.cd-pz.trage .cd-pz__b{cursor:grabbing}
.cd-pz.gata{gap:0;padding:0;overflow:hidden}
.cd-pz.gata .cd-pz__b{border-radius:0;cursor:default}
.cd-pz__renunt{margin-top:-2px}
.cd-zoom{position:relative;width:min(100%,420px);aspect-ratio:var(--r,1);overflow:hidden;border-radius:16px;box-shadow:var(--sh2,0 12px 30px rgba(30,26,32,.16));background:#F1ECEF}
.cd-zoom img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.cd-zoom.tot img{transition-duration:1.4s}
.cd-film__cadru{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:16px;background:#1E1A20;display:grid;place-items:center}
.cd-film__scena{position:absolute;inset:0}
.cd-film__poza{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.02);transition:opacity .9s ease}
.cd-film__poza.activ{opacity:1;animation:cd-kb0 4.6s ease-out both}
.cd-film__poza--1.activ{animation-name:cd-kb1}
.cd-film__poza--2.activ{animation-name:cd-kb2}
.cd-film__poza--3.activ{animation-name:cd-kb3}
@keyframes cd-kb0{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.14) translate(-2%,-1.5%)}}
@keyframes cd-kb1{from{transform:scale(1.14) translate(2%,1%)}to{transform:scale(1.03) translate(0,0)}}
@keyframes cd-kb2{from{transform:scale(1.04) translate(-2%,0)}to{transform:scale(1.15) translate(2%,-1%)}}
@keyframes cd-kb3{from{transform:scale(1.12) translate(0,2%)}to{transform:scale(1.02) translate(0,-1%)}}
.cd-film:not(.merge) .cd-film__scena .cd-film__poza:first-child{opacity:.45;filter:blur(2px) saturate(.8)}
.cd-film__start{position:relative;z-index:3;box-shadow:0 16px 34px -12px rgba(0,0,0,.6)}
.cd-film__bara{position:absolute;left:14px;right:14px;top:12px;z-index:2;display:flex;gap:5px}
.cd-film__bara i{flex:1;height:3px;border-radius:9px;background:rgba(255,255,255,.35);transition:background .4s}
.cd-film__bara i.plin{background:#fff}
.cd-film:not(.merge) .cd-film__bara{display:none}
.cd-film__final{position:absolute;inset:auto 0 18px;z-index:2;margin:0;text-align:center;color:#fff;font:800 clamp(22px,4.6vw,30px)/1.1 var(--fd,"Bricolage Grotesque",sans-serif);text-shadow:0 2px 16px rgba(0,0,0,.6);opacity:0;transform:translateY(8px);transition:opacity .6s,transform .6s}
.cd-film__final.arata{opacity:1;transform:none}
.cd-film__sari,.cd-film__revezi{margin-top:2px}
@media (max-width:600px){.cd-film__cadru{aspect-ratio:4/5}}
@media (prefers-reduced-motion:reduce){.cd-film__poza.activ{animation:none}.cd-zoom img,.cd-pz,.cd-pz__b{transition:none}}

/* 25.10.2026: mesajul lui Moș Crăciun, până în seara de Ajun: cerul cu sania în spate, textul alb, numărătoarea pe secunde */
.cd-numara--mos{position:relative;isolation:isolate;overflow:hidden;max-width:760px;min-height:440px;display:flex;flex-direction:column;justify-content:center;padding:56px 28px;color:#fff6e6;background:#0c1533}
.cd-numara__cer{position:absolute;inset:0;z-index:-1;background:var(--cer-l) center/cover no-repeat}
.cd-numara__cer video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s}
.cd-numara__cer video.is-gata{opacity:1}
.cd-numara__cer::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 55%,rgba(6,10,26,.62),rgba(6,10,26,.3) 70%),linear-gradient(0deg,rgba(6,10,26,.55),rgba(6,10,26,0) 45%)}
.cd-numara--mos .cd-h2{color:#fff6e6;font-size:clamp(30px,6vw,46px);text-shadow:0 2px 18px rgba(0,0,0,.45)}
.cd-numara--mos .cd-numara__text{color:#f6e7c8;font-size:17px}
.cd-numara--mos .cd-numara__ceas{display:flex;justify-content:center;gap:10px;margin-top:22px}
.cd-ceas__b{display:grid;place-items:center;min-width:68px;padding:10px 8px 8px;border-radius:14px;background:rgba(255,246,230,.12);box-shadow:inset 0 0 0 1px rgba(243,221,170,.35);backdrop-filter:blur(3px)}
.cd-ceas__b b{font:800 clamp(26px,6vw,36px)/1 var(--fd);color:#ffe6a8;font-variant-numeric:tabular-nums}
.cd-ceas__b small{margin-top:4px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#f3ddaa}
.cd-numara--mos .cd-numara__nota{margin-top:22px}
.cd-numara--mos .cd-numara__nota a{color:#fff6e6;font-size:14px;text-decoration:underline;text-underline-offset:3px;opacity:.8}
@media (max-width:640px){.cd-numara--mos{min-height:520px;margin-left:12px;margin-right:12px}.cd-numara__cer{background-image:var(--cer-v)}.cd-ceas__b{min-width:58px}}
