.elementor-kit-5{--e-global-color-primary:#3275F7;--e-global-color-secondary:#F1F6FF;--e-global-color-text:#131F38;--e-global-color-accent:#FB9C01;--e-global-color-514bd65:#7E7E7E;--e-global-color-d25d286:#6EBD46;--e-global-typography-primary-font-family:"Luckiest Guy";--e-global-typography-primary-font-size:96px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:90px;--e-global-typography-secondary-font-family:"Luckiest Guy";--e-global-typography-secondary-font-size:72px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:72px;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:500;--e-global-typography-text-line-height:24px;--e-global-typography-text-letter-spacing:-0.3px;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-a9bdfee-font-family:"Luckiest Guy";--e-global-typography-a9bdfee-font-size:96px;--e-global-typography-a9bdfee-font-weight:500;--e-global-typography-a9bdfee-line-height:87px;--e-global-typography-9fa177d-font-family:"Luckiest Guy";--e-global-typography-9fa177d-font-size:68px;--e-global-typography-9fa177d-font-weight:500;--e-global-typography-9fa177d-line-height:73px;--e-global-typography-b7c2e17-font-family:"Luckiest Guy";--e-global-typography-b7c2e17-font-size:28px;--e-global-typography-b7c2e17-font-weight:400;--e-global-typography-5b32389-font-family:"Luckiest Guy";--e-global-typography-5b32389-font-size:18px;--e-global-typography-5b32389-font-weight:500;--e-global-typography-433cb43-font-family:"Poppins";--e-global-typography-433cb43-font-size:18px;--e-global-typography-433cb43-font-weight:700;--e-global-typography-433cb43-letter-spacing:-0.3px;--e-global-typography-71cbd5a-font-family:"Poppins";--e-global-typography-71cbd5a-font-size:22px;--e-global-typography-71cbd5a-font-weight:600;--e-global-typography-71cbd5a-letter-spacing:-0.3px;--e-global-typography-5c453fb-font-family:"Poppins";--e-global-typography-5c453fb-font-size:18px;--e-global-typography-5c453fb-font-weight:500;--e-global-typography-5c453fb-letter-spacing:-0.2px;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-433cb43-font-family ), Sans-serif;font-size:var( --e-global-typography-433cb43-font-size );font-weight:var( --e-global-typography-433cb43-font-weight );letter-spacing:var( --e-global-typography-433cb43-letter-spacing );color:#FFFFFF;border-radius:500px 500px 500px 500px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#265ABE;color:#FFFFFF;border-style:none;border-radius:500px 500px 500px 500px;}.elementor-kit-5 e-page-transition{background-color:#3275F700;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-433cb43-font-size );letter-spacing:var( --e-global-typography-433cb43-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-433cb43-font-size );letter-spacing:var( --e-global-typography-433cb43-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =============================================
   APPLE TOWN — BOOKING PAGE
   Blue: #3275F7 | Orange: #FB9C01
   ============================================= */

@import url('https://fonts.googleapis.com/css2?family=Luckiest+Guy&display=swap');

/* --- HIDE GENERIC WOOCOMMERCE ELEMENTS --- */
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-breadcrumb,
.single-product .woocommerce-product-rating,
.single-product .product_meta,
.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .up-sells,
.single-product .product_title.entry-title,
.single-product .price,
.related.products,
.upsells.products,
.woocommerce-notices-wrapper,
.wc-bookings-booking-form::before {
    display: none !important;
    content: none !important;
}

/* =============================================
   FULL WIDTH
   ============================================= */
.woocommerce div.product,
.woocommerce div.product .summary,
.wc-bookings-booking-form,
.woocommerce-booking-form.cart {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.wc-bookings-booking-form {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
}

/* =============================================
   SECTION HEADERS via pseudo-elements
   ============================================= */

/* "GET TICKETS" before the persons block */
.wc-bookings-persons-block::before {
    content: "Get Tickets" !important;
    display: block !important;
    font-family: 'Luckiest Guy', cursive !important;
    font-size: 28px !important;
    color: #1a1a1a !important;
    letter-spacing: 1px !important;
    margin-bottom: 20px !important;
}

/* "CHOOSE DATE" before the date picker */
.wc-bookings-date-picker::before {
    content: "Choose Date" !important;
    display: block !important;
    font-family: 'Luckiest Guy', cursive !important;
    font-size: 28px !important;
    color: #1a1a1a !important;
    letter-spacing: 1px !important;
    margin-bottom: 16px !important;
}

/* "CHOOSE TIME" before the time picker */
.wc-bookings-booking-form-time::before,
.block-picker::before {
    content: "Choose Time" !important;
    display: block !important;
    font-family: 'Luckiest Guy', cursive !important;
    font-size: 28px !important;
    color: #1a1a1a !important;
    letter-spacing: 1px !important;
    margin-bottom: 16px !important;
    margin-top: 8px !important;
}

/* =============================================
   PERSON / TICKET ROWS
   ============================================= */
.wc-bookings-persons-block {
    width: 100% !important;
    margin-bottom: 32px !important;
}

.wc-bookings-persons-block .person-type,
.wc-bookings-persons-block .wc_bookings_field_persons {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid #efefef !important;
    width: 100% !important;
    box-sizing: border-box !important;
    gap: 16px !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Label area — left side */
.wc-bookings-persons-block .person-type-name-wrapper,
.wc-bookings-persons-block label {
    flex: 1 !important;
    margin: 0 !important;
}

.wc-bookings-persons-block label,
.wc-bookings-persons-block .person-type-name {
    font-family: 'Luckiest Guy', cursive !important;
    font-size: 18px !important;
    letter-spacing: 0.5px !important;
    color: #1a1a1a !important;
    display: block !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.2 !important;
}

/* Price shown below label */
.wc-bookings-persons-block .person-type-cost,
.wc-bookings-persons-block .description,
.wc-bookings-persons-block small,
.wc-bookings-persons-block .cost {
    font-size: 14px !important;
    color: #888 !important;
    font-weight: 500 !important;
    font-family: sans-serif !important;
    display: block !important;
    text-decoration: none !important;
}

/* Quantity wrapper — right side */
.wc-bookings-persons-block .quantity,
.at-qty-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    flex-shrink: 0 !important;
}

/* Number input */
.wc-bookings-persons-block .quantity input.qty,
.wc-bookings-persons-block input[type="number"],
.at-qty-wrapper input[type="number"] {
    width: 52px !important;
    height: 44px !important;
    text-align: center !important;
    border: none !important;
    border-top: 2px solid #e0e0e0 !important;
    border-bottom: 2px solid #e0e0e0 !important;
    border-radius: 0 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    background: #fff !important;
    color: #1a1a1a !important;
    -moz-appearance: textfield !important;
    padding: 0 !important;
    margin: 0 !important;
}

.wc-bookings-persons-block input[type="number"]::-webkit-inner-spin-button,
.wc-bookings-persons-block input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* +/− buttons — ROUNDED SQUARES */
.at-qty-btn,
.wc-bookings-persons-block .minus,
.wc-bookings-persons-block .plus {
    background: #3275F7 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    width: 44px !important;
    height: 44px !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    transition: background 0.2s !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
}

/* Minus gets left rounded corners, Plus gets right */
.at-qty-btn.minus,
.wc-bookings-persons-block .minus {
    border-radius: 10px 0 0 10px !important;
}

.at-qty-btn.plus,
.wc-bookings-persons-block .plus {
    border-radius: 0 10px 10px 0 !important;
}

.at-qty-btn:hover,
.wc-bookings-persons-block .minus:hover,
.wc-bookings-persons-block .plus:hover {
    background: #1a5fd4 !important;
}

/* =============================================
   CALENDAR
   ============================================= */
.wc-bookings-date-picker {
    width: 100% !important;
    margin-bottom: 32px !important;
}

.wc-bookings-date-picker .ui-datepicker,
#ui-datepicker-div {
    width: 100% !important;
    max-width: 100% !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    padding: 20px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.ui-datepicker .ui-datepicker-header {
    background: #fff !important;
    border: none !important;
    padding: 0 0 16px 0 !important;
    position: relative !important;
}

.ui-datepicker .ui-datepicker-title {
    font-weight: 800 !important;
    font-size: 17px !important;
    color: #1a1a1a !important;
    letter-spacing: 1px !important;
    text-align: center !important;
}

/* Prev / Next arrows as clean < > */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    top: 0 !important;
    width: 32px !important;
    height: 32px !important;
    cursor: pointer !important;
    background: transparent !important;
    border: none !important;
}

.ui-datepicker .ui-datepicker-prev { left: 0 !important; }
.ui-datepicker .ui-datepicker-next { right: 0 !important; }

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    display: none !important;
}

.ui-datepicker .ui-datepicker-prev::after { content: "‹" !important; font-size: 24px !important; color: #1a1a1a !important; font-weight: 700 !important; }
.ui-datepicker .ui-datepicker-next::after { content: "›" !important; font-size: 24px !important; color: #1a1a1a !important; font-weight: 700 !important; }

.ui-datepicker th {
    color: #aaa !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 8px 0 !important;
    text-transform: uppercase !important;
}

/* Base date cell */
.ui-datepicker td { padding: 3px !important; }

.ui-datepicker td .ui-state-default {
    text-align: center !important;
    border-radius: 10px !important;
    padding: 10px 4px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border: none !important;
    background: #f0f0f0 !important;
    color: #bbb !important;
    display: block !important;
    transition: background 0.15s !important;
}

/* AVAILABLE → Blue */
.ui-datepicker td:not(.ui-datepicker-unselectable):not(.ui-state-disabled) .ui-state-default {
    background: #3275F7 !important;
    color: #fff !important;
    cursor: pointer !important;
}
.ui-datepicker td:not(.ui-datepicker-unselectable):not(.ui-state-disabled) .ui-state-default:hover {
    background: #1a5fd4 !important;
}

/* SELECTED → Orange */
.ui-datepicker td.ui-datepicker-current-day .ui-state-default,
.ui-datepicker td .ui-state-active {
    background: #FB9C01 !important;
    color: #fff !important;
}

/* UNAVAILABLE → Pink + Red text */
.ui-datepicker td.ui-datepicker-unselectable .ui-state-default,
.ui-datepicker td.ui-state-disabled .ui-state-default,
.ui-datepicker td.not-bookable .ui-state-default {
    background: #ffe4e4 !important;
    color: #e05555 !important;
    cursor: not-allowed !important;
}

/* Other month (greyed out) */
.ui-datepicker td.ui-datepicker-other-month .ui-state-default {
    background: transparent !important;
    color: #ccc !important;
}

/* =============================================
   TIME SLOTS — 3-column grid, rectangular
   ============================================= */
.wc-bookings-booking-form-time,
.block-picker {
    width: 100% !important;
    margin-bottom: 32px !important;
}

/* Hide the "Times are in UTC" note or style it subtly */
.wc-bookings-booking-form-time > p,
.wc-bookings-booking-form-time > span {
    font-size: 12px !important;
    color: #aaa !important;
    margin-bottom: 12px !important;
    display: block !important;
}

.wc-bookings-booking-form-time ul,
.block-picker ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
}

.wc-bookings-booking-form-time li,
.block-picker li {
    margin: 0 !important;
    width: 100% !important;
}

/* Base time button */
.wc-bookings-booking-form-time li a,
.wc-bookings-booking-form-time li button,
.block-picker li a,
.block-picker li button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 14px 8px !important;
    border-radius: 50px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    font-family: sans-serif !important;
    box-sizing: border-box !important;
}

/* AVAILABLE → Blue */
.block-picker li:not(.not-bookable):not(.fully_booked) a,
.wc-bookings-booking-form-time li.bookable a {
    background: #3275F7 !important;
    color: #fff !important;
}
.block-picker li:not(.not-bookable):not(.fully_booked) a:hover {
    background: #1a5fd4 !important;
}

/* SELECTED → Orange */
.block-picker li.selected a,
.block-picker li.active a,
.wc-bookings-booking-form-time li.selected a,
.wc-bookings-booking-form-time li.active a {
    background: #FB9C01 !important;
    color: #fff !important;
}

/* UNAVAILABLE → Pink + red strikethrough */
.block-picker li.not-bookable a,
.block-picker li.fully_booked a,
.wc-bookings-booking-form-time li.not-bookable a,
.wc-bookings-booking-form-time li.fully_booked a {
    background: #ffe4e4 !important;
    color: #e05555 !important;
    text-decoration: line-through !important;
    cursor: not-allowed !important;
}

/* =============================================
   BOOK NOW BUTTON
   ============================================= */
.single-product .single_add_to_cart_button,
.wc-bookings-booking-form button[type="submit"],
.wc-bookings-booking-form .button,
input[name="add-to-cart"] {
    background: #FB9C01 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 18px 40px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    cursor: pointer !important;
    width: 100% !important;
    margin-top: 28px !important;
    display: block !important;
    transition: background 0.2s ease !important;
    font-family: 'Luckiest Guy', cursive !important;
    text-align: center !important;
}
.single-product .single_add_to_cart_button:hover,
.wc-bookings-booking-form button[type="submit"]:hover {
    background: #e08a00 !important;
}

/* Live cost display */
.wc-bookings-booking-cost {
    background: #f0f5ff !important;
    border: 2px solid #dce8ff !important;
    border-radius: 12px !important;
    padding: 14px 20px !important;
    margin-top: 20px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #3275F7 !important;
    text-align: right !important;
}

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 600px) {
    .wc-bookings-booking-form-time ul,
    .block-picker ul {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .wc-bookings-persons-block label,
    .wc-bookings-persons-block .person-type-name {
        font-size: 15px !important;
    }

    .wc-bookings-persons-block::before,
    .wc-bookings-date-picker::before,
    .wc-bookings-booking-form-time::before,
    .block-picker::before {
        font-size: 24px !important;
    }
}

/* =============================================
   FIX 1: REMOVE CALENDAR BLACK BORDER
   ============================================= */

.ui-widget-content,
.ui-widget,
.ui-datepicker,
.wc-bookings-date-picker .ui-datepicker,
.wc-bookings-date-picker > div,
.wc-bookings-date-picker > div > div {
    border: 1px solid #e8e8e8 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    outline: none !important;
}

/* Remove any inner black borders */
.ui-datepicker table {
    border: none !important;
    border-collapse: separate !important;
    border-spacing: 4px !important;
}

.ui-datepicker td,
.ui-datepicker th {
    border: none !important;
}

/* =============================================
   FIX 2: TIME SLOTS — FORCE 3 COLUMNS
   Targets all possible WooCommerce Bookings classes
   ============================================= */

/* Hide "Times are in UTC" */
.wc-bookings-booking-form-date-time > p,
p.wc-bookings-time-zone {
    font-size: 11px !important;
    color: #bbb !important;
    margin-bottom: 8px !important;
}

/* The actual time list container */
ul.wc-bookings-available-blocks,
.wc-bookings-booking-form-date-time ul,
.wc-bookings-booking-form-time ul,
.block-picker ul {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Each time slot item */
ul.wc-bookings-available-blocks li,
.wc-bookings-booking-form-date-time ul li,
.wc-bookings-booking-form-time ul li,
.block-picker ul li {
    width: 100% !important;
    margin: 0 !important;
    display: block !important;
}

/* Time slot button/link base */
ul.wc-bookings-available-blocks li a,
ul.wc-bookings-available-blocks li button,
.wc-bookings-booking-form-date-time ul li a,
.wc-bookings-booking-form-date-time ul li button,
.wc-bookings-booking-form-time ul li a,
.block-picker ul li a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 14px 8px !important;
    border-radius: 50px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border: none !important;
    cursor: pointer !important;
    text-decoration: none !important;
    font-family: sans-serif !important;
    box-sizing: border-box !important;
    transition: background 0.2s ease !important;
    /* Default = blue (available) */
    background: #3275F7 !important;
    color: #fff !important;
}

/* HOVER on available time → Orange */
ul.wc-bookings-available-blocks li a:hover,
.wc-bookings-booking-form-date-time ul li a:hover {
    background: #FB9C01 !important;
    color: #fff !important;
}

/* SELECTED time → Orange */
ul.wc-bookings-available-blocks li.selected a,
ul.wc-bookings-available-blocks li.active a,
ul.wc-bookings-available-blocks li a.active,
.wc-bookings-booking-form-date-time ul li.selected a,
.wc-bookings-booking-form-date-time ul li.active a {
    background: #FB9C01 !important;
    color: #fff !important;
}

/* UNAVAILABLE time → Pink + red strikethrough */
ul.wc-bookings-available-blocks li.not-bookable a,
ul.wc-bookings-available-blocks li.fully_booked a,
.wc-bookings-booking-form-date-time ul li.not-bookable a,
.wc-bookings-booking-form-date-time ul li.fully_booked a {
    background: #ffe4e4 !important;
    color: #e05555 !important;
    text-decoration: line-through !important;
    cursor: not-allowed !important;
}

/* =============================================
   FIX 3: CALENDAR DATE HOVER + SELECTED ORANGE
   ============================================= */

/* Hover on available date */
.ui-datepicker td:not(.ui-datepicker-unselectable):not(.ui-state-disabled) a:hover,
.ui-datepicker td:not(.ui-datepicker-unselectable):not(.ui-state-disabled) .ui-state-default:hover {
    background: #FB9C01 !important;
    color: #fff !important;
    cursor: pointer !important;
}

/* Selected / active date */
.ui-datepicker td .ui-state-active,
.ui-datepicker td.ui-datepicker-current-day .ui-state-default,
.ui-datepicker td.ui-datepicker-current-day a {
    background: #FB9C01 !important;
    color: #fff !important;
    border: none !important;
}

/* =============================================
   FIX 4: TICKET ROWS — clean horizontal layout
   ============================================= */

/* Force the persons fieldset/table flat */
.wc-bookings-persons-block table,
.wc-bookings-persons-block tbody,
.wc-bookings-persons-block tr {
    display: block !important;
    width: 100% !important;
}

/* Each person row as flex row */
.wc-bookings-persons-block tr,
.wc-bookings-persons-block .person-type,
.wc_bookings_field_persons {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    gap: 16px !important;
    box-sizing: border-box !important;
}

/* Label cell — left side, takes remaining space */
.wc-bookings-persons-block td.wc-bookings-persons-block-start,
.wc-bookings-persons-block th,
.wc-bookings-persons-block label {
    flex: 1 !important;
    display: block !important;
    font-family: 'Luckiest Guy', cursive !important;
    font-size: 18px !important;
    color: #1a1a1a !important;
    letter-spacing: 0.5px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    vertical-align: middle !important;
}

/* Price shown under label */
.wc-bookings-persons-block td.wc-bookings-persons-block-start small,
.wc-bookings-persons-block .person-type-cost {
    display: block !important;
    font-family: sans-serif !important;
    font-size: 13px !important;
    color: #888 !important;
    font-weight: 500 !important;
    margin-top: 3px !important;
}

/* Quantity cell — right side */
.wc-bookings-persons-block td.quantity,
.wc-bookings-persons-block .qty-wrapper {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
}

/* The number input inside the row */
.wc-bookings-persons-block td.quantity input,
.wc-bookings-persons-block input[type="number"] {
    width: 52px !important;
    height: 44px !important;
    border: none !important;
    border-top: 2px solid #e0e0e0 !important;
    border-bottom: 2px solid #e0e0e0 !important;
    border-radius: 0 !important;
    text-align: center !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    background: #fff !important;
    color: #1a1a1a !important;
    -moz-appearance: textfield !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* =============================================
   MOBILE
   ============================================= */
@media (max-width: 600px) {
    ul.wc-bookings-available-blocks,
    .wc-bookings-booking-form-date-time ul {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* =============================================
   TARGETED FIX — block-picker 3 columns
   li class = "block", inline style override
   ============================================= */

/* Force the UL into a 3-column grid */
ul.block-picker {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Each li fills its grid cell */
ul.block-picker li.block {
    width: 100% !important;
    margin: 0 !important;
    display: block !important;
}

/* Override WooCommerce inline width/height on the <a> */
ul.block-picker li.block a {
    width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 8px !important;
    border-radius: 50px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    font-family: sans-serif !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: background 0.2s ease !important;
    background: #3275F7 !important;
    color: #fff !important;
    border: none !important;
    /* This is the key — kills the inline style */
    max-width: 100% !important;
}

/* HOVER → Orange */
ul.block-picker li.block a:hover {
    background: #FB9C01 !important;
    color: #fff !important;
}

/* SELECTED → Orange (WooCommerce adds class "selected") */
ul.block-picker li.block.selected a,
ul.block-picker li.block a.selected,
ul.block-picker li.block.active a {
    background: #FB9C01 !important;
    color: #fff !important;
}

/* UNAVAILABLE → Pink + strikethrough */
ul.block-picker li.block.not-bookable a,
ul.block-picker li.block.fully_booked a,
ul.block-picker li.block[data-block="unavailable"] a {
    background: #ffe4e4 !important;
    color: #e05555 !important;
    text-decoration: line-through !important;
    cursor: not-allowed !important;
}

/* =============================================
   REMOVE ALL CALENDAR BORDERS
   ============================================= */

/* The outer wrapper WooCommerce adds */
.wc-bookings-date-picker,
.wc-bookings-date-picker > div,
.wc-bookings-date-picker .ui-datepicker-inline {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
    padding: 0 !important;
}

/* The inner calendar widget */
.ui-datepicker,
.ui-widget,
.ui-widget-content {
    border: 1px solid #e8e8e8 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    outline: none !important;
}

/* Kill the outer section box that shows in your screenshot */
.wc-bookings-booking-form > div,
.wc-bookings-booking-form .form-row {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    outline: none !important;
}

/* =============================================
   MOBILE: 2 columns on small screens
   ============================================= */
@media (max-width: 600px) {
    ul.block-picker {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* =============================================
   YOUR BASKET — Complete Restyle
   Target: Clean card like Topsy Turvy
   ============================================= */

/* --- BASKET CARD WRAPPER --- */
.woocommerce-cart-form,
.cart-collaterals,
.woocommerce-cart .woocommerce {
    background: transparent !important;
}

/* --- HIDE TABLE HEADERS --- */
.woocommerce-cart-form .shop_table thead,
.woocommerce-cart-form .cart thead {
    display: none !important;
}

/* --- TRANSFORM TABLE INTO CLEAN LIST --- */
.woocommerce-cart-form .shop_table,
.woocommerce-cart-form .cart {
    border: none !important;
    box-shadow: none !important;
    background: #fff !important;
    border-radius: 16px !important;
    padding: 8px 20px !important;
    width: 100% !important;
    border-collapse: collapse !important;
}

/* Each cart item row */
.woocommerce-cart-form .cart_item {
    display: flex !important;
    flex-direction: column !important; /* Holds title and absolute elements properly */
    padding: 16px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    border-top: none !important;
    width: 100% !important;
    position: relative !important;
}

/* Remove gray backgrounds */
.woocommerce-cart-form .cart_item,
.woocommerce-cart-form .cart_item td,
.woocommerce-cart-form .shop_table tbody tr,
.woocommerce-cart-form .shop_table tbody td {
    background: transparent !important;
}

/* Hide unused columns */
.woocommerce-cart-form .cart_item .product-thumbnail,
.woocommerce-cart-form .cart_item .product-price,
.woocommerce-cart-form .cart_item .product-quantity {
    display: none !important;
}

/* Product name cell */
.woocommerce-cart-form .cart_item .product-name {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    border: none !important;
    width: 100% !important;
}

/* Product title */
.woocommerce-cart-form .cart_item .product-name a {
    font-family: 'Luckiest Guy', cursive !important;
    font-size: 16px !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    display: block !important;
    margin-bottom: 10px !important;
    letter-spacing: 0.3px !important;
    padding-right: 80px !important; /* Space for subtotal top-right */
}

/* =============================================
   BOOKING META FIX (Stacked properly, no gaps)
   ============================================= */

/* Reset the containers so they don't force a strict grid */
.woocommerce-cart-form .cart_item .product-name .wc-item-meta,
.woocommerce-cart-form .cart_item .product-name dl {
    display: block !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
    border: none !important;
    list-style: none !important;
}

/* Standardize font settings */
.woocommerce-cart-form .cart_item .product-name dl dt,
.woocommerce-cart-form .cart_item .product-name dl dd,
.woocommerce-cart-form .cart_item .product-name .wc-item-meta li {
    font-size: 13px !important;
    font-family: sans-serif !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    line-height: 1.5 !important;
}

/* -------------------------------------
   IF USING ELEMENTOR LISTS (UL / LI)
   ------------------------------------- */
.woocommerce-cart-form .cart_item .product-name .wc-item-meta li {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    align-items: baseline !important;
    margin-bottom: 6px !important;
}

.woocommerce-cart-form .cart_item .product-name .wc-item-meta strong,
.woocommerce-cart-form .cart_item .product-name .wc-item-meta .wc-item-meta-label {
    font-weight: 600 !important;
    color: #555 !important;
}

.woocommerce-cart-form .cart_item .product-name .wc-item-meta p {
    font-weight: 500 !important;
    color: #888 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline !important;
}

/* -------------------------------------
   IF USING WOOCOMMERCE DEFAULT (DL)
   ------------------------------------- */
/* Float the label left, clear previous labels to force new rows */
.woocommerce-cart-form .cart_item .product-name dl dt {
    float: left !important;
    clear: left !important;
    font-weight: 600 !important;
    color: #555 !important;
    margin-right: 6px !important;
    margin-bottom: 6px !important;
}

/* Value block sits tightly next to the floated label */
.woocommerce-cart-form .cart_item .product-name dl dd {
    display: block !important;
    font-weight: 500 !important;
    color: #888 !important;
    margin-bottom: 6px !important;
    overflow: hidden !important; /* Keeps text neat if it wraps to a second line */
}

.woocommerce-cart-form .cart_item .product-name dl dd p {
    display: inline !important;
    margin: 0 !important;
}

/* Clearfix for the DL container */
.woocommerce-cart-form .cart_item .product-name dl::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* =============================================
   ABSOLUTE POSITIONING FOR PRICE & TRASH
   ============================================= */

.woocommerce-cart-form .cart_item .product-subtotal {
    position: absolute !important;
    top: 16px !important;
    right: 40px !important; /* Space so it doesn't overlap trash */
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    padding: 0 !important;
    border: none !important;
    text-align: right !important;
}

.woocommerce-cart-form .cart_item .product-remove {
    position: absolute !important;
    bottom: 16px !important;
    right: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.woocommerce-cart-form .cart_item .product-remove a.remove {
    color: transparent !important;
    font-size: 0 !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
    transition: background 0.2s !important;
    background: transparent !important;
    text-decoration: none !important;
}

/* Trash Icon SVG */
.woocommerce-cart-form .cart_item .product-remove a.remove::after {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 20px !important;
    background-color: #e05555 !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3Cpath d='M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3Cpath d='M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2'/%3E%3C/svg%3E") !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
}

.woocommerce-cart-form .cart_item .product-remove a.remove:hover {
    background: #ffe4e4 !important;
}

/* =============================================
   HIDE COUPON
   ============================================= */
.woocommerce-cart-form .actions {
    display: none !important;
}

/* =============================================
   CART TOTALS SECTION
   ============================================= */

.cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
    background: #fff !important;
    border-radius: 16px !important;
    padding: 20px !important;
    margin-top: 12px !important;
    box-sizing: border-box !important;
}

/* Hide "Cart totals" heading */
.cart_totals h2 {
    display: none !important;
}

/* Totals table */
.cart_totals .shop_table {
    border: none !important;
    box-shadow: none !important;
    width: 100% !important;
    background: transparent !important;
    border-collapse: collapse !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

.cart_totals .shop_table tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.cart_totals .shop_table th {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #555 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    text-align: left !important;
}

.cart_totals .shop_table td {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    text-align: right !important;
}

/* Total row — bigger and bold */
.cart_totals .order-total {
    border-bottom: none !important;
    padding-top: 14px !important;
}

.cart_totals .order-total th {
    font-family: 'Luckiest Guy', cursive !important;
    font-size: 18px !important;
    color: #1a1a1a !important;
    letter-spacing: 1px !important;
}

.cart_totals .order-total td,
.cart_totals .order-total td strong,
.cart_totals .order-total .woocommerce-Price-amount {
    font-family: 'Luckiest Guy', cursive !important;
    font-size: 22px !important;
    color: #1a1a1a !important;
    font-weight: 900 !important;
}

/* =============================================
   PROCEED TO CHECKOUT BUTTON
   ============================================= */

.cart_totals .wc-proceed-to-checkout {
    padding: 0 !important;
    margin-top: 16px !important;
}

.cart_totals .wc-proceed-to-checkout .checkout-button,
.cart_totals .checkout-button {
    background: #3275F7 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 16px 24px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-family: 'Luckiest Guy', cursive !important;
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: background 0.2s ease !important;
}

.cart_totals .checkout-button:hover {
    background: #1a5fd4 !important;
}

/* =============================================
   EMPTY CART STATE
   ============================================= */

.woocommerce-cart .cart-empty {
    text-align: center !important;
    color: #aaa !important;
    font-style: italic !important;
    padding: 24px 0 !important;
    font-size: 14px !important;
}

.woocommerce-cart .return-to-shop .button {
    background: #FB9C01 !important;
    color: #fff !important;
    border-radius: 50px !important;
    padding: 12px 28px !important;
    font-weight: 700 !important;
    font-family: 'Luckiest Guy', cursive !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-top: 12px !important;
}

/* =============================================
   YOUR BASKET TITLE (widget title)
   ============================================= */

.elementor-widget-woocommerce-cart .widgettitle,
.widget_shopping_cart .widgettitle,
h2.woocommerce-cart-form__contents,
.woocommerce-cart h2 {
    font-family: 'Luckiest Guy', cursive !important;
    font-size: 26px !important;
    color: #1a1a1a !important;
    letter-spacing: 1px !important;
    margin-bottom: 16px !important;
    text-transform: uppercase !important;
}

/* =============================================
   CHECKOUT TICKET LAYOUT FIX
   Target: Split Layout (Text Left, Input Right)
   ============================================= */

/* 1. Target the container wrapping each ticket row */
.wc-bookings-booking-form .wc-bookings-booking-person,
.wc-bookings-booking-form .form-field,
.booking-person-wrapper {
    display: grid !important;
    grid-template-columns: 1fr max-content !important;
    align-items: center !important;
    row-gap: 6px !important;
    column-gap: 20px !important;
    margin-bottom: 24px !important;

    /* This styles the raw price text (e.g. £12.00 per person) */
    font-family: sans-serif !important;
    font-size: 14px !important;
    color: #888 !important; 
}

/* 2. Ticket Name (Label) -> Top Left */
.wc-bookings-booking-form .wc-bookings-booking-person label,
.wc-bookings-booking-form .form-field label {
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

/* 3. The Input Area -> Right Side (Forces price text to bottom-left) */
.wc-bookings-booking-form .wc-bookings-booking-person input[type="number"],
.wc-bookings-booking-form .wc-bookings-booking-person .quantity,
.wc-bookings-booking-form .form-field input[type="number"],
.wc-bookings-booking-form .form-field .quantity {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 3 !important; /* Spans top to bottom on the right */
    width: 130px !important;
    height: 44px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    background: #fff !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 !important;
}

/* =============================================
   STYLE THE +/- BUTTONS 
   (Will apply if your theme/plugin generates them)
   ============================================= */

/* Reset the quantity wrapper if it exists */
.wc-bookings-booking-form .quantity {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 4px !important;
}

/* The Blue Buttons */
.wc-bookings-booking-form .quantity .minus,
.wc-bookings-booking-form .quantity .plus,
.wc-bookings-booking-form .quantity input[type="button"] {
    background: #3275F7 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    width: 36px !important;
    height: 36px !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s !important;
}

.wc-bookings-booking-form .quantity .minus:hover,
.wc-bookings-booking-form .quantity .plus:hover,
.wc-bookings-booking-form .quantity input[type="button"]:hover {
    background: #1a5fd4 !important;
}

/* The Number Text in the middle */
.wc-bookings-booking-form .quantity input[type="number"] {
    border: none !important;
    width: 40px !important;
    height: 36px !important;
    padding: 0 !important;
    box-shadow: none !important;
    grid-column: unset !important; /* Unset the grid rule for the inner input */
    grid-row: unset !important;
}


/* === Hide irrelevant My Account tabs === */
.woocommerce-MyAccount-navigation-link--downloads,
.woocommerce-MyAccount-navigation-link--edit-address,
.woocommerce-MyAccount-navigation-link--payment-methods {
    display: none !important;
}/* End custom CSS */