/* A richer, quieter finish for the whole site: warm ivory, deep ink, fine gold lines. Loaded last, so it refines
   the other stylesheets without changing what any page contains or does. */
:root {
  --ivory: #fcfaf5;
  --ink: #17130c;
  --gold: var(--brand);
  --gold-ink: #86672b;      /* gold for small text: 5:1 on ivory and white */
  --gold-soft: #f3ead7;
  --line: rgb(181 143 81 / 0.28);
  --serif-display: "Cairo", system-ui, sans-serif;
}
body { background: var(--ivory); color: var(--ink); }
h1, h2 { letter-spacing: -0.015em; }
::selection { background: var(--gold); color: var(--ink); }
:focus-visible { outline-color: var(--gold-ink); }

/* header: ivory glass with a hairline of gold */
.site-header { background: rgb(252 250 245 / 0.92); border-block-end: 1px solid var(--line); }
.main-nav a, .nav-menu__panel a { font-weight: 600; letter-spacing: 0.01em; }
.main-nav a[aria-current], .main-nav a:hover, .nav-menu__panel a:hover { color: var(--gold-ink); }
.main-nav a[aria-current] { box-shadow: inset 0 -2px 0 var(--gold); border-radius: 0; }
.lang-menu__button { border-color: var(--line); background: #fff; }

/* buttons: gold with dark ink, readable and richer than white-on-gold */
.btn { background: var(--gold); border-color: var(--gold); color: var(--ink); font-weight: 800; border-radius: 0.875rem; box-shadow: 0 1px 0 rgb(255 255 255 / 0.4) inset, 0 8px 20px -8px rgb(134 103 43 / 0.55); }
.btn:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
.btn--outline { background: transparent; color: var(--gold-ink); box-shadow: none; }
.btn--outline:hover { background: var(--gold); color: var(--ink); }
.btn--dark { background: var(--gold); color: var(--ink); }
.link-go, .link-btn, .hotel__from strong { color: var(--gold-ink); }
.crumbs a:hover, .stay__map:hover { color: var(--gold-ink); }

/* hero: deeper warm band, gold frame on the photo */
.hero-band { background: radial-gradient(120% 90% at 100% 0%, var(--gold-soft) 0%, var(--ivory) 55%); }
.home-hero h1 { font-size: clamp(2rem, 1.3rem + 3vw, 3.5rem); line-height: 1.15; }
.home-hero__sub { color: var(--gold-ink); letter-spacing: 0.02em; }
.home-hero__img { border-radius: 1.75rem; outline: 1px solid var(--line); outline-offset: 10px; box-shadow: 0 30px 60px -24px rgb(60 40 10 / 0.45); }
.home-hero__chip { border: 1px solid var(--line); }
.home-hero__text { color: rgb(23 19 12 / 0.7); }

/* search bar: a slim gold frame, not a heavy box */
.search { border: 1px solid var(--gold); border-radius: 1.125rem; box-shadow: 0 24px 48px -20px rgb(60 40 10 / 0.35); }
.search__label { color: var(--gold-ink); letter-spacing: 0.02em; }
.search__field:hover { background: var(--ivory); }
.search__go { color: var(--ink); }

/* section titles: a short gold rule under each */
.features-wrap > h2, .stays__head h2, .section-head h2 { position: relative; padding-block-end: 0.875rem; }
.section-head h2::after { content: ""; position: absolute; inset-inline-start: 0; inset-block-end: 0; width: 2.75rem; height: 2px; background: var(--gold); }
.feature { background: #fff; border-color: var(--line); }
.feature__icon { color: var(--gold-ink); background: var(--gold-soft); }

/* hotels: stay on white cards, add a fine gold hover line */
.stay { border-color: var(--line); }
.stay:hover { border-color: var(--gold); }
.stay__go { color: var(--gold-ink); }
.stays__head p, .section-head p { color: rgb(23 19 12 / 0.62); }

/* rooms: ivory card edges and a gold name accent */
.room, .teaser, .panel, .order { border-color: var(--line); background: #fff; }
.room__hotel, .teaser__hotel, .booking__hotel { color: var(--gold-ink); }
.price strong, .teaser__price strong { color: var(--ink); }
.badge { background: var(--ink); color: var(--gold); letter-spacing: 0.02em; }
.stay-dates { border-color: var(--line); }
.stay-dates__value, .stay-guests strong { color: var(--gold-ink); }
.buy__total strong { color: var(--ink); }
.step__btn { border-color: var(--gold-ink); color: var(--gold-ink); }
.step__btn:hover:not(:disabled) { background: var(--gold); color: var(--ink); border-color: var(--gold); }

/* calendars: dark ink on gold days */
.cal__day.is-start span, .cal__day.is-end span, .pd.is-start span, .pd.is-end span { background: var(--gold); color: var(--ink); font-weight: 800; }
.cal__day.is-range, .pd.is-range { background: var(--gold-soft); }

/* closing band and footer: the same deep ink, with gold headings */
.cta-band { background: radial-gradient(90% 140% at 0% 0%, #2a2114 0%, #14110d 60%); border-block-start: 1px solid var(--gold); }
.cta-band h2 { color: #fff; }
.site-footer { background: #14110d; color: #e9e2d2; border-block-start: 0; margin-block-start: 0; }
.site-footer .footer__name { color: #fff; }
.site-footer .footer__about, .site-footer .footer__legal { color: rgb(233 226 210 / 0.7); }
.site-footer strong { color: #e3c78f; letter-spacing: 0.02em; }
.site-footer a { color: #e9e2d2; }
.site-footer a:hover { color: #e3c78f; }
.site-footer .socials a { border-color: rgb(227 199 143 / 0.35); }
.site-footer .socials a:hover { color: #14110d; background: #e3c78f; border-color: #e3c78f; }
.footer__legal { border-block-start-color: rgb(227 199 143 / 0.22); }
.cta-band + .site-footer { border-block-start: 0; }
.wa-float { box-shadow: 0 10px 24px rgb(0 0 0 / 0.3); }
