/* LeadModule: mobile CTA, responsive form and modal help offer. */
.lead-mobile-bar,
.lead-mobile-trigger,
.lead-mobile-content-action,
.lead-mobile-sheet {
    display: none;
}

@media (max-width: 980px) {
    .lead-mobile-ready body {
        padding-bottom: var(--lead-mobile-bar-height, calc(76px + env(safe-area-inset-bottom, 0px)));
    }

    .lead-mobile-ready [data-mobile-lead-replace] { display: none; }
    .lead-mobile-ready .lead-mobile-content-action { display: block; margin: 20px 0; }
    .lead-mobile-ready .lead-mobile-trigger { display: flex; }

}

    .lead-mobile-button,
    .lead-mobile-trigger {
        position: relative;
        isolation: isolate;
        overflow: hidden;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 48px;
        box-sizing: border-box;
        padding: 13px 18px;
        border: 1px solid #d9c8af;
        border-radius: 14px;
        background: #fffefd;
        color: #38342f;
        font: inherit;
        font-size: 15px;
        font-weight: 500;
        line-height: 1.35;
        text-align: center;
        text-decoration: none;
        overflow-wrap: anywhere;
        cursor: pointer;
        box-shadow: none;
        transition: border-color .18s ease, background-color .18s ease;
    }

    .lead-mobile-button > span,
    .lead-mobile-trigger > span { position: relative; z-index: 1; }
    .lead-mobile-button::before,
    .lead-mobile-trigger::before {
        content: '';
        position: absolute;
        z-index: 0;
        width: 46%;
        height: 230%;
        top: -65%;
        left: 0;
        pointer-events: none;
        background: linear-gradient(100deg, #c6a36b00 0%, #c6a36b40 27%, #ffffff 46%, #ffffff 54%, #c6a36b47 73%, #c6a36b00 100%);
        transform: translateX(-160%) skewX(-22deg);
    }
    .lead-mobile-button.is-action-shimmer::before,
    .lead-mobile-trigger.is-action-shimmer::before { animation: lead-action-shine 1.1s cubic-bezier(.2,.5,.3,1) 1; }
    .lead-mobile-trigger.is-action-shimmer { background-color: #f7efdf; }
    .lead-mobile-button--accent {
        border-color: #bda06f;
        background: linear-gradient(115deg, #f8edd6 0%, #ead3ac 57%, #dec092 100%);
        color: #3f3221;
        font-weight: 600;
        box-shadow: inset 0 1px 0 #fffaf0, 0 5px 15px #92723c29;
    }
    .lead-mobile-button--accent::before {
        width: 58%;
        background: linear-gradient(100deg, #ffffff00 0%, #ffffff55 16%, #ffffffeb 34%, #ffffff 43%, #ffffff 59%, #ffffffe6 67%, #ffffff66 82%, #ffffff00 100%);
    }
    .lead-mobile-bar .lead-mobile-button--accent::before {
        animation: lead-sticky-shimmer 8s linear infinite;
        animation-delay: -6s;
    }
    .lead-mobile-bar[hidden] .lead-mobile-button--accent::before,
    .lead-mobile-bar[data-lead-motion-paused] .lead-mobile-button--accent::before { animation-play-state: paused; }
    @keyframes lead-action-shine {
        from { transform: translateX(-160%) skewX(-22deg); }
        to { transform: translateX(380%) skewX(-22deg); }
    }
    @keyframes lead-sticky-shimmer {
        0%, 79% { transform: translateX(-150%) skewX(-22deg); opacity: 0; }
        80% { transform: translateX(-150%) skewX(-22deg); opacity: 1; }
        99% { transform: translateX(250%) skewX(-22deg); opacity: 1; }
        100% { transform: translateX(250%) skewX(-22deg); opacity: 0; }
    }
    @media (hover: hover) {
        .lead-mobile-trigger:hover,
        .lead-mobile-button:hover { border-color: #b99e76; }
        .lead-mobile-trigger:hover { background-color: #f7efdf; }
    }
    @media (prefers-reduced-motion: reduce) {
        .lead-mobile-button, .lead-mobile-trigger { transition: none; }
        .lead-mobile-button.is-action-shimmer::before,
        .lead-mobile-trigger.is-action-shimmer::before,
        .lead-mobile-bar .lead-mobile-button--accent::before { animation: none; }
    }

    .lead-mobile-button:focus-visible,
    .lead-mobile-trigger:focus-visible,
    .lead-mobile-sheet__close:focus-visible {
        outline: 2px solid var(--color-primary);
        outline-offset: 3px;
    }

    .lead-mobile-bar {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 60;
        padding: 10px 0 calc(10px + env(safe-area-inset-bottom, 0px));
        border-top: 1px solid var(--color-border);
        background: var(--color-surface, #fff);
        box-shadow: 0 -6px 24px rgba(15, 23, 42, .08);
    }

    @media (max-width: 980px) { .lead-mobile-ready .lead-mobile-bar:not([hidden]) { display: block; } }
    .lead-mobile-bar[hidden],
    .lead-mobile-button[hidden] { display: none; }
    .lead-mobile-button--secondary { background: var(--color-surface, #fff); color: var(--color-primary); }
    .lead-mobile-sheet [data-lead-prepare-error] { margin: 0; color: var(--color-text); font-size: 14px; line-height: 1.5; }
    .lead-mobile-button:disabled { opacity: .6; cursor: wait; }

    .lead-mobile-sheet[open] {
        display: flex;
        align-items: flex-end;
        position: fixed;
        inset: auto 0 auto 0;
        top: var(--lead-mobile-viewport-top, 0px);
        width: 100%;
        max-width: 100%;
        height: var(--lead-mobile-viewport-height, 100dvh);
        max-height: none;
        box-sizing: border-box;
        margin: 0;
        padding: 12px 0 0;
        border: 0;
        background: transparent;
        color: var(--color-text);
        overflow: hidden;
    }

    .lead-mobile-sheet[data-auto-offer] .lead-mobile-sheet__panel { border: 1px solid var(--color-border); box-shadow: 0 -8px 32px rgba(15, 23, 42, .16); }
    .lead-mobile-sheet[data-general-selection] .lead-mobile-sheet__object { display: none; }
    .lead-mobile-sheet[data-auto-offer] .lead-mobile-sheet__head h2 { font-size: 19px; }
    .lead-mobile-sheet[data-auto-offer] .lead-mobile-sheet__object { font-size: 13px; font-weight: 400; }
    .lead-mobile-sheet[data-auto-offer] .lead-mobile-sheet__actions { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 10px; }
    .lead-mobile-sheet::backdrop { background: rgba(15, 23, 42, .52); }

    .lead-mobile-sheet__panel {
        width: 100%;
        max-height: 100%;
        box-sizing: border-box;
        padding: 0 max(20px, env(safe-area-inset-right, 0px)) calc(20px + env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px));
        border-radius: 22px 22px 0 0;
        background: var(--color-surface, #fff);
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        animation: lead-mobile-sheet-in .18s ease-out;
    }

    .lead-mobile-sheet__head {
        position: sticky;
        top: 0;
        z-index: 1;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 44px;
        gap: 8px;
        align-items: center;
        padding: 12px 0 8px;
        background: var(--color-surface, #fff);
    }

    .lead-mobile-sheet__head h2 { margin: 0; font-size: 21px; line-height: 1.25; overflow-wrap: anywhere; }
    .lead-mobile-sheet__close { width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--color-soft, #f3f4f6); color: var(--color-text); font: inherit; font-size: 30px; line-height: 1; cursor: pointer; }
    .lead-mobile-sheet__object { margin: 0 0 8px; font-size: 15px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
    .lead-mobile-sheet__text { margin: 0 0 16px; color: var(--color-muted); font-size: 14px; line-height: 1.45; }
    .lead-mobile-sheet__form { display: grid; gap: 14px; }
    .lead-mobile-sheet__field { display: grid; gap: 6px; min-width: 0; }
    .lead-mobile-sheet__field label { font-size: 14px; font-weight: 600; }
    .lead-mobile-sheet__field label span { color: var(--color-muted); font-weight: 400; }
    .lead-mobile-sheet__field input { box-sizing: border-box; min-width: 0; width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--color-border, #cfd8e3); border-radius: var(--radius-control, 12px); background: var(--color-surface, #fff); color: var(--color-text); font: inherit; font-size: 16px; }
    .lead-mobile-sheet__field input:focus { outline: 2px solid var(--color-primary); outline-offset: 1px; }
    .lead-mobile-sheet__policy { margin: 0; font-size: 12px; line-height: 1.45; color: var(--color-muted); }
    .lead-mobile-sheet__policy a { color: inherit; text-decoration: underline; }
    .lead-mobile-sheet__hp { position: absolute; width: 1px; height: 1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); opacity: 0; }
    .lead-mobile-sheet-is-open { overflow: hidden; }
    .lead-mobile-sheet-is-open body { position: fixed; top: var(--lead-mobile-scroll-top, 0px); left: 0; right: 0; width: 100%; }
    @keyframes lead-mobile-sheet-in { from { transform: translateY(20px); opacity: .5; } to { transform: translateY(0); opacity: 1; } }
    @media (prefers-reduced-motion: reduce) { .lead-mobile-sheet__panel { animation: none; } }

@media (min-width: 981px) {
    .lead-mobile-sheet[open] { justify-content: flex-end; padding: 24px; }
    .lead-mobile-sheet__panel { max-width: 440px; border-radius: 20px; }
}
