/* ===== FORM STYLE (Elementor) ===== */

.elementor-form {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.elementor-form .elementor-field-group {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

/* ===== INPUTS ===== */
.elementor-form input,
.elementor-form select,
.elementor-form textarea {
    background: #f7f4f1 !important;
    border: 1px solid #ece7e2 !important;
    border-radius: 14px !important;
    min-height: 58px;
    padding: 0 18px !important;
    font-size: 18px;
    font-weight: 500;
    color: #1b1b1b !important;
    box-shadow: none !important;
}

/* textarea */
.elementor-form textarea {
    min-height: 120px;
    padding-top: 14px !important;
}

/* placeholder */
.elementor-form input::placeholder,
.elementor-form textarea::placeholder {
    color: #7f7a75 !important;
}

/* focus */
.elementor-form input:focus,
.elementor-form select:focus,
.elementor-form textarea:focus {
    background: #ffffff !important;
    border-color: #d9d2cb !important;
    outline: none !important;
}

/* ===== SELECT ARROW ===== */
.elementor-form select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23d95858' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 18px;
    padding-right: 46px !important;
}

/* ===== BUTTON ===== */
.elementor-form button,
.elementor-form .elementor-button {
    width: 100%;
    min-height: 62px;
    border: none !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #c70d0d 0%, #9f0000 100%) !important;
    color: #ffffff !important;
    font-size: 22px;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(160,0,0,0.25);
}

/* hover */
.elementor-form button:hover {
    background: linear-gradient(180deg, #d41111 0%, #ab0000 100%) !important;
}

/* ===== MOBILE ===== */
@media (max-width: 767px) {
    .elementor-form input,
    .elementor-form select,
    .elementor-form textarea {
        min-height: 50px;
        font-size: 16px;
    }

    .elementor-form button {
        min-height: 54px;
        font-size: 18px;
    }
}
.elementor-form .elementor-field-group {
    margin-bottom: 16px !important;
}
.elementor-form {
    background: rgba(255,255,255,0.06);
    padding: 20px;
    border-radius: 18px;
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,0.1);
}
.elementor-form button {
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
/* ===== PREMIUM HERO FORM + CTA ===== */

/* затемнение hero, чтобы текст и форма выглядели дорого, а не грязно */
.elementor-section:has(.elementor-form) {
    position: relative;
}

.elementor-section:has(.elementor-form)::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(8,10,14,0.72) 0%, rgba(8,10,14,0.46) 38%, rgba(8,10,14,0.28) 62%, rgba(8,10,14,0.52) 100%),
        linear-gradient(180deg, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0.34) 100%);
    pointer-events: none;
    z-index: 0;
}

.elementor-section:has(.elementor-form) > .elementor-container,
.elementor-section:has(.elementor-form) .elementor-widget-wrap,
.elementor-section:has(.elementor-form) .elementor-column {
    position: relative;
    z-index: 1;
}

/* главный блок формы */
.elementor-form {
    background: linear-gradient(180deg, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0.08) 100%);
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 24px;
    padding: 26px 24px 22px 24px;
    box-shadow:
        0 30px 80px rgba(0,0,0,0.42),
        inset 0 1px 0 rgba(255,255,255,0.22);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    max-width: 560px;
    margin-left: auto;
    margin-right: 0;
}

/* расстояния */
.elementor-form .elementor-field-group {
    width: 100%;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
}

/* поля */
.elementor-form input,
.elementor-form select,
.elementor-form textarea {
    background: rgba(255,255,255,0.94) !important;
    border: 1px solid rgba(255,255,255,0.75) !important;
    border-radius: 18px !important;
    min-height: 62px;
    padding: 0 20px !important;
    font-size: 18px;
    font-weight: 600;
    color: #171717 !important;
    box-shadow:
        0 8px 18px rgba(0,0,0,0.06),
        inset 0 1px 0 rgba(255,255,255,0.7);
    transition: all 0.22s ease;
}

.elementor-form textarea {
    min-height: 130px;
    padding-top: 16px !important;
}

.elementor-form input::placeholder,
.elementor-form textarea::placeholder {
    color: #8a8a8a !important;
    opacity: 1;
    font-weight: 500;
}

.elementor-form input:focus,
.elementor-form select:focus,
.elementor-form textarea:focus {
    background: #ffffff !important;
    border-color: rgba(255,255,255,0.95) !important;
    box-shadow:
        0 0 0 4px rgba(255,255,255,0.14),
        0 12px 30px rgba(0,0,0,0.1) !important;
    outline: none !important;
    transform: translateY(-1px);
}

/* select */
.elementor-form select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23717171' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 18px center;
    background-size: 18px;
    padding-right: 52px !important;
}

/* кнопка submit */
.elementor-form button,
.elementor-form .elementor-button {
    width: 100%;
    min-height: 64px;
    border: none !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ff2a1f 0%, #d90d08 100%) !important;
    color: #ffffff !important;
    font-size: 21px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    box-shadow:
        0 18px 34px rgba(190, 10, 10, 0.34),
        inset 0 1px 0 rgba(255,255,255,0.18);
    transition: all 0.22s ease;
}

.elementor-form button:hover,
.elementor-form .elementor-button:hover {
    transform: translateY(-2px);
    box-shadow:
        0 24px 42px rgba(190, 10, 10, 0.42),
        inset 0 1px 0 rgba(255,255,255,0.22);
    background: linear-gradient(180deg, #ff3b30 0%, #cf0903 100%) !important;
}

/* зелёная кнопка call now — сделать тоже дорогой */
.elementor-button,
a.elementor-button {
    border-radius: 16px !important;
}

a.elementor-button[href*="tel"],
.elementor-widget-button .elementor-button {
    box-shadow:
        0 14px 28px rgba(58, 196, 43, 0.22),
        inset 0 1px 0 rgba(255,255,255,0.22);
}

/* текст в hero */
.elementor-section:has(.elementor-form) h1,
.elementor-section:has(.elementor-form) .elementor-heading-title {
    text-shadow: 0 6px 18px rgba(0,0,0,0.34);
    letter-spacing: -0.7px;
}

.elementor-section:has(.elementor-form),
.elementor-section:has(.elementor-form) p,
.elementor-section:has(.elementor-form) li,
.elementor-section:has(.elementor-form) span,
.elementor-section:has(.elementor-form) h1,
.elementor-section:has(.elementor-form) h2,
.elementor-section:has(.elementor-form) h3 {
    text-shadow: 0 2px 10px rgba(0,0,0,0.28);
}

/* список слева сделать чище */
.elementor-section:has(.elementor-form) ul li,
.elementor-section:has(.elementor-form) .elementor-icon-list-item {
    margin-bottom: 10px !important;
}

/* мобильная версия */
@media (max-width: 767px) {
    .elementor-form {
        max-width: 100%;
        padding: 18px 16px 16px 16px;
        border-radius: 20px;
    }

    .elementor-form input,
    .elementor-form select,
    .elementor-form textarea {
        min-height: 56px;
        font-size: 16px;
        border-radius: 14px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .elementor-form button,
    .elementor-form .elementor-button {
        min-height: 58px;
        font-size: 18px;
        border-radius: 14px !important;
    }
}
a.elementor-button[href*="tel"] {
    background: linear-gradient(180deg, #4fe04f 0%, #1fae1f 100%) !important;
    box-shadow: 
        0 18px 30px rgba(40, 200, 40, 0.35),
        inset 0 1px 0 rgba(255,255,255,0.25);
    border-radius: 16px !important;
    font-weight: 800;
    letter-spacing: 0.5px;
}

a.elementor-button[href*="tel"]:hover {
    transform: translateY(-2px);
    box-shadow: 
        0 22px 40px rgba(40, 200, 40, 0.45);
}