/* =============================================================================
   Global — progress-wrap (scroll-to-top button) must always be constrained
   Without this, the SVG expands to full page on pages that don't load global.css
   ============================================================================= */

.progress-wrap {
    position: fixed !important;
    right: 30px !important;
    bottom: 30px !important;
    height: 46px !important;
    width: 46px !important;
    border-radius: 50px !important;
    z-index: 10000 !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* =============================================================================
   Global — Primary button color override
   ============================================================================= */

.wc-btn-primary {
    background-color: #c2f971 !important;
    border-color: #c2f971 !important;
    color: #121212 !important;
}

.wc-btn-primary:hover {
    background-color: #c2f971 !important;
    border-color: #c2f971 !important;
    color: #121212 !important;
}

/* =============================================================================
   Nav — Dropdown style overrides
   Dark background, clean minimal corners
   ============================================================================= */

/* First-level dropdown */
.main-menu ul.dp-menu {
    background-color: #18181b !important;
    border-radius: 12px !important;
    padding: 10px 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    box-shadow: none !important;
}

/* Nested flyout (3rd level) — no gap so mouse doesn't leave hover zone */
.main-menu ul.dp-menu ul {
    background-color: #18181b !important;
    border-radius: 12px !important;
    padding: 10px 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    box-shadow: none !important;
    inset-inline-start: 100% !important;
}

/* Menu item links */
.main-menu ul.dp-menu li a {
    border-radius: 0 !important;
    padding: 10px 22px !important;
}

/* =============================================================================
   Header — Position below promo bar with margin
   ============================================================================= */

.header-area {
    margin-top: 56px;
}

@media only screen and (max-width: 576px) {
    .header-area {
        margin-top: 48px;
    }
}

/* Remove margin when header is sticky (fixed) so no gap at top */
.header-area.sticky {
    margin-top: 0 !important;
    top: 0 !important;
}

/* =============================================================================
   Mobile — shrink header CTA button padding
   ============================================================================= */

@media only screen and (max-width: 1199px) {
    .header__button .wc-btn-primary {
        padding: 10px 16px !important;
        font-size: 13px !important;
    }
}

/* =============================================================================
   Mobile burger button — bigger tap target with right padding
   ============================================================================= */

.header__navicon .open-offcanvas {
    padding: 10px 14px 10px 10px;
    font-size: 22px;
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    line-height: 1;
}

/* =============================================================================
   Footer social icons — 4 per row always
   ============================================================================= */

.footer-col-social .social-links,
.footer-social-in-contact .social-links {
    display: grid !important;
    grid-template-columns: repeat(4, auto) !important;
    justify-content: start !important;
    gap: 10px !important;
}

/* =============================================================================
   Footer — match hero content width (80px each side, max 1280px)
   ============================================================================= */

.footer-area .footer-area-inner {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 60px;
    padding-right: 60px;
}

@media only screen and (max-width: 991px) {
    .footer-area .footer-area-inner {
        padding-left: 32px;
        padding-right: 32px;
    }
}

@media only screen and (max-width: 576px) {
    .footer-area .footer-area-inner {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* Mobile footer — quicklinks + services side by side, others full width */
@media only screen and (max-width: 767px) {
    .footer-area .footer-area-inner {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 32px 0 !important;
    }
    .footer-area .footer-col-brand {
        order: 1;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .footer-area .footer-col-quicklinks {
        order: 2;
        flex: 0 0 50%;
        max-width: 50%;
        box-sizing: border-box;
        padding-right: 16px;
    }
    .footer-area .footer-col-services {
        order: 3;
        flex: 0 0 50%;
        max-width: 50%;
        box-sizing: border-box;
    }
    .footer-area .footer-col-contact {
        order: 4;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .footer-area .footer-col-social {
        order: 5;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* Header — align logo with hero content (80px from edge) */
header .container.large {
    padding-left: 80px !important;
    padding-right: 80px !important;
}

@media only screen and (max-width: 1199px) {
    header .container.large {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}
