/* Override tokens and utility styles for components and pages */

:root {
  /* Warm earthy palette of clay, oat, and charcoal */
  --ground: #F4EFEB;
  --surface: #EAE3DC;
  --surface-alt: #DFD7CF;
  --surface-elevated: #FAF7F5;
  --surface-dark: #262322;
  --surface-card: #FAF7F5;
  --ink: #221F1E;
  --ink-muted: #5C5552;
  --ink-light: #7D7571;
  --ink-inverse: #FAF7F5;
  --ink-inverse-muted: #B8B0AA;
  --border: #D1C7BD;
  --border-subtle: #E2DAD2;
  --border-strong: #948A80;
  --border-focus: #B85D38;
  --accent: #B85D38;
  --accent-deep: #8E4324;
  --accent-light: #D97E59;
  --accent-wash: #FBECE5;
  --accent-subtle: #FDF5F0;
}

/* Nav fix: header.site-masthead.is-scrolled shows 0 navigation links and has no menu button at 320px */
@media (max-width: 991px) {
  header.site-masthead.is-scrolled .masthead-main {
    display: flex !important;
    visibility: visible !important;
  }
  header.site-masthead.is-scrolled .masthead-actions {
    display: flex !important;
    visibility: visible !important;
  }
  header.site-masthead.is-scrolled .nav-toggle-btn {
    display: inline-flex !important;
    visibility: visible !important;
  }
}

/* Squeezed text fix: button submit text "Submit Statutory Inquiry" */
.btn-primary span,
.inquiry-form button[type="submit"] span,
#form-submit-button span,
#svc-submit-btn span {
  white-space: normal;
  display: inline-block;
  min-width: 0;
  word-break: normal;
}
.btn, .btn-lg, .btn-primary {
  max-width: 100%;
  white-space: normal;
}

/* Squeezed text fix for 404 h1 */
.stock h1 {
  width: 100% !important;
  max-width: 100% !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Squeezed text fix: table headers on services.html */
.spec-table th, .spec-table td {
  min-width: 90px;
  word-break: normal;
}
.spec-table th:first-child, .spec-table td:first-child {
  min-width: 120px;
}

/* Cookie banner: docked to bottom edge, compact, max 22vh so it never covers h1 */
#cookie-banner {
  max-height: 24vh !important;
  min-height: auto !important;
  bottom: 0 !important;
  top: auto !important;
}
@media (max-width: 480px) {
  #cookie-banner {
    max-height: 22vh !important;
    padding: 0.4rem 0.75rem !important;
  }
  .cookie-banner-inner {
    gap: 0.35rem !important;
  }
  .cookie-text {
    font-size: 0.68rem !important;
    line-height: 1.3 !important;
  }
  .cookie-actions button {
    min-height: 34px !important;
    padding: 0.25rem 0.6rem !important;
    font-size: 0.7rem !important;
  }
}

/* Flat control fix: button.btn ("Print Document") on cookies.html */
#print-disclosures-btn,
button.btn-outline,
.btn-outline {
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, transform 150ms ease, box-shadow 150ms ease !important;
}
#print-disclosures-btn:hover,
button.btn-outline:hover,
.btn-outline:hover {
  background-color: var(--ink) !important;
  border-color: var(--ink) !important;
  color: var(--ink-inverse) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
}
#print-disclosures-btn:active,
button.btn-outline:active,
.btn-outline:active {
  background-color: var(--accent-deep) !important;
  border-color: var(--accent-deep) !important;
  color: #fff !important;
  transform: translateY(1px) !important;
  box-shadow: none !important;
}
#print-disclosures-btn:focus-visible,
button.btn-outline:focus-visible,
.btn-outline:focus-visible {
  outline: 2px solid var(--accent) !important;
  outline-offset: 2px !important;
}
