/**
 * Inner pages — unified with homepage (navy / burgundy professional theme).
 * Scoped to body:not(.page-home) so the homepage layout is unchanged.
 */

body:not(.page-home) {
    color: var(--site-text);
    background: var(--site-white);
}

/* ----- Header & navigation ----- */

body:not(.page-home) .image-header {
    height: auto;
    min-height: 0;
    background: var(--site-white);
    box-shadow: 0 1px 0 var(--site-border);
    animation: none;
}

body:not(.page-home) .image-header::before,
body:not(.page-home) .image-header::after {
    display: none;
}

body:not(.page-home) .header-overlay {
    background: transparent;
    width: 100%;
}

body:not(.page-home) .header-content {
    max-width: var(--site-max);
    margin: 0 auto;
    padding: 1rem 1.5rem;
    align-items: center;
    color: var(--site-text);
}

body:not(.page-home) .logo-section {
    flex-direction: row;
    align-items: center;
    gap: 1.5rem;
}

body:not(.page-home) .site-logo {
    max-height: 56px;
    width: auto;
    filter: none;
}

body:not(.page-home) .business-info {
    display: block;
    text-align: left;
}

body:not(.page-home) .business-info p {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--site-muted);
    line-height: 1.5;
    text-shadow: none;
    opacity: 1;
}

body:not(.page-home) .header-nav ul li a {
    color: var(--site-navy) !important;
    background: transparent !important;
    border: none !important;
    backdrop-filter: none !important;
    font-weight: 500;
    font-size: 0.9375rem;
    padding: 0.5rem 0.875rem !important;
    border-radius: 6px;
    text-shadow: none !important;
    box-shadow: none !important;
}

body:not(.page-home) .header-nav ul li a:hover,
body:not(.page-home) .header-nav ul li a[aria-current="page"] {
    background: var(--site-surface) !important;
    color: var(--site-burgundy) !important;
    transform: none !important;
}

body:not(.page-home) .menu-toggle {
    background: var(--site-navy) !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(15, 39, 68, 0.2) !important;
}

body:not(.page-home) .menu-toggle:hover {
    background: var(--site-navy-light) !important;
}

@media (max-width: 900px) {
    body:not(.page-home) .menu-toggle {
        background: var(--site-navy) !important;
        border: none !important;
    }
}

body:not(.page-home) .mobile-menu-dropdown {
    background: var(--site-white) !important;
    box-shadow: 0 8px 24px rgba(15, 39, 68, 0.12) !important;
    border-bottom: 1px solid var(--site-border);
    top: 72px !important;
}

body:not(.page-home) .mobile-menu-links li a {
    color: var(--site-navy) !important;
    background: var(--site-surface) !important;
    border: 1px solid var(--site-border) !important;
    text-shadow: none !important;
    font-weight: 500;
}

body:not(.page-home) .mobile-menu-links li a:hover,
body:not(.page-home) .mobile-menu-links li a:focus {
    background: var(--site-white) !important;
    color: var(--site-burgundy) !important;
    border-color: var(--site-burgundy) !important;
    transform: none !important;
    box-shadow: none !important;
}

/* ----- Layout ----- */

body:not(.page-home) .container {
    max-width: var(--site-max);
    padding: 3rem 1.5rem 4rem;
    gap: 2.5rem;
}

body:not(.page-home) .main-content {
    gap: 1.5rem;
}

body:not(.page-home) .main-content .column {
    background: var(--site-white);
    backdrop-filter: none;
    border: 1px solid var(--site-border);
    box-shadow: var(--site-shadow);
    border-radius: var(--site-radius);
}

body:not(.page-home) .main-content .column::before {
    display: none;
}

body:not(.page-home) .main-content .column:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(15, 39, 68, 0.1);
    background: var(--site-white);
}

body:not(.page-home) .main-content .column h2,
body:not(.page-home) .main-content .column h3 {
    font-family: 'Source Serif 4', Georgia, serif;
    color: var(--site-navy);
    border-bottom: 2px solid var(--site-border);
    text-transform: none;
    letter-spacing: normal;
    font-size: 1.125rem;
}

body:not(.page-home) .main-content .column ul li::before {
    color: var(--site-burgundy);
}

/* About page bios */

body:not(.page-home) .bio-section {
    text-align: center;
}

body:not(.page-home) .bio-section img {
    border-radius: 50%;
    margin-bottom: 1rem;
    border: 3px solid var(--site-border);
}

body:not(.page-home) .bio-section h3 {
    font-family: 'Source Serif 4', Georgia, serif;
    color: var(--site-navy);
    font-size: 1.25rem;
    margin: 0 0 1rem;
    border: none;
    padding: 0;
}

body:not(.page-home) .bio-section p {
    color: var(--site-muted);
    line-height: 1.7;
    text-align: left;
    font-size: 0.9375rem;
}

/* Pay page */

body:not(.page-home) .pay-cards-container .card {
    border: 1px solid var(--site-border);
    box-shadow: var(--site-shadow);
    border-radius: var(--site-radius);
}

body:not(.page-home) .pay-cards-container .card h3 {
    font-family: 'Source Serif 4', Georgia, serif;
    color: var(--site-navy);
}

body:not(.page-home) .pay-cards-container .card .btn {
    background: var(--site-burgundy);
    border: none;
    box-shadow: 0 2px 8px rgba(124, 45, 62, 0.3);
}

body:not(.page-home) .pay-cards-container .card .btn::before {
    display: none;
}

body:not(.page-home) .pay-cards-container .card .btn:hover {
    background: var(--site-burgundy-hover);
    border: none;
    transform: translateY(-1px);
}

/* Quick links sidebar */

body:not(.page-home) .quicklinksbar {
    background: var(--site-surface);
    border: 1px solid var(--site-border);
    box-shadow: var(--site-shadow);
    backdrop-filter: none;
    top: 88px;
}

body:not(.page-home) .quicklinksbar::before {
    display: none;
}

body:not(.page-home) .quicklinksbar h2 {
    color: var(--site-navy);
    border-bottom-color: var(--site-gold);
    font-family: 'Source Serif 4', Georgia, serif;
    text-transform: none;
    letter-spacing: 0.04em;
    font-size: 1rem;
}

body:not(.page-home) .quicklinksbar ul li a {
    background: var(--site-white);
    border: 1px solid var(--site-border);
    color: var(--site-navy);
    backdrop-filter: none;
}

body:not(.page-home) .quicklinksbar ul li a:hover {
    background: var(--site-white);
    color: var(--site-burgundy);
    border-color: var(--site-burgundy);
    transform: translateX(3px);
    box-shadow: none;
}

/* FAQ */

body:not(.page-home) .faq-container h2 {
    font-family: 'Source Serif 4', Georgia, serif;
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--site-navy);
    text-transform: none;
    border-bottom: 2px solid var(--site-gold);
    padding-bottom: 0.5rem;
    margin-top: 2.5rem;
}

body:not(.page-home) .faq-container p,
body:not(.page-home) .faq-container ul {
    color: var(--site-muted);
    font-size: 1rem;
    line-height: 1.65;
}

body:not(.page-home) .faq-container a.baselink {
    color: var(--site-burgundy);
    border-bottom-color: var(--site-burgundy);
}

body:not(.page-home) .faq-container a.baselink:hover {
    color: var(--site-navy);
    border-bottom-color: var(--site-navy);
}

body:not(.page-home) hr {
    background-color: var(--site-border);
    margin: 2rem 0;
}

/* Contact form */

body:not(.page-home) .main-content .column:has(#cform) {
    grid-column: 1 / -1;
    max-width: 640px;
    margin: 0 auto;
    width: 100%;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

body:not(.page-home) .main-content .column:has(#cform):hover {
    transform: none;
    box-shadow: none;
}

body:not(.page-home) #cform {
    max-width: 100%;
    margin: 0;
    background: var(--site-white);
    border: 1px solid var(--site-border);
    border-image: none;
    box-shadow: var(--site-shadow);
    padding: 2rem;
    border-radius: var(--site-radius);
}

body:not(.page-home) #cform::before,
body:not(.page-home) #cform::after {
    display: none;
}

body:not(.page-home) #cform h3 {
    font-family: 'Source Serif 4', Georgia, serif;
    color: var(--site-navy);
    border: none;
    border-image: none;
    border-bottom: 2px solid var(--site-border);
    text-transform: none;
    letter-spacing: normal;
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0 0 1.5rem;
    padding: 0 0 1rem;
    text-align: left;
    text-shadow: none;
}

body:not(.page-home) #cform h3::before,
body:not(.page-home) #cform h3::after {
    display: none;
}

body:not(.page-home) #cform label {
    color: var(--site-navy);
    font-weight: 500;
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.9375rem;
}

body:not(.page-home) #cform input[type="text"],
body:not(.page-home) #cform input[type="email"],
body:not(.page-home) #cform textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    margin-bottom: 1.25rem;
    border: 1px solid var(--site-border);
    border-radius: 8px;
    background: var(--site-white);
    font-family: inherit;
    font-size: 1rem;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body:not(.page-home) #cform input:focus,
body:not(.page-home) #cform textarea:focus {
    border-color: var(--site-navy);
    outline: 2px solid rgba(15, 39, 68, 0.12);
    outline-offset: 0;
    box-shadow: none;
}

body:not(.page-home) #cform textarea {
    min-height: 140px;
    resize: vertical;
}

body:not(.page-home) #cform input[type="submit"] {
    background: var(--site-burgundy);
    border: none;
    border-radius: 8px;
    color: var(--site-white);
    cursor: pointer;
    font-family: inherit;
    font-weight: 600;
    font-size: 1rem;
    text-transform: none;
    letter-spacing: normal;
    padding: 0.875rem 1.5rem;
    width: 100%;
    margin-top: 0.5rem;
    box-shadow: 0 2px 8px rgba(124, 45, 62, 0.3);
    transition: background 0.2s ease, transform 0.2s ease;
}

body:not(.page-home) #cform input[type="submit"]:hover {
    background: var(--site-burgundy-hover);
    border: none;
    transform: translateY(-1px);
}

body:not(.page-home) #cform input[type="submit"]:active {
    transform: translateY(0);
}

body:not(.page-home) #cform .g-recaptcha {
    margin: 1.25rem 0;
    display: flex;
    justify-content: center;
}

body:not(.page-home) .contact-status {
    text-align: center;
    margin-top: 1rem;
    padding: 0.875rem 1rem;
    border-radius: 8px;
    font-size: 0.9375rem;
}

body:not(.page-home) .contact-status--success {
    color: #166534;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

body:not(.page-home) .contact-status--error {
    color: #991b1b;
    background: #fef2f2;
    border: 1px solid #fecaca;
}

@media (max-width: 768px) {
    body:not(.page-home) #cform {
        padding: 1.5rem;
    }

    body:not(.page-home) #cform h3 {
        font-size: 1.35rem;
    }
}

/* Privacy policy */

body:not(.page-home) .privacy-header {
    border-bottom: 3px solid var(--site-navy);
    border-image: none;
}

body:not(.page-home) .privacy-header h1 {
    font-family: 'Source Serif 4', Georgia, serif;
    color: var(--site-navy);
}

body:not(.page-home) .privacy-header p {
    color: var(--site-muted);
}

body:not(.page-home) .privacy-section h2,
body:not(.page-home) .privacy-content h2 {
    font-family: 'Source Serif 4', Georgia, serif;
    color: var(--site-navy);
    border-bottom-color: var(--site-gold);
    border-image: none;
}

body:not(.page-home) .privacy-section h3,
body:not(.page-home) .privacy-content h3,
body:not(.page-home) .sms-privacy-notice h3 {
    color: var(--site-navy);
}

body:not(.page-home) .privacy-section p,
body:not(.page-home) .privacy-content p,
body:not(.page-home) .privacy-section li {
    color: var(--site-muted);
}

body:not(.page-home) .privacy-section a,
body:not(.page-home) .privacy-content a {
    color: var(--site-burgundy);
}

body:not(.page-home) .sms-optin-form {
    background: var(--site-white);
    border: 1px solid var(--site-border);
    border-image: none;
    box-shadow: var(--site-shadow);
    border-radius: var(--site-radius);
}

body:not(.page-home) .sms-optin-form::before {
    display: none;
}

body:not(.page-home) .sms-optin-form h2 {
    font-family: 'Source Serif 4', Georgia, serif;
    color: var(--site-navy);
    border-image: none;
}

body:not(.page-home) .sms-optin-form label {
    color: var(--site-navy);
}

body:not(.page-home) .sms-optin-form input[type="text"],
body:not(.page-home) .sms-optin-form input[type="email"],
body:not(.page-home) .sms-optin-form input[type="tel"] {
    border: 1px solid var(--site-border);
    border-radius: 8px;
}

body:not(.page-home) .sms-optin-form input:focus {
    border-color: var(--site-navy);
}

body:not(.page-home) .sms-optin-form button[type="submit"],
body:not(.page-home) .sms-optin-form .submit-btn {
    background: var(--site-burgundy);
    border: none;
    border-radius: 8px;
}

body:not(.page-home) .sms-optin-form button[type="submit"]:hover,
body:not(.page-home) .sms-optin-form .submit-btn:hover {
    background: var(--site-burgundy-hover);
}

body:not(.page-home) .sms-optin-form .consent-box,
body:not(.page-home) .sms-optin-form .checkbox-group,
body:not(.page-home) .sms-optin-form .sms-privacy-notice {
    border-left: 4px solid var(--site-gold);
    background: var(--site-surface);
    padding: 1rem;
    border-radius: 0 8px 8px 0;
}

@media (max-width: 768px) {
    body:not(.page-home) .image-header {
        height: auto !important;
        min-height: 0 !important;
    }

    body:not(.page-home) .business-info {
        display: none !important;
    }

    body:not(.page-home) .container {
        padding: 2rem 1.25rem 3rem;
    }

    body:not(.page-home) .mobile-menu-dropdown {
        top: 64px !important;
    }
}
