/* GHL Form Styles - Dr Lisa Design System Override */

/* Form Wrapper */
#_builder-form,
.ghl-form-wrap,
.hl_form-builder--main,
.hl_form-builder--main-full,
.form-builder--wrap,
.form-builder--wrap-full {
    background-color: var(--white) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-lg) !important;
    padding: clamp(2rem, 3vw, 2.5rem) !important;
    box-shadow: var(--shadow-soft) !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Remove default padding from form builder sections */
#hl_form_builder_main,
#form-builder.hl_form-builder--main,
#form-builder.hl_form-builder--main-full {
    padding: 0 !important;
}

/* Fields Container */
.fields-container,
.flex-col.row.fields-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* Form Field Wrapper */
.form-field-wrapper,
.col-12.form-field-wrapper {
    margin-bottom: 1.5rem !important;
    width: 100% !important;
}

.form-field-wrapper:last-child {
    margin-bottom: 0 !important;
}

/* Form Field Container */
.form-field-container,
.f-even.form-field-container,
.f-odd.form-field-container {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Heading Element */
.heading-element,
.text-element {
    color: var(--text-dark) !important;
    background-color: transparent !important;
    border: none !important;
    font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    text-align: left !important;
    padding: 0 !important;
    margin-bottom: 1.5rem !important;
    line-height: 1.6 !important;
}

.heading-element p,
.text-element p {
    margin: 0 !important;
    color: var(--text-dark) !important;
}

.heading-element strong,
.text-element strong {
    color: var(--primary-dark) !important;
    font-weight: 600 !important;
}

/* Field Container */
.field-container {
    width: 100% !important;
}

/* Form Builder Item */
.form-builder--item {
    width: 100% !important;
}

/* Labels */
.field-label,
.label-alignment {
    display: block !important;
    font-weight: 600 !important;
    color: var(--primary-dark) !important;
    margin-bottom: 0.5rem !important;
    font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
    font-size: 0.95rem !important;
}

.field-label span {
    color: var(--teal) !important;
}

/* Input Fields */
.form-control,
input[type="text"],
input[type="email"],
input[type="tel"],
input[name="full_name"],
input[name="email"],
input[name="phone"] {
    width: 100% !important;
    padding: 0.85rem 1rem !important;
    border-radius: var(--radius-sm) !important;
    border: 1px solid rgba(44, 95, 124, 0.2) !important;
    background: rgba(44, 95, 124, 0.04) !important;
    font-size: 1rem !important;
    font-family: "Inter", system-ui, sans-serif !important;
    color: var(--text-dark) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    box-sizing: border-box !important;
}

.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus {
    outline: none !important;
    border-color: var(--teal) !important;
    box-shadow: 0 0 0 3px rgba(74, 155, 168, 0.1) !important;
    background: var(--white) !important;
}

.form-control::placeholder {
    color: var(--text-muted) !important;
    opacity: 0.7 !important;
}

/* Phone and Email Input Wrappers */
.phone-input,
.email-input,
.flex.phone-input,
.flex.email-input {
    display: flex !important;
    width: 100% !important;
}

/* Flex Column */
.flex-col {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

/* Submit Button */
.form-builder--btn-submit,
.button-element {
    width: 100% !important;
    margin-top: 1.5rem !important;
    text-align: center !important;
}

.btn.btn-dark.button-element,
button[type="submit"].btn.btn-dark.button-element {
    background: var(--gradient-primary) !important;
    background-color: var(--primary) !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 0.9rem 1.8rem !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
    color: white !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: var(--shadow-card) !important;
    white-space: normal !important;
}

.btn.btn-dark.button-element:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 15px 35px rgba(23, 50, 68, 0.25) !important;
}

.btn.btn-dark.button-element:active {
    transform: translateY(0) !important;
}

.btn.btn-dark.button-element div,
.btn.btn-dark.button-element p {
    color: white !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
    margin: 0 !important;
    text-align: center !important;
}

/* Button Container */
.form-builder--btn-submit > div {
    width: 100% !important;
    display: block !important;
}

/* Loader (hidden by default) */
.loader-container,
.v-spinner,
.loader-submit {
    display: none !important;
}

/* Remove any unwanted spacing */
.form-builder--wrap > div:first-child {
    margin-top: 0 !important;
}

/* Responsive adjustments */
@media (max-width: 640px) {
    .ghl-form-wrap {
        padding: 0px !important;
    }
    
    #_builder-form,
    .form-builder--wrap {
        padding: 1.5rem !important;
    }
    
    .form-control,
    input[type="text"],
    input[type="email"],
    input[type="tel"] {
        font-size: 16px !important; /* Prevents zoom on iOS */
    }
}

