/* Guides redesign layer, matching the approved redesign boards. Loads after guides-intelligence.css.
   Accent: the app gold #D8A93A for fills, lines and the crowd calendar's Moderate; #8A6414 for gold text. High is a soft coral with white text. */
:root {
  --gi-champagne: #fbf3df;
  --gi-gold-line: #D8A93A;
  --rx-blue: #0568ff;
  --rx-blue-deep: #0054dc;
  --rx-blue-soft: #eaf3ff;
  --rx-ink: #07142d;
  --rx-body: #40506a;
  --rx-muted: #556482;
  --rx-line: #d9e4f2;
  --rx-row: #eef3fa;
  --rx-paper: #f7faff;
  --rx-gold: #D8A93A;       /* app gold: fills, lines, unit squares (always with a label) */
  --rx-gold-ink: #8A6414;   /* gold text on white, 5.4:1 */
  --rx-gold-soft: #fbf3df;  /* chip and band backgrounds */
  --rx-gold-text: #6b4d0c;  /* text on gold-soft */
  --rx-gold-line: #e9cb7f;
  --rx-lo: #11c768; --rx-mo: #D8A93A; --rx-hi: #DF5A4C; --rx-hi-deep: #C94A3F;  /* crowd calendar: Low, Moderate (app gold), High (coral, white text) */
  --rx-ok: #0a7a46;
}

.rx-sec { padding: 72px 0; background: var(--rx-paper); color: var(--rx-ink); scroll-margin-top: 60px; }
.rx-sec-alt { background: var(--rx-paper); }
.rx-stack { display: flex; flex-direction: column; gap: 28px; }
.rx-stack-sm { display: flex; flex-direction: column; gap: 14px; }
.rx-intro { display: flex; flex-direction: column; gap: 12px; max-width: 800px; }
.rx-intro-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; }
.rx-eyebrow { margin: 0; font-size: 14px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--rx-blue); }
.rx-h1 { margin: 0; font-size: clamp(32px, 3.4vw, 44px); font-weight: 800; line-height: 1.06; letter-spacing: -.035em; color: var(--rx-ink); }
.rx-h2 { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -.02em; }
.rx-h3 { margin: 0; font-size: 20px; font-weight: 800; letter-spacing: -.02em; color: var(--rx-ink); }
.rx-lede { margin: 0; font-size: 18px; line-height: 1.55; color: var(--rx-body); }
.rx-body { margin: 0; font-size: 15px; line-height: 1.5; color: var(--rx-body); }
.rx-body2 { color: var(--rx-body); }
.rx-note { margin: 0; font-size: 14px; line-height: 1.55; color: var(--rx-muted); }
.rx-foot { margin: 0; font-size: 14px; color: var(--rx-muted); }
.rx-muted { color: var(--rx-muted); }
.rx-sm { font-size: 14px; }
.rx-b2 { font-weight: 700; }
.rx-r { text-align: right !important; }
.rx-b { font-weight: 750; }
.rx-blue { color: var(--rx-blue) !important; }
.rx-blue2 { color: var(--rx-blue-deep); }
.rx-gold-ink { color: var(--rx-gold-ink) !important; }
.rx-ok { font-size: 14px; font-weight: 750; color: var(--rx-ok); }
.rx-pad { margin-left: 28px !important; margin-right: 28px !important; }
.rx-link { color: var(--rx-blue-deep); font-weight: 700; text-decoration: none; }
.rx-link:hover { color: #003c9e; }
.rx-x { overflow-x: auto; }

.rx-panel { background: #fff; border: 1px solid var(--rx-line); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 18px; font-variant-numeric: tabular-nums; }
.rx-panel-table { padding: 8px 0 14px; gap: 8px; box-shadow: 0 18px 48px rgba(7,35,80,.06); }
.rx-panel-table > .rx-h3 { margin-top: 20px !important; margin-bottom: 10px !important; }
.rx-panel-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.rx-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; font-size: 14px; color: var(--rx-body); }
.rx-legend > span { display: inline-flex; align-items: center; gap: 8px; }
.rx-legend strong { color: var(--rx-ink); }
.rx-legend-wide .rx-b2 { color: var(--rx-ink); }

.rx-fresh-box { display: flex; flex-direction: column; gap: 6px; padding: 14px 18px; border-radius: 14px; background: #fff; border: 1px solid var(--rx-line); }
.rx-fresh-box a { color: var(--rx-blue-deep); }

/* morning */
.rx-tiles { display: flex; flex-wrap: wrap; gap: 12px; }
.rx-tile { flex: 1 1 220px; padding: 18px 20px; border-radius: 16px; background: #fff; border: 1px solid var(--rx-line); display: flex; flex-direction: column; gap: 4px; }
.rx-tile-n { font-size: 30px; font-weight: 800; color: var(--rx-ink); }
.rx-tile-t { font-size: 15px; color: var(--rx-body); }
.rx-tile-t strong { color: var(--rx-ink); }
.rx-tbl { width: 100%; min-width: 1040px; border-collapse: collapse; font-size: 16px; }
.rx-tbl thead th { padding: 12px; border-bottom: 1px solid var(--rx-line); text-align: left; color: var(--rx-muted); font-size: 13px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.rx-tbl td, .rx-tbl tbody th { padding: 16px 12px; border-bottom: 1px solid var(--rx-row); text-align: left; font-weight: 400; }
.rx-tbl tbody th { font-weight: 700; }
.rx-tbl tr > :first-child { padding-left: 28px; }
.rx-tbl tr > :last-child { padding-right: 28px; }
.rx-pill { display: inline-block; padding: 6px 10px; border-radius: 999px; font-size: 13px; font-weight: 800; white-space: nowrap; }
.rx-pill-early { background: var(--rx-blue-soft); color: var(--rx-blue-deep); }
.rx-pill-short { background: #eef1f5; color: #3a4a63; }
.rx-pill-long { background: var(--rx-gold-soft); color: var(--rx-gold-text); }
.rx-rise { display: flex; align-items: center; gap: 10px; }
.rx-rise span { display: block; height: 10px; border-radius: 0 5px 5px 0; background: var(--rx-blue); }
.rx-rise span.rx-light { background: #8ab5f6; }
.rx-rise b { font-weight: 750; }
.rx-tag { display: inline-block; padding: 4px 8px; border-radius: 6px; background: var(--rx-gold-soft); color: var(--rx-gold-text); font-size: 13px; font-weight: 700; white-space: nowrap; }
.rx-filter, .rx-mcards { display: none; }
.rx-ee-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.rx-ee-card { padding: 20px; border-radius: 18px; background: var(--rx-paper); border: 1px solid var(--rx-line); display: flex; flex-direction: column; gap: 12px; }
.rx-ee-name { font-size: 17px; font-weight: 750; }
.rx-ee-big { font-size: 34px; font-weight: 800; letter-spacing: -.02em; color: var(--rx-blue); line-height: 1.1; }
.rx-ee-sub { font-size: 15px; color: var(--rx-body); }
.rx-ee-sub strong { color: var(--rx-ink); }
.rx-units { display: flex; gap: 4px; }
.rx-units span { width: 22px; height: 22px; border-radius: 5px; background: var(--rx-line); }
.rx-units span.on { background: var(--rx-blue); }
.rx-units span.on.rx-u-gold { background: var(--rx-gold); }
.rx-tie { padding: 2px 8px; border-radius: 999px; background: #eef1f5; color: #3a4a63; font-size: 12px; font-weight: 800; vertical-align: middle; }

/* buttons */
.rx-seg { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rx-seg-lab { font-size: 15px; font-weight: 700; margin-right: 4px; }
.rx-seg button, .rx-filter button { min-height: 44px; padding: 0 20px; border-radius: 999px; border: 1px solid var(--rx-line); background: #fff; color: var(--rx-ink); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.rx-seg button[aria-pressed="true"], .rx-filter button[aria-pressed="true"] { border-color: var(--rx-ink); background: var(--rx-ink); color: #fff; }
.rx-seg button:disabled { color: #9aa7bb; cursor: not-allowed; border-style: dashed; }

/* through the day */
.rx-ln { display: inline-block; width: 24px; height: 3px; border-radius: 2px; background: var(--rx-blue); }
.rx-ln-gold { background: var(--rx-gold); }
.rx-chart { position: relative; height: 320px; padding-left: 36px; }
.rx-chart-svg { display: block; width: 100%; height: 300px; overflow: visible; }
.rx-yl { position: absolute; left: 0; font-size: 13px; color: var(--rx-muted); }
.rx-callout { position: absolute; max-width: 220px; padding: 8px 12px; border-radius: 10px; background: #fff; border: 1px solid #bcd5fb; font-size: 13px; line-height: 1.4; box-shadow: 0 6px 18px rgba(7,35,80,.08); }
.rx-callout-gold { border-color: var(--rx-gold-line); max-width: 240px; }
.rx-xl { position: relative; margin-left: 36px; height: 18px; font-size: 13px; color: var(--rx-muted); }
.rx-xl span { position: absolute; transform: translateX(-50%); white-space: nowrap; }
.rx-days { padding-left: 36px; display: flex; flex-direction: column; gap: 6px; color: var(--rx-body); }
.rx-days-svg { display: block; width: 100%; height: 60px; }
.rx-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.rx-stat { padding: 20px; border-radius: 18px; background: #fff; border: 1px solid var(--rx-line); display: flex; flex-direction: column; gap: 6px; font-size: 15px; color: var(--rx-body); }
.rx-stat strong { color: var(--rx-ink); }
.rx-stat-n { font-size: 32px; font-weight: 800; color: var(--rx-ink); }

/* wait limit */
.rx-wl { min-width: 980px; }
.rx-wl-row { display: grid; grid-template-columns: 250px minmax(0, 1fr) 150px 190px; gap: 16px; align-items: center; padding: 14px 28px; border-bottom: 1px solid var(--rx-row); font-size: 16px; }
.rx-wl-headrow { padding: 12px 28px; font-size: 13px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; color: var(--rx-muted); border-bottom: 1px solid var(--rx-line); }
.rx-wl-axis { border-bottom: 0; padding-top: 10px; font-size: 12px; color: var(--rx-muted); }
.rx-wl-ticks { position: relative; height: 16px; }
.rx-wl-ticks span { position: absolute; white-space: nowrap; }
.rx-wl-track { position: relative; height: 30px; }
.rx-wl-base { position: absolute; left: 0; right: 0; top: 14px; height: 2px; background: #e3ebf6; }
.rx-wl-under { position: absolute; left: 0; top: 11px; height: 8px; border-radius: 4px; background: var(--rx-lo); }
.rx-wl-mark { position: absolute; top: 2px; padding: 3px 9px; border-radius: 999px; background: var(--rx-hi-deep); color: #fff; font-size: 13px; font-weight: 800; white-space: nowrap; }
.rx-wl-mark.rx-wl-late { background: var(--rx-gold-soft); color: var(--rx-gold-text); }
.rx-wl-stays { position: absolute; right: 0; top: 4px; font-size: 13px; font-weight: 750; color: #0a6b3d; background: #fff; padding-left: 6px; }
.rx-wl-share { display: flex; flex-direction: column; align-items: flex-end; }
.rx-wl-share span { font-size: 18px; font-weight: 800; }
.rx-wl-share small { font-size: 12px; color: var(--rx-muted); }

/* later windows */
.rx-lw { min-width: 1000px; }
.rx-lw-row { display: grid; grid-template-columns: 230px 90px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); gap: 16px; align-items: center; padding: 14px 28px; border-bottom: 1px solid var(--rx-row); font-size: 15px; }
.rx-lw-headrow { font-size: 13px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; color: var(--rx-muted); border-bottom: 1px solid var(--rx-line); }
.rx-lw-name { font-weight: 700; }
.rx-v { font-size: 17px; font-weight: 800; }
.rx-s { display: block; font-size: 13px; color: var(--rx-muted); }
.rx-late { display: inline-block; margin-top: 3px; padding: 2px 7px; border-radius: 6px; background: var(--rx-gold-soft); color: var(--rx-gold-text); font-size: 12px; font-weight: 700; }
.rx-none { color: #8090a8; font-size: 14px; }
.rx-pw { min-width: 820px; display: flex; flex-direction: column; gap: 10px; color: var(--rx-body); }
.rx-cols { display: flex; gap: 6px; }
.rx-cols-bars { align-items: flex-end; height: 120px; }
.rx-col { display: flex; flex-direction: column; align-items: center; gap: 6px; flex: 1 1 0; }
.rx-col-v { font-size: 13px; font-weight: 750; color: var(--rx-ink); }
.rx-col-n { font-size: 17px; font-weight: 800; color: var(--rx-ink); }
.rx-bar { width: 70%; border-radius: 4px 4px 0 0; background: var(--rx-blue); }
.rx-cols-lab { font-size: 13px; color: var(--rx-muted); border-top: 1px solid var(--rx-line); padding-top: 8px; }

/* when to go */
.rx-hm { display: grid; gap: 6px; }
.rx-hm-m { grid-template-columns: 170px repeat(12, minmax(0, 1fr)) 80px; }
.rx-hm-w { grid-template-columns: 170px repeat(7, minmax(0, 1fr)) 80px; gap: 8px; }
.rx-c { position: relative; height: 52px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 17px; font-weight: 750; color: var(--rx-ink); background: #eef3fa; }
.rx-c.rx-key { display: inline-block; width: 28px; height: 20px; }
.rx-lo { background: var(--rx-lo); } .rx-mo { background: var(--rx-mo); } .rx-hi { background: var(--rx-hi); color: #fff; }
.rx-hm .rx-c { font-size: 19px; font-weight: 800; }
.rx-h { position: absolute; top: 4px; right: 5px; width: 12px; height: 12px; }
.rx-pick { box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--rx-ink); }
.rx-cl { font-size: 13px; font-weight: 700; color: var(--rx-muted); text-align: center; }
.rx-rl { font-size: 15px; font-weight: 750; display: flex; align-items: center; }
.rx-rg { font-size: 14px; color: var(--rx-body); display: flex; align-items: center; justify-content: flex-end; }
.rx-band { padding: 4px 8px; border-radius: 6px; background: var(--rx-gold-soft); color: var(--rx-gold-text); font-size: 12px; font-weight: 750; text-align: center; }
.rx-callbox { margin: 0; padding: 14px 16px; border-radius: 12px; background: var(--rx-gold-soft); color: #5a4108; font-size: 15px; line-height: 1.5; }
.rx-wk { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-top: 16px; border-top: 1px solid var(--rx-line); }
.rx-wk-card { padding: 14px 16px; border-radius: 12px; background: var(--rx-paper); border: 1px solid var(--rx-line); display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.rx-wk-v { font-size: 20px; font-weight: 800; }

/* weather */
.rx-wx { min-width: 700px; }
.rx-wr { display: grid; grid-template-columns: 200px 120px minmax(0,1fr) 150px; gap: 16px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--rx-row); font-size: 15px; }
.rx-wr:last-child { border-bottom: 0; }
.rx-wr-head { font-size: 13px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; color: var(--rx-muted); }
.rx-c-mid { text-align: center; }
.rx-track { position: relative; height: 22px; }
.rx-mid { position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: #9fb0c8; }
.rx-wx-sh { position: absolute; right: 50%; top: 5px; height: 12px; border-radius: 6px 0 0 6px; background: var(--rx-blue); }
.rx-wx-lg { position: absolute; left: 50%; top: 5px; height: 12px; border-radius: 0 6px 6px 0; background: var(--rx-gold); }
.rx-sw { display: inline-block; width: 18px; height: 10px; border-radius: 3px; }
.rx-sw-blue { background: var(--rx-blue); } .rx-sw-gold { background: var(--rx-gold); }
.rx-xcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.rx-xcard { padding: 20px; border-radius: 18px; background: #fff; border: 1px solid var(--rx-line); display: flex; flex-direction: column; gap: 6px; }
.rx-xcard-gold { border: 2px solid var(--rx-gold); }
.rx-xcard-k { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--rx-muted); }
.rx-xcard-gold .rx-xcard-k { color: var(--rx-gold-text); }
.rx-xcard-n { font-size: 28px; font-weight: 800; }

.rx-signup-wrap { padding: 8px 0 32px; background: var(--rx-paper); }
.guides-intelligence { background: var(--rx-paper); }


.rx-cur { color: var(--rx-blue-deep); }
.rx-hm .rx-rl.rx-cur::before { content: ""; width: 4px; height: 22px; margin-right: 8px; border-radius: 2px; background: var(--rx-blue); }
.rx-hm-m, .rx-hm-w { min-width: 760px; }
.rx-hm-m { min-width: 1040px; }
.rx-wk-block { display: flex; flex-direction: column; gap: 10px; padding-top: 16px; border-top: 1px solid var(--rx-line); }
.rx-wk-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.rx-wk-hot { background: #fff1ef !important; border-color: #f6b5ae !important; }
.rx-sm2 { font-size: 15px; }
.rx-xcards { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }

/* phone */
@media (max-width: 760px) {
  .rx-sec { padding: 48px 0; }
  .rx-stack { gap: 20px; }
  .rx-lede { font-size: 16px; }
  .rx-panel { padding: 18px; border-radius: 18px; }
  .rx-panel-table { padding: 4px 0 12px; }
  .rx-pad { margin-left: 18px !important; margin-right: 18px !important; }
  .rx-tiles { display: none; }
  .rx-filter { display: flex; gap: 6px; }
  .rx-filter button { flex: 1; padding: 0 8px; border-radius: 12px; font-size: 14px; }
  .rx-mcards { display: flex; flex-direction: column; gap: 12px; }
  .rx-mcards[data-filter="early"] .rx-mcard:not([data-v="early"]), .rx-mcards[data-filter="long"] .rx-mcard:not([data-v="long"]) { display: none; }
  .rx-panel-table:has(.rx-tbl) { display: none; }
  .rx-mcard { background: #fff; border: 1px solid var(--rx-line); border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
  .rx-mcard-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 17px; font-weight: 750; }
  .rx-mcard-top b { font-size: 15px; font-weight: 800; }
  .rx-mcard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; font-variant-numeric: tabular-nums; }
  .rx-mcard-grid div { display: flex; flex-direction: column; }
  .rx-mcard-grid b { font-size: 24px; font-weight: 800; }
  .rx-mcard-grid span { font-size: 13px; color: var(--rx-muted); }
  .rx-mcard-foot { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
  .rx-units span { width: 100%; max-width: 22px; height: auto; aspect-ratio: 1; flex: 1; }
  .rx-chart { height: 240px; padding-left: 28px; }
  .rx-chart-svg { height: 220px; }
  .rx-callout { display: none; }
  .rx-days { padding-left: 28px; }
  .rx-xl { margin-left: 28px; }
  .rx-wl, .rx-lw, .rx-pw, .rx-wx { min-width: 0; }
  .rx-wl-headrow, .rx-wl-axis, .rx-lw-headrow { display: none; }
  .rx-wl-row { grid-template-columns: 1fr auto; gap: 8px 12px; padding: 14px 18px; }
  .rx-wl-row > .rx-b2 { grid-column: 1 / -1; }
  .rx-wl-track { grid-column: 1 / -1; }
  .rx-wl-share { flex-direction: row; gap: 6px; align-items: baseline; }
  .rx-lw-row { grid-template-columns: 1fr 1fr; gap: 10px 14px; padding: 16px 18px; }
  .rx-lw-name { grid-column: 1 / -1; font-size: 17px; }
  .rx-lw-row > [data-l]::before { content: attr(data-l); display: block; font-size: 11px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; color: var(--rx-muted); margin-bottom: 2px; }
  .rx-cols { gap: 2px; }
  .rx-col-v { font-size: 11px; } .rx-col-n { font-size: 13px; }
  .rx-cols-lab { font-size: 10px; }
  .rx-pw .rx-late { white-space: nowrap; font-size: 11px; }
  .rx-pw .rx-cols > div:last-child { text-align: right !important; }
  .rx-hm-m { min-width: 860px; }
  .rx-hm-m, .rx-hm-w { grid-template-columns: 120px repeat(var(--n), minmax(0, 1fr)) 56px; }
  .rx-hm-m { --n: 12; } .rx-hm-w { --n: 7; min-width: 560px; }
  .rx-c { height: 44px; font-size: 15px; }
  .rx-wr { grid-template-columns: 70px minmax(0,1fr) 96px; gap: 8px; font-size: 14px; }
  .rx-wr > span:first-child { grid-column: 1 / -1; }
  .rx-wr > span:first-child:empty { display: none; }
  .rx-wr-head { display: none; }
}

/* v4: summary, ride links, share, CTA, phone collapsing and park tabs */
:root { --rx-lo: #1AA874; }
.rx-sec-sum { padding: 40px 0 0; }
.rx-sum { background: #fff; border: 1px solid var(--rx-line); border-radius: 24px; padding: 24px 28px; box-shadow: 0 18px 48px rgba(7,35,80,.06); }
.rx-sum ul { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.rx-sum li a { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 16px; border-radius: 16px; background: var(--rx-paper); border: 1px solid var(--rx-line); color: var(--rx-ink); text-decoration: none; position: relative; }
.rx-sum li a:hover { border-color: var(--rx-blue); }
.rx-sum-k { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--rx-blue-deep); }
.rx-sum-t { font-size: 15px; line-height: 1.45; color: var(--rx-body); padding-right: 14px; }
.rx-sum-go { position: absolute; right: 14px; top: 14px; color: var(--rx-blue); font-weight: 800; }
.rx-ride { color: inherit; text-decoration: none; border-bottom: 1px dotted #9fb0c8; }
.rx-ride:hover { color: var(--rx-blue-deep); border-bottom-color: var(--rx-blue); }
.rx-share { display: inline-flex; gap: 12px; align-items: center; font-size: 13px; font-weight: 700; }
.rx-share a, .rx-share button { color: var(--rx-blue-deep); background: none; border: 0; padding: 0; font: inherit; cursor: pointer; text-decoration: none; }
.rx-share a:hover, .rx-share button:hover { text-decoration: underline; }
.rx-fresh-box .rx-share { order: 3; }
.rx-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; padding: 28px 32px; border-radius: 20px; background: #073783; color: #fff; }
.rx-cta > div { max-width: 720px; display: flex; flex-direction: column; gap: 8px; }
.rx-cta-k { color: #b9d8ff !important; letter-spacing: .08em; }
.rx-cta-h { margin: 0; font-size: clamp(22px, 2.4vw, 28px); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: #fff; }
.rx-cta-p { margin: 0; color: #d7e6fb; font-size: 16px; line-height: 1.5; }
.rx-cta .gi-button { margin: 0; }
.rx-more-btn, .rx-ptabs { display: none; }
@media (max-width: 760px) {
  .rx-sec-sum { padding-top: 28px; }
  .rx-sum { padding: 18px; border-radius: 18px; }
  .rx-sum ul { grid-template-columns: 1fr; gap: 8px; }
  .rx-sum li a { padding: 12px 14px; }
  .rx-cta { padding: 22px 20px; }
  [data-collapsed="true"] .rx-more { display: none !important; }
  .rx-more-btn { display: block; width: calc(100% - 36px); min-height: 44px; margin-top: 10px !important; border-radius: 12px; border: 1px solid var(--rx-line); background: #fff; color: var(--rx-ink); font: inherit; font-weight: 700; cursor: pointer; }
  .rx-ptabs { display: flex; flex-wrap: wrap; gap: 6px; }
  .rx-ptabs button { min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--rx-line); background: #fff; color: var(--rx-ink); font: inherit; font-size: 14px; font-weight: 700; }
  .rx-ptabs button[aria-pressed="true"] { background: var(--rx-ink); border-color: var(--rx-ink); color: #fff; }
  .rx-hm-m, .rx-hm-w { min-width: 0 !important; }
  .rx-hm-m { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
  .rx-hm-w { grid-template-columns: repeat(7, minmax(0, 1fr)) !important; gap: 4px; }
  .rx-hm > .rx-cl, .rx-hm > .rx-band, .rx-hm > span:not([data-p]), .rx-hm .rx-rl, .rx-hm .rx-rg { display: none !important; }
  .rx-hm [data-p] { display: none; }
  .rx-hm[data-sel="magic-kingdom"] .rx-c[data-p="magic-kingdom"], .rx-hm[data-sel="epcot"] .rx-c[data-p="epcot"],
  .rx-hm[data-sel="hollywood-studios"] .rx-c[data-p="hollywood-studios"], .rx-hm[data-sel="animal-kingdom"] .rx-c[data-p="animal-kingdom"] { display: flex; }
  .rx-hm .rx-c { padding-top: 12px; height: 50px; font-size: 17px; }
  .rx-hm .rx-c[data-m]::before { content: attr(data-m); position: absolute; top: 4px; left: 6px; font-size: 10px; font-weight: 750; opacity: .85; }
  .rx-hm .rx-h { top: auto; bottom: 3px; right: 3px; width: 10px; height: 10px; }
}
.rx-methods-top { height: clamp(64px, 5.4vw, 82px); background: #f7fbff; }
.rx-methods-page dl { margin: 0; display: grid; gap: 14px; }
.rx-methods-page dt { font-weight: 800; color: var(--rx-ink); }
.rx-methods-page dd { margin: 4px 0 0; }
.rx-methods-page ul { margin: 8px 0 0; padding-left: 20px; color: var(--rx-body); line-height: 1.55; }
@media (max-width: 760px) {
  .rx-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .rx-stat { padding: 12px; border-radius: 14px; font-size: 12px; gap: 4px; }
  .rx-stat-n { font-size: 20px; }
  .rx-wk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .rx-wk-card { padding: 10px 12px; }
  .rx-wk-v { font-size: 16px; }
  .rx-wx [data-collapsed] .rx-more { display: none; }
  .rx-more-btn:not(.rx-pad) { width: 100%; }
}
.rx-pill-new { background: #eef1f5; color: #556482; }

/* best weeks */
.rx-callbox-blue { background: var(--rx-blue-soft); color: #0b2a5c; align-self: flex-start; }
.rx-wt { min-width: 960px; }
.rx-wt-row { display: grid; grid-template-columns: 56px 170px minmax(0, 1.6fr) 110px 110px 110px 190px; gap: 12px; align-items: center; padding: 16px 28px; border-bottom: 1px solid var(--rx-row); font-size: 16px; font-variant-numeric: tabular-nums; }
.rx-wt-head { font-size: 13px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; color: var(--rx-muted); border-bottom-color: var(--rx-line); }
.rx-rank { color: var(--rx-muted); font-weight: 800; font-size: 15px; }
.rx-wt-bar { display: flex; align-items: center; gap: 10px; }
.rx-wt-bar > span:first-child { display: block; height: 10px; border-radius: 0 5px 5px 0; background: var(--rx-blue); max-width: 220px; }
.rx-wt-bar > span.rx-light { background: #8ab5f6; }
.rx-wk-cards { display: flex; flex-wrap: wrap; gap: 16px; }
.rx-wk-note, .rx-wk-pick { flex: 1 1 360px; padding: 20px 22px; border-radius: 18px; background: #fff; display: flex; flex-direction: column; gap: 8px; font-size: 15px; color: var(--rx-body); }
.rx-wk-note { border: 1px dashed #b7c6db; }
.rx-wk-pick { border: 1px solid var(--rx-line); }
.rx-wk-note strong, .rx-wk-pick strong { color: var(--rx-ink); font-size: 17px; }
.rx-wk-pick-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; font-variant-numeric: tabular-nums; color: var(--rx-ink); }
/* events */
.rx-ev { min-width: 820px; }
.rx-er { display: grid; grid-template-columns: 190px 80px repeat(7, minmax(0, 1fr)); gap: 8px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--rx-row); }
.rx-er:last-child { border-bottom: 0; }
.rx-er-head { font-size: 13px; font-weight: 750; color: var(--rx-muted); }
.rx-er-head span:nth-child(n+3) { text-align: center; }
.rx-d { position: relative; height: 40px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; }
.rx-legend .rx-d { display: inline-block; width: 26px; height: 18px; }
.rx-d-M { background: var(--rx-blue); color: #fff; }
.rx-d-H { background: var(--rx-gold); color: var(--rx-ink); }
.rx-d-O { background: #8090a8; color: #fff; }
.rx-d-o { background: #eef3fa; color: #8090a8; font-weight: 600; }
.rx-d i { position: absolute; top: 2px; right: 4px; font-size: 10px; font-style: normal; }
.rx-most { margin-left: 4px; padding: 2px 8px; border-radius: 999px; background: var(--rx-blue-soft); color: var(--rx-blue-deep); font-size: 12px; font-weight: 800; }
/* hub */
.rx-decide { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.rx-decide a { display: flex; flex-direction: column; gap: 8px; padding: 22px; border-radius: 20px; background: #fff; border: 1px solid var(--rx-line); color: var(--rx-body); text-decoration: none; box-shadow: 0 18px 48px rgba(7,35,80,.05); }
.rx-decide a:hover { border-color: var(--rx-blue); }
.rx-decide strong { font-size: 22px; color: var(--rx-ink); letter-spacing: -.02em; }
.rx-finds { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.rx-find { padding: 20px; border-radius: 18px; background: #fff; border: 1px solid var(--rx-line); display: flex; flex-direction: column; gap: 8px; }
.rx-find-n { font-size: 34px; font-weight: 800; color: var(--rx-blue); letter-spacing: -.02em; }
.rx-find-t { font-size: 16px; font-weight: 650; color: var(--rx-ink); line-height: 1.4; }
.rx-pcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.rx-pcard { display: flex; flex-direction: column; border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid var(--rx-line); color: var(--rx-ink); text-decoration: none; }
.rx-pcard img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.rx-pcard-body { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; }
.rx-pcard-name { font-size: 18px; font-weight: 800; }
.rx-pcard:hover { border-color: var(--rx-blue); }
@media (max-width: 760px) {
  .rx-wt { min-width: 0; }
  .rx-wt-head { display: none; }
  .rx-wt-row { grid-template-columns: 34px 1fr auto auto; gap: 6px 10px; padding: 14px 18px; font-size: 15px; }
  .rx-wt-row > .rx-b2 { grid-column: 2 / -1; }
  .rx-wt-row .rx-wt-bar { grid-column: 2 / -1; }
  .rx-wt-row > .rx-r:nth-of-type(3) { display: none; }
  .rx-wt-row > span:last-child { grid-column: 2 / -1; }
  .rx-ev { min-width: 0; }
  .rx-er { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
  .rx-er > span:first-child { grid-column: 1 / 6; }
  .rx-er > span:nth-child(2) { grid-column: 6 / -1; text-align: right; }
  .rx-er-head { display: none; }
  .rx-d { height: 34px; font-size: 12px; }
}
@media (max-width: 760px) {
  .rx-wt-row { display: flex !important; flex-wrap: wrap; gap: 4px 12px; }
  .rx-wt-row > .rx-rank { flex: 0 0 34px; }
  .rx-wt-row > .rx-b2 { flex: 1 1 calc(100% - 50px); }
  .rx-wt-row > .rx-wt-bar { flex: 1 1 100%; padding-left: 46px; }
  .rx-wt-row > .rx-wt-bar > span:first-child { max-width: 55%; }
  .rx-wt-row > .rx-r, .rx-wt-row > span:last-child { flex: 0 0 auto; text-align: left !important; font-size: 13px; color: var(--rx-body); }
  .rx-wt-row > .rx-r:first-of-type { margin-left: 46px; }
  .rx-wt-row [data-s]::after { content: attr(data-s); }
  .rx-wt-row > span:last-child { flex-basis: 100%; padding-left: 46px; }
}

/* ---- review round 4 ---- */
.rx-d-C { background: var(--rx-ink); color: #fff; }
.rx-ee-grid { grid-template-columns: repeat(var(--ee-cols, 3), minmax(0, 1fr)); }
/* A short last row stretches across the full width instead of leaving an empty slot (5 rides: 3 + 2). */
.rx-ee-grid { display: flex; flex-wrap: wrap; }
.rx-ee-grid > .rx-ee-card { flex: 1 1 calc((100% - (var(--ee-cols, 3) - 1) * 16px) / var(--ee-cols, 3)); min-width: 0; }
.rx-hm-w, .rx-hm-m { padding: 7px; }
.rx-pnote.rx-off { display: block; }
.rx-mcards[data-filter="short"] .rx-mcard:not([data-v="short"]), .rx-mcards[data-filter="new"] .rx-mcard:not([data-v="new"]) { display: none; }
@media (max-width: 1080px) { .rx-ee-grid > .rx-ee-card { flex: 1 1 260px; } }
@media (max-width: 760px) {
  .rx-pnote.rx-off { display: none; }
  .rx-wt-head { display: none !important; }
  .rx-wt-row > .rx-r:nth-of-type(3) { display: inline !important; }
  .rx-wt-row > .rx-r:first-of-type { margin-left: 46px; }
  .rx-filter { flex-wrap: wrap; }
}
@media (max-width: 760px) {
  [data-rx-limit] .rx-seg { flex-wrap: nowrap; gap: 6px; }
  [data-rx-limit] .rx-seg button { padding: 0 14px; }
  [data-rx-limit] .rx-seg-lab { white-space: nowrap; }
}
@media (max-width: 760px) { .rx-chart > .rx-yl:first-child { display: none; } }

/* Production additions (Guides redesign v1) */
/* One waitlist ask per page: the page ends with "Keep the magic", so the shared footer's own waitlist column is hidden here. */
body.rx-page rdh-site-footer .footer-signup { display: none; }
@media (min-width: 1101px) {
  body.rx-page rdh-site-footer .footer-inner { grid-template-columns: minmax(250px,1fr) minmax(200px,.8fr) minmax(230px,.9fr) minmax(140px,.55fr); }
}
.rx-pcard img { height: auto; }
.rx-anchor { position: absolute; width: 0; height: 0; overflow: hidden; scroll-margin-top: 72px; }
.rx-page [data-guide-card] { scroll-margin-top: 72px; }
.rx-fresh-box .rx-delayed { color: var(--rx-gold-ink); }
/* Copy outcomes show on the button; the status region speaks them to assistive technology. */
.rx-page .gi-guide-share-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; box-shadow: none; }
/* Live-waits preview on these pages uses the redesign's green for drops. */
.rx-page .gl-drop { color: var(--rx-ok); }
/* Day-curve window edges labelled at the plot's ends stay inside the chart. */
.rx-xl span.rx-xl-start { transform: none; }
.rx-xl span.rx-xl-end { transform: translateX(-100%); }
/* Best weeks at each park */
.rx-pwk-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.rx-pwk { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px; border: 1px solid var(--rx-line); border-radius: 16px; background: #fff; }
.rx-pwk-park { font-size: 17px; }
.rx-pwk ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.rx-pwk li { display: grid; grid-template-columns: 34px 1fr auto; gap: 2px 8px; align-items: baseline; padding-bottom: 8px; border-bottom: 1px solid var(--rx-row); }
.rx-pwk li:last-child { border-bottom: 0; padding-bottom: 0; }
.rx-pwk li .rx-sm { grid-column: 2 / -1; }
.rx-pwk-v { font-weight: 800; color: var(--rx-blue); font-variant-numeric: tabular-nums; }
.rx-pwk-sub { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--rx-muted); }
.rx-pwk-alt { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--rx-line); }
.rx-pwk-alt .rx-pwk-v { color: var(--rx-ink); }
.rx-pwk-bal { display: block; color: var(--rx-gold-ink); font-weight: 700; }
