/* MWB News v578 page polish: Beauty, Travel, Weather, Reviews and Community. */

:where(.orbit-cta-v578, .travel-cta-v578, .community-participation-v578) *,
:where(.orbit-cta-v578, .travel-cta-v578, .community-participation-v578) *::before,
:where(.orbit-cta-v578, .travel-cta-v578, .community-participation-v578) *::after {
  box-sizing: border-box;
}

/* Shared M.I. Orbit surface; the food-store identity remains separate. */
.orbit-cta-v578 {
  --orbit-accent: #63e7ff;
  --orbit-accent-2: #d9c8ff;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) minmax(230px, auto);
  gap: 24px;
  align-items: center;
  margin-top: 24px;
  padding: clamp(24px, 3.5vw, 42px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 8% 14%, rgba(99, 231, 255, .22), transparent 18rem),
    radial-gradient(circle at 88% 112%, rgba(147, 108, 255, .24), transparent 22rem),
    linear-gradient(135deg, #071721, #10233b 58%, #251d49);
  box-shadow: 0 20px 50px rgba(7, 23, 33, .17);
}

.orbit-cta-v578::before,
.orbit-cta-v578::after {
  position: absolute;
  z-index: -1;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(99, 231, 255, .16);
  border-radius: 50%;
  content: "";
}

.orbit-cta-v578::before { top: -114px; right: 25%; }
.orbit-cta-v578::after { right: -88px; bottom: -136px; }

.orbit-cta-v578__mark {
  display: flex;
  width: 66px;
  height: 66px;
  align-items: end;
  justify-content: center;
  gap: 5px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 19px;
  background: rgba(255, 255, 255, .07);
}

.orbit-cta-v578__mark span {
  width: 7px;
  border-radius: 999px;
  background: var(--orbit-accent);
  box-shadow: 0 0 16px rgba(99, 231, 255, .35);
}

.orbit-cta-v578__mark span:nth-child(1) { height: 16px; opacity: .6; }
.orbit-cta-v578__mark span:nth-child(2) { height: 29px; opacity: .82; }
.orbit-cta-v578__mark span:nth-child(3) { height: 40px; }

.orbit-cta-v578 .story-kicker { color: var(--orbit-accent); }

.orbit-cta-v578 h2 {
  max-width: 760px;
  margin: 7px 0 10px;
  color: #fff;
  font: 700 clamp(29px, 3.1vw, 44px)/1 Georgia, "Times New Roman", serif;
  letter-spacing: -.02em;
}

.orbit-cta-v578 p {
  max-width: 780px;
  margin: 0;
  color: #d8e7ed;
  font-size: 15px;
  line-height: 1.58;
}

.orbit-cta-v578 > a {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 17px;
  border: 1px solid var(--orbit-accent);
  border-radius: 13px;
  color: #071721;
  background: var(--orbit-accent);
  font-weight: 900;
  line-height: 1.25;
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.orbit-cta-v578 > a:hover,
.orbit-cta-v578 > a:focus-visible {
  transform: translateY(-2px);
  background: #fff;
  box-shadow: 0 12px 28px rgba(99, 231, 255, .2);
}

.orbit-cta-v578 > a:focus-visible,
.travel-quick-picks-v578 button:focus-visible,
.travel-cta-v578 a:focus-visible,
.community-participation-v578 a:focus-visible,
.community-hero-cta-v578:focus-visible {
  outline: 3px solid #f6c447;
  outline-offset: 4px;
}

/* Beauty: one category navigation, one daily tip, one full-width reporting stream. */
body.is-life-desk-beauty .beauty-daily-v578 {
  display: block;
  grid-template-columns: 1fr;
}

body.is-life-desk-beauty .beauty-daily-v578 > div { max-width: 860px; }
body.is-life-desk-beauty .beauty-daily-v578 > nav { display: none !important; }

body.is-life-desk-beauty .beauty-reporting-v578 {
  width: 100%;
  margin-top: 22px;
  padding: clamp(22px, 3vw, 34px);
  border-top: 5px solid #8b3f71;
  background: #fff;
  box-shadow: 0 14px 38px rgba(44, 32, 47, .08);
}

body.is-life-desk-beauty .beauty-reporting-v578 .reader-section-head {
  margin-bottom: 18px;
}

body.is-life-desk-beauty .orbit-cta-v578--beauty {
  --orbit-accent: #f2a5ce;
  --orbit-accent-2: #dfd4ff;
}

/* Travel: card-based quick picks, then reporting and one clear CTA. */
.travel-desk-page .travel-guide-studio { margin-top: 28px; }

.travel-desk-page .travel-quick-picks-v578 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 24px 0 12px;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
}

.travel-desk-page .travel-quick-picks-v578__label {
  grid-column: 1 / -1;
  color: #235362;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
}

.travel-desk-page .travel-quick-picks-v578 button {
  display: grid;
  min-width: 0;
  min-height: 118px;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  gap: 7px 10px;
  align-content: center;
  padding: 18px;
  border: 1px solid #c9d9dd;
  border-radius: 17px;
  color: #10242b;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(238, 247, 249, .94));
  text-align: left;
  box-shadow: 0 9px 24px rgba(19, 67, 82, .08);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.travel-desk-page .travel-quick-picks-v578 button > span[aria-hidden] {
  grid-row: 1 / span 2;
  align-self: stretch;
  padding-right: 10px;
  border-right: 2px solid #1a83a7;
  color: #1a83a7;
  font-size: 10px;
  font-weight: 900;
}

.travel-desk-page .travel-quick-picks-v578 button strong {
  overflow-wrap: anywhere;
  font: 700 20px/1.05 Georgia, "Times New Roman", serif;
}

.travel-desk-page .travel-quick-picks-v578 button small {
  color: #5a6f77;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.25;
}

.travel-desk-page .travel-quick-picks-v578 button:hover,
.travel-desk-page .travel-quick-picks-v578 button:focus-visible {
  transform: translateY(-3px);
  border-color: #1a83a7;
  box-shadow: 0 15px 32px rgba(19, 103, 132, .15);
}

.travel-desk-page .travel-reporting-v578 {
  margin-top: 30px;
  padding: clamp(22px, 3vw, 34px);
  border-top: 5px solid #1a83a7;
  background: #fff;
  box-shadow: 0 14px 38px rgba(17, 67, 83, .08);
}

.travel-desk-page .travel-reporting-v578 [data-live-archive] > article:nth-child(n + 7) {
  display: none;
}

.travel-desk-page .travel-reporting-v578 .live-story-card h2 {
  overflow-wrap: anywhere;
  font-size: clamp(27px, 3vw, 35px);
  line-height: 1.06;
}

.travel-desk-page .travel-reporting-v578 .live-story-description {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.travel-desk-page .travel-reporting-more-v578 {
  display: flex;
  justify-content: center;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid #d7e3e6;
}

.travel-cta-v578 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin-top: 24px;
  padding: clamp(26px, 3.7vw, 44px);
  border-left: 7px solid #54d0cf;
  color: #fff;
  background:
    radial-gradient(circle at 88% 0, rgba(84, 208, 207, .2), transparent 21rem),
    linear-gradient(135deg, #08212a, #0c4050);
}

.travel-cta-v578 h2 {
  max-width: 760px;
  margin: 7px 0 10px;
  color: #fff;
  font: 700 clamp(31px, 3.7vw, 49px)/1 Georgia, "Times New Roman", serif;
}

.travel-cta-v578 p { max-width: 760px; margin: 0; color: #d5e9ec; line-height: 1.55; }
.travel-cta-v578 nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.travel-cta-v578 .news-button { min-height: 50px; white-space: nowrap; }
.travel-cta-v578 .news-button.secondary { color: #fff; border-color: rgba(255, 255, 255, .55); background: transparent; }

/* Weather: one disclosure, one place search, one date/archive surface. */
.weather-page .weather-tools-hub-list-v57636 { grid-template-columns: 1fr; }

.weather-page .weather-unified-disclosure-v578 {
  overflow: hidden;
  border: 1px solid #bed2d8;
  border-radius: 18px;
  background: #fff;
}

.weather-page .weather-unified-disclosure-v578 > summary {
  min-height: 92px;
  border: 0;
  background: linear-gradient(90deg, #f5fbfb, #eef7fb);
}

.weather-page .weather-unified-disclosure-v578[open] > summary {
  border-bottom: 1px solid #cbdde1;
}

.weather-page .weather-combined-panel-v578 {
  padding: clamp(16px, 2.8vw, 30px);
  background: linear-gradient(180deg, #f7fbfc, #fff 32%);
}

.weather-page .weather-combined-panel-v578 .weather-forecast-shortcut {
  margin: 0 0 16px;
  border-radius: 14px;
}

.weather-page .weather-combined-panel-v578 .weather-studio {
  margin: 0;
  border-radius: 18px;
  box-shadow: 0 13px 34px rgba(16, 55, 66, .08);
}

.weather-page .weather-history-v578 {
  margin: 22px 0 0;
  padding: clamp(22px, 3vw, 34px) 0 0;
  border: 0;
  border-top: 3px solid #1f7faa;
  border-radius: 0;
  box-shadow: none;
}

.weather-page .weather-history-v578 .daily-archive-head {
  display: block;
  grid-template-columns: 1fr;
}

.weather-page .weather-history-v578 .daily-archive-head > div { max-width: 900px; }
.weather-page .weather-history-v578 .daily-archive-head h2 { max-width: 830px; }

.weather-page .weather-history-v578 .weather-archive-timeline-shell {
  margin-top: 20px;
}

/* Reviews: plain-language hierarchy and reliable one-column phone reading. */
body.reviews-page .reviews-hero {
  min-height: 480px;
}

body.reviews-page .reviews-hero-inner {
  min-height: 480px;
  padding-block: 58px 48px;
}

body.reviews-page .reviews-hero h1 {
  max-width: 760px;
  font-size: clamp(50px, 6vw, 72px);
  line-height: .98;
}

body.reviews-page .reviews-hero-inner > p {
  max-width: 690px;
  color: #eef6f7;
}

body.reviews-page .reviews-hero-facts { margin-top: 30px; }

body.reviews-page .reviews-hero-facts span {
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr);
}

body.reviews-page .reviews-hero-facts small {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

body.reviews-page .reviews-trust-band > header {
  display: block;
  grid-template-columns: 1fr;
}

body.reviews-page .reviews-trust-band h2,
body.reviews-page .reviews-directory h2,
body.reviews-page .reviews-reader-studio h2,
body.reviews-page .reviews-newsletter h2 {
  max-width: 860px;
  font-size: clamp(31px, 3.6vw, 46px);
  line-height: 1.02;
}

body.reviews-page .reviews-trust-grid article {
  min-height: 0;
}

body.reviews-page .reviews-trust-grid h3 {
  font-size: 21px;
  line-height: 1.08;
}

body.reviews-page .reviews-directory-heading p {
  max-width: 680px;
}

body.reviews-page .reviews-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.reviews-page .reviews-grid > .review-tile:nth-child(n + 7) {
  display: none;
}

body.reviews-page.reviews-show-all-v578 .reviews-grid > .review-tile {
  display: flex;
}

body.reviews-page .reviews-more-v578 {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 22px auto 0;
  padding: 11px 18px;
  border: 1px solid var(--reviews-ink);
  border-radius: 999px;
  color: #fff;
  background: var(--reviews-ink);
  font-weight: 900;
  cursor: pointer;
}

body.reviews-page .reviews-more-v578[hidden] { display: none; }

body.reviews-page .reviews-more-v578:hover,
body.reviews-page .reviews-more-v578:focus-visible {
  color: var(--reviews-ink);
  background: var(--reviews-cyan);
}

body.reviews-page .reviews-more-v578:focus-visible {
  outline: 3px solid rgba(36, 116, 255, .3);
  outline-offset: 3px;
}

body.reviews-page .review-tile h3 {
  overflow-wrap: anywhere;
  font-size: 24px;
  line-height: 1.08;
}

body.reviews-page .watchlist-radar {
  margin-top: 24px;
}

body.reviews-page .watchlist-radar-head h2 {
  max-width: 760px;
  font-size: clamp(31px, 3.7vw, 46px);
  line-height: 1.03;
}

body.reviews-page .watchlist-radar-head p { max-width: 700px; }

body.reviews-page .watchlist-radar-tools {
  margin-top: 22px;
}

body.reviews-page .reviews-studio-capabilities h3 {
  line-height: 1.15;
}

/* Community: articles, a scannable directory, one participation band and Orbit. */
.community-page .community-hero-cta-v578 {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  gap: 18px;
  margin-top: 22px;
  padding: 12px 18px;
  border: 1px solid #ffd44f;
  border-radius: 11px;
  color: #10171a;
  background: #ffd44f;
  box-shadow: 0 10px 25px rgba(0, 0, 0, .2);
  font-weight: 900;
  text-decoration: none;
}

.community-page .community-hero-cta-v578:hover,
.community-page .community-hero-cta-v578:focus-visible {
  color: #10171a;
  background: #fff;
}

.community-page .community-section-head-v578 {
  display: block !important;
  grid-template-columns: 1fr !important;
}

.community-page .community-section-head-v578 > div { max-width: 900px; }

.community-page .community-board-layout-v578 {
  display: block;
  grid-template-columns: 1fr;
}

.community-page .community-noticeboard {
  width: 100%;
}

.community-page .community-notice-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

.community-page .community-notice-list > a {
  display: grid;
  min-width: 0;
  min-height: 150px;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  gap: 10px 14px;
  align-items: start;
  padding: 20px;
  border: 1px solid #cedbd8;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 9px 22px rgba(19, 67, 58, .06);
}

.community-page .community-notice-list > a > b {
  grid-row: 1 / span 2;
  color: #087d65;
}

.community-page .community-notice-list > a > span { min-width: 0; }
.community-page .community-notice-list > a strong { overflow-wrap: anywhere; }

.community-page .community-notice-list > a > em {
  grid-column: 2;
  justify-self: start;
  padding: 6px 9px;
  border-radius: 999px;
  color: #075c4d;
  background: #e0f5ef;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.community-page .community-notice-list > a:hover,
.community-page .community-notice-list > a:focus-visible {
  transform: translateY(-2px);
  border-color: #087d65;
}

.community-participation-v578 {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
  gap: 30px;
  align-items: center;
  margin-top: 24px;
  padding: clamp(26px, 3.5vw, 42px);
  border-top: 6px solid #ffd44f;
  color: #fff;
  background: #101a1d;
}

.community-participation-v578 h2 {
  margin: 8px 0 10px;
  color: #fff;
  font: 700 clamp(31px, 3.6vw, 48px)/1 Georgia, "Times New Roman", serif;
}

.community-participation-v578 p { max-width: 610px; margin: 0; color: #d8e3e1; line-height: 1.55; }

.community-participation-v578 nav {
  display: grid;
  gap: 9px;
}

.community-participation-v578 nav a {
  display: flex;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 15px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 10px;
  color: #fff;
  background: rgba(255, 255, 255, .06);
  font-weight: 900;
  text-decoration: none;
}

.community-participation-v578 nav a.is-primary {
  color: #10171a;
  border-color: #ffd44f;
  background: #ffd44f;
}

.community-participation-v578 nav a:hover,
.community-participation-v578 nav a:focus-visible {
  color: #10171a;
  background: #fff;
}

.community-page .orbit-cta-v578--community { margin-top: 24px; }

.community-page .community-safety-v578 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .65fr);
  gap: 32px;
  align-items: center;
  margin-top: 24px;
  padding: clamp(26px, 3.5vw, 40px);
}

.community-page .community-safety-v578 h2 {
  max-width: 700px;
  font-size: clamp(31px, 3.8vw, 48px);
}

.community-page .community-safety-v578 nav {
  display: grid;
  gap: 8px;
}

.community-page .community-safety-v578 nav a {
  display: flex;
  min-height: 45px;
  align-items: center;
  padding: 10px 4px;
  border-bottom: 1px solid rgba(255, 255, 255, .2);
  color: #fff;
  font-weight: 900;
  text-decoration: none;
}

@media (max-width: 980px) {
  .orbit-cta-v578 {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .orbit-cta-v578 > a {
    grid-column: 2;
    justify-self: start;
  }

  .travel-desk-page .travel-quick-picks-v578 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .travel-cta-v578,
  .community-participation-v578,
  .community-page .community-safety-v578 {
    grid-template-columns: 1fr;
  }

  .travel-cta-v578 nav { justify-content: flex-start; }

  body.reviews-page .reviews-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .orbit-cta-v578 {
    grid-template-columns: 1fr;
    gap: 17px;
    border-radius: 18px;
  }

  .orbit-cta-v578__mark { width: 58px; height: 58px; }
  .orbit-cta-v578 > a { grid-column: auto; width: 100%; }

  body.is-life-desk-beauty .life-category-subnav-v532 {
    display: flex;
    max-width: 100%;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 5px;
  }

  body.is-life-desk-beauty .life-category-subnav-v532 a {
    flex: 0 0 auto;
  }

  .travel-desk-page .travel-quick-picks-v578 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .travel-desk-page .travel-quick-picks-v578 button { min-height: 108px; }

  .travel-desk-page .travel-reporting-v578 [data-live-archive] > article:nth-child(n + 5) {
    display: none;
  }

  .travel-desk-page .travel-reporting-v578 .live-story-card h2 {
    font-size: 27px;
    line-height: 1.08;
  }

  .travel-cta-v578 nav {
    display: grid;
    width: 100%;
  }

  .travel-cta-v578 .news-button { width: 100%; white-space: normal; }

  .weather-page .weather-unified-disclosure-v578 > summary {
    min-height: 0;
    align-items: flex-start;
  }

  .weather-page .weather-combined-panel-v578 { padding: 12px; }
  .weather-page .weather-history-v578 { padding-top: 24px; }

  body.reviews-page .reviews-hero,
  body.reviews-page .reviews-hero-inner {
    min-height: 440px;
  }

  body.reviews-page .reviews-hero h1 {
    font-size: clamp(38px, 11vw, 52px);
    line-height: 1;
  }

  body.reviews-page .reviews-hero-facts {
    grid-template-columns: 1fr;
  }

  body.reviews-page .reviews-hero-facts span {
    min-height: 50px;
  }

  body.reviews-page .reviews-trust-grid,
  body.reviews-page .reviews-grid {
    grid-template-columns: 1fr !important;
  }

  body.reviews-page .reviews-grid > .review-tile:nth-child(n + 5) {
    display: none;
  }

  body.reviews-page.reviews-show-all-v578 .reviews-grid > .review-tile {
    display: flex;
  }

  body.reviews-page .reviews-trust-grid article {
    min-height: 0;
    padding: 18px;
  }

  body.reviews-page .reviews-discovery-tools {
    grid-template-columns: 1fr;
  }

  body.reviews-page .reviews-filter,
  body.reviews-page .reviews-lane-filter,
  body.reviews-page .watchlist-radar-filters {
    justify-content: flex-start;
    overflow-x: auto;
  }

  .community-page .community-notice-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 470px) {
  .travel-desk-page .travel-quick-picks-v578 {
    grid-template-columns: 1fr;
  }

  .travel-desk-page .travel-quick-picks-v578 button {
    min-height: 96px;
  }

  .community-page .community-notice-list > a {
    min-height: 0;
    grid-template-columns: 28px minmax(0, 1fr);
    padding: 17px;
  }

  .community-participation-v578 nav a,
  .orbit-cta-v578 > a {
    min-height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .orbit-cta-v578 > a,
  .travel-quick-picks-v578 button,
  .community-notice-list > a {
    transition: none !important;
  }
}

@media print {
  .orbit-cta-v578,
  .travel-cta-v578,
  .community-participation-v578,
  .community-page .community-safety-v578,
  .weather-tools-hub-v57636 {
    break-inside: avoid;
    box-shadow: none !important;
  }
}
