/* Common accessible controls; no changes to approved factual content. */
html{scroll-padding-block:140px 100px}
main:focus{outline:none}
a,button,input,textarea,[tabindex]{scroll-margin-block:140px 100px}
main a:not(.btn):not(.pill):not(.more):not(.read){text-underline-offset:.18em}
main a.rich-link:hover,main a.rich-link:focus-visible{text-decoration:underline}
.main-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.assist-space{height:88px;background:var(--green)}
.assist-tools{position:fixed;z-index:35;inset:auto 16px max(16px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;gap:12px;pointer-events:none}
.assist-tools button{pointer-events:auto;min-height:52px;border:2px solid var(--green);background:#fff;color:var(--green);box-shadow:0 4px 18px #0002;border-radius:28px;font-weight:600;line-height:1.4}
.senior-toggle{min-width:56px;font-size:22px}
.senior-toggle[aria-pressed=true]{background:var(--yellow)}
.faq-launch{padding:10px 20px;max-width:calc(100vw - 104px)}
.faq-help{width:440px;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);margin:auto 12px 12px auto;padding:24px;border:2px solid var(--green);border-radius:20px;background:var(--bg);color:var(--green);font:400 17px/1.6 Parkinsans,system-ui,sans-serif;overflow:auto;overflow-wrap:anywhere}
.faq-help::backdrop{background:#102b2580}
.faq-help__head{display:flex;align-items:start;gap:16px;justify-content:space-between}
.faq-help h2{font-size:25px;font-weight:600;line-height:1.3}
.faq-help button{min-height:44px;padding:10px 16px;border:1px solid var(--green);border-radius:14px;background:#fff;line-height:1.4;text-align:left}
.faq-help p{margin:16px 0}
.faq-help__choices{display:grid;gap:8px}
.faq-help form{display:grid;gap:8px;margin:20px 0}
.faq-help input{width:100%;min-height:48px;font:inherit;color:inherit;padding:8px 12px;border:1px solid var(--green);border-radius:8px;background:#fff}
.faq-help__answer:not(:empty){padding:16px;border-left:4px solid var(--green);background:#fff;white-space:pre-line}
.faq-help a{display:block;text-decoration:underline;padding:8px 0;min-height:44px}
.faq-help__credit{font-size:14px;border-top:1px solid var(--green);padding-top:12px}
.f-inactive-fields{border:0;margin:0;padding:0;min-width:0}
.f-inactive-note{display:block;padding:16px 20px;background:var(--green);color:#fff;line-height:24px;border-radius:16px}
.f-inactive-fields input:disabled,.f-inactive-fields textarea:disabled{cursor:not-allowed}
.f-actions button:disabled{cursor:not-allowed;opacity:.7}
.missing-link-note{display:none;padding:20px;border:2px solid var(--green);border-radius:16px}
.missing-link-note:target{display:block}
.notfound{padding:220px 24px 80px;max-width:960px;margin:auto;min-height:65vh}
.notfound h1{font-size:clamp(30px,5vw,54px);line-height:1.2;margin-bottom:24px}
.notfound p,.notfound nav{margin:20px 0}
.notfound a{display:inline-block;padding:10px 0;text-decoration:underline;min-height:44px}
/* Native keyboard navigation remains usable when scripts/storage are unavailable. */
html:not(.js) .has-sub:focus-within .sub-nav{display:block}
@media(max-width:1439px){html:not(.js) .site-header{position:relative;inset:auto;margin:12px;height:auto;flex-wrap:wrap;padding:16px}html:not(.js) .site-header__panel{display:flex!important;flex-direction:column;margin:16px 0 0;width:100%}html:not(.js) .main-nav__list{flex-wrap:wrap;justify-content:center}html:not(.js) .sub-nav{position:static}html:not(.js) .nav-toggle{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Senior mode is opt-in, applies on every public page and tolerates 400% reflow. */
html.senior body{font-size:20px;line-height:1.7}
html.senior main :is(p,li,dd,dt,label,input,textarea,.b-p,.read,.pill,.crumbs,.tag){font-size:clamp(20px,1.3em,26px)!important;line-height:1.7!important;letter-spacing:normal!important;word-spacing:normal!important;overflow-wrap:anywhere}
html.senior main a{text-decoration:underline!important}
html.senior .y{color:inherit;text-decoration:underline;text-decoration-thickness:2px}
html.senior main :is(.b,.card,.step,.side-box,.f-head,.f-bar,.ct-card,.journey,.journey__grid,.hero,.subhero,.faq,.ct__bottom){height:auto!important;min-height:0!important}
html.senior .hero__in{padding-block:220px 140px}
html.senior .subhero__in{padding-block:190px 48px}
html.senior .sub,html.senior .fq{grid-template-columns:minmax(0,1fr);gap:32px}
html.senior .sub__photo{max-width:100%}
html.senior .side-menu,html.senior .side-box{width:100%;padding:28px}
html.senior .side-menu a{height:auto;min-height:52px}
html.senior .btn,html.senior .pill,html.senior .accordion button{white-space:normal;height:auto;min-height:52px;line-height:1.5;padding-block:12px}
html.senior .site-footer :is(a,p,address){font-size:20px;line-height:1.7}
html.senior .f-head{padding:24px}
html.senior .f-head__logo,html.senior .f-head__no{position:static;margin:12px auto}
html.senior .f-grid,html.senior .f-pair,html.senior .f-sign,html.senior .f-provider__grid{grid-template-columns:minmax(0,1fr)}
html.senior .f-sign__place{grid-row:auto}
html.senior .f-pill,html.senior .f-group__in{display:block;height:auto;padding:12px}
html.senior .f-pill input{display:block;width:100%;height:44px}
html.senior .f-head__title{padding:0}
@media(max-width:640px){html.senior .hero__in{padding-top:140px}html.senior .subhero__in{padding-top:140px}.faq-help{padding:16px}.faq-launch{padding-inline:14px}.faq-help__head{gap:8px}}

.phil .y,.news__head .y,.faq__intro .y,.b-h .y,.b-p .y,.fq__h .y{color:#705300}
html.senior .b-prices p.b-prices__value,html.senior .ct-card__role{color:var(--green)}
html.senior .site-footer__bar{color:#fff}
.f-inactive-note a{color:#fff;text-decoration:underline}

html.senior .ct-form .f-pair{grid-template-columns:minmax(0,1fr)}
html.senior .ct-form .f-pill{display:block;height:auto;padding:12px}
html.senior .ct-form .f-pill input{width:100%;height:44px}

html.senior .site-footer a{overflow-wrap:anywhere;max-width:100%}
.faq-help__head h2{min-width:0}
.has-sub:has(a[aria-current=page])>.main-nav__link{text-decoration:underline;text-underline-offset:6px}

.f-sr label,.f-sr input{position:absolute;inset:0;display:block;width:1px!important;height:1px!important;max-width:1px!important;max-height:1px!important;overflow:hidden;white-space:normal!important}

.fb-round{color:var(--green)}
.faq-help[open]{display:flex;flex-direction:column;overflow:hidden}
.faq-help__head{flex:none}
.faq-help__head button{flex:none;white-space:nowrap}
.faq-help__body{min-height:0;overflow:auto;padding:3px}
.faq-help__credit{flex:none;margin-bottom:0!important}
html.senior .faq-help{font-size:20px;line-height:1.6}

/* Stable panel bounds avoid a content-induced jump; only its body scrolls. */
.faq-help{height:min(760px,calc(100dvh - 24px))}

.f-inactive-note nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:8px}
.f-inactive-note a{display:inline-flex;align-items:center;min-height:44px;padding-block:8px}

/* Pro seniory: rozcestník z prvků webu (grafický návrh této stránky nepřišel). */
.senior-page.fp{padding-block:0 96px;font-size:20px;line-height:1.6}
.senior-page h2{font-size:34px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0 0 20px}
.senior-page p:not(.fp-read){margin:0}
.sp-intro{display:flex;gap:32px;align-items:center;margin-top:40px;padding:40px 48px;background:var(--yellow);border-radius:var(--r);color:var(--green)}
.sp-intro h2{margin-bottom:12px}
.sp-intro__icon{flex:none;display:flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;background:var(--green)}
.sp-intro__icon .icon{width:60px;height:60px}
.sp-cards{margin-top:72px}
.sp-cards ul{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.senior-page .sp-card{display:flex;align-items:center;gap:20px;height:100%;min-height:132px;padding:28px 28px 28px 24px;background:var(--green);border-radius:var(--r);color:#fff;transition:background .15s}
.senior-page .sp-card:hover{background:var(--green-dark)}
.sp-card:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.sp-card__icon{flex:none;display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:#fff}
.sp-card__icon .icon{width:44px;height:44px}
.sp-card__icon .icon.icon--home,.sp-card__icon .icon.icon--phone,.sp-card__icon .icon.icon--puzzle{width:100%;height:100%}
.sp-card__text{display:grid;gap:4px;flex:1;min-width:0}
.sp-card__text strong{font-size:22px;line-height:1.25;font-weight:600}
.sp-card__text span{font-size:17px;line-height:1.45;color:#fff}
.sp-card>.icon{width:24px;height:24px;flex:none}
.sp-help{margin-top:72px;padding:40px 48px;background:#fff;border-radius:var(--r)}
.sp-help__list{display:grid;gap:20px}
.sp-help__list li{display:flex;gap:20px;align-items:flex-start}
.sp-help__key{flex:none;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:2px solid var(--green);border-radius:50%;font-size:20px;font-weight:600}
.sp-help__key .icon{width:26px;height:26px}
.sp-help__list p{padding-top:8px}
.sp-contact{margin-top:72px;padding:40px 48px 48px;background:var(--green);border-radius:var(--r);color:#fff}
.sp-contact h2{margin-bottom:8px}
.sp-contact__list{display:grid;gap:14px;margin:28px 0 32px}
.sp-contact__list li{display:flex;align-items:center;gap:16px;font-size:22px}
.sp-contact__list .icon{width:30px;height:30px}
.senior-page .sp-contact__list a{display:inline-block;min-height:44px;padding-block:6px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.senior-page .sp-contact__btn{display:inline-flex}
.sp-contact :focus-visible{outline-color:#fff}
@media (max-width:1000px){.sp-cards ul{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .senior-page.fp{font-size:18px}
  .senior-page h2{font-size:27px}
  .sp-intro{flex-direction:column;align-items:flex-start;gap:20px;padding:28px 22px}
  .sp-intro__icon{width:72px;height:72px}.sp-intro__icon .icon{width:44px;height:44px}
  .sp-cards,.sp-help,.sp-contact{margin-top:48px}
  .sp-cards ul{grid-template-columns:1fr;gap:16px}
  .senior-page .sp-card{min-height:0;padding:20px}
  .sp-card__icon{width:60px;height:60px}.sp-card__icon .icon{width:36px;height:36px}
  .sp-help,.sp-contact{padding:28px 22px}
  .sp-contact__list li{font-size:17px;align-items:flex-start}
  .senior-page .sp-contact__btn{white-space:normal;height:auto;min-height:58px;padding-block:8px}
}

/* Kontrast v běžném režimu (WCAG AA 4.5:1): žlutá #f5c233 na bílé má jen 1.66:1, proto text na bílých plochách
   používá tmavší odstín stejné barvy, jaký už mají nadpisy (#705300). Žlutá na zelené zůstává beze změny. */
.panel .y,.ct-card__role,.b-prices p.b-prices__value{color:#705300}
.site-footer__bar{color:rgba(255,255,255,.75)}
.f-area .f-hint{color:#666}
.panel__note{color:#5b6662}
.ct-form__note{margin-top:20px}
.ct-form .ct-form__note a{display:inline;min-height:0;padding:0;font-size:inherit;line-height:inherit;color:#fff}
