:root{
  --mica:radial-gradient(1200px 800px at 12% 18%, rgba(0,163,255,.18), rgba(0,0,0,0) 60%),
         radial-gradient(900px 700px at 82% 28%, rgba(118,255,3,.08), rgba(0,0,0,0) 55%),
         radial-gradient(1000px 900px at 50% 90%, rgba(160,100,255,.08), rgba(0,0,0,0) 60%),
         linear-gradient(180deg, #05070d, #070a12);
  --glass-rgb:16,22,34;
  --glass-hi:.56;
  --glass-lo:.32;
  --topbar-rgb:16,22,34;
  --topbar-a1:.38;
  --topbar-a2:.10;
  --blur:24px;
  --sat:1.35;
  --radius:20px;
  --r2:26px;
  --accent:#00a3ff;
  --accent-rgb:0,163,255;
}

body{
  background:var(--mica) !important;
}

body.theme-light{
  --mica:radial-gradient(1200px 800px at 12% 18%, rgba(0,163,255,.14), rgba(0,0,0,0) 60%),
         radial-gradient(900px 700px at 82% 28%, rgba(90,230,160,.08), rgba(0,0,0,0) 55%),
         radial-gradient(1000px 900px at 50% 90%, rgba(160,100,255,.06), rgba(0,0,0,0) 60%),
         linear-gradient(180deg, #f4f6fb, #ffffff);
  --accent:#0067c0;
  --accent-rgb:0,103,192;
  --blur:22px;
  --sat:1.25;
}



/* === Scrollbary (moderní) === */
:root{
  --sb-size:10px;
  --sb-track:rgba(255,255,255,.06);
  --sb-thumb:rgba(255,255,255,.20);
  --sb-thumb-hover:rgba(255,255,255,.30);
  --sb-thumb-active:rgba(255,255,255,.40);
  --sb-border:rgba(var(--glass-rgb), .10);
}
body.theme-light{
  --sb-track:rgba(0,0,0,.06);
  --sb-thumb:rgba(0,0,0,.22);
  --sb-thumb-hover:rgba(0,0,0,.30);
  --sb-thumb-active:rgba(0,0,0,.40);
  --sb-border:rgba(255,255,255,.34);
}

body.v4, body.v4 *{
  scrollbar-width:thin;
  scrollbar-color:var(--sb-thumb) var(--sb-track);
}

body.v4 ::-webkit-scrollbar{width:var(--sb-size);height:var(--sb-size);}
body.v4 ::-webkit-scrollbar-track{background:var(--sb-track);border-radius:999px;}
body.v4 ::-webkit-scrollbar-thumb{
  background-color:var(--sb-thumb);
  border-radius:999px;
  border:2px solid var(--sb-border);
}
body.v4 ::-webkit-scrollbar-thumb:hover{background-color:var(--sb-thumb-hover);}
body.v4 ::-webkit-scrollbar-thumb:active{background-color:var(--sb-thumb-active);}
body.v4 ::-webkit-scrollbar-corner{background:transparent;}

/* Scroll-container: stabilní gutter (bez poskakování layoutu při zobrazení scrollbaru) */
body.v4 .card__body,
body.v4 .dropdown__panel,
body.v4 .modal,
body.v4 .modal__body,
body.v4 .group-panel__body,
body.v4 .paletteDropdown,
body.v4 .sideDock__scroll,
body.v4 .chat__inbox,
body.v4 .chat__favs,
body.v4 .chat__messages,
body.v4 .searchListWrap,
body.v4 .searchCol--right,
body.v4 .hfCol--right,
body.v4 .pfCol--right,
body.v4 .offersListWrap,
body.v4 .offersDetail,
body.v4 .offersDetailTools,
body.v4 .offersCol .list,
body.v4 .ratingsOverview,
body.v4 .ratingsListWrap,
body.v4 .ratingsDetail{
  scrollbar-gutter:stable both-edges;
}

/* === Nabídky: pracovní prostředí (public) === */
#cardOffers .card__body{padding:12px;height:calc(100% - 48px);max-height:none;overflow:hidden;}

.offersWork{
  height:100%;
  display:grid;
  grid-template-columns:minmax(380px, 1fr) minmax(420px, 1.15fr);
  grid-template-rows:auto 1fr;
  gap:12px;
  align-items:stretch;
}

.offersTabs{
  grid-column:1 / -1;
  grid-row:1;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:calc(var(--radius) * 1.05);
  background:linear-gradient(180deg, rgba(var(--glass-rgb), .30), rgba(var(--glass-rgb), .16));
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
  box-shadow:0 20px 72px rgba(0,0,0,.16);
  overflow:auto hidden;
  min-width:0;
}

.offersTab{
  position:relative;
  height:44px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid var(--border);
  background:rgba(var(--glass-rgb), .18);
  color:var(--fg);
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
  transition:transform .12s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}

.offersTab:hover{transform:translateY(-1px);border-color:rgba(var(--accent-rgb), .45);box-shadow:0 14px 38px rgba(0,0,0,.20);}
.offersTab:focus-visible{outline:2px solid rgba(var(--accent-rgb), .70);outline-offset:2px;}
.offersTab.is-on{border-color:rgba(var(--accent-rgb), .75);background:rgba(var(--accent-rgb), .12);}

.offersTab[data-offers-role="dentist"]{background:linear-gradient(180deg, rgba(64,142,255,.20), rgba(var(--glass-rgb), .16));}
.offersTab[data-offers-role="hygiene"]{background:linear-gradient(180deg, rgba(65,211,150,.18), rgba(var(--glass-rgb), .16));}
.offersTab[data-offers-role="pharmacy"]{background:linear-gradient(180deg, rgba(255,170,52,.18), rgba(var(--glass-rgb), .16));}

.offersTabIco{
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid rgba(var(--glass-rgb), .35);
  background:rgba(var(--glass-rgb), .18);
}

.offersTabIco .ico{width:22px;height:22px;}
.offersTabIco .roleIco{width:22px;height:22px;}

.offersTabLbl{
  font-weight:700;
  font-size:13px;
}

.offersTabBadge{
  margin-left:2px;
  min-width:22px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  border:1px solid rgba(var(--glass-rgb), .45);
  background:rgba(var(--glass-rgb), .55);
  color:rgba(255,255,255,.88);
  font-size:11px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.offersTab.is-on .offersTabBadge{
  border-color:rgba(var(--accent-rgb), .55);
  background:rgba(var(--accent-rgb), .22);
  color:var(--fg);
}

.offersPane--list{grid-column:1;grid-row:2;}
.offersPane--detail{grid-column:2;grid-row:2;}

.offersRoleNav{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:calc(var(--radius) * 1.05);
  background:linear-gradient(180deg, rgba(var(--glass-rgb), .30), rgba(var(--glass-rgb), .16));
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
  box-shadow:0 20px 72px rgba(0,0,0,.16);
}

.offersRoleBtn{
  position:relative;
  width:44px;
  height:44px;
  border-radius:16px;
  border:1px solid var(--border);
  background:rgba(var(--glass-rgb), .20);
  color:var(--fg);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .12s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}

.offersRoleBtn:hover{transform:translateY(-1px);border-color:rgba(var(--accent-rgb), .45);box-shadow:0 14px 38px rgba(0,0,0,.20);}
.offersRoleBtn:focus-visible{outline:2px solid rgba(var(--accent-rgb), .70);outline-offset:2px;}
.offersRoleBtn.is-on{border-color:rgba(var(--accent-rgb), .75);background:rgba(var(--accent-rgb), .12);}

.offersRoleBtn[data-offers-role="dentist"]{background:linear-gradient(180deg, rgba(64,142,255,.26), rgba(var(--glass-rgb), .16));}
.offersRoleBtn[data-offers-role="hygiene"]{background:linear-gradient(180deg, rgba(76,216,164,.22), rgba(var(--glass-rgb), .16));}
.offersRoleBtn[data-offers-role="pharmacy"]{background:linear-gradient(180deg, rgba(190,112,255,.22), rgba(var(--glass-rgb), .16));}

.offersRoleBtn.is-on[data-offers-role="dentist"]{border-color:rgba(64,142,255,.70);box-shadow:0 14px 38px rgba(64,142,255,.18);}
.offersRoleBtn.is-on[data-offers-role="hygiene"]{border-color:rgba(76,216,164,.65);box-shadow:0 14px 38px rgba(76,216,164,.16);}
.offersRoleBtn.is-on[data-offers-role="pharmacy"]{border-color:rgba(190,112,255,.60);box-shadow:0 14px 38px rgba(190,112,255,.16);}

.offersRoleIco{width:22px;height:22px;display:flex;align-items:center;justify-content:center;}
.offersRoleIco .roleIco{width:22px;height:22px;display:block;}

.offersRoleBadge{
  position:absolute;
  right:-6px;
  top:-6px;
  min-width:18px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  border:1px solid rgba(var(--glass-rgb), .45);
  background:rgba(var(--glass-rgb), .65);
  color:rgba(255,255,255,.88);
  font-size:11px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}

body.theme-light .offersRoleBadge{background:rgba(255,255,255,.70);color:#0b1220;border-color:rgba(10,14,24,.10);}

.offersPane{
  border:1px solid var(--border);
  border-radius:calc(var(--radius) * 1.05);
  background:linear-gradient(180deg, rgba(var(--glass-rgb), .34), rgba(var(--glass-rgb), .16));
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
  box-shadow:0 20px 72px rgba(0,0,0,.16);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
}

#cardOffers .offersPane.is-pane-collapsed{align-self:start;height:auto;}

.offersPaneHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:12px 12px 10px 12px;
  border-bottom:1px solid var(--border);
}

.offersPaneTools{display:flex;flex-direction:column;align-items:flex-end;gap:8px;overflow:visible;min-width:0;}
.offersPaneToolsRow{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;min-width:0;}
.offersPaneToolsRow--top .offersTypeTabs{flex:0 0 auto;}
.offersPaneToolsRow--bottom{display:grid;grid-template-columns:minmax(150px, 1fr) minmax(110px, 1fr) 38px 38px;gap:10px;align-items:center;justify-content:end;width:100%;}
.offersPaneToolsRow--bottom > *{min-width:0;}
.offersPaneToolsRow--bottom .offersSort{width:100%;}
.offersPaneToolsRow--bottom .offersSort .input{width:100%;}
.offersPaneToolsRow--bottom #offersBtnView{width:100%;white-space:normal;line-height:1.1;padding-left:10px;padding-right:10px;}
.offersPaneToolsRow--bottom .iconbtn--sm{justify-self:end;}

.offersSort .input--sm{height:32px;padding:6px 10px;border-radius:12px;}

.offersSearchRow{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-bottom:1px solid var(--border);
}

.offersSearchRow .input{flex:1;min-width:0;}

.offersList{
  flex:0 0 auto;
  overflow:visible;
  padding:10px 12px 12px 12px;
}

.offersItem{
  border:1px solid var(--border);
  border-radius:18px;
  padding:12px;
  margin-bottom:10px;
  background:rgba(var(--glass-rgb), .18);
  cursor:pointer;
  transition:transform .12s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}

.offersItem[data-offer-role="dentist"]{border-left:4px solid rgba(64,142,255,.70);}
.offersItem[data-offer-role="hygiene"]{border-left:4px solid rgba(76,216,164,.65);}
.offersItem[data-offer-role="pharmacy"]{border-left:4px solid rgba(190,112,255,.60);}

.offersItem:hover{transform:translateY(-1px);border-color:rgba(var(--accent-rgb), .45);box-shadow:0 18px 48px rgba(0,0,0,.18);}
.offersItem.is-selected{border-color:rgba(var(--accent-rgb), .75);background:rgba(var(--accent-rgb), .10);}

.offersItemTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.offersItemTitleRow{display:flex;align-items:flex-start;gap:8px;min-width:0;}
.offersItemTitleRow .roleIco{width:18px;height:18px;margin-top:2px;flex:0 0 18px;}
.offersItemTitle{font-weight:800;letter-spacing:.01em;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.offersItemSub{margin-top:4px;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.offersItemMeta{margin-top:10px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;}
.offersItemRates{display:flex;flex-direction:column;gap:6px;min-width:0;}
.offersItemPrice{flex:0 0 auto;}


/* Nabídky – karta (seznam) – profesionální rozdělení + sbalení */
.offersItemHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.offersItemHeadMain{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1 1 auto;}
.offersItemHeadText{min-width:0;flex:1 1 auto;}
.offersItemHeadPrice{flex:0 0 auto;margin-left:6px;}
.offersItemHeadPrice .badge{white-space:nowrap;}
.offersItemAvatar{width:28px;height:28px;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:rgba(var(--glass-rgb), .22);display:flex;align-items:center;justify-content:center;flex:0 0 28px;}
.offersItemAvatar .roleIco{width:28px;height:28px;display:block;}
.offersItemProv{font-weight:900;letter-spacing:.01em;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.offersItemAddr{margin-top:2px;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.offersItemActions{display:flex;align-items:center;gap:6px;flex:0 0 auto;}
.offersItemActions .iconbtn--sm{width:32px;height:32px;border-radius:12px;}
.offersItemBody{margin-top:10px;padding-top:10px;border-top:1px solid rgba(var(--border-rgb), .65);display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.offersItemOfferTitle{font-weight:850;line-height:1.2;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.offersItemOfferPrice{flex:0 0 auto;}
.offersItemToggle .ico{transition:transform .18s ease;}
.offersItem.is-collapsed .offersItemBody{display:none;}
.offersItem.is-collapsed .offersItemToggle .ico{transform:rotate(-90deg);}

.offersDetailHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  border-bottom:1px solid var(--border);
}

.offersDetailHeadMain{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;overflow:visible;}
.offersDetailHeadText{min-width:0;overflow:hidden;}
.offersDetailTopicIcon{width:32px;height:32px;flex:0 0 32px;display:block;object-fit:contain;}

.offersDetailTitle{font-weight:900;letter-spacing:.01em;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.offersDetailTools{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow:auto hidden;scrollbar-width:thin;}

.offersDetail{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  scrollbar-gutter:stable both-edges;
  padding:12px;
}

.offersWork.is-reader .offersDetail{font-size:calc(15px * var(--ui-font-scale));line-height:1.65;}
.offersWork.is-reader .offersDetail .muted{opacity:.92;}

.offersDetail .section{margin-top:14px;}

.offerHero{
  display:grid;
  grid-template-columns:1fr 220px;
  gap:12px;
  align-items:start;
}

.offerHeroTitle{font-weight:950;letter-spacing:.01em;font-size:calc(18px * var(--ui-font-scale));line-height:1.15;}
.offerHeroSub{margin-top:6px;color:var(--muted);}
.offerHeroSub .roleIco{width:18px;height:18px;display:inline-block;vertical-align:-4px;margin-right:6px;}
.offerHeroAddr{margin-top:8px;}
.offerHeroAside{display:flex;flex-direction:column;align-items:stretch;gap:10px;}

.offerHeroThumbWrap{position:relative;width:220px;height:auto;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:rgba(var(--glass-rgb), .12);box-shadow:0 18px 48px rgba(0,0,0,.18);display:flex;flex-direction:column;}
.offerHeroThumbWrap .offerHeroThumb{position:relative;inset:auto;display:block;width:100%;}
.offerHeroThumbRate{position:relative;left:auto;bottom:auto;z-index:2;max-width:100%;margin:10px;padding:6px 8px;border-radius:12px;border:1px solid rgba(var(--glass-rgb), .35);background:rgba(var(--glass-rgb), .72);backdrop-filter:blur(var(--blur)) saturate(var(--sat));box-shadow:0 12px 34px rgba(0,0,0,.18);}
.offerHeroThumbRate .ratingStars{margin:0;}
.offerHeroThumb{width:100%;height:auto;display:block;}
.offerHeroThumb img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;}

/* Hodnocení v náhledu (menší, aby se vešlo do fotky) */
.offerHeroThumbRate .pubRate{--pr-gap:4px;}
.offerHeroThumbRate .pubRate__btn{height:24px;padding:0 6px;border-radius:10px;gap:4px;}
.offerHeroThumbRate .pubRate__btn .ico{width:14px;height:14px;}
.offerHeroThumbRate .pubRate__stars{height:24px;padding:0 6px;border-radius:10px;gap:3px;}
.offerHeroThumbRate .pubRate__star{width:14px;height:14px;}
.offerHeroThumbRate .pubRate__meta{font-size:10px;max-width:90px;}

.offerHeroMain{text-align:left;}
#cardOffers .offersRatesGrid{max-width:820px;margin-left:auto;margin-right:auto;}

/* Pravý sloupec (cena pod obrázkem) */
.offerHeroPrice{border:1px solid var(--border);border-radius:18px;padding:10px;background:rgba(var(--glass-rgb), .18);display:flex;flex-direction:column;gap:8px;align-items:flex-end;}
.offerHeroPrice .muted.small{margin:0;}
.offersPriceText--aside{margin-left:auto;text-align:right;}
.offersPriceRate--aside{width:100%;}
.offerHeroRateAside{border:1px solid var(--border);border-radius:18px;padding:10px;background:rgba(var(--glass-rgb), .18);display:flex;flex-direction:column;gap:8px;align-items:stretch;}
.offerHeroRateAside .muted.small{margin:0;}
.offerHeroRateAside .pubRate{max-width:100%;min-width:0;justify-content:flex-end;}
.offerHeroRateAside .pubRate__meta{text-align:right;}

/* Zjemnění rozestupů sekcí v levém sloupci (aby nevznikala prázdná mezera) */
.offersDetail .offerHeroSection{margin-top:12px;}

/* Hodnocení nabídky: malá mezera pod soubory + podklad jako pravý blok (cena) */
.offersDetail .offerRateBottom{
  margin-top:8px;
  border:1px solid var(--border);
  border-radius:18px;
  padding:10px;
  background:rgba(var(--glass-rgb), .18);
  position:relative;
}
.offersDetail .offerRateBottom .pubRate{max-width:100%;min-width:0;}

.offersRateActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.offersRateActions .offersRateAction{width:32px;height:32px;border-radius:12px;}
.offersRateActions .offersRateAction[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(1);}
.offersRateActions.offersRateActions--top{margin-top:8px;margin-bottom:0;}


.offersRateHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;}
.offersRateHead .muted.small{margin:0;}

/* Cena: levý štítek + pravý sloupec (cena + hodnocení), pravý sloupec je vždy zarovnán doprava */
.offersRateHead--price{display:grid;grid-template-columns:auto 1fr;align-items:start;}
.offersPriceStack{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:0;width:100%;}
.offersRateBlock--price .offersPriceText{margin-left:0;text-align:right;}

/* Cena: zarovnání hodnocení ceny (pubRate) doprava – včetně vnitřních prvků při zalomení */
.offersPriceRate{display:flex;justify-content:flex-end;align-self:flex-end;min-width:0;width:100%;}
.offersPriceRate .pubRate{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;max-width:100%;margin-left:auto;width:100%;}
.offersPriceRate .pubRate__stars{justify-content:flex-end;}
.offersPriceRate .pubRate__meta{text-align:right;}

/* legacy fallback (starší markup) */
.offersPriceRateRow{display:flex;justify-content:flex-end;}
.offersPriceRateRow .pubRate{width:auto;max-width:100%;margin-left:auto;flex:0 0 auto;}
.offersRateBlock--price > div:nth-child(2){display:flex;justify-content:flex-end;}
.offersRateBlock--price > div:nth-child(2) .pubRate{width:auto;max-width:100%;margin-left:auto;flex:0 0 auto;}

.offersPriceText{
  padding:4px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(var(--glass-rgb), .22);
  font-weight:800;
  font-size:12px;
  white-space:nowrap;
}



@media (max-width:680px){
  /* mobil: informace o nabídce musí být logicky 2-sloupcově (vlevo text, vpravo obrázek) */
  .offerHero{grid-template-columns:minmax(0, 1fr) clamp(150px, 42vw, 220px);gap:12px;align-items:start;}
  .offerHeroMain{min-width:0;}
  /* obrázek a jeho hodnocení musí být níže, aby nedeformovaly hlavičku a nic se nepřekrývalo */
  .offerHeroAside{min-width:0;align-items:stretch;padding-top:28px;}

  /* obrázek: širší, bez deformace, rating pod obrázkem (ne přes něj) */
  .offerHeroThumbWrap{width:100%;height:auto;border-radius:16px;}
  .offerHeroThumbWrap .offerHeroThumb{position:relative;inset:auto;width:100%;height:auto;}
  .offerHeroThumb{width:100%;height:auto;}
  .offerHeroThumb img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
  .offerHeroThumbRate{position:static;left:auto;bottom:auto;margin:8px;max-width:100%;}
  .offerHeroThumbRate .pubRate__meta{max-width:none;}

  .offerHeroPrice{width:100%;}
  .offerHeroTitle,.offerHeroSub,.offerHeroAddr,.offersPriceText--aside{overflow-wrap:anywhere;word-break:break-word;}
}

.offersRatesGrid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:8px;}
@media (min-width:981px){
  .offersRatesGrid{grid-template-columns:1fr 1fr;}
}
.offersRateBlock{min-width:0;}

.offerActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}

.offerGallery{display:grid;grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:12px;}
.offerGalItem{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:rgba(var(--glass-rgb), .18);}
.offerGalThumb{display:block;aspect-ratio:4/3;overflow:hidden;background:rgba(0,0,0,.14);}
.offerGalThumb img{width:100%;height:100%;object-fit:cover;display:block;}
.offerGalMeta{padding:10px 10px 8px 10px;}

.offerEmpList{display:flex;flex-direction:column;gap:10px;}
.offerEmpRow{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid var(--border);border-radius:18px;background:rgba(var(--glass-rgb), .18);}
.offerEmpAva{width:44px;height:44px;border-radius:16px;overflow:hidden;background:rgba(var(--glass-rgb), .22);border:1px solid var(--border);flex:0 0 44px;display:flex;align-items:center;justify-content:center;}
.offerEmpAva img{width:100%;height:100%;object-fit:cover;display:block;}
.offerEmpMain{flex:1;min-width:0;}
.offerEmpName{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.offerEmpRole{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.offerEmpRate{margin-top:6px;}

@media (max-width: 760px){
  #cardOffers .card__body{overflow:auto;}
  .offersWork{grid-template-columns:1fr;grid-template-rows:auto auto auto;height:auto;}
  .offersTabs{grid-column:1;grid-row:1;}
  .offersPane--detail{grid-column:1;grid-row:2;}
  .offersPane--list{grid-column:1;grid-row:3;}
  /* mobil: scrolluje celé okno (card__body), výpis/detail jsou bez vnitřního vertikálního scrollu */
  #cardOffers #offersListWrap[data-view="cards"] .offersList{overflow:visible;}
  #cardOffers .offersDetail{overflow:visible;}

  #cardOffers .offersListBlock{flex:0 0 auto;min-height:0;}
  #cardOffers .offersDetailBlock{flex:0 0 auto;min-height:0;}
  #cardOffers .offersListWrap{flex:0 0 auto;min-height:0;}
  #cardOffers #offersListWrap[data-view="cards"] .offersList{flex:0 0 auto;}
  #cardOffers .offersDetail{flex:0 0 auto;}


  /* mobil: hlavička detailu – šipky + sbalit/rozbalit vždy v jednom řádku, text se zalamuje */
  .offersDetailHead{flex-wrap:nowrap;align-items:flex-start;overflow:visible;}
  .offersDetailHeadMain{flex:1 1 auto;min-width:0;}
  .offersDetailTools{flex:0 0 auto;width:auto;justify-content:flex-end;overflow:visible;flex-wrap:nowrap;white-space:nowrap;}
  .offersDetailTools .iconbtn{flex:0 0 auto;}
  .offersDetailTitle{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word;}
  #offersDetailSub{white-space:normal !important;overflow:visible !important;text-overflow:clip !important;word-break:break-word;}
}


@media (max-width: 560px){
  .offersTabs{padding:8px;gap:8px;}
  .offersTab{height:42px;padding:9px 10px;border-radius:14px;}
  .offersTabLbl{display:none;}
  .offersTabIco{width:26px;height:26px;border-radius:10px;}
}

#map{
  filter:saturate(1.1);
}

.brand{
  background:rgba(var(--glass-rgb), .12);
}

.brand__name{
  font-weight:650;
  letter-spacing:.02em;
}

.brand__logo{
  height:22px;
  width:auto;
  filter:drop-shadow(0 10px 26px rgba(0,0,0,.22));
}

.topbar{
  box-shadow:0 18px 60px rgba(0,0,0,.18);
}

/* V4 Tiles (Výsledky) */
.tileGrid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:12px;
  padding:8px 2px;
}

.tileCard{
  position:relative;
  border:1px solid var(--border);
  border-radius:calc(var(--radius) * 1.05);
  background:linear-gradient(180deg, rgba(var(--glass-rgb), .34), rgba(var(--glass-rgb), .18));
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
  box-shadow:0 20px 72px rgba(0,0,0,.16);
  overflow:hidden;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.tileCard:hover{
  transform:translateY(-2px);
  box-shadow:0 26px 96px rgba(0,0,0,.22);
  border-color:rgba(var(--accent-rgb), .45);
}

.tileTop{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 12px 10px 12px;
}

.tileAvatar{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(var(--glass-rgb), .26);
  border:1px solid var(--border);
}

.tileAvatar .ico{width:100%;height:100%;display:block;}
.tileAvatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit;}

.tileMeta{flex:1;min-width:0;}

.tileTitle{
  font-weight:650;
  letter-spacing:.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.tileSub{
  margin-top:2px;
  color:var(--muted);
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.tileBadges{display:flex;flex-wrap:wrap;gap:8px;padding:0 12px 12px 12px;}

.tileBadge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(var(--glass-rgb), .18);
  font-size:12px;
  color:var(--muted);
}

.tileBadge--accent{
  color:rgba(var(--accent-rgb), 1);
  border-color:rgba(var(--accent-rgb), .35);
  background:rgba(var(--accent-rgb), .10);
}

.tileActions{
  display:flex;
  gap:8px;
  padding:10px 12px 12px 12px;
  border-top:1px solid var(--border);
  background:rgba(var(--glass-rgb), .10);
}

.tileActions .btn{flex:1;}

/* Results view switching */
body[data-results-view="table"] #resultsTiles{display:none;}
body[data-results-view="table"] #resultsTable{display:table;}
body:not([data-results-view="table"]) #resultsTiles{display:grid;}
body:not([data-results-view="table"]) #resultsTable{display:none;}

/* Top 5 view switching */
body[data-top5-view="table"] #top5Tiles{display:none;}
body[data-top5-view="table"] #top5Table{display:table;}
body:not([data-top5-view="table"]) #top5Tiles{display:grid;}
body:not([data-top5-view="table"]) #top5Table{display:none;}


/* Najdi dentální hygienu – view switching */
body[data-hf-results-view="table"] #hfResultsTiles{display:none;}
body[data-hf-results-view="table"] #hfResultsTable{display:table;}
body:not([data-hf-results-view="table"]) #hfResultsTiles{display:grid;}
body:not([data-hf-results-view="table"]) #hfResultsTable{display:none;}

body[data-hf-nearest-view="table"] #hfNearestTiles{display:none;}
body[data-hf-nearest-view="table"] #hfNearestTable{display:table;}
body:not([data-hf-nearest-view="table"]) #hfNearestTiles{display:grid;}
body:not([data-hf-nearest-view="table"]) #hfNearestTable{display:none;}

/* Najdi dentální hygienu – rozložení */
#cardFindHygiene{--hfBtnH:52px;--hfBtnGap:8px;--hfRowH:44px;--hfHeadH:40px;}
.hfGrid{
  display:grid;
  grid-template-columns:minmax(340px, 1.05fr) minmax(340px, .95fr);
  gap:12px;
  align-items:start;
}
.hfCol{min-width:0;}

/* výška výpisů: 10 výsledků + scroll; nejbližší 5 */
body[data-hf-results-view="table"] #hfResultsWrap{max-height:calc(var(--hfHeadH) + var(--hfRowH)*10 + 12px);}
body:not([data-hf-results-view="table"]) #hfResultsWrap{max-height:calc(var(--hfBtnH)*8 + var(--hfBtnGap)*7 + 12px);} /* 8 karet + scroll */
body[data-hf-nearest-view="table"] #hfNearestWrap{max-height:calc(var(--hfHeadH) + var(--hfRowH)*5 + 12px);}
body:not([data-hf-nearest-view="table"]) #hfNearestWrap{max-height:calc(var(--hfBtnH)*5 + var(--hfBtnGap)*4 + 12px);} /* 5 karet + scroll */

/* karty = kompaktní tlačítka, 3 v řádku */
#cardFindHygiene .searchListWrap .tileGrid{
  grid-template-columns:1fr;
  gap:var(--hfBtnGap);
  padding:0;
  grid-auto-rows:minmax(var(--hfBtnH), auto);
}
@media (max-width: 760px){
  .hfGrid{grid-template-columns:1fr;}
  .hfCol--right{order:-1;}
  #cardFindHygiene .searchListWrap .tileGrid{grid-template-columns:1fr;}
}
@media (max-width: 560px){
  #cardFindHygiene .searchListWrap .tileGrid{grid-template-columns:1fr;}
}

#cardFindHygiene .searchTileBtn{
  width:100%;
  min-height:var(--hfBtnH);
  height:auto;
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 8px;
  border:1px solid var(--border);
  border-radius:calc(var(--radius) * 1.05);
  background:rgba(var(--glass-rgb), .22);
  color:inherit;
  cursor:pointer;
  text-align:left;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}
#cardFindHygiene .searchTileBtn:hover{box-shadow:0 18px 42px rgba(0,0,0,.18);}
#cardFindHygiene .searchTileBtn:focus-visible{outline:2px solid rgba(var(--accent-rgb), .70);outline-offset:2px;}
#cardFindHygiene .searchTileBtn.is-selected{border-color:rgba(var(--accent-rgb), .70);}
#cardFindHygiene .searchTileName{flex:1;min-width:0;font-size:12px;font-weight:700;line-height:1.18;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-height:calc(1.18em*3);}
#cardFindHygiene .searchTileNav{flex:0 0 auto;opacity:.7;}
#cardFindHygiene .searchTileNav .ico{width:14px;height:14px;}

/* Najdi zubního lékaře – view switching */
body[data-df-results-view="table"] #dfResultsTiles{display:none;}
body[data-df-results-view="table"] #dfResultsTable{display:table;}
body:not([data-df-results-view="table"]) #dfResultsTiles{display:grid;}
body:not([data-df-results-view="table"]) #dfResultsTable{display:none;}

body[data-df-nearest-view="table"] #dfNearestTiles{display:none;}
body[data-df-nearest-view="table"] #dfNearestTable{display:table;}
body:not([data-df-nearest-view="table"]) #dfNearestTiles{display:grid;}
body:not([data-df-nearest-view="table"]) #dfNearestTable{display:none;}

/* Najdi zubního lékaře – rozložení */
#cardFindDentist{--dfBtnH:52px;--dfBtnGap:8px;--dfRowH:44px;--dfHeadH:40px;}

/* výška výpisů: 10 výsledků + scroll; nejbližší 5 */
body[data-df-results-view="table"] #dfResultsWrap{max-height:calc(var(--dfHeadH) + var(--dfRowH)*10 + 12px);}
body:not([data-df-results-view="table"]) #dfResultsWrap{max-height:calc(var(--dfBtnH)*8 + var(--dfBtnGap)*7 + 12px);} /* 8 karet + scroll */
body[data-df-nearest-view="table"] #dfNearestWrap{max-height:calc(var(--dfHeadH) + var(--dfRowH)*5 + 12px);}
body:not([data-df-nearest-view="table"]) #dfNearestWrap{max-height:calc(var(--dfBtnH)*5 + var(--dfBtnGap)*4 + 12px);} /* 5 karet + scroll */

/* karty = kompaktní tlačítka, 3 v řádku */
#cardFindDentist .searchListWrap .tileGrid{
  grid-template-columns:1fr;
  gap:var(--dfBtnGap);
  padding:0;
  grid-auto-rows:minmax(var(--dfBtnH), auto);
}
@media (max-width: 760px){
  #cardFindDentist .searchListWrap .tileGrid{grid-template-columns:1fr;}
}
@media (max-width: 560px){
  #cardFindDentist .searchListWrap .tileGrid{grid-template-columns:1fr;}
}

#cardFindDentist .searchTileBtn{
  width:100%;
  min-height:var(--dfBtnH);
  height:auto;
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 8px;
  border:1px solid var(--border);
  border-radius:calc(var(--radius) * 1.05);
  background:rgba(var(--glass-rgb), .22);
  color:inherit;
  cursor:pointer;
  text-align:left;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}
#cardFindDentist .searchTileBtn:hover{box-shadow:0 18px 42px rgba(0,0,0,.18);}
#cardFindDentist .searchTileBtn:focus-visible{outline:2px solid rgba(var(--accent-rgb), .70);outline-offset:2px;}
#cardFindDentist .searchTileBtn.is-selected{border-color:rgba(var(--accent-rgb), .70);}
#cardFindDentist .searchTileName{flex:1;min-width:0;font-size:12px;font-weight:700;line-height:1.18;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-height:calc(1.18em*3);}
#cardFindDentist .searchTileNav{flex:0 0 auto;opacity:.7;}
#cardFindDentist .searchTileNav .ico{width:14px;height:14px;}

/* Najdi lékárnu – view switching */
body[data-pf-results-view="table"] #pfResultsTiles{display:none;}
body[data-pf-results-view="table"] #pfResultsTable{display:table;}
body:not([data-pf-results-view="table"]) #pfResultsTiles{display:grid;}
body:not([data-pf-results-view="table"]) #pfResultsTable{display:none;}

body[data-pf-nearest-view="table"] #pfNearestTiles{display:none;}
body[data-pf-nearest-view="table"] #pfNearestTable{display:table;}
body:not([data-pf-nearest-view="table"]) #pfNearestTiles{display:grid;}
body:not([data-pf-nearest-view="table"]) #pfNearestTable{display:none;}

/* Najdi lékárnu – rozložení */
#cardFindPharmacy{--pfBtnH:52px;--pfBtnGap:8px;--pfRowH:44px;--pfHeadH:40px;}
.pfGrid{
  display:grid;
  grid-template-columns:minmax(340px, 1.05fr) minmax(340px, .95fr);
  gap:12px;
  align-items:start;
}
.pfCol{min-width:0;}

/* výška výpisů: 10 výsledků + scroll; nejbližší 5 */
body[data-pf-results-view="table"] #pfResultsWrap{max-height:calc(var(--pfHeadH) + var(--pfRowH)*10 + 12px);}
body:not([data-pf-results-view="table"]) #pfResultsWrap{max-height:calc(var(--pfBtnH)*8 + var(--pfBtnGap)*7 + 12px);} /* 8 karet + scroll */
body[data-pf-nearest-view="table"] #pfNearestWrap{max-height:calc(var(--pfHeadH) + var(--pfRowH)*5 + 12px);}
body:not([data-pf-nearest-view="table"]) #pfNearestWrap{max-height:calc(var(--pfBtnH)*5 + var(--pfBtnGap)*4 + 12px);} /* 5 karet + scroll */

/* karty = kompaktní tlačítka, 3 v řádku */
#cardFindPharmacy .searchListWrap .tileGrid{
  grid-template-columns:1fr;
  gap:var(--pfBtnGap);
  padding:0;
  grid-auto-rows:minmax(var(--pfBtnH), auto);
}
@media (max-width: 760px){
  .pfGrid{grid-template-columns:1fr;}
  .pfCol--right{order:-1;}
  #cardFindPharmacy .searchListWrap .tileGrid{grid-template-columns:1fr;}
}
@media (max-width: 560px){
  #cardFindPharmacy .searchListWrap .tileGrid{grid-template-columns:1fr;}
}

#cardFindPharmacy .searchTileBtn{
  width:100%;
  min-height:var(--pfBtnH);
  height:auto;
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 8px;
  border:1px solid var(--border);
  border-radius:calc(var(--radius) * 1.05);
  background:rgba(var(--glass-rgb), .22);
  color:inherit;
  cursor:pointer;
  text-align:left;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}
#cardFindPharmacy .searchTileBtn:hover{box-shadow:0 18px 42px rgba(0,0,0,.18);}
#cardFindPharmacy .searchTileBtn:focus-visible{outline:2px solid rgba(var(--accent-rgb), .70);outline-offset:2px;}
#cardFindPharmacy .searchTileBtn.is-selected{border-color:rgba(var(--accent-rgb), .70);}
#cardFindPharmacy .searchTileName{flex:1;min-width:0;font-size:12px;font-weight:700;line-height:1.18;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-height:calc(1.18em*3);}
#cardFindPharmacy .searchTileNav{flex:0 0 auto;opacity:.7;}
#cardFindPharmacy .searchTileNav .ico{width:14px;height:14px;}


/* Najdi (Hygieny / Zubní lékaři / Lékárny) – karty stejné jako Statistiky */
#cardFindHygiene .searchTileAvatar,
#cardFindDentist .searchTileAvatar,
#cardFindPharmacy .searchTileAvatar{
  width:44px;height:44px;
  flex:0 0 auto;
  border-radius:999px;
  border:1px solid rgba(var(--accent-rgb), .28);
  background:rgba(var(--glass-rgb), .22);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
#cardFindHygiene .psTileRoleIco,
#cardFindDentist .psTileRoleIco,
#cardFindPharmacy .psTileRoleIco{
  width:100%;
  height:100%;
  object-fit:contain;
}
#cardFindHygiene .searchTileWrap,
#cardFindDentist .searchTileWrap,
#cardFindPharmacy .searchTileWrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
#cardFindHygiene .psTileLine,
#cardFindDentist .psTileLine,
#cardFindPharmacy .psTileLine{display:flex;align-items:baseline;gap:6px;min-width:0;}
#cardFindHygiene .psTileSep,
#cardFindDentist .psTileSep,
#cardFindPharmacy .psTileSep{opacity:.45;flex:0 0 auto;}
#cardFindHygiene .psTileSub,
#cardFindDentist .psTileSub,
#cardFindPharmacy .psTileSub{
  flex:1;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#cardFindHygiene .psTileMeta,
#cardFindDentist .psTileMeta,
#cardFindPharmacy .psTileMeta{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  min-width:70px;
}
#cardFindHygiene .psTileMeta .ratingStars,
#cardFindDentist .psTileMeta .ratingStars,
#cardFindPharmacy .psTileMeta .ratingStars{margin:0;}
#cardFindHygiene .psTileNavBtn,
#cardFindDentist .psTileNavBtn,
#cardFindPharmacy .psTileNavBtn{flex:0 0 auto;}

/* collapse */
#cardFindPharmacy #pfSearchBlock[data-collapsed="1"]{display:none;}
#cardFindPharmacy #pfInfoBlock[data-collapsed="1"] .searchDetailBody{display:none;}
#cardFindPharmacy #pfInfoBlock[data-collapsed="1"] #pfDetailHint{display:none;}

#cardFindDentist #dfSearchBlock[data-collapsed="1"]{display:none;}
#cardFindDentist #dfInfoBlock[data-collapsed="1"] .searchDetailBody{display:none;}
#cardFindDentist #dfInfoBlock[data-collapsed="1"] #dfDetailHint{display:none;}


#cardFindHygiene #hfSearchBlock[data-collapsed="1"]{display:none;}
#cardFindHygiene #hfInfoBlock[data-collapsed="1"] .searchDetailBody{display:none;}
#cardFindHygiene #hfInfoBlock[data-collapsed="1"] #hfDetailHint{display:none;}
#cardOffers #offersListBlock[data-collapsed="1"]{display:none;}
#cardOffers #offersDetailBlock[data-collapsed="1"]{display:none;}



/* Ikona v záhlaví */
.card__title .icoImg{width:20px;height:20px;object-fit:contain;display:inline-block;vertical-align:middle;margin-right:8px;}
.card__title .icoImg.icoImg--home{width:min(20px, calc(var(--home-ico-size) * .8));height:min(20px, calc(var(--home-ico-size) * .8));flex:0 0 auto;margin-right:10px;object-fit:contain;filter:drop-shadow(0 2px 10px rgba(0,0,0,.25));}

body[data-layout="cards"] .card[data-minimized] .card__title .icoImg.icoImg--home{width:min(20px, calc(var(--home-ico-size) * .4));height:min(20px, calc(var(--home-ico-size) * .4));}
body[data-layout="cards"] .card[data-collapsed] .card__title .icoImg.icoImg--home{width:min(20px, calc(var(--home-ico-size) * .4));height:min(20px, calc(var(--home-ico-size) * .4));}
body[data-layout="menu"] .card[data-menu-collapsed] .card__title .icoImg.icoImg--home{width:min(20px, calc(var(--home-ico-size) * .4));height:min(20px, calc(var(--home-ico-size) * .4));}


/* Google Places našeptávač – z-index nad kartami + vzhled podobný UI */
.pac-container{
  z-index:25000 !important;
  border:1px solid var(--border) !important;
  border-radius:calc(var(--radius) * 1.05) !important;
  background:linear-gradient(135deg, rgba(var(--glass-rgb), .46), rgba(var(--glass-rgb), .22)) !important;
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
  box-shadow:0 24px 90px rgba(0,0,0,.22) !important;
  overflow:hidden;
}
body.theme-light .pac-container{
  background:linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,255,255,.56)) !important;
}
.pac-item{
  padding:10px 12px !important;
  cursor:pointer;
  color:inherit !important;
  border-top:1px solid rgba(255,255,255,.06) !important;
}
.pac-item:first-child{border-top:0 !important;}
.pac-item:hover,
.pac-item.pac-item-selected{
  background:rgba(var(--accent-rgb), .12) !important;
}
.pac-item-query{color:inherit !important;font-weight:700;}
.pac-matched{font-weight:800;}
.pac-icon{opacity:.65;}


/* Vyhledávač (veřejný) – dvousloupcové rozložení */
.searchGrid{
  display:grid;
  grid-template-columns:minmax(340px, 1.05fr) minmax(340px, .95fr);
  gap:12px;
  align-items:start;
}
.searchCol{min-width:0;}
.searchSection{
  border:1px solid var(--border);
  border-radius:calc(var(--radius) * 1.05);
  background:linear-gradient(180deg, rgba(var(--glass-rgb), .26), rgba(var(--glass-rgb), .14));
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
  padding:10px;
}
.searchTools{margin-top:6px;}

/* Vyhledávač – sbalitelné výpisy + kompaktní tlačítka */
#cardSearch{--searchBtnH:40px;--searchBtnGap:8px;--searchRowH:44px;--searchHeadH:40px;}
.searchCollapseBtn{flex:0 0 auto;}
.searchCollapseBtn .ico{transition:transform .18s ease;}
.searchCollapseBtn.is-collapsed .ico{transform:rotate(-90deg);}

.searchListBlock{margin-top:8px;}
.searchListBlock[data-collapsed="1"] .searchListWrap,
.searchListBlock[data-collapsed="1"] .muted{display:none;}

.searchListWrap{
  margin-top:8px;
  border:1px solid var(--border);
  border-radius:calc(var(--radius) * 1.05);
  background:rgba(var(--glass-rgb), .16);
  padding:6px;
  overflow:auto;
  scrollbar-gutter:stable both-edges;
}
.searchListWrap .table{margin:0;}
.searchListWrap .table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(var(--glass-rgb), .24);
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
}

/* výška výpisů: 5 subjektů + scroll */
body[data-results-view="table"] #resultsListWrap{max-height:calc(var(--searchHeadH) + var(--searchRowH)*5 + 12px);}
body:not([data-results-view="table"]) #resultsListWrap{max-height:calc(var(--searchBtnH)*5 + var(--searchBtnGap)*4 + 12px);} /* 5 řádků × 3 */
body[data-top5-view="table"] #top5ListWrap{max-height:calc(var(--searchHeadH) + var(--searchRowH)*5 + 12px);}
body:not([data-top5-view="table"]) #top5ListWrap{max-height:calc(var(--searchBtnH)*5 + var(--searchBtnGap)*4 + 12px);overflow-y:auto;overflow-x:hidden;} /* stejné jako výsledky */

/* karty = kompaktní tlačítka, 3 v řádku */
#cardSearch .searchListWrap .tileGrid{
  grid-template-columns:1fr;
  gap:var(--searchBtnGap);
  padding:0;
  grid-auto-rows:var(--searchBtnH);
}
@media (max-width: 760px){
  #cardSearch .searchListWrap .tileGrid{grid-template-columns:1fr;}
}
@media (max-width: 560px){
  #cardSearch .searchListWrap .tileGrid{grid-template-columns:1fr;}
}

#cardSearch .searchTileBtn{
  width:100%;
  height:var(--searchBtnH);
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 8px;
  border:1px solid var(--border);
  border-radius:calc(var(--radius) * 1.05);
  background:rgba(var(--glass-rgb), .22);
  color:inherit;
  cursor:pointer;
  text-align:left;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}
#cardSearch .searchTileBtn:hover{box-shadow:0 18px 42px rgba(0,0,0,.18);}
#cardSearch .searchTileBtn:focus-visible{outline:2px solid rgba(var(--accent-rgb), .70);outline-offset:2px;}
#cardSearch .searchTileBtn.is-selected{border-color:rgba(var(--accent-rgb), .70);}

#cardSearch .searchTileAvatar{
  width:22px;height:22px;
  border-radius:999px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 22px;
  background:rgba(var(--panel-rgb), .35);
  border:1px solid rgba(var(--border-rgb), .55);
}
#cardSearch .searchTileAvatar img{width:100%;height:100%;object-fit:cover;display:block;}
#cardSearch .searchTileAvatar .ico{width:14px;height:14px;opacity:.75;}

#cardSearch .searchTileName{
  flex:1;
  min-width:0;
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#cardSearch .searchTileNav{
  flex:0 0 auto;
  opacity:.7;
}
#cardSearch .searchTileNav .ico{width:14px;height:14px;}

/* Výpisy vyhledávání (Výsledky + Top 5) musí mít shodný grid (3/2/1 dle breakpointů). */
#cardSearch #resultsTiles.tileGrid,
#cardSearch #top5Tiles.tileGrid{
  grid-template-columns:1fr;
  grid-auto-flow:row;
  grid-auto-rows:var(--searchBtnH);
}
@media (max-width: 760px){
  #cardSearch #resultsTiles.tileGrid,
  #cardSearch #top5Tiles.tileGrid{grid-template-columns:1fr;}
}
@media (max-width:560px){
  #cardSearch #resultsTiles.tileGrid,
  #cardSearch #top5Tiles.tileGrid{grid-template-columns:1fr;}
}

/* Sbalení vyhledávače a informačního okna */
#cardSearch #searchFormBlock[data-collapsed="1"] .searchSection{display:none;}
#cardSearch #searchFormBlock[data-collapsed="1"] .divider{display:none;}
#cardSearch #searchInfoBlock[data-collapsed="1"] .searchDetailBody{display:none;}
.searchDetailActions{display:flex;align-items:center;justify-content:flex-end;gap:10px;}


.searchListHead{display:flex;align-items:end;gap:10px;}
.searchListHead .input{flex:1;min-width:0;}
.searchDetailWrap{
  border:1px solid var(--border);
  border-radius:calc(var(--radius) * 1.05);
  background:linear-gradient(180deg, rgba(var(--glass-rgb), .26), rgba(var(--glass-rgb), .14));
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
  padding:10px;
}
.searchDetailHead{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.searchDetailHead .list-title{display:flex;align-items:center;gap:8px;min-width:0;}
.searchDetailHead .list-title .ico{flex:0 0 auto;}
.searchDetailHead .list-title span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.searchDetailActions .muted.small{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.searchDetailBody{margin-top:10px;}

/* výběr v seznamu */
.tileCard.is-selected{
  border-color:rgba(var(--accent-rgb), .70);
  box-shadow:0 26px 96px rgba(0,0,0,.28);
}
table.table tbody tr.is-selected{
  background:rgba(var(--accent-rgb), .10);
}

@media (max-width: 760px){
  .searchGrid{grid-template-columns:1fr;}
}

/* Compact tables still usable */
.table thead th{font-weight:600;}

/* Mobile density */
@media (max-width: 920px){
  .tileGrid{grid-template-columns:repeat(auto-fill, minmax(210px, 1fr));}
}
@media (max-width: 560px){
  .tileGrid{grid-template-columns:1fr;}
  .tileActions{flex-direction:column;}
}

/* Home index – spodní dok nahrazen 4 tematickými tlačítky */
body[data-page="index"][data-mode="public"][data-layout="cards"] #cardsDock.cards-dock--home{
  position:fixed;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  /* sjednoceno s menu módem při zatažených obou docích: plná šířka s odsazením 16px */
  width:calc(100vw - 32px);
  bottom:16px;
  bottom:calc(16px + env(safe-area-inset-bottom));
  z-index:9;
  display:block;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
body[data-page="index"][data-mode="public"][data-layout="cards"] #cardsDock.cards-dock--home[aria-hidden="true"]{
  display:block;
}
body[data-page="index"][data-mode="public"][data-layout="menu"] #cardsDock.cards-dock--home{
  position:fixed;
  /* centrování do volného prostoru mezi doky (ne do středu viewportu) */
  left:calc((var(--dock-left-cur, 0px) + (100vw - var(--dock-right-cur, 0px))) / 2);
  transform:translateX(-50%);
  width:calc(100vw - var(--dock-left-cur, 0px) - var(--dock-right-cur, 0px) - 32px);
  bottom:16px;
  bottom:calc(16px + env(safe-area-inset-bottom));
  z-index:9;
  pointer-events:auto;
  display:block !important;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}

/* menu mód: oba doky zatažené -> spodní home tlačítka vypadají jako v "cards" layoutu */
body[data-page="index"][data-mode="public"][data-layout="menu"] #cardsDock.cards-dock--home[aria-hidden="true"]{
  display:block !important;
}

/* menu mód: otevřený právě jeden dok -> home tlačítka zmenšit o 10 % */
body[data-page="index"][data-mode="public"][data-layout="menu"][data-leftdock-open="0"][data-rightdock-open="1"] .homeDock,
body[data-page="index"][data-mode="public"][data-layout="menu"][data-leftdock-open="1"][data-rightdock-open="0"] .homeDock{
  --home-btn-size:104px;
  transform:none;
}

/* menu mód: otevřené oba doky -> home tlačítka zmenšit o 20 % */
body[data-page="index"][data-mode="public"][data-layout="menu"][data-leftdock-open="1"][data-rightdock-open="1"] .homeDock{
  --home-btn-size:92px;
}


body[data-page="index"][data-mode="public"] .homeDock{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  gap:14px;
  width:100%;
  /* tlačítka jsou menší (cca 3× menší plocha), ikony zůstávají stejné */
  --home-btn-size:115px;
  justify-content:center;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none; /* Firefox */
  padding:0 6px;
  pointer-events:auto;
}

body[data-page="index"][data-mode="public"] .homeDock::-webkit-scrollbar{display:none;}

body[data-page="index"][data-mode="public"] .homeBtn{
  /* --tile-bg-* slouží pro home launch (barva tečky + téma popup karty) */
  --tile-bg-1: rgba(var(--glass-rgb), .25);
  --tile-bg-2: rgba(var(--glass-rgb), .10);

  /* vizuální povrch tlačítka – odvozeno z palety + light/dark */
  --home-btn-a1: calc(var(--glass-hi) + 0.10);
  --home-btn-a2: calc(var(--glass-lo) + 0.08);
  --home-btn-hl1: rgba(255,255,255,.10);

  /* podkladový „badge“ blok pro ikonu – světlejší než samotné tlačítko */
  --home-badge-a1: calc(var(--glass-hi) + 0.22);
  --home-badge-a2: calc(var(--glass-lo) + 0.18);
  --home-badge-hl1: rgba(255,255,255,.22);

  /* badge popisek uvnitř ikony */
  --home-badge-label-a: calc(var(--glass-hi) + 0.34);
  --home-badge-label-hl1: rgba(255,255,255,.18);


  display:flex;
  align-items:stretch;
  justify-content:stretch;
  flex:0 0 var(--home-btn-size);
  width:var(--home-btn-size);
  height:var(--home-btn-size);
  min-width:var(--home-btn-size);
  max-width:var(--home-btn-size);
  --home-btn-pad: clamp(4px, calc(var(--home-btn-size) * 0.055), 10px);

  padding:var(--home-btn-pad);
  border-radius:clamp(12px, calc(var(--home-btn-size) * 0.125), 18px);
  border:1px solid var(--border);
  background:
    linear-gradient(135deg, rgba(var(--glass-rgb), var(--home-btn-a1)), rgba(var(--glass-rgb), var(--home-btn-a2))),
    linear-gradient(135deg, var(--home-btn-hl1), rgba(255,255,255,0));
  box-shadow:0 18px 52px rgba(0,0,0,.20);
  color:var(--fg);
  cursor:pointer;
  text-align:center;
  user-select:none;
}

body[data-page="index"][data-mode="public"] .homeBtn:focus{outline:none;}
body[data-page="index"][data-mode="public"] .homeBtn:focus-visible{
  box-shadow:0 0 0 3px rgba(var(--accent-rgb), .40), 0 18px 52px rgba(0,0,0,.20);
}
body[data-page="index"][data-mode="public"] .homeBtn:hover{
  transform:translateY(-1px);
}
body[data-page="index"][data-mode="public"] .homeBtn:active{
  transform:translateY(0);
}

body[data-page="index"][data-mode="public"] .homeBtn__icon{
  position:relative;
  flex:1 1 auto;
  width:100%;
  height:100%;
  border-radius:clamp(10px, calc(var(--home-btn-size) * 0.11), 16px);
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    linear-gradient(135deg, rgba(var(--glass-rgb), var(--home-badge-a1)), rgba(var(--glass-rgb), var(--home-badge-a2))),
    linear-gradient(135deg, var(--home-badge-hl1), rgba(255,255,255,0));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 12px 30px rgba(0,0,0,.18);
  overflow:hidden;
}


:root{--home-ico-size:112px;}
body[data-page="index"][data-mode="public"] .homeIcoImg{
  width:112px;
  max-width:100%;
  height:auto;
  max-height:100%;
  display:block;
  object-fit:contain;
  pointer-events:none;
  -webkit-user-drag:none;
}

/* ponecháno v DOM kvůli JS (home popup ikona), ale vizuálně se nepoužívá */
body[data-page="index"][data-mode="public"] .homeIco--glyph{display:none;}

body[data-page="index"][data-mode="public"] .homeIco{
  width:102px;
  height:102px;
  max-width:100%;
  max-height:100%;
  color:var(--fg);
}

body[data-page="index"][data-mode="public"] .homeBtn__badgeLabel{
  position:absolute;
  left:8px;
  right:8px;
  bottom:8px;
  padding:6px 8px;
  border-radius:12px;
  background:
    linear-gradient(135deg, rgba(var(--glass-rgb), var(--home-badge-label-a)), rgba(var(--glass-rgb), calc(var(--home-badge-label-a) - 0.10))),
    linear-gradient(135deg, var(--home-badge-label-hl1), rgba(255,255,255,0));
  border:1px solid rgba(var(--glass-rgb), calc(var(--home-badge-label-a) - 0.18));
  box-shadow:0 8px 20px rgba(0,0,0,.18);
  color:var(--fg);
  font-size:calc(9.6px * var(--ui-font-scale));
  line-height:1.05;
  font-weight:700;
  letter-spacing:.15px;
  text-align:center;
  user-select:none;
  pointer-events:none;
  box-sizing:border-box;
  white-space:normal;
  overflow:hidden;
  text-overflow:clip;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  max-height:calc((1.05em * 2) + 14px);
}

/* ponecháno v DOM kvůli JS (popup titulek), ale vizuálně se nepoužívá */
body[data-page="index"][data-mode="public"] .homeBtn__label{display:none;}

/* menu mód: zavřený jeden dok -> text v badge max na 2 řádky */
body[data-page="index"][data-mode="public"][data-layout="menu"][data-leftdock-open="0"][data-rightdock-open="1"] .homeBtn__badgeLabel,
body[data-page="index"][data-mode="public"][data-layout="menu"][data-leftdock-open="1"][data-rightdock-open="0"] .homeBtn__badgeLabel{
  -webkit-line-clamp:2;
  max-height:calc((1.05em * 2) + 14px);
}

/* menu mód: oba doky roztažené -> home tlačítka pouze ikony */
body[data-page="index"][data-mode="public"][data-layout="menu"][data-leftdock-open="1"][data-rightdock-open="1"] .homeBtn__badgeLabel{display:none;}



body[data-page="index"][data-mode="public"] .homeBtn--blue{
  --tile-bg-1: rgba(55, 120, 255, .88);
  --tile-bg-2: rgba(20, 70, 190, .92);
  --tile-surface-1: rgba(236, 246, 255, .66);
  --tile-surface-2: rgba(255,255,255,.28);
  --tile-border: rgba(255,255,255,.40);
}
body[data-page="index"][data-mode="public"] .homeBtn--orange{
  --tile-bg-1: rgba(255, 148, 55, .90);
  --tile-bg-2: rgba(198, 86, 18, .92);
  --tile-surface-1: rgba(255, 246, 236, .66);
  --tile-surface-2: rgba(255,255,255,.28);
  --tile-border: rgba(255,255,255,.40);
}
body[data-page="index"][data-mode="public"] .homeBtn--green{
  --tile-bg-1: rgba(52, 189, 120, .90);
  --tile-bg-2: rgba(18, 134, 74, .92);
  --tile-surface-1: rgba(235, 255, 245, .66);
  --tile-surface-2: rgba(255,255,255,.28);
  --tile-border: rgba(255,255,255,.40);
}
body[data-page="index"][data-mode="public"] .homeBtn--purple{
  --tile-bg-1: rgba(155, 86, 255, .90);
  --tile-bg-2: rgba(96, 44, 162, .92);
  --tile-surface-1: rgba(246, 238, 255, .66);
  --tile-surface-2: rgba(255,255,255,.28);
  --tile-border: rgba(255,255,255,.40);
}

body[data-page="index"][data-mode="public"] .homeBtn--yellow{
  --tile-bg-1: rgba(255, 204, 64, .92);
  --tile-bg-2: rgba(186, 120, 16, .94);
  --tile-surface-1: rgba(255, 252, 232, .70);
  --tile-surface-2: rgba(255,255,255,.30);
  --tile-border: rgba(255,255,255,.40);
}
body[data-page="index"][data-mode="public"] .homeBtn--red{
  --tile-bg-1: rgba(255, 78, 92, .92);
  --tile-bg-2: rgba(170, 20, 48, .94);
  --tile-surface-1: rgba(255, 238, 241, .66);
  --tile-surface-2: rgba(255,255,255,.28);
  --tile-border: rgba(255,255,255,.40);
}

body[data-page="index"][data-mode="public"] .homeBtn--brown{
  --tile-bg-1: rgba(186, 122, 58, .92);
  --tile-bg-2: rgba(120, 74, 33, .94);
  --tile-surface-1: rgba(255, 244, 232, .66);
  --tile-surface-2: rgba(255,255,255,.28);
  --tile-border: rgba(255,255,255,.40);
}

@media (max-width: 520px){
  :root{--home-ico-size:96px;}

  body[data-page="index"][data-mode="public"][data-layout="cards"] #cardsDock.cards-dock--home{left:12px;right:12px;width:auto;transform:none;bottom:12px;bottom:calc(12px + env(safe-area-inset-bottom));}
  body[data-page="index"][data-mode="public"] .homeDock{--home-btn-size:101px; justify-content:flex-start; padding:0 4px;}
  /* menu mód: otevřený právě jeden dok -> -10 % */
  body[data-page="index"][data-mode="public"][data-layout="menu"][data-leftdock-open="0"][data-rightdock-open="1"] .homeDock,
  body[data-page="index"][data-mode="public"][data-layout="menu"][data-leftdock-open="1"][data-rightdock-open="0"] .homeDock{--home-btn-size:91px;}
  /* menu mód: otevřené oba doky -> -20 % */
  body[data-page="index"][data-mode="public"][data-layout="menu"][data-leftdock-open="1"][data-rightdock-open="1"] .homeDock{--home-btn-size:81px;}
  body[data-page="index"][data-mode="public"] .homeBtn{padding:4px;border-radius:14px;}
  body[data-page="index"][data-mode="public"] .homeBtn__icon{border-radius:12px;}
  body[data-page="index"][data-mode="public"] .homeIcoImg{width:96px;max-width:100%;max-height:100%;}
  body[data-page="index"][data-mode="public"] .homeIco{width:90px;height:90px;max-width:100%;max-height:100%;}
  body[data-page="index"][data-mode="public"] .homeBtn__badgeLabel{left:6px;right:6px;bottom:6px;padding:6px 7px;border-radius:10px;}
}

/* home launch: zářící tečka + okno (karta) ve barvě tlačítka */
body[data-page="index"][data-mode="public"] .homeLaunchDot{
  position:fixed;
  width:16px;
  height:16px;
  border-radius:999px;
  background:rgba(var(--home-dot-rgb,255,255,255), 1);
  box-shadow:
    0 0 0 0 rgba(var(--home-dot-rgb,255,255,255), .30),
    0 0 18px rgba(var(--home-dot-rgb,255,255,255), .95),
    0 0 56px rgba(var(--home-dot-rgb,255,255,255), .60);
  pointer-events:none;
  z-index:99999;
}

@keyframes homePopIn{
  from{opacity:0; transform:translate(-50%, -50%) scale(.92);}
  to{opacity:1; transform:translate(-50%, -50%) scale(1);}
}

body[data-page="index"][data-mode="public"][data-layout="cards"] .card[data-home-pop="1"]:not([data-collapsed="1"]):not([data-minimized="1"]),
body[data-mode="internal"][data-layout="cards"] .card[data-home-pop="1"]:not([data-collapsed="1"]):not([data-minimized="1"]),
body[data-mode="internal"][data-layout="menu"] .card[data-home-pop="1"]:not([data-collapsed="1"]):not([data-minimized="1"]){
  position:fixed !important;
  left:50vw !important;
  top:50vh !important;
  width:var(--home-pop-w, 520px) !important;
  height:var(--home-pop-h, 360px) !important;
  transform:translate(-50%, -50%) !important;
  margin:0 !important;
  z-index:var(--home-pop-z, 9800) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.45) !important;
  animation:homePopIn 240ms ease-out;
}

/* menu mód: bez centrování – jen zpřístupni close/pin pro home okno */
body[data-page="index"][data-mode="public"][data-layout="menu"] .cards-root[data-layout="menu"] .sideDock .card[data-home-pop="1"] .card__actions [data-card-action="close"],
body[data-page="index"][data-mode="public"][data-layout="menu"] .cards-root[data-layout="menu"] .sideDock .card[data-home-pop="1"] .card__actions [data-card-action="pin"],
body[data-mode="internal"][data-layout="menu"] .cards-root[data-layout="menu"] .sideDock .card[data-home-pop="1"] .card__actions [data-card-action="close"],
body[data-mode="internal"][data-layout="menu"] .cards-root[data-layout="menu"] .sideDock .card[data-home-pop="1"] .card__actions [data-card-action="pin"]{display:inline-flex !important;}

body[data-page="index"][data-mode="public"] .card[data-window-active="1"],
body[data-mode="internal"] .card[data-window-active="1"]{
  box-shadow:0 28px 72px rgba(0,0,0,.34), 0 0 0 1px rgba(var(--accent-rgb), .30) !important;
}
body.is-card-dragging,
body.is-card-resizing{
  user-select:none;
}
body.is-card-dragging .card,
body.is-card-resizing .card{
  transition:none !important;
}

body[data-page="index"][data-mode="public"] .card[data-home-theme="1"],
body[data-mode="internal"] .card[data-home-theme="1"]{
  overflow:hidden;
}
body[data-page="index"][data-mode="public"] .card[data-home-theme="1"]::before,
body[data-mode="internal"] .card[data-home-theme="1"]::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(135deg, var(--home-bg-1, rgba(255,255,255,.22)), var(--home-bg-2, rgba(255,255,255,.10)));
  opacity:.26;
  pointer-events:none;
}
body[data-page="index"][data-mode="public"] .card[data-home-theme="1"] .card__header,
body[data-mode="internal"] .card[data-home-theme="1"] .card__header{
  background:linear-gradient(135deg, var(--home-bg-1, rgba(255,255,255,.22)), var(--home-bg-2, rgba(255,255,255,.10)));
  border-bottom:1px solid rgba(255,255,255,.22);
  color:var(--fg);
  padding:6px 10px;
}
body[data-page="index"][data-mode="public"] .card[data-home-theme="1"] .card__header .ico,
body[data-mode="internal"] .card[data-home-theme="1"] .card__header .ico{color:rgba(10,18,30,.92);}
body[data-page="index"][data-mode="public"] .card[data-home-theme="1"] .card__title,
body[data-mode="internal"] .card[data-home-theme="1"] .card__title{
  display:flex;
  align-items:center;
  gap:10px;
}
body[data-page="index"][data-mode="public"] .card[data-home-theme="1"] .card__title .ico,
body[data-mode="internal"] .card[data-home-theme="1"] .card__title .ico{
  width:24px;
  height:24px;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.35));
}
body[data-page="index"][data-mode="public"] .card[data-home-theme="1"] .card__title span,
body[data-mode="internal"] .card[data-home-theme="1"] .card__title span{
  font-size:16px;
  font-weight:700;
  letter-spacing:.2px;
  text-shadow:0 1px 0 rgba(0,0,0,.20);
}


/* Statistiky (veřejný režim) */
body[data-mode="public"] .statsGrid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
body[data-mode="public"] .statCard{
  border-radius:14px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.10);
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}
body[data-mode="public"] .statLabel{
  font-size:12px;
  font-weight:600;
  letter-spacing:.2px;
  opacity:.85;
}
body[data-mode="public"] .statValue{
  margin-top:6px;
  font-size:26px;
  line-height:1.1;
  font-weight:800;
}
body[data-mode="public"] .statSub{
  margin-top:6px;
  font-size:12px;
  opacity:.8;
}
@media (max-width: 620px){
  body[data-mode="public"] .statsGrid{grid-template-columns:1fr;}
}




/* Statistiky (karta Statistiky – veřejný režim) */
#cardStats{--psBtnH:62px;--psBtnGap:8px;--psRowH:44px;--psHeadH:40px;--ps-ui-rgb:150,92,255;}
#cardStats[data-ps-chart-active="0"]{--ps-ui-rgb:150,92,255;}
#cardStats[data-ps-chart-active="1"]{--ps-ui-rgb:150,92,255;}
#cardStats[data-ps-chart-active="2"]{--ps-ui-rgb:150,92,255;}
#cardStats[data-ps-chart-active="3"]{--ps-ui-rgb:150,92,255;}
#cardStats[data-ps-chart-active="4"]{--ps-ui-rgb:150,92,255;}
#cardStats[data-ps-chart-active="5"]{--ps-ui-rgb:150,92,255;}
/* chování karty jako u ostatních oken (scroll v card__body ponechán) */
#cardStats .card__body{overflow:auto;}
#cardStats .psTools{display:flex;align-items:center;gap:8px;}
#cardStats .psFilterRow{display:flex;gap:10px;align-items:flex-end;margin:10px 0 8px;}
#cardStats .psField{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
#cardStats .psRoleTabs{margin-top:8px;flex-wrap:wrap;}
#cardStats .psRoleTabs .segBtn{display:flex;align-items:center;gap:8px;}
#cardStats .psCol--left .psRoleTabs .segBtn .ico{width:24px;height:24px;flex:0 0 24px;}
#cardStats .psCol--left .psRoleIco{width:27px;height:27px;flex:0 0 27px;display:inline-block;object-fit:contain;filter:drop-shadow(0 2px 10px rgba(0,0,0,.22));}

#cardStats .psTopicTabs{margin-top:8px;flex-wrap:wrap;}
#cardStats .psTopicTabs .segBtn{display:flex;align-items:center;gap:8px;min-width:0;}
#cardStats .psCol--left .psTopicTabs .segBtn .ico{width:22px;height:22px;flex:0 0 22px;}
#cardStats .psTopicTabs .segLabel{white-space:nowrap;}
@media (max-width: 740px){
  #cardStats .psTopicTabs .segLabel{font-size:12px;}
}



#cardStats .psNavTabs{
  margin-top:8px;
  flex-wrap:nowrap;
  gap:6px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px;
  scrollbar-width:none;
}
#cardStats .psNavTabs::-webkit-scrollbar{height:0;}
#cardStats .psNavTabs .segBtn{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  /* levé menu: ikony o ~20% větší než v pravém (dropdown) */
  width:48px;
  height:48px;
  min-width:48px;
  padding:0;
  gap:0;
  position:relative;
  overflow:hidden;
}
#cardStats .psNavTabs .segLabel{display:none;}
#cardStats .psNavTabs img.psRoleIco{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  max-width:none;
  max-height:none;
  padding:0;
  margin:0;
  display:block;
  object-fit:contain;
}

#cardStats .psSubjectsWrap{border-radius:calc(var(--radius) * 1.15);}
/* psNavUiTint */
#cardStats .psSubjectsWrap{border-color:rgba(var(--ps-ui-rgb), .18);}
#cardStats .psSubjectsWrap .table thead th{background:rgba(var(--ps-ui-rgb), .10);border-bottom-color:rgba(var(--ps-ui-rgb), .18);}
#cardStats .psSubjectsWrap .table thead th.t-right{background:rgba(var(--ps-ui-rgb), .10);}

#cardStats .psSubjectsWrap .table{margin:0;}
#cardStats #psSubjectsTable{table-layout:fixed;}

/* Statistiky – sloupec Cena (zobrazuje se jen pro Nabídky/Produkty/Ceny/Vše) */
#cardStats #psSubjectsTable th.psColPrice,
#cardStats #psSubjectsTable td.psColPrice{
  width:88px !important;
  text-align:center !important;
  white-space:nowrap;
}
#cardStats #psSubjectsTable td.psColPrice .muted{display:block;text-align:center;}

#cardStats #psSubjectsTable th.psColPrice,
#cardStats #psSubjectsTable td.psColPrice{display:none;}
#cardStats #psSubjectsTable[data-show-price="1"] th.psColPrice,
#cardStats #psSubjectsTable[data-show-price="1"] td.psColPrice{display:table-cell;}
/* Ikony subjektu v tabulkách (všechny karty) */
img.psRoleIco{width:28px;height:28px;display:inline-block;object-fit:contain;vertical-align:middle;}

/* Tabulka subjektů: stejné chování jako ostatní okna + max 3 řádky při zúžení okna */
#cardStats #psSubjectsTable th,
#cardStats #psSubjectsTable td{vertical-align:top;}
#cardStats #psSubjectsTable td{white-space:normal;}
#cardStats #psSubjectsTable td.psTdName .list-title,
#cardStats #psSubjectsTable td.psColAddr .muted.small{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.18;
  max-width:100%;
}
/* pravé sloupce zůstanou kompaktní */
#cardStats #psSubjectsTable td.t-right,
#cardStats #psSubjectsTable th.t-right,
#cardStats #psSubjectsTable td.muted.t-right,
#cardStats #psSubjectsTable th.muted.t-right{white-space:nowrap;}
#cardStats .psSubjectsWrap .table tbody tr{cursor:pointer;}
#cardStats .psSubjectsWrap .table tbody tr:hover td{background:rgba(var(--ps-ui-rgb), .08);}
#cardStats .psSubjectsWrap .table tbody tr.is-selected td{background:rgba(var(--ps-ui-rgb), .14);}
#cardStats .psSubjectsHint{margin-top:8px;}

/* Statistiky – cena v režimu Karty */
#cardStats .psTilePrice{font-size:12px;font-weight:800;opacity:.78;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

#cardStats .psListBlock{display:block;}
#cardStats #psFilterBlock[data-collapsed="1"] .psFilterInner{display:none;}
#cardStats #psDetailBlock[data-collapsed="1"] .searchDetailBody{display:none;}
#cardStats .searchDetailWrap{display:block;}
#cardStats .searchDetailHead{align-items:center;}
#cardStats .psTopicIco{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:10px;border:1px solid rgba(16,22,34,.10);background:rgba(255,255,255,.72);box-shadow:0 10px 22px rgba(0,0,0,.10);} 

/* Statistiky – záhlaví pravého panelu: barevná ikona + mikro šipka + ikonové menu */
#cardStats .psHeadNav{position:relative;display:inline-flex;align-items:center;}
#cardStats .psHeadNavBtn{
  height:28px;
  border-radius:12px;
  border:1px solid rgba(var(--ps-ui-rgb), .22);
  background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .14), rgba(255,255,255,.76));
  box-shadow:0 10px 22px rgba(0,0,0,.10);
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:1px 6px 1px 1px;
  cursor:pointer;
  color:rgba(16,22,34,.78);
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
}
#cardStats .psHeadNavBtn:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(0,0,0,.14);}
#cardStats .psHeadNavBtn:active{transform:translateY(0);}
#cardStats .psHeadNavBtn:focus-visible{outline:2px solid rgba(var(--accent-rgb), .70);outline-offset:2px;}
#cardStats .psHeadNavIco{
  width:26px;height:26px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(16,22,34,.10);
}
#cardStats .psHeadNavIco .ico{width:16px;height:16px;opacity:.95;}
#cardStats .psHeadNavIco img{width:20px;height:20px;object-fit:contain;display:block;}
#cardStats .psHeadNavCaret .ico{width:10px;height:10px;opacity:.70;}

#cardStats .psHeadNav[data-ps-nav="all"] .psHeadNavBtn{color:rgba(43, 126, 255, .96);} 
#cardStats .psHeadNav[data-ps-nav="employees"] .psHeadNavBtn{color:rgba(20, 181, 98, .96);} 
#cardStats .psHeadNav[data-ps-nav="offers"] .psHeadNavBtn{color:rgba(24,166,199,.96);} 
#cardStats .psHeadNav[data-ps-nav="products"] .psHeadNavBtn{color:rgba(150, 92, 255, .96);} 
#cardStats .psHeadNav[data-ps-nav="images"] .psHeadNavBtn{color:rgba(233, 88, 135, .96);} 
#cardStats .psHeadNav[data-ps-nav="prices"] .psHeadNavBtn{color:rgba(255,137,64,.96);} 

#cardStats .psHeadNav[data-ps-role="dentist"] .psHeadNavBtn{color:rgba(20, 181, 98, .96);} 
#cardStats .psHeadNav[data-ps-role="hygiene"] .psHeadNavBtn{color:rgba(255,199,0,.96);} 
#cardStats .psHeadNav[data-ps-role="pharmacy"] .psHeadNavBtn{color:rgba(233, 88, 135, .96);} 
#cardStats .psHeadNav[data-ps-role="supplier"] .psHeadNavBtn{color:rgba(24,166,199,.96);} 
#cardStats .psHeadNav[data-ps-role="lab"] .psHeadNavBtn{color:rgba(150, 92, 255, .96);} 


#cardStats .psHeadNavDropdown{
  position:absolute;
  top:100%;
  left:0;
  margin-top:8px;
  padding:8px;
  border-radius:16px;
  border:1px solid rgba(var(--ps-ui-rgb), .24);
  background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .18), rgba(255,255,255,.92));
  box-shadow:0 18px 44px rgba(0,0,0,.20);
  display:grid;
  grid-template-columns:repeat(3, 42px);
  gap:6px;
  transform:translateY(-8px);
  opacity:0;
  pointer-events:none;
  max-height:0;
  overflow:auto;
  transition:opacity .14s ease, transform .14s ease, max-height .18s ease;
  z-index:40;
}
#cardStats .psHeadNav.is-open .psHeadNavDropdown{opacity:1;transform:translateY(0);pointer-events:auto;max-height:260px;}

#cardStats .psHeadNavItem{
  /* pravé menu (dropdown): základní velikost ikon */
  width:40px;height:40px;
  border-radius:14px;
  border:1px solid rgba(var(--ps-ui-rgb), .20);
  background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .10), rgba(255,255,255,.76));
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
  color:rgba(16,22,34,.78);
}
#cardStats .psHeadNavItem .ico{width:18px;height:18px;opacity:.92;}
#cardStats .psHeadNavItem img.psRoleIco{width:22px;height:22px;}
#cardStats .psHeadNavItem:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.14);} 
#cardStats .psHeadNavItem:active{transform:translateY(0);} 
#cardStats .psHeadNavItem.is-on{border-color:rgba(var(--accent-rgb), .92);background:rgba(var(--accent-rgb), .12);} 

/* Barevné kódování ikon v menu (SVG = currentColor) */
#cardStats .psHeadNavItem[data-ps-nav="all"]{color:rgba(43, 126, 255, .96);} 
#cardStats .psHeadNavItem[data-ps-nav="employees"]{color:rgba(20, 181, 98, .96);} 
#cardStats .psHeadNavItem[data-ps-nav="offers"]{color:rgba(24,166,199,.96);} 
#cardStats .psHeadNavItem[data-ps-nav="products"]{color:rgba(150, 92, 255, .96);} 
#cardStats .psHeadNavItem[data-ps-nav="images"]{color:rgba(233, 88, 135, .96);} 
#cardStats .psHeadNavItem[data-ps-nav="prices"]{color:rgba(255,137,64,.96);} 


#cardStats .psTopicIco .ico{width:16px;height:16px;opacity:.78;}
#cardStats .psDetailTitleRow{display:flex;align-items:center;gap:10px;overflow:visible;}
#cardStats .psDetailTitleCol{display:flex;flex-direction:column;gap:2px;min-width:0;}
#cardStats .psDetailTitleText{font-weight:900;color:rgba(16,22,34,.82);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.18;min-height:28px;display:flex;align-items:center;min-width:0;}
#cardStats .psDetailAddr{white-space:normal;overflow:visible;overflow-wrap:anywhere;line-height:1.22;}

#cardStats #psDetailName{white-space:normal;overflow-wrap:anywhere;line-height:1.15;}
#cardStats #psDetailAddr{white-space:normal;overflow-wrap:anywhere;}
#cardStats .searchDetailBody{overflow:visible;}
#cardStats .psDetailStack{display:flex;flex-direction:column;gap:12px;}

/* Statistiky – pravý panel: sjednocení barev podle aktivního grafu */
#cardStats #psDetailBlock.searchDetailWrap{
  border-color:rgba(var(--ps-ui-rgb), .26);
  background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .16), rgba(var(--glass-rgb), .10));
}
#cardStats #psDetailBlock .pstatsPanel{
  border-color:rgba(var(--ps-ui-rgb), .22);
  background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .10), rgba(255,255,255,.90));
}
#cardStats #psDetailBlock .pstatsPanel__title{
  border-bottom-color:rgba(var(--ps-ui-rgb), .18);
  background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .12), rgba(255,255,255,.74));
}
#cardStats #psDetailBlock .psChartMenu{
  border-color:rgba(var(--ps-ui-rgb), .22);
  background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .12), rgba(255,255,255,.70));
}
#cardStats #psDetailBlock .psChartHost{
  border-color:rgba(var(--ps-ui-rgb), .18);
  background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .10), rgba(255,255,255,.86));
}
#cardStats #psDetailBlock .psHeadNavBtn{
  border-color:rgba(var(--ps-ui-rgb), .22);
  background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .14), rgba(255,255,255,.76));
}
#cardStats #psDetailBlock .psHeadNavDropdown{
  border-color:rgba(var(--ps-ui-rgb), .24);
  background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .18), rgba(255,255,255,.92));
}
#cardStats #psDetailBlock .psHeadNavItem{
  border-color:rgba(var(--ps-ui-rgb), .20);
  background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .10), rgba(255,255,255,.76));
}
#cardStats #psDetailBlock .psTopicIco,
#cardStats #psDetailBlock .psHeadNavIco{
  border-color:rgba(var(--ps-ui-rgb), .18);
}
#cardStats #psSummaryKpis .pstatsKpi{
  border:none;
}


/* Statistiky – výpis subjektů: přepínání Tabulka/Karty + stejné chování jako ostatní okna */
body[data-ps-subjects-view="table"] #psSubjectsTiles{display:none;}
body[data-ps-subjects-view="table"] #psSubjectsTable{display:table;}
body:not([data-ps-subjects-view="table"]) #psSubjectsTiles{display:grid;}
body:not([data-ps-subjects-view="table"]) #psSubjectsTable{display:none;}

body[data-ps-subjects-view="table"] #psSubjectsWrap{max-height:calc(var(--psHeadH) + var(--psRowH)*10 + 12px);} /* 10 řádků + scroll */
body:not([data-ps-subjects-view="table"]) #psSubjectsWrap{max-height:calc(var(--psBtnH)*8 + var(--psBtnGap)*7 + 12px);} /* 8 karet + scroll */

#cardStats #psSubjectsTiles.tileGrid{grid-template-columns:1fr;gap:var(--psBtnGap);padding:0;grid-auto-rows:minmax(var(--psBtnH), auto);}

#cardStats .searchTileBtn{
  /* psTileUiTint */
  width:100%;
  min-height:var(--psBtnH);
  height:auto;
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 8px;
  border:1px solid rgba(var(--ps-ui-rgb), .14);
  border-radius:calc(var(--radius) * 1.05);
  background:rgba(var(--glass-rgb), .22);
  color:inherit;
  cursor:pointer;
  text-align:left;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}
#cardStats .searchTileBtn:hover{box-shadow:0 18px 42px rgba(0,0,0,.18);}
#cardStats .searchTileBtn:focus-visible{outline:2px solid rgba(var(--ps-ui-rgb), .70);outline-offset:2px;}
#cardStats .searchTileBtn.is-selected{border-color:rgba(var(--ps-ui-rgb), .70);}

#cardStats .searchTileAvatar{
  width:44px;height:44px;
  border-radius:999px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 44px;
  background:rgba(var(--panel-rgb), .35);
  border:1px solid rgba(var(--ps-ui-rgb), .28);
}
#cardStats .searchTileAvatar img{width:100%;height:100%;object-fit:contain;display:block;padding:4px;}

#cardStats .searchTileWrap{flex:1 1 0%;min-width:0;display:flex;align-items:flex-start;}
#cardStats .psTileLine{display:flex;align-items:flex-start;gap:6px;min-width:0;width:100%;}
#cardStats .searchTileName{display:-webkit-box;flex:0 1 46%;min-width:0;font-size:12px;font-weight:700;white-space:normal;overflow:hidden;overflow-wrap:anywhere;line-height:1.15;-webkit-box-orient:vertical;-webkit-line-clamp:3;}
#cardStats .psTileSep{flex:0 0 auto;opacity:.65;}
#cardStats .psTileSub{display:inline;flex:1 1 54%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#cardStats .psTileMeta{display:flex;align-items:center;justify-content:flex-end;gap:0;flex:0 2 auto;min-width:0;white-space:nowrap;}
#cardStats .psTileMeta .ratingStars{max-width:100%;display:flex;flex-direction:column;align-items:flex-end;line-height:1.05;}
#cardStats .psTileMeta .ratingStars__meta{margin-left:0;}
#cardStats .psTileNavBtn{flex:0 0 auto;}
#cardStats .psPanelTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;}
#cardStats .pstatsPanel{display:flex;flex-direction:column;min-height:0;}
#cardStats .pstatsPanel[data-collapsed="1"] .pstatsPanel__body{display:none;}
#cardStats .pstatsPanel__body{flex:1;min-height:0;display:flex;flex-direction:column;}
#cardStats .pstatsPanel__body--donut{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;}
#cardStats .pstatsKpis{grid-template-columns:repeat(2, minmax(0, 1fr));}
@media (min-width: 1200px){
  #cardStats .pstatsKpis{grid-template-columns:repeat(2, minmax(0, 1fr));}
}

/* Stabilizace hvězdiček v KPI (žlutá karta) */
#cardStats .pstatsStarRow{width:106px;max-width:100%;}
#cardStats .pstatsStarRow__base,#cardStats .pstatsStarRow__fill{flex-wrap:nowrap;}
#cardStats .pstatsStarRow__base .ico,#cardStats .pstatsStarRow__fill .ico{flex:0 0 18px;}
#cardStats .pstatsKpi__head{white-space:normal;font-size:12px;line-height:1.15;}
#cardStats .pstatsKpi__head span{word-break:break-word;}
#cardStats .pstatsKpi__val{font-size:clamp(22px, 2.1vw, 34px);line-height:1.02;}
#cardStats .pstatsBar{flex:1 1 auto;min-height:260px;height:auto;}
#cardStats .pstatsDonutLegend{flex:1 1 auto;min-width:0;}
#cardStats .pstatsDonut{flex:1 1 auto;width:clamp(220px, 42%, 340px);height:clamp(220px, 42%, 340px);min-width:220px;max-width:360px;min-height:220px;display:flex;align-items:center;justify-content:center;}

#cardStats .psPanels{flex:1 1 auto;min-height:340px;display:grid;grid-template-columns:1fr;grid-auto-rows:minmax(300px, 1fr);gap:12px;}


/* Statistiky (okno, veřejný režim) – sjednocený panel Analýza + menu grafů */
#cardStats .psAnalysisPanel{flex:1 1 auto;min-height:0;}
#cardStats #psAnalysisPanel .pstatsPanel__body{padding:10px 12px 12px;}

#cardStats .psAnalysisTitleBar{display:flex;align-items:center;justify-content:space-between;gap:12px;}
#cardStats .psAnalysisTitleLeft{display:flex;align-items:center;gap:8px;min-width:0;}
#cardStats .psAnalysisLabel{font-weight:900;letter-spacing:.02em;}
#cardStats .psAnalysisSep{opacity:.55;flex:0 0 auto;}
#cardStats .psChartTitle{font-weight:900;color:rgba(16,22,34,.78);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:36vw;}
#cardStats .psAnalysisTitleRight{display:flex;align-items:center;gap:10px;flex:0 0 auto;}

#cardStats .psChartMenu{display:flex;align-items:center;gap:6px;padding:4px;border-radius:14px;border:1px solid rgba(16,22,34,.10);background:rgba(255,255,255,.66);box-shadow:0 10px 26px rgba(0,0,0,.08);}
#cardStats .psChartTab{
  width:36px;height:32px;
  border-radius:12px;
  border:1px solid rgba(16,22,34,.10);
  background:rgba(255,255,255,.72);
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}
#cardStats .psChartTab .ico{width:18px;height:18px;opacity:.72;}
#cardStats .psChartTab:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.12);}
#cardStats .psChartTab:active{transform:translateY(0);}
#cardStats .psChartTab.is-on{border-color:rgba(var(--ps-ui-rgb), .70);background:rgba(var(--ps-ui-rgb), .10);}
#cardStats .psChartTab.is-on .ico{opacity:.92;}

#cardStats .psChartTab{position:relative;color:rgba(16,22,34,.74);}
#cardStats .psChartTab.is-on{box-shadow:0 16px 36px rgba(0,0,0,.14);border-color:rgba(var(--ps-ui-rgb), .92);background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .18), rgba(255,255,255,.70));}
#cardStats .psChartTab.is-on::after{content:'';position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);width:8px;height:8px;border-radius:999px;background:rgba(var(--ps-ui-rgb), .95);box-shadow:0 10px 22px rgba(0,0,0,.14);}

/* Barevné ikony v menu grafů */
#cardStats .psChartTab[data-ps-chart="5"]{color:rgba(var(--accent-rgb), .98);}
#cardStats .psChartTab[data-ps-chart="0"]{color:rgba(24,166,199,.96);}
#cardStats .psChartTab[data-ps-chart="1"]{color:rgba(255,199,0,.96);}
#cardStats .psChartTab[data-ps-chart="2"]{color:rgba(43, 126, 255, .96);}
#cardStats .psChartTab[data-ps-chart="3"]{color:rgba(150, 92, 255, .96);}
#cardStats .psChartTab[data-ps-chart="4"]{color:rgba(232, 62, 92, .96);}


#cardStats .psKpisCompact{margin-bottom:12px;}
#cardStats .psChartHostWrap{margin-top:4px;}
#cardStats .psChartHost{
  flex:1 1 auto;
  min-height:280px;
  height:clamp(280px, 42vh, 480px);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(245,248,255,.54));
  border:1px solid rgba(16,22,34,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.70), 0 14px 34px rgba(0,0,0,.10);
  padding:8px;
  overflow:hidden;
}


/* Chart společné */
#cardStats .psChartSvg{width:100%;height:100%;display:block;}
#cardStats .psChartGrid{stroke:rgba(16,22,34,.10);stroke-width:1;shape-rendering:crispEdges;}
/* písmo v grafech: subjekty -10%, ostatní -20% */
#cardStats .psChartAxis{fill:rgba(16,22,34,.62);font-size:clamp(7.7px, .8vw, 9.6px) !important;font-weight:900;}
#cardStats .psChartLbl{fill:rgba(16,22,34,.78);font-size:clamp(10.5px, 1.09vw, 13.0px) !important;font-weight:900;}
#cardStats .psChartVal{fill:rgba(16,22,34,.62);font-size:clamp(7.7px, .8vw, 9.6px) !important;font-weight:900;}
#cardStats .psChartRow{cursor:pointer;}
#cardStats .psChartRow.is-selected .psChartSel{stroke:rgba(16,22,34,.78);stroke-width:2;fill:none;}
#cardStats .psChartIco{filter:drop-shadow(0 10px 22px rgba(0,0,0,.18));}

/* Palety – 5 rozdílných grafů */
#cardStats .psC1Pos{fill:rgba(150, 92, 255, .92);} /* violet */
#cardStats .psC1Neg{fill:rgba(210, 150, 255, .92);} /* lavender */
#cardStats .psC2Bar{fill:rgba(150, 92, 255, .92);} /* violet */
#cardStats .psC3Line{stroke:rgba(150, 92, 255, .92);stroke-width:10;stroke-linecap:round;}
#cardStats .psC3Dot{fill:rgba(150, 92, 255, .92);} 
#cardStats .psC4Dentist{fill:rgba(150, 92, 255, .88);} /* violet */
#cardStats .psC4Hygiene{fill:rgba(190, 130, 255, .88);} /* lavender */
#cardStats .psC4Pharmacy{fill:rgba(230, 170, 255, .88);} /* light violet */
#cardStats .psC4Other{fill:rgba(120, 70, 210, .88);} /* deep violet */
#cardStats .psC5Bar{fill:rgba(110, 50, 200, .92);} /* deep violet */

/* === Statistiky: fialová paleta + bez okrajů tlačítek (r10) === */
#cardStats .psHeadNavBtn{
  height:28px;
  border-radius:12px;
  padding:1px 6px 1px 1px;
  gap:6px;
  border:none;
  background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .18), rgba(255,255,255,.74));
  box-shadow:0 16px 40px rgba(0,0,0,.14);
}
#cardStats .psHeadNavIco{
  width:26px;
  height:26px;
  border-radius:10px;
  border:none;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
}
#cardStats .psHeadNavIco .ico{width:100%;height:100%;opacity:.98;}
#cardStats .psHeadNavIco img{width:100%;height:100%;object-fit:contain;display:block;}
#cardStats .psHeadNavCaret .ico{width:12px;height:12px;opacity:.78;}

#cardStats .psHeadNavDropdown{border:none;}
#cardStats .psHeadNavItem{border:none;} 
#cardStats .psHeadNavItem.is-on{border:none;background:rgba(var(--ps-ui-rgb), .14);box-shadow:0 12px 28px rgba(0,0,0,.14), inset 0 0 0 2px rgba(var(--ps-ui-rgb), .70);} 

/* Ikony musí vyplnit celou plochu tlačítek (hlavička + ikonové menu) */
#cardStats .psHeadNavItem{overflow:hidden;}
#cardStats .psHeadNavItem .ico{width:100%;height:100%;opacity:.98;}
#cardStats .psHeadNavItem img.psRoleIco{width:100%;height:100%;object-fit:contain;display:block;}

#cardStats .psChartMenu{border:none;}
#cardStats .psChartTab{border:none;} 
#cardStats .psChartTab .ico{width:100%;height:100%;opacity:.82;}
#cardStats .psChartTab.is-on{border:none;}

/* zachovat barevné kódování ikon (nezamykat barvu do jedné fialové) */

/* pravé záhlaví – akční šipky také do fialové a bez okrajů */
#cardStats .searchDetailActions .iconbtn{border:none;background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .14), rgba(255,255,255,.76));box-shadow:0 12px 28px rgba(0,0,0,.10);} 
#cardStats .searchDetailActions .iconbtn:hover{box-shadow:0 18px 40px rgba(0,0,0,.14);} 
#cardStats .searchDetailActions .iconbtn .ico{color:rgba(var(--ps-ui-rgb), .92);} 

/* Souhrn – KPI karty ve fialové paletě */
#cardStats #psSummaryKpis .pstatsKpi{color:#fff;}
#cardStats #psSummaryKpis .pstatsKpi--blue{background:#4c1d95;} 
#cardStats #psSummaryKpis .pstatsKpi--amber{background:#5b21b6;} 
#cardStats #psSummaryKpis .pstatsKpi--green{background:#6d28d9;} 
#cardStats #psSummaryKpis .pstatsKpi--red{background:#7c3aed;} 

/* r12: odstranit barevné přechody (pravý panel Statistik) */
#cardStats .psChartTab.is-on{background:rgba(var(--ps-ui-rgb), .14) !important;}
#cardStats .psChartHost{background:rgba(var(--ps-ui-rgb), .06) !important;}
#cardStats .searchDetailActions .iconbtn{background:rgba(var(--ps-ui-rgb), .10) !important;}

#cardStats .psHeadNavBtn{background:rgba(var(--ps-ui-rgb), .10) !important;}
#cardStats .psHeadNavIco{background:transparent !important;box-shadow:none !important;}
#cardStats .psHeadNavDropdown{background:rgba(var(--ps-ui-rgb), .81) !important;}
#cardStats .psHeadNavItem{background:rgba(var(--ps-ui-rgb), .08) !important;}

#cardStats #psDetailBlock.searchDetailWrap{background:rgba(var(--ps-ui-rgb), .08) !important;}
#cardStats #psDetailBlock .pstatsPanel{background:rgba(var(--ps-ui-rgb), .06) !important;}
#cardStats #psDetailBlock .pstatsPanel__title{background:rgba(var(--ps-ui-rgb), .08) !important;}
#cardStats #psDetailBlock .psChartMenu{background:rgba(var(--ps-ui-rgb), .08) !important;}
#cardStats #psDetailBlock .psChartHost{background:rgba(var(--ps-ui-rgb), .06) !important;}
#cardStats #psDetailBlock .psHeadNavBtn{background:rgba(var(--ps-ui-rgb), .10) !important;}
#cardStats #psDetailBlock .psHeadNavDropdown{background:rgba(var(--ps-ui-rgb), .81) !important;}
#cardStats #psDetailBlock .psHeadNavItem{background:rgba(var(--ps-ui-rgb), .08) !important;}

/* r17: pravý panel – bez okrajů karet + vyšší kontrast mezi prvky */
#cardStats #psDetailBlock.searchDetailWrap{border:none !important;background:rgba(var(--ps-ui-rgb), .10) !important;box-shadow:0 18px 48px rgba(0,0,0,.12);}
#cardStats #psDetailBlock .pstatsPanel{border:none !important;background:rgba(var(--ps-ui-rgb), .14) !important;box-shadow:0 18px 48px rgba(0,0,0,.12);}
#cardStats #psDetailBlock .pstatsPanel__title{border-bottom:none !important;background:rgba(var(--ps-ui-rgb), .20) !important;}
#cardStats #psDetailBlock .psChartMenu{background:rgba(var(--ps-ui-rgb), .20) !important;}
#cardStats .psChartHost{border:none !important;background:rgba(255,255,255,.22) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 16px 40px rgba(0,0,0,.10);}
#cardStats #psSummaryKpis .pstatsKpi{border:none !important;box-shadow:0 18px 44px rgba(0,0,0,.18);} 

@media (max-width: 720px){
  #cardStats .psColAddr{display:none;}
}
@media (max-width: 640px){
  #cardStats #psSubjectsTable th.psColPrice,
  #cardStats #psSubjectsTable td.psColPrice{display:none !important;}
}
@media (max-width: 640px){
  #cardStats .pstatsPanel__body--donut{flex-direction:column;align-items:stretch;}
  #cardStats .pstatsDonut{width:100%;max-width:280px;margin:0 auto;}
}


/* Public stats – grafy */
.pstatsSvg,.pstatsDonutSvg{width:100%;height:100%;display:block;}
.pstatsGrid{stroke:rgba(16,22,34,.10);stroke-width:1;}
.pstatsAxis{fill:rgba(16,22,34,.55);font-size:12px;font-weight:800;}
.pstatsLbl{fill:rgba(16,22,34,.72);font-size:12px;font-weight:800;}
.pstatsVal{fill:rgba(16,22,34,.64);font-size:12px;font-weight:800;}
.pstatsBarPos{fill:rgba(25,185,104,.92);}
.pstatsBarNeg{fill:rgba(234,74,99,.92);}
.pstatsDonutPct{fill:rgba(16,22,34,.86);font-size:26px;font-weight:900;}
/* === Search tiles – hodnocení pod tlačítkem (v2.7.23.40) === */
.searchTileWrap{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.searchTileRate{
  min-width:0;
  max-width:100%;
  padding:0 2px;
}
.searchTileRate .pubRate{
  max-width:100%;
}


/* === Public stats modal (home: Statistiky) === */
.pstatsOverlay{
  position:fixed;
  inset:0;
  z-index:12050;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(8,10,18,.36);
  -webkit-backdrop-filter:blur(18px) saturate(1.25);
  backdrop-filter:blur(18px) saturate(1.25);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
.pstatsOverlay.is-on{
  opacity:1;
  pointer-events:auto;
}
.pstatsModal{
  width:min(980px, 100%);
  max-height:min(86vh, 820px);
  display:flex;
  flex-direction:column;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(245,248,255,.86));
  box-shadow:0 20px 70px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.55);
  overflow:hidden;
}
.pstatsTop{
  position:relative;
  padding:14px 18px;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(245,248,255,.88));
  border-bottom:1px solid rgba(16,22,34,.10);
}
.pstatsTop__title{
  text-align:center;
  font-weight:800;
  letter-spacing:.08em;
  color:rgba(16,22,34,.72);
}
.pstatsTop__close{
  position:absolute;
  top:10px;
  right:12px;
  width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid rgba(16,22,34,.14);
  background:rgba(255,255,255,.75);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.pstatsTop__close .ico{width:18px;height:18px;opacity:.65;}

.pstatsFilters{
  display:flex;
  align-items:stretch;
  gap:10px;
  padding:12px 18px;
  border-bottom:1px solid rgba(16,22,34,.08);
  background:rgba(255,255,255,.55);
}
.pstatsFilter{display:flex;align-items:center;gap:10px;}
.pstatsFilter--wide{flex:1;min-width:240px;}
.pstatsFilter__label{color:rgba(16,22,34,.68);font-weight:700;min-width:26px;}
.pstatsFilter__ctrl{position:relative;display:flex;align-items:center;}
.pstatsFilter__ctrl--select{flex:1;}
.pstatsInput{
  height:40px;
  padding:0 40px 0 12px;
  border-radius:10px;
  border:1px solid rgba(16,22,34,.14);
  background:rgba(255,255,255,.84);
  color:rgba(16,22,34,.86);
  font-weight:700;
}
.pstatsSelectPrefix{margin-left:12px;color:rgba(16,22,34,.68);font-weight:700;white-space:nowrap;}
.pstatsSelect{
  flex:1;
  height:40px;
  padding:0 44px 0 10px;
  border-radius:10px;
  border:1px solid rgba(16,22,34,.14);
  background:rgba(255,255,255,.84);
  color:rgba(16,22,34,.86);
  font-weight:700;
  -webkit-appearance:none;
  appearance:none;
}
.pstatsCtrlIco{
  position:absolute;
  right:10px;
  width:18px;
  height:18px;
  opacity:.55;
  pointer-events:none;
}
.pstatsCtrlIco--clock{opacity:.58;}

.pstatsKpis{
  padding:12px 18px 6px;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:12px;
}
.pstatsKpi{
  border-radius:14px;
  padding:14px 14px 12px;
  color:#fff;
  position:relative;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}
.pstatsKpi:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(900px 240px at 30% 20%, rgba(255,255,255,.26), rgba(255,255,255,0) 62%),
             linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,0));
  pointer-events:none;
}
.pstatsKpi__head{position:relative;display:flex;align-items:center;gap:8px;font-weight:700;opacity:.96;}
.pstatsKpi__head .ico{width:18px;height:18px;opacity:.95;}
.pstatsKpi__val{position:relative;margin-top:10px;font-size:38px;line-height:1.0;font-weight:900;letter-spacing:-.02em;}
.pstatsKpi__sub{position:relative;margin-top:6px;font-weight:700;opacity:.95;}
.pstatsKpi--blue{background:linear-gradient(135deg,#2a70ff,#2dd6d8);}
.pstatsKpi--amber{background:linear-gradient(135deg,#f3a400,#ffd058);color:rgba(16,22,34,.92);} 
.pstatsKpi--amber .pstatsKpi__head,.pstatsKpi--amber .pstatsKpi__sub{color:rgba(16,22,34,.78);} 
.pstatsKpi--amber .pstatsKpi__val{color:rgba(16,22,34,.92);} 
.pstatsKpi--green{background:linear-gradient(135deg,#19b968,#55dc6b);} 
.pstatsKpi--red{background:linear-gradient(135deg,#ea4a63,#ff6b6b);} 
.pstatsIcoDown{transform:rotate(180deg);}

.pstatsStarRow{
  position:relative;
  margin-top:8px;
  height:18px;
}
.pstatsStarRow__base,.pstatsStarRow__fill{
  display:flex;
  gap:4px;
}
.pstatsStarRow__base .ico{width:18px;height:18px;opacity:.28;}
.pstatsStarRow__fill{
  position:absolute;
  top:0;
  left:0;
  overflow:hidden;
  width:0%;
}
.pstatsStarRow__fill .ico{width:18px;height:18px;opacity:.95;}

.pstatsCharts{
  padding:8px 18px 14px;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:12px;
  overflow:auto;
}
.pstatsPanel{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(16,22,34,.10);
  border-radius:14px;
  box-shadow:0 10px 26px rgba(0,0,0,.10);
  overflow:hidden;
}
.pstatsPanel__title{
  padding:12px 14px;
  font-weight:800;
  color:rgba(16,22,34,.84);
  border-bottom:1px solid rgba(16,22,34,.08);
}
.pstatsPanel__body{padding:10px 12px 12px;}
.pstatsPanel__body--donut{display:flex;gap:12px;align-items:center;}
.pstatsBar{width:100%;height:240px;}
.pstatsLegend{display:flex;gap:18px;justify-content:center;margin-top:10px;}
.pstatsLegend__item{display:flex;align-items:center;gap:8px;font-weight:800;color:rgba(16,22,34,.80);} 
.pstatsLegend__ico{width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:rgba(16,22,34,.06);}
.pstatsLegend__item--pos .pstatsLegend__ico{background:rgba(25,185,104,.18);} 
.pstatsLegend__item--neg .pstatsLegend__ico{background:rgba(234,74,99,.18);} 
.pstatsLegend__ico .ico{width:16px;height:16px;opacity:.85;}

.pstatsDonutLegend{min-width:210px;display:flex;flex-direction:column;gap:14px;}
.pstatsDonutLegend__row{display:flex;gap:10px;align-items:flex-start;}
.pstatsDonutLegend__badge{width:26px;height:26px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(16,22,34,.06);}
.pstatsDonutLegend__row--pos .pstatsDonutLegend__badge{background:rgba(25,185,104,.18);} 
.pstatsDonutLegend__row--neg .pstatsDonutLegend__badge{background:rgba(234,74,99,.18);} 
.pstatsDonutLegend__badge .ico{width:16px;height:16px;opacity:.85;}
.pstatsDonutLegend__h{font-weight:900;color:rgba(16,22,34,.86);} 
.pstatsDonutLegend__s{margin-top:4px;color:rgba(16,22,34,.62);font-weight:800;} 
.pstatsDonut{width:240px;height:240px;display:flex;align-items:center;justify-content:center;}

.pstatsBottom{
  padding:14px 18px 16px;
  display:flex;
  justify-content:center;
  border-top:1px solid rgba(16,22,34,.08);
  background:rgba(255,255,255,.55);
}
.pstatsBtn{
  min-width:220px;
  height:44px;
  border-radius:12px;
  border:1px solid rgba(16,22,34,.14);
  background:rgba(255,255,255,.80);
  font-weight:900;
  color:rgba(16,22,34,.78);
  cursor:pointer;
}

@media (max-width: 860px){
  .pstatsKpis{grid-template-columns:repeat(2, 1fr);}
  .pstatsCharts{grid-template-columns:1fr;}
  .pstatsPanel__body--donut{justify-content:center;flex-wrap:wrap;}
}
@media (max-width: 520px){
  .pstatsFilters{flex-wrap:wrap;}
  .pstatsFilter--wide{flex-basis:100%;}
  .pstatsDonut{width:220px;height:220px;}
}

/* Nabídky – režim tabulka */
#offersTable{display:none;}
.offersListWrap{min-height:0;}
#cardOffers #offersTable .roleIco{width:28px;height:28px;}
#offersTable.table{width:100%;}

/* Nabídky – výpis (flex) + režim tabulka */
#cardOffers .offersListBlock{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;}
#cardOffers .offersListWrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:auto;scrollbar-gutter:stable both-edges;}
#cardOffers #offersListWrap[data-view="table"]{overflow:auto;padding:10px 12px 12px 12px;}
#cardOffers #offersListWrap[data-view="table"] .table{margin:0;}
#cardOffers #offersListWrap[data-view="table"] .table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(var(--glass-rgb), .24);
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
}

/* Nabídky – detail: vnitřní scroll (desktop) */
#cardOffers .offersDetailBlock{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;}

/* Nabídky – přepínač Nabídky/Produkty */
#cardOffers .offersTypeTabs{gap:6px;}
#cardOffers .offersTypeTabs .segBtn{flex:0 0 auto;padding:6px 10px;border-radius:14px;}
#cardOffers .offersTypeTabs .segBtn .segLabel{font-size:12px;font-weight:800;}
#cardOffers .offersTypeTabs .segBtn .ico{width:16px;height:16px;opacity:.92;}

/* Nabídky – záhlaví pravého panelu: malé vyjížděcí menu (role + Nabídky/Produkty) */
#cardOffers .offersHeadNav{--offers-ui-rgb:255,78,92;position:relative;display:inline-flex;align-items:center;}
#cardOffers .offersHeadNav[data-offers-type="product"]{--offers-ui-rgb:150,92,255;}
#cardOffers .offersHeadNav[data-offers-role="dentist"]{--offers-ui-rgb:20,181,98;}
#cardOffers .offersHeadNav[data-offers-role="hygiene"]{--offers-ui-rgb:255,199,0;}
#cardOffers .offersHeadNav[data-offers-role="pharmacy"]{--offers-ui-rgb:233,88,135;}

#cardOffers .offersHeadNavBtn{
  height:28px;
  border-radius:12px;
  border:1px solid rgba(var(--offers-ui-rgb), .22);
  background:linear-gradient(180deg, rgba(var(--offers-ui-rgb), .14), rgba(255,255,255,.76));
  box-shadow:0 10px 22px rgba(0,0,0,.10);
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:1px 6px 1px 1px;
  cursor:pointer;
  color:rgba(16,22,34,.78);
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
}
#cardOffers .offersHeadNavBtn:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(0,0,0,.14);}
#cardOffers .offersHeadNavBtn:active{transform:translateY(0);}
#cardOffers .offersHeadNavBtn:focus-visible{outline:2px solid rgba(var(--accent-rgb), .70);outline-offset:2px;}

#cardOffers .offersHeadNavIco{
  width:26px;height:26px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(16,22,34,.10);
}
#cardOffers .offersHeadNavIco img{width:20px;height:20px;object-fit:contain;display:block;}
#cardOffers .offersHeadNavCaret .ico{width:10px;height:10px;opacity:.70;}

#cardOffers .offersHeadNavDropdown{
  position:absolute;
  top:100%;
  left:0;
  margin-top:8px;
  padding:8px;
  border-radius:16px;
  border:1px solid rgba(var(--offers-ui-rgb), .24);
  background:linear-gradient(180deg, rgba(var(--offers-ui-rgb), .18), rgba(255,255,255,.92));
  box-shadow:0 18px 44px rgba(0,0,0,.20);
  display:grid;
  grid-template-columns:repeat(3, 42px);
  gap:6px;
  transform:translateY(-8px);
  opacity:0;
  pointer-events:none;
  max-height:0;
  overflow:auto;
  transition:opacity .14s ease, transform .14s ease, max-height .18s ease;
  z-index:40;
}
#cardOffers .offersHeadNav.is-open .offersHeadNavDropdown{opacity:1;transform:translateY(0);pointer-events:auto;max-height:260px;}

#cardOffers .offersHeadNavItem{
  width:40px;height:40px;
  border-radius:14px;
  border:1px solid rgba(var(--offers-ui-rgb), .20);
  background:linear-gradient(180deg, rgba(var(--offers-ui-rgb), .10), rgba(255,255,255,.76));
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
  color:rgba(16,22,34,.78);
}
#cardOffers .offersHeadNavItem:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.16);}
#cardOffers .offersHeadNavItem:active{transform:translateY(0);}
#cardOffers .offersHeadNavItem:focus-visible{outline:2px solid rgba(var(--accent-rgb), .70);outline-offset:2px;}
#cardOffers .offersHeadNavItem.is-on{border:none;background:rgba(var(--offers-ui-rgb), .14);box-shadow:0 12px 28px rgba(0,0,0,.14), inset 0 0 0 2px rgba(var(--offers-ui-rgb), .70);}
#cardOffers .offersHeadNavItemIco{width:22px;height:22px;object-fit:contain;display:block;}

/* Nabídky – head nav: sladění se Statistikami (bez kolečka, ikony přes celou plochu, vyšší kontrast) */
#cardOffers .offersHeadNavBtn{border:none;background:rgba(var(--offers-ui-rgb), .10) !important;box-shadow:0 16px 40px rgba(0,0,0,.14);}
#cardOffers .offersHeadNavIco{border:none;background:transparent !important;box-shadow:none !important;overflow:hidden;}
#cardOffers .offersHeadNavIco img{width:100%;height:100%;object-fit:contain;display:block;}
#cardOffers .offersHeadNavDropdown{border:none;background:rgba(var(--offers-ui-rgb), .81) !important;}
#cardOffers .offersHeadNavItem{border:none;background:rgba(var(--offers-ui-rgb), .08) !important;overflow:hidden;}
#cardOffers .offersHeadNavItemIco{width:100%;height:100%;object-fit:contain;display:block;}
#cardOffers .offersHeadNavItem.is-on{border:none;background:rgba(var(--offers-ui-rgb), .14) !important;box-shadow:0 12px 28px rgba(0,0,0,.14), inset 0 0 0 2px rgba(var(--offers-ui-rgb), .70);}


/* Hodnocení */
#cardRatings .card__body{padding:12px;height:calc(100% - 48px);max-height:none;overflow:hidden;}

/* Hodnocení – menu v záhlaví (stejné chování jako ve Statistikách) */
#cardRatings .ratingsHeadNav{--ratings-ui-rgb:43,126,255;position:relative;display:inline-flex;align-items:center;}
#cardRatings .ratingsHeadNav[data-ratings-role="dentist"]{--ratings-ui-rgb:20,181,98;}
#cardRatings .ratingsHeadNav[data-ratings-role="hygiene"]{--ratings-ui-rgb:255,199,0;}
#cardRatings .ratingsHeadNav[data-ratings-role="pharmacy"]{--ratings-ui-rgb:233,88,135;}

#cardRatings .ratingsHeadNavBtn{
  width:44px;
  height:44px;
  border-radius:16px;
  border:1px solid rgba(var(--ratings-ui-rgb), .22);
  background:linear-gradient(180deg, rgba(var(--ratings-ui-rgb), .12), rgba(255,255,255,.78));
  color:rgba(var(--ratings-ui-rgb), .96);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}
#cardRatings .ratingsHeadNavBtn:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(0,0,0,.14);}
#cardRatings .ratingsHeadNavBtn:active{transform:translateY(0);}
#cardRatings .ratingsHeadNavBtn:focus-visible{outline:2px solid rgba(var(--accent-rgb), .70);outline-offset:2px;}

#cardRatings .ratingsHeadNavIco{
  width:22px;
  height:22px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(16,22,34,.10);
}
#cardRatings .ratingsHeadNavIco .ico{width:16px;height:16px;opacity:.95;}
#cardRatings .ratingsHeadNavCaret .ico{width:10px;height:10px;opacity:.70;}

#cardRatings .ratingsHeadNavDropdown{
  position:absolute;
  top:100%;
  left:0;
  margin-top:8px;
  padding:8px;
  border-radius:16px;
  border:1px solid rgba(var(--ratings-ui-rgb), .24);
  background:linear-gradient(180deg, rgba(var(--ratings-ui-rgb), .18), rgba(255,255,255,.92));
  box-shadow:0 18px 44px rgba(0,0,0,.20);
  display:flex;
  flex-direction:column;
  gap:8px;
  transform:translateY(-8px);
  opacity:0;
  pointer-events:none;
  max-height:0;
  overflow:auto;
  transition:opacity .14s ease, transform .14s ease, max-height .18s ease;
  z-index:60;
  min-width:222px;
}
#cardRatings .ratingsHeadNav.is-open .ratingsHeadNavDropdown{opacity:1;transform:translateY(0);pointer-events:auto;max-height:320px;}

#cardRatings .ratingsHeadNavGrid{
  display:grid;
  grid-template-columns:repeat(auto-fill, 40px);
  gap:6px;
}
#cardRatings .ratingsHeadNavGrid[data-ratings-nav="menu"]{grid-template-columns:repeat(auto-fill, 40px);}

#cardRatings .ratingsHeadNavItem{
  width:40px;
  height:40px;
  border-radius:14px;
  border:1px solid rgba(var(--ratings-ui-rgb), .20);
  background:linear-gradient(180deg, rgba(var(--ratings-ui-rgb), .10), rgba(255,255,255,.76));
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
  color:rgba(16,22,34,.78);
  overflow:hidden;
}
#cardRatings .ratingsHeadNavItem:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.16);}
#cardRatings .ratingsHeadNavItem:active{transform:translateY(0);}
#cardRatings .ratingsHeadNavItem:focus-visible{outline:2px solid rgba(var(--accent-rgb), .70);outline-offset:2px;}
#cardRatings .ratingsHeadNavItem.is-on{border:none;background:rgba(var(--ratings-ui-rgb), .14);box-shadow:0 12px 28px rgba(0,0,0,.14), inset 0 0 0 2px rgba(var(--ratings-ui-rgb), .70);}
#cardRatings .ratingsHeadNavItem .ico{width:18px;height:18px;opacity:.92;}
#cardRatings .ratingsHeadNavItem img{width:22px;height:22px;object-fit:contain;display:block;}

/* Hodnocení – head nav: sladění se Statistikami (bez kolečka, ikony přes celou plochu, vyšší kontrast) */
#cardRatings .ratingsHeadNavBtn{height:28px;width:auto;border:none;border-radius:12px;padding:1px 6px 1px 1px;gap:6px;justify-content:flex-start;background:rgba(var(--ratings-ui-rgb), .10) !important;box-shadow:0 16px 40px rgba(0,0,0,.14);}
#cardRatings .ratingsHeadNavIco{width:26px;height:26px;border-radius:10px;border:none;background:transparent !important;box-shadow:none !important;overflow:hidden;}
#cardRatings .ratingsHeadNavIco .ico{width:100%;height:100%;opacity:.98;}
#cardRatings .ratingsHeadNavIco img{width:100%;height:100%;object-fit:contain;display:block;}
#cardRatings .ratingsHeadNavCaret .ico{width:12px;height:12px;opacity:.78;}
#cardRatings .ratingsHeadNavDropdown{border:none;background:rgba(var(--ratings-ui-rgb), .81) !important;}
#cardRatings .ratingsHeadNavItem{border:none;background:rgba(var(--ratings-ui-rgb), .08) !important;overflow:hidden;}
#cardRatings .ratingsHeadNavItem .ico{width:100%;height:100%;opacity:.98;}
#cardRatings .ratingsHeadNavItem img{width:100%;height:100%;object-fit:contain;display:block;}
#cardRatings .ratingsHeadNavItem.is-on{border:none;background:rgba(var(--ratings-ui-rgb), .14) !important;box-shadow:0 12px 28px rgba(0,0,0,.14), inset 0 0 0 2px rgba(var(--ratings-ui-rgb), .70);}


#cardRatings .ratingsDetailTitleRow{display:flex;gap:10px;align-items:center;min-width:0;}
#cardRatings .ratingsDetailTitleCol{min-width:0;}
.ratingsWork{
  height:100%;
  display:grid;
  grid-template-columns:64px minmax(420px, 1fr) minmax(320px, 420px);
  gap:10px;
  align-items:stretch;
}

.ratingsTabNav{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:calc(var(--radius) * 1.05);
  background:linear-gradient(180deg, rgba(var(--glass-rgb), .30), rgba(var(--glass-rgb), .16));
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
  box-shadow:0 20px 72px rgba(0,0,0,.16);
}

.ratingsTabBtn{
  width:44px;
  height:44px;
  border-radius:16px;
  border:1px solid var(--border);
  background:rgba(var(--glass-rgb), .20);
  color:var(--fg);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
}
.ratingsTabBtn:hover{transform:translateY(-1px); box-shadow:0 10px 28px rgba(0,0,0,.18);}
.ratingsTabBtn.is-on{border-color:rgba(var(--accent-rgb), .70); background:rgba(var(--accent-rgb), .12);}

.ratingsTabBadge{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:18px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  background:rgba(var(--accent-rgb), .95);
  color:#0a0a0a;
  font-size:11px;
  font-weight:850;
  display:none;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 34px rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.22);
}


.ratingsPane{
  border:1px solid var(--border);
  border-radius:calc(var(--radius) * 1.05);
  background:linear-gradient(180deg, rgba(var(--glass-rgb), .26), rgba(var(--glass-rgb), .14));
  backdrop-filter:blur(var(--blur)) saturate(var(--sat));
  box-shadow:0 20px 72px rgba(0,0,0,.16);
  overflow:hidden;
  min-height:0;
  display:flex;
  flex-direction:column;
}

#cardRatings .ratingsPane.is-pane-collapsed{align-self:start;height:auto;}

#ratingsListBlock[data-collapsed="1"],
#ratingsDetailBlock[data-collapsed="1"]{display:none;}

.ratingsPaneHead{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  padding:10px 10px 8px 10px;
  border-bottom:1px solid var(--border);
}
#cardRatings .ratingsPane--list .ratingsPaneHead{justify-content:flex-end;}

.ratingsPaneTools{display:flex; gap:8px; align-items:center;}
.ratingsRole .input{min-width:170px;}
.ratingsSort .input{min-width:190px;}
.ratingsPaneTools{flex-wrap:wrap;}

.ratingsSearchRow{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  padding:8px 10px 10px 10px;
  border-bottom:1px solid var(--border);
}

/* Ratings – bloky musí být flex, aby vnitřní wrapy dostaly výšku a mohly scrollovat
   Pozor: při sbalení (data-collapsed="1") se musí skrýt celý blok, proto :not(...) */
#cardRatings #ratingsListBlock:not([data-collapsed="1"]),
#cardRatings #ratingsDetailBlock:not([data-collapsed="1"]){
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
}

.ratingsOverview{
  display:none;
  padding:10px;
  overflow:auto;
  min-height:0;
}

.ratingsListWrap{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:10px;
}

/* Ratings – přepínač Karty/Tabulka */
#cardRatings #ratingsListWrap[data-view="cards"] #ratingsTable{display:none;}
#cardRatings #ratingsListWrap[data-view="table"] #ratingsList{display:none;}
#cardRatings #ratingsListWrap[data-view="table"] #ratingsTable{display:table; width:100%; margin:0;}

.ratingsList{display:flex; flex-direction:column; gap:10px;}

.ratingsItem{
  border:1px solid var(--border);
  border-radius:18px;
  padding:10px 10px;
  background:rgba(var(--glass-rgb), .18);
  cursor:pointer;
  transition:transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.ratingsItem:hover{transform:translateY(-1px); box-shadow:0 18px 64px rgba(0,0,0,.20);}
.ratingsItem.is-selected{border-color:rgba(var(--accent-rgb), .70); box-shadow:0 26px 96px rgba(0,0,0,.28);}
.ratingsItemTop{display:flex; align-items:flex-start; justify-content:space-between; gap:10px;}
.ratingsItemTitleRow{display:flex; gap:8px; align-items:center; min-width:0;}
.ratingsItemThumb{width:34px;height:34px;border-radius:12px;border:1px solid var(--border);background:rgba(var(--glass-rgb), .16);overflow:hidden;flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
.ratingsItemThumb img{width:100%;height:100%;object-fit:cover;display:block;}
.ratingsDetailMedia{margin:10px 0;border-radius:18px;border:1px solid var(--border);overflow:hidden;background:rgba(var(--glass-rgb), .14);}
.ratingsDetailMedia img{width:100%;height:auto;display:block;}
.ratingsItemTitle{font-weight:650; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%;}
.ratingsItemSub{opacity:.86; font-size:13px; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.ratingsItemMeta{display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-top:8px;}
.ratingsItemRates{display:flex; flex-direction:column; gap:4px;}
.ratingsItemTag{font-size:12px; opacity:.86;}

.ratingsDetailHead{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  padding:10px;
  border-bottom:1px solid var(--border);
}
.ratingsDetailTitle{font-weight:700; font-size:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.ratingsDetailTools{display:flex; gap:6px; align-items:center;}
.ratingsDetail{padding:6px; overflow:auto; min-height:0; flex:1;}

/* Ratings – detail redesign (cardRatings) */
#cardRatings .ratingsDetailGrid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px;}
#cardRatings .ratingsDetailBox{border:1px solid var(--border);border-radius:16px;padding:8px;background:rgba(var(--glass-rgb), .12);box-shadow:0 18px 60px rgba(0,0,0,.10);overflow:hidden;}
#cardRatings .ratingsDetailBoxLabel{margin-bottom:6px;letter-spacing:.01em;}
#cardRatings .ratingsDetailAvg{margin:2px 0 6px 0;}
#cardRatings .ratingsDetailActions{display:flex;flex-direction:column;gap:8px;margin-top:10px;align-items:stretch;}
#cardRatings .ratingsDetailActions .btn{width:100%;}
#cardRatings .ratingsWidgetBox .pubRate{--pr-gap:6px;}
#cardRatings .ratingsWidgetBox .pubRate__btn{height:26px;padding:0 8px;border-radius:10px;gap:5px;}
#cardRatings .ratingsWidgetBox .pubRate__btn .ico{width:16px;height:16px;}
#cardRatings .ratingsWidgetBox .pubRate__stars{height:auto;padding:6px 8px;border-radius:10px;}
#cardRatings .ratingsWidgetBox .pubRate__star{width:16px;height:16px;}
#cardRatings .ratingsWidgetBox .pubRate__meta{max-width:170px;font-size:12px;}
#cardRatings .ratingsWidgetBox .pubRate__meta{display:none;}

/* Ratings – souhrn (dosavadní hodnocení) */
#cardRatings .ratingsDetailSummary{display:grid;grid-template-columns:1fr;gap:10px;}
#cardRatings .ratingsSummaryBox{border:1px solid var(--border);border-radius:16px;padding:8px;background:rgba(var(--glass-rgb), .12);box-shadow:0 18px 60px rgba(0,0,0,.10);}
#cardRatings .ratingsSummaryHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;}
#cardRatings .ratingsSummaryStars{display:flex;align-items:center;justify-content:space-between;gap:10px;}
#cardRatings .ratingsMeter{height:10px;border-radius:999px;border:1px solid var(--border);background:rgba(var(--glass-rgb), .12);overflow:hidden;margin-top:6px;}
#cardRatings .ratingsMeter__fill{height:100%;width:var(--p, 0%);background:rgba(var(--accent-rgb), .55);}
#cardRatings .ratingsPills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
#cardRatings .ratingsPill{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(var(--glass-rgb), .16);font-size:12px;}
#cardRatings .ratingsPill.is-on{border-color:rgba(var(--accent-rgb), .75);background:rgba(var(--accent-rgb), .12);}
#cardRatings .ratingsPill .ico{width:16px;height:16px;opacity:.92;}

/* Ratings – média (obrázky) */
#cardRatings .ratingsMediaCard{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:linear-gradient(180deg, rgba(var(--glass-rgb), .22), rgba(var(--glass-rgb), .10));box-shadow:0 22px 74px rgba(0,0,0,.16);}
#cardRatings .ratingsMediaPreview{width:100%;border:0;background:transparent;padding:0;cursor:pointer;display:block;}
#cardRatings .ratingsMediaPreview img{width:100%;height:auto;display:block;}
#cardRatings .ratingsMediaMeta{padding:10px;display:flex;flex-direction:column;gap:4px;}
#cardRatings .ratingsMediaTitle{font-weight:750;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#cardRatings .ratingsMediaLine{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}


/* Ratings – obrázky */
.ratingsImgHero{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:18px;padding:10px;background:linear-gradient(180deg, rgba(var(--glass-rgb), .20), rgba(var(--glass-rgb), .10));box-shadow:0 22px 74px rgba(0,0,0,.16);overflow:hidden;}
.ratingsImgHero__img{border:0;padding:0;background:transparent;cursor:pointer;width:120px;height:92px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:rgba(var(--glass-rgb), .10);display:flex;align-items:center;justify-content:center;flex:0 0 120px;order:2;}
.ratingsImgHero__img img{width:100%;height:100%;object-fit:cover;display:block;}
.ratingsImgHero__img img.is-icon{object-fit:contain;padding:14px;}
.ratingsImgHero > div{min-width:0;flex:1 1 auto;order:1;}
.ratingsImgHero__file{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ratingsImgHero__path{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}


.ratingsWork.is-reader .ratingsDetail{font-size:calc(15px * var(--ui-font-scale));line-height:1.65;}
.ratingsWork.is-reader .ratingsDetail .muted{opacity:.92;}

@media (max-width: 760px){
  .ratingsWork{grid-template-columns:1fr;grid-template-rows:auto auto auto;}
  /* mobilně jako okno „Dentální hygiena“: detail nad seznamem, záložky nahoře */
  .ratingsTabNav{flex-direction:row; justify-content:flex-start; order:-2;}
  .ratingsPane--detail{order:-1;}
}


/* =========================================================
   OKNA – dynamické protahování výpisů při změně výšky okna
   Cíl: při roztahování okna dolů se výpisy protáhnou k okraji a scrollují.
   ========================================================= */

/* Gridy musí vyplnit celou výšku těla karty a nechat sloupce růst */
.cards-root[data-layout="cards"] #cardSearch .searchGrid,
.cards-root[data-layout="cards"] #cardFindHygiene .hfGrid,
.cards-root[data-layout="cards"] #cardFindDentist .hfGrid,
.cards-root[data-layout="cards"] #cardFindPharmacy .pfGrid,
.cards-root[data-layout="cards"] #cardStats .hfGrid,
  .cards-root[data-layout="cards"] #cardRatings .ratingsWork{
  height:100%;
  min-height:0;
  align-items:stretch;
}

/* Sloupce jako flex‑sloupce: spodní bloky mohou zabrat zbytek výšky */
.cards-root[data-layout="cards"] #cardSearch .searchCol,
.cards-root[data-layout="cards"] #cardFindHygiene .hfCol,
.cards-root[data-layout="cards"] #cardFindDentist .hfCol,
.cards-root[data-layout="cards"] #cardFindPharmacy .pfCol,
.cards-root[data-layout="cards"] #cardStats .psCol,
  .cards-root[data-layout="cards"] #cardRatings .ratingsPane{
  display:flex;
  flex-direction:column;
  min-height:0;
}

/* Otevřené bloky výpisů musí růst; zavřené nesmí zabírat prostor */
.cards-root[data-layout="cards"] #cardSearch #resultsBlock{flex:0 0 auto;}
.cards-root[data-layout="cards"] #cardSearch #top5Block{flex:0 0 auto;}
.cards-root[data-layout="cards"] #cardFindHygiene #hfResultsBlock{flex:0 0 auto;}
.cards-root[data-layout="cards"] #cardFindHygiene #hfNearestBlock{flex:0 0 auto;}
.cards-root[data-layout="cards"] #cardFindDentist #dfResultsBlock{flex:0 0 auto;}
.cards-root[data-layout="cards"] #cardFindDentist #dfNearestBlock{flex:0 0 auto;}
.cards-root[data-layout="cards"] #cardFindPharmacy #pfResultsBlock{flex:0 0 auto;}
.cards-root[data-layout="cards"] #cardFindPharmacy #pfNearestBlock{flex:0 0 auto;}
.cards-root[data-layout="cards"] #cardStats #psListBlock{flex:0 0 auto;}

.cards-root[data-layout="cards"] #cardSearch #resultsBlock[data-collapsed="0"],
.cards-root[data-layout="cards"] #cardSearch #top5Block[data-collapsed="0"],
.cards-root[data-layout="cards"] #cardFindHygiene #hfResultsBlock[data-collapsed="0"],
.cards-root[data-layout="cards"] #cardFindHygiene #hfNearestBlock[data-collapsed="0"],
.cards-root[data-layout="cards"] #cardFindDentist #dfResultsBlock[data-collapsed="0"],
.cards-root[data-layout="cards"] #cardFindDentist #dfNearestBlock[data-collapsed="0"],
.cards-root[data-layout="cards"] #cardFindPharmacy #pfResultsBlock[data-collapsed="0"],
.cards-root[data-layout="cards"] #cardFindPharmacy #pfNearestBlock[data-collapsed="0"],
.cards-root[data-layout="cards"] #cardStats #psListBlock[data-collapsed="0"]{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
}

/* Samotné výpisy (wrap) musí vyplnit blok a scrollovat uvnitř */
.cards-root[data-layout="cards"] #cardSearch #resultsListWrap,
.cards-root[data-layout="cards"] #cardSearch #top5ListWrap,
.cards-root[data-layout="cards"] #cardFindHygiene #hfResultsWrap,
.cards-root[data-layout="cards"] #cardFindHygiene #hfNearestWrap,
.cards-root[data-layout="cards"] #cardFindDentist #dfResultsWrap,
.cards-root[data-layout="cards"] #cardFindDentist #dfNearestWrap,
.cards-root[data-layout="cards"] #cardFindPharmacy #pfResultsWrap,
.cards-root[data-layout="cards"] #cardFindPharmacy #pfNearestWrap,
.cards-root[data-layout="cards"] #cardStats #psSubjectsWrap{
  flex:1 1 auto;
  min-height:0;
  max-height:none !important;
}

/* =========================================================
   FIX: Rozbalení "Informace o subjektu" nesmí rozbít výpisy/tabulky.
   Požadavek: blok Informace o subjektu NESMÍ mít vlastní scroll.
   Řešení: při přetečení se scroluje celý pravý sloupec, ne informační blok.
   ========================================================= */

/* Pravé sloupce jako scroll-container při přetečení obsahu */
.cards-root[data-layout="cards"] #cardSearch .searchCol--right,
.cards-root[data-layout="cards"] #cardFindHygiene .hfCol--right,
.cards-root[data-layout="cards"] #cardFindDentist .hfCol--right,
.cards-root[data-layout="cards"] #cardFindPharmacy .pfCol--right{
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable both-edges;
}

/* Informační blok nesmí být omezen výškou ani mít vnitřní scroll (kompatibilita s případným starším patchem) */
.cards-root[data-layout="cards"] #cardSearch #searchInfoBlock,
.cards-root[data-layout="cards"] #cardFindHygiene #hfInfoBlock,
.cards-root[data-layout="cards"] #cardFindDentist #dfInfoBlock,
.cards-root[data-layout="cards"] #cardFindPharmacy #pfInfoBlock{
  display:block;
  max-height:none;
  overflow:visible;
}

.cards-root[data-layout="cards"] #cardSearch #searchInfoBlock .searchDetailBody,
.cards-root[data-layout="cards"] #cardFindHygiene #hfInfoBlock .searchDetailBody,
.cards-root[data-layout="cards"] #cardFindDentist #dfInfoBlock .searchDetailBody,
.cards-root[data-layout="cards"] #cardFindPharmacy #pfInfoBlock .searchDetailBody{
  overflow:visible;
  max-height:none;
}

/* Spodní výpisy v pravých sloupcích nesmí spadnout na výšku 0 (jinak zmizí). */
.cards-root[data-layout="cards"] #cardSearch #top5Block[data-collapsed="0"],
.cards-root[data-layout="cards"] #cardFindHygiene #hfNearestBlock[data-collapsed="0"],
.cards-root[data-layout="cards"] #cardFindDentist #dfNearestBlock[data-collapsed="0"],
.cards-root[data-layout="cards"] #cardFindPharmacy #pfNearestBlock[data-collapsed="0"]{
  min-height:220px;
}

/* =========================================================
   MOBIL FIX: hlavní scroll oken s vyhledáváním
   Pro (max-width: 740px) vrací přirozené flow, aby šlo dojet na spodní výpisy.
   Desktopové „stretch“ pravidla zde blokovala scroll do dalších sekcí.
   ========================================================= */
@media (max-width: 740px){
  /* iOS: plynulé scrollování uvnitř fixních kontejnerů */
  body.v4 .card__body{
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }

  /* Nevnucovat 100% výšku gridů – umožnit scroll v těle okna */
  .cards-root[data-layout="cards"] #cardSearch .searchGrid,
  .cards-root[data-layout="cards"] #cardFindHygiene .hfGrid,
  .cards-root[data-layout="cards"] #cardFindDentist .hfGrid,
  .cards-root[data-layout="cards"] #cardFindPharmacy .pfGrid,
  .cards-root[data-layout="cards"] #cardStats .hfGrid,
  .cards-root[data-layout="cards"] #cardRatings .ratingsWork{
    height:auto;
    min-height:unset;
    align-items:start;
  }

  /* Zrušit flex-stretch sloupců a bloků (na mobilu překáží scrollování) */
  .cards-root[data-layout="cards"] #cardSearch .searchCol,
  .cards-root[data-layout="cards"] #cardFindHygiene .hfCol,
  .cards-root[data-layout="cards"] #cardFindDentist .hfCol,
  .cards-root[data-layout="cards"] #cardFindPharmacy .pfCol,
  .cards-root[data-layout="cards"] #cardStats .psCol,
  .cards-root[data-layout="cards"] #cardRatings .ratingsPane{
    display:block;
    min-height:unset;
  }

  /* Hodnocení: na mobilu přirozený scroll v těle okna (stejné chování jako „Dentální hygiena“) */
  #cardRatings .card__body{overflow:auto;}
  #cardRatings #ratingsListBlock:not([data-collapsed="1"]),
  #cardRatings #ratingsDetailBlock:not([data-collapsed="1"]){
    display:block !important;
    flex:0 0 auto !important;
    min-height:unset !important;
  }
  #cardRatings #ratingsListBlock[data-collapsed="1"],
  #cardRatings #ratingsDetailBlock[data-collapsed="1"]{display:none !important;}
  .cards-root[data-layout="cards"] #cardRatings .ratingsListWrap,
  .cards-root[data-layout="cards"] #cardRatings .ratingsDetail,
  .cards-root[data-layout="cards"] #cardRatings .ratingsOverview{
    overflow:visible;
    max-height:none;
  }

  /* Otevřené bloky výpisů na mobilu nesmí být flex:1 (jinak se sekce „pod tím“ stane nedostupná) */
  .cards-root[data-layout="cards"] #cardSearch #resultsBlock[data-collapsed="0"],
  .cards-root[data-layout="cards"] #cardSearch #top5Block[data-collapsed="0"],
  .cards-root[data-layout="cards"] #cardFindHygiene #hfResultsBlock[data-collapsed="0"],
  .cards-root[data-layout="cards"] #cardFindHygiene #hfNearestBlock[data-collapsed="0"],
  .cards-root[data-layout="cards"] #cardFindDentist #dfResultsBlock[data-collapsed="0"],
  .cards-root[data-layout="cards"] #cardFindDentist #dfNearestBlock[data-collapsed="0"],
  .cards-root[data-layout="cards"] #cardFindPharmacy #pfResultsBlock[data-collapsed="0"],
  .cards-root[data-layout="cards"] #cardFindPharmacy #pfNearestBlock[data-collapsed="0"],
  .cards-root[data-layout="cards"] #cardStats #psListBlock[data-collapsed="0"]{
    display:block !important;
    flex:0 0 auto !important;
    min-height:unset !important;
  }

  /* Wrapy: zrušit desktopové max-height:none (na mobilu má zůstat kompaktní + scrollovat v wrapu) */
  .cards-root[data-layout="cards"] #cardSearch #resultsListWrap,
  .cards-root[data-layout="cards"] #cardSearch #top5ListWrap,
  .cards-root[data-layout="cards"] #cardFindHygiene #hfResultsWrap,
  .cards-root[data-layout="cards"] #cardFindHygiene #hfNearestWrap,
  .cards-root[data-layout="cards"] #cardFindDentist #dfResultsWrap,
  .cards-root[data-layout="cards"] #cardFindDentist #dfNearestWrap,
  .cards-root[data-layout="cards"] #cardFindPharmacy #pfResultsWrap,
  .cards-root[data-layout="cards"] #cardFindPharmacy #pfNearestWrap,
  .cards-root[data-layout="cards"] #cardStats #psSubjectsWrap{
    flex:0 0 auto !important;
    min-height:unset !important;
  }

  /* Vrátit max-height podle původních (výpočtových) pravidel – s !important přebije desktop patch */
  body[data-results-view="table"] #resultsListWrap{max-height:calc(var(--searchHeadH) + var(--searchRowH)*5 + 12px) !important;}
  body:not([data-results-view="table"]) #resultsListWrap{max-height:calc(var(--searchBtnH)*5 + var(--searchBtnGap)*4 + 12px) !important;}
  body[data-top5-view="table"] #top5ListWrap{max-height:calc(var(--searchHeadH) + var(--searchRowH)*5 + 12px) !important;}
  body:not([data-top5-view="table"]) #top5ListWrap{max-height:calc(var(--searchBtnH)*5 + var(--searchBtnGap)*4 + 12px) !important;}

  body[data-hf-results-view="table"] #hfResultsWrap{max-height:calc(var(--hfHeadH) + var(--hfRowH)*10 + 12px) !important;}
  body:not([data-hf-results-view="table"]) #hfResultsWrap{max-height:calc(var(--hfBtnH)*8 + var(--hfBtnGap)*7 + 12px) !important;}
  body[data-hf-nearest-view="table"] #hfNearestWrap{max-height:calc(var(--hfHeadH) + var(--hfRowH)*5 + 12px) !important;}
  body:not([data-hf-nearest-view="table"]) #hfNearestWrap{max-height:calc(var(--hfBtnH)*5 + var(--hfBtnGap)*4 + 12px) !important;}

  body[data-df-results-view="table"] #dfResultsWrap{max-height:calc(var(--dfHeadH) + var(--dfRowH)*10 + 12px) !important;}
  body:not([data-df-results-view="table"]) #dfResultsWrap{max-height:calc(var(--dfBtnH)*8 + var(--dfBtnGap)*7 + 12px) !important;}
  body[data-df-nearest-view="table"] #dfNearestWrap{max-height:calc(var(--dfHeadH) + var(--dfRowH)*5 + 12px) !important;}
  body:not([data-df-nearest-view="table"]) #dfNearestWrap{max-height:calc(var(--dfBtnH)*5 + var(--dfBtnGap)*4 + 12px) !important;}

  body[data-pf-results-view="table"] #pfResultsWrap{max-height:calc(var(--pfHeadH) + var(--pfRowH)*10 + 12px) !important;}
  body:not([data-pf-results-view="table"]) #pfResultsWrap{max-height:calc(var(--pfBtnH)*8 + var(--pfBtnGap)*7 + 12px) !important;}
  body[data-pf-nearest-view="table"] #pfNearestWrap{max-height:calc(var(--pfHeadH) + var(--pfRowH)*5 + 12px) !important;}
  body:not([data-pf-nearest-view="table"]) #pfNearestWrap{max-height:calc(var(--pfBtnH)*5 + var(--pfBtnGap)*4 + 12px) !important;}

  /* Pravé sloupce na mobilu bez vnitřního scrollu – scroluje celé okno */
  .cards-root[data-layout="cards"] #cardSearch .searchCol--right,
  .cards-root[data-layout="cards"] #cardFindHygiene .hfCol--right,
  .cards-root[data-layout="cards"] #cardFindDentist .hfCol--right,
  .cards-root[data-layout="cards"] #cardFindPharmacy .pfCol--right{
    overflow:visible !important;
  }

  /* Na mobilu min-height „spodních výpisů“ zbytečně nafukuje obsah */
  .cards-root[data-layout="cards"] #cardSearch #top5Block[data-collapsed="0"],
  .cards-root[data-layout="cards"] #cardFindHygiene #hfNearestBlock[data-collapsed="0"],
  .cards-root[data-layout="cards"] #cardFindDentist #dfNearestBlock[data-collapsed="0"],
  .cards-root[data-layout="cards"] #cardFindPharmacy #pfNearestBlock[data-collapsed="0"]{
    min-height:unset;
  }
}



/* =========================================================
   MOBIL (<= 900px): HF/DF/PF – výpisy (karty): adresa na max 3 řádky
   ========================================================= */
@media (max-width: 900px){
  #cardFindHygiene .psTileLine,
  #cardFindDentist .psTileLine,
  #cardFindPharmacy .psTileLine{
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
  }
  #cardFindHygiene .psTileSep,
  #cardFindDentist .psTileSep,
  #cardFindPharmacy .psTileSep{display:none;}

  #cardFindHygiene .psTileSub,
  #cardFindDentist .psTileSub,
  #cardFindPharmacy .psTileSub{
    white-space:normal;
    overflow:hidden;
    overflow-wrap:anywhere;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    line-height:1.2;
    max-height:calc(1.2em*3);
  }
}


/* =========================================================
   MOBIL (<= 900px): HF/DF/PF – "Informace o subjektu" přikotvené pod záhlavím okna
   + vlastní nezávislý scroll v detailu.
   Implementace: JS přesouvá info blok do .infodentMobileDock na začátek .card__body.
   ========================================================= */
@media (max-width: 900px){

  /* mobil: vzhled docku a info bloku musí odpovídat desktopovému „searchDetailWrap“ (stejný glass odstín) */

  /* dock holder */
  #cardFindHygiene .infodentMobileDock,
  #cardFindDentist .infodentMobileDock,
  #cardFindPharmacy .infodentMobileDock,
  #cardStats .infodentMobileDock{
    position:sticky;
    top:0;
    z-index:120;
    padding-bottom:0;
    /* bez "obalového" průsvitného obdélníku okolo karty – pozadí tvoří pouze samotný info blok */
    background-color:transparent !important;
    background:transparent !important;
    backdrop-filter:none !important;
  }

  /* info blok v docku */
  #cardFindHygiene #hfInfoBlock[data-mobile-docked="1"],
  #cardFindDentist #dfInfoBlock[data-mobile-docked="1"],
  #cardFindPharmacy #pfInfoBlock[data-mobile-docked="1"],
  #cardStats #psDetailBlock[data-mobile-docked="1"]{
    position:relative;
    z-index:121;
    box-shadow:0 20px 72px rgba(0,0,0,.16);
    margin-top:0;
    /* desktopový odstín „searchDetailWrap“, jen s mírně vyšší opacitou (karta nesmí prosvítat) */
    background-color:rgba(var(--glass-rgb), .22) !important;
    background:linear-gradient(180deg, rgba(var(--glass-rgb), .36), rgba(var(--glass-rgb), .20)) !important;
    backdrop-filter:blur(var(--blur)) saturate(var(--sat));
  }

  /* Statistiky – docked karta musí zůstat v paletě Statistik (méně průhledné) */
  #cardStats #psDetailBlock[data-mobile-docked="1"]{
    background-color:rgba(var(--ps-ui-rgb), .22) !important;
    background:linear-gradient(180deg, rgba(var(--ps-ui-rgb), .34), rgba(var(--ps-ui-rgb), .22)) !important;
  }

  /* nezávislý scroll v detailu */
  #cardFindHygiene #hfInfoBlock[data-mobile-docked="1"] .searchDetailBody,
  #cardFindDentist #dfInfoBlock[data-mobile-docked="1"] .searchDetailBody,
  #cardFindPharmacy #pfInfoBlock[data-mobile-docked="1"] .searchDetailBody,
  #cardStats #psDetailBlock[data-mobile-docked="1"] .searchDetailBody{
    overflow:auto !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    scrollbar-gutter:stable both-edges;
    padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 22px);
    -webkit-transform:translateZ(0);
  }

  /* swipe oblast */
  #cardFindHygiene #hfInfoBlock[data-mobile-docked="1"] .searchDetailHead,
  #cardFindDentist #dfInfoBlock[data-mobile-docked="1"] .searchDetailHead,
  #cardFindPharmacy #pfInfoBlock[data-mobile-docked="1"] .searchDetailHead,
  #cardStats #psDetailBlock[data-mobile-docked="1"] .searchDetailHead{
    touch-action:pan-y;
  }

  /* odstranění osamoceného divideru v pravém sloupci po přesunu info bloku */
  #cardFindHygiene[data-infodent-mobile-dock="1"] .hfCol--right > .divider:first-child,
  #cardFindDentist[data-infodent-mobile-dock="1"] .hfCol--right > .divider:first-child,
  #cardFindPharmacy[data-infodent-mobile-dock="1"] .pfCol--right > .divider:first-child{
    display:none;
  }

  /* Statistiky: po přesunu psDetailBlock do docku schovat původní prázdný pravý sloupec */
  #cardStats[data-infodent-mobile-dock="1"] .psCol--right{display:none;}

  /* hlavička "Informace o subjektu" -> název + adresa */
  .infoSubjectTitle{gap:10px;min-width:0;}
  .infoSubjectRoleIco{
    width:28px;
    height:28px;
    flex:0 0 auto;
    border-radius:12px;
    border:1px solid rgba(var(--glass-rgb), .35);
    background:rgba(var(--glass-rgb), .18);
    object-fit:contain;
  }
  .infoSubjectLines{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.15;}
  .infoSubjectName{font-weight:800;font-size:13px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .infoSubjectAddr{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}


  /* Nabídky / Hodnocení: mobilní "informační výpis" (detail) přikotvený pod záhlavím okna + vlastní scroll */
  #cardOffers .offersPane--detail[data-mobile-docked="1"],
  #cardRatings .ratingsPane--detail[data-mobile-docked="1"]{
    position:sticky;
    top:0;
    z-index:120;
  }

  #cardOffers .offersPane--detail[data-mobile-docked="1"] .offersDetail,
  #cardRatings .ratingsPane--detail[data-mobile-docked="1"] .ratingsDetail{
    overflow:auto !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    scrollbar-gutter:stable both-edges;
    padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 22px);
    -webkit-transform:translateZ(0);
  }

  #cardOffers .offersPane--detail[data-mobile-docked="1"] .offersDetailHead,
  #cardRatings .ratingsPane--detail[data-mobile-docked="1"] .ratingsDetailHead{
    touch-action:pan-y;
  }

}

/* =========================================================
   MOBIL (<= 900px): HF/DF/PF – tabulky nesmí roztahovat okno
   (zúžení + ořez textů), aby se vešla navigační ikona.
   ========================================================= */
@media (max-width: 900px){
  /* table layout fixed + žádné roztahování karty */
  body[data-hf-results-view="table"] #hfResultsTable,
  body[data-hf-nearest-view="table"] #hfNearestTable,
  body[data-df-results-view="table"] #dfResultsTable,
  body[data-df-nearest-view="table"] #dfNearestTable,
  body[data-pf-results-view="table"] #pfResultsTable,
  body[data-pf-nearest-view="table"] #pfNearestTable{
    width:100% !important;
    max-width:100% !important;
    table-layout:fixed;
  }

  /* kompaktnější buňky (malinko zmenšit) */
  body[data-hf-results-view="table"] #hfResultsTable th,
  body[data-hf-results-view="table"] #hfResultsTable td,
  body[data-hf-nearest-view="table"] #hfNearestTable th,
  body[data-hf-nearest-view="table"] #hfNearestTable td,
  body[data-df-results-view="table"] #dfResultsTable th,
  body[data-df-results-view="table"] #dfResultsTable td,
  body[data-df-nearest-view="table"] #dfNearestTable th,
  body[data-df-nearest-view="table"] #dfNearestTable td,
  body[data-pf-results-view="table"] #pfResultsTable th,
  body[data-pf-results-view="table"] #pfResultsTable td,
  body[data-pf-nearest-view="table"] #pfNearestTable th,
  body[data-pf-nearest-view="table"] #pfNearestTable td{
    padding:6px 6px;
  }

  /* první + poslední sloupec (ikonky) fixní šířky */
  body[data-hf-results-view="table"] #hfResultsTable thead th:nth-child(1),
  body[data-hf-nearest-view="table"] #hfNearestTable thead th:nth-child(1),
  body[data-df-results-view="table"] #dfResultsTable thead th:nth-child(1),
  body[data-df-nearest-view="table"] #dfNearestTable thead th:nth-child(1),
  body[data-pf-results-view="table"] #pfResultsTable thead th:nth-child(1),
  body[data-pf-nearest-view="table"] #pfNearestTable thead th:nth-child(1){
    width:40px !important;
  }

  body[data-hf-results-view="table"] #hfResultsTable thead th:last-child,
  body[data-hf-nearest-view="table"] #hfNearestTable thead th:last-child,
  body[data-df-results-view="table"] #dfResultsTable thead th:last-child,
  body[data-df-nearest-view="table"] #dfNearestTable thead th:last-child,
  body[data-pf-results-view="table"] #pfResultsTable thead th:last-child,
  body[data-pf-nearest-view="table"] #pfNearestTable thead th:last-child{
    width:52px !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  /* textové sloupce: max 3 řádky podle potřeby */
  body[data-hf-results-view="table"] #hfResultsTable tbody td:nth-child(2) .list-title,
  body[data-hf-nearest-view="table"] #hfNearestTable tbody td:nth-child(2) .list-title,
  body[data-df-results-view="table"] #dfResultsTable tbody td:nth-child(2) .list-title,
  body[data-df-nearest-view="table"] #dfNearestTable tbody td:nth-child(2) .list-title,
  body[data-pf-results-view="table"] #pfResultsTable tbody td:nth-child(2) .list-title,
  body[data-pf-nearest-view="table"] #pfNearestTable tbody td:nth-child(2) .list-title{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    min-width:0;
    white-space:normal;
    word-break:break-word;
    line-height:1.18;
    max-height:calc(1.18em * 3);
  }

  body[data-hf-results-view="table"] #hfResultsTable tbody td:nth-child(3) .muted.small,
  body[data-hf-nearest-view="table"] #hfNearestTable tbody td:nth-child(3) .muted.small,
  body[data-df-results-view="table"] #dfResultsTable tbody td:nth-child(3) .muted.small,
  body[data-df-nearest-view="table"] #dfNearestTable tbody td:nth-child(3) .muted.small,
  body[data-pf-results-view="table"] #pfResultsTable tbody td:nth-child(3) .muted.small,
  body[data-pf-nearest-view="table"] #pfNearestTable tbody td:nth-child(3) .muted.small{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    min-width:0;
    white-space:normal;
    word-break:break-word;
    line-height:1.18;
    max-height:calc(1.18em * 3);
  }

  /* na mobilu v tabulkách zúžit hodnocení: schovat meta a zmenšit hvězdy */
  body[data-hf-results-view="table"] #hfResultsTable .ratingStars__meta,
  body[data-hf-nearest-view="table"] #hfNearestTable .ratingStars__meta,
  body[data-df-results-view="table"] #dfResultsTable .ratingStars__meta,
  body[data-df-nearest-view="table"] #dfNearestTable .ratingStars__meta,
  body[data-pf-results-view="table"] #pfResultsTable .ratingStars__meta,
  body[data-pf-nearest-view="table"] #pfNearestTable .ratingStars__meta{display:none !important;}

  body[data-hf-results-view="table"] #hfResultsTable .ratingStars--compact .ratingStar,
  body[data-hf-nearest-view="table"] #hfNearestTable .ratingStars--compact .ratingStar,
  body[data-df-results-view="table"] #dfResultsTable .ratingStars--compact .ratingStar,
  body[data-df-nearest-view="table"] #dfNearestTable .ratingStars--compact .ratingStar,
  body[data-pf-results-view="table"] #pfResultsTable .ratingStars--compact .ratingStar,
  body[data-pf-nearest-view="table"] #pfNearestTable .ratingStars--compact .ratingStar{width:12px;height:12px;}

  /* bezpečný pravý okraj, aby se navigační ikona vešla celá */
  body[data-hf-results-view="table"] #hfResultsTable th:last-child,
  body[data-hf-results-view="table"] #hfResultsTable td:last-child,
  body[data-hf-nearest-view="table"] #hfNearestTable th:last-child,
  body[data-hf-nearest-view="table"] #hfNearestTable td:last-child,
  body[data-df-results-view="table"] #dfResultsTable th:last-child,
  body[data-df-results-view="table"] #dfResultsTable td:last-child,
  body[data-df-nearest-view="table"] #dfNearestTable th:last-child,
  body[data-df-nearest-view="table"] #dfNearestTable td:last-child,
  body[data-pf-results-view="table"] #pfResultsTable th:last-child,
  body[data-pf-results-view="table"] #pfResultsTable td:last-child,
  body[data-pf-nearest-view="table"] #pfNearestTable th:last-child,
  body[data-pf-nearest-view="table"] #pfNearestTable td:last-child{
    padding-right:10px;
  }
}


body[data-mode="internal"] #cardsDock{display:none !important;}
body #cardsDock.cards-dock--disabled{display:none !important;}

/* Desktop (interní plocha) */
.desktop{
  position:fixed;
  inset:0;
  z-index:calc(var(--z-cards) - 40);
  pointer-events:none;
}

.desktop[data-drag="1"]{
  z-index:calc(var(--z-modal) - 20);
}

.desktopMarquee{
  position:fixed;
  left:0;
  top:0;
  width:0;
  height:0;
  border:2px solid rgba(var(--accent-rgb), .82);
  background:rgba(var(--accent-rgb), .18);
  box-shadow:0 20px 56px rgba(0,0,0,.16), 0 0 0 1px rgba(255,255,255,.18) inset;
  border-radius:10px;
  display:none;
  z-index:calc(var(--z-modal) - 30);
  pointer-events:none;
}
.desktopMarquee[data-on="1"]{display:block;}
body[data-map-locked="1"] #map,
body[data-desktop-selecting="1"] #map{
  touch-action:none;
  cursor:default;
}

body[data-map-locked="1"] #map .gm-style,
body[data-desktop-selecting="1"] #map .gm-style{
  cursor:default !important;
}

/* interní: okno Ikony má být v popředí dokud je otevřené (nad ostatními kartami).
   Při přesunu ikon se vrstva .desktop[data-drag="1"] zvedne nad karty, aby ikony nikdy nešly pod okno. */
body[data-mode="internal"] #cardLauncher{z-index:calc(var(--z-modal) - 2000);}



.deskIcon{
  position:absolute;
  pointer-events:auto;
  user-select:none;
  -webkit-user-select:none;
  touch-action:none;
  --desk-scale:1;
  --desk-ty:0px;
  transform:translateY(var(--desk-ty)) scale(var(--desk-scale));
  transform-origin:0 0;
  transition:transform .10s ease, box-shadow .10s ease, border-color .10s ease, background .10s ease;
}

/* velikost dlaždice (musí sedět s BASE_PX v ui_desktop.js) */
.deskIcon.is-s,.deskGhost.is-s{--home-btn-size:88px;}
.deskIcon.is-m,.deskGhost.is-m{--home-btn-size:104px;}
.deskIcon.is-l,.deskGhost.is-l{--home-btn-size:124px;}

.deskIcon:hover{
  --desk-ty:-1px;
}

.deskIcon.is-selected{
  border-color:rgba(var(--accent-rgb), .88);
  box-shadow:0 24px 82px rgba(0,0,0,.26), 0 0 0 2px rgba(var(--accent-rgb), .22);
  background:
    linear-gradient(135deg, rgba(var(--accent-rgb), .24), rgba(var(--glass-rgb), .18)),
    linear-gradient(135deg, rgba(var(--glass-rgb), .28), rgba(var(--glass-rgb), .12));
}

.deskIcon.is-selected .homeBtn__icon{
  box-shadow:inset 0 0 0 2px rgba(var(--accent-rgb), .34), 0 14px 34px rgba(0,0,0,.22);
  background:
    linear-gradient(135deg, rgba(var(--accent-rgb), .28), rgba(var(--glass-rgb), .18)),
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,0));
}

.deskIcon.is-selected .homeBtn__badgeLabel,
.deskIcon.is-selected .homeBtn__label{
  color:rgb(var(--accent-rgb));
}

.deskIcon.is-selected .homeIcoImg{
  filter:saturate(1.18) contrast(1.04);
}


.deskGhost{
  position:fixed;
  transform:translate(-50%, -50%);
  z-index:calc(var(--z-modal) - 25);
  pointer-events:none;
  opacity:.92;
  filter:drop-shadow(0 22px 64px rgba(0,0,0,.28));
}

.desktopMenu{
  position:fixed;
  min-width:240px;
  max-width:min(420px, calc(100vw - 16px));
  padding:8px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(var(--glass-rgb), .34), rgba(var(--glass-rgb), .20));
  border:1px solid rgba(var(--glass-rgb), .22);
  box-shadow:0 28px 110px rgba(0,0,0,.35);
  backdrop-filter:blur(calc(var(--blur) + 2px)) saturate(var(--sat));
  display:none;
  z-index:99999;
  pointer-events:auto;
}

.desktopMenu__item{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  height:38px;
  padding:0 12px;
  border-radius:14px;
  border:1px solid transparent;
  background:transparent;
  color:var(--text);
  font-weight:600;
  cursor:pointer;
  text-align:left;
  transition:background .10s ease, border-color .10s ease, transform .10s ease;
}

.desktopMenu__item:hover{
  background:rgba(var(--glass-rgb), .18);
  border-color:rgba(var(--accent-rgb), .22);
  transform:translateY(-1px);
}

.desktopMenu__item--danger{
  color:rgba(255,90,90,1);
}

.desktopMenu__item--danger:hover{
  border-color:rgba(255,90,90,.35);
  background:rgba(255,90,90,.10);
}

.desktopMenu__sep{
  height:1px;
  margin:6px 2px;
  background:var(--border);
  opacity:.7;
}

.desktopMenu__riderRow{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:14px;
  border:1px solid rgba(var(--glass-rgb), .16);
  background:rgba(var(--glass-rgb), .10);
  margin:2px 0;
}

.desktopMenu__riderLbl{
  min-width:54px;
  font-weight:750;
  letter-spacing:.01em;
  font-size:11px;
  color:var(--muted);
}

.desktopMenu__riderSign{
  width:14px;
  text-align:center;
  font-weight:900;
  color:var(--muted);
  opacity:.9;
}

.desktopMenu__riderWrap{
  position:relative;
  flex:1 1 auto;
  min-width:150px;
}

.desktopMenu__riderWrap::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  width:2px;
  height:10px;
  border-radius:2px;
  background:rgba(var(--accent-rgb), .55);
  pointer-events:none;
}

.desktopMenu__rider{
  width:100%;
  height:20px;
  accent-color:var(--accent);
}


/* Launcher */
.launcherGroups{
  display:flex;
  flex-direction:column;
  gap:14px;
}

/* drop cílová oblast pro vrácení ikon do zásobníku */
#cardLauncher[data-drop="1"]{
  outline:2px solid rgba(var(--accent-rgb), .60);
  outline-offset:2px;
  box-shadow:0 32px 120px rgba(0,0,0,.38);
}

.launcherGroup{
  border:1px solid var(--border);
  border-radius:calc(var(--radius) * 1.05);
  background:rgba(var(--glass-rgb), .10);
  padding:12px;
}

.launcherGroup__title{
  font-weight:700;
  letter-spacing:.01em;
  margin:0 0 10px 0;
}

.launcherGrid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(138px, 1fr));
  gap:10px;
}


/* Launcher – dlaždice mají 100% stejný design jako spodní tlačítka na indexu */
.launcherGrid .launchIcon{--home-btn-size:138px;}

.launchIcon{
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  touch-action:none;
}

.launchIcon:active{cursor:grabbing;}

@media (max-width: 560px){
  .launcherGrid{grid-template-columns:repeat(auto-fill, minmax(128px, 1fr));}
  .launcherGrid .launchIcon{--home-btn-size:128px;}
}



/* =========================================================
   DLAŽDICE (stejný design jako spodní tlačítka na indexu)
   Použití: okno Ikony + ikony na mapě (interní plocha)
   ========================================================= */
.v4 .homeBtn,
.v4 .deskIcon,
.v4 .launchIcon,
.v4 .deskGhost{
  --tile-bg-1: rgba(var(--glass-rgb), .25);
  --tile-bg-2: rgba(var(--glass-rgb), .10);

  --home-btn-a1: calc(var(--glass-hi) + 0.10);
  --home-btn-a2: calc(var(--glass-lo) + 0.08);
  --home-btn-hl1: rgba(255,255,255,.10);

  --home-badge-a1: calc(var(--glass-hi) + 0.22);
  --home-badge-a2: calc(var(--glass-lo) + 0.18);
  --home-badge-hl1: rgba(255,255,255,.22);

  --home-badge-label-a: calc(var(--glass-hi) + 0.34);
  --home-badge-label-hl1: rgba(255,255,255,.18);

  display:flex;
  align-items:stretch;
  justify-content:stretch;
  width:var(--home-btn-size, 115px);
  height:var(--home-btn-size, 115px);
  min-width:var(--home-btn-size, 115px);
  max-width:var(--home-btn-size, 115px);
  --home-btn-pad: clamp(4px, calc(var(--home-btn-size, 115px) * 0.055), 10px);

  padding:var(--home-btn-pad);
  border-radius:clamp(12px, calc(var(--home-btn-size, 115px) * 0.125), 18px);
  border:1px solid var(--border);
  background:
    linear-gradient(135deg, rgba(var(--glass-rgb), var(--home-btn-a1)), rgba(var(--glass-rgb), var(--home-btn-a2))),
    linear-gradient(135deg, var(--home-btn-hl1), rgba(255,255,255,0));
  box-shadow:0 18px 52px rgba(0,0,0,.20);
  color:var(--fg);
  cursor:pointer;
  text-align:center;
  user-select:none;
}

.v4 .homeBtn:focus,
.v4 .deskIcon:focus,
.v4 .launchIcon:focus{outline:none;}

.v4 .homeBtn:focus-visible,
.v4 .deskIcon:focus-visible,
.v4 .launchIcon:focus-visible{
  box-shadow:0 0 0 3px rgba(var(--accent-rgb), .40), 0 18px 52px rgba(0,0,0,.20);
}

/* deskIcon používá vlastní transform (scale), proto neaplikovat transform z homeBtn */
.v4 .homeBtn:not(.deskIcon):hover{transform:translateY(-1px);}
.v4 .homeBtn:not(.deskIcon):active{transform:translateY(0);}

/* okno Ikony (zásobník) – stejný hover jako index */
.v4 .launchIcon{cursor:grab;}
.v4 .launchIcon:hover{transform:translateY(-1px);}
.v4 .launchIcon:active{transform:translateY(0);cursor:grabbing;}

.v4 .homeBtn__icon{
  position:relative;
  flex:1 1 auto;
  width:100%;
  height:100%;
  border-radius:clamp(10px, calc(var(--home-btn-size, 115px) * 0.11), 16px);
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    linear-gradient(135deg, rgba(var(--glass-rgb), var(--home-badge-a1)), rgba(var(--glass-rgb), var(--home-badge-a2))),
    linear-gradient(135deg, var(--home-badge-hl1), rgba(255,255,255,0));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 12px 30px rgba(0,0,0,.18);
  overflow:hidden;
}

.v4 .homeIcoImg{
  width:var(--home-ico-size, 112px);
  max-width:100%;
  height:auto;
  max-height:100%;
  display:block;
  object-fit:contain;
  pointer-events:none;
  -webkit-user-drag:none;
}

.v4 .homeIco--glyph{display:none;}
.v4 .homeIco{
  width:102px;
  height:102px;
  max-width:100%;
  max-height:100%;
  color:var(--fg);
}

.v4 .homeBtn__badgeLabel{
  position:absolute;
  left:8px;
  right:8px;
  bottom:8px;
  padding:6px 8px;
  border-radius:12px;
  background:
    linear-gradient(135deg, rgba(var(--glass-rgb), var(--home-badge-label-a)), rgba(var(--glass-rgb), calc(var(--home-badge-label-a) - 0.10))),
    linear-gradient(135deg, var(--home-badge-label-hl1), rgba(255,255,255,0));
  border:1px solid rgba(var(--glass-rgb), calc(var(--home-badge-label-a) - 0.18));
  box-shadow:0 8px 20px rgba(0,0,0,.18);
  color:var(--fg);
  font-size:calc(9.6px * var(--ui-font-scale));
  line-height:1.05;
  font-weight:700;
  letter-spacing:.15px;
  text-align:center;
  user-select:none;
  pointer-events:none;
  box-sizing:border-box;
  white-space:normal;
  overflow:hidden;
  text-overflow:clip;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  max-height:calc((1.05em * 2) + 14px);
}

.v4 .homeBtn__label{display:none;}


/* =========================================================
   FLOATING MALÉ MENU (Statistiky / Nabídky / Hodnocení)
   Dropdown je vždy v popředí (nad kartami) a neřeže ho overflow.
   ========================================================= */
.headNavLayer{
  position:fixed;
  inset:0;
  z-index:2147483647;
  pointer-events:none;
}
.headNavLayer .psHeadNavDropdown,
.headNavLayer .offersHeadNavDropdown,
.headNavLayer .ratingsHeadNavDropdown{
  pointer-events:auto;
}

/* Statistiky – dropdown ve floating vrstvě (stejné jako v kartě) */
.headNavLayer .psHeadNavDropdown{
  padding:8px;
  border-radius:16px;
  border:none;
  background:rgba(var(--ps-ui-rgb), .81);
  box-shadow:0 18px 44px rgba(0,0,0,.20);
  display:grid;
  grid-template-columns:repeat(3, 42px);
  gap:6px;
  transform:translateY(-8px);
  opacity:0;
  pointer-events:none;
  max-height:0;
  overflow:auto;
  transition:opacity .14s ease, transform .14s ease, max-height .18s ease;
  z-index:2147483647;
}
.headNavLayer .psHeadNavDropdown.is-open{opacity:1;transform:translateY(0);pointer-events:auto;max-height:var(--headNavMaxH, 260px);}

.headNavLayer .psHeadNavItem{
  width:40px;height:40px;
  border-radius:14px;
  border:none;
  background:rgba(var(--ps-ui-rgb), .08);
  overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.headNavLayer .psHeadNavItem:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.14);}
.headNavLayer .psHeadNavItem:active{transform:translateY(0);}
.headNavLayer .psHeadNavItem.is-on{background:rgba(var(--ps-ui-rgb), .14);box-shadow:0 12px 28px rgba(0,0,0,.14), inset 0 0 0 2px rgba(var(--ps-ui-rgb), .70);}
.headNavLayer .psHeadNavItem .ico{width:100%;height:100%;opacity:.98;}
.headNavLayer .psHeadNavItem img.psRoleIco{width:100%;height:100%;object-fit:contain;display:block;}

/* Nabídky – dropdown ve floating vrstvě */
.headNavLayer .offersHeadNavDropdown{
  padding:8px;
  border-radius:16px;
  border:none;
  background:rgba(var(--offers-ui-rgb), .81);
  box-shadow:0 18px 44px rgba(0,0,0,.20);
  display:grid;
  grid-template-columns:repeat(3, 42px);
  gap:6px;
  transform:translateY(-8px);
  opacity:0;
  pointer-events:none;
  max-height:0;
  overflow:auto;
  transition:opacity .14s ease, transform .14s ease, max-height .18s ease;
  z-index:2147483647;
}
.headNavLayer .offersHeadNavDropdown.is-open{opacity:1;transform:translateY(0);pointer-events:auto;max-height:var(--headNavMaxH, 260px);}

.headNavLayer .offersHeadNavItem{
  width:40px;height:40px;
  border-radius:14px;
  border:none;
  background:rgba(var(--offers-ui-rgb), .08);
  overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.headNavLayer .offersHeadNavItem:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.16);}
.headNavLayer .offersHeadNavItem:active{transform:translateY(0);}
.headNavLayer .offersHeadNavItem.is-on{border:none;background:rgba(var(--offers-ui-rgb), .14) !important;box-shadow:0 12px 28px rgba(0,0,0,.14), inset 0 0 0 2px rgba(var(--offers-ui-rgb), .70);}
.headNavLayer .offersHeadNavItemIco{width:100%;height:100%;object-fit:contain;display:block;}

/* Hodnocení – dropdown ve floating vrstvě */
.headNavLayer .ratingsHeadNavDropdown{
  padding:8px;
  border-radius:16px;
  border:none;
  background:rgba(var(--ratings-ui-rgb), .81);
  box-shadow:0 18px 44px rgba(0,0,0,.20);
  display:flex;
  flex-direction:column;
  gap:8px;
  transform:translateY(-8px);
  opacity:0;
  pointer-events:none;
  max-height:0;
  overflow:auto;
  transition:opacity .14s ease, transform .14s ease, max-height .18s ease;
  z-index:2147483647;
  min-width:222px;
}
.headNavLayer .ratingsHeadNavDropdown.is-open{opacity:1;transform:translateY(0);pointer-events:auto;max-height:var(--headNavMaxH, 320px);}

.headNavLayer .ratingsHeadNavGrid{
  display:grid;
  grid-template-columns:repeat(auto-fill, 40px);
  gap:6px;
}
.headNavLayer .ratingsHeadNavGrid[data-ratings-nav="menu"]{grid-template-columns:repeat(auto-fill, 40px);}

.headNavLayer .ratingsHeadNavItem{
  width:40px;height:40px;
  border-radius:14px;
  border:none;
  background:rgba(var(--ratings-ui-rgb), .08);
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.headNavLayer .ratingsHeadNavItem:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.16);}
.headNavLayer .ratingsHeadNavItem:active{transform:translateY(0);}
.headNavLayer .ratingsHeadNavItem.is-on{border:none;background:rgba(var(--ratings-ui-rgb), .14) !important;box-shadow:0 12px 28px rgba(0,0,0,.14), inset 0 0 0 2px rgba(var(--ratings-ui-rgb), .70);}
.headNavLayer .ratingsHeadNavItem .ico{width:100%;height:100%;opacity:.98;}
.headNavLayer .ratingsHeadNavItem img{width:100%;height:100%;object-fit:contain;display:block;}

/* Statistiky – přikotvení řeší mobilní dock (r45); záhlaví není sticky */
#cardStats #psDetailBlock .searchDetailHead{
  position:relative;
  top:auto;
  z-index:auto;
  background:transparent;
  border-radius:0;
  padding:0;
  backdrop-filter:none;
}



/* === Recenze + vlákna === */
.section--reviews .section__actions { display:flex; gap:8px; }
.revList { display:flex; flex-direction:column; gap:12px; }
.revItem { border:1px solid rgba(0,0,0,.12); border-radius:14px; padding:12px; background:rgba(255,255,255,.85); }
.revItem__head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.revItem__name { font-weight:600; }
.revItem__meta { display:flex; gap:10px; align-items:center; margin-top:2px; }
.revItem__body { margin-top:10px; line-height:1.4; }
.revItem__foot { margin-top:10px; display:flex; justify-content:flex-end; }
.revTools { display:flex; gap:6px; flex-wrap:wrap; align-items:center; justify-content:flex-end; }
.revStars { --rating-rgb:255,201,66; display:inline-flex; gap:2px; }
.revStar { font-size:12px; line-height:1; color:rgba(var(--rating-rgb), .28); }
.revStar.is-on { color:rgba(var(--rating-rgb), .98); }
.revPreview { margin-top:10px; padding-top:10px; border-top:1px dashed rgba(0,0,0,.15); display:flex; flex-direction:column; gap:8px; }
.revPreview__who { font-weight:600; font-size:12px; display:block; }
.revPreview__body { font-size:13px; line-height:1.35; }

.thrWrap { display:flex; flex-direction:column; gap:12px; }
.thrReview { border:1px solid rgba(0,0,0,.12); border-radius:14px; padding:12px; background:rgba(255,255,255,.85); }
.thrReview__head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.thrReview__who { font-weight:700; }
.thrReview__meta { display:flex; gap:10px; align-items:center; }
.thrReview__body { margin-top:10px; line-height:1.4; }

.thrList { display:flex; flex-direction:column; gap:10px; }
.thrNode { border-left:3px solid rgba(0,0,0,.10); padding-left:10px; margin-left:0; }
.thrNode[data-depth="1"] { margin-left:12px; }
.thrNode[data-depth="2"] { margin-left:24px; }
.thrNode[data-depth="3"] { margin-left:36px; }
.thrNode__head { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.thrNode__who { font-weight:600; font-size:13px; }
.thrNode__body { margin-top:6px; line-height:1.35; font-size:13px; }
.thrNode__children { margin-top:10px; display:flex; flex-direction:column; gap:10px; }
.thrTools { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }

.thrComposer { border:1px solid rgba(0,0,0,.12); border-radius:14px; padding:12px; background:rgba(255,255,255,.85); }
.thrComposer__actions { margin-top:10px; display:flex; justify-content:flex-end; gap:8px; }

.revEdit { display:flex; flex-direction:column; gap:12px; }
.revEdit__row { display:flex; flex-direction:column; gap:6px; }
.revEdit__actions { display:flex; justify-content:flex-end; gap:8px; }
.revStarsInput { display:flex; gap:6px; flex-wrap:wrap; }
.starBtn { background:transparent; border:1px solid rgba(0,0,0,.12); border-radius:10px; padding:6px 10px; font-size:16px; line-height:1; cursor:pointer; opacity:.55; }
.starBtn.is-on { opacity:1; }

.phoneVerify { display:flex; flex-direction:column; gap:10px; }
.phoneVerify__row { display:grid; grid-template-columns: 120px 1fr auto; gap:10px; align-items:center; }
.phoneVerify__actions { display:flex; justify-content:flex-end; gap:8px; margin-top:6px; }

@media (max-width: 860px) {
  .reviewsPane { grid-template-columns: 1fr !important; }
}

.reviewsPane { display:grid; grid-template-columns: 1fr 1fr; gap:12px; height:100%; }
.reviewsPane__list, .reviewsPane__detail { border:1px solid rgba(0,0,0,.12); border-radius:14px; background:rgba(255,255,255,.75); display:flex; flex-direction:column; min-height:0; }
.reviewsPane__head { padding:10px 12px; border-bottom:1px solid rgba(0,0,0,.10); display:flex; justify-content:space-between; align-items:center; }
.reviewsFeed, .reviewsDetail { padding:12px; overflow:auto; min-height:0; }
.revRow { border:1px solid rgba(0,0,0,.12); border-radius:14px; padding:12px; background:rgba(255,255,255,.85); display:flex; gap:12px; justify-content:space-between; }
.revRow__who { font-weight:700; }
.revRow__meta { margin-top:2px; display:flex; gap:10px; align-items:center; }
.revRow__text { margin-top:8px; font-size:13px; line-height:1.35; max-height:64px; overflow:hidden; }
.revRow__nums { display:flex; flex-direction:column; gap:6px; align-items:flex-end; }
.revRow__side { display:flex; flex-direction:column; gap:10px; align-items:flex-end; }
.cardTitleSm { font-weight:700; }

/* === Recenze: inline vlákno + emoji === */
.revThreadInline{margin-top:10px;padding:10px;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:rgba(255,255,255,.6)}
.thrWrap--inline .thrList{margin-top:10px}
.thrComposer--inline{margin-top:10px}
.thrComposer__top{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.inp--area, textarea.inp--area{border-radius:14px}
.thrComposer{position:relative}
.emojiMainBtn{display:inline-flex;align-items:center;justify-content:center}
.emojiMain{font-size:18px;line-height:1}
.emojiPicker{position:absolute;left:12px;top:44px;z-index:5000;padding:8px;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:#fff;display:grid;grid-template-columns:repeat(8,1fr);gap:6px;max-width:360px;box-shadow:0 14px 40px rgba(0,0,0,.18);transform:translateY(0);opacity:1;max-height:240px;transition:opacity .14s ease,transform .14s ease,max-height .14s ease}
.emojiPicker[hidden]{display:none;opacity:0;transform:translateY(-6px);max-height:0;overflow:hidden;padding:0;border:0}
.emojiBtn{border:0;background:transparent;font-size:18px;line-height:1;padding:6px;border-radius:10px;cursor:pointer}
.emojiBtn:hover{background:rgba(0,0,0,.06)}

/* textarea ve vláknech – standardně větší + ruční roztahování */
.thrComposer textarea.inp--area{min-height:160px;height:clamp(160px,26vh,340px);resize:vertical}
.thrComposer--inline textarea.inp--area{min-height:120px;height:clamp(120px,18vh,260px);resize:vertical}

.btn--round, .linkbtn.btn--round{border-radius:999px}
.revItem__foot .linkbtn{border-radius:999px;padding:6px 10px}
.thrComposer__actions .btn{border-radius:999px}
.thrNode__actions .iconbtn{opacity:1}
.revTools .iconbtn{pointer-events:auto}

/* === Card Recenze: list === */
.reviewsTools{display:flex;flex-direction:column;gap:8px;width:100%}
.reviewsTools__row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.reviewsTools__field{min-width:0}
.reviewsFeed{display:flex;flex-direction:column;gap:10px}
.reviewsItem{border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:10px;background:rgba(255,255,255,.6)}
.reviewsItem__target{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.reviewsRoleIco{width:22px;height:22px;display:block}
.reviewsTargetName{font-weight:600}
.reviewsItem__meta{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.reviewsItem__text{margin-top:6px}
.reviewsItem__nums{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}

/* Card Recenze: pravý panel bez vnitřního scrollu vlákna */
#cardReviews .card__body{overflow:auto}
#cardReviews .reviewsPane{height:auto;min-height:100%;align-items:start}
#cardReviews .reviewsPane__detail{overflow:visible;min-height:0}
#cardReviews .reviewsDetail{overflow:visible;display:block;max-height:none}
#cardReviews .reviewsDetail .thrWrap{min-height:0}
#cardReviews .reviewsDetail .thrList{overflow:visible;max-height:none}

/* Inline edit ve vláknu */
.thrEdit{display:flex;flex-direction:column;gap:10px}
.thrEdit__actions{display:flex;justify-content:flex-end;gap:8px}
.revStarsInput--sm{--rating-rgb:255,201,66;gap:3px}
.revStarsInput--sm .starBtn{width:16px;height:16px;padding:0;border:0;background:transparent;border-radius:8px;font-size:14px;line-height:1;color:rgba(var(--rating-rgb), .28);opacity:1;display:inline-flex;align-items:center;justify-content:center;transition:transform .12s ease,color .12s ease}
.revStarsInput--sm .starBtn:hover{transform:translateY(-1px);color:rgba(var(--rating-rgb), .90)}
.revStarsInput--sm .starBtn.is-on{color:rgba(var(--rating-rgb), .98)}

/* Malý potvrzovací modal (smazání) */
.miniConfirmOverlay{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:120000}
.miniConfirm{width:min(360px,calc(100vw - 32px));background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.25);padding:14px 14px 12px;display:flex;flex-direction:column;gap:12px}
.miniConfirm__head{display:flex;align-items:center;gap:10px}
.miniConfirm__icon{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.05)}
.miniConfirm__text{font-weight:700;line-height:1.25}
.miniConfirm__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:2px}
.miniConfirm__actions .btn{border-radius:999px}


.myAgenda{
  display:flex;
  flex-direction:column;
  min-height:100%;
  gap:14px;
}
.agendaLoading,
.agendaEmpty{
  padding:18px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.04);
  color:var(--muted,#cdd3df);
}
.agendaTopBar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
}
.agendaTopBar__left,
.agendaTopBar__right{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.agendaPrimaryBtn,
.agendaTrashBtn{
  position:relative;
  width:56px;
  height:56px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:inherit;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.agendaPrimaryBtn .ico,
.agendaTrashBtn .ico{
  width:22px;
  height:22px;
}
.agendaTrashBtn__badge,
.deskTrashBadge{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:#ea4335;
  color:#fff;
  font-size:12px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 18px rgba(234,67,53,.35);
}
.deskTrashBadge{
  top:4px;
  right:4px;
}
.agendaCounters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.agendaChip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  font-size:13px;
}
.agendaChip b{font-weight:700;}
.agendaChipBtn{cursor:pointer;appearance:none;transition:transform .15s ease,background .15s ease,border-color .15s ease;}
.agendaChipBtn:hover{transform:translateY(-1px);background:rgba(255,255,255,.12);}
.agendaChipBtn.is-on{background:rgba(94,168,255,.18);border-color:rgba(94,168,255,.45);}
.agendaViewSwitch{
  display:inline-flex;
  gap:6px;
  padding:4px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
.agendaViewBtn{
  padding:9px 14px;
  border-radius:999px;
  border:0;
  background:transparent;
  color:inherit;
}
.agendaViewBtn.is-on{
  background:rgba(255,255,255,.14);
}
.agendaBulkTools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.agendaCheckBtn{width:30px;height:30px;padding:0;border:0;border-radius:10px;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;}
.agendaCheckBtn__box{width:18px;height:18px;border-radius:6px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);position:relative;}
.agendaCheckBtn.is-on .agendaCheckBtn__box{background:rgba(var(--accent-rgb), .22);border-color:rgba(var(--accent-rgb), .62);}
.agendaCheckBtn.is-on .agendaCheckBtn__box::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid rgba(255,255,255,.94);border-width:0 2px 2px 0;transform:rotate(45deg);}
.agendaTrashRow.is-selected td,
.agendaCardItem--trash.is-selected{background:rgba(var(--accent-rgb), .08);}
.agendaCardItem__select{display:flex;align-items:center;gap:8px;}
.agendaBody{display:block;}
.agendaTableWrap{
  overflow:auto;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  background:rgba(255,255,255,.03);
}
.agendaTable{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;}
.agendaTable th,.agendaTable td{vertical-align:top;padding:12px 14px;}
.agendaTable thead th{font-size:12px;font-weight:700;color:var(--muted,#cdd3df);text-align:left;border-bottom:1px solid rgba(255,255,255,.08);}
.agendaTable tbody td{border-bottom:1px solid rgba(255,255,255,.06);}
.agendaTable tbody tr:last-child td{border-bottom:0;}
.agendaTable col.agendaCol--check{width:58px;}
.agendaTable col.agendaCol--kind{width:112px;}
.agendaTable col.agendaCol--visibility{width:126px;}
.agendaTable col.agendaCol--actions{width:120px;}
.agendaTable col.agendaCol--owner{width:260px;}
.agendaTable col.agendaCol--date{width:172px;}
.agendaTable col.agendaCol--agenda{width:156px;}
.agendaTable--employees col.agendaCol--owner{width:280px;}
.agendaTable--trash col.agendaCol--preview{width:auto;}
.agendaHead.agendaCol--check,.agendaHead.agendaCol--kind,.agendaHead.agendaCol--visibility,.agendaHead.agendaCol--actions,.agendaHead.agendaCol--date{text-align:center;}
.agendaCell--check,.agendaCell--kind,.agendaCell--visibility,.agendaCell--date{text-align:center;}
.agendaCell--actions{text-align:right;white-space:nowrap;}
.agendaCell--actions .iconbtn,.agendaCell--actions .btn{vertical-align:top;}
.agendaItemTitle{font-weight:700;margin-bottom:4px;word-break:break-word;}
.agendaItemMeta,.agendaMuted{color:var(--muted,#cdd3df);font-size:12px;word-break:break-word;}
.agendaRow{cursor:pointer;transition:background .12s ease, box-shadow .12s ease;}
.agendaRow:hover{background:rgba(255,255,255,.05);}
.agendaRow:focus-visible{outline:2px solid rgba(var(--accent-rgb), .62);outline-offset:-2px;}
.agendaPreview{display:flex;flex-direction:column;gap:4px;min-width:0;}
.agendaPreview__text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;max-height:calc(1.35em * 2);color:var(--muted,#cdd3df);}
.agendaPreview__text--card{-webkit-line-clamp:4;max-height:calc(1.35em * 4);}
.agendaOwnerCell{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;}
.agendaOwnerCell__main{min-width:0;flex:1;}
.agendaOwnerCell .agendaItemTitle,.agendaOwnerCell .agendaItemMeta{word-break:break-word;}
.agendaOwnerCell--card{margin-top:6px;}
.agendaInfoBtn{flex:0 0 auto;align-self:flex-start;}
.agendaCards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:14px;
}
.agendaCardItem{
  padding:16px;
  border-radius:20px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 14px 40px rgba(0,0,0,.18);
}
.agendaCardItem--clickable{cursor:pointer;transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;}
.agendaCardItem--clickable:hover{transform:translateY(-1px);box-shadow:0 20px 52px rgba(0,0,0,.24);border-color:rgba(var(--accent-rgb), .24);}
.agendaCardItem--clickable:focus-visible{outline:2px solid rgba(var(--accent-rgb), .62);outline-offset:2px;}
.agendaCardItem h4{margin:10px 0 8px;font-size:18px;}
.agendaCardItem p{margin:8px 0 0;white-space:pre-wrap;}
.agendaCardItem__top,.agendaCardItem__actions,.agendaPublicTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.agendaCardItem__actions{margin-top:14px;justify-content:flex-end;}
.agendaPill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  font-size:12px;
  font-weight:700;
}
.agendaPill--public{background:rgba(46,160,67,.18);border-color:rgba(46,160,67,.32);}
.agendaPill--internal{background:rgba(37,99,235,.18);border-color:rgba(37,99,235,.32);}
.agendaPill--both{background:rgba(245,158,11,.18);border-color:rgba(245,158,11,.32);}

.agendaDetailModal{display:grid;gap:16px;}
.agendaDetailModal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.agendaDetailModal__head h3{margin:8px 0 0;font-size:20px;line-height:1.2;}
.agendaDetailModal__tags{display:flex;flex-wrap:wrap;gap:8px;}
.agendaDetailModal__body{display:grid;gap:10px;}
.agendaDetailModal__text{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);white-space:pre-wrap;}
.agendaDetailModal__phone{color:inherit;text-decoration:underline;}
.agendaPublicExtra{margin-top:16px;display:grid;gap:14px;}
.agendaPublicMine{padding:16px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);}
.agendaPublicMine h3{margin:0 0 12px;}
@media (max-width: 900px){
  .agendaTopBar{flex-direction:column;align-items:stretch;}
  .agendaTopBar__left,.agendaTopBar__right{justify-content:space-between;}
  .agendaTable col.agendaCol--owner{width:220px;}
}

/* === R909 promo window === */
.promoWindow {
  --promo-top-1: #dbeafe;
  --promo-top-2: #bfdbfe;
  --promo-accent: #3778ff;
  --promo-accent-strong: #1446be;
  --promo-accent-rgb: 55,120,255;
  --promo-card: rgba(255,255,255,.96);
  --promo-card-strong: rgba(255,255,255,.99);
  --promo-text: #0f172a;
  --promo-muted: #334155;
  --promo-border: rgba(15,23,42,.12);
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 100%;
  padding: 14px;
  color: var(--promo-text);
  background:
    radial-gradient(circle at top right, rgba(var(--promo-accent-rgb), .16), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
}

.promoWindow--orange {
  --promo-top-1: #ffedd5;
  --promo-top-2: #fed7aa;
  --promo-accent: #ff9437;
  --promo-accent-strong: #c65612;
  --promo-accent-rgb: 198,86,18;
}

.promoWindow--blue {
  --promo-top-1: #dbeafe;
  --promo-top-2: #bfdbfe;
  --promo-accent: #3778ff;
  --promo-accent-strong: #1446be;
  --promo-accent-rgb: 55,120,255;
}

.promoWindow--purple {
  --promo-top-1: #f3e8ff;
  --promo-top-2: #e9d5ff;
  --promo-accent: #9b56ff;
  --promo-accent-strong: #602ca2;
  --promo-accent-rgb: 155,86,255;
}

.promoWindow--green {
  --promo-top-1: #dcfce7;
  --promo-top-2: #bbf7d0;
  --promo-accent: #34bd78;
  --promo-accent-strong: #12864a;
  --promo-accent-rgb: 52,189,120;
}

.promoWindow__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
  gap: 16px;
  align-items: stretch;
}

.promoWindow__hero--single {
  grid-template-columns: minmax(0, 1fr);
}

.promoWindow__heroText,
.promoWindow__side,
.promoWindow__section,
.promoLotteryBox,
.promoResult,
.promoHistoryCard {
  background: var(--promo-card);
  border: 1px solid var(--promo-border);
  border-radius: 22px;
  box-shadow: 0 18px 48px rgba(15,23,42,.08);
}

.promoWindow__heroText {
  padding: 22px;
  background: linear-gradient(135deg, var(--promo-top-1), var(--promo-top-2));
}

.promoWindow__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--promo-accent-strong);
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.64);
}

.promoWindow__headline,
.promoWindow__sectionHead h3,
.promoResult__title,
.promoLotteryBox__title,
.promoBanner__title,
.promoResult__code,
.promoLotteryTicket,
.promoHistoryCard__title,
.promoHistoryCard__grid b {
  color: var(--promo-text);
}

.promoWindow__headline {
  margin: 12px 0 8px;
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.1;
}

.promoWindow__subheadline {
  font-size: 16px;
  font-weight: 800;
  color: var(--promo-accent-strong);
  line-height: 1.45;
}

.promoWindow__body,
.promoWindow__sectionText,
.promoLotteryMeta,
.promoResult__body,
.promoResult__participants,
.promoWindow__empty,
.promoAddressNote,
.promoHistoryCard__date,
.promoHistoryCard__grid span {
  color: var(--promo-muted);
  line-height: 1.65;
}

.promoWindow a {
  color: inherit;
}

.promoWindow__body {
  margin-top: 14px;
  font-size: 15px;
}

.promoWindow__side {
  display: grid;
  gap: 14px;
  align-content: start;
  padding: 18px;
}

.promoStat {
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(var(--promo-accent-rgb), .08), rgba(255,255,255,.96));
  border: 1px solid rgba(var(--promo-accent-rgb), .20);
}

.promoStat__label {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--promo-accent-strong);
}

.promoStat__value {
  margin-top: 8px;
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 900;
  line-height: 1.1;
}

.promoStat__meta {
  margin-top: 8px;
  color: var(--promo-muted);
  font-size: 13px;
}

.promoWindow__section {
  padding: 18px;
}

.promoWindow__sectionHead {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 14px;
}

.promoWindow__sectionHead h3,
.promoResult__title,
.promoLotteryBox__title,
.promoHistoryCard__title {
  margin: 0;
  font-size: 22px;
  line-height: 1.2;
}

.promoWindow__banners {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
}

.promoBanner {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  border-radius: 18px;
  text-decoration: none;
  overflow: hidden;
  border: 1px solid rgba(var(--promo-accent-rgb), .18);
  background: linear-gradient(180deg, rgba(var(--promo-accent-rgb), .05), rgba(255,255,255,.98));
  box-shadow: 0 14px 36px rgba(15,23,42,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.promoBanner:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--promo-accent-rgb), .36);
  box-shadow: 0 20px 48px rgba(15,23,42,.10);
}

.promoBanner__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 170px;
  padding: 18px;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid rgba(15,23,42,.08);
}

.promoBanner__media img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 146px;
  object-fit: contain;
}

.promoBanner__placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  min-height: 64px;
  padding: 12px 16px;
  border-radius: 16px;
  border: 1px dashed rgba(var(--promo-accent-rgb), .38);
  color: var(--promo-accent-strong);
  font-weight: 800;
  background: rgba(var(--promo-accent-rgb), .06);
}

.promoBanner__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
}

.promoBanner__title {
  font-size: 16px;
  font-weight: 900;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.promoBanner__cta {
  color: var(--promo-accent-strong);
  font-weight: 800;
}

.promoLotteryBox,
.promoResult,
.promoHistoryCard {
  padding: 18px;
}

.promoLotteryBox--ok {
  border-color: rgba(18,134,74,.26);
  background: linear-gradient(180deg, rgba(52,189,120,.08), rgba(255,255,255,.98));
}

.promoLotterySummary {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
  margin-bottom: 14px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(var(--promo-accent-rgb), .18);
  background: rgba(255,255,255,.78);
}

.promoLotterySummary__head {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--promo-accent-strong);
}

.promoLotteryForm {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 14px;
}

.promoLotteryGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.promoField {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.promoField span {
  font-size: 13px;
  font-weight: 800;
  color: var(--promo-text);
}

.promoField input {
  width: 100%;
  min-width: 0;
  padding: 13px 14px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.16);
  background: #fff;
  color: #0f172a;
  font: inherit;
}

.promoField input:focus {
  outline: none;
  border-color: var(--promo-accent);
  box-shadow: 0 0 0 3px rgba(var(--promo-accent-rgb), .18);
}

.promoAddressNote {
  font-size: 13px;
}

.promoConsentRow {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  font-size: 14px;
  line-height: 1.55;
  color: var(--promo-text);
}

.promoConsentRow input {
  margin-top: 3px;
}

.promoLotteryActions {
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}

.promoLotteryActions .btn {
  min-width: 260px;
}

.promoLotteryMsg {
  min-height: 22px;
  font-size: 14px;
  color: #166534;
}

.promoLotteryMsg.is-error {
  color: #b91c1c;
}

.promoLotteryTicket,
.promoResult__code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  padding: 12px 16px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--promo-accent), var(--promo-accent-strong));
  color: #fff;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .08em;
}

.promoResult__meta {
  margin-top: 8px;
  color: var(--promo-muted);
  font-weight: 700;
}

.promoResult__winner {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 14px 0;
}

.promoResult__name,
.promoResult__participants {
  font-weight: 800;
  overflow-wrap: anywhere;
}

.promoWindow__empty,
.promoResult--empty {
  padding: 18px;
  border-radius: 18px;
  background: rgba(var(--promo-accent-rgb), .05);
  border: 1px dashed rgba(var(--promo-accent-rgb), .22);
}

.promoHistoryList {
  display: grid;
  gap: 12px;
}

.promoHistoryCard__top,
.promoHistoryHead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.promoHistoryCard__date,
.promoHistoryMeta {
  font-size: 13px;
}

.promoHistoryCard__grid,
.promoHistoryGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.promoHistoryCard__grid div,
.promoHistoryCell {
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(var(--promo-accent-rgb), .14);
  background: rgba(var(--promo-accent-rgb), .05);
}

.promoHistoryCard__grid span,
.promoHistoryCell span {
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

@media (max-width: 1024px) {
  .promoWindow__hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .promoWindow {
    padding: 12px;
    gap: 12px;
  }

  .promoWindow__heroText,
  .promoWindow__side,
  .promoWindow__section,
  .promoLotteryBox,
  .promoResult,
  .promoHistoryCard {
    border-radius: 18px;
    padding: 14px;
  }

  .promoWindow__banners,
  .promoLotteryGrid,
  .promoHistoryCard__grid,
  .promoHistoryGrid {
    grid-template-columns: 1fr;
  }

  .promoLotteryTicket,
  .promoResult__code {
    width: 100%;
    font-size: 18px;
  }

  .promoLotteryActions .btn {
    width: 100%;
  }
}


/* === R914 promo theme and readability fix === */
.promoWindow {
  --promo-top-1: #fff7ed;
  --promo-top-2: #ffedd5;
  --promo-accent: #c97a11;
  --promo-accent-strong: #8a4c08;
  --promo-accent-rgb: 201,122,17;
  --promo-card: #ffffff;
  --promo-card-strong: #ffffff;
  --promo-text: #1f2937;
  --promo-muted: #475569;
  --promo-border: rgba(148, 163, 184, .28);
  background:
    radial-gradient(circle at top right, rgba(var(--promo-accent-rgb), .10), transparent 44%),
    linear-gradient(180deg, #fffdf9 0%, #fff7ed 100%);
}

.promoWindow--orange {
  --promo-top-1: #fff7ed;
  --promo-top-2: #ffedd5;
  --promo-accent: #c97a11;
  --promo-accent-strong: #8a4c08;
  --promo-accent-rgb: 201,122,17;
}

.promoWindow--blue {
  --promo-top-1: #eff6ff;
  --promo-top-2: #dbeafe;
  --promo-accent: #2563eb;
  --promo-accent-strong: #1d4ed8;
  --promo-accent-rgb: 37,99,235;
}

.promoWindow--purple {
  --promo-top-1: #faf5ff;
  --promo-top-2: #f3e8ff;
  --promo-accent: #9333ea;
  --promo-accent-strong: #6b21a8;
  --promo-accent-rgb: 147,51,234;
}

.promoWindow--green {
  --promo-top-1: #f0fdf4;
  --promo-top-2: #dcfce7;
  --promo-accent: #16a34a;
  --promo-accent-strong: #166534;
  --promo-accent-rgb: 22,163,74;
}

.promoWindow__heroText,
.promoWindow__side,
.promoWindow__section,
.promoLotteryBox,
.promoResult,
.promoHistoryCard {
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

.promoWindow__headline {
  font-size: clamp(30px, 3vw, 38px);
}

.promoWindow__subheadline {
  color: var(--promo-text);
}

.promoWindow__body,
.promoWindow__sectionText,
.promoLotteryMeta,
.promoResult__body,
.promoResult__participants,
.promoWindow__empty,
.promoAddressNote,
.promoHistoryCard__date,
.promoHistoryCard__grid span,
.promoHistoryMeta {
  color: var(--promo-muted);
}

.promoBanner__media {
  min-height: 190px;
}

.promoBanner__media img {
  max-height: 166px;
}

.promoLotteryGrid--send {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
}

.promoLotteryGrid--send .btn {
  min-width: 180px;
}

.promoField input::placeholder {
  color: #94a3b8;
}

.promoAddressNote {
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px dashed rgba(var(--promo-accent-rgb), .24);
  background: rgba(var(--promo-accent-rgb), .04);
}

.promoConsentRow {
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(var(--promo-accent-rgb), .14);
  background: rgba(var(--promo-accent-rgb), .04);
}

.promoLotteryMsg {
  min-height: 24px;
  font-weight: 700;
}

.promoResult__name {
  color: var(--promo-text);
}

@media (max-width: 720px) {
  .promoLotteryGrid--send {
    grid-template-columns: 1fr;
  }

  .promoLotteryGrid--send .btn {
    width: 100%;
    min-width: 0;
  }
}


/* === R916 promo glass redesign === */
body.v4 .promoWindow {
  --promo-top-1: rgba(var(--glass-rgb), .42);
  --promo-top-2: rgba(var(--glass-rgb), .24);
  --promo-card: rgba(var(--glass-rgb), .34);
  --promo-card-strong: rgba(var(--glass-rgb), .46);
  --promo-text: var(--fg);
  --promo-muted: rgba(255,255,255,.78);
  --promo-border: rgba(255,255,255,.14);
  background:
    radial-gradient(1200px 680px at 8% -12%, rgba(var(--promo-accent-rgb), .18), transparent 58%),
    radial-gradient(860px 520px at 100% 0%, rgba(255,255,255,.05), transparent 54%),
    linear-gradient(180deg, rgba(var(--glass-rgb), .22), rgba(var(--glass-rgb), .12));
  border-radius: 0;
}

body.v4 .promoWindow--orange { --promo-accent:#ff9a3d; --promo-accent-strong:#ffbf7a; --promo-accent-rgb:255,154,61; }
body.v4 .promoWindow--blue { --promo-accent:#34b6ff; --promo-accent-strong:#92dbff; --promo-accent-rgb:52,182,255; }
body.v4 .promoWindow--purple { --promo-accent:#bb8cff; --promo-accent-strong:#dbc0ff; --promo-accent-rgb:187,140,255; }
body.v4 .promoWindow--green { --promo-accent:#34d399; --promo-accent-strong:#a7f3d0; --promo-accent-rgb:52,211,153; }

body.theme-light .promoWindow {
  --promo-top-1: rgba(255,255,255,.96);
  --promo-top-2: rgba(248,250,252,.92);
  --promo-card: rgba(255,255,255,.88);
  --promo-card-strong: rgba(255,255,255,.98);
  --promo-text: #0f172a;
  --promo-muted: #475569;
  --promo-border: rgba(15,23,42,.12);
  background:
    radial-gradient(1200px 680px at 8% -12%, rgba(var(--promo-accent-rgb), .14), transparent 58%),
    radial-gradient(860px 520px at 100% 0%, rgba(var(--promo-accent-rgb), .06), transparent 54%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
}

body.v4 .promoWindow__heroText,
body.v4 .promoWindow__side,
body.v4 .promoWindow__section,
body.v4 .promoLotteryBox,
body.v4 .promoResult,
body.v4 .promoHistoryCard {
  background: linear-gradient(180deg, var(--promo-card-strong), var(--promo-card));
  border: 1px solid var(--promo-border);
  backdrop-filter: blur(18px) saturate(1.2);
  box-shadow: 0 22px 56px rgba(0,0,0,.18);
}

body.v4 .promoWindow__heroText {
  position: relative;
  overflow: hidden;
}

body.v4 .promoWindow__heroText::after {
  content: "";
  position: absolute;
  inset: auto -40px -40px auto;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(var(--promo-accent-rgb), .22), transparent 70%);
  pointer-events: none;
}

body.v4 .promoWindow__eyebrow {
  color: var(--promo-accent-strong);
  background: rgba(255,255,255,.10);
  border-color: rgba(var(--promo-accent-rgb), .28);
}

body.theme-light .promoWindow__eyebrow {
  background: rgba(255,255,255,.86);
}

body.v4 .promoWindow__headline,
body.v4 .promoWindow__sectionHead h3,
body.v4 .promoResult__title,
body.v4 .promoLotteryBox__title,
body.v4 .promoBanner__title,
body.v4 .promoResult__code,
body.v4 .promoLotteryTicket,
body.v4 .promoHistoryCard__title,
body.v4 .promoHistoryCard__grid b,
body.v4 .promoHeroMetric__value {
  color: var(--promo-text);
}

body.v4 .promoWindow__subheadline {
  color: var(--promo-accent-strong);
}

body.v4 .promoHeroMetrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-top: 18px;
}

body.v4 .promoHeroMetric {
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(var(--promo-accent-rgb), .18);
  background: rgba(255,255,255,.06);
}

body.theme-light .promoHeroMetric {
  background: rgba(var(--promo-accent-rgb), .05);
}

body.v4 .promoHeroMetric__label {
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--promo-muted);
}

body.v4 .promoHeroMetric__value {
  display: block;
  margin-top: 8px;
  font-size: 17px;
  line-height: 1.35;
}

body.v4 .promoBanner {
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  border-color: rgba(var(--promo-accent-rgb), .18);
}

body.theme-light .promoBanner {
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.92));
}

body.v4 .promoBanner__media {
  min-height: 210px;
  background: rgba(255,255,255,.04);
}

body.theme-light .promoBanner__media {
  background: rgba(255,255,255,.96);
}

body.v4 .promoBanner__media img {
  filter: drop-shadow(0 12px 26px rgba(0,0,0,.20));
}

body.v4 .promoLotteryBox__titleRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

body.v4 .promoLotteryBadge {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(52,211,153,.24);
  background: rgba(52,211,153,.14);
  color: #bbf7d0;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

body.theme-light .promoLotteryBadge {
  color: #166534;
}

body.v4 .promoLotteryBadge--open {
  border-color: rgba(var(--promo-accent-rgb), .24);
  background: rgba(var(--promo-accent-rgb), .14);
  color: var(--promo-accent-strong);
}

body.v4 .promoRegisterButton {
  min-width: 280px;
  min-height: 52px;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .02em;
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}

body.v4 .promoLotteryMsg {
  padding: 2px 0;
}

body.v4 .promoLotteryMsg:not(:empty) {
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(52,211,153,.18);
  background: rgba(52,211,153,.10);
}

body.v4 .promoLotteryMsg.is-error:not(:empty) {
  border-color: rgba(248,113,113,.24);
  background: rgba(248,113,113,.10);
}

body.v4 .promoHistoryCard__grid div,
body.v4 .promoHistoryCell {
  background: rgba(255,255,255,.06);
}

body.theme-light .promoHistoryCard__grid div,
body.theme-light .promoHistoryCell {
  background: rgba(var(--promo-accent-rgb), .05);
}

@media (max-width: 720px) {
  body.v4 .promoHeroMetrics {
    grid-template-columns: 1fr;
  }

  body.v4 .promoRegisterButton {
    min-width: 0;
    width: 100%;
  }
}


/* === R917 promo analog clock === */
body.v4 .promoStat--clock {
  display: grid;
  gap: 14px;
}

body.v4 .promoChrono {
  width: min(100%, 292px);
  margin: 2px auto 0;
}

body.v4 .promoChrono__dial {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 34%, rgba(255,255,255,.24), transparent 34%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.08), rgba(255,255,255,.02) 68%, transparent 69%),
    linear-gradient(180deg, rgba(8,15,33,.34), rgba(8,15,33,.18));
  border: 1px solid rgba(var(--promo-accent-rgb), .26);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -16px 36px rgba(0,0,0,.20),
    0 22px 52px rgba(0,0,0,.18);
}

body.theme-light .promoChrono__dial {
  background:
    radial-gradient(circle at 50% 32%, rgba(255,255,255,.95), transparent 34%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.98), rgba(241,245,249,.92) 68%, rgba(148,163,184,.16) 69%, transparent 70%),
    linear-gradient(180deg, #ffffff, #e2e8f0);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -16px 32px rgba(15,23,42,.08),
    0 18px 44px rgba(15,23,42,.12);
}

body.v4 .promoChrono__dial::before,
body.v4 .promoChrono__dial::after {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  pointer-events: none;
}

body.v4 .promoChrono__dial::before {
  background:
    repeating-conic-gradient(
      from -90deg,
      rgba(255,255,255,.76) 0deg 1.6deg,
      transparent 1.6deg 30deg
    );
  mask: radial-gradient(circle, transparent 0 66%, #000 66% 73%, transparent 73% 100%);
  opacity: .95;
}

body.theme-light .promoChrono__dial::before {
  background:
    repeating-conic-gradient(
      from -90deg,
      rgba(15,23,42,.60) 0deg 1.5deg,
      transparent 1.5deg 30deg
    );
}

body.v4 .promoChrono__dial::after {
  inset: 22px;
  border: 1px solid rgba(var(--promo-accent-rgb), .22);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}

body.theme-light .promoChrono__dial::after {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.75);
}

body.v4 .promoChrono__ring,
body.v4 .promoChrono__hubGlow,
body.v4 .promoChrono__pin,
body.v4 .promoChrono__hand,
body.v4 .promoChrono__digital {
  position: absolute;
}

body.v4 .promoChrono__ring {
  inset: 8px;
  border-radius: 50%;
  border: 1px solid rgba(var(--promo-accent-rgb), .18);
  box-shadow: inset 0 0 0 10px rgba(255,255,255,.02);
}

body.theme-light .promoChrono__ring {
  box-shadow: inset 0 0 0 10px rgba(255,255,255,.55);
}

body.v4 .promoChrono__hubGlow {
  left: 50%;
  top: 50%;
  width: 92px;
  height: 92px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--promo-accent-rgb), .16), transparent 72%);
  filter: blur(3px);
}

body.v4 .promoChrono__hand {
  left: 50%;
  top: 50%;
  transform: translateY(-50%) rotate(var(--promo-angle, 0deg));
  transform-origin: 0 50%;
  border-radius: 999px;
  z-index: 2;
}

body.v4 .promoChrono__hand::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  box-shadow: 0 2px 8px rgba(0,0,0,.20);
}

body.v4 .promoChrono__hand--hour {
  width: 24%;
  height: 7px;
}

body.v4 .promoChrono__hand--hour::after {
  background: linear-gradient(90deg, rgba(255,255,255,.92), rgba(var(--promo-accent-rgb), .55));
}

body.theme-light .promoChrono__hand--hour::after {
  background: linear-gradient(90deg, #0f172a, rgba(var(--promo-accent-rgb), .92));
}

body.v4 .promoChrono__hand--minute {
  width: 35%;
  height: 5px;
}

body.v4 .promoChrono__hand--minute::after {
  background: linear-gradient(90deg, rgba(255,255,255,.86), rgba(var(--promo-accent-rgb), .28));
}

body.theme-light .promoChrono__hand--minute::after {
  background: linear-gradient(90deg, #1e293b, rgba(var(--promo-accent-rgb), .62));
}

body.v4 .promoChrono__hand--second {
  width: 39%;
  height: 2px;
}

body.v4 .promoChrono__hand--second::after {
  background: linear-gradient(90deg, var(--promo-accent), rgba(255,255,255,.18));
}

body.theme-light .promoChrono__hand--second::after {
  background: linear-gradient(90deg, var(--promo-accent), rgba(15,23,42,.08));
}

body.v4 .promoChrono__pin {
  left: 50%;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: linear-gradient(180deg, var(--promo-accent-strong), var(--promo-accent));
  border: 2px solid rgba(255,255,255,.72);
  box-shadow: 0 0 0 5px rgba(var(--promo-accent-rgb), .14);
  z-index: 4;
}

body.v4 .promoChrono__digital {
  left: 50%;
  bottom: 16px;
  width: calc(100% - 48px);
  transform: translateX(-50%);
  padding: 10px 12px 11px;
  border-radius: 16px;
  text-align: center;
  background: linear-gradient(180deg, rgba(5,10,20,.78), rgba(5,10,20,.58));
  border: 1px solid rgba(var(--promo-accent-rgb), .26);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 10px 22px rgba(0,0,0,.20);
  z-index: 3;
}

body.theme-light .promoChrono__digital {
  background: linear-gradient(180deg, rgba(241,245,249,.96), rgba(226,232,240,.94));
}

body.v4 .promoChrono__digitalLabel {
  display: block;
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.70);
}

body.theme-light .promoChrono__digitalLabel {
  color: #475569;
}

body.v4 .promoChrono__digital strong {
  display: block;
  font-size: clamp(14px, 1.5vw, 16px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: .08em;
  color: #ecfeff;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

body.theme-light .promoChrono__digital strong {
  color: #0f172a;
}

@media (max-width: 720px) {
  body.v4 .promoChrono {
    width: min(100%, 250px);
  }

  body.v4 .promoChrono__digital {
    width: calc(100% - 36px);
    bottom: 12px;
    padding: 9px 10px 10px;
  }

  body.v4 .promoChrono__digital strong {
    font-size: 13px;
    letter-spacing: .05em;
  }
}


/* PROMO FINAL OVERRIDES R919 */
body.v4 .promoWindow {
  gap: 18px;
}

body.v4 .promoWindow__hero {
  grid-template-columns: minmax(0, 1.5fr) minmax(300px, .95fr);
  gap: 18px;
}

body.v4 .promoWindow__heroText,
body.v4 .promoWindow__side,
body.v4 .promoWindow__section {
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(8,18,34,.82), rgba(11,24,44,.72));
  box-shadow: 0 20px 60px rgba(2, 6, 23, .32);
}

body.theme-light .promoWindow__heroText,
body.theme-light .promoWindow__side,
body.theme-light .promoWindow__section {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,248,252,.94));
  border-color: rgba(15,23,42,.08);
  box-shadow: 0 24px 60px rgba(15,23,42,.10);
}

body.v4 .promoWindow__headline {
  font-size: clamp(28px, 3.2vw, 40px);
}

body.v4 .promoWindow__subheadline {
  font-size: 17px;
}

body.v4 .promoWindow__body,
body.v4 .promoWindow__sectionText,
body.v4 .promoLotteryBox,
body.v4 .promoResult,
body.v4 .promoHistoryCard {
  color: rgba(255,255,255,.90);
}

body.theme-light .promoWindow__body,
body.theme-light .promoWindow__sectionText,
body.theme-light .promoLotteryBox,
body.theme-light .promoResult,
body.theme-light .promoHistoryCard {
  color: #172033;
}

body.v4 .promoWindow__banners {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 18px;
}

body.v4 .promoBanner {
  position: relative;
  min-height: 320px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(var(--promo-accent-rgb), .26);
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  box-shadow: 0 18px 46px rgba(2, 6, 23, .24);
}

body.theme-light .promoBanner {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,249,252,.96));
  box-shadow: 0 18px 42px rgba(15,23,42,.10);
}

body.v4 .promoBanner__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 224px;
  padding: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
}

body.theme-light .promoBanner__media {
  background: linear-gradient(180deg, rgba(255,255,255,1), rgba(248,250,252,.98));
}

body.v4 .promoBanner__media::after {
  content: '';
  position: absolute;
  inset: 12px;
  border-radius: 18px;
  border: 1px solid rgba(var(--promo-accent-rgb), .14);
  pointer-events: none;
}

body.v4 .promoBanner__media img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 180px;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 16px 30px rgba(0,0,0,.22));
}

body.theme-light .promoBanner__media img {
  filter: drop-shadow(0 14px 26px rgba(15,23,42,.14));
}

body.v4 .promoBanner__meta {
  gap: 10px;
  padding: 18px 20px 20px;
}

body.v4 .promoBanner__title {
  font-size: 17px;
  line-height: 1.4;
}

body.v4 .promoBanner__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 900;
}

body.v4 .promoBanner__cta::after {
  content: '→';
  font-size: 15px;
}

@media (max-width: 960px) {
  body.v4 .promoWindow__hero {
    grid-template-columns: 1fr;
  }

  body.v4 .promoWindow__banners {
    grid-template-columns: 1fr;
  }

  body.v4 .promoBanner__media img {
    height: 160px;
  }
}

/* R920 – promo rich text, banner fit a meta času uvnitř hodin */
body.v4 .promoRichText,
body.theme-light .promoRichText{
  display:block;
}
body.v4 .promoRichText > :first-child,
body.theme-light .promoRichText > :first-child{
  margin-top:0;
}
body.v4 .promoRichText > :last-child,
body.theme-light .promoRichText > :last-child{
  margin-bottom:0;
}
body.v4 .promoRichText p,
body.theme-light .promoRichText p{
  margin:0 0 12px;
}
body.v4 .promoRichText h1,
body.v4 .promoRichText h2,
body.v4 .promoRichText h3,
body.v4 .promoRichText h4,
body.theme-light .promoRichText h1,
body.theme-light .promoRichText h2,
body.theme-light .promoRichText h3,
body.theme-light .promoRichText h4{
  margin:0 0 12px;
}
body.v4 .promoRichText ul,
body.v4 .promoRichText ol,
body.theme-light .promoRichText ul,
body.theme-light .promoRichText ol{
  margin:0 0 12px 20px;
  padding:0;
}
body.v4 .promoRichText img,
body.theme-light .promoRichText img{
  max-width:100%;
  height:auto;
  border-radius:18px;
}
body.v4 .promoChrono__digitalMeta,
body.theme-light .promoChrono__digitalMeta{
  display:block;
  margin-top:8px;
  font-size:12px;
  line-height:1.4;
  font-weight:600;
  text-align:center;
  opacity:.84;
}
body.v4 .promoBanner__media img[data-fit="cover"],
body.theme-light .promoBanner__media img[data-fit="cover"]{
  object-fit:cover;
}
body.v4 .promoBanner__media img[data-fit="contain"],
body.theme-light .promoBanner__media img[data-fit="contain"]{
  object-fit:contain;
}
body.v4 .promoBanner__media img[data-fit="stretch"],
body.theme-light .promoBanner__media img[data-fit="stretch"]{
  object-fit:fill;
}


/* === R921 promo registration success === */
.promoLotteryBox--success{
  position:relative;
}
.promoSuccessCard{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:220px;
  text-align:center;
  padding:24px 18px;
}
.promoSuccessCard__icon{
  width:58px;
  height:58px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:28px;
  font-weight:1000;
  background:rgba(34,197,94,.14);
  color:#15803d;
  box-shadow:0 14px 34px rgba(34,197,94,.16);
}
.promoSuccessCard__title{
  font-size:22px;
  font-weight:1000;
  line-height:1.2;
}
.promoSuccessCard__text{
  max-width:520px;
  line-height:1.65;
}
.promoRegisterSuccessModal{
  position:fixed;
  inset:0;
  z-index:12000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(15,23,42,.24);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}
.promoRegisterSuccessModal.is-visible{
  opacity:1;
}
.promoRegisterSuccessModal__box{
  width:min(360px, calc(100vw - 32px));
  padding:20px 18px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.5);
  background:rgba(255,255,255,.96);
  box-shadow:0 24px 60px rgba(15,23,42,.24);
  text-align:center;
}
.promoRegisterSuccessModal__icon{
  width:54px;
  height:54px;
  border-radius:999px;
  display:grid;
  place-items:center;
  margin:0 auto 12px;
  font-size:27px;
  font-weight:1000;
  background:rgba(34,197,94,.14);
  color:#15803d;
}
.promoRegisterSuccessModal__title{
  font-size:19px;
  font-weight:1000;
  line-height:1.2;
}
.promoRegisterSuccessModal__text{
  margin-top:8px;
  line-height:1.55;
  color:#334155;
}
.promoRichText::after,
.promoResult__body::after,
.promoWindow__body::after,
.promoWindow__sectionText::after{
  content:"";
  display:block;
  clear:both;
}
.promoRichText figure.rt-figure,
.promoResult__body figure.rt-figure,
.promoWindow__body figure.rt-figure,
.promoWindow__sectionText figure.rt-figure{
  display:inline-block;
  vertical-align:top;
  max-width:100%;
}
.promoRichText img.rt-image,
.promoResult__body img.rt-image,
.promoWindow__body img.rt-image,
.promoWindow__sectionText img.rt-image{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  border-radius:18px;
}
.promoRichText figure.rt-align-left,
.promoResult__body figure.rt-align-left,
.promoWindow__body figure.rt-align-left,
.promoWindow__sectionText figure.rt-align-left{float:left;margin:0 18px 14px 0}
.promoRichText figure.rt-align-center,
.promoResult__body figure.rt-align-center,
.promoWindow__body figure.rt-align-center,
.promoWindow__sectionText figure.rt-align-center{display:block;float:none;margin:16px auto;clear:both}
.promoRichText figure.rt-align-right,
.promoResult__body figure.rt-align-right,
.promoWindow__body figure.rt-align-right,
.promoWindow__sectionText figure.rt-align-right{float:right;margin:0 0 14px 18px}

/* === R925 promo phone + human check + smaller clock === */
body.v4 .promoChrono,
body.theme-light .promoChrono{
  width:min(100%, 248px);
}
body.v4 .promoChrono__hubGlow,
body.theme-light .promoChrono__hubGlow{
  width:74px;
  height:74px;
}
body.v4 .promoChrono__pin,
body.theme-light .promoChrono__pin{
  width:15px;
  height:15px;
}
body.v4 .promoChrono__digital,
body.theme-light .promoChrono__digital{
  width:calc(100% - 42px);
  bottom:12px;
  padding:9px 10px 10px;
  border-radius:14px;
}
body.v4 .promoChrono__digitalLabel,
body.theme-light .promoChrono__digitalLabel{
  margin-bottom:3px;
  font-size:10px;
  letter-spacing:.15em;
}
body.v4 .promoChrono__digital strong,
body.theme-light .promoChrono__digital strong{
  font-size:clamp(12px, 1.2vw, 14px);
  letter-spacing:.04em;
}
body.v4 .promoChrono__digitalMeta,
body.theme-light .promoChrono__digitalMeta{
  margin-top:6px;
  font-size:11px;
}
body.v4 .promoChrono__hand--hour,
body.theme-light .promoChrono__hand--hour{
  height:6px;
}
body.v4 .promoChrono__hand--minute,
body.theme-light .promoChrono__hand--minute{
  height:4px;
}
body.v4 .promoChrono__hand--second,
body.theme-light .promoChrono__hand--second{
  width:37%;
}
body.v4 .promoHumanCheck,
body.theme-light .promoHumanCheck{
  width:100%;
  min-height:52px;
  align-self:end;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(var(--promo-accent-rgb), .24);
  background:rgba(var(--promo-accent-rgb), .04);
  color:var(--promo-text);
  font:inherit;
  font-weight:800;
  cursor:pointer;
  text-align:left;
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
body.v4 .promoHumanCheck:hover,
body.theme-light .promoHumanCheck:hover{
  border-color:rgba(var(--promo-accent-rgb), .40);
  background:rgba(var(--promo-accent-rgb), .08);
}
body.v4 .promoHumanCheck:focus-visible,
body.theme-light .promoHumanCheck:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(var(--promo-accent-rgb), .18);
}
body.v4 .promoHumanCheck.is-verified,
body.theme-light .promoHumanCheck.is-verified{
  border-color:rgba(34,197,94,.44);
  background:rgba(34,197,94,.10);
}
body.v4 .promoHumanCheck__box,
body.theme-light .promoHumanCheck__box{
  width:22px;
  height:22px;
  flex:0 0 22px;
  border-radius:6px;
  border:2px solid currentColor;
  display:grid;
  place-items:center;
  font-size:14px;
  line-height:1;
}
body.v4 .promoHumanCheck__label,
body.theme-light .promoHumanCheck__label{
  display:block;
  min-width:0;
}
body.v4 .promoHumanCheck__note,
body.theme-light .promoHumanCheck__note{
  margin-top:-2px;
  font-size:12px;
  line-height:1.5;
  color:var(--promo-muted);
}
body.v4 .promoField--modal,
body.theme-light .promoField--modal{
  margin-top:6px;
}
body.v4 .promoHumanModal,
body.theme-light .promoHumanModal{
  position:fixed;
  inset:0;
  z-index:12500;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
body.v4 .promoHumanModal.is-visible,
body.theme-light .promoHumanModal.is-visible{
  opacity:1;
  pointer-events:auto;
}
body.v4 .promoHumanModal__backdrop,
body.theme-light .promoHumanModal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,6,23,.46);
}
body.v4 .promoHumanModal__dialog,
body.theme-light .promoHumanModal__dialog{
  position:relative;
  width:min(430px, calc(100vw - 32px));
  padding:22px 20px 18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(8,18,34,.98), rgba(11,24,44,.96));
  color:#fff;
  box-shadow:0 28px 80px rgba(2,6,23,.46);
}
body.theme-light .promoHumanModal__dialog{
  border-color:rgba(15,23,42,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,250,252,.98));
  color:#0f172a;
}
body.v4 .promoHumanModal__close,
body.theme-light .promoHumanModal__close{
  position:absolute;
  right:12px;
  top:10px;
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:inherit;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
body.v4 .promoHumanModal__eyebrow,
body.theme-light .promoHumanModal__eyebrow{
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--promo-accent);
}
body.v4 .promoHumanModal__title,
body.theme-light .promoHumanModal__title{
  margin:10px 0 0;
  font-size:24px;
  line-height:1.18;
}
body.v4 .promoHumanModal__text,
body.theme-light .promoHumanModal__text{
  margin-top:10px;
  line-height:1.6;
  color:inherit;
  opacity:.88;
}
body.v4 .promoHumanModal__check,
body.theme-light .promoHumanModal__check{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:16px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(var(--promo-accent-rgb), .24);
  background:rgba(var(--promo-accent-rgb), .08);
  font-weight:800;
}
body.v4 .promoHumanModal__check input,
body.theme-light .promoHumanModal__check input{
  width:18px;
  height:18px;
}
body.v4 .promoHumanModal__actions,
body.theme-light .promoHumanModal__actions{
  display:flex;
  justify-content:flex-end;
  margin-top:14px;
}
@media (max-width: 720px){
  body.v4 .promoChrono,
  body.theme-light .promoChrono{
    width:min(100%, 220px);
  }
  body.v4 .promoChrono__digital,
  body.theme-light .promoChrono__digital{
    width:calc(100% - 32px);
    bottom:10px;
    padding:8px 9px 9px;
  }
  body.v4 .promoChrono__digital strong,
  body.theme-light .promoChrono__digital strong{
    font-size:12px;
  }
  body.v4 .promoHumanModal__dialog,
  body.theme-light .promoHumanModal__dialog{
    padding:20px 16px 16px;
  }
}

/* === R926 richtext figures alignment === */
.promoRichText p,
.promoResult__body p,
.promoWindow__body p,
.promoWindow__sectionText p{
  margin:0 0 12px;
}
.promoRichText h1,
.promoRichText h2,
.promoRichText h3,
.promoResult__body h1,
.promoResult__body h2,
.promoResult__body h3,
.promoWindow__body h1,
.promoWindow__body h2,
.promoWindow__body h3,
.promoWindow__sectionText h1,
.promoWindow__sectionText h2,
.promoWindow__sectionText h3{
  margin:0 0 12px;
}
.promoRichText figure.rt-figure,
.promoResult__body figure.rt-figure,
.promoWindow__body figure.rt-figure,
.promoWindow__sectionText figure.rt-figure{
  clear:none;
  vertical-align:top;
}
.promoRichText figure.rt-align-left,
.promoResult__body figure.rt-align-left,
.promoWindow__body figure.rt-align-left,
.promoWindow__sectionText figure.rt-align-left,
.promoRichText figure.rt-align-right,
.promoResult__body figure.rt-align-right,
.promoWindow__body figure.rt-align-right,
.promoWindow__sectionText figure.rt-align-right{
  clear:none;
}
.promoRichText img.rt-image,
.promoResult__body img.rt-image,
.promoWindow__body img.rt-image,
.promoWindow__sectionText img.rt-image{
  vertical-align:top;
}

/* === R930 návrat profesionálních hodin a kontrastů promo okna === */
body.v4 .promoChrono,
body.theme-light .promoChrono{
  width:min(100%, 292px);
}
body.v4 .promoChrono__hubGlow,
body.theme-light .promoChrono__hubGlow{
  width:92px;
  height:92px;
}
body.v4 .promoChrono__pin,
body.theme-light .promoChrono__pin{
  width:18px;
  height:18px;
}
body.v4 .promoChrono__digital,
body.theme-light .promoChrono__digital{
  width:calc(100% - 48px);
  bottom:16px;
  padding:10px 12px 11px;
  border-radius:16px;
}
body.v4 .promoChrono__digitalLabel,
body.theme-light .promoChrono__digitalLabel{
  margin-bottom:4px;
  font-size:11px;
  letter-spacing:.18em;
}
body.v4 .promoChrono__digital strong,
body.theme-light .promoChrono__digital strong{
  font-size:clamp(14px, 1.5vw, 16px);
  letter-spacing:.08em;
}
body.v4 .promoChrono__digitalMeta,
body.theme-light .promoChrono__digitalMeta{
  margin-top:8px;
  font-size:12px;
  opacity:.84;
}
body.v4 .promoChrono__hand--hour,
body.theme-light .promoChrono__hand--hour{
  height:7px;
}
body.v4 .promoChrono__hand--minute,
body.theme-light .promoChrono__hand--minute{
  height:5px;
}
body.v4 .promoChrono__hand--second,
body.theme-light .promoChrono__hand--second{
  width:39%;
}
body.v4 .promoRegisterSuccessModal__box,
body.theme-light .promoRegisterSuccessModal__box{
  border-color:rgba(255,255,255,.6);
}
@media (max-width:720px){
  body.v4 .promoChrono,
  body.theme-light .promoChrono{
    width:min(100%, 250px);
  }
  body.v4 .promoChrono__digital,
  body.theme-light .promoChrono__digital{
    width:calc(100% - 36px);
    bottom:12px;
    padding:9px 10px 10px;
  }
  body.v4 .promoChrono__digital strong,
  body.theme-light .promoChrono__digital strong{
    font-size:13px;
    letter-spacing:.05em;
  }
}


/* === R933 promo layout: profesionální boční panel + tabulka historie === */
body.v4 .promoWindow__side--lottery,
body.theme-light .promoWindow__side--lottery{
  display:flex;
  flex-direction:column;
  gap:14px;
  align-self:stretch;
  min-width:min(100%, 360px);
  max-width:388px;
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
}
body.v4 .promoHeroPlate,
body.theme-light .promoHeroPlate{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  padding:18px 18px 20px;
}
body.v4 .promoHeroPlate::before,
body.theme-light .promoHeroPlate::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at top right, rgba(var(--promo-accent-rgb), .16), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
}
body.v4 .promoHeroPlate{
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(8,18,34,.84), rgba(11,24,44,.72));
  box-shadow:0 22px 58px rgba(2,6,23,.28);
}
body.theme-light .promoHeroPlate{
  border:1px solid rgba(15,23,42,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(246,248,252,.95));
  box-shadow:0 22px 54px rgba(15,23,42,.10);
}
body.v4 .promoHeroPlate__label,
body.theme-light .promoHeroPlate__label{
  position:relative;
  z-index:1;
  margin-bottom:10px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.8;
}
body.v4 .promoHeroCode,
body.theme-light .promoHeroCode{
  position:relative;
  z-index:1;
}
body.v4 .promoHeroCode__value,
body.theme-light .promoHeroCode__value{
  font-size:clamp(24px, 2vw, 30px);
  font-weight:900;
  line-height:1.1;
  letter-spacing:.08em;
  text-transform:uppercase;
  word-break:break-word;
}
body.v4 .promoHeroCode__meta,
body.theme-light .promoHeroCode__meta{
  margin-top:10px;
  font-size:13px;
  line-height:1.5;
  opacity:.82;
}
body.v4 .promoHeroPlate--countdown,
body.theme-light .promoHeroPlate--countdown{
  padding:16px;
}
body.v4 .promoHeroPlate--countdown .promoChrono,
body.theme-light .promoHeroPlate--countdown .promoChrono{
  width:100%;
  max-width:none;
}
body.v4 .promoHeroWinnerList,
body.theme-light .promoHeroWinnerList{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:10px;
}
body.v4 .promoHeroWinner,
body.theme-light .promoHeroWinner{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 13px;
  border-radius:18px;
}
body.v4 .promoHeroWinner{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
body.theme-light .promoHeroWinner{
  background:rgba(248,250,252,.98);
  border:1px solid rgba(15,23,42,.08);
}
body.v4 .promoHeroWinner__index,
body.theme-light .promoHeroWinner__index{
  flex:0 0 32px;
  width:32px;
  height:32px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:900;
}
body.v4 .promoHeroWinner__index{
  background:rgba(var(--promo-accent-rgb), .20);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(var(--promo-accent-rgb), .24);
}
body.theme-light .promoHeroWinner__index{
  background:rgba(37,99,235,.12);
  color:#1d4ed8;
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.16);
}
body.v4 .promoHeroWinner__body,
body.theme-light .promoHeroWinner__body{
  min-width:0;
}
body.v4 .promoHeroWinner__name,
body.theme-light .promoHeroWinner__name{
  font-size:15px;
  font-weight:800;
  line-height:1.35;
}
body.v4 .promoHeroWinner__meta,
body.theme-light .promoHeroWinner__meta{
  margin-top:4px;
  font-size:12px;
  line-height:1.5;
  opacity:.8;
}
body.v4 .promoHeroEmpty,
body.theme-light .promoHeroEmpty{
  position:relative;
  z-index:1;
  padding:14px 15px;
  border-radius:18px;
  font-size:13px;
  line-height:1.6;
}
body.v4 .promoHeroEmpty{
  background:rgba(255,255,255,.04);
  border:1px dashed rgba(255,255,255,.14);
}
body.theme-light .promoHeroEmpty{
  background:rgba(248,250,252,.96);
  border:1px dashed rgba(15,23,42,.12);
}

body.v4 .promoHistoryTableWrap,
body.theme-light .promoHistoryTableWrap{
  overflow:auto;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
}
body.theme-light .promoHistoryTableWrap{
  border-color:rgba(15,23,42,.08);
}
body.v4 .promoHistoryTableWrap.is-scroll,
body.theme-light .promoHistoryTableWrap.is-scroll{
  max-height:620px;
}
body.v4 .promoHistoryTable,
body.theme-light .promoHistoryTable{
  width:100%;
  min-width:860px;
  border-collapse:separate;
  border-spacing:0;
}
body.v4 .promoHistoryTable th,
body.v4 .promoHistoryTable td,
body.theme-light .promoHistoryTable th,
body.theme-light .promoHistoryTable td{
  padding:14px 16px;
  text-align:left;
  vertical-align:middle;
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.theme-light .promoHistoryTable th,
body.theme-light .promoHistoryTable td{
  border-bottom-color:rgba(15,23,42,.08);
}
body.v4 .promoHistoryTable thead th,
body.theme-light .promoHistoryTable thead th{
  position:sticky;
  top:0;
  z-index:1;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  backdrop-filter:blur(12px);
}
body.v4 .promoHistoryTable thead th{
  background:rgba(7,14,28,.94);
  color:rgba(255,255,255,.72);
}
body.theme-light .promoHistoryTable thead th{
  background:rgba(255,255,255,.96);
  color:#475569;
}
body.v4 .promoHistoryTable tbody tr:hover td{
  background:rgba(var(--promo-accent-rgb), .08);
}
body.theme-light .promoHistoryTable tbody tr:hover td{
  background:rgba(37,99,235,.05);
}
body.v4 .promoHistoryTable tbody tr:last-child td,
body.theme-light .promoHistoryTable tbody tr:last-child td{
  border-bottom:none;
}
body.v4 .promoHistoryTable__code,
body.theme-light .promoHistoryTable__code{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:7px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.v4 .promoHistoryTable__code{
  background:rgba(var(--promo-accent-rgb), .18);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(var(--promo-accent-rgb), .22);
}
body.theme-light .promoHistoryTable__code{
  background:rgba(37,99,235,.10);
  color:#1d4ed8;
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.14);
}

body.v4 .promoChrono,
body.theme-light .promoChrono{
  width:min(100%, 308px);
}
body.v4 .promoChrono__dial,
body.theme-light .promoChrono__dial{
  min-height:308px;
}
body.v4 .promoChrono__digital,
body.theme-light .promoChrono__digital{
  width:calc(100% - 42px);
  bottom:14px;
  padding:11px 12px 12px;
}
body.v4 .promoChrono__digitalLabel,
body.theme-light .promoChrono__digitalLabel{
  font-size:10px;
  letter-spacing:.20em;
}
body.v4 .promoChrono__digital strong,
body.theme-light .promoChrono__digital strong{
  font-size:clamp(14px, 1.4vw, 17px);
  letter-spacing:.07em;
}

@media (max-width: 1180px){
  body.v4 .promoWindow__hero,
  body.theme-light .promoWindow__hero{
    grid-template-columns:minmax(0, 1fr);
  }
  body.v4 .promoWindow__side--lottery,
  body.theme-light .promoWindow__side--lottery{
    max-width:none;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  body.v4 .promoHeroPlate--countdown .promoChrono__dial,
  body.theme-light .promoHeroPlate--countdown .promoChrono__dial{
    min-height:280px;
  }
}

@media (max-width: 760px){
  body.v4 .promoWindow__side--lottery,
  body.theme-light .promoWindow__side--lottery{
    grid-template-columns:minmax(0, 1fr);
  }
  body.v4 .promoChrono,
  body.theme-light .promoChrono{
    width:min(100%, 250px);
  }
  body.v4 .promoChrono__dial,
  body.theme-light .promoChrono__dial{
    min-height:250px;
  }
  body.v4 .promoHistoryTable,
  body.theme-light .promoHistoryTable{
    min-width:720px;
  }
}


/* === R934 promo/offers responsive final === */
body.v4 .promoWindow__hero,
body.theme-light .promoWindow__hero{
  grid-template-columns:minmax(0, 1.2fr) minmax(260px, .8fr);
  align-items:stretch;
}
body.v4 .promoWindow__heroText,
body.theme-light .promoWindow__heroText,
body.v4 .promoWindow__side--lottery,
body.theme-light .promoWindow__side--lottery,
body.v4 .promoHeroPlate,
body.theme-light .promoHeroPlate{
  min-width:0;
  width:100%;
}
body.v4 .promoWindow__side--lottery,
body.theme-light .promoWindow__side--lottery{
  min-width:0;
  max-width:none;
  width:100%;
}
body.v4 .promoHeroPlate--countdown,
body.theme-light .promoHeroPlate--countdown{
  padding:14px;
}
body.v4 .promoChrono,
body.theme-light .promoChrono{
  width:min(100%, 264px);
  margin:0 auto;
}
body.v4 .promoChrono__dial,
body.theme-light .promoChrono__dial{
  min-height:264px;
}
body.v4 .promoChrono__digital,
body.theme-light .promoChrono__digital{
  width:calc(100% - 38px);
  bottom:12px;
  padding:10px 11px 11px;
}
body.v4 .promoChrono__digital strong,
body.theme-light .promoChrono__digital strong{
  font-size:clamp(13px, 1.25vw, 16px);
}
body.v4 .promoChrono__digitalMeta,
body.theme-light .promoChrono__digitalMeta{
  font-size:11px;
  line-height:1.45;
}
.offersWork,
.offersPane,
.offersDetail,
.offersDetail .section,
.offerHero,
.offerHeroMain,
.offerHeroAside,
.offerHeroTitle,
.offerHeroSub,
.offerHeroAddr,
.offersItemHead,
.offersItemHeadMain,
.offersItemHeadText,
.offersItemBody,
.offersItemProv,
.offersItemAddr,
.offerRichText,
.offerMetaGroup,
.offerMetaLine{
  min-width:0;
}
.offersItemProv,
.offersItemAddr,
.offersItemOfferTitle,
.offerHeroTitle,
.offerHeroSub,
.offerHeroAddr,
.offersPriceText--aside,
.offerRichText,
.offerMetaLine,
.offerMetaGroup,
.offerMetaGroup .chip,
.offersDetail .section__title,
.offersTable td,
.offersTable th{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.offersItemHead{gap:12px;}
.offersItemHeadMain{align-items:flex-start;}
.offersItemHeadPrice{align-self:flex-start;}
.offersItemHeadPrice .badge{white-space:normal;text-align:center;line-height:1.2;}
.offersItemProv,.offersItemAddr{white-space:normal;overflow:visible;text-overflow:clip;}
.offersItemDesc{
  margin-top:8px;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.offersItemBadge--request{
  background:rgba(var(--accent-rgb), .12);
  border:1px solid rgba(var(--accent-rgb), .28);
}
.offerHero{
  grid-template-columns:minmax(0, 1fr) minmax(220px, 280px);
}
.offerHeroAside{
  min-width:0;
}
.offerHeroPrice,
.offerHeroRateAside{
  align-items:flex-start;
}
.offerHeroPrice .muted.small,
.offerHeroRateAside .muted.small,
.offersPriceText--aside,
.offerMetaLine{
  text-align:left;
}
.offersPriceText--aside{margin-left:0;}
.offerRichText{
  line-height:1.7;
}
.offersDetail{
  overscroll-behavior:contain;
}
#cardOffers .offersDetail,
#cardOffers .offersList,
#cardOffers .offersListWrap,
#cardOffers .offersDetailBlock,
#cardOffers .offersPane--detail,
#cardOffers .offersPane--list{
  min-width:0;
}
@media (max-width: 1180px){
  body.v4 .promoWindow__hero,
  body.theme-light .promoWindow__hero{
    grid-template-columns:minmax(0, 1fr);
  }
  body.v4 .promoWindow__side--lottery,
  body.theme-light .promoWindow__side--lottery{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
  }
  body.v4 .promoChrono,
  body.theme-light .promoChrono{
    width:min(100%, 244px);
  }
  body.v4 .promoChrono__dial,
  body.theme-light .promoChrono__dial{
    min-height:244px;
  }
  .offerHero{
    grid-template-columns:minmax(0, 1fr) minmax(200px, 240px);
  }
}
@media (max-width: 860px){
  .offersItemHead,
  .offersItemBody{
    flex-direction:column;
    align-items:stretch;
  }
  .offersItemActions{
    justify-content:flex-end;
  }
  .offerHero,
  .offerHero--publicRequest{
    grid-template-columns:minmax(0, 1fr);
  }
  .offerHeroAside{
    order:2;
  }
}
@media (max-width: 760px){
  body.v4 .promoWindow__side--lottery,
  body.theme-light .promoWindow__side--lottery{
    grid-template-columns:minmax(0, 1fr);
  }
  body.v4 .promoChrono,
  body.theme-light .promoChrono{
    width:min(100%, 220px);
  }
  body.v4 .promoChrono__dial,
  body.theme-light .promoChrono__dial{
    min-height:220px;
  }
  .offersPaneHead,
  .offersSearchRow,
  .offersPaneTools,
  .offersPaneToolsRow,
  .offersPaneToolsRow--bottom{
    width:100%;
  }
  .offersPaneToolsRow--bottom{
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) 38px 38px;
  }
  .offersItemHeadMain{
    display:grid;
    grid-template-columns:28px minmax(0, 1fr);
    gap:10px;
  }
  .offersItemHeadPrice{
    grid-column:1 / -1;
    margin-left:0;
  }
  .offersItemActions{
    width:100%;
  }
  .offersItemActions .iconbtn--sm{
    margin-left:auto;
  }
}
@media (max-width: 560px){
  .offersPaneToolsRow--bottom{
    grid-template-columns:1fr;
  }
  .offersPaneToolsRow--bottom .iconbtn--sm{
    justify-self:start;
  }
  .offersItemDesc{
    -webkit-line-clamp:4;
  }
}


/* === R935 promo/offers/admin responsive fixes === */
body.v4 .promoWindow__hero,
body.theme-light .promoWindow__hero{
  grid-template-columns:minmax(0, 1.35fr) minmax(280px, 1fr);
  align-items:stretch;
}
body.v4 .promoWindow__heroText,
body.theme-light .promoWindow__heroText{
  display:flex;
  min-width:0;
  height:100%;
}
body.v4 .promoWindow__heroText .promoHeroPlate,
body.theme-light .promoWindow__heroText .promoHeroPlate{
  flex:1 1 auto;
}
body.v4 .promoWindow__side--lottery,
body.theme-light .promoWindow__side--lottery{
  align-self:stretch;
}
body.v4 .promoHeroPlate--countdown .promoChrono,
body.theme-light .promoHeroPlate--countdown .promoChrono{
  width:min(100%, 236px);
}
body.v4 .promoHeroPlate--countdown .promoChrono__dial,
body.theme-light .promoHeroPlate--countdown .promoChrono__dial{
  min-height:236px;
}
.offersItemBody > div,
.publicAdDetail,
.publicAdDetail .section,
.offerMetaStack,
.offerMetaStack__row,
.offerMetaStack__value,
.offersItemRequestMeta,
.offersRequestTableMeta{
  min-width:0;
}
.offersItemRequestMeta,
.offersRequestTableMeta,
.offerMetaStack{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.offersItemRequestMeta__line,
.offersRequestTableMeta__line,
.offerMetaStack__row{
  display:flex;
  align-items:flex-start;
  gap:8px;
  flex-wrap:wrap;
  line-height:1.55;
}
.offersItemRequestMeta__line span,
.offersRequestTableMeta__line span,
.offerMetaStack__label{
  color:var(--muted);
  font-weight:800;
}
.offerMetaStack__label{
  flex:0 0 118px;
  max-width:100%;
}
.offerMetaStack__value{
  flex:1 1 220px;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.offerMetaStack__link{
  color:inherit;
  text-decoration:underline;
  text-decoration-thickness:1px;
}
.offerRichText--request,
.publicAdDetail,
.publicAdDetail .offerHeroTitle,
.publicAdDetail .offerHeroSub,
.publicAdDetail .offerHeroAddr,
.publicAdDetail .offerMetaLine{
  overflow-wrap:anywhere;
  word-break:break-word;
}
#cardOffers .offersTable td .offersRequestTableMeta{
  font-size:12px;
}
@media (max-width: 1180px){
  body.v4 .promoHeroPlate--countdown .promoChrono,
  body.theme-light .promoHeroPlate--countdown .promoChrono{
    width:min(100%, 220px);
  }
  body.v4 .promoHeroPlate--countdown .promoChrono__dial,
  body.theme-light .promoHeroPlate--countdown .promoChrono__dial{
    min-height:220px;
  }
}
@media (max-width: 860px){
  .offerMetaStack__row,
  .offersItemRequestMeta__line,
  .offersRequestTableMeta__line{
    flex-direction:column;
    gap:2px;
  }
  .offerMetaStack__label{
    flex-basis:auto;
  }
}
@media (max-width: 760px){
  body.v4 .promoHeroPlate--countdown .promoChrono,
  body.theme-light .promoHeroPlate--countdown .promoChrono{
    width:min(100%, 198px);
  }
  body.v4 .promoHeroPlate--countdown .promoChrono__dial,
  body.theme-light .promoHeroPlate--countdown .promoChrono__dial{
    min-height:198px;
  }
}


/* === R937 promo hero wrapper fix === */
body.v4 .promoHeroPlate--hero,
body.theme-light .promoHeroPlate--hero{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:12px;
  min-height:100%;
}
body.v4 .promoHeroPlate--hero .promoWindow__body,
body.theme-light .promoHeroPlate--hero .promoWindow__body{
  margin-top:2px;
}
body.v4 .promoWindow__heroText,
body.theme-light .promoWindow__heroText{
  min-width:0;
}
body.v4 .promoWindow__heroText > .promoHeroPlate,
body.theme-light .promoWindow__heroText > .promoHeroPlate{
  width:100%;
}


/* === R938 promo window layout stability === */
body.v4 .promoWindow__hero,
body.theme-light .promoWindow__hero{
  display:grid;
  grid-template-columns:minmax(0, 1.3fr) minmax(300px, .7fr);
  gap:18px;
  align-items:stretch;
}
body.v4 .promoWindow__hero--single,
body.theme-light .promoWindow__hero--single{
  grid-template-columns:minmax(0, 1fr);
}
body.v4 .promoWindow__heroText,
body.theme-light .promoWindow__heroText,
body.v4 .promoWindow__side--lottery,
body.theme-light .promoWindow__side--lottery,
body.v4 .promoHeroPlate,
body.theme-light .promoHeroPlate{
  width:100%;
  min-width:0;
  max-width:none;
}
body.v4 .promoWindow__section,
body.theme-light .promoWindow__section{
  width:100%;
  min-width:0;
}
body.v4 .promoWindow__banners,
body.theme-light .promoWindow__banners{
  align-items:stretch;
}
body.v4 .promoBanner,
body.theme-light .promoBanner{
  min-width:0;
}
body.v4 .promoHeroPlate--countdown .promoChrono__dial,
body.theme-light .promoHeroPlate--countdown .promoChrono__dial{
  max-width:250px;
  margin-inline:auto;
}
@media (max-width: 1120px){
  body.v4 .promoWindow__hero,
  body.theme-light .promoWindow__hero{
    grid-template-columns:minmax(0, 1fr);
  }
}
