.elementor-405 .elementor-element.elementor-element-e8c5235{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-v4-color-accent );--e-form-steps-indicator-inactive-secondary-color:var( --e-global-color-v4-color-bg-dark );--e-form-steps-indicator-active-primary-color:var( --e-global-color-v4-color-accent );--e-form-steps-indicator-active-secondary-color:var( --e-global-color-v4-color-bg-dark );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-v4-color-accent );--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:15px;}.elementor-405 .elementor-element.elementor-element-e8c5235.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-405 .elementor-element.elementor-element-e8c5235 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-405 .elementor-element.elementor-element-e8c5235 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-405 .elementor-element.elementor-element-e8c5235 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-405 .elementor-element.elementor-element-e8c5235 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-405 .elementor-element.elementor-element-e8c5235 .elementor-labels-inline .elementor-field-group > label{padding-left:10px;}body:not(.rtl) .elementor-405 .elementor-element.elementor-element-e8c5235 .elementor-labels-inline .elementor-field-group > label{padding-right:10px;}body .elementor-405 .elementor-element.elementor-element-e8c5235 .elementor-labels-above .elementor-field-group > label{padding-bottom:10px;}.elementor-405 .elementor-element.elementor-element-e8c5235 .elementor-field-type-html{padding-bottom:10px;}.elementor-405 .elementor-element.elementor-element-e8c5235 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-405 .elementor-element.elementor-element-e8c5235 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-405 .elementor-element.elementor-element-e8c5235 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-405 .elementor-element.elementor-element-e8c5235 .elementor-button[type="submit"]{color:#ffffff;}.elementor-405 .elementor-element.elementor-element-e8c5235 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-405 .elementor-element.elementor-element-e8c5235 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-405 .elementor-element.elementor-element-e8c5235 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-405 .elementor-element.elementor-element-e8c5235 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-405 .elementor-element.elementor-element-e8c5235 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-405 .elementor-element.elementor-element-e8c5235 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-405 .elementor-element.elementor-element-e8c5235{--e-form-steps-indicators-spacing:0px;}}/* Start custom CSS for form, class: .elementor-element-e8c5235 *//* =========================================
   SABI ENQUIRY — STEP HEADINGS + BUTTONS
   ========================================= */

/* Step headings inside the form */
.sabi-enquiry-form .elementor-field-type-html h2,
.sabi-enquiry-form .elementor-field-type-html h3,
.sabi-enquiry-form .elementor-field-type-html .elementor-heading-title,
.sabi-enquiry-form .elementor-field-type-html strong {
    color: #171814 !important;
}

/* General HTML/text content inside form steps */
.sabi-enquiry-form .elementor-field-type-html {
    color: #171814;
    font-family: "Manrope", sans-serif;
}

/* If your headings are plain text inside HTML fields */
.sabi-enquiry-form .elementor-field-type-html {
    font-size: 18px;
    line-height: 1.5;
}

/* Field labels */
.sabi-enquiry-form .elementor-field-label {
    color: #171814 !important;
    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* Inputs / selects / textarea */
.sabi-enquiry-form input,
.sabi-enquiry-form select,
.sabi-enquiry-form textarea {
    background: #FAF9F6 !important;
    color: #171814 !important;
    border: 1px solid #CBC3B7 !important;
    border-radius: 0 !important;
    font-family: "Manrope", sans-serif;
    box-shadow: none !important;
}

/* Focus state */
.sabi-enquiry-form input:focus,
.sabi-enquiry-form select:focus,
.sabi-enquiry-form textarea:focus {
    border-color: #A47852 !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Primary next/submit buttons */
.sabi-enquiry-form .e-form__buttons__wrapper__button-next,
.sabi-enquiry-form .elementor-button[type="submit"] {
    background: #171814 !important;
    color: #FFFFFF !important;
    border: 1px solid #171814 !important;
    border-radius: 0 !important;
    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    box-shadow: none !important;
}

/* Hover */
.sabi-enquiry-form .e-form__buttons__wrapper__button-next:hover,
.sabi-enquiry-form .elementor-button[type="submit"]:hover {
    background: #A47852 !important;
    border-color: #A47852 !important;
    color: #FFFFFF !important;
}

/* Previous button */
.sabi-enquiry-form .e-form__buttons__wrapper__button-previous {
    background: transparent !important;
    color: #171814 !important;
    border: 1px solid #171814 !important;
    border-radius: 0 !important;
    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    box-shadow: none !important;
}

/* Previous hover */
.sabi-enquiry-form .e-form__buttons__wrapper__button-previous:hover {
    background: #171814 !important;
    color: #FFFFFF !important;
}

/* =========================================
   SABI ENQUIRY — PROGRESS INDICATOR
   ========================================= */

/* Main steps wrapper */
.sabi-enquiry-form .e-form__indicators {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 28px;
}

/* Each step */
.sabi-enquiry-form .e-form__indicators__indicator {
    flex: 1;
    min-width: 0;
    color: #8E897F;
    font-family: "Manrope", sans-serif;
}

/* Remove heavy default circles */
.sabi-enquiry-form .e-form__indicators__indicator__number {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;

    color: inherit !important;
    font-family: "Manrope", sans-serif;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2;
    letter-spacing: 0.12em;
}

/* Step label */
.sabi-enquiry-form .e-form__indicators__indicator__label {
    margin-top: 4px;
    color: inherit !important;
    font-family: "Manrope", sans-serif;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.25;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Connector lines */
.sabi-enquiry-form .e-form__indicators__indicator__separator {
    height: 1px !important;
    margin-top: 7px !important;
    background: #CBC3B7 !important;
}

/* Current step */
.sabi-enquiry-form
.e-form__indicators__indicator--state-active {
    color: #A47852 !important;
}

/* Completed steps */
.sabi-enquiry-form
.e-form__indicators__indicator--state-completed {
    color: #171814 !important;
}

/* Future steps */
.sabi-enquiry-form
.e-form__indicators__indicator--state-inactive {
    color: #A7A197 !important;
}

/* Completed connector */
.sabi-enquiry-form
.e-form__indicators__indicator--state-completed
.e-form__indicators__indicator__separator {
    background: #171814 !important;
}

/* Active connector */
.sabi-enquiry-form
.e-form__indicators__indicator--state-active
.e-form__indicators__indicator__separator {
    background: #A47852 !important;
}

/* Mobile */
@media (max-width: 767px) {

    .sabi-enquiry-form .e-form__indicators {
        gap: 8px;
        margin-bottom: 22px;
    }

    .sabi-enquiry-form .e-form__indicators__indicator__number,
    .sabi-enquiry-form .e-form__indicators__indicator__label {
        font-size: 10px !important;
        letter-spacing: 0.04em;
    }

    .sabi-enquiry-form .e-form__indicators__indicator__separator {
        margin-top: 6px !important;
    }
}

/* =========================================
   SABI PRIVATE VILLAS — REVIEW SUMMARY
   ========================================= */

.sabi-enquiry-form .sabi-review {
    width: 100% !important;
    margin: 8px 0 28px !important;
    padding: 0 !important;
    border-top: 1px solid #CBC3B7 !important;
    font-family: "Manrope", sans-serif !important;
    color: #171814 !important;
}

/* Header */
.sabi-enquiry-form .sabi-review__header {
    padding: 22px 0 24px !important;
    border-bottom: 1px solid #CBC3B7 !important;
}

.sabi-enquiry-form .sabi-review__eyebrow {
    display: block !important;
    margin: 0 0 8px !important;
    font-family: "Manrope", sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: #A47852 !important;
}

.sabi-enquiry-form .sabi-review__header h3 {
    margin: 0 !important;
    padding: 0 !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: 38px !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.01em !important;
    color: #171814 !important;
}

/* Summary rows */
.sabi-enquiry-form .sabi-review__section {
    padding: 18px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid #CBC3B7 !important;
}

.sabi-enquiry-form .sabi-review__label {
    display: block !important;
    margin-bottom: 7px !important;
    font-family: "Manrope", sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.13em !important;
    text-transform: uppercase !important;
    color: #A47852 !important;
}

.sabi-enquiry-form .sabi-review__value {
    margin: 0 !important;
    font-family: "Manrope", sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    color: #171814 !important;
}

.sabi-enquiry-form .sabi-review__meta {
    margin: 3px 0 0 !important;
    font-family: "Manrope", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: #6F6B63 !important;
}

/* Arrival / Departure side by side */
.sabi-enquiry-form .sabi-review__grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
}

.sabi-enquiry-form .sabi-review__grid .sabi-review__section:first-child {
    padding-right: 28px !important;
}

.sabi-enquiry-form .sabi-review__grid .sabi-review__section:last-child {
    padding-left: 28px !important;
    border-left: 1px solid #CBC3B7 !important;
}

/* Privacy spacing after review */
.sabi-enquiry-form .sabi-review + * {
    margin-top: 22px !important;
}

/* Mobile */
@media (max-width: 767px) {

    .sabi-enquiry-form .sabi-review__header h3 {
        font-size: 32px !important;
    }

    .sabi-enquiry-form .sabi-review__grid {
        grid-template-columns: 1fr !important;
    }

    .sabi-enquiry-form .sabi-review__grid .sabi-review__section:first-child,
    .sabi-enquiry-form .sabi-review__grid .sabi-review__section:last-child {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .sabi-enquiry-form .sabi-review__grid .sabi-review__section:last-child {
        border-left: 0 !important;
    }
}

/* =========================================
   SABI ENQUIRY — SAFE NATIVE CHECKBOX STYLE
   ========================================= */

.sabi-enquiry-form input[type="checkbox"] {
    appearance: auto !important;
    -webkit-appearance: checkbox !important;

    width: 18px !important;
    height: 18px !important;

    margin: 0 10px 0 0 !important;

    accent-color: #A47852;

    cursor: pointer;
    vertical-align: middle;

    box-shadow: none !important;
    outline: none;
}

/* Hover / focus */
.sabi-enquiry-form input[type="checkbox"]:hover {
    cursor: pointer;
}

.sabi-enquiry-form input[type="checkbox"]:focus-visible {
    outline: 2px solid rgba(164, 120, 82, 0.25);
    outline-offset: 3px;
}

/* Acceptance row */
.sabi-enquiry-form .elementor-field-type-acceptance .elementor-field-option {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

/* Acceptance text */
.sabi-enquiry-form .elementor-field-type-acceptance label {
    margin: 0 !important;

    font-family: "Manrope", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;

    color: #171814 !important;

    cursor: pointer;
}

/* Validation message */
.sabi-enquiry-form .elementor-message-danger,
.sabi-enquiry-form .elementor-field-group .elementor-message-danger {
    margin-top: 8px !important;

    font-family: "Manrope", sans-serif;
    font-size: 13px !important;
    line-height: 1.4;

    color: #A24C3E !important;
}

/* Prevent weird pseudo-elements from old checkbox CSS */
.sabi-enquiry-form input[type="checkbox"]::before,
.sabi-enquiry-form input[type="checkbox"]::after {
    content: none !important;
    display: none !important;
}

/* =========================================
   SABI ENQUIRY — SUCCESS MESSAGE
   ========================================= */

.sabi-enquiry-form .elementor-message-success {
    position: relative;
    display: block;
    width: 100%;
    margin: 28px 0 0 !important;
    padding: 28px 32px 28px 56px !important;

    background: #FAF9F6;
    border: 1px solid #CBC3B7;
    border-left: 3px solid #A47852;

    color: #171814 !important;

    font-family: "Manrope", sans-serif;
    font-size: 16px !important;
    font-weight: 400;
    line-height: 1.7;

    box-shadow: none !important;
}

/* Remove default Elementor green icon/text styling */
.sabi-enquiry-form .elementor-message-success::before {
    content: "✓";
    position: absolute;
    left: 22px;
    top: 28px;

    width: 22px;
    height: 22px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #FFFFFF;
    background: #A47852;

    font-size: 13px;
    font-weight: 700;
    line-height: 1;

    border-radius: 50%;
}

/* Remove any inherited green */
.sabi-enquiry-form .elementor-message-success,
.sabi-enquiry-form .elementor-message-success * {
    color: #171814 !important;
}

/* Mobile */
@media (max-width: 767px) {
    .sabi-enquiry-form .elementor-message-success {
        padding: 24px 20px 24px 52px !important;
        font-size: 15px !important;
    }

    .sabi-enquiry-form .elementor-message-success::before {
        left: 18px;
        top: 24px;
    }
}

/* =========================================
   SABI ENQUIRY — FULL SUCCESS STATE
   ========================================= */

.sabi-success-state {
    width: 100%;
    min-height: 420px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;

    padding: 56px 0;

    font-family: "Manrope", sans-serif;
    color: #171814;
}

.sabi-success-state[hidden] {
    display: none !important;
}

.sabi-success-state__eyebrow {
    display: block;
    margin-bottom: 14px;

    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.14em;
    text-transform: uppercase;

    color: #A47852;
}

.sabi-success-state__title {
    max-width: 700px;
    margin: 0 0 24px;

    font-family: "Cormorant Garamond", serif;
    font-size: 58px;
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -0.02em;

    color: #171814;
}

.sabi-success-state__copy {
    max-width: 650px;
    margin: 0 0 32px;

    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.7;

    color: #6F6B63;
}

.sabi-success-state__actions {
    margin-top: 8px;
}

.sabi-success-state__button {
    display: inline-block;

    padding: 16px 28px;

    background: #171814;
    border: 1px solid #171814;

    color: #FFFFFF !important;
    text-decoration: none !important;

    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    transition: background 0.2s ease,
                border-color 0.2s ease;
}

.sabi-success-state__button:hover {
    background: #A47852;
    border-color: #A47852;
}

@media (max-width: 767px) {
    .sabi-success-state {
        min-height: 320px;
        padding: 40px 0;
    }

    .sabi-success-state__title {
        font-size: 42px;
    }

    .sabi-success-state__copy {
        font-size: 16px;
    }
}

/* Fix success heading color */
.sabi-success-state__title {
    color: #171814 !important;
}

/* =========================================
   SABI ENQUIRY — SAFE STEPPER FIX
   ========================================= */

.sabi-enquiry-form .e-form__indicators {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    padding-inline: 0;
    overflow: visible;
}

/* Each step */
.sabi-enquiry-form .e-form__indicators__indicator {
    flex: 0 1 auto;
    min-width: 72px;
    text-align: center;
}

/* Number */
.sabi-enquiry-form .e-form__indicators__indicator__number {
    display: block;
    width: auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    text-align: center;
    font-size: 11px !important;
}

/* Label */
.sabi-enquiry-form .e-form__indicators__indicator__label {
    display: block;
    width: auto !important;
    max-width: none !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-align: center;
    font-size: 11px !important;
    letter-spacing: 0.04em !important;
    line-height: 1.2;
}

/* Separator */
.sabi-enquiry-form .e-form__indicators__indicator__separator {
    flex: 1 1 40px;
    min-width: 28px;
    height: 1px !important;
    margin-top: 7px !important;
    background: #CBC3B7 !important;
}

/* =========================================
   SABI ENQUIRY — MOBILE STEPPER
   ========================================= */

@media (max-width: 767px) {

    .sabi-enquiry-form .e-form__indicators {
        display: flex;
        align-items: center;
        justify-content: space-between;

        gap: 6px;
        width: 100%;
        overflow: hidden;
    }

    .sabi-enquiry-form .e-form__indicators__indicator {
        flex: 0 0 auto;
        min-width: 0;
        text-align: center;
    }

    /* Keep only the number visible on mobile */
    .sabi-enquiry-form .e-form__indicators__indicator__label {
        display: none !important;
    }

    .sabi-enquiry-form .e-form__indicators__indicator__number {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;

        border: 1px solid #CBC3B7 !important;
        border-radius: 50% !important;

        font-size: 11px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    /* Connector lines shrink */
    .sabi-enquiry-form .e-form__indicators__indicator__separator {
        flex: 1 1 auto;
        min-width: 8px;
        height: 1px !important;
        margin: 0 !important;
        background: #CBC3B7 !important;
    }

    /* Active step */
    .sabi-enquiry-form
    .e-form__indicators__indicator--state-active
    .e-form__indicators__indicator__number {
        color: #FFFFFF !important;
        background: #A47852 !important;
        border-color: #A47852 !important;
    }

    /* Completed step */
    .sabi-enquiry-form
    .e-form__indicators__indicator--state-completed
    .e-form__indicators__indicator__number {
        color: #171814 !important;
        background: transparent !important;
        border-color: #171814 !important;
    }

    /* Future step */
    .sabi-enquiry-form
    .e-form__indicators__indicator--state-inactive
    .e-form__indicators__indicator__number {
        color: #8E897F !important;
        background: transparent !important;
        border-color: #CBC3B7 !important;
    }
}

/* =========================================
   SABI ENQUIRY — MOBILE STEPPER NUMBER FIX
   ========================================= */

@media (max-width: 767px) {

    .sabi-enquiry-form .e-form__indicators__indicator__number {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        min-height: 30px !important;

        padding: 0 !important;
        margin: 0 !important;

        border: 1px solid #CBC3B7 !important;
        border-radius: 50% !important;

        background: transparent !important;

        color: #8E897F !important;

        font-family: "Manrope", sans-serif !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        line-height: 1 !important;

        opacity: 1 !important;
        visibility: visible !important;

        white-space: nowrap !important;
        overflow: visible !important;
    }

    /* Active step */
    .sabi-enquiry-form
    .e-form__indicators__indicator--state-active
    .e-form__indicators__indicator__number {
        background: #A47852 !important;
        border-color: #A47852 !important;
        color: #FFFFFF !important;
    }

    /* Completed step */
    .sabi-enquiry-form
    .e-form__indicators__indicator--state-completed
    .e-form__indicators__indicator__number {
        background: transparent !important;
        border-color: #171814 !important;
        color: #171814 !important;
    }

    /* Future step */
    .sabi-enquiry-form
    .e-form__indicators__indicator--state-inactive
    .e-form__indicators__indicator__number {
        background: transparent !important;
        border-color: #CBC3B7 !important;
        color: #8E897F !important;
    }
}

@media (max-width: 767px) {

    .sabi-enquiry-form .e-form__indicators {
        gap: 8px !important;
        padding: 0 !important;
    }

    .sabi-enquiry-form .e-form__indicators__indicator {
        flex: 0 0 30px !important;
        min-width: 30px !important;
    }

    .sabi-enquiry-form .e-form__indicators__indicator__separator {
        flex: 1 1 auto !important;
        min-width: 12px !important;
        max-width: none !important;
    }
}

/* =========================================
   SABI ENQUIRY — MOBILE STEPPER FALLBACK
   CSS COUNTERS
   ========================================= */

@media (max-width: 767px) {

    /* Reset a counter on the whole indicator row */
    .sabi-enquiry-form .e-form__indicators {
        counter-reset: sabi-step;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        width: 100% !important;
        overflow: hidden !important;
    }

    /* Each step increments the counter */
    .sabi-enquiry-form .e-form__indicators__indicator {
        counter-increment: sabi-step;
        position: relative !important;
        flex: 0 0 30px !important;
        min-width: 30px !important;
        width: 30px !important;
        height: 30px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        border: 1px solid #CBC3B7 !important;
        border-radius: 50% !important;

        background: transparent !important;
        color: #8E897F !important;
    }

    /* Hide Elementor's own number + label */
    .sabi-enquiry-form .e-form__indicators__indicator__number,
    .sabi-enquiry-form .e-form__indicators__indicator__label {
        display: none !important;
    }

    /* Generate our own number */
    .sabi-enquiry-form .e-form__indicators__indicator::before {
        content: counter(sabi-step);

        font-family: "Manrope", sans-serif;
        font-size: 11px;
        font-weight: 600;
        line-height: 1;

        color: inherit;
    }

    /* Active */
    .sabi-enquiry-form
    .e-form__indicators__indicator--state-active {
        background: #A47852 !important;
        border-color: #A47852 !important;
        color: #FFFFFF !important;
    }

    /* Completed */
    .sabi-enquiry-form
    .e-form__indicators__indicator--state-completed {
        background: transparent !important;
        border-color: #171814 !important;
        color: #171814 !important;
    }

    /* Future */
    .sabi-enquiry-form
    .e-form__indicators__indicator--state-inactive {
        background: transparent !important;
        border-color: #CBC3B7 !important;
        color: #8E897F !important;
    }

    /* Connector lines */
    .sabi-enquiry-form .e-form__indicators__indicator__separator {
        flex: 1 1 auto !important;
        min-width: 8px !important;
        height: 1px !important;
        margin: 0 !important;
        background: #CBC3B7 !important;
    }
}

@media (max-width: 767px) {

    .sabi-enquiry-form .e-form__indicators {
        align-items: center !important;
        gap: 8px !important;
    }

    /* Keep every step circle perfectly centered */
    .sabi-enquiry-form .e-form__indicators__indicator {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        flex: 0 0 30px !important;
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /* Force generated number dead-center */
    .sabi-enquiry-form .e-form__indicators__indicator::before {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100%;
        height: 100%;

        line-height: 1 !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Align separator through center of circles */
    .sabi-enquiry-form .e-form__indicators__indicator__separator {
        align-self: center !important;
        flex: 1 1 auto !important;

        height: 1px !important;
        min-width: 10px !important;

        margin: 0 !important;
        transform: translateY(0) !important;
    }
}/* End custom CSS */
/* Start custom CSS *//* =========================================
   SABI PRIVATE VILLAS — VILLA SELECTION
   ========================================= */

.sabi-enquiry-form .elementor-field-group-villa .elementor-field-subgroup {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* Each villa option */
.sabi-enquiry-form .elementor-field-group-villa .elementor-field-option {
    position: relative;
    display: grid;
    grid-template-columns: 22px 1fr;
    align-items: start;
    width: 100%;
    padding: 24px 0 26px;
    border-bottom: 1px solid #CBC3B7;
}

.sabi-enquiry-form .elementor-field-group-villa .elementor-field-option:first-child {
    border-top: 1px solid #CBC3B7;
}

/* Radio */
.sabi-enquiry-form .elementor-field-group-villa input[type="radio"] {
    width: 18px;
    height: 18px;
    margin: 5px 0 0;
    accent-color: #A47852;
    cursor: pointer;
}

/* Villa title */
.sabi-enquiry-form .elementor-field-group-villa .elementor-field-option > label {
    position: relative;
    display: block;
    margin: 0;
    padding: 0 0 48px;
    font-family: "Manrope", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.35;
    color: #171814;
    cursor: pointer;
}

/* Shared villa description */
.sabi-enquiry-form .elementor-field-group-villa .elementor-field-option > label::before {
    content: "EXCLUSIVE USE · 4 PRIVATE SUITES · UP TO 8 GUESTS";
    position: absolute;
    left: 0;
    bottom: 24px;
    display: block;
    font-family: "Manrope", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.06em;
    color: #8E897F;
    white-space: nowrap;
}

/* Price line */
.sabi-enquiry-form .elementor-field-group-villa .elementor-field-option > label::after {
    position: absolute;
    left: 0;
    bottom: 2px;
    display: block;
    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #A47852;
    white-space: nowrap;
}

/* Leadwood */
.sabi-enquiry-form .elementor-field-group-villa .elementor-field-option:nth-child(1) > label::after {
    content: "FROM R55,000 PER VILLA / NIGHT";
}

/* Acacia */
.sabi-enquiry-form .elementor-field-group-villa .elementor-field-option:nth-child(2) > label::after {
    content: "FROM R50,000 PER VILLA / NIGHT";
}

/* Marula */
.sabi-enquiry-form .elementor-field-group-villa .elementor-field-option:nth-child(3) > label::after {
    content: "FROM R48,000 PER VILLA / NIGHT";
}

/* Hover */
.sabi-enquiry-form .elementor-field-group-villa .elementor-field-option:hover > label {
    color: #A47852;
}

/* Selected option */
.sabi-enquiry-form .elementor-field-group-villa .elementor-field-option:has(input[type="radio"]:checked) > label {
    color: #A47852;
}

.sabi-enquiry-form .elementor-field-group-villa .elementor-field-option:has(input[type="radio"]:checked) {
    background: rgba(164, 120, 82, 0.045);
}

/* Mobile */
@media (max-width: 767px) {

    .sabi-enquiry-form .elementor-field-group-villa .elementor-field-option {
        padding: 20px 0 24px;
    }

    .sabi-enquiry-form .elementor-field-group-villa .elementor-field-option > label {
        font-size: 17px;
        padding-bottom: 50px;
    }

    .sabi-enquiry-form .elementor-field-group-villa .elementor-field-option > label::before {
        font-size: 10px;
        white-space: normal;
    }

    .sabi-enquiry-form .elementor-field-group-villa .elementor-field-option > label::after {
        font-size: 11px;
        white-space: normal;
    }
}/* End custom CSS */