
.craftedpress-booking-switch{
    --cbs-max-width:1160px;
    --cbs-left-col:420px;
    --cbs-right-col:620px;
    --cbs-gap:24px;
    --cbs-section-padding:40px;
    --cbs-outer-radius:32px;
    --cbs-panel-radius:28px;
    --cbs-button-radius:24px;
    --cbs-panel-min-height:660px;
    --cbs-bg:#f7f5ef;
    --cbs-card:#ffffff;
    --cbs-border:#e7dfd2;
    --cbs-text:#181716;
    --cbs-muted:#6a655d;
    --cbs-accent:#1f6f5f;
    --cbs-accent-soft:#e9f5f1;
    --cbs-active-card-bg:#181716;
    --cbs-active-card-text:#ffffff;

    max-width:var(--cbs-max-width);
    margin:0 auto;
    padding:clamp(18px,3vw,var(--cbs-section-padding));
    background:var(--cbs-bg);
    border:1px solid var(--cbs-border);
    border-radius:var(--cbs-outer-radius);
    box-shadow:0 18px 50px rgba(24,23,22,.08);
    color:var(--cbs-text);
}

.craftedpress-booking-switch__grid{
    display:grid;
    grid-template-columns:minmax(240px,var(--cbs-left-col)) minmax(280px,var(--cbs-right-col)) !important;
    gap:var(--cbs-gap);
    align-items:stretch;
    justify-content:center;
}


.craftedpress-booking-switch__sidebar{
    position:sticky;
    top:24px;
    width:100%;
    max-width:var(--cbs-left-col);
    min-width:0;
    justify-self:stretch;
}

.craftedpress-booking-switch__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--cbs-border);
    color:var(--cbs-muted);
    font-size:12px;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:800;
    margin-bottom:16px;
}

.craftedpress-booking-switch__title{
    margin:0 0 12px;
    font-size:clamp(30px,4.5vw,52px);
    line-height:1.02;
    letter-spacing:-.03em;
    font-weight:900;
    color:var(--cbs-text);
}

.craftedpress-booking-switch__subtitle{
    margin:0 0 22px;
    color:var(--cbs-muted);
    font-size:16px;
    line-height:1.7;
    max-width:42ch;
}

.craftedpress-booking-switch__buttons{
    display:grid;
    gap:14px;
}

.craftedpress-booking-switch__button{
    appearance:none;
    width:100%;
    border:1px solid var(--cbs-border);
    background:var(--cbs-card);
    color:var(--cbs-text);
    border-radius:var(--cbs-button-radius);
    padding:18px 18px 18px 20px;
    text-align:left;
    cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
    box-shadow:0 8px 24px rgba(24,23,22,.04);
}

.craftedpress-booking-switch__button:hover,
.craftedpress-booking-switch__button:focus{
    transform:translateY(-2px);
    border-color:#d4c8b4;
    box-shadow:0 14px 34px rgba(24,23,22,.08);
    outline:none;
}

.craftedpress-booking-switch__button.is-active{
    background:var(--cbs-active-card-bg);
    color:var(--cbs-active-card-text);
    border-color:var(--cbs-active-card-bg);
}

.craftedpress-booking-switch__button-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.craftedpress-booking-switch__button-title{
    display:block;
    font-size:21px;
    line-height:1.15;
    font-weight:800;
    letter-spacing:-.02em;
    margin-bottom:6px;
}

.craftedpress-booking-switch__button-text{
    display:block;
    font-size:14px;
    line-height:1.65;
    opacity:.85;
    max-width:32ch;
}

.craftedpress-booking-switch__button-icon{
    width:46px;
    height:46px;
    border-radius:16px;
    display:grid;
    place-items:center;
    flex:0 0 46px;
    background:var(--cbs-accent-soft);
    color:var(--cbs-accent);
    font-size:20px;
    font-weight:900;
}

.craftedpress-booking-switch__button.is-active .craftedpress-booking-switch__button-icon{
    background:rgba(255,255,255,.12);
    color:var(--cbs-active-card-text);
}

.craftedpress-booking-switch__panel{
    width:100%;
    max-width:var(--cbs-right-col);
    min-width:0;
    border:1px solid var(--cbs-border);
    border-radius:var(--cbs-panel-radius);
    background:var(--cbs-card);
    overflow:visible;
    min-height:var(--cbs-panel-min-height);
    position:relative;
    box-shadow:0 10px 34px rgba(24,23,22,.05);
    justify-self:stretch;
}

.craftedpress-booking-switch__panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:18px 22px;
    border-bottom:1px solid #f0ebe3;
    background:linear-gradient(180deg,#fff 0%,#fbfaf7 100%);
}

.craftedpress-booking-switch__panel-title{
    margin:0;
    font-size:18px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:-.02em;
}

.craftedpress-booking-switch__panel-note{
    font-size:13px;
    line-height:1.5;
    color:var(--cbs-muted);
    font-weight:700;
}

.craftedpress-booking-switch__content{
    padding:0;
    overflow:visible;
}

.craftedpress-booking-switch__pane{
    padding:24px;
}

.craftedpress-booking-switch__message{
    font-size:15px;
    line-height:1.7;
    color:var(--cbs-muted);
}

.craftedpress-booking-switch__message--error{
    color:#a32626;
}

.craftedpress-booking-switch__pane[hidden]{
    display:none !important;
}

@media (max-width: 991px){
    .craftedpress-booking-switch__grid{
        grid-template-columns:1fr !important;
    }


    .craftedpress-booking-switch__sidebar{
        position:static;
        max-width:none;
        width:100%;
    }

    .craftedpress-booking-switch__panel{
        max-width:none;
        width:100%;
        min-height:unset;
    }
}

@media (max-width: 767px){
    .craftedpress-booking-switch{
        padding:18px;
        border-radius:24px;
    }

    .craftedpress-booking-switch__title{
        font-size:34px;
    }

    .craftedpress-booking-switch__panel{
        border-radius:22px;
    }

    .craftedpress-booking-switch__panel-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .craftedpress-booking-switch__pane{
        padding:18px;
    }
}


.craftedpress-booking-switch__trust{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:18px;
}
.craftedpress-booking-switch__trust-item{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 14px;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--cbs-border);
    font-size:13px;
    font-weight:700;
    color:var(--cbs-text);
}
.craftedpress-booking-switch__button-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
}
.craftedpress-booking-switch__button-tag{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:6px 10px;
    border-radius:999px;
    background:#faf7f1;
    border:1px solid var(--cbs-border);
    color:var(--cbs-muted);
    font-size:12px;
    font-weight:700;
}
.craftedpress-booking-switch__button.is-active .craftedpress-booking-switch__button-tag{
    background:rgba(255,255,255,.12);
    color:var(--cbs-active-card-text);
    border-color:rgba(255,255,255,.12);
}


/* Empty-state right panel */
.craftedpress-booking-switch__empty{
    min-height:420px;
    display:grid;
    place-items:center;
    text-align:center;
    padding:26px;
}
.craftedpress-booking-switch__empty-card{
    max-width:460px;
}
.craftedpress-booking-switch__empty-icon{
    width:78px;
    height:78px;
    border-radius:24px;
    display:grid;
    place-items:center;
    margin:0 auto 16px;
    background:var(--cbs-accent-soft);
    color:var(--cbs-accent);
    font-size:34px;
    font-weight:900;
}
.craftedpress-booking-switch__empty-title{
    margin:0 0 10px;
    font-size:28px;
    line-height:1.08;
    letter-spacing:-.02em;
    font-weight:900;
}
.craftedpress-booking-switch__empty-text{
    margin:0;
    color:var(--cbs-muted);
    font-size:15px;
    line-height:1.7;
}

/* More CSS-driven animation */
.craftedpress-booking-switch__grid{
    display:grid;
    grid-template-columns:minmax(240px,var(--cbs-left-col)) minmax(280px,var(--cbs-right-col)) !important;
    gap:var(--cbs-gap);
    align-items:stretch;
    justify-content:center;
}

.craftedpress-booking-switch__panel{
    transition:transform .6s cubic-bezier(.22,1,.36,1), opacity .45s ease, box-shadow .3s ease;
}
.craftedpress-booking-switch__content{
    position:relative;
    overflow:hidden;
}
.craftedpress-booking-switch__pane{
    transition:opacity .28s ease, transform .38s ease;
}
.craftedpress-booking-switch__pane[hidden]{
    display:none !important;
}
.craftedpress-booking-switch:not(.has-selection) .craftedpress-booking-switch__grid{
    grid-template-columns:minmax(240px,var(--cbs-left-col)) minmax(280px,var(--cbs-right-col)) !important;
}


.craftedpress-booking-switch:not(.has-selection) .craftedpress-booking-switch__panel{
    opacity:1;
    transform:translateX(0);
}
.craftedpress-booking-switch.has-selection .craftedpress-booking-switch__panel{
    opacity:1;
    transform:translateX(0);
}
.craftedpress-booking-switch.has-selection .craftedpress-booking-switch__pane:not([hidden]){
    animation:cbsPaneIn .38s ease both;
}
@keyframes cbsPaneIn{
    from{
        opacity:0;
        transform:translateY(10px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* Stretch right panel to full row height before selection */
.craftedpress-booking-switch__grid{
    display:grid;
    grid-template-columns:minmax(240px,var(--cbs-left-col)) minmax(280px,var(--cbs-right-col)) !important;
    gap:var(--cbs-gap);
    align-items:stretch;
    justify-content:center;
}


.craftedpress-booking-switch:not(.has-selection) .craftedpress-booking-switch__panel{
    height:100%;
}


/* Gentle Fluent Forms styling test */
.craftedpress-booking-switch .ff-default,
.craftedpress-booking-switch .frm-fluent-form{
    color:var(--cbs-text);
}

.craftedpress-booking-switch .ff-default .ff-el-group,
.craftedpress-booking-switch .frm-fluent-form .ff-el-group{
    margin-bottom:18px;
}

.craftedpress-booking-switch .ff-default label,
.craftedpress-booking-switch .ff-default .ff-el-input--label,
.craftedpress-booking-switch .ff-default .ff-el-form-check-label,
.craftedpress-booking-switch .ff-default .ff-el-section-title{
    color:var(--cbs-text) !important;
    font-weight:700;
    font-size:14px;
    line-height:1.4;
    margin-bottom:8px;
}

.craftedpress-booking-switch .ff-default .ff-el-form-control,
.craftedpress-booking-switch .ff-default select,
.craftedpress-booking-switch .ff-default textarea,
.craftedpress-booking-switch .ff-default input[type="text"],
.craftedpress-booking-switch .ff-default input[type="email"],
.craftedpress-booking-switch .ff-default input[type="tel"],
.craftedpress-booking-switch .ff-default input[type="number"],
.craftedpress-booking-switch .ff-default input[type="url"],
.craftedpress-booking-switch .ff-default input[type="date"]{
    width:100%;
    min-height:56px;
    padding:16px 18px;
    border:1px solid var(--cbs-border) !important;
    border-radius:18px !important;
    background:#fbfaf7 !important;
    color:var(--cbs-text) !important;
    box-shadow:none !important;
    transition:border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.craftedpress-booking-switch .ff-default textarea{
    min-height:140px;
    resize:vertical;
}

.craftedpress-booking-switch .ff-default .ff-el-form-control:focus,
.craftedpress-booking-switch .ff-default select:focus,
.craftedpress-booking-switch .ff-default textarea:focus,
.craftedpress-booking-switch .ff-default input:focus{
    border-color:#d4c8b4 !important;
    background:#fff !important;
    box-shadow:0 0 0 4px rgba(31,111,95,.08) !important;
    outline:none !important;
}

.craftedpress-booking-switch .ff-default ::placeholder{
    color:#8b857c !important;
    opacity:1;
}

.craftedpress-booking-switch .ff-default .ff-el-form-check{
    padding:14px 16px;
    border:1px solid var(--cbs-border);
    border-radius:16px;
    background:#fbfaf7;
    margin-bottom:10px;
}

.craftedpress-booking-switch .ff-default .ff-el-form-check input[type="checkbox"],
.craftedpress-booking-switch .ff-default .ff-el-form-check input[type="radio"]{
    accent-color:var(--cbs-accent);
}

.craftedpress-booking-switch .ff-default .ff-btn,
.craftedpress-booking-switch .ff-default button.ff-btn,
.craftedpress-booking-switch .ff-default input.ff-btn{
    min-height:56px;
    padding:16px 26px;
    border:none !important;
    border-radius:18px !important;
    background:var(--cbs-active-card-bg);
    color:var(--cbs-active-card-text) !important;
    font-weight:800;
    font-size:15px;
    letter-spacing:-.01em;
    box-shadow:0 10px 24px rgba(24,23,22,.12);
    transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.craftedpress-booking-switch .ff-default .ff-btn:hover,
.craftedpress-booking-switch .ff-default .ff-btn:focus,
.craftedpress-booking-switch .ff-default button.ff-btn:hover,
.craftedpress-booking-switch .ff-default button.ff-btn:focus{
    transform:translateY(-1px);
    box-shadow:0 14px 28px rgba(24,23,22,.18);
    opacity:.98;
}

.craftedpress-booking-switch .ff-default .ff_submit_btn_wrapper,
.craftedpress-booking-switch .ff-default .ff-btn-wrap{
    margin-top:24px;
}

.craftedpress-booking-switch .ff-default .ff-step-titles,
.craftedpress-booking-switch .ff-default .step-nav{
    margin-bottom:20px;
}

.craftedpress-booking-switch .ff-default .ff-step-title,
.craftedpress-booking-switch .ff-default .step-nav li{
    border-radius:999px;
}

.craftedpress-booking-switch .ff-default .ff-message-success{
    border:1px solid rgba(31,111,95,.2);
    background:#eef8f4;
    color:#19483e;
    border-radius:18px;
    padding:16px 18px;
}

.craftedpress-booking-switch .ff-default .ff-message-error{
    border-radius:18px;
}


/* Progress bar color only */
.craftedpress-booking-switch .fluentform .ff-el-progress-bar,
.craftedpress-booking-switch .frm-fluent-form .ff-el-progress-bar{
    background-color: var(--cbs-accent) !important;
}


/* Last step: ff_list_buttons + submit row cleanup */
.craftedpress-booking-switch .ff-default .ff_list_buttons .ff-el-input--content,
.craftedpress-booking-switch .frm-fluent-form .ff_list_buttons .ff-el-input--content{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:flex-start;
}

.craftedpress-booking-switch .ff-default .ff_list_buttons .ff-el-form-check,
.craftedpress-booking-switch .frm-fluent-form .ff_list_buttons .ff-el-form-check{
    display:block !important;
    float:none !important;
    width:auto !important;
    margin:0 !important;
    padding:0;
    border:none;
    background:transparent;
}

.craftedpress-booking-switch .ff-default .ff_list_buttons .ff-el-form-check-label,
.craftedpress-booking-switch .frm-fluent-form .ff_list_buttons .ff-el-form-check-label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:64px;
    min-height:44px;
    padding:10px 18px;
    border:1px solid var(--cbs-border);
    border-radius:14px;
    background:#fbfaf7;
    color:var(--cbs-muted);
    font-weight:700;
    cursor:pointer;
    transition:border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.craftedpress-booking-switch .ff-default .ff_list_buttons .ff-el-form-check-label:hover,
.craftedpress-booking-switch .frm-fluent-form .ff_list_buttons .ff-el-form-check-label:hover{
    border-color:#d4c8b4;
    box-shadow:0 6px 16px rgba(24,23,22,.06);
}

.craftedpress-booking-switch .ff-default .ff_list_buttons .ff-el-form-check-input,
.craftedpress-booking-switch .frm-fluent-form .ff_list_buttons .ff-el-form-check-input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.craftedpress-booking-switch .ff-default .ff_list_buttons .ff-el-form-check-input:checked + span,
.craftedpress-booking-switch .frm-fluent-form .ff_list_buttons .ff-el-form-check-input:checked + span{
    color:var(--cbs-text);
}

.craftedpress-booking-switch .ff-default .ff_list_buttons .ff-el-form-check-label:has(.ff-el-form-check-input:checked),
.craftedpress-booking-switch .frm-fluent-form .ff_list_buttons .ff-el-form-check-label:has(.ff-el-form-check-input:checked){
    background:var(--cbs-accent-soft);
    border-color:var(--cbs-accent);
    color:var(--cbs-accent);
}

/* Last step submit row */
.craftedpress-booking-switch .ff-default .ff-step-t-container.ff-inner_submit_container,
.craftedpress-booking-switch .frm-fluent-form .ff-step-t-container.ff-inner_submit_container{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-top:28px;
}

.craftedpress-booking-switch .ff-default .ff-step-t-container.ff-inner_submit_container .ff-t-cell,
.craftedpress-booking-switch .frm-fluent-form .ff-step-t-container.ff_inner_submit_container .ff-t-cell,
.craftedpress-booking-switch .frm-fluent-form .ff-step-t-container.ff-inner_submit_container .ff-t-cell{
    flex:1 1 0;
    min-width:0;
}

.craftedpress-booking-switch .ff-default .ff-step-t-container.ff-inner_submit_container .ff-t-column-1,
.craftedpress-booking-switch .frm-fluent-form .ff-step-t-container.ff-inner_submit_container .ff-t-column-1{
    display:flex;
    justify-content:flex-start;
}

.craftedpress-booking-switch .ff-default .ff-step-t-container.ff-inner_submit_container .ff-t-column-2,
.craftedpress-booking-switch .frm-fluent-form .ff-step-t-container.ff-inner_submit_container .ff-t-column-2{
    display:flex;
    justify-content:flex-end;
}

.craftedpress-booking-switch .ff-default .ff-step-t-container.ff-inner_submit_container .ff_submit_btn_wrapper,
.craftedpress-booking-switch .frm-fluent-form .ff-step-t-container.ff-inner_submit_container .ff_submit_btn_wrapper{
    margin-top:0;
}

.craftedpress-booking-switch .ff-default .ff-step-t-container.ff-inner_submit_container .ff-btn-submit[style*="visibility: hidden"],
.craftedpress-booking-switch .frm-fluent-form .ff-step-t-container.ff-inner_submit_container .ff-btn-submit[style*="visibility: hidden"]{
    opacity:.45;
}

/* Mobile stacking for the last step */
@media (max-width: 767px){
    .craftedpress-booking-switch .ff-default .ff-step-t-container.ff-inner_submit_container,
    .craftedpress-booking-switch .frm-fluent-form .ff-step-t-container.ff-inner_submit_container{
        flex-direction:column;
        align-items:stretch;
    }

    .craftedpress-booking-switch .ff-default .ff-step-t-container.ff-inner_submit_container .ff-t-column-1,
    .craftedpress-booking-switch .ff-default .ff-step-t-container.ff-inner_submit_container .ff-t-column-2,
    .craftedpress-booking-switch .frm-fluent-form .ff-step-t-container.ff-inner_submit_container .ff-t-column-1,
    .craftedpress-booking-switch .frm-fluent-form .ff-step-t-container.ff-inner_submit_container .ff-t-column-2{
        justify-content:stretch;
    }

    .craftedpress-booking-switch .ff-default .ff-step-t-container.ff-inner_submit_container .ff-btn,
    .craftedpress-booking-switch .frm-fluent-form .ff-step-t-container.ff-inner_submit_container .ff-btn{
        width:100%;
    }
}


/* Override Fluent Forms segmented-button span styling for ff_list_buttons */
.craftedpress-booking-switch .fluentform .ff-el-group.ff_list_buttons .ff-el-form-check label > span,
.craftedpress-booking-switch .frm-fluent-form .ff-el-group.ff_list_buttons .ff-el-form-check label > span{
    -webkit-appearance:none;
    appearance:none;
    border-left:0 !important;
    border-radius:0 !important;
    box-sizing:border-box;
    color:inherit !important;
    cursor:inherit;
    display:inline !important;
    font-size:inherit !important;
    font-weight:inherit !important;
    line-height:inherit !important;
    margin:0;
    outline:none;
    padding:0 !important;
    position:static !important;
    text-align:inherit !important;
    vertical-align:baseline;
    white-space:normal;
    background:transparent !important;
}

/* Make submit button match the rest of the form buttons more closely */
.craftedpress-booking-switch .ff-default .ff-btn-submit,
.craftedpress-booking-switch .frm-fluent-form .ff-btn-submit{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:56px;
    padding:16px 26px !important;
    border:none !important;
    appearance:none;
    cursor:pointer;
    user-select:none;
    text-align:center;
    border-radius:18px !important;
    transition:all .12s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    background:var(--cbs-active-card-bg);
    color:var(--cbs-active-card-text) !important;
    font-weight:800;
    font-size:15px;
    letter-spacing:-.01em;
    box-shadow:0 10px 24px rgba(24,23,22,.12);
}

.craftedpress-booking-switch .ff-default .ff-btn-submit:hover,
.craftedpress-booking-switch .ff-default .ff-btn-submit:focus,
.craftedpress-booking-switch .frm-fluent-form .ff-btn-submit:hover,
.craftedpress-booking-switch .frm-fluent-form .ff-btn-submit:focus{
    transform:translateY(-1px);
    box-shadow:0 14px 28px rgba(24,23,22,.18);
    opacity:.98;
}

/* Estimate preview helpers */
.cbs-estimate-box,
.cbs-selection-summary{
    margin:18px 0;
    padding:18px;
    border:1px solid var(--cbs-border);
    border-radius:18px;
    background:#fbfaf7;
}
.cbs-estimate-box__eyebrow{
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--cbs-muted);
    margin-bottom:8px;
}
.cbs-estimate-box__title,
.cbs-selection-summary__title{
    font-size:20px;
    line-height:1.2;
    font-weight:800;
    margin-bottom:10px;
    color:var(--cbs-text);
}
.cbs-estimate-box__value{
    font-size:32px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.03em;
    color:var(--cbs-text);
    margin-bottom:10px;
}
.cbs-estimate-box__meta,
.cbs-estimate-box__note{
    color:var(--cbs-muted);
    font-size:14px;
    line-height:1.6;
}
.cbs-estimate-box__rows,
.cbs-selection-summary__list{
    margin-top:14px;
}
.cbs-estimate-box__row,
.cbs-selection-summary__list li{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:8px 0;
    border-top:1px solid rgba(0,0,0,.06);
}
.cbs-selection-summary__list{list-style:none;padding:0;margin:10px 0 0}
.cbs-selection-summary__list li span{color:var(--cbs-muted)}


/* Override Fluent Forms 2-column checkbox layout */
.craftedpress-booking-switch .fluentform .ff-el-group.ff_list_2col .ff-el-form-check,
.craftedpress-booking-switch .frm-fluent-form .ff-el-group.ff_list_2col .ff-el-form-check{
    display:block !important;
    width:100% !important;
    margin-right:0 !important;
    margin-bottom:10px !important;
    padding-right:0 !important;
    min-height:0 !important;
    vertical-align:top;
}


/* Keep switcher columns fixed to admin-set widths across form steps */
.craftedpress-booking-switch__grid > *{
    min-width:0;
}

.craftedpress-booking-switch__content,
.craftedpress-booking-switch__pane{
    min-width:0;
}

.craftedpress-booking-switch__pane > form,
.craftedpress-booking-switch__pane .fluentform,
.craftedpress-booking-switch__pane .frm-fluent-form{
    max-width:100%;
    min-width:0;
}

.craftedpress-booking-switch__pane iframe{
    max-width:100%;
}


/* Final hard override: keep admin widths stable across all states */
.craftedpress-booking-switch__grid,
.craftedpress-booking-switch.has-selection .craftedpress-booking-switch__grid,
.craftedpress-booking-switch:not(.has-selection) .craftedpress-booking-switch__grid{
    grid-template-columns:minmax(240px,var(--cbs-left-col)) minmax(280px,var(--cbs-right-col)) !important;
}

@media (max-width: 991px){
    .craftedpress-booking-switch__grid,
    .craftedpress-booking-switch.has-selection .craftedpress-booking-switch__grid,
    .craftedpress-booking-switch:not(.has-selection) .craftedpress-booking-switch__grid{
        grid-template-columns:1fr !important;
    }
}


.craftedpress-booking-switch__panel-head{
    border-top-left-radius: var(--cbs-panel-radius);
    border-top-right-radius: var(--cbs-panel-radius);
}

.craftedpress-booking-switch .fluentform .ff-el-group.ff_list_2col .ff-el-form-check,
.craftedpress-booking-switch .frm-fluent-form .ff-el-group.ff_list_2col .ff-el-form-check{
    display:inline-block !important;
    width:48% !important;
    margin-right:2% !important;
    margin-bottom:2% !important;
    padding-right:0 !important;
    min-height:28px !important;
    vertical-align:top;
}

.craftedpress-booking-switch .fluentform .ff-el-group.ff_list_2col .ff-el-form-check:nth-child(2n),
.craftedpress-booking-switch .frm-fluent-form .ff-el-group.ff_list_2col .ff-el-form-check:nth-child(2n){
    margin-right:0 !important;
}

.craftedpress-booking-switch .ff-default .ff-el-form-check,
.craftedpress-booking-switch .frm-fluent-form .ff-el-form-check{
    position:relative;
}

.craftedpress-booking-switch .ff-default .ff-el-form-check-label,
.craftedpress-booking-switch .frm-fluent-form .ff-el-form-check-label{
    display:flex !important;
    align-items:center;
    width:100%;
    min-height:100%;
    cursor:pointer;
    box-sizing:border-box;
}

.craftedpress-booking-switch .ff-default .ff-el-form-check-label span,
.craftedpress-booking-switch .frm-fluent-form .ff-el-form-check-label span{
    flex:1 1 auto;
}


.craftedpress-booking-switch .fluentform .ff-el-form-check-label .ff-el-form-check-input,
.craftedpress-booking-switch .frm-fluent-form .ff-el-form-check-label .ff-el-form-check-input{
    position:relative !important;
    vertical-align:middle;
    margin-right:10px;
    visibility:hidden;
}

.craftedpress-booking-switch .ff-default .ff-el-form-check.ff_item_selected,
.craftedpress-booking-switch .frm-fluent-form .ff-el-form-check.ff_item_selected{
    background:var(--cbs-accent) !important;
    border-color:var(--cbs-accent) !important;
}

.craftedpress-booking-switch .ff-default .ff-el-form-check.ff_item_selected .ff-el-form-check-label,
.craftedpress-booking-switch .ff-default .ff-el-form-check.ff_item_selected .ff-el-form-check-label span,
.craftedpress-booking-switch .frm-fluent-form .ff-el-form-check.ff_item_selected .ff-el-form-check-label,
.craftedpress-booking-switch .frm-fluent-form .ff-el-form-check.ff_item_selected .ff-el-form-check-label span{
    color:#fff !important;
}


.craftedpress-booking-switch .ff-default .ff-el-form-check-label span,
.craftedpress-booking-switch .frm-fluent-form .ff-el-form-check-label span{
    flex: 1 1 auto;
    margin-left: 0;
    padding-top: 0;
    line-height: 1.4;
    display: inline-block;
}

.craftedpress-booking-switch .ff-default .ff-btn-submit,
.craftedpress-booking-switch .frm-fluent-form .ff-btn-submit{
    background: var(--cbs-accent);
    border-color: var(--cbs-accent) !important;
}


.craftedpress-booking-switch .ff-default .ff-btn,
.craftedpress-booking-switch .ff-default button.ff-btn,
.craftedpress-booking-switch .ff-default input.ff-btn{
    box-shadow: none !important;
}


.craftedpress-booking-switch .ff-default .ff-btn-submit,
.craftedpress-booking-switch .frm-fluent-form .ff-btn-submit{
    font-weight: 700 !important;
}


.cbs-selection-summary__list strong{
    text-align:right;
}
