/* Unified marketing overrides for shared buttons and full-bleed hero imagery. */

nav .btn.btn-nav-estimate,
.hero-actions .btn.btn-gold,
.cta-buttons .btn.btn-gold {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--navy-dark);
}

nav .btn.btn-nav-estimate:hover,
.hero-actions .btn.btn-gold:hover,
.cta-buttons .btn.btn-gold:hover {
    background: var(--gold-light);
    border-color: var(--gold-light);
    color: var(--navy-dark);
}

nav .btn.btn-primary,
.hero-actions .btn.btn-primary,
.cta-buttons .btn.btn-primary,
.homepage-intake-launcher-actions .btn.btn-primary {
    background: var(--navy);
    border-color: var(--navy);
    color: var(--white);
}

nav .btn.btn-primary:hover,
.hero-actions .btn.btn-primary:hover,
.cta-buttons .btn.btn-primary:hover,
.homepage-intake-launcher-actions .btn.btn-primary:hover {
    background: var(--navy-light);
    border-color: var(--navy-light);
    color: var(--white);
}

nav .btn.btn-primary.btn-on-dark,
.hero-actions .btn.btn-primary.btn-on-dark,
.cta-buttons .btn.btn-primary.btn-on-dark,
.homepage-intake-launcher-actions .btn.btn-primary {
    border-color: rgba(173, 186, 199, 0.72);
}

nav .btn.btn-primary.btn-on-dark:hover,
.hero-actions .btn.btn-primary.btn-on-dark:hover,
.cta-buttons .btn.btn-primary.btn-on-dark:hover,
.homepage-intake-launcher-actions .btn.btn-primary:hover {
    border-color: rgba(173, 186, 199, 0.92);
}

nav .btn.btn-outline,
.btn-on-dark.btn-outline {
    background: var(--white);
    border-color: var(--white);
    color: var(--navy);
}

nav .btn.btn-outline:hover,
.btn-on-dark.btn-outline:hover {
    background: var(--snow);
    border-color: var(--white);
    color: var(--navy-dark);
}

.nav-cta-label-tablet {
    display: none;
}

.nav-right {
    min-width: 0;
}

.btn.btn-nav-cta {
    min-height: 46px;
    border-width: 2px;
    box-sizing: border-box;
}

.btn.btn-nav-cta .hp-icon {
    width: 1.05rem;
    height: 1.05rem;
}

.hero-actions,
.cta-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}

.hero-actions .btn,
.cta-buttons .btn {
    min-width: 220px;
    justify-content: center;
}

.cta-content--steps {
    display: grid;
    gap: var(--section-space-sm, 2rem);
}

.cta-content--steps .hero-review.hero-review--cta {
    order: -1;
    justify-self: center;
    margin: 0 auto;
    background: var(--snow);
    border-color: rgba(173, 186, 199, 0.75);
    color: var(--navy);
}

.cta-content--steps .hero-review.hero-review--cta .hero-review-divider,
.cta-content--steps .hero-review.hero-review--cta .hero-review-quote {
    color: var(--steel);
}

.hero {
    padding: 0 !important;
    background: var(--navy-dark);
}

.hero-container {
    width: 100%;
    max-width: none !important;
}

.hero-content {
    width: 100%;
}

.hero:has(.hero-page-icon) .hero-content,
.hero:has(.section-icon) .hero-content {
    position: relative;
    min-height: clamp(24rem, 50vw, 38rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(3.5rem, 8vw, 7rem) 2rem;
    text-align: center;
}

.hero .hero-page-icon,
.hero .section-icon {
    position: absolute !important;
    inset: 0;
    z-index: -2;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.hero .hero-page-icon::after,
.hero .section-icon::after {
    content: '' !important;
    position: absolute;
    inset: 0;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background:
        linear-gradient(180deg, rgba(8, 18, 29, 0.18) 0%, rgba(8, 18, 29, 0.7) 67%, rgba(8, 18, 29, 0.86) 100%),
        linear-gradient(135deg, rgba(18, 40, 64, 0.22) 0%, rgba(201, 162, 39, 0.16) 100%) !important;
}

.hero .hero-page-icon-image,
.hero .section-icon-image {
    width: 100% !important;
    height: 100% !important;
    display: block;
    object-fit: cover;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.hero:has(.hero-page-icon) h1,
.hero:has(.section-icon) h1,
.hero:has(.hero-page-icon) h1 span,
.hero:has(.section-icon) h1 span {
    order: 1;
    color: var(--white) !important;
    text-shadow: 0 12px 34px rgba(0, 0, 0, 0.38);
}

.hero:has(.hero-page-icon) .hero-text,
.hero:has(.section-icon) .hero-text {
    display: none !important;
}

.hero:has(.hero-page-icon) .hero-actions,
.hero:has(.section-icon) .hero-actions {
    order: 2;
    width: min(100%, 26rem);
    margin: 1.2rem auto 0;
    flex-direction: column;
    align-items: stretch;
}

.hero:has(.hero-page-icon) .hero-actions .btn,
.hero:has(.section-icon) .hero-actions .btn {
    width: 100%;
    min-width: 0;
    min-height: 56px;
}

.hero:has(.hero-page-icon) .hero-review,
.hero:has(.section-icon) .hero-review {
    order: 3;
    margin-top: 1.1rem;
    background: rgba(255, 255, 255, 0.94);
}

#hero:has(.homepage-intake--launcher) .hero-content {
    min-height: auto;
    padding: 0;
}

#hero .homepage-intake--launcher {
    margin: 0;
}

#hero .homepage-intake-shell--launcher {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: var(--white);
}

#hero .homepage-intake-shell--launcher .homepage-intake-visual {
    min-height: clamp(23rem, 52vw, 39rem);
    border-radius: 0;
}

#hero .homepage-intake-shell--launcher .homepage-intake-panel--launcher {
    border-radius: 0;
}

.homepage-hero-overlay,
.service-overlay {
    background: rgba(240, 243, 246, 0.96) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    animation: none !important;
}

@media (max-width: 1280px) {
    nav {
        padding-left: clamp(1rem, 2vw, 2rem) !important;
        padding-right: clamp(1rem, 2vw, 2rem) !important;
    }

    .logo-text,
    .nav-links {
        display: none !important;
    }

    .hamburger {
        display: block !important;
        order: 3;
        flex: 0 0 auto;
    }

    .nav-right {
        order: 2;
        flex: 1 1 auto;
        justify-content: center;
        gap: 0.75rem;
    }

    .btn.btn-nav-cta {
        flex: 1 1 0;
        min-width: 0;
        max-width: 15rem;
        padding: 0.65rem 1rem;
        font-size: 0.9rem;
    }

    .nav-cta-label-desktop {
        display: none !important;
    }

    .nav-cta-label-tablet {
        display: inline !important;
    }
}

@media (max-width: 768px) {
    nav {
        gap: 0.55rem !important;
    }

    .nav-right {
        flex: 0 1 auto;
        justify-content: flex-end;
        gap: 0.45rem;
    }

    .btn.btn-nav-cta {
        width: 46px;
        min-width: 46px;
        max-width: 46px;
        height: 46px;
        padding: 0.5rem;
        flex: 0 0 46px;
        gap: 0;
    }

    .btn.btn-nav-cta .hp-icon {
        width: 1.15rem;
        height: 1.15rem;
    }

    .btn.btn-nav-cta .nav-cta-label {
        display: none !important;
    }

    .hero-actions,
    .cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-actions .btn,
    .cta-buttons .btn {
        width: 100%;
    }
}
