/* Pagina unei cutii gata făcute (_hooo_tip = cutie-gata), șablonul din temă (inc/produs-cutie-gata.php, template-parts/cutie-gata/;
 * planul tmp/pagina-cutie/plan/PLAN-SITE.md, lucrarea B, 21.10.2026). Portat din prototipul aprobat (tmp/pagina-cutie/assets/cutie-pagina.css,
 * v5.2), scopat sub .cg: fără antetul copiat (antetul și subsolul sunt ale temei), fără :root și fără --hdr-h proprii (variabila temei),
 * fără @font-face dublate pentru Bricolage și Instrument (assets/fonts/fonts.css). Fundalul mesei, textura cutiei deschise și numărul
 * pașilor vin ca variabile de pe .cg (--cg-masa-tel, --cg-masa-desk, --cg-masa-culoare, --cg-textura-cutie, --n-pasi), din JSON-uri.
 * Prefixul cg- = „cutie gata”. Mobil întâi: 375 → 600 → 900 → 1200. Integrarea cu tema (formularul modulului, notificările WooCommerce,
 * bara de sus, subsolul, nota legală) e la final. */

/* literele numelui: „hooo Scris” (Dancing Script 600, SIL OFL) nu e declarată global în temă; PT Serif Bold Italic (magneții) și titlul
   Fraunces (cutia puzzle-ului), ca la tipar, sunt fonturile noi din assets/fonts/ */
@font-face{font-family:"hooo Scris";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/hooo-scris-600-ro.woff2) format("woff2")}
/* v2: numele de pe magnetul cu Moș Crăciun e cules la tipar în PT Serif Bold Italic (prep.py), deci și previzualizarea */
@font-face{font-family:"PT Serif";font-style:italic;font-weight:700;font-display:swap;src:url(fonts/pt-serif-700-italic-ro.woff2) format("woff2")}
/* v3: titlul de pe cutia puzzle-ului („Puzzle-ul lui …”) e cules la tipar în Fraunces (FrauncesCarte-Titlu.ttf din carte/fonturi), subset RO, 14 KB */
@font-face{font-family:"Fraunces Carte Titlu";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/fraunces-titlu-ro.woff2) format("woff2")}

/* ---------- tokenuri ---------- */
.cg{
  --ink:#231B20; --ink-2:#5B4F55; --ink-3:#7A7280;
  --paper:#FBF6EE; --paper-2:#F4ECDF; --white:#FFFDF9; --cream:#fbf8f1;
  --rasp:#C92A48; --rasp-d:#A11F3A; --rasp-dd:#7E1730; --rasp-soft:rgba(201,42,72,.12);
  --blush:#F5E2E5; --pine:#1F5B4A; --pine-l:#E6EFE8;
  --gold:#C4A05A; --gold-l:#EFC654; --line:#E7DCCB; --line-warm:#ddd8d0;
  --night:#2A111C; --night-2:#45182A;
  --font-display:"Bricolage Grotesque","Avenir Next","Helvetica Neue",Arial,sans-serif;
  --font-body:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --scris:"hooo Scris","Segoe Script",cursive;
  --r:22px; --r-sm:12px;
  --shadow-1:0 1px 2px rgba(35,27,32,.06),0 10px 30px -12px rgba(35,27,32,.22);
  --shadow-2:0 2px 6px rgba(35,27,32,.10),0 28px 60px -20px rgba(35,27,32,.40);
  --ease:cubic-bezier(.2,.8,.2,1);
  --wrap:1260px; --gut:20px;   /* v2: aceleași margini ca antetul temei (20 px pe telefon, 40 px și 1260 px de la 900 px) */
}

/* ---------- bază ---------- */
.cg *,.cg *::before,.cg *::after{box-sizing:border-box}
html:has(body.cutie-gata-landing){-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr-h) + 64px)}
.cg{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:clip}
.cg img{max-width:100%;height:auto;display:block}
.cg button{font:inherit;color:inherit}
.cg a{color:var(--rasp-d);text-underline-offset:.18em}
.cg h1,.cg h2,.cg h3,.cg h4{font-family:var(--font-display);line-height:1.06;letter-spacing:-.025em;margin:0 0 .45em;text-wrap:balance;color:inherit}
.cg h2{font-size:clamp(30px,6.4vw,48px);font-weight:750}
.cg h3{font-size:clamp(23px,4.8vw,30px);font-weight:720}
.cg p{margin:0 0 1em}
.cg :focus-visible{outline:3px solid var(--rasp);outline-offset:3px;border-radius:6px}
.cg .wrap{margin:0 auto;padding:0 max(var(--gut),calc((100% - var(--wrap)) / 2))}

.cg .cg-scris{font-family:var(--scris);font-weight:600;letter-spacing:0}
.cg .cg-eyebrow{display:inline-block;margin:0 0 14px;font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rasp-d)}
.cg .cg-eyebrow--deschis{color:var(--gold-l)}
.cg .cg-lead{font-size:18px;color:var(--ink-2);max-width:56ch}
.cg .cg-cap{margin-bottom:32px}
.cg .cg-cap--centru{text-align:center}
.cg .cg-cap--centru .cg-lead{margin-inline:auto}
@media (min-width:900px){.cg{--gut:40px}}


/* ---------- butoane ---------- */
.cg .cg-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border:0;border-radius:14px;background:var(--rasp);color:#fff;font:650 17px/1.1 var(--font-body);text-decoration:none;cursor:pointer;overflow:hidden;transition:background .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);box-shadow:0 10px 24px -10px rgba(201,42,72,.7)}
.cg .cg-btn svg{width:22px;height:22px;flex:none}
.cg .cg-btn:hover{background:var(--rasp-d)}
.cg .cg-btn:active{transform:translateY(1px)}
.cg .cg-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);transform:translateX(-120%);pointer-events:none}
.cg .cg-btn:hover::after{transform:translateX(120%);transition:transform .8s var(--ease)}
.cg .cg-btn--mare{width:100%;min-height:58px;font-size:18px;border-radius:16px}
.cg .cg-btn--deschis{background:#fff;color:var(--rasp-d);box-shadow:0 14px 30px -14px rgba(0,0,0,.5)}
.cg .cg-btn--deschis:hover{background:var(--blush);color:var(--rasp-d)}
.cg .cg-btn.is-gata{background:var(--pine)}
.cg .cg-btn--deschis.is-gata{background:#fff;color:var(--pine)}
.cg .cg-btn[aria-busy=true]{cursor:progress}
.cg .cg-link{display:inline-flex;align-items:center;gap:8px;padding:10px 0;border:0;background:none;color:var(--rasp-d);font-weight:650;font-size:15.5px;text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1.5px;cursor:pointer}
.cg .cg-link:hover{color:var(--rasp)}
.cg .cg-link svg{width:18px;height:18px}
.cg .cg-link--audio{text-decoration:none;padding:9px 16px 9px 12px;border-radius:999px;background:var(--blush)}
.cg .cg-link--audio .cg-ic-pauza,.cg .cg-link--audio[aria-pressed=true] .cg-ic-play{display:none}
.cg .cg-link--audio[aria-pressed=true] .cg-ic-pauza{display:block}

/* ---------- 1. primul ecran (v3): „Masa lui Moș Crăciun” ----------
 * Masa e fundalul secțiunii (img/masa/erou-*.webp, LCP-ul). Piesele sunt <li class="cg-mp">, cu poziția și lățimea în mm
 * (le scrie unelte/erou_masa.py): left = --l / --mw, top = --t / --mh, width = --w / --mw, deci stau la scară reală.
 * Telefon: --lm --tm --rm --zm pe o masă de --mwm × --mhm mm, mai strânsă; biletul urcă peste marginea de jos a mesei. */
@property --uf{syntax:"<number>";inherits:true;initial-value:1}
.cg .cg-erou{position:relative;overflow:clip;padding:0 0 26px;color:var(--ink);background:var(--cg-masa-culoare,#3a2414) var(--cg-masa-tel) 50% 0/cover no-repeat;isolation:isolate}
.cg .cg-erou::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 70% 34% at 6% 0%,rgba(255,196,120,.30),transparent 70%),radial-gradient(ellipse 120% 80% at 50% 30%,transparent 50%,rgba(16,7,3,.45) 100%);transform-origin:6% 0;animation:cg-lampa 6s ease-in-out infinite alternate}
@keyframes cg-lampa{0%{opacity:.8}55%{opacity:1}100%{opacity:.88}}
.cg .cg-firimituri{display:none;gap:8px;font-size:13px}
.cg .cg-firimituri a{text-decoration:none}
.cg .cg-firimituri a:hover{text-decoration:underline}
.cg .cg-erou__zona{position:relative}
.cg .cg-erou__scena{position:relative}
.cg .cg-masa-scena{position:relative;width:100%;aspect-ratio:var(--mwm)/var(--mhm);margin:0;padding:0;list-style:none;isolation:isolate}

/* o piesă pe masă: umbra de contact (strânsă) + umbra moale, lungă cât grosimea (--u); lumina vine din stânga sus */
.cg .cg-mp{position:absolute;z-index:var(--zm);left:calc(var(--lm) / var(--mwm) * 100%);top:calc(var(--tm) / var(--mhm) * 100%);width:calc(var(--w) / var(--mwm) * 100%);
  --rr:var(--rm);rotate:var(--rr);translate:calc(var(--mx,0) * var(--d) * -9px) calc(var(--my,0) * var(--d) * -7px);--ux:calc(var(--u) * .8 * var(--uf))}
.cg .cg-mp__img,.cg .cg-mp__fig,.cg .cg-mp__dulce{filter:drop-shadow(0 .5px .8px rgba(24,10,3,.55)) drop-shadow(calc(var(--ux) * .42) calc(var(--ux) * .62) calc(var(--ux) * 1.15) rgba(24,10,3,.45))}
.cg .cg-mp__img{width:100%}
.cg .cg-mp__fig{margin:0;border-radius:0;box-shadow:none;background:none}
.cg .cg-mp__fig>img{border-radius:0}
.cg .cg-mp__dulciuri{position:relative}
.cg .cg-mp__dulce{position:absolute;left:var(--dl);top:var(--dt);width:var(--dw);rotate:var(--dr)}
/* numele pe piese: tipar (tăblița puzzle-ului se amestecă în lemn), titlul puzzle-ului începe după „Puzzle-ul lui ” */
.cg .cg-cu-nume__nume--tipar{opacity:var(--o,1);mix-blend-mode:multiply;text-shadow:0 0 .6px rgba(92,50,24,.6)}
.cg .cg-cu-nume__nume.cg-cu-nume__nume--titlu{font-family:"Fraunces Carte Titlu","PT Serif",Georgia,serif;font-weight:600;letter-spacing:-.01em}
.cg .cg-cu-nume__nume.cg-cu-nume__nume--st{transform:translate(0,-50%) rotate(var(--rot,0deg))}
/* cutia deschisă, văzută de sus: marginea din capacul real, interiorul alb în umbra pereților, hârtia de mătase */
.cg .cg-cutie-desc{position:relative;aspect-ratio:28/21;padding:3.2%;border-radius:2px;background:#c8303f var(--cg-textura-cutie) center/cover;box-shadow:0 1px 1.5px rgba(24,10,3,.6),calc(var(--ux) * .42) calc(var(--ux) * .62) calc(var(--ux) * 1.3) rgba(24,10,3,.5)}
.cg .cg-cutie-desc::before{content:"";position:absolute;inset:3.2%;background:linear-gradient(135deg,#fffdfa,#ece7df);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),inset 12px 9px 22px -4px rgba(70,50,40,.42),inset -4px -3px 10px rgba(255,255,255,.6)}
.cg .cg-cutie-desc .cg-matase{position:absolute;inset:7% 6% 6% 7%;border-radius:3px;background:linear-gradient(115deg,transparent 0 28%,rgba(255,255,255,.95) 29%,transparent 32% 58%,rgba(214,206,196,.55) 59%,transparent 63%),linear-gradient(62deg,#fbf9f6,#ede6dc 38%,#fbf8f3 58%,#e6ded3);box-shadow:inset 6px 5px 12px rgba(120,100,85,.25)}

/* eticheta valorii, ca un bilețel de cadou scris de mână; stă dreaptă indiferent de unghiul piesei */
.cg .cg-mp__et{position:absolute;z-index:2;left:var(--exm);top:var(--eym);display:inline-flex;align-items:baseline;gap:5px;padding:4px 9px 5px 16px;border-radius:2px 8px 8px 2px;background:#fbf3e3;background-image:linear-gradient(180deg,rgba(255,255,255,.5),transparent 60%);color:#5a4636;font:600 13px/1 var(--scris);white-space:nowrap;translate:-50% -50%;rotate:calc(var(--erm) - var(--rr));box-shadow:0 1px 1px rgba(24,10,3,.4),0 7px 12px -6px rgba(24,10,3,.7);pointer-events:none}
.cg .cg-mp__et::before{content:"";position:absolute;left:6px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#6b4a2e;box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}
.cg .cg-mp__et b{font-weight:600;font-size:15px;color:var(--rasp-d)}
.cg .cg-mp__et--fara-tel{display:none}
/* v5: piesele se deschid de pe masă, pe telefon și pe desktop (aceeași logică, JS 1b). Atingi / dai click pe o piesă: se ridică în
 * mijlocul mesei, mărită (--fx --fy --fs), cu eticheta ei, iar restul mesei se întunecă. Butonul nevăzut .cg-mp__atinge acoperă piesa
 * (tastatură, cititor de ecran); eticheta e deasupra lui, dar nu prinde click-uri. Pe telefon eticheta se vede doar pe piesa ridicată. */
.cg .cg-masa-scena::after{content:"";position:absolute;inset:0 -50vw;z-index:10;background:radial-gradient(ellipse 62% 70% at 50% 44%,rgba(20,9,4,.42),rgba(20,9,4,.74));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s var(--ease),visibility .4s}
.cg .cg-masa-scena.is-ridicat::after{opacity:1;visibility:visible}
.cg .cg-mp[data-erou-piesa],.cg .cg-mp[data-erou-atinge]{cursor:pointer;-webkit-tap-highlight-color:transparent}
.cg .cg-mp{transition:scale .5s var(--ease),rotate .5s var(--ease),--uf .45s var(--ease)}
.cg .cg-masa-scena.is-anim .cg-mp{transition:translate .5s var(--ease),scale .5s var(--ease),rotate .5s var(--ease),--uf .45s var(--ease)}   /* translate doar cât se mută (paralaxa nu întârzie) */
.cg .cg-mp.is-ridicat{z-index:20;translate:var(--fx) var(--fy);scale:var(--fs);--rr:calc(var(--rm) * .3);--ux:calc(var(--u) * .5 + 5px)}
.cg .cg-mp__atinge{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:3px;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.cg .cg-mp__atinge:focus-visible{outline:2px solid #fff;outline-offset:4px;box-shadow:0 0 0 7px rgba(201,42,72,.55)}
.cg .cg-mp__et{transition:opacity .25s,visibility .25s,scale .5s var(--ease)}
.cg .cg-mp.is-ridicat .cg-mp__et{scale:calc(1.12 / var(--fs,1))}   /* piesa crește, eticheta rămâne de mărimea ei */
@media (max-width:899px){
  .cg .cg-mp--fara-tel{display:none}
  .cg .cg-mp{transition:translate .5s var(--ease),scale .5s var(--ease),rotate .5s var(--ease),--uf .45s var(--ease)}
  .cg .cg-mp__et{opacity:0;visibility:hidden;scale:calc(1.15 / var(--fs,1));transition:opacity .25s,visibility .25s}
  .cg .cg-mp.is-ridicat .cg-mp__et{opacity:1;visibility:visible;scale:calc(1.15 / var(--fs,1));transition-delay:.3s}
}
@media (hover:hover) and (pointer:fine){
  .cg .cg-masa-scena:not(.is-ridicat) .cg-mp[data-erou-piesa]:hover{scale:1.035;--uf:1.7}
}

/* micro-momentul 2: piesele „se așază” când se încarcă pagina (6 px, iar umbra se strânge) */
.cg .cg-mp{animation:cg-mp-aseaza .8s var(--ease) backwards;animation-delay:calc(80ms + var(--i,0) * 70ms)}
@keyframes cg-mp-aseaza{0%{opacity:0;translate:0 -6px;scale:1.025;--uf:2.4}60%{opacity:1}100%{opacity:1;translate:0 0;scale:1;--uf:1}}
/* v5, „chemarea”: după ce masa se liniștește (JS 1b, ~1,6 s), piesele pulsează pe rând, una câte una (.is-cheama): se ridică puțin,
 * umbra se lungește și sub ele se aprinde o lumină caldă. Se oprește la prima piesă deschisă; la mișcare redusă nu pornește deloc. */
.cg .cg-masa-scena.is-linistita .cg-mp{animation:none}
.cg .cg-masa-scena.is-linistita .cg-mp.is-cheama{animation:cg-mp-cheama 1.3s cubic-bezier(.45,0,.3,1)}
.cg .cg-mp.is-cheama::before{content:"";position:absolute;inset:-16% -12%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,212,140,.5),rgba(255,212,140,.16) 55%,rgba(255,212,140,0));pointer-events:none;opacity:0;animation:cg-mp-halo 1.3s ease-in-out}
@keyframes cg-mp-cheama{0%,100%{scale:1;--uf:1}40%{scale:1.065;--uf:2.2}}
@keyframes cg-mp-halo{0%,100%{opacity:0}40%{opacity:1}}
@media (prefers-reduced-motion:reduce){.cg .cg-mp.is-cheama::before{display:none}}

.cg .cg-erou__poze{position:absolute;right:10px;bottom:8px;z-index:8;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 13px 0 10px;border:0;border-radius:999px;background:rgba(255,250,242,.94);color:var(--ink);font:650 13.5px/1 var(--font-body);cursor:pointer;box-shadow:0 8px 20px -8px rgba(0,0,0,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .2s var(--ease),background .2s}
.cg .cg-erou__poze svg{width:19px;height:19px;color:var(--rasp)}
.cg .cg-erou__poze:hover{background:#fff;transform:translateY(-1px)}
/* „Toată masa” pune piesa ridicată la loc (v5: și pe desktop) */
.cg .cg-erou__inapoi{position:absolute;right:10px;top:10px;z-index:8;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px 0 10px;border:0;border-radius:999px;background:rgba(255,250,242,.95);color:var(--ink);font:650 13.5px/1 var(--font-body);cursor:pointer;box-shadow:0 8px 20px -8px rgba(0,0,0,.6)}
.cg .cg-erou__inapoi[hidden]{display:none}
.cg .cg-erou__poze{transition:transform .2s var(--ease),background .2s,opacity .25s,visibility .25s}
.cg .cg-masa-scena.is-ridicat~.cg-erou__poze{opacity:0;visibility:hidden}   /* cât timp o piesă e ridicată, eticheta ei stă jos, unde e și butonul */
.cg .cg-erou__inapoi svg{width:16px;height:16px;color:var(--rasp)}

/* biletul (v5): un carton gros, presat, ca o carte poștală. Hârtie cu fibră fină, o ramă adâncită la 8 px de margine (lumina vine
 * din stânga sus: muchia de sus a ramei e umbrită, cea de jos luminată), un fulg în relief „orb” în colțul de jos și muchia cartonului
 * (trei straturi subțiri dedesubt). Textul rămâne pe hârtie deschisă, cu contrast mare; culoare au doar banda de sus și timbrul. */
.cg .cg-erou__dr{position:relative;z-index:10;margin-top:12px;padding:0 12px}
.cg .cg-tichet{position:relative;display:flex;flex-direction:column;padding:20px 18px 16px;border-radius:7px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-60 -60 120 120'%3E%3Cdefs%3E%3Cpath id='b' d='M0-9V-52M0-39l-10-10M0-39l10-10M0-25l-8-8M0-25l8-8'/%3E%3Cg id='f' fill='none' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cuse href='%23b'/%3E%3Cuse href='%23b' transform='rotate(60)'/%3E%3Cuse href='%23b' transform='rotate(120)'/%3E%3Cuse href='%23b' transform='rotate(180)'/%3E%3Cuse href='%23b' transform='rotate(240)'/%3E%3Cuse href='%23b' transform='rotate(300)'/%3E%3Ccircle r='6'/%3E%3C/g%3E%3C/defs%3E%3Cuse href='%23f' stroke='%23fff' transform='translate(-1.3 -1.3)'/%3E%3Cuse href='%23f' stroke='%238c6a44' stroke-opacity='.22' transform='translate(1.3 1.3)'/%3E%3Cuse href='%23f' stroke='%23f7efe1'/%3E%3C/svg%3E") right -38px bottom -34px/176px no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .3 0 0 0 0 .18 0 0 0 .3 -.1'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E") 0 0/160px,
    radial-gradient(140% 90% at 12% 0%,#fffefa 0%,#fcf7ee 50%,#f6ecdc 100%);
  box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(166,132,92,.2),0 1px 0 #ede1cd,0 2px 0 #e0cfb5,0 3px 0 #cfba99,0 5px 8px -2px rgba(24,10,3,.38),0 34px 64px -26px rgba(24,10,3,.9)}
.cg .cg-tichet::after{content:"";position:absolute;inset:8px;border-radius:4px;pointer-events:none;box-shadow:-1px -1px 0 rgba(150,112,70,.2),inset 1px 1px 0 rgba(255,255,255,.95),inset -1px -1px 0 rgba(150,112,70,.18),1px 1px 0 rgba(255,255,255,.95)}
.cg .cg-tichet::before{content:"";position:absolute;left:50%;top:-11px;width:104px;height:22px;translate:-50% 0;rotate:-2deg;border-radius:2px;background:rgba(201,42,72,.58);background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.17) 0 6px,transparent 6px 12px);box-shadow:0 1px 2px rgba(0,0,0,.15)}
.cg .cg-tichet p{margin:0}
.cg .cg-tichet__sus{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px!important}
.cg .cg-tichet__sus .cg-scris{font-size:19px;line-height:1.2;color:var(--rasp)}
/* v5: vârsta, ca un timbru lipit pe bilet (margine perforată, ramă subțire), cu (i); deschide fereastra „De ce 3–9 ani?” */
.cg .cg-varsta{flex:none;position:relative;display:block;margin:-4px -2px 0 0;padding:0;border:0;background:none;color:var(--rasp-d);font:inherit;text-align:center;cursor:pointer;rotate:3deg;filter:drop-shadow(0 1px 1px rgba(70,36,20,.22)) drop-shadow(0 5px 7px rgba(70,36,20,.14));transition:rotate .35s var(--ease),translate .35s var(--ease);-webkit-tap-highlight-color:transparent}
.cg .cg-varsta__hartie{--r:2.6px;display:grid;justify-items:center;gap:2px;padding:9px 12px 8px;background:#fffaf5 radial-gradient(120% 90% at 30% 10%,#fff,#fdf1ea);box-shadow:inset 0 0 0 5px #fffaf5,inset 0 0 0 6px rgba(161,31,58,.32);
  -webkit-mask:radial-gradient(var(--r),#0000 97%,#000) round calc(-1.5 * var(--r)) calc(-1.5 * var(--r))/calc(3 * var(--r)) calc(3 * var(--r)),linear-gradient(#000 0 0) no-repeat 50%/calc(100% - 3 * var(--r)) calc(100% - 3 * var(--r));
  mask:radial-gradient(var(--r),#0000 97%,#000) round calc(-1.5 * var(--r)) calc(-1.5 * var(--r))/calc(3 * var(--r)) calc(3 * var(--r)),linear-gradient(#000 0 0) no-repeat 50%/calc(100% - 3 * var(--r)) calc(100% - 3 * var(--r))}
.cg .cg-varsta__mic{font-size:10.5px;font-weight:650;line-height:1.1;letter-spacing:.02em;color:var(--ink-2);white-space:nowrap}
.cg .cg-varsta__ani{display:inline-flex;align-items:center;gap:5px;font:800 18px/1 var(--font-display);letter-spacing:-.02em;color:var(--rasp-d);white-space:nowrap}
.cg .cg-varsta__i{width:15px;height:15px;color:var(--rasp)}
.cg .cg-varsta:focus-visible{outline:2px solid var(--rasp);outline-offset:3px;border-radius:4px}
@media (hover:hover){.cg .cg-varsta:hover{rotate:0deg;translate:0 -2px}}
/* v5: titlul pe două trepte: „Moș Crăciun” tipărit, apăsat; „îți răspunde” scris de mână, în zmeuriu, cu o linie trasă cu penița */
.cg .cg-tichet h1.cg-titlu{display:flex;flex-direction:column;align-items:flex-start;margin:0 0 14px;line-height:1}
.cg .cg-titlu__mos{font:800 clamp(36px,10.4vw,44px)/.98 var(--font-display);letter-spacing:-.045em;color:var(--ink)}
.cg .cg-titlu__rasp{position:relative;display:inline-block;margin:.02em 0 0 .08em;padding:0 .14em .22em 0;font:600 clamp(38px,11.2vw,48px)/1.02 var(--scris);letter-spacing:0;color:var(--rasp);rotate:-2.5deg;transform-origin:0 60%}
.cg .cg-titlu__linie{position:absolute;left:0;right:0;bottom:-.04em;width:100%;height:.4em;overflow:visible;fill:none;stroke:var(--rasp);stroke-width:2.2;stroke-linecap:round;opacity:.55;pointer-events:none}
.cg .cg-titlu__linie path{vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0;animation:cg-titlu-linie .9s .6s cubic-bezier(.6,0,.3,1) backwards}
.cg .cg-titlu__linie path+path{animation-duration:.4s;animation-delay:1.4s}
@keyframes cg-titlu-linie{from{stroke-dashoffset:1}}
.cg .cg-promisiune{order:9;font-size:15px;line-height:1.45;color:var(--ink-2);margin:14px 0 0!important}
/* v4: prețul ca reducere: prețul tăiat, prețul cutiei, iar dedesubt economia, într-o etichetă calmă (fără roșu de outlet) */
.cg .cg-pret{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:14px}
.cg .cg-pret p{margin:0}
.cg .cg-pret__rand{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 12px}
.cg .cg-pret__vechi{font:600 20px/1 var(--font-display);letter-spacing:-.02em;color:var(--ink-3);text-decoration:line-through;text-decoration-color:rgba(161,31,58,.7);text-decoration-thickness:2px;white-space:nowrap}
.cg .cg-pret__acum{font:800 36px/1 var(--font-display);letter-spacing:-.03em;color:var(--ink);white-space:nowrap}
.cg .cg-pret__economie{display:inline-flex;align-items:center;gap:6px;padding:4px 11px 4px 9px;border-radius:999px;background:var(--pine-l);box-shadow:inset 0 0 0 1px rgba(31,91,74,.16);color:var(--pine);font-size:13.5px;font-weight:600;line-height:1.35}
.cg .cg-pret__economie::before{content:"";flex:none;width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 12.6V4.5a1 1 0 0 1 1-1h8.1l8 8a1.4 1.4 0 0 1 0 2l-7.1 7.1a1.4 1.4 0 0 1-2 0z' fill='none' stroke='%23000' stroke-width='2.2' stroke-linejoin='round'/%3E%3Ccircle cx='8.3' cy='8.3' r='1.7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 12.6V4.5a1 1 0 0 1 1-1h8.1l8 8a1.4 1.4 0 0 1 0 2l-7.1 7.1a1.4 1.4 0 0 1-2 0z' fill='none' stroke='%23000' stroke-width='2.2' stroke-linejoin='round'/%3E%3Ccircle cx='8.3' cy='8.3' r='1.7'/%3E%3C/svg%3E") center/contain no-repeat}
.cg .cg-pret__economie b{font-weight:750}
.cg .cg-pret__procent{font-weight:750;font-variant-numeric:tabular-nums}
/* câmpul numelui, ca un rând de bilet: scrii și numele se scrie pe piese, pe rând */
.cg .cg-tichet__nume{position:relative;display:flex;align-items:center;gap:10px;min-height:52px;margin-bottom:10px;padding:0 42px 0 14px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1.5px #e3d5c2;transition:box-shadow .2s}
.cg .cg-tichet__nume:focus-within{box-shadow:inset 0 0 0 2px var(--rasp),0 0 0 4px var(--rasp-soft)}
.cg .cg-tichet__nume label{flex:none;font-size:14px;font-weight:600;color:var(--ink-3)}
.cg .cg-tichet__nume input{flex:1;min-width:0;height:48px;padding:0;border:0;background:none;color:var(--rasp);font:600 24px/1 var(--scris);outline:0}
.cg .cg-tichet__nume input::placeholder{color:#b9a9a4;font-size:21px}
.cg .cg-tichet__nume svg{position:absolute;right:14px;top:50%;width:20px;height:20px;margin-top:-10px;color:var(--rasp);pointer-events:none}
.cg .cg-sub-btn{margin:8px 0 12px!important;font-size:13.5px;line-height:1.4;color:var(--ink-2);text-align:center}
/* v5: livrarea, două rânduri liniștitoare sub o linie de rupere (ca la un bilet); după 6 decembrie rămâne doar mesajul de încheiere */
.cg .cg-livrare{display:grid;gap:7px;margin:0;padding:12px 2px 0;list-style:none;border-top:1.5px dashed #e0cfb8}
.cg .cg-livrare__rand{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;color:var(--ink-2)}
.cg .cg-livrare__rand b{font-weight:700;color:var(--pine)}
.cg .cg-livrare__rand span{text-wrap:pretty}
.cg .cg-livrare__ic{flex:none;width:20px;height:20px;color:var(--pine)}
.cg .cg-livrare.is-inchis .cg-livrare__ic{color:var(--rasp-d)}
.cg .cg-livrare.is-inchis .cg-livrare__rand--transport{display:none}
.cg .cg-tichet__asig{display:flex;flex-direction:column;gap:6px;list-style:none;margin:12px 0 0;padding:0;font-size:13px;line-height:1.35;color:var(--ink-2)}
.cg .cg-tichet__asig li{display:flex;align-items:center;gap:8px}
.cg .cg-tichet__asig svg{flex:none;width:18px;height:18px;color:var(--rasp)}

@media (min-width:600px) and (max-width:899px){
  .cg .cg-erou__scena{width:min(100%,640px);margin-inline:auto}
  .cg .cg-erou__dr{max-width:520px;margin-inline:auto}
}
/* v5: pe telefoanele scunde (360 × 740), câțiva pixeli mai puțin aer deasupra biletului, ca „Comandă cadoul” să rămână în primul ecran */
@media (max-width:899px) and (max-height:760px){
  .cg .cg-erou__dr{margin-top:6px}
  .cg .cg-tichet{padding-top:14px}
}
@media (min-width:900px){
  .cg .cg-erou{--tichet-w:clamp(370px,29vw,430px);--dr:max(var(--gut),calc((100% - var(--wrap)) / 2));display:flex;align-items:center;justify-content:flex-end;min-height:max(620px,calc(100svh - var(--hdr-h) - 34px));padding:36px var(--dr) 36px 0;background-image:var(--cg-masa-desk);background-position:0 42%}
  .cg .cg-erou::before{background:radial-gradient(ellipse 42% 46% at 0% 22%,rgba(255,196,120,.26),transparent 72%),radial-gradient(ellipse 110% 90% at 40% 45%,transparent 52%,rgba(16,7,3,.5) 100%);transform-origin:0 22%}
  .cg .cg-firimituri{position:absolute;left:var(--dr);top:14px;z-index:9;display:flex;color:rgba(255,236,214,.62);text-shadow:0 1px 2px rgba(0,0,0,.5)}
  .cg .cg-firimituri a{color:rgba(255,236,214,.82)}
  /* v5: masa se potrivește în partea din primul ecran care se vede (nu în toată înălțimea secțiunii, care poate fi mai mare decât ecranul
   * din cauza biletului); așa eticheta „Dulciuri” nu mai iese pe marginea de jos la 1440 × 900 */
  .cg .cg-erou__zona{position:absolute;left:0;top:0;height:min(100%,calc(100svh - var(--hdr-h) - 34px));width:calc(100% - var(--tichet-w) - var(--dr) - 20px);display:grid;place-items:center;container-type:size}
  .cg .cg-erou__scena{width:min(calc(100cqw - 24px),calc((100cqh - 64px) * var(--rap,1.2121)))}
  .cg .cg-masa-scena{aspect-ratio:var(--mw)/var(--mh)}
  .cg .cg-mp{z-index:var(--z);left:calc(var(--l) / var(--mw) * 100%);top:calc(var(--t) / var(--mh) * 100%);width:calc(var(--w) / var(--mw) * 100%);--rr:var(--r);--ux:calc(var(--u) * var(--uf))}
  .cg .cg-mp__et{left:var(--ex);top:var(--ey);rotate:calc(var(--er) - var(--rr));padding:5px 11px 6px 18px;font-size:15px}
  .cg .cg-mp__et::before{left:7px}
  .cg .cg-mp__et b{font-size:18px}
  .cg .cg-mp__et--fara-tel{display:inline-flex}
  .cg .cg-erou__poze{left:auto;right:3%;bottom:4%;min-height:42px;padding:0 16px 0 12px;font-size:14.5px}
  /* v5: și pe desktop piesa se ridică la click; umbra acoperă toată masa (secțiunea o taie), biletul rămâne deasupra, luminat */
  .cg .cg-masa-scena::after{inset:-60vh -50vw}
  .cg .cg-mp.is-ridicat{--rr:calc(var(--r) * .3)}
  .cg .cg-erou__inapoi{min-height:42px;padding:0 16px 0 12px;font-size:14.5px}
  .cg .cg-erou__dr{width:var(--tichet-w);margin:0;padding:0}
  .cg .cg-tichet{padding:22px 28px 18px}
  .cg .cg-tichet::after{inset:9px}
  .cg .cg-tichet::before{top:-12px;width:120px;height:24px}
  .cg .cg-tichet__sus{margin-bottom:2px!important}
  .cg .cg-tichet__sus .cg-scris{font-size:23px}
  .cg .cg-tichet h1.cg-titlu{margin-bottom:10px}
  .cg .cg-titlu__mos{font-size:clamp(40px,3.35vw,48px)}
  .cg .cg-titlu__rasp{font-size:clamp(42px,3.45vw,50px)}
  .cg .cg-promisiune{order:0;font-size:16px;margin:0 0 12px!important}
  .cg .cg-pret{margin-bottom:14px}
  .cg .cg-sub-btn{margin:6px 0 10px!important}
  .cg .cg-pret__vechi{font-size:22px}
  .cg .cg-pret__acum{font-size:42px}
  .cg .cg-tichet__nume{margin-bottom:12px}
  .cg .cg-sub-btn{text-align:left}
  .cg .cg-tichet__asig{flex-direction:row;flex-wrap:wrap;gap:6px 16px}
}
@media (min-width:900px) and (max-height:760px){
  .cg .cg-promisiune{font-size:15px;margin-bottom:10px!important}
  .cg .cg-titlu__mos{font-size:clamp(36px,3.1vw,44px)}
  .cg .cg-titlu__rasp{font-size:clamp(38px,3.3vw,47px)}
}
/* numele se scriu în val când apare masa: până la rândul lor, nu se văd (doar cu JS și fără mișcare redusă: atunci nu există .is-val) */
.cg .is-val .cg-cu-nume__nume:not(.is-scrie){opacity:0}

/* galeria clasică (v3: în fereastra „Vezi pozele cutiei”; pe telefon se glisează) */
.cg .cg-galerie{position:relative;margin:0 calc(-1 * var(--gut))}
.cg .cg-galerie__pista{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;background:#efe9df}
.cg .cg-galerie__pista::-webkit-scrollbar{display:none}
.cg .cg-galerie__pista:focus-visible{outline-offset:-3px}
.cg .cg-galerie__slide{margin:0;scroll-snap-align:center;scroll-snap-stop:always;aspect-ratio:1/.76;overflow:hidden}
.cg .cg-galerie__slide img{width:100%;height:100%;object-fit:cover}
.cg .cg-galerie__sageata{display:none}
.cg .cg-galerie__nr{position:absolute;right:12px;top:12px;margin:0;padding:3px 10px;border-radius:999px;background:rgba(35,27,32,.55);color:#fff;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;backdrop-filter:blur(6px)}
.cg .cg-galerie__mini{position:absolute;left:50%;bottom:10px;display:flex;justify-content:center;gap:7px;padding:6px 9px;border-radius:999px;background:rgba(35,27,32,.38);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transform:translateX(-50%)}
.cg .cg-galerie__mini button{position:relative;width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.75);box-shadow:0 1px 3px rgba(0,0,0,.25);cursor:pointer;transition:width .25s var(--ease),background .25s}
.cg .cg-galerie__mini button::before{content:"";position:absolute;inset:-10px -4px}
.cg .cg-galerie__mini button img{display:none}
.cg .cg-galerie__mini button[aria-current=true]{width:24px;border-radius:5px;background:var(--rasp)}
@media (min-width:600px){
  .cg .cg-galerie{margin:0}
  .cg .cg-galerie__pista{border-radius:var(--r)}
  .cg .cg-galerie__slide{aspect-ratio:1}
  .cg .cg-galerie__mini{position:static;justify-content:flex-start;gap:10px;padding:12px 0 0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none}
  .cg .cg-galerie__mini button::before{display:none}
  .cg .cg-galerie__mini button{width:68px;height:68px;border-radius:12px;overflow:hidden;background:none;box-shadow:inset 0 0 0 1px var(--line);opacity:.72;transition:opacity .2s,box-shadow .2s}
  .cg .cg-galerie__mini button img{display:block;width:100%;height:100%;object-fit:cover}
  .cg .cg-galerie__mini button[aria-current=true]{width:68px;border-radius:12px;opacity:1;box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--rasp);background:none}
  .cg .cg-galerie__mini button:hover{opacity:1}
  .cg .cg-galerie__sageata{position:absolute;top:calc(50% - 62px);z-index:2;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,253,249,.92);box-shadow:var(--shadow-1);cursor:pointer;transition:transform .2s var(--ease),opacity .2s}
  .cg .cg-galerie__sageata svg{width:22px;height:22px}
  .cg .cg-galerie__sageata:hover{transform:scale(1.06)}
  .cg .cg-galerie__sageata--st{left:14px}
  .cg .cg-galerie__sageata--dr{right:14px}
  .cg .cg-galerie__sageata[disabled]{opacity:0;pointer-events:none}
}

/* componenta: o imagine reală cu numele scris peste ea, în poziția calibrată pe grafica de tipar */
.cg .cg-cu-nume{position:relative;container-type:inline-size;margin:0;border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.18),0 24px 50px -20px rgba(0,0,0,.6);background:#efe6da}
.cg .cg-cu-nume>img{width:100%;border-radius:inherit}
.cg .cg-cu-nume__nume{position:absolute;left:var(--x);top:var(--y);max-width:none;font:600 calc(var(--fs) * var(--k,1))/1 var(--scris);color:var(--c);white-space:nowrap;transform:translate(-50%,-50%);pointer-events:none}

.cg .cg-cu-nume__nume.is-scrie{animation:cg-scrie .55s var(--ease)}
@keyframes cg-scrie{0%{opacity:0;filter:blur(3px);letter-spacing:.06em}100%{filter:blur(0);letter-spacing:0}}
/* ---------- 6. întrebări ---------- */
.cg .cg-intrebari{padding:72px 0;background:var(--paper-2)}
.cg .cg-intrebari__grid{display:grid;gap:8px}
.cg .cg-intrebari__grid>*{min-width:0}
/* v4: fiecare întrebare e un card; iconița spune despre ce e vorba, semnul + se rotește în ×. Fără padding pe div: înălțimea se animă curat din JS */
.cg .cg-acordeon{display:grid;gap:10px}
.cg .cg-acordeon details{border-radius:18px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s var(--ease)}
.cg .cg-acordeon details[open]{box-shadow:inset 0 0 0 1.5px rgba(201,42,72,.28),0 18px 36px -24px rgba(35,27,32,.45)}
.cg .cg-acordeon summary{position:relative;display:flex;align-items:center;gap:14px;min-height:64px;padding:12px 56px 12px 12px;border-radius:18px;font:700 17px/1.3 var(--font-display);letter-spacing:-.01em;cursor:pointer;list-style:none}
.cg .cg-acordeon summary::-webkit-details-marker{display:none}
.cg .cg-acordeon__ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--blush);color:var(--rasp-d);transition:background-color .25s,color .25s}
.cg .cg-acordeon__ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cg .cg-acordeon details[open] .cg-acordeon__ic{background:var(--rasp);color:#fff}
.cg .cg-acordeon__q{flex:1;min-width:0}
.cg .cg-acordeon summary::after{content:"";position:absolute;right:14px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%23A11F3A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat;box-shadow:inset 0 0 0 1px var(--line);transition:transform .25s var(--ease)}
.cg .cg-acordeon details[open] summary::after{transform:rotate(45deg)}
.cg .cg-acordeon summary:hover{color:var(--rasp-d)}
.cg .cg-acordeon details>div p{margin:0;padding:2px 18px 20px;color:var(--ink-2);font-size:16px;line-height:1.62}
@media (min-width:600px){.cg .cg-acordeon details>div p{padding:0 28px 22px 66px;max-width:calc(62ch + 94px)}}
@media (min-width:900px){
  .cg .cg-intrebari{padding:120px 0}
  .cg .cg-intrebari__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
  .cg .cg-intrebari .cg-cap{position:sticky;top:calc(var(--hdr-h) + 32px)}
  .cg .cg-acordeon{gap:12px}
  .cg .cg-acordeon summary{min-height:76px;gap:16px;padding:16px 64px 16px 16px;font-size:19px}
  .cg .cg-acordeon summary::after{right:20px;width:30px;height:30px;margin-top:-15px}
  .cg .cg-acordeon__ic{width:44px;height:44px;border-radius:13px}
  .cg .cg-acordeon__ic svg{width:24px;height:24px}
  .cg .cg-acordeon details>div p{padding:0 36px 26px 76px;font-size:17px}
}

/* ---------- mesajul de după adăugarea în coș („Cutia pentru {nume} e în coș.”) ---------- */
.cg .cg-toast{position:fixed;left:50%;bottom:92px;z-index:80;width:min(440px,calc(100% - 32px));padding:14px 18px;border-radius:14px;background:var(--ink);color:#fff;font-size:14.5px;line-height:1.45;box-shadow:var(--shadow-2);transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s var(--ease)}
.cg .cg-toast.is-on{opacity:1;transform:translate(-50%,0)}
.cg .cg-toast b{color:var(--gold-l)}
@media (min-width:900px){.cg .cg-toast{bottom:92px}}

/* ---------- dialoguri ---------- */
.cg .cg-dialog{width:min(560px,calc(100% - 24px));max-height:calc(100% - 24px);padding:0;border:0;border-radius:var(--r);background:var(--white);color:var(--ink);box-shadow:var(--shadow-2);overflow:auto}
.cg .cg-dialog--video{width:min(860px,calc(100% - 24px));background:var(--night);color:#fff}
.cg .cg-dialog::backdrop{background:rgba(26,12,18,.72);backdrop-filter:blur(3px)}
.cg .cg-dialog__cap{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 20px;background:inherit}
.cg .cg-dialog__cap h2{margin:0;font-size:19px;letter-spacing:-.01em}
.cg .cg-dialog__x{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(127,127,127,.14);font-size:26px;line-height:1;cursor:pointer}
.cg .cg-dialog img,.cg .cg-dialog video{display:block;width:100%;height:auto;background:#000}
.cg .cg-dialog__nota{margin:0;padding:14px 20px 18px;font-size:14px;color:var(--ink-3)}
.cg .cg-dialog--video .cg-dialog__nota{color:#d9c3c8}

/* =================== v2 (21.10.2026) =================== */

/* ---------- clipurile: posterul static dedesubt, videoul apare peste el doar când rulează ---------- */
.cg .cg-galerie__slide--video{position:relative}
.cg .cg-clip__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s var(--ease);pointer-events:none;background:transparent}
.cg .cg-clip__video.is-play{opacity:1}
.cg .cg-viz--clip .cg-clip__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cg .cg-viz--clip{background:#efe7dc}
.cg .cg-clip__eticheta{position:absolute;left:12px;top:12px;z-index:2;margin:0;padding:4px 10px;border-radius:999px;background:rgba(255,253,249,.88);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:12px;font-weight:650;color:var(--ink-2);letter-spacing:.01em}
.cg .cg-galerie__mini-video{position:relative}
.cg .cg-galerie__mini-video::after{content:"";position:absolute;right:5px;bottom:5px;width:0;height:0;border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));display:none}
@media (min-width:600px){.cg .cg-galerie__mini-video::after{display:block}}

/* ---------- magnetul: 10 × 15 cm, colțuri rotunjite, numele în PT Serif Bold Italic, ca la tipar ---------- */
.cg .cg-cu-nume--magnet{--x:50.05%;--y:13.35%;--fs:12.51cqw;--c:#8e1a2c;--max:.46;border-radius:5%/3.33%;background:#f6eedf}
.cg .cg-cu-nume__nume--serif,.cg .cg-cu-nume--magnet .cg-cu-nume__nume{font-family:"PT Serif",Georgia,"Times New Roman",serif;font-style:italic;font-weight:700;letter-spacing:-.005em}
.cg .cg-cu-nume__nume{transform:translate(-50%,-50%) rotate(var(--rot,0deg))}
.cg .cg-cu-nume--frigider{position:absolute;left:0;top:50%;width:100%;translate:0 -50%;border-radius:0;box-shadow:none;background:none}
.cg .cg-cu-nume--frigider>img{border-radius:0}
.cg .cg-viz--cantec .cg-unde{left:auto;right:5%;top:auto;bottom:6%;height:42px;padding:9px 13px;gap:4px;border-radius:999px;background:rgba(255,253,249,.86);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transform:none;box-shadow:0 8px 20px -10px rgba(0,0,0,.5)}
.cg .cg-viz--cantec .cg-unde i{width:4px}

/* ---------- numele „scris de mână”: se dezvăluie de la stânga la dreapta, ca sub peniță ---------- */
.cg .cg-cu-nume__nume.is-scrie{animation:cg-scrie-mana .8s cubic-bezier(.45,.05,.3,1) both}
@keyframes cg-scrie-mana{
  0%{clip-path:inset(-30% 100% -30% -8%);opacity:.2;filter:blur(1.2px)}
  60%{opacity:1;filter:blur(0)}
  100%{clip-path:inset(-30% -8% -30% -8%);opacity:1;filter:blur(0)}
}

/* ---------- microinteracțiuni: discrete, cu aceeași curbă peste tot ---------- */
.cg .cg-btn{transition:background .2s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.cg .cg-btn:hover{transform:translateY(-1px);box-shadow:0 16px 30px -12px rgba(201,42,72,.75)}
.cg .cg-btn:active{transform:translateY(0) scale(.985);transition-duration:.08s}
.cg .cg-btn--deschis:hover{box-shadow:0 18px 34px -14px rgba(0,0,0,.55)}
.cg .cg-btn svg{transition:transform .35s var(--ease)}
.cg .cg-btn:hover svg{transform:rotate(-6deg) scale(1.06)}
.cg .cg-link{transition:color .2s,gap .25s var(--ease)}
.cg .cg-link--audio{transition:background .2s,transform .2s var(--ease)}
.cg .cg-link--audio:hover{background:#f0d3d8}
@media (hover:hover){
  .cg .cg-viz__dulce{transition:transform .4s var(--ease),filter .4s var(--ease)}
  .cg .cg-viz__dulce:hover{transform:translateY(-8px) rotate(-2deg);filter:drop-shadow(0 16px 14px rgba(35,27,32,.22))}
  .cg .cg-viz__cutia{transition:scale .8s var(--ease)}
  .cg .cg-viz--cutia:hover .cg-viz__cutia{scale:1.1}
  .cg .cg-galerie__mini button{transition:opacity .2s,box-shadow .2s,transform .25s var(--ease),width .25s var(--ease),background .25s}
  .cg .cg-galerie__mini button:hover{transform:translateY(-2px)}
}

/* galeria: imaginea care intră se așază moale, cele de alături stau puțin în umbră */
.cg .cg-galerie__slide img,.cg .cg-galerie__slide video{transition:transform 1.1s var(--ease),opacity .5s var(--ease)}
.cg-js .cg .cg-galerie__slide:not(.is-acum) img{transform:scale(1.035);opacity:.72}

/* acordeonul: înălțimea se animă din JS (Web Animations); aici doar semnul și culoarea */
.cg .cg-acordeon summary{transition:color .2s}
.cg .cg-acordeon summary::after{transition:transform .35s var(--ease),background-color .2s}
.cg .cg-acordeon summary:hover::after{background-color:var(--blush)}
.cg .cg-acordeon details>div{overflow:hidden}

/* ---------- butonul principal „respiră”: un inel de lumină la ~2,5 s; se oprește la hover, la focus și la mișcare redusă ---------- */
.cg .cg-btn--respira{animation:cg-respira 2.6s ease-in-out infinite}
.cg .cg-btn--respira:hover,.cg .cg-btn--respira:focus-visible,.cg .cg-btn--respira[aria-busy=true],.cg .cg-btn--respira.is-gata{animation:none}
/* 21.10, Adrian: și butonul din bara fixă pulsează puțin (lumină + o mărire abia vizibilă) */
.cg .cg-bara .cg-btn--respira{animation:cg-respira-bara 2.6s ease-in-out infinite}
@keyframes cg-respira-bara{
  0%,100%{transform:scale(1);box-shadow:0 8px 18px -10px rgba(201,42,72,.6),0 0 0 0 rgba(201,42,72,0)}
  50%{transform:scale(1.035);box-shadow:0 12px 24px -10px rgba(201,42,72,.75),0 0 0 5px rgba(201,42,72,.12),0 0 20px 2px rgba(239,198,84,.2)}
}
@keyframes cg-respira{
  0%,100%{box-shadow:0 10px 24px -10px rgba(201,42,72,.7),0 0 0 0 rgba(201,42,72,0)}
  50%{box-shadow:0 14px 30px -10px rgba(201,42,72,.8),0 0 0 6px rgba(201,42,72,.13),0 0 26px 2px rgba(239,198,84,.22)}
}

/* ---------- galeria din fereastră: pătrată și pe telefon ---------- */
.cg .cg-dialog--galerie{width:min(720px,calc(100% - 24px),calc(100vh - 150px))}
.cg .cg-dialog--galerie .cg-galerie{margin:0;padding:0 12px 14px}
.cg .cg-dialog--galerie .cg-galerie__pista{border-radius:var(--r-sm)}
.cg .cg-dialog--galerie .cg-galerie__slide{aspect-ratio:1}
.cg .cg-dialog--galerie .cg-galerie__nr{right:22px;top:10px}
@media (max-width:599px){.cg .cg-dialog--galerie{width:calc(100% - 16px)}.cg .cg-dialog--galerie .cg-galerie{padding:0 8px 10px}.cg .cg-dialog--galerie .cg-galerie__mini{bottom:20px}}
/* v5: pozele pieselor (după cele 4 ale cutiei, înaintea videoului): piesa decupată, pe hârtie caldă, cu numele scris peste ea (ca pe masă),
 * iar legenda e o etichetă scrisă de mână. Pe telefon legenda stă deasupra punctelor; de la 600 px, miniaturile se derulează (JS 1). */
.cg .cg-galerie__slide--piesa{position:relative;background:radial-gradient(110% 85% at 35% 22%,#fffaf2 0%,#f5ecdd 55%,#e9dac2 100%)}
.cg .cg-gp{position:absolute;inset:0;--ux:12px;transition:transform 1.1s var(--ease),opacity .5s var(--ease)}
.cg .cg-gp__p{position:absolute;left:var(--gl);top:var(--gt);width:var(--gw);rotate:var(--gr)}
.cg-js .cg .cg-dialog .cg-galerie__slide--piesa img{height:auto;object-fit:fill;background:none;transform:none;opacity:1}
.cg .cg-galerie__slide--piesa .cg-mp__dulce{width:var(--dw)}
.cg-js .cg .cg-galerie__slide--piesa:not(.is-acum) .cg-gp{transform:scale(1.035);opacity:.72}
.cg .cg-galerie__leg{position:absolute;left:50%;bottom:calc(34px + 1.5%);max-width:calc(100% - 32px);margin:0;padding:6px 13px 7px 20px;border-radius:2px 9px 9px 2px;background:#fbf3e3 linear-gradient(180deg,rgba(255,255,255,.55),transparent 60%);color:#5a4636;font:600 16px/1.1 var(--scris);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;translate:-50% 0;rotate:-1.5deg;box-shadow:0 1px 1px rgba(24,10,3,.3),0 8px 14px -8px rgba(24,10,3,.55)}
.cg .cg-galerie__leg::before{content:"";position:absolute;left:7px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#6b4a2e;box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}
@media (min-width:600px){
  .cg .cg-galerie__leg{bottom:5.5%;padding:7px 15px 8px 22px;font-size:19px}
  .cg .cg-dialog--galerie .cg-galerie__mini{overflow-x:auto;gap:8px;padding:12px 5px 6px;scrollbar-width:none}
  .cg .cg-dialog--galerie .cg-galerie__mini::-webkit-scrollbar{display:none}
  .cg .cg-dialog--galerie .cg-galerie__mini button,.cg .cg-dialog--galerie .cg-galerie__mini button[aria-current=true]{flex:none;width:56px;height:56px;border-radius:10px}
  .cg .cg-galerie__mini .cg-galerie__mini-piesa img{object-fit:contain;padding:6px;background:radial-gradient(circle at 40% 30%,#fffaf2,#ecdfca)}
}

/* v5: fereastra „De ce 3–9 ani?”: hârtia biletului, timbrul mare sus, textul aerisit; se deschide moale (oprit la mișcare redusă) */
.cg .cg-dialog--varsta{width:min(460px,calc(100% - 24px));background:#fcf7ee radial-gradient(130% 80% at 15% 0%,#fffefa,#fcf6ec 55%,#f5ebda)}
.cg .cg-dialog--varsta[open]{animation:cg-dlg-in .38s var(--ease)}
@keyframes cg-dlg-in{from{opacity:0;translate:0 14px;scale:.97}}
.cg .cg-dialog--varsta .cg-dialog__cap{align-items:flex-start;padding:22px 12px 0 26px;background:transparent}
.cg .cg-varsta--mare{margin-bottom:12px;rotate:-4deg;scale:1.2;transform-origin:0 0;cursor:default}
.cg .cg-varsta-dlg{padding:12px 26px 24px}
.cg .cg-varsta-dlg h2{margin:0 0 10px;font-size:28px;letter-spacing:-.025em}
.cg .cg-varsta-dlg p{margin:0 0 14px;font-size:16px;line-height:1.55;color:var(--ink-2)}
.cg .cg-varsta-dlg__lista{display:grid;gap:10px;margin:0 0 16px;padding:0;list-style:none}
.cg .cg-varsta-dlg__lista li{position:relative;padding:11px 14px 12px 40px;border-radius:12px;background:rgba(255,255,255,.75);box-shadow:inset 0 0 0 1px var(--line);font-size:15px;line-height:1.5;color:var(--ink-2)}
.cg .cg-varsta-dlg__lista li::before{content:"";position:absolute;left:14px;top:14px;width:15px;height:15px;background:var(--rasp);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5c.7 5.6 4.9 9.8 10.5 10.5-5.6.7-9.8 4.9-10.5 10.5-.7-5.6-4.9-9.8-10.5-10.5C7.1 11.3 11.3 7.1 12 1.5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5c.7 5.6 4.9 9.8 10.5 10.5-5.6.7-9.8 4.9-10.5 10.5-.7-5.6-4.9-9.8-10.5-10.5C7.1 11.3 11.3 7.1 12 1.5z'/%3E%3C/svg%3E") center/contain no-repeat}
.cg .cg-varsta-dlg__lista b{color:var(--ink)}
.cg .cg-varsta-dlg .cg-varsta-dlg__final{margin:0 0 18px}
.cg .cg-varsta-dlg__final .cg-scris{font-size:21px;line-height:1.35;color:var(--rasp-d)}
.cg .cg-varsta-dlg__btn{width:100%}

/* ---------- apariția la derulare (doar cu JS; fără JS totul e vizibil) ---------- */
.cg-js .cg .cg-reveal{opacity:0;translate:0 28px;transition:opacity .8s var(--ease),translate .8s var(--ease)}
.cg-js .cg .cg-reveal.is-in{opacity:1;translate:0 0}
.cg [data-paralaxa]{translate:0 var(--py,0px);will-change:translate}

@media (prefers-reduced-motion:reduce){
  html:has(body.cutie-gata-landing){scroll-behavior:auto}
  .cg *,.cg *::before,.cg *::after{animation:none!important;transition:none!important}
  .cg-js .cg .cg-reveal{opacity:1;translate:none}
  .cg [data-paralaxa]{will-change:auto}
  .cg .cg-clip__video{display:none}
  .cg-js .cg .cg-galerie__slide:not(.is-acum) img{transform:none;opacity:1}
  .cg .cg-btn:hover,.cg .cg-cine__lista li:hover{transform:none}
}
/* =================== v3 (21.10.2026): secțiunile de sub primul ecran, pe conceptul C „Masa Moșului” =================== */
/* Primul ecran (mai sus) rămâne al integrării. --bara-d = înălțimea barei fixe de pe desktop, ca elementele lipite să nu intre sub ea. */
.cg{--bara-d:0px}
@media (min-width:900px){.cg{--bara-d:58px}html:has(body.cutie-gata-landing){scroll-padding-top:calc(var(--hdr-h) + 40px)}}   /* 21.10: bara fixă e jos și pe desktop; --bara-d rămâne doar pentru înălțimi */
.cg .cg-intrebari .cg-cap{top:calc(var(--hdr-h) + 32px)}
@keyframes cg-puls{0%{transform:scale(.8);opacity:.7}100%{transform:scale(1.5);opacity:0}}

/* magnetul cu Cântecul tău: numele e cules ca la tipar (magneti.py: centrat, y = 306 din 1106, 84 px din 735) */

/* ---------- câmpul numelui (același motor ca în v2; poate exista și în primul ecran: câmpurile se țin sincron) ---------- */
.cg .cg-camp{margin:22px 0 14px}
.cg .cg-camp label{display:block;margin-bottom:10px;font:700 20px/1.2 var(--font-display);color:#fff}
.cg .cg-camp__rand{position:relative}
.cg .cg-camp__rand svg{position:absolute;left:18px;top:50%;width:22px;height:22px;transform:translateY(-50%);color:var(--rasp);pointer-events:none}
.cg .cg-camp input{width:100%;min-height:58px;padding:12px 18px 12px 52px;border:2px solid transparent;border-radius:16px;background:var(--white);color:var(--ink);font:600 20px/1.2 var(--font-body);box-shadow:0 18px 40px -18px rgba(0,0,0,.6);transition:border-color .2s,box-shadow .2s}
.cg .cg-camp input::placeholder{color:#a79da3;font-weight:500}
.cg .cg-camp input:focus{outline:0;border-color:var(--gold-l);box-shadow:0 0 0 5px rgba(239,198,84,.25),0 18px 40px -18px rgba(0,0,0,.6)}
.cg .cg-nume__zapada{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

/* ---------- 2. Moș Crăciun îi spune pe nume (v5: numele copilului scris de mână, mare, în titlu; lumina ecranului; bilețele scrise de mână) ---------- */
.cg .cg-mesaj{position:relative;isolation:isolate;overflow:hidden;padding:60px 0 68px;color:#FFF4E6;background:radial-gradient(70% 38% at 32% 62%,rgba(239,198,84,.12),transparent 70%),radial-gradient(120% 70% at 85% 0%,#7a2540 0%,transparent 60%),radial-gradient(90% 60% at 0% 100%,#4b1a2d 0%,transparent 65%),linear-gradient(180deg,var(--night-2),var(--night))}
.cg .cg-mesaj__grid{position:relative;display:grid;gap:22px}
.cg .cg-mesaj__grid>*{min-width:0}
.cg .cg-mesaj__sus{display:inline-flex;align-items:center;gap:9px;margin-bottom:14px}
.cg .cg-mesaj__sus svg{flex:none;width:20px;height:20px}
.cg .cg-mesaj__sus-u1,.cg .cg-mesaj__sus-u2{animation:cg-mesaj-unda 1.8s ease-in-out infinite}
.cg .cg-mesaj__sus-u2{animation-delay:.3s}
@keyframes cg-mesaj-unda{0%,100%{opacity:.3}50%{opacity:1}}
.cg .cg-mesaj h2{margin:0;color:#fff;font-size:clamp(32px,8vw,62px);letter-spacing:-.035em}
.cg .cg-mesaj__titlu{display:flex;flex-direction:column;align-items:flex-start}
.cg .cg-mesaj__t1{display:block;font-size:clamp(29px,7.6vw,56px);line-height:1.04}
/* numele: auriu, scris de mână, puțin aplecat; --k îl micșorează (JS, partea 5b) când un nume lung n-ar încăpea pe un rând */
.cg .cg-mesaj__nume{--k:1;position:relative;display:block;max-width:100%;margin:.06em 0 0 -.03em;padding:.04em .16em .32em .04em;font:600 calc(clamp(74px,21vw,146px) * var(--k))/.98 var(--scris);letter-spacing:0;white-space:nowrap;rotate:-3.5deg;transform-origin:0 70%;filter:drop-shadow(0 10px 22px rgba(0,0,0,.5))}
.cg .cg-mesaj__nume-txt{display:inline-block;padding:0 .1em 0 .02em;background:linear-gradient(105deg,#F2CF72 0%,#FFF3D1 20%,#EFC654 40%,#D49C35 60%,#FFE6A3 80%,#EFC654 100%) 0 0/230% 100%;-webkit-background-clip:text;background-clip:text;color:var(--gold-l);-webkit-text-fill-color:transparent;animation:cg-mesaj-luciu 8s ease-in-out infinite}
.cg .cg-mesaj__nume-txt.is-scrie{animation:cg-mesaj-scrie 1.15s cubic-bezier(.45,.05,.3,1) both,cg-mesaj-luciu 8s ease-in-out 1.2s infinite}
.cg .cg-mesaj__sublinie{position:absolute;left:3%;bottom:.04em;width:92%;height:.26em;overflow:visible;pointer-events:none}
.cg .cg-mesaj__sublinie path{fill:none;stroke:#E5486A;stroke-width:6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
@keyframes cg-mesaj-luciu{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@keyframes cg-mesaj-scrie{0%{clip-path:inset(-30% 100% -40% -8%);filter:blur(1.5px)}65%{filter:blur(0)}100%{clip-path:inset(-30% -8% -40% -8%);filter:blur(0)}}
/* numele stă ascuns până se scrie (doar cu mișcare; la mișcare redusă se vede direct, întreg) */
@media (prefers-reduced-motion:no-preference){
  .cg-js .cg .cg-mesaj__cap .cg-mesaj__nume-txt:not(.is-scrie){clip-path:inset(-30% 100% -40% -8%)}
  .cg-js .cg .cg-mesaj__cap .cg-mesaj__sublinie path{stroke-dashoffset:1;transition:stroke-dashoffset 1s var(--ease) 1.1s}
  .cg-js .cg .cg-mesaj__cap.is-val .cg-mesaj__sublinie path{stroke-dashoffset:0}
}
.cg .cg-mesaj__video{position:relative;margin:0}
/* lumina caldă din spatele ecranului: respiră încet */
.cg .cg-mesaj__video::before{content:"";position:absolute;z-index:-1;inset:-12% -8% -4%;border-radius:50%;background:radial-gradient(closest-side,rgba(239,198,84,.26),rgba(201,42,72,.16) 55%,transparent);filter:blur(16px);animation:cg-mesaj-aura 6s ease-in-out infinite;pointer-events:none}
@keyframes cg-mesaj-aura{0%,100%{opacity:.65;scale:.97}50%{opacity:1;scale:1.03}}
.cg .cg-mesaj__ecran{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#140a0e;box-shadow:0 30px 70px -30px rgba(0,0,0,.85),0 0 0 1px rgba(239,198,84,.32),0 0 0 7px rgba(255,244,230,.05)}
.cg .cg-mesaj__v{display:block;width:100%;height:100%;object-fit:cover;background:#140a0e}
.cg .cg-mesaj__sunet{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:5px 16px 5px 5px;border:0;border-radius:999px;background:rgba(255,253,249,.94);color:var(--ink);font-weight:650;font-size:15px;cursor:pointer;box-shadow:0 12px 26px -10px rgba(0,0,0,.6);transition:transform .2s var(--ease),background .2s}
.cg .cg-mesaj__sunet:hover{background:#fff;transform:translateY(-1px)}
.cg .cg-mesaj__sunet:active{transform:scale(.97)}
.cg .cg-mesaj__sunet-cerc{position:relative;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--rasp);color:#fff}
.cg .cg-mesaj__sunet-cerc svg{width:20px;height:20px}
.cg .cg-mesaj__sunet-cerc::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--rasp);opacity:0;animation:cg-puls 2.4s ease-out infinite}
.cg .cg-mesaj__video.is-sunet .cg-mesaj__sunet{display:none}
.cg .cg-mesaj__nota{margin:12px 2px 0;font-size:14px;line-height:1.45;color:#D9C0BA}
.cg .cg-mesaj__nota b{font-weight:700;color:var(--gold-l)}
.cg .cg-mesaj__piese{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:58px 18px;align-items:start}
.cg .cg-mesaj__magnet{margin:6px 0 0;transform:rotate(-3deg)}
/* v5: bilețelele scrise de mână, ca pe masa din primul ecran, prinse sub fiecare piesă */
.cg .cg-mesaj__bilet{position:absolute;z-index:2;left:50%;top:auto;bottom:-24px;width:max-content;max-width:min(118%,240px);padding:6px 12px 7px 19px;border-radius:2px 9px 9px 2px;background:#fbf3e3 linear-gradient(180deg,rgba(255,255,255,.55),transparent 60%);color:#5a4636;font:600 16px/1.12 var(--scris);letter-spacing:0;text-align:left;text-wrap:balance;white-space:normal;transform:translateX(-50%) rotate(2.5deg);box-shadow:0 1px 1px rgba(24,10,3,.4),0 12px 20px -9px rgba(0,0,0,.75)}
.cg .cg-mesaj__bilet::before{content:"";position:absolute;left:7px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#6b4a2e;box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}
.cg .cg-mesaj__magnet .cg-mesaj__bilet{left:-6px;top:calc(100% - 12px);bottom:auto;max-width:106%;transform:rotate(1.5deg)}   /* sub magnet, ca să nu acopere codul QR */
.cg .cg-mesaj__eticheta{left:auto;right:-6px;max-width:100%;transform:rotate(-3deg)}
.cg .cg-mesaj__eticheta svg{display:inline-block;width:14px;height:14px;margin:0 5px -1px 0;color:var(--rasp-d)}
.cg .cg-mesaj__scrisoare{position:relative;display:block;margin:26px 0 0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transform:rotate(2.5deg);transition:transform .45s var(--ease)}
.cg .cg-mesaj__scrisoare img{width:100%;aspect-ratio:525/475;object-fit:cover;object-position:50% 0;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.2),0 24px 50px -20px rgba(0,0,0,.7);-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}
/* v5: scrisoarea e fără salut; „Dragă {nume},” se scrie peste ea (.cg-cu-nume). Învelișul nu are ramă: umbra și masca rămân pe imagine */
.cg .cg-mesaj__scrisoare-hartie{display:block;border-radius:4px;box-shadow:none;background:none}
/* v5: pe masă și în galerie, scrisoarea cu salut (.cg-cu-nume) rămâne ca înainte (<img class="cg-mp__img">): colțuri drepte, doar umbra din filtru.
   .cg-mp__fig{box-shadow:none…} de sus pierde în fața .cg-cu-nume, care vine după; aici doar pentru scrisoare, celelalte piese rămân cum sunt */
.cg .cg-mp__fig:has(> [data-nume-inainte]){border-radius:0;box-shadow:none;background:none}
/* v5: exemplul de cântec, ca un mic player: butonul rotund, undele, rândul de sub el */
.cg .cg-mesaj__colind{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px;padding:12px 16px 12px 12px;border:1px solid rgba(255,236,220,.14);border-radius:20px;background:linear-gradient(180deg,rgba(255,244,230,.09),rgba(255,244,230,.03));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 34px -22px rgba(0,0,0,.8)}
.cg .cg-mesaj__colind .cg-link--audio{gap:12px;min-width:0;padding:0;border-radius:0;background:none;color:#FFF4E6;font:700 16.5px/1.2 var(--font-display);letter-spacing:-.01em;text-align:left}
.cg .cg-mesaj__colind .cg-link--audio:hover{background:none;color:#fff}
.cg .cg-mesaj__colind .cg-link--audio svg{flex:none;width:46px;height:46px;padding:13px 11px 13px 15px;border-radius:50%;background:var(--rasp);color:#fff;box-shadow:0 10px 20px -8px rgba(201,42,72,.85);transition:transform .25s var(--ease),background .2s}
.cg .cg-mesaj__colind .cg-link--audio:hover svg{transform:scale(1.06);background:#d8304f}
.cg .cg-mesaj__colind .cg-link--audio[aria-pressed=true] svg{padding:13px}
.cg .cg-mesaj__colind .cg-unde{position:static;height:28px;transform:none}
.cg .cg-mesaj__colind .cg-unde i{width:4px}
.cg .cg-mesaj__colind-sub{grid-column:1;margin:-4px 0 0;padding-left:58px;font-size:13.5px;line-height:1.35;color:#D9C0BA}
.cg .cg-camp--mic{grid-column:1/-1;margin:2px 0 0}
.cg .cg-camp--mic label{font-size:17px;margin-bottom:8px}
.cg .cg-camp--mic[hidden]{display:none}   /* v4: numele e deja scris sus */
@media (hover:hover){
  .cg .cg-mesaj__scrisoare:hover{transform:rotate(1deg) translateY(-6px)}
  .cg .cg-mesaj__magnet{transition:transform .45s var(--ease)}
  .cg .cg-mesaj__magnet:hover{transform:rotate(-1.5deg) translateY(-6px)}
}
@media (min-width:900px){
  .cg .cg-mesaj{padding:92px 0 112px}
  .cg .cg-mesaj__grid{grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);gap:30px 56px;align-items:start}
  .cg .cg-mesaj__cap{grid-column:1/-1}
  .cg .cg-mesaj__sunet{left:18px;bottom:18px}
  .cg .cg-mesaj__piese{padding-top:10px;row-gap:64px}
  .cg .cg-mesaj__bilet{font-size:17.5px;bottom:-26px}
  /* titlul pe un rând, iar numele mare stă în continuarea lui, ca o semnătură; un nume prea lung trece singur dedesubt */
  .cg .cg-mesaj__titlu{flex-flow:column;align-items:flex-start;margin-top:0}   /* 21.10: numele sub titlu și pe desktop, ca eticheta să stea mereu lângă titlu (cu un nume scurt rămânea un gol mare) */   /* numele urcă lângă eticheta de sus, nu se suprapun: eticheta e în stânga */
  .cg .cg-mesaj__t1{flex:none;font-size:clamp(44px,4.1vw,58px)}
  .cg .cg-mesaj__nume{flex:none;margin-top:-.12em;font-size:calc(clamp(104px,9.4vw,138px) * var(--k))}
  .cg .cg-mesaj__nota{font-size:14.5px}
}

/* ---------- 3. deschiderea pas cu pas: telefon întâi (6 carduri glisabile), desktop: masa fixă ---------- */
.cg .cg-ritual{padding:0 0 48px}
/* v5: intrarea. Noaptea din secțiunea mesajului continuă într-o bandă cu marginea de jos arcuită (ca la „Pentru cine e”); în ea, cutia văzută de sus.
   Când ajungi la ea, capacul se ridică (JS scoate .is-asteapta), din cutie iese lumina, sar câteva scântei, apoi apare titlul.
   Fără JS sau la mișcare redusă, cutia e deja deschisă și titlul e pe loc. */
/* trecerea din secțiunea de dinainte: o pată de noapte care coboară peste ultimii pixeli ai ei, ca marginea dintre ele să nu se vadă */
.cg .cg-ritual{position:relative}
.cg .cg-ritual::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:34px;background:linear-gradient(180deg,rgba(42,17,28,0),var(--night));pointer-events:none}
.cg .cg-ritual__cap{--arc:clamp(28px,7vw,84px);position:relative;isolation:isolate;margin:0 0 34px;padding:30px 0 calc(46px + var(--arc) * .55);overflow-x:clip;color:#FFF4E6;text-align:center;background:radial-gradient(60% 46% at 50% 46%,rgba(122,37,64,.5),transparent 72%),linear-gradient(180deg,var(--night) 0%,var(--night) 30%,var(--night-2) 100%);border-radius:0 0 50% 50% / 0 0 var(--arc) var(--arc)}
.cg .cg-ritual__cutie{--wc:clamp(170px,48vw,250px);position:relative;width:var(--wc);aspect-ratio:734/526;margin:calc(var(--wc) * .5) auto 30px}   /* 21.10: loc sus pentru capacul ridicat, ca să nu fie tăiat */
.cg .cg-ritual__lumina{position:absolute;z-index:-1;left:47.7%;top:52%;width:330%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,226,160,.78),rgba(255,206,120,.34) 22%,rgba(239,198,84,.14) 44%,rgba(239,198,84,.05) 62%,transparent 74%);pointer-events:none;transition:opacity 1.5s var(--ease) .45s,scale 1.8s var(--ease) .45s}
.cg .cg-ritual__fund{position:absolute;left:0;top:1%;width:95.4%;height:98%;padding:3.6%;border-radius:3px;background:#c8303f var(--cg-textura-cutie) center/cover;box-shadow:0 1px 2px rgba(0,0,0,.55),0 30px 44px -20px rgba(0,0,0,.75),0 0 70px 14px rgba(255,200,120,.42);transition:box-shadow 1.4s var(--ease) .4s}
.cg .cg-ritual__matase{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:linear-gradient(115deg,transparent 0 28%,rgba(255,255,255,.8) 30%,transparent 33% 58%,rgba(240,206,150,.55) 60%,transparent 64%),linear-gradient(60deg,#fff6e2,#f6e0b8 40%,#fff3da 62%,#f0d4a4);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),inset 4px 6px 14px rgba(120,60,30,.22)}
.cg .cg-ritual__raza{position:absolute;inset:3.6%;background:radial-gradient(closest-side,#fffbea,rgba(255,236,190,.92) 40%,rgba(255,214,140,.35) 80%,rgba(255,196,110,0) 100%);transition:opacity 1.2s var(--ease) .35s}
.cg .cg-ritual__capac{position:absolute;left:0;top:0;z-index:2;width:100%;height:auto;transform-origin:20% 90%;transform:translate(-12%,-44%) rotate(-11deg) scale(1.05);filter:drop-shadow(-6px -10px 22px rgba(10,3,6,.45)) drop-shadow(0 2px 2px rgba(10,3,6,.4));transition:transform 1.25s cubic-bezier(.55,0,.2,1) .1s,filter 1.25s var(--ease) .1s}
.cg .cg-ritual__scantei{position:absolute;left:47.7%;top:50%;z-index:3;width:0;height:0;pointer-events:none}
.cg .cg-ritual__scantei i{position:absolute;left:0;top:0;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:#ffe7a8;box-shadow:0 0 8px 2px rgba(255,214,120,.8);opacity:0}
.cg .cg-ritual__scantei i:nth-child(1){--sx:-74px;--sy:-96px;--k:0}
.cg .cg-ritual__scantei i:nth-child(2){--sx:-30px;--sy:-128px;--k:1;width:4px;height:4px}
.cg .cg-ritual__scantei i:nth-child(3){--sx:22px;--sy:-112px;--k:2}
.cg .cg-ritual__scantei i:nth-child(4){--sx:70px;--sy:-84px;--k:3;width:3px;height:3px}
.cg .cg-ritual__scantei i:nth-child(5){--sx:-52px;--sy:-58px;--k:4;width:3px;height:3px}
.cg .cg-ritual__scantei i:nth-child(6){--sx:48px;--sy:-136px;--k:5;width:4px;height:4px}
.cg .cg-ritual__cap.is-deschisa .cg-ritual__scantei i{animation:cg-scanteie 2.2s cubic-bezier(.2,.7,.3,1) calc(.75s + var(--k) * .11s) both}
.cg .cg-ritual__cap.is-deschisa .cg-ritual__lumina{animation:cg-lumina-respira 4.8s ease-in-out 2.4s infinite}
@keyframes cg-scanteie{0%{opacity:0;transform:translate(0,0) scale(.4)}18%{opacity:1}100%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(1)}}
@keyframes cg-lumina-respira{0%,100%{opacity:1}50%{opacity:.72}}
.cg .cg-ritual__sus{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 14px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-l)}
.cg .cg-ritual__sus::before,.cg .cg-ritual__sus::after{content:"";width:28px;height:1px;background:linear-gradient(90deg,transparent,rgba(239,198,84,.8))}
.cg .cg-ritual__sus::after{transform:scaleX(-1)}
.cg .cg-ritual__titlu{max-width:15ch;margin:0 auto 16px;font-family:"Fraunces Carte Titlu",Georgia,"Times New Roman",serif;font-weight:600;font-size:clamp(36px,9.6vw,76px);line-height:1;letter-spacing:-.02em;color:#FFF4E6;text-shadow:0 2px 24px rgba(20,6,12,.45)}
.cg .cg-ritual__titlu-scris{display:block;margin-top:.1em;font-family:var(--scris);font-weight:600;font-size:1.12em;line-height:1;letter-spacing:0;color:var(--gold-l);text-shadow:0 0 30px rgba(239,198,84,.42)}
.cg .cg-ritual__lead{max-width:44ch;margin:0 auto;font-size:16.5px;line-height:1.55;color:#ead6d0}
/* starea „închisă”, doar cu JS și fără mișcare redusă: capacul pe cutie, lumina stinsă, textul așteaptă */
.cg-js .cg .cg-ritual__cap.is-asteapta .cg-ritual__capac{transform:none;filter:drop-shadow(0 6px 8px rgba(10,3,6,.55)) drop-shadow(0 1px 1px rgba(10,3,6,.5));transition:none}
.cg-js .cg .cg-ritual__cap.is-asteapta .cg-ritual__lumina{opacity:0;scale:.5;transition:none}
.cg-js .cg .cg-ritual__cap.is-asteapta .cg-ritual__raza{opacity:0;transition:none}
.cg-js .cg .cg-ritual__cap.is-asteapta .cg-ritual__fund{box-shadow:0 1px 2px rgba(0,0,0,.55),0 30px 44px -20px rgba(0,0,0,.75),0 0 0 0 rgba(255,196,110,0);transition:none}
.cg .cg-ritual__sus,.cg .cg-ritual__titlu,.cg .cg-ritual__lead{transition:opacity .9s var(--ease),translate .9s var(--ease)}
.cg .cg-ritual__sus{transition-delay:.7s}
.cg .cg-ritual__titlu{transition-delay:.85s}
.cg .cg-ritual__lead{transition-delay:1.05s}
.cg-js .cg .cg-ritual__cap.is-asteapta .cg-ritual__sus,.cg-js .cg .cg-ritual__cap.is-asteapta .cg-ritual__titlu,.cg-js .cg .cg-ritual__cap.is-asteapta .cg-ritual__lead{opacity:0;translate:0 16px;transition:none}
@media (min-width:900px){
  .cg .cg-ritual::before{height:72px}
  .cg .cg-ritual__cap{margin-bottom:24px;padding:44px 0 calc(64px + var(--arc) * .5)}
  .cg .cg-ritual__cutie{--wc:clamp(220px,19vw,270px);margin:calc(var(--wc) * .5) auto 38px}
  .cg .cg-ritual__lead{font-size:19px}
}
.cg .cg-ritual__grid{display:flex;flex-direction:column}   /* v4: pe telefon, coloană; biletul (scos din masă cu display:contents) stă lipit deasupra pașilor */
.cg .cg-ritual__grid>*{min-width:0}
.cg .cg-scena{order:2}
.cg .cg-masa3{position:relative}
.cg .cg-masa3__piese{display:none}
.cg .cg-pasi-cutie{order:1}
.cg .cg-pasi-cutie__pista{position:relative;display:grid;gap:30px}
.cg .cg-pas{position:relative;display:flex;flex-direction:column;min-width:0;border-radius:var(--r);background:var(--white);box-shadow:var(--shadow-1);overflow:hidden}
.cg .cg-pas__viz{position:relative;aspect-ratio:1/.74;overflow:hidden;background:radial-gradient(70% 60% at 50% 40%,#fff 0%,var(--paper-2) 75%)}
.cg .cg-pas__text{position:relative;display:flex;flex-direction:column;flex:1;padding:16px 18px 14px}
/* v5: fiecare pas e o etichetă de cadou: ramă aurie fină pe dinăuntru și o găurică pentru sfoară, sus în dreapta */
.cg .cg-pas__text::before{content:"";position:absolute;inset:8px;border:1px solid rgba(196,160,90,.34);border-radius:14px;pointer-events:none}
.cg .cg-pas__text::after{content:"";position:absolute;right:20px;top:20px;width:11px;height:11px;border-radius:50%;background:var(--paper-2);box-shadow:inset 0 1px 2px rgba(35,27,32,.3),0 0 0 1.5px rgba(196,160,90,.6),0 0 0 4px rgba(196,160,90,.12);pointer-events:none}
/* v5: numerotarea de atelier: cifra mare, în aceeași literă ca titlul puzzle-ului, și o riglă în 6 bucăți (aurii = deschise, zmeurie = acum) */
.cg .cg-pas__text>.cg-pas__ordine{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;row-gap:7px;align-items:end;margin:4px 0 12px;padding-right:28px;font-size:12px;line-height:1.3;color:var(--rasp-d)}
.cg .cg-pas__nr{grid-column:1;grid-row:1/3;align-self:center;min-width:.62em;font-family:"Fraunces Carte Titlu",Georgia,"Times New Roman",serif;font-weight:600;font-size:54px;line-height:.82;letter-spacing:-.04em;text-align:center;color:var(--rasp);background:linear-gradient(165deg,#d8304f 20%,var(--rasp-dd) 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cg .cg-pas__din{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}   /* „din 6” rămâne pentru cititoarele de ecran; se vede din riglă */
.cg .cg-pas__fir{grid-column:2;grid-row:1;display:block;height:4px;background:linear-gradient(90deg,var(--gold) 0 calc((var(--n,1) - 1) / var(--n-pasi,6) * 100%),var(--rasp) 0 calc(var(--n,1) / var(--n-pasi,6) * 100%),#e9dfcf 0);-webkit-mask:repeating-linear-gradient(90deg,#000 0 calc((100% - (var(--n-pasi,6) - 1) * 5px) / var(--n-pasi,6)),transparent 0 calc((100% - (var(--n-pasi,6) - 1) * 5px) / var(--n-pasi,6) + 5px));mask:repeating-linear-gradient(90deg,#000 0 calc((100% - (var(--n-pasi,6) - 1) * 5px) / var(--n-pasi,6)),transparent 0 calc((100% - (var(--n-pasi,6) - 1) * 5px) / var(--n-pasi,6) + 5px))}
.cg .cg-pas__unde{grid-column:2;grid-row:2;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rasp-d)}
/* v5: titlurile pieselor, în literă de carte, cu un mic ornament auriu dedesubt */
.cg .cg-pas h3{margin-bottom:10px;font-family:"Fraunces Carte Titlu",Georgia,"Times New Roman",serif;font-weight:600;font-size:27px;line-height:1.08;letter-spacing:-.015em;color:var(--ink)}
.cg .cg-pas h3::after{content:"";display:block;width:64px;height:10px;margin-top:11px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 10'%3E%3Cpath d='M0 5h25M39 5h25' stroke='%23C4A05A' stroke-width='1.4'/%3E%3Cpath d='M32 1.2l3.8 3.8L32 8.8 28.2 5z' fill='%23C4A05A'/%3E%3C/svg%3E") left center/64px 10px no-repeat}
.cg .cg-pas__text>.cg-pas__semn{display:inline-flex;align-items:center;gap:7px;width:fit-content;margin:0 0 12px;padding:5px 13px 5px 9px;border-radius:999px;background:#fbf1d9;box-shadow:inset 0 0 0 1px rgba(196,160,90,.55);color:#6e5114;font:700 13.5px/1.25 var(--font-body)}
.cg .cg-pas__semn svg{flex:none;width:17px;height:17px}
.cg .cg-pas__text>p{margin:0 0 10px;font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.cg .cg-pas__text>.cg-pas__simte{margin:0 0 12px;font:600 23px/1.2 var(--scris);color:var(--rasp)}
.cg .cg-pas__jos{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:auto}
.cg .cg-pas__jos .cg-link{padding:8px 0;font-size:15px}
.cg .cg-pas__jos .cg-link--audio,.cg .cg-pas__jos .cg-link--video{padding:8px 14px 8px 10px}
.cg .cg-link--video{text-decoration:none;border-radius:999px;background:var(--blush);transition:background .2s,transform .2s var(--ease)}
.cg .cg-link--video:hover{background:#f0d3d8}
/* v5: fereastra cu mesajul video de exemplu (pasul 2): ecranul 16:9, butonul de sunet ca pe pagină; dedesubt, nota */
.cg .cg-dialog--mesaj{overflow:hidden}
.cg .cg-dialog__ecran{position:relative;margin:0 12px;border-radius:14px;overflow:hidden;background:#140a0e;aspect-ratio:16/9}
.cg .cg-dialog--mesaj video{width:100%;height:100%;object-fit:cover;background:#140a0e}
.cg .cg-dialog__sunet{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:5px 16px 5px 5px;border:0;border-radius:999px;background:rgba(255,253,249,.95);color:var(--ink);font:650 15px/1.2 var(--font-body);cursor:pointer;box-shadow:0 12px 26px -10px rgba(0,0,0,.6);transition:transform .2s var(--ease),background .2s}
.cg .cg-dialog__sunet:hover{background:#fff;transform:translateY(-1px)}
.cg .cg-dialog__sunet-cerc{position:relative;display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--rasp);color:#fff}
.cg .cg-dialog__sunet-cerc svg{width:20px;height:20px}
.cg .cg-dialog__sunet-cerc::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--rasp);opacity:0;animation:cg-puls 2.4s ease-out infinite}
.cg .cg-dialog__ecran.is-sunet .cg-dialog__sunet{display:none}
@media (max-width:599px){.cg .cg-dialog__ecran{margin:0 8px;border-radius:10px}.cg .cg-dialog__sunet{left:8px;bottom:8px;min-height:42px;font-size:14px}}
.cg .cg-valoare{margin:0;padding:6px 13px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--gold);font-size:14px;color:var(--ink-2);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.cg .cg-valoare b{color:var(--ink);font:800 16px/1 var(--font-display)}
.cg .cg-valoare--inclus{color:var(--pine);font-weight:700;box-shadow:inset 0 0 0 1.5px #b8d1c3}
/* v4: explicațiile care se deschid. Un rând-pastilă cu „?” în stânga și „+” în dreapta (se rotește în „×”); deschis, rândul se colorează
   și panoul se lipește dedesubt. Buton cu aria-expanded; fără JS, panoul e deschis. „+” pulsează de două ori când pasul devine activ. */
.cg .cg-dece{margin-top:14px}
.cg .cg-dece__btn{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;margin:0;padding:8px;border:0;border-radius:14px;background:var(--blush);color:var(--rasp-d);font:650 15px/1.25 var(--font-body);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .25s var(--ease),color .25s var(--ease),border-radius .3s var(--ease)}
.cg .cg-dece__ic{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--rasp);font:800 16px/1 var(--font-display);box-shadow:0 1px 2px rgba(161,31,58,.18)}
.cg .cg-dece__q{flex:1;min-width:0}
.cg .cg-dece__plus{position:relative;flex:none;width:30px;height:30px;border-radius:50%;background:var(--rasp);transition:transform .4s var(--ease),background-color .25s}
.cg .cg-dece__plus::before,.cg .cg-dece__plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2.4px;margin:-1.2px 0 0 -6px;border-radius:2px;background:#fff;transition:background-color .25s}
.cg .cg-dece__plus::after{transform:rotate(90deg)}
.cg .cg-dece__btn:active{scale:.985}
.cg .cg-dece__btn[aria-expanded="true"]{border-radius:14px 14px 4px 4px;background:var(--rasp-d);color:#fff}
.cg .cg-dece__btn[aria-expanded="true"] .cg-dece__ic{color:var(--rasp-d);box-shadow:none}
.cg .cg-dece__btn[aria-expanded="true"] .cg-dece__plus{transform:rotate(135deg);background:#fff}
.cg .cg-dece__btn[aria-expanded="true"] .cg-dece__plus::before,.cg .cg-dece__btn[aria-expanded="true"] .cg-dece__plus::after{background:var(--rasp-d)}
.cg .cg-dece__panou>div{min-height:0;overflow:hidden}
.cg .cg-dece__panou p{margin:0;padding:12px 14px 14px 48px;border-radius:4px 4px 14px 14px;background:#fbeff1;font-size:15px;line-height:1.5;color:var(--ink-2)}
.cg-js .cg .cg-dece__panou{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .4s var(--ease),visibility 0s linear .4s}
.cg-js .cg .cg-dece__btn[aria-expanded="true"]+.cg-dece__panou{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .4s var(--ease)}
.cg .cg-pas.is-acum .cg-dece__btn[aria-expanded="false"] .cg-dece__plus{animation:cg-atinge 1.3s var(--ease) .8s 2}
@keyframes cg-atinge{0%{box-shadow:0 0 0 0 rgba(201,42,72,.5)}100%{box-shadow:0 0 0 11px rgba(201,42,72,0)}}
@media (hover:hover){
  .cg .cg-dece__btn[aria-expanded="false"]:hover{background:#f1d5db}
  .cg .cg-dece__btn[aria-expanded="false"]:hover .cg-dece__plus{transform:rotate(90deg)}
}

/* vizualurile cardurilor (doar pe telefon) */
.cg .cg-viz--clip{background:#efe7dc}
.cg .cg-viz--clip .cg-clip__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cg .cg-viz--cantec{display:grid;place-items:center}
.cg .cg-viz__grila{position:absolute;inset:0;border-radius:inherit;background-image:linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.22) 1px,transparent 1px);background-size:calc(100% / var(--n-pasi,6)) 100%,100% calc(100% / 4);mix-blend-mode:soft-light;pointer-events:none}
.cg .cg-unde{display:flex;align-items:center;gap:5px;height:60px}
.cg .cg-unde i{display:block;width:6px;height:100%;border-radius:3px;background:var(--rasp);opacity:.8;transform-origin:center;animation:cg-unda 1.2s ease-in-out infinite}
.cg .cg-unde i:nth-child(2){animation-delay:-.9s;background:var(--gold)}
.cg .cg-unde i:nth-child(3){animation-delay:-.5s}
.cg .cg-unde i:nth-child(4){animation-delay:-.2s;background:var(--gold)}
.cg .cg-unde i:nth-child(5){animation-delay:-.7s}
.cg .cg-unde.is-pauza i{animation-play-state:paused}
@keyframes cg-unda{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1)}}
.cg .cg-viz--dulciuri{display:flex;align-items:flex-end;justify-content:center;gap:4%;padding:0 8% 13%}
.cg .cg-viz--dulciuri::after{content:"";position:absolute;left:12%;right:12%;bottom:10%;height:18px;border-radius:50%;background:radial-gradient(closest-side,rgba(35,27,32,.22),transparent);z-index:0}
.cg .cg-viz__dulce{position:relative;z-index:1;width:auto;filter:drop-shadow(0 8px 10px rgba(35,27,32,.18))}
.cg .cg-viz__dulce--milka{height:74%}
.cg .cg-viz__dulce--kinder{height:66%}
.cg .cg-viz__dulce--heidi{height:46%}
.cg .cg-viz--cutia{background:#f1ebe2}
.cg .cg-viz__cutia{width:100%;height:100%;object-fit:cover;object-position:50% 40%;scale:1.06}

/* biletul-contor: pe telefon e o fâșie lipită sus cât derulezi prin pași (suma și bara), pe desktop stă pe masă, cu lista întreagă.
   v4: la final, suma pieselor se taie și apare prețul cutiei, cu economia dedesubt (aceeași logică vizuală ca biletul din primul ecran). */
.cg .cg-bilet{position:relative;margin:18px 0 0;padding:20px 16px 12px;border-radius:4px;background:#fffdf7;box-shadow:0 1px 2px rgba(35,27,32,.12),0 14px 30px -16px rgba(35,27,32,.45)}
.cg .cg-bilet::before{content:"";position:absolute;left:50%;top:-10px;width:86px;height:20px;transform:translateX(-50%) rotate(-2deg);background:rgba(201,42,72,.5);background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 6px,transparent 6px 12px);border-radius:2px}
.cg .cg-bilet p{margin:0}
.cg .cg-bilet__pentru{display:none;font-size:22px;line-height:1.1;color:var(--rasp)}
.cg .cg-bilet__lista{display:none;list-style:none;margin:0;padding:0}
.cg .cg-bilet__bara{height:4px;margin:0 0 9px;border-radius:2px;background:var(--line);overflow:hidden}
.cg .cg-bilet__bara i{display:block;height:100%;width:calc(var(--p,0) * 100%);background:linear-gradient(90deg,var(--rasp),var(--gold-l));transition:width .6s var(--ease)}
.cg .cg-bilet__suma{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:14px;font-weight:600;color:var(--ink-2)}
.cg .cg-bilet__et{margin-right:auto}
.cg .cg-bilet__nr{display:inline-block;font:800 24px/1 var(--font-display);letter-spacing:-.02em;color:var(--rasp-d);font-variant-numeric:tabular-nums;white-space:nowrap;transform-origin:right center}
.cg .cg-bilet__nr.is-tick{animation:cg-tick .45s var(--ease)}
@keyframes cg-tick{0%{transform:scale(1)}35%{transform:scale(1.1);color:var(--rasp)}100%{transform:scale(1)}}
.cg .cg-bilet__pret{display:none;font:800 27px/1 var(--font-display);letter-spacing:-.02em;color:var(--rasp);white-space:nowrap}
.cg .cg-bilet__eco{display:none;width:fit-content;margin-top:8px!important;padding:3px 10px;border-radius:999px;background:var(--pine-l);color:var(--pine);font-size:13px;font-weight:700;line-height:1.4;white-space:nowrap}
.cg .cg-bilet.is-final .cg-bilet__et{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cg .cg-bilet.is-final .cg-bilet__nr{font-size:17px;font-weight:650;color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1.5px}
.cg .cg-bilet.is-final .cg-bilet__pret{display:inline-block;animation:cg-stampila .55s cubic-bezier(.3,1.6,.5,1) both}
.cg .cg-bilet.is-final .cg-bilet__eco{display:block;animation:cg-eco .45s var(--ease) .25s both}
@keyframes cg-stampila{0%{transform:scale(1.6) rotate(-6deg);opacity:0}100%{transform:none;opacity:1}}
@keyframes cg-eco{0%{opacity:0;translate:0 5px}100%{opacity:1;translate:none}}

/* v4, telefon și tabletă: pașii unul sub altul, legați de un fir punctat (în spațiile dintre carduri); numărul pasului e o medalie pe marginea pozei.
   Fiecare card apare când intră în ecran: doar opacitate și o ridicare mică (translate), deci nimic nu împinge pagina. */
@media (max-width:899px){
  .cg .cg-scena,.cg .cg-masa3{display:contents}
  .cg .cg-bilet{position:sticky;top:calc(var(--hdr-h) + 14px);z-index:6;order:0;display:grid;grid-template-areas:"suma" "jos";row-gap:9px;margin:4px 0 26px;padding:15px 16px 12px;border-radius:12px;box-shadow:0 1px 2px rgba(35,27,32,.12),0 16px 30px -14px rgba(35,27,32,.42)}
  .cg .cg-bilet::before{top:-9px;width:72px;height:17px}
  /* fâșia de deasupra biletului lipit (între antet și bilet) are culoarea paginii, ca textul care urcă să nu se vadă tăiat acolo; umbra lărgită + clip-path o întind pe toată lățimea fără derulare orizontală */
  .cg .cg-bilet::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:100%;height:15px;background:var(--paper);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(0 -100vmax)}
  .cg .cg-bilet__suma{grid-area:suma;flex-wrap:nowrap;align-items:center;min-height:30px}
  /* bara: 6 segmente, unul pentru fiecare pas; la final îi ia locul economia (aceeași celulă, deci biletul nu-și schimbă înălțimea) */
  .cg .cg-bilet__bara{grid-area:jos;align-self:center;height:6px;margin:0;border-radius:0;-webkit-mask:repeating-linear-gradient(90deg,#000 0 calc((100% - (var(--n-pasi,6) - 1) * 5px) / var(--n-pasi,6)),transparent 0 calc((100% - (var(--n-pasi,6) - 1) * 5px) / var(--n-pasi,6) + 5px));mask:repeating-linear-gradient(90deg,#000 0 calc((100% - (var(--n-pasi,6) - 1) * 5px) / var(--n-pasi,6)),transparent 0 calc((100% - (var(--n-pasi,6) - 1) * 5px) / var(--n-pasi,6) + 5px));transition:opacity .3s var(--ease)}
  .cg .cg-bilet__eco{grid-area:jos;align-self:center;display:block;margin:0!important;visibility:hidden}
  .cg .cg-bilet.is-final .cg-bilet__bara{opacity:0}
  .cg .cg-bilet.is-final .cg-bilet__eco{visibility:visible}
  .cg .cg-pasi-cutie__pista::before{content:"";position:absolute;left:36px;top:0;bottom:0;border-left:2px dashed #d9c08e}
  .cg .cg-pas__text{padding:16px 20px 18px}
  .cg .cg-pas__unde{letter-spacing:.08em;font-size:11.5px}
  /* v5: aceeași numerotare ca pe desktop (cifra mare și rigla), sub poză; rigla se umple când apare cardul */
  .cg-js .cg .cg-pas .cg-pas__fir{clip-path:inset(0 100% 0 0);transition:clip-path .9s var(--ease) calc(var(--rand,0) * 140ms + .35s)}
  .cg-js .cg .cg-pas.is-vazut .cg-pas__fir{clip-path:inset(0 0 0 0)}
  .cg-js .cg .cg-pas{opacity:0;translate:0 26px;transition:opacity .7s var(--ease) calc(var(--rand,0) * 140ms),translate .7s var(--ease) calc(var(--rand,0) * 140ms)}
  .cg-js .cg .cg-pas .cg-pas__nr{opacity:0;scale:.55;transition:opacity .3s var(--ease) calc(var(--rand,0) * 140ms + .25s),scale .5s cubic-bezier(.3,1.6,.5,1) calc(var(--rand,0) * 140ms + .25s)}
  .cg-js .cg .cg-pas .cg-valoare{opacity:0;translate:-10px 0;transition:opacity .5s var(--ease) calc(var(--rand,0) * 140ms + .4s),translate .5s var(--ease) calc(var(--rand,0) * 140ms + .4s)}
  .cg-js .cg .cg-pas.is-vazut,.cg-js .cg .cg-pas.is-vazut .cg-pas__nr,.cg-js .cg .cg-pas.is-vazut .cg-valoare{opacity:1;translate:none;scale:none}
}
@media (max-width:899px) and (prefers-reduced-motion:reduce){
  .cg-js .cg .cg-pas,.cg-js .cg .cg-pas .cg-pas__nr,.cg-js .cg .cg-pas .cg-valoare{opacity:1;translate:none;scale:none}
  .cg-js .cg .cg-pas .cg-pas__fir{clip-path:none}
}

@media (min-width:600px) and (max-width:899px){
  .cg .cg-bilet,.cg .cg-pasi-cutie{width:100%;max-width:600px;margin-inline:auto}
}

@media (min-width:900px){
  .cg .cg-ritual{padding:0 0 64px}
  .cg .cg-ritual__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:56px;align-items:start}
  .cg .cg-scena{order:0;position:sticky;top:calc(var(--hdr-h) + 16px);height:calc(100vh - var(--hdr-h) - var(--bara-d) - 32px);display:grid;align-items:center}
  .cg .cg-masa3{width:min(100%,calc((100vh - var(--hdr-h) - var(--bara-d) - 32px) * 1.111));aspect-ratio:1000/900;border-radius:var(--r);overflow:hidden;
    --masa-fundal:var(--cg-masa-desk);--mw:800;--mh:720;
    background:radial-gradient(ellipse 60% 55% at 42% 36%,rgba(255,206,140,.22),transparent 70%),radial-gradient(ellipse 120% 95% at 45% 45%,transparent 52%,rgba(18,8,4,.62) 100%),var(--masa-fundal) 40% 50%/cover,linear-gradient(90deg,#6a442b,#7a5034 30%,#6b462d 55%,#80563a 80%,#6a442c);
    box-shadow:0 30px 60px -34px rgba(35,27,32,.6)}
  .cg .cg-masa3__piese{display:block;position:absolute;inset:0}
  .cg .cg-pasi-cutie{order:0;margin:0}
  .cg .cg-pasi-cutie__pista{display:block;padding:14vh 0 26vh}
  .cg .cg-dece{max-width:440px}
  .cg .cg-pas{min-height:60vh;justify-content:center;border-radius:0;background:none;box-shadow:none;overflow:visible;transition:opacity .5s var(--ease)}
  .cg-js .cg .cg-pas:not(.is-acum){opacity:.36}
  .cg .cg-pas__viz{display:none}
  /* v5: textul fiecărui pas stă într-o etichetă de cadou: hârtie caldă, rama aurie, găurica pentru sfoară; pasul de acum se ridică puțin și i se aprinde rama */
  .cg .cg-pas__text{flex:none;padding:30px 34px 28px;border-radius:24px;background:linear-gradient(180deg,#fffdf9 0%,#fff8ee 100%);box-shadow:0 1px 2px rgba(35,27,32,.06),0 26px 50px -32px rgba(35,27,32,.42);transform-origin:0 50%;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
  .cg .cg-pas__text::before{inset:10px;border-radius:16px;transition:border-color .6s var(--ease)}
  .cg .cg-pas__text::after{right:24px;top:24px}
  .cg-js .cg .cg-pas:not(.is-acum) .cg-pas__text{transform:scale(.97)}
  .cg .cg-pas.is-acum .cg-pas__text{box-shadow:0 0 0 1px rgba(196,160,90,.45),0 2px 4px rgba(35,27,32,.06),0 40px 70px -36px rgba(126,23,48,.5)}
  .cg .cg-pas.is-acum .cg-pas__text::before{border-color:rgba(196,160,90,.62)}
  .cg .cg-pas__text>.cg-pas__ordine{column-gap:18px;margin-bottom:14px;font-size:12.5px}
  .cg .cg-pas__nr{font-size:68px}
  .cg .cg-pas h3{font-size:clamp(30px,2.5vw,38px)}
  .cg .cg-pas__text>p{font-size:17px;max-width:44ch}
  .cg .cg-pas__text>.cg-pas__simte{font-size:28px}
  .cg .cg-pas__jos{margin-top:0}
  .cg .cg-pas.is-acum .cg-valoare{transform:scale(1.04);box-shadow:inset 0 0 0 1.5px var(--gold),0 6px 16px -8px rgba(196,160,90,.7)}

  /* piesele pe masă: poziția de repaus (în % din masă) și unghiul; JS calculează --dx/--dy spre centru */
  .cg .cg-piesa{position:absolute;z-index:var(--z,1);left:calc(var(--l) / var(--mw) * 100%);top:calc(var(--t) / var(--mh) * 100%);width:calc(var(--w) / var(--mw) * 100%);--ux:var(--u,4px);cursor:pointer;transform:translate(var(--tx,0px),var(--ty,0px)) rotate(var(--rr,var(--r,0deg))) scale(var(--ss,1));transition:transform .85s var(--ease),opacity .5s var(--ease),filter .5s var(--ease),translate .4s var(--ease)}
  /* umbrele: ca în primul ecran (de contact + moale, cât grosimea piesei, --u); piesa ridicată aruncă o umbră mai lungă */
  .cg .cg-piesa>img,.cg .cg-piesa .cg-cu-nume{box-shadow:none;filter:drop-shadow(0 .5px .8px rgba(24,10,3,.55)) drop-shadow(calc(var(--ux) * .42) calc(var(--ux) * .62) calc(var(--ux) * 1.15) rgba(24,10,3,.45));transition:filter .6s var(--ease)}
  .cg .cg-piesa .cg-cutie3{box-shadow:0 1px 1.5px rgba(24,10,3,.6),6px 9px 18px rgba(24,10,3,.5);transition:box-shadow .6s var(--ease)}
  .cg .cg-piesa>img{width:100%;border-radius:2px}
  .cg .cg-piesa .cg-cu-nume{background:none}
  .cg .cg-piesa .cg-cu-nume:has(> [data-nume-inainte]){border-radius:2px}   /* v5: scrisoarea are salutul scris live, deci e o .cg-cu-nume; colțurile rămân ale hârtiei */
  .cg .cg-piesa.is-sus{z-index:6;--tx:var(--dx,0px);--ty:var(--dy,0px);--rr:var(--r-sus,0deg);--ss:var(--s-sus,1.04)}
  .cg .cg-piesa.is-sus{--ux:16px}
  .cg .cg-piesa.is-sus .cg-cutie3{box-shadow:0 6px 10px rgba(20,8,4,.3),0 46px 70px -24px rgba(20,8,4,.8)}
  .cg-js .cg .cg-masa3.is-pas .cg-piesa:not(.is-sus){opacity:.45;filter:saturate(.65) brightness(.78)}
  .cg .cg-piesa__et{position:absolute;left:50%;top:-6px;z-index:2;display:flex;align-items:center;gap:6px;padding:5px 10px 5px 9px;border-radius:999px;background:rgba(255,253,249,.96);color:var(--ink);font:650 12.5px/1 var(--font-body);white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.3);opacity:0;transform:translate(-50%,-100%) rotate(calc(-1 * var(--r,0deg)));transition:opacity .25s var(--ease);pointer-events:none}
  .cg .cg-piesa__et::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
  .cg .cg-piesa:hover{translate:0 -8px}
  .cg .cg-piesa:hover .cg-piesa__et{opacity:1}
  .cg .cg-piesa.is-sus:hover{translate:none}
  .cg .cg-piesa.is-sus .cg-piesa__et{opacity:0}

  /* pozițiile sunt în mm, pe piesă (style: --l --t --w --r --s-sus); aici doar ce ține de forma piesei */
  .cg .cg-piesa--capac.is-sus{z-index:7}

  /* cutia deschisă, văzută de sus: rama din capacul real, interiorul alb cu hârtie de mătase */
  .cg .cg-cutie3{position:relative;aspect-ratio:28/21;padding:3.2%;border-radius:2px;background:#c8303f var(--cg-textura-cutie) center/cover}
  .cg .cg-cutie3__in{position:relative;width:100%;height:100%;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f1efeb 100%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06),inset 8px 10px 22px rgba(80,60,50,.32)}
  .cg .cg-matase{position:absolute;inset:-6%;background:linear-gradient(115deg,transparent 0 30%,rgba(255,255,255,.9) 31%,transparent 33% 60%,rgba(220,214,206,.6) 61%,transparent 64%),linear-gradient(60deg,#fbf9f6,#efe9e1 40%,#fbf8f4 60%,#e9e2d8);opacity:.95}
  .cg .cg-cutie3__et{position:absolute;left:37%;top:34%;width:27%;transform:rotate(-6deg);filter:drop-shadow(0 4px 6px rgba(35,27,32,.3))}

  /* micro-momentul 2: piesele „se așază” pe masă când apare prima dată */
  .cg-js .cg .cg-masa3:not(.is-asezata) .cg-piesa{opacity:0}
  .cg .cg-masa3.is-asezata .cg-piesa{animation:cg-aseaza .75s var(--ease) backwards;animation-delay:calc(var(--i,0) * 75ms)}
  @keyframes cg-aseaza{0%{opacity:0;translate:0 -7px;scale:1.025}100%{opacity:1;translate:0 0;scale:1}}

  .cg .cg-bilet{position:absolute;right:2.5%;bottom:3.5%;z-index:4;width:31%;min-width:190px;margin:0;padding:18px 15px 13px;transform:rotate(1.2deg)}   /* v5: puțin mai lat, ca „Cântec personalizat” să încapă pe un rând (de la 1200 px; mai îngust, rândul se poate rupe, ca biletul să nu acopere masa) */
  .cg .cg-bilet__pentru{display:block;margin-bottom:6px!important}
  .cg .cg-bilet__lista{display:block;margin-bottom:10px;font-size:12.5px}
}
@media (min-width:1200px){
  .cg .cg-bilet{min-width:222px}
  .cg .cg-bilet__lista li span{white-space:nowrap}
}
@media (min-width:900px){
  .cg .cg-bilet__lista li{display:flex;align-items:baseline;gap:6px;padding:3px 0;color:var(--ink-3);transition:color .3s}
  .cg .cg-bilet__lista li span{flex:1;display:flex;align-items:baseline;gap:6px;min-width:0}
  .cg .cg-bilet__lista li span::before{content:"";flex:none;width:12px;height:12px;border-radius:3px;box-shadow:inset 0 0 0 1.5px #d2c4b0;transform:translateY(1px)}
  .cg .cg-bilet__lista li b{font-weight:650;white-space:nowrap;opacity:.35;transition:opacity .3s}
  .cg .cg-bilet__lista li.is-gata,.cg .cg-bilet__lista li.is-acum{color:var(--ink)}
  .cg .cg-bilet__lista li.is-gata b,.cg .cg-bilet__lista li.is-acum b{opacity:1}
  .cg .cg-bilet__lista li.is-gata span::before{box-shadow:none;background:var(--pine) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat;animation:cg-bifa .35s var(--ease) both}
  .cg .cg-bilet__lista li.is-acum{color:var(--rasp-d);font-weight:650}
  .cg .cg-bilet__lista li.is-acum span::before{box-shadow:inset 0 0 0 1.5px var(--rasp)}
  .cg .cg-bilet__nr{font-size:22px;transform-origin:right center}
  .cg .cg-bilet.is-final .cg-bilet__nr{font-size:15px}
  .cg .cg-bilet__pret{font-size:24px}
  .cg .cg-bilet__eco{margin-top:6px!important;padding:2px 7px;font-size:12px;letter-spacing:-.01em}
  .cg .cg-bilet.is-final .cg-bilet__bara{display:none}   /* la final lista e toată bifată; locul barei îl ia economia, ca biletul să nu urce peste capacul pus pe cutie */
  .cg .cg-bilet__lista li{padding:2px 0}
}
@keyframes cg-bifa{0%{transform:translateY(1px) scale(0);opacity:0}70%{transform:translateY(1px) scale(1.3)}100%{transform:translateY(1px) scale(1);opacity:1}}

/* ---------- pentru cine e (v4) ----------
 * O bandă caldă de seară (aceeași noapte ca la „Moș Crăciun îl strigă pe nume”), cu marginile de sus și de jos arcuite,
 * ca trecerea de la hârtie să fie moale. Trei fotografii 4:5, cu ramă de hârtie, puse ușor strâmb, ca pozele lăsate pe masă;
 * când apar, se așază (se rotesc puțin). Telefon: rânduri, cu poza alternând stânga/dreapta, fără glisare. */
.cg .cg-cine{--arc:clamp(26px,6vw,72px);position:relative;isolation:isolate;margin-top:16px;padding:calc(60px + var(--arc) * .4) 0 calc(68px + var(--arc) * .4);color:#FFF4E6;background:radial-gradient(70% 42% at 50% 0%,rgba(201,42,72,.36),transparent 72%),radial-gradient(55% 38% at 100% 100%,rgba(239,198,84,.12),transparent 70%),linear-gradient(180deg,var(--night-2),var(--night));border-radius:50% 50% 50% 50% / var(--arc) var(--arc) var(--arc) var(--arc)}
/* 21.10, Adrian: fundalul se mișcă puțin — ninsoare fină care coboară și două lumini calde care plutesc (fără depășiri: doar background-position) */
.cg .cg-cine::before,.cg .cg-cine::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none}
.cg .cg-cine::before{background-image:radial-gradient(1.6px 1.6px at 20px 30px,rgba(255,255,255,.55),transparent 70%),radial-gradient(1.2px 1.2px at 92px 118px,rgba(255,255,255,.4),transparent 70%),radial-gradient(2px 2px at 164px 58px,rgba(255,244,230,.5),transparent 70%),radial-gradient(1.3px 1.3px at 228px 182px,rgba(255,255,255,.35),transparent 70%),radial-gradient(1.8px 1.8px at 58px 222px,rgba(255,255,255,.45),transparent 70%),radial-gradient(1.1px 1.1px at 140px 250px,rgba(255,255,255,.3),transparent 70%);background-size:260px 270px;opacity:.85;animation:cg-cine-ninge 30s linear infinite;-webkit-mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent)}
.cg .cg-cine::after{background:radial-gradient(28% 22% at 30% 35%,rgba(239,198,84,.16),transparent 70%),radial-gradient(26% 22% at 72% 68%,rgba(201,42,72,.24),transparent 70%);background-size:170% 170%;animation:cg-cine-lumini 18s ease-in-out infinite alternate}
@keyframes cg-cine-ninge{to{background-position:46px 270px}}
@keyframes cg-cine-lumini{0%{background-position:0% 10%}100%{background-position:100% 90%}}
.cg .cg-cine .cg-eyebrow{color:var(--gold-l)}
.cg .cg-cine h2{color:#fff}
.cg .cg-cine__lista{display:grid;gap:36px;list-style:none;max-width:560px;margin:0 auto;padding:0}
.cg .cg-cine__lista li{display:grid;grid-template-columns:42% minmax(0,1fr);gap:20px;align-items:center}
.cg .cg-cine__lista li>*{min-width:0}
.cg .cg-cine__lista li:nth-child(even){grid-template-columns:minmax(0,1fr) 42%}
.cg .cg-cine__lista li:nth-child(even) .cg-cine__foto{order:2}
.cg .cg-cine__foto{--rot:-2.5deg;position:relative;margin:0;padding:6px 6px 7px;border-radius:12px;background:#fbf3e6;box-shadow:0 1px 2px rgba(0,0,0,.3),0 24px 40px -20px rgba(0,0,0,.75);rotate:var(--rot);transition:rotate .9s var(--ease),scale .9s var(--ease),translate .5s var(--ease),box-shadow .5s var(--ease)}
.cg .cg-cine__lista li:nth-child(2) .cg-cine__foto{--rot:2deg}
.cg .cg-cine__lista li:nth-child(3) .cg-cine__foto{--rot:-1.5deg}
.cg-js .cg .cg-cine__lista li:not(.is-in) .cg-cine__foto{rotate:0deg;scale:1.04}
.cg .cg-cine__foto img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:8px;background:linear-gradient(160deg,#5a2236,#2f1220)}
.cg .cg-cine__text h3{margin:0 0 8px;font-size:19px;line-height:1.15;color:#fff}
.cg .cg-cine__text p{margin:0;font-size:15px;line-height:1.5;color:#ecd8d2}
@media (min-width:900px){
  .cg .cg-cine{margin-top:32px;padding:calc(100px + var(--arc) * .3) 0 calc(116px + var(--arc) * .3)}
  .cg .cg-cine .cg-cap{margin-bottom:64px}
  .cg .cg-cine__lista{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3.6vw,56px);max-width:1120px}
  .cg .cg-cine__lista li,.cg .cg-cine__lista li:nth-child(even){grid-template-columns:1fr;gap:28px;align-items:start}
  .cg .cg-cine__lista li:nth-child(even) .cg-cine__foto{order:0}
  .cg .cg-cine__lista li:nth-child(2){margin-top:56px}   /* poza din mijloc, puțin mai jos: ca pe masă, nu ca într-un tabel */
  .cg .cg-cine__foto{padding:10px 10px 12px;border-radius:14px}
  .cg .cg-cine__foto img{border-radius:9px}
  .cg .cg-cine__text{padding:0 6px}
  .cg .cg-cine__text h3{font-size:23px}
  .cg .cg-cine__text p{font-size:16.5px}
}
@media (hover:hover){
  .cg .cg-cine__lista li:hover .cg-cine__foto{rotate:0deg;translate:0 -6px;box-shadow:0 1px 2px rgba(0,0,0,.3),0 34px 50px -22px rgba(0,0,0,.85)}
}
@media (prefers-reduced-motion:reduce){
  .cg .cg-cine__lista li:hover .cg-cine__foto{rotate:var(--rot);translate:none}
}

/* ---------- comparația cinstită ---------- */
.cg .cg-comp{padding:48px 0 72px}
.cg .cg-comp__cadru{max-width:820px;margin:0 auto;border-radius:var(--r);background:var(--white);box-shadow:var(--shadow-1);overflow:hidden}
.cg .cg-comp__tabel{width:100%;border-collapse:collapse;font-size:14px;line-height:1.35}
.cg .cg-comp__tabel th,.cg .cg-comp__tabel td{padding:12px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.cg .cg-comp__tabel tr>:first-child{padding-left:14px}
.cg .cg-comp__tabel tr>:last-child{padding-right:14px}
.cg .cg-comp__tabel thead th{padding-top:14px;padding-bottom:10px;font:700 11.5px/1.2 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.cg .cg-comp__tabel thead th.cg-comp__cutie{color:var(--rasp-d)}
.cg .cg-comp__tabel tbody th{width:31%;font-weight:650;color:var(--ink)}
.cg .cg-comp__tabel td{width:31%;color:var(--ink-3)}
.cg .cg-comp__tabel .cg-comp__cutie{width:38%;background:rgba(201,42,72,.045)}
.cg .cg-comp__tabel td.cg-comp__cutie{color:var(--ink);font-weight:600}
.cg .cg-comp__tabel tbody tr:not(.cg-comp__pret) td.cg-comp__cutie::before{content:"✓ ";color:var(--pine);font-weight:800}
.cg .cg-comp__tabel tbody tr:last-child>*{border-bottom:0}
.cg .cg-comp__pret td{font:800 18px/1.1 var(--font-display);letter-spacing:-.02em}
.cg .cg-comp__pret td b{font-size:24px;color:var(--rasp)}
.cg .cg-comp__pret td s{color:var(--ink-3);text-decoration-color:rgba(161,31,58,.7);text-decoration-thickness:2px}
.cg .cg-comp__economie{display:block;margin-top:7px;color:var(--pine);font:600 12.5px/1.3 var(--font-body);letter-spacing:0}
.cg .cg-comp__nu{color:#c4b8aa;font-weight:700}
.cg .cg-comp__nota{max-width:620px;margin:14px auto 0;font-size:13px;line-height:1.5;color:var(--ink-3);text-align:center}
@media (min-width:900px){
  .cg .cg-comp{padding:72px 0 120px}
  .cg .cg-comp__tabel{font-size:16px}
  .cg .cg-comp__tabel th,.cg .cg-comp__tabel td{padding:16px 20px}
  .cg .cg-comp__tabel tr>:first-child{padding-left:28px}
  .cg .cg-comp__tabel tr>:last-child{padding-right:28px}
  .cg .cg-comp__pret td{font-size:22px}
  .cg .cg-comp__pret td b{font-size:30px}
  .cg .cg-comp__economie{font-size:14px}
}

/* ---------- 4. de ce am gândit-o așa: bandă cinematică (v4) ----------
 * Telefon: cadrul întreg sus (nu tăiem nimic din el), care se stinge în seara întunecată; textul stă dedesubt, aliniat la stânga.
 * Desktop: cadrul în dreapta, pe toată înălțimea; textul în stânga, pe marginea paginii, centrat pe verticală.
 * Bucla video (când există) stă peste imagine și sub gradient, deci textul rămâne pe aceeași zonă calmă.
 * v3 avea textul centrat cu margini automate (blocul plutea peste cadru), iar fâșia care acoperă muchia cadrului îl tăia pe verticală. */
.cg .cg-poveste{--txt:100%;position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#160b06}
/* v5: fundalul nu mai e un negru plat lângă cadru. E chiar scena buclei A, foarte estompată și întunecată: lemnul cald jos, lumina lămpii,
 * geamul rece sus. Cadrul se topește în ea printr-o mască (nu printr-o culoare care trebuia potrivită), deci nu mai arată ca o cutie lipită. */
.cg .cg-poveste::before{content:"";position:absolute;inset:-60px;z-index:-2;background:linear-gradient(180deg,rgba(14,9,10,.5),rgba(22,11,6,.15) 45%,rgba(26,12,5,.35)),var(--poveste-amb,none) 50% 62%/cover no-repeat;filter:blur(38px) saturate(1.3) brightness(.62)}
.cg .cg-poveste__img{position:relative;z-index:-1;margin:0;overflow:hidden;aspect-ratio:1200/967;background:#160b06;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 56%,rgba(0,0,0,.55) 78%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 56%,rgba(0,0,0,.55) 78%,transparent 100%)}
.cg .cg-poveste__img img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.cg .cg-poveste__bucla{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s var(--ease)}
.cg .cg-poveste__img.is-bucla .cg-poveste__bucla{opacity:1}
.cg .cg-poveste__img::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(16,8,5,.3) 0%,rgba(16,8,5,0) 20%,rgba(16,8,5,0) 52%,rgba(16,8,5,.35) 100%)}
.cg .cg-poveste__img.is-in img{animation:cg-kenburns 24s ease-out both}
@keyframes cg-kenburns{0%{scale:1.09}100%{scale:1}}
.cg .cg-poveste__text{position:relative;margin-top:-36px;padding-bottom:64px}
.cg .cg-poveste__text .cg-eyebrow{margin:0 0 12px;font-size:12.5px;line-height:1.3}
.cg .cg-poveste h2{max-width:min(17ch,var(--txt));margin-bottom:18px;color:#fff;font-size:clamp(30px,8.4vw,46px);line-height:1.08;letter-spacing:-.03em;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.cg .cg-poveste__text p:not(.cg-eyebrow){max-width:min(40ch,var(--txt));margin-bottom:0;font-size:17px;line-height:1.55;color:#f2e2db}
.cg .cg-poveste__text p.cg-poveste__semnatura{margin-top:16px;font-size:40px;line-height:1.1;color:var(--gold-l)}
@media (max-width:899px){
  .cg .cg-poveste__img img{translate:none;will-change:auto}   /* pe telefon fără paralaxă: cadrul se vede întreg, mișcarea rămâne cea lentă (Ken Burns) */
}
@media (prefers-reduced-motion:reduce){.cg .cg-poveste__bucla{display:none}}   /* la mișcare redusă rămâne imaginea, nemișcată */
@media (min-width:900px){
  /* desktop: cadrul întreg în dreapta (nu-l tăiem), iar fraza stă pe seara întunecată din stânga */
  /* --txt = cât loc are textul: până la începutul cadrului, plus puțin peste umbra lui (max. 520 px) */
  .cg .cg-poveste{--txt:min(520px,calc(100vw - min(58vw,960px) - var(--gut) + 4vw));display:flex;align-items:center;min-height:calc(min(58vw,960px) / 1.241)}
  .cg .cg-poveste__img{position:absolute;top:0;right:0;bottom:0;width:min(58vw,960px);aspect-ratio:auto;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 9%,rgba(0,0,0,.8) 22%,#000 36%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 9%,rgba(0,0,0,.8) 22%,#000 36%)}
  /* v5: fără fâșia care acoperea muchia: cadrul pornește transparent, deci nu mai are muchie */
  .cg .cg-poveste::before{background-position:50% 62%,0 62%;filter:blur(44px) saturate(1.3) brightness(.6)}
  .cg .cg-poveste__img img{top:-40px;height:calc(100% + 80px)}   /* rezerva pentru paralaxă */
  .cg .cg-poveste__img::after{background:linear-gradient(90deg,rgba(16,8,5,.45) 0%,rgba(16,8,5,0) 34%),linear-gradient(180deg,rgba(16,8,5,.32),transparent 18%,transparent 80%,rgba(16,8,5,.4))}
  .cg .cg-poveste__text{width:100%;margin:0;padding-top:clamp(64px,7vw,104px);padding-bottom:clamp(64px,7vw,104px)}
  .cg .cg-poveste__text>*{max-width:var(--txt)}
  .cg .cg-poveste h2{max-width:var(--txt);margin-bottom:22px;font-size:clamp(38px,3.9vw,58px)}
  .cg .cg-poveste__text p:not(.cg-eyebrow){font-size:19px}
  .cg .cg-poveste__text p.cg-poveste__semnatura{margin-top:22px;font-size:54px}
}

/* ---------- 5. cum funcționează: banda de calendar (v4) ----------
 * Filele sunt legate de o panglică: roșie de la „Azi” la pasul următor, trece în verde spre ziua livrării, iar spre termen e punctată
 * (termenul nu urmează livrării, e doar ultima zi). Panglica se „trage” când apare ziua; la mișcare redusă stă întreagă. */
.cg .cg-cum{padding:72px 0 40px}   /* v5: mai puțin aer jos, garanția vine imediat */
.cg .cg-cal{--gol:30px;position:relative;isolation:isolate;display:grid;gap:var(--gol);list-style:none;max-width:560px;margin:0 auto;padding:0}
.cg .cg-cal__zi{position:relative;display:grid;grid-template-columns:84px minmax(0,1fr);gap:20px;align-items:start;align-content:start}   /* align-content: pe desktop, textele încep la aceeași înălțime în toate zilele */
.cg .cg-cal__zi>*{min-width:0}
.cg .cg-cal__zi:not(:last-child)::after{content:"";position:absolute;z-index:-1;left:40.5px;top:50px;bottom:calc(-1 * var(--gol) - 24px);width:3px;border-radius:3px;background:var(--rasp);transform-origin:50% 0;transition:transform 1s var(--ease) .35s}
.cg .cg-cal__zi:nth-child(2)::after{background:linear-gradient(180deg,var(--rasp),var(--pine))}
.cg .cg-cal__zi.cg-cal__zi--livrare::after{background:repeating-linear-gradient(180deg,#cdbfae 0 6px,transparent 6px 12px)}
.cg-js .cg .cg-cal__zi:not(.is-in)::after{transform:scaleY(0)}
.cg .cg-cal__zi:nth-child(2){transition-delay:.08s}
.cg .cg-cal__zi:nth-child(3){transition-delay:.16s}
.cg .cg-cal__zi:nth-child(4){transition-delay:.24s}
/* „Azi”: un punct care pulsează lângă cuvânt, ca „ești aici” */
.cg .cg-cal__zi:first-child .cg-cal__sus::before{content:"";display:inline-block;width:6px;height:6px;margin:0 6px 1px 0;border-radius:50%;background:#fff;vertical-align:middle;animation:cg-azi 2.4s ease-out infinite}
@keyframes cg-azi{0%{box-shadow:0 0 0 0 rgba(255,255,255,.8)}70%,100%{box-shadow:0 0 0 6px rgba(255,255,255,0)}}
.cg .cg-cal__fila{position:relative;display:flex;flex-direction:column;align-items:center;width:84px;padding:0 0 9px;border-radius:12px;background:var(--white);box-shadow:var(--shadow-1);overflow:hidden;text-align:center}
.cg .cg-cal__sus{display:block;width:100%;padding:7px 4px 6px;background:var(--rasp);color:#fff;font:700 10.5px/1.15 var(--font-body);letter-spacing:.1em;text-transform:uppercase;box-shadow:inset 0 -3px 0 rgba(0,0,0,.08)}
.cg .cg-cal__nr{display:block;margin-top:5px;font:800 38px/1 var(--font-display);letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums}
.cg .cg-cal__luna{display:block;margin-top:2px;font-size:12px;font-weight:600;color:var(--ink-2)}
.cg .cg-cal__desen{position:absolute;left:62px;top:-12px;width:34px;height:34px;color:var(--rasp-d);transform:rotate(-8deg);filter:drop-shadow(0 4px 6px rgba(35,27,32,.18))}
.cg .cg-cal__text{padding-top:2px}
.cg .cg-cal__text h3{margin:0 0 8px;font-size:21px;line-height:1.12}
.cg .cg-cal__cand{display:block;margin-bottom:6px;font:700 11.5px/1.2 var(--font-body);letter-spacing:.13em;text-transform:uppercase;color:var(--rasp-d)}
.cg .cg-cal__text p{margin:0;font-size:15.5px;line-height:1.55;color:var(--ink-2)}
.cg .cg-cal__text p b{color:var(--pine)}
.cg .cg-cal__text [data-cal-livr-prima]{white-space:nowrap}   /* v5: „marți, 10 noiembrie” nu se mai rupe */
.cg .cg-cal__zi--livrare .cg-cal__sus{background:var(--pine)}
.cg .cg-cal__zi--livrare .cg-cal__desen{color:var(--pine)}
.cg .cg-cal__zi--livrare .cg-cal__cand{color:var(--pine)}
.cg .cg-cal__zi--termen .cg-cal__fila{background:var(--paper-2);box-shadow:inset 0 0 0 1.5px #dccfbd}
.cg .cg-cal__zi--termen .cg-cal__sus{background:var(--ink-2)}   /* v4: mai închis, ca textul alb să se citească (contrast peste 7:1) */
.cg .cg-cal__zi--termen .cg-cal__cand{color:var(--ink-2)}
.cg .cg-cal.is-inchis .cg-cal__zi--livrare .cg-cal__sus{background:var(--rasp-d)}
/* v5: sub pasul 2, liniștirea (2–3 zile, „te sunăm noi”), ca un bilețel verde lângă text */
.cg .cg-cal__text p.cg-cal__liniste{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:10px 13px 10px 11px;border-radius:12px;background:var(--pine-l);color:var(--pine);font-size:14.5px;line-height:1.45;box-shadow:inset 0 0 0 1px rgba(31,91,74,.12)}
.cg .cg-cal__liniste svg{flex:none;width:18px;height:18px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
/* v5: la ultima zi, de ce e așa devreme: întrebarea în roșu, ca să fie găsită din priviri */
.cg .cg-cal__text p.cg-cal__dece b{display:block;margin-bottom:2px;color:var(--rasp-d);font-weight:700}
.cg .cg-cal__nota{display:flex;align-items:center;justify-content:center;gap:9px;width:fit-content;max-width:100%;margin:32px auto 0;padding:9px 16px;border-radius:999px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line);font-size:14.5px;font-weight:600;line-height:1.35;color:var(--ink-2);text-align:left}
.cg .cg-cal__nota svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--pine);stroke-width:1.6;stroke-linejoin:round}
@media (hover:hover){
  .cg .cg-cal__fila{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
  .cg .cg-cal__zi:hover .cg-cal__fila{transform:translateY(-3px) rotate(-1.5deg);box-shadow:var(--shadow-2)}
}
@media (min-width:900px){
  .cg .cg-cum{padding:120px 0 56px}
  .cg .cg-cum .cg-cap{margin-bottom:56px}
  .cg .cg-cal{--gol:clamp(24px,2.8vw,40px);grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}
  .cg .cg-cal__zi{grid-template-columns:1fr;gap:24px}
  /* panglica merge pe orizontală, prin mijlocul filelor, și intră sub fila următoare */
  .cg .cg-cal__zi:not(:last-child)::after{left:60px;right:calc(-1 * var(--gol) - 24px);top:62px;bottom:auto;width:auto;height:3px;background:var(--rasp);transform-origin:0 50%}
  .cg .cg-cal__zi:nth-child(2)::after{background:linear-gradient(90deg,var(--rasp),var(--pine))}
  .cg .cg-cal__zi.cg-cal__zi--livrare::after{background:repeating-linear-gradient(90deg,#cdbfae 0 7px,transparent 7px 14px)}
  .cg-js .cg .cg-cal__zi:not(.is-in)::after{transform:scaleX(0)}
  .cg .cg-cal__text{max-width:30ch;padding-top:0}
  .cg .cg-cal__fila{width:112px;padding-bottom:12px}
  .cg .cg-cal__sus{font-size:11.5px;padding:9px 4px 8px}
  .cg .cg-cal__nr{margin-top:8px;font-size:54px}
  .cg .cg-cal__luna{font-size:13.5px}
  .cg .cg-cal__desen{left:88px;top:-14px;width:42px;height:42px}
  .cg .cg-cal__text h3{font-size:22px}
}

/* ---------- garanția ---------- */
/* v5: o cartelă zmeurie, ca un certificat cusut, cu sigiliul crem ștampilat pe ea. Mai puțin aer sus și jos (Adrian: „spațiu mare”).
 * Telefon: sigiliul stă pe muchia de sus, textul centrat. Desktop: sigiliul mare în stânga, textul lângă el. Promisiunea e aceeași, cuvânt cu cuvânt. */
.cg .cg-garantie{padding:44px 0 52px}
.cg .cg-garantie__card{position:relative;isolation:isolate;display:grid;justify-items:center;gap:6px;max-width:880px;margin:0 auto;padding:0 22px 28px;border-radius:var(--r);color:#fff;text-align:center;background:radial-gradient(120% 90% at 50% 0%,#c9304f 0%,var(--rasp-d) 48%,var(--rasp-dd) 100%);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 26px 50px -26px rgba(126,23,48,.75)}
.cg .cg-garantie__card>*{min-width:0}
/* cusătura: o linie punctată la 9 px de margine, ca pe un bilet de hârtie groasă */
.cg .cg-garantie__card::before{content:"";position:absolute;inset:9px;z-index:-1;border:1.5px dashed rgba(255,255,255,.3);border-radius:calc(var(--r) - 8px);pointer-events:none}
/* fulgi foarte discreți în colțuri */
.cg .cg-garantie__card::after{content:"";position:absolute;inset:0;z-index:-2;border-radius:inherit;pointer-events:none;opacity:.5;background:radial-gradient(circle at 12% 78%,rgba(255,255,255,.16) 0 1.5px,transparent 2.5px),radial-gradient(circle at 88% 24%,rgba(255,255,255,.18) 0 2px,transparent 3px),radial-gradient(circle at 80% 84%,rgba(255,255,255,.12) 0 1.5px,transparent 2.5px),radial-gradient(circle at 20% 22%,rgba(255,255,255,.14) 0 1px,transparent 2px),radial-gradient(circle at 94% 60%,rgba(255,255,255,.12) 0 1px,transparent 2px)}
.cg .cg-sigiliu{width:104px;height:104px;margin-top:-40px;transform:rotate(-8deg);filter:drop-shadow(0 10px 16px rgba(60,8,22,.45))}
.cg .cg-sigiliu .cg-sigiliu__fond{fill:var(--paper)}
.cg .cg-sigiliu .cg-sigiliu__linie{stroke:var(--rasp)}
.cg .cg-sigiliu .cg-sigiliu__text{fill:var(--rasp-d)}
.cg .cg-sigiliu .cg-sigiliu__inima{fill:var(--rasp)}
.cg .cg-sigiliu__inel{transform-origin:60px 60px;animation:cg-inel 60s linear infinite}
@keyframes cg-inel{to{transform:rotate(360deg)}}
/* ștampila: sigiliul cade pe cartelă puțin după ce apare ea */
.cg-js .cg .cg-garantie__card.cg-reveal:not(.is-in) .cg-sigiliu{opacity:0}
.cg-js .cg .cg-garantie__card.is-in .cg-sigiliu{animation:cg-stampila .7s cubic-bezier(.3,1.5,.5,1) .35s both}
@keyframes cg-stampila{0%{opacity:0;transform:scale(1.7) rotate(-34deg)}55%{opacity:1}100%{opacity:1;transform:scale(1) rotate(-8deg)}}
.cg .cg-garantie__text{max-width:52ch}
.cg .cg-garantie p.cg-garantie__sus{margin:6px 0 0;font-size:25px;line-height:1.1;color:var(--gold-l)}
.cg .cg-garantie h2{margin:2px 0 10px;font-size:clamp(32px,8.6vw,40px);letter-spacing:-.03em;color:#fff}
.cg .cg-garantie p{margin:0;font-size:16px;line-height:1.55;color:#fbe7ea}
.cg .cg-garantie a{color:#fff;font-weight:650;text-decoration-color:var(--gold-l);text-decoration-thickness:2px}
.cg .cg-garantie a:hover{color:var(--gold-l)}
.cg .cg-garantie a:focus-visible{outline-color:#fff}
@media (hover:hover){.cg .cg-sigiliu{transition:rotate .9s var(--ease)}.cg .cg-garantie__card:hover .cg-sigiliu{rotate:18deg}}   /* „rotate”, nu „transform”: nu repornește ștampila */
@media (min-width:900px){
  .cg .cg-garantie{padding:24px 0 72px}
  .cg .cg-garantie__card{grid-template-columns:150px minmax(0,1fr);justify-items:start;align-items:center;gap:40px;padding:34px 52px 34px 40px;text-align:left;background:radial-gradient(90% 140% at 0% 50%,#c9304f 0%,var(--rasp-d) 45%,var(--rasp-dd) 100%)}
  .cg .cg-sigiliu{width:150px;height:150px;margin:0}
  .cg .cg-garantie p.cg-garantie__sus{margin:0;font-size:30px}
  .cg .cg-garantie h2{font-size:44px;margin-bottom:10px}
  .cg .cg-garantie p{font-size:17.5px}
}

/* ---------- 7. banda de final: videoul cutiei care se deschide ---------- */
.cg .cg-final{position:relative;overflow:hidden;background:#e8ded5;color:var(--ink)}
.cg .cg-final__video{position:relative;aspect-ratio:1/.92;background:#e8ded5}
.cg .cg-final__video .cg-clip__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cg .cg-final__video::after{content:"";position:absolute;inset:auto 0 -2px;height:30%;background:linear-gradient(180deg,rgba(232,222,213,0),#e8ded5)}
.cg .cg-final__text{position:relative;margin-top:-56px;padding-bottom:60px}
.cg .cg-final__sus{margin:0 0 2px;font-size:26px;line-height:1.2;color:var(--rasp)}
/* v5: scrisoarea copilului („Dragă Moș Crăciun…”) și, mare, răspunsul. Titlul apare rând cu rând; „răspunde.” e scris de mână, în zmeuriu,
 * cu o subliniere aurie dublă care se trage singură după ce apare titlul. La mișcare redusă (sau fără JS) totul e pe loc. */
.cg .cg-final h2.cg-final__titlu{margin:0 0 16px;font-size:clamp(40px,11.4vw,58px);line-height:1.02;letter-spacing:-.04em}
.cg .cg-final__r{display:block}
/* telefon (Adrian, 21.10): titlul pe 2 rânduri — „Anul acesta, Moș Crăciun” mai mic, „îi răspunde.” mare */
@media (max-width:899px){
  .cg .cg-final__r:nth-child(-n+2){display:inline-block;font-size:.56em;letter-spacing:-.02em;white-space:nowrap}
  .cg .cg-final__r:nth-child(1){white-space:nowrap}
  .cg .cg-final__r:nth-child(3){margin-top:.06em}
}
.cg .cg-final__raspunde{position:relative;display:inline-block;white-space:nowrap}
.cg .cg-final__raspunde .cg-scris{display:inline-block;padding:0 .08em 0 .02em;font-size:1.24em;line-height:.9;letter-spacing:0;color:var(--rasp);transform:rotate(-3deg);transform-origin:0 70%}
.cg .cg-final__sub{position:absolute;left:4%;bottom:-.3em;width:96%;height:auto;overflow:visible;fill:none;stroke:var(--gold);stroke-width:3.4;stroke-linecap:round;pointer-events:none}
.cg .cg-final__sub path+path{stroke-width:2.4;opacity:.75}
.cg-js .cg .cg-final__titlu.cg-reveal{opacity:1;translate:none}
.cg-js .cg .cg-final__titlu .cg-final__r{opacity:0;translate:0 .32em;transition:opacity .9s var(--ease),translate .9s var(--ease)}
.cg-js .cg .cg-final__titlu .cg-final__r:nth-child(2){transition-delay:.14s}
.cg-js .cg .cg-final__titlu .cg-final__r:nth-child(3){transition-delay:.28s}
.cg-js .cg .cg-final__titlu.is-in .cg-final__r{opacity:1;translate:none}
.cg-js .cg .cg-final__titlu .cg-final__sub path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .8s var(--ease) 1s}
.cg-js .cg .cg-final__titlu .cg-final__sub path+path{transition-delay:1.3s}
.cg-js .cg .cg-final__titlu.is-in .cg-final__sub path{stroke-dashoffset:0}
.cg .cg-final__lead{max-width:32ch;margin:0 0 22px;font-size:18px;line-height:1.5;color:var(--ink-2)}
/* v4: prețul tăiat (suma pieselor), apoi prețul cutiei; dedesubt, economia, ca o etichetă verde */
.cg .cg-final__pret{margin:2px 0 24px}
.cg .cg-final__pret p{margin:0}
.cg .cg-final__pret-rand{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 16px}
.cg .cg-final__pret-vechi{position:relative;font:700 23px/1 var(--font-display);letter-spacing:-.02em;color:var(--ink-2);text-decoration:none}
.cg .cg-final__pret-vechi::after{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:2.5px;border-radius:2px;background:var(--rasp);transform:rotate(-9deg)}   /* tăietura, trasă ca de mână */
.cg .cg-final__pret-nou{font:800 46px/1 var(--font-display);letter-spacing:-.035em;color:var(--ink)}
.cg .cg-final__economie{margin-top:12px!important}
.cg .cg-final__economie>span{display:inline-block;padding:5px 13px;border-radius:999px;background:var(--pine-l);color:var(--pine);font-size:14.5px;font-weight:600;line-height:1.35;box-shadow:inset 0 0 0 1px rgba(31,91,74,.14)}
.cg .cg-final__economie b{font-weight:800}
/* butonul: un halou cald care respiră în spatele lui și o strălucire care trece rar peste el; la mișcare redusă, haloul stă pe loc */
.cg .cg-final__text .cg-final__cta{position:relative;isolation:isolate;max-width:420px}
.cg .cg-final__cta::before{content:"";position:absolute;z-index:-1;inset:-20px -26px;border-radius:999px;background:radial-gradient(closest-side,rgba(239,198,84,.6),rgba(232,128,96,.3) 58%,rgba(232,222,213,0) 100%);filter:blur(8px);opacity:.7;will-change:transform,opacity;animation:cg-halou 3.8s ease-in-out infinite}
@keyframes cg-halou{0%,100%{opacity:.5;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}
.cg .cg-final .cg-btn{max-width:420px}
.cg .cg-final__btn{background:linear-gradient(180deg,#d63a5a 0%,var(--rasp) 50%,var(--rasp-d) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -2px 0 rgba(0,0,0,.12),0 14px 30px -14px rgba(126,23,48,.8)}
.cg .cg-final__btn:hover{background:linear-gradient(180deg,#c93250 0%,var(--rasp-d) 100%)}
.cg .cg-final__btn.is-gata{background:var(--pine)}
.cg .cg-final__btn::after{animation:cg-luciu 6.5s var(--ease) 2s infinite}
@keyframes cg-luciu{0%,72%{transform:translateX(-120%)}92%,100%{transform:translateX(120%)}}
@media (prefers-reduced-motion:reduce){.cg .cg-final__cta::before{animation:none;opacity:.75;transform:none}.cg .cg-final__btn::after{animation:none}}
.cg .cg-final__mic{margin:14px 0 0;font-size:14px;color:var(--ink-2)}
@media (min-width:900px){
  .cg .cg-final{display:flex;align-items:center;min-height:min(86vh,800px)}
  /* videoul (pătrat, cutia în centru) stă în dreapta, pe toată înălțimea; fondul secțiunii are culoarea fundalului din video */
  .cg .cg-final__video{position:absolute;top:0;right:0;bottom:0;width:min(56%,860px);aspect-ratio:auto}
  .cg .cg-final__video::after{inset:0;height:auto;background:linear-gradient(90deg,#e8ded5 0%,rgba(232,222,213,0) 22%),linear-gradient(180deg,rgba(232,222,213,.6),rgba(232,222,213,0) 14%,rgba(232,222,213,0) 86%,rgba(232,222,213,.6))}
  .cg .cg-final__text{width:100%;margin:0;padding-top:96px;padding-bottom:96px}
  .cg .cg-final__text>*{max-width:560px}
  .cg .cg-final__sus{font-size:32px}
  .cg .cg-final h2.cg-final__titlu{font-size:clamp(56px,5vw,76px);margin-bottom:22px}
  .cg .cg-final__lead{font-size:19.5px;margin-bottom:26px}
  .cg .cg-final__pret-nou{font-size:54px}
  .cg .cg-final__pret-vechi{font-size:26px}
}

/* ---------- bara fixă (telefon: jos; desktop: subțire, sub antet) ---------- */
.cg .cg-bara{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom));background:rgba(255,253,249,.97);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -1px 0 var(--line),0 -14px 30px -18px rgba(35,27,32,.35);transform:translateY(110%);visibility:hidden;transition:transform .35s var(--ease),visibility 0s linear .35s}
.cg .cg-bara.is-on{transform:none;visibility:visible;transition:transform .35s var(--ease)}
.cg .cg-bara__in{display:flex;align-items:center;gap:12px}
.cg .cg-bara__text{flex:1;min-width:0}
.cg .cg-bara__text p{margin:0;line-height:1.2}
.cg .cg-bara__nume{font-size:12px;font-weight:600;color:var(--ink-2);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}   /* v4: pe telefon titlul încape pe două rânduri, nu se mai taie în „îți răs…” */
.cg .cg-bara__scris{font-size:17px;line-height:1;color:var(--rasp)}
.cg .cg-bara__pret{white-space:nowrap}
.cg .cg-bara__pret b{font:800 18px/1.1 var(--font-display)}
.cg .cg-bara__vechi{font:600 12.5px/1.1 var(--font-display);color:var(--ink-3);text-decoration-color:rgba(161,31,58,.7);text-decoration-thickness:1.5px}   /* v4: prețul tăiat, ca pe bilet */.cg .cg-bara__titlu{display:none}
.cg .cg-bara [hidden]{display:none!important}   /* .cg-bara__titlu e „inline” pe desktop: fără asta, titlul apărea de două ori */
.cg .cg-bara .cg-btn{flex:none;min-height:48px;padding:0 16px;font-size:16px;border-radius:13px}
@media (max-width:389px){.cg .cg-bara .cg-btn{padding:0 13px;font-size:15px}.cg .cg-bara__in{gap:10px}}   /* v4: pe telefoanele înguste încap și prețul tăiat, și butonul */
/* micro-momentul 4: capacul se pune pe cutie când comanzi */
.cg .cg-mini-cutie{position:relative;flex:none;width:44px;height:33px;margin:6px 6px 0 0}
.cg .cg-mini-cutie img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:3px}
.cg .cg-mini-cutie__baza{box-shadow:0 3px 8px -2px rgba(35,27,32,.45)}
.cg .cg-mini-cutie__capac{box-shadow:0 5px 10px -3px rgba(35,27,32,.55);transform:translate(30%,-34%) rotate(15deg);transition:transform .6s cubic-bezier(.3,1.45,.5,1)}
.cg .cg-mini-cutie.is-inchisa .cg-mini-cutie__capac{transform:none}
@media (min-width:900px){
  .cg .cg-bara{padding:10px max(var(--gut),calc((100% - var(--wrap)) / 2)) calc(10px + env(safe-area-inset-bottom))}   /* 21.10, Adrian: jos și pe desktop, ca pe telefon */
  .cg .cg-bara__in{min-height:42px}
  .cg .cg-bara__text{display:flex;align-items:baseline;gap:12px}
  .cg .cg-bara__nume{font-size:14px;display:block;white-space:nowrap;text-overflow:ellipsis}
  .cg .cg-bara__scris{font-size:22px}
  .cg .cg-bara__pret{white-space:nowrap}
  .cg .cg-bara__pret b{font-size:19px}
  .cg .cg-bara__vechi{font-size:15px;margin-right:2px}
  .cg .cg-bara__titlu{display:inline;font:500 14px/1 var(--font-body);color:var(--ink-2)}
  .cg .cg-bara .cg-btn{min-height:42px;font-size:15px}
  .cg .cg-mini-cutie{width:44px;height:33px;margin-top:2px}
}

/* ---------- mișcare redusă: tot ce e v3 stă pe loc ---------- */
@media (prefers-reduced-motion:reduce){
  .cg-js .cg .cg-masa3:not(.is-asezata) .cg-piesa{opacity:1}
  .cg .cg-piesa:hover{translate:none}
  .cg .cg-poveste__img img{scale:none}
  .cg .cg-mini-cutie__capac{transform:none}
}

/* =================== integrarea cu tema (lucrarea B, 21.10.2026) =================== */
/* conținutul pe toată lățimea: fără învelișul .wrap.sec al paginilor WooCommerce; .wrap al prototipului nu are max-width */
body.cutie-gata-landing{background:#FBF6EE}
body.cutie-gata-landing main.shop{max-width:none;padding:0}
.cg .wrap{max-width:none}

/* bara de sus a temei (hooo/antet/bara): livrarea în stânga și ultima zi de comandă în dreapta, de la 900 px */
body.cutie-gata-landing .announcement--cutie-gata{justify-content:space-between;gap:16px}
body.cutie-gata-landing .announcement--cutie-gata .announcement__dr{color:#FFE2A8}
@media (max-width:899px){
  body.cutie-gata-landing .announcement--cutie-gata{justify-content:center}
  body.cutie-gata-landing .announcement--cutie-gata .announcement__dr{display:none}
}

/* notificările WooCommerce (erorile formularului, confirmarea adăugării), deasupra primului ecran */
body.cutie-gata-landing .woocommerce-notices-wrapper:not(:empty){padding:14px max(20px,calc((100% - 1260px) / 2)) 2px;background:#FBF6EE}
body.cutie-gata-landing .woocommerce-notices-wrapper .woocommerce-message,body.cutie-gata-landing .woocommerce-notices-wrapper .woocommerce-error,body.cutie-gata-landing .woocommerce-notices-wrapper .woocommerce-info{margin:0 0 12px;font-size:15px;line-height:1.45}

/* formularul adevărat al modulului (hooo_cutii_formular_rapid_html, planul 1.5), în bilet, ca rândul „Pentru cine e?” din prototip:
   eticheta și câmpul pe un rând alb, apoi butonul. Învelișurile (p, div) se topesc în grilă; ::before e rândul, ::after creionul.
   Scriptul pune pe buton și clasele .cg-btn (pictograma, starea „Se adaugă…”); fără script, butonul arată la fel, fără pictogramă. */
.cg .cg-tichet__form{margin-bottom:0}
.cg .cg-tichet__form form{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;margin:0}
.cg .cg-tichet__form form>p,.cg .cg-tichet__form form>div,.cg .cg-tichet__form form>span{display:contents}
.cg .cg-tichet__form form::before{content:"";grid-column:1/-1;grid-row:1;align-self:stretch;min-height:52px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1.5px #e3d5c2;transition:box-shadow .2s;pointer-events:none}
.cg .cg-tichet__form form:focus-within::before{box-shadow:inset 0 0 0 2px var(--rasp),0 0 0 4px var(--rasp-soft)}
.cg .cg-tichet__form form::after{content:"";grid-column:2;grid-row:1;justify-self:end;width:20px;height:20px;margin-right:14px;background:var(--rasp);pointer-events:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20l1-4L16.5 4.5a2.1 2.1 0 0 1 3 3L8 19l-4 1z' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20l1-4L16.5 4.5a2.1 2.1 0 0 1 3 3L8 19l-4 1z' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.cg .cg-tichet__form label{grid-column:1;grid-row:1;position:relative;z-index:1;margin:0;padding-left:14px;font-size:14px;font-weight:600;line-height:1.2;color:var(--ink-3);white-space:nowrap}
.cg .cg-tichet__form input[type=text],.cg .cg-tichet__form input:not([type]){grid-column:2;grid-row:1;position:relative;z-index:1;width:100%;min-width:0;height:48px;min-height:0;margin:0;padding:0 42px 0 0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--rasp);font:600 24px/1 var(--scris);outline:0}
.cg .cg-tichet__form input[type=text]:focus,.cg .cg-tichet__form input:not([type]):focus{border:0;box-shadow:none}
.cg .cg-tichet__form input::placeholder{color:#b9a9a4;font-size:21px}
.cg .cg-tichet__form .quantity,.cg .cg-tichet__form .hooo-mai-tarziu{display:none}
.cg .cg-tichet__form button[type=submit]{grid-column:1/-1;grid-row:2;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:58px;margin:10px 0 0;padding:0 24px;border:0;border-radius:16px;background:var(--rasp);color:#fff;font:650 18px/1.1 var(--font-body);text-decoration:none;cursor:pointer;float:none;box-shadow:0 10px 24px -10px rgba(201,42,72,.7)}
.cg .cg-tichet__form button[type=submit]:hover{background:var(--rasp-d);color:#fff}
.cg .cg-tichet__form button[type=submit][disabled],.cg [data-cumpara][disabled]{opacity:.55;cursor:not-allowed;animation:none}
.cg .cg-tichet__form button[type=submit].is-gata{background:var(--pine)}
.cg .cg-sub-btn--motiv{color:var(--rasp-d);font-weight:600}

/* ce e nou față de prototip (planul 1.7): vânzătorul sub garanția scurtă, rândul complet în secțiunea garanției, nota codului */
.cg .cg-tichet__vanzator{margin:8px 0 0!important;padding-left:26px;font-size:12px;line-height:1.35;color:var(--ink-3)}
.cg .cg-garantie p.cg-garantie__vanzator{margin-top:12px;font-size:13px;line-height:1.45;color:rgba(251,231,234,.82)}
.cg .cg-pret__cod{margin:2px 0 0;font-size:13.5px;line-height:1.4;color:var(--pine)}
.cg .cg-bilet--fara-taiat.is-final .cg-bilet__nr{display:none}

/* informațiile alimentelor (planul 1.9): închise implicit, ca un acordeon */
.cg .cg-aliment{padding:0 0 56px;background:var(--paper-2)}
.cg .cg-aliment__det{max-width:880px;margin:0 auto;border-radius:18px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line)}
.cg .cg-aliment__det summary{display:flex;align-items:center;min-height:64px;padding:14px 20px;cursor:pointer;list-style:none}
.cg .cg-aliment__det summary::-webkit-details-marker{display:none}
.cg .cg-aliment__det summary h2{margin:0;font-size:19px;letter-spacing:-.01em}
.cg .cg-aliment__lista{display:grid;gap:14px;margin:0;padding:0 20px 20px;list-style:none}
.cg .cg-aliment__lista h3{margin:0 0 6px;font-size:17px}
.cg .cg-aliment__lista h3 span{font:500 14px/1 var(--font-body);color:var(--ink-3)}
.cg .cg-aliment__lista p{margin:0 0 4px;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.cg .cg-aliment__lista strong,.cg .cg-aliment__lista b{color:var(--ink)}

/* nota europeană a garanției legale (inc/garantie.php, hooo_garantie_bloc), sub banda de final */
.cg .cg-legal{padding:8px 0 56px;background:var(--paper)}
.cg .cg-legal .garantie{margin:0 auto;max-width:780px}
.cg .cg-legal .garantie h2{font-size:28px;font-weight:700;margin-bottom:8px}
.cg .cg-legal .garantie p{margin:0 0 1em;color:var(--ink-2)}

/* subsolul temei: loc pentru bara fixă de jos */
body.cutie-gata-landing .site-footer{padding-bottom:96px}
@media (min-width:900px){body.cutie-gata-landing .site-footer{padding-bottom:84px}}

/* 22.10.2026, Adrian (pagina cutiei, „povestea” pe pași): piesa ridicată în față stătea pe z-index 6, iar piesele estompate cu --z mai
   mare (până la 12 pe mesele pașilor) rămâneau, pe jumătate transparente, peste ea. Piesa ridicată stă acum deasupra tuturor */
@media (min-width:900px){
  .cg .cg-masa3 .cg-piesa.is-sus{z-index:60}
  .cg .cg-masa3 .cg-piesa--capac.is-sus{z-index:61}
}
.cg .cg-masa3 .cg-piesa.is-sus{z-index:60}
.cg .cg-masa3 .cg-piesa--capac.is-sus{z-index:61}

/* 22.10.2026, Adrian (cutiile fără videoclipul mesajului, de ex. „Noi doi”): fără video, piesele luau coloana mare, de 1.62fr, și
   ieșeau uriașe, cu dreapta goală. Fără video, piesele stau pe un rând, la mărimea lor, iar ascultarea cântecului lângă ele */
@media (min-width:900px){
  .cg .cg-mesaj__grid:not(:has(.cg-mesaj__video)) .cg-mesaj__piese{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:56px 44px}
  .cg .cg-mesaj__grid:not(:has(.cg-mesaj__video)) .cg-mesaj__piese>figure,.cg .cg-mesaj__grid:not(:has(.cg-mesaj__video)) .cg-mesaj__piese>.cg-mesaj__scrisoare{flex:0 0 min(270px,22vw)}
  .cg .cg-mesaj__grid:not(:has(.cg-mesaj__video)) .cg-mesaj__colind{flex:1 1 340px;max-width:520px;align-self:center}
}

/* 23.10.2026, Adrian („nu mă lasă să scriu aici”): la cutiile de cuplu formularul nu are câmp de nume (detaliile se completează după
   plată), dar caseta albă cu creionul se desena oricum, din ::before/::after; fără câmp, nu mai apare, iar butonul urcă pe primul rând */
.cg .cg-tichet__form form:not(:has(input[type=text],input:not([type])))::before,
.cg .cg-tichet__form form:not(:has(input[type=text],input:not([type])))::after{display:none}
.cg .cg-tichet__form form:not(:has(input[type=text],input:not([type]))) button[type=submit]{grid-row:1;margin-top:0}

/* 23.10.2026, Adrian (cutiile de cuplu, „Noi doi”): în tichet, „Pentru [Ioana] și [Andrei]”, cu creionul, pe același rând alb ca
   „Pentru cine e?”. Formularul are clasa cg-form--cuplu (template-parts/cutie-gata/erou.php) și două câmpuri scurte, fiecare cu linia
   lui punctată, ca un loc de completat. Când caseta e mai îngustă de 320 px (telefoanele mici), numele stau unul sub altul:
   „Pentru Ioana” / „și Andrei”. Un nume lung se micșorează în câmp (--kc, assets/cutie-gata.js),
   iar dacă nici așa nu încap pe un rând, trec unul sub altul (.is-doua-randuri) */
.cg .cg-tichet__form:has(.cg-form--cuplu){container-type:inline-size}
.cg .cg-tichet__form form.cg-form--cuplu{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) 34px;column-gap:6px}
.cg .cg-tichet__form form.cg-form--cuplu::after{grid-column:5;justify-self:end}
.cg .cg-tichet__form form.cg-form--cuplu label.cg-cuplu-et{grid-column:1}
.cg .cg-tichet__form form.cg-form--cuplu label.cg-cuplu-si{grid-column:3;padding-left:0}
.cg .cg-tichet__form form.cg-form--cuplu input[data-nume-cuplu]{grid-column:2;height:48px;padding:0 2px;font-size:calc(24px * var(--kc,1));
  background-image:linear-gradient(to right,#d9c7b0 55%,transparent 0);background-size:7px 1.5px;background-repeat:repeat-x;background-position:0 calc(100% - 9px)}
.cg .cg-tichet__form form.cg-form--cuplu input[data-nume-cuplu="2"]{grid-column:4}
.cg .cg-tichet__form form.cg-form--cuplu input[data-nume-cuplu]:focus{background-image:linear-gradient(var(--rasp),var(--rasp));background-size:100% 2px}
.cg .cg-tichet__form form.cg-form--cuplu input[data-nume-cuplu]::placeholder{font-size:21px}
@container (max-width:319px){
  .cg .cg-tichet__form form.cg-form--cuplu{grid-template-columns:auto minmax(0,1fr) 34px;row-gap:0}
  .cg .cg-tichet__form form.cg-form--cuplu::before{grid-row:1/span 2}
  .cg .cg-tichet__form form.cg-form--cuplu::after{grid-column:3;grid-row:1/span 2;align-self:center}
  .cg .cg-tichet__form form.cg-form--cuplu label.cg-cuplu-et{grid-row:1;justify-self:end}
  .cg .cg-tichet__form form.cg-form--cuplu label.cg-cuplu-si{grid-column:1;grid-row:2;justify-self:end}
  .cg .cg-tichet__form form.cg-form--cuplu input[data-nume-cuplu]{grid-column:2;grid-row:1;height:44px}
  .cg .cg-tichet__form form.cg-form--cuplu input[data-nume-cuplu="2"]{grid-row:2}
  .cg .cg-tichet__form form.cg-form--cuplu button[type=submit]{grid-row:3}
}
/* aceleași reguli când numele scrise nu încap pe un rând, nici micșorate (clasa o pune scriptul) */
.cg .cg-tichet__form form.cg-form--cuplu.is-doua-randuri{grid-template-columns:auto minmax(0,1fr) 34px;row-gap:0}
.cg .cg-tichet__form form.cg-form--cuplu.is-doua-randuri::before{grid-row:1/span 2}
.cg .cg-tichet__form form.cg-form--cuplu.is-doua-randuri::after{grid-column:3;grid-row:1/span 2;align-self:center}
.cg .cg-tichet__form form.cg-form--cuplu.is-doua-randuri label.cg-cuplu-et{grid-row:1;justify-self:end}
.cg .cg-tichet__form form.cg-form--cuplu.is-doua-randuri label.cg-cuplu-si{grid-column:1;grid-row:2;justify-self:end}
.cg .cg-tichet__form form.cg-form--cuplu.is-doua-randuri input[data-nume-cuplu]{grid-column:2;grid-row:1;height:44px}
.cg .cg-tichet__form form.cg-form--cuplu.is-doua-randuri input[data-nume-cuplu="2"]{grid-row:2}
.cg .cg-tichet__form form.cg-form--cuplu.is-doua-randuri button[type=submit]{grid-row:3}

/* ---------- 24.10.2026, Adrian: „la cutii, titlul mai mic, ocupă mult spațiu, la fel și prețul; timerul aliniat la stânga.
   Scoate de sub «Comandă cadoul» plata sigură, garanția hooo și «vândut de», și textul «O scrisoare doar pentru…»” ---------- */
.cg .cg-promisiune,.cg .cg-tichet__asig,.cg .cg-tichet__vanzator{display:none!important}
@media (max-width:899.98px){
  .cg .cg-tichet h1.cg-titlu{margin-bottom:10px}
  .cg .cg-titlu__mos{font-size:clamp(26px,7.4vw,32px)}
  .cg .cg-titlu__rasp{font-size:clamp(28px,8vw,34px)}
  .cg .cg-pret{gap:6px;margin-bottom:10px}
  .cg .cg-pret__vechi{font-size:16px}
  .cg .cg-pret__acum{font-size:28px}
  .cg .cg-pret__economie{font-size:12.5px;padding:3px 10px 3px 8px}
  .cg .hooo-tl--ceas,.cg .hooo-tl--ceas .hooo-tl__cap{justify-content:flex-start;text-align:left}
}

/* ---------- 24.10.2026, Adrian: al doilea câmp pentru nume (secțiunea „Moș Crăciun îi spune pe nume”), „exact cum ai pus sus”:
   un singur rând alb, „Pentru cine e?” în stânga, numele scris de mână, creionul în dreapta; mai puțin spațiu deasupra și dedesubt ---------- */
.cg .cg-camp--mic{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;max-width:460px;min-height:52px;margin:4px 0 0;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1.5px #e3d5c2;transition:box-shadow .2s}
.cg .cg-camp--mic:focus-within{box-shadow:inset 0 0 0 2px var(--rasp),0 0 0 4px var(--rasp-soft)}
.cg .cg-camp--mic label{grid-column:1;margin:0;padding-left:14px;font:600 14px/1.2 var(--font-body);color:var(--ink-3);white-space:nowrap}
.cg .cg-camp--mic .cg-camp__rand{grid-column:2;position:static;display:flex;align-items:center;min-width:0}
.cg .cg-camp--mic .cg-camp__rand svg{left:auto;right:14px;width:20px;height:20px}
.cg .cg-camp--mic input{width:100%;min-width:0;height:48px;min-height:0;margin:0;padding:0 42px 0 0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--rasp);font:600 24px/1 var(--scris);outline:0}
.cg .cg-camp--mic input:focus{border:0;box-shadow:none}
.cg .cg-camp--mic input::placeholder{color:#b9a9a4;font-weight:600;font-size:21px}
@media (max-width:899.98px){
  .cg .cg-mesaj{padding:36px 0 22px}
  .cg .cg-mesaj__piese>.cg-camp--mic{margin-top:-36px} /* grila pieselor are 58 px între rânduri: câmpul stă la ~22 px sub cântec */
  .cg .cg-mesaj+.cg-ritual .cg-ritual__cap{padding-top:8px}
}
