/* Pagina de categorie (inc/categorie.php, template-parts/categorie/), portată din prototipul aprobat tmp/home-v2/categorie/categorie.css
 * (22.10.2026). Scopată sub .ct: fără antetul și subsolul prototipului (sunt ale temei), fără :root (tokenurile stau pe .ct), fără
 * @font-face dublate pentru Bricolage și Instrument (assets/fonts/fonts.css). Fundalul mesei vine de pe .ct (--ct-fundal-tel,
 * --ct-fundal-desk, --ct-fundal-c), din lp/colectii/<cheie>.json. Prefixul ct- = „categorie”. Mobil întâi: 375 → 600 → 900 → 1024
 * (coloana de filtre) → 1200. Foaia de jos de pe telefon așteaptă scriptul (html.ct-js); fără el, filtrele stau în pagină, ca linkuri. */

/* literele numelui scris pe piese: „hooo Scris” (Dancing Script 600, SIL OFL), PT Serif Bold Italic (magneții), Fraunces (cutia puzzle-ului) */
@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")}
@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")}
@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 (aceleași ca pagina cutiei) ---------- */
.ct{
  --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; --line-2:#cfc3b2;
  --night:#2A111C; --night-2:#45182A; --lumina:#FFF4E6;
  --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;
  --serif:"Fraunces Carte Titlu","PT Serif",Georgia,serif;
  --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);
  --umbra-masa:drop-shadow(0 .6px .8px rgba(24,10,3,.55)) drop-shadow(5px 9px 12px rgba(24,10,3,.42));
  --ease:cubic-bezier(.2,.8,.2,1);
  --wrap:1260px; --gut:16px; --side:264px;
  --ct-hdr:var(--hdr-h,64px);
}
@media (min-width:600px){.ct{--gut:24px}}
@media (min-width:900px){.ct{--gut:40px}}

/* ---------- bază ---------- */
html:has(body.hooo-categorie){-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr-h,64px) + 72px)}
body.hooo-categorie{background:#FBF6EE;overflow-x:clip}
.ct{display:block;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:clip}
.ct *,.ct *::before,.ct *::after{box-sizing:border-box}
.ct img,.ct video{max-width:100%;height:auto;display:block}
.ct button,.ct input,.ct select{font:inherit;color:inherit}
.ct a{color:var(--rasp-d);text-underline-offset:.18em}
.ct h1,.ct h2,.ct h3,.ct h4{font-family:var(--font-display);line-height:1.06;letter-spacing:-.025em;margin:0 0 .45em;text-wrap:balance;color:inherit}
.ct p{margin:0 0 1em}
.ct ul{margin:0;padding:0;list-style:none}
.ct :focus-visible{outline:3px solid var(--rasp);outline-offset:3px;border-radius:6px}
.ct-wrap{margin:0 auto;padding:0 max(var(--gut),calc((100% - var(--wrap)) / 2))}
.ct .sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ct .ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ct .scris{font-family:var(--scris);font-weight:600;letter-spacing:0}
.ct [hidden]{display:none!important}
.ct-sprite{position:absolute;width:0;height:0;overflow:hidden}

/* ---------- butoane ---------- */
.ct-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border:0;border-radius:14px;background:var(--rasp);color:#fff!important;font:650 16.5px/1.1 var(--font-body);text-decoration:none;cursor:pointer;overflow:hidden;transition:background .2s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);box-shadow:0 10px 24px -10px rgba(201,42,72,.7)}
.ct-btn:hover{background:var(--rasp-d);transform:translateY(-1px)}
.ct-btn:active{transform:translateY(1px)}
.ct-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}
.ct-btn:hover::after{transform:translateX(120%);transition:transform .8s var(--ease)}
.ct-btn .ic{width:20px;height:20px}
.ct-btn--al{background:#fff;color:var(--rasp-d)!important;box-shadow:inset 0 0 0 1.5px var(--line-2)}
.ct-btn--al:hover{background:var(--blush);color:var(--rasp-d)}
.ct-btn--mic{min-height:40px;padding:0 14px;border-radius:11px;font-size:14.5px;box-shadow:inset 0 0 0 1.5px var(--line-2)}
.ct-link{display:inline-flex;align-items:center;gap:6px;padding:8px 0;border:0;background:none;color:var(--rasp-d);font-weight:650;font-size:15px;text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1.5px;cursor:pointer}
.ct-link:hover{color:var(--rasp)}

/* ============ 1. bannerul colecției: masa văzută de sus, cu piesele reale și numele scris live ============ */
.ct-banner{position:relative;isolation:isolate;overflow:clip;color:var(--lumina);background-color:var(--ct-fundal-c,#3a2414);background-image:var(--ct-fundal-tel,none);background-position:50% 22%;background-size:cover;background-repeat:no-repeat}
.ct-banner::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 70% 40% at 8% 0%,rgba(255,196,120,.32),transparent 70%),radial-gradient(ellipse 120% 90% at 50% 30%,transparent 45%,rgba(16,7,3,.5) 100%);animation:ct-lampa 6s ease-in-out infinite alternate}
.ct-banner::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 30%,rgba(20,9,4,.62) 62%,rgba(20,9,4,.78) 100%)}
@keyframes ct-lampa{0%{opacity:.8}55%{opacity:1}100%{opacity:.9}}
.ct-banner__in{display:grid;grid-template-columns:minmax(0,1fr);padding-top:12px;padding-bottom:22px} /* 23.10.2026: în Safari, scena lată (decorul) lățea coloana implicită „auto”, deci titlul și câmpul ieșeau din ecran */
.ct-banner__in>*{min-width:0}
.ct-banner__text{position:relative;z-index:2;min-width:0}
.ct-firimituri{display:none;flex-wrap:wrap;gap:8px;margin:0 0 14px;font-size:13px;color:rgba(255,244,230,.78)}
.ct-firimituri [data-firimituri]{display:inline-flex;flex-wrap:wrap;gap:8px}
.ct .ct-firimituri a{color:inherit;text-decoration:none}
.ct .ct-firimituri a:hover{text-decoration:underline;color:#fff}
.ct-firimituri [aria-current]{color:#fff}

/* comutatorul celor două rafturi (aceleași două direcții ca în meniu) */
.ct-raft{display:inline-flex;max-width:100%;overflow-x:auto;scrollbar-width:none;padding:4px;margin:0 0 4px;border-radius:999px;background:rgba(255,244,230,.12);border:1px solid rgba(255,244,230,.24);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ct .ct-raft a{display:inline-flex;align-items:baseline;gap:6px;padding:8px 14px;border-radius:999px;color:var(--lumina);font:650 14px/1.1 var(--font-body);text-decoration:none;white-space:nowrap;transition:background .25s var(--ease),color .25s var(--ease)}
.ct-raft::-webkit-scrollbar{display:none}
.ct-raft a small{font-size:12px;font-weight:600;opacity:.75;font-variant-numeric:tabular-nums}
.ct .ct-raft a:hover{background:rgba(255,244,230,.14)}
.ct .ct-raft a[aria-current=page]{background:var(--lumina);color:var(--rasp-d)}
.ct-raft a[aria-current=page] small{opacity:.8}
.ct-banner__supra{display:none;margin:18px 0 8px!important;font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-l)}
.ct .ct-banner h1{margin:6px 0 0;font-size:clamp(36px,10.2vw,66px);font-weight:780;letter-spacing:-.04em;line-height:1;color:#FFF8EE;text-shadow:0 2px 24px rgba(20,9,4,.45)}
.ct-banner__scris{display:block;margin:2px 0 14px;font:600 clamp(24px,6.6vw,36px)/1.1 var(--scris);color:var(--gold-l);rotate:-2deg;transform-origin:0 50%;text-shadow:0 2px 14px rgba(20,9,4,.5)}
.ct .ct-banner__fraza{display:none;max-width:44ch;margin:0 0 18px;font-size:17px;line-height:1.55;color:rgba(255,244,230,.88)}
.ct-semne{display:none!important;flex-wrap:wrap;gap:8px 20px;margin:0 0 20px!important;font-size:13.5px;font-weight:600;color:rgba(255,244,230,.92)}
.ct-semne li{display:flex;align-items:center;gap:7px}
.ct-semne .ic{width:18px;height:18px;color:var(--gold-l)}

/* câmpul „Pentru cine e cadoul?” (ca pe biletul paginii cutiei); numele lui ajunge pe piese și pe toate cardurile */
.ct-nume-camp{display:flex;align-items:center;gap:10px;max-width:440px;height:54px;margin:0;padding:0 14px 0 16px;border-radius:14px;background:var(--white);color:var(--ink);box-shadow:0 14px 30px -14px rgba(0,0,0,.6),inset 0 0 0 1px rgba(35,27,32,.08);cursor:text}
.ct-nume-camp span{flex:none;font-size:14.5px;color:var(--ink-2)}
.ct .ct-nume-camp input{flex:1;width:auto;min-width:0;height:100%;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;outline:0;font:600 23px/1 var(--scris);color:var(--rasp)}
.ct .ct-nume-camp input:focus{border:0;box-shadow:none}
.ct-nume-camp input::placeholder{color:#b9aeb3;opacity:1}
.ct-nume-camp .ic{color:var(--rasp)}
.ct-nume-camp:focus-within{box-shadow:0 14px 30px -14px rgba(0,0,0,.6),0 0 0 3px var(--gold-l)}

/* scena: piesele stau la scară reală (mm), ca în primul ecran al paginii cutiei; telefon: --lm --tm --wm --rm pe o masă de --mwm × --mhm */
.ct-scena{position:relative;margin:4px calc(-1 * var(--gut)) 6px!important;aspect-ratio:var(--mwm)/var(--mhm);list-style:none}
.ct-p{position:absolute;z-index:var(--z,1);left:calc(var(--lm) / var(--mwm) * 100%);top:calc(var(--tm) / var(--mhm) * 100%);width:calc(var(--wm) / var(--mwm) * 100%);rotate:var(--rm,0deg);filter:var(--umbra-masa);transition:translate .9s var(--ease)}
.ct-p>img,.ct-p .ct-n>img{width:100%;height:auto}
.ct-p--hartie .ct-n>img{border-radius:2px}
.ct-p--poza{background:#fffdf9;padding:4.5% 4.5% 13%;border-radius:2px}
.ct-p--poza img{aspect-ratio:4/3;object-fit:cover}
.ct-p--poza .ct-p__leg{position:absolute;left:0;right:0;bottom:2.4%;font:600 clamp(11px,1.3vw,17px)/1 var(--scris);color:var(--ink-2);text-align:center}
.ct-scena:hover .ct-p{translate:calc(var(--dx,0) * 1px) calc(var(--dy,0) * 1px)}
.ct-p .ct-eticheta--scena{position:relative;right:auto;bottom:auto}

/* numele scris pe piese (aceleași reguli ca .cg-cu-nume: poziția, mărimea în cqw, se micșorează până încape) */
.ct-n{position:relative;margin:0;container-type:inline-size}
.ct-n__t{position:absolute;left:var(--x);top:var(--y);font:600 calc(var(--fs) * var(--k,1))/1 var(--scris);color:var(--c);white-space:nowrap;transform:translate(-50%,-50%) rotate(var(--rot,0deg));pointer-events:none}
.ct-n__t--serif{font-family:"PT Serif",Georgia,serif;font-style:italic;font-weight:700;letter-spacing:-.005em}
.ct-n__t--tipar{opacity:.9;mix-blend-mode:multiply;text-shadow:0 0 .6px rgba(92,50,24,.6)}
.ct-n__t.is-scrie,.ct-eticheta b.is-scrie{animation:ct-scrie-mana .8s cubic-bezier(.45,.05,.3,1) both}
@keyframes ct-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)}}

@media (min-width:600px){
  .ct .ct-banner__fraza{display:block}
}
@media (min-width:900px){
  .ct-banner{background-image:var(--ct-fundal-desk,var(--ct-fundal-tel,none));background-position:50% 40%}
  .ct-banner::after{background:linear-gradient(270deg,rgba(20,9,4,.72) 0%,rgba(20,9,4,.5) 36%,rgba(20,9,4,.06) 60%,transparent 78%)}
  .ct-banner__in{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;gap:24px;min-height:430px;padding-top:22px;padding-bottom:30px}
  .ct-firimituri{display:flex}
  .ct-banner__supra{display:block}
  .ct-semne{display:flex!important}
  .ct-scena{margin:0!important;aspect-ratio:var(--mw)/var(--mh)}
  .ct-p{z-index:var(--zd,var(--z,1));left:calc(var(--l) / var(--mw) * 100%);top:calc(var(--t) / var(--mh) * 100%);width:calc(var(--w) / var(--mw) * 100%);rotate:var(--r,0deg)}
}
@media (max-width:899px){.ct-p--fara-tel{display:none}}
/* telefon, raftul de cadouri: polaroidul „Cântecul tău” iese cu ~6% din lățime sub masă și acoperea comutatorul rafturilor
   („Cutii cadou”); masa păstrează loc dedesubt, ca piesele să nu treacă peste comutator (QA integrare, 22.10).
   În vw, nu în %: un procent pe marginea unui element din grilă lățește coloana (și pagina) */
@media (max-width:899px){.ct--cadouri .ct-scena{margin-bottom:calc(14px + 6vw)!important}}

/* ============ 2. corpul: coloana de filtre (desktop) + rezultatele ============ */
.ct-corp{padding-top:0;padding-bottom:56px}
@media (min-width:1024px){
  .ct-corp{display:grid;grid-template-columns:var(--side) minmax(0,1fr);gap:44px;align-items:start;padding-top:36px;padding-bottom:80px}
  .ct-corp--fara-filtre{grid-template-columns:minmax(0,1fr)}
}

/* bara lipită de pe telefon: Filtre + ordonarea */
.ct-bara{position:sticky;top:var(--ct-hdr);z-index:40;margin:0 calc(-1 * var(--gut));padding:10px var(--gut);display:flex;align-items:center;gap:10px;background:rgba(251,246,238,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.ct-bara__filtre{display:none;align-items:center;gap:8px;height:42px;padding:0 16px;border:0;border-radius:999px;background:var(--ink);color:#fff!important;font-weight:650;font-size:15px;cursor:pointer}
.ct-js .ct-bara__filtre{display:inline-flex}
.ct-bara__filtre .ic{width:18px;height:18px}
.ct-bara__filtre b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--gold-l);color:var(--ink);font-size:12.5px}
.ct-bara__nr{font-size:14px;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-bara .ct-sort{margin-left:auto}
.ct-bara .ct-sort select{max-width:170px}
@media (max-width:599px){.ct-bara__nr{display:none}} /* 23.10.2026: pe telefon numărul nu încăpea („15 cad…”); îl arată oricum rândul de sub bară */
@media (min-width:1024px){.ct-bara{display:none}}

.ct-sort{position:relative;display:inline-flex;align-items:center;margin:0}
.ct-sort label{position:relative;display:inline-flex;align-items:center;margin:0}
.ct .ct-sort select{appearance:none;-webkit-appearance:none;width:auto;height:42px;min-height:0;max-width:200px;padding:0 36px 0 14px;border:1.5px solid var(--line-2);border-radius:999px;background:var(--white);box-shadow:none;font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer}
.ct-sort .ic{position:absolute;right:12px;width:16px;height:16px;pointer-events:none;stroke-width:2}
.ct .ct-sort select:hover{border-color:var(--ink-3)}
.ct .ct-sort select:focus{border-color:var(--rasp);box-shadow:0 0 0 4px var(--rasp-soft)}
.ct-sort noscript .ct-link{margin-left:10px}


/* opțiunile de filtru: cipuri pe telefon (în foaie), rânduri cu număr în coloana de desktop */
.ct .ct-opt{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 14px;border:1.5px solid var(--line-2);border-radius:999px;background:var(--white);color:var(--ink);font-size:14.5px;font-weight:600;line-height:1.15;text-align:left;text-decoration:none;cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.ct-opt__n{font-size:12.5px;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}
.ct .ct-opt:hover{border-color:var(--ink-3)}
.ct .ct-opt[aria-pressed=true]{background:var(--rasp);border-color:var(--rasp);color:#fff}
.ct-opt[aria-pressed=true] .ct-opt__n{color:rgba(255,255,255,.82)}
.ct .ct-opt.is-zero:not([aria-pressed=true]){color:var(--ink-3);border-style:dashed;background:transparent}

/* foaia de jos (telefon) / coloana (desktop) */
.ct-filtre{min-width:0}
.ct-filtre__cap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 10px}
.ct .ct-filtre__cap h2{margin:0;font-size:22px}
.ct-filtre__inchide{display:none;place-items:center;width:42px;height:42px;margin-right:-8px;border:0;border-radius:50%;background:var(--paper-2);cursor:pointer}
.ct-filtre__lista{padding:0 0 8px}
.ct-fgrup{padding:16px 0;border-top:1px solid var(--line)}
.ct-fgrup:first-child{border-top:0}
.ct .ct-fgrup__titlu{margin:0 0 10px;font:700 15.5px/1.2 var(--font-display);letter-spacing:-.01em}
.ct-fgrup__ops{display:flex;flex-wrap:wrap;gap:8px}
.ct .ct-fgrup__nota{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--ink-3)}
.ct-filtre__jos{display:none;align-items:center;gap:14px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}
.ct-filtre__jos .ct-btn{flex:1}
.ct-fundal{position:fixed;inset:0;z-index:89;background:rgba(20,9,4,.5);opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}
.ct-fundal.is-vizibil{opacity:1;pointer-events:auto}
@media (max-width:1023px){
  /* fără script, filtrele stau în pagină, deasupra rezultatelor; cu script, ele sunt foaia de jos */
  .ct-js .ct-filtre{position:fixed;left:0;right:0;bottom:0;z-index:90;max-height:86vh;max-height:86dvh;display:flex;flex-direction:column;background:var(--paper);border-radius:24px 24px 0 0;box-shadow:0 -20px 60px rgba(0,0,0,.35);transform:translateY(105%);visibility:hidden;transition:transform .38s var(--ease),visibility 0s .38s}
  .ct-js .ct-filtre::before{content:"";position:absolute;top:8px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:var(--line-2)}
  .ct-js .ct-filtre.is-deschis{transform:none;visibility:visible;transition:transform .38s var(--ease),visibility 0s}
  .ct-js .ct-filtre__cap{padding:18px 20px 10px}
  .ct-js .ct-filtre__lista{flex:1;padding:0 20px 8px;overflow:auto;overscroll-behavior:contain}
  .ct-js .ct-filtre__inchide{display:grid}
  .ct-js .ct-filtre__jos{display:flex}
  .ct-filtre__sterge-sus{display:none!important}
}
@media (min-width:1024px){
  .ct-filtre{position:sticky;top:calc(var(--ct-hdr) + 20px);max-height:calc(100vh - var(--ct-hdr) - 40px);overflow:auto;padding-right:6px;scrollbar-width:thin}
  .ct-filtre__cap{padding:0 0 6px}
  .ct .ct-filtre__cap h2{font-size:20px}
  .ct-filtre__lista{padding:0}
  .ct-fgrup__ops{display:grid;gap:2px}
  .ct .ct-fgrup .ct-opt{display:flex;width:100%;gap:11px;min-height:38px;padding:7px 8px;border:0;border-radius:10px;background:none;font-weight:500;font-size:15px}
  .ct-fgrup .ct-opt::before{content:"";width:18px;height:18px;flex:none;border-radius:50%;border:1.6px solid var(--line-2);background:var(--white);transition:border .2s var(--ease)}
  .ct .ct-fgrup .ct-opt:hover{background:var(--paper-2)}
  .ct .ct-fgrup .ct-opt[aria-pressed=true]{background:var(--blush);color:var(--ink);font-weight:650}
  .ct-fgrup .ct-opt[aria-pressed=true]::before{border:5.5px solid var(--rasp)}
  .ct-fgrup .ct-opt[aria-pressed=true] .ct-opt__n{color:var(--rasp-d)}
  .ct-fgrup .ct-opt .ct-opt__n{margin-left:auto}
  .ct .ct-fgrup .ct-opt.is-zero:not([aria-pressed=true]){border:0;background:none}
}

/* antetul rezultatelor: numărul (live), filtrele active, ordonarea */
.ct-rezultate{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 16px;padding:18px 0 4px}
.ct .ct-rezultate h2{margin:0;font-size:clamp(23px,5.6vw,30px);font-variant-numeric:tabular-nums}
.ct .ct-rezultate__det{margin:4px 0 0;font-size:14.5px;color:var(--ink-2)}
.ct-rezultate .ct-sort{display:none}
@media (min-width:1024px){.ct-rezultate{padding-top:0}.ct-rezultate .ct-sort{display:inline-flex}}
.ct-active{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0 0}
.ct .ct-chip-x{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 10px 6px 14px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}
.ct-chip-x .ic{width:15px!important;height:15px!important;stroke-width:2.2!important}
.ct .ct-chip-x:hover{background:var(--rasp-d);color:#fff}

/* grupurile și grilele */
.ct-grup{margin-top:22px}
.ct-grup__cap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin:0 0 14px}
.ct .ct-grup__cap h2{margin:0;font-size:clamp(21px,4.8vw,26px)}
.ct-grup__cap p{flex-basis:100%;margin:0;font-size:14.5px;color:var(--ink-2)}
.ct-grup--curand .ct-grup__cap{padding-top:22px;border-top:1px solid var(--line)}
.ct-grila{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.ct-grila--doua{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:600px){.ct-grila{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media (min-width:768px){.ct-grila--trei,.ct-grila--doua{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}

/* ============ 3. cardurile ============ */
.ct-card{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--white);border-radius:var(--r);box-shadow:var(--shadow-1);overflow:clip;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.ct-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
.ct .ct-card__link{color:inherit;text-decoration:none}
.ct-card__link::after{content:"";position:absolute;inset:0;z-index:4;border-radius:inherit}
.ct .ct-card__link:focus-visible{outline:0}
.ct-card:has(.ct-card__link:focus-visible){outline:3px solid var(--rasp);outline-offset:3px}
.ct-card__poza{position:relative;aspect-ratio:1;overflow:hidden;background:var(--paper-2)}
.ct-card__poza>img{width:100%;height:100%;object-fit:cover;transition:opacity .55s var(--ease),transform 1.2s var(--ease)}
.ct-card__poza .ct-img2{position:absolute;inset:0;opacity:0}
.ct-card:hover .ct-card__poza>img{transform:scale(1.03)}
.ct-card:hover .ct-img2{opacity:1}
.ct-card--cadou .ct-card__poza{aspect-ratio:4/3}
.ct-card__poza .lp-lipsa{position:absolute;inset:0;display:grid;place-items:center;background:var(--fam-fundal,var(--paper-2));color:var(--fam-text,var(--ink-2));font:600 22px/1.1 var(--scris);text-align:center;padding:12px}
.ct-card__poza .lp-lipsa__ecou,.ct-card__poza .lp-lipsa__eticheta{display:none}
.ct-semn{position:absolute;top:10px;left:10px;z-index:3;display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;background:var(--cream);color:var(--ink);font:700 11.5px/1 var(--font-body);letter-spacing:.01em;box-shadow:0 4px 12px -4px rgba(35,27,32,.35)}
.ct .ct-semn .ic{width:13px;height:13px;color:var(--rasp);stroke-width:2.2}
.ct-semn--reducere{left:auto;right:10px;background:var(--rasp);color:#fff}
.ct-stampila{position:absolute;top:12px;right:10px;z-index:3;padding:5px 9px 4px;border:2px solid currentColor;border-radius:6px;color:#FFE2A8;font:800 11px/1 var(--font-display);letter-spacing:.14em;text-transform:uppercase;rotate:6deg;background:rgba(42,17,28,.35);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}

/* eticheta cu numele, legată de cadou (scrisă de mână, live) */
.ct-eticheta{position:absolute;right:7%;bottom:8%;z-index:3;display:flex;flex-direction:column;align-items:flex-start;padding:6px 12px 7px 22px;background:#fbf3e4 linear-gradient(180deg,rgba(255,255,255,.5),transparent);color:var(--rasp-dd);clip-path:polygon(12px 0,100% 0,100% 100%,12px 100%,0 50%);rotate:-5deg;filter:drop-shadow(0 4px 8px rgba(20,9,4,.35))}
.ct-eticheta::before{content:"";position:absolute;left:8px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#8d7c6a;box-shadow:inset 0 1px 1px rgba(0,0,0,.4)}
.ct-eticheta small{font:700 8.5px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.ct-eticheta b{font:600 clamp(17px,4.6vw,22px)/1.05 var(--scris);max-width:9.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-card:hover .ct-eticheta{animation:ct-leagan 1.6s var(--ease)}
@keyframes ct-leagan{0%,100%{rotate:-5deg}30%{rotate:-1deg}60%{rotate:-7deg}}

.ct-card__corp{display:flex;flex-direction:column;gap:7px;flex:1;padding:15px 16px 18px}
.ct .ct-supra{margin:0;font:700 11px/1.35 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--rasp-d)}
.ct .ct-card h3{margin:0;font-size:19px;font-weight:720;letter-spacing:-.02em;line-height:1.12}
.ct .ct-card .ct-scris{margin:-2px 0 0;font:600 20px/1.15 var(--scris);color:var(--rasp)}
.ct-piese{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.ct-piese li{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blush);color:var(--rasp-d)}
.ct .ct-piese li .ic{width:16px;height:16px;stroke-width:1.7}
.ct-piese__nr{margin-left:4px;font-size:13.5px;font-weight:600;color:var(--ink-2)}
.ct .ct-pret{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 9px;margin:auto 0 0;padding-top:6px}
.ct-pret s{font-size:15px;font-weight:600;color:var(--ink-3);text-decoration-thickness:1.5px}
.ct-pret b{font:760 23px/1 var(--font-display);letter-spacing:-.02em;color:var(--ink)}
.ct-pret b small{font:inherit;font-size:14px;font-weight:600;letter-spacing:0;color:var(--ink-2)}
.ct-pret em{font-style:normal;font-size:12.5px;color:var(--ink-3)}
.ct .ct-economie{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;margin:0;padding:4px 10px;border-radius:999px;background:var(--pine-l);color:var(--pine);font-size:13px;font-weight:650;line-height:1.3}
.ct .ct-economie .ic{width:15px;height:15px}
.ct .ct-meta{display:flex;align-items:flex-start;gap:7px;margin:0;font-size:13.5px;line-height:1.4;color:var(--ink-2)}
.ct .ct-meta .ic{width:17px;height:17px;margin-top:1px;color:var(--pine)}
.ct-format{display:flex;flex-wrap:wrap;gap:5px}
.ct-format span{padding:3px 9px;border-radius:999px;background:var(--paper-2);font-size:12px;font-weight:650;color:var(--ink-2)}
.ct-format span.ct-format--tiparit{background:#F3E7D0;color:#6c4a17}
.ct-card .ct-btn--mic{position:relative;z-index:5;align-self:flex-start;margin-top:4px}

/* cutia singură: cardul lat (poza în stânga, piesele cu numele lor, „Vezi cutia”) */
.ct-piese-lat{display:none!important}
.ct-card__cta{display:none!important}
@media (min-width:600px){
  .ct-card--lat{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
  .ct-card--lat .ct-card__poza{aspect-ratio:auto;min-height:100%}
  .ct-card--lat .ct-card__corp{justify-content:center;gap:10px;padding:clamp(22px,3.4vw,44px)}
  .ct .ct-card--lat h3{font-size:clamp(26px,3.2vw,38px);letter-spacing:-.03em}
  .ct .ct-card--lat .ct-scris{font-size:clamp(24px,2.6vw,30px)}
  .ct .ct-card--lat .ct-pret{margin-top:6px}
  .ct-card--lat .ct-pret b{font-size:clamp(30px,3.4vw,42px)}
  .ct-card--lat .ct-pret s{font-size:19px}
  .ct .ct-card--lat .ct-economie{font-size:14px;padding:5px 12px}
  .ct-card--lat .ct-card__cta{display:inline-flex!important;align-self:flex-start;margin-top:10px;pointer-events:none}
}
@media (min-width:900px){
  .ct-card--lat .ct-piese-lat{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:4px 0 2px;font-size:14.5px;color:var(--ink-2)}
  .ct-card--lat .ct-piese-lat li{display:flex;align-items:center;gap:9px}
  .ct .ct-card--lat .ct-piese-lat .ic{width:30px;height:30px;padding:6px;border-radius:50%;background:var(--blush);color:var(--rasp-d)}
  .ct-card--lat .ct-piese-rand{display:none}
}

/* cutia fără poză încă: cutia oficială, văzută de sus, pe masa colecției, la scara ei reală */
.ct-masa{position:relative;aspect-ratio:1;overflow:hidden;background-color:var(--ct-fundal-c,#3a2414);background-image:var(--ct-fundal-tel,none);background-position:var(--bp,50% 50%);background-size:170% auto;background-repeat:no-repeat}
.ct-masa::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 20% 0%,rgba(255,196,120,.22),transparent 70%),radial-gradient(ellipse 110% 90% at 50% 40%,transparent 50%,rgba(16,7,3,.5) 100%);pointer-events:none}
.ct-card__poza>img.ct-masa__cutie{position:absolute;left:50%;top:46%;width:var(--w,60%);height:auto;object-fit:contain;translate:-50% -50%;rotate:var(--rot,0deg);filter:var(--umbra-masa);transition:translate .6s var(--ease),rotate .6s var(--ease)}
.ct-card:hover .ct-card__poza>img.ct-masa__cutie{transform:none;translate:-50% calc(-50% - 4px);rotate:calc(var(--rot,0deg) * .6)}
.ct-masa__cm{position:absolute;left:10px;bottom:9px;z-index:2;font:600 15px/1 var(--scris);color:rgba(255,244,230,.82)}
.ct-masa .ct-eticheta{right:6%;bottom:7%}
@media (max-width:599px){
  .ct-grila--doua .ct-card__corp{padding:12px 12px 14px;gap:6px}
  .ct .ct-grila--doua .ct-card h3{font-size:16.5px}
  .ct .ct-grila--doua .ct-supra{font-size:10px;letter-spacing:.1em}
  .ct-grila--doua .ct-pret b{font-size:19px}
  .ct-grila--doua .ct-eticheta{padding:4px 9px 5px 18px;right:5%;bottom:6%}
  .ct-grila--doua .ct-eticheta b{font-size:16px}
  .ct-grila--doua .ct-semn{top:8px;left:8px;padding:5px 8px;font-size:10px}
  .ct-grila--doua .ct-stampila{top:8px;right:6px;font-size:9px;padding:4px 6px 3px}
  .ct-grila--doua .ct-piese li{width:24px;height:24px}
  .ct .ct-grila--doua .ct-piese li .ic{width:14px;height:14px}
  .ct-grila--doua .ct-btn--mic{min-height:36px;padding:0 12px;font-size:13.5px}
  .ct .ct-grila--doua .ct-meta{font-size:12.5px}
  .ct .ct-grila--doua .ct-economie{font-size:11.5px;padding:3px 8px}
  .ct-grila--doua .ct-semn--reducere{left:auto;right:8px}
  .ct-grila--doua .ct-card--cadou .ct-semn:not(.ct-semn--reducere){display:none}
  .ct-grila--doua .ct-format span{font-size:11px;padding:3px 7px}
  .ct-grila--doua .ct-piese li:nth-child(n+4){display:none}
}

/* plăcile editoriale, cât un card: după fiecare 6 carduri */
.ct-placa{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:100%;border-radius:var(--r);overflow:clip;color:var(--lumina);background:linear-gradient(180deg,var(--night-2),var(--night));text-decoration:none!important;box-shadow:var(--shadow-1);isolation:isolate}
.ct-placa__media{position:absolute;inset:0;z-index:-1}
.ct-placa__media img,.ct-placa__media video{width:100%;height:100%;object-fit:cover}
.ct-placa__media video{position:absolute;inset:0}
.ct-placa__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,17,28,0) 30%,rgba(42,17,28,.86) 78%)}
.ct-placa__text{padding:18px 18px 20px}
.ct .ct-placa__text p{margin:0 0 4px;font-size:14px;line-height:1.45;color:rgba(255,244,230,.86)}
.ct .ct-placa__text .ct-placa__supra{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-l)}
.ct .ct-placa h3{margin:0 0 6px;font-size:21px;color:#fff}
.ct-placa__mai{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-weight:650;font-size:14.5px;color:#fff;text-decoration:underline;text-underline-offset:.22em}
.ct-placa--deschis{color:var(--ink);background:var(--blush);justify-content:flex-start}
.ct-placa--deschis .ct-placa__media{position:relative;inset:auto;aspect-ratio:4/3}
.ct-placa--deschis .ct-placa__media::after{display:none}
.ct .ct-placa--deschis .ct-placa__text p{color:var(--ink-2)}
.ct .ct-placa--deschis .ct-placa__text .ct-placa__supra{color:var(--rasp-d)}
.ct .ct-placa--deschis h3{color:var(--ink)}
.ct-placa--deschis .ct-placa__mai{color:var(--rasp-d)}
.ct-placa:hover .ct-placa__mai{color:var(--gold-l)}
.ct-placa--deschis:hover .ct-placa__mai{color:var(--rasp)}
.ct-grila--doua .ct-placa{grid-column:1/-1;min-height:300px}
@media (min-width:768px){.ct-grila--doua .ct-placa{grid-column:auto;min-height:0}}
@media (max-width:599px){.ct-grila--doua .ct-placa--deschis{display:grid;grid-template-columns:44% 1fr;min-height:0;align-items:center}.ct-grila--doua .ct-placa--deschis .ct-placa__media{aspect-ratio:1;height:100%}.ct-grila--doua .ct-placa--deschis .ct-placa__text{padding:14px}}
.ct-grila--trei .ct-placa{min-height:340px}

/* starea fără rezultate */
.ct-gol{display:grid;justify-items:center;gap:6px;margin-top:22px;padding:36px 20px 40px;border-radius:var(--r);background:var(--white);box-shadow:var(--shadow-1);text-align:center}
.ct .ct-gol__img{width:150px;margin-bottom:6px;rotate:-6deg;filter:drop-shadow(0 10px 18px rgba(35,27,32,.25))}
.ct .ct-gol h2{margin:0;font-size:clamp(22px,5vw,28px)}
.ct .ct-gol p{max-width:44ch;margin:0;color:var(--ink-2)}
.ct-gol__scoate{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:12px 0 6px}
.ct-gol__scoate:empty{display:none}
.ct-gol__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px}

/* ============ 4. finalul: întrebări, garanția și returul, textul categoriei ============ */
.ct-final{padding:56px 0 64px;background:var(--paper-2);border-top:1px solid var(--line)}
.ct-final__grila{display:grid;gap:28px}
@media (min-width:900px){.ct-final__grila{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px;align-items:start}}
.ct .ct-final .ct-supra{margin-bottom:8px}
.ct .ct-final h2{font-size:clamp(28px,6vw,40px)}
.ct-intrebari{border-top:1px solid var(--line-2)}
.ct-intrebari details{border-bottom:1px solid var(--line-2)}
.ct-intrebari summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 2px;font:700 17.5px/1.3 var(--font-display);letter-spacing:-.01em;cursor:pointer;list-style:none}
.ct-intrebari summary::-webkit-details-marker{display:none}
.ct .ct-intrebari summary .ic{flex:none;width:22px;height:22px;padding:3px;border-radius:50%;background:var(--white);color:var(--rasp);transition:rotate .3s var(--ease)}
.ct .ct-intrebari details[open] summary .ic{rotate:45deg}
.ct .ct-intrebari details p{margin:0 0 18px;padding-right:30px;color:var(--ink-2)}
.ct-garantie{position:relative;padding:26px 24px 24px;border-radius:var(--r);background:var(--white);box-shadow:var(--shadow-1)}
.ct .ct-garantie .ic{width:34px;height:34px;padding:7px;border-radius:50%;background:var(--blush);color:var(--rasp);margin-bottom:12px}
.ct .ct-garantie h3{font-size:22px}
.ct .ct-garantie p{margin:0 0 10px;color:var(--ink-2)}
.ct .ct-garantie .scris{display:block;margin-top:8px;font-size:24px;color:var(--rasp)}
.ct-seo{margin-top:44px;padding-top:30px;border-top:1px solid var(--line-2);columns:1;max-width:none}
.ct .ct-seo h2{font-size:clamp(22px,4.6vw,28px);column-span:all}
.ct .ct-seo p{color:var(--ink-2);font-size:15.5px;break-inside:avoid}
@media (min-width:900px){.ct-seo{columns:2;column-gap:56px}}

/* fereastra „Anunță-mă” (formularul listei de așteptare din modulul lista) */
.ct-dialog{width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:var(--r);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-2)}
.ct-dialog::backdrop{background:rgba(20,9,4,.55)}
.ct-dialog__in{position:relative;padding:28px 24px 24px}
.ct .ct-dialog__in>img{width:120px;margin:-6px 0 8px;rotate:-5deg;filter:drop-shadow(0 8px 14px rgba(35,27,32,.25))}
.ct .ct-dialog h2{font-size:24px;margin:0 0 6px}
.ct .ct-dialog__in>p{color:var(--ink-2);font-size:15px}
.ct-dialog__x{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:var(--paper-2);cursor:pointer}
.ct-dialog .hl__label{display:block;margin:0 0 6px;font-size:14px;font-weight:600}
.ct-dialog .hl__row{flex-direction:column}
.ct .ct-dialog input[type=email]{width:100%;height:50px;padding:0 14px;border:1.5px solid var(--line-2);border-radius:12px;background:var(--white);font-size:16px}
.ct-dialog .hl .btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:0 22px;border:0;border-radius:14px;background:var(--rasp);color:#fff;font:650 16.5px/1.1 var(--font-body);cursor:pointer}
.ct-dialog .hl .btn:hover{background:var(--rasp-d)}
.ct-dialog .hl__note{font-size:13px}

/* nota pentru administratori a catalogului (inc/lp-rute.php), fără stilurile vechi ale catalogului */
body.hooo-categorie .lp-admin{position:fixed;left:12px;bottom:12px;z-index:60;max-width:min(560px,calc(100% - 24px));border-radius:12px;background:#1e1a20;color:#fff;font:13px/1.5 var(--font-body,sans-serif);box-shadow:0 12px 40px rgba(0,0,0,.3)}
body.hooo-categorie .lp-admin summary{padding:9px 14px;cursor:pointer;font-weight:600}
body.hooo-categorie .lp-admin ul{max-height:40vh;margin:0;padding:0 16px 0 32px;overflow:auto}
body.hooo-categorie .lp-admin p{margin:6px 14px 12px;opacity:.8}
body.hooo-categorie .lp-admin code{color:#efc654}
body.hooo-categorie .lp-admin button{margin-left:8px;padding:3px 9px;border:1px solid rgba(255,255,255,.4);border-radius:99px;background:none;color:#fff;font:inherit;font-size:12px;cursor:pointer}

/* ---------- apariția discretă la derulare (doar cardurile de sub primul ecran, puse de script) ---------- */
.ct-apare{opacity:0;translate:0 14px;transition:opacity .7s var(--ease),translate .7s var(--ease)}
.ct-apare.is-vazut{opacity:1;translate:0 0}

/* ---------- completări ---------- */
.ct-piese-rand{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ct-piese-rand .ct-piese__nr{margin-left:0}

@media (prefers-reduced-motion:reduce){
  .ct *,.ct *::before,.ct *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .ct-apare{opacity:1;translate:none}
}

/* ======================================================================
   22.10.2026, Adrian: prima secțiune inversată pe desktop (textul în stânga, masa cu piesele în dreapta; umbra pentru text, din stânga)
   ====================================================================== */
@media (min-width:900px){
  .ct-banner__in{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}
  .ct-banner__text{grid-column:1;grid-row:1}
  .ct-scena{grid-column:2;grid-row:1}
  .ct-banner::after{background:linear-gradient(90deg,rgba(20,9,4,.74) 0%,rgba(20,9,4,.52) 36%,rgba(20,9,4,.06) 62%,transparent 80%)}
}

/* ======================================================================
   22.10.2026, Adrian: filtrele mai memorabile. Coloana stă pe hârtia biletului (firul hârtiei, fulgul în relief în colț, chenarul fin),
   grupele sunt despărțite ca un bilet perforat, vârsta și bugetul sunt butoane mici, „Pentru cine” are fețele din meniu în inele (ca
   „o”-ul din siglă), iar colecțiile au miniatura cutiei
   ====================================================================== */
.ct-opt__poza{flex:none;width:26px;height:26px;margin:-4px 0 -4px -8px;border-radius:50%;object-fit:cover}
.ct-opt[data-k=colectie] .ct-opt__poza{border-radius:7px}
@media (min-width:1024px){
  .ct-filtre{isolation:isolate;padding:20px 16px 18px 18px;border-radius:22px;
    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 -40px top -40px/170px 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:0 1px 0 #ede1cd,0 2px 0 #e0cfb5,0 18px 40px -26px rgba(24,10,3,.5);outline:1px solid rgba(150,112,70,.16);outline-offset:-7px}
  .ct-filtre__cap{padding:0 2px 4px}
  .ct .ct-filtre__cap h2{font-size:22px;letter-spacing:-.02em}
  .ct-fgrup{padding:14px 2px;border-top:1.5px dashed rgba(150,112,70,.26)}
  .ct .ct-fgrup__titlu{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
  /* vârsta, bugetul și celelalte grupe fără poze: butoane mici, pe rânduri */
  .ct-fgrup__ops:not(:has(.ct-opt--poza)){display:flex;flex-wrap:wrap;gap:6px}
  .ct .ct-fgrup__ops:not(:has(.ct-opt--poza)) .ct-opt{display:inline-flex;width:auto;gap:6px;min-height:34px;padding:6px 12px;border:1.5px solid rgba(150,112,70,.28);border-radius:999px;background:rgba(255,255,255,.72);font-size:13.5px;font-weight:600;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
  .ct-fgrup__ops:not(:has(.ct-opt--poza)) .ct-opt::before{display:none}
  .ct-fgrup__ops:not(:has(.ct-opt--poza)) .ct-opt .ct-opt__n{margin-left:0;font-size:11.5px}
  .ct .ct-fgrup__ops:not(:has(.ct-opt--poza)) .ct-opt:hover{border-color:var(--rasp);background:#fff;transform:translateY(-1px)}
  .ct .ct-fgrup__ops:not(:has(.ct-opt--poza)) .ct-opt[aria-pressed=true]{border-color:var(--rasp);background:var(--rasp);color:#fff;box-shadow:0 6px 14px -8px rgba(201,42,72,.7)}
  .ct-fgrup__ops:not(:has(.ct-opt--poza)) .ct-opt[aria-pressed=true] .ct-opt__n{color:rgba(255,255,255,.85)}
  .ct .ct-fgrup__ops:not(:has(.ct-opt--poza)) .ct-opt.is-zero:not([aria-pressed=true]){border-style:dashed;background:transparent}
  /* pentru cine și colecțiile: rânduri cu poza, ca în meniu */
  .ct-fgrup__ops:has(.ct-opt--poza){display:grid;gap:3px}
  .ct .ct-fgrup .ct-opt--poza{gap:11px;min-height:46px;padding:5px 8px 5px 6px;border-radius:14px;font-size:14.5px;transition:background .2s var(--ease),transform .25s var(--ease)}
  .ct-fgrup .ct-opt--poza::before{display:none}
  .ct-fgrup .ct-opt--poza .ct-opt__poza{width:36px;height:36px;margin:0 0 0 2px;box-shadow:0 0 0 2px rgba(201,42,72,.55),0 0 0 4px #fcf7ee;transition:box-shadow .2s var(--ease)}
  .ct-fgrup .ct-opt--poza[data-k=colectie] .ct-opt__poza{width:40px;height:40px;margin:0;border-radius:10px;box-shadow:0 6px 14px -8px rgba(60,20,10,.45)}
  .ct .ct-fgrup .ct-opt--poza:hover{background:rgba(255,255,255,.85);transform:translateX(3px)}
  .ct .ct-fgrup .ct-opt--poza[aria-pressed=true]{background:#fff;box-shadow:inset 0 0 0 1.5px var(--rasp);font-weight:650}
  .ct-fgrup .ct-opt--poza[aria-pressed=true] .ct-opt__poza{box-shadow:0 0 0 2.5px var(--rasp),0 0 0 5px #fff}
  .ct-fgrup .ct-opt .ct-opt__n{padding:2px 8px;border-radius:999px;background:rgba(150,112,70,.1);font-size:11.5px;color:var(--ink-3)}
  .ct-fgrup .ct-opt[aria-pressed=true] .ct-opt__n{background:transparent}
}

/* 22.10.2026, Adrian: și cardurile din categorie pe hârtia biletului (ca pe prima pagină: firul hârtiei, fulgul în relief în colț,
   chenarul fin), iar filtrele se deosebesc puțin: hârtie mai caldă, ca de carton, cu cusătura punctată în loc de chenarul fin */
.ct-card{background:#F6ECDC}
.ct-card__corp{position:relative;isolation:isolate;
  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 -32px bottom -30px/140px 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%)}
.ct-card__corp::after{content:"";position:absolute;inset:8px;z-index:-1;border-radius:11px;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)}
.ct-card:hover{box-shadow:0 1px 3px rgba(120,60,40,.08),0 22px 40px -22px rgba(161,31,58,.3)}
@media (min-width:1024px){
  .ct-filtre{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='%23fffaf0' transform='translate(-1.3 -1.3)'/%3E%3Cuse href='%23f' stroke='%238c6a44' stroke-opacity='.26' transform='translate(1.3 1.3)'/%3E%3Cuse href='%23f' stroke='%23efe0c6'/%3E%3C/svg%3E") right -40px top -40px/170px 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 .34 -.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%,#fbf3e5 0%,#f5e9d5 55%,#eedcc0 100%);
    outline:1.5px dashed rgba(140,100,60,.32);outline-offset:-8px}
  .ct-fgrup{border-top-color:rgba(140,100,60,.3)}
  .ct .ct-fgrup__ops:not(:has(.ct-opt--poza)) .ct-opt{background:rgba(255,253,248,.85)}
}

/* 22.10.2026, Adrian: pe /cadouri/ încadrările păreau ciudate: pozele curate (pe crem) au aer mult în jur, așa că le apropiem puțin,
   ca produsul să umple cadrul (scale, separat de transform-ul de la hover) */
.ct-card--cadou .ct-card__poza>img{scale:1.12}

/* 22.10.2026, Adrian: pe desktop fără titlul „Filtre” (se înțelege din coloană). Titlul rămâne pentru cititoarele de ecran (numele
   coloanei, prin aria-labelledby); capul rămâne doar cu „Șterge filtrele”, când sunt filtre alese, altfel dispare */
@media (min-width:1024px){
  .ct .ct-filtre__cap h2{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .ct-filtre__cap{justify-content:flex-start;padding:0 2px 6px}
  .ct-filtre__cap:not(:has(.ct-filtre__sterge-sus:not([hidden]))){display:none}
}

/* 22.10.2026, Adrian: „20 de cadouri” era scris prea mare; numărul rezultatelor e o informație, nu un titlu de secțiune */
.ct .ct-rezultate h2{font-size:clamp(19px,4.8vw,22px);letter-spacing:-.015em}
.ct .ct-rezultate__det{margin-top:2px;font-size:13.5px}

/* 22.10.2026, Adrian: ambele prețuri pe cardul cadoului cu variantă digitală și tipărită („Digital 59 lei · Tipărit 129 lei”).
   Fiecare format e un bilețel cu eticheta lui; formatul ales în filtru stă primul și e evidențiat (data-ct-format pe <main>) */
.ct .ct-pret--doua{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;padding-top:8px}
.ct-pret__f{display:flex;flex-direction:column;gap:2px;min-width:0;padding:6px 11px 7px;border-radius:12px;background:rgba(255,255,255,.66);box-shadow:inset 0 0 0 1px rgba(150,112,70,.24)}
.ct-pret__f>small{font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.ct-pret__f>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px}
.ct .ct-pret__f b{font:760 19px/1.1 var(--font-display);letter-spacing:-.02em;color:var(--ink)}
.ct-pret__f s{font-size:12.5px}
.ct-pret__f:first-child{background:#fff;box-shadow:inset 0 0 0 1.5px var(--rasp)}
.ct-pret__f:first-child>small{color:var(--rasp-d)}
.ct[data-ct-format="tiparit"] .ct-pret__f--tiparit{order:-1;background:#fff;box-shadow:inset 0 0 0 1.5px var(--rasp)}
.ct[data-ct-format="tiparit"] .ct-pret__f--tiparit>small{color:var(--rasp-d)}
.ct[data-ct-format="tiparit"] .ct-pret__f--digital{background:rgba(255,255,255,.66);box-shadow:inset 0 0 0 1px rgba(150,112,70,.24)}
.ct[data-ct-format="tiparit"] .ct-pret__f--digital>small{color:var(--ink-3)}
@media (max-width:599px){
  .ct-grila--doua .ct-pret--doua{gap:4px}
  .ct-grila--doua .ct-pret__f{padding:4px 7px 5px;border-radius:10px}
  .ct-grila--doua .ct-pret__f>small{font-size:9px;letter-spacing:.08em}
  .ct .ct-grila--doua .ct-pret__f b{font-size:15px}
}

/* 22.10.2026, Adrian: în bannerul /cadouri/, produsele decupate pe transparent, fără rama-poză; umbra e deja în imagine */
.ct-p--decupat{filter:none}
.ct-p--decupat>img{display:block;width:100%;height:auto}

/* 22.10.2026, Adrian: insigna reducerii mai mare și mai vie, ca pe prima pagină (zmeuriu în degrade, inel crem, umbră caldă) */
.ct .ct-semn--reducere{padding:7px 13px;font-size:15px;font-weight:800;letter-spacing:.01em;background:linear-gradient(180deg,#E0466A,var(--rasp));box-shadow:0 0 0 2px rgba(255,253,249,.92),0 8px 18px -6px rgba(161,31,58,.7)}
@media (max-width:599px){.ct .ct-grila--doua .ct-semn--reducere{padding:5px 9px;font-size:12.5px}}

/* 22.10.2026, Adrian: cele două prețuri stau pe același rând (fără să cadă pe două rânduri): prețul tăiat stă lângă eticheta formatului,
   „de la” e mic, bilețelele se strâng; pe telefon (două carduri pe rând) rămân unul sub altul */
@media (min-width:600px){
  .ct .ct-pret--doua{flex-wrap:nowrap}
  .ct-pret__f{flex:0 1 auto;min-width:0;padding:6px 10px 7px}
}
.ct-pret__f>small{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.ct-pret__f>small s{font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink-3)}
.ct .ct-pret__f b{white-space:nowrap}
.ct .ct-pret__f b small{font-size:12px;font-weight:600;margin-right:3px;color:var(--ink-2)}

/* 22.10.2026, Adrian: nici pe telefon cele două prețuri nu cad unul sub altul în bilețele. În grila de două carduri pe rând nu încap
   două bilețele, așa că acolo formatul ales e prețul mare, pe un rând („Digital ~~67~~ de la 49 lei”), iar celălalt format e o
   notă mică dedesubt („Tipărit · de la 127 lei”), ca pe prima pagină */
@media (max-width:599px){
  .ct .ct-pret--doua{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-top:6px}
  .ct .ct-pret--doua .ct-pret__f{display:flex;flex-direction:row;align-items:baseline;flex-wrap:nowrap;gap:5px;padding:0;border-radius:0;background:none!important;box-shadow:none!important;max-width:100%}
  .ct .ct-pret--doua .ct-pret__f>small{font-size:9px;letter-spacing:.08em;color:var(--ink-3)!important}
  .ct .ct-pret--doua .ct-pret__f>small s{display:none} /* pe telefon, reducerea o spune insigna −% de pe poză */
  .ct .ct-pret--doua .ct-pret__f:first-child b{font-size:17px}
  .ct .ct-pret--doua .ct-pret__f:first-child>small{color:var(--rasp-d)!important}
  .ct .ct-pret--doua .ct-pret__f:last-child b{font:650 12.5px/1.2 var(--font-body);color:var(--ink-2)}
  .ct .ct-pret--doua .ct-pret__f:last-child b small{font-size:11px}
  .ct .ct-pret--doua .ct-pret__f:last-child>small s{display:none}
  /* filtrul „Tipărit”: tipăritul e prețul mare */
  .ct[data-ct-format="tiparit"] .ct-pret--doua .ct-pret__f--tiparit b{font:760 17px/1.1 var(--font-display);color:var(--ink)}
  .ct[data-ct-format="tiparit"] .ct-pret--doua .ct-pret__f--tiparit>small{color:var(--rasp-d)!important}
  .ct[data-ct-format="tiparit"] .ct-pret--doua .ct-pret__f--digital b{font:650 12.5px/1.2 var(--font-body);color:var(--ink-2)}
  .ct[data-ct-format="tiparit"] .ct-pret--doua .ct-pret__f--digital>small{color:var(--ink-3)!important}
  .ct[data-ct-format="tiparit"] .ct-pret--doua .ct-pret__f--digital>small s{display:none}
}

/* 22.10.2026, Adrian: tot cardul duce la produs, și poza, nu doar titlul. Corpul cardului are poziție proprie (hârtia biletului),
   deci suprafața linkului urcă de acolo peste poză (cardul o taie la margini) */
.ct-card__corp .ct-card__link::after{inset:-2000px 0 0 0}

/* 23.10.2026, Adrian: placa cardului cadou pe un singur fundal (roz), cu cardul decupat; pe telefoanele mici textul nu mai atinge marginea */
.ct-placa--deschis{background:var(--blush)}
.ct-placa__media--decupat{display:flex;align-items:center;justify-content:center;padding:6% 8%}
.ct-placa__media--decupat img{width:100%;height:auto;max-height:100%;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(120,20,45,.22));transform:rotate(-4deg)}
@media (max-width:599px){
  .ct-grila--doua .ct-placa--deschis{grid-template-columns:40% minmax(0,1fr)}
  .ct-grila--doua .ct-placa--deschis .ct-placa__media--decupat{aspect-ratio:auto;padding:14px 4px 14px 12px}
  .ct-grila--doua .ct-placa--deschis .ct-placa__text{padding:16px 16px 16px 8px;min-width:0}
  .ct .ct-grila--doua .ct-placa--deschis h3{font-size:clamp(17px,5vw,21px);overflow-wrap:anywhere}
  .ct .ct-grila--doua .ct-placa--deschis .ct-placa__text .ct-placa__supra{font-size:10.5px;letter-spacing:.1em}
  .ct .ct-grila--doua .ct-placa--deschis .ct-placa__text p{font-size:13.5px}
}
/* termenul de pe carduri: un singur rând (textele scurte din lp/categorie/cadouri.json → termen_card) */
.ct .ct-card .ct-meta{align-items:center}
.ct .ct-card .ct-meta__t{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 23.10.2026, Adrian: titlul și câmpul din primul ecran nu au voie să iasă din ecran pe niciun telefon */
.ct .ct-banner h1{overflow-wrap:break-word}
.ct-nume-camp{max-width:min(440px,100%);box-sizing:border-box}
.ct-scena{max-width:100%}

/* 23.10.2026, telefoanele foarte mici (sub 360 px): comutatorul celor două rafturi și termenul de pe carduri încap întregi */
@media (max-width:359px){
  .ct .ct-raft a{padding:8px 10px;font-size:13px;gap:4px}
  .ct .ct-card .ct-meta>svg,.ct .ct-card .ct-meta>.ic{display:none}
}
