/* FUGA STUDIO v7 — SPORT / EDITORIAL
   Jasná geometrie, kompaktní závody, živý pohyb bez kosmetických zaoblených karet.
   Načítá se po starých stylech; žádná změna adminu nebo databáze.
*/
:root{
  --sport-navy:#07314b;
  --sport-deep:#04233a;
  --sport-blue:#049dc9;
  --sport-blue-hover:#007ca7;
  --sport-ink:#163447;
  --sport-slate:#567082;
  --sport-rule:#d3e1e7;
  --sport-paper:#f3f7f8;
  --sport-yellow:#f2ca37;
}
/* Jasně oddělené plochy; plošně neztrácet kontrast kvůli animaci. */
body{background:var(--sport-paper)}
.page-heading,.detail-hero{background:linear-gradient(109deg,var(--sport-deep) 0%,#064c70 75%,#008ab4 100%)}
.page-heading{padding:53px 0 56px}
.page-heading h1{font-size:clamp(2.05rem,4.1vw,3.65rem);line-height:1.07;letter-spacing:-.045em}
.page-heading p{font-size:.95rem;line-height:1.6}
.page-heading::after,.detail-hero::after{content:none}
.hero{background:linear-gradient(110deg,var(--sport-deep) 0%,#034665 65%,#007da8 100%)}
.hero-texture{opacity:.46}
.hero h1{letter-spacing:-.055em;line-height:1.06}
.hero h1 em{font-style:normal;color:var(--sport-yellow)}
.hero .hero-kicker{letter-spacing:.16em}
.hero-inner{position:relative}
.home-news,.list-content{background:var(--sport-paper)}
/* Základní ovládací prvky: téměř hranaté, ostré linky. */
.btn,.btn-admin,.filter-clear,.light-link,.aside-more{
  transition:background .23s ease,color .23s ease,border-color .23s ease,transform .23s cubic-bezier(.2,.65,.2,1),box-shadow .23s ease;
}
.btn,.btn-white,.btn-ghost,.btn-accent,.filters-form>.btn,.filter-clear{
  border-radius:2px!important;
}
.btn{position:relative;isolation:isolate;overflow:hidden;border:1px solid transparent;font-weight:800;text-decoration:none}
.btn-accent{background:var(--sport-blue);color:#fff;box-shadow:none}
.btn-accent:hover,.btn-accent:focus-visible{background:var(--sport-blue-hover);box-shadow:none}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--sport-deep);transform:translateY(101%);transition:transform .32s cubic-bezier(.23,.82,.25,1)}
.btn:hover::before,.btn:focus-visible::before{transform:translateY(0)}
.btn:hover{transform:translateY(-2px)}
.btn-ghost:hover{border-color:#9fddec}
.btn-white{border-color:var(--sport-rule)}
.btn-white::before{background:#e5f4f8}
.btn-curtain::after{display:none!important}
/* Header zůstává bílý pouze s logem (v6.1). Dropdown má ostré hrany. */
.site-header{border-bottom:2px solid #d5e4e9;box-shadow:none!important}
.site-header .site-nav>a,.site-header .nav-group-head>a{border-radius:1px!important}
.site-header .nav-group-head,.site-header .nav-drop-toggle{border-radius:2px!important}
.site-header .nav-group .submenu{
  border-radius:2px!important;padding:8px!important;border-top:3px solid var(--sport-blue)!important;
  box-shadow:0 15px 28px rgba(3,41,61,.14)!important;
}
.site-header .nav-group .submenu a{border-radius:1px!important;transition:background .15s ease,padding .17s ease!important}
.site-header .nav-group .submenu a:hover{padding-left:17px!important;background:#e5f4f8!important}
/* Všechny kruhové symboly a marketingové karty nahrazujeme klasickými plochami. */
.pill,.pill-outline{border-radius:2px!important;letter-spacing:.08em}
.filters-form{border-radius:2px!important;box-shadow:none!important;border:1px solid var(--sport-rule)!important;padding:15px 18px!important}
.filter-field :is(input,select),.list-filters :is(input,select){border-radius:2px!important}
.filters-form>.btn{min-height:46px}
.filter-clear{border:1px solid var(--sport-rule);padding:13px 15px;background:#fff;white-space:nowrap}
.filter-clear:hover{background:#e3f3f9;color:var(--sport-blue-hover)}
.wide-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:21px}
/* Kompaktní řádkové karty závodů.
   Desktop: obrázek 168px + obsah + 155px akce. Žádná zbytečná výška. */
.wide-card{
  display:grid!important;grid-template-columns:168px minmax(0,1fr) 156px!important;
  align-items:stretch;min-width:0;min-height:142px;
  border-radius:2px!important;border:1px solid var(--sport-rule)!important;
  box-shadow:none!important;background:#fff;isolation:isolate;position:relative;
  transform:none!important;transition:border-color .22s ease,box-shadow .22s ease!important;
}
.wide-card::before{
  content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:4px;
  background:var(--sport-blue);transform:scaleY(0);transform-origin:bottom;
  transition:transform .34s cubic-bezier(.18,.8,.18,1);z-index:3;pointer-events:none;
}
.wide-card::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--sport-blue);transform:scaleX(0);transform-origin:left;
  transition:transform .42s cubic-bezier(.2,.8,.2,1);z-index:3;pointer-events:none;
}
.wide-card:is(:hover,:focus-within){border-color:#7abfd7!important;box-shadow:0 7px 16px rgba(6,54,77,.085)!important}
.wide-card:is(:hover,:focus-within)::before{transform:scaleY(1)}
.wide-card:is(:hover,:focus-within)::after{transform:scaleX(1)}
.wide-card-art{
  display:flex;align-items:center;justify-content:center;
  min-height:142px!important;max-height:100%;height:auto!important;
  background:#edf3f5!important;padding:0!important;overflow:hidden;position:relative;
}
.wide-card-art::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,transparent 45%,rgba(0,144,188,.12) 100%);opacity:0;transform:translateX(-10%);transition:opacity .3s ease,transform .3s ease;pointer-events:none}
.wide-card:hover .wide-card-art::after{opacity:1;transform:translateX(0)}
.wide-card-art img{width:100%!important;height:100%!important;min-height:142px;max-height:158px!important;display:block;transition:transform .42s cubic-bezier(.15,.75,.18,1),filter .42s ease}
.wide-card-art.has-photo img{object-fit:cover!important}
.wide-card-art.has-logo{padding:16px!important;background:#f3f7f9!important}
.wide-card-art.has-logo img{object-fit:contain!important;min-height:0!important;height:100%!important;max-height:117px!important}
.wide-card:hover .wide-card-art img{transform:scale(1.045)}
.wide-card-body{padding:15px 22px 16px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-width:0}
.wide-card-type{font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sport-blue-hover);line-height:1.25}
.wide-card-body h2{font-size:clamp(1.04rem,1.35vw,1.35rem)!important;letter-spacing:-.035em;line-height:1.2;margin:6px 0 9px!important;font-weight:850;color:var(--sport-deep)}
.wide-card-body h2 a{color:inherit;overflow-wrap:anywhere;text-decoration:none}
.wide-card-body h2 a:hover{color:var(--sport-blue-hover)!important}
.wide-card-facts{display:flex;flex-wrap:wrap;column-gap:19px;row-gap:5px;color:#385b70;font-size:.76rem;font-weight:700;margin-bottom:9px}
.wide-card-facts>span{display:inline-flex;gap:6px;align-items:baseline;min-width:0}
.wide-card-facts span[aria-hidden="true"]{color:var(--sport-blue-hover);font-size:.97rem;font-weight:800}
.wide-card-facts time{white-space:nowrap}
.wide-card-body p{color:#647887!important;font-size:.795rem!important;line-height:1.45!important;letter-spacing:0;margin:0!important;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:900px}
.wide-card-action{display:flex;align-items:center;justify-content:center;border-left:1px solid var(--sport-rule);padding:15px;background:#fafcfd}
.wide-card-open{
  display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;
  width:100%;min-height:46px;text-align:center;position:relative;isolation:isolate;
  overflow:hidden;background:var(--sport-deep);border:1px solid var(--sport-deep);
  color:#fff!important;text-decoration:none!important;border-radius:1px!important;
  padding:11px 10px;font-size:.73rem;font-weight:850;line-height:1.2;transition:border-color .2s ease,transform .2s ease;
}
.wide-card-open::before{content:"";position:absolute;inset:0;background:var(--sport-blue-hover);transform:translateY(101%);transition:transform .3s cubic-bezier(.22,.8,.2,1);z-index:-1}
.wide-card-open svg{width:17px;height:17px;flex:0 0 auto;transition:transform .27s cubic-bezier(.2,.8,.2,1)}
.wide-card:is(:hover,:focus-within) .wide-card-open::before{transform:translateY(0)}
.wide-card:is(:hover,:focus-within) .wide-card-open svg{transform:translateX(4px)}
.wide-card-open:focus-visible{outline:3px solid var(--sport-yellow);outline-offset:3px}
/* Homepage cards: stejný vizuální jazyk jako seznam závodů. */
.news-card{border-radius:2px!important;box-shadow:none!important;border:1px solid var(--sport-rule)!important;transition:border-color .2s ease,box-shadow .2s ease!important;position:relative;overflow:hidden}
.news-card::before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--sport-blue);transform:scaleY(0);transform-origin:bottom;transition:transform .3s ease;z-index:2}
.news-card:hover{border-color:#90cadc!important;box-shadow:0 8px 20px rgba(5,48,71,.065)!important}
.news-card:hover::before{transform:scaleY(1)}
.news-card:hover .card-image img{transform:scale(1.045)}
.card-main{padding:23px 24px}
.card-main h3{font-size:clamp(1.04rem,1.7vw,1.4rem);line-height:1.23}
.card-main p{-webkit-line-clamp:3}
.card-image{overflow:hidden}
.card-placeholder{background:linear-gradient(135deg,#edf5f7,#deeef3);color:var(--sport-blue-hover);font-size:54px}
.text-link{font-weight:800}
.text-link:hover{color:var(--sport-deep)}
/* Termínovka vlevo; obyčejné čitelné řádky. */
.upcoming,.aside-head,.event-card,.event-date,.info-panel,.stats-cards>div,.table-scroll,.category-details,
.calendar-shell,.calendar-sidebar,.calendar-day,.calendar-card,.calendar-item,.calendar-chip,.partner,.map-frame iframe,.photo-grid a{
  border-radius:2px!important;
}
.event-card{border:1px solid var(--sport-rule)!important;transition:border-color .2s ease,background .2s ease,transform .2s ease!important}
.event-card:hover{transform:translateX(3px);border-color:var(--sport-blue)!important;background:#eaf6fa}
.event-date{background:var(--sport-navy)!important;color:white!important}
.event-arrow{transition:transform .2s ease}.event-card:hover .event-arrow{transform:translateX(4px)}
.partners{border-top:2px solid var(--sport-rule)}
.partner:hover{border-color:var(--sport-blue)}
.partner img{transition:transform .25s ease,filter .25s ease}.partner:hover img{transform:translateY(-2px)}
.calendar-day{transition:border-color .18s ease,background .18s ease,transform .18s ease!important}
.calendar-day:hover{transform:translateY(-2px)}
.calendar-chip{border-radius:2px!important}
.home-calendar-cta{background:#e6eff2}
/* Přiměřeně úsporný tablet – fotografie i tlačítko zůstávají vedle textu. */
@media(max-width:1020px){
 .wide-card{grid-template-columns:138px minmax(0,1fr) 132px!important;min-height:140px}
 .wide-card-art{min-height:140px!important}.wide-card-art img{min-height:140px}
 .wide-card-body{padding:15px 17px!important}
 .wide-card-action{padding:10px}
 .wide-card-open{font-size:.69rem;gap:5px;min-height:45px}
}
/* Malý tablet: tlačítko pod textem, obrázek stále na straně. */
@media(max-width:750px){
 .wide-card{grid-template-columns:128px minmax(0,1fr)!important;min-height:0}
 .wide-card-art{grid-row:1/3;min-height:175px!important}
 .wide-card-art img{min-height:175px;max-height:100%!important}
 .wide-card-body{padding:15px 16px 10px!important}
 .wide-card-action{grid-column:2;justify-content:flex-start;border:0;padding:0 16px 14px;background:#fff}
 .wide-card-open{width:auto;min-height:38px;padding:8px 14px}
 .wide-card-body p{-webkit-line-clamp:2}
 .wide-card-facts{column-gap:11px}
 .news-card{border-radius:2px!important}
}
@media(max-width:500px){
 .page-heading{padding:41px 0 44px}
 .section-pad{padding-top:35px;padding-bottom:43px}
 .wide-list{gap:10px}
 .wide-card{grid-template-columns:102px minmax(0,1fr)!important}
 .wide-card-art{min-height:178px!important}.wide-card-art img{min-height:178px}
 .wide-card-art.has-logo{padding:7px!important}.wide-card-art.has-logo img{max-height:120px!important}
 .wide-card-body{padding:13px 12px 9px!important}
 .wide-card-type{font-size:.55rem;letter-spacing:.12em}
 .wide-card-body h2{font-size:1.02rem!important;line-height:1.22;margin:5px 0 8px!important}
 .wide-card-facts{display:grid;gap:4px;font-size:.7rem;margin-bottom:8px}
 .wide-card-facts>span{line-height:1.25;overflow-wrap:anywhere}
 .wide-card-facts time{white-space:normal}
 .wide-card-body p{font-size:.72rem!important;line-height:1.43!important;-webkit-line-clamp:2}
 .wide-card-action{padding:0 12px 12px}
 .wide-card-open{font-size:.71rem;min-height:36px;padding:8px 10px}
 .wide-card-open svg{width:15px;height:15px}
 .filters-form{padding:12px!important}
 .filter-clear{min-height:42px;text-align:center}
 .calendar-day{border-radius:1px!important}
}
@media(prefers-reduced-motion:reduce){
 .wide-card::before,.wide-card::after,.wide-card-art img,.wide-card-art::after,
 .wide-card-open::before,.wide-card-open svg,.news-card::before,.news-card .card-image img,
 .event-card,.event-arrow,.btn,.btn::before,.partner img,.calendar-day{
   transition:none!important;animation:none!important;
 }
 .btn:hover,.event-card:hover,.calendar-day:hover,.partner:hover img{transform:none!important}
}
.card-placeholder{font-size:clamp(1.6rem,3vw,2.35rem);font-weight:900;letter-spacing:-.07em;text-transform:uppercase}

/* v7.1 – „Vymazat“ musí mít stejnou spodní hranu a výšku jako „Filtrovat“. */
.filters-form > .filter-clear {
  align-self: flex-end !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 46px;
  min-height: 46px;
  margin: 0;
  padding: 0 16px;
  line-height: 1.2;
}
