:root { --cervena: #C60526; --cervena-tm: #9e0420; --modra: #015699; --text: #001635; --text2: #495A73; --text3: #b7c4dd; --bg: #fff; --bg2: #F0F2F5; --bg3: #E8EAEF; --ok: #15803d; --chyba: #b91c1c; }
* { box-sizing: border-box; }
html { font: 17px/1.55 "Cairo", system-ui, sans-serif; color: var(--text); background: var(--bg); }
body.web { margin: 0; }
a { color: var(--modra); } a:hover { color: var(--cervena); }
h1, h2, h3 { line-height: 1.2; font-weight: 800; margin: 0 0 .6em; }
h1 { font-size: 2.1rem; } h2 { font-size: 1.5rem; } h3 { font-size: 1.15rem; }
h1 small, h2 small { display: block; font-size: .55em; font-weight: 400; color: var(--text2); }
.tlumene { color: var(--text2); } small { font-weight: 400; }
.w-obal { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.hlaska { padding: .7rem 1rem; border-radius: 8px; background: #fef3c7; margin: 1rem 0; } .hlaska.ok { background: #dcfce7; } .hlaska.chyba { background: #fee2e2; color: var(--chyba); }
.stitek { display: inline-block; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: .1rem .55rem; border-radius: 999px; background: var(--bg3); color: var(--text2); }
.w-druh-zavod { background: var(--cervena); color: #fff; } .w-druh-trenink { background: var(--modra); color: #fff; } .w-druh-soustredeni { background: #b45309; color: #fff; }

/* hlavička */
.w-hlavicka { background: #fff; border-bottom: 1px solid var(--bg3); position: relative; z-index: 20; }
.w-hlavicka .w-obal { display: flex; align-items: center; gap: 1.5rem; min-height: 80px; }
.w-logo img { height: 56px; width: auto; display: block; }
.w-menu { display: flex; gap: .2rem; margin-left: auto; flex-wrap: wrap; align-items: center; }
.w-menu a { color: var(--text); text-decoration: none; font-weight: 700; text-transform: uppercase; font-size: .88rem; letter-spacing: .01em; padding: .5rem .55rem; border-radius: 6px; }
.w-menu a:hover, .w-menu a.aktivni { color: var(--cervena); }
.w-menu .w-napoveda-odkaz { margin-left: .3rem; width: 1.6rem; height: 1.6rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 2px solid var(--modra); color: var(--modra); font-weight: 700; padding: 0; }
.w-napoveda h3 { margin-top: 1.4rem; }
.w-napoveda li { margin: .25rem 0; }
.w-menu .w-ucet { margin-left: .5rem; border: 2px solid var(--modra); color: var(--modra); padding: .3rem .9rem; border-radius: 999px; }
.w-menu-tlacitko { display: none; margin-left: auto; font-size: 1.8rem; cursor: pointer; }
@media (max-width: 900px) { .w-menu-tlacitko { display: block; } .w-menu { display: none; width: 100%; flex-direction: column; align-items: stretch; padding-bottom: 1rem; }
  #w-menu-prepinac:checked ~ .w-menu { display: flex; } .w-hlavicka .w-obal { flex-wrap: wrap; } }

/* sekce */
.w-sekce { padding: 2.5rem 0; } .w-sekce-sedá { background: var(--bg2); }
.w-sekce-novinky { background: var(--bg2) url("/static/web/bg-news.png") no-repeat calc(15% + 65px) 0; }
@media (max-width: 900px) { .w-sekce-novinky { background-image: none; } }
@font-face { font-family: "ikony"; src: url("/static/web/fonts/icons.woff") format("woff"), url("/static/web/fonts/icons.ttf") format("truetype"); font-weight: normal; font-style: normal; font-display: block; }
.w-ikona-pismo { font: normal normal normal 20px/1 ikony; text-rendering: auto; -webkit-font-smoothing: antialiased; }
.w-sekce-hlavicka { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1.2rem; flex-wrap: wrap; } .w-sekce-hlavicka h2 { margin: 0; }
.w-hero { background: var(--modra) center/cover no-repeat; color: #fff; min-height: 380px; display: flex; align-items: center; position: relative; }
.w-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,22,53,.8), rgba(0,22,53,.2)); }
.w-hero .w-obal { position: relative; } .w-hero h1 { font-size: 2.6rem; margin-bottom: .3em; } .w-hero p { font-size: 1.2rem; max-width: 40rem; }
.w-tlacitko { display: inline-block; background: var(--cervena); color: #fff !important; font-weight: 700; padding: .6rem 1.4rem; border-radius: 999px; text-decoration: none; border: 0; font: inherit; cursor: pointer; }
.w-tlacitko:hover { background: var(--cervena-tm); }
.w-filtry { display: flex; flex-wrap: wrap; gap: .3rem; margin: 0 0 1.5rem; }
.w-filtry a { text-decoration: none; padding: .3rem .9rem; border-radius: 999px; background: var(--bg2); color: var(--text2); font-weight: 600; } .w-filtry a.aktivni { background: var(--cervena); color: #fff; }
.w-drobky { font-size: .9rem; color: var(--text2); margin: 0 0 .5rem; } .w-drobky a { color: var(--text2); }

/* karty článků */
.w-karty { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.5rem; } .w-karty.w-tri { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.w-karta { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,22,53,.08); display: flex; flex-direction: column; }
.w-karta-foto { display: block; position: relative; aspect-ratio: 5/4; background: var(--bg3); }
.w-karta-foto img { width: 100%; height: 100%; object-fit: cover; display: block; } .w-orez-top img { object-position: top; } .w-orez-bottom img { object-position: bottom; }
.w-karta-foto em { position: absolute; left: .8rem; bottom: .8rem; background: var(--cervena); color: #fff; font-style: normal; font-size: .75rem; font-weight: 700; text-transform: uppercase; padding: .15rem .6rem; border-radius: 999px; }
.w-karta-text { padding: 1rem 1.2rem 1.2rem; } .w-karta-text h3 a { color: var(--text); text-decoration: none; } .w-karta-text h3 a:hover { color: var(--cervena); } .w-karta-text time { color: var(--text2); font-size: .9rem; }
.w-karta-odkaz { display: flex; gap: 1rem; align-items: center; background: var(--bg2); border-radius: 12px; padding: 1rem; text-decoration: none; color: var(--text); }
.w-karta-odkaz img { width: 96px; height: 72px; object-fit: cover; border-radius: 8px; } .w-karta-odkaz span { display: flex; flex-direction: column; } .w-karta-odkaz small { color: var(--text2); }
.w-strankovani { display: flex; gap: .3rem; justify-content: center; margin-top: 2rem; } .w-strankovani a, .w-strankovani strong, .w-strankovani span { padding: .3rem .8rem; border-radius: 6px; text-decoration: none; } .w-strankovani strong { background: var(--cervena); color: #fff; }

/* článek */
.w-clanek-foto { margin: 0 0 1.5rem; } .w-clanek-foto img { width: 100%; height: auto; max-height: 80vh; object-fit: contain; display: block; border-radius: 10px; background: var(--bg2); }
.w-clanek-telo { max-width: 860px; } .w-clanek-telo h1 { margin-top: 1rem; } .w-clanek-meta { color: var(--text2); margin-bottom: 1.5rem; }
.w-text img { max-width: 100%; height: auto; } .w-text iframe { max-width: 100%; }
.w-blok { margin: 0 0 1.6rem; } .w-blok.w-sirsi { max-width: none; }
.w-obrazek img { width: 100%; height: auto; border-radius: 10px; display: block; } .w-obrazek figcaption { color: var(--text2); font-size: .9rem; margin-top: .4rem; }
.w-video { aspect-ratio: 16/9; } .w-video iframe { width: 100%; height: 100%; border: 0; border-radius: 10px; }
.w-galerie { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .5rem; } .w-galerie a { display: block; aspect-ratio: 1; overflow: hidden; border-radius: 8px; background: var(--bg3); }
.w-galerie img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .2s; } .w-galerie a:hover img { transform: scale(1.04); }
.w-odkaz a { display: inline-flex; align-items: center; gap: .6rem; background: var(--bg2); padding: .8rem 1.2rem; border-radius: 10px; text-decoration: none; font-weight: 700; color: var(--text); }
.w-odkaz .w-ikona { width: 12px; height: 12px; border-radius: 50%; background: var(--modra); } .w-odkaz-strava .w-ikona { background: #fc4c02; } .w-odkaz-vysledky .w-ikona { background: var(--cervena); }
.w-odkaz p { margin: .4rem 0 0; color: var(--text2); }
.w-clen { display: flex; gap: 1.2rem; align-items: flex-start; background: var(--bg2); border-radius: 12px; padding: 1.2rem; }
.w-clen-foto { flex: 0 0 96px; width: 96px; height: 96px; border-radius: 50%; overflow: hidden; background: var(--modra); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 2rem; font-weight: 800; text-decoration: none; }
.w-clen-foto img { width: 100%; height: 100%; object-fit: cover; }
.w-clen-text h3 { margin: 0 0 .3rem; } .w-clen-text h3 a { color: var(--text); text-decoration: none; } .w-clen-text p { margin: 0 0 .4rem; }
.w-vysledek strong { color: var(--cervena); font-size: 1.1rem; } .w-vysledek .stitek { margin-left: .5rem; }
.w-odkaz-strava { display: inline-block; font-weight: 700; color: #fc4c02; }
.w-zdroje ul { padding-left: 1.2rem; } .w-sdilet { margin-top: 2rem; }
.w-lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.9); display: flex; align-items: center; justify-content: center; z-index: 100; cursor: zoom-out; } .w-lightbox img { max-width: 96vw; max-height: 94vh; }

/* tabulky */
.w-tabulka { width: 100%; border-collapse: collapse; } .w-tabulka.w-uzka { max-width: 600px; }
.w-tabulka th, .w-tabulka td { padding: .55rem .6rem; border-bottom: 1px solid var(--bg3); text-align: left; vertical-align: top; }
.w-tabulka th { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--text2); }
.w-kalendar td { vertical-align: middle; } .w-kalendar .w-datum { white-space: nowrap; font-weight: 700; }
.w-kalendar th:nth-of-type(1), .w-kalendar td:nth-of-type(1), .w-kalendar th:nth-of-type(2), .w-kalendar td:nth-of-type(2) { width: 170px; }
.w-typ { display: inline-flex; align-items: center; gap: .6rem; } .w-typ i { display: inline-flex; width: 30px; height: 30px; border-radius: 50%; background: var(--text3); color: var(--text2); align-items: center; justify-content: center; font-style: normal; flex: 0 0 30px; }
.w-typ i::before { font: normal normal normal 20px/1 ikony; } .w-typ i.silnice::before { content: "\0053"; } .w-typ i.mtb::before { content: "\0055"; } .w-typ i.beh::before { content: "\0054"; } .w-typ i.cyklokros::before { content: "\0055"; }
.w-minule td:first-child { position: relative; } .w-minule td:first-child::before { content: ""; position: absolute; left: 0; top: 0; height: 100%; width: 3px; background: #a7adb7; }
.w-ucast-bunka { min-width: 10rem; } .w-ucast-tlacitko { white-space: nowrap; } .w-ucast-form { margin: 0; }
.w-ucastnici a.ja { outline: 2px solid var(--cervena); outline-offset: 1px; }
.w-tlacitko-mala { font: inherit; font-size: .8rem; font-weight: 700; padding: .2rem .7rem; border-radius: 999px; border: 1px solid var(--modra); background: #fff; color: var(--modra); cursor: pointer; }
.w-tlacitko-mala:hover { background: var(--modra); color: #fff; } .w-tlacitko-mala.w-odhlasit { border-color: var(--text3); color: var(--text2); } .w-tlacitko-mala.w-odhlasit:hover { background: var(--bg3); color: var(--text); } .w-minule { opacity: .7; } .w-popis { font-size: .9rem; } .w-popis p { margin: .2rem 0; }
.w-ucastnici { display: flex; flex-wrap: wrap; gap: .2rem; } .w-ucastnici a { width: 32px; height: 32px; border-radius: 50%; overflow: hidden; background: var(--modra); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .8rem; font-weight: 700; text-decoration: none; } .w-ucastnici img { width: 100%; height: 100%; object-fit: cover; }
.w-dva-sloupce { display: grid; grid-template-columns: 1fr 1.4fr; gap: 2rem; } @media (max-width: 900px) { .w-dva-sloupce { grid-template-columns: 1fr; } }
.w-zavod { border-bottom: 1px solid var(--bg3); padding: .4rem 0; } .w-zavod summary { cursor: pointer; } .w-zavod .w-datum { color: var(--text2); font-size: .9rem; margin-right: .4rem; }

/* tým */
.w-clenove { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1.2rem; margin-top: 1.5rem; } .w-clenove.w-male { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
.w-clen-karta { text-decoration: none; color: var(--text); text-align: center; } .w-clen-karta img, .w-iniciala { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; display: inline-flex; align-items: center; justify-content: center; background: var(--modra); color: #fff; font-size: 2.4rem; font-weight: 800; margin-bottom: .5rem; }
.w-male .w-clen-karta img, .w-male .w-iniciala { width: 80px; height: 80px; font-size: 1.6rem; } .w-clen-karta strong { display: block; }
.w-byvali { margin-top: 2rem; } .w-byvali summary { cursor: pointer; font-weight: 700; color: var(--text2); }
.w-profil { display: flex; gap: 2rem; align-items: flex-start; margin-bottom: 2rem; } .w-profil img, .w-iniciala.velka { width: 180px; height: 180px; border-radius: 50%; object-fit: cover; flex: 0 0 180px; font-size: 3.5rem; }
@media (max-width: 600px) { .w-profil { flex-direction: column; } }

/* diskuse, fórum */
.w-prispevek { border: 1px solid var(--bg3); border-radius: 10px; padding: 1rem 1.2rem; margin-bottom: 1rem; } .w-prispevek.w-prvni { background: var(--bg2); }
.w-prispevek-hlava { color: var(--text2); font-size: .9rem; margin-bottom: .4rem; } .w-prispevek-hlava strong { color: var(--text); }
.w-prispevek-text p { margin: 0 0 .6rem; } .w-prispevek-text blockquote { border-left: 3px solid var(--text3); margin: .5rem 0; padding-left: .8rem; color: var(--text2); }
.w-formular label { display: block; margin: .6rem 0; font-weight: 600; } .w-formular input, .w-formular textarea { display: block; width: 100%; font: inherit; padding: .5rem .7rem; border: 1px solid var(--text3); border-radius: 8px; margin-top: .2rem; }
.w-formular button { margin-top: .5rem; } .w-nove-vlakno { margin-bottom: 1.5rem; } .w-nove-vlakno summary { list-style: none; width: fit-content; }

/* patička jako v původní šabloně: sponzoři se zeslabenou fotkou a dresem, modrý pruh s grafikou */
.w-sponzori { background: var(--bg3) url("/static/web/bg-sponsors.jpg") no-repeat left top / auto 100%; padding: 2.5rem 0; }
.w-sponzori h2 { text-align: center; margin-bottom: 1.5rem; } .w-sponzori h2 small { color: var(--text2); }
.w-sponzori-radek { display: flex; align-items: center; gap: 2rem; } .w-dres { flex: 0 0 auto; width: 170px; height: auto; }
.w-sponzori-mrizka { display: flex; flex-wrap: wrap; justify-content: space-around; gap: 1.5rem 2rem; align-items: center; flex: 1; }
.w-sponzori-mrizka a, .w-sponzori-mrizka .w-sponzor { text-decoration: none; color: var(--text2); text-align: center; font-size: .85rem; display: block; max-width: 160px; }
.w-sponzori-mrizka img { max-height: 80px; max-width: 150px; width: auto; height: auto; display: block; margin: 0 auto .3rem; } .w-sponzori-mrizka a:hover span { color: var(--cervena); }
@media (max-width: 700px) { .w-sponzori { background-image: none; } .w-sponzori-radek { flex-direction: column; } }
.w-paticka-modra { background: var(--modra) url("/static/web/bg-footer.png") no-repeat 30% 0; color: #fff; }
.w-paticka-radek { display: flex; flex-wrap: wrap; gap: 2rem 3rem; justify-content: space-between; align-items: flex-start; padding: 2rem 20px; font-size: .95rem; }
.w-paticka-radek a { color: #fff; } .w-paticka-titulek { font-size: 1.3rem; font-weight: 700; margin: 0 0 .6rem; padding-bottom: .5rem; border-bottom: 2px solid rgba(255,255,255,.35); }
.w-paticka-radek p { margin: 0; line-height: 1.7; } .w-paticka-copy { align-self: flex-end; opacity: .75; }
.w-socialni { display: flex; gap: .6rem; } .w-socialni a { display: inline-flex; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.15); align-items: center; justify-content: center; text-decoration: none; }
.w-socialni a:hover { background: var(--cervena); } .w-socialni a::before { font: normal normal normal 22px/1 ikony; color: #fff; }
.w-socialni a.facebook::before { content: "\0047"; } .w-socialni a.strava::before { content: "\004e"; } .w-socialni a.twitter::before { content: "\0048"; } .w-socialni a.youtube::before { content: "\0050"; }
@media (max-width: 700px) { .w-paticka-modra { background-image: none; } .w-paticka-radek { flex-direction: column; } }
.w-sekce-sedá { background: var(--bg2); }
.w-sekce-novinky { background: var(--bg2) url("/static/web/bg-news.png") no-repeat calc(15% + 65px) 0; }
@media (max-width: 900px) { .w-sekce-novinky { background-image: none; } }
@font-face { font-family: "ikony"; src: url("/static/web/fonts/icons.woff") format("woff"), url("/static/web/fonts/icons.ttf") format("truetype"); font-weight: normal; font-style: normal; font-display: block; }
.w-ikona-pismo { font: normal normal normal 20px/1 ikony; text-rendering: auto; -webkit-font-smoothing: antialiased; }
.w-hlavicka { background: #fff url("/static/web/bg-header.jpg") no-repeat 15% 0; }
.w-archiv { display: flex; flex-wrap: wrap; gap: .6rem; } .w-archiv a { display: flex; flex-direction: column; text-decoration: none; color: var(--text); background: var(--bg2); border-radius: 10px; padding: .5rem .9rem; line-height: 1.25; }
.w-archiv a:hover { background: var(--bg3); } .w-archiv small { color: var(--text2); font-size: .8rem; }
.w-priloha { margin: .4rem 0 0; } .w-priloha img { max-width: 320px; max-height: 240px; border-radius: 8px; display: block; }
.w-hledani { display: flex; gap: .5rem; align-items: center; margin: 0 0 1rem; flex-wrap: wrap; } .w-hledani input { flex: 1; min-width: 14rem; font: inherit; padding: .5rem .8rem; border: 1px solid var(--text3); border-radius: 999px; }

/* ---- podle původní šablony: titulky s červenou linkou, mřížka novinek s velkou kartou, modrá tabulka, ikony sítí ---- */
.w-titulek h1, .w-titulek h2 { margin: 0; font-size: 1.65rem; } .w-podtitulek { margin: 0 0 1.6rem; padding: 0 0 .9rem; position: relative; color: var(--text2); font-size: .85rem; text-transform: uppercase; letter-spacing: .04em; }
.w-podtitulek::before { content: ""; position: absolute; left: 0; bottom: 0; width: 60px; height: 2px; background: var(--cervena); }
.w-sekce-novinky { padding-top: 0; background: var(--bg2) url("/static/web/bg-news.png") no-repeat calc(15% + 10px) 0 / 480px auto; }
.w-mrizka-novinky { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem; padding-top: 1.4rem; }
.w-karta-hlavni { grid-column: span 2; grid-row: span 1; min-height: 360px; border-radius: 12px; background: var(--modra) center/cover no-repeat; position: relative; display: flex; align-items: flex-end; padding: 1.4rem; text-decoration: none; box-shadow: 0 2px 12px rgba(0,22,53,.12); }
.w-karta-hlavni-titulek { background: var(--cervena); color: #fff; font-weight: 800; font-size: 1.5rem; line-height: 1.2; padding: .7rem 1.1rem; border-radius: 6px; max-width: 90%; }
.w-karta-hlavni-titulek small { display: block; font-size: .8rem; font-weight: 400; opacity: .9; }
@media (max-width: 1000px) { .w-mrizka-novinky { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 600px) { .w-mrizka-novinky { grid-template-columns: 1fr; } .w-karta-hlavni { grid-column: span 1; min-height: 240px; } }
.w-stred { text-align: center; margin: 1.8rem 0 0; } .w-tlacitko.w-sipka { border-radius: 6px; text-transform: uppercase; letter-spacing: .04em; padding: .8rem 1.6rem; } .w-tlacitko.w-sipka::after { content: "  →"; }
.w-tabulka-obal { overflow-x: auto; }
.w-tabulka-modra { border-collapse: separate; border-spacing: 0; } .w-tabulka-modra th { background: var(--modra); color: #fff; text-transform: uppercase; font-size: .8rem; letter-spacing: .04em; padding: .8rem .75rem; border: 0; }
.w-tabulka-modra th.w-th-akce { background: var(--cervena); } .w-tabulka-modra td { padding: .65rem .75rem; border: 0; } .w-tabulka-modra tbody tr:nth-child(even) td { background: var(--bg2); }
.w-tabulka-modra td a { color: var(--cervena); text-decoration: none; } .w-tabulka-modra td a:hover { text-decoration: underline; }
.w-tabulka-modra .w-ucastnici a { width: 30px; height: 30px; background: var(--text3); color: var(--text2); font-size: .7rem; } .w-tabulka-modra .w-ucastnici a.ja { background: var(--modra); color: #fff; outline: 0; }
.w-ucast-odkaz { background: none; border: 0; padding: 0; font: inherit; font-size: .9rem; color: var(--cervena); cursor: pointer; white-space: nowrap; } .w-ucast-odkaz:hover { text-decoration: underline; } .w-ucast-odkaz.w-odhlasit { color: var(--text2); }
.w-kalendar .w-datum { font-weight: 400; }
.w-socialni a { width: 49px; height: 49px; border-radius: 5px; background: rgba(255,255,255,.15); } .w-socialni a::before { font-size: 30px; }
.w-socialni a.facebook { background: #41528B; } .w-socialni a.strava { background: #FE6301; } .w-socialni a.twitter { background: #1DA1F2; } .w-socialni a.twitter::before { font-size: 26px; } .w-socialni a.youtube { background: #e00; } .w-socialni a.youtube::before { font-size: 18px; }
.w-socialni a:hover { filter: brightness(.9); }

/* ==================== parita s původní šablonou (2026-09-19) ==================== */
html { font-size: 16px; }
.w-hlavicka { background: #fff url("/static/web/bg-header.jpg") no-repeat 15% 0; border-bottom: 0; box-shadow: 0 0 30px rgba(0,0,0,.05); }
.w-hlavicka .w-obal { min-height: 90px; }
.w-menu a, .w-rozbal > summary { color: var(--text); text-decoration: none; font-weight: 700; text-transform: uppercase; font-size: .9rem; padding: .5rem .6rem; border-radius: 0; border-bottom: 2px solid transparent; cursor: pointer; list-style: none; }
.w-rozbal > summary::-webkit-details-marker { display: none; }
.w-menu a:hover, .w-menu a.aktivni, .w-rozbal > summary:hover, .w-rozbal > summary.aktivni, .w-rozbal[open] > summary { color: var(--cervena); border-bottom-color: var(--cervena); }
.w-menu .w-ucet { border: 0; padding: .5rem .6rem; color: var(--modra); text-transform: none; font-weight: 600; }
.w-menu .w-interni { position: relative; } .w-menu .w-interni small { position: absolute; top: -.35rem; left: .6rem; font-size: .55rem; color: var(--cervena); text-transform: uppercase; letter-spacing: .05em; }
.w-rozbal { position: relative; } .w-rozbal .w-sipecka::after { content: ""; display: inline-block; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: 0 0 3px 8px; }
.w-rozbal-obsah { position: absolute; top: 100%; left: 0; background: #fff; box-shadow: 0 6px 20px rgba(0,22,53,.15); padding: .4rem 0; min-width: 12rem; z-index: 30; display: flex; flex-direction: column; } .w-rozbal-obsah a { text-transform: none; font-weight: 600; border: 0; padding: .45rem 1rem; } .w-rozbal-obsah a:hover { background: var(--bg2); }
@media (max-width: 900px) { .w-rozbal-obsah { display: flex; position: static; box-shadow: none; padding-left: 1rem; } }
.w-drobky { font-size: .78rem; color: var(--text2); margin: .9rem 0 1.4rem; } .w-drobky a { color: var(--text2); text-decoration: none; } .w-drobky a:hover { color: var(--cervena); }
.w-titulek h1 { text-transform: uppercase; font-size: 1.4rem; letter-spacing: .02em; } .w-titulek h2 { font-size: 1.6rem; }
.w-podtitulek:empty { margin-bottom: 1.6rem; }
.w-btn { display: inline-block; background: var(--cervena); color: #fff !important; text-transform: uppercase; font-weight: 700; font-size: .85rem; letter-spacing: .04em; padding: .85rem 1.5rem; text-decoration: none; }
.w-btn::after { content: "→"; margin-left: .8rem; } .w-btn:hover { background: var(--cervena-tm); } .w-vpravo { text-align: right; margin: 1.5rem 0 0; }
/* karty novinek */
.w-karta { border-radius: 0; box-shadow: 0 0 30px rgba(0,22,53,.06); } .w-karta-foto { aspect-ratio: 5/4.2; }
.w-karta-foto em { border-radius: 0; font-size: .75rem; text-transform: none; padding: .2rem .7rem; left: 1rem; bottom: 1rem; }
.w-karta-text { padding: 1rem 1rem 1.1rem; } .w-karta-text h3 { font-size: 1.05rem; margin-bottom: 1.2rem; }
.w-karta-pata { display: flex; justify-content: space-between; align-items: center; font-size: .8rem; color: var(--text2); } .w-vice { color: var(--text); text-decoration: none; font-weight: 600; } .w-vice span { color: var(--cervena); margin-left: .3rem; } .w-vice:hover { color: var(--cervena); }
.w-mrizka-novinky { grid-template-columns: repeat(3, 1fr); gap: 1.2rem; padding-top: 1.2rem; }
.w-karta-hlavni { grid-column: span 2; border-radius: 0; min-height: 0; aspect-ratio: 2.1/1; padding: 1.3rem; box-shadow: 0 0 30px rgba(0,22,53,.06); }
.w-karta-hlavni-titulek { border-radius: 0; font-size: 1.15rem; padding: .7rem 1rem; }
@media (max-width: 900px) { .w-mrizka-novinky { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 600px) { .w-mrizka-novinky { grid-template-columns: 1fr; } .w-karta-hlavni { grid-column: span 1; aspect-ratio: 1.6/1; } }
.w-sekce-novinky { background: var(--bg2) url("/static/web/bg-news.png") no-repeat calc(15% - 10px) -20px / 460px auto; }
.w-kategorie { display: flex; flex-wrap: wrap; gap: .2rem 1.4rem; margin: 0 0 1.4rem; } .w-kategorie a { font-size: .8rem; font-weight: 700; color: var(--text); text-decoration: none; } .w-kategorie a.aktivni, .w-kategorie a:hover { color: var(--cervena); }
/* kalendář */
.w-tabulka-modra th { font-weight: 600; letter-spacing: .02em; border-right: 1px solid rgba(255,255,255,.25); } .w-tabulka-modra th:last-child { border-right: 0; }
.w-tabulka-modra td { border-bottom: 1px solid var(--bg3); } .w-tabulka-modra tbody tr:nth-child(even) td { background: #f7f8fa; }
/* galerie na úvodu */
.w-galerie-uvod { grid-template-columns: repeat(4, 1fr); gap: 1rem; } .w-galerie-uvod a { border-radius: 0; aspect-ratio: 1.3/1; } @media (max-width: 700px) { .w-galerie-uvod { grid-template-columns: repeat(2, 1fr); } }
/* článek */
.w-clanek-foto { position: relative; margin: 0; } .w-clanek-foto img { width: 100%; height: 515px; max-height: none; object-fit: cover; border-radius: 0; background: var(--bg3); }
.w-orez-top img { object-position: top; } .w-orez-bottom img { object-position: bottom; } .w-orez-center img { object-position: center; }
.w-clanek-foto em { position: absolute; left: 1rem; bottom: 1rem; background: var(--cervena); color: #fff; font-style: normal; font-size: .75rem; font-weight: 700; padding: .2rem .7rem; }
@media (max-width: 700px) { .w-clanek-foto img { height: 240px; } }
.w-clanek-telo { max-width: 800px; margin: 0 auto; padding-top: 2rem; } .w-clanek-meta { display: flex; justify-content: space-between; align-items: center; font-size: .85rem; }
.w-sdilet-odkaz { margin-left: auto; color: var(--text2); text-decoration: none; font-weight: 600; } .w-sdilet-odkaz::before { content: "↗ "; color: var(--cervena); }
.w-blok.w-clen { background: #fff; border-radius: 0; box-shadow: 0 0 30px rgba(0,22,53,.08); padding: 1.6rem; gap: 2rem; }
.w-clen-foto { flex: 0 0 120px; width: 120px; height: 120px; position: relative; overflow: visible; background: var(--bg3); border-radius: 50%; }
.w-clen-foto img { border-radius: 50%; } .w-clen-foto.w-vitez::after { content: "🏆"; position: absolute; right: -4px; bottom: 4px; width: 32px; height: 32px; border-radius: 50%; background: #fff; box-shadow: 0 1px 6px rgba(0,0,0,.2); display: flex; align-items: center; justify-content: center; font-size: 16px; }
.w-clen-text h3 { font-size: 1.15rem; padding-bottom: .7rem; margin-bottom: .9rem; position: relative; } .w-clen-text h3::after { content: ""; position: absolute; left: 0; bottom: 0; width: 50px; height: 2px; background: var(--cervena); }
.w-vysledek { font-size: .9rem; line-height: 1.7; } .w-vysledek strong { color: var(--text); font-size: .95rem; }
.w-odkaz-strava { display: inline-flex; align-items: center; gap: .6rem; color: var(--text); text-decoration: none; font-weight: 700; margin-top: .6rem; }
.w-odkaz-strava .w-odkaz-ikona { width: 26px; height: 26px; background: #FE6301; display: inline-flex; align-items: center; justify-content: center; } .w-odkaz-strava .w-odkaz-ikona::before { content: "\004e"; font: normal normal normal 16px/1 ikony; color: #fff; }
.w-odkaz-strava.w-jiny .w-odkaz-ikona { background: var(--modra); } .w-odkaz-strava.w-jiny .w-odkaz-ikona::before { content: "→"; font: 700 14px/1 Cairo, sans-serif; }
.w-odkaz-box { display: flex; align-items: stretch; background: #fff; box-shadow: 0 0 30px rgba(0,22,53,.08); text-decoration: none; color: var(--text); }
.w-odkaz-box .w-odkaz-ikona { flex: 0 0 150px; background: var(--cervena); display: flex; align-items: center; justify-content: center; min-height: 110px; } .w-odkaz-box .w-odkaz-ikona::before { content: "☰"; color: #fff; font-size: 2.2rem; }
.w-odkaz-strava-box .w-odkaz-ikona, .w-odkaz-box.w-odkaz-strava .w-odkaz-ikona { background: #FE6301; } .w-odkaz-box.w-odkaz-strava .w-odkaz-ikona::before { content: "\004e"; font: normal normal normal 40px/1 ikony; }
.w-odkaz-box.w-odkaz-ct-sport .w-odkaz-ikona { background: var(--modra); } .w-odkaz-box.w-odkaz-ct-sport .w-odkaz-ikona::before { content: "▶"; }
.w-odkaz-text { padding: 1.4rem 1.6rem; display: flex; flex-direction: column; justify-content: center; } .w-odkaz-text strong { font-size: 1.1rem; position: relative; padding-bottom: .6rem; margin-bottom: .4rem; }
.w-odkaz-text strong::after { content: ""; position: absolute; left: 0; bottom: 0; width: 50px; height: 2px; background: var(--cervena); } .w-odkaz-text small { color: var(--text2); }
@media (max-width: 600px) { .w-blok.w-clen { flex-direction: column; align-items: center; text-align: center; } .w-clen-text h3::after { left: 50%; transform: translateX(-50%); } }
/* tým */
.w-uzky-sloupec { max-width: 800px; margin: 0 auto; }
.w-clenove { grid-template-columns: repeat(3, 1fr); gap: 1.2rem; } .w-clen-karta { background: #fff; box-shadow: 0 0 30px rgba(0,22,53,.06); padding: 1.5rem 1rem 1.2rem; }
.w-clen-karta img, .w-iniciala { width: 120px; height: 120px; } .w-clen-karta strong { color: var(--modra); position: relative; padding-bottom: .7rem; }
.w-clen-karta strong::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); bottom: 0; width: 44px; height: 2px; background: var(--cervena); }
@media (max-width: 600px) { .w-clenove { grid-template-columns: repeat(2, 1fr); } }
.w-odkaz-tlacitko { background: none; border: 0; padding: 0; color: #fff; font: inherit; cursor: pointer; text-decoration: underline; }
.w-poznamka { color: var(--text2); font-style: italic; font-size: .85rem; } .w-smazany { background: var(--bg2); }
.w-uprava { display: inline-block; margin-left: .8rem; } .w-uprava summary { cursor: pointer; color: var(--modra); font-size: .85rem; list-style: none; } .w-uprava summary::before { content: "✎ "; }
.w-uprava form { margin-top: .5rem; width: min(640px, 80vw); } .w-uprava .radek { display: flex; gap: 1rem; align-items: center; margin-top: .5rem; }
.w-odkaz-smazat { background: none; border: 0; padding: 0; font: inherit; font-size: .9rem; color: var(--cervena); cursor: pointer; text-decoration: underline; }
.w-h2 { font-size: 1.2rem; margin: 2rem 0 .8rem; } .w-h2 small { font-size: .8rem; font-weight: 400; }
.w-tabulka .stred { text-align: center; } .w-tabulka tr.neklas td { color: var(--text2); } .w-tabulka td.skrtnuto { color: var(--text2); text-decoration: line-through; }
.w-pohar th, .w-pohar td, .w-vysledky th, .w-vysledky td { white-space: nowrap; }
.w-starty th, .w-starty td { white-space: nowrap; } .w-starty tfoot th { background: var(--bg3); color: var(--text); text-transform: none; font-size: .9rem; }
.w-proplaceno td { color: var(--text2); } .w-start-form { width: min(760px, 85vw); } .w-start-form .mrizka-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .3rem .8rem; }
.w-formular .mrizka-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .3rem 1rem; }
.w-uprava-radek td { background: var(--bg2) !important; white-space: normal; padding: 1rem 1.2rem; } .w-uprava-radek .w-start-form { width: auto; }
.w-uprava-radek .radek { display: flex; gap: 1rem; align-items: center; margin-top: .6rem; }
.w-odkaz-strava-mini { color: #FE6301; font-weight: 700; text-decoration: none; margin-left: .6rem; }
.w-menu-mezera { flex: 1 0 .5rem; } .w-menu .w-prihlasit { color: var(--text2); }
.w-menu .w-odhlasit { background: none; border: 0; font: inherit; font-weight: 700; text-transform: uppercase; font-size: .9rem; color: var(--text2); cursor: pointer; padding: .5rem .6rem; } .w-menu .w-odhlasit:hover { color: var(--cervena); }
.w-menu .w-ucet { margin-left: 0; }
@media (max-width: 900px) { .w-menu-mezera { display: none; } }
.w-ucet-blok { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.1; }
.w-ucet-blok .w-ucet { padding: .2rem 0 0; border: 0; } .w-ucet-blok .w-odhlasit { padding: .1rem 0 0; font-size: .72rem; font-weight: 600; }
.w-akce-obrazek { position: relative; color: var(--text) !important; text-decoration: underline dotted; }
.w-nahled-akce { display: none; position: absolute; left: 0; top: 100%; z-index: 40; background: #fff; padding: .3rem; box-shadow: 0 6px 24px rgba(0,22,53,.25); }
.w-nahled-akce img { display: block; max-width: 360px; max-height: 360px; } .w-akce-obrazek:hover .w-nahled-akce, .w-akce-obrazek:focus .w-nahled-akce { display: block; }
.w-akce-form .mrizka-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .3rem .8rem; } .w-akce-form details { margin: .4rem 0; }
.w-lightbox-zavrit { position: absolute; top: 12px; right: 18px; color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; opacity: .8; } .w-lightbox-zavrit:hover { opacity: 1; }
.w-duplikat { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; margin-top: .8rem; padding-top: .8rem; border-top: 1px dashed var(--text3); } .w-duplikat label { margin: 0; display: flex; align-items: center; gap: .5rem; } .w-duplikat input { width: auto; }

.w-start-vysledky { font-size: .8rem; margin-left: .3rem; opacity: .75; } .w-body-odkaz { color: inherit; text-decoration: none; border-bottom: 1px dotted var(--modra); }

.w-lightbox-sipka { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,.45); color: #fff; border: 0; font-size: 3rem; line-height: 1; width: 56px; height: 80px; cursor: pointer; opacity: .85; border-radius: 6px; }
.w-lightbox-sipka:hover { opacity: 1; background: rgba(0,0,0,.7); } .w-lightbox-vlevo { left: 12px; } .w-lightbox-vpravo { right: 12px; }
.w-lightbox-pocet { position: absolute; bottom: 14px; left: 0; right: 0; text-align: center; color: #fff; opacity: .8; font-size: .9rem; }
@media (max-width: 600px) { .w-lightbox-sipka { width: 40px; height: 60px; font-size: 2.2rem; } }

/* obrázky vložené za sebou: mřížka jako galerie, popisek pod dlaždicí */
.w-obrazky { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .8rem; align-items: start; }
.w-obrazky figure { margin: 0; } .w-obrazky figcaption { color: var(--text2); font-size: .85rem; margin-top: .3rem; }

/* reakce v diskusi */
.w-reakce { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin-top: .6rem; }
.w-reakce button { font: inherit; cursor: pointer; border: 1px solid #d6dbe3; background: #fff; border-radius: 999px; padding: .1rem .55rem; line-height: 1.6; }
.w-reakce button:hover { border-color: var(--modra); }
.w-reakce .moje { border-color: var(--modra); background: #e8f0fb; font-weight: 600; }
.w-reakce-pocet span { font-size: .85em; }
.w-reakce-vyber { position: relative; }
.w-reakce-vyber summary { list-style: none; cursor: pointer; border: 1px dashed #c3cad6; border-radius: 999px; padding: .1rem .55rem; color: #6b7686; font-size: .9em; }
.w-reakce-vyber summary::-webkit-details-marker { display: none; }
.w-reakce-vyber > div { position: absolute; z-index: 5; bottom: calc(100% + .3rem); left: 0; display: flex; gap: .2rem; background: #fff; border: 1px solid #d6dbe3; border-radius: 999px; padding: .25rem .4rem; box-shadow: 0 4px 14px rgba(0,0,0,.12); white-space: nowrap; }
.w-reakce-vyber > div button { border: 0; font-size: 1.25rem; padding: .05rem .3rem; background: transparent; }
.w-reakce-vyber > div button:hover { transform: scale(1.25); }
