/* Typography System - Manrope & Playfair Display */

/* Base font family for body text */
body {
    font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
}

/* Desktop body text */
@media (min-width: 768px) {
    body {
        font-size: 18px;
        line-height: 1.8;
    }
}

/* Headlines - Playfair Display */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 1rem;
    color: #2c2c2c;
}

/* H1 - Main Headlines */
h1, .h1 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
}

@media (min-width: 768px) {
    h1, .h1 {
        font-size: 36px;
    }
}

@media (min-width: 1200px) {
    h1, .h1 {
        font-size: 42px;
    }
}

/* H2 - Section Headlines */
h2, .h2 {
    font-size: 20px;
    font-weight: 600;
}

@media (min-width: 768px) {
    h2, .h2 {
        font-size: 24px;
    }
}

@media (min-width: 1200px) {
    h2, .h2 {
        font-size: 28px;
    }
}

/* H3 - Subheadlines */
h3, .h3 {
    font-size: 18px;
    font-weight: 600;
}

@media (min-width: 768px) {
    h3, .h3 {
        font-size: 20px;
    }
}

@media (min-width: 1200px) {
    h3, .h3 {
        font-size: 22px;
    }
}

/* H4-H6 - Smaller headlines */
h4, .h4 {
    font-size: 16px;
    font-weight: 600;
}

@media (min-width: 768px) {
    h4, .h4 {
        font-size: 18px;
    }
}

h5, .h5 {
    font-size: 14px;
    font-weight: 600;
}

@media (min-width: 768px) {
    h5, .h5 {
        font-size: 16px;
    }
}

h6, .h6 {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

@media (min-width: 768px) {
    h6, .h6 {
        font-size: 14px;
    }
}

/* Paragraph text */
p {
    font-family: 'Manrope', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    p {
        font-size: 18px;
        line-height: 1.8;
    }
}

/* Lead text */
.lead {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.7;
}

@media (min-width: 768px) {
    .lead {
        font-size: 20px;
        line-height: 1.8;
    }
}

/* Small text */
.small, small {
    font-size: 14px;
    line-height: 1.5;
}

@media (min-width: 768px) {
    .small, small {
        font-size: 16px;
    }
}

/* Navigation and UI elements */
.navbar-brand, .logo {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 24px;
}

.nav-link {
    font-family: 'Manrope', sans-serif;
    font-weight: 500;
    font-size: 16px;
}

/* Buttons */
.btn {
    font-family: 'Manrope', sans-serif;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.3px;
}

/* CTA Button Color */
.btn-primary {
    background-color: #D4A373;
    border-color: #D4A373;
    color: #fff;
}

.btn-primary:hover {
    background-color: #C1956B;
    border-color: #C1956B;
    color: #fff;
}

.btn-primary:focus,
.btn-primary.focus {
    background-color: #C1956B;
    border-color: #C1956B;
    box-shadow: 0 0 0 0.2rem rgba(212, 163, 115, 0.5);
}

.btn-primary:active,
.btn-primary.active {
    background-color: #B18863;
    border-color: #B18863;
}

/* Form labels and inputs */
label, .form-label {
    font-family: 'Manrope', sans-serif;
    font-weight: 500;
    font-size: 14px;
}

@media (min-width: 768px) {
    label, .form-label {
        font-size: 16px;
    }
}

.form-control, .form-select {
    font-family: 'Manrope', sans-serif;
    font-weight: 400;
    font-size: 16px;
}

/* Card titles */
.card-title {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
}

/* Footer text */
footer {
    font-family: 'Manrope', sans-serif;
    font-weight: 400;
    font-size: 14px;
}

@media (min-width: 768px) {
    footer {
        font-size: 16px;
    }
}

/* Utility classes for font weights */
.font-weight-light { font-weight: 300; }
.font-weight-normal { font-weight: 400; }
.font-weight-medium { font-weight: 500; }
.font-weight-semibold { font-weight: 600; }
.font-weight-bold { font-weight: 700; }
.font-weight-extrabold { font-weight: 800; }

/* Utility classes for font families */
.font-manrope { font-family: 'Manrope', sans-serif; }
.font-playfair { font-family: 'Playfair Display', serif; }

/* Text sizes utilities */
.text-xs { font-size: 12px; }
.text-sm { font-size: 14px; }
.text-base { font-size: 16px; }
.text-lg { font-size: 18px; }
.text-xl { font-size: 20px; }
.text-2xl { font-size: 24px; }
.text-3xl { font-size: 30px; }
.text-4xl { font-size: 36px; }

@media (min-width: 768px) {
    .text-xs { font-size: 14px; }
    .text-sm { font-size: 16px; }
    .text-base { font-size: 18px; }
    .text-lg { font-size: 20px; }
    .text-xl { font-size: 22px; }
    .text-2xl { font-size: 28px; }
    .text-3xl { font-size: 36px; }
    .text-4xl { font-size: 42px; }
}

/* Special styling for color edit branding */
.logo-container .logo {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 28px;
    color: #2c2c2c;
}

/* Email template compatibility */
.email-title {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.2;
}

.email-body {
    font-family: 'Manrope', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
}