/* =============================================================================
 *  SelfMarket — foaie de stil unică.
 *
 *  Organizare:
 *    1. Tokens (variabile CSS: culori, fonturi, raze)   ← schimbă aici tema
 *    2. Reset & bază
 *    3. Componente reutilizabile (butoane, carduri, inputuri, sumar…)
 *    4. Ecrane (header, home, catalog, produs, coș, checkout, confirmare, admin)
 *    5. Footer
 *    6. Responsive
 * ========================================================================== */

/* ----------------------------------------------------------------- 1. TOKENS */
:root {
  --bg:#f6f6f3;
  --ink:#0a0a0b;
  --ink-2:#08090b;
  --ink-hover:#26262a;
  --surface:#fff;
  --muted:#5d5d57;
  --muted-2:#8a8a82;
  --muted-3:#a3a39b;
  --muted-4:#9a9a92;
  --muted-5:#3d3d39;
  --muted-6:#7a7a72;
  --line:rgba(10,10,11,0.10);
  --line-2:rgba(10,10,11,0.12);
  --line-3:rgba(10,10,11,0.14);
  --line-4:rgba(10,10,11,0.16);
  --line-soft:rgba(10,10,11,0.08);
  --danger:#b3261e;
  --font:'Space Grotesk', sans-serif;
  --mono:'Space Mono', monospace;
  --stripe:repeating-linear-gradient(45deg,#ededea 0 9px,#f5f5f2 9px 18px);
  --stripe-2:repeating-linear-gradient(135deg,#e8e8e3 0 12px,#f1f1ec 12px 24px);
  --maxw:1280px;
}

/* ------------------------------------------------------------ 2. RESET & BAZĂ */
* { box-sizing:border-box; }
html, body { margin:0; padding:0; overflow-x:hidden; }
body {
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font);
  -webkit-font-smoothing:antialiased;
}
button { font-family:inherit; }
::selection { background:var(--ink); color:#fff; }
input::placeholder, textarea::placeholder { color:var(--muted-3); }
@keyframes sm-fade { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }

.main { padding-top:64px; }

.section { max-width:var(--maxw); margin:0 auto; padding:24px 32px; }
.section--tight { padding:30px 32px 0; }
.section--narrow { max-width:1180px; }
.section--mid { max-width:1100px; }

.mono { font-family:var(--mono); }
.muted { color:var(--muted-2); }
.muted-mono { font-family:var(--mono); font-size:12px; color:var(--muted-2); }
.hr { height:1px; background:var(--line); margin:18px 0; }
.span-2 { grid-column:span 2; }
.page-title { font-family:var(--font); font-weight:700; font-size:44px; letter-spacing:-0.035em; color:var(--ink); margin:0; }
.page-title--mb { margin-bottom:26px; }
.section__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.section__title { font-family:var(--font); font-weight:700; font-size:20px; letter-spacing:-0.02em; margin:0; }
.link-mono { background:none; border:none; cursor:pointer; font-family:var(--mono); font-size:12px; color:var(--muted); }
.link-mono:hover { color:var(--ink); }

/* --------------------------------------------------------- 3. COMPONENTE BAZĂ */
/* Butoane */
.btn {
  border:none; border-radius:999px; cursor:pointer; text-decoration:none;
  font-family:var(--font); font-weight:600; font-size:14px;
  padding:13px 22px; line-height:1;
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
}
.btn--dark { background:var(--ink); color:#fff; }
.btn--dark:hover { background:var(--ink-hover); }
.btn--outline { background:#fff; color:var(--ink); border:1px solid var(--line-4); }
.btn--outline:hover { border-color:var(--ink); }
.btn--light { background:#fff; color:var(--ink-2); font-size:13px; padding:9px 16px; }
.btn--light:hover { background:#e7e7e2; }
.btn--outline-dark {
  background:none; border:1px solid rgba(255,255,255,0.2);
  color:rgba(255,255,255,0.7); font-family:var(--mono); font-weight:400;
  font-size:11px; padding:8px 13px;
}
.btn--outline-dark:hover { border-color:#fff; color:#fff; }
.btn--invert { background:#fff; color:var(--ink); }
.btn--invert:hover { background:#d9d9d4; }
.btn--block { width:100%; }
.btn--out { background:#ececea; color:var(--muted, #8a8a82); cursor:not-allowed; }
.btn:disabled, .btn[disabled] { cursor:not-allowed; opacity:.85; }

/* Carduri */
.card { background:var(--surface); border:1px solid var(--line); border-radius:16px; overflow:hidden; }

/* Card de produs */
.card--product { cursor:pointer; transition:transform .25s ease, box-shadow .25s ease; }
.card--product:hover { transform:translateY(-6px); box-shadow:0 18px 40px rgba(10,10,11,0.12); }
.card__media {
  position:relative; background:var(--stripe);
  display:flex; align-items:flex-start; justify-content:space-between; padding:12px;
}
.card__media--square { aspect-ratio:1/1; }
.card__media--wide { aspect-ratio:4/3; }
/* imaginea reală acoperă fundalul-gradient (care rămâne fallback) */
.media-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; display:block; }
.card__media > *:not(.media-img) { position:relative; z-index:1; }
.card__cat { font-family:var(--mono); font-size:10px; color:var(--muted-3); margin-left:auto; }
.card__body { padding:14px; }
.card__name { font-family:var(--font); font-weight:600; font-size:14px; color:var(--ink); letter-spacing:-0.01em; }
.card__row { display:flex; align-items:center; justify-content:space-between; margin-top:12px; }
.card__price { font-family:var(--font); font-weight:700; font-size:16px; color:var(--ink); }
.card__price--lg { font-size:15px; margin-top:8px; }
.card--related { cursor:pointer; transition:transform .25s ease, box-shadow .25s ease; }
.card--related:hover { transform:translateY(-6px); box-shadow:0 18px 40px rgba(10,10,11,0.12); }

.add-btn {
  width:30px; height:30px; border-radius:999px; background:var(--ink); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:18px;
  font-family:var(--mono); cursor:pointer;
}
.add-btn:hover { background:var(--ink-hover); }
.add-btn--out { background:#d8d8d4; color:#fff; cursor:not-allowed; }

/* Etichete / placeholder imagine */
.badge { font-family:var(--mono); font-size:10px; background:var(--ink); color:#fff; padding:4px 8px; border-radius:6px; }
.badge--abs { position:absolute; top:16px; left:16px; font-size:11px; padding:5px 10px; border-radius:7px; }
.badge--out { position:absolute; top:16px; right:16px; background:#c0392b; }
.card--out .card__media .media-img { opacity:.55; }
.img-ph { background:var(--stripe); position:relative; overflow:hidden; }
.img-ph--square { aspect-ratio:1/1; }
.product__hero .badge--abs { z-index:1; }

/* Grile */
.grid { display:grid; gap:14px; }
.grid--3 { grid-template-columns:repeat(3,1fr); }
.grid--4 { grid-template-columns:repeat(4,1fr); }

/* Inputuri */
.label { font-family:var(--mono); font-size:11px; color:var(--muted-2); letter-spacing:0.06em; display:block; margin-bottom:7px; }
.input { width:100%; background:var(--bg); border:1px solid var(--line-3); border-radius:10px; padding:11px 13px; font-family:var(--font); font-size:14px; color:var(--ink); outline:none; }
.input--mono { font-family:var(--mono); }
.textarea { width:100%; min-height:70px; background:var(--bg); border:1px solid var(--line-3); border-radius:10px; padding:11px 13px; font-family:var(--font); font-size:14px; color:var(--ink); outline:none; resize:vertical; }
.textarea--mono { font-family:var(--mono); font-size:13px; min-height:90px; }
.select { background:var(--bg); border:1px solid var(--line-2); border-radius:8px; padding:6px 11px; color:var(--ink); font-family:var(--mono); font-size:12px; outline:none; }
.form-error { margin-top:16px; font-family:var(--mono); font-size:12px; color:var(--danger); }

/* Stepper cantitate */
.stepper { display:flex; align-items:center; background:#fff; border:1px solid var(--line-3); border-radius:999px; overflow:hidden; }
.stepper__btn { width:44px; height:48px; border:none; background:none; cursor:pointer; font-family:var(--mono); font-size:18px; color:var(--ink); }
.stepper__val { width:40px; text-align:center; font-family:var(--font); font-weight:600; font-size:16px; color:var(--ink); }
.stepper--sm { background:var(--bg); border-color:var(--line-2); }
.stepper--sm .stepper__btn { width:34px; height:38px; font-size:16px; }
.stepper--sm .stepper__val { width:30px; font-size:14px; }

/* Sumar comandă (panou întunecat) */
.summary { position:sticky; top:88px; background:var(--ink); border-radius:20px; padding:26px; }
.summary__label { font-family:var(--mono); font-size:11px; color:rgba(255,255,255,0.45); letter-spacing:0.12em; margin-bottom:18px; }
.summary__row { display:flex; justify-content:space-between; padding:9px 0; font-family:var(--font); font-size:14px; color:rgba(255,255,255,0.7); }
.summary__row--sm { padding:5px 0; font-size:13px; color:rgba(255,255,255,0.6); }
.summary__line { display:flex; justify-content:space-between; padding:7px 0; font-family:var(--font); font-size:13px; color:rgba(255,255,255,0.7); }
.summary__val { color:#fff; }
.summary__hr { height:1px; background:rgba(255,255,255,0.14); margin:14px 0; }
.summary__total { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:20px; font-family:var(--font); font-weight:600; font-size:16px; color:#fff; }
.summary__total-val { font-family:var(--font); font-weight:700; font-size:28px; letter-spacing:-0.02em; color:#fff; }
.summary__secure { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:14px; font-family:var(--mono); font-size:11px; color:rgba(255,255,255,0.4); }
.summary .btn--block { height:50px; font-size:15px; }

/* Stare goală */
.empty { background:#fff; border:1px solid var(--line); border-radius:18px; padding:60px; text-align:center; }
.empty .btn { margin-top:20px; }

/* ------------------------------------------------------------- 4a. HEADER */
.header {
  position:fixed; top:0; left:0; right:0; height:64px; z-index:100;
  display:flex; align-items:center; justify-content:space-between; padding:0 26px;
  background:rgba(8,9,11,0.78); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.brand { display:flex; align-items:center; gap:11px; cursor:pointer; text-decoration:none; color:inherit; }
.brand__mark { width:24px; height:24px; border-radius:7px; background:#fff; display:flex; align-items:center; justify-content:center; }
.brand__dot { width:9px; height:9px; background:var(--ink-2); border-radius:2px; }
.brand__name { font-family:var(--font); font-weight:700; font-size:16px; letter-spacing:-0.02em; color:#fff; }
.brand__tag { font-family:var(--mono); font-size:10px; color:rgba(255,255,255,0.42); letter-spacing:0.12em; }
.header__admin-label { font-family:var(--mono); font-size:12px; color:rgba(255,255,255,0.6); letter-spacing:0.16em; }
.nav { display:flex; gap:2px; }
.nav__item { position:relative; background:none; border:none; cursor:pointer; font-family:var(--font); font-size:13px; font-weight:500; color:rgba(255,255,255,0.66); padding:9px 15px; }
.nav__item:hover, .nav__item.is-active { color:#fff; }
.nav__item.is-active::after { content:''; position:absolute; left:15px; right:15px; bottom:5px; height:2px; background:#fff; }
.header__actions { display:flex; align-items:center; gap:12px; }
.search { background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12); border-radius:999px; padding:9px 16px; width:200px; font-family:var(--mono); font-size:12px; color:#fff; outline:none; }
.cart-btn { display:flex; align-items:center; gap:9px; }
.cart-btn__count { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 5px; background:var(--ink-2); color:#fff; border-radius:999px; font-family:var(--mono); font-size:10px; }

/* hamburger (doar pe mobil) */
.hamburger { position:relative; z-index:101; display:none; flex-direction:column; justify-content:center; gap:4px; width:38px; height:38px; background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12); border-radius:10px; cursor:pointer; padding:0 9px; }
.hamburger span { display:block; height:2px; background:#fff; border-radius:2px; pointer-events:none; }

/* meniu mobil (panou sub header) */
.mobile-menu { display:none; position:fixed; top:64px; left:0; right:0; z-index:99; background:rgba(8,9,11,0.96); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); border-bottom:1px solid rgba(255,255,255,0.08); padding:16px; flex-direction:column; gap:6px; }
.mobile-menu__search { background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12); border-radius:12px; padding:12px 14px; font-family:var(--mono); font-size:13px; color:#fff; outline:none; margin-bottom:8px; }
.mobile-menu__item { text-align:left; background:none; border:none; cursor:pointer; font-family:var(--font); font-size:16px; font-weight:500; color:rgba(255,255,255,0.8); padding:12px 6px; border-radius:10px; }
.mobile-menu__item.is-active, .mobile-menu__item:hover { color:#fff; background:rgba(255,255,255,0.06); }

/* toast „adăugat în coș” */
@keyframes toast-in { from { opacity:0; transform:translate(-50%, 12px); } to { opacity:1; transform:translate(-50%, 0); } }
.toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:200; display:flex; align-items:center; gap:9px; background:var(--ink); color:#fff; padding:13px 22px; border-radius:999px; font-family:var(--font); font-weight:600; font-size:14px; box-shadow:0 16px 40px rgba(10,10,11,0.28); animation:toast-in .25s ease; }
.toast__check { display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:999px; background:#fff; color:var(--ink); font-size:11px; }

/* stare „0 rezultate” la catalog */
.empty--results { display:flex; flex-direction:column; align-items:center; gap:16px; }

/* ------------------------------------------------------------- 4b. HOME */
.hero { padding:60px 32px 36px; display:flex; align-items:flex-end; justify-content:space-between; gap:40px; flex-wrap:wrap; animation:sm-fade .6s ease both; }
.hero__main { max-width:680px; }
.eyebrow { font-family:var(--mono); font-size:12px; color:var(--muted-2); letter-spacing:0.14em; margin-bottom:22px; }
.hero__title { font-family:var(--font); font-weight:700; font-size:72px; line-height:0.98; letter-spacing:-0.035em; color:var(--ink); margin:0; white-space:pre-line; }
.hero__sub { font-family:var(--font); font-size:17px; line-height:1.5; color:var(--muted); margin:24px 0 0; max-width:480px; }
.hero__cta { display:flex; gap:12px; margin-top:30px; }
.hero__cta .btn { padding:15px 26px; font-size:15px; }
.hero__stats { display:flex; gap:34px; animation:sm-fade .6s ease .1s both; }
.stat__num { font-family:var(--font); font-weight:700; font-size:34px; letter-spacing:-0.02em; color:var(--ink); }
.stat__label { font-family:var(--mono); font-size:11px; color:var(--muted-2); margin-top:4px; }

.tiles { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:172px; gap:14px; }
.tile { position:relative; border-radius:18px; overflow:hidden; cursor:pointer; background:#fff; border:1px solid rgba(10,10,11,0.07); transition:transform .3s ease, box-shadow .3s ease; }
.tile:hover { transform:translateY(-4px); box-shadow:0 20px 50px rgba(10,10,11,0.13); }
.tile--big, .tile--tall, .tile--wide { background:var(--stripe-2); }
.tile--dark { background:var(--ink); }
.tile__inner { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:space-between; padding:20px; }
.tile__meta { font-family:var(--mono); font-size:11px; color:var(--muted-6); }
.tile--dark .tile__meta { color:rgba(255,255,255,0.4); }
.tile__name { font-family:var(--font); font-weight:700; font-size:19px; letter-spacing:-0.02em; color:var(--ink); }
.tile--dark .tile__name { color:#fff; }
.tile--big .tile__name { font-size:38px; }
.tile--tall .tile__name, .tile--wide .tile__name { font-size:24px; }
.tile__pill { display:inline-flex; align-items:center; gap:7px; margin-top:12px; background:var(--ink); color:#fff; border-radius:999px; padding:8px 15px; font-family:var(--font); font-size:13px; font-weight:500; }
/* copertă colecție (imagine de fundal în dală) + gradient pentru lizibilitate */
.tile__media { position:absolute; inset:0; overflow:hidden; }
.tile__media img { width:100%; height:100%; object-fit:cover; object-position:center 26%; opacity:0; transition:opacity .5s ease, transform .45s ease; }
.tile__media img.is-loaded { opacity:1; }
.tile:hover .tile__media img { transform:scale(1.06); }
.tile__scrim { position:absolute; inset:0; pointer-events:none; background:linear-gradient(165deg, rgba(10,10,11,0.34) 0%, rgba(10,10,11,0.04) 40%, rgba(10,10,11,0.80) 100%); }
.tile--media .tile__inner { z-index:1; }
.tile--media .tile__meta { color:rgba(255,255,255,0.72); }
.tile--media .tile__name { color:#fff; text-shadow:0 1px 14px rgba(0,0,0,0.35); }

/* ------------------------------------------------------------- 4c. CATALOG */
.breadcrumb { font-family:var(--mono); font-size:12px; color:var(--muted-2); letter-spacing:0.08em; }
.breadcrumb__link { cursor:pointer; }
.breadcrumb__link:hover { color:var(--ink); }
.breadcrumb__current { color:var(--ink); }
.listing__head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-top:18px; flex-wrap:wrap; }
.listing__title { font-family:var(--font); font-weight:700; font-size:52px; letter-spacing:-0.035em; color:var(--ink); margin:0; }
.listing { display:grid; grid-template-columns:248px 1fr; gap:30px; align-items:start; padding-bottom:70px; }
.sidebar { position:sticky; top:88px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:22px; }
.sidebar__label { font-family:var(--mono); font-size:11px; color:var(--muted-2); letter-spacing:0.12em; margin-bottom:14px; }
.sidebar__heading { font-family:var(--font); font-weight:600; font-size:13px; color:var(--ink); margin-bottom:12px; }
.side-cat { display:block; width:100%; text-align:left; background:transparent; color:var(--muted-5); border:none; border-radius:9px; cursor:pointer; font-family:var(--font); font-size:13px; font-weight:500; padding:9px 11px; margin-bottom:3px; }
.side-cat.is-active { background:var(--ink); color:#fff; }
.range { position:relative; height:24px; margin:0 7px 10px; }
.range::before { content:''; position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); height:4px; background:var(--line-2); border-radius:999px; }
.range__fill { position:absolute; top:50%; transform:translateY(-50%); height:4px; background:var(--ink); border-radius:999px; }
.range__input { position:absolute; left:0; right:0; top:0; width:100%; height:24px; margin:0; background:none; pointer-events:none; -webkit-appearance:none; appearance:none; }
.range__input:focus { outline:none; }
.range__input::-webkit-slider-runnable-track { background:none; border:none; }
.range__input::-moz-range-track { background:none; border:none; }
.range__input::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:16px; height:16px; border-radius:999px; background:#fff; border:2px solid var(--ink); cursor:pointer; pointer-events:auto; }
.range__input::-moz-range-thumb { width:16px; height:16px; border-radius:999px; background:#fff; border:2px solid var(--ink); cursor:pointer; pointer-events:auto; box-sizing:border-box; }
.range__reset { margin:0 0 12px; }
.range__labels { display:flex; justify-content:space-between; font-family:var(--mono); font-size:11px; color:var(--muted-2); }
.toolbar { display:flex; align-items:center; justify-content:flex-end; background:#fff; border:1px solid var(--line); border-radius:14px; padding:12px 16px; margin-bottom:18px; }
.toolbar__sort { display:flex; align-items:center; gap:8px; font-family:var(--mono); font-size:12px; color:var(--muted); }

/* ------------------------------------------------------------- 4d. PRODUS */
.product { display:grid; grid-template-columns:1.05fr 0.95fr; gap:44px; align-items:start; padding-top:24px; padding-bottom:50px; }
.product__gallery { position:sticky; top:88px; }
.product__hero { position:relative; aspect-ratio:1/1; border-radius:20px; overflow:hidden; background:var(--stripe); border:1px solid var(--line-soft); display:flex; align-items:center; justify-content:center; }
.product__hero-label { font-family:var(--mono); font-size:13px; color:var(--muted-3); }
.product__thumbs { display:flex; gap:12px; margin-top:14px; }
.thumb { flex:1; aspect-ratio:1/1; border-radius:12px; background:var(--stripe); border:2px solid transparent; cursor:pointer; display:flex; align-items:flex-end; padding:8px; }
.thumb.is-active { border-color:var(--ink); }
.thumb__label { font-family:var(--mono); font-size:10px; color:var(--muted-4); }
.product__cat { font-family:var(--mono); font-size:12px; color:var(--muted-2); letter-spacing:0.1em; }
.product__title { font-family:var(--font); font-weight:700; font-size:42px; letter-spacing:-0.03em; color:var(--ink); margin:12px 0 0; line-height:1.05; }
.product__rating { display:flex; align-items:center; gap:14px; margin-top:14px; font-family:var(--mono); font-size:13px; color:var(--ink); }
.product__price-row { display:flex; align-items:baseline; gap:12px; margin:24px 0; flex-wrap:wrap; }
.product__price { font-family:var(--font); font-weight:700; font-size:40px; letter-spacing:-0.02em; color:var(--ink); }
.product__vat { font-family:var(--mono); font-size:11px; color:var(--muted-2); letter-spacing:.04em; }
.product__desc { font-family:var(--font); font-size:15px; line-height:1.6; color:var(--muted); margin:0 0 24px; max-width:460px; }
.product__sizes { margin:0 0 24px; }
.product__sizes-label { font-family:var(--mono); font-size:11px; letter-spacing:0.04em; color:var(--muted-2); margin-bottom:10px; }
.size-grid { display:flex; flex-wrap:wrap; gap:8px; }
.size-btn { min-width:48px; height:44px; padding:0 14px; border:1px solid var(--line); border-radius:12px; background:#fff; cursor:pointer; font-family:var(--mono); font-size:14px; color:var(--ink); transition:border-color .15s, background .15s, color .15s; }
.size-btn:hover { border-color:var(--ink); }
.size-btn.is-active { background:var(--ink); border-color:var(--ink); color:#fff; }
/* mărime fără stoc: tăiată, ștearsă, dar încă selectabilă (ca să apară „Stoc epuizat”) */
.size-btn.is-out { color:var(--muted-2); border-style:dashed; text-decoration:line-through; opacity:.6; background:#fafafa; }
.size-btn.is-out:hover { border-color:var(--line); }
.size-btn.is-out.is-active { background:#3a3a40; border-color:#3a3a40; color:#fff; opacity:1; text-decoration:line-through; }
.size-stock { font-family:var(--mono); color:var(--muted-2); }
.size-stock--out { color:#c0392b; font-weight:600; text-decoration:none; }
.size-stock--low { color:#c47a17; font-weight:600; }
/* admin: grilă stoc pe mărime */
.sizestock-grid { display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }
.sizestock-cell { display:flex; flex-direction:column; gap:4px; width:84px; }
.sizestock-cell__sz { font-family:var(--mono); font-size:12px; color:var(--muted-2); letter-spacing:.04em; }
.sizestock-cell .input { text-align:center; }
.cart-item__size { margin-top:2px; }
.product__buy { display:flex; gap:12px; align-items:center; margin-bottom:24px; }
.product__buy .btn--block { height:48px; font-size:15px; }
.specs { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.spec { background:#fff; padding:16px; }
.spec__k { font-family:var(--mono); font-size:11px; color:var(--muted-2); }
.spec__v { font-family:var(--font); font-weight:600; font-size:15px; color:var(--ink); margin-top:5px; }
.related__title { font-family:var(--font); font-weight:700; font-size:22px; letter-spacing:-0.02em; color:var(--ink); margin:0 0 18px; }

/* ------------------------------------------------------------- 4e. COȘ */
.cart__head { display:flex; align-items:baseline; gap:14px; padding-bottom:16px; }
.cart__clear { margin-left:auto; color:var(--danger); }
.cart__clear:hover { color:var(--ink); }
.cart__grid { display:grid; grid-template-columns:1fr 380px; gap:28px; align-items:start; padding-bottom:90px; }
.cart__items { display:flex; flex-direction:column; gap:14px; }
.cart-item { display:flex; gap:16px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px; align-items:center; }
.cart-item__img { width:88px; height:88px; border-radius:12px; flex-shrink:0; }
.cart-item__info { flex:1; }
.cart-item__name { font-family:var(--font); font-weight:600; font-size:16px; color:var(--ink); margin-top:4px; letter-spacing:-0.01em; }
.cart-item__remove { display:inline-flex; width:max-content; background:none; border:none; padding:0; font-family:var(--mono); font-size:11px; color:var(--muted-4); margin-top:8px; cursor:pointer; }
.cart-item__remove:hover { color:var(--ink); }
.cart-item__warn { font-family:var(--mono); font-size:12px; color:#c0392b; margin-top:6px; font-weight:600; }
.cart-item--issue { outline:1px solid rgba(192,57,43,.35); outline-offset:4px; border-radius:8px; }
.summary__vat { font-size:11px; opacity:.7; margin:-12px 0 16px; }
.summary__warn { font-family:var(--mono); font-size:12px; color:#ffd2cc; background:rgba(192,57,43,.25); border:1px solid rgba(192,57,43,.5); padding:10px 12px; border-radius:8px; margin-bottom:12px; line-height:1.4; }
.cart-item__line { font-family:var(--font); font-weight:700; font-size:17px; color:var(--ink); width:96px; text-align:right; }

/* ------------------------------------------------------------- 4f. CHECKOUT */
.checkout__grid { display:grid; grid-template-columns:1fr 360px; gap:28px; align-items:start; }
.form-card { background:#fff; border:1px solid var(--line); border-radius:18px; padding:26px; }
.form-card__title { font-family:var(--font); font-weight:600; font-size:16px; color:var(--ink); margin-bottom:18px; }
.form-card__title--mt { margin:26px 0 14px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.pay-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pay { border:2px solid var(--line-3); border-radius:12px; padding:14px; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pay.is-active { border-color:var(--ink); }
.pay:focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
.pay.is-disabled { opacity:0.5; cursor:not-allowed; }
.pay__name { font-family:var(--font); font-weight:600; font-size:14px; color:var(--ink); }
.pay__dot { width:16px; height:16px; border-radius:999px; border:1.5px solid rgba(10,10,11,0.3); flex-shrink:0; }
.pay.is-active .pay__dot { border:5px solid var(--ink); }
.checkout__card { margin-top:14px; }
.checkout__secure-note { display:flex; align-items:flex-start; gap:10px; margin-top:14px; padding:12px 14px; border:1px solid var(--line-3); border-radius:12px; background:var(--bg-soft, #f7f7f5); font-family:var(--font); font-size:13px; line-height:1.5; color:var(--muted-5); }
.checkout__secure-icon { flex-shrink:0; font-size:15px; line-height:1.4; }

/* ------------------------------------------------------------- 4g. CONFIRMARE */
.confirm { max-width:760px; padding-top:70px; padding-bottom:90px; }
.confirm__card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:44px; text-align:center; }
.confirm__check { width:56px; height:56px; border-radius:999px; background:var(--ink); display:flex; align-items:center; justify-content:center; margin:0 auto 22px; color:#fff; font-size:26px; font-family:var(--mono); }
.confirm__title { font-family:var(--font); font-weight:700; font-size:34px; letter-spacing:-0.03em; color:var(--ink); margin:0; }
.confirm__text { font-family:var(--font); font-size:15px; color:var(--muted); margin:12px 0 0; }
.confirm__meta { display:inline-flex; gap:30px; margin:28px 0; padding:18px 26px; background:var(--bg); border-radius:14px; }
.confirm__meta-val { font-family:var(--font); font-weight:700; font-size:18px; color:var(--ink); margin-top:4px; }
.confirm__actions { display:flex; gap:12px; justify-content:center; }
.confirm__actions .btn { padding:13px 24px; }

/* ------------------------------------------------------------- 4h. ADMIN */
.admin { display:grid; grid-template-columns:220px 1fr; gap:28px; align-items:start; padding-bottom:70px; }
.admin-nav { position:sticky; top:88px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:16px; }
.admin-nav__item { display:block; width:100%; text-align:left; background:transparent; color:var(--muted-5); border:none; border-radius:10px; cursor:pointer; font-family:var(--font); font-size:14px; font-weight:500; padding:11px 13px; margin-bottom:4px; }
.admin-nav__item.is-active { background:var(--ink); color:#fff; }
.admin__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }

.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:14px; }
.stat-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px; }
.stat-card--dark { background:var(--ink); border-color:var(--ink); }
.stat-card--dark .muted-mono { color:rgba(255,255,255,0.5); }
.stat-card__num { font-family:var(--font); font-weight:700; font-size:32px; color:var(--ink); margin-top:8px; }
.stat-card--dark .stat-card__num { color:#fff; font-size:28px; }

.panel { padding:22px; }
.panel__title { font-family:var(--font); font-weight:600; font-size:16px; color:var(--ink); margin-bottom:16px; }
.ord-row { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--line-soft); }
.ord-row__l, .ord-row__r { display:flex; align-items:center; gap:18px; }
.ord-row__l .mono, .otable__row .mono { font-size:13px; color:var(--ink); }
.ord-row__cust { font-family:var(--font); font-size:14px; color:var(--muted-5); }
.ord-row__total { font-family:var(--font); font-weight:700; font-size:15px; color:var(--ink); }

.editor { padding:24px; margin-bottom:18px; }
.editor__title { font-family:var(--font); font-weight:600; font-size:17px; color:var(--ink); margin-bottom:18px; }
.editor__actions { display:flex; gap:10px; margin-top:18px; }
.form-grid--cat { grid-template-columns:1fr 2fr; }

.ptable__head, .ptable__row { display:grid; grid-template-columns:2fr 1.2fr 1fr 0.8fr 130px; gap:14px; padding:14px 20px; align-items:center; }
.ptable__head { background:var(--bg); font-family:var(--mono); font-size:11px; color:var(--muted-2); letter-spacing:0.06em; }
.ptable__row { border-top:1px solid var(--line-soft); }
.ptable__name { display:flex; align-items:center; gap:12px; }
.ptable__thumb { width:36px; height:36px; border-radius:8px; flex-shrink:0; }
.ptable__pname { font-family:var(--font); font-weight:600; font-size:14px; color:var(--ink); }
.ptable__cat { font-family:var(--font); font-size:13px; color:var(--muted); }
.ptable__price { font-family:var(--font); font-weight:600; font-size:14px; color:var(--ink); }
.ptable__stock { font-family:var(--mono); font-size:13px; color:var(--muted); }
.ptable__actions { display:flex; gap:8px; justify-content:flex-end; }
.chip { background:var(--bg); border:1px solid var(--line-2); border-radius:8px; padding:7px 12px; font-family:var(--mono); font-size:11px; color:var(--ink); cursor:pointer; }
.chip:hover { border-color:var(--ink); }
.chip--danger { color:var(--danger); }
.chip--danger:hover { border-color:var(--danger); }
.chip--ok { color:#1f7a3d; border-color:#bfe0c9; background:#f1faf3; cursor:default; }

/* plăți de rambursat (admin → Comenzi) */
.btn--danger { background:var(--danger); color:#fff; }
.btn--danger:hover { background:#8f1e17; }
.btn--sm { padding:9px 14px; font-size:13px; }
.panel--warn { border:1px solid #f0d2a8; background:#fff9f0; margin-bottom:18px; }
.panel__hint { margin:-8px 0 14px; line-height:1.5; }
.refund-row { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:13px 0; border-top:1px solid var(--line-soft); }
.refund-row__main { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.refund-row__cust { font-family:var(--font); font-weight:600; font-size:14px; color:var(--ink); }
.refund-row__meta { display:flex; align-items:center; gap:14px; }
.refund-row__ref { font-size:11px; }
.refund-row__total { font-family:var(--font); font-weight:700; font-size:15px; color:var(--ink); }

/* lista de comenzi (admin → Comenzi) — rând pliabil cu detalii */
.ord-list { display:flex; flex-direction:column; gap:10px; }
.ord-item { background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.ord-item.is-open { border-color:var(--line-4); }
.ord-item__row { width:100%; display:grid; grid-template-columns:auto 1.4fr auto auto auto auto 20px; gap:14px; align-items:center;
  padding:15px 18px; background:none; border:0; cursor:pointer; text-align:left; font:inherit; }
.ord-item__row:hover { background:var(--bg); }
.ord-item__cust { font-family:var(--font); font-weight:600; font-size:14px; color:var(--ink); }
.ord-item__date { justify-self:start; }
.ord-item__total { font-family:var(--font); font-weight:700; font-size:15px; color:var(--ink); justify-self:end; }
.ord-item__chev { color:var(--muted-2); font-size:12px; justify-self:end; }
.ord-item__pay { font-family:var(--mono); font-size:11px; letter-spacing:0.04em; color:var(--muted-2);
  border:1px solid var(--line-3); border-radius:999px; padding:3px 10px; white-space:nowrap; }
.ord-item__pay.is-paid { color:#1f7a3d; border-color:#bfe0c9; background:#f1faf3; }
.ord-item__pay.is-refunded { color:var(--danger); border-color:#f0c2bf; background:#fdf2f1; }
.odetail { padding:4px 18px 18px; border-top:1px solid var(--line-soft); }
.odetail__cols { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:14px 0; }
.odetail__h { font-family:var(--mono); font-size:11px; letter-spacing:0.06em; color:var(--muted-2); margin-bottom:8px; }
.odetail__kv { font-family:var(--font); font-size:14px; color:var(--ink); line-height:1.5; }
.odetail__kv a { color:var(--ink); text-decoration:underline; }
.odetail__items { border-top:1px solid var(--line-soft); padding-top:12px; }
.odetail__line, .odetail__sub { display:flex; justify-content:space-between; font-family:var(--font); font-size:14px; color:var(--muted-5); padding:4px 0; }
.odetail__line span:last-child, .odetail__sub span:last-child { color:var(--ink); }
.odetail__sub--total { border-top:1px solid var(--line-soft); margin-top:6px; padding-top:10px; font-weight:700; font-size:15px; color:var(--ink); }
.odetail__sub--total span { color:var(--ink) !important; }
.odetail__foot { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  margin-top:14px; padding-top:14px; border-top:1px solid var(--line-soft); }
.odetail__ref { font-family:var(--mono); font-size:11px; color:var(--muted); }
.odetail__refund { display:flex; gap:8px; flex-wrap:wrap; }
.refund-box { display:flex; flex-direction:column; gap:9px; width:100%; }
.refund-box__hint { line-height:1.5; max-width:560px; }
.refund-box__btns, .refund-box__custom { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.refund-amount { width:120px; }

/* CTA-uri retur (confirmare + pagina Politica de retur) */
.confirm__note { margin-top:18px; line-height:1.6; }
.linkbtn { background:none; border:0; padding:0; cursor:pointer; color:var(--ink); font:inherit; text-decoration:underline; }
.linkbtn:hover { opacity:.7; }
.page-cta { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }

/* formular cerere de retur (client) */
.checkout__grid--single { grid-template-columns:minmax(0,640px); justify-content:center; }

/* tab Retururi (admin) + badge în navigație */
.admin-nav__badge { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px;
  margin-left:8px; padding:0 5px; border-radius:999px; background:var(--danger); color:#fff;
  font-family:var(--mono); font-size:10px; font-weight:700; vertical-align:middle; }
.ret-list { display:flex; flex-direction:column; gap:12px; }
.ret-card { padding:18px; }
.ret-card__head { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.ret-card__head .mono { font-size:13px; color:var(--ink); }
.ret-card__cust { font-family:var(--font); font-weight:600; font-size:14px; color:var(--ink); }
.ret-status { margin-left:auto; font-family:var(--mono); font-size:11px; letter-spacing:0.04em;
  border-radius:999px; padding:3px 10px; border:1px solid var(--line-3); }
.ret-status--pending { color:#9a6b00; border-color:#f0d8a0; background:#fff8ea; }
.ret-status--ok { color:#1f7a3d; border-color:#bfe0c9; background:#f1faf3; }
.ret-status--rejected { color:var(--danger); border-color:#f0c2bf; background:#fdf2f1; }
.ret-card__email { margin-top:8px; }
.ret-card__reason { font-family:var(--font); font-size:14px; color:var(--muted-5); line-height:1.55; margin-top:6px;
  padding:10px 12px; background:var(--bg); border-radius:10px; }
.ret-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:14px; }

.cat-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.cat-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.cat-card__main { display:flex; align-items:center; gap:14px; min-width:0; }
.cat-card__thumb { width:52px; height:52px; border-radius:10px; flex-shrink:0; overflow:hidden; }
.cat-card__thumb--empty { background:var(--stripe-2); }
.cat-card__name { font-family:var(--font); font-weight:600; font-size:16px; color:var(--ink); }
.cat-card__meta { margin-top:5px; }
.cat-card__actions { display:flex; gap:8px; flex-shrink:0; }
/* editor: imagine de copertă categorie */
.cat-img { margin-top:18px; }
.cat-img__row { display:flex; gap:16px; align-items:flex-start; margin-top:8px; }
.cat-img__preview { width:132px; height:132px; border-radius:14px; overflow:hidden; flex-shrink:0; background:var(--stripe-2); border:1px solid var(--line); }
.cat-img__preview img { width:100%; height:100%; object-fit:cover; object-position:center 26%; }
.cat-img__preview--empty { display:flex; align-items:center; justify-content:center; text-align:center; }
.cat-img__controls { flex:1; min-width:0; display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.cat-img__upload { cursor:pointer; }
.cat-img__hint { margin-top:2px; }
.cat-img__controls .input { width:100%; }
.cat-img__controls .textarea { width:100%; }
.product-img { margin-top:0; }

.otable__row { display:grid; grid-template-columns:0.8fr 1.4fr 1fr 0.7fr 1fr; gap:14px; padding:16px 20px; border-bottom:1px solid var(--line-soft); align-items:center; }
.otable__cust { font-family:var(--font); font-size:14px; color:var(--ink); }
.otable__total { font-family:var(--font); font-weight:700; font-size:15px; color:var(--ink); text-align:right; }
.empty--card { padding:50px; }

.settings { padding:24px; max-width:640px; }
.settings__grid { display:grid; gap:16px; }
.settings__short { max-width:220px; }
.settings__note { margin:14px 0 0; line-height:1.5; }

/* urmărire comandă (pagina de tracking, pe fundal deschis) */
.track-result { margin-top:0; }
.track-result__head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.track-badge { font-family:var(--font); font-weight:600; font-size:13px; color:#fff; background:var(--ink); border-radius:999px; padding:5px 12px; }
.track-badge--off { background:#c0392b; }
.track-badge--sm { font-size:11px; padding:3px 9px; }
.track-steps { display:flex; gap:6px; margin:6px 0 18px; }
.track-step { flex:1; text-align:center; position:relative; }
.track-step__dot { display:flex; align-items:center; justify-content:center; width:26px; height:26px; margin:0 auto 7px; border-radius:999px; background:#ececea; color:var(--muted-2); font-size:13px; font-weight:700; border:2px solid var(--line-3); }
.track-step.is-done .track-step__dot { background:linear-gradient(135deg,#8b7bff,#48a7ff); color:#fff; border-color:transparent; }
.track-step.is-current .track-step__dot { box-shadow:0 0 0 4px rgba(139,123,255,0.18); }
.track-step__label { font-family:var(--mono); font-size:10.5px; color:var(--muted-2); letter-spacing:0.02em; }
.track-step.is-done .track-step__label { color:var(--ink); }
.track-step:not(:last-child)::after { content:""; position:absolute; top:13px; left:calc(50% + 18px); right:calc(-50% + 18px); height:2px; background:var(--line-3); }
.track-step.is-done:not(:last-child)::after { background:linear-gradient(90deg,#8b7bff,#48a7ff); }
.track-awb { display:flex; align-items:center; gap:10px; background:var(--bg); border:1px solid var(--line-3); border-radius:10px; padding:12px 14px; margin-bottom:12px; }
.track-awb strong { font-family:var(--mono); font-size:14px; color:var(--ink); }
.track-awb__courier { font-family:var(--mono); font-size:12px; color:var(--muted-2); margin-left:auto; }
.track-awb__pending { padding:12px 14px; background:var(--bg); border:1px dashed var(--line-3); border-radius:10px; margin-bottom:12px; }
.track-meta { line-height:1.5; }

/* admin: editor de onorare comandă (status + AWB + curier) */
.odetail__fulfill { background:var(--bg); border:1px solid var(--line-2); border-radius:12px; padding:14px 16px; margin-bottom:14px; }
.odetail__fulfill .odetail__h { margin-bottom:10px; }
.fulfill-grid { display:grid; grid-template-columns:160px 1fr 1fr; gap:12px; margin-bottom:12px; }
.fulfill-f { display:block; }
.fulfill-f .label { margin-bottom:6px; }
@media (max-width:720px){ .fulfill-grid { grid-template-columns:1fr; } }
.awb-auto-row { margin-bottom:14px; }
.awb-auto { font-family:var(--mono); font-size:12px; line-height:1.5; }
.awb-auto--done { background:#eef6f0; border:1px solid rgba(84,214,160,.5); border-radius:8px; padding:10px 12px; color:var(--ink); }
.awb-auto--done a, .awb-auto--done strong { color:var(--ink); }
.awb-locker { margin-top:6px; }
.invoice-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:12px; padding-top:12px; border-top:1px dashed var(--line-3); }
.invoice-badge { font-family:var(--mono); font-size:12px; background:#eef0ff; border:1px solid rgba(139,123,255,.4); color:var(--ink); border-radius:8px; padding:6px 10px; }

/* lista de facturi (admin → Facturi) */
.inv-list { display:flex; flex-direction:column; gap:8px; }
.inv-row { display:grid; grid-template-columns:120px 100px 1fr 90px 90px 90px auto; align-items:center; gap:12px; background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:12px 14px; font-size:13px; }
.inv-row__no { font-weight:700; }
.inv-row__cust { font-family:var(--font); color:var(--ink); }
.inv-row__total { font-family:var(--font); font-weight:700; text-align:right; }
@media (max-width:760px){ .inv-row { grid-template-columns:1fr 1fr; } .inv-row__cust{ grid-column:1 / -1; } }

/* admin → Recenzii (moderare) */
.rev-list { display:flex; flex-direction:column; gap:10px; }
.rev { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:14px 16px; }
.rev__head { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:8px; }
.rev__stars { letter-spacing:1px; }
.rev__author { font-family:var(--font); font-weight:600; font-size:14px; color:var(--ink); }
.rev__prod { }
.rev__date { margin-left:auto; }
.rev__del { color:var(--danger); }
.rev__text { font-family:var(--font); font-size:14px; line-height:1.5; color:var(--muted-5); }

/* admin → Abonați newsletter */
.sub-tools { display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.sub-list { display:flex; flex-direction:column; gap:6px; }
.subrow { display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:10px 14px; }
.subrow__mail { font-family:var(--mono); font-size:13px; color:var(--ink); text-decoration:none; }
.subrow__mail:hover { text-decoration:underline; }
.subrow__del { color:var(--danger); }

/* admin → Newsletter: editor pe blocuri + previzualizare */
.np-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:8px; }
.np-edit__lbl { margin-bottom:8px; }
.blk { border:1px solid var(--line-3); border-radius:10px; padding:12px; margin-bottom:10px; background:var(--bg); }
.blk__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.blk__label { font-family:var(--mono); font-size:11px; letter-spacing:0.06em; color:var(--muted-2); text-transform:uppercase; }
.blk__ctrl { display:flex; gap:10px; align-items:center; }
.blk__del { color:var(--danger); }
.blk__body { display:flex; flex-direction:column; gap:8px; }
.blk-add { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.np-preview .np { border:1px solid var(--line-3); border-radius:12px; background:#fff; padding:18px; min-height:120px; }
.np__h { font-family:var(--font); font-size:20px; font-weight:700; margin:10px 0 4px; color:var(--ink); }
.np__t { font-family:var(--font); font-size:14px; line-height:1.6; color:var(--muted-5); margin:6px 0; }
.np__img { width:100%; border-radius:8px; display:block; margin:8px 0; }
.np__btn { margin:8px 0; }
.np__hr { border:none; border-top:1px solid var(--line-3); margin:12px 0; }
.np-send { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.np-send .input { flex:1; min-width:180px; }
.camp-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--line-soft); font-size:13px; }
.camp-row__subj { font-family:var(--font); font-weight:600; color:var(--ink); }
@media (max-width:760px){ .np-grid { grid-template-columns:1fr; } }

/* selector locker easybox (checkout, fundal deschis) */
.locker-pick { margin:14px 0 4px; padding:14px; background:var(--bg); border:1px solid var(--line-3); border-radius:12px; }
.locker-pick__head { font-family:var(--font); font-weight:600; font-size:14px; margin-bottom:10px; color:var(--ink); }
.locker-selected { font-family:var(--font); font-size:13px; margin-bottom:10px; color:var(--ink); }
.locker-selected--none { color:var(--muted-2); }
.locker-search { display:flex; gap:8px; margin-bottom:12px; }
.locker-search .input { flex:1; }
.locker-list { display:flex; flex-direction:column; gap:8px; max-height:260px; overflow:auto; }
.locker-list__msg { padding:6px 0; }
.locker-item { display:flex; flex-direction:column; gap:2px; text-align:left; background:#fff; border:2px solid var(--line-3); border-radius:10px; padding:10px 12px; cursor:pointer; }
.locker-item:hover { border-color:var(--muted-3); }
.locker-item.is-active { border-color:var(--ink); }
.locker-item__name { font-family:var(--font); font-weight:600; font-size:13px; color:var(--ink); }

/* istoric curier (pagina de urmărire) */
.track-history { margin:6px 0 14px; padding:14px; background:var(--bg); border:1px solid var(--line-3); border-radius:10px; }
.track-history__head { margin-bottom:10px; letter-spacing:0.04em; }
.track-history__row { display:flex; align-items:center; gap:10px; padding:5px 0; font-family:var(--font); font-size:13px; color:var(--ink); }
.track-history__dot { width:8px; height:8px; border-radius:999px; background:linear-gradient(135deg,#8b7bff,#48a7ff); flex-shrink:0; }
.track-history__when { margin-left:auto; }
.settings__note { margin-top:18px; }

/* Editor pagini (admin → Pagini) */
.page-picker { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.page-pick { background:#fff; border:1px solid var(--line-2); border-radius:999px; padding:8px 14px; cursor:pointer; font-family:var(--font); font-size:13px; font-weight:500; color:var(--muted-5); }
.page-pick:hover { border-color:var(--ink); }
.page-pick.is-active { background:var(--ink); color:#fff; border-color:var(--ink); }
.textarea--lg { min-height:300px; font-family:var(--mono); font-size:13px; line-height:1.6; }
.editor__hint { margin-top:10px; line-height:1.6; }

/* ------------------------------------------------------------------ 5. FOOTER */
.footer { border-top:1px solid var(--line); margin-top:10px; }
.footer__inner { max-width:var(--maxw); margin:0 auto; padding:34px 32px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.footer__links { display:flex; gap:22px; font-family:var(--mono); font-size:12px; color:var(--muted); }

/* ------------------------------------------------ 4i. PAGINI DE CONȚINUT */
.page { max-width:880px; padding-top:30px; padding-bottom:70px; }
.page__title { font-family:var(--font); font-weight:700; font-size:44px; letter-spacing:-0.035em; color:var(--ink); margin:14px 0 0; }
.page__lead { font-family:var(--font); font-size:18px; line-height:1.5; color:var(--muted); margin:14px 0 0; max-width:680px; }
.prose { margin-top:28px; }
.prose__h { font-family:var(--font); font-weight:700; font-size:20px; letter-spacing:-0.02em; color:var(--ink); margin:30px 0 10px; }
.prose__h:first-child { margin-top:0; }
.prose__p { font-family:var(--font); font-size:15px; line-height:1.7; color:var(--muted); margin:0 0 12px; }
.prose__list { margin:0 0 14px; padding-left:20px; color:var(--muted); font-size:15px; line-height:1.7; }
.prose__list li { margin-bottom:6px; }
.prose__meta { font-family:var(--mono); font-size:12px; color:var(--muted-3); margin-top:26px; }
.note { background:#fff; border:1px solid var(--line); border-left:3px solid var(--ink); border-radius:12px; padding:14px 16px; font-family:var(--font); font-size:14px; line-height:1.6; color:var(--muted-5); margin:18px 0; }
.note--success { border-left-color:#1a7f3c; color:var(--ink); }

.prose a { color:var(--ink); text-decoration:underline; text-underline-offset:2px; }
.prose a:hover { opacity:.7; }

/* FAQ (acordeon nativ <details>) */
.faq { display:flex; flex-direction:column; gap:10px; margin-top:6px; }
.faq__item { background:#fff; border:1px solid var(--line); border-radius:12px; padding:2px 16px; }
.faq__q { font-family:var(--font); font-weight:600; font-size:15px; color:var(--ink); cursor:pointer; padding:14px 0; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.faq__q::-webkit-details-marker { display:none; }
.faq__q::after { content:'+'; font-family:var(--mono); color:var(--muted-2); font-size:18px; }
.faq__item[open] .faq__q::after { content:'−'; }
.faq__a { font-family:var(--font); font-size:14px; line-height:1.7; color:var(--muted); padding:0 0 16px; }

/* Liste de link-uri externe (ANPC/SOL) */
.doclinks { list-style:none; padding:0; margin:12px 0; display:flex; flex-direction:column; gap:8px; }
.doclinks a { font-family:var(--font); font-size:14px; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line-3); padding-bottom:2px; align-self:flex-start; }
.doclinks a:hover { border-color:var(--ink); }

/* Contact: formular */
.contact-layout { max-width:720px; margin-top:6px; }
.contact-cards { display:flex; flex-direction:column; gap:12px; }
.contact-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:14px 16px; }
.contact-card__val { font-family:var(--font); font-size:14px; color:var(--ink); margin-top:5px; word-break:break-word; }
.contact-card__val a { color:var(--ink); text-decoration:none; }
.contact-card__val a:hover { text-decoration:underline; }

/* ------------------------------------------------------ 4j. ADMIN: MESAJE */
.msg-list { display:flex; flex-direction:column; gap:12px; }
.msg { background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px; }
.msg__head { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.msg__from { font-family:var(--font); font-weight:600; font-size:15px; color:var(--ink); }
.msg__email { font-family:var(--mono); font-size:12px; color:var(--muted); text-decoration:none; }
.msg__email:hover { color:var(--ink); }
.msg__date { margin-left:auto; }
.msg__subject { font-family:var(--font); font-weight:600; font-size:13px; color:var(--muted-5); margin-top:10px; }
.msg__body { font-family:var(--font); font-size:14px; line-height:1.6; color:var(--muted); margin-top:6px; white-space:pre-wrap; }

/* ----------------------------------------------------- 5b. FOOTER EXTINS */
.footer { border-top:1px solid var(--line); margin-top:40px; background:#fff; }
.footer__top { max-width:var(--maxw); margin:0 auto; padding:48px 32px 32px; display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr 1fr; gap:32px; }
.footer__brand { max-width:300px; }
.footer__brandname { font-family:var(--font); font-weight:700; font-size:16px; letter-spacing:-0.02em; color:var(--ink); }
.brand__mark--dark { background:var(--ink); }
.brand__dot--light { background:#fff; }
.footer__desc { font-family:var(--font); font-size:13px; line-height:1.6; color:var(--muted); margin:14px 0 16px; }
.footer__anpc { display:flex; gap:10px; flex-wrap:wrap; }
.footer__anpc a { font-family:var(--mono); font-size:11px; color:var(--muted); border:1px solid var(--line-3); border-radius:6px; padding:6px 10px; text-decoration:none; }
.footer__anpc a:hover { border-color:var(--ink); color:var(--ink); }
.footer__col { display:flex; flex-direction:column; }
.footer__heading { font-family:var(--mono); font-size:11px; letter-spacing:0.1em; color:var(--muted-2); margin-bottom:14px; }
.footer__link { background:none; border:none; padding:0; text-align:left; cursor:pointer; font-family:var(--font); font-size:13px; color:var(--muted-5); margin-bottom:10px; }
.footer__link:hover { color:var(--ink); }
.footer__bottom { max-width:var(--maxw); margin:0 auto; padding:18px 32px 34px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; font-family:var(--mono); font-size:11px; color:var(--muted-2); }
.footer__bottom-links { display:flex; gap:16px; }
.footer__bottom .footer__link { font-family:var(--mono); font-size:11px; color:var(--muted-2); margin:0; }
.footer__bottom .footer__link:hover { color:var(--ink); }

/* ------------------------------------------------ 4k. P1: PREMIUM ADD-ONS */
/* accesibilitate: inel de focus vizibil pe orice element interactiv */
:focus-visible { outline:2px solid #5b8def; outline-offset:2px; border-radius:4px; }

/* stele rating */
.stars { color:var(--ink); letter-spacing:1px; white-space:nowrap; }

/* rating pe card */
.card__rating { display:flex; align-items:center; gap:6px; margin-top:8px; }
.card__rating .stars { font-size:12px; }
.card__rating-txt { font-family:var(--mono); font-size:11px; color:var(--muted-2); }
.card__rating--empty .stars { display:none; }

/* bandă de încredere (home) */
.trust { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding-top:6px; padding-bottom:6px; }
.trust__item { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; }
.trust__icon { font-size:22px; line-height:1; }
.trust__title { font-family:var(--font); font-weight:600; font-size:14px; color:var(--ink); }
.trust__sub { font-family:var(--mono); font-size:11px; color:var(--muted-2); margin-top:3px; }

/* produs: rating + asigurări */
.product__rating .stars { font-size:16px; }
.product__assure { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:22px; font-family:var(--mono); font-size:12px; color:var(--muted); }

/* recenzii */
.reviews__head { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.reviews__avg { display:flex; align-items:center; gap:8px; }
.reviews__avg .stars { font-size:18px; }
.reviews__avg-num { font-family:var(--font); font-weight:700; font-size:16px; color:var(--ink); }
.reviews__list { display:flex; flex-direction:column; gap:12px; margin:18px 0 24px; }
.review { background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; }
.review__top { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.review__name { font-family:var(--font); font-weight:600; font-size:14px; color:var(--ink); }
.review__top .stars { font-size:13px; }
.review__date { margin-left:auto; }
.review__text { font-family:var(--font); font-size:14px; line-height:1.6; color:var(--muted); margin:8px 0 0; }
.review-form { padding:24px; }

/* checkout: erori pe câmp, livrare, plată, Termeni */
.field-error { font-family:var(--mono); font-size:11px; color:var(--danger); margin-top:6px; }
.input--error { border-color:var(--danger); }
.pay__hint { font-family:var(--mono); font-size:11px; color:var(--muted-2); font-weight:400; }
.pay-icons { display:flex; gap:8px; margin-top:12px; flex-wrap:wrap; }
.pay-icon { font-family:var(--mono); font-size:11px; font-weight:700; color:var(--muted-5); border:1px solid var(--line-3); border-radius:6px; padding:5px 9px; letter-spacing:0.04em; background:#fff; }
.checkout__legal { margin-top:18px; padding:10px 12px; background:var(--bg-soft, #f7f7f5); border:1px solid var(--line-3); border-radius:10px; line-height:1.5; }
.checkout__legal strong { color:var(--ink); }
.terms { display:flex; align-items:flex-start; gap:10px; margin-top:14px; font-family:var(--font); font-size:13px; color:var(--muted-5); cursor:pointer; line-height:1.5; }
.terms input { margin-top:3px; flex-shrink:0; width:16px; height:16px; accent-color:var(--ink); }
.terms--error { color:var(--danger); }
.digital-delivery { margin-top:18px; padding:12px 14px; background:var(--bg-soft, #f7f7f5); border:1px solid var(--line-3); border-radius:10px; font-family:var(--mono); font-size:12px; line-height:1.5; color:var(--muted-5); }

/* confirmare: rezumat comandă */
.confirm__recap { text-align:left; background:var(--bg); border-radius:14px; padding:18px 20px; margin:22px 0; }
.confirm__recap-head { font-family:var(--font); font-weight:600; font-size:14px; color:var(--ink); margin-bottom:10px; }
.summary__line--ink, .summary__line--ink span { color:var(--ink); }
.confirm__recap-row { display:flex; justify-content:space-between; padding:6px 0; font-family:var(--font); font-size:14px; color:var(--muted); }
.confirm__recap-row--total { border-top:1px solid var(--line); margin-top:6px; padding-top:12px; color:var(--ink); font-weight:700; font-size:16px; }
.confirm__digital { text-align:left; background:var(--bg); border-radius:14px; padding:18px 20px; margin:22px 0; }
.license-box { margin-top:16px; }
.license-box__row { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:center; }
.license-key { margin-top:12px; padding:12px 14px; border-radius:10px; background:var(--ink); color:#fff; display:flex; gap:10px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.license-key span { font-family:var(--font); font-size:13px; color:rgba(255,255,255,.72); }
.license-key strong { font-family:var(--mono); font-size:18px; letter-spacing:.04em; -webkit-user-select:all; user-select:all; }
@media (max-width:720px){ .license-box__row { grid-template-columns:1fr; } .license-box__row .btn { width:100%; } }

/* footer: newsletter + plată */
.footer__mid { max-width:var(--maxw); margin:0 auto; padding:8px 32px 28px; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.newsletter__title { font-family:var(--font); font-weight:700; font-size:16px; color:var(--ink); }
.newsletter__sub { font-family:var(--mono); font-size:11px; color:var(--muted-2); margin-top:3px; }
.newsletter__row { display:flex; gap:8px; margin-top:12px; }
.newsletter__input { width:240px; max-width:60vw; background:#fff; border:1px solid var(--line-3); border-radius:999px; padding:11px 16px; font-family:var(--mono); font-size:13px; color:var(--ink); outline:none; }
.newsletter__msg { font-family:var(--mono); font-size:11px; color:var(--muted-5); margin-top:8px; }
.footer__pay { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

/* -------------------------------------------------- 4l. P2: WISHLIST/PROMO/UX */
/* fade-in imagini la încărcare */
.media-img { opacity:0; transition:opacity .45s ease; }
.media-img.is-loaded { opacity:1; }

/* buton favorite pe card */
.wish-btn { position:absolute; bottom:10px; right:10px; z-index:2; width:34px; height:34px; border-radius:999px; border:1px solid var(--line-2); background:rgba(255,255,255,0.92); color:var(--muted-2); font-size:16px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:transform .15s ease, color .15s ease; }
.wish-btn:hover { transform:scale(1.12); }
.wish-btn.is-active { color:#e0245e; border-color:#e0245e; }
.wish-btn--lg { position:static; width:48px; height:48px; flex-shrink:0; font-size:20px; background:#fff; border-color:var(--line-3); }

/* buton iconă în header (favorite) */
.icon-btn { position:relative; width:40px; height:40px; border-radius:999px; background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12); color:#fff; font-size:16px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.icon-btn:hover { background:rgba(255,255,255,0.14); }
.icon-btn__count { position:absolute; top:-5px; right:-5px; min-width:16px; height:16px; padding:0 4px; background:#fff; color:var(--ink-2); border-radius:999px; font-family:var(--mono); font-size:9px; display:flex; align-items:center; justify-content:center; }

/* cod promoțional (în panoul de sumar întunecat) */
.promo { margin:12px 0; }
.promo__row { display:flex; gap:8px; }
.promo__input { flex:1; min-width:0; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18); border-radius:10px; padding:10px 12px; font-family:var(--mono); font-size:12px; color:#fff; outline:none; }
.promo__input::placeholder { color:rgba(255,255,255,0.4); }
.promo__btn { background:#fff; color:var(--ink); border:none; border-radius:10px; padding:0 14px; font-family:var(--font); font-weight:600; font-size:13px; cursor:pointer; }
.promo__err { font-family:var(--mono); font-size:11px; color:#ff9b9b; margin-top:6px; }
.promo--applied { display:flex; align-items:center; justify-content:space-between; gap:10px; background:rgba(255,255,255,0.08); border-radius:10px; padding:10px 12px; font-family:var(--font); font-size:13px; color:#fff; }
.promo__remove { background:none; border:none; color:rgba(255,255,255,0.6); font-family:var(--mono); font-size:11px; cursor:pointer; text-decoration:underline; }

/* bară progres „livrare gratuită" (în sumarul închis la culoare) */
.ship-bar { margin:10px 0 4px; }
.ship-bar__msg { font-family:var(--font); font-size:12.5px; color:rgba(255,255,255,0.78); line-height:1.4; margin-bottom:8px; }
.ship-bar__msg strong { color:#fff; font-weight:600; }
.ship-bar__track { height:6px; border-radius:999px; background:rgba(255,255,255,0.14); overflow:hidden; }
.ship-bar__fill { height:100%; border-radius:999px; background:linear-gradient(90deg,#8b7bff,#48a7ff); transition:width .35s ease; }
.ship-bar--done .ship-bar__fill { background:linear-gradient(90deg,#54d6a0,#48a7ff); }
@media (prefers-reduced-motion: reduce) { .ship-bar__fill { transition:none; } }

/* banner consimțământ cookies */
.consent { position:fixed; left:16px; right:16px; bottom:16px; z-index:150; max-width:620px; margin:0 auto; background:var(--ink); color:#fff; border-radius:16px; padding:16px 18px; display:flex; flex-direction:column; gap:14px; box-shadow:0 16px 40px rgba(10,10,11,0.3); animation:toast-in .3s ease; }
.consent__main { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.consent__text { font-family:var(--font); font-size:13px; line-height:1.5; color:rgba(255,255,255,0.85); flex:1; min-width:220px; }
.consent__link { background:none; border:none; color:#fff; text-decoration:underline; cursor:pointer; font:inherit; padding:0; }
.consent__actions { display:flex; gap:8px; flex-wrap:wrap; }
.consent__btn { flex-shrink:0; }
.consent .btn--outline { background:transparent; color:#fff; border:1px solid rgba(255,255,255,0.35); }
.consent .btn--outline:hover { border-color:#fff; }
.consent__panel { border-top:1px solid rgba(255,255,255,0.14); padding-top:14px; display:flex; flex-direction:column; gap:12px; }
.consent__opt { display:flex; align-items:flex-start; gap:10px; font-family:var(--font); font-size:13px; line-height:1.45; color:rgba(255,255,255,0.85); cursor:pointer; }
.consent__opt input { margin-top:2px; flex-shrink:0; width:16px; height:16px; accent-color:#8b7bff; }
.consent__opt strong { color:#fff; }
.consent__panel .consent__btn { align-self:flex-start; }

/* animație de intrare a ecranului */
@keyframes sm-enter { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
.screen-enter { animation:sm-enter .32s ease both; }

@media (prefers-reduced-motion: reduce) {
  .screen-enter, .toast, .consent, .hero, .hero__stats { animation:none !important; }
  .media-img { transition:none; opacity:1; }
}

/* ----------------------------------------- 4m. P3: GALERIE/PAGINARE/CĂUTARE */
/* galerie produs (miniaturi) */
.gallery-thumbs { display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.gallery-thumb { width:72px; height:72px; border-radius:12px; overflow:hidden; border:2px solid transparent; background:var(--stripe); cursor:pointer; padding:0; }
.gallery-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.gallery-thumb.is-active { border-color:var(--ink); }

/* buton „încarcă mai multe” */
.load-more { display:flex; justify-content:center; margin-top:24px; }

/* autocomplete căutare */
.search-wrap { position:relative; }
.search-suggest { position:absolute; top:calc(100% + 8px); left:0; right:0; min-width:240px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 18px 44px rgba(10,10,11,0.16); overflow:hidden; display:none; z-index:70; }
.search-suggest.is-open { display:block; }
.suggest__item { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; text-align:left; background:none; border:none; border-bottom:1px solid var(--line-soft); padding:11px 14px; cursor:pointer; font-family:var(--font); }
.suggest__item:last-child { border-bottom:none; }
.suggest__item:hover { background:var(--bg); }
.suggest__name { font-size:14px; color:var(--ink); }
.suggest__price { font-size:13px; font-weight:700; color:var(--ink); white-space:nowrap; }
.suggest__empty { padding:14px; font-family:var(--mono); font-size:12px; color:var(--muted-2); }

/* ------------------------------------------------ 4n. ADMIN AUTH (mod server) */
.admin-login { padding-top:40px; padding-bottom:80px; }
.admin-login__card { max-width:420px; margin:0 auto; padding:32px; }
.admin-login__card .confirm__title { font-size:26px; margin-bottom:8px; }
.admin-login__card .editor__actions { margin-top:18px; }
.admin-nav__logout { color:var(--danger); margin-top:8px; }
.admin-nav__logout:hover { background:rgba(179,38,30,0.06); }

/* ------------------------------------------------------- 4o. SIGLA DePeOnline */
.logo-mark { width:36px; height:36px; display:block; flex-shrink:0; }
.logo-word { font-family:var(--font); font-weight:700; font-size:18px; letter-spacing:-0.03em; line-height:1; white-space:nowrap; }
.logo-word__a { color:inherit; }
.logo-word__b { background:linear-gradient(90deg,#8b7bff,#48a7ff); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.header .brand { color:#fff; }
.footer .brand { color:var(--ink); }
.footer .brand { margin-bottom:4px; }

/* -------------------------------------------------------------- 6. RESPONSIVE */
@media (max-width:1024px) {
  .search { width:150px; }
}
@media (max-width:960px) {
  .hero__title { font-size:56px; }
  .grid--4 { grid-template-columns:repeat(3,1fr); }
  .tiles { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:880px) {
  .listing, .product, .cart__grid, .checkout__grid, .admin { grid-template-columns:1fr; }
  .sidebar, .admin-nav, .summary, .product__gallery { position:static; }
  .summary { margin-top:8px; }
  .search { display:none; }
  .contact-layout { grid-template-columns:1fr; }
  .footer__top { grid-template-columns:1fr 1fr; }
  .footer__brand { grid-column:1 / -1; max-width:none; }
  .trust { grid-template-columns:1fr 1fr; }
  .footer__mid { flex-direction:column; }
}
@media (max-width:680px) {
  .section { padding-left:18px; padding-right:18px; }
  .header { padding:0 12px; gap:8px; }
  .header .brand { min-width:0; gap:8px; }
  .header .brand__tag { display:none; }
  .header .logo-mark { width:32px; height:32px; }
  .header .logo-word { font-size:16px; }
  .header__actions { gap:8px; flex-shrink:0; }
  .icon-btn, .hamburger { width:36px; height:36px; }
  .cart-btn { padding:11px 14px; }
  .nav { display:none; }
  .hamburger { display:flex; }
  .mobile-menu.is-open { display:flex; }
  .hero__title { font-size:42px; }
  .listing__title, .page__title { font-size:34px; }
  .grid--3, .grid--4 { grid-template-columns:repeat(2,1fr); }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .form-grid, .pay-grid, .cat-grid, .form-grid--cat { grid-template-columns:1fr; }
  .trust { grid-template-columns:1fr; }
  .reviews__head { align-items:flex-start; }
  .ptable__head { display:none; }
  .ptable__row { grid-template-columns:1fr 1fr; }
  .footer__top { padding:36px 18px 24px; }
  .footer__mid { padding:8px 18px 28px; }
  .newsletter { width:100%; }
  .newsletter__row { width:100%; }
  .newsletter__input { flex:1; min-width:0; max-width:none; }
  .footer__bottom { padding:16px 18px 28px; flex-direction:column; align-items:flex-start; }
  .consent { flex-direction:column; align-items:stretch; gap:12px; }
}

/* --- portal jocuri -------------------------------------------------------- */
.badge--free { background: #1a7f4a; color: #fff; }
.game-card--locked .card__media { opacity: .85; }
.game-card__lock { position: absolute; top: 10px; right: 10px; font-size: 18px; }
.player { height: 100vh; height: 100svh; height: 100dvh; display: flex; flex-direction: column; background: #0a0a0b; overflow: hidden; touch-action: manipulation; }
.player__bar { display: flex; align-items: center; gap: 12px; padding: 12px 16px; padding-top: max(12px, env(safe-area-inset-top)); padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); border-bottom: 1px solid rgba(255,255,255,.08); flex-shrink: 0; }
.player__title { flex: 1; font-weight: 600; text-align: center; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.player__stage { flex: 1; display: flex; min-height: 0; padding: 0; background: #000; -webkit-overflow-scrolling: touch; }
.player__frame { flex: 1; width: 100%; height: 100%; border: 0; border-radius: 0; background: #111; min-height: 0; }
.player__loading, .player__error { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; color: rgba(255,255,255,.7); text-align: center; padding: 40px; }
.player__fs-icon { display: none; }
.player__exit-immersive { display: none; position: fixed; top: max(10px, env(safe-area-inset-top)); right: max(10px, env(safe-area-inset-right)); z-index: 20; width: 40px; height: 40px; padding: 0; border-radius: 50%; font-size: 16px; line-height: 1; opacity: .92; box-shadow: 0 4px 16px rgba(0,0,0,.45); }
.player--immersive .player__bar { display: none; }
.player--immersive .player__exit-immersive { display: inline-flex; }
html.is-player, body.is-player { height: 100%; overflow: hidden; overscroll-behavior: none; }
#player-stage:fullscreen,
#player-stage:-webkit-full-screen { display: flex; width: 100%; height: 100%; background: #000; padding: 0; }
#player-stage:fullscreen .player__frame,
#player-stage:-webkit-full-screen .player__frame { width: 100%; height: 100%; border-radius: 0; }
@media (max-width: 768px) {
  .player__bar { gap: 8px; padding-bottom: 8px; }
  .player__bar .btn--light { font-size: 12px; padding: 10px 14px; min-height: 40px; }
  .player__title { font-size: 14px; }
  .player__fs-label { display: none; }
  .player__fs-icon { display: inline; font-size: 18px; line-height: 1; }
}
@media (max-width: 896px) and (orientation: landscape) {
  .player__bar { gap: 6px; padding-top: max(4px, env(safe-area-inset-top)); padding-bottom: 4px; padding-left: max(8px, env(safe-area-inset-left)); padding-right: max(8px, env(safe-area-inset-right)); }
  .player__bar .btn--light { font-size: 11px; padding: 6px 10px; min-height: 32px; }
  .player__title { display: none; }
  .player__back-label { display: none; }
}
@media (max-height: 430px) and (orientation: landscape) {
  .player__bar .btn--light { padding: 5px 8px; min-height: 28px; font-size: 11px; }
  .player__exit-immersive { width: 34px; height: 34px; font-size: 14px; }
}
.game-detail__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.game-detail__media { position: relative; border-radius: 16px; overflow: hidden; min-height: 280px; background: #111; }
.game-detail__media .media-img, .game-detail__media .img-ph { width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
.game-detail__title { font-size: clamp(28px, 4vw, 40px); margin: 8px 0 12px; }
@media (max-width: 768px) { .game-detail__grid { grid-template-columns: 1fr; } }
