/* =====================================================
   CONTACT COMPACT OVERRIDES
   Tightens hero + section spacing on Contact page so
   form/info fit above the fold with minimal scrolling.
   ===================================================== */

/* --- Hero --- */
.hero-section {
    padding: 70px 0 32px !important;
    min-height: 0 !important;
}

.hero-section h1 {
    font-size: clamp(1.8rem, 3.4vw, 2.6rem) !important;
    margin-bottom: 10px !important;
    line-height: 1.2 !important;
}

.hero-badge,
.hero-section .hero-badge {
    padding: 6px 18px !important;
    font-size: 0.72rem !important;
    margin-bottom: 12px !important;
    letter-spacing: 1.2px !important;
}

.hero-subtitle {
    font-size: 1rem !important;
    margin-bottom: 12px !important;
    line-height: 1.5 !important;
}

/* Breadcrumb hidden on contact page */
.hero-section .breadcrumb,
.hero-section nav.breadcrumb {
    display: none !important;
}

/* --- Contact main section --- */
.contact-section {
    padding: 34px 0 !important;
}

.section-label {
    margin-bottom: 10px !important;
    gap: 10px !important;
}

.label-line {
    width: 28px !important;
    height: 2px !important;
}

.label-text {
    font-size: 0.75rem !important;
    letter-spacing: 1.4px !important;
}

.section-title {
    font-size: clamp(1.4rem, 2.8vw, 1.85rem) !important;
    margin-bottom: 14px !important;
    line-height: 1.25 !important;
}

/* --- Business hours / address cards --- */
.business-hours {
    margin-bottom: 14px !important;
}

.hours-item {
    padding: 10px 12px !important;
    gap: 10px !important;
}

.hours-item i {
    font-size: 1.1rem !important;
}

.hours-day {
    font-size: 0.92rem !important;
}

.hours-time {
    font-size: 0.88rem !important;
}

.address-card {
    padding: 14px 16px !important;
    border-radius: 12px !important;
    margin-bottom: 14px !important;
}

.address-card[style*="margin-top"] {
    margin-top: 14px !important;
}

.address-header {
    gap: 10px !important;
    margin-bottom: 10px !important;
    padding-bottom: 10px !important;
}

.address-header i {
    font-size: 1.1rem !important;
}

.address-header h3 {
    font-size: 1rem !important;
    margin: 0 !important;
}

.address-details {
    gap: 8px !important;
}

.address-item {
    gap: 10px !important;
}

.address-item i {
    font-size: 0.85rem !important;
}

.address-item span,
.address-item a {
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
}

/* --- Social links --- */
.social-links {
    margin-top: 14px !important;
}

.social-links h4 {
    font-size: 0.98rem !important;
    margin-bottom: 8px !important;
}

.social-icons {
    gap: 8px !important;
}

.social-icon {
    width: 34px !important;
    height: 34px !important;
    font-size: 0.95rem !important;
}

/* --- Form --- */
.contact-form-wrapper {
    padding: 18px !important;
    border-radius: 14px !important;
}

.contact-form {
    gap: 10px !important;
}

.form-group {
    margin-bottom: 10px !important;
}

.form-group label {
    font-size: 0.88rem !important;
    margin-bottom: 4px !important;
}

.input-wrapper {
    min-height: 0 !important;
}

.input-wrapper i {
    font-size: 0.9rem !important;
}

.input-wrapper .form-control {
    padding: 9px 12px 9px 36px !important;
    font-size: 0.92rem !important;
    height: auto !important;
}

.textarea-wrapper .form-control {
    rows: 3 !important;
    min-height: 90px !important;
}

.btn-submit {
    padding: 11px 22px !important;
    font-size: 0.95rem !important;
    gap: 8px !important;
    margin-top: 4px !important;
}

/* --- Responsive --- */
@media (max-width: 992px) {
    .hero-section {
        padding: 60px 0 26px !important;
    }

    .contact-section {
        padding: 26px 0 !important;
    }

    .contact-info {
        margin-bottom: 20px !important;
    }
}

@media (max-width: 768px) {
    .hero-section {
        padding: 52px 0 22px !important;
    }

    .contact-form-wrapper {
        padding: 14px !important;
    }
}