
/* V5.3: hide Kadence/WordPress page title area on the homepage */
body.home .entry-header,
body.home .entry-title,
body.home .page-title,
body.home .page-header,
body.home .entry-hero,
body.home .entry-hero-container-inner,
body.home .hero-section,
body.home .content-title-style-above,
body.home main .entry-header,
body.home main h1.entry-title {
  display: none !important;
}

body.home .content-area,
body.home .site-main,
body.home .entry,
body.home .entry-content,
body.home .content-wrap,
body.home .site-container,
body.home .content-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.home .suw5 {
  margin-top: 0 !important;
}

.suw5 {
  --navy:#06213f;
  --blue:#0b5f8a;
  --gold:#f3b319;
  --sand:#f7f1e6;
  --text:#0d1b2a;
  --muted:#627186;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: linear-gradient(180deg, #ffffff 0%, var(--sand) 100%);
  width: 100%;
}
.suw5 * { box-sizing: border-box; }
.suw5-hero {
  min-height: 640px;
  position: relative;
  display: flex;
  align-items: center;
  padding: 80px 6%;
  background-size: cover;
  background-position: center center;
  border-radius: 18px;
  overflow: hidden;
  margin: 0 auto 28px;
}
.suw5-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(2,23,45,.82), rgba(2,23,45,.42), rgba(2,23,45,.10));
}
.suw5-hero-content {
  position: relative;
  color: white;
  max-width: 880px;
  text-shadow: 0 2px 20px rgba(0,0,0,.35);
}
.suw5-kicker, .suw5-kicker-dark {
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.suw5-kicker {
  color: #82eef4;
  font-size: 18px;
  margin-bottom: 12px;
}
.suw5-kicker-dark {
  color: var(--blue);
  font-size: 13px;
  margin-bottom: 8px;
}
.suw5 h1 {
  margin: 0 0 14px;
  color: white;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 7vw, 86px);
  line-height: 1;
  letter-spacing: -.035em;
}
.suw5-hero p {
  margin: 0 0 26px;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 750;
}
.suw5-button {
  display: inline-block;
  background: linear-gradient(135deg, var(--gold), #d99700);
  color: #111 !important;
  text-decoration: none;
  padding: 17px 28px;
  border-radius: 12px;
  font-weight: 950;
  text-shadow: none;
  box-shadow: 0 12px 24px rgba(0,0,0,.22);
}
.suw5-panel {
  background: white;
  border: 1px solid rgba(6,33,63,.08);
  border-radius: 20px;
  box-shadow: 0 14px 35px rgba(6,33,63,.12);
  margin: 28px auto;
  padding: 30px;
}
.suw5-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 22px;
}
.suw5 h2 {
  margin: 0;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.08;
  letter-spacing: -.025em;
}
.suw5-section-head p {
  margin: 0;
  color: var(--muted);
  max-width: 540px;
  font-weight: 650;
  line-height: 1.45;
}
.suw5-metrics {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
}
.suw5-metric {
  min-height: 158px;
  text-align: center;
  border-radius: 16px;
  border: 1px solid rgba(6,33,63,.08);
  background: #ffffff;
  padding: 22px 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.suw5-wind {
  background: linear-gradient(180deg, #ffffff 0%, #eefafe 100%);
  border-color: rgba(16,140,154,.25);
}
.suw5-icon { font-size: 34px; }
.suw5-label {
  margin-top: 8px;
  color: var(--navy);
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .045em;
}
.suw5-value {
  color: var(--blue);
  font-size: clamp(30px, 3vw, 41px);
  font-weight: 950;
  line-height: 1.05;
  margin: 6px 0;
}
.suw5-note { color: var(--muted); font-size: 13px; }
.suw5-marine {
  background: linear-gradient(135deg, var(--navy), var(--blue));
  color: white;
}
.suw5-marine h2, .suw5-marine .suw5-section-head p { color: white; }
.suw5-marine .suw5-kicker-dark { color: #82eef4; }
.suw5-marine-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}
.suw5-marine-grid div,
.suw5-marine-grid a.suw5-marine-cardlink {
  background: rgba(255,255,255,.96);
  color: var(--text);
  text-align: center;
  border-radius: 16px;
  padding: 20px 12px;
}
.suw5-marine-grid a.suw5-marine-cardlink { text-decoration: none !important; }
.suw5-marine-grid span { display: block; font-size: 32px; }
.suw5-marine-grid a.suw5-marine-cardlink strong,
.suw5-marine-grid strong {
  display: block;
  color: var(--navy);
  margin: 8px 0 4px;
}
.suw5-marine-grid a.suw5-marine-cardlink em,
.suw5-marine-grid em {
  display: block;
  color: var(--muted);
  font-style: normal;
  font-size: 13px;
}
.suw5-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}
.suw5-links a {
  background: var(--gold);
  color: #111 !important;
  text-decoration: none;
  padding: 12px 16px;
  border-radius: 10px;
  font-weight: 950;
}
.suw5-station {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 30px;
}
.suw5-station p {
  line-height: 1.62;
  font-size: 17px;
}
.suw5-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-content: center;
}
.suw5-features span {
  background: #f4f9fb;
  border-radius: 14px;
  padding: 16px;
  font-weight: 900;
  color: var(--navy);
}
@media (max-width: 1100px) {
  .suw5-metrics { grid-template-columns: repeat(2, 1fr); }
  .suw5-marine-grid { grid-template-columns: repeat(2, 1fr); }
  .suw5-station { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .suw5-hero { min-height: 520px; padding: 60px 6%; }
  .suw5-section-head { display: block; }
  .suw5-section-head p { margin-top: 12px; }
  .suw5-metrics, .suw5-marine-grid { grid-template-columns: 1fr; }
  .suw5-features { grid-template-columns: 1fr; }
}


.suw5-linkcards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.suw5-linkcards a {
  display: block;
  background: #f9fcfd;
  border: 1px solid rgba(6,33,63,.08);
  border-radius: 16px;
  padding: 22px 16px;
  text-align: center;
  text-decoration: none;
  color: var(--text) !important;
}
.suw5-linkcards span {
  display: block;
  font-size: 34px;
  margin-bottom: 8px;
}
.suw5-linkcards strong {
  display: block;
  color: var(--navy);
  margin-bottom: 5px;
}
.suw5-linkcards em {
  display: block;
  color: var(--muted);
  font-style: normal;
  font-size: 13px;
}
@media (max-width: 1100px) {
  .suw5-linkcards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .suw5-linkcards { grid-template-columns: 1fr; }
}


.suw5-mini-button {
  display:inline-block;
  background: var(--gold);
  color:#111 !important;
  text-decoration:none;
  padding:12px 16px;
  border-radius:10px;
  font-weight:950;
  align-self:center;
}
.suw5-current-hero {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}
.suw5-current-hero p {
  margin:10px 0 0;
  color:var(--muted);
  font-weight:700;
}
.suw5-current-feature {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin:28px auto;
}
.suw5-current-big {
  background:white;
  border-radius:20px;
  padding:34px;
  text-align:center;
  box-shadow:0 14px 35px rgba(6,33,63,.12);
  border:1px solid rgba(6,33,63,.08);
}
.suw5-current-wind {
  background:linear-gradient(180deg,#ffffff 0%,#eefafe 100%);
  border-color:rgba(16,140,154,.25);
}
.suw5-current-large {
  color:var(--blue);
  font-size:clamp(48px,6vw,74px);
  font-weight:950;
  line-height:1;
  margin:10px 0;
}
.suw5-current-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.suw5-current-grid div {
  background:#f9fcfd;
  border:1px solid rgba(6,33,63,.08);
  border-radius:16px;
  padding:22px 14px;
  text-align:center;
}
.suw5-current-grid span {
  display:block;
  font-size:32px;
  margin-bottom:8px;
}
.suw5-current-grid strong {
  display:block;
  color:var(--blue);
  font-size:28px;
  line-height:1.1;
  margin-bottom:5px;
}
.suw5-current-grid em {
  color:var(--muted);
  font-style:normal;
  font-weight:700;
  font-size:13px;
}
.suw5-lightning-panel {
  background:linear-gradient(135deg,#fff,#f8fbff);
}
@media (max-width:900px) {
  .suw5-current-feature { grid-template-columns:1fr; }
  .suw5-current-grid { grid-template-columns:repeat(2,1fr); }
  .suw5-current-hero { display:block; }
  .suw5-mini-button { margin-top:16px; }
}
@media (max-width:600px) {
  .suw5-current-grid { grid-template-columns:1fr; }
}


.suw5-favorites-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.suw5-favorite-card {
  display: block;
  background: #f9fcfd;
  border: 1px solid rgba(6,33,63,.08);
  border-radius: 18px;
  padding: 24px 18px;
  text-align: center;
  text-decoration: none;
  color: var(--text) !important;
  box-shadow: 0 8px 20px rgba(6,33,63,.08);
}
.suw5-favorite-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(6,33,63,.12);
}
.suw5-favorite-card span {
  display: block;
  font-size: 36px;
  margin-bottom: 8px;
}
.suw5-favorite-card strong {
  display: block;
  color: var(--navy);
  font-size: 20px;
  margin-bottom: 5px;
}
.suw5-favorite-card em {
  display: block;
  color: var(--blue);
  font-style: normal;
  font-weight: 900;
  margin-bottom: 10px;
}
.suw5-favorite-card small {
  display: block;
  color: var(--muted);
  line-height: 1.35;
}
.suw5-cam-note p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.6;
}
@media (max-width: 1000px) {
  .suw5-favorites-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 650px) {
  .suw5-favorites-grid { grid-template-columns: 1fr; }
}


/* V5.7 compact Surf & Marine cards */
.suw5-marine-grid {
  align-items: stretch;
}
.suw5-marine-grid div,
.suw5-marine-grid a.suw5-marine-cardlink {
  min-height: 132px !important;
  padding: 16px 10px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.suw5-marine-grid span {
  font-size: 26px !important;
  margin-bottom: 4px !important;
}
.suw5-marine-grid strong,
.suw5-marine-grid a.suw5-marine-cardlink strong {
  font-size: 19px !important;
  line-height: 1.1 !important;
  margin: 4px 0 3px !important;
  white-space: normal !important;
}
.suw5-marine-grid em,
.suw5-marine-grid a.suw5-marine-cardlink em {
  font-size: 12px !important;
  line-height: 1.25 !important;
}


/* V5.8: final compact Surf & Marine layout */
.suw5-marine {
  padding: 28px 30px !important;
}

.suw5-marine .suw5-section-head {
  margin-bottom: 18px !important;
}

.suw5-marine h2 {
  font-size: clamp(26px, 2.4vw, 36px) !important;
  line-height: 1.08 !important;
}

.suw5-marine .suw5-section-head p {
  font-size: 15px !important;
  line-height: 1.35 !important;
}

.suw5-marine-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

.suw5-marine-grid div,
.suw5-marine-grid a.suw5-marine-cardlink {
  min-height: 118px !important;
  max-height: 132px !important;
  padding: 12px 8px !important;
  border-radius: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.suw5-marine-grid span {
  font-size: 22px !important;
  line-height: 1 !important;
  margin: 0 0 5px !important;
}

.suw5-marine-grid strong,
.suw5-marine-grid a.suw5-marine-cardlink strong {
  font-size: 16px !important;
  line-height: 1.08 !important;
  margin: 2px 0 4px !important;
  color: var(--navy) !important;
  white-space: normal !important;
}

.suw5-marine-grid em,
.suw5-marine-grid a.suw5-marine-cardlink em {
  font-size: 11px !important;
  line-height: 1.15 !important;
  color: var(--muted) !important;
}

.suw5-marine-grid [data-suw-marine="next_tide"],
.suw5-marine-grid [data-suw-marine="next_tide_time"],
.suw5-marine-grid [data-suw-marine="tide_station"] {
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  letter-spacing: normal !important;
}

.suw5-marine-grid [data-suw-marine="next_tide"] {
  font-size: 15px !important;
  font-weight: 900 !important;
}

.suw5-marine-grid [data-suw-marine="next_tide_time"] {
  font-size: 12px !important;
}

.suw5-marine-grid [data-suw-marine="tide_station"] {
  font-size: 10px !important;
}

.suw5-links {
  gap: 10px !important;
  margin-top: 16px !important;
}

.suw5-links a {
  padding: 10px 13px !important;
  font-size: 14px !important;
  border-radius: 9px !important;
}

/* V5.8: keep beach cam page as link cards, not embedded unauthorized streams */
.suw5-favorite-card {
  padding: 18px 14px !important;
}

.suw5-favorite-card strong {
  font-size: 17px !important;
}

.suw5-favorite-card span {
  font-size: 28px !important;
}

@media (max-width: 1100px) {
  .suw5-marine-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .suw5-marine-grid div,
  .suw5-marine-grid a.suw5-marine-cardlink {
    max-height: none !important;
    min-height: 112px !important;
  }
}

@media (max-width: 700px) {
  .suw5-marine-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 480px) {
  .suw5-marine-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V5.9: two-card Beach Cams layout */
.suw5-cams-page .suw5-favorites-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 900px;
  margin: 0 auto;
}

@media (max-width: 700px) {
  .suw5-cams-page .suw5-favorites-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V6.0 Beach Flags */
.suw5-flags-panel {
  background: linear-gradient(135deg, #ffffff 0%, #fff8e4 100%);
}
.suw5-flag-card {
  display: grid;
  grid-template-columns: 260px 1fr auto;
  align-items: center;
  gap: 20px;
  background: #ffffff;
  border: 1px solid rgba(6,33,63,.08);
  border-radius: 18px;
  padding: 22px;
}
.suw5-flag-badge {
  background: linear-gradient(135deg, var(--gold), #d99700);
  color: #111;
  border-radius: 14px;
  padding: 18px 16px;
  text-align: center;
  font-weight: 950;
  font-size: 18px;
}
.suw5-flag-card p {
  margin: 0;
  color: #25344a;
  line-height: 1.5;
  font-weight: 650;
}
.suw5-flag-card a {
  color: var(--blue) !important;
  font-weight: 950;
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 1000px) {
  .suw5-flag-card {
    grid-template-columns: 1fr;
  }
  .suw5-flag-card a {
    white-space: normal;
  }
}


/* V6.2 cleaner hero */
.suw5-subheader-line {
  text-align: center;
  color: var(--navy);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: .02em;
  margin: 6px 0 14px;
}

.suw5-hero {
  min-height: 520px !important;
  padding: 40px 6% 54px !important;
  align-items: flex-end !important;
}

.suw5-hero-content-minimal {
  max-width: none !important;
  width: 100% !important;
  text-align: center !important;
  text-shadow: none !important;
}

.suw5-hero-content-minimal .suw5-kicker,
.suw5-hero-content-minimal h1,
.suw5-hero-content-minimal p {
  display: none !important;
}

.suw5-button-small {
  padding: 11px 18px !important;
  font-size: 14px !important;
  border-radius: 9px !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.18) !important;
}

@media (max-width: 700px) {
  .suw5-subheader-line {
    font-size: 18px;
    margin-bottom: 10px;
  }
  .suw5-hero {
    min-height: 430px !important;
    padding-bottom: 38px !important;
  }
}


/* V6.3: three-card Beach Cams layout */
.suw5-cams-page .suw5-favorites-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: 1100px;
  margin: 0 auto;
}

@media (max-width: 900px) {
  .suw5-cams-page .suw5-favorites-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V6.4: five-card Beach Cams layout */
.suw5-cams-page .suw5-favorites-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  max-width: 1320px;
  margin: 0 auto;
}

.suw5-cams-page .suw5-favorite-card {
  padding: 18px 12px !important;
}

.suw5-cams-page .suw5-favorite-card strong {
  font-size: 16px !important;
}

.suw5-cams-page .suw5-favorite-card small {
  font-size: 12px !important;
}

@media (max-width: 1200px) {
  .suw5-cams-page .suw5-favorites-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 800px) {
  .suw5-cams-page .suw5-favorites-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V6.5: six-card Beach Cams layout */
.suw5-cams-page .suw5-favorites-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: 1120px;
  margin: 0 auto;
}

.suw5-cams-page .suw5-favorite-card {
  padding: 18px 12px !important;
}

.suw5-cams-page .suw5-favorite-card strong {
  font-size: 16px !important;
}

.suw5-cams-page .suw5-favorite-card small {
  font-size: 12px !important;
}

@media (max-width: 900px) {
  .suw5-cams-page .suw5-favorites-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V6.6: eight-card Beach Cams layout */
.suw5-cams-page .suw5-favorites-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  max-width: 1280px;
  margin: 0 auto;
}

.suw5-cams-page .suw5-favorite-card {
  padding: 18px 12px !important;
}

.suw5-cams-page .suw5-favorite-card strong {
  font-size: 16px !important;
}

.suw5-cams-page .suw5-favorite-card small {
  font-size: 12px !important;
}

@media (max-width: 1100px) {
  .suw5-cams-page .suw5-favorites-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .suw5-cams-page .suw5-favorites-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V6.9 Sunrise Photos */
.suw5-sunrise-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 28px auto 0;
}

.suw5-sunrise-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(6,33,63,.08);
  box-shadow: 0 12px 28px rgba(6,33,63,.10);
}

.suw5-sunrise-card img {
  display: block;
  width: 100%;
  height: 280px;
  object-fit: cover;
}

.suw5-sunrise-caption {
  padding: 18px 18px 20px;
}

.suw5-sunrise-caption h3 {
  margin: 0 0 5px;
  color: var(--navy);
  font-size: 21px;
  line-height: 1.15;
}

.suw5-sunrise-date {
  color: var(--blue);
  font-weight: 900;
  font-size: 13px;
  margin-bottom: 8px;
}

.suw5-sunrise-caption p {
  color: var(--muted);
  margin: 0;
  line-height: 1.45;
}

.suw5-sunrise-empty {
  text-align: center;
}

.suw5-sunrise-placeholder {
  font-size: 64px;
  padding: 50px 20px;
  background: linear-gradient(135deg, #fff8e4, #eaf8fb);
  text-align: center;
}

@media (max-width: 1000px) {
  .suw5-sunrise-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .suw5-sunrise-grid {
    grid-template-columns: 1fr;
  }
  .suw5-sunrise-card img {
    height: 240px;
  }
}


/* V7.3: make Sunrise gallery link visible from homepage resource cards */
.suw5-linkcards a[href="/sunrise-at-sunnyside-up/"] {
  background: linear-gradient(135deg, #fffaf0, #f4fbff);
}


/* V7.5: hide WordPress/Kadence page title banners, keep plugin page layout */
body:has(.suw5-current-page) .entry-header,
body:has(.suw5-current-page) .entry-title,
body:has(.suw5-current-page) .page-title,
body:has(.suw5-current-page) .page-header,
body:has(.suw5-current-page) .entry-hero,
body:has(.suw5-current-page) .entry-hero-container-inner,
body:has(.suw5-current-page) .hero-section,
body:has(.suw5-current-page) .content-title-style-above,

body:has(.suw5-cams-page) .entry-header,
body:has(.suw5-cams-page) .entry-title,
body:has(.suw5-cams-page) .page-title,
body:has(.suw5-cams-page) .page-header,
body:has(.suw5-cams-page) .entry-hero,
body:has(.suw5-cams-page) .entry-hero-container-inner,
body:has(.suw5-cams-page) .hero-section,
body:has(.suw5-cams-page) .content-title-style-above,

body:has(.suw5-flags-panel) .entry-header,
body:has(.suw5-flags-panel) .entry-title,
body:has(.suw5-flags-panel) .page-title,
body:has(.suw5-flags-panel) .page-header,
body:has(.suw5-flags-panel) .entry-hero,
body:has(.suw5-flags-panel) .entry-hero-container-inner,
body:has(.suw5-flags-panel) .hero-section,
body:has(.suw5-flags-panel) .content-title-style-above {
  display: none !important;
}

/* Kadence fallback for likely page slugs if :has support is not enough */
body.page-slug-current-weather .entry-header,
body.page-slug-current-weather .entry-title,
body.page-slug-current-weather .page-title,
body.page-slug-current-weather .page-header,
body.page-slug-current-weather .entry-hero,

body.page-slug-beach-cams .entry-header,
body.page-slug-beach-cams .entry-title,
body.page-slug-beach-cams .page-title,
body.page-slug-beach-cams .page-header,
body.page-slug-beach-cams .entry-hero,

body.page-slug-beach-flags .entry-header,
body.page-slug-beach-flags .entry-title,
body.page-slug-beach-flags .page-title,
body.page-slug-beach-flags .page-header,
body.page-slug-beach-flags .entry-hero {
  display: none !important;
}

body:has(.suw5-current-page) .content-area,
body:has(.suw5-current-page) .site-main,
body:has(.suw5-current-page) .entry-content,
body:has(.suw5-cams-page) .content-area,
body:has(.suw5-cams-page) .site-main,
body:has(.suw5-cams-page) .entry-content,
body:has(.suw5-flags-panel) .content-area,
body:has(.suw5-flags-panel) .site-main,
body:has(.suw5-flags-panel) .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}


/* V7.6 Contact button */
.suw5-contact-strip {
  text-align: center;
  margin: 34px auto 18px;
  padding: 24px 18px;
}

.suw5-contact-button {
  display: inline-block;
  background: var(--gold);
  color: #111 !important;
  text-decoration: none;
  font-weight: 950;
  padding: 13px 20px;
  border-radius: 10px;
  box-shadow: 0 10px 22px rgba(6,33,63,.12);
}

.suw5-contact-button:hover {
  transform: translateY(-1px);
}

.suw5-contact-email {
  margin-top: 10px;
  color: var(--muted);
  font-weight: 800;
  font-size: 14px;
}

/* Hide Kadence/WordPress Contact nav item if it appears outside wp_nav_menu filter */
.menu-item a[href$="/contact/"],
.menu-item a[href*="/contact/"] {
  display: none !important;
}


/* V7.7: Sunrise page title banner and Contact nav cleanup */
body:has(.suw5-sunrise-page) .entry-header,
body:has(.suw5-sunrise-page) .entry-title,
body:has(.suw5-sunrise-page) .page-title,
body:has(.suw5-sunrise-page) .page-header,
body:has(.suw5-sunrise-page) .entry-hero,
body:has(.suw5-sunrise-page) .entry-hero-container-inner,
body:has(.suw5-sunrise-page) .hero-section,
body:has(.suw5-sunrise-page) .content-title-style-above {
  display: none !important;
}

body:has(.suw5-sunrise-page) .content-area,
body:has(.suw5-sunrise-page) .site-main,
body:has(.suw5-sunrise-page) .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.wp-block-navigation a[href$="/contact/"],
.wp-block-navigation a[href*="/contact/"],
nav a[href$="/contact/"],
nav a[href*="/contact/"] {
  display: none !important;
}


/* V7.8: hide About nav link fallback */
.wp-block-navigation a[href$="/about/"],
.wp-block-navigation a[href*="/about/"],
nav a[href$="/about/"],
nav a[href*="/about/"],
.menu-item a[href$="/about/"],
.menu-item a[href*="/about/"] {
  display: none !important;
}


/* V8.3 Safe hero/nav */
.suw5-hero {
  background-size: cover !important;
  background-position: center center !important;
  image-rendering: auto !important;
}
.suw5-hero .suw5-overlay {
  opacity: 0.18 !important;
  background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.22)) !important;
}
.suw5-home-menu-item,
.suw5-photos-menu-item {
  font-weight: 700;
}


/* V8.5 reliable in-page top navigation */
.suw5-site-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 26px;
  padding: 14px 12px 18px;
  margin: 0 auto 8px;
  font-weight: 850;
  letter-spacing: .01em;
}

.suw5-site-nav a {
  color: var(--navy) !important;
  text-decoration: none;
}

.suw5-site-nav a:hover {
  color: var(--blue) !important;
}

/* V8.5 photos only: no names, dates, or captions */
.suw5-sunrise-card {
  line-height: 0;
}

.suw5-sunrise-card img {
  height: 320px !important;
}

.suw5-sunrise-caption,
.suw5-sunrise-date {
  display: none !important;
}

@media (max-width: 800px) {
  .suw5-site-nav {
    flex-wrap: wrap;
    gap: 14px 20px;
    font-size: 14px;
  }
  .suw5-sunrise-card img {
    height: 260px !important;
  }
}


/* V8.6: visible header supplement for Home and Photos */
.suw5-header-supplement {
  display: inline-flex !important;
  align-items: center;
  gap: 26px;
  margin-right: 26px;
}

.suw5-header-supplement a {
  color: inherit !important;
  text-decoration: none !important;
  font: inherit !important;
  white-space: nowrap;
}

.suw5-header-supplement a:hover {
  color: var(--blue) !important;
}

/* V8.6: keep Photos page image-only */
.suw5-sunrise-caption,
.suw5-sunrise-date {
  display: none !important;
}

.suw5-sunrise-card {
  line-height: 0 !important;
}


/* V8.7: clean single-row header navigation */
.suw5-header-supplement {
  display: contents !important;
  margin: 0 !important;
  gap: 0 !important;
}

.suw5-clean-header-nav,
header nav.suw5-clean-header-nav,
.site-header nav.suw5-clean-header-nav,
#masthead nav.suw5-clean-header-nav,
.wp-block-navigation.suw5-clean-header-nav {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 26px !important;
  white-space: nowrap !important;
}

.suw5-clean-header-nav a,
.suw5-clean-header-nav .suw5-header-link {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

@media (max-width: 900px) {
  .suw5-clean-header-nav,
  header nav.suw5-clean-header-nav,
  .site-header nav.suw5-clean-header-nav,
  #masthead nav.suw5-clean-header-nav,
  .wp-block-navigation.suw5-clean-header-nav {
    gap: 14px !important;
    font-size: 14px !important;
  }
}


/* V8.8: single clean top navigation row */
.suw5-header-supplement,
.suw5-clean-header-nav .suw5-header-supplement {
  display: none !important;
}

header nav.suw5-main-clean-nav,
.site-header nav.suw5-main-clean-nav,
#masthead nav.suw5-main-clean-nav,
nav.suw5-main-clean-nav,
.wp-block-navigation.suw5-main-clean-nav {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 28px !important;
  width: auto !important;
  white-space: nowrap !important;
}

nav.suw5-main-clean-nav a,
.suw5-main-clean-nav a {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #2c3a53 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}

.suw5-main-clean-nav a:hover {
  color: var(--blue) !important;
}

@media (max-width: 900px) {
  header nav.suw5-main-clean-nav,
  .site-header nav.suw5-main-clean-nav,
  #masthead nav.suw5-main-clean-nav,
  nav.suw5-main-clean-nav,
  .wp-block-navigation.suw5-main-clean-nav {
    gap: 14px !important;
    font-size: 13px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
}


/* V9.8: fast rollback, contact at bottom of every shortcode page */
.suw5 .suw5-contact-strip {
  text-align: center;
  margin: 44px auto 12px !important;
  padding: 24px 18px !important;
}
.suw5 .suw5-contact-button {
  display: inline-block;
  background: var(--gold);
  color: #111 !important;
  text-decoration: none;
  font-weight: 950;
  padding: 13px 20px;
  border-radius: 10px;
  box-shadow: 0 10px 22px rgba(6,33,63,.12);
}
.suw5 .suw5-contact-email {
  margin-top: 10px;
  color: var(--muted);
  font-weight: 800;
  font-size: 14px;
}
.suw5-tide-card [data-suw-marine="next_tide"] {
  font-size: 14px !important;
  line-height: 1.15 !important;
  color: var(--navy) !important;
  font-weight: 950 !important;
}


/* V9.9: reliable bottom contact button across Sunnyside Up pages */
#suw5-global-contact-bottom,
.suw5-global-contact-bottom {
  max-width: 1120px !important;
  margin: 42px auto 18px !important;
  padding: 26px 18px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

#suw5-global-contact-bottom .suw5-global-contact-button,
.suw5-global-contact-button {
  display: inline-block !important;
  background: #f2b632 !important;
  color: #111111 !important;
  text-decoration: none !important;
  font-weight: 950 !important;
  padding: 14px 22px !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 22px rgba(6,33,63,.12) !important;
  line-height: 1.1 !important;
}

#suw5-global-contact-bottom .suw5-global-contact-button:hover,
.suw5-global-contact-button:hover {
  filter: brightness(.97) !important;
  transform: translateY(-1px);
}

#suw5-global-contact-bottom .suw5-global-contact-email,
.suw5-global-contact-email {
  margin-top: 10px !important;
  color: #667085 !important;
  font-weight: 800 !important;
  font-size: 14px !important;
}


/* V10.0: hide visible contact email; button remains active */
.suw5-global-contact-email,
.suw5-contact-email {
  display: none !important;
}


/* V10.1: tide updates asynchronously after page load; visible email hidden */
.suw5-global-contact-email,
.suw5-contact-email {
  display: none !important;
}
.suw5-tide-card [data-suw-marine="next_tide"] {
  font-size: 14px !important;
  line-height: 1.15 !important;
  color: var(--navy) !important;
  font-weight: 950 !important;
}
.suw5-tide-card [data-suw-marine="next_tide_time"] {
  color: var(--blue) !important;
  font-weight: 850 !important;
}


/* V10.2: polished About the Station section */
.suw5-station h2 {
  letter-spacing: -0.02em;
}
.suw5-station p {
  max-width: 760px;
}


/* V10.3: polished coastal weather dashboard design */
:root {
  --navy: #14324A;
  --blue: #2F80A8;
  --sky: #F4FAFC;
  --sand: #F3D8A6;
  --gold: #F2B632;
  --muted: #667085;
  --line: rgba(20, 50, 74, .10);
  --card-shadow: 0 14px 34px rgba(20, 50, 74, .10);
  --card-shadow-soft: 0 8px 22px rgba(20, 50, 74, .08);
  --radius: 20px;
}

body {
  background: var(--sky) !important;
}

/* Header/nav polish */
header,
.site-header,
#masthead {
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: 0 6px 22px rgba(20,50,74,.04) !important;
}

.site-title,
.site-title a,
.site-branding a {
  color: var(--navy) !important;
  font-weight: 850 !important;
  letter-spacing: -0.02em !important;
}

nav.suw5-main-clean-nav a,
.suw5-main-clean-nav a {
  color: var(--navy) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  letter-spacing: .01em !important;
  position: relative !important;
  padding-bottom: 4px !important;
}

.suw5-main-clean-nav a::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -3px !important;
  height: 2px !important;
  background: var(--blue) !important;
  border-radius: 999px !important;
  opacity: 0 !important;
  transform: scaleX(.65) !important;
  transition: opacity .18s ease, transform .18s ease !important;
}

.suw5-main-clean-nav a:hover {
  color: var(--blue) !important;
}

.suw5-main-clean-nav a:hover::after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

/* Global page frame */
.suw5 {
  color: var(--navy) !important;
  background: transparent !important;
}

.suw5-section,
.suw5-panel,
.suw5-card,
.suw5-marine-card,
.suw5-weather-card,
.suw5-feature-card,
.suw5-live-card,
.suw5-link-card,
.suw5-photo-card,
.suw5-cam-card,
.suw5-flag-card {
  border-radius: var(--radius) !important;
  border: 1px solid var(--line) !important;
  box-shadow: var(--card-shadow-soft) !important;
  background: rgba(255,255,255,.96) !important;
}

.suw5-panel {
  box-shadow: var(--card-shadow) !important;
}

/* Hero polish */
.suw5-hero {
  border-radius: 28px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 48px rgba(20,50,74,.16) !important;
}

.suw5-hero::before {
  background: linear-gradient(90deg, rgba(20,50,74,.78), rgba(20,50,74,.36) 52%, rgba(20,50,74,.18)) !important;
}

.suw5-hero h1 {
  letter-spacing: -0.045em !important;
  line-height: .96 !important;
}

.suw5-hero p {
  color: rgba(255,255,255,.91) !important;
  font-weight: 650 !important;
}

.suw5-hero .suw5-cta,
.suw5-button,
.suw5-primary-button {
  border-radius: 999px !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 26px rgba(20,50,74,.18) !important;
}

/* Cards and dashboard hierarchy */
.suw5-dashboard,
.suw5-grid,
.suw5-weather-grid,
.suw5-marine-grid {
  gap: 18px !important;
}

.suw5-card strong,
.suw5-weather-card strong,
.suw5-marine-card strong,
.suw5-live-card strong {
  color: var(--navy) !important;
  letter-spacing: -0.02em !important;
}

.suw5-card em,
.suw5-weather-card em,
.suw5-marine-card em,
.suw5-live-card em {
  color: var(--muted) !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

.suw5-card span,
.suw5-weather-card span,
.suw5-marine-card span {
  color: var(--blue) !important;
}

/* Marine section */
.suw5-marine-card,
.suw5-marine-cardlink {
  border-radius: 18px !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.suw5-marine-card:hover,
.suw5-marine-cardlink:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--card-shadow) !important;
  border-color: rgba(47,128,168,.24) !important;
}

/* About/station section */
.suw5-station {
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(244,250,252,.96)) !important;
  border: 1px solid rgba(20,50,74,.10) !important;
  box-shadow: var(--card-shadow) !important;
}

.suw5-kicker-dark {
  color: var(--blue) !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.suw5-station h2 {
  color: var(--navy) !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
}

.suw5-station p {
  color: #43566A !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.suw5-features {
  gap: 10px !important;
}

.suw5-features span {
  background: rgba(47,128,168,.08) !important;
  color: var(--navy) !important;
  border: 1px solid rgba(47,128,168,.16) !important;
  border-radius: 999px !important;
  font-weight: 850 !important;
  padding: 10px 14px !important;
}

/* Contact button only */
#suw5-global-contact-bottom,
.suw5-global-contact-bottom,
.suw5 .suw5-contact-strip {
  margin-top: 46px !important;
  margin-bottom: 20px !important;
  padding: 24px 18px !important;
}

.suw5-global-contact-button,
.suw5-contact-button,
#suw5-global-contact-bottom .suw5-global-contact-button {
  background: var(--gold) !important;
  color: #111 !important;
  border-radius: 999px !important;
  padding: 14px 24px !important;
  font-weight: 950 !important;
  letter-spacing: .005em !important;
  box-shadow: 0 14px 28px rgba(20,50,74,.14) !important;
}

.suw5-global-contact-button:hover,
.suw5-contact-button:hover {
  transform: translateY(-1px) !important;
  filter: brightness(.98) !important;
}

/* Hide visible email text while preserving mailto button */
.suw5-global-contact-email,
.suw5-contact-email {
  display: none !important;
}

/* Photos polish */
.suw5-photo-grid img,
.suw5-gallery img {
  border-radius: 18px !important;
  box-shadow: var(--card-shadow-soft) !important;
}

/* Page title/banner suppression remains intentional on plugin pages */
body:has(.suw5) .entry-header,
body:has(.suw5) .page-header,
body:has(.suw5) .entry-title,
body:has(.suw5) .page-title {
  display: none !important;
}

@media (max-width: 760px) {
  .suw5-hero {
    border-radius: 22px !important;
  }

  .suw5-dashboard,
  .suw5-grid,
  .suw5-weather-grid,
  .suw5-marine-grid {
    gap: 14px !important;
  }

  .suw5-section,
  .suw5-panel,
  .suw5-card,
  .suw5-marine-card,
  .suw5-weather-card {
    border-radius: 16px !important;
  }
}


/* V10.4: remove small uppercase section labels/site-eyebrows */
.suw5-kicker,
.suw5-kicker-dark,
.suw5-section-kicker,
.suw5-eyebrow,
.suw5-label,
.suw5-panel-label {
  display: none !important;
}

/* Keep main headings clean after removing small labels */
.suw5 h1,
.suw5 h2 {
  margin-top: 0 !important;
}

/* V10.4: restore strong Surf & Marine Conditions card/block layout */
.suw5-marine-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(130px, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
  margin-top: 20px !important;
}

.suw5-marine-grid > div,
.suw5-marine-grid > a,
.suw5-marine-card,
.suw5-marine-cardlink {
  background: #ffffff !important;
  border: 1px solid rgba(20, 50, 74, .12) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 24px rgba(20, 50, 74, .08) !important;
  min-height: 130px !important;
  padding: 20px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

.suw5-marine-grid > div span,
.suw5-marine-grid > a span,
.suw5-marine-card span,
.suw5-marine-cardlink span {
  display: block !important;
  font-size: 24px !important;
  line-height: 1 !important;
  margin-bottom: 10px !important;
  color: #2F80A8 !important;
}

.suw5-marine-grid > div strong,
.suw5-marine-grid > a strong,
.suw5-marine-card strong,
.suw5-marine-cardlink strong {
  display: block !important;
  color: #14324A !important;
  font-size: 17px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
  margin-bottom: 7px !important;
}

.suw5-marine-grid > div em,
.suw5-marine-grid > a em,
.suw5-marine-card em,
.suw5-marine-cardlink em {
  display: block !important;
  color: #667085 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-style: normal !important;
  font-weight: 750 !important;
}

.suw5-marine-grid > div:hover,
.suw5-marine-grid > a:hover,
.suw5-marine-card:hover,
.suw5-marine-cardlink:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(47, 128, 168, .28) !important;
  box-shadow: 0 16px 32px rgba(20, 50, 74, .12) !important;
}

/* The Marine panel itself remains a polished panel */
.suw5-marine,
.suw5-surf-marine,
.suw5-panel.suw5-marine {
  background: linear-gradient(135deg, #ffffff, #f7fbfd) !important;
  border: 1px solid rgba(20, 50, 74, .10) !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 34px rgba(20, 50, 74, .10) !important;
}

/* Keep the yellow resource buttons clean and separated from marine data cards */
.suw5-marine-actions,
.suw5-marine-links {
  margin-top: 16px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.suw5-marine-actions a,
.suw5-marine-links a {
  background: #F2B632 !important;
  color: #111 !important;
  border-radius: 999px !important;
  padding: 12px 16px !important;
  font-weight: 950 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(20, 50, 74, .10) !important;
}

@media (max-width: 1100px) {
  .suw5-marine-grid {
    grid-template-columns: repeat(3, minmax(150px, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .suw5-marine-grid {
    grid-template-columns: repeat(2, minmax(130px, 1fr)) !important;
  }
}

@media (max-width: 460px) {
  .suw5-marine-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V10.5: restore clean Surf & Marine Conditions title only */
.suw5-marine-title {
  display: block !important;
  color: #14324A !important;
  font-size: clamp(26px, 3vw, 40px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
  font-weight: 950 !important;
  margin: 0 0 18px !important;
}

.suw5-marine-title::after {
  content: "Marine data, tide resources, and forecast tools for Nags Head and the Outer Banks.";
  display: block;
  color: #667085;
  font-size: 16px;
  line-height: 1.45;
  letter-spacing: 0;
  font-weight: 750;
  margin-top: 8px;
  max-width: 680px;
}

/* Keep this title visible even though other small labels are hidden */
.suw5-marine .suw5-marine-title,
.suw5-panel .suw5-marine-title {
  display: block !important;
}


/* V10.6: add breathing room below the About/Station headline */
.suw5-station h2 {
  margin-bottom: 22px !important;
}

.suw5-station h2 + p {
  margin-top: 0 !important;
}


/* V10.7: final header and spacing refinements */

/* Make top site title larger and more balanced with page headings */
.site-title,
.site-title a,
.site-branding a,
.wp-block-site-title,
.wp-block-site-title a {
  font-size: 30px !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: -0.035em !important;
  color: #14324A !important;
}

/* Tighten Surf & Marine Conditions top spacing */
.suw5-marine,
.suw5-surf-marine,
.suw5-panel.suw5-marine {
  padding-top: 26px !important;
}

.suw5-marine-title {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

/* Hide/neutralize any faint leftover old marine heading ghosting */
.suw5-marine > h1:first-child,
.suw5-marine > h2:first-child,
.suw5-surf-marine > h1:first-child,
.suw5-surf-marine > h2:first-child {
  margin-top: 0 !important;
}

/* Remove extra blank space above first visible element inside marine panel */
.suw5-marine > *:first-child,
.suw5-surf-marine > *:first-child,
.suw5-panel.suw5-marine > *:first-child {
  margin-top: 0 !important;
}

/* Slightly reduce subtitle spacing under Surf & Marine Conditions */
.suw5-marine-title::after {
  margin-top: 6px !important;
}

/* Keep About headline spacing after period removal */
.suw5-station h2 {
  margin-bottom: 22px !important;
}


/* V10.8: remove ghost marine heading space */
.suw5-marine,
.suw5-surf-marine,
.suw5-panel.suw5-marine {
  padding-top: 22px !important;
}

/* Hide and collapse any old marine header/introduction wrappers that remain */
.suw5-marine-head,
.suw5-marine-copy,
.suw5-marine-intro,
.suw5-surf-marine .suw5-panel-head,
.suw5-marine .suw5-panel-head {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Force the replacement title to sit at the top of the panel */
.suw5-marine-title {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
  padding-top: 0 !important;
}

/* Remove top margin/padding from any first children before the marine title */
.suw5-panel.suw5-marine > :first-child,
.suw5-marine > :first-child,
.suw5-surf-marine > :first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Kill invisible old white heading text if it survives in an unknown wrapper */
.suw5-marine h1:not(.suw5-marine-title),
.suw5-marine h2:not(.suw5-marine-title),
.suw5-surf-marine h1:not(.suw5-marine-title),
.suw5-surf-marine h2:not(.suw5-marine-title) {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}


/* V10.9: rip current risk colors */
.suw5-risk-low,
.suw5-flag-risk.suw5-risk-low,
.suw5-risk-badge.suw5-risk-low,
.suw5-risk-pill.suw5-risk-low,
.suw5-risk-level.suw5-risk-low,
.suw5-flag-status.suw5-risk-low,
.suw5-risk-badge-auto.suw5-risk-low {
  background: #2EAD5B !important;
  color: #ffffff !important;
  border-color: rgba(46, 173, 91, .35) !important;
}

.suw5-risk-moderate,
.suw5-flag-risk.suw5-risk-moderate,
.suw5-risk-badge.suw5-risk-moderate,
.suw5-risk-pill.suw5-risk-moderate,
.suw5-risk-level.suw5-risk-moderate,
.suw5-flag-status.suw5-risk-moderate,
.suw5-risk-badge-auto.suw5-risk-moderate {
  background: #F2B632 !important;
  color: #111111 !important;
  border-color: rgba(242, 182, 50, .40) !important;
}

.suw5-risk-high,
.suw5-flag-risk.suw5-risk-high,
.suw5-risk-badge.suw5-risk-high,
.suw5-risk-pill.suw5-risk-high,
.suw5-risk-level.suw5-risk-high,
.suw5-flag-status.suw5-risk-high,
.suw5-risk-badge-auto.suw5-risk-high {
  background: #D92D20 !important;
  color: #ffffff !important;
  border-color: rgba(217, 45, 32, .40) !important;
}

.suw5-risk-unknown,
.suw5-flag-risk.suw5-risk-unknown,
.suw5-risk-badge.suw5-risk-unknown,
.suw5-risk-pill.suw5-risk-unknown,
.suw5-risk-level.suw5-risk-unknown,
.suw5-flag-status.suw5-risk-unknown,
.suw5-risk-badge-auto.suw5-risk-unknown {
  background: #667085 !important;
  color: #ffffff !important;
}

.suw5-flag-risk,
.suw5-risk-badge,
.suw5-risk-pill,
.suw5-risk-level,
.suw5-flag-status,
.suw5-risk-badge-auto {
  border-radius: 16px !important;
  font-weight: 950 !important;
  text-align: center !important;
}

@media (max-width: 760px) {
  .suw5-flag-risk,
  .suw5-risk-badge,
  .suw5-risk-pill,
  .suw5-risk-level,
  .suw5-flag-status,
  .suw5-risk-badge-auto {
    font-size: 20px !important;
    line-height: 1.25 !important;
    padding: 22px 18px !important;
  }
}


/* V10.10: visual-only spacing polish for homepage cards */
.suw5-wind,
.suw5-current-wind {
  background: #ffffff !important;
  border-color: rgba(6,33,63,.08) !important;
}

/* Center the tide card like the other marine cards without changing tide logic */
.suw5-marine-grid > div:nth-child(4) {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  gap: 4px !important;
}

.suw5-marine-grid > div:nth-child(4) > span {
  margin: 0 0 4px !important;
}

.suw5-marine-grid > div:nth-child(4) > strong {
  margin: 2px 0 2px !important;
}

.suw5-marine-grid > div:nth-child(4) > em {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 3px !important;
  margin: 0 !important;
}

.suw5-marine-grid > div:nth-child(4) > em br {
  display: none !important;
}

.suw5-marine-grid > div:nth-child(4) [data-suw-marine="next_tide_time"] {
  display: block !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.suw5-marine-grid > div:nth-child(4) [data-suw-marine="tide_station"] {
  display: block !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}


/* V10.11: CSS-only visual alignment fix.
   No tide API/script logic changed. */

/* Force all wind cards to match the other white Current Conditions cards */
.suw5 .suw5-metric.suw5-wind,
.suw5 .suw5-wind,
.suw5 .suw5-current-big.suw5-current-wind,
.suw5 .suw5-current-wind {
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(6,33,63,.08) !important;
  box-shadow: 0 14px 35px rgba(6,33,63,.12) !important;
}

/* Keep value/icon treatment normal after removing wind highlight */
.suw5 .suw5-wind .suw5-value,
.suw5 .suw5-current-wind .suw5-current-large {
  color: var(--blue) !important;
}

/* Center the tide card content like the other Surf & Marine cards */
.suw5 .suw5-marine-grid > div:nth-child(4) {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* Normalize the vertical rhythm inside the tide card only */
.suw5 .suw5-marine-grid > div:nth-child(4) > span {
  display: block !important;
  margin: 0 0 6px !important;
  line-height: 1 !important;
}

.suw5 .suw5-marine-grid > div:nth-child(4) > strong {
  display: block !important;
  margin: 0 0 5px !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

.suw5 .suw5-marine-grid > div:nth-child(4) > em {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  margin: 0 !important;
  line-height: 1.15 !important;
  text-align: center !important;
}

.suw5 .suw5-marine-grid > div:nth-child(4) > em br {
  display: none !important;
}

.suw5 .suw5-marine-grid > div:nth-child(4) [data-suw-marine="next_tide_time"],
.suw5 .suw5-marine-grid > div:nth-child(4) [data-suw-marine="tide_station"] {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}


/* V10.12: NWS alerts banner and tasteful aggregate visitor counter */
.suw5-alerts-banner {
  max-width: 1180px;
  margin: 18px auto 28px;
  border-radius: 18px;
  padding: 16px 18px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  box-shadow: 0 12px 28px rgba(6,33,63,.10);
  border: 1px solid rgba(6,33,63,.10);
}

.suw5-alerts-icon {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.72);
  font-size: 21px;
}

.suw5-alerts-copy strong {
  display: block;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.2;
  font-weight: 950;
}

.suw5-alerts-copy span {
  display: block;
  color: #405369;
  margin-top: 3px;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700;
}

.suw5-alerts-banner a {
  background: rgba(255,255,255,.82);
  color: var(--navy) !important;
  text-decoration: none !important;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 950;
  white-space: nowrap;
}

.suw5-alerts-neutral {
  background: linear-gradient(135deg, #f2fbf5, #ffffff);
}

.suw5-alerts-alert,
.suw5-alerts-advisory {
  background: linear-gradient(135deg, #fff8dd, #ffffff);
  border-color: rgba(242,182,50,.40);
}

.suw5-alerts-watch {
  background: linear-gradient(135deg, #fff0dd, #ffffff);
  border-color: rgba(239,125,34,.40);
}

.suw5-alerts-warning {
  background: linear-gradient(135deg, #fff0f0, #ffffff);
  border-color: rgba(217,45,32,.42);
}

.suw5-global-contact-bottom .suw5-visitor-counter {
  margin-top: 12px;
  color: #627186;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: .01em;
}

@media (max-width: 760px) {
  .suw5-alerts-banner {
    grid-template-columns: auto 1fr;
    gap: 12px;
  }
  .suw5-alerts-banner a {
    grid-column: 1 / -1;
    text-align: center;
  }
}


/* V10.13: wording support for three-town OBX weather alerts banner */
.suw5-alerts-copy span {
  max-width: 850px;
}


/* V10.14: make NWS Alerts clearly clickable */
.suw5-alerts-clickable {
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.suw5-alerts-clickable:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(6,33,63,.15);
  border-color: rgba(11,95,138,.28);
}

.suw5-alerts-clickable:focus {
  outline: 3px solid rgba(11,95,138,.25);
  outline-offset: 3px;
}

.suw5-alerts-button,
.suw5-alerts-banner a.suw5-alerts-button {
  background: var(--blue) !important;
  color: #ffffff !important;
  border: 2px solid rgba(255,255,255,.85) !important;
  box-shadow: 0 8px 18px rgba(6,33,63,.16) !important;
  padding: 12px 18px !important;
  font-size: 15px !important;
  letter-spacing: .01em !important;
}

.suw5-alerts-button:hover,
.suw5-alerts-banner a.suw5-alerts-button:hover {
  background: var(--navy) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}


@media (max-width: 760px) {
  .suw5-alerts-button,
  .suw5-alerts-banner a.suw5-alerts-button {
    width: 100%;
    display: block !important;
    padding: 13px 18px !important;
  }
}


/* V10.15: NWS alert button link target fixed to public weather.gov alerts page */
.suw5-alerts-button {
  text-decoration: none !important;
}


/* V10.17: stable inline NWS alert details */
.suw5-alerts-button,
.suw5-alerts-banner button.suw5-alerts-button {
  appearance: none !important;
  border: 0 !important;
  cursor: pointer !important;
  font-family: inherit !important;
}

.suw5-alerts-button:disabled,
.suw5-alerts-banner button.suw5-alerts-button:disabled {
  cursor: default !important;
  opacity: .72 !important;
  background: rgba(255,255,255,.82) !important;
  color: #405369 !important;
  box-shadow: none !important;
}

.suw5-alert-details {
  max-width: 1180px;
  margin: -12px auto 28px;
  background: #ffffff;
  border: 1px solid rgba(6,33,63,.10);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(6,33,63,.10);
  padding: 18px;
}

.suw5-alert-detail-card {
  padding: 18px;
  border-radius: 15px;
  background: #f9fcfd;
  border: 1px solid rgba(6,33,63,.08);
  margin: 0 0 14px;
}

.suw5-alert-detail-card:last-child {
  margin-bottom: 0;
}

.suw5-alert-detail-card h3 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 22px;
  line-height: 1.15;
}

.suw5-alert-detail-headline {
  color: #26384d;
  font-weight: 900;
  line-height: 1.35;
  margin-bottom: 10px;
}

.suw5-alert-detail-areas,
.suw5-alert-detail-time {
  color: var(--blue);
  font-weight: 850;
  font-size: 13px;
  margin-bottom: 8px;
}

.suw5-alert-detail-card p {
  color: #405369;
  line-height: 1.5;
  font-weight: 650;
  margin: 10px 0 0;
}

.suw5-alert-detail-instruction {
  background: #fff8dd;
  border-left: 4px solid var(--gold);
  padding: 10px 12px;
  border-radius: 10px;
}

.suw5-alert-detail-card small {
  display: block;
  color: var(--muted);
  margin-top: 12px;
  font-weight: 800;
}


/* V10.18: Local Radar section */
.suw5-radar-panel {
  background: linear-gradient(135deg, #ffffff 0%, #f4fbff 100%);
}

.suw5-radar-frame-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(6,33,63,.10);
  box-shadow: 0 12px 28px rgba(6,33,63,.10);
  background: #eef6fa;
}

.suw5-radar-frame {
  display: block;
  width: 100%;
  height: 460px;
  border: 0;
}

.suw5-radar-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 14px;
  flex-wrap: wrap;
}

.suw5-radar-actions a {
  display: inline-block;
  background: var(--blue);
  color: #ffffff !important;
  text-decoration: none !important;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(6,33,63,.14);
}

.suw5-radar-actions a:hover {
  background: var(--navy);
  color: #ffffff !important;
}

.suw5-radar-actions span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 750;
  max-width: 620px;
}

@media (max-width: 760px) {
  .suw5-radar-frame {
    height: 360px;
  }

  .suw5-radar-actions a {
    width: 100%;
    text-align: center;
  }
}


/* V10.19: ensure Local Radar section displays cleanly */
#suw5-local-radar.suw5-radar-panel {
  display: block !important;
}

.suw5-radar-panel {
  background: linear-gradient(135deg, #ffffff 0%, #f4fbff 100%) !important;
}

.suw5-radar-frame-wrap {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  border: 1px solid rgba(6,33,63,.10) !important;
  box-shadow: 0 12px 28px rgba(6,33,63,.10) !important;
  background: #eef6fa !important;
}

.suw5-radar-frame {
  display: block !important;
  width: 100% !important;
  height: 460px !important;
  border: 0 !important;
}

.suw5-radar-actions {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 14px !important;
  flex-wrap: wrap !important;
}

.suw5-radar-actions a {
  display: inline-block !important;
  background: var(--blue) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  font-weight: 950 !important;
  box-shadow: 0 8px 18px rgba(6,33,63,.14) !important;
}

.suw5-radar-actions a:hover {
  background: var(--navy) !important;
  color: #ffffff !important;
}

.suw5-radar-actions span {
  color: var(--muted) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
  max-width: 620px !important;
}

@media (max-width: 760px) {
  .suw5-radar-frame {
    height: 360px !important;
  }

  .suw5-radar-actions a {
    width: 100% !important;
    text-align: center !important;
  }
}


/* V10.20: Current Conditions independent refresh control */
.suw5-refresh-status,
#suw5-status.suw5-refresh-status {
  appearance: none !important;
  border: 1px solid rgba(11,95,138,.18) !important;
  background: #f4fbff !important;
  color: var(--blue) !important;
  border-radius: 999px !important;
  padding: 10px 14px !important;
  font: inherit !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  text-align: center !important;
  box-shadow: 0 6px 14px rgba(6,33,63,.07) !important;
}

.suw5-refresh-status:hover,
#suw5-status.suw5-refresh-status:hover {
  background: #eaf8fb !important;
  border-color: rgba(11,95,138,.32) !important;
  transform: translateY(-1px);
}

.suw5-refresh-status:focus,
#suw5-status.suw5-refresh-status:focus {
  outline: 3px solid rgba(11,95,138,.20) !important;
  outline-offset: 3px !important;
}

.suw5-refresh-status.suw5-is-refreshing {
  opacity: .78 !important;
  cursor: wait !important;
}

/* When the radar description line is removed, keep the section heading balanced */
.suw5-radar-panel .suw5-section-head {
  align-items: center !important;
}

.suw5-radar-panel .suw5-section-head p:empty {
  display: none !important;
}


/* V10.21: Current Weather page refresh status */
.suw5-current-page-refresh {
  margin-top: 10px !important;
  display: inline-block !important;
}

.suw5-current-hero .suw5-refresh-status {
  max-width: 100% !important;
}


/* V10.25: reliable Moonrise/Moonset panel + equal Current Weather blocks */
.suw5-current-grid {
  align-items: stretch !important;
}

.suw5-current-grid > div {
  min-height: 138px !important;
  max-height: 170px !important;
  height: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.suw5-current-grid > div strong {
  font-size: clamp(22px, 2.4vw, 28px) !important;
  line-height: 1.08 !important;
  overflow-wrap: anywhere !important;
}

.suw5-sun-moon-panel {
  background: linear-gradient(135deg, #ffffff 0%, #fffaf0 100%) !important;
}

.suw5-sun-moon-panel .suw5-section-head {
  margin-bottom: 18px !important;
}

.suw5-sun-moon-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.suw5-sun-moon-grid > div {
  min-height: 132px !important;
  max-height: 154px !important;
  background: #ffffff !important;
  border: 1px solid rgba(6,33,63,.08) !important;
  border-radius: 16px !important;
  padding: 20px 14px !important;
  text-align: center !important;
  box-shadow: 0 10px 24px rgba(6,33,63,.08) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.suw5-sun-moon-grid span {
  display: block !important;
  font-size: 30px !important;
  margin-bottom: 8px !important;
}

.suw5-sun-moon-grid strong {
  display: block !important;
  color: var(--blue) !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  margin-bottom: 6px !important;
  white-space: nowrap !important;
}

.suw5-sun-moon-grid em {
  color: var(--muted) !important;
  font-style: normal !important;
  font-weight: 850 !important;
  font-size: 13px !important;
}

.suw5-sun-moon-credit {
  margin-top: 12px !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  text-align: center !important;
}

@media (max-width: 900px) {
  .suw5-sun-moon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  .suw5-sun-moon-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V10.26: Daily Ocean Safety update refresh window/status */
.suw5-beach-safety-status {
  margin: 14px 0 18px !important;
  padding: 14px !important;
  border: 1px solid rgba(11,95,138,.12) !important;
  border-radius: 18px !important;
  background: rgba(244,251,255,.78) !important;
}

.suw5-beach-refresh-button {
  width: 100% !important;
  display: block !important;
}

.suw5-beach-safety-meta {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px 14px !important;
  margin-top: 9px !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  text-align: center !important;
}

.suw5-beach-safety-meta b {
  color: var(--navy) !important;
}


/* V10.27: Weather & Marine Forecast section */
.suw5-forecast-panel {
  background: linear-gradient(135deg, #ffffff 0%, #f4fbff 100%) !important;
}

.suw5-forecast-status {
  margin: 4px 0 18px !important;
}

.suw5-forecast-refresh-button {
  width: 100% !important;
  display: block !important;
}

.suw5-forecast-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.suw5-forecast-card {
  background: #ffffff !important;
  border: 1px solid rgba(6,33,63,.08) !important;
  border-radius: 18px !important;
  padding: 20px !important;
  box-shadow: 0 12px 28px rgba(6,33,63,.08) !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
}

.suw5-forecast-card-head {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  margin-bottom: 14px !important;
}

.suw5-forecast-card-head > span {
  font-size: 32px !important;
  line-height: 1 !important;
}

.suw5-forecast-card-head h3 {
  margin: 0 !important;
  color: var(--navy) !important;
  font-size: 20px !important;
  line-height: 1.1 !important;
}

.suw5-forecast-card-head p {
  margin: 3px 0 0 !important;
  color: var(--muted) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.suw5-forecast-list {
  display: grid !important;
  gap: 10px !important;
  flex: 1 !important;
}

.suw5-forecast-item {
  background: rgba(244,251,255,.75) !important;
  border: 1px solid rgba(11,95,138,.10) !important;
  border-radius: 14px !important;
  padding: 12px 13px !important;
}

.suw5-forecast-item strong {
  display: block !important;
  color: var(--navy) !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  margin-bottom: 4px !important;
}

.suw5-forecast-item span,
.suw5-forecast-item em {
  display: block !important;
  color: var(--muted) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-style: normal !important;
  font-weight: 750 !important;
}

.suw5-forecast-item em {
  margin-top: 3px !important;
  color: var(--blue) !important;
  font-weight: 900 !important;
}

.suw5-forecast-source {
  display: inline-block !important;
  margin-top: 14px !important;
  color: var(--blue) !important;
  font-weight: 950 !important;
  text-decoration: none !important;
}

.suw5-forecast-source:hover {
  color: var(--navy) !important;
  text-decoration: underline !important;
}

@media (max-width: 850px) {
  .suw5-forecast-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V10.28: consumer-friendly local forecast tabs and Forecasts page */
.suw5-forecast-grid-wide {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) !important;
}

.suw5-forecast-tabs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  background: rgba(244,251,255,.86) !important;
  border: 1px solid rgba(11,95,138,.10) !important;
  border-radius: 999px !important;
  padding: 6px !important;
  margin-bottom: 14px !important;
}

.suw5-forecast-tabs button {
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--muted) !important;
  font: inherit !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  padding: 10px 8px !important;
  cursor: pointer !important;
}

.suw5-forecast-tabs button.is-active {
  background: var(--blue) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(6,33,63,.12) !important;
}

.suw5-trip-forecast-view {
  display: none !important;
}

.suw5-trip-forecast-view.is-active {
  display: grid !important;
  gap: 10px !important;
}

.suw5-trip-day-card {
  background: linear-gradient(135deg, #ffffff 0%, #f4fbff 100%) !important;
  border: 1px solid rgba(11,95,138,.11) !important;
  border-radius: 16px !important;
  padding: 14px 15px !important;
  box-shadow: 0 9px 20px rgba(6,33,63,.07) !important;
}

.suw5-trip-day-card strong {
  display: block !important;
  color: var(--navy) !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  margin-bottom: 4px !important;
}

.suw5-trip-day-card span {
  display: block !important;
  color: var(--blue) !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  margin-bottom: 4px !important;
}

.suw5-trip-day-card em,
.suw5-trip-day-card small {
  display: block !important;
  color: var(--muted) !important;
  font-style: normal !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
}

.suw5-trip-day-card p {
  margin: 7px 0 0 !important;
  color: var(--navy) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.suw5-trip-forecast-view[data-suw-forecast-view="weekly"].is-active {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.suw5-long-range-note {
  background: #fffaf0 !important;
  border: 1px solid rgba(243,179,25,.24) !important;
  border-radius: 16px !important;
  padding: 14px !important;
}

.suw5-long-range-note strong,
.suw5-long-range-link strong {
  display: block !important;
  color: var(--navy) !important;
  font-weight: 950 !important;
  margin-bottom: 4px !important;
}

.suw5-long-range-note span,
.suw5-long-range-link span {
  display: block !important;
  color: var(--muted) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.suw5-long-range-link {
  display: block !important;
  text-decoration: none !important;
  background: #ffffff !important;
  border: 1px solid rgba(11,95,138,.12) !important;
  border-radius: 16px !important;
  padding: 14px !important;
  box-shadow: 0 9px 20px rgba(6,33,63,.07) !important;
}

.suw5-long-range-link:hover {
  border-color: rgba(11,95,138,.28) !important;
}

@media (max-width: 980px) {
  .suw5-forecast-grid-wide {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .suw5-forecast-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    border-radius: 18px !important;
  }

  .suw5-trip-forecast-view[data-suw-forecast-view="weekly"].is-active {
    grid-template-columns: 1fr !important;
  }
}


/* V10.29: three-tab forecast cleanup */
.suw5-forecast-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

[data-suw-forecast-tab="long"],
[data-suw-forecast-view="long"] {
  display: none !important;
}

.suw5-forecast-card-head p:empty {
  display: none !important;
}


/* V10.31: remove empty forecast-page description spacing */
.suw5-forecast-panel .suw5-section-head p:empty {
  display: none !important;
}


/* V10.33: AccuWeather local forecast source label */
.suw5-local-forecast-source {
  margin: 3px 0 0 !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}


/* V10.36: hero and forecast text cleanup */
.suw5-marine-source-label {
  margin: 3px 0 0 !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

.suw5-hero,
.suw5-home-hero,
.suw5-hero-card {
  margin-top: 0 !important;
}

.suw5-hero-media,
.suw5-hero-image,
.suw5-hero-photo {
  margin-top: 0 !important;
}

.suw5-hero-actions:empty,
.suw5-hero-cta:empty {
  display: none !important;
}


/* V10.37: remove remaining top eyebrow spacing and move hero/image up */
.suw5 .suw5-eyebrow,
.suw5 .suw5-kicker,
.suw5 .suw5-overline {
  display: none !important;
}

.suw5 .suw5-hero,
.suw5 .suw5-home-hero,
.suw5 .suw5-hero-card,
.suw5 .suw5-hero-wrap,
.suw5 .suw5-hero-section {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.suw5 .suw5-hero-media,
.suw5 .suw5-hero-image,
.suw5 .suw5-hero-photo,
.suw5 .suw5-hero img,
.suw5 .suw5-home-hero img {
  margin-top: 0 !important;
}

.suw5 > .suw5-hero:first-child,
.suw5 > .suw5-home-hero:first-child,
.suw5 > .suw5-hero-card:first-child,
.suw5 > section:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.suw5 .suw5-main,
.suw5 .suw5-home,
.suw5-home {
  padding-top: 0 !important;
}


/* V10.38: move location under top site title and keep hero image high */
.suw5-site-subtitle {
  display: block !important;
  margin-top: 2px !important;
  color: rgba(7, 40, 72, .66) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  line-height: 1.15 !important;
}

.suw5 .suw5-location,
.suw5 .suw5-hero-location,
.suw5 .suw5-hero-meta,
.suw5 .suw5-eyebrow,
.suw5 .suw5-kicker,
.suw5 .suw5-overline {
  display: none !important;
}

.suw5 .suw5-hero,
.suw5 .suw5-home-hero,
.suw5 .suw5-hero-card,
.suw5 .suw5-hero-wrap,
.suw5 .suw5-hero-section,
.suw5 .suw5-hero-media,
.suw5 .suw5-hero-image,
.suw5 .suw5-hero-photo {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* V10.39: definitive top subtitle + hero image positioning */
.suw5-site-subtitle {
  display: block !important;
  margin-top: 2px !important;
  color: rgba(7, 40, 72, .66) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  line-height: 1.15 !important;
  text-align: inherit !important;
}

.suw5 .suw5-hero,
.suw5 .suw5-home-hero,
.suw5 .suw5-hero-card,
.suw5 .suw5-hero-wrap,
.suw5 .suw5-hero-section {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.suw5 .suw5-hero img,
.suw5 .suw5-home-hero img,
.suw5 .suw5-hero-card img,
.suw5 .suw5-hero-photo img,
.suw5 .suw5-hero-image img,
.suw5 .suw5-hero-media img {
  display: block !important;
  margin-top: 0 !important;
}

.suw5 .suw5-eyebrow,
.suw5 .suw5-kicker,
.suw5 .suw5-overline,
.suw5 .suw5-hero-location,
.suw5 .suw5-location {
  display: none !important;
}


/* V10.40: centered title stack location + forecast detail cleanup */
.suw5-title-stack {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.08 !important;
  vertical-align: middle !important;
}

.suw5-title-stack > a,
.suw5-title-stack > h1,
.suw5-title-stack > span:not(.suw5-site-subtitle),
.suw5-title-stack > div:not(.suw5-site-subtitle) {
  display: block !important;
  text-align: center !important;
}

.suw5-site-subtitle {
  display: block !important;
  position: static !important;
  float: none !important;
  clear: both !important;
  margin: 3px 0 0 0 !important;
  padding: 0 !important;
  transform: none !important;
  color: inherit !important;
  opacity: .72 !important;
  font-size: 1em !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.05 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.suw5-trip-day-card small {
  line-height: 1.45 !important;
}


/* V10.41: centered header subtitle and forecast details */
.suw5-title-stack {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  vertical-align: middle !important;
  line-height: 1.05 !important;
}

.suw5-title-stack > a,
.suw5-title-stack > h1,
.suw5-title-stack > span:not(.suw5-site-subtitle) {
  display: block !important;
  text-align: center !important;
}

.suw5-site-subtitle {
  display: block !important;
  position: static !important;
  inset: auto !important;
  float: none !important;
  clear: none !important;
  margin: 3px 0 0 0 !important;
  padding: 0 !important;
  transform: none !important;
  color: inherit !important;
  opacity: .72 !important;
  font-size: 1em !important;
  font-weight: inherit !important;
  letter-spacing: 0 !important;
  line-height: 1.05 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body > .suw5-site-subtitle,
body > span.suw5-site-subtitle,
body > div.suw5-site-subtitle,
body > p.suw5-site-subtitle {
  display: none !important;
}

.suw5-trip-day-card small {
  display: block !important;
  line-height: 1.45 !important;
}


/* V10.42: definitive title-stack location placement */
.suw5-title-stack {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  vertical-align: middle !important;
  line-height: 1.05 !important;
  position: relative !important;
}

.suw5-title-stack > a,
.suw5-title-stack > h1,
.suw5-title-stack > span:not(.suw5-site-subtitle) {
  display: block !important;
  text-align: center !important;
}

.suw5-title-stack .suw5-site-subtitle {
  display: block !important;
  position: static !important;
  inset: auto !important;
  float: none !important;
  clear: none !important;
  margin: 3px 0 0 0 !important;
  padding: 0 !important;
  transform: none !important;
  color: inherit !important;
  opacity: .72 !important;
  font-size: .72em !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  line-height: 1.05 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body > .suw5-site-subtitle,
body > span.suw5-site-subtitle,
body > div.suw5-site-subtitle,
body > p.suw5-site-subtitle {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

.suw5-title-stack-parent {
  text-align: center !important;
}


/* V10.43: render location under title with a pseudo-element, not floating text */
.suw5-title-stack,
.suw5-site-subtitle {
  display: none !important;
}

.suw5-title-with-location {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.05 !important;
  position: relative !important;
  white-space: nowrap !important;
}

.suw5-title-with-location::after {
  content: "Nags Head, NC" !important;
  display: block !important;
  margin-top: 4px !important;
  color: inherit !important;
  opacity: .72 !important;
  font-size: .72em !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  line-height: 1.05 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* Hide any old standalone/floating location remnants from prior versions */
body > .suw5-site-subtitle,
body > span.suw5-site-subtitle,
body > div.suw5-site-subtitle,
body > p.suw5-site-subtitle {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}


/* V10.44: remove failed header location experiment and hide remnants */
.suw5-site-subtitle,
.suw5-title-with-location::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

.suw5-title-with-location {
  display: inline !important;
  flex-direction: unset !important;
  align-items: unset !important;
  justify-content: unset !important;
  line-height: inherit !important;
}


/* V10.45: green no-alert status */
.suw5-no-active-alerts,
.suw5-alert-status .suw5-no-active-alerts,
.suw5-alerts .suw5-no-active-alerts,
.suw5-alert-panel .suw5-no-active-alerts {
  color: #15803d !important;
  font-weight: 950 !important;
}

.suw5-alert-status:has(.suw5-no-active-alerts),
.suw5-alerts:has(.suw5-no-active-alerts),
.suw5-alert-panel:has(.suw5-no-active-alerts) {
  color: #15803d !important;
}


/* V10.46: dedicated Forecasts page planning layout */
.suw5-forecasts-page {
  max-width: 1180px !important;
  margin: 0 auto !important;
}

.suw5-trip-outlook-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr) !important;
  gap: 18px !important;
  border-radius: 22px !important;
  padding: 22px !important;
  border: 1px solid rgba(11,95,138,.12) !important;
  background: linear-gradient(135deg, #ffffff 0%, #f4fbff 100%) !important;
  box-shadow: 0 14px 32px rgba(6,33,63,.08) !important;
}

.suw5-trip-outlook-label {
  display: inline-flex !important;
  border-radius: 999px !important;
  padding: 7px 13px !important;
  font-weight: 950 !important;
  font-size: 13px !important;
  margin-bottom: 10px !important;
  color: #ffffff !important;
}

.suw5-trip-outlook-good .suw5-trip-outlook-label { background: #15803d !important; }
.suw5-trip-outlook-fair .suw5-trip-outlook-label { background: #b7791f !important; }
.suw5-trip-outlook-caution .suw5-trip-outlook-label { background: #b91c1c !important; }

.suw5-trip-outlook-main h3 {
  margin: 0 0 8px !important;
  color: var(--navy) !important;
  font-size: 26px !important;
  font-weight: 950 !important;
}

.suw5-trip-outlook-main p {
  margin: 0 !important;
  color: var(--muted) !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

.suw5-trip-outlook-metrics {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.suw5-trip-outlook-metrics div,
.suw5-source-grid div {
  background: #ffffff !important;
  border: 1px solid rgba(11,95,138,.10) !important;
  border-radius: 16px !important;
  padding: 13px !important;
  box-shadow: 0 8px 18px rgba(6,33,63,.05) !important;
}

.suw5-trip-outlook-metrics strong {
  display: block !important;
  color: var(--blue) !important;
  font-size: 17px !important;
  font-weight: 950 !important;
}

.suw5-trip-outlook-metrics span,
.suw5-source-grid span {
  display: block !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  margin-top: 2px !important;
}

.suw5-hourly-strip {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(125px, 1fr)) !important;
  gap: 10px !important;
}

.suw5-hour-card {
  background: linear-gradient(135deg, #ffffff 0%, #f4fbff 100%) !important;
  border: 1px solid rgba(11,95,138,.11) !important;
  border-radius: 16px !important;
  padding: 13px !important;
  box-shadow: 0 9px 20px rgba(6,33,63,.06) !important;
}

.suw5-hour-card strong,
.suw5-hour-card em,
.suw5-hour-card span,
.suw5-hour-card small {
  display: block !important;
}

.suw5-hour-card strong {
  color: var(--navy) !important;
  font-weight: 950 !important;
}

.suw5-hour-card span {
  font-size: 22px !important;
  margin: 4px 0 !important;
}

.suw5-hour-card em {
  color: var(--blue) !important;
  font-size: 18px !important;
  font-style: normal !important;
  font-weight: 950 !important;
}

.suw5-hour-card small {
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.suw5-forecast-page-day-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.suw5-forecast-page-day-grid.is-weekly {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.suw5-forecast-page-marine .suw5-forecast-card {
  max-width: none !important;
}

.suw5-soft-note {
  background: #f4fbff !important;
  border: 1px solid rgba(11,95,138,.12) !important;
  border-radius: 16px !important;
  padding: 16px !important;
  color: var(--navy) !important;
  font-weight: 850 !important;
}

.suw5-soft-note a {
  margin-left: 8px !important;
  color: var(--blue) !important;
  font-weight: 950 !important;
}

.suw5-source-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.suw5-source-grid strong {
  display: block !important;
  color: var(--navy) !important;
  font-weight: 950 !important;
}

.suw5-home-forecast-preview-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.suw5-home-forecast-action {
  margin-top: 14px !important;
}

@media (max-width: 980px) {
  .suw5-trip-outlook-card,
  .suw5-home-forecast-preview-grid {
    grid-template-columns: 1fr !important;
  }
  .suw5-hourly-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .suw5-forecast-page-day-grid,
  .suw5-forecast-page-day-grid.is-weekly,
  .suw5-source-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .suw5-trip-outlook-metrics,
  .suw5-hourly-strip,
  .suw5-forecast-page-day-grid,
  .suw5-forecast-page-day-grid.is-weekly,
  .suw5-source-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V10.47: safe green styling for clear alerts */
.suw5-no-active-alerts,
.suw5-alerts-clear .suw5-no-active-alerts {
  color: #15803d !important;
  font-weight: 950 !important;
}

.suw5-alerts-clear {
  color: #15803d !important;
}


/* V10.54: Two-region Love the Beach ocean safety panels */
.suw5-ltb-region-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 14px !important;
}

.suw5-ltb-region-panel {
  background: linear-gradient(135deg, #ffffff 0%, #f4fbff 100%) !important;
  border: 1px solid rgba(11,95,138,.12) !important;
  border-radius: 18px !important;
  padding: 16px !important;
  box-shadow: 0 10px 24px rgba(6,33,63,.06) !important;
}

.suw5-ltb-region-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 10px !important;
}

.suw5-ltb-region-head h3 {
  margin: 0 0 4px !important;
  color: var(--navy) !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
}

.suw5-ltb-region-head p {
  margin: 0 !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.suw5-ltb-region-head span {
  flex: 0 0 auto !important;
  border-radius: 999px !important;
  padding: 7px 10px !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

.suw5-ltb-risk-low .suw5-ltb-region-head span {
  background: #15803d !important;
}

.suw5-ltb-risk-moderate .suw5-ltb-region-head span,
.suw5-ltb-risk-unknown .suw5-ltb-region-head span {
  background: #b7791f !important;
}

.suw5-ltb-risk-high .suw5-ltb-region-head span {
  background: #b91c1c !important;
}

.suw5-ltb-region-text {
  margin: 0 !important;
  color: var(--navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

.suw5-ltb-source-link {
  display: inline-block !important;
  margin-top: 14px !important;
  color: var(--blue) !important;
  font-weight: 950 !important;
}

.suw5-beach-safety-status-below {
  margin-top: 14px !important;
}

.suw5-no-active-alerts,
.suw5-alerts-clear .suw5-no-active-alerts,
.suw5-alerts-clear #suw5-alerts-toggle,
.suw5-alerts-clear #suw5-alerts-toggle * {
  color: #15803d !important;
  font-weight: 950 !important;
}

@media (max-width: 760px) {
  .suw5-ltb-region-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V10.63: separate Ocean Safety panels for low tide note and rip-current map */
.suw5-ltb-extra-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important;
  gap: 14px !important;
  margin-top: 14px !important;
}

.suw5-ltb-extra-panel {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 12px !important;
  background: linear-gradient(135deg, #ffffff 0%, #f4fbff 100%) !important;
  border: 1px solid rgba(11,95,138,.12) !important;
  border-radius: 18px !important;
  padding: 16px !important;
  box-shadow: 0 10px 24px rgba(6,33,63,.06) !important;
}

.suw5-ltb-extra-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #eef8ff !important;
  font-size: 21px !important;
}

.suw5-ltb-extra-panel h3 {
  margin: 0 0 7px !important;
  color: var(--navy) !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
}

.suw5-ltb-extra-panel p {
  margin: 0 !important;
  color: var(--navy) !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1.45 !important;
}

.suw5-ltb-rip-image-panel figure {
  margin: 0 !important;
}

.suw5-ltb-rip-image-panel img {
  display: block !important;
  width: 100% !important;
  max-width: 680px !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 12px !important;
}

.suw5-ltb-rip-image-panel figcaption {
  margin: 8px 0 0 !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

@media (max-width: 820px) {
  .suw5-ltb-extra-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V10.64: protect Daily Rip Current Risk Map from homepage photo rotation */
.suw5-rip-risk-map-img,
.suw5-ltb-rip-image-panel img.suw5-rip-risk-map-img {
  object-fit: contain !important;
  background: #ffffff !important;
}


/* V10.65: Rip Current Timing education image and updated panel headings */
.suw5-rip-current-options-img {
  display: block !important;
  width: 100% !important;
  max-width: 680px !important;
  height: auto !important;
  margin: 12px 0 0 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  object-fit: contain !important;
  border: 1px solid rgba(11,95,138,.10) !important;
}


/* V10.67: Stay Here rental integration */
.suw5-stay-home-card {
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(239,249,255,.96)),
    radial-gradient(circle at 12% 20%, rgba(250,204,21,.16), transparent 34%) !important;
  border: 1px solid rgba(11,95,138,.13) !important;
}

.suw5-stay-home-copy h2,
.suw5-stay-page h1,
.suw5-stay-page h2 {
  color: var(--navy) !important;
}

.suw5-stay-home-copy p,
.suw5-stay-page p {
  color: var(--muted) !important;
}

.suw5-stay-home-copy > p:not(.suw5-eyebrow) {
  max-width: 760px !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.suw5-stay-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 16px !important;
}

.suw5-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  line-height: 1.1 !important;
}

.suw5-btn-primary {
  background: var(--navy) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(6,33,63,.16) !important;
}

.suw5-btn-secondary {
  background: #ffffff !important;
  color: var(--navy) !important;
  border: 1px solid rgba(11,95,138,.18) !important;
}

.suw5-stay-page {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 18px 36px !important;
}

.suw5-stay-hero {
  min-height: 330px !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: 34px !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background:
    linear-gradient(135deg, rgba(6,33,63,.86), rgba(11,95,138,.58)),
    radial-gradient(circle at 85% 18%, rgba(251,191,36,.55), transparent 34%),
    linear-gradient(180deg, #dff6ff, #f8fbff) !important;
  color: #ffffff !important;
  margin: 18px 0 !important;
}

.suw5-stay-hero .suw5-eyebrow,
.suw5-stay-hero h1,
.suw5-stay-hero p {
  color: #ffffff !important;
}

.suw5-stay-hero h1 {
  font-size: clamp(38px, 6vw, 68px) !important;
  line-height: .96 !important;
  margin: 0 0 12px !important;
}

.suw5-stay-hero p {
  max-width: 780px !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
}

.suw5-stay-feature-grid,
.suw5-stay-link-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 18px !important;
}

.suw5-stay-feature-grid article,
.suw5-stay-link-grid a {
  background: #ffffff !important;
  border: 1px solid rgba(11,95,138,.12) !important;
  border-radius: 18px !important;
  padding: 16px !important;
  box-shadow: 0 10px 24px rgba(6,33,63,.05) !important;
  text-decoration: none !important;
}

.suw5-stay-feature-grid h3,
.suw5-stay-link-grid strong {
  display: block !important;
  margin: 0 0 7px !important;
  color: var(--navy) !important;
  font-size: 18px !important;
  font-weight: 950 !important;
}

.suw5-stay-feature-grid p,
.suw5-stay-link-grid span,
.suw5-stay-lead {
  color: var(--muted) !important;
  line-height: 1.5 !important;
}

.suw5-stay-book-panel {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  background: linear-gradient(135deg, #ffffff, #fff8e6) !important;
}

@media (max-width: 860px) {
  .suw5-stay-feature-grid,
  .suw5-stay-link-grid {
    grid-template-columns: 1fr !important;
  }
  .suw5-stay-book-panel {
    display: block !important;
  }
  .suw5-stay-hero {
    padding: 24px !important;
  }
}


/* V10.68: force-visible Stay Here integration */
.suw5-stay-home-card-v1068 {
  margin-top: 22px !important;
  background: linear-gradient(135deg, #ffffff 0%, #eef8ff 58%, #fff8e6 100%) !important;
  border: 1px solid rgba(11,95,138,.14) !important;
}

.suw5-stay-home-card-v1068 h2,
.suw5-stay-page-v1068 h1,
.suw5-stay-page-v1068 h2 {
  color: var(--navy) !important;
}

.suw5-stay-home-card-v1068 p:not(.suw5-eyebrow),
.suw5-stay-page-v1068 p {
  color: var(--muted) !important;
  line-height: 1.55 !important;
}

.suw5-stay-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 16px !important;
}

.suw5-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  line-height: 1.1 !important;
}

.suw5-btn-primary {
  background: var(--navy) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(6,33,63,.16) !important;
}

.suw5-btn-secondary {
  background: #ffffff !important;
  color: var(--navy) !important;
  border: 1px solid rgba(11,95,138,.18) !important;
}

.suw5-stay-page-v1068 {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 18px 36px !important;
}

.suw5-stay-hero-v1068 {
  margin-top: 18px !important;
  background:
    linear-gradient(135deg, rgba(6,33,63,.92), rgba(11,95,138,.64)),
    radial-gradient(circle at 88% 15%, rgba(251,191,36,.50), transparent 34%) !important;
  color: #ffffff !important;
}

.suw5-stay-hero-v1068 .suw5-eyebrow,
.suw5-stay-hero-v1068 h1,
.suw5-stay-hero-v1068 p {
  color: #ffffff !important;
}

.suw5-stay-hero-v1068 h1 {
  font-size: clamp(38px, 6vw, 66px) !important;
  line-height: .98 !important;
  margin: 0 0 12px !important;
}

.suw5-stay-link-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 18px !important;
}

.suw5-stay-link-grid a {
  display: block !important;
  background: #ffffff !important;
  border: 1px solid rgba(11,95,138,.12) !important;
  border-radius: 18px !important;
  padding: 16px !important;
  box-shadow: 0 10px 24px rgba(6,33,63,.05) !important;
  text-decoration: none !important;
}

.suw5-stay-link-grid strong {
  display: block !important;
  margin-bottom: 7px !important;
  color: var(--navy) !important;
  font-size: 17px !important;
  font-weight: 950 !important;
}

.suw5-stay-link-grid span {
  color: var(--muted) !important;
  line-height: 1.45 !important;
}

.suw5-stay-book-panel-v1068 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  background: linear-gradient(135deg, #ffffff, #fff8e6) !important;
}

@media (max-width: 980px) {
  .suw5-stay-link-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 680px) {
  .suw5-stay-link-grid {
    grid-template-columns: 1fr !important;
  }
  .suw5-stay-book-panel-v1068 {
    display: block !important;
  }
}


/* V10.69: force-visible Stay Here content and nav */
.suw5-stay-home-card-v1069 {
  margin-top: 24px !important;
  background: linear-gradient(135deg, #ffffff 0%, #eef8ff 58%, #fff8e6 100%) !important;
  border: 1px solid rgba(11,95,138,.14) !important;
}

.suw5-stay-home-card-v1069 h2,
.suw5-stay-page-v1069 h1,
.suw5-stay-page-v1069 h2 {
  color: var(--navy) !important;
}

.suw5-stay-home-card-v1069 p:not(.suw5-eyebrow),
.suw5-stay-page-v1069 p {
  color: var(--muted) !important;
  line-height: 1.55 !important;
}

.suw5-stay-actions-v1069 {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 16px !important;
}

.suw5-btn-v1069 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  line-height: 1.1 !important;
}

.suw5-btn-primary-v1069 {
  background: var(--navy) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(6,33,63,.16) !important;
}

.suw5-btn-secondary-v1069 {
  background: #ffffff !important;
  color: var(--navy) !important;
  border: 1px solid rgba(11,95,138,.18) !important;
}

.suw5-stay-page-v1069 {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 18px 36px !important;
}

.suw5-stay-hero-v1069 {
  margin-top: 18px !important;
  background:
    linear-gradient(135deg, rgba(6,33,63,.92), rgba(11,95,138,.64)),
    radial-gradient(circle at 88% 15%, rgba(251,191,36,.50), transparent 34%) !important;
  color: #ffffff !important;
}

.suw5-stay-hero-v1069 .suw5-eyebrow,
.suw5-stay-hero-v1069 h1,
.suw5-stay-hero-v1069 p {
  color: #ffffff !important;
}

.suw5-stay-hero-v1069 h1 {
  font-size: clamp(38px, 6vw, 66px) !important;
  line-height: .98 !important;
  margin: 0 0 12px !important;
}

.suw5-stay-link-grid-v1069 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 18px !important;
}

.suw5-stay-link-grid-v1069 a {
  display: block !important;
  background: #ffffff !important;
  border: 1px solid rgba(11,95,138,.12) !important;
  border-radius: 18px !important;
  padding: 16px !important;
  box-shadow: 0 10px 24px rgba(6,33,63,.05) !important;
  text-decoration: none !important;
}

.suw5-stay-link-grid-v1069 strong {
  display: block !important;
  margin-bottom: 7px !important;
  color: var(--navy) !important;
  font-size: 17px !important;
  font-weight: 950 !important;
}

.suw5-stay-link-grid-v1069 span {
  color: var(--muted) !important;
  line-height: 1.45 !important;
}

.suw5-stay-book-v1069 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  background: linear-gradient(135deg, #ffffff, #fff8e6) !important;
}

.suw5-stay-version-v1069 {
  margin-top: 12px !important;
  font-size: 11px !important;
  opacity: .65 !important;
  font-weight: 800 !important;
}

.suw5-stay-here-menu-item-v1069 a {
  font-weight: 800 !important;
}

@media (max-width: 980px) {
  .suw5-stay-link-grid-v1069 {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 680px) {
  .suw5-stay-link-grid-v1069 {
    grid-template-columns: 1fr !important;
  }
  .suw5-stay-book-v1069 {
    display: block !important;
  }
}


/* V10.73: remove Stay Here from top nav and tighten top spacing */
.suw5-stay-page-v1069,
.suw5-stay-page-v1068,
.suw5-stay-page {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.suw5-stay-hero-v1069,
.suw5-stay-hero-v1068,
.suw5-stay-hero {
  margin-top: 0 !important;
}

.suw5-stay-home-card-v1069,
.suw5-stay-home-card-v1068,
.suw5-stay-home-card {
  margin-top: 12px !important;
}

/* Hide any Stay Here nav item injected by an older cached script/theme menu */
header .suw5-stay-here-menu-item,
header .suw5-stay-here-menu-item-v1069,
.site-header .suw5-stay-here-menu-item,
.site-header .suw5-stay-here-menu-item-v1069 {
  display: none !important;
}


/* V10.74: Stay Here final description, fixed links, tighter spacing */
.suw5-stay-page-v1074 {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 18px 36px !important;
}

.suw5-stay-page-v1074 .suw5-panel {
  margin-top: 16px !important;
}

.suw5-stay-hero-v1074 {
  margin-top: 0 !important;
  background: linear-gradient(135deg, #ffffff 0%, #eef8ff 58%, #fff8e6 100%) !important;
  border: 1px solid rgba(11,95,138,.14) !important;
}

.suw5-stay-hero-v1074 h1 {
  color: var(--navy) !important;
  font-size: clamp(34px, 5vw, 58px) !important;
  line-height: 1 !important;
  margin: 0 0 14px !important;
}

.suw5-stay-description-v1074 {
  max-width: 980px !important;
}

.suw5-stay-description-v1074 p {
  color: var(--muted) !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  margin: 0 0 14px !important;
}

.suw5-stay-actions-v1074,
.suw5-stay-button-row-v1074 {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 16px !important;
}

.suw5-btn-v1074 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  line-height: 1.1 !important;
  cursor: pointer !important;
}

.suw5-btn-primary-v1074 {
  background: var(--navy) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(6,33,63,.16) !important;
}

.suw5-btn-secondary-v1074 {
  background: #ffffff !important;
  color: var(--navy) !important;
  border: 1px solid rgba(11,95,138,.18) !important;
}

.suw5-stay-quicklinks-v1074,
.suw5-stay-book-v1074 {
  background: #ffffff !important;
}

.suw5-stay-book-v1074 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  background: linear-gradient(135deg, #ffffff, #fff8e6) !important;
}

@media (max-width: 720px) {
  .suw5-stay-book-v1074 {
    display: block !important;
  }
}

/* Keep any old injected Stay Here header item hidden */
header .suw5-stay-here-menu-item,
header .suw5-stay-here-menu-item-v1069,
.site-header .suw5-stay-here-menu-item,
.site-header .suw5-stay-here-menu-item-v1069 {
  display: none !important;
}


/* V10.75: Stay page title removal, tighter layout, and working top nav spacing */

/* Hide Kadence/theme page-title area on only the Stay Here page */
body.suw5-is-stay-here-page .entry-hero,
body.suw5-is-stay-here-page .entry-header,
body.suw5-is-stay-here-page .page-header,
body.suw5-is-stay-here-page .wp-block-post-title,
body.suw5-is-stay-here-page h1.entry-title {
  display: none !important;
}

body.suw5-is-stay-here-page .content-area,
body.suw5-is-stay-here-page .site-main,
body.suw5-is-stay-here-page .entry-content,
body.suw5-is-stay-here-page .content-container,
body.suw5-is-stay-here-page .site-container {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.suw5-is-stay-here-page .suw5-stay-page-v1074 {
  padding-top: 0 !important;
  margin-top: -18px !important;
}

body.suw5-is-stay-here-page .suw5-stay-page-v1074 .suw5-panel:first-child {
  margin-top: 0 !important;
}

/* Remove leftover eyebrow spacing if it is cached or theme-injected */
body.suw5-is-stay-here-page .suw5-stay-hero-v1074 > .suw5-eyebrow:first-child {
  display: none !important;
}

/* Make theme/header links spaced, clickable, and consistent */
.site-header nav ul,
header nav ul,
.main-navigation ul,
.wp-block-navigation__container,
.wp-block-navigation ul {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}

.site-header nav li,
header nav li,
.main-navigation li,
.wp-block-navigation-item {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.site-header nav a,
header nav a,
.main-navigation a,
.wp-block-navigation-item__content,
.wp-block-navigation a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 0 !important;
  color: var(--navy, #06213f) !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  position: relative !important;
  z-index: 5 !important;
  pointer-events: auto !important;
}

.site-header nav a:hover,
header nav a:hover,
.main-navigation a:hover,
.wp-block-navigation a:hover {
  text-decoration: underline !important;
}

/* If the menu is a bare run of links, add visual separation */
.site-header nav a + a,
header nav a + a {
  margin-left: 18px !important;
}

@media (max-width: 720px) {
  .site-header nav ul,
  header nav ul,
  .main-navigation ul,
  .wp-block-navigation__container,
  .wp-block-navigation ul {
    justify-content: flex-start !important;
    gap: 12px !important;
  }
}


/* V10.77: restore header typography and fix Stay page vertical clipping */
body.suw5-is-stay-here-page .suw5-stay-page-v1074 {
  margin-top: 0 !important;
  padding-top: 18px !important;
}

body.suw5-is-stay-here-page .suw5-stay-hero-v1074 {
  margin-top: 0 !important;
}

body.suw5-is-stay-here-page .suw5-stay-hero-v1074 h1 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Undo the earlier header typography override on the Stay page while preserving spacing. */
body.suw5-is-stay-here-page header nav a,
body.suw5-is-stay-here-page .site-header nav a,
body.suw5-is-stay-here-page .main-navigation a,
body.suw5-is-stay-here-page .wp-block-navigation a,
body.suw5-is-stay-here-page .wp-block-navigation-item__content {
  font-size: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
}

body.suw5-is-stay-here-page header nav a + a,
body.suw5-is-stay-here-page .site-header nav a + a,
body.suw5-is-stay-here-page .main-navigation a + a {
  margin-left: 18px !important;
}


/* V10.78: Stay Here page header/nav match */
body.suw5-is-stay-here-page .site-title,
body.suw5-is-stay-here-page .site-title a,
body.suw5-is-stay-here-page header h1,
body.suw5-is-stay-here-page header h1 a {
  color: #06213f !important;
  font-weight: 950 !important;
  font-size: 30px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  text-decoration: none !important;
}

body.suw5-is-stay-here-page .site-header nav a,
body.suw5-is-stay-here-page header nav a,
body.suw5-is-stay-here-page .main-navigation a,
body.suw5-is-stay-here-page .wp-block-navigation a,
body.suw5-is-stay-here-page .wp-block-navigation-item__content {
  color: #06213f !important;
  text-decoration: none !important;
  font-weight: 850 !important;
  font-size: 15px !important;
}

body.suw5-is-stay-here-page .site-header nav ul,
body.suw5-is-stay-here-page header nav ul,
body.suw5-is-stay-here-page .main-navigation ul,
body.suw5-is-stay-here-page .wp-block-navigation__container {
  gap: 24px !important;
}


/* V10.79: Stay Here clickable booking/social blocks */
.suw5-stay-block-links-v1079 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 20px !important;
}

.suw5-stay-link-block-v1079 {
  display: block !important;
  padding: 18px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  border: 1px solid rgba(11,95,138,.14) !important;
  box-shadow: 0 12px 28px rgba(6,33,63,.08) !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}

.suw5-stay-link-block-v1079:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 34px rgba(6,33,63,.12) !important;
  text-decoration: none !important;
}

.suw5-stay-book-block-v1079 {
  background: linear-gradient(135deg, #06213f, #0b5f8a) !important;
}

.suw5-stay-facebook-block-v1079 {
  background: linear-gradient(135deg, #ffffff, #eef8ff) !important;
}

.suw5-stay-block-kicker-v1079 {
  display: block !important;
  margin-bottom: 8px !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  opacity: .82 !important;
}

.suw5-stay-link-block-v1079 strong {
  display: block !important;
  margin-bottom: 8px !important;
  font-size: 22px !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
}

.suw5-stay-link-block-v1079 span:last-child {
  display: block !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 750 !important;
}

.suw5-stay-book-block-v1079,
.suw5-stay-book-block-v1079 strong,
.suw5-stay-book-block-v1079 span {
  color: #ffffff !important;
}

.suw5-stay-facebook-block-v1079,
.suw5-stay-facebook-block-v1079 strong {
  color: var(--navy, #06213f) !important;
}

.suw5-stay-facebook-block-v1079 span {
  color: var(--muted, #52667a) !important;
}

@media (max-width: 720px) {
  .suw5-stay-block-links-v1079 {
    grid-template-columns: 1fr !important;
  }
}


/* V10.82: make homepage Stay card buttons match */
.suw5-stay-home-card-v1069 .suw5-btn-primary-v1069,
.suw5-stay-home-card-v1068 .suw5-btn-primary,
.suw5-stay-home-card .suw5-btn-primary {
  background: #ffffff !important;
  color: var(--navy, #06213f) !important;
  border: 1px solid rgba(11,95,138,.18) !important;
  box-shadow: none !important;
}


/* V10.86: Stay Here page-only photo gallery */
.suw5-stay-gallery-panel-v1086 {
  margin-top: 16px !important;
}

.suw5-stay-media-gallery-v1086 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 18px !important;
}

.suw5-stay-media-gallery-v1086 figure {
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #eef8ff !important;
  min-height: 245px !important;
  box-shadow: 0 12px 28px rgba(6,33,63,.08) !important;
  border: 1px solid rgba(11,95,138,.10) !important;
}

.suw5-stay-media-gallery-v1086 img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 245px !important;
  object-fit: cover !important;
  transition: transform .28s ease !important;
}

.suw5-stay-media-gallery-v1086 figure:hover img {
  transform: scale(1.035) !important;
}

@media (max-width: 980px) {
  .suw5-stay-media-gallery-v1086 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .suw5-stay-media-gallery-v1086 {
    grid-template-columns: 1fr !important;
  }
}


/* V10.87: remove duplicate Photo Gallery placeholder/quicklinks */
body.suw5-is-stay-here-page .suw5-stay-quicklinks-v1074,
body.suw5-is-stay-here-page .suw5-stay-link-grid-v1069 {
  display: none !important;
}


/* V10.88: hero rotation excludes Stay Here gallery photos server-side and front-end */

/* V10.89: actual hero rotation loop excludes Stay Here gallery filenames. */


/* V10.90: Stay Here gold buttons matching marine/NOAA style */
.suw5-stay-gold-actions-v1090 {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 20px !important;
}

.suw5-stay-gold-btn-v1090 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 12px 18px !important;
  border-radius: 8px !important;
  background: #f5b400 !important;
  color: #061527 !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.suw5-stay-gold-btn-v1090:hover {
  background: #e6a900 !important;
  color: #061527 !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 620px) {
  .suw5-stay-gold-actions-v1090 {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}


/* V10.91: force actual Stay Here rental/Facebook links to gold buttons */
body.suw5-is-stay-here-page .entry-content a[href*="coastalcarolinaobx.com/outer-banks-rentals/ss18-sunnyside-up"],
body.suw5-is-stay-here-page .entry-content a[href*="facebook.com/110ESeaSprayCourt"],
body.suw5-is-stay-here-page .suw5 a[href*="coastalcarolinaobx.com/outer-banks-rentals/ss18-sunnyside-up"],
body.suw5-is-stay-here-page .suw5 a[href*="facebook.com/110ESeaSprayCourt"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 12px 18px !important;
  margin: 12px 10px 4px 0 !important;
  border-radius: 8px !important;
  background: #f5b400 !important;
  color: #061527 !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  border: 0 !important;
}


/* V10.93: direct Stay Here top nav link */
header .suw5-stay-here-direct-link-v1093,
.site-header .suw5-stay-here-direct-link-v1093,
nav .suw5-stay-here-direct-link-v1093 {
  display: inline-block !important;
  color: #06213f !important;
  text-decoration: none !important;
  font-weight: 850 !important;
  margin-left: 24px !important;
  padding: 8px 0 !important;
}

header .suw5-stay-here-menu-item-v1093,
.site-header .suw5-stay-here-menu-item-v1093,
nav .suw5-stay-here-menu-item-v1093 {
  display: list-item !important;
}

header .suw5-stay-here-menu-item-v1093 a,
.site-header .suw5-stay-here-menu-item-v1093 a,
nav .suw5-stay-here-menu-item-v1093 a {
  color: #06213f !important;
  text-decoration: none !important;
  font-weight: 850 !important;
}

header .suw5-stay-here-direct-link-v1093:hover,
.site-header .suw5-stay-here-direct-link-v1093:hover,
nav .suw5-stay-here-direct-link-v1093:hover,
header .suw5-stay-here-menu-item-v1093 a:hover,
.site-header .suw5-stay-here-menu-item-v1093 a:hover,
nav .suw5-stay-here-menu-item-v1093 a:hover {
  color: #0b5f8a !important;
  text-decoration: none !important;
}

/* V10.94: Photos page excludes Stay Here Photo Gallery images. */


/* V10.95: Photos page spacing/empty-line cleanup after gallery exclusions */
body.page-id-photos .suw5-photo-card:empty,
body.page-id-photos .suw5-sunrise-card:empty,
body.page-id-photos .gallery-item:empty,
body.page-id-photos figure:empty,
body[class*="photos"] .suw5-photo-card:empty,
body[class*="photos"] .suw5-sunrise-card:empty,
body[class*="photos"] .gallery-item:empty,
body[class*="photos"] figure:empty {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body[class*="photos"] .suw5-photos-grid,
body[class*="photos"] .suw5-gallery-grid,
body[class*="photos"] .suw5-sunrise-grid,
body[class*="photos"] .gallery {
  align-items: start !important;
  row-gap: 22px !important;
}

/* Remove thin horizontal placeholder rules/cards that have no image */
body[class*="photos"] .suw5-photos-grid > *:not(:has(img)),
body[class*="photos"] .suw5-gallery-grid > *:not(:has(img)),
body[class*="photos"] .suw5-sunrise-grid > *:not(:has(img)) {
  display: none !important;
}

/* V10.98: Beach Intelligence dashboard */
.suw5-beach-now-v1098 {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
}

.suw5-right-now-card-v1098,
.suw5-beach-score-card-v1098,
.suw5-beach-conditions-card-v1098 {
  border-radius: 24px;
  padding: 26px;
  color: #fff;
  box-shadow: 0 18px 42px rgba(6,33,63,0.16);
  border: 1px solid rgba(255,255,255,0.14);
}

.suw5-right-now-card-v1098 {
  background: radial-gradient(circle at 85% 20%, rgba(255,255,255,0.12), transparent 30%), linear-gradient(135deg, #06213f, #0c5d88);
}

.suw5-beach-score-card-v1098 {
  background: linear-gradient(135deg, #073f68, #0b7f95);
}

.suw5-beach-conditions-card-v1098 {
  grid-column: 1 / -1;
  background: #ffffff;
  color: #06213f;
  border: 1px solid rgba(6,33,63,0.10);
}

.suw5-kicker-v1098 {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 850;
  font-size: 0.78rem;
  opacity: 0.78;
  margin-bottom: 8px;
}

.suw5-right-now-temp-v1098 {
  font-size: clamp(4.3rem, 9vw, 7rem);
  line-height: 0.9;
  font-weight: 950;
  letter-spacing: -0.07em;
}

.suw5-right-now-sub-v1098 {
  font-size: 1.16rem;
  opacity: 0.92;
  margin-top: 12px;
}

.suw5-right-now-mini-v1098 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.suw5-right-now-mini-v1098 span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,0.14);
  font-size: 0.92rem;
}

.suw5-beach-score-card-v1098 h2 {
  color: #fff;
  margin: 4px 0 8px;
  font-size: clamp(1.7rem, 4vw, 2.45rem);
  line-height: 1.05;
}

.suw5-recommendation-v1098 {
  color: rgba(255,255,255,0.92);
  margin: 0 0 16px;
  font-size: 1.05rem;
  font-weight: 650;
}

.suw5-stars-v1098 {
  color: #ffe28a;
  font-size: 1.65rem;
  letter-spacing: 0.08em;
  margin: 8px 0 2px;
}

.suw5-score-lists-v1098 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.suw5-score-lists-v1098 > div {
  border-radius: 16px;
  padding: 12px 13px;
  background: rgba(255,255,255,0.13);
}

.suw5-score-lists-v1098 strong,
.suw5-score-lists-v1098 span {
  display: block;
}

.suw5-score-lists-v1098 strong {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  opacity: 0.78;
  margin-bottom: 6px;
}

.suw5-score-lists-v1098 span {
  font-size: 0.92rem;
  line-height: 1.35;
  margin-top: 3px;
}

.suw5-score-excellent {
  background: linear-gradient(135deg, #126337, #2fa66a);
}

.suw5-score-great {
  background: linear-gradient(135deg, #0b6778, #1592a8);
}

.suw5-score-good {
  background: linear-gradient(135deg, #0a4f7d, #1f79b2);
}

.suw5-score-fair {
  background: linear-gradient(135deg, #81650a, #c79a06);
}

.suw5-score-poor {
  background: linear-gradient(135deg, #7b2f10, #c24b1f);
}

.suw5-beach-condition-grid-v1098 {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.suw5-beach-condition-grid-v1098 > div {
  border-radius: 18px;
  background: rgba(6,33,63,0.055);
  padding: 15px 12px;
  text-align: center;
  min-height: 112px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-top: 4px solid rgba(6,33,63,0.16);
}

.suw5-beach-condition-grid-v1098 span {
  font-size: 1.45rem;
  margin-bottom: 5px;
}

.suw5-beach-condition-grid-v1098 em {
  order: 1;
  display: block;
  color: rgba(6,33,63,0.62);
  font-style: normal;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
}

.suw5-beach-condition-grid-v1098 strong {
  order: 2;
  display: block;
  color: #06213f;
  font-size: 1.08rem;
  line-height: 1.15;
}

.suw5-cond-surf { border-top-color: #1e9bd7 !important; }
.suw5-cond-wind { border-top-color: #1daaa2 !important; }
.suw5-cond-water { border-top-color: #e5653d !important; }
.suw5-cond-uv { border-top-color: #f0b429 !important; }
.suw5-cond-tide { border-top-color: #2f80ed !important; }
.suw5-cond-lightning { border-top-color: #f0b429 !important; }
.suw5-lightning-watch { border-top-color: #f59f00 !important; background: rgba(245,159,0,0.10) !important; }
.suw5-lightning-danger { border-top-color: #d64545 !important; background: rgba(214,69,69,0.11) !important; }

@media (max-width: 900px) {
  .suw5-beach-now-v1098 {
    grid-template-columns: 1fr;
  }
  .suw5-beach-condition-grid-v1098 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .suw5-right-now-card-v1098,
  .suw5-beach-score-card-v1098,
  .suw5-beach-conditions-card-v1098 {
    padding: 20px;
    border-radius: 18px;
  }
  .suw5-score-lists-v1098 {
    grid-template-columns: 1fr;
  }
  .suw5-beach-condition-grid-v1098 {
    gap: 10px;
  }
  .suw5-beach-condition-grid-v1098 > div {
    min-height: 104px;
    padding: 13px 10px;
  }
}


/* V10.99: Beach Intelligence polish */
.suw5-right-now-card-v1098,
.suw5-beach-score-card-v1098 {
  min-height: 300px;
  display: flex;
  flex-direction: column;
}

.suw5-right-now-mini-v1098,
.suw5-score-lists-v1098 {
  margin-top: auto;
}

.suw5-right-now-temp-v1098 {
  letter-spacing: -0.08em;
}

.suw5-beach-kicker-v1099 {
  display: flex;
  align-items: center;
  gap: 7px;
}

.suw5-score-confidence-v1099 {
  margin: 12px 0 0;
  color: rgba(255,255,255,0.72);
  font-size: 0.82rem;
  font-weight: 600;
}

.suw5-score-lists-v1098 strong {
  letter-spacing: 0.075em;
}

@media (max-width: 900px) {
  .suw5-right-now-card-v1098,
  .suw5-beach-score-card-v1098 {
    min-height: 0;
  }
}


/* V11.00: Smart Weather Status in Right Now card */
.suw5-weather-status-v1100 {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 26px 0 12px;
  padding: 8px 2px;
  min-height: 96px;
}

.suw5-weather-status-icon-v1100 {
  font-size: clamp(3.4rem, 6vw, 5rem);
  line-height: 1;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,0.18));
  flex: 0 0 auto;
}

.suw5-weather-status-copy-v1100 {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.suw5-weather-status-copy-v1100 strong {
  color: #fff;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.15;
  font-weight: 850;
}

.suw5-weather-status-copy-v1100 em {
  color: rgba(255,255,255,0.78);
  font-style: normal;
  font-size: 0.96rem;
  line-height: 1.25;
}

.suw5-right-now-card-v1098 {
  justify-content: flex-start;
}

.suw5-right-now-mini-v1098 {
  padding-top: 8px;
}

@media (max-width: 520px) {
  .suw5-weather-status-v1100 {
    margin: 22px 0 8px;
    min-height: 78px;
    gap: 14px;
  }
  .suw5-weather-status-icon-v1100 {
    font-size: 3.3rem;
  }
}


/* V11.18: Ocean Safety mobile text wrapping fix */
@media (max-width: 640px) {
  .suw5-ltb-two-region-panel {
    overflow: visible !important;
  }

  .suw5-ltb-region-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .suw5-ltb-region-panel {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 14px !important;
  }

  .suw5-ltb-region-head {
    display: block !important;
    margin-bottom: 10px !important;
  }

  .suw5-ltb-region-head > div {
    min-width: 0 !important;
    width: 100% !important;
  }

  .suw5-ltb-region-head h3,
  .suw5-ltb-region-head p,
  .suw5-ltb-region-text {
    max-width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    white-space: normal !important;
  }

  .suw5-ltb-region-head h3 {
    font-size: 20px !important;
    line-height: 1.15 !important;
    margin-bottom: 6px !important;
  }

  .suw5-ltb-region-head p {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .suw5-ltb-region-head span {
    display: inline-block !important;
    margin-top: 10px !important;
    white-space: normal !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  .suw5-ltb-region-text {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
}


/* V11.19: Mobile NWS alert banner layout fix */
@media (max-width: 640px) {
  .suw5-alerts-banner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    padding: 18px 16px !important;
    margin: 16px auto 24px !important;
    width: 100% !important;
    max-width: calc(100% - 24px) !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }

  .suw5-alerts-icon {
    display: none !important;
  }

  .suw5-alerts-copy {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    order: 2 !important;
  }

  .suw5-alerts-copy strong,
  .suw5-alerts-copy span {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    white-space: normal !important;
  }

  .suw5-alerts-copy strong {
    font-size: 18px !important;
    line-height: 1.22 !important;
    font-weight: 950 !important;
    margin: 0 !important;
  }

  .suw5-alerts-copy span {
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin-top: 6px !important;
  }

  .suw5-alerts-button,
  .suw5-alerts-banner button.suw5-alerts-button,
  .suw5-alerts-banner a.suw5-alerts-button {
    order: 1 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    white-space: normal !important;
    text-align: center !important;
    border-radius: 999px !important;
    padding: 12px 16px !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    color: #3f9d63 !important;
    background: rgba(255,255,255,.86) !important;
  }

  .suw5-alerts-button::before,
  .suw5-alerts-banner button.suw5-alerts-button::before,
  .suw5-alerts-banner a.suw5-alerts-button::before {
    content: "🟢";
    font-size: 16px;
    line-height: 1;
  }

  .suw5-alerts-button .suw5-no-active-alerts,
  .suw5-alerts-banner button.suw5-alerts-button .suw5-no-active-alerts {
    color: #3f9d63 !important;
    font-weight: 950 !important;
  }
}

/* V11.20: Comprehensive mobile responsive polish */
@media (max-width: 640px) {
  .suw5 {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .suw5-panel,
  .suw5-card,
  .suw5-marine,
  .suw5-surf-marine,
  .suw5-current-feature,
  .suw5-ltb-two-region-panel,
  .suw5-beach-now-v1098,
  .suw5-beach-conditions-card-v1098 {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
  }

  .suw5 h1,
  .suw5 h2,
  .suw5 h3,
  .suw5 p,
  .suw5 strong,
  .suw5 span,
  .suw5 em,
  .suw5 a {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  /* Dashboard cards */
  .suw5-beach-now-v1098 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-top: 16px !important;
  }

  .suw5-right-now-card-v1098,
  .suw5-beach-score-card-v1098,
  .suw5-beach-conditions-card-v1098 {
    padding: 18px !important;
    border-radius: 20px !important;
    min-height: 0 !important;
  }

  .suw5-right-now-temp-v1098 {
    font-size: clamp(4.6rem, 22vw, 6.2rem) !important;
    line-height: .88 !important;
  }

  .suw5-right-now-sub-v1098 {
    font-size: 1rem !important;
    margin-top: 10px !important;
  }

  .suw5-weather-status-v1100 {
    min-height: 0 !important;
    margin: 18px 0 14px !important;
    padding: 4px 0 !important;
    gap: 12px !important;
  }

  .suw5-weather-status-icon-v1100 {
    font-size: 3.2rem !important;
  }

  .suw5-weather-status-copy-v1100 strong {
    font-size: 1.1rem !important;
    line-height: 1.2 !important;
  }

  .suw5-weather-status-copy-v1100 em {
    font-size: .9rem !important;
  }

  .suw5-right-now-mini-v1098 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 12px !important;
    padding-top: 0 !important;
  }

  .suw5-right-now-mini-v1098 span {
    justify-content: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: .95rem !important;
    padding: 10px 12px !important;
  }

  /* V2.2.8: On phones, keep the Wind row as one pill.
     Nested wind direction/speed spans must not inherit the full-width pill styling. */
  .suw5-right-now-mini-v1098 > span > strong > span[data-suw="winddir"],
  .suw5-right-now-mini-v1098 > span > strong > span[data-suw="windspeed"] {
    display: inline !important;
    width: auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: inherit !important;
  }

  .suw5-stars-v1098 {
    font-size: 1.35rem !important;
  }

  .suw5-beach-score-card-v1098 h2 {
    font-size: 1.85rem !important;
    line-height: 1.08 !important;
  }

  .suw5-recommendation-v1098 {
    font-size: .98rem !important;
    line-height: 1.45 !important;
  }

  .suw5-score-lists-v1098 {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 12px !important;
  }

  .suw5-score-lists-v1098 > div {
    padding: 12px !important;
  }

  .suw5-score-confidence-v1099 {
    font-size: .78rem !important;
    line-height: 1.35 !important;
  }

  /* Beach condition tiles */
  .suw5-beach-condition-grid-v1098 {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .suw5-beach-condition-grid-v1098 > div {
    min-height: 96px !important;
    padding: 12px 8px !important;
    border-radius: 16px !important;
  }

  .suw5-beach-condition-grid-v1098 span {
    font-size: 1.3rem !important;
  }

  .suw5-beach-condition-grid-v1098 em {
    font-size: .68rem !important;
  }

  .suw5-beach-condition-grid-v1098 strong {
    font-size: .95rem !important;
  }

  /* Current Conditions raw tiles */
  .suw5-current-grid,
  .suw5-metrics {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .suw5-current-grid > div,
  .suw5-metrics > div,
  .suw5-metric {
    min-width: 0 !important;
    padding: 14px 10px !important;
    border-radius: 16px !important;
  }

  .suw5-current-grid strong,
  .suw5-metrics strong,
  .suw5-metric strong {
    font-size: clamp(1.35rem, 8vw, 2rem) !important;
    line-height: 1.05 !important;
  }

  .suw5-current-grid em,
  .suw5-metrics em,
  .suw5-metric em {
    font-size: .72rem !important;
    line-height: 1.25 !important;
  }

  /* Surf & marine cards */
  .suw5-marine-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .suw5-marine-grid > div,
  .suw5-marine-grid > a,
  .suw5-marine-card,
  .suw5-marine-cardlink {
    min-width: 0 !important;
    padding: 14px 10px !important;
    border-radius: 16px !important;
  }

  .suw5-marine-grid span,
  .suw5-marine-card span,
  .suw5-marine-cardlink span {
    font-size: 1.55rem !important;
  }

  .suw5-marine-grid strong,
  .suw5-marine-card strong,
  .suw5-marine-cardlink strong {
    font-size: .98rem !important;
    line-height: 1.15 !important;
  }

  .suw5-marine-grid em,
  .suw5-marine-card em,
  .suw5-marine-cardlink em {
    font-size: .72rem !important;
    line-height: 1.25 !important;
  }

  .suw5-section-head,
  .suw5-panel-head {
    display: block !important;
    text-align: left !important;
  }

  .suw5-section-head h2,
  .suw5-panel-head h2,
  .suw5 h2 {
    font-size: clamp(1.6rem, 8vw, 2.2rem) !important;
    line-height: 1.1 !important;
  }
}

@media (max-width: 380px) {
  .suw5 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .suw5-beach-condition-grid-v1098,
  .suw5-current-grid,
  .suw5-metrics,
  .suw5-marine-grid {
    grid-template-columns: 1fr !important;
  }

  .suw5-right-now-temp-v1098 {
    font-size: 4.3rem !important;
  }
}


/* V12.04 Today's Outer Banks replacement section */
.suw5-todays-obx-v1204{
  background:linear-gradient(135deg,#ffffff,#f7fbfd)!important;
  color:#102335!important;
}
.suw5-todays-obx-v1204 h2{color:#102335!important;margin:0!important}
.suw5-obx-kicker-v1204{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:.74rem;font-weight:900;color:#a46f00;margin-bottom:4px}
.suw5-todays-obx-head-v1204{align-items:center;margin-bottom:16px}
.suw5-obx-mini-link-v1204{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#d9a441;color:#102335!important;text-decoration:none;font-weight:900;white-space:nowrap}
.suw5-obx-grid-v1204{display:grid;grid-template-columns:1.15fr 1.15fr 1fr;gap:14px;align-items:stretch}
.suw5-obx-card-v1204,.suw5-obx-photo-v1204{border:1px solid #dbe8ef;background:#f8fbfd;border-radius:20px;box-shadow:0 10px 24px rgba(6,52,81,.06);overflow:hidden}
.suw5-obx-card-v1204{padding:18px}
.suw5-obx-card-v1204>strong{display:block;font-size:1.08rem;color:#063451;margin-bottom:12px}
.suw5-obx-stat-grid-v1204{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.suw5-obx-stat-grid-v1204 div{background:#fff;border:1px solid #e4edf3;border-radius:16px;padding:12px;min-width:0}
.suw5-obx-stat-grid-v1204 span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:900;color:#6b7887;margin-bottom:5px;white-space:normal;overflow-wrap:anywhere}
.suw5-obx-stat-grid-v1204 b{display:block;color:#063451;font-size:1.08rem;line-height:1.15;white-space:normal;overflow-wrap:anywhere}
.suw5-obx-recommendation-v1204{grid-column:auto;background:linear-gradient(135deg,#fff8e6,#ffffff)!important}
.suw5-obx-recommendation-v1204 p{margin:0 0 12px;color:#425466;line-height:1.45}
.suw5-obx-tags-v1204{display:flex;flex-wrap:wrap;gap:8px}
.suw5-obx-tags-v1204 span{display:inline-flex;align-items:center;border:1px solid #dbe8ef;background:#fff;border-radius:999px;padding:7px 10px;font-size:.86rem;font-weight:800;color:#31465a}
.suw5-obx-tags-v1204 .suw5-obx-watch-v1204{background:#fff4ee;border-color:#f1d2c2;color:#8a3d12}
.suw5-obx-photo-v1204{display:block;position:relative;text-decoration:none;min-height:220px;color:#fff!important;grid-column:span 3}
.suw5-obx-photo-v1204 img{width:100%;height:260px;display:block;object-fit:cover;filter:saturate(1.05)}
.suw5-obx-photo-v1204:after{content:"";position:absolute;inset:auto 0 0 0;height:48%;background:linear-gradient(transparent,rgba(0,0,0,.58))}
.suw5-obx-photo-v1204 span{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.suw5-obx-photo-v1204 b{display:block;font-size:1.3rem}.suw5-obx-photo-v1204 em{display:block;font-style:normal;opacity:.9}
@media(max-width:900px){.suw5-obx-grid-v1204{grid-template-columns:1fr 1fr}.suw5-obx-recommendation-v1204{grid-column:1/-1}.suw5-obx-photo-v1204{grid-column:1/-1}}
@media(max-width:640px){.suw5-todays-obx-head-v1204{display:block!important}.suw5-obx-mini-link-v1204{margin-top:10px}.suw5-obx-grid-v1204{grid-template-columns:1fr;gap:12px}.suw5-obx-stat-grid-v1204{grid-template-columns:1fr 1fr}.suw5-obx-card-v1204{padding:15px}.suw5-obx-stat-grid-v1204 div{padding:11px}.suw5-obx-stat-grid-v1204 b{font-size:1rem}.suw5-obx-photo-v1204 img{height:220px}.suw5-obx-photo-v1204{grid-column:auto}}
@media(max-width:380px){.suw5-obx-stat-grid-v1204{grid-template-columns:1fr}.suw5-obx-photo-v1204 img{height:190px}}

/* v12.07 Sunnyside Beach Score transparency */
.suw5-score-details-v1207 {
  margin-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.28);
  padding-top: 10px;
}
.suw5-score-details-v1207 summary {
  cursor: pointer;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .02em;
  color: rgba(255,255,255,.94);
  list-style-position: inside;
}
.suw5-score-breakdown-v1207 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.suw5-score-factor-v1207 {
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  padding: 9px 10px;
  display: grid;
  gap: 3px;
}
.suw5-score-factor-v1207 span {
  font-size: 12px;
  font-weight: 800;
  color: rgba(255,255,255,.92);
}
.suw5-score-factor-v1207 strong {
  font-size: 15px;
  color: #fff;
}
.suw5-score-factor-v1207 em {
  font-size: 11px;
  line-height: 1.25;
  color: rgba(255,255,255,.82);
  font-style: normal;
}
.suw5-factor-good { box-shadow: inset 4px 0 0 rgba(92, 214, 146, .8); }
.suw5-factor-fair { box-shadow: inset 4px 0 0 rgba(255, 205, 86, .9); }
.suw5-factor-poor { box-shadow: inset 4px 0 0 rgba(255, 119, 119, .9); }
@media (max-width: 720px) {
  .suw5-score-breakdown-v1207 {
    grid-template-columns: 1fr;
  }
  .suw5-score-details-v1207 summary {
    text-align: center;
  }
}


/* V12.09: mobile NWS alert status color must reflect active Beach Hazards/alerts, not always green */
@media (max-width: 640px) {
  .suw5-alerts-banner.suw5-alerts-neutral .suw5-alerts-button,
  .suw5-alerts-banner.suw5-alerts-neutral button.suw5-alerts-button {
    color: #3f9d63 !important;
  }
  .suw5-alerts-banner.suw5-alerts-neutral .suw5-alerts-button::before,
  .suw5-alerts-banner.suw5-alerts-neutral button.suw5-alerts-button::before {
    content: "🟢" !important;
  }
  .suw5-alerts-banner.suw5-alerts-advisory .suw5-alerts-button,
  .suw5-alerts-banner.suw5-alerts-advisory button.suw5-alerts-button,
  .suw5-alerts-banner.suw5-alerts-alert .suw5-alerts-button,
  .suw5-alerts-banner.suw5-alerts-alert button.suw5-alerts-button {
    color: #b7791f !important;
    background: rgba(255,255,255,.90) !important;
  }
  .suw5-alerts-banner.suw5-alerts-advisory .suw5-alerts-button::before,
  .suw5-alerts-banner.suw5-alerts-advisory button.suw5-alerts-button::before,
  .suw5-alerts-banner.suw5-alerts-alert .suw5-alerts-button::before,
  .suw5-alerts-banner.suw5-alerts-alert button.suw5-alerts-button::before {
    content: "🟡" !important;
  }
  .suw5-alerts-banner.suw5-alerts-watch .suw5-alerts-button,
  .suw5-alerts-banner.suw5-alerts-watch button.suw5-alerts-button {
    color: #c05621 !important;
    background: rgba(255,255,255,.92) !important;
  }
  .suw5-alerts-banner.suw5-alerts-watch .suw5-alerts-button::before,
  .suw5-alerts-banner.suw5-alerts-watch button.suw5-alerts-button::before {
    content: "🟠" !important;
  }
  .suw5-alerts-banner.suw5-alerts-warning .suw5-alerts-button,
  .suw5-alerts-banner.suw5-alerts-warning button.suw5-alerts-button {
    color: #b42318 !important;
    background: rgba(255,255,255,.94) !important;
  }
  .suw5-alerts-banner.suw5-alerts-warning .suw5-alerts-button::before,
  .suw5-alerts-banner.suw5-alerts-warning button.suw5-alerts-button::before {
    content: "🔴" !important;
  }
  .suw5-alerts-banner:not(.suw5-alerts-neutral) .suw5-alerts-button .suw5-no-active-alerts {
    color: inherit !important;
  }
}


/* V13.12: NWS alert button color follows alert severity on desktop and mobile */
.suw5-alerts-banner.suw5-alerts-neutral .suw5-alerts-button,
.suw5-alerts-banner.suw5-alerts-neutral button.suw5-alerts-button,
.suw5-alerts-banner.suw5-alerts-neutral a.suw5-alerts-button {
  background: rgba(255,255,255,.92) !important;
  color: #3f9d63 !important;
  border: 2px solid rgba(63,157,99,.16) !important;
  box-shadow: none !important;
}

.suw5-alerts-banner.suw5-alerts-advisory .suw5-alerts-button,
.suw5-alerts-banner.suw5-alerts-advisory button.suw5-alerts-button,
.suw5-alerts-banner.suw5-alerts-advisory a.suw5-alerts-button,
.suw5-alerts-banner.suw5-alerts-alert .suw5-alerts-button,
.suw5-alerts-banner.suw5-alerts-alert button.suw5-alerts-button,
.suw5-alerts-banner.suw5-alerts-alert a.suw5-alerts-button {
  background: rgba(255,255,255,.94) !important;
  color: #b7791f !important;
  border: 2px solid rgba(242,182,50,.34) !important;
  box-shadow: 0 8px 18px rgba(183,121,31,.10) !important;
}

.suw5-alerts-banner.suw5-alerts-watch .suw5-alerts-button,
.suw5-alerts-banner.suw5-alerts-watch button.suw5-alerts-button,
.suw5-alerts-banner.suw5-alerts-watch a.suw5-alerts-button {
  background: rgba(255,255,255,.94) !important;
  color: #c05621 !important;
  border: 2px solid rgba(239,125,34,.34) !important;
  box-shadow: 0 8px 18px rgba(192,86,33,.10) !important;
}

.suw5-alerts-banner.suw5-alerts-warning .suw5-alerts-button,
.suw5-alerts-banner.suw5-alerts-warning button.suw5-alerts-button,
.suw5-alerts-banner.suw5-alerts-warning a.suw5-alerts-button {
  background: rgba(255,255,255,.96) !important;
  color: #b42318 !important;
  border: 2px solid rgba(217,45,32,.34) !important;
  box-shadow: 0 8px 18px rgba(180,35,24,.10) !important;
}

.suw5-alerts-banner:not(.suw5-alerts-neutral) .suw5-alerts-button:hover,
.suw5-alerts-banner:not(.suw5-alerts-neutral) button.suw5-alerts-button:hover,
.suw5-alerts-banner:not(.suw5-alerts-neutral) a.suw5-alerts-button:hover {
  background: #ffffff !important;
  color: inherit !important;
}


/* v13.13: Sunnyside Beach Score safety-consistent colors and recommendations */
.suw5-beach-score-card-v1098.suw5-score-excellent { background: linear-gradient(135deg, #126337, #2fa66a) !important; }
.suw5-beach-score-card-v1098.suw5-score-great { background: linear-gradient(135deg, #0b6778, #1592a8) !important; }
.suw5-beach-score-card-v1098.suw5-score-good { background: linear-gradient(135deg, #0a4f7d, #1f79b2) !important; }
.suw5-beach-score-card-v1098.suw5-score-fair { background: linear-gradient(135deg, #81650a, #c79a06) !important; }
.suw5-beach-score-card-v1098.suw5-score-poor { background: linear-gradient(135deg, #7b2f10, #c24b1f) !important; }
.suw5-beach-score-card-v1098 .suw5-score-lists-v1098 > div:last-child:not(:first-child) {
  background: rgba(220, 38, 38, .88);
}

/* v13.16: Today’s Outer Banks rip-risk color tile */
.suw5-obx-rip-risk-tile-v1316{
  border-width:2px!important;
  position:relative;
  overflow:hidden;
}
.suw5-obx-stat-grid-v1204 b i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:1.25em;
  margin-right:.42em;
  font-style:normal;
  line-height:1;
}
.suw5-obx-rip-high-v1316{
  background:linear-gradient(135deg,#fff5f5,#fff)!important;
  border-color:#ef6b6b!important;
  box-shadow:0 0 0 1px rgba(220,38,38,.08),0 10px 22px rgba(220,38,38,.08)!important;
}
.suw5-obx-rip-high-v1316 span,
.suw5-obx-rip-high-v1316 b,
.suw5-obx-rip-high-v1316 b i{
  color:#b91c1c!important;
}
.suw5-obx-rip-moderate-v1316{
  background:linear-gradient(135deg,#fff9e8,#fff)!important;
  border-color:#e6b84a!important;
  box-shadow:0 0 0 1px rgba(217,164,65,.10),0 10px 22px rgba(217,164,65,.08)!important;
}
.suw5-obx-rip-moderate-v1316 span,
.suw5-obx-rip-moderate-v1316 b,
.suw5-obx-rip-moderate-v1316 b i{
  color:#9a6700!important;
}
.suw5-obx-rip-low-v1316{
  background:linear-gradient(135deg,#effaf3,#fff)!important;
  border-color:#43b66f!important;
  box-shadow:0 0 0 1px rgba(22,163,74,.08),0 10px 22px rgba(22,163,74,.07)!important;
}
.suw5-obx-rip-low-v1316 span,
.suw5-obx-rip-low-v1316 b,
.suw5-obx-rip-low-v1316 b i{
  color:#15803d!important;
}
.suw5-obx-rip-unknown-v1316{
  background:#fff!important;
  border-color:#dbe8ef!important;
}
@media(max-width:640px){
  .suw5-obx-rip-risk-tile-v1316 b{font-size:1.05rem!important}
}


/* V13.10.5: keep Rip Current Risk Map heading styled like the other ocean safety card titles.
   The automatic rip-risk badge color script should not restyle this heading. */
.suw5-ltb-rip-image-panel h3,
.suw5-ltb-rip-image-panel h3.suw5-risk-badge-auto,
.suw5-ltb-rip-image-panel h3.suw5-risk-unknown,
.suw5-ltb-rip-image-panel h3.suw5-risk-low,
.suw5-ltb-rip-image-panel h3.suw5-risk-moderate,
.suw5-ltb-rip-image-panel h3.suw5-risk-high {
  display: block !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--navy) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
  text-align: left !important;
}


/* V13.10.6: Special regional ocean-safety advisory support. */
.suw5-ltb-region-grid-special {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.suw5-ltb-region-grid-special .suw5-ltb-region-panel:nth-child(3) {
  grid-column: 1 / -1 !important;
  border-color: rgba(185,28,28,.28) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,241,241,.96)),
    radial-gradient(circle at 9% 18%, rgba(185,28,28,.12), transparent 36%) !important;
}

.suw5-ltb-region-grid-special .suw5-ltb-region-panel:nth-child(3) .suw5-ltb-region-head span {
  background: #b91c1c !important;
  color: #ffffff !important;
}

@media (max-width: 820px) {
  .suw5-ltb-region-grid-special {
    grid-template-columns: 1fr !important;
  }
}


/* V13.10.7: ensure special Oregon Inlet-to-Cape Hatteras alert does not recolor normal LOW cards. */
.suw5-ltb-region-grid-special .suw5-ltb-risk-low .suw5-ltb-region-head span {
  background: #15803d !important;
  color: #ffffff !important;
}

/* V1.3 temporary wind sensor notice on Current Weather page */
.suw5 .suw5-current-wind-offline .suw5-current-large {
  font-size: clamp(24px, 3.4vw, 42px) !important;
  line-height: 1.12 !important;
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
}
.suw5 .suw5-current-wind-offline .suw5-note {
  font-weight: 800;
  color: #59687a;
}


/* V2.0.17: standalone local Rip Current Safety panel while preserving the live daily risk map pull. */
.suw5-ltb-rip-safety-panel figure {
  margin: 0 !important;
}
.suw5-rip-current-safety-img {
  display: block !important;
  width: 100% !important;
  max-width: 780px !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  object-fit: contain !important;
}
.suw5-ltb-rip-safety-panel figcaption {
  margin: 8px 0 0 !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}


/* V2.0.18: make Ocean Safety education image and live risk map display at comparable size without replacing either source. */
.suw5-ltb-extra-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}
.suw5-ltb-rip-safety-panel figure,
.suw5-ltb-rip-image-panel figure {
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.suw5-rip-current-safety-img,
.suw5-ltb-rip-safety-panel img.suw5-rip-current-safety-img,
.suw5-rip-risk-map-img,
.suw5-ltb-rip-image-panel img.suw5-rip-risk-map-img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  max-height: 320px !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  background: #ffffff !important;
  border-radius: 12px !important;
}
.suw5-ltb-rip-safety-panel figcaption,
.suw5-ltb-rip-image-panel figcaption {
  align-self: stretch !important;
}
@media (max-width: 820px) {
  .suw5-ltb-extra-grid {
    grid-template-columns: 1fr !important;
  }
  .suw5-rip-current-safety-img,
  .suw5-ltb-rip-safety-panel img.suw5-rip-current-safety-img,
  .suw5-rip-risk-map-img,
  .suw5-ltb-rip-image-panel img.suw5-rip-risk-map-img {
    max-height: none !important;
    width: 100% !important;
  }
}

/* V2.0.19: enlarge the live Rip Current Risk Map while keeping the local safety graphic balanced. */
.suw5-ltb-rip-image-panel img.suw5-rip-risk-map-img {
  width: 100% !important;
  max-width: 460px !important;
  max-height: none !important;
  height: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  object-fit: contain !important;
}
.suw5-ltb-rip-safety-panel img.suw5-rip-current-safety-img {
  width: 100% !important;
  max-width: 480px !important;
  max-height: none !important;
  height: auto !important;
}
@media (max-width: 820px) {
  .suw5-ltb-rip-image-panel img.suw5-rip-risk-map-img,
  .suw5-ltb-rip-safety-panel img.suw5-rip-current-safety-img {
    max-width: 100% !important;
  }
}


/* V2.0.22 — Outdoor Ambient Weather PM2.5 */
.suw5 .suw5-air-quality {
  background: linear-gradient(180deg, #ffffff 0%, #f3fbf5 100%);
}
.suw5 .suw5-aqi-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: .78em;
  font-weight: 900;
  line-height: 1.45;
  white-space: nowrap;
  color: #17324d;
  background: #e8edf2;
}
.suw5 .suw5-aqi-good { color: #155d34; background: #dff5e7; }
.suw5 .suw5-aqi-moderate { color: #6c5600; background: #fff3bd; }
.suw5 .suw5-aqi-elevated { color: #7a3f00; background: #ffe3c2; }
.suw5 .suw5-aqi-unhealthy { color: #8a1d25; background: #ffd7da; }
.suw5 .suw5-aqi-very-unhealthy { color: #5e216f; background: #edd9f2; }
.suw5 .suw5-aqi-unknown { color: #4e5f70; background: #e8edf2; }
.suw5 .suw5-current-air-quality em { line-height: 1.55; }
@media (max-width: 1180px) {
  .suw5 .suw5-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* V2.0.23 — PM2.5 parser/display refinement and Current Conditions spacing */
.suw5 .suw5-metrics .suw5-value {
  overflow-wrap: normal;
  word-break: normal;
}
.suw5 .suw5-metrics .suw5-metric:nth-child(5) .suw5-value {
  font-size: clamp(25px, 2.25vw, 36px);
  line-height: 1.08;
}
.suw5 .suw5-pm25-value {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
  font-size: clamp(30px, 2.6vw, 39px);
  white-space: nowrap;
}
.suw5 .suw5-pm25-value small {
  font-family: "Noto Sans", Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--muted);
}
.suw5 .suw5-pm25-note {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  line-height: 1.2;
}
.suw5 .suw5-current-air-quality strong small {
  font-size: .42em;
  font-weight: 800;
  color: var(--muted);
  white-space: nowrap;
}
.suw5 .suw5-current-air-quality em {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
@media (min-width: 1181px) {
  .suw5 .suw5-metric {
    padding-left: 10px;
    padding-right: 10px;
  }
}


/* V2.0.24 — uniform Current Conditions tile alignment */
@media (min-width: 769px) {
  .suw5 .suw5-metrics .suw5-metric {
    display: grid;
    grid-template-rows: 48px 66px 50px;
    align-items: center;
    justify-items: stretch;
    justify-content: initial;
    min-height: 204px;
    padding-top: 16px;
    padding-bottom: 16px;
  }
  .suw5 .suw5-metrics .suw5-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    line-height: 1;
    margin: 0;
  }
  .suw5 .suw5-metrics .suw5-value {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 66px;
    margin: 0;
    line-height: 1.04;
  }
  .suw5 .suw5-metrics .suw5-note {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    min-height: 50px;
    margin: 0;
    line-height: 1.35;
  }
  .suw5 .suw5-pm25-value {
    min-height: 66px;
  }
  .suw5 .suw5-pm25-note {
    min-height: 50px;
    gap: 4px;
  }
}

/* V2.1.2 — Current Conditions typography and spacing normalization */
@media (min-width: 769px) {
  .suw5 .suw5-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .suw5 .suw5-metrics .suw5-metric {
    grid-template-rows: 48px 66px 50px;
    min-height: 204px;
    padding: 16px 14px !important;
  }

  .suw5 .suw5-metrics .suw5-value,
  .suw5 .suw5-metrics .suw5-pm25-value {
    font-size: clamp(32px, 2.75vw, 41px) !important;
    line-height: 1.04 !important;
    white-space: nowrap;
  }

  .suw5 .suw5-metrics .suw5-wind-value {
    gap: 7px;
    flex-wrap: nowrap;
  }

  .suw5 .suw5-metrics .suw5-note {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    justify-content: center;
    column-gap: 4px;
    row-gap: 2px;
    width: 100%;
    font-size: 13px;
    line-height: 1.3;
    text-align: center;
  }

  .suw5 .suw5-metrics .suw5-pm25-note {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 5px;
  }

  .suw5 .suw5-metrics .suw5-uv .suw5-note > span + span::before {
    content: "• ";
  }
}

@media (max-width: 768px) {
  .suw5 .suw5-metrics .suw5-note {
    column-gap: 4px;
  }
  .suw5 .suw5-metrics .suw5-wind-value {
    gap: 5px;
  }
}


/* V2.1.3 — expanded 12-card station observation dashboard */
@media (min-width: 769px) {
  .suw5 .suw5-metrics .suw5-value-compact { font-size: clamp(27px, 2.25vw, 35px) !important; }
  .suw5 .suw5-metrics .suw5-high-low-value { display:flex; align-items:center; justify-content:center; gap:6px; font-size:clamp(27px,2.3vw,35px)!important; }
  .suw5 .suw5-metrics .suw5-high-low-value small { font-size:.7em; opacity:.55; }
}
@media (max-width: 768px) {
  .suw5 .suw5-metrics .suw5-high-low-value { display:flex; align-items:center; justify-content:center; gap:5px; }
  .suw5 .suw5-metrics .suw5-high-low-value small { font-size:.7em; opacity:.55; }
}


/* V2.1.4 — contain long wind readings and preserve daily-extrema clarity */
@media (min-width: 769px) {
  .suw5 .suw5-metrics .suw5-wind-value {
    font-size: clamp(27px, 2.2vw, 35px) !important;
    letter-spacing: -0.025em;
    gap: 6px !important;
    max-width: 100%;
    overflow: hidden;
  }
  .suw5 .suw5-metrics .suw5-wind-value > span {
    min-width: 0;
    white-space: nowrap;
  }
}
@media (max-width: 768px) {
  .suw5 .suw5-metrics .suw5-wind-value {
    font-size: clamp(28px, 9vw, 38px) !important;
    max-width: 100%;
  }
}

/* v2.1.6: observed daily high/low card and extra wind containment */
.suw5-dashboard .suw5-high-low-value { white-space: nowrap; }
@media (min-width:769px){
  .suw5 .suw5-metrics .suw5-wind-value{font-size:clamp(25px,2vw,33px)!important;}
  .suw5 .suw5-metrics .suw5-high-low-value{font-size:clamp(24px,2vw,32px)!important;gap:5px;}
}
@media (max-width:768px){
  .suw5 .suw5-metrics .suw5-high-low-value{font-size:clamp(25px,8vw,35px)!important;}
}

/* V2.1.7: Current Conditions wind card should not appear selected. */
.suw5 .suw5-current-big.suw5-current-wind,
.suw5 .suw5-current-wind {
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(6,33,63,.08) !important;
  box-shadow: none !important;
  transform: none !important;
}

.suw5 .suw5-current-big.suw5-current-wind:hover,
.suw5 .suw5-current-wind:hover,
.suw5 .suw5-current-big.suw5-current-wind:focus,
.suw5 .suw5-current-wind:focus,
.suw5 .suw5-current-big.suw5-current-wind:active,
.suw5 .suw5-current-wind:active {
  background: #ffffff !important;
  border-color: rgba(6,33,63,.08) !important;
  box-shadow: none !important;
  transform: none !important;
  outline: none !important;
}

/* V2.1.8: fully normalize the dashboard wind metric to the standard card. */
.suw5 .suw5-metrics .suw5-metric.suw5-wind,
.suw5 .suw5-metrics .suw5-wind {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(6,33,63,.08) !important;
  border-color: rgba(6,33,63,.08) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}
.suw5 .suw5-metrics .suw5-metric.suw5-wind:hover,
.suw5 .suw5-metrics .suw5-metric.suw5-wind:focus,
.suw5 .suw5-metrics .suw5-metric.suw5-wind:focus-visible,
.suw5 .suw5-metrics .suw5-metric.suw5-wind:active,
.suw5 .suw5-metrics .suw5-wind:hover,
.suw5 .suw5-metrics .suw5-wind:focus,
.suw5 .suw5-metrics .suw5-wind:focus-visible,
.suw5 .suw5-metrics .suw5-wind:active {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border-color: rgba(6,33,63,.08) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  outline: none !important;
}


/* V2.1.22: Surfline current surf conditions within Surf & Marine Conditions */
.suw5-surfline-card-v2122 {
  background: rgba(255,255,255,.97);
  color: var(--text);
  border-radius: 18px;
  padding: 20px 22px;
  margin: 0 0 16px;
  box-shadow: 0 8px 22px rgba(8,31,54,.12);
}
.suw5-surfline-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(20,50,74,.10);
}
.suw5-surfline-eyebrow {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 5px;
}
.suw5-surfline-rating {
  display: block;
  color: var(--navy);
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.05;
  font-weight: 950;
}
.suw5-surfline-card-head a {
  color: var(--blue) !important;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 800;
  text-decoration: none;
  text-align: right;
  max-width: 220px;
}
.suw5-surfline-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.suw5-surfline-row {
  background: #f5f9fb;
  border-radius: 12px;
  padding: 12px 14px;
}
.suw5-surfline-row span,
.suw5-surfline-outlook span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 4px;
}
.suw5-surfline-row strong {
  display: block;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.3;
  font-weight: 900;
}
.suw5-surfline-outlook {
  margin-top: 14px;
  padding: 14px 16px;
  border-left: 4px solid var(--gold);
  background: rgba(244,186,49,.10);
  border-radius: 0 12px 12px 0;
}
.suw5-surfline-outlook p {
  color: var(--text);
  font-size: 15px;
  line-height: 1.5;
  font-weight: 700;
  margin: 0;
}
@media (max-width: 680px) {
  .suw5-surfline-card-head {
    display: block;
  }
  .suw5-surfline-card-head a {
    display: inline-block;
    margin-top: 9px;
    text-align: left;
    max-width: none;
  }
  .suw5-surfline-details {
    grid-template-columns: 1fr;
  }
}

/* V2.1.26: compact nearby Surfline comparison cards */
.suw5-surfline-nearby {
  margin: -2px 0 18px;
  padding: 16px 18px 18px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(20,50,74,.08);
  border-radius: 16px;
}
.suw5-surfline-nearby-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 8px;
}
.suw5-surfline-nearby-card {
  display: block;
  background: #f5f9fb;
  border-radius: 12px;
  padding: 12px 14px;
  text-decoration: none !important;
  color: var(--navy) !important;
  border: 1px solid rgba(20,50,74,.06);
}
.suw5-surfline-nearby-name {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 4px;
}
.suw5-surfline-nearby-card strong {
  display: block;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.25;
  font-weight: 900;
}
.suw5-surfline-nearby-card em {
  display: block;
  color: var(--text);
  font-style: normal;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700;
  margin-top: 3px;
}
.suw5-surfline-nearby-unavailable { opacity: .72; }
@media (max-width: 680px) {
  .suw5-surfline-nearby-grid { grid-template-columns: 1fr; }
}

/* V2.2.9: Three-zone ocean-safety layout. Kept separate from the special-advisory
   class so ordinary three-zone cards retain their own LOW/MODERATE/HIGH colors. */
.suw5-ltb-region-grid-three-zone {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
@media (max-width: 1050px) {
  .suw5-ltb-region-grid-three-zone {
    grid-template-columns: 1fr !important;
  }
}
