/* ===== Sahara - Christmas (banner shows from 1 November, see js/christmas.js) =====
   Banner above the top bar + the Christmas page. The rest of the site keeps
   the normal Sahara colours. */

.xm-banner { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 8px 16px; background: linear-gradient(90deg, #7d1010, #a51c1c 50%, #7d1010); color: #fff; font-weight: 500; font-size: .92rem; text-align: center; }
.xm-banner strong { font-family: var(--serif); font-style: italic; font-weight: 700; font-size: 1.12rem; color: var(--gold); letter-spacing: .02em; }
.xm-banner a { color: #fff; text-decoration: underline; font-weight: 500; white-space: nowrap; }
.xm-banner a:hover { color: var(--gold); }
.xm-banner svg { width: 20px; height: 20px; flex: none; }
@media (max-width: 600px) {
  /* one short line on phones */
  .xm-banner { gap: 8px; padding: 6px 12px; font-size: .82rem; }
  .xm-banner strong { font-size: 1rem; }
  .xm-banner svg { width: 18px; height: 18px; }
  .xm-extra { display: none; }
}

/* Home page poster tile: button sits over the bottom of the poster, like the other tiles */
.xm-tile .tile-caption { padding-top: 60px; background: linear-gradient(transparent, rgba(40, 6, 6, .7) 60%); }

/* Christmas page */
.xm-hero::before { background: var(--star-gold), linear-gradient(rgba(70, 8, 8, .72), rgba(30, 6, 6, .86)); }
.xm-menu { max-width: 760px; margin: 0 auto; text-align: center; background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); padding: 44px 40px; border-top: 4px solid var(--gold); }
.xm-price { font-family: var(--serif); font-size: 2.4rem; font-weight: 700; color: var(--maroon); margin: 0; line-height: 1.1; }
.xm-price small { display: block; font-family: var(--sans); font-size: .95rem; font-weight: 400; color: var(--muted); margin-top: 6px; }
.xm-course { margin-top: 28px; }
.xm-course h3 { font-size: .8rem; font-family: var(--sans); font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--orange); margin-bottom: 8px; }
.xm-course p { margin: 0; font-family: var(--serif); font-size: 1.12rem; line-height: 1.8; }
.xm-note { margin: 30px 0 0; font-size: .88rem; color: var(--muted); }
.xm-draft { display: inline-block; margin-bottom: 18px; padding: 4px 12px; border-radius: 99px; background: #fff3cd; color: #7a5a00; font-size: .8rem; font-weight: 500; }
.xm-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; text-align: left; }
.xm-card { background: var(--white); border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow); border-top: 4px solid #a51c1c; }
.xm-card h3 { margin-bottom: .4em; }
.xm-card p { margin: 0; color: var(--muted); }
.xm-hours { display: grid; grid-template-columns: auto auto; justify-content: center; gap: 8px 32px; margin: 0 auto 2em; text-align: left; }
.xm-hours dt { color: #e9dfd6; }
.xm-hours dd { margin: 0; color: var(--gold); font-weight: 500; }
@media (max-width: 800px) { .xm-cards { grid-template-columns: 1fr; } .xm-menu { padding: 32px 22px; } }
