/* Beyondvoid · foaia de stil a sitului · Sezonul 0
   Tokeni de brand: vezi catalinflorian-site/brand/README.md */
@import url("palete.css");

:root {
  /* Schema aleasă: SPORTS (după Biogena Sports, decisă pe 28 octombrie 2026) */
  --petrol: #042C36;
  --petrol-dark: #021C23;
  --petrol-mid: #0E7592;
  --ink: #042C36;
  --ink-soft: #2A444B;
  --muted: #5F7378;
  --paper: #F4F8FA;
  --white: #FFFFFF;
  --sage: #CFD6D8;
  --sage-light: #E1ECF1;
  --copper: #0E7592;
  --cta-bg: #0E7592;
  --cta-fg: #FFFFFF;
  --line: #D9E2E6;
  --ok: #0E7592;
  --radius: 20px;
  --radius-sm: 12px;
  --radius-btn: 0px;
  --serif: 'Bodoni Moda', 'Didot', 'Bodoni 72', 'Bodoni MT', Georgia, serif;
  --sans: 'Jost', 'Futura', 'Century Gothic', system-ui, sans-serif;
  --max: 1280px;
  --gutter: 32px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  color: var(--ink);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--petrol); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }
img { max-width: 100%; display: block; }
button { font: inherit; }
/* Fontul titlurilor: Bodoni Moda, fontul brandului (decizie Cătălin, 29 octombrie 2026; Fraunces a fost între 28 și 29 oct) */
:root { --display: var(--serif); --display-weight: 500; }
:root[data-font="bodoni"] { --display: var(--serif); --display-weight: 400; }
h1, h2, h3 { font-family: var(--display); font-weight: var(--display-weight); color: var(--petrol); margin: 0; line-height: 1.1; font-optical-sizing: auto; }
h1 .hl, h2 .hl { color: var(--petrol-mid); }
:root[data-titlu="simplu"] h1 .hl, :root[data-titlu="simplu"] h2 .hl { color: inherit; }
h1 { font-size: clamp(38px, 5vw, 64px); }
h2 { font-size: clamp(30px, 3.4vw, 44px); }
h3 { font-size: 26px; }
p { margin: 0; }
.wrap { max-width: var(--max); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.section { padding: 96px 0; }
.section--paper { background: var(--paper); }
.section--petrol { background: var(--petrol); color: var(--white); }
.section--petrol h2, .section--petrol h3 { color: var(--white); }
.eyebrow { font-size: 13px; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; color: var(--copper); }
.section--petrol .eyebrow { color: var(--sage); }
.lead { font-size: 20px; line-height: 1.55; color: var(--ink-soft); max-width: 560px; }
.muted { color: var(--muted); }
.stack { display: flex; flex-direction: column; gap: 12px; }
.row { display: flex; flex-wrap: wrap; gap: 24px; }
.row > * { flex: 1 1 280px; min-width: 0; }
.visually-hidden { position: absolute; left: -9999px; }

/* Banner Sezonul 0 */
.banner { background: var(--petrol); color: var(--white); text-align: center; font-size: 13px; letter-spacing: 0.08em; padding: 10px 16px; line-height: 1.5; }
.banner a { color: var(--sage); text-decoration: underline; text-underline-offset: 3px; }

/* Header */
.site-header { border-bottom: 1px solid var(--line); background: var(--white); position: sticky; top: 0; z-index: 20; }
.site-header .wrap { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.logo { position: relative; display: flex; flex-direction: column; gap: 2px; padding-left: 8px; }
.logo:hover { text-decoration: none; }
.logo__curl { position: absolute; left: -8px; top: -12px; width: 22px; height: 22px; }
.logo__word { font-family: var(--serif); font-size: 34px; font-weight: 500; line-height: 1; color: var(--petrol); font-variation-settings: 'opsz' 28; }
.logo__tag { font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--muted); padding-left: 2px; }
.nav { display: flex; align-items: center; gap: 28px; font-size: 15px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; }
.nav a { padding: 10px 0; }
.nav a.is-active { border-bottom: 2px solid var(--copper); }
.nav .pill { border: 1px solid var(--petrol); border-radius: 999px; padding: 10px 18px; }
.nav .pill:hover { text-decoration: none; background: var(--paper); }
/* Comutator de limbă: RO [steag care alunecă] EN, ca la visit-uz.ro */
.lang { display: inline-flex; align-items: center; gap: 8px; border: 0; background: transparent; cursor: pointer; padding: 6px 0; font: inherit; font-size: 12px; font-weight: 600; letter-spacing: 0.12em; color: var(--muted); text-transform: uppercase; }
.lang__et { transition: color .2s; }
.lang:not(.is-en) .lang__et--ro, .lang.is-en .lang__et--en { color: var(--petrol); }
.lang__track { position: relative; width: 50px; height: 24px; border-radius: 999px; background: var(--sage-light); border: 1px solid var(--line); }
.lang__cursor { position: absolute; top: 2px; left: 2px; width: 28px; height: 18px; border-radius: 999px; overflow: hidden; transition: left .25s ease; box-shadow: 0 1px 3px rgba(4, 44, 54, 0.25); }
.lang.is-en .lang__cursor { left: 18px; }
.lang__flag { position: absolute; inset: 0; width: 100%; height: 100%; transition: opacity .25s; }
.lang__flag--en { opacity: 0; }
.lang.is-en .lang__flag--en { opacity: 1; }
.lang.is-en .lang__flag--ro { opacity: 0; }
.nav-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); align-items: center; justify-content: center; cursor: pointer; }

/* Butoane */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: var(--radius-btn); padding: 16px 28px; font-size: 16px; font-weight: 500; border: 1px solid transparent; cursor: pointer; text-decoration: none; min-height: 44px; }
.btn:hover { text-decoration: none; filter: brightness(1.05); }
.btn--primary { background: var(--cta-bg); color: var(--cta-fg); }
.btn--primary::after { content: "→"; margin-left: 4px; transition: transform .25s; }
.btn--primary:hover::after { transform: translateX(6px); }
.btn--secondary { background: transparent; color: var(--petrol); border-color: var(--petrol); }
.btn--ghost { background: transparent; color: var(--white); border-color: var(--sage); }
.btn--petrol { background: var(--petrol); color: var(--white); }
.btn--small { padding: 10px 16px; font-size: 14px; }
.textlink { font-size: 14px; color: var(--muted); text-decoration: underline; text-underline-offset: 4px; }

/* Hero */
.hero { background: var(--paper); }
.hero .wrap { padding-top: 72px; padding-bottom: 80px; display: flex; flex-wrap: wrap; align-items: center; gap: 48px; }
.hero__text { flex: 1 1 460px; display: flex; flex-direction: column; gap: 24px; }
.hero__media { flex: 1 1 460px; display: flex; justify-content: center; }
.hero__photo { width: 100%; max-width: 560px; height: 520px; border-radius: 280px 28px 28px 28px; background: var(--sage); object-fit: cover; display: flex; align-items: center; justify-content: center; color: var(--petrol); font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase; text-align: center; padding: 24px; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8px; }

/* Slider pe prima pagină, ca la Biogena Sports: imagini care alunecă stânga-dreapta */
.slider { position: relative; background: var(--paper); overflow: hidden; }
.slider__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.slider__track::-webkit-scrollbar { display: none; }
.slide { flex: 0 0 100%; scroll-snap-align: start; }
.slide .wrap { padding-top: 64px; padding-bottom: 88px; display: flex; flex-wrap: wrap; align-items: center; gap: 48px; }
.slide__text { flex: 1 1 440px; display: flex; flex-direction: column; gap: 22px; }
.slide__media { flex: 1 1 440px; display: flex; justify-content: center; }
.slide__photo { position: relative; width: 100%; max-width: 560px; height: 480px; border-radius: 28px; background: var(--sage); overflow: hidden; display: flex; align-items: center; justify-content: center; color: var(--petrol); font-size: 13px; letter-spacing: 0.2em; text-transform: uppercase; text-align: center; padding: 24px; }
.slide__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
figure.slide__photo { margin: 0; }
.credit { position: absolute; left: 14px; bottom: 12px; font-family: var(--sans); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: #fff; background: rgba(4, 44, 54, 0.72); padding: 6px 10px; border-radius: 4px; text-align: left; }
.art-figure { position: relative; margin: 0; border-radius: var(--radius); overflow: hidden; background: var(--sage-light); }
.art-figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.slide__photo--1 { background: linear-gradient(135deg, var(--sage-light), var(--sage)); }
.slide__photo--2 { background: linear-gradient(135deg, var(--sage), var(--petrol-mid)); color: #fff; }
.slide__photo--3 { background: linear-gradient(135deg, var(--petrol-mid), var(--petrol)); color: #fff; }
.slider__nav { position: absolute; left: 0; right: 0; bottom: 28px; display: flex; align-items: center; justify-content: space-between; padding: 0 var(--gutter); pointer-events: none; }
.slider__nav > * { pointer-events: auto; }
.slider__dots { display: flex; gap: 8px; margin: 0 auto; }
.slider__dot { width: 48px; height: 4px; border: 0; border-radius: 2px; background: var(--sage); cursor: pointer; padding: 0; position: relative; overflow: hidden; }
.slider__dot.is-active::after { content: ""; position: absolute; inset: 0; background: var(--petrol); transform-origin: left; animation: bv-progress var(--slide-ms, 6000ms) linear forwards; }
.slider__dot[aria-current="true"] { background: var(--sage); }
.slider__arrow { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--petrol); background: var(--white); color: var(--petrol); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.slider__arrow:hover { background: var(--petrol); color: #fff; }
@keyframes bv-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) { .slider__dot.is-active::after { animation: none; transform: none; } }

/* Banda de încredere */
.trust { background: var(--petrol); color: var(--white); }
.trust .wrap { padding: 28px var(--gutter); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px 32px; }
.trust__item { flex: 1 1 220px; display: flex; align-items: center; gap: 14px; font-size: 15px; font-weight: 500; }
.trust__item svg { flex: 0 0 28px; }

/* Grila de nevoi */
.needs { display: flex; flex-wrap: wrap; gap: 20px; }
.need { flex: 1 1 300px; min-height: 160px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); display: flex; flex-direction: column; justify-content: space-between; gap: 16px; color: var(--ink); background: var(--white); }
.need:hover { text-decoration: none; border-color: var(--sage); background: var(--paper); }
.need__title { font-family: var(--display); font-weight: var(--display-weight); font-size: 24px; color: var(--petrol); }
.need__text { font-size: 15px; color: var(--muted); }

/* Carduri de actori */
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.card { background: var(--white); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--line); min-width: 0; }
.card__photo { aspect-ratio: 4 / 5; width: 100%; background: var(--sage); display: flex; align-items: center; justify-content: center; color: var(--petrol); font-size: 13px; letter-spacing: 0.2em; text-transform: uppercase; object-fit: cover; object-position: center top; }
.card__body { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1 1 auto; }
.card__body .card__foot { margin-top: auto; }
.card__line { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(1.55em * 2); }
.card__name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.status { display: flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); }
.status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ok); }
.status--soon::before { background: var(--copper); }
.card__name { font-family: var(--display); font-weight: var(--display-weight); font-size: 24px; color: var(--petrol); }
.card__line { font-size: 15px; color: var(--muted); }
.card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; font-size: 15px; }

/* Pași */
.steps { flex: 2 1 560px; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.steps li { display: flex; gap: 28px; padding: 28px 0; border-top: 1px solid var(--line); }
.steps li:last-child { border-bottom: 1px solid var(--line); }
.steps .num { font-family: var(--display); font-weight: var(--display-weight); font-size: 40px; line-height: 1; color: var(--copper); min-width: 56px; }
.steps strong { display: block; font-size: 20px; font-weight: 500; color: var(--petrol); margin-bottom: 6px; }
.steps span { color: var(--muted); }

/* Manifest */
.quote { font-family: var(--display); font-weight: var(--display-weight); font-style: italic; font-size: clamp(26px, 3.4vw, 48px); line-height: 1.2; max-width: 900px; }
.byline { display: flex; align-items: center; gap: 16px; }
.byline__avatar { width: 56px; height: 56px; border-radius: 50%; background: var(--sage); object-fit: cover; }

/* Testimoniale, blog */
.quote-card { flex: 1 1 320px; margin: 0; padding: 32px; background: var(--paper); border-radius: var(--radius); display: flex; flex-direction: column; gap: 20px; }
.quote-card p { font-family: var(--display); font-weight: 600; font-size: 22px; line-height: 1.4; color: var(--petrol); }
.quote-card footer { font-size: 14px; color: var(--muted); }
.post { flex: 1 1 320px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; gap: 12px; color: var(--ink); }
.post:hover { text-decoration: none; border-color: var(--sage); }
.post__date { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); }
.post__title { font-family: var(--display); font-weight: var(--display-weight); font-size: 28px; color: var(--petrol); }
.post__snippet { font-size: 15px; color: var(--muted); }

/* Formulare */
.field { display: flex; flex-direction: column; gap: 6px; }
.label { font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); }
.input, .textarea, .select { font: inherit; font-size: 16px; padding: 13px 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--ink); background: var(--white); width: 100%; }
.input:focus, .textarea:focus, .select:focus { outline: 2px solid var(--sage); outline-offset: 1px; border-color: var(--petrol); }
.textarea { resize: vertical; min-height: 120px; }
.input--pill { border-radius: 999px; }
.form-row { display: flex; flex-wrap: wrap; gap: 10px; }
.form-row .input { flex: 1 1 240px; }
.help { font-size: 13px; color: var(--muted); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { font-size: 13px; color: var(--petrol); border: 1px solid var(--sage); border-radius: 999px; padding: 7px 12px; }
.chip--off { color: var(--muted); border-style: dashed; border-color: #C9CFD3; text-decoration: line-through; }

/* Panou de formate */
.panel { background: var(--paper); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; gap: 20px; }
.panel__title { display: flex; align-items: center; gap: 10px; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); }
.formats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; }
.format { border: 1px solid var(--line); background: var(--white); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 4px; color: var(--ink); cursor: pointer; }
.format:hover { text-decoration: none; border-color: var(--petrol); }
.format.is-picked { border: 2px solid var(--petrol); }
.format__dur { font-size: 13px; color: var(--muted); }
.format__price { font-size: 15px; font-weight: 500; color: var(--petrol); line-height: 1.3; }

/* Calendar de rezervare */
.cal { display: flex; flex-direction: column; gap: 14px; }
.cal__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cal__month { font-family: var(--display); font-weight: var(--display-weight); font-size: 24px; color: var(--petrol); text-transform: capitalize; }
.cal__nav { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); background: var(--white); color: var(--petrol); font-size: 22px; cursor: pointer; }
.cal__nav:hover { border-color: var(--petrol); }
.cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.cal__dow { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); text-align: center; padding: 6px 0; }
.cal__cell { aspect-ratio: 1; min-height: 40px; border-radius: 10px; border: 1px solid var(--line); background: var(--white); font: inherit; font-size: 15px; font-weight: 500; color: var(--ink); cursor: pointer; }
.cal__cell--empty { border: 0; background: transparent; cursor: default; }
.cal__cell--past, .cal__cell--none { color: #9AA6AB; background: var(--paper); cursor: not-allowed; }
.cal__cell--soon, .cal__cell--none { color: #9AA6AB; background: var(--paper); cursor: not-allowed; }
.cal__cell--free { background: #DDF3E4; border-color: #9FD6B4; color: #0F5A33; }
.cal__cell--free:hover { background: #BFE8CC; }
.cal__cell--busy { background: #FBE1E1; border-color: #F0B4B4; color: #8A1F1F; cursor: not-allowed; }
.cal__cell--open { background: var(--white); }
.cal__cell--open:hover { background: var(--sage-light); }
.cal__cell.is-picked { outline: 3px solid var(--petrol); outline-offset: -1px; }
.cal__legend { display: flex; flex-wrap: wrap; gap: 16px; font-size: 13px; color: var(--muted); }
.cal__dot { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; border: 1px solid var(--line); }
.cal__dot--free { background: #DDF3E4; border-color: #9FD6B4; }
.cal__dot--busy { background: #FBE1E1; border-color: #F0B4B4; }
.cal__dot--none { background: var(--paper); }
.cal__detail { border-top: 1px solid var(--line); padding-top: 14px; display: flex; flex-direction: column; gap: 10px; }
.cal__pickrow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.chip--pick { cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.chip--pick input { margin: 0; }
.cal__x { border: 0; background: transparent; color: var(--copper); font-size: 16px; cursor: pointer; padding: 0 2px; }

/* CTA final */
.cta { text-align: center; }
.cta .wrap { padding-top: 96px; padding-bottom: 112px; display: flex; flex-direction: column; align-items: center; gap: 24px; }
.cta h2 { font-size: clamp(32px, 4vw, 52px); max-width: 760px; }

/* Footer */
.site-footer { background: var(--petrol-dark); color: var(--white); }
.site-footer .wrap { padding-top: 64px; padding-bottom: 40px; display: flex; flex-wrap: wrap; gap: 40px 64px; }
.site-footer a { color: var(--white); }
.site-footer .col { flex: 1 1 160px; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.site-footer .col--brand { flex: 2 1 320px; gap: 14px; }
.site-footer .col-title { font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--sage); margin-bottom: 6px; }
.site-footer .legal { padding: 0 var(--gutter) 32px; font-size: 13px; color: var(--sage); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; max-width: var(--max); margin: 0 auto; }
.site-footer .legal a { color: var(--sage); }

/* Pagini de conținut */
.prose { max-width: 760px; display: flex; flex-direction: column; gap: 18px; font-size: 17px; line-height: 1.65; color: var(--ink-soft); }
.prose h2 { font-size: 32px; margin-top: 16px; }
.prose h3 { font-size: 22px; font-family: var(--sans); font-weight: 500; color: var(--petrol); }
.prose ul { margin: 0; padding-left: 22px; }
details { border-top: 1px solid var(--line); padding: 20px 0; }
details:last-of-type { border-bottom: 1px solid var(--line); }
summary { font-size: 18px; font-weight: 500; color: var(--petrol); cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }
details p { margin-top: 12px; color: var(--muted); }

/* Aplicația: cont de actor, regie, platou */
.app { background: var(--paper); min-height: 100vh; }
.app-header { background: var(--white); border-bottom: 1px solid var(--line); padding: 0 32px; min-height: 72px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.app-header--petrol { background: var(--petrol); color: var(--white); border: 0; }
.app-header--petrol .logo__word { color: var(--white); }
.app-layout { max-width: 1360px; margin: 0 auto; padding: 32px; display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.app-nav { flex: 0 1 220px; display: flex; flex-direction: column; gap: 4px; font-size: 15px; font-weight: 500; }
.app-nav a { padding: 12px 16px; border-radius: var(--radius-sm); display: flex; justify-content: space-between; }
.app-nav a.is-active { background: var(--petrol); color: var(--white); }
.app-nav a:hover { text-decoration: none; background: var(--sage-light); }
.app-nav a.is-active:hover { background: var(--petrol); }
.app-main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.box { background: var(--white); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; gap: 18px; }
.notice { background: var(--sage-light); border-radius: 16px; padding: 18px 22px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; color: var(--petrol); }
.metrics { display: flex; flex-wrap: wrap; gap: 16px; }
.metric { flex: 1 1 200px; background: var(--white); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 6px; border: 1px solid var(--line); }
.metric__value { font-family: var(--display); font-weight: var(--display-weight); font-size: 36px; line-height: 1; color: var(--petrol); }
.metric__label { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); }
.badge { font-size: 12px; background: var(--copper); color: var(--white); border-radius: 999px; padding: 2px 9px; }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 20px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 15px; }
th { text-align: left; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); font-weight: 500; padding: 10px 12px; border-bottom: 1px solid var(--line); }
td { padding: 12px; border-bottom: 1px solid var(--line); }
.week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
.day { background: var(--white); border-radius: 16px; padding: 14px 12px; display: flex; flex-direction: column; gap: 8px; min-height: 420px; }
.day__name { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.slot { border: 1px solid var(--sage); background: var(--sage-light); border-radius: 10px; padding: 10px; font-size: 13px; line-height: 1.4; color: var(--petrol); }
.slot--booked { background: var(--petrol); color: var(--white); border-color: var(--petrol); }
.slot--add { margin-top: auto; border: 1px dashed var(--sage); background: transparent; text-align: center; cursor: pointer; }

/* Platoul */
.stage { background: var(--petrol-dark); color: var(--white); min-height: 100vh; display: flex; flex-direction: column; font-family: var(--sans); }
.stage__bar { padding: 0 28px; min-height: 68px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; border-bottom: 1px solid var(--petrol-mid); }
.stage__timer { font-family: var(--display); font-weight: var(--display-weight); font-size: 40px; line-height: 1; }
.stage__body { flex: 1 1 auto; display: flex; flex-wrap: wrap; gap: 20px; padding: 20px 28px; }
.stage__video { flex: 999 1 560px; min-height: 480px; position: relative; border-radius: var(--radius); background: var(--petrol-mid); display: flex; align-items: center; justify-content: center; color: var(--sage); font-size: 13px; letter-spacing: 0.2em; text-transform: uppercase; overflow: hidden; }
.stage__self { position: absolute; right: 20px; bottom: 20px; width: 220px; height: 140px; border-radius: 14px; background: var(--petrol); border: 1px solid #2E6A80; display: flex; align-items: center; justify-content: center; }
.stage__chat { flex: 1 1 320px; max-width: 380px; min-height: 480px; border-radius: var(--radius); background: var(--petrol); display: flex; flex-direction: column; overflow: hidden; }
.stage__chat-head { padding: 18px 20px; border-bottom: 1px solid var(--petrol-mid); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--sage); }
.stage__messages { flex: 1 1 auto; padding: 20px; display: flex; flex-direction: column; gap: 12px; font-size: 15px; overflow-y: auto; }
.msg { max-width: 85%; padding: 10px 14px; border-radius: 14px; }
.msg--them { align-self: flex-start; background: var(--petrol-mid); border-bottom-left-radius: 4px; }
.msg--me { align-self: flex-end; background: var(--sage); color: var(--petrol-dark); border-bottom-right-radius: 4px; }
.stage__opener { align-self: center; font-family: var(--display); font-weight: 600; font-style: italic; font-size: 19px; text-align: center; padding: 0 8px 8px; }
.stage__controls { padding: 16px 28px 22px; border-top: 1px solid var(--petrol-mid); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.ctl { width: 52px; height: 52px; border-radius: 50%; border: 1px solid #2E6A80; background: var(--petrol); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.ctl.is-off { background: var(--copper); }
.pill-tag { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--sage); border: 1px solid var(--petrol-mid); border-radius: 999px; padding: 8px 14px; }

/* Responsive */
@media (max-width: 900px) {
  :root { --gutter: 20px; }
  .section { padding: 56px 0; }
  .site-header .wrap { min-height: 72px; }
  .logo__word { font-size: 26px; }
  .logo__tag { font-size: 9px; }
  .nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--white); border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; gap: 0; padding: 12px 20px 20px; }
  .nav.is-open { display: flex; }
  .nav a { padding: 14px 0; border-bottom: 1px solid var(--line); }
  .nav .pill, .nav .btn { margin-top: 12px; text-align: center; justify-content: center; border-bottom: 0; }
  .nav-toggle { display: inline-flex; }
  .hero .wrap { padding-top: 40px; padding-bottom: 36px; }
  .hero__photo { height: 300px; border-radius: 150px 20px 20px 20px; }
  .slide .wrap { padding-top: 32px; padding-bottom: 84px; flex-direction: column-reverse; align-items: stretch; gap: 24px; }
  .slide__media, .slide__text { flex-basis: auto; width: 100%; }
  .slide__photo { height: 260px; border-radius: 20px; }
  .slider__arrow { display: none; }
  .grid-2, .grid-3 { grid-template-columns: 1fr; }
  .week { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .day { min-height: 0; }
  .app-layout { padding: 20px; }
  .app-nav { flex: 1 1 100%; flex-direction: row; flex-wrap: wrap; }
  .steps li { gap: 18px; padding: 20px 0; }
  .steps .num { font-size: 30px; min-width: 44px; }
}

/* Poza de profil a omului: același format 4:5 ca pe casetă, fără decupaj */
.om__photo { display: block; width: 100%; aspect-ratio: 4 / 5; height: auto; object-fit: cover; object-position: center top; border-radius: 28px 28px 28px 200px; background: var(--sage); }
.om__photo--empty { display: flex; align-items: center; justify-content: center; color: var(--petrol); font-size: 13px; letter-spacing: 0.2em; text-transform: uppercase; }
/* Butonul pentru nimic: un buton adevărat, cu spirala golului */
.btn--nothing { background: var(--white); color: var(--petrol); border-color: var(--line); }
.btn--nothing:hover { border-color: var(--petrol); }
.btn--nothing svg { width: 18px; height: 18px; }
.btn--nothing::after { content: none; }

/* Atributul hidden câștigă în fața oricărui display dat prin clase (blocurile de limbă, pasul 2 la logare) */
[hidden] { display: none !important; }
/* Comutatorul de limbă pe fundal petrol: în antetul Regiei și în bara Platoului */
.app-header .lang { margin-right: 4px; }
.app-header--petrol .lang, .stage__bar .lang { color: var(--sage); }
.app-header--petrol .lang:not(.is-en) .lang__et--ro, .app-header--petrol .lang.is-en .lang__et--en,
.stage__bar .lang:not(.is-en) .lang__et--ro, .stage__bar .lang.is-en .lang__et--en { color: #fff; }
.app-header--petrol .lang__track, .stage__bar .lang__track { background: var(--petrol-mid); border-color: var(--petrol-mid); }

/* Casetele oamenilor: toată caseta e link, dar fără subliniere la hover; doar butonul „Vezi profilul” se colorează */
.card, .card:hover, .card:hover * { text-decoration: none; }
.card { transition: border-color .2s ease, box-shadow .2s ease; }
.card:hover, .card:focus-visible { border-color: var(--sage); box-shadow: 0 10px 30px rgba(4, 44, 54, 0.08); outline: none; }
.card .btn--secondary { transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.card:hover .btn--secondary, .card:focus-visible .btn--secondary { background: var(--cta-bg, var(--petrol)); color: var(--cta-fg, #fff); border-color: var(--cta-bg, var(--petrol)); }

/* Fișa omului: aceleași rubrici, în aceeași ordine, pentru fiecare om */
.facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--white); }
.fact { display: flex; flex-direction: column; gap: 3px; padding: 12px 16px; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); font-size: 15px; min-height: 64px; }
.fact:nth-child(2n) { border-right: 0; }
.fact:nth-last-child(-n+2) { border-bottom: 0; }
.fact dd { margin: 0; color: var(--ink); }
.fact--empty dd { color: var(--muted); }
@media (max-width: 480px) { .facts { grid-template-columns: 1fr; } .fact { border-right: 0; } .fact:nth-last-child(2) { border-bottom: 1px solid var(--line); } }

/* Aliniere la ambele margini (justify) pentru paragrafele de text, cu despărțire automată în silabe
   (limba vine din atributul lang de pe <html>), ca pe mobil să nu rămână spații mari între cuvinte.
   Titlurile, etichetele scurte, butoanele, casetele oamenilor și textele centrate rămân cum erau. */
p, .lead, li, dd, blockquote { text-align: justify; text-justify: inter-word; hyphens: manual; -webkit-hyphens: manual; overflow-wrap: break-word; }
.help, .fact dd, .quote-card p, .stage__opener, .stage p, .banner p, figcaption, .cta p, .cta .lead,
[style*="text-align: center"] p, [style*="text-align: center"] .lead, [style*="text-align: center"] li { text-align: inherit; hyphens: manual; -webkit-hyphens: manual; }

/* 1 · Un cuvânt în loc de stele */
/* Cuvintele lăsate de invitați · varianta 2 (Cătălin, 29 oct 2026): pe petrol, în italic, mărimea după număr, numărul ca exponent albastru */
.words-band__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 48px; align-items: start; }
.words-band .lead { color: #DCE6EC; }
.words-band .muted { color: #B8CDCD; }
.words { display: flex; flex-wrap: wrap; gap: 12px 36px; align-items: baseline; align-content: flex-start; }
/* Culorile cuvintelor: implicit pentru fundal deschis (alb, hârtie: Finala), suprascrise în banda petrol (.words-band) */
.word { font-family: var(--serif); font-style: italic; font-weight: 500; color: var(--petrol); line-height: 1.1; font-variation-settings: 'opsz' 24; }
.word--1 { font-size: 28px; color: #7E979F; } .word--2 { font-size: 34px; color: #5C7A84; } .word--3 { font-size: 42px; color: #0E7592; } .word--4 { font-size: 64px; color: var(--petrol); }
.word small { font-family: var(--sans); font-style: normal; font-weight: 500; font-size: 13px; color: #0E7592; margin-left: 6px; vertical-align: top; line-height: 1; position: relative; top: 2px; }
.words-band .word--1, .words-band .word--2 { color: #B8CDCD; } .words-band .word--3 { color: #DCE6EC; } .words-band .word--4 { color: #fff; } .words-band .word small { color: #5FB3C9; }
@media (max-width: 900px) { .words-band__grid { grid-template-columns: 1fr; gap: 28px; } .word--4 { font-size: 48px; } .word--3 { font-size: 36px; } }
.stage__wordbox { position: fixed; inset: 0; background: rgba(2, 28, 35, .88); display: flex; align-items: center; justify-content: center; padding: 20px; z-index: 50; }
/* 2 · Contorul de nimic */
.counter { display: flex; flex-wrap: wrap; gap: 32px 56px; align-items: center; }
.counter__num { font-family: var(--display); font-weight: 700; font-size: clamp(60px, 9vw, 116px); line-height: .95; color: #fff; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.counter__spiral { width: 180px; height: 180px; flex: 0 0 auto; }
.counter__spiral path { fill: none; stroke: var(--cta-bg); stroke-width: 3.5; stroke-linecap: round; }
[data-paleta] .counter__spiral path { stroke: var(--sage); }
/* 3 · Biletul de episod */
.ticket { display: none; } .ticket.is-on { display: flex; }
.ticket canvas { width: 100%; max-width: 600px; height: auto; border-radius: 16px; box-shadow: 0 16px 40px rgba(4, 44, 54, .18); }
/* 4 · Ruleta de nimic */
.roulette { border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); padding: 24px; }
.roulette__window { position: relative; overflow: hidden; margin: 20px 0 16px; border-radius: 16px; }
.roulette__window::before, .roulette__window::after { content: ""; position: absolute; top: 0; bottom: 0; width: 80px; z-index: 1; pointer-events: none; }
.roulette__window::before { left: 0; background: linear-gradient(90deg, var(--white), transparent); }
.roulette__window::after { right: 0; background: linear-gradient(270deg, var(--white), transparent); }
.roulette__strip { display: flex; gap: 12px; will-change: transform; }
.roulette__item { flex: 0 0 120px; width: 120px; height: 150px; border-radius: 16px; overflow: hidden; background: var(--sage-light); display: flex; align-items: center; justify-content: center; font-family: var(--display); font-weight: 700; font-size: 30px; color: var(--petrol); }
.roulette__item img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.roulette__item.is-win { box-shadow: inset 0 0 0 4px var(--cta-bg); }
.roulette__pointer { position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; background: var(--cta-bg); transform: translateX(-50%); z-index: 2; }
.roulette__pointer::before { content: ""; position: absolute; left: 50%; top: 0; transform: translateX(-50%); border: 9px solid transparent; border-top: 12px solid var(--cta-bg); }
.roulette__result { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; min-height: 48px; }

/* ===== 29 octombrie 2026 · antet pe petrol cu brandul în stânga, sertar, subsol de brand, fonturi, reglaje pe ecrane =====
   Decizii Cătălin: brandul pe fundal petrol pe primul rând (nu pe alb), nimic centrat în antet și subsol; meniul „burger”
   în stânga doar cu paginile; limba doar pe prima pagină, cu albastru doar pe pista steagului; BLOG pe fundal plin;
   titlurile în Bodoni Moda (fontul brandului), textul în Jost (fontul tagline-ului); text aerisit. */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Titluri în Bodoni Moda */
/* Mărimea optică 24 (nu 96): la Bodoni, la mărimi mari, coada virgulei era un fir de păr și se confunda cu punctul (observație Cătălin, 29 oct 2026) */
h1, h2, h3 { font-variation-settings: 'opsz' 24; letter-spacing: -0.005em; line-height: 1.08; }
h1 { font-size: clamp(40px, 5.2vw, 72px); }
h2 { font-size: clamp(32px, 3.6vw, 50px); }
.need__title, .card__name, .post__title { font-weight: 500; font-variation-settings: 'opsz' 24; }
.counter__num { font-weight: 600; }

/* Text mai aerisit */
body { line-height: 1.7; }
.lead { line-height: 1.7; }
.section { padding: 104px 0; }
.prose { line-height: 1.85; gap: 24px; }
.need__text, .steps span, .card__line, .muted, .help { line-height: 1.65; }
.box p, .notice, .fact dd { line-height: 1.6; }
.manifest { font-family: var(--display); font-weight: 500; font-style: italic; font-size: clamp(19px, 1.75vw, 25px); line-height: 1.4; color: var(--petrol-mid); max-width: none; text-align: left; font-variation-settings: 'opsz' 48; }

/* Antetul 24: bandă subțire sus (bucla, tagline, limba), apoi bara principală pe petrol cu linie albastră jos */
.topband { background: var(--petrol-dark); color: #B8CDCD; }
.topband .wrap { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.topband__tag { display: inline-flex; align-items: center; gap: 10px; font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; white-space: nowrap; color: #B8CDCD; }
.topband__curl { width: 16px; height: 16px; color: #5FB3C9; flex: 0 0 16px; overflow: visible; }
.topband__curl path { stroke-width: 3; }
.topband .lang { color: #B8CDCD; font-size: 11px; height: 34px; padding: 0; }
.topband .lang:not(.is-en) .lang__et--ro, .topband .lang.is-en .lang__et--en { color: #fff; }
.topband .lang__track { background: var(--petrol-mid); border-color: var(--petrol-mid); width: 42px; height: 20px; }
.topband .lang__cursor { width: 22px; height: 14px; top: 2px; left: 2px; }
.topband .lang.is-en .lang__cursor { left: 16px; }
.site-header { background: var(--petrol); border-bottom: 1px solid #5FB3C9; color: #fff; }
.site-header .wrap { min-height: 96px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.hdr__nav { margin-left: auto; display: flex; align-items: center; gap: 8px; min-width: 0; }
.hdr__right { display: flex; align-items: center; gap: 12px; }
.logo { position: relative; display: flex; flex-direction: column; gap: 3px; padding-left: 0; color: #fff; }
.logo:hover { text-decoration: none; }
.logo__mark { position: relative; display: inline-block; padding-left: 8px; }
.logo__curl { position: absolute; left: -9px; top: -17px; width: 36px; height: 36px; color: #5FB3C9; overflow: visible; }
.logo__word { font-family: var(--serif); font-size: 40px; font-weight: 400; line-height: 1; color: #fff; font-variation-settings: 'opsz' 96; white-space: nowrap; }
.logo__tag { display: none; }
.icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: var(--radius-sm); background: transparent; color: #fff; cursor: pointer; padding: 0; transition: border-color .2s, background-color .2s; }
.icon-btn:hover { text-decoration: none; border-color: #fff; background: rgba(255, 255, 255, 0.06); }
.icon-btn--round { border-radius: 50%; }
.pill--ghost { display: inline-flex; align-items: center; height: 44px; background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 999px; padding: 0 18px; font-size: 12.5px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; transition: border-color .2s, background-color .2s, color .2s; }
/* Paginile sitului: la hover se umplu cu alb; Blog: la hover se umple cu albastru (altă culoare, decizie Cătălin) */
.pill--ghost:hover { text-decoration: none; background: #fff; border-color: #fff; color: var(--petrol); }
.pill--ghost.is-active { border-color: #5FB3C9; color: #5FB3C9; }
.pill--blog { border-style: dashed; }
.pill--blog:hover { background: var(--petrol-mid); border-color: var(--petrol-mid); color: #fff; }

/* Rezervarea pe WhatsApp (30 oct 2026): panoul cu mesajul gata scris, codul QR pe laptop */
.wa-panel { background: var(--sage-light); border-radius: 16px; padding: 20px 22px; gap: 14px; }
.wa-panel__row { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.wa-panel__msg { display: flex; flex-direction: column; gap: 6px; flex: 1 1 220px; }
.wa-panel__msg strong { font-family: var(--serif); font-size: 30px; font-weight: 500; color: var(--petrol); letter-spacing: 0.02em; font-variation-settings: 'opsz' 24; }
.wa-panel__qr { flex: 0 0 150px; display: flex; flex-direction: column; gap: 6px; }
.wa-panel__qr svg { width: 150px; height: 150px; background: #fff; border-radius: 10px; padding: 6px; display: block; }
.wa-panel .btn--primary { gap: 10px; }
[data-book-submit] { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; }

/* Coșul (30 oct 2026): punctul de pe pictograma din antet și pagina cos.html */
.icon-btn--cart { position: relative; }
.icon-btn__dot { display: none; position: absolute; top: 7px; right: 7px; width: 9px; height: 9px; border-radius: 50%; background: #5FB3C9; box-shadow: 0 0 0 2px var(--petrol); }
.icon-btn--cart.has-items .icon-btn__dot { display: block; }
.cart h1 { font-size: clamp(34px, 4vw, 52px); margin: 0; }
.cart--empty { max-width: 620px; gap: 20px; padding: 24px 0 8px; }
.cart--full { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 56px; align-items: start; }
.cart__sum { margin: 8px 0 0; padding: 0; border-top: 1px solid var(--sage); max-width: 420px; }
.cart__sum div { display: flex; justify-content: space-between; gap: 24px; padding: 12px 0; border-bottom: 1px solid var(--sage); font-size: 15px; }
.cart__sum dt { color: var(--muted); } .cart__sum dd { margin: 0; text-align: right; }
.cart__sum .cart__total { font-weight: 600; } .cart__sum .cart__total dt { color: var(--petrol); }
.cart__ticket canvas { width: 100%; height: auto; border-radius: 16px; box-shadow: 0 16px 40px rgba(4, 44, 54, .18); }
.cart__ticket .help { margin-top: 12px; }
.btn--ghost.btn--pill { background: transparent; border: 1px solid transparent; color: var(--muted); }
.btn--ghost.btn--pill:hover { color: var(--petrol); border-color: var(--sage); }
@media (max-width: 900px) { .cart--full { grid-template-columns: 1fr; gap: 32px; } }

/* Subsolul 3: două jumătăți. Stânga: brandul, proiectul, rețelele. Dreapta: navigare și legal. Jos: bara legală. */
/* Fundalul subsolului (30 oct 2026, ales de Cătălin): textura „creastă de lumină pe petrol” generată prin Canva, cu un voal petrol peste ea ca textul să rămână lizibil, și bucla ca semn de apă în dreapta jos */
.site-footer { position: relative; overflow: hidden; background: var(--petrol-dark) url(../img/brand/subsol-textura.jpg) center / cover no-repeat; }
.site-footer::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2, 28, 35, 0.4), rgba(2, 28, 35, 0.12)); z-index: 0; }
.site-footer > * { position: relative; z-index: 1; }
.site-footer .footer__mark { position: absolute; right: -4%; bottom: -34%; width: min(440px, 56vw); height: auto; color: #5FB3C9; opacity: 0.2; z-index: 0; pointer-events: none; }
.site-footer .footer__mark path { stroke-width: 1.1; }
@media (max-width: 900px) { .site-footer .footer__mark { right: -12%; bottom: -8%; width: 60vw; } }
.site-footer .footer__grid { padding-top: 88px; padding-bottom: 72px; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.footer__brand { display: flex; flex-direction: column; gap: 26px; min-width: 0; border-right: 1px solid rgba(255, 255, 255, 0.12); padding-right: 48px; }
.footer__lock { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; color: #fff; }
.footer__lock:hover { text-decoration: none; }
.footer__curlwrap { position: relative; display: inline-block; padding-left: 8px; }
.footer__curl { position: absolute; left: -20px; top: -26px; width: 46px; height: 46px; color: #5FB3C9; }
.footer__word { font-family: var(--serif); font-size: clamp(44px, 5vw, 68px); font-weight: 400; line-height: 1; color: #fff; font-variation-settings: 'opsz' 96; white-space: nowrap; }
.footer__tag { font-size: 12px; letter-spacing: 0.34em; text-transform: uppercase; color: #B8CDCD; }
.footer__project { font-size: 15px; color: var(--sage); max-width: 480px; text-align: left; }
.footer__social { display: flex; gap: 12px; }
.icon-btn--round { border-radius: 50%; }
.footer__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding-left: 16px; }
.site-footer .col { gap: 12px; }
.site-footer .col-title { color: #B8CDCD; }
.site-footer .legal { padding-top: 22px; padding-bottom: 28px; border-top: 1px solid rgba(255, 255, 255, 0.1); justify-content: space-between; align-items: center; }
.site-footer .legal a { color: var(--sage); text-decoration: none; }
.site-footer .legal a:hover { text-decoration: underline; }
.footer__up { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; }

/* Începutul 1A: titlu mare, butoane pastilă; panglica petrol cu manifestul; promisiunile pe fundal deschis */
.slide--lead h1 { font-size: clamp(42px, 5.6vw, 78px); }
.slide--lead .hero__actions { gap: 14px; }
.btn--pill { border-radius: 999px; padding: 16px 30px; }
.btn--pill.btn--secondary { border-color: var(--petrol); color: var(--petrol); }
.btn--pill.btn--secondary:hover { background: var(--petrol); color: #fff; }
.btn--nothing.btn--pill { padding: 12px 24px 12px 18px; gap: 12px; background: var(--paper); border-color: var(--line); color: var(--petrol); }
.btn--nothing.btn--pill:hover { border-color: var(--petrol-mid); }
.btn--nothing svg { width: 26px; height: 26px; }
#nothing-out { margin-top: 4px; }
.ribbon { background: var(--petrol); color: #fff; }
.ribbon__wrap { padding-top: 34px; padding-bottom: 34px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.ribbon__quote { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: clamp(24px, 2.6vw, 36px); line-height: 1.25; color: #fff; text-align: left; font-variation-settings: 'opsz' 24; }
.ribbon__side { font-size: 15px; line-height: 1.6; color: #B8CDCD; text-align: right; max-width: 380px; flex: 0 0 auto; }
.ribbon__side strong { color: #fff; font-weight: 500; }
.trust { background: var(--paper); color: var(--petrol); border-bottom: 1px solid var(--line); }
.trust svg { stroke: var(--petrol-mid); }
.manifest { font-family: var(--serif); font-weight: 500; font-style: italic; font-size: clamp(20px, 1.9vw, 28px); line-height: 1.35; color: var(--petrol-mid); max-width: 720px; text-align: left; font-variation-settings: 'opsz' 24; padding-top: 18px; border-top: 1px solid #5FB3C9; }

/* Nevoile: format și durată */
.need { gap: 14px; }
.need__fmt { display: inline-flex; align-items: center; align-self: flex-start; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--petrol-mid); border: 1px solid var(--petrol-mid); border-radius: 999px; padding: 6px 12px; }

/* Butonul pentru un gând: bucla din siglă, mare și vizibilă */
.btn--nothing { padding: 12px 24px 12px 14px; gap: 14px; border-color: var(--petrol); }
.btn--nothing svg { width: 36px; height: 36px; overflow: visible; color: var(--petrol-mid); transition: transform .3s ease; }
.btn--nothing:hover svg { transform: rotate(-24deg) scale(1.08); }

/* Pagina Episoade: un rând pe episod, cu nevoia și prețul */
.ep { display: flex; flex-direction: column; }
.ep__row { display: grid; grid-template-columns: 96px 1fr auto; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); color: var(--ink); }
.ep__row:last-child { border-bottom: 0; }
.ep__row:hover { text-decoration: none; color: var(--petrol-mid); }
.ep__dur { font-family: var(--display); font-weight: 500; font-size: 22px; color: var(--petrol); white-space: nowrap; }
.ep__need { font-size: 16px; }
.ep__price { font-size: 13px; color: var(--muted); text-align: right; }
.chip--on { border-color: var(--petrol-mid); color: var(--petrol-mid); }

/* ----- Reglaje pe dimensiuni de ecran ----- */
/* Ecrane foarte late: conținutul nu se întinde peste 1280, dar titlurile cresc puțin */
@media (min-width: 1600px) { :root { --max: 1360px; } }
/* Laptop (1024–1280): sigla și brandul puțin mai mici, nevoile pe trei coloane */
@media (max-width: 1280px) {
  .logo__word { font-size: 34px; }
  .logo__curl { width: 30px; height: 30px; left: -7px; top: -14px; }
  .site-header .wrap { min-height: 84px; }
  .footer__brand { padding-right: 32px; }
}
/* Tabletă (641–1024): antetul rămâne pe un rând, subsolul pe două */
@media (max-width: 1024px) {
  .site-header .wrap { min-height: 76px; }
  .pill--ghost { height: 40px; padding: 0 14px; font-size: 12px; }
  .icon-btn { width: 42px; height: 42px; }
  .logo__word { font-size: 32px; }
  .site-footer .footer__grid { grid-template-columns: 1fr; padding-top: 64px; padding-bottom: 48px; gap: 40px; }
  .footer__brand { border-right: 0; padding-right: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.12); padding-bottom: 36px; }
  .footer__cols { padding-left: 0; }
  .section { padding: 72px 0; }
}
@media (max-width: 900px) {
  .slide--lead .wrap { flex-direction: column; }
  .slide--lead .hero__actions { flex-direction: column; align-items: stretch; }
  .slide--lead .hero__actions .btn { justify-content: center; }
  .ribbon__wrap { flex-direction: column; align-items: flex-start; gap: 14px; padding-top: 28px; padding-bottom: 28px; }
  .ribbon__side { text-align: left; }
  .site-header .wrap { min-height: 0; padding-top: 12px; gap: 10px 12px; }
  .hdr__right { gap: 8px; margin-left: auto; }
  .logo__word { font-size: 26px; }
  .logo__curl { width: 22px; height: 22px; left: -5px; top: -10px; }
  .icon-btn { width: 40px; height: 40px; }
  /* Pastilele paginilor pe un rând propriu, derulabil lateral, fără meniu burger */
  .hdr__nav { order: 3; flex: 1 1 100%; margin: 0 calc(-1 * var(--gutter)); padding: 4px var(--gutter) 12px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .hdr__nav::-webkit-scrollbar { display: none; }
  .pill--ghost { height: 36px; padding: 0 14px; font-size: 11.5px; }
  .topband .wrap { min-height: 30px; }
  .topband__tag { font-size: 9px; letter-spacing: 0.22em; }
  .topband .lang .lang__et { display: none; }
  .manifest { font-size: 19px; }
  .footer__cols { grid-template-columns: 1fr 1fr; gap: 28px; }
  .footer__word { font-size: clamp(40px, 11vw, 60px); }
  .footer__curl { left: -16px; top: -20px; width: 38px; height: 38px; }
  .footer__tag { white-space: normal; font-size: 11px; letter-spacing: 0.26em; line-height: 1.8; }
  .site-footer .legal { flex-direction: column; align-items: flex-start; gap: 12px; }
  .drawer__links a { font-size: 30px; padding: 14px 0; }
}
/* Telefoane înguste */
@media (max-width: 400px) { .icon-btn { width: 38px; height: 38px; } .hdr__right { gap: 6px; } .logo__word { font-size: 24px; } .topband__tag { font-size: 8.5px; letter-spacing: 0.18em; } :root { --gutter: 16px; } }

/* Numele în text curent, cu fontul brandului */
.brand { font-family: var(--serif); font-weight: 500; font-size: 1.08em; font-variation-settings: 'opsz' 24; letter-spacing: 0; }
h1 .brand, h2 .brand, h3 .brand { font-weight: inherit; font-size: inherit; }

/* Contul omului: celula de preț cu minimul dedesubt */
.price-cell { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.price-cell .help { font-size: 11px; white-space: nowrap; }
.price-cell input:disabled { background: var(--paper); color: var(--muted); }

/* Ritmul fundalurilor (regulă Cătălin, 30 oct 2026): două secțiuni vecine nu au același fundal; ultima dinaintea subsolului e deschisă */
.section--dark { background: var(--petrol-dark); }
.om-cta h2 { color: var(--petrol); }
.om-cta .btn--ghost { color: var(--petrol); border-color: var(--petrol); }
.om-cta .btn--ghost:hover { background: var(--petrol); color: #fff; }
