/* Global typography – premium travel / hospitality */
:root {
    --font-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    --font-body: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    --bs-font-sans-serif: var(--font-body);
    --bs-body-font-family: var(--font-body);
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.65;
    letter-spacing: 0.01em;
}

button,
input,
select,
textarea,
.form-control,
.btn {
    font-family: inherit;
}

/* Elegant serif for headlines & section titles */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.section-title,
.alv-home-hero__title,
.alv-page-hero__title,
.alv-testimonials__title,
.alv-footer__heading,
.alv-footer__brand-name,
.xk9_section-title,
.tour-details-section-title,
.td-highlights-heading,
.alv-contact-intro__title,
.alv-contact-map-header h2,
.alv-contact-faq-content h2,
.alv-error-page__title,
.alv-dest-card__title,
.bg9t4p-hero-content h1,
.pl8q2w-booking-header h2,
.zt9p3v-section-title,
.content-section h2,
.mission-vision h2,
.gallery-section h2,
.alv-exclusive-headline {
    font-family: var(--font-display);
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.15;
}

h1, .h1 { font-size: clamp(2.25rem, 5vw, 3.25rem); }
h2, .h2 { font-size: clamp(1.85rem, 4vw, 2.5rem); }
h3, .h3 { font-size: clamp(1.45rem, 3vw, 1.85rem); }

.alv-navbar__link {
    font-weight: 500;
    letter-spacing: 0.03em;
}

.alv-topbar {
    font-weight: 500;
    letter-spacing: 0.04em;
}

.alv-home-hero__title,
.alv-page-hero__title {
    font-weight: 600;
    letter-spacing: 0.01em;
}

.alv-home-hero__title span {
    font-weight: 700;
}

.xk9_section-title,
.alv-testimonials__title,
.alv-exclusive-headline {
    font-weight: 600;
    letter-spacing: 0.01em;
}
