/* FUGA STUDIO 5: navbar, no-crop logo, dropdowns and live Czech calendar */
:root{--fuga-blue:#009ed1;--fuga-ink:#092e4d;--fuga-yellow:#ffc91e}
.site-header{background:#fff;border-bottom:1px solid #d6e5ee;box-shadow:0 10px 28px rgba(0,47,84,.065);backdrop-filter:none}
.header-inner{width:min(1400px,calc(100% - 54px));min-height:88px;gap:20px}
.brand{flex:0 1 auto;min-width:0;gap:13px}
.brand img.brand-logo-v5{display:block!important;flex:0 0 auto!important;width:clamp(136px,11vw,180px)!important;max-width:180px!important;height:auto!important;max-height:43px!important;object-fit:contain!important;object-position:center!important;overflow:visible!important}
.brand-copy{min-width:0}.brand-copy strong{color:#0a3858;font-size:clamp(.75rem,.92vw,.87rem);font-weight:800;letter-spacing:-.015em;white-space:nowrap}.brand-copy small{font-size:.52rem;color:#7396aa;letter-spacing:.11em}
.brand-image-crop{display:none!important}
.site-nav{display:flex;align-items:center;gap:0;flex:0 0 auto;align-self:stretch}
.site-nav>*{display:flex;align-items:center;position:relative}
.site-nav>a,.nav-group-head>a{display:inline-flex;align-items:center;min-height:48px;padding:12px 14px;font-size:.78rem;font-weight:750;color:#123e5d;transition:color .2s,background .2s}
.site-nav>a:hover,.nav-group-head>a:hover{color:#007eab;background:#f2fafe}
.site-nav>*+*::before{content:'/';color:#b3cbd7;position:absolute;left:-2px;top:50%;transform:translateY(-50%);font-weight:400;font-size:.8rem}
.nav-group-head{display:flex;align-items:center;gap:0}
.nav-group-head>a{padding-right:6px}
.nav-drop-toggle{border:0;background:transparent;color:#1d7192;font-size:0;width:36px;height:44px;display:grid;place-items:center;border-radius:9px;transition:background .18s}
.nav-drop-toggle::after{content:'';width:8px;height:8px;border-bottom:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.nav-drop-toggle[aria-expanded=true]{background:#eaf6fc}.nav-drop-toggle[aria-expanded=true]::after{transform:rotate(225deg) translate(-2px,-2px)}
.nav-drop-toggle:hover{background:#eaf7fc}
.nav-group .submenu{position:absolute;display:block;top:calc(100% - 5px);left:0;min-width:268px;max-width:360px;max-height:min(60vh,500px);overflow-y:auto;padding:10px;background:#fff;border:1px solid #d5e4ee;border-radius:15px;box-shadow:0 25px 60px rgba(7,49,81,.17);z-index:80;animation:dropdown-v5 .18s ease-out}
.nav-group .submenu[hidden]{display:none!important}
.nav-group .submenu .submenu-caption{display:block;padding:8px 13px 12px;font-size:.65rem;font-weight:850;color:#6994ab;text-transform:uppercase;letter-spacing:.1em}
.nav-group .submenu a{display:block;padding:11px 13px;border-radius:9px;font-size:.78rem;font-weight:700;white-space:normal;line-height:1.5;color:#204963}
.nav-group .submenu a:hover,.nav-group .submenu a:focus-visible{background:#eaf7fc;color:#007ba7}
@keyframes dropdown-v5{from{transform:translateY(-5px);opacity:.7}to{transform:translateY(0);opacity:1}}
.hero-inner>p{color:#d7e8f1;font-size:1.08rem}.hero-inner .btn-ghost{border-color:#b3cddd;color:#fff}
.home-calendar-cta{padding:58px 0;background:#e7f5fb;border-top:1px solid #c8e4f3}.home-calendar-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.home-calendar-cta h2{font-size:clamp(1.6rem,3vw,2.5rem);margin:0 0 12px}.home-calendar-cta p:not(.eyebrow){margin:0;max-width:590px}.home-calendar-cta .btn{flex:0 0 auto}
.calendar-heading{padding-top:63px;padding-bottom:66px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(275px,.85fr);gap:22px;align-items:start}
.calendar-shell,.calendar-sidebar{background:#fff;border:1px solid #d7e6ef;border-radius:22px;padding:clamp(16px,2.5vw,30px);box-shadow:0 15px 45px rgba(9,49,78,.055);min-width:0}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}.calendar-toolbar h2{font-size:clamp(1.25rem,2vw,1.8rem);margin:0;text-transform:capitalize}
.calendar-toolbar .eyebrow{margin-bottom:5px}.calendar-actions{display:flex;gap:6px;align-items:center}
.calendar-actions button{border:1px solid #cfe0eb;background:#f6fbfd;color:#154461;min-width:41px;min-height:41px;border-radius:10px;font-size:1.25rem;font-weight:700}
.calendar-actions button[data-cal-today]{padding:8px 12px;font-size:.73rem;min-width:0;font-weight:750}.calendar-actions button:hover{background:#e4f5fd;border-color:#84cae7}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekdays{margin-bottom:8px}
.calendar-weekdays span{text-align:center;padding:6px 0;color:#6990a6;font-size:.75rem;font-weight:850}
.calendar-day{background:#f7fafc;border:1px solid #e7eef2;border-radius:12px;position:relative;min-height:78px;display:flex;align-items:flex-start;justify-content:flex-end;padding:13px;color:#153d57;font-size:.91rem;font-weight:760;transition:background .15s,border-color .15s}
.calendar-day:hover{background:#eaf8fd;border-color:#89d0e7}.calendar-day.is-outside{opacity:.39}.calendar-day.is-today{box-shadow:inset 0 0 0 2px #ffc91e}.calendar-day.is-selected{background:#dff5fc;border-color:#009bcf;box-shadow:inset 0 0 0 1px #009bcf}.calendar-day.has-event{background:#f0fbfe}.calendar-day.is-selected.has-event{background:#d6f2fc}
.calendar-event-dot{position:absolute;left:11px;bottom:11px;min-width:10px;height:10px;border-radius:50px;background:#009ed1;box-shadow:0 0 0 4px #d5f3fc;color:white;font-size:.68rem;font-weight:900;text-align:center;line-height:20px}
.calendar-event-dot:not(:empty){width:21px;height:21px;bottom:8px;box-shadow:none}
.calendar-legend{display:flex;flex-wrap:wrap;gap:17px;margin-top:18px;color:#637c8d;font-size:.76rem}.calendar-legend span{display:inline-flex;gap:8px;align-items:center}.calendar-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;background:#009ed1}.calendar-legend .cal-today{background:transparent;border:2px solid #ffc91e}
.calendar-sidebar{position:sticky;top:112px}.calendar-sidebar h2{font-size:clamp(1.3rem,1.9vw,1.8rem);margin-bottom:20px;text-transform:capitalize}.calendar-item{display:grid;gap:6px;border:1px solid #dceaf1;padding:16px;border-radius:13px;margin-bottom:12px;position:relative;background:#f7fbfe}.calendar-item strong{font-size:.9rem;padding-right:20px}.calendar-item span{font-size:.78rem;color:#617e91}.calendar-item b{position:absolute;right:14px;top:14px;color:#0095c8}.calendar-item:hover{border-color:#68c6e8}.calendar-empty{font-size:.86rem}
.calendar-upcoming{border-top:1px solid #e5eef3;margin-top:26px;padding-top:25px}.calendar-upcoming h3{font-size:.95rem;margin-bottom:16px}.calendar-upcoming>a{display:flex;align-items:center;gap:12px;padding:13px 3px;border-bottom:1px solid #eaf0f3}.calendar-upcoming>a span:first-child{font-size:.76rem;color:#1184b1;font-weight:850;flex:0 0 49px}.calendar-upcoming>a strong{font-size:.75rem;flex:1}.calendar-upcoming>a span:last-child{color:#1597c0}
@media(max-width:1230px){.header-inner{width:min(100% - 32px,1400px)}.brand-copy{display:none}.brand img.brand-logo-v5{width:155px!important}.site-nav>a,.nav-group-head>a{padding-left:12px;padding-right:12px}}
@media(max-width:960px){.header-inner{min-height:74px}.brand-copy{display:grid}.brand img.brand-logo-v5{width:148px!important;max-height:40px!important}.nav-toggle{display:block;flex:0 0 auto;background:#eaf7fc;border:1px solid #d2e7f1;border-radius:11px;padding:9px 11px}.nav-toggle>span:not(.visually-hidden){background:#134666}
.site-nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 74px);overflow-y:auto;overscroll-behavior:contain;padding:10px 17px 20px;background:#fff;border-top:1px solid #d7e8f1;box-shadow:0 20px 42px rgba(8,51,82,.12);flex-direction:column;align-items:stretch;gap:0}
.site-nav.is-open{display:flex}.site-nav>*{display:block}.site-nav>*+*::before{display:none}.site-nav>a,.nav-group-head>a{display:flex;min-height:48px;padding:13px 11px;font-size:.91rem;border-bottom:1px solid #edf3f7}.nav-group-head{display:flex;justify-content:space-between;align-items:center;min-height:52px}.nav-group-head>a{flex:1}.nav-drop-toggle{width:48px;height:45px;border:1px solid #dceaf1;margin-right:6px;background:#f4f9fd}
.nav-group .submenu{position:static;display:block;max-width:100%;min-width:0;max-height:none;overflow:visible;animation:none;box-shadow:none;border-radius:12px;margin:5px 0 10px;background:#f1f8fc;padding:8px}.nav-group .submenu a{font-size:.82rem;min-height:45px;padding:12px}.calendar-layout{grid-template-columns:1fr}.calendar-sidebar{position:static}.home-calendar-cta-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:580px){.brand-copy{display:none}.brand img.brand-logo-v5{width:154px!important;max-width:54vw!important;height:auto!important;max-height:none!important}.header-inner{min-height:69px;gap:9px}.site-nav{max-height:calc(100dvh - 69px)}.calendar-shell,.calendar-sidebar{border-radius:15px;padding:14px}.calendar-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.calendar-actions{width:100%}.calendar-actions button[data-cal-today]{flex:1}.calendar-weekdays,.calendar-days{gap:4px}.calendar-day{min-height:54px;padding:7px;font-size:.77rem;border-radius:8px}.calendar-event-dot{left:8px;bottom:8px;width:7px;height:7px;min-width:7px;box-shadow:0 0 0 2px #d5f3fc}.calendar-event-dot:not(:empty){left:3px;bottom:4px;width:16px;height:16px;font-size:.59rem;line-height:16px}.calendar-weekdays span{font-size:.67rem}.calendar-legend{font-size:.7rem}.calendar-heading{padding:46px 0}.home-calendar-cta{padding:40px 0}.home-calendar-cta .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.nav-group .submenu{animation:none}.calendar-day,.nav-drop-toggle{transition:none}}

/* FUGA STUDIO v6 – stabilní hlavička, lepší dropdowny, strukturované závody a kalendářové CTA */
.site-header{position:sticky;top:0;z-index:70;background:#fff!important;color:#153c56!important;overflow:visible}
.header-inner{min-height:88px!important;align-items:center!important;overflow:visible}
.brand{display:flex;align-items:center;gap:16px;min-width:0;overflow:visible}
.brand img,.brand .custom-brand-logo,.brand img.brand-logo-v5{display:block!important;width:auto!important;height:auto!important;max-height:60px!important;max-width:min(240px,32vw)!important;object-fit:contain!important;object-position:left center!important;overflow:visible!important;flex:0 0 auto!important}
.custom-brand-logo{max-height:60px!important;max-width:min(250px,34vw)!important}
.brand-copy{display:grid;line-height:1.15;min-width:0}.brand-copy strong{font-size:clamp(1rem,1.5vw,1.55rem);letter-spacing:.01em;color:#123d59}.brand-copy small{font-size:.72rem;letter-spacing:.16em;color:#5e8498;margin-top:5px}
.site-nav{gap:4px;align-items:center;overflow:visible}.site-nav>a,.nav-group-head>a{color:#173d5b!important;font-weight:760!important;border-radius:12px;padding:12px 16px!important}.site-nav>a:hover,.nav-group-head>a:hover{background:#eef8fc;color:#007baa!important}
.site-nav>*+*::before{content:'/';display:inline-block;color:#98afbf;margin-right:4px}.site-nav .nav-group{display:flex;align-items:center;position:relative}.site-nav .nav-group::before{display:none}
.nav-group-head{display:flex;align-items:center;border-radius:12px;padding-right:6px}.nav-group-head:hover{background:#eef8fc}
.nav-drop-toggle{width:34px!important;height:34px!important;min-width:34px;border:1px solid transparent!important;border-radius:10px!important;background:transparent!important;position:relative;color:#156486!important;font-size:0!important;line-height:0!important}.nav-drop-toggle:hover,.nav-drop-toggle[aria-expanded=true]{background:#dff2fb!important;border-color:#b6dff0!important}
.nav-drop-toggle::after{width:9px!important;height:9px!important;border-right:2px solid currentColor!important;border-bottom:2px solid currentColor!important;transform:rotate(45deg) translate(-1px,-1px)!important}.nav-drop-toggle[aria-expanded=true]::after{transform:rotate(225deg) translate(-1px,-1px)!important}
.nav-group .submenu{top:calc(100% + 12px)!important;left:0!important;padding:12px!important;border-radius:18px!important;min-width:290px!important;box-shadow:0 20px 50px rgba(9,46,75,.14)!important}.nav-group .submenu a{font-size:.84rem!important;font-weight:700!important}.submenu-caption{font-size:.7rem!important}
.detail-calendar-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn-mini{padding:10px 14px;font-size:.82rem}
.race-subtitle{font-size:clamp(1.05rem,2vw,1.35rem);font-weight:700;color:#1786b4;margin:8px 0 12px}
.structured-race-info{background:#fbfdff;border:1px solid #ddebf2}.schedule-list{display:grid;gap:12px}.schedule-row{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:14px;padding:10px 0;border-bottom:1px solid #e9f0f4}.schedule-row:last-child{border-bottom:0}.schedule-row strong{color:#173d57}.schedule-single{font-weight:700;color:#173d57}.parking-line{margin-top:18px}
.variant-map-groups{display:grid;gap:26px;margin-top:26px}.variant-map-group h3{margin-bottom:14px}.variant-map-group h4{font-size:1rem;margin-bottom:10px}
.calendar-card{border:1px solid #dceaf1;padding:14px;border-radius:14px;margin-bottom:12px;background:#f7fbfe}.calendar-card .calendar-item{margin-bottom:10px}.calendar-item{margin-bottom:0!important}.calendar-item-actions{display:flex;flex-wrap:wrap;gap:8px}.calendar-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:#e8f6fc;color:#0f6285;font-size:.75rem;font-weight:800;border:1px solid #c4e4f1}.calendar-chip:hover{background:#d7f0fb}
@media(max-width:960px){.site-nav>*+*::before{display:none}.header-inner{min-height:82px!important}.brand-copy{display:none!important}.brand img,.brand .custom-brand-logo,.brand img.brand-logo-v5{max-height:54px!important;max-width:62vw!important}.nav-group-head{padding-right:0}.nav-drop-toggle{width:46px!important;height:46px!important;min-width:46px}.site-nav{padding-top:14px!important}.site-nav>a,.nav-group-head>a{border-bottom:1px solid #edf3f7;border-radius:10px}.nav-group .submenu{margin-top:8px!important}}
@media(max-width:640px){.header-inner{min-height:76px!important}.brand img,.brand .custom-brand-logo,.brand img.brand-logo-v5{max-height:50px!important;max-width:58vw!important}.schedule-row{grid-template-columns:1fr;gap:6px}.detail-calendar-actions .btn{width:100%}.calendar-item-actions .calendar-chip{flex:1 1 auto;text-align:center}}


/* v6.1 – oprava hlavičky. Logo bez titulku, chevron vizuálně na ose textu.
   Veřejné menu má po celé šířce stejnou výšku a na mobilu velké cíle pro dotyk. */
.site-header .brand-copy{display:none!important}
.site-header .header-inner{min-height:84px!important;gap:24px!important}
.site-header .brand{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;flex:0 1 auto!important;min-width:0!important;gap:0!important;overflow:visible!important}
.site-header .brand img,.site-header .brand img.brand-logo-v5,.site-header .brand img.custom-brand-logo{
  display:block!important;width:auto!important;height:auto!important;
  max-width:min(260px,34vw)!important;max-height:62px!important;
  object-fit:contain!important;object-position:left center!important;
  flex-shrink:1!important;overflow:visible!important;
}
.site-header .nav-group{align-items:center!important}
.site-header .nav-group-head{
  display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
  gap:0!important;padding-right:5px!important;min-height:48px!important;
}
.site-header .nav-group-head>a{
  display:inline-flex!important;align-items:center!important;min-height:44px!important;
  padding-top:10px!important;padding-bottom:10px!important;padding-right:6px!important;
  line-height:1.35!important;
}
.site-header .nav-drop-toggle{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;flex:0 0 28px!important;
  width:28px!important;min-width:28px!important;height:28px!important;
  padding:0!important;margin:0 2px 0 0!important;line-height:1!important;
  border:1px solid transparent!important;border-radius:8px!important;
  font-size:0!important;vertical-align:middle!important;
}
/* Původní CSS vykreslovalo šipku pomocí posunutého pseudo-elementu.
   Nahrazujeme jej konzistentním SVG bez závislosti na fontu. */
.site-header .nav-drop-toggle::after{content:none!important;display:none!important}
.site-header .nav-drop-toggle svg{
  display:block!important;position:static!important;width:13px!important;height:13px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:2!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
  transform:translateY(-2px) rotate(0deg)!important;
  transform-origin:center!important;transition:transform .18s ease!important;
}
.site-header .nav-drop-toggle[aria-expanded="true"] svg{
  transform:translateY(-1px) rotate(180deg)!important;
}
.site-header .nav-drop-toggle:hover,.site-header .nav-drop-toggle:focus-visible{
  background:#eaf7fc!important;border-color:#b6dff0!important;
}
@media(max-width:960px){
  .site-header .header-inner{min-height:76px!important}
  .site-header .brand img,.site-header .brand img.brand-logo-v5,.site-header .brand img.custom-brand-logo{
    max-width:min(215px,56vw)!important;max-height:49px!important;
  }
  .site-header .nav-group-head{display:flex!important;min-height:54px!important;gap:6px!important;padding-right:0!important}
  .site-header .nav-group-head>a{flex:1 1 auto!important;min-height:48px!important;padding-right:12px!important}
  .site-header .nav-drop-toggle{
    width:44px!important;min-width:44px!important;height:44px!important;flex-basis:44px!important;
    margin:0 4px 0 0!important;border:1px solid #dceaf1!important;
    background:#f4f9fd!important;
  }
  .site-header .nav-drop-toggle svg{width:15px!important;height:15px!important;transform:translateY(-1px)!important}
  .site-header .nav-drop-toggle[aria-expanded="true"] svg{transform:translateY(-1px) rotate(180deg)!important}
}
@media(max-width:560px){
  .site-header .header-inner{min-height:70px!important;gap:12px!important}
  .site-header .brand img,.site-header .brand img.brand-logo-v5,.site-header .brand img.custom-brand-logo{
    max-width:min(200px,59vw)!important;max-height:44px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .site-header .nav-drop-toggle svg{transition:none!important}
}
