/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
/* Pruhy přes celou šířku (hero, topbar) používají 100vw, což počítá i svislý
   posuvník — bez clipu na <html> by šlo stránkou posunout o jeho šířku doprava.
   `clip` (ne `hidden`) nevytváří scroll kontejner, takže nerozbije sticky/fixed. */
html {overflow-x:clip;}
body {overflow-x:clip; overflow-y:auto;}
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');

/* ====================================================================
   MEDICAL EXPERT — HOME (z Figmy: CSL IG expert / Home)
   Brand fialová #641660, panel #f6eeee, font Montserrat
   ==================================================================== */
.med-home,.med-events{--mx:var(--accent,#641660);--panel:#f6eeee;font-family:"Montserrat",-apple-system,Segoe UI,Roboto,sans-serif;}
.med-home img,.med-events img{max-width:100%;display:block;}

/* plná šíře napříč content kontejnerem tématu */
.med-hero,.med-bandfooter{width:100vw;margin-left:calc(50% - 50vw);}

/* ---- FIALOVÝ PRUH S LOGEM (GP Element „Header" id 52, hook before_header) ---- */
.med-topbar{width:100vw;margin-left:calc(50% - 50vw);background:var(--accent,#641660);}
.med-topbar__inner{max-width:1128px;margin:0 auto;padding:22px 24px;box-sizing:content-box;
  display:flex;align-items:center;justify-content:space-between;gap:24px;}
.med-topbar__logo{width:317px;height:auto;}
.med-topbar__link{display:block;width:fit-content;line-height:0;flex:none;}
.med-topbar__nav{display:flex;align-items:center;gap:28px;flex:none;}
.med-topbar__navlink{color:#fff;font-family:"Montserrat",-apple-system,Segoe UI,Roboto,sans-serif;
  font-weight:700;font-size:16px;line-height:1.22;letter-spacing:.01em;text-decoration:none;
  white-space:nowrap;}
.med-topbar__navlink:hover,.med-topbar__navlink:focus{color:#fff;text-decoration:underline;}
/* hamburger — na desktopu skrytý, pod 900px nahrazuje řadu odkazů */
.med-topbar__burger{display:none;flex:none;width:44px;height:44px;padding:10px;margin-right:-10px;
  box-sizing:border-box;background:none;border:0;cursor:pointer;
  flex-direction:column;justify-content:space-between;}
/* vnitřek 24x24 => krajní čáry se do středu posunou o 11px */
.med-topbar__burger:hover,.med-topbar__burger:focus{background:none;}
.med-topbar__burger-line{display:block;height:2px;width:100%;background:#fff;border-radius:2px;
  transition:transform .2s,opacity .2s;}
.med-topbar__burger.is-open .med-topbar__burger-line:nth-child(1){transform:translateY(11px) rotate(45deg);}
.med-topbar__burger.is-open .med-topbar__burger-line:nth-child(2){opacity:0;}
.med-topbar__burger.is-open .med-topbar__burger-line:nth-child(3){transform:translateY(-11px) rotate(-45deg);}

/* ---- HERO (rozměry dle Figmy: panel 540x349 @ x39, texty od x76) ---- */
.med-hero{position:relative;height:auto;min-height:500px;overflow:hidden;background:var(--panel);}
.med-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;}
.med-hero__inner{position:relative;max-width:1128px;margin:0 auto;height:100%;padding:0 24px;box-sizing:content-box;}
.med-hero__panel{position:absolute;left:-13px;top:0;width:540px;max-width:48%;height:349px;clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),0 100%);
  background:var(--panel);display:flex;flex-direction:column;justify-content:flex-start;
  padding:71px 40px 0 37px;box-sizing:border-box;}
.med-hero__title{margin:0 0 17px;color:var(--mx);font-weight:700;font-size:24px;line-height:1.22;}
.med-hero__text{margin:0;color:#000;font-weight:400;font-size:16px;line-height:1.875;}

/* ---- Q&A SEKCE ---- */
.med-section{padding:60px 0 0;}
.med-section__inner{max-width:1200px;margin:0 auto;}
.med-section__title{margin:0 0 26px;color:var(--mx);font-weight:700;font-size:26px;line-height:1.23;}
.med-section__img{width:100%;height:auto;border-radius:2px;}

/* ---- INFOGRAFIKY (Home, Figma 57-345) ---- */
.med-infographics{max-width:1128px;margin:0 auto;padding:71px 24px 45px;box-sizing:content-box;
  display:grid;gap:36px;}
.med-infographic{margin:0;}
.med-infographic img{width:100%;height:auto;}
/* popisky + zdrojové odkazy pod infografikou (libovolný počet řádků) */
/* padding-bottom = extra odstup k následujícímu obrázku (jen u figur s popiskem,
   figury bez popisku si drží původní rytmus gridu) */
.med-infographic__caption{margin:12px 0 0;padding-bottom:22px;font-size:15px;line-height:1.5;
  color:#1a1a1a;word-break:break-word;}
.med-infographic__source{display:block;}
.med-infographic__source + .med-infographic__source{margin-top:4px;}
.med-infographic__caption a{color:var(--accent);text-decoration:underline;}
.med-infographic__caption a:hover,
.med-infographic__caption a:focus{text-decoration:none;}

/* ====================================================================
   SYMPOZIA A WEBINÁŘE — výpis záznamů (Figma frame „Záznamy z akcí" 24:2)
   Obsahová šíře 1090, karty 342x375 ve 3 sloupcích s mezerou 32
   ==================================================================== */
.med-events__body{padding-bottom:88px;}
.med-events__inner{max-width:1090px;margin:0 auto;padding:0 24px;box-sizing:content-box;}
.med-events__back{display:inline-block;margin:23px 0 0;color:#4e4e4e;font-size:14px;line-height:1.22;
  text-decoration:none;}
a.med-events__back:hover,a.med-events__back:focus{color:var(--mx);text-decoration:underline;}

.med-event + .med-event{margin-top:70px;padding-top:62px;border-top:1px solid var(--mx);}
.med-event__title{margin:66px 0 0;color:var(--mx);font-weight:700;font-size:26px;line-height:1.22;}
.med-event + .med-event .med-event__title{margin-top:0;}
.med-event__grid{margin-top:32px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}

.med-video{min-height:375px;background:#fff;box-shadow:0 4px 10px rgba(0,0,0,.10);
  display:flex;flex-direction:column;}
.med-video__thumb{position:relative;display:block;background:var(--panel);}
.med-video__thumb img{width:100%;height:auto;aspect-ratio:342/193;object-fit:cover;}
.med-video__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:64px;height:64px;color:#fff;pointer-events:none;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));}
.med-video__name{margin:24px 20px 0 19px;color:#000;font-weight:700;font-size:18px;line-height:1.22;}
.med-video__name a{color:inherit;text-decoration:none;}
.med-video__name a:hover,.med-video__name a:focus{color:var(--mx);text-decoration:underline;}
.med-video__desc{margin:18px 20px 20px 19px;color:#000;font-weight:400;font-size:16px;line-height:1.22;}
/* karta s odkazem na detail */
a.med-video__thumb{cursor:pointer;}
a.med-video__thumb .med-video__play{transition:color .15s,transform .15s;}
a.med-video__thumb:hover .med-video__play{color:var(--mx);transform:translate(-50%,-50%) scale(1.06);}

/* ---- DETAIL ZÁZNAMU (Figma frame „Video" 83:120) ---- */
.med-detail__item{padding-bottom:73px;}
.med-detail__name{margin:34px 0 0;color:#000;font-weight:700;font-size:18px;line-height:1.22;}
.med-detail__desc{margin:17px 0 0;color:#000;font-weight:400;font-size:16px;line-height:1.22;
  max-width:1020px;}
.med-detail__player{position:relative;margin:34px 0 0;background:var(--panel);}
.med-detail__player img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;}
.med-detail__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:205px;height:205px;color:#fff;pointer-events:none;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.35));}
/* přehrávač jako odkaz (video se otevře v lightboxu) */
a.med-detail__player{cursor:pointer;display:block;}
a.med-detail__player .med-detail__play{transition:color .15s,transform .15s;}
a.med-detail__player:hover .med-detail__play{color:var(--mx);transform:translate(-50%,-50%) scale(1.05);}

/* ---- BRÁNA POTVRZENÍ ODBORNOSTI ---- */
.med-gate-lock,.med-gate-lock body{overflow:hidden;}
.med-gate{position:fixed;inset:0;z-index:100000;background:rgba(20,8,18,.75);
  display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;
  font-family:"Montserrat",-apple-system,Segoe UI,Roboto,sans-serif;}
.med-gate[hidden]{display:none;}
.med-gate__box{background:#fff;max-width:640px;width:100%;max-height:100%;overflow:auto;
  padding:40px 44px 36px;box-sizing:border-box;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),calc(100% - 30px) 100%,0 100%);
  box-shadow:0 18px 50px rgba(0,0,0,.3);}
.med-gate__title{margin:0 0 20px;color:var(--accent,#641660);font-weight:700;font-size:24px;
  line-height:1.22;}
.med-gate__box p{margin:0 0 16px;color:#000;font-weight:400;font-size:16px;line-height:1.6;}
.med-gate__box p:last-of-type{margin-bottom:28px;}
.med-gate__actions{display:flex;gap:12px;flex-wrap:wrap;}
.med-gate__btn{font-family:inherit;font-weight:700;font-size:15px;line-height:1.2;
  padding:14px 26px;border-radius:2px;cursor:pointer;border:2px solid var(--accent,#641660);}
.med-gate__yes{background:var(--accent,#641660);color:#fff;}
.med-gate__yes:hover,.med-gate__yes:focus{background:#4e1149;border-color:#4e1149;color:#fff;}
.med-gate__no{background:none;color:var(--accent,#641660);}
.med-gate__no:hover,.med-gate__no:focus{background:#f6eeee;color:var(--accent,#641660);}
@media (max-width:760px){
  .med-gate{padding:16px;align-items:flex-start;}
  .med-gate__box{padding:28px 22px 24px;margin-top:16px;}
  .med-gate__title{font-size:20px;}
  .med-gate__box p{font-size:15px;}
  .med-gate__actions{flex-direction:column;}
  .med-gate__btn{width:100%;}
}

/* ---- LIGHTBOX VIDEA ---- */
.med-vlb{position:fixed;inset:0;z-index:99999;background:rgba(20,8,18,.92);display:none;}
.med-vlb.is-open{display:block;}
.med-vlb__stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  padding:56px 24px;box-sizing:border-box;}
.med-vlb__video{max-width:100%;max-height:100%;width:auto;height:auto;background:#000;
  box-shadow:0 10px 40px rgba(0,0,0,.5);}
.med-vlb__close{position:fixed;top:10px;right:14px;z-index:2;width:44px;height:44px;border:0;
  border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:28px;line-height:44px;
  padding:0;cursor:pointer;}
.med-vlb__close:hover,.med-vlb__close:focus{background:var(--accent,#641660);color:#fff;}
@media (max-width:760px){
  .med-vlb__stage{padding:56px 12px;}
}

/* další záznamy z téže akce (na detailu, karty se berou z výpisu) */
.med-related{margin-top:8px;padding-top:56px;border-top:1px solid var(--mx);}
.med-related__title{margin:0 0 32px;color:var(--mx);font-weight:700;font-size:26px;line-height:1.22;}

/* drobečky (nav místo jednoho odkazu) */
nav.med-events__back a{color:#4e4e4e;text-decoration:none;}
nav.med-events__back a:hover,nav.med-events__back a:focus{color:var(--mx);text-decoration:underline;}

/* ---- LIGHTBOX INFOGRAFIK ---- */
.med-infographic img{cursor:zoom-in;}
.med-lb{position:fixed;inset:0;z-index:99999;background:rgba(20,8,18,.88);display:none;}
.med-lb.is-open{display:block;}
.med-lb-lock,.med-lb-lock body{overflow:hidden;}
.med-lb__scroll{position:absolute;inset:0;overflow:auto;-webkit-overflow-scrolling:touch;
  display:flex;padding:24px 24px 84px;box-sizing:border-box;}  /* dole místo pro šipky */
.med-lb__img{margin:auto;display:block;}          /* margin:auto = centrování i scroll bez ořezu */
.med-lb__close{position:fixed;top:10px;right:14px;z-index:2;width:44px;height:44px;border:0;
  border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:28px;line-height:44px;
  padding:0;cursor:pointer;}
.med-lb__close:hover,.med-lb__close:focus{background:var(--accent,#641660);color:#fff;}
.med-lb__nav{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:2;
  display:flex;gap:16px;}
.med-lb__nav button{width:48px;height:48px;border:0;border-radius:50%;
  background:rgba(0,0,0,.55);color:#fff;font-size:30px;line-height:46px;padding:0;
  cursor:pointer;}
.med-lb__nav button:hover,.med-lb__nav button:focus{background:var(--accent,#641660);color:#fff;}
@media (min-width:1600px){
  .med-lb__img{max-width:calc(100vw - 96px);max-height:calc(100vh - 120px);width:auto;height:auto;}
}
@media (max-width:1599.98px){
  /* pevná šířka 1600px = vždy větší než viewport -> čitelné texty, posun po ploše */
  .med-lb__img{width:1600px;max-width:none;cursor:grab;}
}

/* ---- FIALOVÝ PRUH S LOGEM ---- */
.med-bandfooter{background:var(--mx);margin-top:96px;}
.med-bandfooter__inner{max-width:1200px;margin:0 auto;min-height:342px;display:flex;
  align-items:center;justify-content:flex-end;padding:0 40px;box-sizing:border-box;}
.med-bandfooter__logo{width:75px;height:auto;}

/* ---- PATIČKA (GP Element „Footer" id 39, Figma Group 59:354) ---- */
.med-footer{background:var(--accent,#641660);color:#fff;
  font-family:"Montserrat",-apple-system,Segoe UI,Roboto,sans-serif;}
.med-footer__inner{max-width:1128px;margin:0 auto;padding:45px 24px 46px;box-sizing:content-box;
  display:flex;justify-content:space-between;align-items:flex-start;gap:24px;}
.med-footer p{margin:0;font-size:10px;line-height:15px;color:#fff;}
.med-footer p.med-footer__info{margin-bottom:15px;}  /* specificita nad .med-footer p */
.med-footer a{color:#fff;text-decoration:underline;}
.med-footer__partner{display:flex;flex-direction:column;flex:none;}
.med-footer__csl{width:51px;height:auto;margin:12px auto 0;}
.med-footer__partner a{display:block;width:fit-content;margin:12px auto 0;line-height:0;}  /* logo v odkazu */
.med-footer__partner a .med-footer__csl{margin:0;}
@media (max-width:900px){
  .med-footer__inner{flex-direction:column;padding:32px 22px;}
  .med-footer__partner{flex-direction:row;align-items:center;gap:10px;}
  .med-footer__csl,.med-footer__partner a{margin:0;}
}

/* ---- MODALY V PATIČCE (Ochrana os. údajů, Podmínky užití) ---- */
.med-modal{position:fixed;inset:0;z-index:99998;background:rgba(20,8,18,.6);display:flex;
  align-items:center;justify-content:center;padding:24px;}
.med-modal[hidden]{display:none;}
.med-modal-lock,.med-modal-lock body{overflow:hidden;}
.med-modal__box{position:relative;background:#fff;border-radius:8px;max-width:760px;width:100%;
  max-height:min(84vh,900px);overflow:auto;padding:36px 44px;
  font-family:"Montserrat",-apple-system,Segoe UI,Roboto,sans-serif;}
.med-modal__close{position:sticky;top:-20px;float:right;margin:-16px -28px 0 12px;width:40px;height:40px;
  border:0;border-radius:50%;background:#fff;color:#666;font-size:26px;cursor:pointer;
  line-height:40px;padding:0;}
.med-modal__close:hover,.med-modal__close:focus{color:var(--accent,#641660);background:#fff;}
.med-modal__title{margin:0 0 18px;color:var(--accent,#641660);font-size:22px;font-weight:700;line-height:1.3;}
.med-modal__body{font-size:14px;line-height:1.7;color:#222;}
.med-modal__body p{margin:0 0 12px;}
.med-modal__body h2{margin:22px 0 10px;font-size:17px;color:var(--accent,#641660);}
.med-modal__body h3{margin:18px 0 8px;font-size:15px;color:#000;}
.med-modal__body h4{margin:14px 0 6px;font-size:14px;}
.med-modal__body ul,.med-modal__body ol{margin:0 0 12px;padding-left:22px;}
.med-modal__body a{color:var(--accent,#641660);}
.med-modal__doc{margin-top:20px;padding-top:16px;border-top:1px solid #e5dde4;
  font-size:14px;line-height:1.7;color:#222;}
.med-modal__doc h2{margin:22px 0 10px;font-size:17px;color:var(--accent,#641660);}
.med-modal__doc h3{margin:18px 0 8px;font-size:15px;}
.med-modal__doc p{margin:0 0 12px;}
.med-modal__doc table{width:100%;border-collapse:collapse;margin:0 0 14px;font-size:12.5px;}
.med-modal__doc th,.med-modal__doc td{border:1px solid #e5dde4;padding:6px 8px;text-align:left;vertical-align:top;}
@media (max-width:600px){
  .med-modal{padding:0;}
  .med-modal__box{max-height:100vh;height:100%;border-radius:0;padding:28px 22px;}
}

/* ---- COMPLIANZ ----- */
.cmplz-document .entry-content,
.page-id-3 .entry-content {padding-top:2em;}
#cmplz-document {max-width:100%;}
#cmplz-document .cmplz-message,
#cmplz-document .cmplz-categories {width: 100% !important;}
#cmplz-document .cmplz-category-header {/*display: flex; */gap: 10px; align-items: center;}
#cmplz-document .cmplz-category-header button {justify-self:flex-end;}
#cmplz-document .cmplz-category-title {margin-right:10px;}

/* karty výpisu: 3 -> 2 -> 1 sloupec */
@media (max-width:1100px){
  .med-event__grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){
  .med-event__grid{grid-template-columns:1fr;}
  .med-video{min-height:0;}
}

/* ---- RESPONSIVE ---- */
@media (max-width:900px){
  .med-hero{height:auto;}
  .med-hero__bg{position:static;height:auto;width:100%;object-fit:cover;max-height:260px;}
  .med-hero__inner{position:static;padding:0;}
  .med-hero__panel{position:static;width:100%;max-width:100%;height:auto;clip-path:none;padding:28px 22px;}
  .med-hero__title{font-size:22px;}
  .med-hero__text br{display:none;}   /* pevné zalomení z Figmy jen na desktopu */
  .med-topbar{position:relative;}
  .med-topbar__inner{padding:16px 22px;gap:16px;}
  .med-topbar__logo{width:220px;}
  .med-topbar__burger{display:flex;}
  .med-topbar__nav{position:absolute;left:0;right:0;top:100%;z-index:60;
    display:none;flex-direction:column;align-items:stretch;gap:0;
    background:var(--accent,#641660);padding:2px 22px 14px;
    box-shadow:0 12px 24px rgba(0,0,0,.18);}
  .med-topbar__nav.is-open{display:flex;}
  .med-topbar__navlink{padding:15px 0;font-size:15px;white-space:normal;
    border-top:1px solid rgba(255,255,255,.2);}
  .med-section{padding-top:44px;}
  .med-section__title{font-size:21px;}
  .med-infographics{padding:44px 22px 32px;gap:24px;}
  .med-infographic__caption{font-size:14px;margin-top:10px;padding-bottom:14px;}
  .med-events__inner{padding:0 22px;}
  .med-events__body{padding-bottom:56px;}
  .med-event__title{font-size:21px;margin-top:44px;}
  .med-event + .med-event{margin-top:48px;padding-top:44px;}
  .med-event__grid{margin-top:24px;gap:24px;}
  .med-detail__play{width:96px;height:96px;}
  .med-detail__item{padding-bottom:48px;}
  .med-detail__name{margin-top:24px;}
  .med-detail__player{margin-top:24px;}
  .med-related{padding-top:40px;}
  .med-related__title{font-size:21px;margin-bottom:24px;}
  .med-bandfooter{margin-top:56px;}
  .med-bandfooter__inner{min-height:180px;justify-content:center;padding:0 22px;}
}

/* GeneratePress dává pod 768px .site-content padding 30px. Naše stránky mají hero přes
   celou šířku a bloky s vlastním odsazením, takže by to jen dělalo bílý pruh nad hero
   a zdvojovalo boční okraje. Vypínáme jen na nich, zbytek webu si GP řídí sám. */
@media (max-width:768px){
  body.page-id-17 .site-content,
  body.page-id-84 .site-content,
  body.parent-pageid-84 .site-content{padding:0;}
}

/* skrytí titulku stránky (Figma Home ani výpis záznamů žádný nemá) */
.page-id-17 .entry-header,
.page-id-84 .entry-header,
.page-child.parent-pageid-84 .entry-header{display:none;}
