/*
 * Editorial design. Layered on top of theme-modern.css (forms, tour pages and spacing come from there).
 * Full-width banners with centred text, centred section headings framed by hairlines, portrait cards without boxes,
 * a white call-to-action card over the photo. Works best with a serif heading font such as Fraunces or DM Serif Display.
 */

/* ---------- Type ---------- */
.skt-tour-booking h1, .skt-tour-booking h2, .skt-tour-booking h3 { font-weight: 500; letter-spacing: -.015em; }
.skt-tour-booking .skt-eyebrow { gap: 14px; font-weight: 600; letter-spacing: .24em; }
.skt-tour-booking .skt-eyebrow::before, .skt-tour-booking .skt-eyebrow::after { content: ""; width: 30px; height: 1px; border-radius: 0; background: currentColor; }
.skt-tour-booking .skt-btn { font-size: .86rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

/* ---------- Full-width banner, centred ---------- */
.skt-tour-booking .skt-hero { align-items: center; min-height: 620px; margin: 0; padding: 96px 0 140px; border-radius: 0; text-align: center; }
.skt-tour-booking .skt-hero::after { background: linear-gradient(180deg, rgba(var(--skt-primary-rgb), .5) 0%, rgba(var(--skt-primary-rgb), .74) 100%); }
.skt-tour-booking .skt-hero__inner { display: flex; flex-direction: column; align-items: center; }
.skt-tour-booking .skt-hero__title { margin: 0 auto 20px; font-size: clamp(2.3rem, 5vw, 4.3rem); font-weight: 500; text-align: center; }
.skt-tour-booking .skt-hero__sub { margin: 0 auto; text-align: center; }
.skt-tour-booking .skt-hero--home { min-height: min(760px, 90vh); }
.skt-tour-booking .skt-hero--detail { min-height: 540px; }
.skt-tour-booking .skt-hero--compact { min-height: 440px; }
.skt-tour-booking .skt-breadcrumbs ol { justify-content: center; }
.skt-tour-booking .skt-search { width: 100%; margin: 48px auto 0; border-radius: var(--skt-radius); box-shadow: 0 26px 60px rgba(0, 0, 0, .28); }
.skt-tour-booking .skt-search__label { letter-spacing: .16em; }
.skt-tour-booking .skt-search__submit { border-radius: var(--skt-radius); letter-spacing: .08em; text-transform: uppercase; }

/* ---------- Sections ---------- */
.skt-tour-booking .skt-section { padding: 104px 0; }
.skt-tour-booking .skt-section__head { max-width: 720px; margin: 0 auto 60px; text-align: center; }
.skt-tour-booking .skt-section__head h2 { font-size: clamp(2rem, 3.6vw, 3.1rem); font-weight: 500; }
.skt-tour-booking .skt-section__intro { margin: 16px auto 0; }
.skt-tour-booking .skt-center { text-align: center; }
.skt-tour-booking .skt-center--split { justify-content: center; }
.skt-tour-booking .skt-section--tint { border-color: var(--skt-border); }

/* ---------- Portrait cards, no box ---------- */
.skt-tour-booking .skt-grid { gap: 44px 32px; }
.skt-tour-booking .skt-card { overflow: visible; border: 0; border-radius: 0; background: transparent; text-align: center; }
.skt-tour-booking .skt-card:hover { transform: none; box-shadow: none; }
.skt-tour-booking .skt-card__media { aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--skt-radius); }
.skt-tour-booking .skt-card__badge { top: auto; bottom: 16px; left: 50%; transform: translateX(-50%); border-radius: 999px; letter-spacing: .1em; text-transform: uppercase; font-size: .68rem; }
.skt-tour-booking .skt-card__body { padding: 24px 6px 0; }
.skt-tour-booking .skt-card__meta { justify-content: center; }
.skt-tour-booking .skt-card__title { font-size: 1.45rem; font-weight: 500; }
.skt-tour-booking .skt-card__foot { flex-direction: column; align-items: center; gap: 12px; margin-top: 16px; padding: 18px 0 4px; border-top: 1px solid var(--skt-border); }
.skt-tour-booking .skt-card__foot .skt-link-arrow { letter-spacing: .1em; text-transform: uppercase; font-size: .78rem; }

/* ---------- Destination tiles: tall, label on a white strip ---------- */
.skt-tour-booking .skt-tiles { gap: 24px; }
.skt-tour-booking .skt-tile__label { text-shadow: none; }
.skt-tour-booking .skt-tile, .skt-tour-booking .skt-tile:nth-child(n + 4) { align-items: center; justify-content: flex-end; min-height: 440px; padding: 0; border-radius: var(--skt-radius); text-align: center; }
.skt-tour-booking .skt-tile::after { background: linear-gradient(180deg, rgba(var(--skt-primary-rgb), 0) 55%, rgba(var(--skt-primary-rgb), .55) 100%); }
.skt-tour-booking .skt-tile__label, .skt-tour-booking .skt-tile__count { position: relative; z-index: 2; }
.skt-tour-booking .skt-tile__label { width: calc(100% - 32px); margin: 0 16px; padding: 18px 12px 4px; border-radius: var(--skt-radius) var(--skt-radius) 0 0; background: #fff; color: var(--skt-ink); font-size: 1.4rem; font-weight: 500; }
.skt-tour-booking .skt-tile__count { width: calc(100% - 32px); margin: 0 16px 16px; padding: 0 12px 16px; border-radius: 0 0 var(--skt-radius) var(--skt-radius); background: #fff; color: var(--skt-muted); backdrop-filter: none; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }

/* ---------- Services, steps ---------- */
.skt-tour-booking .skt-service { align-items: center; padding: 38px 28px; border: 0; border-top: 1px solid var(--skt-border); border-radius: 0; text-align: center; }
.skt-tour-booking .skt-service:hover { border-color: var(--skt-accent); box-shadow: none; }
.skt-tour-booking .skt-service__icon { margin: 0 auto 22px; border: 1px solid var(--skt-border); border-radius: 50%; background: #fff; }
.skt-tour-booking .skt-service:hover .skt-service__icon { border-color: var(--skt-accent); }
.skt-tour-booking .skt-steps li { padding: 0 8px; border-top: 0; text-align: center; }
.skt-tour-booking .skt-steps__num { margin: 0 auto 16px; font-size: 3.4rem; font-style: italic; font-weight: 500; }
.skt-tour-booking .skt-steps li:not(:last-child)::after { content: none; }

/* ---------- Call to action: white card over the photo ---------- */
.skt-tour-booking .skt-cta { margin: 0; padding: 120px 0; border-radius: 0; text-align: center; }
.skt-tour-booking .skt-cta::before { background: rgba(var(--skt-primary-rgb), .38); }
.skt-tour-booking .skt-cta__inner { max-width: 780px; padding: 56px 48px; border-radius: var(--skt-radius); background: #fff; color: var(--skt-body); box-shadow: 0 30px 70px rgba(0, 0, 0, .25); }
.skt-tour-booking .skt-cta h2 { margin: 0 auto 16px; color: var(--skt-ink); }
.skt-tour-booking .skt-cta .skt-eyebrow { color: var(--skt-accent); }
.skt-tour-booking .skt-cta__text { margin: 0 auto 30px; color: var(--skt-body); }
.skt-tour-booking .skt-cta__actions { justify-content: center; }
.skt-tour-booking .skt-cta .skt-btn--ghost { border-color: var(--skt-ink); color: var(--skt-ink) !important; }
.skt-tour-booking .skt-cta .skt-btn--ghost:hover { background: var(--skt-ink); color: #fff !important; }

/* ---------- Offices, tour pages ---------- */
.skt-tour-booking .skt-office { align-items: center; border: 0; border-top: 1px solid var(--skt-border); border-radius: 0; text-align: center; }
.skt-tour-booking .skt-office:hover { box-shadow: none; }
.skt-tour-booking .skt-office__tel { justify-content: center; }
.skt-tour-booking .skt-contact-strip { justify-content: center; }
.skt-tour-booking .skt-hours { margin: 40px auto 0; text-align: center; }
.skt-tour-booking .skt-hours__title { justify-content: center; }
.skt-tour-booking .skt-block > h2 { padding-left: 0; border-left: 0; border-bottom: 1px solid var(--skt-border); padding-bottom: 14px; font-size: 1.7rem; }

@media (max-width: 900px) {
    .skt-tour-booking .skt-section { padding: 72px 0; }
    .skt-tour-booking .skt-hero { min-height: 500px; padding: 72px 0 110px; }
    .skt-tour-booking .skt-tile, .skt-tour-booking .skt-tile:nth-child(n + 4) { min-height: 360px; }
    .skt-tour-booking .skt-cta { padding: 80px 0; }
}
@media (max-width: 640px) {
    .skt-tour-booking .skt-hero { min-height: 440px; padding: 56px 0 100px; }
    .skt-tour-booking .skt-hero--home { padding-bottom: 56px; }
    .skt-tour-booking .skt-cta__inner { padding: 40px 24px; }
    .skt-tour-booking .skt-tile, .skt-tour-booking .skt-tile:nth-child(n + 4) { min-height: 320px; }
}
