/* Prestige: appearance only. Layout, carousels and content stay in styles.css. */
body.site-style-prestige {
    --blue: #173b5c;
    --blue-deep: #0d2337;
    --blue-soft: #eef2f6;
    --green: #173b5c;
    --teal: #7a5c2c;
    --gold: #b08d57;
    --gold-soft: #d8c39a;
    --ink: #0f1b28;
    --muted: #5c6773;
    --line: #e6e0d4;
    --page: #f8f6f1;
    --shadow: 0 1px 2px rgba(13, 35, 55, .04), 0 14px 34px rgba(13, 35, 55, .07);
    --surface-shadow: 0 1px 2px rgba(13, 35, 55, .04), 0 10px 28px rgba(13, 35, 55, .05);
    --prestige-serif: Marcellus, Georgia, 'Times New Roman', serif;
    --prestige-sans: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
    --prestige-radius: 14px;
    --prestige-button-radius: 8px;
    --prestige-whatsapp: #1f9d55;
    color: var(--ink);
    background: var(--page);
    font-family: var(--prestige-sans);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body.site-style-prestige main { font-family: var(--prestige-sans); background: var(--page); }
body.site-style-prestige main :is(button, input, select, textarea) { font-family: var(--prestige-sans); }

/* Typography: fine serif headings, calm sans-serif text, no heavy weights. */
/* The fine serif is kept for display sizes; small h3 labels stay in the sans-serif for legibility. */
body.site-style-prestige main :is(h1, h2),
body.site-style-prestige main :is(.tour-heading, .featured-body, .omra-row-info, .omra-hotel-package-head, .is-main, .hajj-formula-cards, .hajj-forfaits-compare) h3 {
    font-family: var(--prestige-serif);
    font-weight: 400;
    letter-spacing: 0;
}
body.site-style-prestige main h3 { font-family: var(--prestige-sans); font-weight: 600; letter-spacing: -.005em; }
body.site-style-prestige main :is(h1, h2, h3) { text-wrap: balance; }
body.site-style-prestige main :is(strong, b, dt, label, th) { font-weight: 600; }
body.site-style-prestige main :is(p, li, dd, span, small, address) { font-weight: 400; }
body.site-style-prestige main :is(.section-kicker, .section-title > span, .hero-content > p, .omra-price-overline) {
    color: var(--teal);
    font-family: var(--prestige-sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
}
body.site-style-prestige main :is(.featured-head, .gallery-head, .shorts-head, .reviews-head) h2,
body.site-style-prestige main .section-title h2,
body.site-style-prestige main .omra-page-heading h1 {
    font-size: clamp(32px, 3.7vw, 50px);
    line-height: 1.14;
}
body.site-style-prestige main :is(.featured-head, .gallery-head, .shorts-head, .reviews-head) h2,
body.site-style-prestige main .omra-page-heading h1 { color: var(--blue-deep); }
body.site-style-prestige main :is(.featured-head, .gallery-head, .shorts-head, .reviews-head) > p { color: var(--muted); font-weight: 400; }

/* Buttons: one navy primary, quiet outlines, WhatsApp kept recognisable but discreet. */
body.site-style-prestige main :is(.green-button, .blue-button, .all-tours-button, .primary-button, .detail-pill, .reserve-button, .inquiry-form button) {
    border: 1px solid var(--blue-deep);
    border-radius: var(--prestige-button-radius);
    color: #fff;
    background: var(--blue-deep);
    box-shadow: none;
    font-weight: 500;
    letter-spacing: .01em;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
body.site-style-prestige main :is(.green-button, .blue-button, .all-tours-button, .primary-button, .detail-pill, .reserve-button, .inquiry-form button):hover {
    background: var(--blue);
    border-color: var(--blue);
    filter: none;
    box-shadow: none;
}
body.site-style-prestige main :is(.ghost-button, .callback-action, .tour-callback-button) {
    border: 1px solid var(--line);
    border-radius: var(--prestige-button-radius);
    color: var(--blue-deep);
    background: #fff;
    box-shadow: none;
    font-weight: 500;
}
body.site-style-prestige main :is(.ghost-button, .callback-action, .tour-callback-button):hover { border-color: var(--gold); }
body.site-style-prestige main :is(.whatsapp-pill, .whatsapp-square, .tour-whatsapp-button, .price-whatsapp-button) {
    border: 1px solid var(--line);
    border-radius: var(--prestige-button-radius);
    color: var(--blue-deep);
    background: #fff;
    box-shadow: none;
    font-weight: 500;
}
body.site-style-prestige main :is(.whatsapp-pill, .whatsapp-square, .tour-whatsapp-button, .price-whatsapp-button) svg { fill: var(--prestige-whatsapp); }
body.site-style-prestige main :is(.whatsapp-pill, .whatsapp-square, .tour-whatsapp-button, .price-whatsapp-button):hover {
    border-color: var(--prestige-whatsapp);
    box-shadow: none;
    transform: none;
}
body.site-style-prestige main .omra-row-price .detail-pill span { color: var(--blue-deep); background: #fff; }

/* Home hero: deeper night overlay, editorial title, gold call to action. */
body.site-style-prestige .hero { isolation: isolate; }
body.site-style-prestige .hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(9, 22, 36, .82) 0%, rgba(9, 22, 36, .55) 45%, rgba(9, 22, 36, .12) 100%),
        linear-gradient(0deg, rgba(9, 22, 36, .35), transparent 40%);
}
body.site-style-prestige .hero-content h1 {
    color: #fff;
    font-family: var(--prestige-serif);
    font-size: clamp(40px, 5vw, 74px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: 0;
}
body.site-style-prestige .hero-content > p { color: var(--gold-soft); }
body.site-style-prestige .hero-content > span { max-width: 560px; color: rgba(255, 255, 255, .86); font-weight: 400; line-height: 1.65; }
body.site-style-prestige .hero-actions .green-button { border-color: var(--gold-soft); color: var(--blue-deep); background: var(--gold-soft); }
body.site-style-prestige .hero-actions .green-button:hover { border-color: #e6d5b3; background: #e6d5b3; }
body.site-style-prestige .hero-actions .ghost-button { border-color: rgba(255, 255, 255, .5); color: #fff; background: transparent; }
body.site-style-prestige .hero-actions .ghost-button:hover { border-color: #fff; background: rgba(255, 255, 255, .08); }

/* Cards: thin borders, soft shadows, generous radius. */
body.site-style-prestige main :is(.home-categories a, .featured-card, .review-card, .omra-formula-card, .omra-tour-row, .tour-detail-hero-copy, .tour-detail-price-card, .about-identity-card, .contact-panel, .inquiry-form, .omra-filter-bar) {
    border: 1px solid var(--line);
    border-radius: var(--prestige-radius);
    box-shadow: var(--surface-shadow);
}
/* A form already placed in a card (contact, trip request) gets no second frame. */
body.site-style-prestige main .tour-block .inquiry-form { border: 0; border-radius: 0; box-shadow: none; }
body.site-style-prestige main .home-categories a:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
body.site-style-prestige main .home-categories strong {
    color: var(--blue-deep);
    background: #fff;
    font-family: var(--prestige-serif);
    font-size: 20px;
    font-weight: 400;
}
body.site-style-prestige main :is(.featured-image, .featured-image img) { border-radius: 10px; }
body.site-style-prestige main .featured-body h3,
body.site-style-prestige main .omra-row-info h3,
body.site-style-prestige main .omra-tour-row h3 { font-size: 23px; line-height: 1.25; }
body.site-style-prestige main .tour-reference { color: var(--muted); font-size: 12px; font-weight: 500; letter-spacing: .06em; }
body.site-style-prestige main .tour-facts :is(dt, strong) { color: var(--ink); font-weight: 500; }
body.site-style-prestige main .featured-price { border-top: 1px solid var(--line); background: #fbfaf7; }
body.site-style-prestige main .featured-price span { color: var(--muted); }
body.site-style-prestige main .featured-price strong,
body.site-style-prestige main .omra-row-price strong {
    color: var(--blue-deep);
    font-family: var(--prestige-serif);
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 0;
}
body.site-style-prestige main .featured-tabs button { color: var(--muted); font-weight: 500; }
body.site-style-prestige main .featured-tabs button.active { color: var(--blue-deep); border-color: var(--gold); }
body.site-style-prestige main :is(.featured-arrows button, .carousel-arrow) {
    border: 1px solid var(--line);
    color: var(--blue-deep);
    background: #fff;
    box-shadow: none;
}

/* Status chips: small neutral pills with a coloured dot instead of saturated blocks. */
body.site-style-prestige main :is(.availability-chip, .featured-card .available, .featured-card .last, .tour-detail-badge) {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 999px;
    color: var(--blue-deep);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 2px 10px rgba(13, 35, 55, .08);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .01em;
    text-transform: none;
    backdrop-filter: blur(6px);
}
body.site-style-prestige main :is(.availability-chip, .featured-card .available, .featured-card .last, .tour-detail-badge)::before {
    content: '';
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #2f855a;
}
body.site-style-prestige main :is(.availability-chip.last, .featured-card .last, .tour-detail-badge-last)::before { background: #b7791f; }
body.site-style-prestige main .availability-chip.full::before { background: #b42318; }
body.site-style-prestige main .category-chip,
body.site-style-prestige main .category-chip:is(.package-economique, .package-confort) {
    border-radius: 0;
    padding: 0;
    color: var(--teal);
    background: none;
    box-shadow: none;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
}
body.site-style-prestige main .omra-row-tags span,
body.site-style-prestige main .omra-row-images span {
    border-radius: 999px;
    color: var(--blue-deep);
    background: rgba(255, 255, 255, .92);
    font-size: 12px;
    font-weight: 500;
    box-shadow: none;
}

/* Tour detail: navy price panel with a fine gold rule. */
body.site-style-prestige main .tour-detail-price-card { background: #fff; }
body.site-style-prestige main .tour-detail-price-card::before { content: none; }
body.site-style-prestige main .price-card-head {
    border-top: 2px solid var(--gold);
    border-radius: 12px;
    background: var(--blue-deep);
    box-shadow: none;
}
body.site-style-prestige main .price-card-head :is(strong, b) { font-family: var(--prestige-serif); font-weight: 400; }
body.site-style-prestige main .tour-detail-price-list > * { border-color: var(--line); box-shadow: none; }
body.site-style-prestige main .tour-detail-price-list strong { color: var(--blue-deep); font-weight: 600; }
body.site-style-prestige main :is(.detail-fact, .tour-route-card) { border-color: var(--line); background: #fff; box-shadow: none; }
body.site-style-prestige main :is(.detail-fact strong, .detail-fact b) { color: var(--blue-deep); font-weight: 500; }

/* Reviews, agency section and forms. */
body.site-style-prestige main .reviews-section { background: var(--page); }
body.site-style-prestige main .review-card { background: #fff; }
body.site-style-prestige main :is(.review-stars, .review-write-stars) { color: var(--gold); }
body.site-style-prestige main .review-card :is(strong, b) { font-weight: 600; }
body.site-style-prestige main .review-card p { color: #33404d; font-size: 16px; line-height: 1.7; }
body.site-style-prestige main :is(.review-maps-link, .review-write-link) { border-radius: var(--prestige-button-radius); box-shadow: none; font-weight: 500; }
body.site-style-prestige main .review-write-link { border: 1px solid var(--blue-deep); background: var(--blue-deep); }
body.site-style-prestige main .home-journal { background: #efe8dc; }
body.site-style-prestige main .home-journal-copy h2 { color: var(--blue-deep); font-size: clamp(32px, 3.4vw, 46px); }
body.site-style-prestige main .home-journal-copy > p:not(.section-kicker) { color: var(--muted); }
body.site-style-prestige main .home-journal-experience { border-left-color: var(--gold); }
body.site-style-prestige main .home-journal-highlights li { color: var(--blue-deep); }
body.site-style-prestige main .home-journal-highlights svg { color: var(--gold); }
/* Kickers placed on dark sections need the light gold to stay readable. */
body.site-style-prestige main :is(.omra-formulas-services, .omra-formulas-lead, .privacy-hero, .comfort-contact) .section-kicker { color: var(--gold-soft); }
/* Solid WhatsApp buttons: a deeper green keeps white text readable. */
body.site-style-prestige main :is(.omra-whatsapp-button, .omra-formulas-whatsapp, .omra-formulas-services-intro a),
body.site-style-prestige main .omra-presentation-hero .omra-hero-actions .omra-whatsapp-button { border-color: #17804a; color: #fff; background: #17804a; }
body.site-style-prestige main :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { border-color: var(--line); border-radius: 8px; }
body.site-style-prestige main :is(input, select, textarea):focus { border-color: var(--gold); outline: none; box-shadow: 0 0 0 3px rgba(176, 141, 87, .18); }
body.site-style-prestige :focus-visible { outline-color: var(--gold) !important; }

/* Footer: deep night, quiet hierarchy. */
body.site-style-prestige .site-footer { background: #0a1a2a; font-family: var(--prestige-sans); }
body.site-style-prestige .site-footer strong { color: var(--gold-soft); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
body.site-style-prestige .site-footer .footer-brand > strong { color: #fff; font-family: var(--prestige-serif); font-size: 26px; font-weight: 400; letter-spacing: 0; text-transform: none; }
body.site-style-prestige .site-footer :is(a, p, address) { color: rgba(255, 255, 255, .72); font-weight: 400; }
body.site-style-prestige .site-footer a:hover { color: #fff; }
body.site-style-prestige .site-footer .footer-socials a { border-color: rgba(255, 255, 255, .18); border-radius: var(--prestige-button-radius); font-weight: 500; }

/* A single floating contact: the assistant. WhatsApp and callback stay in the header and on each tour. */
body.site-style-prestige .floating-contact-actions { display: none; }
body.site-style-prestige .assistant-launcher {
    border: 1px solid rgba(255, 255, 255, .25);
    background: var(--blue-deep);
    box-shadow: 0 10px 30px rgba(9, 22, 36, .22);
    font-family: var(--prestige-sans);
    font-weight: 500 !important;
}
body.site-style-prestige .assistant-launcher:hover { background: var(--blue); }
body.site-style-prestige .hisar-assistant { font-family: var(--prestige-sans); }

@media (max-width: 700px) {
    body.site-style-prestige .hero-content h1 { font-size: clamp(34px, 9.6vw, 44px); }
    body.site-style-prestige main .home-categories strong { font-size: 16px; }
    body.site-style-prestige main .featured-body h3,
    body.site-style-prestige main .omra-tour-row h3 { font-size: 21px; }
}
