/* Chlum C: native WordPress section templates. Header B and footer A keep their own styles. */
body.chlum-site > .wp-site-blocks {
  display:flex;
  flex-direction:column;
  min-block-size:calc(100vh - var(--wp-admin--admin-bar--height,0px));
  min-block-size:calc(100dvh - var(--wp-admin--admin-bar--height,0px));
}
body.chlum-site > .wp-site-blocks > main { flex:1 0 auto; }
/* Keep wide layouts stable while the colored bands fill the window edge. */
@media (width > 900px) {
  html, body.chlum-site { overflow-x:hidden; overflow-x:clip; }
  body.chlum-site > .wp-site-blocks { inline-size:100vw; }
}

main#ch-main.chp-main {
  --chp-heading:var(--ch-page-heading,#252722);
  --chp-text:var(--ch-page-text,#494b45);
  --chp-muted:var(--ch-page-text,#55594f);
  --chp-line:var(--ch-page-border,#dadcd5);
  --chp-rule:#ff941f; --chp-marker:#a6520c;
  --chp-hover:#eeefea; --chp-current:#fcebd7;
  --chp-focus:#173f57; --chp-link:#174e70;
  --chp-copy-font:clamp(1rem,.956rem + .22vw,1.115rem);
  --chp-h2-size:clamp(1.2rem,1.02rem + .54vw,1.5rem);
  --chp-h2-line-height:1.27;
  margin-block-start:0; padding:clamp(24px,2.7vw,38px) clamp(16px,4vw,50px) clamp(32px,4vw,64px);
  color:var(--chp-text); font-weight:400;
}
html[data-appearance=dark] main#ch-main.chp-main {
  --chp-rule:#d9964e; --chp-marker:#f5b472; --chp-current:#423429;
  --chp-hover:#30363c; --chp-focus:#ffc27d; --chp-link:#aac5e9;
}
#ch-main.chp-main > .chp-layout {
  display:grid; align-items:start;
  grid-template-columns:clamp(204px,19vw,268px) minmax(0,1fr);
  gap:clamp(24px,3.1vw,48px); max-width:1340px; margin:0 auto;
}
.chp-layout > * { min-inline-size:0; }
.chp-main .chp-rail { --chp-inset:12px; --chp-row:36px; color:var(--chp-heading); }
.chp-main .chp-rail-heading {
  margin:0; padding:4px var(--chp-inset) 6px;
  font-size:clamp(1.125rem,.99rem + .28vw,1.25rem); font-weight:780; line-height:1.35;
  overflow-wrap:anywhere;
}
.chp-main .chp-rail-body { position:relative; min-inline-size:0; margin-block-start:4px; }
.chp-main .chp-section-skip {
  position:absolute; inset-inline-start:8px; inset-block-start:5px; z-index:3; margin:0;
}
.chp-main .chp-section-skip:not(:focus-within) { clip-path:inset(50%); width:1px; height:1px; overflow:hidden; }
.chp-section-skip a {
  display:block; padding:10px 14px; border-radius:5px; font:700 .9rem/1.4 ChlumManrope,Arial,sans-serif;
  color:var(--chp-heading); background:var(--ch-page-bg,#fff);
}
.chp-main .chp-rail .chp-nav { display:block; margin-block:0; }
.chp-nav .wp-block-navigation__container { display:block; width:100%; margin:0; padding:0; list-style:none; }
.chp-nav .wp-block-navigation-item { display:block; margin:0; padding:0; }
.chp-nav .wp-block-navigation-item + .wp-block-navigation-item { margin-block-start:1px; }
.chp-nav a.wp-block-navigation-item__content {
  position:relative; box-sizing:border-box; display:flex; align-items:center;
  min-height:var(--chp-row); padding:6px var(--chp-inset); border-radius:5px;
  color:var(--chp-heading); font-size:.975rem; font-weight:550; line-height:1.37;
  text-decoration:none; overflow-wrap:anywhere;
}
.chp-nav a.wp-block-navigation-item__content.chp-subitem {
  padding-inline-start:calc(var(--chp-inset) + 12px); font-size:.925rem; color:var(--chp-muted);
}
.chp-nav a.wp-block-navigation-item__content:hover { background:var(--chp-hover); text-decoration:underline; text-underline-offset:3px; }
.chp-nav a.wp-block-navigation-item__content[aria-current=page] { color:var(--chp-heading); background:var(--chp-current); font-weight:760; }
.chp-nav a[aria-current=page]::before {
  content:''; position:absolute; inset-inline-start:0; inset-block:7px; border-inline-start:3px solid var(--chp-marker); border-radius:2px;
}
.chp-main :is(a,button,[tabindex]):focus-visible { outline:3px solid var(--chp-focus); outline-offset:2px; }

.chp-main .chp-copy { justify-self:center; width:min(100%,45rem); font-size:var(--chp-copy-font); line-height:1.6; }
.chp-copy .chp-copy-inner { padding:0; }
.chp-copy :is(.chp-copy-inner > *, .wp-block-post-content) { max-width:none; }
.chp-copy .has-global-padding > .alignfull { margin-inline:0; }
.chp-copy .has-global-padding { padding-inline:0; }
.chp-copy .wp-block-post-content { --wp--style--global--content-size:100%; overflow-wrap:anywhere; }
.chp-copy .wp-block-post-content.has-medium-font-size { font-size:var(--chp-copy-font)!important; }
.chp-copy .chp-title {
  color:var(--chp-heading); font-size:clamp(1.8rem,1.44rem + 1.2vw,2.5rem)!important;
  line-height:1.16; font-weight:760; letter-spacing:-.026em; margin-block:0 .6em;
  overflow-wrap:anywhere; padding-block-end:.42em; border-block-end:1px solid var(--chp-line);
}
.chp-copy .wp-block-post-content :where(h2,h3,h4), .chp-copy .wp-block-post-title { color:var(--chp-heading); }
.chp-copy .wp-block-post-content :where(h2) { font-size:var(--chp-h2-size); line-height:var(--chp-h2-line-height); }
.chp-copy .wp-block-post-content h2.has-large-font-size { font-size:var(--chp-h2-size)!important; }
.chp-copy-body.wp-block-query > .wp-block-post-template > li > .wp-block-group > h2.wp-block-post-title {
  max-width:none;
  padding-block:0!important;
  font-size:var(--chp-h2-size)!important;
  line-height:var(--chp-h2-line-height);
}
.chp-copy-body.wp-block-query > .wp-block-post-template > li:first-child > .wp-block-group { padding-block-start:0!important; }
.chp-copy .wp-block-post-content :where(h3) { font-size:clamp(1.04rem,.95rem + .36vw,1.25rem); line-height:1.35; }
.chp-copy .wp-block-post-content :where(li + li) { margin-block-start:.32em; }
.chp-copy .wp-block-post-content :where(a:not(.wp-element-button):not(.wp-block-button__link):not(:has(img))) {
  color:var(--chp-link); text-decoration:underline; text-underline-offset:.16em; text-decoration-thickness:.075em;
}
.chp-copy .wp-block-post-content :where(a:hover:not(.wp-element-button):not(.wp-block-button__link)) { text-decoration-thickness:.14em; }
.chp-copy :where(img,video) { max-width:100%; height:auto; }
.chp-copy .wp-block-file { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.chp-copy .wp-block-file *+.wp-block-file__button { margin-inline-start:0; }
.chp-copy .chp-table-scroll { max-width:100%; overflow-x:auto; }
.chp-copy .chp-table-scroll:focus-visible { outline-offset:-3px; }
.chp-copy .wp-block-table :is(th,td) { padding:.5em .65em; }
.chp-copy .jidelnicek :is(h2,h3) { margin:1.45em 0 .45em; }
.chp-copy .jidelnicek :is(th,td) { padding-block:.32rem!important; }
.chp-copy .jidelnicek th { white-space:nowrap; overflow-wrap:normal; padding-inline-end:.65rem!important; }
.chp-copy .jidelnicek .alergeny { color:var(--chp-muted); font-size:.9em; }
.chp-copy .wp-block-query-pagination { row-gap:8px; }
.chp-copy .wp-block-query-pagination a { color:var(--chp-link); }
.chp-copy .wp-block-post-template > li + li, .chp-copy .jidelnicek tr + tr { border-block-start:1px solid var(--chp-line); }

/* Both gray rules finish the same row. The section name sits at the center of that row. */
@media (width > 900px) {
  #ch-main.chp-main > .chp-layout { grid-template-areas:'section title' 'links content'; row-gap:0; }
  .chp-main :is(.chp-rail,.chp-copy,.chp-copy-inner) { display:contents; }
  .chp-main .chp-rail-heading {
    grid-area:section; display:flex; align-self:stretch; align-items:center; min-inline-size:0;
    border-block-start:2px solid var(--chp-rule); border-block-end:1px solid var(--chp-line);
  }
  .chp-main .chp-rail-body { grid-area:links; }
  .chp-main :is(.chp-title,.chp-copy-body) { inline-size:min(100%,45rem); min-inline-size:0; justify-self:center; }
  .chp-main .chp-copy .chp-title { grid-area:title; align-self:stretch; margin-block-end:0; }
  .chp-main .chp-copy-body { grid-area:content; }
}
@media (max-width:1000px), (pointer:coarse) { .chp-main .chp-rail { --chp-row:44px; } }
/* Match the approved header's hamburger breakpoint. */
@media (max-width:900px) {
  main#ch-main.chp-main { padding-block-start:clamp(20px,3vw,28px); }
  #ch-main.chp-main > .chp-layout { grid-template-columns:minmax(0,1fr); }
  .chp-layout > .chp-rail { display:none; }
}

.chp-nav .ch-external-service-icon, .school-header .ch-child-link .ch-external-service-icon {
  display:inline-block; inline-size:1em; block-size:1em; flex:none;
  margin-inline-start:.38em; vertical-align:-.17em;
}
@media (forced-colors:active) {
  .chp-main :is(a,button,[tabindex]):focus-visible { outline-color:Highlight; }
  .chp-nav a[aria-current=page]::before { border-color:Highlight; }
}
