/* ============================================================
   PAGE ESTIMATION — complète page-accueil.css (thème + composants)
   ============================================================ */

/* Hero plus compact sur page intérieure */
.aa-page-estimation .aa-hero--estimation {
    min-height: max(52vh, 420px) !important;
    min-height: max(52dvh, 420px) !important;
    padding: clamp(4.5rem, 8vh, 6rem) 0 clamp(3rem, 6vh, 4.5rem) !important;
}

.aa-page-estimation .aa-hero--estimation .aa-hero__badges {
    margin-bottom: 1.75rem;
}

/* Bloc formulaire — fond mesh DA + carte vitrée */
.aa-page-estimation .aa-estimation-main {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(4rem, 8vw, 6rem);
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--aa-bg-soft) 96%, var(--aa-blue) 4%) 0%,
        color-mix(in srgb, var(--aa-bg-soft) 88%, var(--aa-blue-dark) 8%) 100%
    );
}

.aa-page-estimation .aa-estimation-main::before {
    content: "";
    position: absolute;
    inset: -18% -12%;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(
            ellipse 95% 75% at 12% 8%,
            color-mix(in srgb, var(--aa-blue) 36%, transparent) 0%,
            transparent 52%
        ),
        radial-gradient(
            ellipse 82% 68% at 88% 14%,
            color-mix(in srgb, var(--aa-blue) 22%, transparent) 0%,
            transparent 48%
        ),
        radial-gradient(
            ellipse 105% 82% at 50% 102%,
            color-mix(in srgb, var(--aa-blue-dark) 38%, transparent) 0%,
            transparent 58%
        ),
        radial-gradient(
            ellipse 44% 36% at 70% 52%,
            color-mix(in srgb, var(--aa-blue) 14%, transparent) 0%,
            transparent 42%
        ),
        linear-gradient(
            152deg,
            color-mix(in srgb, var(--aa-bg-light) 96%, var(--aa-blue) 4%) 0%,
            color-mix(in srgb, var(--aa-bg-soft) 88%, var(--aa-blue) 12%) 38%,
            color-mix(in srgb, var(--aa-bg-soft) 82%, var(--aa-blue) 14%) 72%,
            color-mix(in srgb, var(--aa-bg-soft) 70%, var(--aa-blue-dark) 18%) 100%
        );
    animation: aa-estimation-gradient-drift 24s ease-in-out infinite;
}

@keyframes aa-estimation-gradient-drift {
    0%,
    100% {
        transform: translate(0, 0) scale(1);
        opacity: 1;
    }
    35% {
        transform: translate(2.5%, -2%) scale(1.02);
    }
    70% {
        transform: translate(-2%, 2.5%) scale(1.01);
    }
}

@media (prefers-reduced-motion: reduce) {
    .aa-page-estimation .aa-estimation-main::before {
        animation: none;
    }
}

.aa-page-estimation .aa-estimation-main > .aa-container {
    position: relative;
    z-index: 1;
}

.aa-page-estimation .aa-estimation-main__inner {
    max-width: min(960px, 100%);
    margin: 0 auto;
    padding: clamp(1.75rem, 4vw, 2.75rem);
    border-radius: clamp(18px, 2.5vw, 26px);
    font-family: var(--aa-font);
    color: var(--aa-text);
    background: color-mix(in srgb, var(--aa-bg-light) 76%, transparent);
    backdrop-filter: blur(22px) saturate(1.4);
    -webkit-backdrop-filter: blur(22px) saturate(1.4);
    box-shadow:
        0 4px 28px color-mix(in srgb, var(--aa-blue) 11%, transparent),
        0 28px 72px color-mix(in srgb, var(--aa-blue-dark) 14%, transparent),
        inset 0 1px 0 color-mix(in srgb, var(--aa-bg-light) 94%, transparent);
    border: 1px solid color-mix(in srgb, var(--aa-bg-light) 90%, transparent);
}

.aa-page-estimation .aa-estimation-main__inner > *:first-child {
    margin-top: 0;
}

/* Formulaires courants (Contact Form 7, etc.) */
.aa-estimation-main input[type="text"],
.aa-estimation-main input[type="email"],
.aa-estimation-main input[type="tel"],
.aa-estimation-main input[type="number"],
.aa-estimation-main select,
.aa-estimation-main textarea {
    font-family: var(--aa-font);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .aa-page-estimation .aa-hero--estimation {
        min-height: max(58dvh, 400px) !important;
        min-height: max(58vh, 400px) !important;
        padding: clamp(4rem, 8vh, 5.5rem) 0 clamp(3rem, 6vh, 4rem) !important;
    }
}

@media (max-width: 640px) {
    .aa-page-estimation .aa-hero--estimation {
        min-height: max(62dvh, 360px) !important;
        min-height: max(62vh, 360px) !important;
        padding: 4.5rem 0 3rem !important;
    }
}
