/* P037 — shared full-width module frame, readable headers, and equal-height calendar. */
.school-site-body #home .p035-full-content {width:min(calc(100% - 32px),1450px)!important;max-width:1450px!important;margin-inline:auto!important;box-sizing:border-box!important}
.school-site-body #home .p035-full-content>.site-section {position:relative!important;left:auto!important;right:auto!important;transform:none!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;margin:0!important;padding:24px!important;border-radius:18px!important;overflow:visible!important}
.school-site-body #home .p035-full-content>.site-section>.site-shell {box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
.school-site-body #home .p035-full-content .section-heading,
.school-site-body #home .p035-full-content .pride-head,
.school-site-body #home .p035-full-content .site-showcase-head {max-width:100%!important;box-sizing:border-box!important;min-width:0!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;transform:none!important;left:auto!important}
/* P038: The Hall of Pride previously had two conflicting padding systems.
   A 24px outer inset placed its green panel inside other panels, while a zero
   inner inset put its title and cards against the panel edge.  Use ONE inset
   inside the panel, so its outer edge and content align with Academics. */
.school-site-body #home .p035-full-content > .pride-section.p258-home-awards {
  padding:0!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.school-site-body #home .p035-full-content > .pride-section.p258-home-awards > .site-shell.pride-shell {
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:24px!important;
  box-sizing:border-box!important;
}
.school-site-body #home .p035-full-content > .pride-section.p258-home-awards .pride-head,
.school-site-body #home .p035-full-content > .pride-section.p258-home-awards .pride-grid {
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

.school-site-body #home .p035-full-content .pride-head {display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:12px!important;margin:0 0 16px!important}
.school-site-body #home .p035-full-content .pride-head>div {min-width:0!important;max-width:100%;flex:1 1 230px}
.school-site-body #home .p035-full-content .pride-head h2 {overflow:visible!important;overflow-wrap:break-word!important;line-height:1.35!important;margin:5px 0 0!important}
.school-site-body #home .p035-full-content :is(.pride-grid,.academic-grid,.office-services-grid,.service-grid,.app-center-grid) {max-width:100%!important;min-width:0!important;width:100%!important;box-sizing:border-box!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr))!important;gap:16px!important;margin-inline:0!important}
.school-site-body #home .p035-full-content :is(.pride-grid,.academic-grid,.office-services-grid,.service-grid,.app-center-grid)>* {min-width:0!important;max-width:100%;overflow-wrap:break-word}
/* The calendar month and agenda always grow to the same grid-row height. */
.school-site-body .calendar-module .calendar-compact-grid {display:grid!important;align-items:stretch!important;grid-auto-rows:minmax(0,1fr)!important;gap:12px!important}
.school-site-body .calendar-module .calendar-compact-grid>.mini-month-card,
.school-site-body .calendar-module .calendar-compact-grid>.sdc-cal-agenda {height:100%!important;min-height:395px!important;max-height:600px;min-width:0!important;box-sizing:border-box!important;align-self:stretch!important}
.school-site-body .calendar-module .mini-month-card {display:flex!important;flex-direction:column!important;overflow:hidden}
.school-site-body .calendar-module .mini-month-weekdays {flex:0 0 auto}
.school-site-body .calendar-module .mini-month-grid {flex:1 1 auto!important;display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-auto-rows:minmax(43px,1fr)!important;align-content:stretch!important;min-height:0!important}
.school-site-body .calendar-module .mini-month-grid .mini-day {min-height:43px!important;height:100%!important}
.school-site-body .calendar-module .sdc-cal-agenda {display:flex!important;flex-direction:column!important;overflow:hidden!important}
.school-site-body .calendar-module .sdc-cal-agenda-list {min-height:0!important;flex:1 1 auto!important;max-height:none!important;overflow-y:auto!important}
.school-site-body .calendar-module .p037-month-title {display:flex!important;align-items:center;justify-content:space-between!important;gap:7px;flex-wrap:wrap;padding:9px!important}
.school-site-body .calendar-module .p037-month-nav {display:inline-flex;gap:5px;align-items:center;min-width:0;margin-left:auto}
.school-site-body .calendar-module .p037-month-nav a {display:grid;place-items:center;width:29px;height:29px;border:1px solid #cfe4dd;border-radius:8px;color:#125e48;text-decoration:none;background:#fff}
.school-site-body .calendar-module .p037-month-nav a:hover {background:#e3f6ee}
.school-site-body .calendar-module .p037-month-jump select {max-width:126px;min-width:0;height:29px;border:1px solid #cfe4dd;border-radius:8px;background:#fff;color:#174d3d;font-size:12px;font-weight:700;padding:2px 5px}
.p037-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@container (min-width:650px) {.school-site-body .calendar-module .calendar-compact-grid {grid-template-columns:minmax(0,1fr) minmax(0,.95fr)!important}}
@media(max-width:800px){.school-site-body .calendar-module .calendar-compact-grid {grid-template-columns:1fr!important;grid-auto-rows:auto!important}.school-site-body .calendar-module .calendar-compact-grid>.mini-month-card,.school-site-body .calendar-module .calendar-compact-grid>.sdc-cal-agenda{height:auto!important;max-height:none!important;min-height:0!important}.school-site-body .calendar-module .mini-month-grid {grid-auto-rows:minmax(43px,auto)!important}.school-site-body #home .p035-full-content>.site-section{padding:16px!important}}
@media(max-width:550px){.school-site-body #home .p035-full-content>.site-section{padding:14px!important}.school-site-body #home .p035-full-content :is(.pride-grid,.academic-grid,.office-services-grid,.service-grid,.app-center-grid){grid-template-columns:minmax(0,1fr)!important}}
/* Optional rich text for each built-in content module (article editor's safe HTML subset). */
.school-site-body #home .p037-native-html{margin:0 0 18px!important;max-width:100%;min-width:0;overflow-wrap:break-word;line-height:1.7;color:inherit}
.school-site-body #home .p037-native-html :is(p,ul,ol,blockquote){margin:8px 0 12px}.school-site-body #home .p037-native-html img{max-width:100%;height:auto;border-radius:10px}.school-site-body #home .p037-native-html a{text-decoration:underline;text-underline-offset:2px}
.school-site-body #home .p035-full-content>.site-section[data-p037-tone="blue"]{background:#185d98!important;color:#fff!important}.school-site-body #home .p035-full-content>.site-section[data-p037-tone="green"]{background:#0c634b!important;color:#fff!important}.school-site-body #home .p035-full-content>.site-section[data-p037-tone="white"]{background:#fff!important;color:#153f55!important}.school-site-body #home .p035-full-content>.site-section[data-p037-tone="navy"]{background:#102e50!important;color:#fff!important}
.school-site-body #home .p035-full-content>.site-section[data-p037-tone="blue"] :is(h2,.section-kicker),.school-site-body #home .p035-full-content>.site-section[data-p037-tone="green"] :is(h2,.section-kicker),.school-site-body #home .p035-full-content>.site-section[data-p037-tone="navy"] :is(h2,.section-kicker){color:#fff!important}

/* P038 responsive: match the common content inset at each breakpoint. */
@media(max-width:900px){
 .school-site-body #home .p035-full-content > .pride-section.p258-home-awards .pride-head{flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important}
 .school-site-body #home .p035-full-content > .pride-section.p258-home-awards .pride-head > div{flex:0 0 auto!important;width:100%!important;max-width:100%!important}
 .school-site-body #home .p035-full-content > .pride-section.p258-home-awards .p258-awards-all{align-self:flex-start!important}
}
@media(max-width:800px){
 .school-site-body #home .p035-full-content > .pride-section.p258-home-awards{padding:0!important}
 .school-site-body #home .p035-full-content > .pride-section.p258-home-awards > .site-shell.pride-shell{padding:16px!important}
}
@media(max-width:550px){
 .school-site-body #home .p035-full-content > .pride-section.p258-home-awards{padding:0!important}
 .school-site-body #home .p035-full-content > .pride-section.p258-home-awards > .site-shell.pride-shell{padding:14px!important}
}

/* P039: calendar heading matches the other module headings; reduce calendar rows first. */
.school-site-body .calendar-module .calendar-heading h2{font-size:1.5rem!important;font-weight:800!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:break-word!important}
.school-site-body .calendar-module .calendar-heading{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:10px!important;min-height:0!important}
.school-site-body .calendar-module .calendar-compact-grid>.mini-month-card,.school-site-body .calendar-module .calendar-compact-grid>.sdc-cal-agenda{min-height:354px!important}
.school-site-body .calendar-module .mini-month-grid{grid-auto-rows:minmax(37px,1fr)!important}
.school-site-body .calendar-module .mini-month-grid .mini-day{min-height:37px!important}
@media(max-width:600px){.school-site-body .calendar-module .calendar-heading h2{font-size:1.4rem!important}}
/* P039: built-in CMS background placement; defaults preserve the existing theme. */
.school-site-body #home .p035-full-content>.site-section[data-p039-background="panel"]{background:var(--p039-bg)!important;color:var(--p039-fg)!important}
.school-site-body #home .p035-full-content>.site-section[data-p039-background="full"]{background:transparent!important;color:var(--p039-fg)!important;position:relative!important;isolation:isolate!important}
.school-site-body #home .p035-full-content>.site-section[data-p039-background="full"]::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--p039-bg);z-index:-1;pointer-events:none}
.school-site-body #home .p035-full-content>.site-section[data-p039-background="none"]{background:transparent!important;color:#153247!important}
.school-site-body #home .p035-full-content>.site-section[data-p039-background="none"] :is(h2,.section-kicker,.site-showcase-kicker){color:#153247!important}
.school-site-body #home .p035-full-content>.site-section[data-p039-background="panel"] :is(h2,.section-kicker,.site-showcase-kicker),.school-site-body #home .p035-full-content>.site-section[data-p039-background="full"] :is(h2,.section-kicker,.site-showcase-kicker){color:var(--p039-fg)!important}
.school-site-body #home .p035-full-content>.pride-section[data-p039-background="panel"] .pride-shell,.school-site-body #home .p035-full-content>.pride-section[data-p039-background="full"] .pride-shell,.school-site-body #home .p035-full-content>.pride-section[data-p039-background="none"] .pride-shell{background:transparent!important;color:inherit!important;box-shadow:none!important}
.school-site-body #home .p035-full-content>.site-section[data-p039-background="none"] .pride-head h2{color:#153247!important}
.school-site-body #home .p035-full-content>.site-section[data-p039-background="panel"] .pride-head h2,.school-site-body #home .p035-full-content>.site-section[data-p039-background="full"] .pride-head h2{color:var(--p039-fg)!important}
/* When an editor chooses a custom color without changing the layout mode, use that color. */
.school-site-body #home .p035-full-content>.site-section[data-p037-tone="custom"][data-p039-background="default"]{background:var(--p039-bg)!important;color:var(--p039-fg)!important}
.school-site-body #home .p035-full-content>.site-section[data-p037-tone="custom"][data-p039-background="default"] :is(h2,.section-kicker,.site-showcase-kicker){color:var(--p039-fg)!important}
.school-site-body #home .p035-full-content>.pride-section[data-p037-tone="custom"][data-p039-background="default"] .pride-shell{background:transparent!important;color:inherit!important;box-shadow:none!important}
.school-site-body #home .p035-full-content>.pride-section[data-p039-background="panel"] .pride-head>div:first-child>span,.school-site-body #home .p035-full-content>.pride-section[data-p039-background="full"] .pride-head>div:first-child>span,.school-site-body #home .p035-full-content>.pride-section[data-p037-tone="custom"] .pride-head>div:first-child>span{color:var(--p039-fg)!important}
