/* DVOJKA v4.3.7 — consolidated TV InfoPanel CSS. Exact previous cascade, one request. */

/* BASE INLINE STYLE */
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:Arial,Helvetica,sans-serif;background:#082d39;color:#fff}body{background:radial-gradient(circle at 84% 12%,rgba(54,199,189,.18),transparent 28%),radial-gradient(circle at 7% 8%,rgba(242,161,44,.08),transparent 23%),linear-gradient(135deg,#082d39 0%,#0b3d49 58%,#0d5058 100%)}body:after{content:"";position:fixed;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(0,0,0,.07));pointer-events:none}.wrap{position:absolute;inset:0;padding:2vh 3.7vw 1.5vh;display:grid;grid-template-rows:14.5vh minmax(0,1fr) 4.8vh;gap:1.4vh;z-index:1}.top{display:grid;grid-template-columns:1fr 1fr .55fr;align-items:center;border-bottom:1px solid rgba(175,231,227,.22);gap:1.4vw}.brand{display:flex;align-items:center;gap:1vw;min-width:0}.brand img{height:10.2vh;max-width:11vw;object-fit:contain}.brand b{font-size:2.2vw;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap;background:linear-gradient(90deg,#ef4b50 0 22%,#f2b233 22% 43%,#36b9c0 43% 70%,#2f83d3 70% 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.meta{text-align:right}.meta .date{font-size:1.55vw;font-weight:900}.meta .nameday{font-size:1.05vw;color:#dff3f1;margin-top:.5vh}.meta .nameday b{color:#ffe58a}.clock{text-align:right;border-left:1px solid rgba(169,224,220,.3)}.clock strong{font-size:4.35vw;line-height:.9}.clock span{display:block;font-size:1.05vw;color:#cde8e6;font-weight:800;margin-top:.8vh}.stage{position:relative;min-height:0;background:rgba(255,255,255,.035);border:1px solid rgba(177,230,226,.16);border-radius:2vw;overflow:hidden;box-shadow:inset 0 0 60px rgba(0,0,0,.08)}.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .72s ease,transform .72s ease;transform:scale(.99);display:flex;align-items:center;justify-content:center}.slide.active{opacity:1;visibility:visible;transform:scale(1)}.card{width:88%;height:79%;border:1px solid rgba(190,235,231,.2);background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.055));border-radius:2vw;padding:3.4vh 3.4vw;box-shadow:0 24px 70px rgba(0,0,0,.12);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden}.card.with-image{display:grid;grid-template-columns:1.12fr .88fr;gap:2.6vw;text-align:left;align-items:center}.card.with-image .copy{align-items:flex-start}.copy{min-width:0;display:flex;flex-direction:column;align-items:center}.visual{height:100%;min-height:0;border-radius:1.3vw;overflow:hidden;background:rgba(0,0,0,.16)}.visual img{width:100%;height:100%;object-fit:cover;display:block}.type{display:inline-block;padding:.45vh .9vw;border-radius:999px;background:#2eb9ba;font-size:.92vw;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.important .type,.dolezite .type{background:#ffb84d;color:#17313d}.achievement .type{background:#f0c34b;color:#17313d}.upcoming .type{background:#53c786;color:#123}.today .type{background:#b56bd1}.now .type{background:#ef4b50}.news .type{background:#3ba7df}.question .type{background:#7d70df}.title{font-size:3.75vw;line-height:1.03;margin:1.35vh 0 1.2vh;max-width:100%;letter-spacing:-.035em}.text{font-size:1.92vw;line-height:1.28;color:#eaf5f4;max-width:100%;white-space:pre-line;font-weight:650}.sub{font-size:1vw;color:#b8dcda;margin-top:1.4vh}.nowbox{width:100%;display:grid;grid-template-columns:1.15fr .85fr;gap:2.5vw;align-items:center;text-align:left}.nowbox .big{font-size:5.1vw;line-height:.95;color:#ffe47b;font-weight:900;text-align:center}.nowbox .big small{display:block;font-size:1.05vw;color:#cbe8e5;letter-spacing:.08em;text-transform:uppercase;margin-top:1.1vh}.progress{height:1.1vh;border-radius:2vh;background:rgba(0,0,0,.24);overflow:hidden;margin-top:2vh}.progress i{display:block;height:100%;background:linear-gradient(90deg,#ef4b50,#ffe06d);border-radius:2vh}.event-list{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:1vw;margin-top:1.2vh}.event{padding:1.35vh 1.1vw;border-radius:1.1vw;background:rgba(0,25,35,.24);border:1px solid rgba(255,255,255,.1);text-align:left}.event b{display:block;font-size:1.2vw;color:#fff}.event span{font-size:.9vw;color:#bfe0df;line-height:1.25}.today-list{width:100%;display:grid;gap:.75vh;margin-top:1.15vh}.today-row{padding:1.05vh 1.2vw;border-radius:1vw;background:rgba(0,24,35,.22);text-align:left;font-size:1.25vw;line-height:1.24}.today-row b{color:#ffe58a;margin-right:.6vw}.bottom{display:flex;align-items:center;justify-content:space-between;color:#acd8d5;font-size:1vw;font-weight:700}.dots{display:flex;gap:.4vw}.dot{width:.52vw;height:.52vw;border-radius:50%;background:rgba(255,255,255,.26)}.dot.active{background:#ffe568;transform:scale(1.3)}.empty{height:100%;display:flex;align-items:center;justify-content:center;font-size:2.4vw;text-align:center;color:#dceeed}body.theme-autumn{background:radial-gradient(circle at 88% 10%,rgba(225,139,45,.22),transparent 29%),linear-gradient(135deg,#102d35,#3a3428 55%,#55402a)!important}body.theme-winter{background:radial-gradient(circle at 84% 12%,rgba(173,220,244,.22),transparent 28%),linear-gradient(135deg,#0b2536,#173f56 60%,#31566c)!important}body.theme-christmas{background:radial-gradient(circle at 82% 12%,rgba(224,188,79,.18),transparent 25%),linear-gradient(135deg,#102d2b,#173e35 56%,#5a2929)!important}body.theme-spring{background:radial-gradient(circle at 84% 12%,rgba(166,222,119,.18),transparent 28%),linear-gradient(135deg,#10353a,#27533f 58%,#537349)!important}body.theme-summer{background:radial-gradient(circle at 84% 12%,rgba(255,216,98,.2),transparent 28%),linear-gradient(135deg,#0c3443,#146270 58%,#267a78)!important}body.theme-neutral{background:radial-gradient(circle at 84% 12%,rgba(54,199,189,.18),transparent 28%),radial-gradient(circle at 7% 8%,rgba(242,161,44,.08),transparent 23%),linear-gradient(135deg,#082d39 0%,#0b3d49 58%,#0d5058 100%)!important}

/* ===== v412-tv-legacy.css ===== */
/* FIX36: one layout for current and legacy LG webOS browsers. */
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#082d39;color:#fff}
body:after{top:0;right:0;bottom:0;left:0}
.wrap{display:block;position:absolute;top:0;right:0;bottom:0;left:0;padding:0;z-index:1}
.top{display:block;position:absolute;top:2vh;right:3.7vw;left:3.7vw;height:14.5vh;border-bottom:1px solid rgba(175,231,227,.22)}
.brand{display:block;position:absolute;top:0;bottom:0;left:0;width:46%;white-space:nowrap}
.brand img{display:inline-block;height:10.2vh;max-width:11vw;margin-top:1.5vh;vertical-align:middle}
.brand b{display:inline-block;margin-left:1vw;color:#dff3f1;font-size:2.2vw;letter-spacing:.075em;text-transform:uppercase;vertical-align:middle}
.meta{position:absolute;top:2.7vh;right:21%;width:43%;text-align:right}
.meta .date{font-size:1.55vw;font-weight:900}
.meta .nameday{margin-top:.5vh;color:#dff3f1;font-size:1.05vw}
.meta .nameday b{color:#ffe58a}
.meta .holiday{display:none;margin-top:.45vh;color:#bfe4df;font-size:.86vw;font-weight:700;white-space:nowrap}
.meta .holiday b{color:#ffe58a}
.clock{position:absolute;top:2.3vh;right:0;width:19%;border-left:1px solid rgba(169,224,220,.3);text-align:right}
.clock strong{font-size:4.35vw;line-height:.9}
.clock span{display:block;margin-top:.8vh;color:#cde8e6;font-size:1.05vw;font-weight:800}
.stage{position:absolute;top:17.9vh;right:3.7vw;bottom:6.3vh;left:3.7vw;min-height:0;overflow:hidden;border:1px solid rgba(177,230,226,.16);border-radius:2vw;background:rgba(255,255,255,.035);box-shadow:inset 0 0 60px rgba(0,0,0,.08)}
.slide{display:none;position:absolute;top:0;right:0;bottom:0;left:0;visibility:visible;opacity:1}
.slide.active{display:block;visibility:visible;opacity:1}
.card,.card.with-image{display:block;position:absolute;top:10.5%;right:6%;bottom:10.5%;left:6%;width:auto;height:auto;overflow:hidden;padding:0;border:1px solid rgba(190,235,231,.2);border-radius:2vw;background:rgba(255,255,255,.085);box-shadow:0 24px 70px rgba(0,0,0,.12);text-align:center}
.copy{display:table;position:absolute;top:0;left:5%;width:90%;height:100%;min-width:0}
.copy-cell{display:table-cell;width:100%;vertical-align:middle;text-align:center}
.card.with-image .copy{left:4%;width:51%}
.card.with-image .copy-cell{text-align:left}
.visual{position:absolute;top:10%;right:3%;bottom:10%;width:38%;height:auto;min-height:0;overflow:hidden;border-radius:1.3vw;background:rgba(0,0,0,.16)}
.visual img{display:block;width:100%;height:100%;object-fit:cover}
.type{display:inline-block;padding:.45vh .9vw;border-radius:999px;background:#2eb9ba;font-size:.92vw;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.title{max-width:100%;margin:1.35vh 0 1.2vh;font-size:3.75vw;line-height:1.03;letter-spacing:0}
.text{max-width:100%;color:#eaf5f4;font-size:1.92vw;font-weight:700;line-height:1.28;white-space:pre-line}
.sub{margin-top:1.4vh;color:#b8dcda;font-size:1vw}
.nowbox{display:table;width:100%;table-layout:fixed;text-align:left}
.now-main,.now-count{display:table-cell;vertical-align:middle}
.now-main{width:64%;padding-right:2.5vw}
.now-count{width:36%;color:#ffe47b;font-size:5.1vw;font-weight:900;line-height:.95;text-align:center}
.now-count small{display:block;margin-top:1.1vh;color:#cbe8e5;font-size:1.05vw;letter-spacing:.08em;text-transform:uppercase}
.ended .now-count{font-size:3.55vw;line-height:1.05}
.tv-pictogram{display:inline-block;width:.92em;height:.92em;margin:0 .12em;vertical-align:-.08em;object-fit:contain}
.progress{height:1.1vh;margin-top:2vh;overflow:hidden;border-radius:2vh;background:rgba(0,0,0,.24)}
.progress i{display:block;height:100%;border-radius:2vh;background:#ffe06d}
.event-list{display:block;width:100%;margin-top:1.55vh;text-align:center;white-space:nowrap}
.event{display:inline-block;width:45%;margin-right:1.5%;padding:1.55vh 1.25vw;white-space:normal;vertical-align:top;border:1px solid rgba(255,255,255,.1);border-radius:1.1vw;background:rgba(0,25,35,.24);text-align:left}
.event-list.count-1 .event{width:58%;margin-right:0}
.event-list.count-2 .event{width:45%}
.event:last-child{margin-right:0}
.event b{display:block;color:#fff;font-size:1.38vw;line-height:1.18}
.event span{color:#bfe0df;font-size:1.02vw;line-height:1.32}
.today-list{display:block;width:100%;margin-top:1.15vh}
.today-row{margin:.75vh auto 0;padding:1.18vh 1.3vw;border-radius:1vw;background:rgba(0,24,35,.22);font-size:1.42vw;line-height:1.28;text-align:left}
.today-list.count-1 .today-row{width:72%}
.today-list.count-2{white-space:nowrap;text-align:center}
.today-list.count-2 .today-row{display:inline-block;width:46%;margin-right:1%;white-space:normal;vertical-align:top}
.today-list.count-2 .today-row:last-child{margin-right:0}
.today-row b{margin-right:.6vw;color:#ffe58a}
.bottom{display:block;position:absolute;right:3.7vw;bottom:1.5vh;left:3.7vw;height:4.8vh;color:#acd8d5;font-size:1vw;font-weight:700;line-height:4.8vh}
.bottom>span:first-child{position:absolute;left:0}
.bottom>span:last-child{position:absolute;right:0}
.dots{position:absolute;left:43%;width:14%;text-align:center;white-space:nowrap}
.dot{display:inline-block;width:.52vw;height:.52vw;margin:0 .2vw;border-radius:50%;background:rgba(255,255,255,.26);vertical-align:middle}
.dot.active{background:#ffe568}
.empty{display:table;width:100%;height:100%;color:#dceeed;font-size:2.4vw;text-align:center}
.empty span{display:table-cell;vertical-align:middle}
.fallback-card .title{font-size:3.15vw}

body.tv-modern .slide{display:block;visibility:hidden;opacity:0;transition:opacity .72s ease,transform .72s ease;transform:scale(.99)}
body.tv-modern .slide.active{display:block;visibility:visible;opacity:1;transform:scale(1)}
body.tv-modern .dot.active{transform:scale(1.3)}

@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .brand b{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#fff;-webkit-text-fill-color:#fff}
}

body.tv-legacy .card{background:rgba(255,255,255,.085)}
body.tv-legacy .stage{background:rgba(255,255,255,.035)}
body.tv-legacy .visual img{object-fit:fill}

/* ===== v412-tv-compat.css ===== */
/* FIX36: shared glass look and layout fallbacks for older LG webOS browsers. */

/* InfoPanel: keep the same translucent layers on legacy and current TVs. */
html.page-infopanel body.tv-legacy .stage{
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 0 60px rgba(0,0,0,.08);
}
html.page-infopanel body.tv-legacy .card{
  background:rgba(255,255,255,.085);
  box-shadow:0 24px 70px rgba(0,0,0,.12);
}

/* Weather: fixed-position fallback instead of grid, gap and inset. */
html.page-weather.tv-legacy .wrap{
  display:block;
  position:absolute;
  top:0;right:0;bottom:0;left:0;
  padding:0;
}
html.page-weather.tv-legacy .top{
  display:block;
  position:absolute;
  top:2.4vh;right:3.5vw;left:3.5vw;
  height:12.5vh;
}
html.page-weather.tv-legacy .brand{
  display:block;
  position:absolute;
  top:0;bottom:0;left:0;
  width:65%;
  white-space:nowrap;
}
html.page-weather.tv-legacy .brand img{
  display:inline-block;
  margin-top:1.3vh;
  vertical-align:middle;
}
html.page-weather.tv-legacy .brand b{
  display:inline-block;
  margin-left:1vw;
  vertical-align:middle;
}
html.page-weather.tv-legacy .datetime{
  position:absolute;
  top:1.2vh;right:0;
  width:34%;
}
html.page-weather.tv-legacy .main{
  display:block;
  position:absolute;
  top:16.15vh;right:3.5vw;bottom:6.55vh;left:3.5vw;
  min-height:0;
}
html.page-weather.tv-legacy .now,
html.page-weather.tv-legacy .panel{
  position:absolute;
  top:0;bottom:0;
  min-height:0;
  background:rgba(255,255,255,.085);
  box-shadow:0 25px 70px rgba(0,0,0,.14);
}
html.page-weather.tv-legacy .now{
  display:block;
  left:0;
  width:35.5%;
  padding:8vh 2.5vw 2vh;
}
html.page-weather.tv-legacy .panel{
  display:block;
  right:0;
  width:62.8%;
  padding:2.4vh 2.1vw;
}
html.page-weather.tv-legacy .hero{
  display:block;
  white-space:nowrap;
}
html.page-weather.tv-legacy .weather-icon,
html.page-weather.tv-legacy .temperature{
  display:inline-block!important;
  vertical-align:middle;
}
html.page-weather.tv-legacy .weather-icon{margin-right:1.4vw}
html.page-weather.tv-legacy .metrics{
  display:block;
  font-size:0;
}
html.page-weather.tv-legacy .metric{
  display:inline-block;
  width:48%;
  margin:0 2% .75vw 0;
  vertical-align:top;
  font-size:1vw;
}
html.page-weather.tv-legacy .panel-head{
  display:block;
  position:relative;
  height:8vh;
}
html.page-weather.tv-legacy .panel-head p{
  position:absolute;
  top:3.7vh;right:0;
}
html.page-weather.tv-legacy .chart{
  position:absolute;
  top:10.2vh;right:2.1vw;bottom:8.6vh;left:2.1vw;
  margin:0;
}
html.page-weather.tv-legacy .tip{
  position:absolute;
  right:2.1vw;bottom:2.4vh;left:2.1vw;
}
html.page-weather.tv-legacy .legend{display:block}
html.page-weather.tv-legacy .legend span{display:inline-block;margin-right:1.4vw}
html.page-weather.tv-legacy .bottom{
  display:block;
  position:absolute;
  right:3.5vw;bottom:1.7vh;left:3.5vw;
  height:4.8vh;
  line-height:4.8vh;
}
html.page-weather.tv-legacy .bottom>span:first-child{position:absolute;left:0}
html.page-weather.tv-legacy .bottom>span:nth-child(2){position:absolute;left:42%;width:24%;text-align:center}
html.page-weather.tv-legacy .bottom>span:last-child{position:absolute;right:0}

/* Canteen: table/absolute fallback instead of grid, flex gap and inset. */
html.page-canteen.tv-legacy .wrap{
  display:block;
  position:absolute;
  top:0;right:0;bottom:0;left:0;
  padding:0;
}
html.page-canteen.tv-legacy .top{
  display:block;
  position:absolute;
  top:2.4vh;right:4vw;left:4vw;
  height:13.6vh;
}
html.page-canteen.tv-legacy .brand{
  display:block;
  position:absolute;
  top:0;bottom:0;left:0;
  width:65%;
  white-space:nowrap;
}
html.page-canteen.tv-legacy .brand img{
  display:inline-block;
  margin-top:1vh;
  vertical-align:middle;
}
html.page-canteen.tv-legacy .brand b{
  display:inline-block;
  margin-left:1.1vw;
  color:#dff3f1;
  vertical-align:middle;
}
html.page-canteen.tv-legacy .heading{
  position:absolute;
  top:1.2vh;right:0;
  width:35%;
}
html.page-canteen.tv-legacy .stage{
  position:absolute;
  top:17.1vh;right:4vw;bottom:6.4vh;left:4vw;
  min-height:0;
  margin:0;
}
html.page-canteen.tv-legacy .slide{
  display:none;
  position:absolute;
  top:0;right:0;bottom:0;left:0;
  visibility:visible;
  opacity:1;
}
html.page-canteen.tv-legacy .slide.active{display:block}
html.page-canteen.tv-legacy .week{
  display:block;
  height:100%;
  min-height:0;
}
html.page-canteen.tv-legacy .row{
  display:block;
  position:relative;
  width:100%;
  height:19.1%;
  min-height:0;
  margin-bottom:.65vh;
  padding:.48vh 1.2vw;
  background:rgba(255,255,255,.065);
}
html.page-canteen.tv-legacy .row.today{background:rgba(255,219,105,.11)}
html.page-canteen.tv-legacy .day{
  position:absolute;
  top:0;bottom:0;left:1.2vw;
  width:13%;
  padding:2.2vh 1.2vw 0 0;
}
html.page-canteen.tv-legacy .meal-line{
  display:table;
  position:absolute;
  top:0;right:1.2vw;bottom:0;left:15.5%;
  width:82.5%;
  height:100%;
  table-layout:fixed;
  padding:0;
}
html.page-canteen.tv-legacy .meal-line .group{
  display:table-cell;
  padding:0 1.35vw 0 0;
  vertical-align:middle;
}
html.page-canteen.tv-legacy .meal-line .soup{width:31%}
html.page-canteen.tv-legacy .meal-line .main{width:41%}
html.page-canteen.tv-legacy .meal-line .extras{width:28%}
html.page-canteen.tv-legacy .single{
  display:table;
  width:100%;
  height:100%;
}
html.page-canteen.tv-legacy .single-card{
  display:table-cell;
  width:auto;
  min-height:0;
  padding:5vh 5vw;
  vertical-align:middle;
  background:rgba(255,255,255,.085);
}
html.page-canteen.tv-legacy .single-groups{
  display:table;
  width:100%;
  table-layout:fixed;
}
html.page-canteen.tv-legacy .single-groups .group{
  display:table-cell;
  padding-right:2vw;
  vertical-align:top;
}
html.page-canteen.tv-legacy .single-groups .soup{width:31%}
html.page-canteen.tv-legacy .single-groups .main{width:41%}
html.page-canteen.tv-legacy .single-groups .extras{width:28%}
html.page-canteen.tv-legacy .bottom{
  display:block;
  position:absolute;
  right:4vw;bottom:1.8vh;left:4vw;
  height:4.6vh;
  line-height:4.6vh;
}
html.page-canteen.tv-legacy .bottom>span:first-child{position:absolute;left:0}
html.page-canteen.tv-legacy .bottom>span:last-child{position:absolute;right:0}
html.page-canteen.tv-legacy .dots{position:absolute;left:42%;width:16%;text-align:center;white-space:nowrap}
html.page-canteen.tv-legacy .dot{display:inline-block;margin:0 .22vw;vertical-align:middle}

/* FIX36 weather: reserve one full-width row for the fact strip. */
html.page-weather.tv-legacy .main{bottom:12.7vh}
html.page-weather.tv-legacy .chart{bottom:2.2vh}
html.page-weather.tv-legacy .tip{
  position:fixed;
  right:3.5vw;bottom:6.25vh;left:3.5vw;
  z-index:3;
  padding:1.35vh 1.6vw;
  font-size:1.28vw;
  font-weight:700;
}
html.page-weather.tv-legacy .chart svg{height:calc(100% - 4.2vh)}
html.page-weather.tv-legacy .legend{height:4.2vh;line-height:4.2vh;white-space:nowrap}
html.page-weather.tv-legacy .legend span{display:inline-block;margin-right:1vw;line-height:2.6vh}
html.page-weather.tv-legacy .weather-symbol{display:block;width:100%;height:100%}

/* ===== v412-tv-fix40.css ===== */
/* DVOJKA FIX40 — spoločná hlavička a prirodzené sezónne detaily TV stránok. */
html.page-infopanel .brand img,
html.page-canteen .brand img,
html.page-weather .brand img{height:9.2vh;max-width:10vw;object-fit:contain}
html.page-infopanel .brand b,
html.page-canteen .brand b,
html.page-weather .brand b{
  margin-left:1vw;
  background:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-family:Arial,Helvetica,sans-serif;
  font-size:2.08vw;
  font-weight:800;
  letter-spacing:.075em;
  line-height:1.05;
  text-shadow:0 2px 14px rgba(0,20,30,.25);
}
html.page-infopanel .brand b:after,
html.page-canteen .brand b:after,
html.page-weather .brand b:after{content:"";display:block;width:4.1vw;height:.32vh;margin-top:.7vh;border-radius:1vh;background:#55d2cc}
html.page-canteen .heading h1{color:#fff;text-shadow:0 2px 14px rgba(0,20,30,.22)}
html.page-canteen .heading .week-context{display:inline-block;margin:0 .62vw 0 0;padding:.32vh .7vw;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(0,25,35,.28);color:#8fe4df;font-size:.78vw;font-weight:900;letter-spacing:.12em;text-transform:uppercase;vertical-align:middle}
html.page-canteen .heading #weekLabel{display:inline-block;color:#fff3c4;font-size:1.34vw;font-weight:900;letter-spacing:.025em;text-shadow:0 2px 12px rgba(0,0,0,.22);vertical-align:middle}
html.page-infopanel .event-list.count-1{grid-template-columns:minmax(0,58%);justify-content:center}
html.page-infopanel .event-list.count-2{grid-template-columns:repeat(2,minmax(0,45%));justify-content:center}
html.page-infopanel .today-list.count-1{grid-template-columns:minmax(0,72%);justify-content:center}
html.page-infopanel .today-list.count-2{grid-template-columns:repeat(2,minmax(0,46%));justify-content:center}
html.page-infopanel .event b{font-size:1.38vw;line-height:1.18}
html.page-infopanel .event span{font-size:1.02vw;line-height:1.32}
html.page-infopanel .today-row{font-size:1.42vw;line-height:1.28}

.tv-season-decor{position:fixed;z-index:0;width:12vw;height:12vw;pointer-events:none;opacity:.2}
.tv-season-decor.left{left:-1.4vw;bottom:-2.8vw;transform:rotate(-9deg)}
.tv-season-decor.right{right:-1vw;top:15vh;transform:scaleX(-1) rotate(-12deg);opacity:.14}
.wrap{z-index:1}
html.theme-winter .tv-season-decor,body.theme-winter .tv-season-decor{opacity:.17}
html.theme-spring .tv-season-decor,body.theme-spring .tv-season-decor{opacity:.16}
html.theme-summer .tv-season-decor,body.theme-summer .tv-season-decor{opacity:.13}
html.theme-christmas .tv-season-decor,body.theme-christmas .tv-season-decor{opacity:.18}

/* Staršie webOS nesmie dostať filter ani animáciu; obrázky ostávajú statické. */
.tv-legacy .tv-season-decor{opacity:.13}
.tv-season-leaves{position:fixed;z-index:0;width:14.5vw;height:13vw;pointer-events:none;opacity:.17}
.tv-season-leaves.left{left:-1.8vw;bottom:-2.4vw;transform:rotate(-7deg)}
.tv-season-leaves.right{right:-1.6vw;top:14.2vh;transform:rotate(7deg);opacity:.145}
.tv-season-leaves img{position:absolute;display:block;width:7.2vw;height:auto}
.tv-season-leaves .leaf-a{left:.3vw;top:4.7vw;transform:rotate(-18deg)}
.tv-season-leaves .leaf-b{left:6.4vw;top:1.8vw;width:5.8vw;transform:rotate(17deg)}
.tv-season-leaves .leaf-c{left:9.4vw;top:6.9vw;width:4.8vw;transform:rotate(34deg)}
.tv-season-leaves.right .leaf-a{left:5.1vw;top:1vw;transform:rotate(16deg)}
.tv-season-leaves.right .leaf-b{left:.5vw;top:4.3vw;transform:rotate(-15deg)}
.tv-season-leaves.right .leaf-c{left:9.6vw;top:7vw;transform:rotate(31deg)}
.tv-legacy .tv-season-leaves{opacity:.13}
.tv-legacy .tv-season-leaves.right{opacity:.115}

@media(max-aspect-ratio:4/3){.tv-season-decor{width:10vw;height:10vw}.tv-season-leaves{width:12vw;height:11vw}.tv-season-leaves img{width:6vw}}

/* ===== v412-tv-fix41.css ===== */
/* FIX41 — čitateľnejšie celé perexy, mini galérie a jednotná sezónna výzdoba. */
html.page-infopanel .news .text{font-size:1.5vw;line-height:1.34;font-weight:600}
html.page-infopanel .news .text.compact{font-size:1.28vw;line-height:1.3}
html.page-infopanel .news .text.dense{font-size:1.08vw;line-height:1.25}
html.page-infopanel .news .title{font-size:3.15vw;line-height:1.04}
html.page-infopanel .photo-gallery .title{font-size:3.25vw;line-height:1.05}
html.page-infopanel .photo-gallery .visual img{transition:opacity .36s ease}
html.page-infopanel .photo-gallery .visual.is-changing img{opacity:.18}
.tv-season-natural{position:fixed;z-index:0;width:13.5vw;height:auto;pointer-events:none;opacity:.13}
.tv-season-natural.left{left:-1.8vw;bottom:-2.4vw;transform:rotate(-6deg)}
.tv-season-natural.right{right:-1.2vw;top:13.4vh;transform:scaleX(-1) rotate(-8deg);opacity:.105}
.tv-legacy .tv-season-natural{opacity:.1}
html.page-canteen body.theme-autumn:before{display:none!important;content:none!important}
@media(max-aspect-ratio:4/3){.tv-season-natural{width:11.5vw}}

/* ===== v412-tv-fix42.css ===== */
/* FIX42 — jedna veľká plocha InfoPanelu, väčšia galéria a pôvodné realistické listy. */
html.page-infopanel .stage{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html.page-infopanel .card,
html.page-infopanel .card.with-image{
  width:96%!important;
  height:94%!important;
  max-width:none!important;
  max-height:none!important;
  margin:auto!important;
}
html.page-infopanel .photo-gallery.card.with-image{
  grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr)!important;
  gap:2.2vw!important;
  padding:3.2vh 2.8vw!important;
}
html.page-infopanel .photo-gallery .title{
  font-size:2.55vw!important;
  line-height:1.08!important;
}
html.page-infopanel .photo-gallery .visual{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
}
html.page-infopanel .photo-gallery .visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
html.page-infopanel body.tv-legacy .card,
html.page-infopanel body.tv-legacy .card.with-image{
  top:3%!important;
  right:2%!important;
  bottom:3%!important;
  left:2%!important;
  width:auto!important;
  height:auto!important;
}
html.page-infopanel body.tv-legacy .photo-gallery .copy{left:3.8%!important;width:34%!important}
html.page-infopanel body.tv-legacy .photo-gallery .visual{top:5%!important;right:2.5%!important;bottom:5%!important;width:58%!important;height:auto!important}
html.page-infopanel body.tv-legacy .photo-gallery .title{font-size:2.55vw!important}

/* FIX41 SVG siluety sa už nepoužívajú; ak ich stará cache nechá v DOM, schovajú sa. */
.tv-season-natural{display:none!important}

@media(max-aspect-ratio:4/3){
  html.page-infopanel .photo-gallery.card.with-image{grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr)!important}
  html.page-infopanel .photo-gallery .title{font-size:2.35vw!important}
}

/* ===== v412-tv-fix43.css ===== */
/* FIX43 — symetrický InfoPanel a galéria s vždy viditeľným názvom. */
html.page-infopanel .card,
html.page-infopanel .card.with-image{
  position:absolute!important;
  top:3%!important;
  right:2%!important;
  bottom:3%!important;
  left:2%!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:2vw!important;
  box-sizing:border-box!important;
}

html.page-infopanel .slide.photo-gallery .card.with-image{
  display:block!important;
  padding:0!important;
  text-align:left!important;
  background:rgba(0,20,28,.34)!important;
}

html.page-infopanel .slide.photo-gallery .visual{
  position:absolute!important;
  z-index:1!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:rgba(0,16,24,.52)!important;
}

html.page-infopanel .slide.photo-gallery .visual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

html.page-infopanel .slide.photo-gallery .copy{
  display:block!important;
  position:absolute!important;
  z-index:3!important;
  top:auto!important;
  right:3%!important;
  bottom:4%!important;
  left:3%!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
}

html.page-infopanel .slide.photo-gallery .copy-cell{
  display:block!important;
  width:auto!important;
  padding:1.2vh 1.45vw!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:1.15vw!important;
  background:linear-gradient(90deg,rgba(2,20,28,.9),rgba(2,20,28,.7) 68%,rgba(2,20,28,.28))!important;
  box-shadow:0 1.2vh 3vw rgba(0,0,0,.3)!important;
  text-align:left!important;
}

html.page-infopanel .slide.photo-gallery .type{font-size:.78vw!important}
html.page-infopanel .slide.photo-gallery .title{
  max-width:72%!important;
  margin:.8vh 0 0!important;
  color:#fff!important;
  font-size:2.2vw!important;
  line-height:1.08!important;
  text-shadow:0 2px 12px rgba(0,0,0,.8)!important;
}

html.page-infopanel body.tv-legacy .slide.photo-gallery .copy{
  top:auto!important;
  right:3%!important;
  bottom:4%!important;
  left:3%!important;
  width:auto!important;
  height:auto!important;
}
html.page-infopanel body.tv-legacy .slide.photo-gallery .visual{
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:100%!important;
  height:100%!important;
}
html.page-infopanel body.tv-legacy .slide.photo-gallery .visual img{object-fit:cover!important}

@media(max-aspect-ratio:4/3){
  html.page-infopanel .slide.photo-gallery .title{max-width:82%!important;font-size:2.05vw!important}
}

/* Čo nás čaká: ďalšie udalosti musia byť čitateľné aj z diaľky. */
html.page-infopanel .slide.upcoming .title{
  font-size:3.15vw!important;
  line-height:1.1!important;
}
html.page-infopanel .slide.upcoming .event-list{
  display:block!important;
  width:100%!important;
  margin-top:2.1vh!important;
  white-space:nowrap!important;
}
html.page-infopanel .slide.upcoming .event{
  display:inline-block!important;
  box-sizing:border-box!important;
  width:48%!important;
  min-height:13vh!important;
  margin-right:2%!important;
  padding:2vh 1.5vw!important;
  vertical-align:top!important;
  white-space:normal!important;
}
html.page-infopanel .slide.upcoming .event:last-child{margin-right:0!important}
html.page-infopanel .slide.upcoming .event-list.count-1 .event{width:68%!important;margin-right:0!important}
html.page-infopanel .slide.upcoming .event b{
  font-size:1.65vw!important;
  line-height:1.18!important;
}
html.page-infopanel .slide.upcoming .event span{
  display:block!important;
  margin-top:.5vh!important;
  font-size:1.22vw!important;
  line-height:1.3!important;
}

/* ===== v421-tv.css ===== */
/* v4.2.1: all results for each competition, photographs without cropping. */
html.page-infopanel .slide.achievement .copy{left:5%!important;width:90%!important}
html.page-infopanel .slide.achievement .card.with-image .copy{left:4%!important;width:51%!important}
html.page-infopanel .slide.achievement .title{font-size:2.7vw!important;line-height:1.12!important;margin:1vh 0!important}
html.page-infopanel .slide.achievement .achievement-level{font-size:1.1vw;color:#c9e8e7;margin-bottom:1vh}
html.page-infopanel .slide.achievement .achievement-results{width:100%;max-width:85vw;max-height:51vh;overflow:hidden;text-align:left}
html.page-infopanel .slide.achievement .achievement-results.many{column-count:2;column-gap:1.6vw}
html.page-infopanel .slide.achievement .achievement-results.single{display:flex;align-items:center;justify-content:center;max-width:64vw;margin:2.4vh auto 0;min-height:20vh}
html.page-infopanel .slide.achievement .achievement-results.single .achievement-row{width:100%;max-width:58vw;text-align:center;padding:2.2vh 2.4vw;border-radius:1.25vw;background:linear-gradient(135deg,rgba(240,195,75,.2),rgba(0,24,35,.38));border-color:rgba(255,225,138,.45);box-shadow:0 1.2vh 3vw rgba(0,0,0,.13)}
html.page-infopanel .slide.achievement .achievement-results.single .achievement-place{font-size:1.7vw;color:#ffe18a}
html.page-infopanel .slide.achievement .achievement-results.single .achievement-place:before{content:"🏆";margin-right:.65vw}
html.page-infopanel .slide.achievement .achievement-results.single .achievement-person{font-size:2.45vw;margin-top:.6vh}
html.page-infopanel .slide.achievement .achievement-results.single .achievement-discipline{font-size:1.2vw;margin-top:.5vh}
html.page-infopanel .slide.achievement .achievement-row{display:block;break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;margin:.7vh 0;padding:.8vh 1.1vw;background:rgba(0,24,35,.37);border:1px solid rgba(255,255,255,.13);border-radius:.7vw}
html.page-infopanel .slide.achievement .achievement-place{display:block;font-size:1.15vw;font-weight:800;color:#ffe18a}
html.page-infopanel .slide.achievement .achievement-person{display:block;font-size:1.62vw;font-weight:900;line-height:1.17;color:#fff}
html.page-infopanel .slide.achievement .achievement-person small{font-size:.8em;color:#bee7e5;font-weight:700;margin-left:.6vw}
html.page-infopanel .slide.achievement .achievement-discipline{font-size:1vw;color:#d2ecea}
html.page-infopanel .slide.achievement .sub{margin-top:.65vh!important}

/* A landscape photo gets the whole frame; portraits share it, with their full height. */
html.page-infopanel .slide.photo-gallery .gallery-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;white-space:nowrap;text-align:center;font-size:0}
html.page-infopanel .slide.photo-gallery .gallery-photo{display:inline-block;box-sizing:border-box;height:100%;padding:0 .35vw;vertical-align:middle;line-height:70vh;overflow:hidden}
html.page-infopanel .slide.photo-gallery .gallery-photo img,
html.page-infopanel body.tv-legacy .slide.photo-gallery .gallery-photo img{display:inline-block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;vertical-align:middle!important}
html.page-infopanel .slide.photo-gallery .copy{pointer-events:none}

@media(max-aspect-ratio:4/3){
  html.page-infopanel .slide.achievement .achievement-results.many{column-count:1;max-height:49vh}
  html.page-infopanel .slide.achievement .achievement-person{font-size:2.1vw}
}

/* ===== v432-tv.css ===== */
/* DVOJKA v4.3.2 — Čo nás čaká: pre koho je akcia */
.page-infopanel .tv-upcoming-who{margin-top:.75vh;font-size:1.18vw;line-height:1.2;font-weight:900;color:#d9f2e5;letter-spacing:.01em}
.page-infopanel .tv-upcoming-who-small{display:inline-block;margin-top:.35vh;color:#d9f2e5;font-weight:800}
@media(max-width:1100px){.page-infopanel .tv-upcoming-who{font-size:1.28vw}}

/* ===== v433-tv.css ===== */
/* DVOJKA v4.3.3 — žltá ikona „kto ide“ bez farebného emoji */
.page-infopanel .tv-upcoming-who,
.page-infopanel .tv-upcoming-who-small{color:#d9f2e5}
.page-infopanel .tv-who-icon{display:inline-block;position:relative;width:1.18em;height:.86em;margin-right:.28em;vertical-align:-.12em}
.page-infopanel .tv-who-icon i{display:block;position:absolute;width:.48em;height:.34em;bottom:.02em;background:#ffe568;border-radius:.26em .26em .12em .12em}
.page-infopanel .tv-who-icon i:before{content:"";display:block;position:absolute;width:.28em;height:.28em;left:.10em;top:-.24em;background:#ffe568;border-radius:50%}
.page-infopanel .tv-who-icon i:first-child{left:.06em}
.page-infopanel .tv-who-icon i:last-child{right:.06em;transform:scale(.88);transform-origin:bottom right;opacity:.92}

/* ===== v434-tv.css ===== */
/* DVOJKA v4.3.4 — „kto ide“: väčšia žltá ikona + vždy vedľa textu */
.page-infopanel .tv-upcoming-who{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.32em;
}
.page-infopanel .tv-upcoming-who-small{
  display:inline-flex !important;
  align-items:center;
  gap:.30em;
  white-space:nowrap;
  vertical-align:middle;
}
.page-infopanel .tv-upcoming-who .tv-who-icon,
.page-infopanel .tv-upcoming-who-small .tv-who-icon{
  flex:0 0 auto;
  font-size:1.16em;
  margin-right:0;
  vertical-align:middle;
}

/* ===== v435-tv.css ===== */
/* DVOJKA v4.3.5 — TV: „kto ide“ na spodných kartách naozaj v jednom riadku */
html.page-infopanel .slide.upcoming .event span.tv-upcoming-who-small{
  display:inline-flex!important;
  align-items:center!important;
  gap:.34em!important;
  white-space:nowrap!important;
  margin-top:.38vh!important;
  line-height:1.2!important;
}
html.page-infopanel .slide.upcoming .event span.tv-upcoming-who-small > span.tv-who-icon{
  display:inline-block!important;
  flex:0 0 auto!important;
  margin-top:0!important;
  margin-right:0!important;
  font-size:1.18em!important;
  line-height:1!important;
  vertical-align:middle!important;
}
html.page-infopanel .tv-upcoming-who > span.tv-who-icon{
  font-size:1.18em!important;
}

/* ===== v4.3.7: header holidays ===== */
html.page-infopanel .meta .holiday{
  display:none;
  margin-top:.45vh;
  color:#fff;
  font-size:1.05vw;
  font-weight:400;
  line-height:1.18;
  white-space:nowrap;
}
html.page-infopanel .meta .holiday .tv-holiday-name{color:#fff;font-weight:900}
html.page-infopanel .meta .holiday .tv-holiday-action{color:#fff;font-weight:400}
html.page-infopanel .meta .holiday .tv-holiday-count{color:#ffe568;font-weight:900}

/* ===== v4.3.7: legacy-safe KTO IDE; no flex/gap required ===== */
html.page-infopanel .tv-upcoming-who{
  display:block!important;
  text-align:center!important;
  white-space:nowrap!important;
}
html.page-infopanel .slide.upcoming .event span.tv-upcoming-who-small{
  display:inline-block!important;
  white-space:nowrap!important;
  margin-top:.38vh!important;
  line-height:1.2!important;
}
html.page-infopanel .tv-upcoming-who .tv-who-icon,
html.page-infopanel .slide.upcoming .event span.tv-upcoming-who-small > span.tv-who-icon{
  display:inline-block!important;
  margin:0 .34em 0 0!important;
  font-size:1.18em!important;
  line-height:1!important;
  vertical-align:-.12em!important;
}

html.page-infopanel .gallery-frame .gallery449-layer{position:absolute!important;left:0!important;top:0!important;width:100%!important;height:100%!important;transition:opacity .6s ease!important;-webkit-transition:opacity .6s ease!important;overflow:hidden;pointer-events:none}
