/* Marquette County Mobile Friendly 1.1.3. No global overflow hiding. */
.mcmf-enabled .mcmf-department-links, .mcmf-enabled .mcmf-table-hint { display:none; }
@media screen and (max-width:1024px) {
  .mcmf-homepage #main #county-icon-links { margin-top:20px!important; padding:0 16px; box-sizing:border-box; }
  .mcmf-homepage #main .icon-links-wide { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:20px 12px!important; width:100%; }
  .mcmf-homepage #main #homepage-layout { grid-template-columns:minmax(0,1fr)!important; margin-top:32px!important; gap:24px!important; }
  .mcmf-homepage #main #homepage-layout > *, .mcmf-homepage #main .news-card, .mcmf-homepage #main .spotlight-card { min-width:0!important; max-width:100%; box-sizing:border-box; }
}
@media screen {
  /* Inline page styles add a 20px offset to a full-width accordion. */
  .mcmf-content #main .wp-block-esab-accordion { margin-inline:0!important; width:100%!important; max-width:100%!important; box-sizing:border-box; }
  .mcmf-content #main .mcmf-accordion-fixed .esab__head { width:100%; white-space:normal; overflow-wrap:anywhere; }
  .mcmf-tables #main .mcmf-table-scroll { display:block; width:100%; max-width:100%; min-width:0; overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
  .mcmf-tables #main .mcmf-table-scroll:focus-visible { outline:3px solid #004a99; outline-offset:3px; }
  /* Undo the old card conversion so headings stay visible and meaningful. */
  .mcmf-tables #main .mcmf-table-scroll > .committee-table { display:table!important; }
  .mcmf-tables #main .committee-table thead { display:table-header-group!important; }
  .mcmf-tables #main .committee-table tbody { display:table-row-group!important; width:auto!important; }
  .mcmf-tables #main .committee-table tr { display:table-row!important; width:auto!important; box-shadow:none!important; }
  .mcmf-tables #main .committee-table :is(th,td) { display:table-cell!important; width:auto!important; }
  .mcmf-tables #main .committee-table td::before { content:none!important; }
  .mcmf-tables #main .committee-table tbody td:first-child { background:transparent!important; color:#003b66!important; font-size:16px!important; }
  .mcmf-tables #main .mcmf-table-hint.mcmf-overflows { display:block; margin:8px 0; color:#334155; font-size:14px; }
}
@media screen and (max-width:1180px) {
  .mcmf-layouts #main .mc-framework-layout.wp-block-columns:not(.mcmf-keep-layout) { flex-direction:column!important; flex-wrap:nowrap!important; gap:20px!important; width:100%!important; margin-inline:0!important; }
  .mcmf-layouts #main .mc-framework-layout:not(.mcmf-keep-layout) > :is(.wp-block-column,.mc-grid-left,.mc-grid-middle,.mc-grid-right) { position:static!important; flex:none!important; width:100%!important; max-width:100%!important; min-width:0!important; padding-right:0!important; }
  /* Hide only after the script has supplied an accessible replacement. */
  .mcmf-layouts #main .mc-framework-layout > .mcmf-nav-replaced { display:none!important; }
  .mcmf-layouts #main .mcmf-department-links { display:block; width:100%; border:1px solid #cbd5e1; border-radius:10px; background:#f5f8fc; margin-bottom:20px; box-sizing:border-box; }
  .mcmf-layouts #main .mcmf-department-links summary { min-height:44px; padding:12px 16px; box-sizing:border-box; color:#004a99; font-weight:700; cursor:pointer; }
  .mcmf-layouts #main .mcmf-department-links nav { padding:0 12px 12px; }
  .mcmf-layouts #main .mcmf-department-links ul { list-style:none; margin:0; padding:0; }
  .mcmf-layouts #main .mcmf-department-links li { margin:0; padding:0; }
  .mcmf-layouts #main .mcmf-department-links a { display:block; padding:12px; min-height:44px; box-sizing:border-box; line-height:1.4; overflow-wrap:anywhere; }
}
@media screen and (max-width:1024px) {
  /* Existing Customizer CSS adds padding at several nested page levels. */
  body.mcmf-content.page-template-default #main { padding-inline:0!important; }
  body.mcmf-content.page-template-default #main #content-wrap { width:100%!important; margin-inline:0!important; padding-inline:16px!important; }
  body.mcmf-content.page-template-default #main :is(article.single-page-article,.entry,.entry-content) { padding-inline:0!important; }
  .mcmf-content #main :is(.entry,.entry-content,.mc-grid-middle,.mc-grid-right,.chm-homepage-wrap) { min-width:0!important; overflow-wrap:anywhere; }
  .mcmf-content #main h1 { font-size:clamp(28px,8vw,36px)!important; line-height:1.2!important; }
  .mcmf-content #main #content-wrap { width:auto!important; max-width:100%!important; margin-inline:16px!important; box-sizing:border-box; }
  .mcmf-content #main :is(#primary,#content) { float:none!important; width:100%!important; min-width:0!important; max-width:100%!important; padding-inline:0!important; }
  .mcmf-content #main :is(.entry,.entry-content) img:not(.staff-member-photo):not(.n2-ss-slide-background-image) { max-width:100%!important; height:auto; }
  .mcmf-content #main :is(.entry,.entry-content) :is(video,iframe,embed,object) { max-width:100%!important; }
  .mcmf-content #main :is(.entry,.entry-content) :is(pre,code) { overflow-wrap:normal; }
  .mcmf-content #main :is(.entry,.entry-content) pre { max-width:100%; overflow-x:auto; }
  .mcmf-content #main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { max-width:100%!important; min-width:0; font-size:16px!important; box-sizing:border-box; }
  .mcmf-content #main input[type=file] { width:100%; }
  .mcmf-content #main :is(.mcjm5-application-wrap,.mcjm5-form section) { padding:16px!important; }
  .mcmf-calendar #main .wpfc-calendar { min-width:0!important; max-width:100%!important; }
  .mcmf-calendar #main .fc-toolbar { display:flex!important; flex-wrap:wrap!important; justify-content:center; gap:12px; }
  .mcmf-calendar #main .fc-toolbar > :is(.fc-left,.fc-center,.fc-right) { float:none!important; display:flex; justify-content:center; flex-wrap:wrap; max-width:100%; }
  .mcmf-calendar #main .fc-toolbar .fc-center { order:-1; flex-basis:100%; }
  .mcmf-calendar #main .marquette-calendar-wrapper .fc-toolbar { flex-direction:row!important; }
  .mcmf-calendar #main .marquette-calendar-wrapper .fc-toolbar > :is(.fc-left,.fc-center,.fc-right) { display:flex!important; position:static!important; transform:none!important; left:auto!important; flex:0 1 auto!important; width:auto!important; order:1!important; justify-content:center!important; }
  .mcmf-calendar #main .marquette-calendar-wrapper .fc-toolbar .fc-center { order:0!important; flex-basis:100%!important; width:100%!important; }
  .mcmf-calendar #main .marquette-calendar-wrapper .fc-view-container { min-width:0!important; width:100%!important; }
  .mcmf-calendar #main .fc-list-table { table-layout:auto; width:100%!important; }
  .mcmf-calendar #main .fc-list-item-time { width:82px!important; overflow-wrap:normal; font-size:14px; white-space:nowrap!important; }
  .mcmf-calendar #main .fc-list-item-marker { width:24px!important; padding-inline:6px!important; }
  .mcmf-calendar #main .fc-list-item-title a { white-space:normal!important; overflow-wrap:anywhere; }
  .mcmf-calendar #main :is(.fc-listMonth-button,.fc-month-button,.fc-today-button) { display:inline-block!important; }
  .mcmf-calendar #main .fc-toolbar h2 { font-size:24px!important; line-height:1.3!important; white-space:normal; }
  .mcmf-calendar #main .fc-toolbar .fc-clear { display:none; }
  .mcmf-calendar #main .fc-list-item-title { white-space:normal; overflow-wrap:anywhere; }
  .mcmf-calendar #main .fc-list-item-time { white-space:normal; }
  .mcmf-calendar #main .fc-day-grid-event { white-space:normal; }
  .mcmf-layouts #main .jobs-grid:not(.mcmf-keep-layout) { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .mcmf-layouts #main :is(.job-card,.staff-info) { min-width:0; }
}
@media screen and (max-width:767px) {
  .mcmf-tables #main .mcmf-table-scroll > .committee-table { min-width:560px!important; }
  .mcmf-layouts #main .wp-block-columns:not(.mc-framework-layout):not(.mcmf-keep-layout) { flex-wrap:wrap!important; }
  .mcmf-layouts #main .wp-block-columns:not(.mc-framework-layout):not(.mcmf-keep-layout) > .wp-block-column { flex-basis:100%!important; min-width:0!important; }
  .mcmf-layouts #main :is(.jobs-grid,.mcjm5-grid2,.mcjm5-grid3,.mc-clinical-page .mc-two-grid,.mc-clinical-page .mc-three-grid):not(.mcmf-keep-layout) { grid-template-columns:minmax(0,1fr)!important; }
  .mcmf-layouts #main :is(.job-card,.staff-info,.mc-clinical-page .mc-card,.mc-clinical-page .mc-program) { min-width:0; max-width:100%; box-sizing:border-box; }
  .mcmf-layouts #main .staff-member { max-width:100%!important; min-width:0!important; box-sizing:border-box; }
  .mcmf-layouts #main :is(.mcjm-actions,.mc-button-row,.mc-meeting-actions,.mc-support-actions,.wp-block-buttons) { display:flex!important; flex-wrap:wrap!important; gap:12px; }
  .mcmf-layouts #main :is(.mcjm-actions,.mc-meeting-actions,.mc-clinical-page .mc-button-row) { flex-direction:column!important; align-items:stretch!important; }
  .mcmf-homepage #main .icon-links-wide { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .mcmf-homepage #main #county-icon-links .icon-link { min-width:0; width:100%; }
  .mcmf-homepage #main #county-icon-links .icon-circle { width:80px!important; height:80px!important; font-size:28px!important; }
  .mcmf-homepage #main #county-icon-links .icon-link span { font-size:16px!important; line-height:1.4!important; overflow-wrap:anywhere; }
  .mcmf-homepage #main #homepage-layout { display:block!important; padding:0 16px!important; margin:28px auto!important; }
  .mcmf-homepage #main #homepage-layout .section-card { padding:16px!important; margin-bottom:24px!important; }
  .mcmf-homepage #main :is(.news-grid,.spotlight-row) { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:16px!important; }
  .mcmf-homepage #main :is(.news-card,.spotlight-card) { width:100%!important; margin-bottom:0!important; }
  .mcmf-homepage #main :is(.event-title,.quick-item span) { min-width:0; overflow-wrap:anywhere; }
  .mcmf-assistant #mc-chat-button { width:48px!important; height:48px!important; font-size:24px!important; right:max(12px,env(safe-area-inset-right))!important; bottom:max(12px,env(safe-area-inset-bottom))!important; }
  .mcmf-assistant #mc-chat-box { right:max(12px,env(safe-area-inset-right))!important; bottom:calc(72px + env(safe-area-inset-bottom))!important; width:calc(100vw - 24px - env(safe-area-inset-right) - env(safe-area-inset-left))!important; max-width:420px!important; max-height:calc(100vh - 100px)!important; max-height:calc(100dvh - 100px - env(safe-area-inset-bottom))!important; }
  .mcmf-assistant #mc-chat-input { font-size:16px!important; }
  .mcmf-assistant #mc-chat-close { min-width:44px; min-height:44px; }
  .mcmf-touch #main :is(button,input[type=submit],input[type=button],.button,.wp-element-button,.mcjm-btn,.mc-btn,.mc-meeting-button,.full-calendar-btn,.district-map-button) { min-height:44px!important; max-width:100%; box-sizing:border-box; white-space:normal!important; overflow-wrap:anywhere; line-height:1.4; }
  .mcmf-touch :is(#site-header .oceanwp-mobile-menu-icon a,#mobile-dropdown a,#sidr a) { min-height:44px; box-sizing:border-box; }
  .mcmf-touch #main :is(.mcjm-btn,.mc-btn,.mc-meeting-button) { width:100%!important; text-align:center; }
  .mcmf-touch #main .fc-toolbar button { min-width:44px!important; }
}
@media screen and (any-pointer:coarse) {
  .mcmf-touch #main :is(button,input[type=submit],input[type=button],.button,.wp-element-button,.mcjm-btn,.mc-btn,.mc-meeting-button,.district-map-button,.mcjm5-choice) { min-height:44px!important; box-sizing:border-box; }
  .mcmf-touch #main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { font-size:16px!important; }
  .mcmf-touch :is(#site-header .oceanwp-mobile-menu-icon a,#mobile-dropdown a,#sidr a) { min-height:44px; box-sizing:border-box; }
  .mcmf-touch #main .fc-toolbar button { min-width:44px!important; }
}
@media screen and (max-height:500px) and (max-width:1024px) {
  .mcmf-assistant #mc-chat-box { bottom:calc(72px + env(safe-area-inset-bottom))!important; height:calc(100vh - 90px)!important; height:calc(100dvh - 90px - env(safe-area-inset-bottom))!important; max-height:calc(100dvh - 90px - env(safe-area-inset-bottom))!important; }
  .mcmf-assistant #mc-chat-header { padding:8px 12px; flex-shrink:0; }
  .mcmf-assistant #mc-chat-messages { min-height:0; }
  .mcmf-assistant #mc-chat-form { flex-shrink:0; }
}
@media screen {
  .mcmf-touch #main :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #004a99!important; outline-offset:3px; }
}
@media print {
  .mcmf-enabled .mcmf-department-links,.mcmf-enabled .mcmf-table-hint { display:none!important; }
  .mcmf-enabled .mcmf-table-scroll { display:contents!important; }
}
