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

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

/* ===== PREMIUM HERO FORM ===== */

.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;
}

/* ===== FORM CONTAINER ===== */

.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;
}

/* ===== INPUTS ===== */

.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 BUTTON ===== */

.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;
}

/* ===== HERO TEXT ===== */

.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);
}

/* ===== MOBILE ===== */

@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;
    }

}
/* FORCE DARK HEADER */

.ast-primary-header-bar,
.ast-header-break-point .main-header-bar,
.site-header {
    background: #000000 !important;
}

/* menu text */

.main-header-menu .menu-link,
.ast-header-navigation a {
    color: #ffffff !important;
}

/* phone */

.ast-builder-layout-element a {
    color: #ffffff !important;
}

/* sticky */

.site-header {
    position: sticky;
    top: 0;
    z-index: 99999;
}

/* premium blur */

.site-header {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* remove white border */

.ast-primary-header-bar {
    border: none !important;
}
/* FIX MOBILE MENU TEXT */
@media (max-width: 921px) {

  .ast-mobile-popup-drawer,
  .ast-mobile-popup-inner,
  .ast-mobile-popup-content {
    background: #ffffff !important;
  }

  .ast-mobile-popup-drawer .main-header-menu .menu-link,
  .ast-mobile-popup-drawer .main-header-menu a,
  .ast-mobile-popup-drawer .menu-item a {
    color: #111111 !important;
  }

  .ast-mobile-popup-drawer .ast-menu-toggle {
    color: #111111 !important;
    background: transparent !important;
  }

}
/* FORCE MOBILE MENU TEXT VISIBLE */
@media (max-width: 921px) {

  .ast-mobile-popup-drawer,
  .ast-mobile-popup-drawer .ast-mobile-popup-inner,
  .ast-mobile-popup-drawer .ast-mobile-popup-content,
  .ast-mobile-popup-drawer .main-header-menu {
    background: #ffffff !important;
  }

  .ast-mobile-popup-drawer a,
  .ast-mobile-popup-drawer .menu-link,
  .ast-mobile-popup-drawer .main-header-menu .menu-item > a,
  .ast-mobile-popup-drawer .ast-builder-menu-mobile .main-navigation .menu-item > .menu-link,
  .ast-mobile-popup-drawer .ast-builder-menu-mobile .main-navigation .menu-item > a {
    color: #111111 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .ast-mobile-popup-drawer .ast-menu-toggle,
  .ast-mobile-popup-drawer .ast-icon,
  .ast-mobile-popup-drawer svg {
    color: #111111 !important;
    fill: #111111 !important;
  }

}
@media (max-width: 921px) {

  .main-header-menu-toggle,
  .ast-mobile-header-content,
  .ast-mobile-header-content a,
  .ast-mobile-header-content .menu-link,
  .ast-mobile-header-content .menu-item > a {
    color: #111111 !important;
    opacity: 1 !important;
  }

  .ast-mobile-header-content {
    background: #ffffff !important;
  }

}
#ast-scroll-top,
.ast-scroll-top-icon,
.scroll-top {
    display: none !important;
}
/* ===== FIX DESKTOP DROPDOWN MENU TEXT ===== */

@media (min-width: 922px) {

  .main-header-menu .sub-menu,
  .ast-desktop .main-header-menu .sub-menu,
  .ast-desktop .main-header-menu .astra-full-megamenu-wrapper {
    background: #ffffff !important;
    border: none !important;
    box-shadow: 0 18px 45px rgba(0,0,0,0.22) !important;
  }

  .main-header-menu .sub-menu .menu-link,
  .main-header-menu .sub-menu a,
  .ast-desktop .main-header-menu .sub-menu .menu-link,
  .ast-desktop .main-header-menu .sub-menu a {
    color: #111111 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: none !important;
  }

  .main-header-menu .sub-menu .menu-item:hover > .menu-link,
  .main-header-menu .sub-menu .menu-item:hover > a {
    color: #000000 !important;
    background: #f2f2f2 !important;
  }

  .main-header-menu .sub-menu .ast-menu-toggle,
  .main-header-menu .sub-menu .ast-icon,
  .main-header-menu .sub-menu svg {
    color: #111111 !important;
    fill: #111111 !important;
  }

}