/**
 * Level Agency Global Footer Styles
 *
 * @package Level_Agency
 */

/* --- FOOTER BASE --- */
footer.footer-modern {
    position: relative;
    background: #000000 !important;
    color: #ffffff !important;
    padding: clamp(20px, 3vw, 32px) !important;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin: 0 !important;
    box-sizing: border-box;
}

footer.footer-modern::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 0%, rgba(142, 227, 77, 0.08), transparent 40%);
    pointer-events: none;
}

footer.footer-modern::after {
    content: '';
    position: absolute;
    inset: auto 0 -120px 0;
    height: 320px;
    background: radial-gradient(circle at 30% 40%, rgba(134, 213, 244, 0.15), transparent 42%),
        radial-gradient(circle at 80% 60%, rgba(253, 110, 248, 0.1), transparent 40%);
    opacity: 0.6;
    pointer-events: none;
}

footer.footer-modern,
footer.footer-modern * {
    color: #ffffff !important;
    box-sizing: border-box;
}

footer.footer-modern .footer-band {
    position: relative;
    z-index: 1;
}

footer.footer-modern .container {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    width: 100% !important;
    color: inherit;
}

/* --- FOOTER TOP GRID --- */
footer.footer-modern .footer-grid-top {
    display: flex !important;
    flex-direction: column;
    gap: 40px !important;
    margin-bottom: 60px !important;
}

@media (min-width: 900px) {
    footer.footer-modern .footer-grid-top {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        align-items: flex-start !important;
        gap: 80px !important;
    }
}

/* --- FOOTER LEAD (Left Column) --- */
footer.footer-modern .footer-lead {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: clamp(16px, 3vw, 24px) !important;
    align-items: start !important;
    margin-bottom: clamp(16px, 3vw, 24px) !important;
}

footer.footer-modern .footer-eyebrow-row {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 8px !important;
}

footer.footer-modern .footer-eyebrow-bar {
    display: none !important;
}

footer.footer-modern .footer-eyebrow {
    padding: 6px 12px !important;
    width: fit-content !important;
    display: inline-block !important;
    align-self: flex-start !important;
    background: #FFAA53 !important;
    color: #000 !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.18em !important;
    font-size: 12px !important;
    font-family: 'DM Sans', sans-serif !important;
    line-height: 1.4 !important;
}

footer.footer-modern .footer-lead-title {
    font-size: clamp(42px, 6.5vw, 68px) !important;
    line-height: 1 !important;
    margin: 8px 0 10px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-family: 'Inter Tight', sans-serif !important;
}

footer.footer-modern .footer-lead-plain {
    color: #ffffff !important;
}

footer.footer-modern .footer-lead-accent {
    color: #FD6EF8 !important;
    opacity: 1 !important;
}

footer.footer-modern .footer-lead-body {
    margin-bottom: 14px !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    font-family: 'DM Sans', sans-serif !important;
}

/* --- TEAM PHOTO --- */
footer.footer-modern .footer-team-photo-wrapper {
    margin-top: 32px !important;
    width: 100% !important;
    aspect-ratio: 1/1 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

footer.footer-modern .footer-team-photo-wrapper img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    max-width: none !important;
}

/* --- FOOTER RIGHT COLUMN --- */
footer.footer-modern .footer-right-col {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
}

/* --- FORM CARD --- */
footer.footer-modern .footer-form-card {
    background: #EAEBF6 !important;
    border-radius: 24px !important;
    padding: 40px 0px 0px 0px !important;
    color: #000000 !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2) !important;
    margin-top: 50px !important;
}

footer.footer-modern .footer-form-card,
footer.footer-modern .footer-form-card * {
    color: #000000 !important;
}

footer.footer-modern .footer-form-card h3 {
    font-family: 'Inter Tight', sans-serif !important;
    font-weight: 700 !important;
    font-size: 24px !important;
    margin-bottom: 8px !important;
    color: #000000 !important;
    line-height: 1.2 !important;
    padding: 0px 40px !important;
}

footer.footer-modern .footer-form-card p {
    font-size: 15px !important;
    color: #000000 !important;
    margin-bottom: 0px !important;
    line-height: 1.4 !important;
    font-family: 'DM Sans', sans-serif !important;
    padding: 0px 40px !important;
}

footer.footer-modern .footer-contact-form .form-group {
    margin-bottom: 16px !important;
}

footer.footer-modern .footer-contact-form label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
    color: #000000 !important;
    font-family: 'DM Sans', sans-serif !important;
}

footer.footer-modern .footer-contact-form input {
    width: 100% !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    border: 1px solid #000000 !important;
    background: #fff !important;
    font-size: 15px !important;
    color: #000 !important;
    outline: none !important;
    transition: border-color 0.2s !important;
    font-family: 'DM Sans', sans-serif !important;
    box-sizing: border-box !important;
    line-height: 1.3 !important;
}

footer.footer-modern .footer-contact-form input:focus {
    border-color: #000000 !important;
}

footer.footer-modern .footer-contact-form input::placeholder {
    color: #888 !important;
}

/* --- SUBMIT BUTTON --- */
footer.footer-modern .hub-submit {
    background: #FD6EF8 !important;
    color: #000 !important;
    border: none !important;
    border-radius: 9999px !important;
    padding: 12px 32px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
    font-family: 'DM Sans', sans-serif !important;
}

footer.footer-modern .hub-submit:hover {
    filter: brightness(1.1) !important;
    transform: translateY(-2px) !important;
    background-color: #FFAA53 !important;
}

footer.footer-modern .hub-submit::after {
    content: "\2197" !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}

/* --- HOWARD BLOCK --- */
footer.footer-modern .footer-howard-block {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    color: #fff !important;
    width: 100% !important;
    max-width: none !important;
}

footer.footer-modern .howard-img-wrapper {
    width: 140px !important;
    height: 140px !important;
    flex-shrink: 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

footer.footer-modern .howard-img-wrapper img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    max-width: none !important;
}

footer.footer-modern .howard-info {
    font-size: 16px !important;
    line-height: 1.5 !important;
    flex: 1 !important;
    font-family: 'DM Sans', sans-serif !important;
}

footer.footer-modern .howard-info p {
    margin: 0 !important;
    color: #fff !important;
}

footer.footer-modern .howard-info a {
    color: #fff !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(255, 255, 255, 0.4) !important;
}

footer.footer-modern .howard-info a:hover {
    text-decoration-color: #fff !important;
}

/* --- DIVIDER --- */
footer.footer-modern .footer-divider {
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent) !important;
    margin: clamp(28px, 4vw, 40px) 0 !important;
}

/* --- FOOTER BOTTOM GRID --- */
footer.footer-modern .footer-detailed-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
    padding-top: 40px !important;
}

@media (min-width: 900px) {
    footer.footer-modern .footer-detailed-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr 1.4fr 1fr !important;
        gap: 40px !important;
        align-items: flex-start !important;
    }
}

/* Col 1: Brand & Socials */
footer.footer-modern .footer-col-brand {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
}

footer.footer-modern .footer-logo img {
    height: 50px !important;
    width: auto !important;
    max-width: none !important;
}

footer.footer-modern .footer-social-row {
    display: flex !important;
    gap: 16px !important;
}

footer.footer-modern .footer-social-row a img {
    height: 20px !important;
    width: auto !important;
    opacity: 1 !important;
    transition: opacity 0.2s !important;
    max-width: none !important;
}

footer.footer-modern .footer-social-row a:hover img {
    opacity: 0.7 !important;
}

/* Col 2: Nav Links */
footer.footer-modern .footer-col-nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

footer.footer-modern .footer-nav-link {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #fff !important;
    text-decoration: none !important;
    letter-spacing: 0.05em !important;
    width: max-content !important;
    font-family: 'DM Sans', sans-serif !important;
    line-height: 1.3 !important;
}

footer.footer-modern .footer-nav-link:hover {
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 4px !important;
}

/* Col 3: Newsletter */
footer.footer-modern .footer-col-newsletter {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

footer.footer-modern .footer-news-header {
    font-size: 14px !important;
    color: #fff !important;
    margin: 0 !important;
    font-family: 'DM Sans', sans-serif !important;
}

footer.footer-modern .footer-news-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    max-width: 300px !important;
}

footer.footer-modern .footer-news-form input {
    background: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    color: #000 !important;
    font-size: 14px !important;
    outline: none !important;
    font-family: 'DM Sans', sans-serif !important;
    box-sizing: border-box !important;
    line-height: 1.3 !important;
}

footer.footer-modern .btn-news-submit {
    background: transparent !important;
    border: 1px solid #FD6EF8 !important;
    border-radius: 50px !important;
    color: #fff !important;
    padding: 12px 24px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    align-self: flex-start !important;
    font-family: 'DM Sans', sans-serif !important;
}

footer.footer-modern .btn-news-submit:hover {
    background: #FD6EF8 !important;
    color: #000 !important;
    border-color: #FD6EF8 !important;
}

/* Col 4: Contact */
footer.footer-modern .footer-col-contact {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #fff !important;
    font-family: 'DM Sans', sans-serif !important;
}

footer.footer-modern .footer-col-contact p {
    margin: 0 !important;
}

footer.footer-modern .contact-links {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

footer.footer-modern .contact-links a {
    color: #fff !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(255, 255, 255, 0.4) !important;
}

footer.footer-modern .contact-links a:hover {
    text-decoration-color: #fff !important;
}

/* --- FOOTER BOTTOM ROW --- */
footer.footer-modern .footer-bottom-row {
    margin-top: 28px !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 20px !important;
    align-items: center !important;
    justify-content: space-between !important;
    color: #d9def0 !important;
    font-size: 13px !important;
    opacity: 0.6 !important;
    font-family: 'DM Sans', sans-serif !important;
}

footer.footer-modern .footer-bottom-links {
    display: flex !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
}

footer.footer-modern .footer-bottom-links a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

footer.footer-modern .footer-bottom-links a:hover {
    color: #ffffff !important;
}

/* --- UTILITY CLASS --- */
footer.footer-modern .visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* --- MOBILE ADJUSTMENTS --- */
@media (max-width: 768px) {
    footer.footer-modern .footer-form-card {
        padding: 24px !important;
        margin-top: 20px !important;
    }

    footer.footer-modern .footer-howard-block {
        flex-direction: column !important;
        text-align: center !important;
    }

    footer.footer-modern .howard-img-wrapper {
        width: 100px !important;
        height: 100px !important;
    }

    footer.footer-modern .footer-lead-title {
        font-size: clamp(32px, 8vw, 48px) !important;
    }

    footer.footer-modern .footer-detailed-grid {
        gap: 32px !important;
    }

    footer.footer-modern .footer-news-form {
        max-width: 100% !important;
    }
    #hsForm_981bdd58-4f67-4f7c-a6eb-728608fe8fae input.hs-button.primary.large {
        padding: 12px 24px 12px 20px !important;
    }
}

#hsForm_981bdd58-4f67-4f7c-a6eb-728608fe8fae fieldset:has(input[type="hidden"]) {
    display: none;
}
footer form#hsForm_981bdd58-4f67-4f7c-a6eb-728608fe8fae {
    display: block;
}
footer .hs_email {
    margin-bottom: 10px;
}
footer .hs_email input {
    color: #000 !important;
    line-height: 1.3 !important;
    background-color: #fff !important;
}
footer #hsForm_981bdd58-4f67-4f7c-a6eb-728608fe8fae fieldset:has(.hs_email) {
    width: 100%;
}
footer #hsForm_981bdd58-4f67-4f7c-a6eb-728608fe8fae .hs-submit {
    width: 60%;
}
footer input {
    border-radius: 8px !important;
}