/* ==========================================================================
   Flyvaryors — custom.css
   Modernizace nad původní lib/styly.css. Týmové barvy: fialová + žlutá.
   v1 (2026-08-12): typografie, tlačítka, navigace, drobné doladění.
   ========================================================================== */

:root{
  --fv-purple:#6b3f96;      /* hlavní fialová (živější než pův. #764897) */
  --fv-purple-deep:#4d2b70; /* tmavší fialová pro hloubku */
  --fv-purple-ink:#2f1a47;  /* nejtmavší, pro paticku/kontrast */
  --fv-yellow:#d0d820;       /* přesná limetková z loga (vzorkováno z logo_flyvariors.png) */
  --fv-yellow-deep:#b3ba12;
}

/* ---------- Základ / typografie ---------- */
body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  letter-spacing:.01em;
}
h1,h2,h3,h4{ text-wrap:balance; }

/* ---------- Tlačítka (branding) ---------- */
.btn-primary,
.btn.btn-primary{
  background:var(--fv-yellow) !important;
  background-image:none !important;
  border:0 !important;
  color:var(--fv-purple-ink) !important;
  font-weight:700 !important;
  letter-spacing:.03em;
  text-transform:uppercase;
  padding:12px 30px !important;
  border-radius:999px !important;
  text-shadow:none !important;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.btn-primary:hover,
.btn.btn-primary:hover,
.btn-primary:focus{
  background:#fff !important;
  color:var(--fv-purple-deep) !important;
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(0,0,0,.24);
}

/* ---------- Navigace ---------- */
.navbar-fixed-top{
  background-color:var(--fv-purple) !important;
  box-shadow:0 2px 12px rgba(0,0,0,.18);
}
.navbar-default .navbar-nav > li > a{
  background-color:transparent !important;
  color:#fff !important;
  font-weight:600;
  letter-spacing:.02em;
  transition:color .12s ease, background .12s ease;
}
.nav > li > a{ padding:24px 14px !important; font-size:15px; }

/* --- Logo vlevo + menu hned za ním doleva; položka "Úvod" skryta (logo odkazuje domů) --- */
.navbar-fixed-top{ min-height:70px; }
.navbar-brand{ padding:8px 8px 8px 15px !important; height:auto; }
.navbar-brand img{ height:52px !important; width:auto; }         /* větší logo */
.navbar-nav.navbar-right{ float:left !important; margin-right:0 !important; margin-left:8px; }
.navbar-nav > li:first-child{ display:none; }                    /* skryje "Úvod" */

/* menu se sbalí do hamburgeru pod 992 px (na tabletu/mobilu), aby se nikdy neořezávalo */
@media (max-width:991px){
  .navbar-header{ float:none; }
  .navbar-toggle{ display:block; margin-top:18px; }
  .navbar-collapse{ border-top:1px solid rgba(255,255,255,.12); }
  .navbar-collapse.collapse{ display:none !important; }
  .navbar-collapse.collapse.in{ display:block !important; }
  .navbar-nav, .navbar-nav.navbar-right{ float:none !important; margin:6px -15px; }
  .navbar-nav > li{ float:none; }
  .navbar-nav > li > a{ padding:11px 20px !important; }
  .navbar-nav .open .dropdown-menu{ position:static; float:none; width:auto; box-shadow:none; background:var(--fv-purple-deep) !important; }
  .navbar-nav .open .dropdown-menu > li > a{ color:#fff !important; padding-left:38px !important; }
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:focus,
.navbar-default .navbar-nav > .open > a:hover{
  background-color:transparent !important;
  color:var(--fv-yellow) !important;
}
.dropdown-menu{ background-color:var(--fv-purple-deep) !important; border:0; box-shadow:0 8px 24px rgba(0,0,0,.28); }
.dropdown-menu > li > a{ color:#fff !important; padding:10px 20px !important; }
.dropdown-menu > li > a:hover{ background-color:var(--fv-purple-ink) !important; color:var(--fv-yellow) !important; }

/* ---------- Slideshow / carousel ---------- */
/* Slider zamčen na pevný poměr 16:9 na všech zařízeních.
   Slajd připravený v 16:9 (ideálně 1920×1080) se ukáže CELÝ, ostrý a bez ořezu. */
/* Slider: pevný poměr 3:1 (1920×640) přes celou šířku na všech zařízeních.
   Slajd připravený v 1920×640 se ukáže CELÝ a ostrý; starší 16:9 slajdy se ořežou (nahoře/dole). */
.carousel-inner > .item > img,
.carousel-inner > .item > a > img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:3 / 1;
  object-fit:cover;
  display:block;
}
.fv-hero-band{ width:100%; }
.fv-hero-band .carousel{ max-width:none; margin:0; }

.carousel-caption{
  text-shadow:0 2px 12px rgba(0,0,0,.6);
  bottom:auto; top:50%; transform:translateY(-50%);
  font-size:clamp(20px,4vw,34px) !important;
}
.carousel-indicators .active{ background-color:var(--fv-yellow) !important; border-color:var(--fv-yellow) !important; }

/* ---------- Sekce (rozhovor / info / adresa) ---------- */
div.rozhovor, div.info{ background-color:var(--fv-purple) !important; }
div.rozhovor h1, div.info h1{ color:var(--fv-yellow) !important; }
div.adresa{ background-color:var(--fv-purple-deep) !important; }
div.kontakt{ background-color:var(--fv-yellow) !important; }
div.kontakt h2{ color:var(--fv-purple-deep) !important; }
div.copyright{ background-color:var(--fv-purple-ink) !important; color:#c9bcd8 !important; }

/* odkazy v barevných sekcích čitelně žluté */
div.rozhovor a, div.info a, div.adresa a{ color:var(--fv-yellow) !important; }

/* ---------- Formulář ---------- */
div.kontakt .form-control{
  border:0; border-radius:8px; padding:12px 14px; box-shadow:inset 0 1px 3px rgba(0,0,0,.12);
}
.form-asterisk{ color:var(--fv-purple-deep); }

/* ==========================================================================
   HERO + STATS (pruh s čísly) — pro úvodní stránku
   ========================================================================== */
.fv-stats{
  background:var(--fv-purple-ink);
  padding:38px 20px;
  /* plná šířka jako slider nad ním a rozhovor pod ním (vyrovná 15px padding .container-fluid) */
  margin-left:-15px;
  margin-right:-15px;
}
.fv-stats .fv-stats-grid{
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
}
.fv-stat{ text-align:center; color:#fff; padding:8px; }
.fv-stat .fv-n{
  display:block; font-size:clamp(28px,4vw,42px); font-weight:800; line-height:1;
  color:var(--fv-yellow); letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.fv-stat .fv-n small{ font-size:.5em; font-weight:700; }
.fv-stat .fv-t{ display:block; margin-top:10px; font-size:14px; color:#d7cbe6; line-height:1.35; }

@media (max-width:767px){
  .fv-stats .fv-stats-grid{ grid-template-columns:1fr 1fr; gap:14px; }
}

/* ==========================================================================
   CO JE FLYBALL — mini-sekce pro nováčky (světlý pruh)
   ========================================================================== */
.fv-whatis{
  background:#f4f2f8;                 /* jemně fialově-neutrální světlá */
  padding:56px 20px 60px;
  margin-left:-15px; margin-right:-15px;   /* plná šířka jako ostatní sekce */
  color:#2f1a47;
}
.fv-whatis-inner{ max-width:1080px; margin:0 auto; }
.fv-whatis h2{
  text-align:center; font-size:clamp(26px,4vw,38px); font-weight:800;
  color:var(--fv-purple); margin:0 0 14px; letter-spacing:-.02em;
}
.fv-whatis-lead{
  text-align:center; max-width:70ch; margin:0 auto 40px;
  font-size:17px; line-height:1.6; color:#4a3b60;
}
.fv-whatis-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
.fv-feat{
  background:#fff; border-radius:16px; padding:30px 26px; text-align:center;
  box-shadow:0 2px 4px rgba(47,26,71,.05), 0 12px 30px rgba(47,26,71,.08);
  border:1px solid #ece7f3;
}
.fv-ico{
  width:66px; height:66px; margin:0 auto 18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--fv-purple), var(--fv-yellow-deep));
  box-shadow:0 6px 16px rgba(107,63,150,.28);
}
.fv-ico svg{ width:32px; height:32px; stroke:#fff; fill:none; stroke-width:2; }
.fv-feat h3{ font-size:19px; font-weight:800; color:var(--fv-purple-deep); margin:0 0 8px; }
.fv-feat p{ font-size:15px; line-height:1.55; color:#5a4a70; margin:0; }
.fv-whatis-cta{ text-align:center; margin-top:38px; }

@media (max-width:820px){
  .fv-whatis-grid{ grid-template-columns:1fr; max-width:420px; margin:0 auto; }
}

/* ==========================================================================
   ZŮSTAŇTE V OBRAZE — sociální sítě + živý FB feed (načtení po kliknutí)
   ========================================================================== */
.fv-social{
  background:#efeaf6;
  padding:56px 20px 60px;
  margin-left:-15px; margin-right:-15px;
  color:#2f1a47;
}
.fv-social-inner{ max-width:1080px; margin:0 auto; display:flex; gap:38px; align-items:center; flex-wrap:wrap; }
.fv-social-copy{ flex:1 1 330px; }
.fv-social-copy h2{ font-size:clamp(26px,4vw,36px); font-weight:800; color:var(--fv-purple); margin:0 0 12px; letter-spacing:-.02em; }
.fv-social-copy p{ font-size:17px; color:#4a3b60; margin:0 0 22px; max-width:46ch; }
.fv-social-btns{ display:flex; flex-direction:column; gap:12px; max-width:340px; }
.fv-sbtn{ display:flex; align-items:center; gap:13px; padding:12px 18px; border-radius:12px; background:var(--fv-purple); color:#fff !important; text-decoration:none !important; font-weight:700; box-shadow:0 4px 12px rgba(47,26,71,.14); transition:transform .12s ease, background .12s ease; }
.fv-sbtn:hover{ background:var(--fv-purple-deep); transform:translateX(3px); }
.fv-sbtn svg{ width:24px; height:24px; flex:none; }
.fv-sbtn span span{ display:block; font-weight:500; font-size:12.5px; opacity:.85; }
.fv-social-feed{ flex:1 1 380px; min-width:300px; display:flex; justify-content:center; }
.fv-fb{ width:100%; max-width:500px; }
.fv-fb-ph{ background:#fff; border:1px solid #e6dff0; border-radius:16px; padding:32px 24px; text-align:center; box-shadow:0 10px 28px rgba(47,26,71,.09); }
.fv-fb-ico{ width:60px; height:60px; margin:0 auto 14px; border-radius:15px; background:#1877F2; display:flex; align-items:center; justify-content:center; }
.fv-fb-ico svg{ width:34px; height:34px; color:#fff; }
.fv-ig-ico{ background:linear-gradient(45deg,#f9ce34 5%,#ee2a7b 45%,#6228d7 95%) !important; }
.fv-fb .lightwidget-widget{ width:100% !important; border:0; }
.fv-fb-ph p{ color:#5a4a70; font-size:15px; margin:0 0 20px; line-height:1.5; }
.fv-fb-ph small{ display:block; color:#8a7ba0; font-size:12.5px; margin-top:8px; }
.fv-fb .fb-page, .fv-fb .fb-page span, .fv-fb iframe{ max-width:100% !important; }
@media (max-width:820px){
  .fv-social-inner{ flex-direction:column; align-items:stretch; }
  .fv-social-btns{ max-width:none; }
}

/* ==========================================================================
   STRÁNKA „Staňte se partnerem"
   ========================================================================== */
.fv-partner-intro{
  background:linear-gradient(140deg,var(--fv-purple),var(--fv-purple-deep));
  color:#fff; text-align:center;
  padding:60px 20px 66px; margin-left:-15px; margin-right:-15px;
}
.fv-partner-inner{ max-width:820px; margin:0 auto; }
.fv-eyebrow{ display:inline-block; font-size:13px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--fv-yellow); margin-bottom:14px; }
.fv-partner-intro h1{ font-size:clamp(28px,5vw,44px); font-weight:800; letter-spacing:-.02em; margin:0 0 16px; color:#fff; }
.fv-partner-intro p{ font-size:clamp(16px,2.3vw,19px); color:#e7ddf3; max-width:60ch; margin:0 auto 28px; line-height:1.6; }
.fv-partner-intro .btn-primary, .fv-partner-intro .fv-btn-ghost{ margin:6px; }
.fv-btn-ghost{ background:transparent !important; border:2px solid rgba(255,255,255,.55) !important; color:#fff !important; font-weight:700 !important; text-transform:uppercase; letter-spacing:.03em; padding:11px 26px !important; border-radius:999px !important; display:inline-block; text-decoration:none !important; transition:background .12s ease, color .12s ease, border-color .12s ease; }
.fv-btn-ghost:hover{ background:#fff !important; color:var(--fv-purple-deep) !important; border-color:#fff !important; }
.fv-pc-dl{ margin:4px 0 0; }
.fv-pc-dl a{ color:var(--fv-yellow) !important; font-weight:700; text-decoration:none; }
.fv-pc-dl a:hover{ text-decoration:underline; }

.fv-head{ text-align:center; max-width:660px; margin:0 auto 34px; }
.fv-head h2{ font-size:clamp(24px,3.6vw,34px); font-weight:800; color:var(--fv-purple); letter-spacing:-.02em; margin:0 0 10px; }
.fv-head .fv-sub{ color:#6a5b80; font-size:16.5px; margin:0; }

.fv-reach{ background:#fff; padding:56px 20px 60px; margin-left:-15px; margin-right:-15px; }
.fv-reach-inner{ max-width:1080px; margin:0 auto; }
.fv-reach-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:22px; }
.fv-rstat{ text-align:center; background:#f4f2f8; border-radius:16px; padding:28px 18px; border:1px solid #ece7f3; }
.fv-rn{ display:block; font-size:clamp(30px,5vw,44px); font-weight:800; color:var(--fv-purple); letter-spacing:-.02em; font-variant-numeric:tabular-nums; line-height:1; }
.fv-rt{ display:block; margin-top:10px; font-size:14.5px; color:#5a4a70; line-height:1.4; }
.fv-reach-events{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.fv-revent{ background:linear-gradient(150deg,var(--fv-purple),var(--fv-purple-deep)); color:#fff; border-radius:16px; padding:24px 26px; }
.fv-revent-when{ display:inline-block; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--fv-yellow); margin-bottom:8px; }
.fv-revent h3{ font-size:20px; font-weight:800; color:#fff; margin:0 0 6px; }
.fv-revent p{ font-size:15px; color:#e7ddf3; margin:0; line-height:1.5; }
.fv-revent b{ color:#fff; }
@media (max-width:760px){ .fv-reach-grid{ grid-template-columns:1fr; max-width:360px; margin-left:auto; margin-right:auto; } .fv-reach-events{ grid-template-columns:1fr; } }

/* vlastni klubovy turnaj - spotlight */
.fv-hometour{ background:#fff; padding:14px 20px 60px; margin-left:-15px; margin-right:-15px; }
.fv-hometour-card{ max-width:960px; margin:0 auto; background:linear-gradient(150deg,var(--fv-purple),var(--fv-purple-deep)); border-radius:20px; padding:40px 42px 38px; color:#fff; box-shadow:0 20px 44px rgba(47,26,71,.22); }
.fv-hometour-card h2{ color:#fff; font-size:clamp(23px,3.4vw,32px); font-weight:800; margin:0 0 14px; letter-spacing:-.02em; max-width:22ch; }
.fv-hometour-card .fv-ht-lead{ color:#e7ddf3; font-size:16.5px; line-height:1.6; margin:0 0 24px; max-width:62ch; }
.fv-ht-chips{ display:flex; flex-wrap:wrap; gap:12px; }
.fv-chip{ display:inline-flex; align-items:center; gap:9px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:10px 16px; font-weight:700; font-size:14.5px; }
.fv-chip svg{ width:18px; height:18px; stroke:var(--fv-yellow); fill:none; stroke-width:2; flex:none; }
.fv-ht-note{ margin:20px 0 0; font-size:14.5px; color:#cdbfe4; }
.fv-ht-note b{ color:var(--fv-yellow); }
@media (max-width:600px){ .fv-hometour-card{ padding:30px 24px; } }

.fv-benefits{ background:#f4f2f8; padding:56px 20px 60px; margin-left:-15px; margin-right:-15px; }
.fv-benefits-inner{ max-width:1080px; margin:0 auto; }
.fv-benefits-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.fv-bcard{ background:#fff; border:1px solid #ece7f3; border-radius:16px; padding:26px 24px; box-shadow:0 2px 4px rgba(47,26,71,.05),0 12px 30px rgba(47,26,71,.07); }
.fv-bcard .fv-ico{ width:56px; height:56px; margin:0 0 16px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--fv-purple),var(--fv-yellow-deep)); }
.fv-bcard .fv-ico svg{ width:28px; height:28px; stroke:#fff; fill:none; stroke-width:2; }
.fv-bcard h3{ font-size:18px; font-weight:800; color:var(--fv-purple-deep); margin:0 0 7px; }
.fv-bcard p{ font-size:14.5px; color:#5a4a70; margin:0; line-height:1.55; }

.fv-tiers-wrap{ padding:56px 20px 60px; }
.fv-tiers-inner{ max-width:1120px; margin:0 auto; }
.fv-tiers{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; align-items:stretch; }
.fv-tier{ background:#fff; border:1px solid #e4dcf0; border-radius:16px; padding:26px 22px; box-shadow:0 8px 22px rgba(47,26,71,.06); display:flex; flex-direction:column; }
.fv-tier h3{ font-size:18px; font-weight:800; color:var(--fv-purple); margin:0 0 4px; }
.fv-tier .fv-tier-tag{ font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#8a7ba0; margin-bottom:12px; }
.fv-tier p{ font-size:14px; color:#5a4a70; margin:0; line-height:1.55; }
.fv-tier-top{ background:linear-gradient(160deg,var(--fv-purple),var(--fv-purple-deep)); border:0; }
.fv-tier-top h3, .fv-tier-top p{ color:#fff; }
.fv-tier-top .fv-tier-tag{ color:var(--fv-yellow); }

.fv-partner-contact{ background:var(--fv-purple-ink); color:#fff; text-align:center; padding:56px 20px 62px; margin-left:-15px; margin-right:-15px; }
.fv-partner-contact h2{ font-size:clamp(24px,3.6vw,32px); font-weight:800; color:#fff; margin:0 0 10px; }
.fv-partner-contact .fv-pc-lead{ color:#d7cbe6; font-size:17px; margin:0 auto 26px; max-width:52ch; }
.fv-pc-row{ display:flex; flex-wrap:wrap; gap:14px 30px; justify-content:center; align-items:center; margin-bottom:26px; font-size:17px; }
.fv-pc-name{ font-weight:800; }
.fv-pc-name span{ display:block; font-weight:400; font-size:13px; color:#b6a8cf; }
.fv-pc-row a{ color:var(--fv-yellow) !important; font-weight:700; text-decoration:none; }
.fv-pc-existing{ margin:26px auto 0 !important; font-size:14px; color:#b6a8cf !important; }
.fv-pc-existing a{ color:var(--fv-yellow) !important; }

@media (max-width:900px){ .fv-benefits-grid{ grid-template-columns:1fr 1fr; } .fv-tiers{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .fv-benefits-grid, .fv-tiers{ grid-template-columns:1fr; } }

/* ==========================================================================
   STRÁNKA Rozhovor s trenérkou Mácou + ochutnávka na HP
   ========================================================================== */
.fv-iv-hero{ background:#f4f2f8; padding:50px 20px; margin-left:-15px; margin-right:-15px; }
.fv-iv-hero-inner{ max-width:1000px; margin:0 auto; display:flex; gap:36px; align-items:center; flex-wrap:wrap; }
.fv-iv-photo{ flex:0 0 300px; }
.fv-iv-photo img{ width:100%; border-radius:16px; box-shadow:0 14px 34px rgba(47,26,71,.18); display:block; }
.fv-iv-intro{ flex:1 1 340px; }
.fv-iv-intro .fv-eyebrow{ color:var(--fv-limed); }
.fv-iv-intro h1{ font-size:clamp(26px,4vw,38px); font-weight:800; color:var(--fv-purple); margin:6px 0 10px; letter-spacing:-.02em; }
.fv-iv-sub{ font-size:17px; color:#4a3b60; margin:0 0 10px; }
.fv-iv-date{ font-size:12.5px; color:#8a7ba0; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.fv-iv-body{ padding:48px 20px 56px; }
.fv-iv-body-inner{ max-width:760px; margin:0 auto; }
.fv-iv-lead{ font-size:18px; color:#3d2f55; line-height:1.65; margin:0 0 28px; }
.fv-q{ font-size:20px; font-weight:800; color:var(--fv-purple); margin:32px 0 10px; line-height:1.3; }
.fv-a{ font-size:16.5px; color:#40354f; line-height:1.75; margin:0; }
.fv-quote{ border-left:4px solid var(--fv-yellow); background:#f4f2f8; padding:20px 26px; border-radius:0 12px 12px 0; margin:34px 0; font-size:20px; font-weight:700; color:var(--fv-purple-deep); font-style:italic; }
.fv-iv-cta{ text-align:center; margin-top:44px; }
@media (max-width:700px){ .fv-iv-photo{ flex-basis:100%; max-width:320px; margin:0 auto; } }

/* ochutnávka na HP (nahrazuje původní dlouhý rozhovor) */
.fv-rz-teaser{ background:linear-gradient(150deg,var(--fv-purple),var(--fv-purple-deep)); color:#fff; padding:50px 20px 54px; margin-left:-15px; margin-right:-15px; }
.fv-rz-inner{ max-width:1000px; margin:0 auto; display:flex; gap:36px; align-items:center; flex-wrap:wrap; }
.fv-rz-photo{ flex:0 0 260px; }
.fv-rz-photo img{ width:100%; border-radius:16px; display:block; box-shadow:0 14px 34px rgba(0,0,0,.25); }
.fv-rz-text{ flex:1 1 340px; }
.fv-rz-text .fv-eyebrow{ color:var(--fv-yellow); display:inline-block; margin-bottom:6px; }
.fv-rz-text h2{ font-size:clamp(24px,3.4vw,32px); font-weight:800; color:#fff; margin:0 0 14px; letter-spacing:-.02em; }
.fv-rz-quote{ font-size:19px; font-style:italic; font-weight:700; color:var(--fv-yellow); margin:0 0 14px; line-height:1.45; }
.fv-rz-lead{ font-size:16px; color:#e7ddf3; margin:0 0 22px; line-height:1.6; }
@media (max-width:700px){ .fv-rz-photo{ flex-basis:100%; max-width:280px; margin:0 auto; } }

/* ==========================================================================
   NÁBOR (kontaktní formulář) + PATIČKA — modernizace sdíleného spodku
   ========================================================================== */
.fv-join{ background:linear-gradient(160deg,var(--fv-purple),var(--fv-purple-deep)); color:#fff; padding:58px 20px 62px; }
.fv-join-inner{ max-width:1080px; margin:0 auto; display:flex; gap:44px; align-items:flex-start; flex-wrap:wrap; }
.fv-join-copy{ flex:1 1 320px; padding-top:6px; }
.fv-join-copy .fv-eyebrow{ color:var(--fv-yellow); }
.fv-join-copy h2{ font-size:clamp(24px,3.6vw,34px); font-weight:800; color:#fff; margin:6px 0 12px; letter-spacing:-.02em; }
.fv-join-text{ font-size:16.5px; color:#e7ddf3; margin:0 0 20px; line-height:1.6; }
.fv-join-text p{ margin:0 0 10px; }
.fv-join-list{ list-style:none; padding:0; margin:0 0 22px; }
.fv-join-list li{ position:relative; padding:6px 0 6px 30px; color:#f0e9f7; font-size:15.5px; }
.fv-join-list li::before{ content:"✓"; position:absolute; left:0; top:6px; width:19px; height:19px; border-radius:50%; background:var(--fv-yellow); color:var(--fv-purple-ink); font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.fv-join-badge{ display:inline-block; background:var(--fv-yellow); color:var(--fv-purple-ink); font-weight:800; text-transform:uppercase; letter-spacing:.03em; font-size:13px; padding:9px 18px; border-radius:999px; }
.fv-join-form{ flex:1 1 420px; background:#fff; border-radius:18px; padding:28px 28px 26px; box-shadow:0 20px 44px rgba(0,0,0,.24); }
.fv-join-form .row-sm-offset{ display:flex; flex-wrap:wrap; margin:0 -6px; }
.fv-join-form .row-sm-offset > div{ width:50%; float:none; padding:0 6px; }
.fv-join-form .form-group{ margin-bottom:12px; }
.fv-join-form .form-control-label{ color:var(--fv-purple-deep); font-size:12.5px; font-weight:700; margin-bottom:4px; display:block; }
.fv-join-form .form-control{ width:100%; border:1px solid #ddd4ea; border-radius:9px; padding:11px 13px; font-size:15px; background:#fff; color:#2f1a47; box-shadow:none; height:auto; }
.fv-join-form .form-control::placeholder{ color:#9a8cb5; opacity:1; }
.fv-join-form .form-control:focus{ border-color:var(--fv-purple); outline:none; box-shadow:0 0 0 3px rgba(107,63,150,.15); }
.fv-join-form textarea.form-control{ min-height:96px; resize:vertical; }
.fv-join-form .form-asterisk{ color:#c0392b; }
.fv-join-form .btn-primary{ width:100%; }
@media (max-width:820px){ .fv-join-inner{ flex-direction:column; } }
@media (max-width:520px){ .fv-join-form .row-sm-offset > div{ width:100%; } }

.fv-footer{ background:var(--fv-purple-ink); color:#c9bcd8; padding:52px 20px 0; }
.fv-footer-inner{ max-width:1080px; margin:0 auto; display:flex; gap:40px; flex-wrap:wrap; }
.fv-footer-col{ flex:1 1 240px; }
.fv-footer-col.fv-footer-map{ flex:1 1 320px; }
.fv-footer-brand img.fv-flogo{ height:42px; width:auto; margin-bottom:14px; }
.fv-footer-tag{ font-size:14px; color:#b6a8cf; margin:0 0 16px; line-height:1.55; max-width:34ch; }
.fv-footer-social{ display:flex; gap:10px; }
.fv-footer-social a{ width:40px; height:40px; border-radius:10px; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; transition:background .12s ease; }
.fv-footer-social a:hover{ background:var(--fv-purple); }
.fv-footer-social svg{ width:20px; height:20px; fill:#fff; }
.fv-footer-col h4{ color:#fff; font-size:14px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; margin:0 0 14px; }
.fv-footer-links{ list-style:none; padding:0; margin:0; }
.fv-footer-links li{ margin-bottom:9px; }
.fv-footer-links a{ color:#c9bcd8; text-decoration:none; font-size:14.5px; }
.fv-footer-links a:hover{ color:var(--fv-yellow); }
.fv-footer-map iframe{ width:100% !important; height:200px !important; border:0; border-radius:12px; display:block; }
.fv-footer-bottom{ max-width:1080px; margin:38px auto 0; border-top:1px solid rgba(255,255,255,.1); padding:20px 0 28px; text-align:center; font-size:13px; color:#9a8cb5; }
@media (max-width:760px){ .fv-footer-inner{ gap:30px; } }

/* ==========================================================================
   STRÁNKA Náš tým — galerie s filtrem podle družstev
   ========================================================================== */
.fv-team{ background:#f4f2f8; padding:44px 20px 60px; margin-left:-15px; margin-right:-15px; }
.fv-team-inner{ max-width:1120px; margin:0 auto; }
.fv-team-filter{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:34px; }
.fv-team-filter button{ border:1.5px solid var(--fv-purple); background:#fff; color:var(--fv-purple); border-radius:999px; padding:8px 16px; font-weight:700; font-size:14px; cursor:pointer; transition:background .12s ease, color .12s ease; }
.fv-team-filter button:hover{ background:#e9e1f4; }
.fv-team-filter button.active{ background:var(--fv-purple); color:#fff; }
.fv-team-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; align-items:stretch; }
.fv-team-head{ grid-column:1 / -1; font-size:22px; font-weight:800; color:var(--fv-purple); margin:22px 0 2px; padding-bottom:10px; border-bottom:2px solid var(--fv-yellow); }
.fv-team-head:first-of-type{ margin-top:0; }
.fv-tc{ background:#fff; border:1px solid #eae4f2; border-radius:16px; overflow:hidden; box-shadow:0 8px 22px rgba(47,26,71,.07); display:flex; flex-direction:column; cursor:pointer; transition:transform .13s ease, box-shadow .13s ease, border-color .13s ease; }
.fv-tc:hover{ transform:translateY(-4px); box-shadow:0 18px 36px rgba(47,26,71,.15); border-color:var(--fv-purple); }
.fv-tc:focus{ outline:none; box-shadow:0 0 0 3px rgba(107,63,150,.35); }
.fv-tc:hover .fv-tc-more{ text-decoration:underline; }
.fv-tc-photo{ aspect-ratio:1/1; overflow:hidden; background:#e6dff0; }
.fv-tc-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.fv-tc-body{ padding:15px 17px 17px; display:flex; flex-direction:column; flex:1; }
.fv-tc-name{ font-size:17px; font-weight:800; color:var(--fv-purple-deep); margin:0 0 8px; line-height:1.25; }
.fv-tc-squad{ align-self:flex-start; background:var(--fv-purple); color:#fff; font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; padding:3px 10px; border-radius:999px; margin-bottom:12px; }
.fv-tc-stats{ font-size:13.5px; color:#5a4a70; line-height:1.55; margin:0 0 14px; }
.fv-tc-stats .fv-tc-k{ color:#8a7ba0; }
.fv-tc-stats .fv-tc-rec{ color:var(--fv-purple-deep); font-weight:800; }
.fv-tc-more{ margin-top:auto; align-self:flex-start; background:transparent; border:0; color:var(--fv-purple); font-weight:700; font-size:14px; cursor:pointer; padding:0; }
.fv-tc-more:hover{ color:var(--fv-purple-deep); text-decoration:underline; }

/* modal detailu */
.fv-tc-modal .modal-content{ border-radius:14px; border:0; overflow:hidden; }
.fv-tc-modal .modal-header{ background:var(--fv-purple); color:#fff; border:0; padding:16px 20px; }
.fv-tc-modal .modal-title{ color:#fff; font-weight:800; }
.fv-tc-modal .modal-header .close{ color:#fff; opacity:.95; text-shadow:none; font-size:26px; }
.fv-tc-modal .modal-body{ padding:22px; }
.fv-modal-top{ display:flex; gap:18px; align-items:flex-start; margin-bottom:16px; }
.fv-modal-top img{ width:130px; height:130px; object-fit:cover; border-radius:12px; flex:none; }
.fv-modal-stats{ list-style:none; padding:0; margin:10px 0 0; font-size:14px; color:#40354f; }
.fv-modal-stats li{ margin-bottom:5px; line-height:1.4; }
.fv-modal-stats li span{ color:var(--fv-purple-deep); font-weight:700; }
.fv-modal-prose p{ font-size:15px; color:#40354f; line-height:1.65; margin:0 0 10px; }
.fv-modal-prose{ border-top:1px solid #eee; padding-top:14px; }

@media (max-width:980px){ .fv-team-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:680px){ .fv-team-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .fv-team-grid{ grid-template-columns:1fr 1fr; gap:12px; } .fv-modal-top{ flex-direction:column; } .fv-modal-top img{ width:100%; height:auto; } }

/* ==========================================================================
   Informační textové stránky (Pro začátečníky, Tréninky, Kontakty, …)
   ========================================================================== */
.fv-page-head{ background:linear-gradient(140deg,var(--fv-purple),var(--fv-purple-deep)); color:#fff; padding:48px 20px; margin-left:-15px; margin-right:-15px; text-align:center; }
.fv-page-head h1{ color:#fff; font-size:clamp(28px,4.5vw,40px); font-weight:800; margin:0; letter-spacing:-.02em; }
.fv-page-body{ max-width:820px; margin:0 auto; padding:46px 20px 30px; font-size:17px; color:#3d2f55; line-height:1.75; }
.fv-page-body h1{ font-size:26px; color:var(--fv-purple); font-weight:800; margin:30px 0 12px; }
.fv-page-body h2, .fv-page-body h3{ color:var(--fv-purple); font-weight:800; font-size:21px; margin:36px 0 12px; padding-left:15px; border-left:4px solid var(--fv-yellow); letter-spacing:-.01em; line-height:1.3; }
.fv-page-body h4{ color:var(--fv-purple-deep); font-weight:700; font-size:17px; margin:22px 0 8px; }
.fv-page-body > *:first-child{ margin-top:0; }
.fv-page-body p{ margin:0 0 16px; }
.fv-page-body ul{ list-style:none; padding:0; margin:0 0 20px; }
.fv-page-body ul li{ position:relative; padding:7px 0 7px 32px; }
.fv-page-body ul li::before{ content:"✓"; position:absolute; left:0; top:8px; width:20px; height:20px; border-radius:50%; background:var(--fv-yellow); color:var(--fv-purple-ink); font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.fv-page-body ol{ padding-left:22px; margin:0 0 20px; }
.fv-page-body ol li{ margin:6px 0; padding-left:6px; }
.fv-page-body a{ color:var(--fv-purple); font-weight:600; }
.fv-page-body a:hover{ color:var(--fv-purple-deep); }
.fv-page-body strong{ color:var(--fv-purple-deep); }
.fv-page-body img{ max-width:min(100%,480px); height:auto; border-radius:12px; margin:16px auto; display:block; box-shadow:0 12px 30px rgba(47,26,71,.14); }

/* Turnaj – box Rychlé info (staví se z propozic JS, obsah zůstává editovatelný) */
.fv-tourinfo{ background:linear-gradient(150deg,var(--fv-purple),var(--fv-purple-deep)); color:#fff; border-radius:18px; padding:24px 28px; margin:4px 0 28px; box-shadow:0 16px 34px rgba(47,26,71,.18); }
.fv-tourinfo-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px 26px; margin-bottom:20px; }
.fv-ti-item{ display:flex; gap:12px; align-items:flex-start; }
.fv-ti-ico{ width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; flex:none; }
.fv-ti-ico svg{ width:20px; height:20px; stroke:var(--fv-yellow); fill:none; stroke-width:2; }
.fv-ti-k{ font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; color:#cbb9e4; font-weight:700; }
.fv-ti-v{ font-size:16px; color:#fff; font-weight:700; line-height:1.3; }
@media (max-width:600px){ .fv-tourinfo-grid{ grid-template-columns:1fr; } }

/* Turnaj – rozbalovací anglická sekce */
.fv-en-toggle{ width:100%; text-align:left; background:#f4f2f8; border:1px solid #e6dff0; border-radius:12px; padding:14px 20px; font-size:18px; font-weight:800; color:var(--fv-purple); cursor:pointer; display:flex; align-items:center; gap:12px; margin-top:28px; }
.fv-en-toggle:hover{ background:#e9e1f4; }
.fv-en-toggle .fv-chev{ margin-left:auto; transition:transform .18s ease; }
.fv-en-toggle.open{ background:var(--fv-purple); color:#fff; border-color:var(--fv-purple); }
.fv-en-toggle.open .fv-chev{ transform:rotate(90deg); color:#fff; }
.fv-en-body{ padding:12px 4px 4px; }

/* ---- Členství (dedikovaná šablona) ---- */
.fv-mem-body{ max-width:940px; margin:0 auto; padding:46px 20px 34px; }
.fv-mem-body > p{ font-size:17px; color:#3d2f55; line-height:1.75; margin:0 0 20px; }
.fv-mem-cols{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:6px 0 26px; }
.fv-mem-card{ background:#fff; border:1px solid #eae4f2; border-radius:16px; padding:24px; box-shadow:0 8px 22px rgba(47,26,71,.06); }
.fv-mem-head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.fv-mem-head .fv-ico{ width:44px; height:44px; border-radius:11px; background:linear-gradient(135deg,var(--fv-purple),var(--fv-yellow-deep)); display:flex; align-items:center; justify-content:center; flex:none; }
.fv-mem-head .fv-ico svg{ width:22px; height:22px; stroke:#fff; fill:none; stroke-width:2; }
.fv-mem-head h3{ font-size:18px; font-weight:800; color:var(--fv-purple-deep); margin:0; }
.fv-mem-card ul{ list-style:none; padding:0; margin:0; }
.fv-mem-card li{ position:relative; padding:9px 0 9px 28px; font-size:14.5px; color:#40354f; line-height:1.5; border-top:1px solid #efeaf5; }
.fv-mem-card li:first-child{ border-top:0; }
.fv-mem-card li::before{ content:""; position:absolute; left:2px; top:16px; width:9px; height:9px; border-radius:50%; background:var(--fv-yellow); }
@media (max-width:760px){ .fv-mem-cols{ grid-template-columns:1fr; } }

.fv-fee{ background:linear-gradient(150deg,var(--fv-purple),var(--fv-purple-deep)); color:#fff; border-radius:18px; padding:26px 32px; margin:8px 0 24px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; box-shadow:0 16px 34px rgba(47,26,71,.18); }
.fv-fee-label b{ display:block; font-size:19px; font-weight:800; }
.fv-fee-label span{ font-size:14px; color:#d7cbe6; }
.fv-fee-val{ font-size:34px; font-weight:800; color:var(--fv-yellow); line-height:1; text-align:right; }
.fv-fee-val small{ font-size:14px; color:#d7cbe6; font-weight:600; display:block; margin-top:5px; }

/* ---- Vybavení (dedikovaná šablona) ---- */
.fv-eq-body{ max-width:960px; margin:0 auto; padding:46px 20px 34px; }
.fv-eq-body h2{ color:var(--fv-purple); font-weight:800; font-size:23px; margin:40px 0 16px; padding-left:15px; border-left:4px solid var(--fv-yellow); }
.fv-eq-body h2:first-child{ margin-top:0; }
.fv-eq-body > p{ font-size:16.5px; color:#3d2f55; line-height:1.75; margin:0 0 16px; }
.fv-eq-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:6px 0 10px; }
.fv-eq-card{ background:#fff; border:1px solid #eae4f2; border-radius:14px; padding:22px 20px; box-shadow:0 8px 22px rgba(47,26,71,.06); }
.fv-eq-card .fv-ico{ width:52px; height:52px; margin:0 0 14px; border-radius:13px; background:linear-gradient(135deg,var(--fv-purple),var(--fv-yellow-deep)); display:flex; align-items:center; justify-content:center; }
.fv-eq-card .fv-ico svg{ width:26px; height:26px; stroke:#fff; fill:none; stroke-width:1.8; }
.fv-eq-card h3{ font-size:17px; font-weight:800; color:var(--fv-purple-deep); margin:0 0 7px; }
.fv-eq-card p{ font-size:14px; color:#5a4a70; line-height:1.55; margin:0; }
@media (max-width:820px){ .fv-eq-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .fv-eq-grid{ grid-template-columns:1fr; } }
.fv-eq-story{ background:#f4f2f8; border-radius:16px; padding:26px 30px; margin-top:8px; }
.fv-eq-story p{ font-size:15.5px; color:#40354f; line-height:1.7; margin:0 0 14px; }
.fv-eq-story p:last-child{ margin-bottom:0; }
.fv-eq-gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:20px 0 6px; }
.fv-eq-gallery img{ width:100%; height:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; margin:0; box-shadow:0 8px 20px rgba(47,26,71,.1); }
@media (max-width:640px){ .fv-eq-gallery{ grid-template-columns:1fr 1fr; } }

/* ---- Minulé turnaje jako dlaždice (odkazy z bloku, editovatelné) ---- */
.fv-pasttour{ max-width:900px; margin:0 auto; padding:46px 20px 40px; }
.fv-pasttour ul{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.fv-pasttour li{ margin:0; }
.fv-pasttour li a{ display:flex; align-items:center; gap:14px; background:#fff; border:1px solid #eae4f2; border-radius:14px; padding:18px 22px; text-decoration:none; color:var(--fv-purple-deep); font-weight:800; font-size:16.5px; box-shadow:0 8px 22px rgba(47,26,71,.06); transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease; }
.fv-pasttour li a:hover{ transform:translateY(-3px); box-shadow:0 16px 32px rgba(47,26,71,.13); border-color:var(--fv-purple); color:var(--fv-purple); }
.fv-pasttour li a::before{ content:""; flex:none; width:42px; height:42px; border-radius:11px; background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M8 21h8M12 17v4M7 4h10v4a5 5 0 0 1-10 0V4zM7 6H4v2a3 3 0 0 0 3 3M17 6h3v2a3 3 0 0 1-3 3'/></svg>") center/22px 22px no-repeat, linear-gradient(135deg,#6b3f96,#b3ba12); }
.fv-pasttour li a::after{ content:"→"; margin-left:auto; color:var(--fv-purple); font-weight:700; }
@media (max-width:600px){ .fv-pasttour ul{ grid-template-columns:1fr; } }

/* ---- Partneři týmu (dedikovaná šablona) ---- */
.fv-part-body{ max-width:1000px; margin:0 auto; padding:46px 20px 34px; }
.fv-part-body h2{ color:var(--fv-purple); font-weight:800; font-size:23px; margin:36px 0 16px; padding-left:15px; border-left:4px solid var(--fv-yellow); }
.fv-part-body h2:first-child{ margin-top:0; }
.fv-main-partner{ display:flex; align-items:center; gap:28px; background:#fff; border:1px solid #eae4f2; border-radius:18px; padding:28px 34px; box-shadow:0 12px 30px rgba(47,26,71,.08); flex-wrap:wrap; }
.fv-mp-logo{ flex:0 0 220px; display:flex; align-items:center; justify-content:center; }
.fv-mp-logo img{ max-width:100%; max-height:96px; width:auto; margin:0; box-shadow:none; border-radius:0; display:block; }
.fv-mp-info{ flex:1 1 300px; }
.fv-mp-badge{ display:inline-block; background:var(--fv-yellow); color:var(--fv-purple-ink); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; padding:4px 12px; border-radius:999px; margin-bottom:10px; }
.fv-mp-info h3{ font-size:22px; color:var(--fv-purple-deep); margin:0 0 6px; font-weight:800; }
.fv-mp-info p{ font-size:15px; color:#5a4a70; margin:0 0 12px; line-height:1.55; }
.fv-mp-info a{ font-weight:700; color:var(--fv-purple); text-decoration:none; }
.fv-mp-info a:hover{ text-decoration:underline; }
.fv-part-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:6px 0 8px; }
.fv-part-card{ background:#fff; border:1px solid #eae4f2; border-radius:14px; padding:22px 20px; text-align:center; box-shadow:0 8px 22px rgba(47,26,71,.06); display:flex; flex-direction:column; align-items:center; transition:transform .12s ease, box-shadow .12s ease; }
.fv-part-card:hover{ transform:translateY(-3px); box-shadow:0 16px 32px rgba(47,26,71,.12); }
.fv-part-logo{ height:66px; display:flex; align-items:center; justify-content:center; margin-bottom:12px; }
.fv-part-logo img{ max-height:66px; max-width:160px; width:auto; margin:0; box-shadow:none; border-radius:0; display:block; }
.fv-part-name{ font-size:18px; font-weight:800; color:var(--fv-purple); margin-bottom:12px; min-height:66px; display:flex; align-items:center; }
.fv-part-card p{ font-size:13.5px; color:#5a4a70; margin:0 0 12px; line-height:1.5; flex:1; }
.fv-part-card a{ font-size:14px; font-weight:700; color:var(--fv-purple); text-decoration:none; margin-top:auto; }
.fv-part-card a:hover{ text-decoration:underline; }
.fv-part-cardname{ font-size:15px; font-weight:800; color:var(--fv-purple-deep); margin:0 0 10px; }
.fv-part-h{ color:var(--fv-purple); font-weight:800; font-size:23px; margin:36px 0 16px; padding-left:15px; border-left:4px solid var(--fv-yellow); }
.fv-part-rendered h2.fv-part-h:first-child{ margin-top:0; }
/* surový editovatelný obsah bez JS zůstane čitelný; s JS se skryje a nahradí kartami */
.fv-part-editable img{ max-height:80px; width:auto; margin:6px 0; box-shadow:none; border-radius:0; }
@media (max-width:820px){ .fv-part-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .fv-part-grid{ grid-template-columns:1fr; } .fv-part-name{ min-height:0; } }

/* ==========================================================================
   Univerzální EDITOVATELNÉ kartičky (obsah z bloku oddělený <hr>)
   ========================================================================== */
.fv-cards-page{ max-width:1040px; margin:0 auto; padding:46px 20px 36px; }
.fv-cards-h{ color:var(--fv-purple); font-weight:800; font-size:23px; margin:38px 0 18px; padding-left:15px; border-left:4px solid var(--fv-yellow); letter-spacing:-.01em; }
.fv-cards-out > .fv-cards-h:first-child{ margin-top:0; }
.fv-cards-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:0 0 10px; align-items:stretch; }
.fv-cards-card{ position:relative; background:#fff; border:1px solid #ece7f3; border-radius:16px; padding:26px 24px; box-shadow:0 2px 4px rgba(47,26,71,.05),0 12px 30px rgba(47,26,71,.07); display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s ease; }
.fv-cards-card:hover{ transform:translateY(-4px); box-shadow:0 4px 8px rgba(47,26,71,.06),0 18px 42px rgba(47,26,71,.13); }
.fv-cc-ico{ width:54px; height:54px; flex:none; margin:0 0 16px; border-radius:14px; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 16px rgba(107,63,150,.28); background:linear-gradient(135deg,var(--fv-purple),var(--fv-yellow-deep)); }
.fv-cc-ico svg{ width:27px; height:27px; stroke:#fff; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.fv-cc-ico.fv-ico-paw{ background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='M226.5 92.9c14.3 42.9-.3 86.2-32.6 96.8s-70.1-15.6-84.4-58.5s.3-86.2 32.6-96.8s70.1 15.6 84.4 58.5zM100.4 198.6c18.9 32.4 14.3 70.1-10.2 84.1s-59.7-.9-78.5-33.3S-2.7 179.3 21.8 165.3s59.7 .9 78.5 33.3zM69.2 401.2C121.6 259.9 214.7 224 256 224s134.4 35.9 186.8 177.2c3.6 9.7 5.2 20.1 5.2 30.5v1.6c0 25.8-20.9 46.7-46.7 46.7c-11.5 0-22.9-1.4-34-4.2l-88-22c-15.3-3.8-31.3-3.8-46.6 0l-88 22c-11.1 2.8-22.5 4.2-34 4.2C84.9 480 64 459.1 64 433.3v-1.6c0-10.4 1.6-20.8 5.2-30.5zM421.8 282.7c-24.5-14-29.1-51.7-10.2-84.1s54-47.3 78.5-33.3s29.1 51.7 10.2 84.1s-54 47.3-78.5 33.3zM310.1 189.7c-32.3-10.6-46.9-53.9-32.6-96.8s52.1-69.1 84.4-58.5s46.9 53.9 32.6 96.8s-52.1 69.1-84.4 58.5z'/%3E%3C/svg%3E") center/27px 27px no-repeat, linear-gradient(135deg,var(--fv-purple),var(--fv-yellow-deep)); }
.fv-cc-img{ margin:-2px 0 14px; text-align:center; }
.fv-cc-img img{ max-height:74px; max-width:100%; width:auto; margin:0; box-shadow:none; border-radius:8px; display:inline-block; }
.fv-cards-card h3{ font-size:17px; font-weight:800; color:var(--fv-purple-deep); margin:0 0 8px; }
.fv-cards-card p{ font-size:14.5px; color:#5a4a70; line-height:1.55; margin:0 0 8px; }
.fv-cards-card a{ margin-top:auto; font-weight:700; color:var(--fv-purple); text-decoration:none; }
.fv-cards-card a:hover{ text-decoration:underline; }
.fv-cards-text{ font-size:16.5px; color:#3d2f55; line-height:1.7; max-width:820px; }
.fv-cards-text p{ margin:0 0 14px; }
.fv-cards-text ul{ list-style:none; padding:0; margin:0 0 16px; }
.fv-cards-text ul li{ position:relative; padding:7px 0 7px 30px; }
.fv-cards-text ul li::before{ content:"✓"; position:absolute; left:0; top:8px; width:20px; height:20px; border-radius:50%; background:var(--fv-yellow); color:var(--fv-purple-ink); font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.fv-cards-gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:6px 0 16px; }
.fv-cards-gallery img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; margin:0; box-shadow:0 8px 20px rgba(47,26,71,.1); }
@media (max-width:820px){ .fv-cards-grid{ grid-template-columns:1fr 1fr; } .fv-cards-gallery{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .fv-cards-grid{ grid-template-columns:1fr; } }
.fv-page-body iframe{ max-width:100%; border-radius:12px; }
.fv-page-body hr{ border:0; border-top:1px solid #e6dff0; margin:28px 0; }

/* rozbalovací výsledky po letech (Základní informace) */
.fv-year{ border:1px solid #e6dff0; border-radius:12px; margin-bottom:12px; overflow:hidden; background:#fff; box-shadow:0 4px 14px rgba(47,26,71,.05); }
.fv-year-head{ width:100%; text-align:left; background:#f4f2f8; border:0; padding:15px 20px; font-size:17px; font-weight:800; color:var(--fv-purple); cursor:pointer; display:flex; align-items:center; gap:12px; transition:background .12s ease; }
.fv-year-head:hover{ background:#e9e1f4; }
.fv-year-count{ margin-left:auto; font-size:12.5px; font-weight:700; color:var(--fv-purple); background:#fff; border:1px solid #e4dcf0; border-radius:999px; padding:2px 11px; white-space:nowrap; }
.fv-chev{ font-size:22px; line-height:1; color:var(--fv-purple); transition:transform .18s ease; }
.fv-year.open > .fv-year-head{ background:var(--fv-purple); color:#fff; }
.fv-year.open > .fv-year-head .fv-year-count{ color:#fff; background:rgba(255,255,255,.16); border-color:transparent; }
.fv-year.open > .fv-year-head .fv-chev{ transform:rotate(90deg); color:#fff; }
.fv-year-body{ display:none; padding:4px 22px 14px; }
.fv-year.open > .fv-year-body{ display:block; }
.fv-year-body ul{ margin:12px 0 4px !important; }
.fv-year-body ul li{ font-size:15px; }

/* výsledek odeslání formuláře (e-mail) */
.fv-result{ max-width:640px; margin:0 auto; padding:50px 20px 40px; text-align:center; }
.fv-result-ico{ width:84px; height:84px; margin:0 auto 22px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.fv-result-ico svg{ width:44px; height:44px; stroke:#fff; fill:none; stroke-width:2.4; }
.fv-result-ok{ background:linear-gradient(135deg,#2f9e44,#40c057); box-shadow:0 12px 30px rgba(47,158,68,.32); }
.fv-result-err{ background:linear-gradient(135deg,#e8590c,#f08c00); box-shadow:0 12px 30px rgba(232,89,12,.28); }
.fv-result-msg{ font-size:18px; color:#3d2f55; line-height:1.65; margin:0 0 26px; }
.fv-result-msg p{ margin:0 0 10px; }
.fv-result-msg a{ color:var(--fv-purple); font-weight:700; }

/* ---- Tréninky (dedikovaná šablona): místa, výbava, ceny ---- */
.fv-tr-body{ max-width:900px; margin:0 auto; padding:46px 20px 34px; }
.fv-tr-body h2{ color:var(--fv-purple); font-weight:800; font-size:23px; margin:40px 0 16px; padding-left:15px; border-left:4px solid var(--fv-yellow); letter-spacing:-.01em; }
.fv-tr-body h2:first-child{ margin-top:0; }
.fv-tr-body p{ font-size:17px; color:#3d2f55; line-height:1.75; margin:0 0 16px; }
.fv-tr-body strong{ color:var(--fv-purple-deep); }

.fv-loc{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:6px 0 20px; }
.fv-loc-card{ background:#f4f2f8; border:1px solid #e6dff0; border-radius:14px; padding:20px 22px; }
.fv-loc-when{ font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--fv-limed); }
.fv-loc-card h3{ font-size:18px; color:var(--fv-purple-deep); margin:6px 0 6px; font-weight:800; }
.fv-loc-card p{ font-size:14.5px; color:#5a4a70; margin:0; line-height:1.55; }
@media (max-width:600px){ .fv-loc{ grid-template-columns:1fr; } }

.fv-gear{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin:20px 0 8px; }
.fv-gear-item{ text-align:center; }
.fv-gear-ico{ width:64px; height:64px; margin:0 auto 10px; border-radius:16px; background:linear-gradient(135deg,var(--fv-purple),var(--fv-yellow-deep)); display:flex; align-items:center; justify-content:center; }
.fv-gear-ico svg{ width:30px; height:30px; stroke:#fff; fill:none; stroke-width:1.8; }
.fv-gear-item span{ font-size:13.5px; font-weight:600; color:#40354f; line-height:1.35; display:block; }
@media (max-width:760px){ .fv-gear{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:440px){ .fv-gear{ grid-template-columns:repeat(2,1fr); } }

.fv-price{ background:linear-gradient(150deg,var(--fv-purple),var(--fv-purple-deep)); border-radius:18px; padding:6px 30px; margin:18px 0; box-shadow:0 16px 34px rgba(47,26,71,.18); }
.fv-price-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.fv-price-row:last-child{ border-bottom:0; }
.fv-price-label b{ display:block; color:#fff; font-size:17px; font-weight:800; }
.fv-price-label span{ font-size:14px; color:#d7cbe6; }
.fv-price-val{ font-size:22px; font-weight:800; color:var(--fv-yellow); white-space:nowrap; }
.fv-price-note{ font-size:14.5px; color:#5a4a70; margin-top:14px; line-height:1.6; }

/* ---- Pro začátečníky (dedikovaná šablona): karty předpokladů + výzva ---- */
.fv-zac-body{ max-width:960px; margin:0 auto; padding:46px 20px 34px; }
.fv-zac-body h2{ color:var(--fv-purple); font-weight:800; font-size:23px; margin:42px 0 8px; padding-left:15px; border-left:4px solid var(--fv-yellow); letter-spacing:-.01em; }
.fv-zac-body h2:first-child{ margin-top:0; }
.fv-zac-body > p{ font-size:17px; color:#3d2f55; line-height:1.75; margin:8px 0 4px; }
.fv-checks{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:18px 0 8px; }
.fv-check{ background:#fff; border:1px solid #eae4f2; border-radius:14px; padding:22px 20px; box-shadow:0 8px 22px rgba(47,26,71,.06); }
.fv-check .fv-ico{ width:52px; height:52px; margin:0 0 14px; border-radius:13px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--fv-purple),var(--fv-yellow-deep)); }
.fv-check .fv-ico svg{ width:26px; height:26px; stroke:#fff; fill:none; stroke-width:1.9; }
.fv-check h3{ font-size:16.5px; font-weight:800; color:var(--fv-purple-deep); margin:0 0 7px; }
.fv-check p{ font-size:14px; color:#5a4a70; line-height:1.55; margin:0; }
@media (max-width:820px){ .fv-checks{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .fv-checks{ grid-template-columns:1fr; } }

.fv-cta-box{ background:linear-gradient(150deg,var(--fv-purple),var(--fv-purple-deep)); border-radius:18px; padding:32px 34px; margin:34px 0 30px; text-align:center; box-shadow:0 16px 34px rgba(47,26,71,.18); }
.fv-cta-box p{ color:#e7ddf3; font-size:17px; line-height:1.6; margin:0 auto 22px; max-width:60ch; }
.fv-cta-box p .fv-cta-strong{ color:#fff; font-weight:700; }

.fv-links{ display:flex; flex-wrap:wrap; gap:10px; margin:8px 0 4px; }
.fv-links a{ background:#f4f2f8; border:1px solid #e4dcf0; color:var(--fv-purple); font-weight:700; text-decoration:none; padding:8px 16px; border-radius:999px; font-size:14.5px; }
.fv-links a:hover{ background:var(--fv-purple); color:#fff; }

/* plynulý scroll pro kotvy (#prihlaska, #partner-kontakt) */
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
section[id], div[id]{ scroll-margin-top:84px; }

/* ===== Rozhovor (Q&A kartičky) ===== */
.fv-qa-wrap{ max-width:900px; margin:0 auto; padding:2.4rem 1.2rem 3.2rem; }
.fv-qa-lead{ display:flex; gap:1.6rem; align-items:flex-start; background:#fff; border:1px solid #ece7f2;
  border-radius:16px; padding:1.4rem 1.5rem; margin-bottom:2rem; box-shadow:0 8px 26px rgba(47,26,71,.07); }
.fv-qa-lead img{ width:240px; max-width:42%; border-radius:12px; object-fit:cover; flex:none; }
.fv-qa-intro{ flex:1; }
.fv-qa-intro p{ margin:0 0 .7rem; color:#333; line-height:1.62; }
.fv-qa-intro p:last-child{ margin-bottom:0; }
.fv-qa-intro em{ display:block; font-style:normal; font-weight:600; color:var(--fv-purple); margin-bottom:.4rem; }
.fv-qa-card{ background:#fff; border:1px solid #ece7f2; border-left:4px solid var(--fv-yellow);
  border-radius:14px; padding:1.15rem 1.5rem 1.25rem; margin-bottom:1.15rem; box-shadow:0 5px 18px rgba(47,26,71,.05); }
.fv-qa-q{ margin:0 0 .6rem; color:var(--fv-purple-deep); font-weight:700; font-size:1.14rem; line-height:1.38; }
.fv-qa-a{ margin:0; color:#333; line-height:1.62; }
.fv-qa-a + .fv-qa-a{ margin-top:.7rem; }
@media (max-width:640px){
  .fv-qa-lead{ flex-direction:column; }
  .fv-qa-lead img{ width:100%; max-width:100%; }
}

/* ===== Jazykový přepínač + EN patička ===== */
.fv-lang-item > a{ font-weight:800 !important; }
.fv-flag{ display:inline-flex; vertical-align:middle; margin-right:6px; }
.fv-flagimg{ display:block; border-radius:2px; box-shadow:0 0 0 1px rgba(0,0,0,.15); }
.fv-footer-links .fv-flag{ margin-right:5px; }
/* mapa v patičce měla height="" → 0px; vynutíme rozumnou výšku */
.fv-footer-map iframe{ width:100%; min-height:190px; border:0; border-radius:12px; display:block; }
.fv-en-cta{ display:flex; flex-direction:column; gap:12px; align-items:flex-start; justify-content:center; }
.fv-en-cta-lead{ margin:0 0 2px; font-weight:700; color:var(--fv-purple-ink); }
.fv-en-cta .btn{ min-width:240px; text-align:center; }
.btn-ghost-lime{ background:transparent; border:2px solid var(--fv-yellow-deep); color:var(--fv-purple-deep) !important; }
.btn-ghost-lime:hover{ background:var(--fv-yellow); color:var(--fv-purple-ink) !important; }

/* ===== Cookie lišta (Google Consent Mode) ===== */
.fv-cookie{ position:fixed; left:0; right:0; bottom:0; z-index:1080; background:var(--fv-purple-ink); color:#fff; box-shadow:0 -6px 24px rgba(0,0,0,.28); }
.fv-cookie[hidden]{ display:none; }
.fv-cookie-inner{ max-width:1080px; margin:0 auto; padding:15px 20px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.fv-cookie-text{ margin:0; flex:1; min-width:230px; font-size:13.5px; line-height:1.5; color:#efeaf6; }
.fv-cookie-btns{ display:flex; gap:10px; flex:none; }
.fv-cookie-btn{ border:0; border-radius:999px; padding:10px 22px; font-weight:800; font-size:14px; cursor:pointer; transition:background .15s; }
.fv-cookie-accept{ background:var(--fv-yellow); color:var(--fv-purple-ink); }
.fv-cookie-accept:hover{ background:var(--fv-yellow-deep); }
.fv-cookie-reject{ background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.5); }
.fv-cookie-reject:hover{ background:rgba(255,255,255,.14); }
.fv-cookie-reopen{ color:inherit; opacity:.75; text-decoration:underline; }
.fv-cookie-reopen:hover{ opacity:1; color:#fff; }
@media (max-width:560px){ .fv-cookie-inner{ flex-direction:column; align-items:stretch; text-align:center; } .fv-cookie-btns{ justify-content:center; } }

/* ===== Partneři turnaje (mřížka log) ===== */
.fv-tpart{ margin:42px 0 10px; }
.fv-tpart-h{ color:var(--fv-purple); font-weight:800; font-size:22px; margin:0 0 18px; padding-left:14px; border-left:4px solid var(--fv-yellow); letter-spacing:-.01em; }
.fv-tpart-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); gap:14px; }
.fv-tp-item{ display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #ece7f3; border-radius:12px; padding:16px; min-height:100px; box-shadow:0 4px 14px rgba(47,26,71,.05); transition:transform .16s, box-shadow .16s; }
.fv-tp-item:hover{ transform:translateY(-3px); box-shadow:0 10px 26px rgba(47,26,71,.12); }
.fv-tp-item img{ max-width:100%; max-height:74px; width:auto; height:auto; object-fit:contain; margin:0; box-shadow:none; border-radius:0; }
@media (max-width:520px){ .fv-tpart-grid{ grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); } }

/* jeden společný plakát sponzorů (bez nadpisu, přes celou šířku) */
.fv-tpart--poster .fv-tpart-h{ display:none; }
.fv-tpart--poster .fv-tpart-grid{ display:block; }
.fv-tp-poster{ display:block; }
.fv-tp-poster img{ display:block; width:100%; max-width:1040px; height:auto; margin:0 auto; border-radius:14px; box-shadow:0 8px 26px rgba(47,26,71,.10); }

/* galerie poděkování + lightbox (více obrázků na výšku) */
.fv-tpart--gallery .fv-tpart-grid{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); }
.fv-tpart--gallery .fv-tp-item{ min-height:0; padding:8px; cursor:zoom-in; font:inherit; }
.fv-tpart--gallery .fv-tp-item img{ max-height:240px; width:100%; object-fit:contain; }
.fv-lb{ position:fixed; inset:0; z-index:2000; background:rgba(24,12,40,.88); display:flex; align-items:center; justify-content:center; padding:22px; cursor:zoom-out; }
.fv-lb[hidden]{ display:none; }
.fv-lb img{ max-width:94%; max-height:92%; border-radius:10px; box-shadow:0 24px 70px rgba(0,0,0,.55); }
.fv-lb-x{ position:absolute; top:14px; right:22px; color:#fff; font-size:42px; line-height:1; cursor:pointer; opacity:.85; }
.fv-lb-x:hover{ opacity:1; }
