/* =========================================================
   DirectoryFire homepage hero clean server-side fix
   No JavaScript. No hiding the whole hero.
========================================================= */

.df-home-hero-clean-row {
    display: grid !important;
    grid-template-columns: minmax(560px, 0.95fr) minmax(320px, 360px) minmax(420px, 0.85fr) !important;
    gap: clamp(42px, 5vw, 96px) !important;
    align-items: center !important;
    width: min(100%, 1620px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.df-home-hero-clean-row > * {
    min-width: 0 !important;
}

.df-home-hero-clean-row > *:nth-child(1),
.df-home-hero-clean-copy {
    justify-self: start !important;
    width: 100% !important;
    max-width: 720px !important;
}

.df-home-hero-clean-row > *:nth-child(2),
.df-home-hero-clean-submit {
    justify-self: center !important;
    width: min(360px, 100%) !important;
    max-width: 360px !important;
}

.df-home-hero-clean-row > *:nth-child(3) {
    justify-self: center !important;
    width: 100% !important;
    max-width: 540px !important;
}

.df-home-hero-clean-row > *:nth-child(3) img,
.df-home-hero-clean-row > *:nth-child(3) svg {
    max-width: 100% !important;
    height: auto !important;
}

/* Main hero headline like original DirectoryFire */
.df-home-hero-clean-copy h1,
.df-home-hero-clean-row h1:first-of-type {
    max-width: 720px !important;
}

/* Search should stay wide, not crushed */
.df-home-hero-clean-copy form,
.df-home-hero-clean-copy .search,
.df-home-hero-clean-copy .search-form,
.df-home-hero-clean-copy .df-search,
.df-home-hero-clean-copy .df-hero-search {
    width: min(100%, 640px) !important;
    max-width: 640px !important;
}

/* Keep the submit card from becoming huge */
.df-home-hero-clean-submit,
.df-home-hero-clean-submit * {
    box-sizing: border-box;
}

/* Tablet */
@media (max-width: 1280px) {
    .df-home-hero-clean-row {
        grid-template-columns: minmax(420px, 1fr) minmax(300px, 340px) minmax(320px, 0.75fr) !important;
        gap: 36px !important;
    }
}

/* Mobile */
@media (max-width: 980px) {
    .df-home-hero-clean-row {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        text-align: center !important;
    }

    .df-home-hero-clean-row > *,
    .df-home-hero-clean-copy,
    .df-home-hero-clean-submit {
        justify-self: center !important;
        max-width: 720px !important;
    }

    .df-home-hero-clean-copy form,
    .df-home-hero-clean-copy .search,
    .df-home-hero-clean-copy .search-form,
    .df-home-hero-clean-copy .df-search,
    .df-home-hero-clean-copy .df-hero-search {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Hero headline color polish */
.df-home-hero-clean-copy h1 .df-hero-title-soft,
.df-home-hero-clean-row h1 .df-hero-title-soft {
    color: #f1f5f9 !important;
    -webkit-text-fill-color: #f1f5f9 !important;
    background: none !important;
    text-shadow: 0 10px 34px rgba(255,255,255,0.08) !important;
}

.df-home-hero-clean-copy h1 .df-hero-title-gold,
.df-home-hero-clean-row h1 .df-hero-title-gold {
    color: #ff9d00 !important;
    -webkit-text-fill-color: #ff9d00 !important;
    background: linear-gradient(90deg, #ffb000 0%, #ff7a00 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
}

.df-home-hero-clean-copy h1 .df-hero-title-red,
.df-home-hero-clean-row h1 .df-hero-title-red {
    color: #ff1a12 !important;
    -webkit-text-fill-color: #ff1a12 !important;
    background: none !important;
}
