/* 
 * Unified Font System
 * Only 2 fonts for entire website:
 * 1. Montserrat - Normal/Regular text
 * 2. Old Standard TT - Handwritten/Decorative headings
 */

/* Import only the required fonts */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Old+Standard+TT:ital,wght@0,400;0,700;1,400&display=swap');

/* Global font reset and standardization - EXCLUDE Font Awesome */
*:not(.fa):not([class*="fa-"]) {
    font-family: 'Montserrat', sans-serif !important;
}

/* Ensure Font Awesome icons keep their font */
.fa, [class*="fa-"] {
    font-family: FontAwesome !important;
}

/* Body default font */
body {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400;
    line-height: 1.6;
}

/* Ensure Font Awesome icons are not affected by global font rules */
.fa, [class^="fa-"], [class*=" fa-"] {
    font-family: FontAwesome !important;
    font-style: normal !important;
    font-weight: normal !important;
    text-decoration: inherit !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Handwritten/Decorative font for special elements */
.handwritten,
.decorative-heading,
h1.decorative,
h2.decorative,
h3.decorative,
.banner h1,
.banner h2,
.section-title,
.special-heading {
    font-family: 'Old Standard TT', serif !important;
    font-style: italic;
    font-weight: 400;
}

/* Standard headings - use normal font */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600;
    line-height: 1.3;
}

/* Specific decorative headings that should use handwritten style */
.about .heading h2,
.services .heading h2,
.contact .heading h2,
.banner-home h1,
.banner-home h2,
.hero-title,
.section-main-title {
    font-family: 'Old Standard TT', serif !important;
    font-style: italic;
    font-weight: 400;
}

/* Buttons and UI elements - always normal font */
button,
.btn,
input,
select,
textarea,
.form-control {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500;
}

/* Navigation elements */
.navbar,
.nav,
.sidenav,
.menu {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500;
}

/* Body text elements */
p,
span,
div,
li,
td,
th,
label {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400;
}

/* Strong/Bold text */
strong,
b,
.font-weight-bold {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600;
}

/* Cards and content blocks */
.card,
.card-body,
.card-title,
.card-text {
    font-family: 'Montserrat', sans-serif !important;
}

/* Override any existing font declarations */
.program-card,
.accommodation-option,
.booking-modal,
.contact-form,
.pricing-table {
    font-family: 'Montserrat', sans-serif !important;
}

/* Special cases where handwritten font should be used */
.welcome-text,
.signature-text,
.quote-text,
.testimonial-author {
    font-family: 'Old Standard TT', serif !important;
    font-style: italic;
}

/* Ensure consistent font weights */
.font-light { font-weight: 300 !important; }
.font-normal { font-weight: 400 !important; }
.font-medium { font-weight: 500 !important; }
.font-semibold { font-weight: 600 !important; }
.font-bold { font-weight: 700 !important; }

/* Mobile responsive font sizes */
@media (max-width: 768px) {
    body {
        font-size: 14px;
    }
    
    h1 { font-size: 1.8rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.3rem; }
    h4 { font-size: 1.1rem; }
    h5 { font-size: 1rem; }
    h6 { font-size: 0.9rem; }
}

@media (max-width: 480px) {
    body {
        font-size: 13px;
    }
    
    h1 { font-size: 1.6rem; }
    h2 { font-size: 1.4rem; }
    h3 { font-size: 1.2rem; }
}