/* ══════════════════════════════════════════════════════════════════
   FAMOUS RALLY — STRAT DE BRAND
   Se încarcă ULTIMUL, peste CSS-ul fiecărei pagini.
   Aduce ecranele aplicației în limbajul homepage-ului:
   colțuri rotunjite, umbre moi (deschis) / contururi (întunecat),
   colț galben tăiat pe carduri, etichete italice.
   ══════════════════════════════════════════════════════════════════ */

/* ── 1. Formă unitară ──────────────────────────────────────── */
.event-card,.car-card,.crew-card,.crew-card-adm,.gallery-card,.sc-card,.showroom-card,
.app-card,.stat-card,.stats-box,.alert-box,.logistics-box,.manual-checkin-box,
.photo-slot,.crew-photo-slot,.probe-chip-v2,.reg-event-card,.reg-submit-bar,
.crew-status-card,.crew-status-none,.auth-box,.progress-bar,.gallery-thumb{
  border-radius:var(--r-lg) !important;
}
.sub-tab,.event-tab,.probe-tab-btn,.nav-tab-btn,.btn-vote-premium,.btn-qr,.btn-poster,
.btn-share,.btn-accept,.btn-reject,.btn-details,.btn-save-score,.btn-status-info,
.btn-resend-email,.score-btn,.probe-btn,.gallery-pill,.lb-nav-btn,.lb-close,.vote-badge{
  border-radius:var(--r-md) !important;
}

/* ── 2. Titluri: Anton ─────────────────────────────────────── */
.section-title,.page-title,.hero-title,.vis-line,.form-header h1,.card-top h3,
.car-title,.crew-car-name,.gallery-card-title,.sc-model,.stat-number,.stat-card h2,
.cd-num,.filter-title h3,.reg-event-title,.auth-title h1,.modal-header h3,
.panel-title,.probes-counter,.crew-card-adm__car-name,.lb-car{
  font-family:var(--font-display) !important;font-weight:400 !important;
  text-transform:uppercase;letter-spacing:.008em !important;font-synthesis-weight:none;
  color:var(--text);
}

/* ── 3. Etichete: Chakra Petch italic ──────────────────────── */
.ui-label,.stat-label,.stat-foot,.cd-label,.cd-unit,.cd-sub,.slot-label,
.crew-owner-name,.gallery-card-meta,.sc-plate,.car-event,.probe-chip-unit,.lb-rank,
.toolbar-label,.side-card-label,.aside-label,.eyebrow,.flow-label,.hero-location,
.crew-card-adm__status,.lb-counter{
  font-family:var(--font-ui) !important;font-style:italic;font-weight:700;
  letter-spacing:.14em !important;text-transform:uppercase;
}

/* ── 4. Carduri: umbră moale + colț galben ─────────────────── */
.event-card,.car-card,.crew-card,.crew-card-adm,.gallery-card,.sc-card,
.showroom-card,.app-card{
  position:relative;border:0 !important;background:var(--card);
  box-shadow:var(--shadow);overflow:hidden;
  transition:transform .45s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease) !important;
}
.event-card::after,.car-card::after,.crew-card::after,.gallery-card::after,
.sc-card::after,.showroom-card::after{
  content:'';position:absolute;top:0;right:0;width:36px;height:36px;
  z-index:4;pointer-events:none;opacity:0;transition:opacity .35s var(--ease);
  border-top-right-radius:var(--r-lg);
  background:linear-gradient(45deg,transparent 48%,var(--accent) 48%,var(--accent) 54%,transparent 54%);
}
.event-card:hover,.car-card:hover,.crew-card:hover,.crew-card-adm:hover,
.gallery-card:hover,.sc-card:hover,.showroom-card:hover{
  transform:translateY(-6px) !important;box-shadow:var(--shadow-h) !important;
}
.event-card:hover::after,.car-card:hover::after,.crew-card:hover::after,
.gallery-card:hover::after,.sc-card:hover::after,.showroom-card:hover::after{opacity:1}

/* ── 5. Taburi ─────────────────────────────────────────────── */
.sub-tab,.event-tab,.probe-tab-btn,.nav-tab-btn{
  position:relative;border:0 !important;background:var(--card) !important;
  box-shadow:inset 0 0 0 1px var(--line);color:var(--text-2) !important;
  font-family:var(--font-ui) !important;font-style:italic;font-weight:700 !important;
  letter-spacing:.1em !important;text-transform:uppercase;
  transition:color .25s,background .3s,box-shadow .3s !important;
}
.sub-tab:hover,.event-tab:hover,.probe-tab-btn:hover,.nav-tab-btn:hover{
  color:var(--text) !important;box-shadow:inset 0 0 0 1px var(--line-strong)}
.sub-tab.active,.event-tab.active,.probe-tab-btn.active,.nav-tab-btn.nav-tab-active{
  background:var(--accent) !important;color:var(--accent-ink) !important;
  box-shadow:0 8px 18px -10px rgba(255,214,10,.9) !important;
}
.sub-tabs,.event-tabs,.probe-tabs-row{gap:8px;border-bottom:0 !important}

/* ── 6. Butoane de acțiune ─────────────────────────────────── */
.btn-qr,.btn-poster,.btn-share,.btn-accept,.btn-reject,.btn-details,.btn-save-score,
.btn-status-info,.btn-resend-email,.score-btn,.probe-btn,.btn-vote-premium,
.crew-card-adm__actions button{
  border:0 !important;font-family:var(--font-ui) !important;font-style:italic;
  font-weight:700 !important;letter-spacing:.09em !important;text-transform:uppercase;
  transition:transform .3s var(--ease),background .25s,box-shadow .25s,color .25s !important;
}
.btn-qr,.btn-poster,.btn-share,.btn-details,.btn-status-info,.probe-btn{
  background:var(--card) !important;color:var(--text) !important;
  box-shadow:inset 0 0 0 1px var(--line)}
.btn-qr:hover,.btn-poster:hover,.btn-share:hover,.btn-details:hover,
.btn-status-info:hover,.probe-btn:hover{transform:translateY(-2px);
  box-shadow:inset 0 0 0 1px var(--line-strong)}
.btn-accept,.btn-save-score,.btn-vote-premium{
  background:var(--accent) !important;color:var(--accent-ink) !important;
  box-shadow:0 10px 22px -12px rgba(255,214,10,.9) !important}
.btn-accept:hover,.btn-save-score:hover,.btn-vote-premium:hover:not(:disabled){
  background:var(--accent-hot) !important;transform:translateY(-2px)}
.btn-vote-premium.voted,.btn-vote-premium:disabled{
  background:transparent !important;color:var(--accent-text) !important;
  box-shadow:inset 0 0 0 1px var(--accent-a30) !important}
.btn-reject{background:transparent !important;color:var(--danger-text) !important;
  box-shadow:inset 0 0 0 1px rgba(229,72,77,.42) !important}
.btn-reject:hover{background:rgba(229,72,77,.12) !important;transform:translateY(-2px)}

/* ── 7. Hero-uri interioare + tăietura diagonală ───────────── */
.event-hero,.gallery-hero,.crew-hero,.dash-hero,.garage-hero{position:relative;overflow:hidden}
.event-hero::after,.gallery-hero::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:clamp(34px,5vw,64px);
  z-index:4;pointer-events:none;
  background:linear-gradient(to top right,transparent calc(50% - 1.6px),var(--accent) calc(50% - 1.6px),var(--accent) calc(50% + 1.6px),transparent calc(50% + 1.6px));
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);
}
.event-hero .hero-badge,.gallery-hero .hero-badge,.crew-hero .hero-badge{
  background:var(--accent) !important;color:var(--accent-ink) !important;
  border:0 !important;box-shadow:none !important;border-radius:var(--r-pill) !important;
  padding:9px 18px !important;font-family:var(--font-ui) !important;font-style:italic;
  font-weight:700 !important;letter-spacing:.14em !important;text-transform:uppercase}
.event-hero .hero-badge::before,.gallery-hero .hero-badge::before{display:none !important}
.hero-location{color:var(--text-2) !important}
.hero-location::before{background:var(--accent) !important}
.archive-ribbon{background:var(--accent) !important;color:var(--accent-ink) !important;
  border:0 !important;font-family:var(--font-ui) !important;font-style:italic;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase}

/* ── 8. Numărătoare inversă ────────────────────────────────── */
.cd-num,.cd-unit{background:var(--card) !important;border:0 !important;
  box-shadow:var(--shadow);border-radius:var(--r-md) !important;color:var(--text) !important}
.cd-num{color:var(--accent-display) !important}
.cd-sep{color:var(--accent-display) !important}

/* ── 9. Statistici ─────────────────────────────────────────── */
.stat-card,.stats-box{border:0 !important;background:var(--card);box-shadow:var(--shadow);
  transition:box-shadow .3s,transform .4s var(--ease) !important}
.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-h)}
.stat-card.active{background:var(--accent-a08) !important;box-shadow:inset 0 0 0 1px var(--accent-a30) !important}
.stat-number,.stat-card h2{color:var(--text) !important}

/* ── 10. Rânduri de listă ──────────────────────────────────── */
.part-row,.probe-row,.lb-row,.staff-row{
  position:relative;border-bottom:1px solid var(--line);
  transition:background .3s,padding-left .3s var(--ease) !important}
.part-row::before,.probe-row::before,.lb-row::before,.staff-row::before{
  content:'';position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;
  background:var(--accent);transform:scaleY(0);transition:transform .3s var(--ease)}
.part-row:hover,.probe-row:hover,.lb-row:hover,.staff-row:hover{
  background:var(--tint-1) !important;padding-left:28px !important}
.part-row:hover::before,.probe-row:hover::before,
.lb-row:hover::before,.staff-row:hover::before{transform:scaleY(1)}
.lb-row.lb-top{background:var(--accent-a08) !important;box-shadow:inset 0 0 0 1px var(--accent-a30)}
.lb-rank{color:var(--accent-display) !important;font-family:var(--font-display) !important;
  font-style:normal;font-size:20px}
.lb-score b{color:var(--text) !important}

/* ── 11. Probe ─────────────────────────────────────────────── */
.probe-chip-v2{border:0 !important;background:var(--card) !important;box-shadow:var(--shadow);
  transition:box-shadow .25s,background .25s,transform .3s var(--ease) !important}
.probe-chip-v2.available:hover{transform:translateY(-2px);box-shadow:var(--shadow-h)}
.probe-chip-v2.joined{background:var(--accent-a08) !important;box-shadow:inset 0 0 0 1px var(--accent-a30) !important}
.probe-check{border:0 !important;background:var(--surface-2) !important;
  box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--r-md) !important;
  font-family:var(--font-ui);font-size:13.5px;color:var(--text-2)}
.probe-check:hover{box-shadow:inset 0 0 0 1px var(--accent-a30)}
.probe-check input{accent-color:var(--accent)}

/* ── 12. Sloturi de poze ───────────────────────────────────── */
.photo-slot,.crew-photo-slot{background:var(--surface-2) !important;
  border:1px dashed var(--line-strong) !important;
  transition:border-color .3s,background .3s,transform .3s var(--ease) !important}
.photo-slot:hover,.crew-photo-slot:hover{border-color:var(--accent) !important;
  background:var(--accent-a08) !important;transform:translateY(-2px)}
.photo-slot .slot-icon,.crew-photo-slot .slot-icon{color:var(--accent-text) !important}
.photo-slot.has-image{border-style:solid !important;border-color:var(--accent-a30) !important}
.photo-slot .slot-num{background:var(--accent) !important;color:var(--accent-ink) !important;
  font-family:var(--font-display) !important;border-radius:var(--r-sm) !important}
.progress-bar{background:var(--tint-2) !important}
.progress-bar-fill,.upload-progress-fill{background:var(--accent) !important}

/* ── 13. Galerie + lightbox ────────────────────────────────── */
.gallery-thumb{border:0 !important;box-shadow:inset 0 0 0 1px var(--line);
  transition:box-shadow .25s,transform .3s var(--ease) !important}
.gallery-thumb:hover{box-shadow:inset 0 0 0 2px var(--accent) !important;transform:translateY(-2px)}
.gallery-pill,.crew-tag-gallery{background:var(--accent) !important;color:var(--accent-ink) !important;
  border:0 !important;font-family:var(--font-ui) !important;font-style:italic;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase}
/* lightbox-ul rămâne întunecat în ambele teme — pozele se văd mai bine */
.lightbox-overlay{background:rgba(6,6,7,.95) !important}
.lightbox-overlay .lb-car,.lightbox-overlay .lb-info{color:#fff !important}
.lb-image{box-shadow:0 0 0 1px rgba(255,255,255,.14),0 40px 90px -40px #000}
.lb-nav-btn,.lb-close{background:rgba(255,255,255,.08) !important;border:0 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);color:#fff !important;
  transition:background .25s,transform .3s var(--ease) !important}
.lb-nav-btn:hover,.lb-close:hover{background:var(--accent) !important;color:var(--accent-ink) !important;
  box-shadow:none !important;transform:scale(1.06)}
.lb-counter{color:#FFD60A !important}

/* ── 14. Autentificare ─────────────────────────────────────── */
.auth-visual{background:var(--hero-bg)}
.auth-visual::after{content:'';position:absolute;left:0;right:0;bottom:0;
  height:clamp(34px,5vw,64px);z-index:3;pointer-events:none;
  background:linear-gradient(to top right,transparent calc(50% - 1.6px),var(--accent) calc(50% - 1.6px),var(--accent) calc(50% + 1.6px),transparent calc(50% + 1.6px));
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
/* cardul de login: suprafață curată, fără colțarele vechi */
.auth-box{background:var(--card) !important;border:0 !important;
  border-radius:var(--r-xl) !important;box-shadow:var(--shadow-lg) !important}
.auth-box::before,.auth-box::after{display:none !important}
/* vălul de peste fundal se inversează cu tema */
.visual-overlay{
  background:linear-gradient(to right,rgba(255,255,255,.10) 0%,rgba(255,255,255,.55) 100%),
             linear-gradient(to top,rgba(255,255,255,.75) 0%,transparent 58%) !important}
[data-theme="dark"] .visual-overlay{
  background:linear-gradient(to right,rgba(8,9,11,.15) 0%,rgba(8,9,11,.72) 100%),
             linear-gradient(to top,rgba(8,9,11,.9) 0%,transparent 58%) !important}
/* pe temă deschisă textul de fundal la .5 opacitate era aproape invizibil */
.auth-visual .visual-content{opacity:.9}
[data-theme="dark"] .auth-visual .visual-content{opacity:.62}
.auth-title h1{font-size:clamp(36px,4.6vw,58px) !important}
.vis-desc{color:var(--text-3) !important}
.vis-line{font-family:var(--font-display) !important;color:var(--text)}
.vis-stats strong{color:var(--text) !important;font-family:var(--font-display) !important}
.logo-visual,.mobile-logo{display:inline-block}
.logo-visual img{width:230px;max-width:62vw;height:auto;display:block}
.mobile-logo img{width:170px;max-width:54vw;height:auto;display:block}
.auth-note{font-family:var(--font-body) !important;letter-spacing:normal !important;
  text-transform:none !important;color:var(--text-3) !important}
#google-btn{background:var(--btn-dark-bg) !important;color:var(--btn-dark-fg) !important;
  box-shadow:inset 0 0 0 1px var(--line) !important}
#google-btn:hover{box-shadow:inset 0 0 0 1px var(--accent) !important;transform:translateY(-2px)}

/* ── 15. Crew ──────────────────────────────────────────────── */
.crew-status-card,.crew-status-none{border:0 !important;background:var(--card) !important;
  box-shadow:var(--shadow)}
.crew-status-icon{color:var(--accent-text) !important}

/* ── 16. Casete de informare ───────────────────────────────── */
.alert-box,.logistics-box,.manual-checkin-box{border:0 !important;
  background:var(--surface-2) !important;box-shadow:inset 0 0 0 1px var(--line)}
.alert-box strong{color:var(--text) !important;font-family:var(--font-display) !important}
.reg-submit-bar{background:var(--card);box-shadow:var(--shadow);border:0 !important;padding:22px 26px}

/* ── 17. Diverse ───────────────────────────────────────────── */
#qr-box{background:#fff !important;border-radius:var(--r-lg) !important}
#reader,#reader-admin{border:2px solid var(--accent) !important;border-radius:var(--r-lg) !important}
#scan-result{border:0 !important;box-shadow:inset 0 0 0 1px var(--line);
  border-radius:var(--r-md) !important;font-family:var(--font-display) !important}
.pe-canvas-wrap{border:0 !important;box-shadow:inset 0 0 0 1px var(--accent-a30);
  border-radius:var(--r-lg) !important}
.pe-title{font-family:var(--font-display) !important}
.plate{background:#fff !important;color:#0E0E10 !important;border-radius:var(--r-sm) !important;
  border-left:5px solid var(--accent) !important;font-family:var(--font-display) !important;
  letter-spacing:.04em !important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.vote-badge,.sc-votes{color:var(--accent-text) !important}
.swiper-pagination-bullet{background:var(--tint-3) !important;opacity:1 !important}
.swiper-pagination-bullet-active{background:var(--accent) !important}
.bento-grid,.showroom-grid,.crew-grid,.crew-grid-admin,.gallery-grid{gap:20px}

@media(max-width:760px){
  .event-hero::after,.gallery-hero::after,.auth-visual::after{display:none}
  .part-row:hover,.probe-row:hover,.staff-row:hover{padding-left:16px !important}
}

/* ══════════════════════════════════════════════════════════════════
   18. CORECȚII PENTRU TEMA DESCHISĂ
   CSS-ul paginilor a fost scris inițial doar pentru fundal întunecat.
   Aici aducem la zi ce a rămas hardcodat, ca să nu apară benzi negre
   și text alb-pe-alb când tema e deschisă.
   ══════════════════════════════════════════════════════════════════ */

/* ── Bara de taburi (eveniment) și bara de filtre (galerie) ──
   Erau negre pe toată lățimea ecranului, indiferent de temă. Bara e
   intenționat full-bleed și lipită sus, deci o păstrăm așa — doar o
   legăm de tema curentă. */
.event-tabs{
  background:var(--nav-bg) !important;
  backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--line) !important;
}
.gallery-filters.toolbar{
  background:var(--nav-bg) !important;
  backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--line) !important;
}
.gallery-filters.toolbar .toolbar-label{color:var(--text-3)}

/* ── Bara de filtre din showroom ──
   Cele patru selecturi se strângeau într-o singură coloană îngustă, cu
   separatorul oblic ieșind în sus și în jos din bară. */
.toolbar .toolbar-group{flex:1 1 auto;min-width:0}
.showroom-toolbar .filters-slot{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;flex:3 1 420px}
.showroom-toolbar .search-slot{flex:2 1 240px}
.toolbar-sep{align-self:center;height:26px;flex-shrink:0}
@media(max-width:760px){.showroom-toolbar .filters-slot{grid-template-columns:1fr 1fr}}

/* ── Voalul de peste fotografiile din hero ──
   `var(--bg-void)` devine alb pe temă deschisă, deci gradientul spre
   rgba(8,9,11,…) făcea hero-ul gri-murdar. Îl legăm de suprafață. */
.event-hero .hero-vignette,.gallery-hero .hero-vignette,
.crew-hero .hero-vignette,.competitor-hero .hero-vignette{
  background:linear-gradient(to top,var(--surface) 0%,
    color-mix(in srgb,var(--surface) 45%,transparent) 48%,
    color-mix(in srgb,var(--surface) 12%,transparent) 100%) !important;
}
[data-theme="light"] .hero-bg-image{filter:brightness(.94) saturate(.95) !important}

/* ── Schelete de încărcare ──
   Foloseau rgba(255,255,255,…), adică erau invizibile pe alb. */
.sk,.skeleton-card{background:var(--card);box-shadow:var(--shadow);border:0}
.sk::after,.skeleton-card::after{
  background:linear-gradient(90deg,transparent,var(--tint-2),transparent)}
.sk-line,.sk-img,.sk-chip,.sk-avatar{background:var(--tint-2)}

/* ── Barele întunecate din bara de sus a galeriei ── */
.gallery-topbar,.gallery-nav{background:var(--nav-bg) !important;
  border-bottom:1px solid var(--line)}

/* ── Cursorul propriu stă în colțul stânga-sus până la prima mișcare ── */
.cursor-dot,.cursor-outline{opacity:0;transition:opacity .2s}
body.cursor-ready .cursor-dot,body.cursor-ready .cursor-outline{opacity:1}
body.hover-active .cursor-dot{opacity:0}

/* ══════════════════════════════════════════════════════════════════
   19. TELEFON
   Bara de sus a paginilor interioare nu se restrângea deloc: butoanele
   și comutatorul de temă ieșeau din ecran. Coloana laterală forța o
   lățime minimă mai mare decât ecranul. Aici rezolvăm tot ce ține de
   așezare sub 900px.
   ══════════════════════════════════════════════════════════════════ */

/* ── Coloanele din grid nu mai forțează lățime minimă ── */
.app-shell > .app-side,.app-shell > .app-main{min-width:0}
.app-side,.app-main{max-width:100%}

@media(max-width:900px){
  /* ── Bara de sus ── */
  .navbar,.nav{
    gap:8px;padding:9px 14px;flex-wrap:nowrap;
    padding-left:max(14px,env(safe-area-inset-left));
    padding-right:max(14px,env(safe-area-inset-right));
  }
  .navbar > .logo,.nav > .brand{flex:0 1 auto;min-width:0;overflow:hidden}
  .logo img,.brand img{height:30px}
  .navbar.scrolled .logo img,.nav.stuck .brand img{height:28px}
  .logo-mark{height:26px}
  .logo .logo-word,.brand span{font-size:15px;white-space:nowrap}
  .logo-sub{display:none}

  /* grupurile de butoane din paginile interioare (div-uri fără clasă) */
  .navbar > div:not(#nav-tabs){display:flex;align-items:center;gap:6px;
    flex:0 0 auto;margin-left:auto}
  /* tab-urile de context rămân, dar se derulează lateral în loc să iasă */
  .navbar > #nav-tabs{flex:1 1 0;min-width:0;padding:0 !important;
    overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .navbar > #nav-tabs::-webkit-scrollbar{display:none}
  .navbar .nav-tab-btn{flex:0 0 auto;white-space:nowrap;font-size:11px;padding:8px 12px}

  .navbar .btn-glass,.navbar .btn-outline,.navbar .btn-danger-outline,
  .navbar .btn-primary,.navbar .btn-dark,.navbar .btn{
    padding:0 12px !important;min-height:40px;font-size:10.5px !important;
    letter-spacing:.06em !important;white-space:nowrap}
  .theme-toggle{width:40px;height:40px}
  #staff-name{display:none}

  /* ── Meniul lateral devine un rând derulabil, din margine în margine ──
     Marginea negativă trebuie să fie exact cât padding-ul lui .app-shell,
     altfel rândul iese câțiva pixeli din ecran. */
  .side-nav{margin-inline:calc(-1 * var(--pad));padding-inline:var(--pad);
    scroll-padding-inline:var(--pad)}
  .side-nav-item{flex:0 0 auto;min-height:44px}
}

@media(max-width:760px){
  /* ── Antetul paginii: mai puțin gol deasupra ── */
  .page-hero{padding-top:78px;padding-bottom:clamp(34px,7vw,52px)}
  .page-hero .page-title{font-size:clamp(26px,8.5vw,36px)}
  .page-hero .page-sub{font-size:14.5px}
  .event-hero,.gallery-hero,.crew-hero,.dash-hero{min-height:42vh}
  .hero-title{font-size:clamp(26px,8.5vw,38px) !important}

  /* ── Ținte de atins: nimic sub 44px ── */
  .btn,.btn-primary,.btn-glass,.btn-outline,.btn-line,.btn-dark,
  .btn-danger-outline,.btn-google,.sub-tab,.event-tab,.probe-tab-btn,
  .side-nav-item,.close-btn,.score-btn,.probe-btn,.btn-details,
  .btn-accept,.btn-reject,.btn-qr,.btn-poster,.btn-share{min-height:44px}
  .socials a{width:44px;height:44px}

  /* ── Rânduri de listă: pe verticală, cu acțiunile pe toată lățimea ── */
  .part-row,.probe-row,.staff-row,.crew-card-adm{gap:12px}
  .part-row > *,.probe-row > *,.staff-row > *{min-width:0}
  .lb-row{gap:10px}
  .lb-info{min-width:0}
  .lb-info strong,.lb-car{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}

  /* ── Grile: o coloană, fără carduri strivite ── */
  .showroom-grid,.crew-grid,.crew-grid-admin,.bento-grid,.sk-grid{
    grid-template-columns:1fr !important;gap:14px}
  .gallery-grid{grid-template-columns:1fr 1fr;gap:10px}
  .side-stats{grid-template-columns:repeat(3,1fr);gap:8px}
  .side-stat{padding:12px 6px}
  .side-stat b{font-size:22px}
  .side-stat span{font-size:10px;letter-spacing:.06em}

  /* ── Bare de unelte ──
     .toolbar trece pe coloană, deci axa principală devine verticala:
     un `flex-basis` în px s-ar aplica pe ÎNĂLȚIME și lăsa goluri uriașe. */
  .toolbar .toolbar-group,
  .showroom-toolbar .filters-slot,
  .showroom-toolbar .search-slot{flex:0 0 auto !important;width:100%}
  .showroom-toolbar .filters-slot{grid-template-columns:1fr 1fr}
  .toolbar-sep{display:none}
  .gallery-filters.toolbar{padding-inline:16px}
  .event-tabs{top:54px;padding-inline:16px}

  /* ── Ferestre modale: foaie care urcă de jos ── */
  .modal-overlay .glass-panel{border-radius:var(--r-xl) var(--r-xl) 0 0;
    padding-bottom:calc(28px + env(safe-area-inset-bottom))}
  .modal-header h3{font-size:18px}

  /* ── Hero-ul de pe prima pagină ── */
  .hero{padding-top:96px}
  .hero h1{font-size:clamp(34px,10.5vw,52px)}
  .hero-badge{margin-bottom:22px;font-size:11px;padding:9px 15px}
  .hero-desc{margin-top:20px;font-size:15.5px}
  .hero-buttons{margin-top:26px}
  .hero-video{max-width:none;aspect-ratio:4/3}
  .hero-video-tag{left:13px;bottom:11px;font-size:10.5px}
  .hero-video::after{width:40px;height:40px}

  /* ── Bara de trimitere a formularului stă lipită jos ── */
  .reg-submit-bar{position:sticky;bottom:0;z-index:20;
    padding:14px 16px calc(14px + env(safe-area-inset-bottom));
    border-radius:var(--r-lg) var(--r-lg) 0 0}
  .reg-submit-bar .btn-primary{width:100%}
}

@media(max-width:430px){
  .logo .logo-word,.brand span{display:none}
  .gallery-grid{grid-template-columns:1fr}
  .side-stats{grid-template-columns:1fr 1fr 1fr}
  .hero-buttons .btn,.hero-buttons .btn-primary,.hero-buttons .btn-line{flex:1 1 100%}
}

/* zona de sub bara de jos pe iPhone */
@supports(padding:max(0px)){
  footer,.site-footer{padding-bottom:max(26px,env(safe-area-inset-bottom))}
}

/* .app-shell trece la 16px, apoi 13px — meniul derulabil le urmează */
@media(max-width:760px){
  .side-nav{margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px}
}
@media(max-width:420px){
  .side-nav{margin-inline:-13px;padding-inline:13px;scroll-padding-inline:13px}
}

/* ══════════════════════════════════════════════════════════════════
   20. MOD DEMO — butonul CONTURI TEST, alegerea contului, bara de sus
   ══════════════════════════════════════════════════════════════════ */

.demo-open{
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;border:0;
  padding:13px 20px;min-height:46px;border-radius:var(--r-pill);
  background:var(--card);color:var(--text);box-shadow:var(--shadow);
  font-family:var(--font-ui);font-style:italic;font-weight:700;font-size:12px;
  letter-spacing:.13em;text-transform:uppercase;
  transition:transform .3s var(--ease),box-shadow .3s,color .2s;
}
.demo-open:hover{transform:translateY(-2px);box-shadow:var(--shadow-h);color:var(--accent-text)}
.demo-open-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;
  box-shadow:0 0 0 0 rgba(255,214,10,.6);animation:livePulse 2.4s ease-out infinite}
.demo-open--float{position:fixed;left:18px;bottom:18px;z-index:998;
  left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom))}
.demo-open--inline{width:100%;justify-content:center;margin-top:14px}

.demo-pick{
  display:flex;align-items:flex-start;gap:16px;width:100%;text-align:left;cursor:pointer;
  border:0;padding:20px;margin-bottom:12px;border-radius:var(--r-lg);
  background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--text);
  transition:box-shadow .25s,background .25s,transform .3s var(--ease);
}
.demo-pick:hover{transform:translateY(-2px);background:var(--accent-a08);
  box-shadow:inset 0 0 0 1px var(--accent-a30)}
.demo-pick-ic{flex-shrink:0;width:44px;height:44px;border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;font-size:20px;
  background:var(--accent);color:var(--accent-ink)}
.demo-pick b{display:block;margin-bottom:5px;font-family:var(--font-ui);font-style:italic;
  font-weight:700;font-size:13px;letter-spacing:.12em}
.demo-pick small{display:block;font-family:var(--font-body);font-size:13.5px;
  line-height:1.55;color:var(--text-2);letter-spacing:normal;text-transform:none}

#demo-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:1003;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:11px clamp(14px,3vw,26px);
  padding-bottom:calc(11px + env(safe-area-inset-bottom));
  background:var(--accent);color:var(--accent-ink);
  box-shadow:0 -10px 30px -18px rgba(0,0,0,.6);
}
.demo-bar-dot{width:9px;height:9px;border-radius:50%;background:var(--accent-ink);flex-shrink:0}
.demo-bar-txt{font-family:var(--font-ui);font-style:italic;font-weight:700;font-size:11.5px;
  letter-spacing:.12em;text-transform:uppercase;margin-right:auto}
.demo-bar-txt em{display:block;font-style:normal;font-weight:600;font-size:10.5px;
  letter-spacing:.06em;text-transform:none;opacity:.72}
#demo-bar button{
  border:0;cursor:pointer;padding:9px 15px;min-height:40px;border-radius:var(--r-pill);
  font-family:var(--font-ui);font-style:italic;font-weight:700;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;transition:background .2s,transform .25s var(--ease);
}
.demo-bar-switch{background:rgba(11,12,14,.12);color:var(--accent-ink)}
.demo-bar-switch:hover{background:rgba(11,12,14,.2);transform:translateY(-1px)}
.demo-bar-exit{background:var(--accent-ink);color:var(--accent)}
.demo-bar-exit:hover{transform:translateY(-1px)}

/* bara de jos nu trebuie să acopere ultimul rând de conținut */
body.has-demo-bar{padding-bottom:66px}
body.has-demo-bar .reg-submit-bar{bottom:66px}

@media(max-width:520px){
  #demo-bar{gap:8px;padding-inline:12px}
  .demo-bar-txt{flex:1 1 100%;margin-right:0}
  #demo-bar button{flex:1 1 0}
  body.has-demo-bar{padding-bottom:104px}
  body.has-demo-bar .reg-submit-bar{bottom:104px}
  .demo-open--float{left:12px;bottom:12px;padding:11px 16px;font-size:11px}
  .demo-pick{padding:16px;gap:13px}
}

/* despărțitorul „sau" de sub butonul Google, în cardul de autentificare */
.auth-sep{position:relative;margin:22px 0 4px;text-align:center}
.auth-sep::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--line)}
.auth-sep span{position:relative;background:var(--card);padding:0 14px;
  font-family:var(--font-ui);font-style:italic;font-weight:700;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--text-3)}
