/* UnityBooking dark theme adjustments for the Airbase / Helix Ultimate frontend. */
:root {
    --ub-du-dark: var(--color-dark, #060606);
    --ub-du-panel: var(--color-dark-black, #111);
    --ub-du-panel-soft: var(--color-dark-black-three, #1b1b1b);
    --ub-du-text: var(--color-white, #fff);
    --ub-du-muted: rgba(var(--color-white-rgb, 255, 255, 255), 0.72);
    --ub-du-border: rgba(var(--color-white-rgb, 255, 255, 255), 0.18);
    --ub-du-accent: #00ff00;
    --ub-layout-page-max: 1180px;
    --ub-layout-app-max: 560px;
    --ub-layout-page-edge: 14px;
    --ub-layout-gap: 1.5rem;
    --ub-layout-card-padding: 1.25rem;
    --ub-layout-header-padding: .75rem 1rem;
}

.ub-page-shell {
    width: 100%;
    max-width: var(--ub-layout-page-max);
    margin-left: auto;
    margin-right: auto;
}

.ub-page-stack {
    display: grid;
    gap: var(--ub-layout-gap);
}

.ub-page-grid {
    display: grid;
    gap: var(--ub-layout-gap);
}

.ub-page-grid-main-sidebar {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    align-items: start;
}

.ub-page-section,
.ub-flow-card,
.ub-data-block,
.ub-section-card,
.ub-summary-card,
.ub-card-panel {
    background: var(--ub-du-panel);
    border: 1px solid var(--ub-du-border);
    border-radius: 0;
    color: var(--ub-du-text);
    box-shadow: none;
}

.ub-page-section-header,
.ub-flow-card-header,
.ub-data-block-title,
.ub-summary-section-title {
    background: var(--ub-du-panel-soft);
    border-left: 4px solid var(--ub-du-accent);
    color: var(--ub-du-text);
    padding: var(--ub-layout-header-padding);
}

.ub-page-section-body,
.ub-flow-card-body {
    padding: var(--ub-layout-card-padding);
}

.ub-page-title {
    margin: 0;
    color: var(--ub-du-text);
    font-weight: 700;
    line-height: 1.08;
}

.ub-page-subtitle {
    margin-top: .35rem;
    color: var(--ub-du-muted);
    line-height: 1.35;
}

@media (max-width: 991.98px) {
    .ub-page-shell {
        max-width: var(--ub-layout-app-max);
        padding-left: var(--ub-layout-page-edge);
        padding-right: var(--ub-layout-page-edge);
    }

    .ub-page-grid,
    .ub-page-grid-main-sidebar {
        grid-template-columns: minmax(0, 1fr);
    }
}

.unitybooking-voucher-checkout .ub-voucher-page-header h1 {
    font-size: clamp(1.8rem, 2.4vw, 2.5rem) !important;
    line-height: 1.05 !important;
}

.unitybooking-voucher-checkout .ub-flow-card > .card-body,
.unitybooking-voucher-checkout .ub-summary-card > .card-body {
    padding: 1.5rem !important;
}

.unitybooking-voucher-checkout .ub-flow-card,
.com-unitybooking-cartcheckout .ub-flow-card,
.unitybooking-voucher-checkout .ub-summary-card,
.unitybooking-voucher-checkout .ub-summary-block,
.unitybooking-voucher-checkout .ub-summary-lines,
.unitybooking-voucher-checkout .ub-summary-total-row,
.unitybooking-voucher-checkout .ub-voucher-offer-card,
.unitybooking-voucher-checkout .ub-payment-option,
.unitybooking-voucher-checkout .ub-voucher-duration-option,
.unitybooking-voucher-checkout .form-control,
.unitybooking-voucher-checkout .input-group-text,
.unitybooking-voucher-checkout .btn {
    border-radius: 0 !important;
}

.unitybooking-voucher-checkout .ub-voucher-section-title,
.unitybooking-voucher-checkout .ub-summary-section-title {
    color: var(--ub-du-text) !important;
    font-size: .98rem !important;
    font-weight: normal !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    padding: .55rem .75rem !important;
    background: rgba(var(--color-white-rgb, 255, 255, 255), 0.05) !important;
    border-left: 4px solid var(--ub-du-accent) !important;
}

.unitybooking-voucher-checkout .ub-mode-grid,
.com-unitybooking-cartcheckout .ub-mode-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .75rem !important;
}

.unitybooking-voucher-checkout .ub-choice-card,
.unitybooking-voucher-checkout .ub-data-block,
.com-unitybooking-cartcheckout .ub-choice-card,
.com-unitybooking-cartcheckout .ub-data-block {
    background: var(--ub-du-panel) !important;
    border: 1px solid var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
    display: block !important;
    padding: 1rem !important;
}

.unitybooking-voucher-checkout .ub-choice-card,
.com-unitybooking-cartcheckout .ub-choice-card {
    cursor: pointer !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.unitybooking-voucher-checkout .ub-choice-card:hover,
.com-unitybooking-cartcheckout .ub-choice-card:hover {
    border-color: var(--ub-du-accent) !important;
    transform: translateY(-1px) !important;
}

.unitybooking-voucher-checkout .ub-choice-card input,
.com-unitybooking-cartcheckout .ub-choice-card input {
    margin-right: .45rem !important;
}

.unitybooking-voucher-checkout .ub-choice-card:has(input:checked),
.com-unitybooking-cartcheckout .ub-choice-card:has(input:checked) {
    border-color: var(--ub-du-accent) !important;
    box-shadow: 0 .35rem 1rem rgba(0, 255, 0, .08) !important;
}

.unitybooking-voucher-checkout .ub-data-block-title,
.com-unitybooking-cartcheckout .ub-data-block-title {
    color: var(--ub-du-text) !important;
    font-size: .98rem !important;
    font-weight: normal !important;
    line-height: 1.25 !important;
    margin: 0 0 .9rem !important;
    padding: .55rem .75rem !important;
    background: rgba(var(--color-white-rgb, 255, 255, 255), 0.05) !important;
    border-left: 4px solid var(--ub-du-accent) !important;
}

.unitybooking-voucher-checkout .ub-flow-card-header,
.com-unitybooking-cartcheckout .ub-flow-card-header {
    padding: 1.1rem 1.5rem .25rem !important;
}

.unitybooking-voucher-checkout .ub-flow-card-title,
.com-unitybooking-cartcheckout .ub-flow-card-title {
    color: var(--ub-du-text) !important;
    font-size: 1.08rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
}

.unitybooking-voucher-checkout .ub-flow-card-subtitle,
.com-unitybooking-cartcheckout .ub-flow-card-subtitle {
    color: var(--ub-du-muted) !important;
    font-size: .92rem !important;
    line-height: 1.35 !important;
    margin-top: .25rem !important;
    max-width: 40rem !important;
}

.unitybooking-voucher-checkout .ub-flow-card-body,
.com-unitybooking-cartcheckout .ub-flow-card-body {
    padding: 1.1rem 1.5rem 1.5rem !important;
}

.unitybooking-voucher-checkout .ub-flow-card .mb-3,
.unitybooking-voucher-checkout .ub-flow-card .mb-4,
.com-unitybooking-cartcheckout .ub-flow-card .mb-3,
.com-unitybooking-cartcheckout .ub-flow-card .mb-4 {
    margin-bottom: 1.5rem !important;
}

.unitybooking-voucher-checkout .ub-voucher-contact-fields {
    row-gap: 1rem !important;
}

.unitybooking-voucher-checkout #ub-voucher-duration-options {
    row-gap: 1rem !important;
}

.unitybooking-voucher-checkout .ub-summary-block,
.unitybooking-voucher-checkout .ub-summary-lines {
    margin-bottom: 1.15rem !important;
}

.unitybooking-voucher-checkout .ub-voucher-offer-card,
.unitybooking-voucher-checkout .ub-payment-option,
.unitybooking-voucher-checkout .ub-voucher-duration-option {
    cursor: pointer !important;
    display: flex !important;
    flex-direction: column !important;
    gap: .45rem !important;
    min-height: 100% !important;
    padding: 1.15rem !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.unitybooking-voucher-checkout .ub-voucher-offer-radio,
.unitybooking-voucher-checkout .ub-payment-option > .form-check-input,
.unitybooking-voucher-checkout .ub-voucher-duration-option > .form-check-input {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.unitybooking-voucher-checkout .ub-voucher-offer-title,
.unitybooking-voucher-checkout .ub-payment-option .fw-semibold,
.unitybooking-voucher-checkout .ub-voucher-duration-option .fw-semibold {
    margin-top: 0 !important;
    line-height: 1.25 !important;
}

.unitybooking-voucher-checkout .ub-voucher-offer-card:hover,
.unitybooking-voucher-checkout .ub-payment-option:hover,
.unitybooking-voucher-checkout .ub-voucher-duration-option:hover {
    border-color: var(--ub-du-accent) !important;
    transform: translateY(-1px) !important;
}

.unitybooking-voucher-checkout .ub-voucher-summary-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    padding: .8rem 0 !important;
    border-bottom: 1px solid var(--ub-du-border) !important;
}

.unitybooking-voucher-checkout .ub-voucher-summary-row:last-child {
    border-bottom: 0 !important;
}

.unitybooking-voucher-checkout .ub-summary-total-row {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    padding: 1.15rem !important;
}

.unitybooking-voucher-checkout .ub-summary-total-row strong {
    color: var(--ub-du-text) !important;
    font-size: 1.45rem !important;
    line-height: 1.1 !important;
}

.unitybooking-voucher-checkout .input-group-text {
    background: var(--ub-du-panel-soft) !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.unitybooking-voucher-checkout .btn-primary,
.unitybooking-voucher-checkout .btn-primary:hover,
.unitybooking-voucher-checkout .btn-primary:focus,
.unitybooking-voucher-checkout .btn-primary:active {
    color: #202020 !important;
}

@media (max-width: 991.98px) {
    .unitybooking-voucher-checkout .ub-mode-grid {
        grid-template-columns: 1fr !important;
    }

    .unitybooking-voucher-checkout .ub-voucher-sidebar {
        position: static !important;
        top: auto !important;
    }
}

body.com_unitybooking #sp-main-body,
body.com-unitybooking #sp-main-body,
.com-unitybooking-site-default,
.com-unitybooking-ticketlist,
.com-unitybooking-checkout,
.com-unitybooking-account,
.com-unitybooking-account-booking,
.unitybooking-subscription-plans,
.unitybooking-subscription-checkout,
.unitybooking-voucher-checkout,
.unitybooking-cart,
.unitybooking-cart-checkout,
.unitybooking-customercard,
.unitybooking-waiver,
.mod-unitybooking-offers {
    color: var(--ub-du-text);
}

.com-unitybooking-checkout,
.unitybooking-subscription-checkout,
.unitybooking-voucher-checkout,
.com-unitybooking-checkout *,
.unitybooking-subscription-checkout *,
.unitybooking-voucher-checkout *,
.com-unitybooking-checkout *::before,
.unitybooking-subscription-checkout *::before,
.unitybooking-voucher-checkout *::before,
.com-unitybooking-checkout *::after,
.unitybooking-subscription-checkout *::after,
.unitybooking-voucher-checkout *::after {
    border-radius: 0 !important;
}

.com-unitybooking-site-default .card,
.com-unitybooking-ticketlist .card,
.com-unitybooking-checkout .card,
.com-unitybooking-account .card,
.com-unitybooking-account-booking .card,
.unitybooking-subscription-plans .card,
.unitybooking-subscription-checkout .card,
.unitybooking-voucher-checkout .card,
.unitybooking-voucher-checkout .ub-flow-card,
.unitybooking-cart .card,
.unitybooking-cart-checkout .card,
.unitybooking-customercard .card,
.unitybooking-waiver .card,
.mod-unitybooking-offers .ub-offer-card,
.com-unitybooking-checkout .ub-ticket-compact-card,
.com-unitybooking-checkout .ub-flow-card,
.com-unitybooking-cartcheckout .ub-flow-card,
.com-unitybooking-checkout .ub-summary-card,
.com-unitybooking-checkout .ub-section-card,
.com-unitybooking-checkout .ub-data-block,
.com-unitybooking-checkout .ub-summary-block,
.com-unitybooking-checkout .ub-summary-actions,
.unitybooking-voucher-checkout .ub-summary-card,
.unitybooking-voucher-checkout .ub-summary-block,
.unitybooking-voucher-checkout .ub-summary-lines,
.unitybooking-voucher-checkout .ub-summary-total-row,
.unitybooking-voucher-checkout .ub-payment-option,
.unitybooking-voucher-checkout .ub-choice-card,
.unitybooking-voucher-checkout .ub-data-block,
.com-unitybooking-cartcheckout .ub-payment-option,
.com-unitybooking-cartcheckout .ub-choice-card,
.com-unitybooking-cartcheckout .ub-data-block,
.com-unitybooking-checkout .ub-choice-grid label,
.com-unitybooking-checkout .ub-choice-card,
.unitybooking-subscription-checkout .ub-data-block,
.unitybooking-subscription-checkout .ub-choice-card,
.com-unitybooking-checkout .ub-selectable-tile,
.com-unitybooking-checkout .ub-duration-option,
.com-unitybooking-checkout .ub-calendar,
.com-unitybooking-checkout .ub-calendar-day,
.com-unitybooking-checkout .ub-calendar-nav,
.com-unitybooking-checkout .ub-person-stepper-btn,
.unitybooking-voucher-checkout .ub-voucher-offer-card {
    background: var(--ub-du-panel) !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
    box-shadow: none !important;
}

.com-unitybooking-site-default .card-header,
.com-unitybooking-ticketlist .card-header,
.com-unitybooking-checkout .card-header,
.com-unitybooking-account .card-header,
.com-unitybooking-account-booking .card-header,
.unitybooking-subscription-plans .card-header,
.unitybooking-subscription-checkout .card-header,
.unitybooking-voucher-checkout .card-header,
.unitybooking-cart .card-header,
.unitybooking-cart-checkout .card-header,
.unitybooking-customercard .card-header,
.unitybooking-waiver .card-header,
.com-unitybooking-checkout .ub-data-block.bg-light-subtle,
.unitybooking-subscription-checkout .ub-data-block.bg-light-subtle,
.com-unitybooking-checkout .ub-ticket-highlight,
.com-unitybooking-checkout .ub-inline-hint,
.com-unitybooking-checkout .ub-summary-selection-block,
.com-unitybooking-checkout .ub-summary-facts,
.com-unitybooking-checkout .ub-summary-lines,
.com-unitybooking-checkout .ub-summary-total-row,
.unitybooking-voucher-checkout .ub-summary-selection-block,
.unitybooking-voucher-checkout .ub-summary-lines,
.unitybooking-voucher-checkout .ub-summary-total-row,
.com-unitybooking-checkout .ub-submit-optins .border,
.unitybooking-voucher-checkout .bg-light,
.unitybooking-voucher-checkout .bg-light-subtle {
    background: var(--ub-du-panel-soft) !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-checkout {
    --ub-checkout-sticky-top: 6rem;
}

@media (min-width: 992px) {
    body.com_unitybooking .body-innerwrapper,
    body.com-unitybooking .body-innerwrapper {
        overflow: visible !important;
    }

    body.com_unitybooking #sp-main-body,
    body.com-unitybooking #sp-main-body,
    body.com_unitybooking #sp-main-body .container,
    body.com-unitybooking #sp-main-body .container,
    body.com_unitybooking #sp-main-body .container-inner,
    body.com-unitybooking #sp-main-body .container-inner,
    body.com_unitybooking #sp-main-body .row,
    body.com-unitybooking #sp-main-body .row {
        overflow: visible !important;
    }

    .com-unitybooking-checkout .ub-checkout-sidebar {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: var(--ub-checkout-sticky-top) !important;
        height: fit-content !important;
        max-height: none !important;
        align-self: flex-start !important;
    }

    .unitybooking-voucher-checkout .ub-voucher-sidebar {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: var(--ub-checkout-sticky-top, 6rem) !important;
        height: fit-content !important;
        max-height: none !important;
        align-self: flex-start !important;
    }

    .com-unitybooking-checkout .ub-checkout-sticky {
        position: static !important;
        top: auto !important;
        max-height: none !important;
        overflow: visible !important;
        padding-right: 0 !important;
    }

    .unitybooking-voucher-checkout .ub-checkout-sticky {
        position: static !important;
        top: auto !important;
        max-height: none !important;
        overflow: visible !important;
        padding-right: 0 !important;
    }

    .com-unitybooking-checkout .ub-summary-card,
    .com-unitybooking-checkout .ub-summary-card .card-body,
    .com-unitybooking-checkout .ub-summary-lines,
    .com-unitybooking-checkout #ub-summary-rows {
        max-height: none !important;
        overflow: visible !important;
    }
}

.com-unitybooking-checkout .form-check,
.com-unitybooking-checkout .form-check-label,
.unitybooking-voucher-checkout .form-check,
.unitybooking-voucher-checkout .form-check-label {
    background: transparent !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-checkout .ub-summary-card .ub-summary-actions .ub-submit-optins > .border,
.com-unitybooking-checkout .ub-summary-card .ub-summary-actions .ub-submit-optins > .border.bg-light,
.com-unitybooking-checkout .ub-summary-card .ub-summary-actions .ub-submit-optins .form-check {
    background: var(--ub-du-panel-soft) !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-checkout .form-check-input,
.unitybooking-voucher-checkout .form-check-input {
    background-color: rgba(var(--color-white-rgb, 255, 255, 255), 0.08) !important;
    border-color: var(--ub-du-border) !important;
    color-scheme: dark;
}

.com-unitybooking-checkout .form-check-input[type="checkbox"],
.unitybooking-voucher-checkout .form-check-input[type="checkbox"] {
    border-color: #202020 !important;
}

.com-unitybooking-checkout .ub-payment-option .form-check-input[type="radio"],
.unitybooking-voucher-checkout .ub-payment-option .form-check-input[type="radio"] {
    border-color: #202020 !important;
}

.com-unitybooking-checkout .form-check-input:checked,
.unitybooking-voucher-checkout .form-check-input:checked {
    background-color: var(--ub-du-accent) !important;
    border-color: var(--ub-du-accent) !important;
}

.com-unitybooking-checkout .form-check-input[type="checkbox"]:checked,
.unitybooking-voucher-checkout .form-check-input[type="checkbox"]:checked {
    border-color: #202020 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23202020' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
}

.com-unitybooking-checkout .ub-payment-option .form-check-input[type="radio"]:checked,
.unitybooking-voucher-checkout .ub-payment-option .form-check-input[type="radio"]:checked,
.unitybooking-voucher-checkout .ub-voucher-offer-radio:checked,
.unitybooking-voucher-checkout .ub-voucher-duration-option .form-check-input[type="radio"]:checked {
    border-color: #202020 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23202020' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
}

.com-unitybooking-checkout .ub-submit-row .ub-waiver-info-toggle {
    width: 100% !important;
    min-width: 100% !important;
    flex: 0 0 100% !important;
    height: 3rem !important;
    padding: 0 1rem !important;
    border-radius: .9rem !important;
    border: 1px solid rgba(43, 168, 74, 0.55) !important;
    background: rgba(43, 168, 74, 0.12) !important;
    color: var(--ub-du-text) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: .65rem !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: inset 0 0 0 1px rgba(var(--color-white-rgb, 255, 255, 255), 0.08) !important;
}

.com-unitybooking-checkout .ub-submit-row .ub-waiver-info-toggle.ub-is-hidden {
    display: none !important;
}

.com-unitybooking-checkout .ub-ticket-compact-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.com-unitybooking-checkout .ub-ticket-compact-card > .card-body {
    background: var(--ub-du-panel) !important;
    border: 1px solid var(--ub-du-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.com-unitybooking-ticketlist,
.com-unitybooking-ticketlist *,
.com-unitybooking-ticketlist *::before,
.com-unitybooking-ticketlist *::after {
    border-radius: 0 !important;
}

.com-unitybooking-ticketlist {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

.com-unitybooking-ticketlist > .mb-4 {
    margin-bottom: 1.5rem !important;
}

.com-unitybooking-ticketlist h1 {
    font-size: clamp(1.8rem, 2.4vw, 2.5rem) !important;
    line-height: 1.05 !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--ub-ticketlist-cols-mobile, 1), minmax(0, 1fr)) !important;
    align-items: stretch !important;
    grid-auto-rows: 1fr !important;
    gap: 1rem !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    height: 100% !important;
    min-width: 0 !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-card-featured {
    grid-column: 1 / -1 !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-card-inner {
    background: var(--ub-du-panel) !important;
    border: 1px solid var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    width: 100% !important;
    box-shadow: none !important;
    overflow: hidden !important;
    min-height: 0 !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-card-featured .ub-ticketlist-card-inner {
    border-color: var(--ub-du-accent) !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-title-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: .75rem 1rem !important;
    background: #272727 !important;
    border-left: 4px solid var(--ub-du-accent) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-title-row h2 {
    font-size: 1.35rem !important;
    font-weight: normal !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-card-featured .ub-ticketlist-title-row h2 {
    font-size: 1.6rem !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-featured-badge {
    background: var(--ub-du-accent) !important;
    color: #202020 !important;
    border: 1px solid var(--ub-du-accent) !important;
    font-weight: normal !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-card-main {
    display: grid !important;
    grid-template-columns: minmax(180px, 1fr) minmax(0, 2fr) minmax(220px, .9fr) !important;
    gap: 1.25rem !important;
    flex: 1 1 auto !important;
    padding: 1.25rem !important;
    align-items: start !important;
}

@media (min-width: 768px) {
    .com-unitybooking-ticketlist .ub-ticketlist-grid {
        grid-template-columns: repeat(var(--ub-ticketlist-cols-tablet, 1), minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1200px) {
    .com-unitybooking-ticketlist .ub-ticketlist-grid {
        grid-template-columns: repeat(var(--ub-ticketlist-cols-desktop, 1), minmax(0, 1fr)) !important;
    }
}

.com-unitybooking-ticketlist .ub-ticketlist-grid-cols-mobile-2 .ub-ticketlist-card-main {
    grid-template-columns: 1fr !important;
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .com-unitybooking-ticketlist .ub-ticketlist-grid-cols-tablet-2 .ub-ticketlist-card-main,
    .com-unitybooking-ticketlist .ub-ticketlist-grid-cols-tablet-3 .ub-ticketlist-card-main {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 1200px) {
    .com-unitybooking-ticketlist .ub-ticketlist-grid-cols-desktop-2 .ub-ticketlist-card-main,
    .com-unitybooking-ticketlist .ub-ticketlist-grid-cols-desktop-3 .ub-ticketlist-card-main,
    .com-unitybooking-ticketlist .ub-ticketlist-grid-cols-desktop-4 .ub-ticketlist-card-main {
        grid-template-columns: 1fr !important;
    }
}

.com-unitybooking-ticketlist .ub-ticketlist-media {
    background: var(--ub-du-panel-soft) !important;
    min-height: 0 !important;
    padding: 0 !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-media img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: contain !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-body {
    padding: 0 !important;
    gap: 1rem !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-head {
    margin-bottom: .85rem !important;
    padding-bottom: .85rem !important;
    border-bottom: 1px solid var(--ub-du-border) !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-head h2 {
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
}

.com-unitybooking-ticketlist .text-body {
    color: var(--ub-du-text) !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-price-column {
    display: flex !important;
    flex-direction: column !important;
    gap: .75rem !important;
    height: 100% !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-price {
    min-width: 0 !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-price-final {
    color: var(--ub-du-text) !important;
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-card-featured .ub-ticketlist-price-final {
    font-size: 1.85rem !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-price-regular,
.com-unitybooking-ticketlist .ub-ticketlist-duration-regular {
    color: var(--ub-du-muted) !important;
    font-size: .82rem !important;
    line-height: 1.15 !important;
    text-decoration: line-through !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-section-label {
    color: var(--ub-du-text) !important;
    font-size: .95rem !important;
    font-weight: normal !important;
    line-height: 1.25 !important;
    margin: 0 0 .65rem !important;
    padding: .55rem .75rem !important;
    background: rgba(var(--color-white-rgb, 255, 255, 255), 0.05) !important;
    border-left: 4px solid var(--ub-du-accent) !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-duration-list {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: .75rem !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-duration-box,
.com-unitybooking-ticketlist .ub-ticketlist-meta .badge {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 2.75rem !important;
    padding: .65rem .75rem !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.2 !important;
    background: var(--ub-du-panel-soft) !important;
    border: 1px solid var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-duration-box strong {
    display: block !important;
    font-weight: normal !important;
    margin-bottom: .3rem !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-duration-price,
.com-unitybooking-ticketlist .ub-ticketlist-duration-final {
    display: block !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-duration-final {
    color: var(--ub-du-text) !important;
    font-size: .98rem !important;
    font-weight: 700 !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-meta {
    margin-top: .25rem !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-action .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #202020 !important;
    min-width: 180px !important;
    min-height: 3rem !important;
    padding: .75rem 1.5rem !important;
    font-weight: normal !important;
    line-height: 1 !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-action {
    margin-top: auto !important;
}

@media (max-width: 991.98px) {
    .com-unitybooking-ticketlist .ub-ticketlist-card-main {
        grid-template-columns: 1fr !important;
    }

    .com-unitybooking-ticketlist .ub-ticketlist-media img {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
    }

    .com-unitybooking-ticketlist .ub-ticketlist-card-inner {
        min-height: 0 !important;
    }

    .com-unitybooking-ticketlist .ub-ticketlist-price {
        min-width: 100% !important;
        text-align: left !important;
    }
}

@media (max-width: 575.98px) {
    .com-unitybooking-ticketlist .ub-ticketlist-body {
        padding: 1rem !important;
    }

    .com-unitybooking-ticketlist .ub-ticketlist-duration-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .com-unitybooking-ticketlist .ub-ticketlist-action .btn {
        width: 100% !important;
    }
}

.unitybooking-subscription-plans,
.unitybooking-subscription-plans *,
.unitybooking-subscription-plans *::before,
.unitybooking-subscription-plans *::after {
    border-radius: 0 !important;
}

.unitybooking-subscription-plans .ub-subscriptionplans-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    margin-bottom: 1rem !important;
}

.unitybooking-subscription-plans .ub-subscriptionplans-heading {
    width: 100% !important;
    padding: .75rem 1rem !important;
    background: #272727 !important;
    border-left: 4px solid var(--ub-du-accent) !important;
}

.unitybooking-subscription-plans .ub-subscriptionplans-heading h1 {
    margin: 0 !important;
    font-size: 1.45rem !important;
    font-weight: normal !important;
    line-height: 1.2 !important;
}

.unitybooking-subscription-plans .ub-subscriptionplans-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--ub-subscriptionplans-cols-mobile, 1), minmax(0, 1fr)) !important;
    gap: 48px !important;
}

@media (min-width: 768px) {
    .unitybooking-subscription-plans .ub-subscriptionplans-grid {
        grid-template-columns: repeat(var(--ub-subscriptionplans-cols-tablet, 2), minmax(0, 1fr)) !important;
    }
}

@media (min-width: 992px) {
    .unitybooking-subscription-plans .ub-subscriptionplans-grid {
        grid-template-columns: repeat(var(--ub-subscriptionplans-cols-desktop, 3), minmax(0, 1fr)) !important;
    }
}

.unitybooking-subscription-plans .ub-subscriptionplan-card {
    background: var(--ub-du-panel) !important;
    border: 1px solid var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
    box-shadow: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    position: relative !important;
    transform: scale(1) !important;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease !important;
    z-index: 1 !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-card:hover,
.unitybooking-subscription-plans .ub-subscriptionplan-card:focus-within,
.unitybooking-subscription-plans .ub-subscriptionplan-card.is-highlighted {
    background: var(--ub-du-panel) !important;
    border-color: #00ff00 !important;
    box-shadow: 0 0 0 .2rem rgba(0, 255, 0, .28), 0 0 2rem rgba(0, 255, 0, .45) !important;
    color: var(--ub-du-text) !important;
    transform: scale(1.035) !important;
    z-index: 3 !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-title-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .75rem !important;
    padding: 0 !important;
    background: #272727 !important;
    border-left: 4px solid var(--ub-du-accent) !important;
    min-height: 4.8rem !important;
    position: relative !important;
    overflow: hidden !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-card:hover .ub-subscriptionplan-title-row,
.unitybooking-subscription-plans .ub-subscriptionplan-card:focus-within .ub-subscriptionplan-title-row,
.unitybooking-subscription-plans .ub-subscriptionplan-card.is-highlighted .ub-subscriptionplan-title-row,
.unitybooking-subscription-plans .ub-subscriptionplan-card:hover .ub-subscriptionplan-fact,
.unitybooking-subscription-plans .ub-subscriptionplan-card:focus-within .ub-subscriptionplan-fact,
.unitybooking-subscription-plans .ub-subscriptionplan-card.is-highlighted .ub-subscriptionplan-fact,
.unitybooking-subscription-plans .ub-subscriptionplan-card:hover .ub-subscriptionplan-scope > div,
.unitybooking-subscription-plans .ub-subscriptionplan-card:focus-within .ub-subscriptionplan-scope > div,
.unitybooking-subscription-plans .ub-subscriptionplan-card.is-highlighted .ub-subscriptionplan-scope > div {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--ub-du-text) !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-card:hover .ub-subscriptionplan-price-panel,
.unitybooking-subscription-plans .ub-subscriptionplan-card:focus-within .ub-subscriptionplan-price-panel,
.unitybooking-subscription-plans .ub-subscriptionplan-card.is-highlighted .ub-subscriptionplan-price-panel {
    background: var(--ub-du-panel-soft) !important;
    border-color: #00ff00 !important;
    color: var(--ub-du-text) !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-title-row h2 {
    margin: 0 !important;
    font-size: 1.55rem !important;
    font-weight: normal !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    width: 100% !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-media {
    background: var(--ub-du-panel-soft) !important;
    border-bottom: 1px solid var(--ub-du-border) !important;
    overflow: hidden;
}

.unitybooking-subscription-plans .ub-subscriptionplan-media img {
    display: block;
    height: auto;
    width: 100%;
}

.unitybooking-subscription-plans .ub-subscriptionplan-card:hover .ub-subscriptionplan-title-row h2,
.unitybooking-subscription-plans .ub-subscriptionplan-card:focus-within .ub-subscriptionplan-title-row h2,
.unitybooking-subscription-plans .ub-subscriptionplan-card.is-highlighted .ub-subscriptionplan-title-row h2,
.unitybooking-subscription-plans .ub-subscriptionplan-card:hover .ub-subscriptionplan-description,
.unitybooking-subscription-plans .ub-subscriptionplan-card:focus-within .ub-subscriptionplan-description,
.unitybooking-subscription-plans .ub-subscriptionplan-card.is-highlighted .ub-subscriptionplan-description,
.unitybooking-subscription-plans .ub-subscriptionplan-card:hover .ub-subscriptionplan-fact span,
.unitybooking-subscription-plans .ub-subscriptionplan-card:focus-within .ub-subscriptionplan-fact span,
.unitybooking-subscription-plans .ub-subscriptionplan-card.is-highlighted .ub-subscriptionplan-fact span,
.unitybooking-subscription-plans .ub-subscriptionplan-card:hover .ub-subscriptionplan-scope span,
.unitybooking-subscription-plans .ub-subscriptionplan-card:focus-within .ub-subscriptionplan-scope span,
.unitybooking-subscription-plans .ub-subscriptionplan-card.is-highlighted .ub-subscriptionplan-scope span,
.unitybooking-subscription-plans .ub-subscriptionplan-card:hover .ub-subscriptionplan-price-note,
.unitybooking-subscription-plans .ub-subscriptionplan-card:focus-within .ub-subscriptionplan-price-note,
.unitybooking-subscription-plans .ub-subscriptionplan-card.is-highlighted .ub-subscriptionplan-price-note,
.unitybooking-subscription-plans .ub-subscriptionplan-card:hover .ub-subscriptionplan-fact strong,
.unitybooking-subscription-plans .ub-subscriptionplan-card:focus-within .ub-subscriptionplan-fact strong,
.unitybooking-subscription-plans .ub-subscriptionplan-card.is-highlighted .ub-subscriptionplan-fact strong,
.unitybooking-subscription-plans .ub-subscriptionplan-card:hover .ub-subscriptionplan-scope strong,
.unitybooking-subscription-plans .ub-subscriptionplan-card:focus-within .ub-subscriptionplan-scope strong,
.unitybooking-subscription-plans .ub-subscriptionplan-card.is-highlighted .ub-subscriptionplan-scope strong,
.unitybooking-subscription-plans .ub-subscriptionplan-card:hover .ub-subscriptionplan-price,
.unitybooking-subscription-plans .ub-subscriptionplan-card:focus-within .ub-subscriptionplan-price,
.unitybooking-subscription-plans .ub-subscriptionplan-card.is-highlighted .ub-subscriptionplan-price {
    color: var(--ub-du-text) !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-badges {
    position: absolute !important;
    top: .65rem !important;
    right: .75rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: .35rem !important;
    max-width: 7.5rem !important;
    z-index: 1 !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-badge {
    display: inline-flex !important;
    align-items: center !important;
    padding: .38rem .95rem !important;
    background: var(--ub-du-panel-soft) !important;
    border: 1px solid var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
    font-size: .88rem !important;
    line-height: 1.25 !important;
    position: static !important;
    white-space: nowrap !important;
    justify-content: center !important;
    max-width: 100% !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-badge-accent {
    background: var(--ub-du-accent) !important;
    border-color: var(--ub-du-accent) !important;
    color: #202020 !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    padding: 1rem !important;
    flex: 1 1 auto !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-main {
    display: flex !important;
    flex-direction: column !important;
    gap: .85rem !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-description {
    color: var(--ub-du-muted) !important;
    line-height: 1.35 !important;
    min-height: 4.1rem !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-facts {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .75rem !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-fact,
.unitybooking-subscription-plans .ub-subscriptionplan-scope > div {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    color: var(--ub-du-text) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    min-height: 3.25rem !important;
    padding: .25rem 0 .25rem 2.75rem !important;
    position: relative !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-fact::before,
.unitybooking-subscription-plans .ub-subscriptionplan-scope > div::before {
    align-items: center !important;
    color: #00ff00 !important;
    content: "✓" !important;
    display: flex !important;
    font-size: 2.3rem !important;
    font-weight: 800 !important;
    justify-content: flex-start !important;
    left: 0 !important;
    line-height: 1 !important;
    padding-top: 0 !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-fact > *,
.unitybooking-subscription-plans .ub-subscriptionplan-scope > div > * {
    min-width: 0 !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-price-panel {
    background: var(--ub-du-panel-soft) !important;
    border: 1px solid var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
    padding: .7rem .75rem !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-fact span,
.unitybooking-subscription-plans .ub-subscriptionplan-scope span,
.unitybooking-subscription-plans .ub-subscriptionplan-price-note {
    display: block !important;
    color: var(--ub-du-muted) !important;
    font-size: .82rem !important;
    line-height: 1.2 !important;
    margin-bottom: .25rem !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-fact strong,
.unitybooking-subscription-plans .ub-subscriptionplan-scope strong {
    display: block !important;
    color: var(--ub-du-text) !important;
    font-weight: normal !important;
    line-height: 1.25 !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-scope {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .75rem !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-price-panel {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: .75rem !important;
    margin-top: auto !important;
}

.unitybooking-subscription-plans .ub-subscriptionplan-price {
    color: var(--ub-du-text) !important;
    font-size: 1.65rem !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
}

.unitybooking-subscription-plans .btn-primary,
.unitybooking-subscription-plans .btn-primary:hover,
.unitybooking-subscription-plans .btn-primary:focus,
.unitybooking-subscription-plans .btn-primary:active {
    background: var(--ub-du-accent) !important;
    border-color: var(--ub-du-accent) !important;
    color: #202020 !important;
    font-size: 1.08rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    min-height: 3.15rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: .85rem 1.1rem !important;
}

.unitybooking-subscription-plans .btn-primary:hover,
.unitybooking-subscription-plans .btn-primary:focus {
    filter: brightness(1.08) !important;
}

.unitybooking-subscription-plans .btn-outline-primary {
    background: var(--ub-du-accent) !important;
    border-color: var(--ub-du-accent) !important;
    color: #202020 !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    min-height: 2.8rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.unitybooking-subscription-plans .btn-outline-primary:hover,
.unitybooking-subscription-plans .btn-outline-primary:focus {
    background: var(--ub-du-accent) !important;
    border-color: var(--ub-du-accent) !important;
    color: #202020 !important;
}

@media (max-width: 991.98px) {
    .unitybooking-subscription-plans .ub-subscriptionplan-body,
    .unitybooking-subscription-plans .ub-subscriptionplan-facts,
    .unitybooking-subscription-plans .ub-subscriptionplan-scope {
        grid-template-columns: 1fr !important;
    }

    .unitybooking-subscription-plans .ub-subscriptionplans-header,
    .unitybooking-subscription-plans .ub-subscriptionplan-title-row {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .unitybooking-subscription-plans .ub-subscriptionplan-badges {
        justify-content: flex-start !important;
    }
}

.com-unitybooking-checkout .ub-submit-row .ub-waiver-info-toggle .ub-waiver-info-icon {
    width: 1.55rem !important;
    height: 1.55rem !important;
    border-radius: 999px !important;
    background: #2ba84a !important;
    color: var(--ub-du-text) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    font-style: normal !important;
    line-height: 1 !important;
}

.com-unitybooking-checkout .ub-submit-row .ub-waiver-info-toggle .ub-waiver-info-label {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

.com-unitybooking-checkout .ub-submit-row .ub-waiver-info-toggle:hover,
.com-unitybooking-checkout .ub-submit-row .ub-waiver-info-toggle:focus,
.com-unitybooking-checkout .ub-submit-row .ub-waiver-info-toggle.is-active,
.com-unitybooking-checkout .ub-submit-row .ub-waiver-info-toggle[aria-expanded="true"] {
    background: rgba(43, 168, 74, 0.22) !important;
    border-color: #2ba84a !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-checkout .ub-submit-row .ub-waiver-info-toggle:focus-visible {
    outline: 2px solid rgba(var(--color-white-rgb, 255, 255, 255), 0.75) !important;
    outline-offset: 2px !important;
}

.com-unitybooking-checkout .ub-waiver-info-row .alert {
    border-left: 4px solid var(--ub-du-accent) !important;
}

.com-unitybooking-checkout #ub-persons {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

.com-unitybooking-checkout #ub-time,
.com-unitybooking-checkout .ub-person-stepper,
.com-unitybooking-checkout .ub-person-stepper .form-control,
.com-unitybooking-checkout .ub-person-stepper-btn {
    height: 3rem !important;
    min-height: 3rem !important;
}

.com-unitybooking-checkout .ub-person-stepper .form-control,
.com-unitybooking-checkout .ub-person-stepper-btn {
    line-height: 1.2 !important;
}

.com-unitybooking-checkout #ub-persons::-webkit-outer-spin-button,
.com-unitybooking-checkout #ub-persons::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.com-unitybooking-checkout .ub-summary-facts {
    grid-template-columns: 1fr !important;
    gap: .55rem !important;
}

.com-unitybooking-checkout .ub-summary-card .card-body > .ub-summary-block,
.com-unitybooking-checkout .ub-summary-card .card-body > .ub-summary-lines,
.com-unitybooking-checkout .ub-summary-card .card-body > .card.border-0.bg-light,
.com-unitybooking-checkout .ub-summary-card .card-body > .ub-summary-actions,
.com-unitybooking-checkout .ub-summary-card .ub-summary-facts {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-top: 0 !important;
}

.com-unitybooking-checkout .ub-summary-card .card-body > .card.border-0.bg-light > .card-body {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.com-unitybooking-checkout .ub-summary-card .ub-summary-section-title,
.com-unitybooking-checkout .ub-summary-card .ub-summary-note,
.com-unitybooking-checkout .ub-summary-card .ub-summary-lines #ub-summary-rows {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.com-unitybooking-checkout .ub-summary-card .ub-summary-section-title {
    padding-top: 0 !important;
}

.com-unitybooking-checkout .ub-summary-card .ub-summary-total-row {
    background: transparent !important;
    border-top: 1px solid var(--ub-du-border) !important;
    margin-top: .75rem !important;
    padding: .75rem 0 0 !important;
}

.com-unitybooking-checkout .ub-summary-card .ub-summary-note {
    padding-bottom: 0 !important;
}

.com-unitybooking-checkout .ub-summary-card .card-body {
    padding: 1.15rem !important;
}

.com-unitybooking-checkout .ub-summary-card .card-body > .alert,
.com-unitybooking-checkout .ub-summary-card .card-body > .ub-summary-block,
.com-unitybooking-checkout .ub-summary-card .card-body > .ub-summary-lines,
.com-unitybooking-checkout .ub-summary-card .card-body > .card.border-0.bg-light,
.com-unitybooking-checkout .ub-summary-card .card-body > .ub-summary-actions {
    margin: 0 0 1.15rem !important;
}

.com-unitybooking-checkout .ub-summary-card .card-body > :last-child {
    margin-bottom: 0 !important;
}

.com-unitybooking-checkout .ub-ticket-compact-description {
    color: var(--ub-du-text) !important;
    line-height: 1.35 !important;
}

.com-unitybooking-checkout .ub-ticket-compact-description p:last-child {
    margin-bottom: 0 !important;
}

.com-unitybooking-checkout .ub-ticket-compact-description a {
    color: var(--ub-du-accent) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.com-unitybooking-ticketlist .ub-ticketlist-description {
    color: var(--ub-du-text) !important;
    line-height: 1.35 !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-description p:last-child {
    margin-bottom: 0 !important;
}

.com-unitybooking-ticketlist .ub-ticketlist-description a {
    color: var(--ub-du-accent) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.com-unitybooking-checkout .ub-summary-card .ub-summary-selection-title,
.com-unitybooking-checkout .ub-summary-card .ub-summary-section-title,
.com-unitybooking-checkout .ub-summary-card .ub-summary-action-title,
.com-unitybooking-checkout .ub-summary-card .card-body > .card.border-0.bg-light > .card-body > .fw-semibold.mb-2 {
    color: var(--ub-du-text) !important;
    font-size: 1rem !important;
    font-weight: normal !important;
    letter-spacing: 0 !important;
    line-height: 1.25 !important;
    margin: 0 0 .75rem !important;
    padding: .55rem .75rem .55rem .75rem !important;
    background: rgba(var(--color-white-rgb, 255, 255, 255), 0.05) !important;
    border-left: 4px solid var(--ub-du-accent) !important;
    text-transform: none !important;
}

.com-unitybooking-checkout .ub-submit-row .ub-waiver-info-toggle,
.com-unitybooking-checkout .ub-submit-row .ub-waiver-info-toggle .ub-waiver-info-icon {
    border-radius: 0 !important;
}

.com-unitybooking-site-default h1,
.com-unitybooking-site-default h2,
.com-unitybooking-site-default h3,
.com-unitybooking-site-default h4,
.com-unitybooking-ticketlist h1,
.com-unitybooking-ticketlist h2,
.com-unitybooking-ticketlist h3,
.com-unitybooking-ticketlist h4,
.com-unitybooking-checkout h1,
.com-unitybooking-checkout h2,
.com-unitybooking-checkout h3,
.com-unitybooking-checkout h4,
.com-unitybooking-account h1,
.com-unitybooking-account h2,
.com-unitybooking-account h3,
.com-unitybooking-account h4,
.com-unitybooking-account-booking h1,
.com-unitybooking-account-booking h2,
.com-unitybooking-account-booking h3,
.com-unitybooking-account-booking h4,
.unitybooking-subscription-plans h1,
.unitybooking-subscription-plans h2,
.unitybooking-subscription-plans h3,
.unitybooking-subscription-checkout h1,
.unitybooking-subscription-checkout h2,
.unitybooking-subscription-checkout h3,
.unitybooking-voucher-checkout h1,
.unitybooking-voucher-checkout h2,
.unitybooking-voucher-checkout h3,
.mod-unitybooking-offers .ub-offer-title,
.mod-unitybooking-offers .ub-offer-price {
    color: var(--ub-du-text) !important;
}

.com-unitybooking-site-default .text-muted,
.com-unitybooking-ticketlist .text-muted,
.com-unitybooking-checkout .text-muted,
.com-unitybooking-checkout .form-text,
.com-unitybooking-checkout .ub-flow-card-subtitle,
.com-unitybooking-checkout .ub-section-meta,
.com-unitybooking-checkout .ub-section-chevron,
.com-unitybooking-checkout .ub-duration-option small,
.com-unitybooking-checkout .ub-calendar-weekdays span,
.com-unitybooking-checkout .ub-summary-selection-title,
.com-unitybooking-checkout .ub-summary-section-title,
.com-unitybooking-checkout .ub-summary-note,
.com-unitybooking-checkout .ub-compact-note,
.com-unitybooking-checkout .ub-ticket-highlight-label,
.com-unitybooking-account .text-muted,
.com-unitybooking-account-booking .text-muted,
.unitybooking-subscription-plans .text-muted,
.unitybooking-subscription-checkout .text-muted,
.unitybooking-voucher-checkout .text-muted,
.mod-unitybooking-offers .ub-offer-description,
.mod-unitybooking-offers .ub-offers-intro {
    color: var(--ub-du-muted) !important;
}

.com-unitybooking-checkout .ub-contact-fields,
.unitybooking-subscription-checkout .ub-contact-fields,
.com-unitybooking-cartcheckout .ub-contact-fields,
.com-unitybooking-checkout .ub-contact-fields > :last-child,
.unitybooking-subscription-checkout .ub-contact-fields > :last-child,
.com-unitybooking-cartcheckout .ub-contact-fields > :last-child,
.com-unitybooking-checkout .ub-contact-fields .form-text:last-child,
.unitybooking-subscription-checkout .ub-contact-fields .form-text:last-child,
.com-unitybooking-cartcheckout .ub-contact-fields .form-text:last-child,
.com-unitybooking-checkout .ub-contact-fields .form-check:last-child,
.com-unitybooking-checkout .ub-contact-fields .form-check.mb-3,
.com-unitybooking-checkout .ub-contact-fields .form-check-label.fw-semibold {
    margin-bottom: 0 !important;
}

.unitybooking-subscription-checkout .ub-mode-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.unitybooking-subscription-checkout .ub-subscription-checkout-hero .card-body {
    padding: 1rem !important;
}

.unitybooking-subscription-checkout .ub-subscription-checkout-hero-media {
    background: var(--ub-du-panel-soft) !important;
    border: 1px solid var(--ub-du-border) !important;
    height: 100%;
    min-height: 180px;
    overflow: hidden;
}

.unitybooking-subscription-checkout .ub-subscription-checkout-hero-media img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.unitybooking-subscription-checkout .ub-subscription-checkout-titlebar {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.unitybooking-subscription-checkout .ub-subscription-checkout-titlebar .btn {
    flex-shrink: 0;
}

.unitybooking-subscription-checkout .ub-data-block {
    border: 0 !important;
    padding: 0 !important;
}

.unitybooking-subscription-checkout .ub-auth-section {
    background: var(--ub-du-panel) !important;
}

.unitybooking-subscription-checkout .ub-auth-option-box {
    background: var(--ub-du-panel-soft) !important;
}

.unitybooking-subscription-checkout .ub-auth-choice-card {
    background: var(--ub-du-panel-soft) !important;
    border: 1px solid var(--ub-du-border) !important;
    display: block;
    min-height: 100%;
    padding: .9rem 1rem !important;
}

.unitybooking-subscription-checkout .ub-data-block-title {
    background: rgba(var(--color-white-rgb, 255, 255, 255), 0.05);
    border-left: 4px solid var(--ub-du-accent);
    color: var(--ub-du-text);
    font-weight: 400;
    margin: 0 0 .9rem;
    padding: .5rem .75rem;
}

.unitybooking-subscription-checkout .ub-subscription-billing-date-label {
    color: var(--ub-du-text);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25;
}

.unitybooking-subscription-checkout .ub-subscription-billing-date-value {
    color: var(--ub-du-muted);
    font-size: 1rem;
    line-height: 1.25;
    margin-top: .35rem;
}

.unitybooking-subscription-checkout .form-check {
    align-items: center !important;
}

.unitybooking-subscription-checkout .form-check-input {
    appearance: none !important;
    background-color: transparent !important;
    border-color: #00ff00 !important;
    border-width: 2px !important;
    box-shadow: none !important;
    flex: 0 0 1.35rem !important;
    float: none !important;
    height: 1.35rem !important;
    margin: 0 .6rem 0 0 !important;
    width: 1.35rem !important;
}

.unitybooking-subscription-checkout .form-check-input:checked {
    background-color: #00ff00 !important;
    border-color: #00ff00 !important;
}

.unitybooking-subscription-checkout .form-check-input:focus {
    border-color: #00ff00 !important;
    box-shadow: 0 0 0 .2rem rgba(0, 255, 0, .18) !important;
}

.unitybooking-subscription-checkout .form-check-input[type="checkbox"]:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%235f5f5f' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
}

.unitybooking-subscription-checkout .form-check-label {
    align-items: center !important;
    color: var(--ub-du-text) !important;
    display: flex !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    min-height: 1.35rem !important;
    padding-top: 0 !important;
}

@media (min-width: 992px) {
    .unitybooking-subscription-checkout .ub-subscription-checkout-sidebar {
        position: sticky !important;
        top: 6rem;
    }
}

@media (max-width: 767.98px) {
    .unitybooking-subscription-checkout .ub-mode-grid {
        grid-template-columns: 1fr;
    }

    .unitybooking-subscription-checkout .ub-subscription-checkout-titlebar {
        align-items: stretch;
        flex-direction: column;
    }

    .unitybooking-subscription-checkout .ub-subscription-checkout-hero-media {
        min-height: 160px;
    }
}

/* Waiver pages: align public waiver, invite and signature views with the ticket layout. */
.ub-waiver-page {
    color: var(--ub-du-text) !important;
    margin: 0 auto !important;
    max-width: 1120px !important;
    padding: 1rem !important;
}

.ub-waiver-shell {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
}

.ub-waiver-page .ub-waiver-panel,
.ub-waiver-page .ub-waiver-fact,
.ub-waiver-page .bg-white,
.ub-waiver-page .bg-light,
.ub-waiver-page .bg-light-subtle,
.unitybooking-customercard .card,
.unitybooking-customercard .card-header,
.unitybooking-customercard .card-body,
.unitybooking-customercard .bg-white,
.unitybooking-customercard .bg-light,
.unitybooking-customercard .bg-light-subtle {
    background: var(--ub-du-panel) !important;
    border: 1px solid var(--ub-du-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ub-du-text) !important;
}

.ub-waiver-page .ub-waiver-panel {
    padding: 1.5rem !important;
}

.ub-waiver-page .ub-waiver-summary-grid,
.ub-waiver-page .ub-waiver-form-grid {
    display: grid !important;
    gap: 1rem !important;
}

.ub-waiver-page .ub-waiver-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.ub-waiver-page .ub-waiver-fact {
    padding: 1rem !important;
}

.ub-waiver-page .ub-waiver-label,
.ub-waiver-page .text-muted,
.ub-waiver-page .form-text,
.unitybooking-customercard .text-muted {
    color: var(--ub-du-muted) !important;
}

.ub-waiver-page .form-label {
    color: var(--ub-du-text) !important;
    font-weight: 600 !important;
}

.ub-waiver-page .form-control,
.ub-waiver-page .form-select {
    background: rgba(var(--color-dark-black-rgb, 0, 0, 0), 0.55) !important;
    border-color: var(--ub-du-border) !important;
    border-radius: 0 !important;
    color: var(--ub-du-text) !important;
}

.ub-waiver-page .form-control:focus,
.ub-waiver-page .form-select:focus {
    background: rgba(var(--color-dark-black-rgb, 0, 0, 0), 0.75) !important;
    border-color: var(--ub-du-accent) !important;
    box-shadow: 0 0 0 .2rem rgba(0, 255, 0, .12) !important;
    color: var(--ub-du-text) !important;
}

.ub-waiver-page .alert {
    background: var(--ub-du-panel-soft) !important;
    border-color: var(--ub-du-border) !important;
    border-radius: 0 !important;
    color: var(--ub-du-text) !important;
}

.ub-waiver-page .btn,
.unitybooking-customercard .btn {
    border-radius: 0 !important;
}

.ub-waiver-page .btn-primary,
.ub-waiver-page .btn-outline-primary:hover,
.ub-waiver-page .btn-outline-secondary:hover,
.unitybooking-customercard .btn-primary,
.unitybooking-customercard .btn-outline-primary:hover {
    background: var(--ub-du-accent) !important;
    border-color: var(--ub-du-accent) !important;
    color: #202020 !important;
}

.ub-waiver-page .btn-outline-primary,
.ub-waiver-page .btn-outline-secondary,
.unitybooking-customercard .btn-outline-primary,
.unitybooking-customercard .btn-outline-secondary {
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.ub-waiver-page .ub-waiver-header {
    background: rgba(var(--color-white-rgb, 255, 255, 255), 0.05) !important;
    border-left: 4px solid var(--ub-du-accent) !important;
    margin: 0 0 1.25rem !important;
    padding: .85rem 1rem !important;
}

.ub-waiver-page .ub-waiver-header h1,
.ub-waiver-page .ub-waiver-header h2 {
    color: var(--ub-du-text) !important;
    font-size: clamp(1.35rem, 2vw, 1.85rem) !important;
    line-height: 1.12 !important;
    margin: 0 !important;
}

.ub-waiver-page .ub-waiver-header .text-muted {
    margin-top: .35rem !important;
}

.ub-waiver-page .ub-waiver-people-block {
    background: var(--ub-du-panel-soft) !important;
    border: 1px solid var(--ub-du-border) !important;
    border-left: 4px solid var(--ub-du-accent) !important;
    border-radius: 0 !important;
    padding: 1rem !important;
}

.ub-waiver-page .ub-waiver-people-title {
    color: var(--ub-du-text) !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

.ub-waiver-page #ub-public-waiver-add-person {
    background: var(--ub-du-accent) !important;
    border-color: var(--ub-du-accent) !important;
    color: #202020 !important;
    font-weight: 700 !important;
    padding: .55rem .9rem !important;
}

.ub-waiver-page .ub-waiver-account-block {
    align-items: center !important;
    background: var(--ub-du-panel-soft) !important;
    border: 1px solid var(--ub-du-border) !important;
    border-left: 4px solid var(--ub-du-accent) !important;
    border-radius: 0 !important;
    display: flex !important;
    gap: .75rem !important;
    padding: 1rem !important;
}

.ub-waiver-page .ub-waiver-account-block .form-check-input {
    margin: 0 !important;
}

.ub-waiver-page .ub-waiver-account-block .form-check-label {
    color: var(--ub-du-text) !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

.ub-waiver-page .ub-waiver-text-block {
    border-radius: 0 !important;
}

.ub-waiver-page a:not(.btn),
.unitybooking-customercard a:not(.btn) {
    color: var(--ub-du-accent) !important;
    text-decoration: underline !important;
    text-underline-offset: .18em !important;
}

.ub-waiver-signature-pad {
    background: #f2f4f7 !important;
    border: 1px solid var(--ub-du-border) !important;
    border-radius: 0 !important;
}

.ub-waiver-page .img-fluid.border {
    border-color: var(--ub-du-border) !important;
    border-radius: 0 !important;
}

@media (max-width: 767.98px) {
    .ub-waiver-page {
        padding: .75rem !important;
    }

    .ub-waiver-page .ub-waiver-summary-grid {
        grid-template-columns: 1fr !important;
    }

    .ub-waiver-page .ub-waiver-panel {
        padding: 1rem !important;
    }
}

.unitybooking-register,
.unitybooking-register * ,
.unitybooking-register *::before,
.unitybooking-register *::after,
.com-unitybooking-cartcheckout,
.com-unitybooking-cartcheckout *,
.com-unitybooking-cartcheckout *::before,
.com-unitybooking-cartcheckout *::after {
    border-radius: 0 !important;
}

.unitybooking-register,
.com-unitybooking-cartcheckout {
    color: var(--ub-du-text) !important;
}

.unitybooking-register .card,
.unitybooking-register .ub-data-block,
.com-unitybooking-cartcheckout .card,
.com-unitybooking-cartcheckout .ub-data-block {
    background: var(--ub-du-panel) !important;
    border: 1px solid var(--ub-du-border) !important;
    box-shadow: none !important;
    color: var(--ub-du-text) !important;
}

.unitybooking-register .card-body,
.com-unitybooking-cartcheckout .card-body {
    padding: 1rem !important;
}

.unitybooking-register .ub-data-block,
.com-unitybooking-cartcheckout .ub-data-block {
    padding: 1rem !important;
}

.unitybooking-register h1,
.unitybooking-register h2,
.unitybooking-register h3,
.unitybooking-register .form-label,
.com-unitybooking-cartcheckout h1,
.com-unitybooking-cartcheckout h2,
.com-unitybooking-cartcheckout h3,
.com-unitybooking-cartcheckout .form-label {
    color: var(--ub-du-text) !important;
}

.unitybooking-register .ub-data-block-title,
.com-unitybooking-cartcheckout .ub-data-block-title {
    background: rgba(var(--color-white-rgb, 255, 255, 255), 0.05);
    border-left: 4px solid var(--ub-du-accent);
    color: var(--ub-du-text) !important;
    font-weight: 400;
    margin: 0 0 .9rem;
    padding: .5rem .75rem;
}

.unitybooking-register .text-muted,
.unitybooking-register .form-text,
.com-unitybooking-cartcheckout .text-muted,
.com-unitybooking-cartcheckout .form-text {
    color: var(--ub-du-muted) !important;
}

.unitybooking-register .form-control,
.com-unitybooking-cartcheckout .form-control {
    background-color: rgba(var(--color-dark-black-rgb, 0, 0, 0), 0.55) !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.unitybooking-register .form-control:focus,
.com-unitybooking-cartcheckout .form-control:focus {
    background-color: rgba(var(--color-dark-black-rgb, 0, 0, 0), 0.75) !important;
    border-color: var(--ub-du-accent) !important;
    box-shadow: 0 0 0 .2rem rgba(215, 25, 32, .18) !important;
    color: var(--ub-du-text) !important;
}

.unitybooking-register .form-control::placeholder,
.com-unitybooking-cartcheckout .form-control::placeholder {
    color: rgba(var(--color-white-rgb, 255, 255, 255), 0.48) !important;
}

.unitybooking-register .alert,
.com-unitybooking-cartcheckout .alert {
    background: var(--ub-du-panel-soft) !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.unitybooking-register .form-check,
.com-unitybooking-cartcheckout .form-check {
    align-items: center !important;
}

.unitybooking-register .form-check-input,
.com-unitybooking-cartcheckout .form-check-input {
    background-color: transparent !important;
    border-color: #00ff00 !important;
    border-width: 2px !important;
    box-shadow: none !important;
    flex: 0 0 1.35rem !important;
    float: none !important;
    height: 1.35rem !important;
    margin: 0 .6rem 0 0 !important;
    width: 1.35rem !important;
}

.unitybooking-register .form-check-input:checked,
.com-unitybooking-cartcheckout .form-check-input:checked {
    background-color: #00ff00 !important;
    border-color: #00ff00 !important;
}

.unitybooking-register .form-check-input[type="checkbox"]:checked,
.com-unitybooking-cartcheckout .form-check-input[type="checkbox"]:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%235f5f5f' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
}

.unitybooking-register .btn-primary,
.unitybooking-register .btn-primary:hover,
.unitybooking-register .btn-primary:focus,
.unitybooking-register .btn-primary:active,
.com-unitybooking-cartcheckout .btn-primary,
.com-unitybooking-cartcheckout .btn-primary:hover,
.com-unitybooking-cartcheckout .btn-primary:focus,
.com-unitybooking-cartcheckout .btn-primary:active {
    background: var(--ub-du-accent) !important;
    border-color: var(--ub-du-accent) !important;
    color: #202020 !important;
}

.unitybooking-register .btn-outline-primary,
.com-unitybooking-cartcheckout .btn-outline-primary {
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.unitybooking-register .btn-outline-primary:hover,
.unitybooking-register .btn-outline-primary:focus,
.com-unitybooking-cartcheckout .btn-outline-primary:hover,
.com-unitybooking-cartcheckout .btn-outline-primary:focus {
    background: var(--ub-du-accent) !important;
    border-color: var(--ub-du-accent) !important;
    color: #202020 !important;
}

.com-unitybooking-site-default .form-control,
.com-unitybooking-ticketlist .form-control,
.com-unitybooking-checkout .form-control,
.com-unitybooking-account .form-control,
.com-unitybooking-account-booking .form-control,
.unitybooking-subscription-checkout .form-control,
.unitybooking-voucher-checkout .form-control,
.com-unitybooking-cartcheckout .form-control,
.unitybooking-cart-checkout .form-control,
.unitybooking-waiver .form-control,
.com-unitybooking-site-default select,
.com-unitybooking-checkout select,
.unitybooking-voucher-checkout select {
    background-color: rgba(var(--color-dark-black-rgb, 0, 0, 0), 0.55) !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-site-default .form-control:focus,
.com-unitybooking-ticketlist .form-control:focus,
.com-unitybooking-checkout .form-control:focus,
.com-unitybooking-account .form-control:focus,
.com-unitybooking-account-booking .form-control:focus,
.unitybooking-subscription-checkout .form-control:focus,
.unitybooking-voucher-checkout .form-control:focus,
.com-unitybooking-cartcheckout .form-control:focus,
.unitybooking-cart-checkout .form-control:focus,
.unitybooking-waiver .form-control:focus {
    background-color: rgba(var(--color-dark-black-rgb, 0, 0, 0), 0.75) !important;
    border-color: var(--ub-du-accent) !important;
    color: var(--ub-du-text) !important;
    box-shadow: 0 0 0 .2rem rgba(215, 25, 32, .18) !important;
}

.com-unitybooking-site-default .form-control::placeholder,
.com-unitybooking-checkout .form-control::placeholder,
.com-unitybooking-account-booking .form-control::placeholder,
.unitybooking-subscription-checkout .form-control::placeholder,
.com-unitybooking-cartcheckout .form-control::placeholder,
.unitybooking-voucher-checkout .form-control::placeholder {
    color: rgba(var(--color-white-rgb, 255, 255, 255), 0.48) !important;
}

.com-unitybooking-site-default .table,
.com-unitybooking-ticketlist .table,
.com-unitybooking-account .table,
.com-unitybooking-account-booking .table,
.unitybooking-cart .table,
.unitybooking-cart-checkout .table,
.unitybooking-voucher-checkout .table,
.unitybooking-subscription-checkout .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--ub-du-text);
    --bs-table-border-color: var(--ub-du-border);
    --bs-table-striped-bg: rgba(var(--color-white-rgb, 255, 255, 255), 0.05);
    --bs-table-striped-color: var(--ub-du-text);
    --bs-table-hover-bg: rgba(var(--color-white-rgb, 255, 255, 255), 0.08);
    --bs-table-hover-color: var(--ub-du-text);
    color: var(--ub-du-text) !important;
    border-color: var(--ub-du-border) !important;
}

.com-unitybooking-site-default .alert,
.com-unitybooking-ticketlist .alert,
.com-unitybooking-checkout .alert,
.com-unitybooking-account .alert,
.com-unitybooking-account-booking .alert,
.unitybooking-subscription-plans .alert,
.unitybooking-subscription-checkout .alert,
.unitybooking-voucher-checkout .alert,
.unitybooking-cart .alert,
.unitybooking-cart-checkout .alert,
.unitybooking-customercard .alert,
.unitybooking-waiver .alert,
.mod-unitybooking-offers .alert {
    background: var(--ub-du-panel-soft) !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-site-default .alert-info,
.com-unitybooking-ticketlist .alert-info,
.com-unitybooking-checkout .alert-info,
.unitybooking-subscription-checkout .alert-info,
.unitybooking-voucher-checkout .alert-info,
.mod-unitybooking-offers .alert-info {
    border-left: 4px solid var(--ub-du-accent) !important;
}

.com-unitybooking-checkout .ub-calendar-day.is-selected,
.com-unitybooking-checkout .ub-duration-option.is-active,
.com-unitybooking-checkout .ub-compact-choice:has(input:checked),
.com-unitybooking-checkout .ub-payment-option:has(input:checked),
.com-unitybooking-cartcheckout .ub-compact-choice:has(input:checked),
.com-unitybooking-cartcheckout .ub-payment-option:has(input:checked),
.unitybooking-voucher-checkout .ub-payment-option:has(input:checked),
.unitybooking-voucher-checkout .ub-choice-card:has(input:checked),
.unitybooking-subscription-checkout .ub-compact-choice:has(input:checked),
.unitybooking-voucher-checkout .ub-voucher-offer-card:has(input:checked) {
    border-color: var(--ub-du-accent) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-checkout .ub-choice-card.ub-compact-choice:has(input:checked),
.com-unitybooking-cartcheckout .ub-choice-card.ub-compact-choice:has(input:checked),
.unitybooking-subscription-checkout .ub-choice-card.ub-compact-choice:has(input:checked),
.unitybooking-voucher-checkout .ub-choice-card.ub-compact-choice:has(input:checked),
.unitybooking-voucher-checkout .ub-voucher-offer-card:has(input:checked) {
    background: transparent !important;
    background-color: transparent !important;
}

.com-unitybooking-checkout .ub-calendar-day.is-selected,
.com-unitybooking-checkout .ub-duration-option.is-active,
.com-unitybooking-checkout .ub-payment-option:has(input:checked),
.com-unitybooking-cartcheckout .ub-payment-option:has(input:checked),
.unitybooking-voucher-checkout .ub-payment-option:has(input:checked) {
    background: var(--ub-du-panel) !important;
    background-color: var(--ub-du-panel) !important;
}

.com-unitybooking-checkout .ub-selectable-tile:has(input:checked),
.com-unitybooking-checkout .ub-selectable-tile.ub-option-selected {
    border-color: var(--ub-du-accent) !important;
    color: var(--ub-du-text) !important;
    box-shadow: none !important;
}

.com-unitybooking-checkout .ub-option-description {
    color: var(--ub-du-muted) !important;
}

.com-unitybooking-checkout .ub-selectable-tile {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: start !important;
}

.com-unitybooking-checkout .ub-option-price {
    align-self: start !important;
    color: #00ff00 !important;
}

.com-unitybooking-checkout .ub-chargeable-table-wrap {
    border-top-color: var(--ub-du-border) !important;
}

.com-unitybooking-checkout .ub-chargeable-table-option {
    background: transparent !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
    border-radius: 0 !important;
}

.com-unitybooking-checkout .ub-chargeable-table-option:has(input:checked) {
    background: transparent !important;
    border-color: var(--ub-du-accent) !important;
    box-shadow: none !important;
}

.com-unitybooking-checkout .ub-chargeable-table-option.is-disabled {
    background: rgba(var(--color-white-rgb, 255, 255, 255), 0.05) !important;
    color: rgba(var(--color-white-rgb, 255, 255, 255), 0.55) !important;
}

.com-unitybooking-checkout .ub-chargeable-table-meta,
.com-unitybooking-checkout .ub-chargeable-table-unavailable {
    color: var(--ub-du-muted) !important;
}

.com-unitybooking-checkout .ub-chargeable-table-price {
    color: #00ff00 !important;
}

.com-unitybooking-checkout .ub-calendar-day:disabled,
.com-unitybooking-checkout .ub-calendar-nav:disabled,
.com-unitybooking-checkout .ub-person-stepper-btn:disabled {
    background: rgba(var(--color-white-rgb, 255, 255, 255), 0.05) !important;
    color: rgba(var(--color-white-rgb, 255, 255, 255), 0.38) !important;
    border-color: rgba(var(--color-white-rgb, 255, 255, 255), 0.10) !important;
}

.com-unitybooking-site-default .btn-outline-secondary,
.com-unitybooking-site-default .btn-outline-primary,
.com-unitybooking-ticketlist .btn-outline-primary,
.com-unitybooking-checkout .btn-outline-primary,
.com-unitybooking-checkout .btn-outline-dark,
.com-unitybooking-account .btn-outline-primary,
.com-unitybooking-account-booking .btn-outline-primary,
.unitybooking-subscription-plans .btn-outline-primary,
.unitybooking-subscription-checkout .btn-link,
.unitybooking-voucher-checkout .btn-outline-primary {
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-site-default .btn-outline-secondary:hover,
.com-unitybooking-site-default .btn-outline-primary:hover,
.com-unitybooking-ticketlist .btn-outline-primary:hover,
.com-unitybooking-checkout .btn-outline-primary:hover,
.com-unitybooking-checkout .btn-outline-dark:hover,
.com-unitybooking-account .btn-outline-primary:hover,
.com-unitybooking-account-booking .btn-outline-primary:hover,
.unitybooking-subscription-plans .btn-outline-primary:hover,
.unitybooking-voucher-checkout .btn-outline-primary:hover {
    background: var(--ub-du-accent) !important;
    border-color: var(--ub-du-accent) !important;
    color: var(--ub-du-text) !important;
}

.mod-unitybooking-offers .ub-offer-badge,
.mod-unitybooking-offers .ub-offer-chip {
    background: var(--ub-du-panel-soft) !important;
    border: 1px solid var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.mod-unitybooking-offers .ub-offer-button,
.com-unitybooking-site-default .btn-primary,
.com-unitybooking-ticketlist .btn-primary,
.com-unitybooking-checkout .btn-primary,
.unitybooking-subscription-plans .btn-primary,
.unitybooking-subscription-checkout .btn-primary,
.unitybooking-subscription-checkout .btn-primary:hover,
.unitybooking-subscription-checkout .btn-primary:focus,
.unitybooking-subscription-checkout .btn-primary:active,
.unitybooking-voucher-checkout .btn-primary {
    background: var(--ub-du-accent) !important;
    border-color: var(--ub-du-accent) !important;
    color: var(--ub-du-text) !important;
}

.unitybooking-subscription-checkout .btn-primary,
.unitybooking-subscription-checkout .btn-primary:hover,
.unitybooking-subscription-checkout .btn-primary:focus,
.unitybooking-subscription-checkout .btn-primary:active,
.unitybooking-register .btn-primary,
.unitybooking-register .btn-primary:hover,
.unitybooking-register .btn-primary:focus,
.unitybooking-register .btn-primary:active {
    color: #202020 !important;
}

.com-unitybooking-checkout .ub-submit-row .btn-primary[type="submit"] {
    color: #202020 !important;
}

.com-unitybooking-ticketlist .btn-primary,
.com-unitybooking-ticketlist .btn-primary:hover,
.com-unitybooking-ticketlist .btn-primary:focus,
.com-unitybooking-ticketlist .btn-primary:active {
    color: #202020 !important;
}

.unitybooking-subscription-plans .btn-primary,
.unitybooking-subscription-plans .btn-primary:hover,
.unitybooking-subscription-plans .btn-primary:focus,
.unitybooking-subscription-plans .btn-primary:active,
.unitybooking-subscription-plans .btn-outline-primary,
.unitybooking-subscription-plans .btn-outline-primary:hover,
.unitybooking-subscription-plans .btn-outline-primary:focus,
.unitybooking-subscription-plans .btn-outline-primary:active {
    color: #202020 !important;
}

.com-unitybooking-checkout #ub-cart-add-button:hover,
.com-unitybooking-checkout #ub-cart-add-button:focus {
    color: #202020 !important;
}

.com-unitybooking-checkout #ub-duration-discount-info,
.com-unitybooking-checkout .ub-duration-discount-info,
.com-unitybooking-ticketlist .ub-duration-discount-info {
    display: block;
    padding: 0.65rem 0.75rem;
    border-left: 4px solid #00ff00;
    background: rgba(0, 255, 0, 0.08);
    color: #00ff00 !important;
    font-size: 0.92rem;
    line-height: 1.25;
}

.com-unitybooking-checkout #ub-duration-discount-info > div:first-child,
.com-unitybooking-checkout .ub-duration-discount-info > div:first-child,
.com-unitybooking-ticketlist .ub-duration-discount-info > div:first-child {
    font-size: 1.05rem;
    font-weight: 800;
    margin-bottom: 0.2rem;
}

.com-unitybooking-checkout .ub-field-label {
    display: flex;
    align-items: center;
    width: 100%;
    font-size: 0.86rem;
    font-weight: 800;
    color: var(--ub-du-text) !important;
    text-transform: uppercase;
    letter-spacing: 0;
    margin-bottom: 0.55rem;
    padding: .45rem .65rem;
    background: rgba(var(--color-white-rgb, 255, 255, 255), 0.05);
    border-left: 4px solid var(--ub-du-accent);
}

.com-unitybooking-checkout .ub-account-profile-note {
    display: block;
    width: 100%;
    padding: .65rem .75rem;
    background: rgba(var(--color-white-rgb, 255, 255, 255), 0.05);
    border-left: 4px solid var(--ub-du-accent);
    color: var(--ub-du-text) !important;
    font-weight: 700;
    line-height: 1.25;
}

.com-unitybooking-checkout .ub-account-profile-note a {
    color: #00ff00 !important;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.com-unitybooking-checkout .ub-account-profile-note a:hover,
.com-unitybooking-checkout .ub-account-profile-note a:focus {
    color: var(--ub-du-accent) !important;
}

/* Additional UnityBooking overrides for Bootstrap light utility classes used in account, cart and waiver views. */
.com-unitybooking-cart,
.com-unitybooking-cartcheckout,
.unitybooking-customercard {
    color: var(--ub-du-text) !important;
}

.com-unitybooking-cart .card,
.com-unitybooking-cartcheckout .card,
.com-unitybooking-cart .card-header,
.com-unitybooking-cartcheckout .card-header,
.unitybooking-customercard .card,
.unitybooking-customercard .card-header {
    background: var(--ub-du-panel) !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
    box-shadow: none !important;
}

.com-unitybooking-account .bg-white,
.com-unitybooking-account .bg-light,
.com-unitybooking-account .bg-light-subtle,
.unitybooking-subscription-checkout .bg-white,
.unitybooking-subscription-checkout .bg-light,
.unitybooking-subscription-checkout .bg-light-subtle,
.com-unitybooking-account-booking .bg-white,
.com-unitybooking-account-booking .bg-light,
.com-unitybooking-account-booking .bg-light-subtle,
.com-unitybooking-cart .bg-white,
.com-unitybooking-cart .bg-light,
.com-unitybooking-cart .bg-light-subtle,
.com-unitybooking-cartcheckout .bg-white,
.com-unitybooking-cartcheckout .bg-light,
.com-unitybooking-cartcheckout .bg-light-subtle,
.com-unitybooking-checkout .bg-white,
.com-unitybooking-checkout .bg-light,
.com-unitybooking-checkout .bg-light-subtle,
.com-unitybooking-ticketlist .bg-white,
.com-unitybooking-ticketlist .bg-light,
.com-unitybooking-ticketlist .bg-light-subtle,
.unitybooking-customercard .bg-white,
.unitybooking-customercard .bg-light,
.unitybooking-customercard .bg-light-subtle,
.unitybooking-voucher-checkout .bg-white,
.unitybooking-voucher-checkout .bg-light,
.unitybooking-voucher-checkout .bg-light-subtle {
    background: var(--ub-du-panel-soft) !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-account .badge.text-bg-light,
.com-unitybooking-account-booking .badge.text-bg-light,
.com-unitybooking-cart .badge.text-bg-light,
.com-unitybooking-cartcheckout .badge.text-bg-light,
.com-unitybooking-ticketlist .badge.text-bg-light,
.com-unitybooking-checkout .badge.text-bg-light,
.unitybooking-voucher-checkout .badge.text-bg-light,
.mod-unitybooking-offers .badge.text-bg-light {
    background: var(--ub-du-panel-soft) !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-cart .btn-outline-secondary,
.com-unitybooking-cartcheckout .btn-outline-secondary,
.unitybooking-customercard .btn-outline-primary {
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-cart .btn-outline-secondary:hover,
.com-unitybooking-cartcheckout .btn-outline-secondary:hover,
.unitybooking-customercard .btn-outline-primary:hover {
    background: var(--ub-du-accent) !important;
    border-color: var(--ub-du-accent) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-cart .text-muted,
.com-unitybooking-cartcheckout .text-muted,
.unitybooking-customercard .text-muted {
    color: var(--ub-du-muted) !important;
}

/* Account booking detail: override inline light card styles in the component template. */
.com-unitybooking-account-booking .ub-account-booking-header,
.com-unitybooking-account-booking .card.shadow-sm,
.com-unitybooking-account-booking .card-header,
.com-unitybooking-account-booking .card-body,
.com-unitybooking-account-booking .ub-account-table-wrap,
.com-unitybooking-account-booking .ub-account-total-row,
.com-unitybooking-account-booking .ub-account-total-row.is-highlight,
.com-unitybooking-account-booking .ub-account-note-box,
.com-unitybooking-account-booking .ub-account-mobile-list tr {
    background: var(--ub-du-panel) !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
    box-shadow: none !important;
}

.com-unitybooking-account-booking .ub-account-booking-header,
.com-unitybooking-account-booking .card-header,
.com-unitybooking-account-booking .ub-account-total-row.is-highlight {
    background: var(--ub-du-panel-soft) !important;
}

.com-unitybooking-account-booking .ub-account-table thead th,
.com-unitybooking-account-booking .ub-account-mobile-list td::before {
    color: var(--ub-du-muted) !important;
    border-color: var(--ub-du-border) !important;
}

.com-unitybooking-account-booking .ub-account-table tbody td,
.com-unitybooking-account-booking .ub-account-mobile-list tr {
    border-color: var(--ub-du-border) !important;
}

/* Account area: align overview and booking detail with checkout / ticket list. */
.com-unitybooking-account,
.com-unitybooking-account *,
.com-unitybooking-account *::before,
.com-unitybooking-account *::after,
.com-unitybooking-account-booking,
.com-unitybooking-account-booking *,
.com-unitybooking-account-booking *::before,
.com-unitybooking-account-booking *::after {
    border-radius: 0 !important;
}

.com-unitybooking-account,
.com-unitybooking-account-booking {
    line-height: 1.25 !important;
}

.com-unitybooking-account .ub-account-header,
.com-unitybooking-account-booking .ub-account-booking-header {
    background: var(--ub-du-panel-soft) !important;
    border: 1px solid var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
    box-shadow: none !important;
    margin-bottom: 1.25rem !important;
    padding: 1rem !important;
}

.com-unitybooking-account .ub-account-header h1,
.com-unitybooking-account-booking .ub-account-booking-header h1 {
    background: rgba(var(--color-white-rgb, 255, 255, 255), 0.05) !important;
    border-left: 4px solid var(--ub-du-accent) !important;
    color: var(--ub-du-text) !important;
    display: block !important;
    font-size: 1.45rem !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    margin: 0 0 .65rem !important;
    padding: .6rem .8rem !important;
}

.com-unitybooking-account .ub-account-nav {
    background: var(--ub-du-panel) !important;
    border: 1px solid var(--ub-du-border) !important;
    box-shadow: none !important;
    gap: .5rem !important;
    padding: .5rem !important;
}

.com-unitybooking-account .ub-account-nav .btn {
    align-items: center !important;
    display: inline-flex !important;
    justify-content: center !important;
    min-height: 2.55rem !important;
    padding: .55rem .85rem !important;
}

.com-unitybooking-account .ub-account-nav .btn-primary,
.com-unitybooking-account .btn-primary,
.com-unitybooking-account-booking .btn-primary {
    background: var(--ub-du-accent) !important;
    border-color: var(--ub-du-accent) !important;
    color: #202020 !important;
}

.com-unitybooking-account .btn-primary:hover,
.com-unitybooking-account .btn-primary:focus,
.com-unitybooking-account .btn-primary:active,
.com-unitybooking-account-booking .btn-primary:hover,
.com-unitybooking-account-booking .btn-primary:focus,
.com-unitybooking-account-booking .btn-primary:active,
.com-unitybooking-account .btn-outline-primary:hover,
.com-unitybooking-account .btn-outline-primary:focus,
.com-unitybooking-account .btn-outline-primary:active,
.com-unitybooking-account-booking .btn-outline-primary:hover,
.com-unitybooking-account-booking .btn-outline-primary:focus,
.com-unitybooking-account-booking .btn-outline-primary:active,
.com-unitybooking-account .btn-outline-success:hover,
.com-unitybooking-account .btn-outline-success:focus,
.com-unitybooking-account .btn-outline-success:active,
.com-unitybooking-account-booking .btn-outline-success:hover,
.com-unitybooking-account-booking .btn-outline-success:focus,
.com-unitybooking-account-booking .btn-outline-success:active {
    color: #202020 !important;
}

.com-unitybooking-account .btn-outline-secondary,
.com-unitybooking-account .btn-outline-warning,
.com-unitybooking-account .btn-outline-danger,
.com-unitybooking-account .btn-outline-success,
.com-unitybooking-account-booking .btn-outline-secondary,
.com-unitybooking-account-booking .btn-outline-warning,
.com-unitybooking-account-booking .btn-outline-danger,
.com-unitybooking-account-booking .btn-outline-success {
    background: transparent !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-account .btn-outline-secondary:hover,
.com-unitybooking-account .btn-outline-warning:hover,
.com-unitybooking-account .btn-outline-danger:hover,
.com-unitybooking-account .btn-outline-success:hover,
.com-unitybooking-account-booking .btn-outline-secondary:hover,
.com-unitybooking-account-booking .btn-outline-warning:hover,
.com-unitybooking-account-booking .btn-outline-danger:hover,
.com-unitybooking-account-booking .btn-outline-success:hover {
    background: var(--ub-du-accent) !important;
    border-color: var(--ub-du-accent) !important;
    color: #202020 !important;
}

.com-unitybooking-account .card.shadow-sm,
.com-unitybooking-account-booking .card.shadow-sm,
.com-unitybooking-account .card-header,
.com-unitybooking-account-booking .card-header,
.com-unitybooking-account .card-body,
.com-unitybooking-account-booking .card-body,
.com-unitybooking-account .ub-account-metric,
.com-unitybooking-account .ub-account-table-wrap,
.com-unitybooking-account-booking .ub-account-table-wrap,
.com-unitybooking-account .ub-account-mobile-list tr,
.com-unitybooking-account-booking .ub-account-mobile-list tr,
.com-unitybooking-account .ub-account-total-row,
.com-unitybooking-account-booking .ub-account-total-row,
.com-unitybooking-account .ub-account-note-box,
.com-unitybooking-account-booking .ub-account-note-box {
    background: var(--ub-du-panel) !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
    box-shadow: none !important;
}

.com-unitybooking-account .card.shadow-sm,
.com-unitybooking-account-booking .card.shadow-sm {
    border: 1px solid var(--ub-du-border) !important;
    margin-bottom: 1rem !important;
    overflow: hidden !important;
}

.com-unitybooking-account .card-header,
.com-unitybooking-account-booking .card-header,
.com-unitybooking-account .ub-account-total-row.is-highlight,
.com-unitybooking-account-booking .ub-account-total-row.is-highlight {
    background: var(--ub-du-panel-soft) !important;
}

.com-unitybooking-account .card-header strong,
.com-unitybooking-account-booking .card-header strong {
    background: rgba(var(--color-white-rgb, 255, 255, 255), 0.05) !important;
    border-left: 4px solid var(--ub-du-accent) !important;
    color: var(--ub-du-text) !important;
    display: block !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    padding: .55rem .75rem !important;
    width: 100% !important;
}

.com-unitybooking-account .card-header .badge,
.com-unitybooking-account-booking .card-header .badge {
    margin-left: auto !important;
}

.com-unitybooking-account .card-body,
.com-unitybooking-account-booking .card-body {
    padding: 1rem !important;
}

.com-unitybooking-account .ub-account-metric,
.com-unitybooking-account-booking .ub-account-total-row,
.com-unitybooking-account-booking .ub-account-note-box {
    padding: .85rem !important;
}

.com-unitybooking-account .ub-account-metric > .small,
.com-unitybooking-account .ub-account-table .small,
.com-unitybooking-account-booking .ub-account-table .small,
.com-unitybooking-account-booking .small.text-muted {
    color: var(--ub-du-muted) !important;
}

.com-unitybooking-account .ub-account-table-wrap,
.com-unitybooking-account-booking .ub-account-table-wrap {
    border: 1px solid var(--ub-du-border) !important;
    overflow: hidden !important;
}

.com-unitybooking-account .ub-account-table thead th,
.com-unitybooking-account-booking .ub-account-table thead th,
.com-unitybooking-account .ub-account-mobile-list td::before,
.com-unitybooking-account-booking .ub-account-mobile-list td::before {
    background: var(--ub-du-panel-soft) !important;
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-muted) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.com-unitybooking-account .ub-account-table tbody td,
.com-unitybooking-account-booking .ub-account-table tbody td,
.com-unitybooking-account .ub-account-mobile-list td,
.com-unitybooking-account-booking .ub-account-mobile-list td {
    border-color: var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-account .form-label,
.com-unitybooking-account-booking .form-label {
    color: var(--ub-du-muted) !important;
    font-weight: 400 !important;
    margin-bottom: .35rem !important;
}

.com-unitybooking-account textarea.form-control,
.com-unitybooking-account-booking textarea.form-control {
    min-height: 7rem !important;
}

.com-unitybooking-account .form-control[readonly],
.com-unitybooking-account-booking .form-control[readonly] {
    cursor: not-allowed !important;
    opacity: .82 !important;
}

.com-unitybooking-account .ub-account-profile-media-box {
    margin-bottom: 0 !important;
    width: 100% !important;
}

.com-unitybooking-account .ub-account-profile-media-box > .col-md-3 {
    flex: 0 0 25% !important;
    max-width: 25% !important;
}

.com-unitybooking-account .ub-account-profile-media-box > .col-md-9 {
    flex: 0 0 calc(75% - .5rem) !important;
    max-width: calc(75% - .5rem) !important;
}

.com-unitybooking-account .ub-account-info-icon {
    align-items: center !important;
    background: transparent !important;
    border: 1px solid var(--ub-du-accent) !important;
    color: var(--ub-du-accent) !important;
    cursor: help !important;
    display: inline-flex !important;
    font-size: .8rem !important;
    font-weight: 700 !important;
    height: 1.35rem !important;
    justify-content: center !important;
    line-height: 1 !important;
    position: relative !important;
    width: 1.35rem !important;
}

.com-unitybooking-account .ub-account-info-popover {
    background: var(--ub-du-panel-soft) !important;
    border: 1px solid var(--ub-du-border) !important;
    bottom: calc(100% + .55rem) !important;
    color: var(--ub-du-text) !important;
    display: block !important;
    font-size: .85rem !important;
    font-weight: 400 !important;
    left: 50% !important;
    line-height: 1.25 !important;
    max-width: min(18rem, 80vw) !important;
    min-width: 14rem !important;
    opacity: 0 !important;
    padding: .65rem .75rem !important;
    pointer-events: none !important;
    position: absolute !important;
    transform: translateX(-50%) translateY(.25rem) !important;
    transition: opacity .12s ease, transform .12s ease !important;
    visibility: hidden !important;
    z-index: 20 !important;
}

.com-unitybooking-account .ub-account-info-icon:hover .ub-account-info-popover,
.com-unitybooking-account .ub-account-info-icon:focus .ub-account-info-popover {
    opacity: 1 !important;
    transform: translateX(-50%) translateY(0) !important;
    visibility: visible !important;
}

.com-unitybooking-account .form-check-input,
.com-unitybooking-account-booking .form-check-input {
    background-color: transparent !important;
    border-color: #00ff00 !important;
    border-width: 2px !important;
    box-shadow: none !important;
    flex: 0 0 1.35rem !important;
    float: none !important;
    height: 1.35rem !important;
    margin: 0 .6rem 0 0 !important;
    margin-left: 0 !important;
    margin-right: .6rem !important;
    margin-top: 0 !important;
    align-self: center !important;
    width: 1.35rem !important;
}

.com-unitybooking-account .form-check-input:checked,
.com-unitybooking-account-booking .form-check-input:checked {
    background-color: #00ff00 !important;
    border-color: #00ff00 !important;
}

.com-unitybooking-account .form-check-input:focus,
.com-unitybooking-account-booking .form-check-input:focus {
    border-color: #00ff00 !important;
    box-shadow: 0 0 0 .2rem rgba(0, 255, 0, .18) !important;
}

.com-unitybooking-account .form-check-input[type="checkbox"]:checked,
.com-unitybooking-account-booking .form-check-input[type="checkbox"]:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%235f5f5f' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
}

.com-unitybooking-account .form-check-label,
.com-unitybooking-account-booking .form-check-label {
    align-items: center !important;
    color: var(--ub-du-text) !important;
    display: flex !important;
    min-height: 1.35rem !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    padding-top: 0 !important;
}

.com-unitybooking-account .form-check,
.com-unitybooking-account-booking .form-check {
    align-items: center !important;
    display: flex !important;
    gap: 0 !important;
    min-height: 1.35rem !important;
    padding-left: 0 !important;
}

.com-unitybooking-account .badge,
.com-unitybooking-account-booking .badge {
    border: 1px solid var(--ub-du-border) !important;
}

.com-unitybooking-account .badge.text-bg-success,
.com-unitybooking-account-booking .badge.text-bg-success,
.com-unitybooking-account .badge.bg-success,
.com-unitybooking-account-booking .badge.bg-success {
    color: #202020 !important;
}

.com-unitybooking-account code,
.com-unitybooking-account-booking code {
    background: rgba(var(--color-white-rgb, 255, 255, 255), 0.06) !important;
    border: 1px solid var(--ub-du-border) !important;
    color: var(--ub-du-text) !important;
    padding: .15rem .35rem !important;
}

.com-unitybooking-account a:not(.btn),
.com-unitybooking-account-booking a:not(.btn) {
    color: var(--ub-du-accent) !important;
    text-decoration: underline !important;
    text-underline-offset: .18em !important;
}

.com-unitybooking-account-booking .ub-account-summary-card {
    top: var(--ub-checkout-sticky-top, 6rem) !important;
}

.com-unitybooking-paypal-checkout .ub-paypal-field {
    background: #090909 !important;
    border: 1px solid var(--ub-du-border) !important;
    border-radius: 0 !important;
    color: var(--ub-du-text) !important;
    min-height: 44px;
    padding: .625rem .75rem;
}

.com-unitybooking-paypal-checkout #ub-paypal-buttons > div {
    margin-bottom: .75rem;
}

.com-unitybooking-paypal-checkout #ub-applepay-container button {
    min-width: 220px;
}

/* Shared account/customer card responsive layout moved out of PHP templates. */
.com-unitybooking-account .ub-account-table {
    margin-bottom: 0 !important;
}

.com-unitybooking-account .ub-account-booking-table td:first-child {
    min-width: 10.5rem;
}

.com-unitybooking-account .ub-account-booking-table td:nth-child(2) {
    min-width: 14rem;
}

.com-unitybooking-account-booking .ub-account-summary-card .card-body {
    display: grid;
    gap: .8rem;
}

.ub-card-shell {
    display: grid;
    gap: var(--ub-layout-gap, 1.5rem);
}

.ub-card-hero {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: 88px minmax(0, 1fr);
}

.ub-card-avatar,
.ub-card-qr {
    border: 1px solid var(--ub-du-border) !important;
    border-radius: 0 !important;
    height: 88px;
    object-fit: cover;
    width: 88px;
}

.ub-card-avatar-fallback {
    align-items: center;
    background: var(--ub-du-panel-soft) !important;
    border: 1px solid var(--ub-du-border) !important;
    border-radius: 0 !important;
    color: var(--ub-du-text) !important;
    display: flex;
    font-size: 1.5rem;
    font-weight: 700;
    height: 88px;
    justify-content: center;
    width: 88px;
}

.ub-card-grid,
.ub-card-bookings {
    display: grid;
    gap: .75rem;
}

.ub-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ub-card-bookings {
    grid-template-columns: minmax(0, 1fr);
}

.ub-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

@media (max-width: 767.98px) {
    .com-unitybooking-account .ub-account-nav {
        background: transparent !important;
        border: 0 !important;
        padding: .1rem 0 .4rem !important;
    }

    .com-unitybooking-account .ub-account-mobile-list tbody,
    .com-unitybooking-account-booking .ub-account-mobile-list tbody {
        background: var(--ub-du-panel) !important;
        gap: .75rem !important;
        padding: .75rem !important;
    }

    .com-unitybooking-account .ub-account-mobile-list tr,
    .com-unitybooking-account-booking .ub-account-mobile-list tr {
        border: 1px solid var(--ub-du-border) !important;
        padding: .15rem .75rem !important;
    }

    .com-unitybooking-account .card-header,
    .com-unitybooking-account-booking .card-header,
    .com-unitybooking-account .card-body,
    .com-unitybooking-account-booking .card-body {
        padding: .85rem !important;
    }

    .com-unitybooking-account .ub-account-header,
    .com-unitybooking-account-booking .ub-account-booking-header {
        gap: .85rem !important;
    }

    .com-unitybooking-account .ub-account-header .btn,
    .com-unitybooking-account-booking .ub-account-booking-header .btn,
    .com-unitybooking-account-booking #ub-booking-actions .btn,
    .com-unitybooking-account-booking #ub-booking-messages .btn {
        width: 100%;
    }

    .com-unitybooking-account .ub-account-nav {
        display: flex;
        flex-wrap: nowrap !important;
        gap: .65rem !important;
        margin-inline: -.05rem;
        overflow-x: auto;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .com-unitybooking-account .ub-account-nav .btn {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .com-unitybooking-account .ub-account-mobile-list,
    .com-unitybooking-account .ub-account-mobile-list tbody,
    .com-unitybooking-account .ub-account-mobile-list tr,
    .com-unitybooking-account .ub-account-mobile-list td,
    .com-unitybooking-account-booking .ub-account-mobile-list,
    .com-unitybooking-account-booking .ub-account-mobile-list tbody,
    .com-unitybooking-account-booking .ub-account-mobile-list tr,
    .com-unitybooking-account-booking .ub-account-mobile-list td {
        display: block;
        width: 100%;
    }

    .com-unitybooking-account .ub-account-mobile-list thead,
    .com-unitybooking-account-booking .ub-account-mobile-list thead {
        display: none;
    }

    .com-unitybooking-account .ub-account-mobile-list td,
    .com-unitybooking-account-booking .ub-account-mobile-list td {
        align-items: start;
        border: 0 !important;
        display: grid;
        gap: .45rem .8rem;
        grid-template-columns: minmax(6.5rem, 42%) 1fr;
        margin: 0;
        min-width: 0 !important;
        padding: .65rem 0;
        text-align: left !important;
    }

    .com-unitybooking-account .ub-account-mobile-list td::before,
    .com-unitybooking-account-booking .ub-account-mobile-list td::before {
        content: attr(data-label);
        font-size: .72rem;
    }

    .com-unitybooking-account .ub-account-mobile-list td .btn,
    .com-unitybooking-account-booking .ub-account-mobile-list td .btn {
        width: 100%;
    }

    .com-unitybooking-account .ub-account-mobile-list td .badge,
    .com-unitybooking-account-booking .ub-account-mobile-list td .badge {
        justify-self: start;
    }

    .com-unitybooking-account .ub-account-mobile-list td:empty,
    .com-unitybooking-account-booking .ub-account-mobile-list td:empty {
        display: none;
    }

    .com-unitybooking-account .ub-account-booking-table td:first-child,
    .com-unitybooking-account .ub-account-booking-table td:nth-child(2),
    .com-unitybooking-account-booking .ub-account-booking-table td:first-child,
    .com-unitybooking-account-booking .ub-account-booking-table td:nth-child(2) {
        min-width: 0;
    }

    .ub-card-hero,
    .ub-card-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .com-unitybooking-account .ub-account-profile-media-box > .col-md-3,
    .com-unitybooking-account .ub-account-profile-media-box > .col-md-9 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* Final shared frontend override: all public UnityBooking pages use the same Airbase surface. */
.com-unitybooking-site-default,
.com-unitybooking-ticketlist,
.com-unitybooking-checkout,
.com-unitybooking-account,
.com-unitybooking-account-booking,
.com-unitybooking-cart,
.com-unitybooking-cartcheckout,
.com-unitybooking-paypal-checkout,
.unitybooking-register,
.unitybooking-subscription-plans,
.unitybooking-subscription-checkout,
.unitybooking-voucher-checkout,
.unitybooking-customercard,
.unitybooking-waiver,
.ub-waiver-page,
.ub-account-setup,
.ub-card-page,
.ub-pos-shell,
.ub-checkin-shell {
    background: transparent !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-site-default .card,
.com-unitybooking-ticketlist .card,
.com-unitybooking-checkout .card,
.com-unitybooking-account .card,
.com-unitybooking-account-booking .card,
.com-unitybooking-cart .card,
.com-unitybooking-cartcheckout .card,
.com-unitybooking-paypal-checkout .card,
.unitybooking-register .card,
.unitybooking-subscription-plans .card,
.unitybooking-subscription-checkout .card,
.unitybooking-voucher-checkout .card,
.unitybooking-customercard .card,
.unitybooking-waiver .card,
.ub-account-setup .card,
.ub-flow-card,
.ub-data-block,
.ub-section-card,
.ub-summary-card,
.ub-summary-block,
.ub-summary-lines,
.ub-summary-total-row,
.ub-ticketlist-card-inner,
.ub-ticketlist-duration-box,
.ub-ticketlist-price,
.ub-subscriptionplan-card,
.ub-subscriptionplan-fact,
.ub-subscriptionplan-scope,
.ub-voucher-offer-card,
.ub-choice-card,
.ub-payment-option,
.ub-selectable-tile,
.ub-duration-option,
.ub-calendar,
.ub-calendar-day,
.ub-waiver-panel,
.ub-waiver-fact,
.ub-waiver-people-block,
.ub-waiver-text-block,
.ub-waiver-signature-pad,
.ub-card-panel,
.ub-card-box,
.ub-account-metric,
.ub-account-table-wrap,
.ub-account-total-row,
.ub-account-note-box {
    background: var(--ub-du-panel) !important;
    border-color: var(--ub-du-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-site-default .bg-white,
.com-unitybooking-site-default .bg-light,
.com-unitybooking-site-default .bg-light-subtle,
.com-unitybooking-ticketlist .bg-white,
.com-unitybooking-ticketlist .bg-light,
.com-unitybooking-ticketlist .bg-light-subtle,
.com-unitybooking-checkout .bg-white,
.com-unitybooking-checkout .bg-light,
.com-unitybooking-checkout .bg-light-subtle,
.com-unitybooking-account .bg-white,
.com-unitybooking-account .bg-light,
.com-unitybooking-account .bg-light-subtle,
.com-unitybooking-account-booking .bg-white,
.com-unitybooking-account-booking .bg-light,
.com-unitybooking-account-booking .bg-light-subtle,
.com-unitybooking-cart .bg-white,
.com-unitybooking-cart .bg-light,
.com-unitybooking-cart .bg-light-subtle,
.com-unitybooking-cartcheckout .bg-white,
.com-unitybooking-cartcheckout .bg-light,
.com-unitybooking-cartcheckout .bg-light-subtle,
.com-unitybooking-paypal-checkout .bg-white,
.com-unitybooking-paypal-checkout .bg-light,
.com-unitybooking-paypal-checkout .bg-light-subtle,
.unitybooking-register .bg-white,
.unitybooking-register .bg-light,
.unitybooking-register .bg-light-subtle,
.unitybooking-subscription-plans .bg-white,
.unitybooking-subscription-plans .bg-light,
.unitybooking-subscription-plans .bg-light-subtle,
.unitybooking-subscription-checkout .bg-white,
.unitybooking-subscription-checkout .bg-light,
.unitybooking-subscription-checkout .bg-light-subtle,
.unitybooking-voucher-checkout .bg-white,
.unitybooking-voucher-checkout .bg-light,
.unitybooking-voucher-checkout .bg-light-subtle,
.unitybooking-customercard .bg-white,
.unitybooking-customercard .bg-light,
.unitybooking-customercard .bg-light-subtle,
.unitybooking-waiver .bg-white,
.unitybooking-waiver .bg-light,
.unitybooking-waiver .bg-light-subtle,
.ub-waiver-page .bg-white,
.ub-waiver-page .bg-light,
.ub-waiver-page .bg-light-subtle {
    background-color: var(--ub-du-panel) !important;
    color: var(--ub-du-text) !important;
}

.card-header,
.ub-flow-card-header,
.ub-ticketlist-title-row,
.ub-subscriptionplan-title-row,
.ub-account-header,
.ub-account-booking-header,
.ub-waiver-header,
.ub-data-block-title,
.ub-voucher-section-title,
.ub-summary-section-title,
.ub-ticketlist-section-label,
.ub-chargeable-table-title {
    background: var(--ub-du-panel-soft) !important;
    border-color: var(--ub-du-border) !important;
    border-left: 4px solid var(--ub-du-accent) !important;
    border-radius: 0 !important;
    color: var(--ub-du-text) !important;
    font-weight: 400 !important;
    box-shadow: none !important;
}

.com-unitybooking-site-default .alert,
.com-unitybooking-ticketlist .alert,
.com-unitybooking-checkout .alert,
.com-unitybooking-account .alert,
.com-unitybooking-account-booking .alert,
.com-unitybooking-cart .alert,
.com-unitybooking-cartcheckout .alert,
.com-unitybooking-paypal-checkout .alert,
.unitybooking-register .alert,
.unitybooking-subscription-plans .alert,
.unitybooking-subscription-checkout .alert,
.unitybooking-voucher-checkout .alert,
.unitybooking-waiver .alert,
.ub-waiver-page .alert,
.ub-account-setup .alert {
    background: var(--ub-du-panel-soft) !important;
    border: 1px solid var(--ub-du-border) !important;
    border-left: 4px solid var(--ub-du-accent) !important;
    border-radius: 0 !important;
    color: var(--ub-du-text) !important;
    box-shadow: none !important;
}

.com-unitybooking-site-default .text-muted,
.com-unitybooking-ticketlist .text-muted,
.com-unitybooking-checkout .text-muted,
.com-unitybooking-account .text-muted,
.com-unitybooking-account-booking .text-muted,
.com-unitybooking-cart .text-muted,
.com-unitybooking-cartcheckout .text-muted,
.com-unitybooking-paypal-checkout .text-muted,
.unitybooking-register .text-muted,
.unitybooking-subscription-plans .text-muted,
.unitybooking-subscription-checkout .text-muted,
.unitybooking-voucher-checkout .text-muted,
.unitybooking-customercard .text-muted,
.unitybooking-waiver .text-muted,
.form-text,
.ub-waiver-label,
.ub-card-label {
    color: var(--ub-du-muted) !important;
}

.com-unitybooking-site-default .form-control,
.com-unitybooking-site-default .form-select,
.com-unitybooking-checkout .form-control,
.com-unitybooking-checkout .form-select,
.com-unitybooking-account .form-control,
.com-unitybooking-account .form-select,
.com-unitybooking-account-booking .form-control,
.com-unitybooking-account-booking .form-select,
.com-unitybooking-cartcheckout .form-control,
.com-unitybooking-cartcheckout .form-select,
.com-unitybooking-paypal-checkout .form-control,
.com-unitybooking-paypal-checkout .form-select,
.unitybooking-register .form-control,
.unitybooking-register .form-select,
.unitybooking-subscription-checkout .form-control,
.unitybooking-subscription-checkout .form-select,
.unitybooking-voucher-checkout .form-control,
.unitybooking-voucher-checkout .form-select,
.unitybooking-waiver .form-control,
.unitybooking-waiver .form-select,
.ub-waiver-page .form-control,
.ub-waiver-page .form-select,
.ub-account-setup .form-control,
.ub-account-setup .form-select {
    background-color: #090909 !important;
    border-color: var(--ub-du-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-checkout .ub-duration-option {
    align-items: stretch !important;
    background: var(--ub-du-panel) !important;
    border: 1px solid var(--ub-du-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ub-du-text) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: .5rem !important;
    height: 100% !important;
    min-height: 5.5rem !important;
    padding: 1rem !important;
}

.com-unitybooking-checkout .ub-duration-option:hover,
.com-unitybooking-checkout .ub-duration-option:focus-within,
.com-unitybooking-checkout .ub-duration-option.is-active {
    background: var(--ub-du-panel) !important;
    border-color: var(--ub-du-accent) !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-checkout .ub-duration-option .form-check-input {
    margin-top: .1rem !important;
}

.com-unitybooking-checkout .ub-choice-card.ub-compact-choice,
.com-unitybooking-cartcheckout .ub-choice-card.ub-compact-choice,
.unitybooking-subscription-checkout .ub-choice-card.ub-compact-choice,
.unitybooking-voucher-checkout .ub-choice-card.ub-compact-choice {
    align-items: stretch !important;
    background: var(--ub-du-panel) !important;
    border: 1px solid var(--ub-du-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ub-du-text) !important;
    cursor: pointer !important;
    display: flex !important;
    flex-direction: column !important;
    gap: .5rem !important;
    height: 100% !important;
    min-height: 5.5rem !important;
    padding: 1rem !important;
    transition: border-color .18s ease, color .18s ease !important;
}

.com-unitybooking-checkout .ub-choice-card.ub-compact-choice:hover,
.com-unitybooking-checkout .ub-choice-card.ub-compact-choice:focus-within,
.com-unitybooking-cartcheckout .ub-choice-card.ub-compact-choice:hover,
.com-unitybooking-cartcheckout .ub-choice-card.ub-compact-choice:focus-within,
.unitybooking-subscription-checkout .ub-choice-card.ub-compact-choice:hover,
.unitybooking-subscription-checkout .ub-choice-card.ub-compact-choice:focus-within,
.unitybooking-voucher-checkout .ub-choice-card.ub-compact-choice:hover,
.unitybooking-voucher-checkout .ub-choice-card.ub-compact-choice:focus-within {
    background: var(--ub-du-panel) !important;
    border-color: var(--ub-du-accent) !important;
    color: var(--ub-du-text) !important;
    transform: none !important;
}

.com-unitybooking-checkout .ub-choice-card.ub-compact-choice:has(input:checked),
.com-unitybooking-cartcheckout .ub-choice-card.ub-compact-choice:has(input:checked),
.unitybooking-subscription-checkout .ub-choice-card.ub-compact-choice:has(input:checked),
.unitybooking-voucher-checkout .ub-choice-card.ub-compact-choice:has(input:checked) {
    background: var(--ub-du-panel) !important;
    border-color: var(--ub-du-accent) !important;
    box-shadow: none !important;
    color: var(--ub-du-text) !important;
}

.com-unitybooking-checkout .ub-summary-row-static {
    border-bottom: 0 !important;
}

.com-unitybooking-checkout .ub-data-block,
.com-unitybooking-cartcheckout .ub-data-block,
.unitybooking-subscription-checkout .ub-data-block,
.unitybooking-voucher-checkout .ub-data-block {
    border: 0 !important;
}

.com-unitybooking-checkout .ub-data-block-title,
.com-unitybooking-cartcheckout .ub-data-block-title,
.unitybooking-subscription-checkout .ub-data-block-title,
.unitybooking-voucher-checkout .ub-data-block-title {
    margin-bottom: 1rem !important;
}

.com-unitybooking-checkout .ub-choice-card.ub-compact-choice > input[type="radio"],
.com-unitybooking-cartcheckout .ub-choice-card.ub-compact-choice > input[type="radio"],
.unitybooking-subscription-checkout .ub-choice-card.ub-compact-choice > input[type="radio"],
.unitybooking-voucher-checkout .ub-choice-card.ub-compact-choice > input[type="radio"] {
    height: 1px !important;
    margin: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    width: 1px !important;
}

.com-unitybooking-checkout .ub-mode-grid {
    display: grid !important;
    gap: .75rem !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
}

@media (max-width: 767.98px) {
    .com-unitybooking-checkout .ub-mode-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

.com-unitybooking-checkout .ub-duration-grid {
    display: grid !important;
    gap: .75rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
}

.com-unitybooking-checkout .ub-calendar {
    padding: 0 !important;
    width: 100% !important;
}

.com-unitybooking-checkout .ub-calendar-toolbar {
    align-items: center !important;
    display: grid !important;
    gap: .75rem !important;
    grid-template-columns: 3rem minmax(0, 1fr) 3rem !important;
    margin-bottom: .85rem !important;
    width: 100% !important;
}

.com-unitybooking-checkout .ub-calendar-month-label {
    min-width: 0 !important;
    overflow-wrap: normal !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.com-unitybooking-checkout .ub-calendar-nav {
    justify-self: stretch !important;
}

.com-unitybooking-checkout .ub-calendar-weekdays,
.com-unitybooking-checkout .ub-calendar-grid {
    align-items: stretch !important;
    display: grid !important;
    gap: .4rem !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    justify-items: stretch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}

.com-unitybooking-checkout .ub-calendar-weekdays {
    margin-bottom: 5px !important;
}

.com-unitybooking-checkout .ub-calendar-weekdays span,
.com-unitybooking-checkout .ub-calendar-weekday {
    align-items: center !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
    min-height: 2.75rem !important;
    min-width: 0 !important;
    padding: .55rem !important;
    text-align: center !important;
    width: 100% !important;
}

.com-unitybooking-checkout .ub-calendar-weekday {
    background: var(--ub-du-panel-soft) !important;
    border: 1px solid transparent !important;
    color: var(--ub-du-muted) !important;
    font-size: .8rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.com-unitybooking-checkout .ub-calendar-day-placeholder {
    box-sizing: border-box !important;
    display: block !important;
    min-height: 2.75rem !important;
    width: 100% !important;
}

.com-unitybooking-checkout .ub-calendar-day {
    aspect-ratio: 1 / 1 !important;
    box-sizing: border-box !important;
    min-height: 2.75rem !important;
    padding: .55rem !important;
    width: 100% !important;
}

.com-unitybooking-checkout .ub-calendar-day.is-today {
    border-color: var(--ub-du-border) !important;
    box-shadow: none !important;
    color: var(--ub-du-accent) !important;
    font-weight: 800 !important;
}

.com-unitybooking-checkout .ub-person-stepper {
    align-items: stretch !important;
    display: grid !important;
    grid-template-columns: 3rem minmax(4rem, 6rem) 3rem !important;
    max-width: 12.5rem !important;
    width: 100% !important;
}

.com-unitybooking-checkout .ub-person-stepper .form-control {
    min-width: 0 !important;
    text-align: center !important;
    width: 100% !important;
}

.com-unitybooking-checkout .ub-person-stepper-btn {
    align-items: center !important;
    display: inline-flex !important;
    justify-content: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 3rem !important;
}

@media (max-width: 991.98px) {
    .com-unitybooking-site-default,
    .com-unitybooking-ticketlist,
    .com-unitybooking-checkout,
    .com-unitybooking-account,
    .com-unitybooking-account-booking,
    .com-unitybooking-cart,
    .com-unitybooking-cartcheckout,
    .com-unitybooking-paypal-checkout,
    .unitybooking-register,
    .unitybooking-subscription-plans,
    .unitybooking-subscription-checkout,
    .unitybooking-voucher-checkout,
    .unitybooking-customercard,
    .unitybooking-waiver,
    .ub-account-setup,
    .ub-pos-shell,
    .ub-checkin-shell {
        max-width: 560px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}
