/* Greenfield Club — sistem vizual v3 (mobile-first)
   Semnătură: linii de teren trasate „cu cretă” peste verde de gazon.
   Motion: legat de scroll (pozele se mișcă odată cu degetul), apariții cu „arc” moale,
   tranziții între pagini. Efectele de hover/înclinare doar pe dispozitive cu mouse. */
:root {
  --turf: #0e2a1b; --turf-2: #173d28; --club: #4d864f; --club-lt: #8cc58a;
  --chalk: #f4f6f1; --ink: #0b1510; --ink-2: #3c4a41; --mist: #e6ece3; --line: rgba(11, 21, 16, .1);
  --amber: #f5b935; --amber-ink: #241900; --pool: #1f8fb5; --pool-deep: #0b3445; --aqua: #7fd3ee;

  --f-display: 'Big Shoulders Display', 'Arial Narrow', sans-serif;
  --f-body: 'Onest', system-ui, sans-serif;

  --r: 16px; --r-lg: 24px; --r-xl: 28px;
  --wrap: 1260px;
  --gut: clamp(16px, 4vw, 40px);
  --sec: clamp(64px, 11vw, 150px);
  --hdr: 74px;
  --ease: cubic-bezier(.2, .75, .2, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  /* arc moale, cu o mică depășire — mișcare „naturală” */
  --spring: linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50%, 1.015 55%, 1.017 63.9%, 1.001 85.6%, 1);
  --shadow: 0 30px 60px -25px rgba(11, 21, 16, .35);
  --safe-b: env(safe-area-inset-bottom, 0px);
}
@media (min-width: 761px) { :root { --hdr: 88px; --r-lg: 28px; --r-xl: 44px; } }

@view-transition { navigation: auto; }
::view-transition-old(root) { animation: vtOut .3s var(--ease) both; }
::view-transition-new(root) { animation: vtIn .55s var(--ease-out) both; }
@keyframes vtOut { to { opacity: 0; transform: scale(.985); filter: blur(4px); } }
@keyframes vtIn { from { opacity: 0; transform: translateY(18px); } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--hdr) + 16px); }
html:has(.subnav) { scroll-padding-top: calc(var(--hdr) + 72px); }
body { margin: 0; background: var(--chalk); color: var(--ink); font: 400 16.5px/1.65 var(--f-body); -webkit-font-smoothing: antialiased; overflow-x: clip; -webkit-tap-highlight-color: transparent; }
@media (min-width: 761px) { body { font-size: 17px; } }
img, video, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
a, button, label, summary { touch-action: manipulation; }
p { margin: 0 0 1em; }
h1, h2, h3, h4 { margin: 0; line-height: 1.1; overflow-wrap: break-word; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font: inherit; color: inherit; cursor: pointer; }
::selection { background: var(--amber); color: var(--amber-ink); }
:focus-visible { outline: 3px solid var(--amber); outline-offset: 3px; border-radius: 6px; }

.wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gut); }
.skip { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--amber); color: var(--amber-ink); padding: 10px 16px; border-radius: 8px; font-weight: 600; }
.skip:focus { top: 12px; }
.ic { width: 1.15em; height: 1.15em; flex: none; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.muted { color: var(--ink-2); display: block; font-size: .92rem; }
.muted-light { color: rgba(255,255,255,.78); }
.btn-row { display: flex; flex-wrap: wrap; gap: 10px; }

.progress { position: fixed; top: 0; left: 0; height: 3px; width: 100%; z-index: 60; background: linear-gradient(90deg, var(--club-lt), var(--amber)); transform-origin: 0 50%; transform: scaleX(var(--p, 0)); pointer-events: none; }

/* ---------- Tipografie ---------- */
.display { font-family: var(--f-display); font-weight: 900; text-transform: uppercase; font-size: clamp(3rem, 9vw, 7.6rem); line-height: .88; letter-spacing: .005em; }
.display--md { font-size: clamp(2.3rem, 5.6vw, 4.6rem); line-height: .92; }
.display--sm { font-size: clamp(1.8rem, 3.4vw, 2.7rem); line-height: .96; }
.display + .lead, .display + p, .display + .link-arrow { margin-top: 20px; }
.eyebrow { font: 700 .74rem/1 var(--f-body); letter-spacing: .18em; text-transform: uppercase; color: var(--club); margin-bottom: 16px; display: inline-flex; align-items: center; gap: 10px; }
.eyebrow::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 22%, transparent); }
.on-dark .eyebrow, .phero .eyebrow, .sec--dark .eyebrow { color: var(--club-lt); }
.sec--pool .eyebrow, .phero--pool .eyebrow { color: var(--aqua); }
.lead { font-size: clamp(1.04rem, 1.6vw, 1.25rem); color: var(--ink-2); max-width: 60ch; }
.prose { max-width: 74ch; }
.prose h2 { font-family: var(--f-display); font-weight: 800; text-transform: uppercase; font-size: clamp(1.5rem, 3vw, 2.2rem); margin: 2em 0 .6em; letter-spacing: .01em; }
.prose h3 { font-size: 1.08rem; font-weight: 700; margin: 1.5em 0 .5em; }
.prose ul { margin: 0 0 1.2em; }
.prose li { position: relative; padding-left: 22px; margin-bottom: .45em; }
.prose li::before { content: ''; position: absolute; left: 0; top: .72em; width: 10px; height: 2px; background: var(--club); }
.prose a { color: var(--club); font-weight: 600; }
.prose .note { background: var(--mist); border-left: 3px solid var(--club); padding: 14px 18px; border-radius: 0 12px 12px 0; font-size: .95rem; }
.prose--tight { margin-top: 28px; }
.prose--tight h3 { margin-top: 0; }

/* ---------- Butoane ---------- */
.btn { position: relative; display: inline-flex; align-items: center; gap: 10px; justify-content: center; min-height: 52px; padding: 12px 24px; border-radius: 999px; border: 1.5px solid transparent; font: 700 .95rem/1 var(--f-body); letter-spacing: .01em; text-decoration: none; white-space: nowrap; overflow: hidden; isolation: isolate; transition: background-color .25s, color .25s, border-color .25s, box-shadow .4s, scale .5s var(--spring); }
.btn:active { scale: .96; transition-duration: .1s; }
.btn .ic:last-child:not(:first-child) { transition: translate .5s var(--spring); }
.btn--sm { min-height: 44px; padding: 10px 18px; font-size: .9rem; }
.btn--amber { background: var(--amber); color: var(--amber-ink); box-shadow: 0 10px 30px -12px rgba(245,185,53,.7); }
.btn--green { background: var(--club); color: #fff; }
.btn--ghost { border-color: rgba(11,21,16,.25); color: var(--ink); }
.btn--ghost-light { border-color: rgba(255,255,255,.45); color: #fff; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.link-arrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; text-decoration: none; color: var(--club); min-height: 44px; }
.link-arrow .ic { transition: translate .5s var(--spring); }
.link-arrow--light { color: #fff; }
.glass { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
@media (hover: hover) and (pointer: fine) {
  .btn::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.45) 50%, transparent 70%); transform: translateX(-120%); transition: transform .8s var(--ease); }
  .btn:hover::after { transform: translateX(120%); }
  .btn:hover .ic:last-child:not(:first-child), .link-arrow:hover .ic { translate: 5px 0; }
  .btn--amber:hover { background: #ffc955; box-shadow: 0 16px 36px -12px rgba(245,185,53,.85); }
  .btn--green:hover { background: #3f7441; box-shadow: 0 16px 36px -14px rgba(77,134,79,.8); }
  .btn--ghost:hover { background: var(--ink); color: var(--chalk); border-color: var(--ink); }
  .btn--ghost-light:hover { background: #fff; color: var(--turf); }
  .magnetic { transition: background-color .25s, color .25s, border-color .25s, box-shadow .4s, translate .7s var(--spring), scale .5s var(--spring); translate: var(--mgx, 0) var(--mgy, 0); }
}

/* ---------- Anunț ---------- */
.announce { position: relative; z-index: 51; background: var(--amber); color: var(--amber-ink); font-weight: 600; font-size: .88rem; display: flex; justify-content: center; align-items: center; gap: 10px; padding: 10px var(--gut); text-align: center; line-height: 1.35; }
.announce a { text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }

/* ---------- Header plutitor (mereu vizibil) ---------- */
.hdr { position: fixed; top: 10px; left: 0; right: 0; z-index: 50; padding-inline: 10px; transition: top .45s var(--ease-out); pointer-events: none; }
@media (min-width: 761px) { .hdr { top: 14px; padding-inline: var(--gut); } }
.has-announce .hdr:not(.is-solid) { top: 56px; }
.hdr__bar { pointer-events: auto; max-width: calc(var(--wrap) - 2 * var(--gut) + 24px); margin: 0 auto; display: flex; align-items: center; gap: 10px; padding: 7px 7px 7px 18px; border-radius: 999px; color: #fff; background: rgba(8, 26, 16, .3); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(16px) saturate(150%); -webkit-backdrop-filter: blur(16px) saturate(150%); transition: background-color .4s, box-shadow .4s, border-color .4s, padding .45s var(--ease-out); }
.hdr.is-solid .hdr__bar { background: rgba(12, 38, 24, .92); box-shadow: 0 18px 40px -18px rgba(0,0,0,.55); border-color: rgba(255,255,255,.08); }
@media (min-width: 761px) { .hdr__bar { gap: 16px; padding: 8px 8px 8px 22px; } .hdr.is-solid .hdr__bar { padding-block: 6px; } }
.hdr__logo { display: block; }
.hdr__logo img { width: 112px; height: auto; transition: width .45s var(--ease-out); }
@media (min-width: 761px) { .hdr__logo img { width: 132px; } .hdr.is-solid .hdr__logo img { width: 118px; } }
.nav { margin-left: auto; }
.nav > ul { display: flex; align-items: center; gap: 2px; }
.nav a { position: relative; display: block; padding: 9px 12px; text-decoration: none; font-weight: 600; font-size: .9rem; border-radius: 999px; transition: background-color .25s, color .25s; }
.nav a[aria-current="page"] { background: rgba(255,255,255,.16); }
.has-sub { position: relative; display: flex; align-items: center; }
.sub-toggle { background: none; border: 0; padding: 6px 4px; margin-left: -10px; display: grid; place-items: center; }
.sub-toggle .ic { width: 15px; height: 15px; transition: rotate .5s var(--spring); }
.sub { position: absolute; top: calc(100% + 10px); left: -8px; min-width: 230px; padding: 8px; background: rgba(255,255,255,.97); color: var(--ink); border-radius: 20px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.35); opacity: 0; visibility: hidden; transform: translateY(8px) scale(.97); transform-origin: top left; transition: opacity .25s, visibility .25s, transform .45s var(--spring); }
.sub::before { content: ''; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.sub a { border-radius: 12px; }
.has-sub:hover .sub, .has-sub:focus-within .sub, .has-sub.open .sub { opacity: 1; visibility: visible; transform: none; }
@media (hover: hover) { .nav a:hover { background: rgba(255,255,255,.12); } .sub a:hover { background: var(--mist); } .has-sub:hover .sub-toggle .ic { rotate: 180deg; } }
.hdr__cta { flex: none; }
.burger { display: none; background: rgba(255,255,255,.14); border: 0; width: 46px; height: 46px; border-radius: 50%; position: relative; flex: none; }
.burger span { position: absolute; left: 14px; right: 14px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .5s var(--spring), top .5s var(--spring); }
.burger span:first-child { top: 18px; } .burger span:last-child { top: 26px; }
.nav-open .burger span:first-child { top: 22px; transform: rotate(45deg); }
.nav-open .burger span:last-child { top: 22px; transform: rotate(-45deg); }
.nav__mobile-extra { display: none; }

@media (max-width: 1180px) {
  .burger { display: block; }
  .hdr__cta { margin-left: auto; }
  .nav { position: fixed; inset: 0; z-index: -1; background: radial-gradient(120% 80% at 100% 0%, var(--turf-2), var(--turf) 60%); margin: 0; padding: calc(var(--hdr) + 24px) 22px calc(30px + var(--safe-b)); overflow-y: auto; overscroll-behavior: contain; clip-path: circle(0% at calc(100% - 44px) 36px); transition: clip-path .75s var(--ease-out), visibility .75s; visibility: hidden; pointer-events: auto; }
  .nav-open .nav { clip-path: circle(150% at calc(100% - 44px) 36px); visibility: visible; }
  .nav > ul { flex-direction: column; align-items: stretch; gap: 0; }
  .nav > ul > li { border-bottom: 1px solid rgba(255,255,255,.1); opacity: 0; transform: translateY(24px); transition: opacity .5s var(--ease-out), transform .7s var(--spring); }
  .nav-open .nav > ul > li { opacity: 1; transform: none; }
  .nav-open .nav > ul > li:nth-child(1) { transition-delay: .1s; } .nav-open .nav > ul > li:nth-child(2) { transition-delay: .14s; }
  .nav-open .nav > ul > li:nth-child(3) { transition-delay: .18s; } .nav-open .nav > ul > li:nth-child(4) { transition-delay: .22s; }
  .nav-open .nav > ul > li:nth-child(5) { transition-delay: .26s; } .nav-open .nav > ul > li:nth-child(6) { transition-delay: .3s; }
  .nav-open .nav > ul > li:nth-child(7) { transition-delay: .34s; } .nav-open .nav > ul > li:nth-child(8) { transition-delay: .38s; }
  .nav-open .nav > ul > li:nth-child(9) { transition-delay: .42s; }
  .nav a { font-family: var(--f-display); font-weight: 800; text-transform: uppercase; font-size: clamp(1.7rem, 7vw, 2.2rem); padding: 12px 0; letter-spacing: .01em; border-radius: 0; }
  .nav a[aria-current="page"] { background: none; color: var(--amber); }
  .nav a:active { color: var(--amber); }
  .has-sub { flex-wrap: wrap; }
  .has-sub > a { flex: 1; }
  .sub-toggle { margin: 0; width: 48px; height: 48px; }
  .sub-toggle .ic { width: 24px; height: 24px; }
  .has-sub:hover .sub-toggle .ic { rotate: 0deg; }
  .has-sub.open .sub-toggle .ic { rotate: 180deg; }
  .sub { position: static; width: 100%; background: none; box-shadow: none; color: #fff; padding: 0 0 12px 14px; display: none; opacity: 1; visibility: visible; transform: none; }
  .has-sub:hover .sub, .has-sub:focus-within .sub { display: none; }
  .has-sub.open .sub { display: block; animation: rise .5s var(--ease-out); }
  .sub a { font-family: var(--f-body); text-transform: none; font-size: 1.05rem; font-weight: 500; padding: 10px 0; }
  .nav__mobile-extra { display: block; margin-top: 28px; opacity: 0; transition: opacity .5s .45s; }
  .nav-open .nav__mobile-extra { opacity: 1; }
  .nav__mobile-extra .btn { width: 100%; font-size: 1.05rem; }
  .nav__mobile-extra p { text-align: center; opacity: .7; margin-top: 12px; font-size: .9rem; }
  body.nav-open { overflow: hidden; }
}
@media (max-width: 560px) { .hdr__cta span { display: none; } .hdr__cta { width: 46px; min-height: 46px; padding: 0; } }

/* ---------- Linii de teren ---------- */
.pitch { position: absolute; pointer-events: none; color: rgba(255,255,255,.55); }
.pitch path, .pitch circle, .pitch rect { fill: none; stroke: currentColor; stroke-width: 2; vector-effect: non-scaling-stroke; }
.pitch circle[fill] { fill: currentColor; }
.pitch--bg { inset: 0; width: 100%; height: 100%; color: rgba(255,255,255,.07); }
@keyframes chalk { to { stroke-dashoffset: 0; } }
@keyframes fadeIn { to { opacity: 1; } }
@keyframes rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

/* ---------- Hero ---------- */
.hero { position: relative; min-height: 100svh; display: flex; align-items: flex-end; color: #fff; background: var(--turf); overflow: hidden; isolation: isolate; }
.hero__bg { position: absolute; inset: 0; z-index: -2; }
.hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; animation: heroIn 2.2s var(--ease-out) both; }
@keyframes heroIn { from { scale: 1.2; filter: brightness(.35) saturate(.6) blur(6px); } }
.hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(6,22,13,.7) 0%, rgba(6,22,13,.05) 30%, rgba(6,22,13,.2) 55%, rgba(6,22,13,.95) 100%), linear-gradient(90deg, rgba(6,22,13,.55), transparent 65%); }
.pitch--hero { inset: 0; width: 100%; height: 100%; color: rgba(255,255,255,.7); z-index: -1; translate: var(--px, 0) var(--py, 0); transition: translate 1.2s var(--ease-out); }
.pitch--hero path, .pitch--hero circle { stroke-dasharray: 3000; stroke-dashoffset: 3000; animation: chalk 2.6s .4s var(--ease) forwards; stroke-width: 2.5; }
.pitch--hero .d2 { animation-delay: .9s; } .pitch--hero .d3 { animation-delay: 1.3s; }
.pitch--hero circle[fill] { stroke-dasharray: none; stroke-dashoffset: 0; opacity: 0; animation: fadeIn .6s 2s forwards; }
.hero__in { padding-block: calc(var(--hdr) + 60px) clamp(40px, 8vw, 96px); width: 100%; }
.hero__kicker { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: .86rem; padding: 8px 14px; border-radius: 999px; margin-bottom: 20px; animation: rise .9s .5s var(--ease-out) both; }
.hero__title { font-size: clamp(3.6rem, 17vw, 13rem); line-height: .84; }
.line { display: block; overflow: hidden; padding-bottom: .04em; }
.line > span { display: block; transform: translateY(108%) rotate(4deg); transform-origin: 0 100%; animation: lineUp 1.3s var(--spring) .15s forwards; }
.line + .line > span { animation-delay: .3s; }
.line--outline > span { color: transparent; -webkit-text-stroke: 2px #fff; }
@keyframes lineUp { to { transform: none; } }
.hero__row { display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: flex-end; justify-content: space-between; margin-top: 26px; animation: rise 1s .8s var(--ease-out) both; }
.hero__lead { font-size: clamp(1rem, 1.6vw, 1.25rem); max-width: 44ch; margin: 0; color: rgba(255,255,255,.88); }
.hero__scroll { display: none; }
@media (max-width: 560px) { .hero .btn-row { width: 100%; } .hero .btn-row .btn { flex: 1 1 100%; } }
@media (min-width: 761px) {
  .hero__in { padding-block: 150px clamp(56px, 8vw, 96px); }
  .hero__scroll { display: block; position: absolute; left: 50%; bottom: 22px; width: 26px; height: 42px; border: 2px solid rgba(255,255,255,.5); border-radius: 20px; transform: translateX(-50%); animation: fadeIn 1s 1.6s both; opacity: 0; }
  .hero__scroll span { position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: #fff; animation: scrollDot 1.8s infinite; }
}
@keyframes scrollDot { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }

.status-dot { width: 9px; height: 9px; border-radius: 50%; background: #9aa39d; flex: none; }
.is-open .status-dot { background: #5ee07a; animation: pulse 2s infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(94,224,122,.7); } 70% { box-shadow: 0 0 0 10px rgba(94,224,122,0); } 100% { box-shadow: 0 0 0 0 rgba(94,224,122,0); } }

/* ---------- Bandă derulantă (viteza crește cu scroll-ul) ---------- */
.marquee { overflow: hidden; background: var(--amber); color: var(--amber-ink); padding: 14px 0; position: relative; z-index: 2; }
@media (min-width: 761px) { .marquee { padding: 18px 0; } }
.marquee__track { display: flex; width: max-content; align-items: center; gap: 24px; will-change: transform; }
.marquee span { font: 900 clamp(1.5rem, 3.2vw, 2.6rem)/1 var(--f-display); text-transform: uppercase; white-space: nowrap; }
.marquee span:nth-of-type(even) { color: transparent; -webkit-text-stroke: 1.5px var(--amber-ink); }
.marquee i { font-style: normal; font-size: .8rem; opacity: .6; }
.marquee--light { background: var(--turf); color: #fff; }
.marquee--light span:nth-of-type(even) { -webkit-text-stroke-color: #fff; }

/* ---------- Tabela clubului ---------- */
.board { background: var(--ink); color: #fff; }
.board__grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.board__cell { padding: 22px 16px; border-bottom: 1px solid rgba(255,255,255,.08); text-decoration: none; display: flex; flex-direction: column; gap: 6px; position: relative; transition: background-color .3s; }
.board__cell:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.08); }
.board__cell::after { content: ''; position: absolute; left: 16px; right: 16px; bottom: 0; height: 3px; background: var(--amber); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--spring); }
.board__num { font: 900 clamp(2.6rem, 4.8vw, 4.2rem)/.9 var(--f-display); font-variant-numeric: tabular-nums; }
.board__lbl { font-size: .74rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.6); }
@media (min-width: 640px) { .board__grid { grid-template-columns: repeat(3, 1fr); } .board__cell:nth-child(odd) { border-right: 0; } .board__cell { border-right: 1px solid rgba(255,255,255,.08); } }
@media (min-width: 1000px) { .board__grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } .board__cell { padding: 34px 20px 28px; border-bottom: 0; } .board__cell:first-child { border-left: 1px solid rgba(255,255,255,.08); } }
@media (hover: hover) { a.board__cell:hover { background: rgba(255,255,255,.04); } a.board__cell:hover::after { transform: scaleX(1); } }

/* ---------- Secțiuni ---------- */
.sec { padding-block: var(--sec); position: relative; }
.sec--flush { padding-top: 0; }
.sec--mist { background: var(--mist); }
.sec--dark { background: var(--turf); color: #fff; overflow: hidden; }
.sec--dark .lead { color: rgba(255,255,255,.8); }
.sec--pool { background: radial-gradient(120% 80% at 0% 0%, #12506a, var(--pool-deep) 55%, #082531); color: #fff; overflow: hidden; }
.sec--pool .lead { color: rgba(255,255,255,.82); }
.sec--round { border-radius: var(--r-xl) var(--r-xl) 0 0; margin-top: calc(var(--r-xl) * -1); z-index: 1; }
.sec__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 40px; margin-bottom: clamp(28px, 5vw, 64px); }
.sec__head .lead { margin: 16px 0 0; }

/* ---------- Apariții la scroll ---------- */
.js .reveal { opacity: 0; translate: 0 36px; transition: opacity .8s var(--ease-out), translate 1.1s var(--spring); transition-delay: calc(var(--i, 0) * 80ms); }
.js .reveal.in { opacity: 1; translate: none; }
/* titlurile intră cuvânt cu cuvânt */
.js .split-words .w, .js .words .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .06em; margin-bottom: -.06em; }
.js .split-words .w > span { display: inline-block; transform: translateY(105%) rotate(3deg); transform-origin: 0 100%; animation: lineUp 1.1s var(--spring) forwards; animation-delay: calc(var(--wi) * 70ms + .1s); }
.js .words .w > span { display: inline-block; transform: translateY(105%) rotate(3deg); transform-origin: 0 100%; transition: transform 1.1s var(--spring); transition-delay: calc(var(--wi) * 55ms + .05s); }
.js .in .words .w > span, .js .words.in .w > span { transform: none; }
/* pozele se „deschid” */
.js .reveal-img { clip-path: inset(12% 8% 12% 8% round var(--r-lg)); opacity: 0; transition: clip-path 1.3s var(--ease-out), opacity .7s var(--ease-out); transition-delay: calc(var(--i, 0) * 80ms); }
.js .reveal-img img, .js .reveal-img video { scale: 1.22; transition: scale 1.6s var(--ease-out); transition-delay: calc(var(--i, 0) * 80ms); }
.js .reveal-img.in { clip-path: inset(0 0 0 0 round var(--r-lg)); opacity: 1; }
.js .reveal-img.in img, .js .reveal-img.in video { scale: 1; }
@media (hover: hover) and (pointer: fine) { .js .reveal { filter: blur(6px); transition-property: opacity, translate, filter; } .js .reveal.in { filter: none; } }

/* Parallax legat de scroll (CSS nativ — fin, fără sacadări) */
@supports (animation-timeline: view()) {
  .drift { animation: drift linear both; animation-timeline: view(); }
  @keyframes drift { from { translate: 0 -6%; } to { translate: 0 6%; } }
  .hero__bg, .phero__bg { animation: bgOut linear both; animation-timeline: scroll(root); animation-range: 0 100vh; }
  @keyframes bgOut { to { translate: 0 22%; } }
  .hero__in { animation: heroOut linear both; animation-timeline: scroll(root); animation-range: 0 90vh; }
  @keyframes heroOut { to { opacity: 0; translate: 0 -12%; } }
}

/* Zoom pe imagini (galerii) */
.zoom { position: relative; overflow: hidden; display: block; }
.zoom img { transition: scale 1s var(--ease-out); }
.zoom__ic { position: absolute; right: 10px; top: 10px; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.9); color: var(--ink); opacity: 0; scale: .6; transition: opacity .3s, scale .5s var(--spring); }
@media (hover: hover) { .zoom:hover img { scale: 1.08; } .zoom:hover .zoom__ic, .zoom:focus-visible .zoom__ic { opacity: 1; scale: 1; } }

/* Înclinare 3D + reflexie (doar cu mouse) */
@media (hover: hover) and (pointer: fine) {
  .tilt { transform: perspective(1000px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--ty, 0px)); transition: transform .9s var(--spring), box-shadow .5s; }
  .tilt.is-tilting { transition: transform .12s linear, box-shadow .5s; }
  .tilt::before { content: ''; position: absolute; inset: 0; z-index: 3; pointer-events: none; border-radius: inherit; background: radial-gradient(480px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.16), transparent 45%); opacity: 0; transition: opacity .4s; }
  .tilt:hover::before { opacity: 1; }
}

/* ---------- Carusele pe mobil (glisare cu degetul) ---------- */
@media (max-width: 640px) {
  .rail { display: flex !important; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gut); margin-inline: calc(var(--gut) * -1); padding: 4px var(--gut) 14px; scrollbar-width: none; overscroll-behavior-x: contain; }
  .rail::-webkit-scrollbar { display: none; }
  .rail > * { flex: 0 0 84%; scroll-snap-align: start; }
  .rail-dots { display: flex; justify-content: center; gap: 6px; margin-top: 4px; }
  .rail-dots i { width: 6px; height: 6px; border-radius: 9px; background: rgba(11,21,16,.2); transition: width .5s var(--spring), background-color .3s; }
  .rail-dots i.on { width: 22px; background: var(--club); }
  .on-dark .rail-dots i, .sec--pool .rail-dots i, .sec--dark .rail-dots i { background: rgba(255,255,255,.3); }
}
@media (min-width: 641px) { .rail-dots { display: none; } }

/* Facilități — bento */
.fac-grid { display: grid; gap: 14px; grid-template-columns: repeat(6, 1fr); grid-auto-rows: clamp(220px, 26vw, 330px); }
.fac { position: relative; overflow: hidden; border-radius: var(--r-lg); color: #fff; text-decoration: none; isolation: isolate; grid-column: span 2; }
.fac--lead { grid-column: span 4; grid-row: span 2; }
.fac--w3 { grid-column: span 3; }
.fac--w6 { grid-column: span 6; }
.fac img { position: absolute; left: 0; top: -8%; width: 100%; height: 116%; object-fit: cover; z-index: -2; }
.fac::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 35%, rgba(6,20,12,.88)); }
.fac__body { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(18px, 2.4vw, 30px); display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; z-index: 2; }
.fac__name { font: 900 clamp(1.9rem, 3.4vw, 3rem)/.9 var(--f-display); text-transform: uppercase; transition: translate .6s var(--spring); }
.fac--lead .fac__name { font-size: clamp(2.4rem, 6vw, 5.4rem); }
.fac__meta { font-size: .76rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.78); margin-top: 8px; }
.fac__go { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.18); backdrop-filter: blur(6px); transition: background-color .3s, color .3s, rotate .6s var(--spring); flex: none; }
@media (hover: hover) { .fac:hover .fac__name { translate: 0 -4px; } .fac:hover .fac__go { background: var(--amber); color: var(--amber-ink); rotate: -45deg; } .js .fac.reveal-img.in:hover img { scale: 1.06; transition-duration: 1.2s; transition-delay: 0s; } }
@media (max-width: 860px) { .fac-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 240px; } .fac, .fac--w3, .fac--w6 { grid-column: span 1; } .fac--lead, .fac--tabfull { grid-column: span 2; grid-row: span 1; } }
@media (max-width: 640px) { .fac-grid.rail > .fac { height: min(420px, 62svh); flex-basis: 80%; } .fac--lead .fac__name { font-size: 2.4rem; } }

/* Split */
.split { display: grid; grid-template-columns: 1fr; gap: 36px; align-items: center; }
@media (min-width: 861px) { .split { grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); } .split--rev .split__media { order: -1; } }
.split__media { position: relative; border-radius: var(--r-lg); aspect-ratio: 4/3; }
.split__media > img, .split__media > video, .split__media > .clip { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: var(--r-lg); object-fit: cover; }
.split__media > .clip { overflow: hidden; }
.split__media > .clip img, .split__media > .clip video { position: absolute; left: 0; top: -8%; width: 100%; height: 116%; object-fit: cover; }
.stamp { position: absolute; right: 12px; bottom: -18px; z-index: 2; background: var(--amber); color: var(--amber-ink); border-radius: 18px; padding: 14px 20px; font: 900 2.4rem/.85 var(--f-display); text-transform: uppercase; box-shadow: var(--shadow); animation: floaty 6s ease-in-out infinite; }
@media (min-width: 861px) { .stamp { right: -14px; font-size: 2.8rem; } }
.stamp small { display: block; font: 700 .68rem/1.3 var(--f-body); letter-spacing: .1em; margin-top: 6px; }
@keyframes floaty { 50% { translate: 0 -8px; rotate: -2deg; } }

/* Beneficii */
.perks { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: clamp(48px, 8vw, 96px); }
@media (min-width: 641px) { .perks { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .perks { grid-template-columns: repeat(4, 1fr); gap: 14px; } }
.perk { background: rgba(255,255,255,.7); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; position: relative; transition: box-shadow .5s, background-color .3s; }
.perk h3 { font: 800 1.45rem/1 var(--f-display); text-transform: uppercase; margin-bottom: 10px; }
.perk p { color: var(--ink-2); font-size: .96rem; margin: 0; }
@media (hover: hover) { .perk:hover { --ty: -6px; box-shadow: var(--shadow); background: #fff; } }

/* Mărturii */
.quotes { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 901px) { .quotes { grid-template-columns: repeat(3, 1fr); gap: 18px; } }
.quote { position: relative; background: #fff; border-radius: var(--r-lg); padding: 26px; display: flex; flex-direction: column; gap: 20px; border: 1px solid var(--line); margin: 0; transition: box-shadow .5s; }
.quote blockquote { margin: 0; font-size: 1.02rem; }
.quote blockquote::before { content: ''; display: block; width: 38px; height: 30px; margin-bottom: 16px; background: var(--club); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 30'%3E%3Cpath d='M0 30V18C0 7.5 5.6 1.5 15 0l1.6 4.6C11 6.2 8.4 9.4 8.2 14H15v16H0zm21 0V18c0-10.5 5.6-16.5 15-18l1.6 4.6C32 6.2 29.4 9.4 29.2 14H36v16H21z'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 30'%3E%3Cpath d='M0 30V18C0 7.5 5.6 1.5 15 0l1.6 4.6C11 6.2 8.4 9.4 8.2 14H15v16H0zm21 0V18c0-10.5 5.6-16.5 15-18l1.6 4.6C32 6.2 29.4 9.4 29.2 14H36v16H21z'/%3E%3C/svg%3E") no-repeat center / contain; }
.quote figcaption { margin-top: auto; display: flex; align-items: center; gap: 12px; font-size: .92rem; }
.avatar { width: 46px; height: 46px; border-radius: 50%; background: linear-gradient(135deg, var(--club), var(--turf)); color: #fff; display: grid; place-items: center; font: 800 1.15rem/1 var(--f-display); flex: none; }
.quote strong { display: block; }
.quote figcaption span:not(.avatar) { color: var(--ink-2); }
@media (hover: hover) { .quote:hover { --ty: -6px; box-shadow: var(--shadow); } }

/* Carduri */
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.card { position: relative; background: #fff; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line); display: flex; flex-direction: column; text-decoration: none; transition: box-shadow .5s; }
.card__img { aspect-ratio: 4/3; overflow: hidden; background: var(--mist); position: relative; }
.card__img img { position: absolute; left: 0; top: -6%; width: 100%; height: 112%; object-fit: cover; transition: scale 1.1s var(--ease-out); }
.card__body { padding: 20px 20px 24px; }
.card__body h3 { font: 800 1.55rem/1 var(--f-display); text-transform: uppercase; margin-bottom: 8px; }
.card__body p { margin: 0; color: var(--ink-2); font-size: .96rem; }
@media (hover: hover) { a.card:hover { --ty: -8px; box-shadow: var(--shadow); } a.card:hover .card__img img { scale: 1.08; } }
.tag { display: inline-flex; align-items: center; gap: 6px; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--club); margin-bottom: 10px; }
.next-event { display: grid; grid-template-columns: 96px 1fr; gap: 16px; align-items: center; padding: 14px; margin-bottom: 20px; background: var(--turf); color: #fff; border-radius: var(--r-lg); text-decoration: none; }
@media (min-width: 561px) { .next-event { grid-template-columns: 140px 1fr; gap: 24px; padding: 18px; } }
.next-event__img { border-radius: 14px; overflow: hidden; aspect-ratio: 3/4; }
.next-event__img img { width: 100%; height: 100%; object-fit: cover; }
.next-event h3 { font: 900 clamp(1.6rem, 3vw, 2.6rem)/1 var(--f-display); text-transform: uppercase; margin-bottom: 6px; }
.next-event p { margin: 0; color: rgba(255,255,255,.8); font-size: .95rem; }
.next-event .tag { color: var(--amber); }

/* SPA teaser */
.spa-teaser { display: grid; grid-template-columns: 1fr; gap: 36px; align-items: center; position: relative; z-index: 1; }
@media (min-width: 861px) { .spa-teaser { grid-template-columns: 1.1fr 1fr; gap: clamp(30px, 6vw, 80px); } }
.spa-teaser__list { display: grid; grid-template-columns: 1fr; gap: 10px 24px; margin: 24px 0 30px; }
@media (min-width: 461px) { .spa-teaser__list { grid-template-columns: 1fr 1fr; } }
.spa-teaser__list li { display: flex; gap: 10px; align-items: center; }
.spa-teaser__list .ic { color: var(--aqua); }
.spa-teaser__media { border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 4/3; }
@media (min-width: 861px) { .spa-teaser__media { border-radius: 999px 999px var(--r-lg) var(--r-lg); aspect-ratio: 4/5; } .js .spa-teaser__media.reveal-img { clip-path: inset(14% 10% 14% 10% round 999px 999px var(--r-lg) var(--r-lg)); } .js .spa-teaser__media.reveal-img.in { clip-path: inset(0 round 999px 999px var(--r-lg) var(--r-lg)); } }
.spa-teaser__media video { width: 100%; height: 100%; object-fit: cover; }
.waves { position: absolute; left: 0; right: 0; bottom: 0; width: 200%; height: 100px; color: rgba(127, 211, 238, .12); animation: wave 16s linear infinite; }
@keyframes wave { to { transform: translateX(-50%); } }
.spa-note { margin-top: 28px; color: rgba(255,255,255,.82); }
.spa-note a { color: #fff; font-weight: 700; }

/* Locație */
.visit { display: grid; grid-template-columns: 1fr; border-radius: var(--r-lg); overflow: hidden; background: #fff; border: 1px solid var(--line); }
@media (min-width: 861px) { .visit { grid-template-columns: 1fr 1.2fr; } }
.visit__info { padding: clamp(24px, 4vw, 52px); }
.visit__info dl { margin: 22px 0 26px; display: grid; gap: 16px; }
.visit__info dt { font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--club); }
.visit__info dd { margin: 4px 0 0; font-size: 1.04rem; font-weight: 500; }
.visit__info dd a { text-decoration: none; }
.visit .btn-row .btn { flex: 1 1 auto; }
.map { position: relative; min-height: 340px; background: var(--turf); color: #fff; display: grid; place-items: center; text-align: center; overflow: hidden; }
@media (min-width: 861px) { .map { min-height: 400px; } }
.map-wrap { border-radius: var(--r-lg); overflow: hidden; }
.map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; animation: fadeIn .6s both; opacity: 0; }
.map__ph { position: relative; padding: 30px; display: grid; justify-items: center; gap: 14px; }
.map__ph > .ic { width: 44px; height: 44px; color: var(--amber); animation: bob 2.4s ease-in-out infinite; }
@keyframes bob { 50% { translate: 0 -8px; } }
.map__ph p { margin: 0; max-width: 34ch; color: rgba(255,255,255,.75); font-size: .9rem; }
.map .pitch { inset: 0; width: 100%; height: 100%; color: rgba(255,255,255,.14); }

/* Banda CTA */
.ctaband { position: relative; background: var(--club); color: #fff; overflow: hidden; }
.ctaband--pool { background: var(--pool); }
.ctaband .pitch--band { inset: 0; width: 100%; height: 100%; color: rgba(255,255,255,.2); }
.ctaband__in { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; padding-block: clamp(56px, 8vw, 104px); }
.ctaband p { margin: 12px 0 0; max-width: 48ch; color: rgba(255,255,255,.9); }
.ctaband__actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 560px) { .ctaband__actions, .ctaband__actions .btn { width: 100%; } }

/* ---------- Antet pagini interioare ---------- */
.phero { position: relative; background: var(--turf); color: #fff; overflow: hidden; isolation: isolate; padding: calc(var(--hdr) + 56px) 0 clamp(52px, 9vw, 110px); }
@media (min-width: 761px) { .phero { padding-top: clamp(170px, 19vw, 230px); } }
.phero--full { min-height: 100svh; display: flex; align-items: center; }
.phero--pool { background: var(--pool-deep); }
.phero__bg { position: absolute; inset: 0; z-index: -2; }
.phero__bg img, .phero__bg video { width: 100%; height: 100%; object-fit: cover; animation: heroIn 1.8s var(--ease-out) both; }
.phero--img::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8,28,17,.94) 0%, rgba(8,28,17,.72) 55%, rgba(8,28,17,.4)), linear-gradient(0deg, rgba(8,28,17,.6), transparent 50%); }
.phero--pool::before { background: linear-gradient(90deg, rgba(8,40,55,.92), rgba(8,40,55,.6) 60%, rgba(8,40,55,.3)), linear-gradient(0deg, rgba(8,40,55,.6), transparent 50%); }
.phero .pitch--corner { right: -60px; top: 70px; width: clamp(200px, 34vw, 460px); height: auto; color: rgba(255,255,255,.25); z-index: -1; }
.phero .pitch--corner path { stroke-dasharray: 1200; stroke-dashoffset: 1200; animation: chalk 2.2s .3s var(--ease) forwards; }
.phero h1 { font-size: clamp(2.8rem, 10vw, 7.2rem); max-width: 14ch; }
.phero__lead { font-size: clamp(1.02rem, 1.6vw, 1.22rem); max-width: 56ch; margin: 20px 0 0; color: rgba(255,255,255,.86); animation: rise .9s .45s var(--ease-out) both; }
.phero .eyebrow { animation: rise .8s .1s var(--ease-out) both; }
.phero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; animation: rise .9s .6s var(--ease-out) both; }
@media (max-width: 560px) { .phero__actions .btn { flex: 1 1 100%; } }

/* Sub-navigare (lipită sub meniu) */
.subnav { position: sticky; top: calc(var(--hdr) - 4px); z-index: 20; margin-top: 10px; pointer-events: none; }
.subnav .wrap { display: flex; justify-content: center; }
.subnav ul { pointer-events: auto; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; padding: 5px; max-width: 100%; border-radius: 999px; background: rgba(255,255,255,.9); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 12px 30px -16px rgba(11,21,16,.35); border: 1px solid var(--line); }
.subnav ul::-webkit-scrollbar { display: none; }
.subnav a { display: block; white-space: nowrap; padding: 10px 16px; border-radius: 999px; text-decoration: none; font-weight: 600; font-size: .88rem; transition: background-color .35s, color .35s; }
.subnav a.is-on { background: var(--turf); color: #fff; }
@media (hover: hover) { .subnav a:hover:not(.is-on) { background: var(--mist); } }

/* Facilitate detaliată */
.facility { padding-block: clamp(56px, 9vw, 120px); border-bottom: 1px solid var(--line); }
.facility:last-child { border-bottom: 0; }
.facility__grid { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: start; }
@media (min-width: 901px) {
  .facility__grid { grid-template-columns: 1fr 1.25fr; gap: clamp(28px, 5vw, 80px); }
  .facility:nth-of-type(even) .facility__grid { grid-template-columns: 1.25fr 1fr; }
  .facility:nth-of-type(even) .facility__text { order: 2; }
  .facility__text { position: sticky; top: calc(var(--hdr) + 90px); }
}
.facility__count { display: flex; align-items: baseline; gap: 10px; margin: 20px 0 10px; font: 900 3.6rem/.9 var(--f-display); color: var(--club); }
.facility__count .u { font: 700 .78rem/1 var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); }
.facility__specs { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 24px; }
.facility__specs li { font-size: .82rem; font-weight: 600; padding: 8px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--line); }
.gallery { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.gallery a { border-radius: 14px; aspect-ratio: 1; grid-column: span 2; }
.gallery a:first-child { grid-column: span 6; aspect-ratio: 16/10; border-radius: var(--r-lg); }
.gallery a[hidden] { display: none; }
.gallery img { width: 100%; height: 100%; object-fit: cover; }
.gallery .more { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(11,21,16,.55); backdrop-filter: blur(2px); color: #fff; font: 900 2.2rem/1 var(--f-display); }
/* pe mobil: toate pozele într-o bandă glisantă */
@media (max-width: 640px) {
  .gallery { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(var(--gut) * -1); padding: 0 var(--gut) 6px; scrollbar-width: none; overscroll-behavior-x: contain; }
  .gallery::-webkit-scrollbar { display: none; }
  .gallery a, .gallery a:first-child, .gallery a[hidden] { display: block; flex: 0 0 82%; aspect-ratio: 4/3; scroll-snap-align: center; border-radius: 18px; }
  .gallery .more { display: none; }
}

/* Filmstrip */
.filmstrip { display: flex; gap: 12px; overflow-x: auto; padding: 0 var(--gut) 10px; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.filmstrip::-webkit-scrollbar { display: none; }
@media (pointer: fine) { .filmstrip { cursor: grab; } .filmstrip.is-drag { cursor: grabbing; scroll-snap-type: none; } }
.filmstrip__item { flex: 0 0 clamp(240px, 30vw, 420px); aspect-ratio: 4/3; border-radius: var(--r-lg); scroll-snap-align: start; }
.filmstrip__item img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
@media (min-width: 761px) { .filmstrip__item:nth-child(even) { margin-top: 40px; } }

/* Evenimente / filtre */
.filters, .food-tabs { display: flex; gap: 8px; margin-bottom: 26px; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--gut) * -1); padding: 6px var(--gut); }
.filters::-webkit-scrollbar, .food-tabs::-webkit-scrollbar { display: none; }
@media (min-width: 761px) { .filters { flex-wrap: wrap; margin-inline: 0; padding-inline: 0; } }
.filters button, .food-tabs button { flex: none; border: 1px solid var(--line); background: #fff; min-height: 44px; padding: 10px 20px; border-radius: 999px; font-weight: 600; font-size: .9rem; transition: background-color .3s, color .3s, scale .5s var(--spring); }
.filters button:active, .food-tabs button:active { scale: .94; }
.filters button[aria-pressed="true"], .food-tabs button[aria-pressed="true"] { background: var(--turf); color: #fff; border-color: var(--turf); }
.albums { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.album { background: none; border: 0; padding: 0; text-align: left; border-radius: var(--r-lg); overflow: hidden; position: relative; aspect-ratio: 4/3; color: #fff; isolation: isolate; transition: box-shadow .5s, scale .4s var(--spring); }
.album img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: scale 1.1s var(--ease-out); }
.album::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 40%, rgba(6,20,12,.9)); }
.album__count { position: absolute; top: 12px; right: 12px; display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; font-weight: 700; padding: 6px 10px; border-radius: 999px; background: rgba(0,0,0,.35); backdrop-filter: blur(8px); }
.album__body { position: absolute; left: 18px; right: 18px; bottom: 16px; }
.album__body strong { display: block; font: 800 1.6rem/1 var(--f-display); text-transform: uppercase; }
.album__body span { font-size: .85rem; color: rgba(255,255,255,.8); display: none; align-items: center; gap: 6px; margin-top: 8px; }
.album:active { scale: .97; }
.album.is-hidden { display: none; }
@media (max-width: 560px) { .albums { grid-template-columns: 1fr 1fr; gap: 10px; } .album { aspect-ratio: 3/4; border-radius: 18px; } .album__body { left: 12px; right: 12px; bottom: 12px; } .album__body strong { font-size: 1.15rem; } .album__count { top: 8px; right: 8px; } }
@media (hover: hover) { .album__body span { display: inline-flex; opacity: 0; translate: 0 8px; transition: opacity .4s, translate .6s var(--spring); } .album:hover { --ty: -6px; box-shadow: var(--shadow); } .album:hover img { scale: 1.08; } .album:hover .album__body span { opacity: 1; translate: none; } }
.etypes { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 621px) { .etypes { grid-template-columns: 1fr 1fr; } }
@media (min-width: 961px) { .etypes { grid-template-columns: repeat(3, 1fr); gap: 14px; } }
.etype { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; transition: box-shadow .5s; }
.etype h3 { font: 800 1.45rem/1 var(--f-display); text-transform: uppercase; margin-bottom: 10px; }
.etype p { margin: 0; color: var(--ink-2); font-size: .96rem; }
.posters { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
.poster { position: relative; display: grid; grid-template-rows: auto 1fr; background: #fff; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line); transition: box-shadow .5s; }
@media (hover: hover) { .poster:hover { --ty: -6px; box-shadow: var(--shadow); } }
.poster__img { background: var(--ink); }
.poster__img img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.poster__body { padding: 18px 20px 22px; }
.poster__date { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: .8rem; color: var(--club); text-transform: uppercase; letter-spacing: .06em; }
.poster h3 { font: 800 1.5rem/1 var(--f-display); text-transform: uppercase; margin: 10px 0 8px; }
.poster p { margin: 0; color: var(--ink-2); font-size: .95rem; }
.empty { border: 2px dashed rgba(11,21,16,.18); border-radius: var(--r-lg); padding: clamp(24px, 4vw, 44px); display: flex; flex-wrap: wrap; gap: 18px 40px; align-items: center; justify-content: space-between; }
.empty h3 { font: 800 1.6rem/1 var(--f-display); text-transform: uppercase; margin-bottom: 8px; }
.empty p { margin: 0; color: var(--ink-2); max-width: 52ch; }
.empty .social a, .social[data-variant="dark"] a { border-color: var(--line); color: var(--ink); }

/* Lightbox (imaginea urmărește degetul) */
.lb { border: 0; padding: 0; margin: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; background: rgba(5,12,8,.95); color: #fff; opacity: 0; transition: opacity .35s var(--ease); overscroll-behavior: contain; }
.lb[open] { opacity: 1; }
.lb.is-closing { opacity: 0; }
.lb::backdrop { background: transparent; }
.lb__stage { position: absolute; inset: 64px 8px calc(96px + var(--safe-b)); display: grid; place-items: center; touch-action: none; overflow: hidden; }
@media (min-width: 641px) { .lb__stage { inset: 70px 80px 80px; touch-action: auto; } }
.lb__stage img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 10px; box-shadow: 0 40px 80px -30px rgba(0,0,0,.8); transition: opacity .3s var(--ease), translate .6s var(--spring), scale .6s var(--spring); user-select: none; -webkit-user-drag: none; }
.lb__stage img.is-dragging { transition: none; }
.lb__stage img.enter-l { animation: inL .6s var(--spring); }
.lb__stage img.enter-r { animation: inR .6s var(--spring); }
.lb__stage img.enter { animation: lbIn .6s var(--spring); }
@keyframes inL { from { translate: -40% 0; opacity: 0; } }
@keyframes inR { from { translate: 40% 0; opacity: 0; } }
@keyframes lbIn { from { opacity: 0; scale: .9; } }
.lb__top { position: absolute; top: 0; left: 0; right: 0; display: flex; justify-content: space-between; align-items: center; padding: 12px 14px 12px 20px; gap: 12px; }
.lb__title { font: 800 1.2rem/1 var(--f-display); text-transform: uppercase; }
.lb__count { font-size: .85rem; opacity: .7; font-variant-numeric: tabular-nums; margin-top: 4px; }
.lb button { background: rgba(255,255,255,.12); border: 0; width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; transition: background-color .25s, scale .5s var(--spring); }
.lb button:active { scale: .9; }
.lb__prev, .lb__next { position: absolute; bottom: calc(26px + var(--safe-b)); }
.lb__prev { left: calc(50% - 62px); } .lb__next { right: calc(50% - 62px); }
.lb__prev .ic { transform: rotate(180deg); }
@media (min-width: 641px) { .lb__prev, .lb__next { top: 50%; bottom: auto; translate: 0 -50%; } .lb__prev { left: 14px; } .lb__next { right: 14px; } }
.lb__thumbs { display: none; }
@media (min-width: 641px) { .lb__thumbs { position: absolute; left: 0; right: 0; bottom: 18px; display: flex; gap: 6px; justify-content: center; } .lb__thumbs button { width: 8px; height: 8px; padding: 0; border-radius: 99px; background: rgba(255,255,255,.3); flex: none; transition: width .5s var(--spring), background-color .3s; } .lb__thumbs button[aria-current="true"] { width: 28px; background: var(--amber); } }
@media (hover: hover) { .lb button:hover { background: rgba(255,255,255,.22); } }

/* Antrenori */
.coaches { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.coach { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; display: flex; flex-direction: column; gap: 14px; transition: box-shadow .5s; }
@media (hover: hover) { .coach:hover { --ty: -6px; box-shadow: var(--shadow); } }
.coach__top { display: flex; gap: 14px; align-items: center; }
.coach__ph { width: 72px; height: 72px; border-radius: 50%; overflow: hidden; background: linear-gradient(135deg, var(--club), var(--turf)); color: #fff; display: grid; place-items: center; font: 900 1.5rem/1 var(--f-display); flex: none; }
.coach__ph img { width: 100%; height: 100%; object-fit: cover; }
.coach h3 { font: 800 1.45rem/1 var(--f-display); text-transform: uppercase; }
.coach__role { font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--club); margin-top: 6px; }
.coach p { margin: 0; color: var(--ink-2); font-size: .96rem; }
.coach .btn { margin-top: auto; align-self: stretch; }
@media (min-width: 641px) { .coach .btn { align-self: flex-start; } }

/* Food */
.food-tabs { position: sticky; top: calc(var(--hdr) - 2px); z-index: 5; background: rgba(244,246,241,.92); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
@media (min-width: 761px) { .food-tabs { width: fit-content; max-width: 100%; margin-inline: 0; padding: 6px; border-radius: 999px; box-shadow: 0 12px 30px -16px rgba(11,21,16,.35); border: 1px solid var(--line); } }
.food-group { scroll-margin-top: calc(var(--hdr) + 80px); }
.food-group + .food-group { margin-top: 48px; }
.food-group h3 { font: 900 2.1rem/1 var(--f-display); text-transform: uppercase; margin-bottom: 18px; display: flex; align-items: center; gap: 14px; }
.food-group h3::after { content: ''; flex: 1; height: 2px; background: var(--ink); }
.food-group[hidden] { display: none; }
.dishes { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 14px; }
@media (max-width: 420px) { .dishes { grid-template-columns: 1fr; } }
.dish { position: relative; background: #fff; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line); display: flex; flex-direction: column; transition: box-shadow .5s; }
@media (hover: hover) { .dish:hover { --ty: -6px; box-shadow: var(--shadow); } }
.dish__img { aspect-ratio: 16/10; background: var(--mist); }
.dish__img img { width: 100%; height: 100%; object-fit: cover; }
.dish__body { padding: 16px 18px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.dish__head { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; }
.dish h4 { font-size: 1.1rem; font-weight: 700; }
.dish__price { font: 900 1.8rem/1 var(--f-display); color: var(--club); white-space: nowrap; }
.dish__price small { font: 700 .75rem/1 var(--f-body); margin-left: 3px; }
.dish p { margin: 0; color: var(--ink-2); font-size: .94rem; }
.dish__meta { display: flex; flex-wrap: wrap; gap: 6px; }
.dish__meta span { font-size: .78rem; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: var(--mist); }
.dish details { font-size: .9rem; color: var(--ink-2); margin-top: auto; }
.dish summary { cursor: pointer; font-weight: 600; color: var(--ink); padding: 6px 0; }
.note-sm { margin-top: 40px; color: var(--ink-2); font-size: .9rem; }

/* Tarife */
.seg { display: flex; width: fit-content; max-width: 100%; overflow-x: auto; scrollbar-width: none; background: rgba(255,255,255,.1); border-radius: 999px; padding: 5px; gap: 4px; }
.seg::-webkit-scrollbar { display: none; }
.seg--sub { margin-top: 18px; }
.seg button { flex: none; border: 0; background: none; min-height: 44px; padding: 10px 18px; border-radius: 999px; font-weight: 600; font-size: .9rem; color: inherit; transition: background-color .35s, color .35s; }
.seg button[aria-selected="true"] { background: #fff; color: var(--pool-deep); }
.prices { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 14px; margin-top: 22px; }
[role="tabpanel"]:not([hidden]) .prices { animation: rise .7s var(--spring); }
.ptable { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: var(--r-lg); padding: 22px; }
.ptable h3 { font: 800 1.5rem/1 var(--f-display); text-transform: uppercase; margin-bottom: 4px; }
.ptable .muted { font-size: .86rem; color: inherit; opacity: .7; margin-bottom: 12px; }
.ptable table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.ptable th, .ptable td { text-align: left; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.12); vertical-align: top; }
.ptable th { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; opacity: .7; font-weight: 700; }
.ptable td + td, .ptable th + th { text-align: right; white-space: nowrap; padding-left: 10px; }
.ptable td:first-child { font-weight: 600; }
.ptable tr:last-child td { border-bottom: 0; }
.ptable .hl { display: inline-block; font-size: .66rem; font-weight: 700; background: var(--aqua); color: var(--pool-deep); padding: 3px 8px; border-radius: 999px; margin: 4px 0 0; letter-spacing: .03em; }
[role="tabpanel"][hidden] { display: none; }

.services { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
@media (max-width: 460px) { .services { grid-template-columns: 1fr 1fr; } }
.services--wide { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.service { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 18px; transition: box-shadow .5s; }
@media (hover: hover) { .service:hover { --ty: -4px; box-shadow: var(--shadow); } }
.service h3 { font-size: 1rem; font-weight: 700; margin-bottom: 4px; }
.service p { margin: 0; color: var(--ink-2); font-size: .9rem; }
.service strong { display: block; margin-top: 8px; font: 900 1.5rem/1 var(--f-display); color: var(--club); }
.service__ask { margin-top: 8px !important; font-weight: 600; color: var(--club) !important; }
.checks { display: grid; gap: 12px; margin: 24px 0; }
.checks li { display: flex; gap: 12px; align-items: flex-start; }
.checks .ic { color: var(--club); margin-top: 3px; }
.checks--sm { gap: 8px; margin: 0; font-size: .93rem; color: var(--ink-2); }
.sec--pool .checks .ic { color: var(--aqua); }
.people { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; margin-top: 16px; }
.person { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 16px; display: flex; gap: 14px; align-items: center; margin: 20px 0; }
.people .person { margin: 0; }
.person .coach__ph { width: 56px; height: 56px; font-size: 1.2rem; }
.person strong { display: block; font-size: 1rem; }
.person a { color: var(--club); font-weight: 600; text-decoration: none; font-size: .95rem; display: inline-block; padding: 4px 0; }

/* Tehnic */
.steps { counter-reset: s; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.steps li { position: relative; counter-increment: s; padding: 22px; border-radius: var(--r-lg); background: #fff; border: 1px solid var(--line); display: grid; grid-template-columns: 52px 1fr; gap: 6px 14px; transition: box-shadow .5s; }
@media (hover: hover) { .steps li:hover { --ty: -4px; box-shadow: var(--shadow); } }
.steps li::before { content: counter(s, decimal-leading-zero); font: 900 2.2rem/1 var(--f-display); color: var(--club); grid-row: span 2; }
.steps h3 { font-size: 1.05rem; font-weight: 700; }
.steps p { margin: 0; color: var(--ink-2); font-size: .95rem; }
.machines__title { margin: clamp(44px, 6vw, 80px) 0 18px; }
.machines { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
@media (min-width: 561px) { .machines { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 861px) { .machines { grid-template-columns: repeat(5, 1fr); gap: 12px; } }
.machines figure { position: relative; margin: 0; background: #fff; border-radius: 18px; border: 1px solid var(--line); padding: 16px; display: grid; gap: 10px; place-items: center; text-align: center; }
.machines img { aspect-ratio: 1; width: 100%; object-fit: contain; }
.machines figcaption { font-size: .78rem; font-weight: 600; color: var(--ink-2); }

/* Formulare */
.form { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 20px; }
@media (min-width: 641px) { .form { grid-template-columns: 1fr 1fr; gap: 16px; } }
.form .full { grid-column: 1 / -1; }
.field label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: 6px; }
.field .hint { font-weight: 400; color: var(--ink-2); }
.field input, .field select, .field textarea { width: 100%; font: inherit; font-size: 16px; color: var(--ink); background: var(--chalk); border: 1.5px solid transparent; border-radius: 14px; padding: 14px 16px; min-height: 52px; transition: border-color .25s, box-shadow .25s, background-color .25s; -webkit-appearance: none; appearance: none; }
.field textarea { min-height: 140px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; background: #fff; border-color: var(--club); box-shadow: 0 0 0 4px rgba(77,134,79,.18); }
.field input:user-invalid { border-color: #c0392b; }
.consent { display: flex; gap: 12px; align-items: flex-start; font-size: .9rem; color: var(--ink-2); }
.consent input { width: 22px; height: 22px; margin-top: 1px; accent-color: var(--club); flex: none; }
.form .btn { width: 100%; }
@media (min-width: 641px) { .form .btn { width: auto; } }
.hp { position: absolute; left: -9999px; }
.form__status { grid-column: 1 / -1; padding: 14px 16px; border-radius: 14px; font-weight: 500; animation: rise .5s var(--spring); }
.form__status[data-type="ok"] { background: #e2f3e3; color: #1d5b20; }
.form__status[data-type="err"] { background: #fbe7e4; color: #8a2417; }
.form__status:empty { display: none; }
.panel { background: #fff; border-radius: var(--r-lg); border: 1px solid var(--line); padding: clamp(20px, 4vw, 48px); box-shadow: 0 30px 60px -40px rgba(11,21,16,.35); }
.two-col { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: start; }
@media (min-width: 901px) { .two-col { grid-template-columns: 1fr 1.3fr; gap: clamp(28px, 5vw, 72px); } }
.infolist { display: grid; gap: 2px; }
.infolist a, .infolist div { display: flex; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); text-decoration: none; transition: padding-left .5s var(--spring); min-height: 56px; }
@media (hover: hover) { .infolist a:hover { padding-left: 8px; } }
.infolist .ic { width: 22px; height: 22px; color: var(--club); }
.infolist small { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); }
.infolist strong { font-weight: 600; font-size: 1.02rem; }
.bigphone { display: inline-block; font: 900 clamp(2.6rem, 11vw, 4.6rem)/1 var(--f-display); text-decoration: none; color: var(--club); margin: 6px 0 12px; transition: color .3s, translate .6s var(--spring); }
@media (hover: hover) { .bigphone:hover { color: var(--turf); translate: 6px 0; } }

/* ---------- Footer ---------- */
.ftr { position: relative; background: var(--ink); color: rgba(255,255,255,.75); padding-top: clamp(56px, 8vw, 100px); font-size: .95rem; overflow: hidden; }
.ftr__big { position: absolute; left: 50%; bottom: 40px; transform: translateX(-50%); font: 900 clamp(5rem, 19vw, 18rem)/.8 var(--f-display); color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.07); white-space: nowrap; pointer-events: none; user-select: none; }
.ftr__grid { position: relative; display: grid; grid-template-columns: 1fr; gap: 32px; padding-bottom: 48px; }
@media (min-width: 561px) { .ftr__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 961px) { .ftr__grid { grid-template-columns: 1.5fr 1fr 1.3fr 1.1fr; gap: 40px; padding-bottom: 56px; } }
.ftr__brand img { width: 160px; margin-bottom: 16px; }
.ftr__brand p { max-width: 38ch; }
.ftr__h { font: 800 1.1rem/1 var(--f-display); letter-spacing: .08em; text-transform: uppercase; color: #fff; margin-bottom: 14px; }
.ftr__list { display: grid; gap: 4px; }
.ftr__list a, .ftr__plain { text-decoration: none; display: inline-flex; gap: 10px; align-items: flex-start; padding: 6px 0; transition: color .25s, translate .5s var(--spring); }
@media (hover: hover) { .ftr__list a:hover { color: #fff; translate: 4px 0; } }
.ftr__contact .ic { margin-top: 4px; color: var(--club-lt); }
.ftr__badges { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; }
.ftr__badges a { display: block; background: #fff; border-radius: 12px; padding: 8px 12px; transition: translate .5s var(--spring); }
.ftr__badges img { height: 44px; width: auto; }
@media (hover: hover) { .ftr__badges a:hover { translate: 0 -3px; } }
.social { display: flex; gap: 10px; margin-top: 18px; }
.social a { width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); display: grid; place-items: center; transition: background-color .3s, color .3s, translate .5s var(--spring), rotate .5s var(--spring), border-color .3s; }
@media (hover: hover) { .social a:hover { background: var(--amber); color: var(--amber-ink); border-color: var(--amber); translate: 0 -4px; rotate: -8deg; } }
.ftr__bottom { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding-block: 22px 26px; border-top: 1px solid rgba(255,255,255,.08); font-size: .85rem; }
.ftr__bottom p { margin: 0; }

/* Bară rapidă pe mobil */
.callbar { display: none; }
@media (max-width: 760px) {
  .callbar { display: grid; grid-template-columns: repeat(3, 1fr); position: fixed; left: 10px; right: 10px; bottom: calc(10px + var(--safe-b)); z-index: 40; background: rgba(11,21,16,.92); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-radius: 22px; box-shadow: 0 16px 40px rgba(0,0,0,.35); overflow: hidden; transform: translateY(calc(140% + var(--safe-b))); transition: transform .7s var(--spring); }
  .callbar.show { transform: none; }
  .callbar a { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 11px 6px 10px; min-height: 58px; color: #fff; text-decoration: none; font-size: .76rem; font-weight: 600; transition: background-color .2s; }
  .callbar a:active { background: rgba(255,255,255,.1); }
  .callbar a:first-child { background: var(--amber); color: var(--amber-ink); }
  .callbar .ic { width: 22px; height: 22px; }
  .ftr { padding-bottom: calc(90px + var(--safe-b)); }
  body.nav-open .callbar { transform: translateY(calc(140% + var(--safe-b))); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
  .pitch path, .pitch circle { stroke-dashoffset: 0 !important; }
  .js .reveal, .js .reveal-img { opacity: 1; translate: none; filter: none; clip-path: none; }
  .js .reveal-img img, .js .reveal-img video { scale: 1; }
  .line > span, .js .split-words .w > span, .js .words .w > span { transform: none; }
  .drift, .hero__bg, .phero__bg, .hero__in { animation: none !important; translate: none !important; opacity: 1 !important; }
  @view-transition { navigation: none; }
}

/* spațiu pentru diacriticele de deasupra majusculelor (Î, Â, Ă) în titlurile animate */
.js .split-words .w, .js .words .w { padding-top: .16em; margin-top: -.16em; }
.line { padding-top: .14em; margin-top: -.14em; }

/* Efectul de sticlă al barei e pe un strat separat: altfel blur-ul ar „închide”
   meniul mobil (position: fixed) în interiorul barei. */
.hdr__bar, .hdr.is-solid .hdr__bar { position: relative; isolation: isolate; background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
.hdr__bar::before { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: rgba(8, 26, 16, .3); backdrop-filter: blur(16px) saturate(150%); -webkit-backdrop-filter: blur(16px) saturate(150%); transition: background-color .4s; }
.hdr.is-solid .hdr__bar::before { background: rgba(12, 38, 24, .92); }
.nav-open .hdr__bar::before { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
.nav-open .hdr__bar { border-color: transparent; box-shadow: none; }
@media (max-width: 1180px) { .nav { z-index: -2; } }

/* ---------- Bara de cookie-uri ---------- */
.cookie { position: fixed; z-index: 70; left: 10px; right: 10px; bottom: calc(10px + var(--safe-b)); max-width: 460px; background: #fff; color: var(--ink); border-radius: 22px; padding: 20px; box-shadow: 0 30px 70px -20px rgba(6,20,12,.45), 0 0 0 1px var(--line); transform: translateY(calc(100% + 40px)); opacity: 0; transition: transform .7s var(--spring), opacity .4s; }
.cookie.show { transform: none; opacity: 1; }
@media (min-width: 761px) { .cookie { left: 24px; right: auto; bottom: 24px; padding: 24px; } }
.cookie__title { font: 800 1.45rem/1 var(--f-display); text-transform: uppercase; margin-bottom: 8px; }
.cookie p { font-size: .9rem; color: var(--ink-2); margin: 0; line-height: 1.55; }
.cookie p a { color: var(--club); font-weight: 600; }
.cookie__prefs { display: grid; gap: 8px; margin-top: 14px; max-height: 40vh; overflow-y: auto; }
.cookie__prefs:not([hidden]) { animation: rise .5s var(--spring); }
.cookie__opt { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 14px; border-radius: 14px; background: var(--chalk); cursor: pointer; }
.cookie__opt span { display: grid; gap: 2px; }
.cookie__opt b { font-size: .92rem; }
.cookie__opt small { font-size: .8rem; color: var(--ink-2); line-height: 1.4; }
.cookie__opt input { position: absolute; opacity: 0; pointer-events: none; }
.cookie__opt .tog { flex: none; width: 44px; height: 26px; border-radius: 99px; background: #c9d3cb; position: relative; transition: background-color .3s; }
.cookie__opt .tog::after { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform .5s var(--spring); }
.cookie__opt input:checked + .tog { background: var(--club); }
.cookie__opt input:checked + .tog::after { transform: translateX(18px); }
.cookie__opt input:disabled + .tog { opacity: .55; }
.cookie__opt input:focus-visible + .tog { outline: 3px solid var(--amber); outline-offset: 2px; }
.cookie__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.cookie__actions .btn { flex: 1 1 auto; min-height: 46px; }
.cookie__actions .btn[hidden] { display: none; }
.cookie__set { flex: 0 0 auto !important; }
body.cookie-open .callbar { transform: translateY(calc(140% + var(--safe-b))) !important; }
.ftr__linkbtn { background: none; border: 0; padding: 6px 0; color: inherit; font: inherit; text-align: left; transition: color .25s; }
@media (hover: hover) { .ftr__linkbtn:hover { color: #fff; } }
.cookie__prefs[hidden], .cookie[hidden] { display: none; }
.btn--ink { background: var(--ink); color: #fff; } @media (hover: hover) { .btn--ink:hover { background: var(--turf-2); } }

/* ---------- Comutator limbă ---------- */
.lang { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; text-decoration: none; font: 800 .82rem/1 var(--f-body); letter-spacing: .06em; transition: background-color .3s, scale .5s var(--spring); }
.lang:active { scale: .92; }
@media (hover: hover) { .lang:hover { background: rgba(255,255,255,.26); } }
@media (min-width: 1181px) { .lang { margin-left: 4px; } }
@media (max-width: 1180px) { .hdr__cta { margin-left: 0; } .lang { margin-left: auto; } }

/* ---------- Program sezonier / zile speciale ---------- */
.sched { display: grid; gap: 8px; margin: 18px 0; }
.sched__item { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 16px; background: #fff; border: 1px solid var(--line); }
.sec--mist .sched__item, .visit .sched__item { background: var(--chalk); }
.sched__badge { flex: none; font: 700 .68rem/1 var(--f-body); letter-spacing: .08em; text-transform: uppercase; padding: 6px 9px; border-radius: 999px; background: var(--mist); color: var(--ink-2); margin-top: 2px; }
.sched__item.is-now .sched__badge { background: var(--club); color: #fff; }
.sched__item.is-closed .sched__badge { background: #c0392b; color: #fff; }
.sched__item strong { display: block; font-size: .98rem; }
.sched__meta { display: flex; align-items: center; gap: 6px; font-size: .86rem; color: var(--ink-2); margin-top: 2px; flex-wrap: wrap; }
.sched__meta .ic { width: 15px; height: 15px; }
.sched__note { display: block; font-size: .86rem; color: var(--ink-2); margin-top: 4px; }
.sched--compact { margin: 0 0 22px; }

/* ---------- Tarife terenuri ---------- */
.tarif { margin: 4px 0 24px; border-radius: 18px; background: #fff; border: 1px solid var(--line); overflow: hidden; }
.tarif__h { display: flex; align-items: center; gap: 8px; font: 800 1.15rem/1 var(--f-display); text-transform: uppercase; letter-spacing: .03em; padding: 14px 16px; background: var(--turf); color: #fff; }
.tarif__h .ic { color: var(--amber); }
.tarif table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.tarif th, .tarif td { padding: 12px 16px; border-top: 1px solid var(--line); text-align: left; vertical-align: top; }
.tarif tr:first-child th, .tarif tr:first-child td { border-top: 0; }
.tarif th { font-weight: 600; font-size: .95rem; }
.tarif th small { display: block; font-weight: 400; font-size: .8rem; color: var(--ink-2); margin-top: 2px; }
.tarif td { text-align: right; white-space: nowrap; font: 900 1.3rem/1.1 var(--f-display); color: var(--club); }
.tarif td span { font: 600 .75rem/1 var(--f-body); color: var(--ink-2); }

/* ---------- Întrebări frecvente ---------- */
.faq-wrap { max-width: 880px; }
.faq-group + .faq-group { margin-top: 44px; }
.faq-group__h { font: 900 1.8rem/1 var(--f-display); text-transform: uppercase; margin-bottom: 14px; }
.faq { display: grid; gap: 10px; }
.faq__item { background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; transition: box-shadow .4s; }
.faq__item[open] { box-shadow: var(--shadow); }
.faq__item summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 20px; cursor: pointer; font-weight: 600; font-size: 1.02rem; min-height: 60px; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary i { flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--mist); transition: rotate .5s var(--spring), background-color .3s, color .3s; }
.faq__item[open] summary i { rotate: 45deg; background: var(--club); color: #fff; }
.faq__a { padding: 0 20px 20px; color: var(--ink-2); line-height: 1.65; }
.faq__item[open] .faq__a { animation: rise .5s var(--spring); }

/* ---------- Subsol: date firmă ---------- */
.ftr__legal { font-size: .78rem; opacity: .7; }

/* Pașii numerotați (Tehnic): poziții fixe în grilă */
.steps li::before { grid-column: 1; grid-row: 1 / span 2; align-self: start; }
.steps li > h3 { grid-column: 2; grid-row: 1; align-self: end; }
.steps li > p { grid-column: 2; grid-row: 2; }

/* ---------- WhatsApp ---------- */
.btn--wa { background: #25d366; color: #06341b; box-shadow: 0 10px 30px -14px rgba(37,211,102,.75); }
@media (hover: hover) { .btn--wa:hover { background: #3be07a; } }
.callbar a.callbar__wa { background: #25d366; color: #06341b; }
.callbar a.callbar__wa:active { background: #1fbd5a; }
.contact-quick { margin: 4px 0 18px; }
.contact-quick .btn { flex: 1 1 auto; }

/* ---------- Anunț pe pagină (ex.: comenzi Food) ---------- */
.notice { display: flex; gap: 16px; align-items: flex-start; padding: 18px 20px; margin: -8px 0 30px; border-radius: 20px; background: #fff7e2; border: 1px solid #f3dda0; }
.notice__ic { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--amber); color: var(--amber-ink); }
.notice__ic .ic { width: 22px; height: 22px; }
.notice strong { display: block; font: 800 1.15rem/1.1 var(--f-display); text-transform: uppercase; letter-spacing: .02em; margin-bottom: 4px; }
.notice p { margin: 0; color: #5a4a1c; }

/* Carusel automat: fără „agățare” pe poze cât timp se mișcă singur */
.filmstrip.is-auto { scroll-snap-type: none; }

/* ---------- Greenfield Play ---------- */
.play-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin-bottom: 18px; }
.play-fact { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 16px 18px; }
.play-fact span { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--club); }
.play-fact strong { display: block; font: 900 1.5rem/1.1 var(--f-display); margin-top: 4px; }

/* Pașii (Tehnic): număr sus, text pe toată lățimea cardului */
.steps li { display: flex; flex-direction: column; gap: 8px; }
.steps li::before { display: block; margin-bottom: 6px; line-height: 1; }
.steps li > h3 { font-size: 1.12rem; line-height: 1.25; }
.steps li > p { line-height: 1.55; }
.steps li > h3, .steps li > p, .steps li::before { align-self: stretch; text-align: left; }
.sec--play { background: linear-gradient(160deg, #fff4d6, #ffe7a8); }
.sec--play .eyebrow { color: #b0560f; }
.sec--play .lead { color: #5a4416; }
.sec--play .checks .ic { color: #d2691e; }

/* ---------- Greenfield Play (pagina) ---------- */
.phero--play::before { background: linear-gradient(90deg, rgba(36,22,6,.88) 0%, rgba(36,22,6,.6) 55%, rgba(36,22,6,.25)), linear-gradient(0deg, rgba(36,22,6,.6), transparent 50%); }
.phero--play .eyebrow { color: #ffcf5a; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; animation: rise .9s .55s var(--ease-out) both; }
.chips li { padding: 8px 14px; border-radius: 999px; font-size: .85rem; font-weight: 600; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(8px); }
.split__media--tall { aspect-ratio: 3/4; max-height: 640px; width: 100%; }
@media (min-width: 861px) { .split__media--tall { justify-self: center; max-width: 470px; } }
.stamp--play { background: #fff; color: var(--pool-deep); }
.stamp--play small { color: var(--ink-2); }
.play-facts { margin-top: 22px; }
.play-fact a { text-decoration: none; color: inherit; }

.zones { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.zone { background: #fff; border-radius: var(--r-lg); overflow: hidden; position: relative; box-shadow: 0 20px 40px -28px rgba(90,60,10,.45); transition: box-shadow .5s; display: flex; flex-direction: column; }
.zone__img { aspect-ratio: 4/5; display: block; }
.zone__img img { width: 100%; height: 100%; object-fit: cover; }
.zone__body { padding: 18px 20px 22px; }
.zone__body h3 { font: 900 1.65rem/1 var(--f-display); text-transform: uppercase; margin-bottom: 8px; color: #8a3d00; }
.zone__body p { margin: 0; color: #5a4416; font-size: .96rem; }
@media (hover: hover) { .zone:hover { --ty: -8px; box-shadow: 0 30px 60px -28px rgba(90,60,10,.6); } }

.perk-list { display: grid; gap: 12px; }
.perk-list li { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; border-radius: 20px; background: #fff; border: 1px solid var(--line); }
.perk-list__ic { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: #ffe7a8; color: #8a3d00; }
.perk-list strong { display: block; font-size: 1.04rem; margin-bottom: 2px; }
.perk-list p { margin: 0; color: var(--ink-2); font-size: .95rem; }

.party { background: radial-gradient(120% 90% at 100% 0%, #ff9f6b, #ff6f91 45%, #8e5cf7); color: #fff; overflow: hidden; }
.party .eyebrow { color: #fff3c4; }
.party .lead { color: rgba(255,255,255,.92); }
.party__confetti { position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: radial-gradient(circle, #ffe066 3px, transparent 4px), radial-gradient(circle, #7dfcc6 3px, transparent 4px), radial-gradient(circle, #fff 2px, transparent 3px), radial-gradient(circle, #ffd1e8 3px, transparent 4px);
  background-size: 140px 140px, 190px 190px, 110px 110px, 230px 230px;
  background-position: 0 0, 60px 80px, 30px 40px, 120px 10px;
  animation: confetti 22s linear infinite; }
@keyframes confetti { to { background-position: 0 140px, 60px 270px, 30px 150px, 120px 240px; } }
.party .wrap { position: relative; }
.party__price { display: inline-flex; align-items: baseline; gap: 12px; margin: 6px 0 22px; padding: 12px 18px; border-radius: 18px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.3); backdrop-filter: blur(8px); }
.party__price span { font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.party__price strong { font: 900 2rem/1 var(--f-display); }
.party__h { font: 800 1.3rem/1 var(--f-display); text-transform: uppercase; letter-spacing: .03em; margin-bottom: 12px; }
.party__steps { counter-reset: ps; display: grid; gap: 10px; margin-bottom: 26px; }
.party__steps li { counter-increment: ps; display: flex; gap: 12px; align-items: center; font-weight: 500; }
.party__steps li::before { content: counter(ps); flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: #c2410c; font: 900 1.1rem/1 var(--f-display); }
.stamp--party { background: #fff; color: #c2410c; }
.stamp--party small { color: var(--ink-2); }
.ctaband--play { background: linear-gradient(120deg, #f59e0b, #f97316); }
.play-social { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 22px; color: var(--ink-2); }
.play-social a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--club); text-decoration: none; }
@media (prefers-reduced-motion: reduce) { .party__confetti { animation: none; } }
.page-play .two-col .tarif { margin-top: 26px; }
.party__confetti { opacity: .32; } .party .wrap { z-index: 1; }

/* ---------- Oferte ---------- */
.offer-badge { display: inline-block; vertical-align: middle; margin-left: 6px; padding: 3px 9px; border-radius: 999px; background: linear-gradient(120deg, #f97316, #ec4899); color: #fff; font: 700 .66rem/1.3 var(--f-body); font-style: normal; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 6px 14px -6px rgba(236,72,153,.6); animation: badgePulse 2.8s ease-in-out infinite; }
.offer-badge--light { margin: 0 4px 0 0; background: #fff; color: #db2777; box-shadow: none; }
@keyframes badgePulse { 50% { transform: scale(1.06); } }
.tarif tr.is-offer { background: linear-gradient(90deg, rgba(249,115,22,.07), transparent); }
.tarif tr.is-offer td { color: #ea580c; }
.offers { background: linear-gradient(120deg, #f97316, #ec4899); color: #fff; }
.offers__in { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; padding-block: 16px; }
.offers__tag { display: inline-flex; align-items: center; gap: 8px; font: 900 1.2rem/1 var(--f-display); text-transform: uppercase; letter-spacing: .04em; padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.2); }
.offers ul { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.offers li { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.offers li::before { content: '★'; color: #fff3c4; }
@media (prefers-reduced-motion: reduce) { .offer-badge { animation: none; } }

/* Logo-urile Greenfield Play și Greenfield Aqua & SPA, fără fundal, sus pe pagină.
   Un contur alb subțire (ca la un sticker) păstrează literele verzi lizibile pe fundalul închis. */
.phero__logo { display: block; margin: 0 0 clamp(26px, 3vw, 44px); animation: logoIn .9s var(--spring, cubic-bezier(.34,1.56,.64,1)) both .15s; }
.phero__logo img { display: block; width: auto; height: clamp(130px, 15vw, 190px);
  filter: drop-shadow(0 0 .7px #fff) drop-shadow(0 0 .7px #fff) drop-shadow(0 0 .7px #fff) drop-shadow(0 10px 18px rgba(0,0,0,.45)); }
@keyframes logoIn { from { opacity: 0; transform: translateY(14px) scale(.9); } }
@media (prefers-reduced-motion: reduce) { .phero__logo { animation: none; } }
.phero--pool .phero__logo img { height: clamp(140px, 16vw, 200px); }   /* logo-ul SPA e lat, cu scris subțire: are nevoie de mai mult loc */

/* Logo-ul clubului (scutul „Greenfield Club Bârlad, din 2012”), fără fundal, pe prima pagină, deasupra „Deschis acum” */
.hero__logo { margin: 0 0 clamp(14px, 2vw, 22px); animation: logoIn .9s var(--spring, cubic-bezier(.34,1.56,.64,1)) both .2s; }
.hero__logo img { display: block; width: auto; height: clamp(110px, 13vw, 170px);
  filter: drop-shadow(0 0 .6px rgba(255,255,255,.9)) drop-shadow(0 10px 18px rgba(0,0,0,.5)); }
@media (prefers-reduced-motion: reduce) { .hero__logo { animation: none; } }

/* ---------- Aplicația mobilă: banda de pe prima pagină și insigna Google Play (13 oct. 2026) ---------- */
.appband { background: radial-gradient(120% 90% at 100% 0%, var(--turf-2), var(--turf) 60%); color: #fff; overflow: hidden; }
.appband .lead { color: rgba(255,255,255,.82); }
.appband__in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: center; }
.appband__icon { width: 132px; height: auto; filter: drop-shadow(0 18px 30px rgba(0,0,0,.45)); }
@media (min-width: 761px) { .appband__in { grid-template-columns: 220px minmax(0, 1fr); gap: 48px; } .appband__icon { width: 220px; } }
.appbadge { display: inline-block; margin-top: 22px; border-radius: 10px; transition: translate .5s var(--spring), box-shadow .3s; }
.appbadge img { height: 56px; width: auto; }
.appbadge--ftr { margin-top: 18px; }
.appbadge--ftr img { height: 46px; }
@media (hover: hover) { .appbadge:hover { translate: 0 -3px; box-shadow: 0 14px 28px -12px rgba(0,0,0,.6); } }
.appapk { margin-top: 22px; }
.appapk .ic { rotate: 90deg; }
.ftr .appapk { min-height: 44px; padding: 10px 18px; font-size: .9rem; }

/* Tabela de pe prima pagină: ultima celulă rămasă singură pe rând ocupă tot rândul */
@media (max-width: 639px) { .board__cell:last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; } }
@media (min-width: 640px) and (max-width: 999px) { .board__cell:last-child:nth-child(3n+1) { grid-column: 1 / -1; } }
