/* DIRECTION A - Heritage Editorial: Fraunces + Inter, forest green & brass on ivory */
:root {
  --teal: #1e4633; --teal-dark: #153324; --coral: #1e4633; --cream: #f7f2e9;
  --charcoal: #25302a; --slate: #5c6659; --line: #e0d6c0; --field: #9a9280;
  --brand: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
  --display: "Fraunces", Georgia, "Times New Roman", serif;
  --tint: #eaeFE4;
  --brass: #a8802e; --brass-soft: #c9a85c;
}
body { font-size: 17px; }
.x-hero::after { background: linear-gradient(100deg, rgb(247 242 233 / 0.97) 0%, rgb(247 242 233 / 0.94) 45%, rgb(247 242 233 / 0.45) 75%, rgb(247 242 233 / 0.1) 100%); }
@media (max-width: 700px) { .x-hero::after { background: rgb(247 242 233 / 0.92); } }
.x-tagline { font: 600 12.5px/1.3 var(--brand); letter-spacing: 0.16em; text-transform: uppercase; color: var(--brass); }
.x-hero h1, .x-sec h2, .x-card h3, .x-msheet-head h2, .x-sheet-head h2, .x-holtitle { font-family: var(--display); }
.x-hero h1 { font-weight: 600; letter-spacing: -0.015em; font-size: clamp(36px, 5.4vw, 52px); }
.x-sec h2 { font-weight: 600; letter-spacing: 0; }
.x-card h3 { font-weight: 600; }
.x-brand b { font-family: var(--display); font-weight: 700; letter-spacing: 0; }
.x-lede { color: var(--slate); }
.x-mi { font: 500 15px/1 var(--brand); letter-spacing: 0.01em; }
.x-mi:hover, .x-mi[aria-expanded="true"], .x-mi[aria-pressed="true"] { background: var(--tint); color: var(--teal-dark); }
.x-form { border-radius: 16px; border: 1px solid #d8cdb2; box-shadow: 0 1px 2px #25302a0d, 0 16px 40px #25302a12; }
.x-select, .x-input { border-width: 1.5px; border-radius: 10px; }
.x-btn-main { background: var(--teal); color: #f7f2e9; border-radius: 8px; font: 600 17.5px/1.2 var(--brand); letter-spacing: 0.02em; border: 1px solid var(--teal-dark); }
.x-btn-main:hover { filter: brightness(1.12); }
.x-more { border-width: 1.5px; border-radius: 10px; font: 500 16.5px/1.2 var(--brand); }
.x-more::after { color: var(--brass); }
.x-call { background: var(--teal); color: #f7f2e9; border-radius: 8px; }
.x-web, .x-copy { background: transparent; color: var(--teal-dark); border: 1.5px solid var(--teal); border-radius: 8px; }
.x-web:hover, .x-copy:hover { background: var(--tint); }
.x-copy.is-copied { background: var(--teal); color: #f7f2e9; }
.x-card { border-radius: 12px; box-shadow: none; }
.x-media { background: #f1ebdc; }
.x-toggle, .x-details a, .x-startover { color: var(--brass); }
.x-tier, .x-cardfb span { color: var(--teal-dark); }
.x-steps li { border-radius: 12px; font: 500 18.5px/1.35 var(--brand); }
.x-steps li span { background: var(--teal); font-family: var(--display); font-weight: 600; }
.x-ttile { border-width: 1px; border-radius: 12px; font: 500 15.5px/1.25 var(--brand); }
.x-ttile:hover, .x-ttile[aria-pressed="true"] { border-color: var(--teal); background: var(--tint); color: var(--teal-dark); }
.x-ttile .x-letter { background: var(--teal); font-family: var(--display); }
.x-ptile { border-radius: 12px; }
.x-showmore { background: transparent; color: var(--teal-dark); border: 1.5px solid var(--teal); border-radius: 8px; font: 600 17px/1.2 var(--brand); }
.x-showmore:hover { background: var(--tint); }
.x-list { background: var(--teal); border-radius: 20px; }
.x-list .x-btn-main { background: var(--brass-soft); color: #231c0c; border-color: #a8802e; }
.x-list .x-btn-main:hover { filter: brightness(1.06); }
.x-menubtn { border-radius: 8px; }
.x-iconbtn { border-radius: 10px; }
.x-mi--holiday { background: linear-gradient(135deg, #1e4633, #2c5c43); border-radius: 100px; }
.x-mi--holiday:hover { background: linear-gradient(135deg, #153324, #1e4633); color: #fff; }
.x-holdot { background: #d9b36a; box-shadow: 0 0 8px 2px #d9b36a66; }
.x-mrow--holiday { color: #1e4633; } .x-mrow--holiday:hover { color: #2c5c43; }
.x-holbanner a { background: linear-gradient(135deg, #1e4633, #10271b); box-shadow: 0 14px 40px #1e463333; }
.x-holsub { color: #cfe0d2; }
.x-holcta { color: #d9b36a; }
.x-holicon { background: #f7f2e9; }
.x-occ[aria-current="true"] { background: var(--tint); color: var(--teal-dark); }
.x-occ:hover { background: #f1ebdc; }
.x-fchip.is-on { background: var(--teal-dark); border-color: var(--teal-dark); }
.x-check input { accent-color: var(--teal); }
.x-ddpanel, .x-sheet-panel, .x-msub { border-radius: 14px; }
.x-foot-links a { color: var(--brass); }
.x-mail { border-radius: 12px; }

/* ===== Heritage additions (2026-10-24 deploy) ===== */
h1, h2 { font-family: var(--display); }

/* Chanukah page: re-theme holiday accents to Heritage forest & brass */
:root {
  --hol-deep: #1e4633;
  --hol-mid: #2c5c43;
  --hol-gold: #a8802e;
  --hol-gold-soft: #f5ecd4;
  --hol-tint: #eaeFE4;
}
.hk-hero h1, .sec h2, .slot-body h3 { font-family: var(--display); }
.chips li { background: #f5ecd4; border-color: #e3d3a8; color: #6b4e14; }
.chips li.blue { background: var(--tint); border-color: #d5dfcc; color: var(--teal-dark); }
.x-chanukah-pill { background: linear-gradient(135deg, #1e4633, #10271b) !important; }
.x-chanukah-pill:hover { background: linear-gradient(135deg, #153324, #1e4633) !important; }
.x-chanukah-pill .x-holdot { background: #d9b36a !important; box-shadow: 0 0 8px 2px #d9b36a66 !important; }

/* Ships everywhere brands section */
.x-brands-lede { color: var(--slate); font-size: 19px; max-width: 660px; margin-top: 6px; }
.x-brands { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 20px; margin-top: 24px; }
.x-brand-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
.x-brand-logo { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; background: #fff; border-bottom: 1px solid var(--line); padding: 28px; box-sizing: border-box; }
.x-brand-logo img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.x-brand-body { padding: 18px 18px 0; display: grid; gap: 6px; }
.x-brand-body h3 { font: 600 22px/1.25 var(--display); }
.x-brand-desc { font-size: 17px; color: var(--slate); margin: 0; }
.x-brand-ship { display: inline-flex; align-items: center; gap: 6px; justify-self: start; margin-top: 4px; padding: 4px 12px; background: var(--tint); color: var(--teal-dark); border-radius: 999px; font: 600 14px/1.5 var(--brand); }
.x-brand-actions { padding: 16px 18px 18px; margin-top: auto; }
.x-brand-actions .x-web { width: 100%; box-sizing: border-box; }

/* Get-listed modal */
.x-lmodal { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 14px; }
.x-lmodal[hidden] { display: none; }
.x-lmodal-back { position: absolute; inset: 0; background: rgba(21, 51, 36, 0.55); }
.x-lmodal-panel { position: relative; width: 100%; max-width: 880px; max-height: 92vh; overflow: auto; box-shadow: 0 24px 80px rgba(21, 51, 36, 0.4); }
.x-lmodal-close {
  position: absolute; top: 12px; right: 12px; z-index: 2; width: 52px; height: 52px;
  border-radius: 12px; border: 1.5px solid #ffffff55; background: transparent; color: #fff;
  font: 400 30px/1 var(--brand); cursor: pointer;
}
.x-lmodal-close:hover { background: #ffffff22; }

/* Compact brands strip under city results */
.x-brands-strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: 32px; padding: 20px 24px; background: #fff; border: 1px solid var(--line); border-radius: 14px; font-size: 17px; }
.x-brands-strip .x-web { min-height: 52px; padding: 6px 20px; font-size: 17px; }

/* base .x-web for static pages (index defines its own inline) */
.x-web { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 2px 8px; min-height: 60px; padding: 8px 16px; border-radius: 8px; text-decoration: none; text-align: center; font: 600 17px/1.2 var(--brand); background: transparent; color: var(--teal-dark); border: 1.5px solid var(--teal); }
.x-web:hover { background: var(--tint); }
.x-brand-logo img.x-logo-tall { max-height: 110px; width: auto; }

/* chanukah owner band: forest-to-deep-forest instead of navy */
.hk-band { background: linear-gradient(135deg, var(--teal), var(--teal-dark)) !important; }

/* header breathing room on desktop: widen the bar and guarantee brand/nav separation */
.x-header .x-hbar { max-width: 1240px; }
.x-header .x-brand { padding-right: 18px; }
