/* Wedding Page CSS - Part 4: FAQ & CTA Sections - Enhanced Font Sizes */

/* ================================================ */
/* WEDDING FAQ SECTION */
/* ================================================ */

.marshall-wedding-faq {
    background-color: #ffffff;
    padding: 90px 0; /* Increased from 80px */
    font-family: 'Lancelot', cursive, serif;
}

.marshall-wedding-faq-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.marshall-wedding-faq-content {
    max-width: 1100px;
    margin: 0 auto;
}

.marshall-wedding-faq-title {
    color: #333;
    font-size: 2.75rem; /* Increased from 2.625rem (44px) */
    font-weight: 500;
    margin-bottom: 55px; /* Increased from 50px */
    position: relative;
    padding-bottom: 15px;
    display: inline-block;
    text-align: center;
    width: 100%;
}

.marshall-wedding-faq-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 3px;
    background-color: #5ca7db;
}

.marshall-wedding-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px; /* Increased from 30px */
}

.marshall-wedding-faq-item {
    background-color: #f8f9fa;
    padding: 32px 28px; /* Increased from 30px 25px */
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.12);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-left: 4px solid #5ca7db;
}

.marshall-wedding-faq-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.18);
}

.marshall-wedding-faq-question {
    color: #333;
    font-size: 1.3125rem; /* Increased from 1.25rem (21px) */
    font-weight: 500;
    margin-bottom: 18px; /* Increased from 15px */
    line-height: 1.4;
}

.marshall-wedding-faq-answer {
    color: #555;
    font-size: 1.1875rem; /* Increased from 1.125rem (19px) */
    line-height: 1.6;
    margin: 0;
}

/* ================================================ */
/* WEDDING CTA SECTION - ENHANCED LAYOUT */
/* ================================================ */

.marshall-wedding-cta {
    position: relative;
    min-height: 620px; /* Increased from 600px for better breathing room */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-family: 'Lancelot', cursive, serif;
    padding: 110px 0; /* Increased from 100px for better spacing */
}

.marshall-wedding-cta-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/images/wedding-cta-bg.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: brightness(0.6);
    z-index: -1;
}

.marshall-wedding-cta-bw {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/images/bw-gallery-1.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: brightness(0.6);
    z-index: -1;
}

.marshall-wedding-cta-landscape {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/images/landscape-gallery-6.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: brightness(0.6);
    z-index: -1;
}

.marshall-wedding-cta-equine {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/images/equine-gallery-1.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: brightness(0.6);
    z-index: -1;
}

.marshall-wedding-cta-events {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/images/events-gallery-1.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: brightness(0.6);
    z-index: -1;
}

.marshall-wedding-cta-family {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/images/family-gallery-1.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: brightness(0.6);
    z-index: -1;
}

.marshall-wedding-cta-model {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/images/models-gallery-1.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: brightness(0.6);
    z-index: -1;
}

.marshall-wedding-cta-pets {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/images/pets-gallery-1.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: brightness(0.6);
    z-index: -1;
}

.marshall-wedding-cta-still {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/images/still-gallery-1.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: brightness(0.6);
    z-index: -1;
}

.marshall-wedding-cta-container {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 45px; /* Increased from 40px for better side spacing */
    text-align: center;
    width: 100%;
}

.marshall-wedding-cta-content {
    max-width: 920px; /* Increased from 900px for wider text layout */
    margin: 0 auto;
}

.marshall-wedding-cta-title {
    color: #fff;
    font-size: 3.625rem; /* Increased from 3.5rem (58px) for better impact */
    font-weight: 500;
    margin-bottom: 32px; /* Increased from 30px */
    line-height: 1.2;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7); /* Enhanced shadow */
}

.marshall-wedding-cta-text {
    color: #fff;
    font-size: 1.4375rem; /* Increased from 1.375rem (23px) for better readability */
    line-height: 1.7; /* Improved line height */
    margin-bottom: 50px; /* Increased from 45px */
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.7); /* Enhanced shadow */
    opacity: 0.95;
}

.marshall-wedding-cta-button {
    background-color: #5ca7db;
    color: white;
    font-family: 'Lancelot', cursive, serif;
    font-size: 1.4375rem; /* Increased from 1.375rem (23px) */
    font-weight: 500;
    padding: 26px 55px; /* Increased from 24px 50px for better touch targets */
    border: none;
    border-radius: 12px; /* Keep increased border radius */
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 6px 20px rgba(92, 167, 219, 0.4); /* Enhanced shadow */
    text-decoration: none;
    display: inline-block;
    text-shadow: none;
    min-height: 50px; /* Increased from 48px minimum touch target */
    letter-spacing: 0.5px; /* Added letter spacing for better readability */
}

.marshall-wedding-cta-button:hover {
    background-color: #4a94c4;
    transform: translateY(-4px); /* Increased hover lift */
    box-shadow: 0 8px 30px rgba(92, 167, 219, 0.6); /* Enhanced hover shadow */
    color: white;
    text-decoration: none;
}

/* ================================================ */
/* RESPONSIVE BREAKPOINTS */
/* ================================================ */

/* Large Tablet Styles (769px - 1023px) */
@media (max-width: 1023px) and (min-width: 769px) {
    .marshall-wedding-faq {
        padding: 80px 0; /* Increased from 70px */
    }
    
    .marshall-wedding-faq-container {
        padding: 0 30px;
    }
    
    .marshall-wedding-faq-title {
        font-size: 2.4875rem; /* Increased from 2.375rem (39.8px) */
        margin-bottom: 50px; /* Increased from 45px */
    }
    
    .marshall-wedding-faq-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px; /* Increased from 25px */
    }
    
    .marshall-wedding-faq-item {
        padding: 30px 25px; /* Increased from 28px 22px */
    }
    
    .marshall-wedding-faq-question {
        font-size: 1.1875rem; /* Increased from 1.125rem (19px) */
        margin-bottom: 15px; /* Increased from 13px */
    }
    
    .marshall-wedding-faq-answer {
        font-size: 1.0625rem; /* Increased from 1rem (17px) */
    }
    
    .marshall-wedding-cta {
        min-height: 540px; /* Increased from 520px */
        padding: 90px 0; /* Increased from 80px */
    }
    
    .marshall-wedding-cta-container {
        padding: 0 35px; /* Increased from 30px */
    }
    
    .marshall-wedding-cta-content {
        max-width: 880px; /* Increased */
    }
    
    .marshall-wedding-cta-title {
        font-size: 3.275rem; /* Increased from 3.15rem (52.4px) */
        margin-bottom: 28px; /* Increased from 25px */
    }
    
    .marshall-wedding-cta-text {
        font-size: 1.3125rem; /* Increased from 1.25rem (21px) */
        margin-bottom: 40px; /* Increased from 35px */
    }
    
    .marshall-wedding-cta-button {
        font-size: 1.3125rem; /* Increased from 1.25rem (21px) */
        padding: 24px 50px; /* Increased from 22px 45px */
    }
}

/* Small Tablet Styles (481px - 768px) */
@media (max-width: 768px) {
    .marshall-wedding-faq {
        padding: 70px 0; /* Increased from 60px */
    }
    
    .marshall-wedding-faq-container {
        padding: 0 20px;
    }
    
    .marshall-wedding-faq-title {
        font-size: 2.25rem; /* Increased from 2.125rem (36px) */
        margin-bottom: 45px; /* Increased from 40px */
    }
    
    .marshall-wedding-faq-grid {
        grid-template-columns: 1fr;
        gap: 28px; /* Increased from 25px */
    }
    
    .marshall-wedding-faq-item {
        padding: 28px 22px; /* Increased from 25px 20px */
    }
    
    .marshall-wedding-faq-question {
        font-size: 1.0625rem; /* Increased from 1rem (17px) */
        margin-bottom: 14px; /* Increased from 12px */
    }
    
    .marshall-wedding-faq-answer {
        font-size: 1rem; /* Increased from 0.9375rem (16px) */
    }
    
    .marshall-wedding-cta {
        min-height: 500px; /* Increased from 480px */
        padding: 80px 0; /* Increased from 70px */
    }
    
    .marshall-wedding-cta-container {
        padding: 0 20px;
    }
    
    .marshall-wedding-cta-content {
        max-width: 100%; /* Keep responsive */
    }
    
    .marshall-wedding-cta-title {
        font-size: 2.95rem; /* Increased from 2.8rem (47.2px) */
        margin-bottom: 25px; /* Increased from 22px */
        line-height: 1.3;
    }
    
    .marshall-wedding-cta-text {
        font-size: 1.1875rem; /* Increased from 1.125rem (19px) */
        margin-bottom: 38px; /* Increased from 32px */
    }
    
    .marshall-wedding-cta-button {
        font-size: 1.1875rem; /* Increased from 1.125rem (19px) */
        padding: 22px 45px; /* Increased from 20px 40px */
    }
}

/* Mobile Styles (≤ 480px) */
@media (max-width: 480px) {
    .marshall-wedding-faq {
        padding: 60px 0; /* Increased from 50px */
    }
    
    .marshall-wedding-faq-container {
        padding: 0 20px; /* Increased from 15px for small margins */
    }
    
    .marshall-wedding-faq-title {
        font-size: 2.125rem; /* Increased from 2rem (34px) */
        margin-bottom: 40px; /* Increased from 35px */
    }
    
    .marshall-wedding-faq-grid {
        gap: 25px; /* Increased from 20px */
    }
    
    .marshall-wedding-faq-item {
        padding: 25px 20px; /* Increased from 20px 18px */
    }
    
    .marshall-wedding-faq-question {
        font-size: 1.0625rem; /* Increased from 1rem (17px) */
        margin-bottom: 12px; /* Increased from 10px */
    }
    
    .marshall-wedding-faq-answer {
        font-size: 1rem; /* Increased from 0.9375rem (16px) */
    }
    
    .marshall-wedding-cta {
        min-height: 440px; /* Increased from 420px */
        padding: 70px 0; /* Increased from 60px */
    }
    
    .marshall-wedding-cta-container {
        padding: 0 20px; /* Increased from 15px for small margins */
    }
    
    .marshall-wedding-cta-content {
        max-width: 100%; /* Keep responsive */
    }
    
    .marshall-wedding-cta-title {
        font-size: 2.625rem; /* Increased from 2.5rem (42px) */
        margin-bottom: 22px; /* Increased from 20px */
        line-height: 1.3;
    }
    
    .marshall-wedding-cta-text {
        font-size: 1.1875rem; /* Increased from 1.125rem (19px) */
        margin-bottom: 35px; /* Increased from 30px */
        line-height: 1.6;
    }
    
    .marshall-wedding-cta-button {
        font-size: 1.0625rem; /* Increased from 1rem (17px) */
        padding: 20px 40px; /* Increased from 18px 35px */
        min-height: 50px; /* Increased from 48px - ensures proper touch target */
    }
}

/* Extra Small Mobile (≤ 360px) */
@media (max-width: 360px) {
    .marshall-wedding-faq-container,
    .marshall-wedding-cta-container {
        padding: 0 18px; /* Increased from 12px for better margins */
    }
    
    .marshall-wedding-faq-title {
        font-size: 2rem; /* Increased from 1.875rem (32px) */
        margin-bottom: 35px; /* Increased from 30px */
    }
    
    .marshall-wedding-faq-item {
        padding: 22px 18px; /* Increased from 18px 16px */
    }
    
    .marshall-wedding-faq-question {
        font-size: 1rem; /* Increased from 0.9375rem (16px) */
        margin-bottom: 10px; /* Increased from 8px */
    }
    
    .marshall-wedding-faq-answer {
        font-size: 0.9375rem; /* Increased from 0.875rem (15px) */
    }
    
    .marshall-wedding-cta {
        min-height: 400px; /* Increased from 380px */
        padding: 60px 0; /* Increased from 50px */
    }
    
    .marshall-wedding-cta-content {
        max-width: 100%; /* Keep responsive */
    }
    
    .marshall-wedding-cta-title {
        font-size: 2.3125rem; /* Increased from 2.2rem (37px) */
        margin-bottom: 20px; /* Increased from 18px */
        line-height: 1.3;
    }
    
    .marshall-wedding-cta-text {
        font-size: 1.0625rem; /* Increased from 1rem (17px) */
        margin-bottom: 30px; /* Increased from 25px */
    }
    
    .marshall-wedding-cta-button {
        font-size: 1rem; /* Increased from 0.9375rem (16px) */
        padding: 18px 35px; /* Increased from 16px 30px */
        min-height: 50px; /* Increased from 48px */
    }
}