/* Velora — warstwa „premium” (ten sam język co Veltris Tower): papier i granat, szeryfowe nagłówki Cormorant,
   akcent szampański, ostre krawędzie. Nadpisuje tokeny i typografię stron Velora (PL i EN) bez zmiany treści. */
:root {
  --canvas: #F4EFE6; --surface: #FBF8F2; --ink: #132126; --ink-2: #33434A; --muted: #5D6763;
  --line: rgba(19, 33, 38, .12); --line-strong: rgba(19, 33, 38, .30);
  --accent: #132126; --accent-hover: #24353B; --on-accent: #F4EFE6;
  --band: #132126; --on-band: #F0E8DC; --on-band-muted: rgba(240, 232, 220, .74);
  --gold: #8E7348; --gold-l: #C4A77A; --focus: #8E7348;
  --available: #2F6B50; --available-bg: #E4EAE3; --reserved: #8A5F1E; --reserved-bg: #F1E7D6;
  --font-heading: "Cormorant", "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-body: "Manrope", "DM Sans", "Segoe UI", system-ui, sans-serif;
  --r-btn: 0px; --r-card: 2px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --canvas: #0F1A1E; --surface: #16252A; --ink: #F0E8DC; --ink-2: #D6CDBF; --muted: #A9A196;
    --line: rgba(240, 232, 220, .12); --line-strong: rgba(240, 232, 220, .30);
    --accent: #C4A77A; --accent-hover: #D6BC92; --on-accent: #132126;
    --band: #0B1417; --on-band: #F0E8DC; --on-band-muted: rgba(240, 232, 220, .74);
    --gold: #C4A77A; --focus: #C4A77A; color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --canvas: #0F1A1E; --surface: #16252A; --ink: #F0E8DC; --ink-2: #D6CDBF; --muted: #A9A196;
  --line: rgba(240, 232, 220, .12); --line-strong: rgba(240, 232, 220, .30);
  --accent: #C4A77A; --accent-hover: #D6BC92; --on-accent: #132126;
  --band: #0B1417; --gold: #C4A77A; --focus: #C4A77A; color-scheme: dark;
}

/* typografia: jedna skala, szeryf do nagłówków */
h1, h2, h3 { font-family: var(--font-heading); font-weight: 400; letter-spacing: -.01em; }
h1 { font-size: clamp(46px, 6.2vw, 88px); line-height: 1.02; font-weight: 300; max-width: 15ch; }
h2 { font-size: clamp(34px, 3.8vw, 54px); line-height: 1.08; font-weight: 300; }
h3 { font-size: clamp(22px, 1.9vw, 27px); line-height: 1.2; font-weight: 500; }
h1 em, h2 em { font-style: italic; color: var(--gold); }
.label { color: var(--gold); letter-spacing: .22em; font-size: 12px; font-weight: 600; }
.lead { color: var(--ink-2); }

/* przyciski jak w Veltris */
.btn { border-radius: 0; font: 600 13px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; min-height: 50px; padding: 0 26px; }
.btn-sm { min-height: 42px; font-size: 12px; padding: 0 18px; }
input, select, textarea { border-radius: 0; }
.unit, .pack, .sent { border-radius: 2px; }
.film video, .sc-main, .sc-grid .ph, .premium-fig img { border-radius: 2px; }
.films-tabs button { border-radius: 0; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; }

/* hero: ciemna plansza z wizualizacją flagowej inwestycji */
.hero { position: relative; background: #0F1A1E url(../img/veltris-hero.webp) 70% 40% / cover no-repeat; color: #F0E8DC; border-bottom: 0; isolation: isolate; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(11, 20, 23, .94) 0%, rgba(11, 20, 23, .82) 44%, rgba(11, 20, 23, .45) 100%); }
.hero h1 { color: #F0E8DC; }
.hero .lead, .hero .facts, .hero .facts strong { color: #DDD5C8; }
.hero .label { color: #C4A77A; }
.hero .btn-primary { background: #C4A77A; color: #132126; }
.hero .btn-primary:hover { background: #D6BC92; }
.hero .btn-ghost { color: #F0E8DC; border-color: rgba(240, 232, 220, .5); }
.hero .btn-ghost:hover { border-color: #F0E8DC; }
.hero .unit { background: #FBF8F2; color: #132126; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .7); }
@media (max-width: 700px) { .hero::before { background: linear-gradient(180deg, rgba(11, 20, 23, .9) 0%, rgba(11, 20, 23, .86) 60%, rgba(11, 20, 23, .7) 100%); } }

/* pasma i nagłówek strony */
.band .btn-primary { background: #C4A77A; color: #132126; }
.top { background: color-mix(in srgb, var(--canvas) 94%, transparent); }
/* cyfry tabelaryczne (wersalikowe) w szeryfie — identyfikatory lokali i ceny bez cyfr nautycznych */
h1, h2, h3, .unit-id, .price, .num { font-variant-numeric: lining-nums tabular-nums; font-feature-settings: "lnum" 1, "tnum" 1; }
body { background: var(--canvas); }
/* pakiety: 3 najważniejsze korzyści widoczne, reszta w „Pełny zakres” */
.pack-more summary { cursor: pointer; list-style: none; font: 600 12px/1.4 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--gold); padding: 6px 0; }
.pack-more summary::-webkit-details-marker { display: none; }
.pack-more summary::after { content: " +"; }
.pack-more[open] summary::after { content: " −"; }
.pack-more ul { border-top: 0; padding-top: 6px; }
.pack .terms { color: var(--ink-2); font-size: 15px; }

/* przełącznik języka (generowany przez tools/velora-i18n): <details>, klawiatura (Enter/Spacja/Esc) i dotyk, cele ≥ 44 px */
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.lang-menu { position: relative; flex: none; }
.lang-menu > summary { list-style: none; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; min-width: 44px; padding: 0 12px; border: 1px solid var(--line-strong); color: var(--ink); cursor: pointer; font: 600 13px/1 var(--font-body); letter-spacing: .1em; user-select: none; }
.lang-menu > summary::-webkit-details-marker { display: none; }
.lang-menu > summary::after { content: ""; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
/* telefon: w nagłówku logo + języki; to samo CTA jest pierwszym przyciskiem hero */
.top-cta { white-space: nowrap; }
@media (max-width: 560px) { .top .top-cta { display: none; } }
.lang-menu[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
.lang-menu > summary:hover, .lang-menu[open] > summary { border-color: var(--ink); }
.lang-menu__icon { flex: none; }
.lang-menu ul { position: absolute; inset-inline-end: 0; top: calc(100% + 8px); z-index: 30; margin: 0; padding: 6px 0; list-style: none; min-width: 220px; max-height: min(70vh, calc(100dvh - 100px)); overflow-y: auto; overscroll-behavior: contain; background: var(--surface); border: 1px solid var(--line-strong); box-shadow: 0 24px 48px -24px rgba(19, 33, 38, .45); }
.lang-menu a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; padding: 0 16px; color: var(--ink); text-decoration: none; font: 400 15px/1.2 var(--font-body); letter-spacing: 0; }
.lang-menu a:hover { background: color-mix(in srgb, var(--ink) 6%, transparent); }
.lang-menu a:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
.lang-menu a .lang-menu__code { color: var(--muted); font-size: 11px; letter-spacing: .12em; }
.lang-menu a[aria-current] { font-weight: 600; box-shadow: inset 3px 0 0 var(--gold); }
[dir="rtl"] .lang-menu a[aria-current] { box-shadow: inset -3px 0 0 var(--gold); }
.lang-links ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; }
.lang-links li { display: inline-flex; align-items: center; }
.lang-links li + li::before { content: "·"; padding-inline: 8px; }
.lang-links a { color: inherit; display: inline-block; padding-block: 6px; }
.lang-links a[aria-current] { font-weight: 600; text-decoration: none; }

/* RTL (ar): lustrzany gradient i kadr hero, bez rozstrzelenia liter i kursywy (pismo arabskie łączy znaki) */
[dir="rtl"] .hero { background-position: 30% 40%; }
[dir="rtl"] .hero::before { background: linear-gradient(270deg, rgba(11, 20, 23, .94) 0%, rgba(11, 20, 23, .82) 44%, rgba(11, 20, 23, .45) 100%); }
@media (max-width: 700px) { [dir="rtl"] .hero::before { background: linear-gradient(180deg, rgba(11, 20, 23, .9) 0%, rgba(11, 20, 23, .86) 60%, rgba(11, 20, 23, .7) 100%); } }
[dir="rtl"] :is(h1, h2, h3, .label, .btn, .lang-menu > summary, .films-tabs button, .pack-more summary) { letter-spacing: 0; }
[dir="rtl"] :is(h1, h2) em { font-style: normal; }
[dir="rtl"] input[type="email"] { direction: ltr; text-align: right; } /* adres e-mail wpisywany LTR, wyrównany do prawej jak reszta pól */
