/* Auto-generated brand overrides for Heartland Footers */
:root {
    --primary-color: #001830;
    --secondary-color: #0A2A4A;
    --accent-color: #9B0A00;
}

/* Heartland logo — large badge that hangs into the hero (like Midwest) */
body.brand-heartland header {
    padding-top: 1rem;
    padding-bottom: 1rem;
    overflow: visible;
    z-index: 30;
}

body.brand-heartland header .container {
    align-items: center;
    min-height: 0;
}

body.brand-heartland .header-brand {
    /* Reserve space for the absolute logo; bar height comes from nav */
    min-width: 170px;
    min-height: 48px;
    position: relative;
    z-index: 40;
    align-self: flex-start;
}

body.brand-heartland .logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: #fff;
    box-shadow:
        0 0 0 4px #fff,
        0 0 0 7px var(--accent-color),
        0 10px 28px rgba(0, 0, 0, 0.45);
    position: absolute;
    /* Sit mostly below the navy bar so the hang reads clearly over the photo */
    top: -8px;
    left: 0;
    z-index: 40;
}

body.brand-heartland .logo {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    height: 148px;
    width: 148px;
    border-radius: 50%;
    background: #fff;
    object-fit: contain;
    filter: none;
    box-shadow: none;
}

body.brand-heartland .logo:hover {
    transform: scale(1.03);
}

/* Keep hero top lighter so the hanging logo sits on visible photo, not navy-on-navy */
body.brand-heartland .hero {
    z-index: 1;
    overflow: visible;
}

body.brand-heartland .hero-overlay {
    padding-top: 6rem;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 24, 48, 0.68));
}

/* Clear hanging logo on pages without a full-bleed hero (Find a Footer, Clinic Signup, etc.) */
body.brand-heartland main > .section:first-child {
    padding-top: 6.5rem;
}

body.brand-heartland .gallery-hero,
body.brand-heartland .tournament-hero {
    padding-top: 5.5rem;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 70%, #4A0500 140%);
}

/* Bring logo red into the UI */
body.brand-heartland .section h2 {
    color: var(--primary-color);
    border-bottom-color: var(--accent-color);
}

body.brand-heartland nav a.active {
    border-bottom-color: var(--accent-color);
}

body.brand-heartland .btn-submit,
body.brand-heartland button.btn-submit {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
}

body.brand-heartland .btn-submit:hover,
body.brand-heartland button.btn-submit:hover {
    background-color: #7A0800;
    border-color: #7A0800;
}

body.brand-heartland footer {
    background-color: var(--primary-color);
    border-top: 4px solid var(--accent-color);
}

body.brand-heartland a.inline-link,
body.brand-heartland .resource-card h3 a,
body.brand-heartland .board-member a {
    color: var(--accent-color);
}

body.brand-heartland input:focus,
body.brand-heartland select:focus,
body.brand-heartland textarea:focus {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(155, 10, 0, 0.15);
}

body.brand-heartland .view-btn.active {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
}

body.brand-heartland .past-tournament-card-body h3,
body.brand-heartland .info-card-title {
    color: var(--primary-color);
}

body.brand-heartland .past-tournaments-back {
    color: var(--accent-color);
}

@media (max-width: 768px) {
    body.brand-heartland .header-brand {
        min-width: 140px;
        min-height: 40px;
    }

    body.brand-heartland .logo-link {
        width: 135px;
        height: 135px;
        top: -6px;
    }

    body.brand-heartland .logo {
        height: 124px;
        width: 124px;
    }

    body.brand-heartland .hero-overlay {
        padding-top: 5rem;
    }

    body.brand-heartland main > .section:first-child {
        padding-top: 5.5rem;
    }

    body.brand-heartland .gallery-hero,
    body.brand-heartland .tournament-hero {
        padding-top: 4.5rem;
    }
}

@media (max-width: 480px) {
    body.brand-heartland .header-brand {
        min-width: 118px;
    }

    body.brand-heartland .logo-link {
        width: 112px;
        height: 112px;
        top: -4px;
    }

    body.brand-heartland .logo {
        height: 102px;
        width: 102px;
    }

    body.brand-heartland main > .section:first-child {
        padding-top: 4.75rem;
    }
}
