.elementor-1579 .elementor-element.elementor-element-f38b304{--display:flex;}.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-type-html{padding-bottom:0px;}.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-button[type="submit"]{color:#ffffff;}.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-1579 .elementor-element.elementor-element-32ab5ad{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}/* Start custom CSS for form, class: .elementor-element-32ab5ad *//* ========================================
   SUMMER PORT RESERVATION FORM
   ======================================== */

/* Form layout and spacing */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-form {
    row-gap: 22px;
}

/* Field groups */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-group {
    min-width: 0;
}

/* Field labels */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-label {
    font-size: 15px;
    font-weight: 600;
    color: #263445;
    margin-bottom: 8px;
}

/* Text fields, dropdowns, and textareas */
.elementor-1579 .elementor-element.elementor-element-32ab5ad input.elementor-field:not([type="checkbox"]):not([type="radio"]),
.elementor-1579 .elementor-element.elementor-element-32ab5ad select.elementor-field,
.elementor-1579 .elementor-element.elementor-element-32ab5ad textarea.elementor-field {
    background-color: #FFFFFF;
    border: 1px solid #CCD4DE;
    border-radius: 4px;
    color: #263445;
    font-size: 16px;
    padding: 12px 14px;
    min-height: 48px;
    width: 100%;
    box-shadow: none;
    transition: border-color 0.2s ease;
}

/* Active fields */
.elementor-1579 .elementor-element.elementor-element-32ab5ad input.elementor-field:focus,
.elementor-1579 .elementor-element.elementor-element-32ab5ad select.elementor-field:focus,
.elementor-1579 .elementor-element.elementor-element-32ab5ad textarea.elementor-field:focus {
    background-color: #FFFFFF;
    border-color: #003F87;
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 63, 135, 0.08);
}

/* Placeholder text */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field::placeholder {
    color: #8B95A3;
    opacity: 1;
}

/* Textareas */
.elementor-1579 .elementor-element.elementor-element-32ab5ad textarea.elementor-field {
    min-height: 130px;
    line-height: 1.6;
    resize: vertical;
}

/* Dropdowns */
.elementor-1579 .elementor-element.elementor-element-32ab5ad select.elementor-field {
    cursor: pointer;
}

/* ========================================
   STEP INDICATOR
   ======================================== */

/* Progress indicator container */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__indicators {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #E2E6EB;
}

/* Step numbers */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__indicators__indicator__number {
    background-color: #E9EEF4;
    color: #003F87;
    font-weight: 600;
    border-radius: 50%;
}

/* Active step */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__indicators__indicator--state-active
.e-form__indicators__indicator__number {
    background-color: #003F87;
    color: #FFFFFF;
}

/* Completed steps */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__indicators__indicator--state-completed
.e-form__indicators__indicator__number {
    background-color: #DDE8F5;
    color: #003F87;
}

/* Step labels */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__indicators__indicator__label {
    font-size: 13px;
    font-weight: 500;
    color: #475569;
}

/* Step separators */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__indicators__indicator__separator {
    background-color: #D8DFE8;
}

/* ========================================
   FORM NAVIGATION BUTTONS
   ======================================== */

/* All form buttons */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button {
    font-size: 15px;
    font-weight: 600;
    padding: 13px 28px;
    border-radius: 4px;
    line-height: 1.4;
    min-height: 46px;
    opacity: 1;
    transition: background-color 0.2s ease,
                border-color 0.2s ease;
}

/* Next button */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button-next {
    background-color: #003F87 !important;
    color: #FFFFFF !important;
    border: 1px solid #003F87 !important;
}

/* Next button text */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button-next
.elementor-button-text {
    color: #FFFFFF !important;
}

/* Next hover */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button-next:hover {
    background-color: #002E65 !important;
    border-color: #002E65 !important;
    color: #FFFFFF !important;
}

/* Previous button */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button-previous,
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button-previous.elementor-button {
    background-color: #F1F4F8 !important;
    color: #003F87 !important;
    border: 1px solid #B8C5D3 !important;
    opacity: 1 !important;
}

/* Previous button text */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button-previous
.elementor-button-text {
    color: #003F87 !important;
}

/* Previous hover */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button-previous:hover {
    background-color: #E1E8F0 !important;
    color: #002E65 !important;
    border-color: #003F87 !important;
}

/* Previous text hover */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button-previous:hover
.elementor-button-text {
    color: #002E65 !important;
}

/* Submit button */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button[type="submit"],
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-type-submit button {
    background-color: #003F87 !important;
    color: #FFFFFF !important;
    border: 1px solid #003F87 !important;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 600;
}

/* Submit button text */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-type-submit
.elementor-button-text {
    color: #FFFFFF !important;
}

/* Submit hover */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button[type="submit"]:hover,
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-type-submit button:hover {
    background-color: #002E65 !important;
    border-color: #002E65 !important;
}

/* ========================================
   CHECKBOXES AND RADIO BUTTONS
   ======================================== */

/* Checkbox and radio accent */
.elementor-1579 .elementor-element.elementor-element-32ab5ad input[type="checkbox"],
.elementor-1579 .elementor-element.elementor-element-32ab5ad input[type="radio"] {
    accent-color: #003F87;
}

/* Checkbox and radio labels */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-option label {
    font-size: 14px;
    line-height: 1.6;
    color: #334155;
}

/* Required field asterisk */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-mark-required
.elementor-field-label:after {
    color: #B42318;
}

/* ========================================
   FORM MESSAGES
   ======================================== */

/* Error messages */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-message-danger {
    color: #B42318;
    background-color: #FFF1F2;
    border-left: 3px solid #DC2626;
    padding: 12px 15px;
    border-radius: 4px;
}

/* Success messages */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-message-success {
    color: #166534;
    background-color: #F0FDF4;
    border-left: 3px solid #16A34A;
    padding: 12px 15px;
    border-radius: 4px;
}

/* ========================================
   MOBILE
   ======================================== */

@media (max-width: 767px) {

    /* Form spacing */
    .elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-form {
        row-gap: 18px;
    }

    /* Full-width fields */
    .elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-group:not(
        .elementor-field-type-step
    ) {
        max-width: 100%;
    }

    /* Field text */
    .elementor-1579 .elementor-element.elementor-element-32ab5ad input.elementor-field,
    .elementor-1579 .elementor-element.elementor-element-32ab5ad select.elementor-field,
    .elementor-1579 .elementor-element.elementor-element-32ab5ad textarea.elementor-field {
        font-size: 16px;
    }

    /* Step indicator */
    .elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__indicators {
        margin-bottom: 22px;
        padding-bottom: 15px;
    }

    /* Step labels */
    .elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__indicators__indicator__label {
        font-size: 11px;
    }

    /* Navigation buttons */
    .elementor-1579 .elementor-element.elementor-element-32ab5ad .e-form__buttons__wrapper__button {
        padding: 12px 18px;
        font-size: 14px;
    }
}


/* ========================================
   SUMMER PORT - RESPONSIVE FORM WIDTH
   ======================================== */

/* Center the form on larger screens */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-form {
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* Allow fields to use the available form width */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-form-fields-wrapper {
    width: 100%;
    box-sizing: border-box;
}

/* Prevent fields from exceeding their columns */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-group {
    min-width: 0;
    box-sizing: border-box;
}

/* Keep inputs within their assigned columns */
.elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-field-textual {
    max-width: 100%;
    box-sizing: border-box;
}

/* Mobile */
@media (max-width: 767px) {
    .elementor-1579 .elementor-element.elementor-element-32ab5ad .elementor-form {
        max-width: 100%;
    }
}/* End custom CSS */