body  { background: #F1F1F1 url('../images/stars.png'); }
#main__form__actions { margin-top:8px; }
#contentcontainer,
#contentcontainer h4,
#contentcontainer h2,
#course_details_allocation label  {
    font-family: Calibri, Arial, sans-serif !important;
}

.container.contentwrap {padding-right:0px;}
    .container.contentwrap .page.container.postItem {padding:0px;}
    #main.container {padding:0 30px;}

.formcontrol-forms-TabularKeyValueLayout > table > tbody > tr > th { min-width: 50px !important;}
.formcontrol-forms-TabularKeyValueLayout table {width:95%; margin-bottom: 15px;  }
.formcontrol-forms-TabularKeyValueLayout table tr th { padding-bottom:10px; }
.formcontrol-forms-TabularKeyValueLayout input { width:75%; }
.col-xs-1 .twitterbootstrap-columnkeyvalue-field-key  { margin-top:4px; }
.formcontrolcontainer { line-height: 1.42857143; }
#contentcontainer {
  margin-bottom : 50px;
}

tr.cartExplainer {}
tr.cartExplainer th ul {padding-left:1em;}
tr.cartExplainer th, tr.cartExplainer th ul, tr.cartExplainer th ul li {font-weight:normal;}

.mmCustom {}
    label.mmCustom {padding:0 2em;line-height:60px;font-weight:bold;}
    ul.mmCustom {margin-bottom:2em;padding-left:1.2em;}
    ul.mmCustom li {line-height:1.2em;}
    .mmCustom span.text-red {color:red;}






/* endlessMode Booking Form Styling */
#steppedBookingForm h2 {margin:2em 0;padding:0;}
#steppedBookingForm .form-group {display: flex;flex-wrap: wrap;justify-content: center;gap: 1rem;}
    #steppedBookingForm .checkbox-button {display: inline-block;}
    #steppedBookingForm input[type="radio"] {display: none;}
    #steppedBookingForm label {
        background-color: #37c5e9;
        color: white;
        font-weight: bold;
        font-size:1.1rem;
        padding: 2.4em 1.8em;
        border-radius: 23px;
        cursor: pointer;
        border: 2px solid transparent;
        text-align: center;
        transition: all 0.3s ease;
        display: inline-block;
    }
    #steppedBookingForm input[type="radio"]:checked + label {background-color:white;border: 2px solid #fb53a9;color:#fb53a9;}

/* Trial / Subscription Options */
#steppedBookingForm .booking-options {width: 100%;margin: 0 auto;display: flex;justify-content: center;gap: 2rem;flex-wrap: wrap;}
#steppedBookingForm .booking-options label {padding: 1.5em 2em;}
#steppedBookingForm .option-title {font-size:1.3rem;font-weight: bold;margin-bottom: 0.5rem;}
#steppedBookingForm .option-subtext {font-size: 1em;font-weight:normal!important;line-height: 1.4;}
#steppedBookingForm .booking-options .checkbox-button {flex: 1 1 100px;max-width:40%;}

/* Make labels (cards) consistent height */
#steppedBookingForm .booking-options label {
    height: 100%;
    min-height: 140px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* Layout wrapper for calendar-style radios */
#steppedBookingForm .session-calendar-options {gap: 1.5rem;}
#steppedBookingForm .session-calendar-options .checkbox-button {flex: 1 1 120px;max-width: 140px;}
#steppedBookingForm .session-calendar-options label {padding: 0;height: auto;border-radius: 1.5rem;overflow: hidden;}
#steppedBookingForm .calendar-box {border: 2px solid #37c5e9;border-radius:23px;text-align: center;overflow: hidden;width: 100%;}
#steppedBookingForm .calendar-day {background-color: #37c5e9;color: white;font-weight: bold;padding: 0.6rem 0;font-size: 1rem;}
#steppedBookingForm .calendar-date {background-color: white;padding: 1rem 2rem;color: #37c5e9;}
#steppedBookingForm .calendar-number {font-size: 1.4rem;font-weight: bold;line-height: 1.2;}
#steppedBookingForm .calendar-month {font-size: 0.85rem;line-height: 1.2;}
#steppedBookingForm input[type="radio"]:checked + label .calendar-box {border-color: #fb53a9;}
#steppedBookingForm input[type="radio"]:checked + label .calendar-day {background-color: #fb53a9;}
#steppedBookingForm input[type="radio"]:checked + label .calendar-date {color: #fb53a9;}

#steppedBookingForm input[type="radio"]:disabled + label {
    opacity: 0.3;
    cursor: not-allowed;
    background:#a4b0be;
    font-weight:300;
    color:#2f3542;
    font-style:italic;
}


/* Panel easing */
#steppedBookingForm .row {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    display: none; /* controlled via JS */
}

#steppedBookingForm .row.visible {
    display: block;
    opacity: 1;
    transform: translateY(0);
}














/* --- Summary Table Container --- */
#steppedBookingForm .summary-table {
    position: relative;
    border: 2px solid #37c5e9;
    border-radius: 22px;
    padding: 1rem;
    background-color: white;
    max-width: 500px;
    margin: 0 auto;
    box-sizing:border-box;
    overflow:hidden;
}
#steppedBookingForm .summary-table table {width: 100%;border-collapse: collapse;font-size: 1rem;border:none;}

#steppedBookingForm .summary-table tr {border-bottom:2px solid #37c5e9;}
    #steppedBookingForm .summary-table tr.borderless, #steppedBookingForm .summary-table tr:last-child {border-bottom:none;}

#steppedBookingForm .summary-table td {padding: 0.6em 0.5em;border:none;color: #37c5e9;}
#steppedBookingForm .summary-table tr:last-child td {border-bottom: none;}
#steppedBookingForm .summary-table tr:last-child td {border-bottom: none;}
#steppedBookingForm .summary-table td:first-child {font-weight: bold;}
#steppedBookingForm .summary-table td:last-child {text-align: right;white-space: nowrap;}
#steppedBookingForm .summary-table .discount {}

#steppedBookingForm .session-row, #freeClassRow, #membershipRow, #membershipExplainerRow {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    display: none;
}
    #steppedBookingForm .session-row.visible, #steppedBookingForm #freeClassRow.visible, #membershipRow.visible, #membershipExplainerRow.visible {
        opacity: 1;
        transform: translateY(0);
        display: table-row;
    }
    #steppedBookingForm #membershipRow {}
        #steppedBookingForm #membershipRow a {border-bottom:1px dotted #333;}
    #steppedBookingForm #membershipExplainerRow {}
        #steppedBookingForm #membershipExplainerRow td {max-width:450px;font-weight:normal;color:grey;white-space:normal;text-align:left;}


/* courses_erp:Basket styling */
#location-Classes__Basket {}
    #location-Classes__Basket .container.contentwrap {padding-right:0px;}
    #location-Classes__Basket #main {display:block;padding:0 25px;width:100%;}
        #location-Classes__Basket #main .container {padding:0 5px;}

.basket {margin-top:25px;border:2px solid #37c5e9;border-radius:16px;overflow:hidden;}
    .basket table {}
    .basket table.table-bordered {border:none;}
        .basket table thead {background:#37c5e9;color:#FFF;border:none;}
            .basket table thead tr {border:none;}
                .basket table thead tr th {border:none;}
                    .basket table thead tr th.description {width:58%;}
                    .basket table thead tr th.assigned_to{width:15%;}
        .basket table tbody {border:none;}
            .basket table tbody tr {background:#FFF;}
                .basket table tbody tr td {}
                    .basket table tbody tr td.lineItem_description {font-size:0.9em;vertical-align: middle;}
                    .basket table tbody tr td.lineItem_assign {font-size:0.9em;vertical-align: middle;}
                    .basket table tbody tr td.lineItem_totalIncVat {vertical-align: middle;text-align:right;}

                    /* Delete Item Button Override */
                    .basket table tbody tr td .delete-item.btn.btn-sm {
                        background:#FFF!important;
                        border:1px solid #777;
                        color:red!important;
                        font-size:19px!important;
                        font-weight:bold!important;
                        line-height:24px!important;
                        padding:0!important;
                        height:24px;
                        width:24px;
                        text-shadow:none;
                    }
                        .basket table tbody tr td .delete-item.btn.btn-sm:hover {
                            background:#D8D8DA!important;
                        }

                /* Levels */
                .basket table tbody tr.level-0 td:first-child {}
                .basket table tbody tr.level-1 td:first-child {padding-left:2em;}
                    .basket table tbody tr.level-1 td:first-child:before {content: "↳";margin-right:0.2em;opacity:0.5;}
                .basket table tbody tr.level-2 td:first-child {padding-left:4em;}
                .basket table tbody tr.level-3 td:first-child {padding-left:6em;}
                .basket table tbody tr.level-4 td:first-child {padding-left:8em;}
                .basket table tbody tr.level-5 td:first-child {padding-left:10em;}

                /* Discounts */
                .basket table tbody tr.discount {}
                    .basket table tbody tr.discount td {font-size:1em;border:none;padding:1em 1em 1em 0.5em;}
                        .basket table tbody tr.discount td.lineItem_total {color:#7D7C7C;font-weight:bold;text-align:right;padding-right: 8px;}

                .basket table tbody tr td {border:1px solid #37c5e9;}
                    .basket table tbody tr td:nth-child(1) {border-left:none;}
                    .basket table tbody tr td:last-child {border-right:none;}

        /* Totals */
        .basket table tfoot {border-top:2px solid #37c5e9;}
            .basket table tfoot tr {}
                .basket table tfoot tr.linetotal.overall {font-size:1.2em;}
                    .basket table tfoot tr.linetotal.overall strong {font-size:1.2em; color: #7D7C7C}
                    .basket table tfoot tr.linetotal.overall td {border:none;padding:1.2em 1em;}
                        .basket table tfoot tr.linetotal.overall td.linetotal_label {text-transform:inherit!important;padding:1em 1em 1em 0.5em;}
                        .basket table tfoot tr.linetotal.overall td.linetotal_value {font-weight:bold;text-align:right;padding-right: 9px; color: #7D7C7C;}

.afterBasket {margin:0;padding:0;}
    .afterBasket.display_ {display:none;}

    /* Promotions */
    .afterBasket .promotionWrapper {margin-top:10px;border:none;width:100%;display:flex;justify-content:flex-end;gap:10px;box-shadow:none;}
        .afterBasket .promotionWrapper h2 {display:none;}
        .afterBasket .promotionWrapper label {line-height:2em;font-weight:normal;}
        .afterBasket .promotionWrapper input[type=text] {max-width:150px;padding:5px 15px;font-size:20px;font-weight:bold;border:1px solid #37c5e9;border-radius:10px;}
            .afterBasket .promotionWrapper input[type=text]:hover {opacity:0.8;transition:0.2s;}
        .afterBasket #promotionResponse {display:none;float:right;opacity:0.75;margin-top:15px;padding:0.5em 2em;}
            .afterBasket #promotionResponse.alert {
                background: #fce0df;
                border: 2px solid #f27370;
                color: #f1635f;
                border-radius: 10px;}
            .afterBasket #promotionResponse.success {
                background: #e3f1e2;
                border: 2px solid #44bf81;
                color: #3da267;
                border-radius: 10px;
            }

    /* Scope Switcher */
    .afterBasket .scopeSwitch {display:flex;justify-content:flex-end;gap:10px;}
        .afterBasket .scopeSwitch label {text-transform:uppercase;line-height:2em;}

    /* Payment Gateway Switcher */
    .afterBasket .paymentgateway-wrapper {display:flex;justify-content:flex-end;gap:10px;}
        .afterBasket .paymentgateway-wrapper label {text-transform:uppercase;line-height:2em;}

    /* Custom Content */
    .afterBasket .customContent {}

    .coursedetails_details { margin-bottom: 10px }