@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Public+Sans:wght@400;500;600;700&display=swap");

/* =========================================================================
   Limestone County EMA — site styles
   1. Legacy theme   2. Tokens + base   3. Header   4. Homepage sections
   5. Footer   6. Status band   7. Tablet + phone
   ====================================================================== */


/* ---------- 1. Legacy theme rules (from the old setup) ---------- */
.carousel .item {
  line-height: 350px;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
  min-height: 350px;
}
.format-icon:before { display: none; }
li::marker { color: var(--ema-navy); }


/* ---------- 2. Tokens + base ---------- */
:root {
  --ema-navy:     #0D1045;
  --ema-blue:     #1F8FC4;
  --ema-river:    #37BAEB;
  --ema-sky:      #E2F3FB;
  --ema-sky-line: #BFE3F4;
  --ema-bg:       #F4F8FA;
  --ema-ink:      #1B1C2E;
  --ema-muted:    #56606B;
  --ema-line:     #D6E3EA;
  --ema-display:  "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
  --ema-body:     "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

body {
  background: var(--ema-bg);
  color: var(--ema-ink);
  font-family: var(--ema-body);
  font-size: 1.0625rem;
  line-height: 1.6;
}
.sektion-wrapper p,
.sektion-wrapper li,
.sektion-wrapper a,
.sektion-wrapper span { font-family: var(--ema-body) !important; }

h1, h2, h3, h4,
.entry-title, .page-title {
  font-family: var(--ema-display) !important;
  letter-spacing: .005em !important;
  color: var(--ema-navy);
}
h1, h2, h3 { line-height: 1.05; }

a:focus-visible, button:focus-visible {
  outline: 3px solid var(--ema-navy);
  outline-offset: 2px;
}

/* Shared: navy buttons (.ema-btn on Nimble button modules) */
.ema-btn a, .ema-btn .sek-btn, .ema-btn button {
  background: var(--ema-navy) !important;
  color: #fff !important;
  border-radius: 4px;
  padding: .85rem 1.4rem;
  text-decoration: none;
}
.ema-btn a:hover, .ema-btn .sek-btn:hover { background: #1C2266 !important; }
.ema-btn, .ema-btn * {
  font-family: var(--ema-body) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
}

.sek-module-inner h1,
.sek-module-inner h2,
.sek-module-inner h3 { line-height: 1.05 !important; }

/* ---------- 3. Header (.ema-header) ---------- */
.ema-header { background: #fff !important; border-bottom: 4px solid var(--ema-river); }

/* Logo + name */
.ema-mark { display: flex; align-items: center; gap: .75rem; text-decoration: none !important; }
.ema-mark img { width: 56px; height: 56px; flex: none; }
.ema-header .ema-mark span {
  font-family: var(--ema-display) !important;
  font-weight: 700;
  font-size: 1.35rem;
  line-height: 1;
  color: var(--ema-navy);
  white-space: nowrap;
}
.ema-header .ema-mark em {
  display: block;
  font-style: normal;
  font-weight: 500;
  font-size: .95rem;
  color: var(--ema-muted);
  margin-top: .2rem;
}

/* Menu */
.ema-header .sek-nav a,
.ema-header .sek-nav a * {
  font-family: var(--ema-body) !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--ema-ink) !important;
  text-decoration: none !important;
  border-bottom-color: transparent !important;
}
.ema-header .sek-nav a:hover,
.ema-header .sek-nav a:hover * { color: var(--ema-blue) !important; text-decoration: none !important; }
.ema-header .sek-nav a::before,
.ema-header .sek-nav__title::before,
.ema-header .sek-nav__title::after {
  background-color: var(--ema-blue) !important;
}
.ema-header .sek-nav { flex-wrap: nowrap !important; }
.ema-header .sek-nav > li > a {
  padding-left: .55rem !important;
  padding-right: .55rem !important;
  white-space: nowrap;
}

/* Dropdown arrow buttons */
.ema-header .nb-dd-mm-toggle {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--ema-ink) !important;
  padding: 0 .15rem !important;
  margin-left: .1rem;
}
.ema-header .nb-dd-mm-toggle:hover { color: var(--ema-blue) !important; }

/* Phone number */
.ema-phone { text-align: right !important; }
.ema-phone p { margin: 0 !important; line-height: 1.2; }
.ema-phone a {
  font-weight: 700 !important;
  color: var(--ema-navy) !important;
  text-decoration: none !important;
  white-space: nowrap;
}

/* ---------- 4. Homepage sections ---------- */

/* Hero (.ema-hero) */
.ema-hero {
  position: relative;
  isolation: isolate;
  background-size: cover;
  background-position: center;
}
.ema-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg,
    rgba(244, 248, 250, .96) 0%,
    rgba(244, 248, 250, .88) 48%,
    rgba(13, 16, 69, .20) 100%);
}
.ema-hero h1 {
  font-size: clamp(2.75rem, 6vw, 4.75rem);
  font-weight: 700;
  max-width: 13ch;
  margin: 0;
  text-align: left;
}
.ema-hero p {
  color: #3A4450;
  font-size: 1.15rem;
  max-width: 34rem;
  text-align: left;
}

/* Task list (.ema-tasks) */
.ema-tasks {
  list-style: none !important;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid var(--ema-line);
  border-radius: 6px;
  box-shadow: 0 10px 30px rgba(13, 16, 69, .12);
}
.ema-tasks li { list-style: none !important; margin: 0; }
.ema-tasks li::before,
.ema-tasks li::marker { content: none !important; display: none !important; }
.ema-tasks li + li { border-top: 1px solid var(--ema-line); }
.ema-tasks a {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: .25rem 1rem;
  align-items: center;
  padding: 1.1rem 1.25rem;
  color: inherit;
}
.ema-tasks a, .ema-tasks a:hover, .ema-tasks a * { text-decoration: none !important; }
.ema-tasks a:hover { background: #EAF6FC; }
.ema-tasks a:hover strong { text-decoration: underline !important; }
.ema-tasks svg { grid-row: span 2; color: var(--ema-blue); }
.ema-tasks strong {
  font-family: var(--ema-display);
  font-size: 1.45rem;
  font-weight: 600;
  color: var(--ema-navy);
  line-height: 1.1;
}
.ema-tasks span { color: var(--ema-muted); font-size: .95rem; line-height: 1.4; }

/* Shared section heading size */
.ema-now-title h2,
.ema-hazards h2,
.ema-news h2:not(article *) {
  font-family: var(--ema-display) !important;
  font-size: clamp(2rem, 3.5vw, 2.6rem) !important;
  font-weight: 700 !important;
  text-align: left !important;
}
.ema-now-title h2 { margin: 0; }
.ema-hazards h2 { margin-bottom: 1.25rem; }
.ema-news h2:not(article *) { margin-bottom: 1rem; }

/* Right now (.ema-now-title + .ema-now-box) */
.ema-now-box {
  background: #fff;
  border-left: 6px solid var(--ema-river);
  border-radius: 0 6px 6px 0;
  margin-bottom: 48px !important;
}
.ema-now-box h3 { font-size: 1.8rem; font-weight: 600; margin: 0 0 .75rem; text-align: left !important; }
.ema-now-box p { max-width: 40rem; }
.ema-note { color: var(--ema-muted); font-size: .875rem; }
.ema-links { list-style: none; margin: 0; padding: 0; }
.ema-links li { margin: 0; padding: .6rem 0; border-bottom: 1px solid var(--ema-line); }
.ema-links li:last-child { border-bottom: 0; }
.ema-links a { font-weight: 600; color: var(--ema-navy); text-decoration: none !important; }
.ema-links a:hover { text-decoration: underline !important; }

/* Map band (.ema-mapband) */
.ema-mapband {
  background: #DDF1FA;
  border-top: 4px solid var(--ema-river);
  border-bottom: 1px solid var(--ema-sky-line);
  margin-bottom: 48px !important;
}
.ema-mapband h2 { font-size: clamp(1.9rem, 3.2vw, 2.4rem); font-weight: 700; margin: 0; text-align: left !important; }
.ema-mapband p { color: #2E3A55; max-width: 40rem; text-align: left !important; margin-bottom: 0; }

/* What to do (.ema-hazards) */
.ema-hazards { margin-bottom: 48px !important; }
.ema-hazards .ema-all-link a { font-weight: 600; color: var(--ema-navy); }

.ema-hazards .sek-accord-title {
  background: #fff;
  border-bottom: 1px solid var(--ema-line);
  transition: background-color .15s;
}
.ema-hazards .sek-accord-title:hover { background: #EAF6FC; }
.ema-hazards .sek-accord-title,
.ema-hazards .sek-accord-title * {
  font-family: var(--ema-display) !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
}

/* Open item */
.ema-hazards .sek-accord-item[data-sek-expanded="true"] .sek-accord-title {
  background: var(--ema-navy) !important;
  color: #fff !important;
}
.ema-hazards .sek-accord-item[data-sek-expanded="true"] .sek-accord-title * { color: #fff !important; }
.ema-hazards .sek-accord-item[data-sek-expanded="true"] .sek-accord-title svg,
.ema-hazards .sek-accord-item[data-sek-expanded="true"] .expander span,
.ema-hazards .sek-accord-item[data-sek-expanded="true"] .sek-accord-title *::before,
.ema-hazards .sek-accord-item[data-sek-expanded="true"] .sek-accord-title *::after {
  color: #fff !important;
  fill: #fff !important;
  background-color: #fff !important;
  border-color: #fff !important;
}

/* Step titles (bold lines inside each item) */
.ema-hazards strong,
.ema-hazards b {
  display: block;
  font-family: var(--ema-display) !important;
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--ema-navy);
  margin: 1.1rem 0 .2rem;
}
.ema-hazards p:first-child strong,
.ema-hazards p:first-child b { margin-top: 0; }

/* News and updates (.ema-news) */
.ema-news { margin-bottom: 48px !important; }
.ema-news article { border-top: 1px solid var(--ema-line); padding: .85rem 0 !important; }
.ema-news [class*="pg-title"],
.ema-news [class*="pg-title"] a,
.ema-news article h1, .ema-news article h2, .ema-news article h3,
.ema-news article h1 a, .ema-news article h2 a, .ema-news article h3 a {
  font-family: var(--ema-body) !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: var(--ema-navy) !important;
  text-decoration: none !important;
  margin: 0 0 .2rem !important;
}
.ema-news [class*="pg-title"] a:hover,
.ema-news article a:hover { text-decoration: underline !important; }
.ema-news [class*="pg-metas"],
.ema-news [class*="pg-metas"] *,
.ema-news time {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: .95rem !important;
  color: var(--ema-muted) !important;
}
.ema-all-updates a { font-weight: 600; color: var(--ema-navy); }


/* ---------- 5. Footer (.ema-footer + .ema-footer-bottom) ---------- */
.ema-footer {
  background: #fff !important;
  border-top: 4px solid var(--ema-river) !important;
  font-size: .95rem;
}
.ema-footer h3 {
  font-size: 1.3rem !important;
  margin: 0 0 .6rem !important;
  text-align: left !important;
}
.ema-footer p { margin: 0 0 .35rem; font-size: .95rem; }
.ema-footer ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.ema-footer li { margin: .35rem 0 !important; padding-left: 0 !important; font-size: .95rem; }
.ema-footer li::before { content: none !important; }
.ema-footer a { color: var(--ema-navy) !important; text-decoration: none !important; }
.ema-footer a:hover { text-decoration: underline !important; }

.ema-footer-bottom { background: var(--ema-navy) !important; color: #E2F3FB; font-size: .875rem; }
.ema-footer-bottom p { margin: 0; text-align: left !important; }
.ema-footer-bottom a { color: #fff !important; }


/* ---------- 6. Tablet + phone ---------- */

/* Tablet: header menu drops to its own row */
@media (min-width: 768px) and (max-width: 1199px) {
  .ema-header .sek-sektion-inner { flex-wrap: wrap !important; }
  .ema-header .sek-sektion-inner > .sek-column:nth-child(1) { flex: 1 1 auto !important; width: auto !important; max-width: none !important; }
  .ema-header .sek-sektion-inner > .sek-column:nth-child(3) { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
  .ema-header .sek-sektion-inner > .sek-column:nth-child(2) {
    order: 3;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-top: .5rem;
  }
  .ema-header .sek-nav { justify-content: flex-start !important; }
}

/* Hero overlay goes flat on narrow screens */
@media (max-width: 860px) {
  .ema-hero::before { background: rgba(244, 248, 250, .92); }
}

/* Phone */
@media (max-width: 767px) {
  /* Header: name + hamburger on one row, menu opens below */
  .ema-header .sek-sektion-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }
  .ema-header .sek-sektion-inner > .sek-column:nth-child(1) {
    flex: 1 1 auto !important; width: auto !important; max-width: none !important; min-width: 0 !important;
  }
  .ema-header .sek-sektion-inner > .sek-column:nth-child(2) {
    flex: 0 0 auto !important; width: auto !important; max-width: none !important; margin-left: auto !important;
  }
  .ema-header .sek-sektion-inner > .sek-column:nth-child(3) { display: none !important; }
  .ema-header .sek-mobile-menu-expanded-below {
    order: 10;
    flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important;
  }
  .ema-header .sek-mobile-menu-expanded-below .sek-nav > li { border-top: 1px solid var(--ema-line); }
  .ema-header .sek-mobile-menu-expanded-below .sek-nav > li > a { display: block; padding: .8rem .25rem !important; }
  .ema-mark img { width: 48px; height: 48px; }
  .ema-header .ema-mark span { font-size: 1.2rem; }

  /* Hero: task list lines up with the text */
  .ema-hero .sek-sektion-inner > .sek-column:nth-child(2),
  .ema-hero .sek-sektion-inner > .sek-column:nth-child(2) .sek-column-inner,
  .ema-hero .sek-sektion-inner > .sek-column:nth-child(2) .sek-module {
    padding-left: 0 !important;
    margin-left: 0 !important;
  }

  /* Map band: button under the text, aligned left */
  .ema-mapband .ema-btn,
  .ema-mapband .ema-btn .sek-module-inner {
    text-align: left !important;
    justify-content: flex-start !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
  }
  .ema-mapband .ema-btn { margin-top: 20px !important; }
}

/* ---------- Inner pages ---------- */

/* Shelters list (.ema-shelters) */
.ema-shelters {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2.5rem;
}
.ema-shelters li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin: 0 !important;
  padding: 1rem 0 !important;
  border-top: 1px solid var(--ema-line);
}
.ema-shelters li::before,
.ema-shelters li::marker { content: none !important; }
.ema-shelters li h3 {
  font-size: 1.3rem !important;
  font-weight: 600;
  line-height: 1.15 !important;
  margin: 0 0 .2rem !important;
}
.ema-shelter__host { color: var(--ema-muted); font-size: .95rem; margin: 0 !important; }
.ema-shelter__addr { font-size: .95rem; margin: 0 !important; }
.ema-shelter__note { color: #8A5A00; font-size: .9rem; font-weight: 600; margin: .3rem 0 0 !important; }
.ema-shelter__dir {
  flex: none;
  font-size: .9rem;
  font-weight: 700;
  color: var(--ema-navy) !important;
  border: 2px solid var(--ema-navy);
  border-radius: 4px;
  padding: .35rem .75rem;
  text-decoration: none !important;
  white-space: nowrap;
}
.ema-shelter__dir:hover { background: var(--ema-navy); color: #fff !important; }
.ema-shelter__dir .screen-reader-text {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.ema-map-embed iframe { width: 100%; height: 520px; border: 0; border-radius: 6px; }

@media (max-width: 767px) {
  .ema-shelters { grid-template-columns: 1fr; }
  .ema-map-embed iframe { height: 420px; }
}

/* Page title (.ema-page-title) */
.ema-page-title { padding-top: 40px !important; padding-bottom: 8px !important; }
.ema-page-title h1 {
  font-size: clamp(2.25rem, 4.5vw, 3.25rem) !important;
  font-weight: 700 !important;
  text-align: left !important;
  margin: 0 !important;
}

/* Link lists: no bullets */
.ema-links { list-style: none !important; padding-left: 0 !important; }
.ema-links li::marker { content: none !important; }

/* Directions: make sure the outline shows */
.ema-shelter__dir {
  border: 2px solid var(--ema-navy) !important;
  padding: .35rem .75rem !important;
  border-radius: 4px !important;
}

/* Page title (.ema-page-title) */
.ema-page-title { padding-top: 40px !important; padding-bottom: 24px !important; }
.ema-page-title h1 {
  font-size: clamp(2.25rem, 4.5vw, 3.25rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  text-align: left !important;
  margin: 0 !important;
}