/* =====================================================================
   site.css — vzhled ve stylu falbergolf.com (redesign krok 2, 7. 10. 2026).
   Načítá se PO page-*.css na všech stránkách a ve všech jazycích; barvy jen z theme.css.
   ===================================================================== */
body { font-family: var(--font); background: var(--bg); color: var(--text); }
h1, h2, h3, .hero h1 { font-family: var(--font-display); letter-spacing: -0.02em; }

/* ---------- hlavička: sklo jako falbergolf.com ---------- */
.topnav, .fgnav { background: var(--glass) !important; backdrop-filter: saturate(180%) blur(24px); -webkit-backdrop-filter: saturate(180%) blur(24px);
  border-bottom: .5px solid var(--glass-stroke) !important; }
/* logo je bílé SVG → ve světlém vzhledu černé */
:root:not([data-theme="dark"]) .nav-brand img, :root:not([data-theme="dark"]) .fgnav-brand img { filter: brightness(0); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .nav-brand img, :root:not([data-theme="light"]) .fgnav-brand img { filter: none; }
}
.nav-links a, .fgnav-links a { font-weight: 600; }
.lang-btn { border-radius: 999px !important; }
.lang-panel { background: var(--float) !important; box-shadow: var(--shadow-float); border-color: var(--line) !important; }
.theme-btn { margin-left: 2px; }
@media (max-width: 720px) {
  .nav-links, .fgnav-links { background: var(--float) !important; box-shadow: var(--shadow-float); }
  .nav-links .theme-btn, .fgnav-links .theme-btn { margin: 12px 0 0; }
}

/* ---------- úvodní blok s fotkou = zaoblená karta (jako hero na falbergolf.com) ---------- */
header.hero { margin: 12px 12px 0; border-radius: 28px; border: 0 !important; overflow: hidden; isolation: isolate; }
@media (min-width: 1100px) { header.hero { max-width: 1240px; margin: 16px auto 0; } }
@media (max-width: 640px) { header.hero { margin: 8px 8px 0; border-radius: 22px; } }

/* ---------- tlačítka ---------- */
.btn { border-radius: var(--r-control); font-weight: 600; }
.btn.primary { background: var(--accent); color: var(--accent-dark); }
.btn.ghost { background: var(--panel); border-color: var(--line); color: var(--text-strong); }

/* ---------- karty: zaoblení a jemný stín ve světlém vzhledu ---------- */
.fit-card, .coach, .feature, .comp-card, .company-card, .features-card, .step, .faq-item, .rpanel, details {
  border-radius: var(--r-card); box-shadow: var(--shadow-card); }

/* ---------- právní stránky (podmínky, zásady, podpora, soutěže): text na kartě ---------- */
.container { background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-card); box-shadow: var(--shadow-card);
  padding: 40px 48px 48px; margin-top: 28px; margin-bottom: 28px; }
.container .company-card, .container .features-card { background: var(--panel-2); border-color: transparent; }
.header .brand-sub, .brand-sub { color: var(--accent-text); }
header.hero .brand-sub { color: #daffde; }
@media (max-width: 640px) { .container { padding: 24px 18px 32px; margin: 12px 8px; border-radius: 16px; } }

/* ---------- odkazy v textu ---------- */
.container a:not(.btn), main a:not(.btn):not([class]) { color: var(--accent-text); }

/* právní stránky: prázdná .header (dřívější branding) nezabírá místo; nadpis jako na falbergolf.com */
.container > .header:not(:has(*)) { display: none; }   /* :empty nebere prázdný řádek */
.container > h1 { font-family: var(--font-display); font-size: clamp(26px, 4.2vw, 36px); line-height: 1.15; letter-spacing: -0.025em; margin-bottom: 10px; }

/* =====================================================================
   HERO ve stylu falbergolf.com (7. 10. 2026): fotka/video přes celou kartu, text VLEVO DOLE,
   malý štítek nad velkým nadpisem, tlačítka a štítky funkcí zarovnané vlevo. Platí pro úvod i manuál.
   ===================================================================== */
header.hero { display: flex; flex-direction: column; justify-content: flex-end; min-height: min(660px, 82vh);
  padding: 120px 0 44px !important; text-align: left !important; }
header.hero .wrap { width: 100%; max-width: 1180px; padding: 0 48px; margin: 0; }
@media (min-width: 1100px) { header.hero .wrap { margin: 0 auto; } }
/* čitelnost textu: ztmavení zleva a zdola (fotka vpravo nahoře zůstává světlá) */
header.hero .hero-overlay { background:
  linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.34) 48%, rgba(0,0,0,.06) 78%),
  linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.55) 100%) !important; }
header.hero .brand-img { display: none; }              /* logo je v hlavičce */
header.hero .brand-sub, header.hero .kicker {
  font-family: var(--font); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: var(--accent) !important; margin: 0 0 14px; text-shadow: 0 1px 8px rgba(0,0,0,.35); }
header.hero .kicker { margin-top: -4px; color: rgba(255,255,255,.88) !important; }
header.hero h1 { font-family: var(--font-display); font-size: clamp(36px, 5.4vw, 66px); line-height: 1.02; font-weight: 800;
  letter-spacing: -0.035em; max-width: 720px; margin: 0 !important; text-align: left; }
header.hero h1 em { color: var(--accent); font-style: normal; }
header.hero p.sub { text-align: left; max-width: 580px; margin: 18px 0 0 !important; font-size: 18px; line-height: 1.5;
  color: rgba(255,255,255,.88); }
header.hero .cta-row { justify-content: flex-start; align-items: center; margin-top: 28px; gap: 12px; }
header.hero .garmin-badge { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.22);
  backdrop-filter: blur(18px) saturate(160%); -webkit-backdrop-filter: blur(18px) saturate(160%); }
header.hero .btn.ghost { background: #FFFFFF; color: #000000; border-color: transparent; height: 54px; padding: 0 24px; }
header.hero .trial-note { text-align: left; margin-top: 14px; color: rgba(255,255,255,.7); }
header.hero .badges { justify-content: flex-start; margin-top: 24px; gap: 8px; }
header.hero .badge { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); color: #FFFFFF;
  backdrop-filter: blur(18px) saturate(160%); -webkit-backdrop-filter: blur(18px) saturate(160%); }
/* manuál: kratší hero (bez tlačítek) */
body#top header.hero { min-height: min(520px, 70vh); }
@media (max-width: 720px) {
  header.hero { min-height: 0; padding: 140px 0 26px !important; }
  header.hero .wrap { padding: 0 20px; }
  header.hero h1 { font-size: 34px; }
  header.hero p.sub { font-size: 16px; }
  header.hero .cta-row { flex-direction: column; align-items: flex-start; gap: 10px; }   /* tlačítka pod sebou, šířka podle obsahu */
  header.hero .hero-overlay { background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.45) 45%, rgba(0,0,0,.78) 100%) !important; }
}
/* manuál: název stránky (.kicker) = velký nadpis hero (stránka nemá h1 v hero) */
body#top header.hero .kicker { font-family: var(--font-display); font-size: clamp(34px, 4.8vw, 58px); line-height: 1.04; font-weight: 800;
  letter-spacing: -0.03em; text-transform: none; color: #FFFFFF !important; margin: 0 !important; max-width: 760px; }
