/* Tvoje Louny – základ z návrhu (Claude Design) + prvky, které návrh řešil v komponentě. */

:root{
  --navy:#0B0230; --navy-2:#12043F; --ink:#EDE9FF; --muted:rgba(237,233,255,.72);
  --line:rgba(255,255,255,.14); --accent:#FFCC00; --petrol:#FFCC00; --sand:rgba(255,255,255,.05);
  --glass:rgba(255,255,255,.06);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#0B0230;color:#EDE9FF;font-family:'Space Grotesk',system-ui,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:#FFCC00;text-decoration:none}
a:hover{color:#fff}
button{font-family:inherit;cursor:pointer}
input,textarea,select{font-family:inherit}
h1,h2,h3,h4{font-family:'Poppins',system-ui,sans-serif;font-weight:800;margin:0;letter-spacing:-.02em}
img{max-width:100%}
[hidden]{display:none!important}
::selection{background:#FFCC00;color:#12043F}
:focus-visible{outline:2px solid #FFCC00;outline-offset:2px}

/* „vlnka" pod tlačítky (z návrhu) */
.tl-water{position:relative;overflow:hidden}
.tl-water>span{position:relative;z-index:3}
.tl-water::before,.tl-water::after{content:"";position:absolute;left:-30%;width:160%;height:220%;bottom:-215%;background:#fff;border-radius:44% 46% 0 0 / 22% 20% 0 0;transition:bottom .55s cubic-bezier(.33,.72,.28,1);z-index:1;pointer-events:none}
.tl-water::after{background:rgba(255,255,255,.55);border-radius:46% 44% 0 0 / 26% 24% 0 0;z-index:2;transition-duration:.75s}
.tl-water:hover::before{bottom:-118%;animation:tlwave 3.1s ease-in-out infinite}
.tl-water:hover::after{bottom:-112%;animation:tlwave 2.3s ease-in-out infinite reverse}
@keyframes tlwave{0%,100%{transform:translateX(-4%) rotate(-1.2deg)}50%{transform:translateX(4%) rotate(1.2deg)}}
@media (prefers-reduced-motion:reduce){.tl-water:hover::before,.tl-water:hover::after{animation:none}}

.tl-skip{position:absolute;left:-9999px;top:0;background:#FFCC00;color:#12043F;padding:10px 16px;border-radius:0 0 12px 0;font-weight:700;z-index:200}
.tl-skip:focus{left:0}

/* --- hlavička a navigace --- */
.tl-header{position:sticky;top:0;z-index:50;background:rgba(11,2,48,.62);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%)}
.tl-header-in{max-width:1240px;margin:0 auto;padding:12px clamp(12px,3vw,28px);display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;justify-content:space-between}
.tl-nav{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:14px;font-weight:500}
.tl-nav a{padding:8px 12px;border-radius:12px;color:#EDE9FF}
.tl-nav .tl-cta{padding:9px 16px;background:#FFCC00;color:#12043F;font-weight:700}
.tl-burger{display:none;width:44px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:18px}
.tl-main{max-width:1240px;margin:0 auto;padding:0 clamp(12px,3vw,28px) 60px;display:flex;flex-direction:column;gap:clamp(48px,7vw,88px)}
@media (max-width:900px){
  .tl-burger{display:block}
  .tl-nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:2px}
  .tl-nav.open{display:flex}
  .tl-nav a{padding:12px 14px}
}

/* --- patička --- */
.tl-footer{border-top:1px solid rgba(255,255,255,.1);background:rgba(11,2,48,.6);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%)}
.tl-footer-in{max-width:1240px;margin:0 auto;padding:32px clamp(12px,3vw,28px);display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.tl-foot-btn{padding:10px 16px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:13px;font-weight:600}

/* --- boční lišta sítí --- */
.tl-social-rail{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:10px}
.tl-glass-btn{width:50px;height:50px;display:grid;place-items:center;border-radius:18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:0 18px 40px -22px rgba(0,0,0,.9);color:#fff}
@media (max-width:1100px){.tl-social-rail{display:none}}

/* --- Benedikt: chat, bublina, tlačítko --- */
.tl-chat-dock{position:fixed;right:18px;bottom:20px;z-index:70;display:flex;flex-direction:column;align-items:end;gap:12px}
.tl-chat-panel{width:min(92vw,380px);height:min(74vh,560px);display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:rgba(11,2,48,.94);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);box-shadow:0 34px 90px -30px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.22)}
.tl-chat-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05)}
.tl-chat-ava{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px 14px 5px 14px;background:#FFCC00}
.tl-smile{display:block;width:22px;height:20px;background:#12043F;-webkit-mask:url(/uploads/smile.png) center/contain no-repeat;mask:url(/uploads/smile.png) center/contain no-repeat}
.tl-smile-lg{width:38px;height:34px}
.tl-chat-x{width:32px;height:32px;flex:0 0 auto;border-radius:11px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font-size:15px;line-height:1}
.tl-chat-log{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.tl-chat-foot{padding:12px 14px 14px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:10px}
.tl-chat-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}
.tl-chat-chips button{flex:0 0 auto;padding:8px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:rgba(237,233,255,.86);font-size:12px;font-weight:500;white-space:nowrap}
.tl-chat-chips button:hover{background:rgba(255,255,255,.18);color:#fff}
.tl-chat-input{flex:1;min-width:0;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;font-size:14px}
.tl-chat-send{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border:none;border-radius:14px;background:#FFCC00;color:#12043F;font-size:17px;font-weight:700}
.tl-chat-fab{width:66px;height:66px;flex:0 0 auto;display:grid;place-items:center;border:none;border-radius:26px 26px 8px 26px;background:#FFCC00;box-shadow:0 22px 50px -20px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.5)}
.tl-tip-bubble{max-width:min(78vw,300px);padding:16px 18px;border-radius:22px 22px 6px 22px;background:rgba(11,2,48,.86);border:1px solid rgba(255,204,0,.4);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:0 24px 60px -30px rgba(0,0,0,.95);position:relative}
.tl-tip-x{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:8px;border:none;background:rgba(255,255,255,.1);color:#fff;font-size:13px;line-height:1}
/* bubliny zpráv */
.tl-msg{display:flex;justify-content:flex-start}
.tl-msg>div{max-width:min(88%,560px);padding:13px 16px;font-size:14px;line-height:1.55;white-space:pre-wrap;border-radius:18px 18px 18px 6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#EDE9FF}
.tl-msg.me{justify-content:flex-end}
.tl-msg.me>div{border-radius:18px 18px 6px 18px;background:#FFCC00;border:none;color:#12043F;font-weight:500}
.tl-msg a{text-decoration:underline;word-break:break-word}
.tl-msg.me a{color:#12043F}

/* --- souhlas s cookies --- */
.tl-cookies{position:fixed;left:12px;right:12px;bottom:12px;z-index:120;max-width:760px;margin:0 auto;padding:18px 20px;border-radius:22px;background:rgba(11,2,48,.94);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(24px);box-shadow:0 30px 80px -30px rgba(0,0,0,.95);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.tl-cookies p{margin:0;font-size:13px;line-height:1.55;color:rgba(237,233,255,.86);max-width:52ch}
.tl-cookies .row{display:flex;gap:8px;flex-wrap:wrap}
.btn{padding:11px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font-size:13px;font-weight:600}
.btn-navy{background:#FFCC00;border-color:#FFCC00;color:#12043F;font-weight:700}
.btn:hover{background:rgba(255,255,255,.2)}
.btn-navy:hover{background:#fff;color:#12043F}

/* --- druhé stránky (aktuality, článek, redakce, o projektu) --- */
.tl-page{max-width:900px;margin:0 auto;padding:8px 0 40px}
.tl-page h1{font-size:clamp(30px,5vw,48px);line-height:1.05;color:#fff;margin:0 0 14px}
.tl-page h2{font-size:clamp(20px,3vw,28px);color:#fff;margin:34px 0 10px}
.tl-page p,.tl-page li{font-size:16px;line-height:1.7;color:rgba(237,233,255,.86)}
.tl-crumbs{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(237,233,255,.6);display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.tl-crumbs span:last-child{color:#fff}

.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.news-card{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--glass);border:1px solid var(--line);color:#EDE9FF}
.news-card:hover{border-color:rgba(255,204,0,.5)}
.news-card .ph{aspect-ratio:16/9;background:linear-gradient(140deg,rgba(122,75,255,.35),rgba(255,204,0,.12));border-bottom:1px solid var(--line)}
.news-card .ph img{width:100%;height:100%;object-fit:cover;display:block}
.news-card .body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.news-card .tag{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#FFCC00}
.news-card h3{font-size:17px;line-height:1.25;color:#fff}
.news-card p{margin:0;font-size:13px;line-height:1.5;color:rgba(237,233,255,.72)}
.news-card .date{margin-top:auto;font-size:11px;font-weight:500;color:rgba(237,233,255,.5)}

.art-list{margin:0 0 18px;padding-left:22px}
.art-list li{margin-bottom:8px}
.art-fig{margin:26px 0}
.art-fig img{border-radius:18px;display:block;width:100%}
.art-fig figcaption{margin-top:8px;font-size:13px;color:rgba(237,233,255,.6)}
.art-video,.art-embed{position:relative;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.05)}
.art-video{aspect-ratio:16/9}
.art-embed{min-height:460px}
.art-video iframe,.art-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.card{background:var(--glass);border:1px solid var(--line);border-radius:22px;padding:20px}
.card.chart .rows{display:flex;flex-direction:column;gap:10px}
.card.chart .row{display:grid;grid-template-columns:minmax(90px,30%) 1fr auto;gap:12px;align-items:center}
.card.chart .lbl{font-size:12px;font-weight:500;color:rgba(237,233,255,.86)}
.card.chart .row.hi .lbl,.card.chart .row.hi .val{color:#FFCC00;font-weight:700}
.card.chart .bar{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.card.chart .bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7A4BFF,#B08CFF)}
.card.chart .bar i.g1{background:linear-gradient(90deg,#FFCC00,#FFE066)}
.card.chart .bar i.g2{background:linear-gradient(90deg,#FF6BAA,#FFA6C9)}
.card.chart .val{font-size:12px;font-weight:700;text-align:right;color:#fff}
.art-chart{margin:26px 0}

/* redakce aktualit */
.tb{width:100%;border-collapse:collapse;font-size:14px}
.tb th,.tb td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);color:rgba(237,233,255,.86)}
.tb th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(237,233,255,.6)}
.err{background:rgba(255,107,170,.18);border:1px solid rgba(255,107,170,.4);color:#fff;border-radius:12px;padding:11px 14px;font-size:14px;margin-bottom:12px}
.note{margin-top:16px;font-size:13px;color:rgba(237,233,255,.66)}
.sub{color:rgba(237,233,255,.72);font-size:16px}
.upl-list{font-size:13px;color:rgba(237,233,255,.8);word-break:break-all}
label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(237,233,255,.6);margin:14px 0 6px}
.tl-page input[type=text],.tl-page input[type=email],.tl-page input[type=password],.tl-page input[type=date],.tl-page input[type=number],.tl-page textarea,.tl-page select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;font-size:15px}
.tl-page textarea{min-height:180px;resize:vertical}

.ad{display:block;margin:26px 0;text-align:center}
.ad-label{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(237,233,255,.5);margin-bottom:6px}

/* --- detail akce z kalendáře (/akce/{id}) --- */
.tl-ev-hero{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:16/9;border:1px solid rgba(255,255,255,.14)}
.tl-ev-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tl-ev-hero-alt{position:absolute;left:0;bottom:0;padding:22px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.tl-ev-facts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
.tl-ev-facts span{display:flex;align-items:center;gap:9px;padding:11px 16px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);font-size:15px;color:#fff}
.tl-ev-facts strong{font-family:'Poppins',system-ui,sans-serif;font-weight:600}
.tl-ev-btn{display:inline-block;padding:12px 20px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:14px;font-weight:600}
.tl-ev-btn:hover{background:rgba(255,255,255,.14);color:#fff}
.tl-ev-btn-main{display:inline-block;padding:14px 24px;border-radius:16px;background:#FFCC00;color:#12043F;font-weight:700;font-size:14px}
.tl-ev-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:34px 0 0}
.tl-ev-rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:18px}
.tl-ev-rel a{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#fff}
.tl-ev-rel a:hover{background:rgba(255,255,255,.1)}
.tl-ev-rel-img{position:relative;display:block;aspect-ratio:16/9}
.tl-ev-rel-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tl-ev-rel-txt{display:flex;flex-direction:column;gap:6px;padding:16px}
.tl-ev-rel-date{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#FFCC00}
.tl-ev-rel-title{font-family:'Poppins',system-ui,sans-serif;font-size:17px;font-weight:600;line-height:1.25}
.tl-ev-rel-venue{font-size:13px;color:rgba(237,233,255,.7)}

/* --- redakce aktualit (/admin/aktuality) --- */
.tl-adm{max-width:1240px}
.tl-adm-head{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;justify-content:space-between;margin-bottom:22px}
.tl-adm-head h1{margin:0 0 8px}
.tl-adm-head .sub{margin:0;max-width:60ch;font-size:15px;line-height:1.6}
.tl-adm-head-btns{display:flex;flex-wrap:wrap;gap:10px}
.tl-adm-ok{background:rgba(0,214,143,.16);border:1px solid rgba(0,214,143,.42);color:#fff;border-radius:12px;padding:11px 14px;font-size:14px;margin-bottom:14px}
.tl-adm-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:26px;align-items:start}
.tl-adm-form{padding:26px}
.tl-adm-form>label:first-of-type{margin-top:0}
.tl-adm-h2{font-size:19px;color:#fff;margin:0 0 4px}
.tl-adm-hint{font-weight:400;letter-spacing:0;text-transform:none;color:rgba(237,233,255,.45)}
.tl-adm-row2,.tl-adm-row3{display:grid;gap:14px}
.tl-adm-row2{grid-template-columns:1fr 1fr}
.tl-adm-row3{grid-template-columns:1fr 1fr 1fr}
.tl-adm-row2>div>label,.tl-adm-row3>div>label{margin-top:14px}
.tl-adm-perex{min-height:84px}
.tl-adm-body{min-height:360px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.55}
.tl-adm-file{width:100%;padding:10px 12px;border-radius:12px;border:1px dashed rgba(255,255,255,.24);background:rgba(255,255,255,.04);color:rgba(237,233,255,.8);font-size:13px}
.tl-adm-file::file-selector-button{margin-right:12px;padding:8px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.1);color:#fff;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}

/* lišta vkládacích tlačítek nad textem */
.tl-adm-tb{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.tl-adm-tb button{padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;font-size:12px;font-weight:600}
.tl-adm-tb button:hover{background:#FFCC00;border-color:#FFCC00;color:#12043F}

.tl-adm-help{margin:10px 0 0;font-size:13px;color:rgba(237,233,255,.7)}
.tl-adm-help summary{cursor:pointer;color:#FFCC00;font-weight:600}
.tl-adm-help>div{margin-top:10px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.tl-adm-help p{font-size:13px;line-height:1.6;margin:0 0 10px}
.tl-adm-help p:last-child{margin:10px 0 0}
.tl-adm-help .tb td{padding:7px 10px;font-size:13px;vertical-align:top}
.tl-adm-help .tb td:first-child{white-space:nowrap;width:1%}
.tl-adm-help code,.tl-adm-upl code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:rgba(255,204,0,.14);border:1px solid rgba(255,204,0,.28);border-radius:7px;padding:2px 6px;color:#FFE066}
.tl-adm-upl{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tl-adm-upl strong{color:#fff;font-size:13px;font-weight:600}
.tl-adm-upl code{cursor:pointer}
.tl-adm-upl code:hover{background:#FFCC00;color:#12043F}
.tl-adm-cur{margin-top:10px;display:flex;gap:10px;align-items:center;font-size:12px;word-break:break-all}
.tl-adm-cur img{width:64px;height:48px;object-fit:cover;border-radius:10px;flex:none;border:1px solid rgba(255,255,255,.16)}

.tl-adm-checks{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.tl-adm-check{display:flex;align-items:center;gap:10px;margin:0;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);text-transform:none;letter-spacing:0;font-size:14px;color:#fff;cursor:pointer}
.tl-adm-check input{width:18px;height:18px;accent-color:#FFCC00;flex:none}
.tl-adm-check:hover{background:rgba(255,255,255,.09)}

.tl-adm-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.tl-adm-save{position:relative;padding:14px 26px;border:0;border-radius:16px;background:#FFCC00;color:#12043F;font-family:'Poppins',system-ui,sans-serif;font-weight:700;font-size:14px}

/* pravý sloupec – seznam aktualit */
.tl-adm-side{position:sticky;top:16px}
.tl-adm-count{display:inline-block;margin-left:6px;padding:3px 10px;border-radius:999px;background:rgba(255,204,0,.16);border:1px solid rgba(255,204,0,.34);color:#FFCC00;font-size:12px;font-weight:700}
.tl-adm-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;max-height:calc(100vh - 140px);overflow-y:auto;padding-right:4px}
.tl-adm-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.tl-adm-item.on{border-color:#FFCC00;background:rgba(255,204,0,.1)}
.tl-adm-item:hover{background:rgba(255,255,255,.08)}
.tl-adm-thumb{position:relative;display:block;width:64px;height:48px;border-radius:10px;overflow:hidden;background:linear-gradient(140deg,rgba(122,75,255,.4),rgba(255,204,0,.16));border:1px solid rgba(255,255,255,.12)}
.tl-adm-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tl-adm-item-txt{min-width:0}
.tl-adm-item h3{font-size:14px;line-height:1.3;color:#fff;font-weight:600;margin:0}
.tl-adm-star{color:#FFCC00}
.tl-adm-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:5px;font-size:12px;color:rgba(237,233,255,.6)}
.tl-adm-tag{padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.tl-adm-draft{padding:2px 8px;border-radius:999px;background:rgba(255,107,170,.18);border:1px solid rgba(255,107,170,.4);color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.tl-adm-item-btns{display:flex;flex-direction:column;gap:6px}
.tl-adm-mini{padding:7px 11px;font-size:12px;border-radius:10px;white-space:nowrap}
.tl-adm-del{color:rgba(237,233,255,.7);width:100%}
.tl-adm-del:hover{background:rgba(255,107,170,.28);border-color:rgba(255,107,170,.5);color:#fff}

@media (max-width:960px){
  .tl-adm-grid{grid-template-columns:1fr}
  .tl-adm-side{position:static}
  .tl-adm-list{max-height:none}
  .tl-adm-row3{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .tl-adm-row2,.tl-adm-row3{grid-template-columns:1fr}
  .tl-adm-item{grid-template-columns:64px minmax(0,1fr)}
  .tl-adm-item-btns{grid-column:1/-1;flex-direction:row}
}

/* --- samostatná stránka kalendáře (/kalendar) --- */
.tl-cal{max-width:1240px;margin:0 auto;padding:8px 0 40px}
.tl-cal-head{margin:0 0 26px}
.tl-cal-kicker{font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#FFCC00;margin-bottom:10px}
.tl-cal-head h1{font-size:clamp(32px,6vw,60px);line-height:1.02;color:#fff;margin:0}
.tl-cal-head p{margin:14px 0 0;max-width:66ch;font-size:16px;line-height:1.65;color:rgba(237,233,255,.78)}
.tl-cal-presets{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.tl-cal-chip{padding:11px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;font-size:13px;font-weight:600}
.tl-cal-chip:hover{background:rgba(255,255,255,.14);color:#fff}
.tl-cal-chip.on{background:#FFCC00;border-color:#FFCC00;color:#12043F;font-weight:700}
.tl-cal-chip.sm{padding:7px 13px;font-size:12px}
.tl-cal-chip b{font-weight:700;opacity:.55;margin-left:3px}
.tl-cal-ics{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;border:1px solid rgba(255,204,0,.45);background:rgba(255,204,0,.1);color:#FFCC00;font-size:13px;font-weight:700}
.tl-cal-ics:hover{background:#FFCC00;color:#12043F}
.tl-cal-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:14px;align-items:end;padding:20px;border-radius:22px;background:var(--glass);border:1px solid var(--line);margin-bottom:16px}
.tl-cal-form label{margin:0 0 6px}
.tl-cal-form input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;font-size:15px}
.tl-cal-form input:focus{outline:none;border-color:#FFCC00}
.tl-cal-submit{position:relative;display:inline-block;padding:14px 26px;border:0;border-radius:16px;background:#FFCC00;color:#12043F;font-family:'Poppins',system-ui,sans-serif;font-weight:700;font-size:14px;white-space:nowrap}
.tl-cal-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.tl-cal-count{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding:14px 0 22px;font-size:14px;color:rgba(237,233,255,.66)}
.tl-cal-count strong{color:#FFCC00}
.tl-cal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.tl-cal-card{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}
.tl-cal-card:hover{background:rgba(255,255,255,.1);border-color:rgba(255,204,0,.4);color:#fff}
.tl-cal-img{position:relative;display:block;aspect-ratio:16/10;border-bottom:1px solid rgba(255,255,255,.12)}
.tl-cal-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tl-cal-img-alt{position:absolute;left:0;bottom:0;padding:14px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.tl-cal-badge{position:absolute;top:12px;left:12px;padding:5px 11px;border-radius:999px;background:#FFCC00;color:#12043F;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.tl-cal-time{position:absolute;top:12px;right:12px;padding:5px 11px;border-radius:999px;background:rgba(11,2,48,.82);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:11px;font-weight:700}
.tl-cal-body{display:flex;flex-direction:column;gap:9px;padding:18px;flex:1}
.tl-cal-date{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#FFCC00}
.tl-cal-title{font-family:'Poppins',system-ui,sans-serif;font-size:18px;font-weight:600;line-height:1.24;letter-spacing:-.01em;color:#fff}
.tl-cal-desc{font-size:14px;line-height:1.5;color:rgba(237,233,255,.74);flex:1}
.tl-cal-venue{display:flex;align-items:center;gap:7px;font-size:13px;color:rgba(237,233,255,.86)}
.tl-cal-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:4px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.16);font-size:11px;letter-spacing:.06em;color:rgba(237,233,255,.55)}
.tl-cal-more{color:#FFCC00;font-weight:700}
.tl-cal-empty{padding:64px 28px;text-align:center;border-radius:26px;border:1px dashed rgba(255,255,255,.22);background:rgba(255,255,255,.04)}
.tl-cal-empty h2{font-size:26px;color:#fff;margin:0 0 10px}
.tl-cal-empty p{max-width:44ch;margin:0 auto 22px;font-size:16px;line-height:1.6;color:rgba(237,233,255,.72)}
.tl-cal-note{margin-top:26px;padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);font-size:14px;line-height:1.65;color:rgba(237,233,255,.78)}
.tl-cal-note strong{color:#FFCC00}
@media (max-width:820px){
  .tl-cal-form{grid-template-columns:1fr 1fr}
  .tl-cal-submit{grid-column:1/-1}
  .tl-cal-ics{margin-left:0}
}
@media (max-width:520px){.tl-cal-form{grid-template-columns:1fr}}

/* --- „Zobrazit další" u dlouhých seznamů na úvodu --- */
.tl-hid{display:none!important}
.tl-more{display:block;margin:16px auto 0;padding:13px 26px;border-radius:14px;border:1px solid rgba(255,204,0,.45);background:rgba(255,204,0,.1);color:#FFCC00;font-family:'Poppins',system-ui,sans-serif;font-size:13px;font-weight:700;letter-spacing:.04em}
.tl-more:hover{background:#FFCC00;color:#12043F;border-color:#FFCC00}

/* --- formulář „nahlásit akci do kalendáře" (/pridat + sekce na úvodu) --- */
.tl-add{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;align-items:start}
.tl-add-full{grid-column:1/-1}
.tl-add-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.tl-add label{margin:0 0 6px}
.tl-add-hint{font-weight:400;letter-spacing:0;text-transform:none;color:rgba(237,233,255,.45)}
.tl-add input[type=text],.tl-add input[type=email],.tl-add input[type=url],.tl-add input[type=date],.tl-add input[type=time],.tl-add select,.tl-add textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;font-size:15px;font-family:inherit}
.tl-add textarea{resize:vertical;min-height:0}
.tl-add input:focus,.tl-add select:focus,.tl-add textarea:focus{outline:none;border-color:#FFCC00}
.tl-add select option{background:#12043F;color:#fff}
.tl-add-consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 0;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);text-transform:none;letter-spacing:0;font-size:13px;line-height:1.5;color:rgba(237,233,255,.82);cursor:pointer}
.tl-add-consent input{width:18px;height:18px;flex:none;margin-top:1px;accent-color:#FFCC00}
.tl-add-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:6px}
.tl-add-btn{position:relative;padding:14px 28px;border:0;border-radius:16px;background:#FFCC00;color:#12043F;font-family:'Poppins',system-ui,sans-serif;font-weight:700;font-size:14px}
.tl-add-note{font-size:12px;color:rgba(237,233,255,.6)}
.tl-add-page .tl-add{margin-top:8px}
.tl-add-ok{padding:30px 28px;border-radius:24px;background:rgba(0,214,143,.12);border:1px solid rgba(0,214,143,.4)}
.tl-add-ok h2{margin:0 0 8px;font-size:24px;color:#fff}
.tl-add-ok p{margin:0;font-size:16px;line-height:1.6}
.tl-add-ok-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
@media (max-width:640px){.tl-add{grid-template-columns:1fr}}

/* --- inzerce „Prodám, koupím, hledám" --- */
.tl-inz-head{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end;justify-content:space-between;margin:0 0 22px}
.tl-inz-head h1{font-size:clamp(32px,6vw,60px);line-height:1.02;color:#fff;margin:0}
.tl-inz-head p{margin:14px 0 0;max-width:66ch;font-size:16px;line-height:1.65;color:rgba(237,233,255,.78)}
.tl-inz-form{grid-template-columns:repeat(2,minmax(0,1fr)) repeat(3,minmax(0,.7fr)) auto}
.tl-inz-f-wide{grid-column:span 1}
.tl-inz-form input[type=search]{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;font-size:15px}
.tl-inz-form select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;font-size:15px}
.tl-inz-form select option{background:#12043F;color:#fff}
.tl-inz-noimg{border-bottom:1px solid rgba(255,255,255,.12)}
.tl-inz-cat{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(237,233,255,.6)}
.tl-inz-price{margin-top:auto;padding-top:10px;font-family:'Poppins',system-ui,sans-serif;font-size:19px;font-weight:700;color:#FFCC00}
.tl-inz-price-big{font-family:'Poppins',system-ui,sans-serif;font-size:30px;font-weight:800;color:#FFCC00;margin:0 0 22px}
.tl-inz-contact{margin:30px 0 0}
.tl-inz-contact h2{font-size:19px;color:#fff;margin:0 0 12px}
.tl-inz-contact dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:0;margin:0}
.tl-inz-contact dt{padding:10px 0;border-top:1px solid var(--line);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(237,233,255,.6)}
.tl-inz-contact dd{padding:10px 0;border-top:1px solid var(--line);margin:0;font-size:15px;color:#fff}
.tl-inz-disclaimer{margin:26px 0 0;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);font-size:13px;line-height:1.6;color:rgba(237,233,255,.7)}
.tl-inz-fieldset{margin:6px 0 0;padding:18px;border:1px solid rgba(255,204,0,.3);border-radius:18px;background:rgba(255,204,0,.06)}
.tl-inz-fieldset legend{padding:0 8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#FFCC00}
.tl-inz-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tl-inz-contact-grid label{margin-top:0}
.tl-inz-warn{margin:14px 0 0;font-size:12px;line-height:1.55;color:rgba(237,233,255,.72)}
.tl-inz-warn strong{color:#FFCC00}
@media (max-width:900px){.tl-inz-form{grid-template-columns:1fr 1fr}.tl-inz-contact-grid{grid-template-columns:1fr}}
@media (max-width:560px){.tl-inz-form{grid-template-columns:1fr}.tl-inz-contact dl{grid-template-columns:1fr}.tl-inz-contact dt{padding-bottom:0;border-top:1px solid var(--line)}.tl-inz-contact dd{padding-top:4px;border-top:0}}

/* --- podmínky inzerce --- */
.tl-terms h2{font-size:clamp(18px,2.4vw,23px);margin:34px 0 10px}
.tl-terms .sub{margin:0 0 6px}
.tl-terms-note{margin:14px 0 0;padding:13px 16px;border-radius:14px;background:rgba(255,204,0,.08);border:1px solid rgba(255,204,0,.26);font-size:14px;line-height:1.6;color:rgba(237,233,255,.82)}
.tl-terms .art-list li{margin-bottom:6px}
.tl-inz-head-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* --- pojistka proti vodorovnému posouvání na mobilu --- */
/* clip místo hidden: neruší position:sticky u hlavičky */
html{overflow-x:clip}
@supports not (overflow:clip){ html{overflow-x:hidden} }

/* --- chat: dlouhé názvy a odkazy nesmí roztáhnout bublinu --- */
.tl-msg > div{overflow-wrap:anywhere;word-break:break-word}
.tl-msg a{overflow-wrap:anywhere}
#tl-chat-scroll{overflow-x:hidden}

/* --- kdo web připravil (patička) --- */
.tl-credit{display:block;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}
.tl-credit a{display:inline-flex;align-items:center;gap:8px;color:#fff;vertical-align:middle}
.tl-credit a:hover{color:#FFCC00}
.tl-credit img{height:26px;width:auto;display:block;opacity:.92}
.tl-credit a:hover img{opacity:1}
.tl-credit strong{font-weight:600}

/* --- horní lišta s datem a časem --- */
.tl-topbar{border-bottom:1px solid rgba(255,255,255,.08);background:rgba(11,2,48,.5);font-size:12px}
.tl-topbar-in{max-width:1240px;margin:0 auto;padding:7px clamp(12px,3vw,28px);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;color:rgba(237,233,255,.72)}
.tl-clock{display:inline-flex;align-items:center;gap:10px}
.tl-clock-date{text-transform:lowercase}
.tl-clock-time{font-family:'Poppins',system-ui,sans-serif;font-weight:700;color:#FFCC00;font-variant-numeric:tabular-nums}
.tl-topbar-links{display:flex;gap:14px;flex-wrap:wrap}
.tl-topbar-links a{color:rgba(237,233,255,.72)}
.tl-topbar-links a:hover{color:#FFCC00}

/* --- navigace se skupinami --- */
.tl-navgroup{position:relative}
.tl-navtop{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.tl-navtop.on{color:#FFCC00}
.tl-navcaret{font-size:9px;opacity:.6}
.tl-navdrop{position:absolute;top:calc(100% + 10px);left:-10px;min-width:248px;padding:8px;border-radius:18px;
  background:rgba(18,4,63,.97);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(26px) saturate(160%);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.95);display:none;flex-direction:column;gap:2px;z-index:60}
.tl-navdrop a{display:block;padding:9px 12px;border-radius:11px;font-size:13px;color:rgba(237,233,255,.86);white-space:nowrap}
.tl-navdrop a:hover{background:rgba(255,255,255,.1);color:#fff}
.tl-navgroup:hover .tl-navdrop,.tl-navgroup:focus-within .tl-navdrop{display:flex}
.tl-navgroup::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px}

@media (max-width:900px){
  .tl-navgroup{width:100%}
  .tl-navtop{width:100%;justify-content:space-between;padding:12px 14px;font-weight:600}
  .tl-navdrop{position:static;display:flex;min-width:0;padding:0 0 10px 12px;border:0;background:none;box-shadow:none;backdrop-filter:none}
  .tl-navdrop a{padding:8px 10px;font-size:14px}
  .tl-navcaret{display:none}
  .tl-topbar-links{display:none}
}

/* --- polední menu --- */
.tl-lunch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.tl-lunch-card{padding:20px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}
.tl-lunch-card header{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.tl-lunch-card h2{font-size:18px;line-height:1.25;color:#fff;margin:0}
.tl-lunch-card h2 a{color:#fff}
.tl-lunch-card h2 a:hover{color:#FFCC00}
.tl-lunch-price{flex:none;padding:5px 11px;border-radius:999px;background:#FFCC00;color:#12043F;font-size:12px;font-weight:700;white-space:nowrap}
.tl-lunch-soup{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font-size:14px;color:rgba(237,233,255,.9);margin-bottom:12px}
.tl-lunch-soup span{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#FFCC00;margin-bottom:3px}
.tl-lunch-meals{list-style:none;margin:0;padding:0;counter-reset:m}
.tl-lunch-meals li{counter-increment:m;display:flex;gap:10px;align-items:baseline;justify-content:space-between;padding:9px 0;border-top:1px dashed rgba(255,255,255,.14);font-size:14px;line-height:1.45;color:rgba(237,233,255,.88)}
.tl-lunch-meals li::before{content:counter(m) ".";flex:none;color:#FFCC00;font-weight:700;font-size:12px;margin-right:2px}
.tl-lunch-meals li span{flex:1}
.tl-lunch-meals li b{flex:none;color:#fff;font-weight:700;white-space:nowrap}
.tl-lunch-note{margin:12px 0 0;font-size:12px;color:rgba(237,233,255,.62)}

/* --- samostatná stránka ankety --- */
.tl-pollpage h1{margin-bottom:22px}
.tl-poll-solo{margin:0 0 6px}
.tl-poll-more{display:inline-block;margin-top:14px;font-size:12px;font-weight:600;color:#FFCC00}
.tl-share{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:24px 0 0}
.tl-share-label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(237,233,255,.6);margin-right:4px}
.tl-copy{cursor:pointer;font-family:inherit}
.tl-pollpage-others{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:16px}
.tl-pollpage-other{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#fff}
.tl-pollpage-other:hover{background:rgba(255,255,255,.1);border-color:rgba(255,204,0,.4);color:#fff}
.tl-pollpage-other-tag{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#FFCC00}
.tl-pollpage-other-q{font-family:'Poppins',system-ui,sans-serif;font-size:16px;font-weight:600;line-height:1.3}

/* --- statistika v administraci --- */
.tl-adm-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:14px 0 6px}
.tl-adm-kpi>div{padding:16px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);text-align:center}
.tl-adm-kpi strong{display:block;font-family:'Poppins',system-ui,sans-serif;font-size:28px;font-weight:800;color:#fff;line-height:1}
.tl-adm-kpi span{display:block;margin-top:5px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:rgba(237,233,255,.6)}
