/* ZCELA FIT / PPP responsive hardening layer */
:root{--mobile-header-height:72px}
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
img{height:auto}
body{overflow-wrap:break-word}
.container{min-width:0}
main,main *{min-width:0}

/* Keep common form controls comfortably readable and inside the viewport. */
input,select,textarea,button{font:inherit;max-width:100%}
input,select,textarea{width:100%}
textarea{resize:vertical}

/* Parent navigation labels are categories only, never standalone links. */
.nav-parent-label{cursor:default;user-select:none}
.nav-parent-label::after{display:none!important}
.nav-item:focus-within>.dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.mobile-submenu-toggle{display:none}

/* Medium screens: switch to the mobile navigation before the desktop menu gets cramped. */
@media(max-width:1280px){
  header{height:72px}
  .nav-menu{display:none!important}
  .hamburger-btn{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px}
  .hamburger-btn:focus-visible{outline:3px solid rgba(130,200,67,.35);outline-offset:2px}
  .brand-logo-img{max-width:min(58vw,330px);height:42px}

  .nav-menu.mobile-nav-open{
    display:flex!important;
    position:fixed!important;
    left:16px!important;
    right:16px!important;
    top:var(--mobile-nav-top,82px)!important;
    z-index:99999!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;
    max-height:var(--mobile-menu-max-height,calc(100dvh - 96px))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    padding:12px!important;
    background:#f4f7f5!important;
    border:1px solid var(--zf-border)!important;
    border-radius:14px!important;
    box-shadow:0 20px 50px rgba(20,40,32,.22)!important;
  }

  .nav-menu.mobile-nav-open>.nav-link,
  .nav-menu.mobile-nav-open>.nav-item>.nav-link,
  .nav-menu.mobile-nav-open>.nav-item>.nav-parent-label{
    width:100%;
    min-height:46px;
    padding:11px 48px 11px 12px!important;
    border-radius:9px;
    font-size:1rem;
    line-height:1.35;
    color:var(--zf-text-dark);
  }
  .nav-menu.mobile-nav-open>.nav-link:hover,
  .nav-menu.mobile-nav-open>.nav-item>.nav-link:hover,
  .nav-menu.mobile-nav-open>.nav-item>.nav-parent-label:hover{background:#e8efeb;color:var(--zf-green-main)}
  .nav-menu.mobile-nav-open .nav-link::after{display:none!important}
  .nav-menu.mobile-nav-open .nav-parent-label > i{display:none!important}
  .nav-menu.mobile-nav-open>.btn-zf-green{justify-content:center!important;margin-top:6px;padding:12px 18px!important}

  .nav-menu.mobile-nav-open>.nav-item{position:relative!important;width:100%}
  .nav-menu.mobile-nav-open .mobile-submenu-toggle{
    display:flex;
    position:absolute;
    top:4px;
    right:2px;
    z-index:3;
    width:40px;
    height:40px;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:9px;
    background:transparent;
    color:var(--zf-green-main);
    cursor:pointer;
  }
  .nav-menu.mobile-nav-open .mobile-submenu-toggle:hover{background:#dce8e1}
  .nav-menu.mobile-nav-open .mobile-submenu-toggle i{transition:transform .25s ease}
  .nav-menu.mobile-nav-open .nav-item.submenu-open>.mobile-submenu-toggle i{transform:rotate(180deg)}

  /* Submenus are deliberately collapsed on mobile. */
  .nav-menu.mobile-nav-open .dropdown-menu{
    display:none!important;
    position:static!important;
    width:100%!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    box-shadow:none!important;
    border:0!important;
    border-left:2px solid #d1ded7!important;
    border-radius:0!important;
    background:transparent!important;
    padding:3px 0 6px 12px!important;
    margin:0 0 5px 10px!important;
  }
  .nav-menu.mobile-nav-open .nav-item.submenu-open>.dropdown-menu{display:block!important}
  .nav-menu.mobile-nav-open .dropdown-menu a{
    padding:9px 10px!important;
    border-radius:8px;
    font-size:.93rem!important;
    line-height:1.35!important;
    white-space:normal!important;
  }
  .nav-menu.mobile-nav-open .dropdown-menu a:hover{padding-left:10px!important;background:#e8efeb!important}

  /* Main homepage / inner-page layouts. */
  .hero-grid,.diagnostika-box,.group-zf-box,.split-section,.story-intro,.contact-page-grid,.help-grid,.problem-grid,.expert-topics-grid{grid-template-columns:1fr!important}
  .hero-zf{min-height:auto!important;padding:54px 0 68px!important}
  .hero-content h1{font-size:clamp(2.15rem,5.5vw,3rem)!important}
  .hero-glass-card{padding:28px 24px}
  .story-photo{max-width:360px;width:100%}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:30px!important}
  .team-detail-grid{grid-template-columns:1fr!important}
  .team-detail-card.primary{grid-column:auto!important}
}

/* Phones and smaller tablets. */
@media(max-width:760px){
  body{font-size:16px;line-height:1.65}
  .container{padding-left:18px!important;padding-right:18px!important}
  .section-padding,.visual-section.section-padding{padding:48px 0!important}
  .inner-hero{padding:42px 0 48px!important}
  .inner-hero h1{font-size:clamp(1.85rem,8vw,2.2rem)!important;line-height:1.18}
  .inner-hero p{font-size:.98rem!important;line-height:1.58!important}
  .breadcrumbs{font-size:.8rem;gap:6px}
  .page-index{gap:7px;margin-top:20px}
  .page-index a{font-size:.8rem;padding:6px 10px}
  .zf-title-flex{gap:14px}
  .zf-title-flex h2{font-size:1.95rem!important;white-space:normal!important}
  .zf-line{display:none}
  .prose h2{font-size:1.8rem;margin:38px 0 16px}
  .prose h3{font-size:1.28rem;margin:26px 0 12px}

  /* Top strip: one simple line exactly as requested. */
  .top-bar-zf{padding:6px 0!important}
  .top-bar-wrapper{display:block!important;text-align:center!important}
  .top-bar-wrapper>a{display:none!important}
  .top-bar-text{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:5px!important;
    width:100%;
    font-size:.76rem!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
  .top-bar-text>i,.top-bar-detail{display:none!important}
  .top-bar-link{white-space:nowrap}

  header{height:66px!important}
  .brand-logo-img{height:38px!important;max-width:72vw!important}
  .hamburger-btn{width:42px;height:42px;font-size:1.45rem}

  /* No horizontally hidden card carousels. Everything is visible in normal flow. */
  .rozcestnik-grid-4,.myths-grid,.mini-grid,.team-grid-cards,.myth-list,.blog-topics,.official-doc,.contact-data{
    display:grid!important;
    grid-template-columns:1fr!important;
    overflow:visible!important;
    gap:14px!important;
    padding:0!important;
  }
  .rozcestnik-grid-4>*,.myths-grid>*,.mini-grid>*,.team-grid-cards>*,.myth-list>*,.blog-topics>*,.official-doc>*,.contact-data>*{
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    flex:auto!important;
  }
  .pill-list{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:8px!important;padding:0!important}
  .pill-list>*{flex:0 1 auto!important;max-width:100%!important}

  /* Inline two-column grids used on newer pages also stack safely. */
  main [style*="grid-template-columns: 1fr 1fr"],
  main [style*="grid-template-columns:1fr 1fr"],
  main [style*="grid-template-columns: repeat(2"],
  main [style*="grid-template-columns:repeat(2"]{grid-template-columns:1fr!important}

  .hero-actions{flex-direction:column;align-items:stretch;gap:10px}
  .hero-actions .btn-zf-green,.hero-actions .btn-zf-outline{justify-content:center;width:100%}
  .hero-glass-card{padding:24px 20px}
  .scroll-down-wrapper{display:none}

  .diagnostika-box{padding:24px!important;gap:26px!important}
  .diagnostika-img{height:280px!important}
  .check-grid{grid-template-columns:1fr!important}
  .cta-strip{padding:26px 22px!important;gap:20px!important;align-items:flex-start!important;flex-direction:column!important}
  .cta-strip h2{font-size:1.65rem!important}
  .cta-strip .btn-zf-green{width:100%;justify-content:center}

  .team-detail-card,.team-person-section .team-detail-card{grid-template-columns:1fr!important;gap:18px!important;padding:22px 18px!important}
  .team-detail-card img,.team-person-section .team-detail-card img{width:118px!important;height:132px!important;margin:0 auto!important}
  .team-detail-card h3,.team-detail-card .role-badge-oval{text-align:center}
  .team-detail-card .role-badge-oval{display:flex!important;width:max-content;max-width:100%;margin-left:auto!important;margin-right:auto!important}
  .team-detail-card p{font-size:.94rem!important;line-height:1.6!important}

  .story-intro{gap:28px!important}
  .story-photo{max-width:280px!important;margin:0 auto}
  .story-body{max-width:100%!important}
  .story-body p{font-size:1rem!important;line-height:1.72!important}
  .story-body .dropcap:first-letter{font-size:3.8rem}

  .contact-page-grid{gap:24px!important}
  .contact-details-side{padding:18px!important}
  .contact-row{min-height:auto!important}
  .form-two{grid-template-columns:1fr!important}

  .resource-banner{padding:26px 20px!important}
  .official-doc .doc-row{min-height:auto!important}
  .doc-row{grid-template-columns:42px 1fr!important;gap:12px!important}

  .group-photo,.expert-topics-photo,.problem-photo{min-height:0!important}
  .group-photo img,.expert-topics-photo img,.problem-photo img{height:auto!important;min-height:0!important;max-height:360px!important;object-fit:cover}
  .experience-grid,.help-cards{grid-template-columns:1fr!important}
  .registration-box{grid-template-columns:1fr!important;text-align:center!important;padding:24px 20px!important}
  .registration-icon{margin:0 auto}

  /* Fixed backgrounds can behave badly and jitter on mobile browsers. */
  [style*="fixed"]{background-attachment:scroll!important}
  .alice-bg-illustration{opacity:.03!important}

  footer{padding:50px 0 28px!important}
  .footer-grid{grid-template-columns:1fr!important;gap:26px!important;margin-bottom:30px!important}
  .footer-bottom{display:block!important;font-size:.82rem!important;line-height:1.5}
}

@media(max-width:420px){
  .container{padding-left:15px!important;padding-right:15px!important}
  .top-bar-text{font-size:.7rem!important}
  .brand-logo-img{height:35px!important;max-width:68vw!important}
  .nav-menu.mobile-nav-open{left:10px!important;right:10px!important;padding:10px!important}
  .intro-card{padding:22px 20px!important}
  .mini-card,.experience-card{padding:24px 18px!important}
}

@media(hover:none){
  .team-detail-card:hover,.zf-card:hover,.mini-card:hover,.myth-item:hover,.intro-card:hover,.quote-panel:hover{transform:none!important}
}

/* =========================================================
   MOBILE STICKY HEADER + COOKIE CONSENT
   ========================================================= */

/* overflow-x:hidden on html/body can break position:sticky in some mobile
   browsers. clip prevents horizontal overflow without creating a scroll
   container that interferes with sticky positioning. */
html,body{overflow-x:clip!important}

@media(max-width:1280px){
  header{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:0!important;
    z-index:10000!important;
  }
}

/* Cookie consent bar */
.cookie-consent{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:100000;
  padding:14px max(18px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
  background:rgba(30,48,41,.985);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.14);
  box-shadow:0 -12px 36px rgba(20,40,32,.18);
  transform:translateY(110%);
  opacity:0;
  visibility:hidden;
  transition:transform .28s ease,opacity .28s ease,visibility .28s ease;
}
.cookie-consent.is-visible{
  transform:translateY(0);
  opacity:1;
  visibility:visible;
}
.cookie-consent__inner{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px 28px;
  align-items:center;
}
.cookie-consent__copy{
  min-width:0;
}
.cookie-consent__title{
  display:block;
  margin:0 0 3px;
  color:#fff;
  font-family:'Inter',sans-serif;
  font-size:.98rem;
  font-weight:700;
  line-height:1.35;
}
.cookie-consent__text{
  margin:0;
  color:#e2ece8;
  font-size:.88rem;
  line-height:1.5;
}
.cookie-consent__text a{
  color:#bde892;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:2px;
}
.cookie-consent__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.cookie-consent__button{
  min-height:42px;
  border-radius:9px;
  padding:10px 16px;
  border:1px solid rgba(255,255,255,.32);
  background:transparent;
  color:#fff;
  font-weight:700;
  font-size:.9rem;
  line-height:1;
  cursor:pointer;
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.cookie-consent__button:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.55);
}
.cookie-consent__button--accept{
  background:#82c843;
  border-color:#82c843;
  color:#1e3029;
}
.cookie-consent__button--accept:hover{
  background:#92d653;
  border-color:#92d653;
  box-shadow:0 6px 18px rgba(130,200,67,.22);
}
.cookie-consent__button:focus-visible,
.cookie-settings-link:focus-visible{
  outline:3px solid rgba(189,232,146,.55);
  outline-offset:2px;
}

body.cookie-banner-visible{
  padding-bottom:var(--cookie-banner-height,0px)!important;
}

.cookie-settings-link{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  padding:0;
  margin:0;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
  opacity:.88;
}
.cookie-settings-link:hover{opacity:1}

@media(max-width:760px){
  .cookie-consent{
    padding:14px 16px calc(14px + env(safe-area-inset-bottom));
  }
  .cookie-consent__inner{
    grid-template-columns:1fr;
    gap:13px;
  }
  .cookie-consent__title{
    font-size:.94rem;
  }
  .cookie-consent__text{
    font-size:.82rem;
    line-height:1.45;
  }
  .cookie-consent__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    width:100%;
  }
  .cookie-consent__button{
    width:100%;
    min-height:44px;
    padding:11px 12px;
  }
}

@media(max-width:380px){
  .cookie-consent__actions{grid-template-columns:1fr}
}

/* === GLOBAL WIDE ZCELA FIT ALIGNMENT === */
/* One shared content width for header, hero and every page section. */
.container{
  width:100%!important;
  max-width:1400px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:30px!important;
  padding-right:30px!important;
}

/* Do not let individual sections shrink to their old 780/850/900/1000px wrappers. */
main section>.container>.content-wrap,
main section>.container>.enhanced-layout,
main section>.container>.problem-wrap,
main section>.container>.exact-doc-intro,
main section>.container>.exact-doc-list,
main section>.container>.official-doc,
main section>.container>.compact-section-content,
main section>.container>.resource-section,
main section>.container>.prose,
main section>.container>div.content-panel,
main section .content-wrap.content-panel,
main section .enhanced-layout,
main section .problem-wrap,
main section .exact-doc-intro,
main section .exact-doc-list{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Desktop header: logo | truly centered navigation | Kontakt + pomoc. */
@media(min-width:1281px){
  header .header-wrapper{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:34px!important;
  }
  header .brand-logo-area{grid-column:1;justify-self:start!important}
  header .nav-menu{
    grid-column:2;
    justify-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:40px!important; /* double the previous 20px spacing */
    white-space:nowrap;
  }
  header .header-contact-link{
    grid-column:3;
    justify-self:end!important;
    white-space:nowrap!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }
  header .mobile-contact-link{display:none!important}
  header .hamburger-btn{display:none!important}

  /* Every submenu item stays on one line. */
  .dropdown-menu{
    width:max-content!important;
    min-width:230px!important;
    max-width:calc(100vw - 40px)!important;
  }
  .dropdown-menu a{white-space:nowrap!important}
}

/* Buttons do not carry directional arrows anywhere on the site. */
.btn-zf-green i.fa-arrow-right,
.btn-zf-green i.fa-arrow-up-right-from-square,
.btn-zf-outline i.fa-arrow-right,
.btn-zf-outline i.fa-arrow-up-right-from-square,
button i.fa-arrow-right,
button i.fa-arrow-up-right-from-square{display:none!important}

@media(max-width:1280px){
  header .header-wrapper{display:flex!important;align-items:center!important;justify-content:space-between!important}
  header .header-contact-link{display:none!important}
  .nav-menu.mobile-nav-open>.mobile-contact-link{
    display:flex!important;
    justify-content:center!important;
    width:100%!important;
    margin-top:6px!important;
    padding:12px 18px!important;
  }
  /* Even on mobile, submenu labels themselves remain on one line. */
  .nav-menu.mobile-nav-open .dropdown-menu{overflow-x:auto!important;overflow-y:hidden!important}
  .nav-menu.mobile-nav-open .dropdown-menu a{
    white-space:nowrap!important;
    font-size:.84rem!important;
    padding-right:6px!important;
  }
}

@media(max-width:760px){
  .container{padding-left:18px!important;padding-right:18px!important}
}
@media(max-width:420px){
  .container{padding-left:15px!important;padding-right:15px!important}
}

/* Every main-section wrapper uses the same horizontal measure as its section container. */
main section>.container>div{
  max-width:none!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* ========================================================================
   2026-09 global text palette + homepage slideshow / rozcestnik emphasis
   ======================================================================== */
.top-bar-zf .top-bar-wrapper{justify-content:center!important;text-align:center!important}
.top-bar-zf .top-bar-text,
.top-bar-zf .top-bar-text *,
.top-bar-zf .top-bar-link,
.top-bar-zf .topbar-separator{color:#fff!important}
.top-bar-zf .top-bar-text{width:100%!important;justify-content:center!important;gap:.3em!important}

body{color:#000!important}
body :where(h1,h2,h3,h4,h5,h6,p,li,label,legend,small,strong,b,em,blockquote,figcaption,a,span,button,input,textarea,select,option){color:#000!important}
input::placeholder,textarea::placeholder{color:#000!important;opacity:1!important}

.top-bar-zf,.top-bar-zf *,
.hero-zf,.hero-zf .hero-content *,.hero-zf .hero-glass-card *,
.inner-hero,.inner-hero *,
footer,footer *,
.cta-strip,.cta-strip *,
.group-zf-box > div:first-child,.group-zf-box > div:first-child *,
section[style*="background-color:#3b5c4f"],section[style*="background-color:#3b5c4f"] *,
section[style*="background-color: #3b5c4f"],section[style*="background-color: #3b5c4f"] *{color:#fff!important}

.group-zf-box .form-zf-card,.group-zf-box .form-zf-card *{color:#000!important}
.quote-panel:not([style]),.quote-panel:not([style]) *{color:#fff!important}
.btn-zf-green,.btn-zf-green *,.btn-zf-outline,.btn-zf-outline *{color:#fff!important}

.myth-item h3,.myth-card h4,.badge-myth{color:#8b2d2d!important}
.myth-item p,.myth-item p *,.myth-card p,.myth-card p *,.badge-fact{color:#000!important}

.hero-zf-bg.hero-slideshow{background:none!important;overflow:hidden}
.hero-slideshow .hero-slide{position:absolute;inset:0;opacity:0;background-size:cover;background-position:center 25%;transition:opacity 1s ease-in-out;will-change:opacity}
.hero-slideshow .hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,64,56,.94) 0%,rgba(42,64,56,.85) 50%,rgba(42,64,56,.45) 100%)}
.hero-slideshow .hero-slide.is-active{opacity:1}

#rozcestnik .zf-title-flex h2{font-size:clamp(2.15rem,3vw,3rem)!important;font-weight:700!important;color:#000!important}
#rozcestnik .zf-card h3{font-size:clamp(1.35rem,1.55vw,1.65rem)!important;line-height:1.2!important;font-weight:700!important;color:#000!important;margin-bottom:12px!important}
#rozcestnik .zf-card p{font-size:1.06rem!important;line-height:1.65!important;font-weight:500!important;color:#000!important}
#rozcestnik .zf-card-link{color:#000!important;font-weight:700!important}

@media(max-width:760px){
  .top-bar-zf .top-bar-text{font-size:.72rem!important;line-height:1.4!important;white-space:normal!important}
  .topbar-separator{display:inline!important}
  #rozcestnik .zf-title-flex h2{font-size:2rem!important}
  #rozcestnik .zf-card h3{font-size:1.45rem!important}
}


/* ========================================================================
   2026-09 width normalization + restored top-bar logo + green text CTAs
   ======================================================================== */

/*
   One stable responsive content measure on every screen:
   - large monitors never stretch content beyond 1240 px
   - laptops use the available width with fluid side gutters
   - phones keep safe side space without creating a second narrow layout
   Section BACKGROUNDS remain full-width; only their inner content is constrained.
*/
.container{
  width:calc(100% - clamp(32px,5vw,64px))!important;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* All section content follows the same measure; no page-specific narrow columns. */
main section>.container>.content-wrap,
main section>.container>.enhanced-layout,
main section>.container>.problem-wrap,
main section>.container>.exact-doc-intro,
main section>.container>.exact-doc-list,
main section>.container>.official-doc,
main section>.container>.compact-section-content,
main section>.container>.resource-section,
main section>.container>.prose,
main section>.container>div.content-panel,
main section>.container>div{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Restore the ZCELA FIT logo in the top strip. */
.top-bar-zf .top-bar-wrapper{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
  text-align:left!important;
}
.top-bar-zf .top-bar-text{
  width:auto!important;
  min-width:0!important;
  flex:1 1 auto!important;
  justify-content:flex-start!important;
}
.top-bar-zf .topbar-logo-link{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex:0 0 auto!important;
}
.top-bar-zf .top-bar-logo-img{
  display:block!important;
  width:auto!important;
  height:17px!important;
  max-width:150px!important;
  object-fit:contain!important;
  opacity:1!important;
}

/* Text CTAs such as "Více informací" and "Číst dále" use the site's CTA green. */
.zf-card-link,
.zf-card-link:visited{
  color:#82C843!important;
  font-weight:700!important;
}
.zf-card-link:hover,
.zf-card-link:focus{
  color:#71B336!important;
}
.zf-card-link i{color:inherit!important}

/* Do not let the wide desktop navigation become squeezed on laptop widths. */
@media(min-width:1281px){
  header .nav-menu{gap:40px!important}
}

@media(max-width:760px){
  .container{
    width:calc(100% - 32px)!important;
    max-width:none!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .top-bar-zf .top-bar-wrapper{
    gap:10px!important;
  }
  .top-bar-zf .top-bar-text{
    font-size:.72rem!important;
    line-height:1.35!important;
  }
  .top-bar-zf .top-bar-logo-img{
    height:13px!important;
    max-width:105px!important;
  }
}

@media(max-width:460px){
  .top-bar-zf .top-bar-wrapper{
    flex-direction:column!important;
    justify-content:center!important;
    gap:5px!important;
    text-align:center!important;
  }
  .top-bar-zf .top-bar-text{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .top-bar-zf .topbar-logo-link{
    justify-content:center!important;
  }
}


/* ========================================================================
   FINAL LAYOUT RULES 2026-09-09
   One predictable content measure across laptop / desktop / ultrawide.
   ======================================================================== */
:root{
  --ppp-content-max:1240px;
  --ppp-gutter:clamp(18px,4vw,44px);
}
.container{
  width:min(var(--ppp-content-max), calc(100% - (2 * var(--ppp-gutter))))!important;
  max-width:none!important;
  margin-inline:auto!important;
  padding-inline:0!important;
  box-sizing:border-box!important;
}
main section>.container,
.inner-hero>.container,
header>.container,
.top-bar-zf>.container,
footer>.container{max-width:none!important}
main section>.container>div,
main section>.container>.content-wrap,
main section>.container>.enhanced-layout,
main section>.container>.problem-wrap,
main section>.container>.exact-doc-intro,
main section>.container>.exact-doc-list,
main section>.container>.official-doc,
main section>.container>.compact-section-content,
main section>.container>.resource-section,
main section>.container>.prose{
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
}
@media(min-width:1281px){
  header .header-wrapper{grid-template-columns:auto minmax(0,1fr) auto!important;column-gap:clamp(22px,2.2vw,34px)!important}
  header .nav-menu{gap:clamp(20px,2vw,32px)!important}
  header .header-contact-link{display:inline-flex!important}
}
@media(max-width:1280px){
  header .header-contact-link{display:none!important}
  .nav-menu.mobile-nav-open>.header-contact-link{
    display:flex!important;
    justify-content:center!important;
    width:100%!important;
    margin-top:8px!important;
    padding:12px 18px!important;
  }
}
@media(max-width:760px){
  :root{--ppp-gutter:16px}
}

.mobile-contact-link{display:none!important}
