/* Shared adjustments for narrow phones, tablets and large screens. */
html{scroll-padding-top:120px}
.skip-link{z-index:110}
h1,h2,h3,.page-intro>p,.button,.event-facts dd{overflow-wrap:anywhere}
.section-heading{flex-wrap:wrap}
.content-subnav a{display:inline-flex;align-items:center;min-height:44px}
.category-filters a{min-height:44px}
.mega-close{min-width:44px;min-height:44px;align-items:center;justify-content:center}
.contact-layout>*,.profile-columns>*,.sponsor-contact>*,.sponsor-detail>*,.directory-groups>*,.activity-grid>*{min-width:0}
.rich-content table{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.rich-content table:focus-visible{outline-offset:3px}
.calendar-event-row,.calendar-event-copy{min-width:0}
.calendar-feed-url{display:block;margin-top:7px;font-size:16px;min-width:0}

/* A grid track must shrink below its content's minimum width. The dashboard
   otherwise becomes 332px wide on a 320px phone. */
.admin-main,.admin-sidebar,.admin-panel,.admin-row>*,.form-grid>*,.dashboard-stats a{min-width:0}
.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-main,.admin-sidebar{overflow-wrap:anywhere}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.rich-toolbar button,.document-upload-label{min-height:44px}
.admin-body input,.admin-body textarea,.admin-body select{font-size:16px}

@media(max-width:1100px){
  .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  html{scroll-padding-top:100px}
  .footer-link-groups a{display:flex;align-items:center;min-height:44px}
  .footer-link-groups>div{gap:2px}
  .mega-links a{min-height:44px}
}
@media(max-width:700px){
  .admin-shell{grid-template-columns:minmax(0,1fr)}
  .admin-sidebar nav a{min-height:44px;display:flex;align-items:center}
  .admin-sidebar .text-button{min-height:44px;top:30px}
  .admin-row{flex-wrap:wrap;align-items:flex-start}
  .admin-row>div{flex:1 1 170px}
  .admin-row>.button{max-width:100%;white-space:normal}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  .calendar-event-copy h3{overflow-wrap:anywhere}
}
@media(max-width:380px){
  .activity-schedule .section-heading{align-items:flex-start;gap:14px}
  .activity-schedule .section-heading>.text-link{padding-top:0;font-size:14px;min-height:44px}
  .archive-download{flex-wrap:wrap;gap:6px 14px}
  .archive-download span{flex:1 1 170px}
  .admin-main{padding-inline:16px}
  .admin-panel{padding-inline:16px}
  .dashboard-stats a{padding:16px 12px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .button,.nav-disclosure>summary>svg{transition:none}
}
