/* Existing Stage 2 and hero rules, externalized in original order. */
:root {
    --alp-stage2-green: #2e7d32;
    --alp-stage2-green-dark: #173f28;
    --alp-stage2-orange: #a84a00;
    --alp-stage2-orange-hover: #873b00;
    --alp-stage2-text: #252b28;
    --alp-stage2-muted: #66716b;
}

/* Чуть более светлый и спокойный зелёный фон шапки. */
#header-new .header-top-wrap {
    background: #3a824a;
}

#header-new .alp-stage2-mobile-address {
    display: none;
}

/* В исходном чанке header между телефоном и контактами расположен inline-тег style.
   В grid-контейнере он становился отдельной ячейкой и выталкивал адрес на вторую строку. */
#header-new .header-top > style {
    display: none !important;
}

/* Небольшой desktop / планшет в горизонтальной ориентации.
   Все данные физически не помещаются в одну строку, поэтому контакты вынесены
   в аккуратную вторую строку вместо наложения WhatsApp и e-mail. */
@media only screen and (min-width: 1024px) and (max-width: 1199px) {
    #header-new .header-top {
        display: grid;
        grid-template-columns: max-content max-content minmax(280px, 1fr);
        grid-template-areas:
            "time tel address"
            "mail mail mail";
        align-items: center;
        column-gap: 14px;
        row-gap: 4px;
        height: auto;
        min-height: 78px;
        padding: 5px 0 6px;
        box-sizing: border-box;
    }

    #header-new .header-top > .time,
    #header-new .header-top > .tel,
    #header-new .header-top > .address,
    #header-new .header-top > .mail {
        width: auto;
        min-width: 0;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    #header-new .header-top > .time {
        grid-area: time;
    }

    #header-new .header-top > .tel {
        grid-area: tel;
        justify-content: flex-start;
        font-size: 22px;
    }

    #header-new .header-top > .address {
        grid-area: address;
        justify-self: center;
    }

    #header-new .header-top > .mail {
        grid-area: mail;
        justify-self: center;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        white-space: nowrap;
    }

    #header-new .header-top .time-info,
    #header-new .header-top .address-info,
    #header-new .header-top .mail-info,
    #header-new .header-top .wa-header .my-link {
        font-size: 14px;
    }

    #header-new .header-top .time-pic-wrap,
    #header-new .header-top .tel-pic-wrap,
    #header-new .header-top .address-pic-wrap,
    #header-new .header-top .mail-pic-wrap {
        margin-right: 7px;
    }

    #header-new .header-top .wa-header {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 9px;
        margin: 0;
        font-size: 0;
        line-height: 1;
        white-space: nowrap;
    }

    #header-new .header-top .wa-header .my-link {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 4px;
        min-width: max-content;
        margin: 0;
        color: inherit;
        line-height: 1.1;
        white-space: nowrap;
    }

    #header-new .header-top .wa-header .my-link svg {
        width: 15px;
        height: 15px;
        min-width: 15px;
        flex: 0 0 15px;
    }

    #header-new .header-top .mail-info {
        flex: 0 0 auto;
        min-width: max-content;
        margin: 0;
        white-space: nowrap;
    }
}

/* Desktop: верхняя контактная строка получает явные колонки.
   Это не даёт блоку WhatsApp сжиматься и накладываться на e-mail. */
@media only screen and (min-width: 1200px) {
    #header-new .header-top {
        display: grid;
        grid-template-columns: max-content max-content minmax(250px, 1fr) max-content;
        align-items: center;
        column-gap: 16px;
    }

    #header-new .header-top > .time,
    #header-new .header-top > .tel,
    #header-new .header-top > .address,
    #header-new .header-top > .mail {
        width: auto;
        min-width: 0;
        margin: 0;
        box-sizing: border-box;
    }

    #header-new .header-top > .time {
        grid-column: 1;
        grid-row: 1;
    }

    #header-new .header-top > .tel {
        grid-column: 2;
        grid-row: 1;
        justify-content: flex-start;
        padding-right: 0;
    }

    #header-new .header-top > .address {
        grid-column: 3;
        grid-row: 1;
        padding-left: 0;
    }

    #header-new .header-top > .mail {
        grid-column: 4;
        grid-row: 1;
        order: initial;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
        min-width: max-content;
    }

    #header-new .header-top .wa-header {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 12px;
        margin: 0;
        font-size: 0;
        line-height: 1;
        white-space: nowrap;
    }

    #header-new .header-top .wa-header .my-link {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 5px;
        min-width: max-content;
        margin: 0;
        color: inherit;
        font-size: 16px;
        line-height: 1.1;
        white-space: nowrap;
        vertical-align: middle;
    }

    #header-new .header-top .wa-header .my-link svg {
        width: 16px;
        height: 16px;
        min-width: 16px;
        flex: 0 0 16px;
    }

    #header-new .header-top .mail-pic-wrap {
        flex: 0 0 auto;
        margin: 0 0 0 2px;
    }

    #header-new .header-top .mail-info {
        flex: 0 0 auto;
        min-width: max-content;
        margin: 0;
        white-space: nowrap;
    }

    #header-new .header-top .wa-header .tg-header-span,
    #header-new .header-top .wa-header .wa-header-span {
        display: inline-block;
        line-height: 1.1;
        vertical-align: middle;
    }
}

/* На небольшом desktop сохраняем подписи, но делаем строку компактнее. */
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
    #header-new .header-top {
        grid-template-columns: max-content max-content minmax(220px, 1fr) max-content;
        column-gap: 10px;
    }

    #header-new .header-top .time-info,
    #header-new .header-top .address-info,
    #header-new .header-top .wa-header .my-link,
    #header-new .header-top .mail-info {
        font-size: 14px;
    }

    #header-new .header-top .tel {
        font-size: 22px;
    }

    #header-new .header-top .wa-header {
        gap: 7px;
    }

    #header-new .header-top .wa-header .my-link {
        gap: 3px;
    }

    #header-new .header-top .mail {
        gap: 7px;
    }

    #header-new .header-top .mail-pic-wrap {
        display: none;
    }
}

@media only screen and (min-width: 1400px) and (max-width: 1550px) {
    #header-new .header-top {
        column-gap: 12px;
    }

    #header-new .header-top .wa-header {
        gap: 9px;
    }

    #header-new .header-top .wa-header .my-link,
    #header-new .header-top .mail-info {
        font-size: 14px;
    }
}

#page-main1.alp-stage2-first-screen {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: url("/glavnaya/images/page-main/product-slider/product-slider-fon.jpg") center / cover no-repeat;
}

#page-main1.alp-stage2-first-screen::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    content: "";
    background: linear-gradient(
        90deg,
        rgba(24, 67, 43, .94) 0%,
        rgba(37, 84, 56, .84) 48%,
        rgba(50, 103, 70, .40) 74%,
        rgba(50, 103, 70, .20) 100%
    );
}

#page-main1 .alp-stage2-hero {
    position: relative;
    z-index: 1;
}

#page-main1 .alp-stage2-hero__inner {
    width: calc(100% - 40px);
    max-width: 1470px;
    min-height: 720px;
    margin: 0 auto;
    padding: 52px 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 460px);
    align-items: center;
    gap: clamp(32px, 5vw, 78px);
    box-sizing: border-box;
}

#page-main1 .alp-stage2-hero__content {
    max-width: 790px;
}

#page-main1 .alp-stage2-hero__eyebrow,
#page-main1 .alp-stage2-card__badge {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 13px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.2;
    text-transform: uppercase;
    box-sizing: border-box;
}

#page-main1 .alp-stage2-hero__eyebrow {
    margin-bottom: 18px;
    color: #fff;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .28);
}

#page-main1 .alp-stage2-hero__title {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(39px, 4vw, 62px);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.06;
}

#page-main1 .alp-stage2-hero__lead {
    max-width: 720px;
    margin: 21px 0 26px;
    color: rgba(255, 255, 255, .88);
    font-size: 19px;
    line-height: 1.5;
}

#page-main1 .alp-stage2-hero__benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    max-width: 680px;
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
}

#page-main1 .alp-stage2-hero__benefits li {
    position: static;
    min-height: 78px;
    padding: 13px 16px;
    background: rgba(255, 255, 255, .11);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 10px;
    box-sizing: border-box;
}

#page-main1 .alp-stage2-hero__benefits li::before {
    display: none;
}

#page-main1 .alp-stage2-hero__benefits strong,
#page-main1 .alp-stage2-hero__benefits span {
    display: block;
}

#page-main1 .alp-stage2-hero__benefits strong {
    margin-bottom: 4px;
    color: #fff;
    font-size: 20px;
    line-height: 1.2;
}

#page-main1 .alp-stage2-hero__benefits span {
    color: rgba(255, 255, 255, .76);
    font-size: 13px;
    line-height: 1.25;
}

#page-main1 .alp-stage2-hero__actions {
    display: flex;
    align-items: center;
    gap: 13px;
}

#page-main1 .alp-stage2-button {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    border-radius: 9px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

#page-main1 .alp-stage2-button--primary {
    color: #fff;
    background: var(--alp-stage2-orange);
    box-shadow: 0 10px 26px rgba(94, 38, 0, .28);
}

#page-main1 .alp-stage2-button--primary:hover,
#page-main1 .alp-stage2-button--primary:focus-visible {
    color: #fff;
    background: var(--alp-stage2-orange-hover);
    transform: translateY(-1px);
}

#page-main1 .alp-stage2-button--secondary {
    color: #fff;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .52);
}

#page-main1 .alp-stage2-button--secondary:hover,
#page-main1 .alp-stage2-button--secondary:focus-visible {
    color: var(--alp-stage2-green-dark);
    background: #fff;
}

#page-main1 .alp-stage2-button:focus-visible,
#page-main1 .alp-stage2-card input:focus-visible,
#page-main1 .alp-stage2-card textarea:focus-visible,
#page-main1 .alp-stage2-card button:focus-visible,
#page-main1 .alp-stage2-card .jform__btn:focus-visible {
    outline: 3px solid #ffb55e;
    outline-offset: 3px;
}

#page-main1 .alp-stage2-hero__note {
    margin: 16px 0 0;
    color: rgba(255, 255, 255, .7);
    font-size: 12px;
    line-height: 1.4;
}

#page-main1 .alp-stage2-card {
    padding: 30px;
    color: var(--alp-stage2-text);
    background: rgba(255, 255, 255, .98);
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 16px;
    box-shadow: 0 18px 50px rgba(12, 42, 25, .18);
    box-sizing: border-box;
    scroll-margin-top: 210px;
}

#page-main1 .alp-stage2-card__badge {
    min-height: 26px;
    padding: 0 10px;
    color: var(--alp-stage2-green);
    background: #e8f3ea;
    font-size: 10px;
}

#page-main1 .alp-stage2-card h2 {
    margin: 15px 0 9px;
    color: #202622;
    font-size: 27px;
    font-weight: 700;
    line-height: 1.15;
}

#page-main1 .alp-stage2-card__description {
    margin: 0 0 20px;
    color: var(--alp-stage2-muted);
    font-size: 14px;
    line-height: 1.45;
}

#page-main1 .alp-stage2-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

#page-main1 .alp-stage2-form__field {
    min-width: 0;
    display: block;
    margin: 0;
}

#page-main1 .alp-stage2-form__field--full {
    grid-column: 1 / -1;
}

#page-main1 .alp-stage2-form__label-text {
    display: block;
    margin-bottom: 5px;
    color: #465049;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
}

#page-main1 .alp-stage2-form .jform__field.jform__input {
    width: 100%;
    max-width: none;
    height: 46px;
    display: block;
    margin: 0;
    padding: 0 13px;
    color: var(--alp-stage2-text);
    background: #fff;
    border: 1px solid #cfd8d2;
    border-radius: 8px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 400;
    outline: 0;
    box-sizing: border-box;
}

#page-main1 .alp-stage2-form textarea.jform__field.jform__input,
#page-main1 .alp-stage2-form .alp-stage2-form__textarea {
    min-height: 90px;
    height: 90px;
    padding-top: 11px;
    padding-bottom: 11px;
    line-height: 1.4;
    resize: vertical;
}

#page-main1 .alp-stage2-form .jform__field.jform__input:focus,
#page-main1 .alp-stage2-form .alp-stage2-form__file-input:focus {
    border-color: var(--alp-stage2-green);
    box-shadow: 0 0 0 3px rgba(46, 125, 50, .13);
}

#page-main1 .alp-stage2-form .jform__field.jform__input::placeholder {
    color: #7a837e;
    opacity: 1;
}

#page-main1 .alp-stage2-form__file-input {
    width: 100%;
    min-height: 44px;
    display: block;
    padding: 5px;
    color: #4d5751;
    background: #f8faf8;
    border: 1px solid #cfd8d2;
    border-radius: 8px;
    font-family: inherit;
    font-size: 12px;
    line-height: 1.3;
    cursor: pointer;
    box-sizing: border-box;
}

#page-main1 .alp-stage2-form__file-input::file-selector-button {
    min-height: 32px;
    margin-right: 9px;
    padding: 0 12px;
    color: #245f31;
    background: #e8f3ea;
    border: 0;
    border-radius: 6px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

#page-main1 .alp-stage2-form__hint {
    display: block;
    margin-top: 4px;
    color: #748078;
    font-size: 10px;
    line-height: 1.35;
}

#page-main1 .alp-stage2-form__error {
    min-height: 0;
    display: block;
    margin-top: 3px;
    color: #a1271d;
    font-size: 10px;
    line-height: 1.25;
}

#page-main1 .alp-stage2-form .jform__btn.size,
#page-main1 .alp-stage2-form__submit {
    width: 100%;
    max-width: none;
    min-height: 50px;
    height: auto;
    display: block;
    margin: 2px 0 0;
    padding: 13px 15px;
    color: #fff;
    background: var(--alp-stage2-orange);
    border: 0;
    border-radius: 9px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color .2s ease, transform .2s ease;
}

#page-main1 .alp-stage2-form .jform__btn.size:hover,
#page-main1 .alp-stage2-form__submit:hover {
    background: var(--alp-stage2-orange-hover);
    transform: translateY(-1px);
}

#page-main1 .alp-stage2-form .alert {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 7px;
    font-size: 13px;
    line-height: 1.4;
}

#page-main1 .alp-stage2-form .alert-success {
    color: #1f5f2b;
    background: #e8f3ea;
}

#page-main1 .alp-stage2-form .alert-danger {
    color: #8d251d;
    background: #fbe9e7;
}

#page-main1 .alp-stage2-card__privacy {
    margin: 11px 0 0;
    color: #66716b;
    font-size: 10px;
    line-height: 1.4;
    text-align: center;
}

#page-main1 .alp-stage2-card__privacy a {
    color: #4c6255;
    text-decoration: underline;
}

/* Плавающие кнопки: меньше визуального шума и без постоянной пульсации. */
.fixed-button .popup-button {
    animation: none;
}

@media only screen and (max-width: 1180px) {
    #page-main1 .alp-stage2-hero__inner {
        grid-template-columns: minmax(0, 1fr) 420px;
        gap: 30px;
    }
}

@media only screen and (max-width: 1023px) {
    #page-main1.alp-stage2-first-screen::before {
        background: linear-gradient(90deg, rgba(24, 67, 43, .94), rgba(50, 103, 70, .78));
    }

    #page-main1 .alp-stage2-hero__inner {
        min-height: auto;
        padding: 48px 0 54px;
        grid-template-columns: 1fr;
        gap: 34px;
    }

    #page-main1 .alp-stage2-hero__content {
        max-width: none;
    }

    #page-main1 .alp-stage2-card {
        width: min(100%, 520px);
        margin: 0 auto;
        scroll-margin-top: 160px;
    }
}

@media only screen and (max-width: 767px) {
    /* Компактная мобильная шапка вместо высокого контактного блока. */
    #header-new {
        display: flex;
        flex-direction: column;
    }

    #header-new .header-top-wrap {
        order: 0;
        padding: 0;
    }

    #header-new .header-bot-wrap {
        order: 1;
    }

    #header-new .header-top {
        min-height: 46px;
        height: auto;
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
        justify-content: center;
        gap: 20px;
        padding: 6px 12px;
        box-sizing: border-box;
    }

    #header-new .header-top .time-tel-mail {
        width: auto;
        justify-content: center;
        gap: 20px;
    }

    #header-new .header-top .time,
    #header-new .header-top .tel {
        width: auto;
        display: flex;
        margin: 0;
        padding: 0;
        order: 0;
        white-space: nowrap;
    }

    #header-new .header-top .time-pic-wrap,
    #header-new .header-top .tel-pic-wrap {
        display: none;
    }

    #header-new .header-top .time-info {
        font-size: 13px;
    }

    #header-new .header-top .tel-info {
        font-size: 21px;
        font-weight: 700;
        line-height: 1.2;
    }

    #header-new .header-top .mail,
    #header-new .header-top .address {
        display: none;
    }

    #header-new .header-bot {
        min-height: 96px;
        height: auto;
        padding: 7px 0 9px;
        box-sizing: border-box;
    }

    #header-new .header-bot .logo {
        width: 180px;
        height: auto;
        min-height: 78px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
        text-decoration: none;
    }

    #header-new .header-bot .logo-pic-wrap {
        margin: 0;
    }

    #header-new .header-bot .logo-pic-wrap img {
        width: 160px;
        height: auto;
    }

    #header-new .alp-stage2-mobile-address {
        display: block;
        margin-top: 4px;
        color: #315f3d;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.25;
        text-align: center;
        white-space: nowrap;
    }

    #header-new .header-bot .logo-text,
    #header-new .header-bot .search {
        display: none;
    }

    #header-new .header-bot .menu-toggle {
        top: 30px;
        left: 12px;
        width: 30px;
        height: 36px;
    }

    #header-new .header-bot .menu-toggle-e {
        height: 4px;
        border-radius: 3px;
    }

    #header-new .header-bot .menu-toggle-e.e1 { top: 2px; }
    #header-new .header-bot .menu-toggle-e.e2 { top: 11px; }
    #header-new .header-bot .menu-toggle-e.e3 { top: 20px; }

    #header-new .header-bot .request,
    #header-new .header-bot .request-link {
        top: 29px;
        right: 12px;
        width: 38px;
        height: 38px;
        background-size: 38px 38px;
    }

    #header-new .header-bot .menu-wrap {
        margin: 0 -12px;
        padding: 0 12px;
    }

    #header-new .header-bot .menu {
        margin-top: 7px;
        padding: 8px 12px 12px;
        background: #fff;
        border-top: 1px solid #e1e5e2;
    }

    #page-main1.alp-stage2-first-screen {
        background-position: 34% center;
    }

    #page-main1 .alp-stage2-hero__inner {
        width: calc(100% - 28px);
        padding: 36px 0 92px;
        gap: 28px;
    }

    #page-main1 .alp-stage2-hero__eyebrow {
        min-height: 28px;
        margin-bottom: 14px;
        padding: 0 10px;
        font-size: 10px;
    }

    #page-main1 .alp-stage2-hero__title {
        font-size: clamp(34px, 10.5vw, 47px);
        line-height: 1.04;
    }

    #page-main1 .alp-stage2-hero__lead {
        margin: 17px 0 21px;
        font-size: 16px;
        line-height: 1.45;
    }

    #page-main1 .alp-stage2-hero__benefits {
        grid-template-columns: 1fr;
        gap: 7px;
        margin-bottom: 22px;
    }

    #page-main1 .alp-stage2-hero__benefits li {
        min-height: 0;
        display: grid;
        grid-template-columns: 112px 1fr;
        align-items: center;
        padding: 10px 13px;
    }

    #page-main1 .alp-stage2-hero__benefits strong {
        margin: 0;
        font-size: 17px;
    }

    #page-main1 .alp-stage2-hero__actions {
        align-items: stretch;
        flex-direction: column;
        gap: 9px;
    }

    #page-main1 .alp-stage2-button {
        width: 100%;
    }

    #page-main1 .alp-stage2-hero__note {
        text-align: center;
    }

    #page-main1 .alp-stage2-card {
        padding: 24px 20px;
        border-radius: 13px;
        scroll-margin-top: 154px;
    }

    #page-main1 .alp-stage2-card h2 {
        font-size: 24px;
    }

    #page-main1 .alp-stage2-form__grid {
        grid-template-columns: 1fr;
    }

    #page-main1 .alp-stage2-form__field--full {
        grid-column: 1;
    }

    #page-main1 .alp-stage2-form textarea.jform__field.jform__input,
    #page-main1 .alp-stage2-form .alp-stage2-form__textarea {
        min-height: 104px;
        height: 104px;
    }

    /* На телефоне панель стоит вертикально справа и не закрывает контент. */
    .fixed-button {
        left: auto;
        right: 10px;
        bottom: max(76px, calc(env(safe-area-inset-bottom) + 76px));
        width: 54px;
        height: auto;
        max-width: none;
        transform: none;
    }

    .fixed-button .popup {
        position: static;
        width: 54px;
        max-width: none;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 7px;
        padding: 6px;
        background: rgba(255, 255, 255, .96);
        border-radius: 28px;
        box-shadow: 0 8px 28px rgba(0, 0, 0, .22);
        box-sizing: border-box;
    }

    .fixed-button .popup-button {
        width: 42px;
        height: 42px;
        min-width: 42px;
        flex: 0 0 42px;
        margin: 0 !important;
        box-shadow: none;
    }

    .fixed-button .popup-button .tooltiptext {
        display: none;
    }
}

@media only screen and (max-width: 420px) {
    #header-new .header-top {
        gap: 0;
    }

    #header-new .header-top .time-tel-mail {
        gap: 0;
    }

    #header-new .header-top .time {
        display: none;
    }

    #header-new .header-top .tel-info {
        font-size: 22px;
    }

    #header-new .header-bot .logo {
        width: 170px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #page-main1 *,
    #page-main1 *::before,
    #page-main1 *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* ================================================================
   ALPLASTROY HOME HERO V8 — FORCE OVERRIDE
   Loaded from active html-foot, after the older homepage styles.
   ================================================================ */

/* ---------- Common ---------- */
#page-main1.alp-stage2-first-screen {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-position: center center !important;
}

#page-main1.alp-stage2-first-screen::before {
  background:
    radial-gradient(circle at 72% 42%, rgba(87,148,108,.22) 0, rgba(87,148,108,0) 38%),
    linear-gradient(90deg, rgba(10,48,29,.97) 0%, rgba(20,68,42,.94) 43%, rgba(32,84,56,.66) 70%, rgba(42,97,67,.36) 100%) !important;
}

#page-main1 .alp-stage2-hero {
  position: relative !important;
  z-index: 2 !important;
}

#page-main1 .alp-stage2-hero__inner {
  width: min(1320px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

#page-main1 .alp-stage2-hero__content,
#page-main1 .alp-stage2-card {
  box-sizing: border-box !important;
}

#page-main1 .alp-stage2-hero__content {
  position: relative !important;
  z-index: 2 !important;
}

#page-main1 .alp-stage2-hero__eyebrow {
  width: max-content !important;
  max-width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  background: rgba(255,255,255,.11) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07) !important;
  backdrop-filter: blur(8px) !important;
}

#page-main1 .alp-stage2-hero__title {
  max-width: 760px !important;
  margin-top: 0 !important;
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.08) !important;
}

#page-main1 .alp-stage2-hero__lead {
  max-width: 690px !important;
  color: rgba(255,255,255,.91) !important;
}

#page-main1 .alp-stage2-hero__benefits {
  list-style: none !important;
  padding-left: 0 !important;
}

#page-main1 .alp-stage2-hero__benefits li {
  border: 1px solid rgba(255,255,255,.22) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.135), rgba(255,255,255,.07)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 8px 24px rgba(3,30,17,.07) !important;
  backdrop-filter: blur(7px) !important;
}

#page-main1 .alp-stage2-hero__benefits strong {
  color: #fff !important;
  font-weight: 800 !important;
}

#page-main1 .alp-stage2-hero__benefits span {
  color: rgba(255,255,255,.76) !important;
}

#page-main1 .alp-stage2-button {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

#page-main1 .alp-stage2-button--primary {
  color: #fff !important;
  background: linear-gradient(180deg, #c65a00 0%, #ad4c00 100%) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 14px 30px rgba(91,39,0,.26), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

#page-main1 .alp-stage2-button--primary:hover {
  background: linear-gradient(180deg, #d36308 0%, #b84f00 100%) !important;
  transform: translateY(-1px) !important;
}

#page-main1 .alp-stage2-button--secondary {
  color: #fff !important;
  background: rgba(255,255,255,.075) !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  backdrop-filter: blur(7px) !important;
}

#page-main1 .alp-stage2-hero__note {
  color: rgba(255,255,255,.72) !important;
}

/* Form card: same content, more premium surface */
#page-main1 .alp-stage2-card {
  position: relative !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.975) !important;
  border: 1px solid rgba(27,76,49,.11) !important;
  box-shadow: 0 28px 75px rgba(7,35,21,.25) !important;
}

#page-main1 .alp-stage2-card::before {
  content: "" !important;
  position: absolute !important;
  z-index: 2 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, #2f7f4a 0%, #55a76d 56%, #c45a08 100%) !important;
}

#page-main1 .alp-stage2-card__badge {
  border: 1px solid #d9eadf !important;
  background: #edf7f0 !important;
  color: #23743c !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}

#page-main1 .alp-stage2-card h2 {
  color: #17251d !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
}

#page-main1 .alp-stage2-card__description {
  color: #657169 !important;
}

#page-main1 .alp-stage2-form .jform__field.jform__input,
#page-main1 .alp-stage2-form .alp-stage2-form__textarea,
#page-main1 .alp-stage2-form textarea.jform__field.jform__input {
  border: 1px solid #d9e2dc !important;
  background: #fbfcfb !important;
  box-shadow: inset 0 1px 2px rgba(17,48,31,.025) !important;
}

#page-main1 .alp-stage2-form .jform__field.jform__input:focus,
#page-main1 .alp-stage2-form .alp-stage2-form__textarea:focus,
#page-main1 .alp-stage2-form textarea.jform__field.jform__input:focus {
  border-color: #6aa77d !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(63,132,82,.11) !important;
  outline: none !important;
}

#page-main1 .alp-stage2-form .jform__btn.size,
#page-main1 .alp-stage2-form__submit {
  background: linear-gradient(180deg, #c65a00 0%, #ad4c00 100%) !important;
  border-radius: 11px !important;
  box-shadow: 0 12px 24px rgba(104,45,0,.18) !important;
}

/* ---------- Desktop ---------- */
@media only screen and (min-width: 1024px) {
  #page-main1 .alp-stage2-hero__inner {
    min-height: 620px !important;
    padding: 42px 0 46px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 420px !important;
    align-items: center !important;
    gap: clamp(48px, 5vw, 82px) !important;
  }

  #page-main1 .alp-stage2-hero__content {
    max-width: 760px !important;
    padding: 32px 34px 30px !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-radius: 24px !important;
    background: linear-gradient(135deg, rgba(7,42,24,.38), rgba(18,65,39,.17)) !important;
    box-shadow: 0 24px 65px rgba(3,27,15,.14), inset 0 1px 0 rgba(255,255,255,.06) !important;
    backdrop-filter: blur(4px) !important;
  }

  #page-main1 .alp-stage2-hero__content::after {
    content: "" !important;
    position: absolute !important;
    left: 34px !important;
    bottom: -1px !important;
    width: 82px !important;
    height: 3px !important;
    border-radius: 3px 3px 0 0 !important;
    background: #c85a05 !important;
  }

  #page-main1 .alp-stage2-hero__eyebrow {
    min-height: 31px !important;
    margin: 0 0 17px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
  }

  #page-main1 .alp-stage2-hero__title {
    font-size: clamp(48px, 3.5vw, 59px) !important;
    line-height: 1.025 !important;
  }

  #page-main1 .alp-stage2-hero__lead {
    margin: 20px 0 24px !important;
    font-size: 17px !important;
    line-height: 1.48 !important;
  }

  #page-main1 .alp-stage2-hero__benefits {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 10px !important;
    max-width: 650px !important;
    margin: 0 0 23px !important;
  }

  #page-main1 .alp-stage2-hero__benefits li {
    min-height: 74px !important;
    padding: 13px 14px !important;
    border-radius: 13px !important;
  }

  #page-main1 .alp-stage2-hero__benefits strong {
    display: block !important;
    margin: 0 0 5px !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
  }

  #page-main1 .alp-stage2-hero__benefits span {
    display: block !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  #page-main1 .alp-stage2-hero__actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 0 !important;
  }

  #page-main1 .alp-stage2-button {
    min-height: 52px !important;
    padding: 0 22px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  #page-main1 .alp-stage2-hero__note {
    margin: 13px 0 0 !important;
    font-size: 11px !important;
  }

  #page-main1 .alp-stage2-card {
    width: 420px !important;
    margin: 0 !important;
    padding: 31px 28px 27px !important;
    border-radius: 22px !important;
  }

  #page-main1 .alp-stage2-card h2 {
    font-size: 26px !important;
    line-height: 1.12 !important;
  }
}

/* ---------- Tablet ---------- */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  #page-main1 .alp-stage2-hero__inner {
    min-height: auto !important;
    padding: 34px 0 38px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  #page-main1 .alp-stage2-hero__content {
    max-width: 720px !important;
    margin: 0 auto !important;
    padding: 27px 28px !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-radius: 23px !important;
    background: rgba(12,53,31,.32) !important;
    backdrop-filter: blur(4px) !important;
  }

  #page-main1 .alp-stage2-hero__benefits {
    grid-template-columns: repeat(3,1fr) !important;
  }

  #page-main1 .alp-stage2-card {
    width: min(100%, 600px) !important;
    margin: 0 auto !important;
    border-radius: 21px !important;
  }
}

/* ---------- Mobile ---------- */
@media only screen and (max-width: 767px) {
  #page-main1.alp-stage2-first-screen {
    background-position: 43% center !important;
  }

  #page-main1.alp-stage2-first-screen::before {
    background:
      radial-gradient(circle at 82% 18%, rgba(95,157,116,.18), rgba(95,157,116,0) 42%),
      linear-gradient(180deg, rgba(9,47,28,.965) 0%, rgba(17,64,39,.93) 53%, rgba(27,78,51,.88) 100%) !important;
  }

  #page-main1 .alp-stage2-hero__inner {
    width: calc(100% - 24px) !important;
    min-height: auto !important;
    padding: 18px 0 26px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 16px !important;
  }

  #page-main1 .alp-stage2-hero__content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 20px 17px 18px !important;
    border: 1px solid rgba(255,255,255,.17) !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(6,42,23,.48), rgba(17,61,37,.30)) !important;
    box-shadow: 0 18px 46px rgba(4,28,15,.17), inset 0 1px 0 rgba(255,255,255,.055) !important;
    backdrop-filter: blur(4px) !important;
  }

  #page-main1 .alp-stage2-hero__eyebrow {
    min-height: 27px !important;
    margin: 0 0 13px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 9.5px !important;
    line-height: 1 !important;
  }

  #page-main1 .alp-stage2-hero__title {
    max-width: 100% !important;
    font-size: clamp(33px, 9vw, 41px) !important;
    line-height: 1.025 !important;
    letter-spacing: -.04em !important;
  }

  #page-main1 .alp-stage2-hero__lead {
    margin: 15px 0 18px !important;
    font-size: 15px !important;
    line-height: 1.43 !important;
  }

  #page-main1 .alp-stage2-hero__benefits {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 6px !important;
    margin: 0 0 17px !important;
  }

  #page-main1 .alp-stage2-hero__benefits li {
    min-width: 0 !important;
    min-height: 68px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 8px 7px !important;
    border-radius: 11px !important;
  }

  #page-main1 .alp-stage2-hero__benefits strong {
    display: block !important;
    margin: 0 0 4px !important;
    font-size: 14px !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
  }

  #page-main1 .alp-stage2-hero__benefits span {
    display: block !important;
    font-size: 9.5px !important;
    line-height: 1.16 !important;
  }

  #page-main1 .alp-stage2-hero__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  #page-main1 .alp-stage2-button {
    width: 100% !important;
    min-height: 50px !important;
    padding: 0 14px !important;
    border-radius: 11px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  #page-main1 .alp-stage2-button--secondary {
    min-height: 46px !important;
  }

  #page-main1 .alp-stage2-hero__note {
    max-width: 100% !important;
    margin: 11px auto 0 !important;
    padding: 0 4px !important;
    font-size: 10.5px !important;
    line-height: 1.32 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  #page-main1 .alp-stage2-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 23px 17px 19px !important;
    border-radius: 21px !important;
    box-shadow: 0 18px 48px rgba(6,31,18,.21) !important;
  }

  #page-main1 .alp-stage2-card__badge {
    margin-bottom: 13px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
  }

  #page-main1 .alp-stage2-card h2 {
    margin: 0 0 8px !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
  }

  #page-main1 .alp-stage2-card__description {
    margin: 0 0 15px !important;
    font-size: 13.5px !important;
    line-height: 1.4 !important;
  }

  #page-main1 .alp-stage2-form__grid {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  #page-main1 .alp-stage2-form__field--full {
    grid-column: 1 !important;
  }

  #page-main1 .alp-stage2-form .jform__field.jform__input {
    min-height: 48px !important;
    height: 48px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
  }

  #page-main1 .alp-stage2-form textarea.jform__field.jform__input,
  #page-main1 .alp-stage2-form .alp-stage2-form__textarea {
    min-height: 94px !important;
    height: 94px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
  }

  #page-main1 .alp-stage2-form .jform__btn.size,
  #page-main1 .alp-stage2-form__submit {
    min-height: 52px !important;
    font-size: 15px !important;
  }
}

@media only screen and (max-width: 390px) {
  #page-main1 .alp-stage2-hero__inner {
    width: calc(100% - 18px) !important;
  }

  #page-main1 .alp-stage2-hero__content {
    padding: 18px 14px 16px !important;
    border-radius: 19px !important;
  }

  #page-main1 .alp-stage2-hero__title {
    font-size: clamp(31px, 9.5vw, 36px) !important;
  }

  #page-main1 .alp-stage2-hero__benefits {
    gap: 5px !important;
  }

  #page-main1 .alp-stage2-hero__benefits li {
    padding: 7px 5px !important;
  }

  #page-main1 .alp-stage2-hero__benefits strong {
    font-size: 13px !important;
  }

  #page-main1 .alp-stage2-hero__benefits span {
    font-size: 8.8px !important;
  }
}
