/* === MOBILE MENU === */
.mobile-menu {
  display: none;
  background: rgba(100, 0, 0, 0.98);
  border-bottom: 2px solid rgba(255,255,255,.1);
  padding: 12px 20px 20px;
}
.mobile-menu.open { display: block; }
.mobile-nav-list { list-style: none; display: flex; flex-direction: column; gap: 4px; }
.mobile-nav-list a {
  color: rgba(255,255,255,.85);
  font-size: 15px;
  font-weight: 500;
  padding: 13px 16px;
  border-radius: 10px;
  display: block;
  text-decoration: none;
  transition: .2s;
  background: rgba(255,255,255,.06);
}
.mobile-nav-list a:hover { background: rgba(255,255,255,.14); color: #fff; }

/* === ACCORDION === */
.acc-body { max-height: 0; overflow: hidden; transition: max-height .4s ease; }
.acc-body.open { max-height: 1200px; }

/* === STICKY NAV DEPT === */
@media (max-width: 600px) {
  .dept-nav-sticky { overflow-x: auto; justify-content: flex-start !important; padding-bottom: 4px; }
  .dept-nav-sticky a { white-space: nowrap; }
}

/* === UTILITY CLASSES EXTRA === */
.text-cler { color: var(--itag-cler-dark); }
.text-bf   { color: var(--itag-bf-dark); }
.text-red  { color: var(--itag-red); }
.bg-cler   { background: rgba(241,196,15,.1); }
.bg-bf     { background: rgba(212,160,23,.1); }
.border-cler { border-color: var(--itag-cler) !important; }
.border-bf   { border-color: var(--itag-bf) !important; }

/* === WPCF7 OVERRIDE === */
.wpcf7-form p { margin-bottom: 0; }
.wpcf7-form br { display: none; }
.wpcf7-form .wpcf7-response-output {
  border-radius: 10px; padding: 14px 18px; margin-top: 12px; font-size: 14px;
}
.wpcf7-mail-sent-ok { background: #EAFAF1; border-color: #27AE60 !important; color: #1E8449 !important; }
.wpcf7-validation-errors { background: #FDEDEC; border-color: #C0392B !important; color: #8B0000 !important; }

/* === SCREEN READER === */
.screen-reader-text {
  clip: rect(1px,1px,1px,1px); height: 1px; overflow: hidden;
  position: absolute; white-space: nowrap; width: 1px;
}
.screen-reader-text:focus {
  background: #C0392B; color: #fff; clip: auto; height: auto;
  left: 8px; padding: 8px 16px; top: 8px; width: auto; z-index: 99999;
  border-radius: 4px; font-weight: 700; font-size: 14px;
}

/* === PRINT === */
@media print {
  nav, footer, .btn, .hero-btns { display: none !important; }
  body { background: white; color: black; }
  .hero { min-height: auto; padding: 20px; background: white !important; }
  .hero h1, .hero p { color: black !important; }
}
