:root {
    --menu-selected: #889ae9;

    --logo-height-x-large: 70px;
    --logo-height-large: 70px;
    --logo-height-medium: 70px;
    --logo-height-small: 50px;
    --logo-height-x-small: 50px;

    --logo-width-x-large: 100px;
    --logo-width-large: 100px;
    --logo-width-medium: 100px;
    --logo-width-small: 70px;
    --logo-width-x-small: 70px;

    --hdr-bckgrnd-height-x-large: 56px;
    --hdr-bckgrnd-height-large: 56px;
    --hdr-bckgrnd-height-medium: 56px;
    --hdr-bckgrnd-height-small: 30px;
    --hdr-bckgrnd-height-x-small: 30px;

    --header-info-padding-x-large: 10px;
    --header-info-height-x-large: 35px;
    --header-info-padding-large: 10px;
    --header-info-height-large: 35px;
    --header-info-padding-medium: 10px;
    --header-info-height-medium: 25px;
    --header-info-padding-small: 10px;
    --header-info-height-small: 20px;
    --header-info-padding-x-small: 10px;
    --header-info-height-x-small: 20px;

    --header-height-x-large: calc(var(--hdr-bckgrnd-height-x-large) + var(--header-info-height-x-large) + var(--header-info-padding-x-large));
    --header-height-large: calc(var(--hdr-bckgrnd-height-large) + var(--header-info-height-large) + var(--header-info-padding-large));
    --header-height-medium: calc(var(--hdr-bckgrnd-height-medium) + var(--header-info-height-medium) + var(--header-info-padding-medium));
    --header-height-small: calc(var(--hdr-bckgrnd-height-small) + var(--header-info-height-small) + var(--header-info-padding-small));
    --header-height-x-small: calc(var(--hdr-bckgrnd-height-x-small) + var(--header-info-height-x-small) + var(--header-info-padding-x-small));

    --login-height-medium: 24px;
    --login-width-medium: 30px;
    --login-height-small: 18px;
    --login-width-small: 26px;

    --loggedin-height-large: 24px;
    --loggedin-width-large: 24px;
    --loggedin-height-medium: 18px;
    --loggedin-width-medium: 18px;
    --loggedin-height-small: 14px;
    --loggedin-width-small: 14px;

    --info-container-x-large: 68px;
    --info-container-large: 68px;
    --info-container-medium: 58px;
    --info-container-small: 48px;
    --info-container-x-small: 48px;

    --max-width: 900px;

    --allergen-container-height: 50px;

    --z-index-fullscreen: 3000;
    --z-index-alerts: 1000000;
    --z-index-sidenav: 2000;
    --z-index-header: 1000;
    --z-index-cookie: 2147483647;
    --z-index-allergens: 100;
    --z-index-errors: 100;
    --z-index-modals: 50;
    --z-index-sidenav-basket-totals: 11;
    --z-index-sidenav-basket: 10;
    --z-index-hdr-logo: 4;
    --z-index-hdr-text: 4;
    /* ModalBoxConfirmation() for cancelling order dialog: 3 */
    /* ModalBoxConfirmation() for delete order item dialog: 3 */
    --z-index-add-item-basket: 3;
    --z-index-edit-order-item: 2;
    /* ModalBoxConfirmation() default: 1 */
    --z-index-popup: 1;
    --z-index-login-snackbar: 1;
    --z-index-allergen-container: 1;
    --z-index-hdr: 0;
    --z-index-open-only-slider: -1;
    --z-index-hdr-background: -2;

    --location-search-margin-top: 10px;
    --location-search-input-height: 25px;
    --loc-search-padding: 10px;
    --location-search-landscape-margin: calc(-2 * var(--loc-search-padding) - var(--location-search-margin-top) - var(--location-search-input-height));

    --chat-font-large: 22px;

    --loclist-img-maxwidth: 400px;

}

/* The checkout journey uses one dialog; the legacy stage containers are panels inside it. */
#checkout-dialog.checkout-dialog {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    box-sizing: border-box;
    border: 0;
    transform: none;
    -webkit-transform: none;
    -ms-transform: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

#checkout-dialog.checkout-dialog[hidden] {
    display: none !important;
}

#checkout-dialog .checkout-dialog-content {
    display: flex;
    flex-direction: column;
    width: min(860px, 100%);
    max-height: calc(100vh - 40px);
    height: auto !important;
    margin: 0;
    overflow: hidden;
}

#checkout-dialog .checkout-dialog-header {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
}

#checkout-dialog .checkout-dialog-body {
    min-height: 0;
    padding: 20px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

#checkout-dialog .checkout-form-section,
#checkout-dialog .checkout-dialog-body > :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #payment-info-page
) {
    box-sizing: border-box;
    margin: 0 0 18px !important;
    border: 1px solid #e4e7ec;
    border-radius: 16px;
    background: #fff !important;
}

#checkout-dialog .checkout-form-section,
#checkout-dialog .checkout-dialog-body > :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content > .modal-body {
    padding: 18px !important;
}

#checkout-dialog .checkout-form-section h2,
#checkout-dialog .checkout-dialog-body > :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content > .modal-body::before {
    display: block;
    margin: 0 0 14px;
    color: #1d2939;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.3;
}

#checkout-dialog #order_personal_info > .modal-content > .modal-body::before {
    content: "Contact details";
}

#checkout-dialog #order_comments_info > .modal-content > .modal-body::before {
    content: "Order notes";
}

#checkout-dialog #order_transport_info > .modal-content > .modal-body::before {
    content: "Collection or delivery";
}

#checkout-dialog #order-payment-type > .modal-content > .modal-body::before {
    content: "Payment method";
}

#checkout-dialog #order-offers-page > .modal-content > .modal-body::before {
    content: "Coupon";
}

#checkout-dialog .checkout-allergen-confirm h2 {
    margin-top: 0;
}

#checkout-dialog .checkout-allergen-confirm label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}

#checkout-dialog .checkout-allergen-confirm input {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
}

#checkout-dialog #order_personal_info .order_button_container,
#checkout-dialog #order_comments_info .space_evenly,
#checkout-dialog #order_transport_info > .modal-content > .modal-body > .space_evenly,
#checkout-dialog #order-payment-type .space_evenly,
#checkout-dialog #order-offers-page .space_evenly {
    display: none !important;
}

#checkout-dialog .checkout-review-action {
    margin: 4px 0 20px;
    text-align: right;
}

#checkout-dialog .checkout-review-action button,
#checkout-dialog #order_now_button {
    min-height: 48px;
    padding: 12px 24px;
    border: 0;
    border-radius: 12px;
    background: var(--a4d-orange);
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
}

#checkout-dialog #payment-info-page .order_payment_buttons > .order_button_container:first-child {
    display: none !important;
}

#checkout-dialog .checkout-dialog-body > :is(
    #order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #payment-info-page
) {
    position: static !important;
    top: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
}

#checkout-dialog #payment-info-page > #order_payment_info {
    position: static !important;
    top: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    display: block;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

#checkout-dialog .checkout-dialog-body > :is(
    #order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content,
#checkout-dialog #payment-info-page .modal-content {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

#checkout-dialog .checkout-dialog-body > :is(
    #order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content > .modal-header,
#checkout-dialog #payment-info-page .modal-content > .modal-header {
    display: none !important;
}

@media (max-width: 640px) {
    #checkout-dialog.checkout-dialog {
        align-items: flex-end;
        padding: 0;
    }

    #checkout-dialog .checkout-dialog-content {
        width: 100%;
        max-height: 92vh;
        border-radius: 20px 20px 0 0;
    }

    #checkout-dialog .checkout-dialog-body {
        padding: 12px;
    }
}

html, body {
    margin: 0;
    padding: 0;
    font-family: JETSansDigital, -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica Neue, Helvetica, Arial, sans-serif;
    scroll-behavior: smooth;
    background-color: white;
}

.cookie-banner {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100dvh;
    overflow-y: auto;
    box-sizing: border-box;
    padding: clamp(10px, 2vw, 24px);
    background: #f5f6f8;
    color: #101828;
    z-index: var(--z-index-cookie);
}

.cookie-banner-content {
    width: min(100%, 920px);
    box-sizing: border-box;
    margin: 0 auto;
    padding: clamp(14px, 2.5vw, 24px);
    border: 1px solid #e4e7ec;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(16, 24, 40, 0.08);
}

.cookie-banner-title {
    margin: 0;
    text-align: center;
    color: #101828;
    font-size: clamp(22px, 3vw, 28px);
    font-weight: 800;
    line-height: 1.2;
}

.cookie-banner-buttons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
    gap: 10px;
    margin: 14px 0 16px;
}

.cookie-banner-button {
    min-height: 44px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid transparent;
    border-radius: 10px;
    font: inherit;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.2;
    cursor: pointer;
}

.cookie-banner-button:focus-visible,
.cookie-banner-policy-button:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--a4d-orange) 35%, transparent);
    outline-offset: 2px;
}

.cookie-accept-button {
    border-color: var(--a4d-orange);
    background: var(--a4d-orange);
    color: #ffffff;
}

.cookie-accept-essential-button {
    border-color: var(--a4d-orange);
    background: #ffffff;
    color: #b54708;
}

.cookie-decline-button {
    border-color: #d0d5dd;
    background: #ffffff;
    color: #b42318;
}

.cookie-banner-body {
    display: grid;
    gap: 12px;
    margin: 0;
    text-align: left;
    font-size: 15px;
}

.cookie-banner-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
    gap: 10px;
}

.cookie-banner-essential,
.cookie-banner-notdone {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid #ffd2ad;
    border-radius: 12px;
    background: #fffaf5;
    font-size: 15px;
    font-weight: 550;
    line-height: 1.4;
}

.cookie-banner-notdone {
    border-color: #e4e7ec;
    background: #f9fafb;
    font-weight: 450;
}

.cookie-banner-notdone-emphasise {
    color: #b54708;
    font-weight: 800;
}

.cookie-banner-policy-title {
    margin: 0;
    text-align: center;
    color: #344054;
    font-size: 16px;
    font-weight: 750;
    line-height: 1.3;
}

.cookie-banner-policies {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    font-size: 14px;
    font-weight: 650;
}

.cookie-banner-policy-button {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    margin: 0;
    padding: 9px 34px 9px 13px;
    border: 1px solid #eaecf0;
    border-radius: 11px;
    background: #f9fafb;
    color: #344054;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.cookie-banner-policy-button::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 13px;
    color: var(--a4d-orange);
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-53%);
}

.cookie-banner-policy-button:hover {
    border-color: #ffc38f;
    background: #fffaf5;
    color: #b54708;
    box-shadow: 0 2px 5px rgba(16, 24, 40, 0.08);
    transform: translateY(-1px);
}

.cookie-banner-policy-button:active {
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    transform: translateY(0);
}

.cookie-banner-consent-note {
    margin: 0;
    color: #667085;
    font-size: 13px;
    line-height: 1.35;
    text-align: center;
}

.cookie-banner-policy {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    z-index: var(--z-index-cookie);
}

/* Cookie consent must remain above every page, menu, modal and loading layer. */
.cookie-banner,
.cookie-banner-policy {
    position: fixed !important;
    inset: 0 !important;
    z-index: var(--z-index-cookie) !important;
    isolation: isolate !important;
    pointer-events: auto !important;
    filter: none !important;
    -webkit-filter: none !important;
}

.policy-close-button {
    margin: 10px auto !important;
}

.location_body {
    background-color: rgba(0,0,0,0.1);
    height: 100vh;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.location-area {
    height: 100vh;
}

.terms_div {
    background-color: white;
    padding: 0px 5px;
}

.body_container {
    margin: 0 auto;
}.posrelative {
    position: relative;
}

.max_width {
    max-width: var(--max-width);
    margin: 0 auto;
}

.full_width {
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
    margin: 0;
    padding: 0;
}.vert_top {
    vertical-align: top;
}.flip {
    transform: rotate(180deg);
}.justify-centre {
    justify-content: center;
}

.font-bold {
    font-weight: bold;
}

.top-border {
    border-top: 1px solid black;
}

.the_header {
    min-height: var(--header-height-x-large);
    height: var(--header-height-x-large);
    max-height: var(--header-height-x-large);
    width: 100%;
    position: relative;
    z-index: var(--z-index-hdr);
    background-color: white;
}

.add_item_basket {
    z-index: var(--z-index-add-item-basket);
}

.basket_image img{
    width: 80px;
    min-width: 80px;
    max-width: 80px;
    height: 50px;
    max-height: 50px;
    min-height: 50px;
}

.basket_count {
    background-color: color-mix(in srgb, var(--a4d-orange) 90%, transparent);
    color: black;
    position: absolute;
    text-align: center;
    height: 25px;
    font-size: 20px;
    width: 35px;
    top: -5px;
    right: 15px;
    border-radius: 4px;
}

.info_container {
    margin: 0 auto;
    background-color: white;
    border-bottom: 1px solid black;
    height: var(--info-container-large);
    max-height: var(--info-container-large);
    min-height: var(--info-container-large);
}

.location_content {
    overflow: hidden;
    height: calc(100% - var(--header-height-x-large));
}

.show_menu_inner {
    height: calc(100% - var(--info-container-x-large));
}

.hdr_adorders_logo_image {
    max-width: var(--logo-width-x-large);
    min-width: var(--logo-width-x-large);
    width: var(--logo-width-x-large);
    max-height: var(--logo-height-x-large);
    min-height: var(--logo-height-x-large);
    height: var(--logo-height-x-large);
    position: absolute;
    left: calc(50% - var(--logo-width-x-large) / 2);
    z-index: var(--z-index-hdr-logo);
    top: -35px;
}

.hdr_adorders_logo_h2 h2, .header-account-label {
    color: black;
    font-size: x-large;
    font-weight: 1000;
    z-index: var(--z-index-hdr-text);
}

.header_info {
    padding-top: var(--header-info-padding-x-large);
}

.header_info, .customer_login_container, .hdr_adorders_logo_h2 {
    height: var(--header-info-height-x-large);
}

.location_name {
    font-size: 14px;
    font-weight: 700;
    word-break: break-word;
    padding: 0;
    max-width: 90%;
    background: var(--a4d-orange-soft);
    border: none;
    border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    grid-column: 1;
    grid-row: 1;
    line-height: 1.08;
    text-transform: capitalize;
    box-sizing: border-box;
    padding: 10px;
    width: fit-content;
}

.hdr_adorders_logo_h2 {
    word-break: break-all;
}

.header_background_img {
    width: 100%;
}

.header_background, .header_background_img {
    height: var(--hdr-bckgrnd-height-x-large);
}

.loc_search {
    display: flex;
    padding: var(--loc-search-padding);
}

.loc_search_button {
    border: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
    margin-left: 5px;
}

.loc_search_button img {
    width: 30px;
    height: 30px;
    display: block;
    margin: 0px auto;
}

.loc_search_container {
    display: flex;
    align-items: center;
}

.a-dot {
    width: 10px;
    height: 10px;
    background-color: white;
    border-radius: 50%;
    margin: 5px auto;
}

.locations_item {
    border: solid 1px black;
    border-radius: 10px;
    display: flex;
    width: 50%;
    margin: 0 10px;
    cursor: pointer;
}

.locations_details {
    width: 70%;
}

.locations_logo {
    margin: 5px;
    width: 30%;
}

.locations_rating {
    height: 45%;
    overflow: hidden;
}

.locations_rating_image {
    width: 12px;
    height: 30px;
}

.locations_rating_image_slider {
    width: 6%;
    max-width: 9px;
    height: 100%;
    max-height: 40px;
    padding-bottom: 5px;
} .vertical_align {
    position: relative;
    top: 50%;
    transform: perspective(1px) translateY(-50%);
    -webkit-transform: perspective(1px) translateY(-50%);
    -ms-transform: perspective(1px) translateY(-50%);
 }.delivery_info {
    width: -webkit-fill-available;
    justify-content: flex-end;
}

 .delivery_bike {
     width: 50px;
     height: 40px;
 }

.order_name_input, .order_phone_input, .order_email_input {
    text-align: center;
    margin: 20px auto;
    font-size: x-large;
}

.order_name_input input, .order_phone_input input, .order_email_input input {
    font-size: xx-large;
    width: 90%;
}.waiting_confirmation {
    font-size: x-large;
}

.waiting_confirmation_name {
    font-size: x-large;
    margin-bottom: 1%;
}

.waiting_confirmation_amount {
    font-size: x-large;
    font-weight: 900;
    color: red;
}

.waiting_confirmation_refresh {
    font-size: x-large;
    color: red;
}

.waiting_confirmation_wait {
    font-size: x-large;
}

.order_transport_type {
    width: 100%;
    margin-top: 1%;
    padding-bottom: 1%;
    font-size: x-large;
}

.order_transport_type_container_checked {
    background-color: black;
    color: white;
}

.order_transport_type_container_not_checked {
    border-bottom: 1px solid black;
}

.order_info_personal {
    flex-wrap: wrap;
}

.order_transport_delivery_details {
    text-align: center;
    padding-top: 10px;
    border-top: 1px solid red;
    display: block;
}

.sticky_container {
    position: sticky;
    top: 0;
    border-bottom: 1px solid black;
    z-index: var(--z-index-header);
}

.the_header_background {
    z-index: var(--z-index-hdr-background);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: white;
}

.the_header_background img {
    width: 100%;
    height: 100%;
    margin: 0 auto;
}

.order_address1_input, .order_address2_input, .order_postcode_input {
    margin: 0 auto 10px auto;
    display: flex;
    width: 90%;
}

.order_address1_input input, .order_address2_input input, .order_postcode_input input {
    font-size: large;
}

.order_address1_input input, .order_address2_input input {
    width: 100%;
}

.order_postcode_input input {
    width: calc(100% - 135px);
}

.order_info_container {
    flex-wrap: wrap;
    justify-content: center;
}

.order_button_container {
    text-align: center;
    margin: 20px 20px 5px 20px;
}

.order_button_container button {
    font-size: xx-large;
}

.order_payment_buttons {
    justify-content: end;
}

.transport_chosen {
    font-size: xx-large;
    text-align: center;
    animation: discount_blinker 1s linear infinite;
}.item_allergen {
    border-radius: 50%;
    margin: 0 0 0 3px;
    font-size: large;
    height: 25px;
    width: 25px;
}

.item_allergen_char {
    text-align: center;
}

.failed_responses_button {
    width: 100%;
    text-align: center;
}

.are_you_sure {
    font-size: 20px;
    text-align: center;
}

.orders_rejected {
    font-size: 24px;
    text-align: center;
    padding: 0 10px;
}.orders_rejected_congrats {
    font-size: x-large;
    text-align: center;
    color: #A7A7A7;
}

.orders_rejected_id {
    font-size: xx-large;
    text-align: center;
    font-weight: 800;
}

.orders_rejected_cost {
    font-size: xx-large;
    text-align: center;
    padding-bottom: 20px;
}

.orders_rejected_screenshot {
    font-size: xx-large;
    text-align: center;
    padding-bottom: 20px;
}

.orders_rejected_future {
    font-size: x-large;
    text-align: center;
    padding-top: 20px;
    color: #A7A7A7;
}

.are_you_sure_button_no, .are_you_sure_button_yes {
    width: 50%;
    margin-bottom: 10px;
}

.are_you_sure_button_ok {
    width: 100%;
    text-align: center;
}

.are_you_sure_button_no {
    text-align: right;
    padding-right: 20px;
}.orders_rejected_button button {
    font-size: xx-large;
}

.are_you_sure_button button {
    font-size: xx-large;
    margin-top: 20px;
    margin-bottom: 10px;
}

.go_to_top{
  position: fixed;
  right: 12px;

  bottom: max(16px, calc(16px + env(safe-area-inset-bottom)));
  bottom: max(16px, calc(16px + constant(safe-area-inset-bottom))); /* older iOS */

  background: none;
  border: none;
  padding: 0;
  z-index: 9999;
}


.go_to_top img {
    width: 50px;
    height: 50px;
}

#custome_add_option {
    margin: 2px 10px;
}

.order_totals_title, .basket_total_title {
    padding-right: 20px;
}

.order_totals_val {
    padding-right: 3px;
}

.order_discount_title {
    border-bottom: 1px solid blue;
    padding-bottom: 20px;
}

.closed_message {
    width: 100%;
    margin-top: 100px;
    padding: 10px 16px 24px;
    box-sizing: border-box;
    text-align: center;
    background-color: white;
}

.closed_hours {
    border: 1px solid black;
    border-radius: 20px;
    text-align: center;
    width: fit-content;
    margin: 30px auto 80vh auto;
    padding: 20px;
}

.closed_row {
    margin-bottom: 20px;
}

.closed_day {
    width: 60px;
    font-size: 25px;
    box-sizing: border-box;
    margin: 0 20px 0 0;
}

.closed_from, .closed_to, .closed_closed, .closed_separator {
    font-size: 25px;
    text-align: center;
}

.closed_separator {
    margin: 0 2px;
}

.catch_errors {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgb(245, 103, 103);
    color: white;
    z-index: var(--z-index-errors);
    overflow-wrap: break-word;
    font-size: 10px;
}

.order_problem_sorry {
    margin-bottom: 3%;
    font-size: x-large;
}

.order_problem_charged {
    margin-bottom: 5%;
    font-size: xx-large;
    color: red;
}

.order_problem_msg {
    margin-bottom: 3%;
    font-size: xx-large;
    font-weight: 600;
}

.order_problem_code {
    margin-bottom: 5%;
    font-size: large;
}

.order_delivery_cost {
    font-size: x-large;
    text-align: center;
}

.order_payment_inf_cost {
    font-size: 24px;
    border-bottom: 1px solid black;
    padding-bottom: 10px;
}

.order_payment_inf_cost_left {
    width: 64%;
    text-align: right;
    margin-right: 3%;
}

.order_payment_inf_cost_right {
    width: 30%;
    text-align: right;
    margin-left: 3%;
}

.order_payment_inf_cost_right_border {
    border-top: 1px solid gray;
    width: 40%;
}

.transport_specify_container {
    font-size: x-large;
    border: 1px solid white;
    margin: 20px 0;
    width: 100%;
    display: flex;
}

.transport_specify_selection_time {
    color: gray;
}.transport_specify_asap_time {
    font-size: x-large;
}

.transport_specify_asap_container {
    margin-right: 20px;
}

.transport_specify_time_container {
    margin-left: 10px;
}

.transport_specify_time_container input {
    font-size: x-large;
}

.itemextras_order_table {
    background-color: #f6f6f6;
    border-bottom: 1px solid #ffc5b0;
    border-top: 1px solid #ffc5b0;
}

.itemextras_answers {
    color: black;
}

.itemextras_hr {
    margin: 0 0 5px 0;
}

.itemextras_answers_container {
    max-height: 50vh;
    overflow: scroll;
}

#update_done_snackbar {
    visibility: hidden;
    width: 100%;
    background-color: var(--a4d-orange);
    color: black;
    text-align: center;
    padding: 1%;
    position: fixed;
    z-index: var(--z-index-login-snackbar);
    bottom: 50%;
    font-size: x-large;
}

#update_done_snackbar.show {
    visibility: visible;
    -webkit-animation: update_done_snackbar_fadein 0.2s, update_done_snackbar_fadeout 0.2s 4.5s;
    animation: update_done_snackbar_fadein 0.2s, update_done_snackbar_fadeout 0.2s 4.5s;
}

/* Animations to fade the snackbar in and out */
@-webkit-keyframes update_done_snackbar_fadein {
    from {bottom: 0; opacity: 0;}
    to {bottom: 50%; opacity: 1;}
}

@keyframes update_done_snackbar_fadein {
    from {bottom: 0; opacity: 0;}
    to {bottom: 50%; opacity: 1;}
}

@-webkit-keyframes update_done_snackbar_fadeout {
    from {bottom: 50%; opacity: 1;}
    to {bottom: 0; opacity: 0;}
}

@keyframes update_done_snackbar_fadeout {
    from {bottom: 50%; opacity: 1;}
    to {bottom: 0; opacity: 0;}
}

.adorders_container_locations {
    width: 100%;
}

.adorders_column {
    width: 30%;
    height: 100%;
}

.adorders_column_2 {
    width: 70%;
    height: 100%;
}

.headers_img_login {
    min-height: var(--login-height-medium);
    height: var(--login-height-medium);
    max-height: var(--login-height-medium);
    margin-top: 5px;
    margin-left: 5px;
}

.headers_img_login img {
    min-height: var(--login-height-medium);
    height: var(--login-height-medium);
    max-height: var(--login-height-medium);
    min-width: var(--login-width-medium);
    width: var(--login-width-medium);
    max-width: var(--login-width-medium);
}

.headers_img_loggedin_border {
    border-radius: 50%;
    border: 1px solid black;
}

.headers_img_loggedin {
    min-height: calc(var(--loggedin-height-large) + 2);
    height: calc(var(--loggedin-height-large) + 2);
    max-height: calc(var(--loggedin-height-large) + 2);
    margin-left: 5px;
    padding-top: 5px;
}

.headers_img_loggedin img {
    min-height: var(--loggedin-height-large);
    height: var(--loggedin-height-large);
    max-height: var(--loggedin-height-large);
    min-width: var(--loggedin-width-large);
    width: var(--loggedin-width-large);
    max-width: var(--loggedin-width-large);
}

.right_header_container {
    width: 20%;
}

.page_column {
    width: 100%;
    text-align: center;
}h1 {
    margin-block-start: 10px;
    margin-block-end: 10px;
    font-family: sans-serif;
}

h2 {
    margin-block-start: 0px;
    margin-block-end: 0px;
    display: inline;
}

.about_area_container {
    overflow-y: scroll;
}

.cats, .items {
    background-color: white;
}

.items {
    border-radius: 15px;
}

.main_container {
    position: relative;
    height: 100%;
    margin-top: 10px;
}

.main_container_iframe {
    height: 100vh;
    min-height: 100vh;
    max-height: 100vh;
}

.customer_login_container {
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-align: inherit;
    border-radius: 5px;
    padding: 5px;
    max-width: 55%;
    margin-right: 50px;
    align-items: center;
    line-height: 1.2;
}

.customer_login_container > span {
    display: block;
}

.h1_container {
    background: none;
    text-align: center;
    width: 95%;
    margin: 0 auto;
}

.location_search {
    margin-top: var(--location-search-margin-top);
}

.location_search_title {
    font-size: xx-large;
}

.location_search input {
    font-size: medium;
    text-align: center;
    width: 100px;
    height: var(--location-search-input-height);
    text-transform: uppercase;
}

/* The switch - the box around the slider */
.open_only_switch {
    position: relative;
    display: inline-block;
    width: 42px;
    height: 25px;
    border-radius: 25px;
    border: 1px solid black;
}

/* Hide default HTML checkbox */
.open_only_switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* The slider */
.open_only_slider {
    -webkit-transition: .4s;
    transition: .4s;
    z-index: var(--z-index-open-only-slider);
}

.open_only_slider:before {
    position: absolute;
    content: "";
    height: 17px;
    width: 17px;
    left: 4px;
    bottom: 4px;
    background-color: red;
    -webkit-transition: .4s;
    transition: .4s;
}

.open_only_checkbox:checked + .open_only_slider:before {
    background-color: green;
}

.open_only_checkbox:checked + .open_only_slider:before {
    -webkit-transform: translateX(17px);
    -ms-transform: translateX(17px);
    transform: translateX(17px);
}

.open_only_slider.open_only_round:before {
    border-radius: 50%;
}

.open_only_label {
    margin: auto 5px;
    height: 25px;
    font-size: large;
}.location_header_button {
    cursor: pointer;
    width: 80%;
    margin: 10px 10%;
}

.location_header_name {
    font-size: x-large;
    font-weight: 600;
    text-align: center;
}

.location_left {
    margin-top: 0;
    width: 15%;
    text-align: center;
}

.min_order_image {
    width: 30px;
    height: 30px;
    margin-right: 5px;
}

.location_right {
    width: 83%;
    margin-left: 2%;
}.flexdiv_between {
    justify-content: space-between;
}

.location_summary {
    text-align: left;
    text-overflow: ellipsis;
    white-space: normal;
    overflow: hidden;
    width: 98%;
    font-size: 18px;
}

.locations_address {
    font-size: 14px;
}

.location_open, .location_open_soon, .location_closed {
        display: inline-block;    /* Keep the content inline, shrinking the container */
        white-space: nowrap;      /* Prevent wrapping, so the container doesn't expand */
        margin-right: 1%;
        text-align: right;
        padding: 1px 4px;
        border-radius: 5px;
        font-size: 20px;
    }

.location_open {
    background-color: lightgreen;
}

.location_open_soon {
    background-color: var(--a4d-orange);
}

.location_open_soon_container {
    display: flex;
    box-sizing: border-box;
    position: absolute;
    top: 10px;
    right: 10px;
    flex-direction: column;
}

.location_open_soon_preorder {
    font-size: 16px;
    text-align: center;
    font-weight: bold;
    white-space: nowrap;
    color: white;
    background-color: red;
    border: 1px solid red;
    border-radius: 8px;
    box-sizing: border-box;
    margin: 5px 0;
    padding: 3px;
}

.basket-pre-order:empty {
    display: none !important;
}

.pre-ordering, .basket-pre-order {
    background: var(--a4d-orange-soft);
    color: black;
    border-radius: 10px;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    padding: 5px;
    width: fit-content;
    margin: 5px auto;
    box-sizing: border-box;
}

.pre-order-resp-title {
    font-size: 30px;
    color: cadetblue;
    margin-bottom: 20px;
}

.pre-order-resp-msg {
    font-size: 22px;
    font-weight: 100;
}

.location_closed {
    background-color: red;
}

.location_distance {
    font-family: Arial;
}.rounded_button {
    border: none;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 40px;
    background-color: #33334b;
    color: white;
}

.basket_block {
    padding: 2px;
    background-color: white;
    box-sizing: border-box;
}

.basket_allergen_button {
    font-size: xx-large;
}.cats_container {
    padding: 5px;
}.search_input, .clear_search, .show_chat_button {
    font-size: large;
}

.search_input, .clear_search {
    padding: 5px 1px;
    border-width: 0px;
    text-align: center;
    border-radius: 5px;
    background-color: #33334b;
    color: white;
    width: 100%;
}.search_container {
    width: 96%;
    margin: auto;
}

.basket_total {
    margin: auto;
    font-weight: 600;
    color: black;
    font-size: large;
    text-align: center;
    padding-right: 3px;
    font-family: sans-serif;
}

.clear_search {
    width: 15%;
}.itemextras_qnts {
    width: 6%;
}

.answer_names {
    width: 60%;
}

.itemextras_amount {
    width: 21%;
    padding-right: 1%;
}

.order_button_img {
    border-radius: 5px;
    width: 30px;
    height: 30px;
}

.items_for_cat {
    margin-bottom: 30px;
}

.item_cat_header, .item_cat_header_desc {
    font-size: x-large;
}

.item_cat_header_desc {
    padding: 5px 10px 30px 10px;
}

.add_items {
    width: 25%;
}

.item_info {
    margin: 5px 0 10px 0;
    cursor: pointer;
}

.item_name {
    font-size: x-large;
    font-weight: bold;
}

.item_description {
    font-size: large;
}

.item_cost {
    font-size: x-large;
    text-align: right;
    padding-right: 10px;
}

.order_items {
    overflow-x: hidden;
    padding-bottom: 50vh;
}

.totals_container {
    background-color: white;
    width: 100%;
    padding: 10px 0;
    margin-bottom: 5px;
    position: sticky;
    top: 0;
    z-index: var(--z-index-sidenav-basket-totals);
}.no_items_container {
    font-size: xxx-large;
    padding-top: 50px;
    text-align: center;
    width: 100%;
}.order_header_no {
    width: 10%;
}

.order_header_items, .extras_item_container {
    width: 70%;
}

.order_header_cost, .order_cost, .extras_order_cost {
    width: 15%;
}

.qnt_change_container, .extras_order_col1 {
    width: 7%;
    margin: 0 1.5%;
}

/* To get the select dropdown to work on iPhone we are removing all styling
   from the select element and then building a custom select on the container div instead. */
.qnt_change_container select {
    appearance: none;
    background-color: transparent;
    border: none;
    padding: 0 1em 0 0;
    margin: 0;
    width: 100%;
    font-family: inherit;
    font-size: inherit;
    cursor: inherit;
    line-height: inherit;
    outline: none;
    grid-area: select;
}

.qnt_change_container {
    border-top: 1px solid black;
    border-bottom: 1px solid black;
    font-size: x-large;
    line-height: 1.1;
    display: grid;
    align-items: center;
    max-height: 35px;
}

.qnt_change_container::after {
    content: "";
    width: 50%;
    height: 40%;
    background-color: black;
    clip-path: polygon(90% 0%, 0% 0%, 45% 100%);
    grid-area: select;
    justify-self: end;
  }

.order_item_delete {
    width: 4%;
    margin-right: 1%;
}

.order_item_delete img {
    width: 25px;
    height: 30px;
}

.allergen_container {
    background-color: white;
    margin-bottom: 5px;
}

.order_buttons_container {
    flex-wrap: wrap;
}

.order_name {
    text-align: left;
    font-size: x-large;
    display: flex;
    margin: auto 0;
    width: 70%;
}

.order_cost {
    text-align: right;
    font-size: x-large;
    width: 15%;
    margin: auto 0;
}

.order_total_amount {
    font-weight: 800;
    margin: 1px 0;
    font-size: x-large;
    display: flex;
    justify-content: center;
    pointer-events: none;
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
}

.order_totals_title, .order_totals_val {
    min-width: 0;
    overflow-wrap: anywhere;
}

.basket-offer-nudge {
    background: var(--a4d-orange-soft);
    border-left: 4px solid var(--a4d-orange);
    box-sizing: border-box;
    color: #2a2a2a;
    font-size: 16px;
    font-weight: 600;
    margin: 8px 12px;
    padding: 8px 10px;
    text-align: left;
}

.order_comment {
    border: 1px solid black;
    width: 100%;
    height: 10vh;
}

.order_comment textarea {
    resize: none;
    background: none;
    width: calc(100% - 2px); /* minus the borders */
    height: calc(100% - 2px); /* minus the borders */
    border: none;
    outline: none;
    font-size: x-large;
}.extras_order_qnt {
    padding: 0 10px;
}

.extras_order_name {
    text-align: left;
    width: 75%;
}

.extras_order_cost {
    text-align: right;
    font-size: large;
}

.order_payment_type input {
    display: none;
}

.order_payment_type img {
    width: 50px;
    height: 50px;
}

.order_payment_type_card, .order_payment_type_cash {
    width: 130px;
}

.order_payment_type_cash, .order_payment_type_card {
    border: 1px solid black;
    border-radius: 12px;
    cursor: pointer;
    font: inherit;
    padding: 5px;
}

.order_payment_type {
    margin: 10px 0;
    gap: 20px;
    justify-content: center;
}

.order_payment_type_name {
    font-size: 24px;
    margin: auto 0;
}

.order-payment-type-selected {
    text-align: center;
}

.order_payment_type_selected {
    background-color: black;
    color: white;
}

.payment-type-chosen {
    text-align: right;
    font-size: 18px;
}

.order_payment_type_not_selected {
    color: gray
}

.order_payment_type_discount {
    text-align: center;
    font-size: 18px;
}

.order_payment_type_card_only, .order_payment_type_cash_only {
    background-color: white;
    color: black;
    justify-content: center;
    border: none;
}

.action_order_button_cancel, .action_order_button_submit {
    font-size: x-large;
    border-radius: 15px;
    padding: 3px 10px;
    border: none;
}

.action_order_button_submit:disabled {
    color: gray;
    background-color: rgb(73, 73, 239);
}

.itemextras_order_cost, .itemextras_order_desc,
.itemextras_order_question,
.itemextras_order_item_title, .itemextras_order_question_req {
    font-size: x-large;
}

.itemextras_order_item_title {
    text-align: left;
}

.itemextras_order_cost {
    text-align: right;
    margin-left: 20px;
}

.itemextras_order_button {
    font-size: x-large;
    background: none;
    border: none;
    width: 92%;
}

.itemextras_order_question {
    width: 100%;
    background-color: wheat;
    text-align: center;
}

.itemextras_order_question_req {
    width: 30%;
}

.itemextras_order_add_order, .itemextras_order_total {
    font-size: xx-large;
}

.itemextras_order_add_order {
    padding-right: 10px;
}

.itemextras_order_item {
    width: 100%;
}

.itemextras_order_submit {
    margin: 4% 4% 20% 60%;
    width: 36%;
}

.itemextras_order_navigate {
    margin: 10px;
}

.itemextras_order_navigate {
    background: none;
    border: none;
}

.itemextras_order_navigate img {
    width: 40px;
    height: 40px;
}

.itemextras_order_filter {
    width: 100%;
    text-align: center;
    padding: 0;
    border: none;
    border-bottom: 1px solid black;
    border-top: 1px solid black;
    font-size: x-large;
    margin: 5px 0;
}

.itemextras_dels {
    width: 5%;
}

.extras_order_qnt, .extras_order_name, .itemextras_order_cost {
    font-size: large;
}/* The Modal (background) */
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: var(--z-index-modals); /* Sit on top */
    left: 0;
    /*top: 0;*/
    width: 100%; /* Full width */
    /*height: 100%; Full height */
    overflow: auto; /* Enable scroll if needed */
    font-size: x-large;
    border-top: 2px solid var(--a4d-orange);
    border-bottom: 2px solid var(--a4d-orange);
    max-height: 95vh;
}

.new-modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 2; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
}

.modal-header td {
    padding: 0 10px 0 10px;
}

/* Modal Content */
.modal-content {
    position: relative;
    margin: 0;
    padding: 0;
    width: 100%;
    overflow: auto;
    height: 50%;
}

.new-modal-content {
    background-color: rgba(128, 128, 128, 0.7);
    backdrop-filter: blur(10px);
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

.new-modal-content-sub {
    background-color: white;
    color: black;
    border: 1px solid black;
    border-radius: 10px;
    padding: 10px;
    font-size: 20px;
    line-height: 1;
    margin: 0 5px;
}

.new-modal-header .flexdiv {
    display: flex;
    justify-content: space-between;
}

.modal-header {
    width: 99%;
    max-width: var(--max-width);
    margin: 0 auto;
    justify-content: space-between;
}

.modal-body {
    padding: 10px 10px 0 10px;
    max-width: var(--max-width);
    margin: 0 auto;
}

.new-modal-body {
    padding: 25px 10px 10px 10px;
}

.payment-processing-div {
    margin: 20px 0;
}

.payment-processing-div b {
    font-size: 24px;
}

.payment-processing-confirm {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.payment-processing-confirm input {
    width: 25px;
    height: 25px;
}

.new-modal-body button {
    font-size: 24px;
}

.new-modal-body .flexdiv {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.modal-outer {
    width: 100%;
    height: 25%;
    background-color: rgba(0,0,0,0.8);
    backdrop-filter: blur(10px);
}

.modal-inner {
    height: 30%;
}

.edit_order_item {
    z-index: var(--z-index-edit-order-item);
}

.company_image {
    border-radius: 5px;
    max-width: 100%;
    max-height: 7vh;
}

.showmenu_container {
    background-color: #474B4F;
}

.showmenu_container {
    border-radius: 30px 80px;
}

.search_input_container {
    width: 35%;
}

.cats, .items {
    overflow-y: scroll;
}

.cat_table, .item_table {
    position: relative;
    margin-bottom: 40vh;
}

.items_container {
    width: 61.5%;
    margin-left: 3%;
    margin-right: 0.5%;
    overflow-x: hidden;
}

/* The shared .items rule is also used by legacy POS layouts and sets a 73% width. */
.items_container > .items {
    width: auto;
}

.cats {
    width: 34.5%;
    margin-left: 0.5%;
    overflow-x: hidden;
    background-color: transparent;
}

.items_for_cat {
    color: black;
}

.items_for_cat {
    margin-bottom: 30px;
}

.category_list, .category_list_selected {
    padding: 0;
    height: auto;
    background-color: transparent;
}

.swal2-container {
    z-index: var(--z-index-alerts) !important;
}

.swal2-container.locations-loading-dialog {
    z-index: calc(var(--z-index-cookie) - 1) !important;
}

.cat_button_text {
    color: black;
    background-color: white;
}

.category_buttons, .cat_button_text, .cat_button_text_selected {
    margin: 0;
}

.cat_button_text, .cat_button_text_selected {
    width: 100%;
    border: none;
    margin: 5px 0;
}.cat_button_text, .cat_button_text_selected, .category_buttons {
    font-size: large;
}

.cat_button_text, .cat_button_text_selected {
    padding: 15px 0;
    border-radius: 15px;
}

.cat_button_text_selected {
    color: white;
    font-weight: 800;
    background-image: radial-gradient(black, gray);
}

@keyframes discount_blinker {
    50% {
        opacity: 0;
    }
}

.scrolling_cats_iframe_show {
    width: 99%;
    margin-left: 0.5%;
    margin-right: 0.5%;
}

.scrolling_cats_iframe_hidden {
    width: 0%;
    margin-left: 0%;
    margin-right: 0%;
}

.scrolling_items_iframe_show {
    width: 99%;
    margin-left: 0.5%;
    margin-right: 0.5%;
}

.scrolling_items_iframe_hidden {
    width: 0%;
    margin-left: 0%;
    margin-right: 0%;
    padding-right: 0;
}.category_list_iframe {
    background-color: #2c7c6f;
    border-radius: 25%;
}

.sidenav, .basket_area {
    height: 100vh;
    width: 0;
    position: fixed;
    z-index: var(--z-index-sidenav-basket);
    top: 0;
    overflow-x: hidden;
    transition: 0.1s;
    right: 0;
}

.sidenav {
    z-index: var(--z-index-sidenav);
}

.basket_area_show {
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
  background-color: #c9c6c6;
  z-index: var(--z-index-sidenav);
}

.basket_area:not(.basket_area_show) {
  pointer-events: none;
}

.basket_area_show {
  pointer-events: auto;
}

@media screen and (max-width: 999px) {
  #basket_area_full,
  #basket_area_full .basket_block,
  #basket_area_full #order_block_full,
  #basket_area_full #totals_container_full {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

.sidenav_show {
  width: 100%;
}

.sidenav {
  background-color: white;
}

.basket_area_small {
    width: 0;
    display: none;
}

.sidenav .closebtn {
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  display: block;
  width: calc(100% - 20px);
  text-align: right;
  margin-right: 20px;
}

.sidenav .closebtn, .modal_header {
  font-size: x-large;
}

.close {
    all: unset;
    box-sizing: border-box !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    color: #344054 !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

.close svg {
    display: block !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    margin: 0 !important;
    transform: none !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.5 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    pointer-events: none !important;
}

.close:hover,
.close:focus-visible {
    background: #eef2f6 !important;
    color: #101828 !important;
}

.close:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--a4d-orange) 25%, transparent) !important;
    outline-offset: 2px !important;
}

.sidenav_flex {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
}

.sidenav_flex_div {
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    width: 140px;
    height: 200px;
    margin: 10px;
}

.sidenav_image {
    width: 120px;
    height: 120px;
    border: 1px solid black;
    border-radius: 10px;
    background-color: white;
    padding: 10px;
}

.sidenav_text {
    display: block;
    text-align: center;
}

.modal_header_x {
    text-align: right;
}

.modal_header {
  color: black;
  width: 80%;
}

.processing_order {
    width: 100%;
    text-align: center;
}

.basket_area .closebtn {
  position: absolute;
  top: -5px;
  right: 10px;
}

.menu_selected {
    background-color: var(--menu-selected);
}

.slogan {
    background-color: #b4b4b4;
}.items_for_cat, .category_buttons {
    color: black;
}

.item_cat_header {
    background-image: radial-gradient(white, gray);
    color: black;
}

.item_cat_header_desc {
    background-color: #edecec;
    color: black;
}

.item_info {
    border-bottom: 1px solid black;
    padding-left: 10px;
    width: calc(100% - 10px);
}

.item_cost {
    color: #0060A0;
}

.item_data {
    display: flex;
    justify-content: space-between;
}

.order_item {
    border-bottom: solid 1px var(--a4d-orange);
    padding: 10px 0;
}

.cats_container {
    border: 1px solid black;
}.location_header_button {
    border-bottom: 2px solid rgb(224, 223, 223);
}

.login_error, .not_logged_server {
    background-color: rgba(0, 0, 0, 0.7);
    color: red;
    font-weight: 700;
}

.order_total, .order_header_items_div {
    border: 1px solid black;
    height: fit-content;
}.action_order_button_cancel {
    background-color: black;
    color: white;
    margin-right: 30px;
}

.action_order_button_submit {
    background-color: #33334b;
    color: white;
}

.about_body {
    overflow: auto;
}

.about_images {
    margin: 20px 40%;
}

.about_images img {
    width: 100%;
    height: 100%;
}

.about_out {
	animation-name: aboutOutFrames;
	animation-iteration-count: 1;
	animation-timing-function: ease-out;
	animation-duration: 1s;
}

@keyframes aboutOutFrames {
	0% {
        opacity: 1;
	}
	100% {
        opacity: 0;
	}
}

.about_in {
	animation-name: aboutInFrames;
	animation-iteration-count: 1;
	animation-timing-function: ease-in;
	animation-duration: 1s;
}

@keyframes aboutInFrames {
	0% {
        opacity: 0;
	}
	100% {
        opacity: 1;
	}
}

.about_content {
    margin: 20px 10%;
    padding: 10px;
    border-radius: 10px;
    font-size: large;
}

.about_footer {
    display: flex;
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
}

.contact_body {
    overflow: auto;
}

.contact_content {
    background-color: rgb(209, 209, 209);
    box-shadow: 5px 10px 18px #888888;
    margin: 20px auto;
    padding: 10px;
    border-radius: 10px;
    font-size: large;
    max-width: var(--max-width);
}

.the-header-container {
    position: sticky;
    top: 0;
}

.login_body {
    min-height: 100dvh;
}

@supports not (height: 100dvh) {
  login_body { min-height: 100vh; }
}

.login_container {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.login_container header {
    width: 100%;
}

.login-body-container {
    min-height: inherit;
    display: flex;
    flex-direction: column;
}

.login-main {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.login-main .login_block {
  margin: 20px auto;
  width: 100%;
  box-sizing: border-box;
  padding: 0 16px;
}

.login_block form {
    width: 100%;
    text-align: center;
}

.login-block-title {
    font-size: 26px;
    text-align: center;
    margin-bottom: 25px;
    font-weight: 500;
}

.login_remme_container {
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-top: 10px;
}

.login_remme_checkbox {
    width: 20px;
    height: 20px;
}

.login_remme_label {
    display: inline-block;
}

.divider-or {
  display: flex;
  align-items: center;   /* vertical align line to middle of text */
  gap: 12px;
  width: min(100%, 450px);
  margin: 10px auto;
  font-size: 18px;
}

.divider-or::before,
.divider-or::after {
  content: "";
  flex: 1;
  border-top: 1px solid #ccc;
}
.change_login_inner_page {
    height: 30vh;
    max-height: 30vh;
    min-height: 30vh;
    margin-top: 30vh;
}

.login-input-container {
    margin: 16px auto;
    box-sizing: border-box;
    width: min(450px, 80%);
}

.login-input-container p {
    text-align: left;
    font-size: 20px;
    margin: 0;
    padding-bottom: 5px;
}

.login-input-pwd p {
    padding-bottom: 0;
}

.login-input-container input {
    font-size: 22px;
    border: 1px solid black;
    border-radius: 12px;
    padding: 8px;
    width: 100%;
    box-sizing: border-box;
}

.login-password-field {
    display: flex;
    position: relative;
}

.login-password-field input {
    padding-right: 52px;
}

.login-password-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    cursor: pointer;
    display: flex;
    height: 100%;
    justify-content: center;
    padding: 6px 10px;
    position: absolute;
    right: 0;
    top: 0;
    width: 48px;
}

.login-password-toggle img {
    height: 20px;
    object-fit: contain;
    width: 28px;
}

.login-input-pwd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 5px;
}

.login-input-pwd a {
    color: blue;
    font-style: normal;
    text-decoration: none;
}

.login_signup {
    color: blue;
    font-style: normal;
    text-decoration: none;
    font-size: 20px;
}

.log_button {
    font-size: 22px;
    text-align: center;
    margin-top: 20px;
    background-color: var(--a4d-orange);
    color: black;
    font-weight: 600;
    width: min(250px, 75%);
    padding: 5px;
    box-sizing: border-box;
    border: none;
    border-radius: 8px;
}

.login_forgot_title {
    text-align: center;
    margin: 40px 0 10px 0;
}

.login_forgot_title h1 {
    font-size: 24px;
}

.login_forgot_text {
    padding: 10px;
    font-size: 21px;
    width: 70%;
    max-width: 400px;
    margin: 0 auto;
    box-sizing: border-box;
}

.login_forgot_response {
    text-align: center;
    color: red;
    background-color: black;
    margin-top: 20px;
}

.login_error {
    text-align: center;
    font-size: 24px;
    padding: 8px;
    border-radius: 6px;
}

.login-footer {
  flex: 0 0 auto;
}

.forgot-login-info {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.forgot-login-info input {
    font-size: 22px;
    padding: 10px;
    border-radius: 8px;
    margin: 10px auto;
    width: 70%;
    max-width: 400px;
    box-sizing: border-box;
}

.forgot-login-info button {
    font-size: 22px;
    padding: 8px;
    border-radius: 8px;
    background-color: var(--a4d-orange);
    margin: 10px auto;
    box-sizing: border-box;
}

.input_pulldown {
    margin-left: 5px;
}

.sub_hdr_container {
    display: flex;
    justify-content: space-between;
}

.transport_selected_container {
    display: flex;
    height: 45px;
    margin-top: var(--location-search-margin-top);
}

.transport_selection {
    font-size: xx-large;
    border: 1px solid black;
    background-color: white;
    margin: 3px 2%;
    border-radius: 10px;
    display: flex;
}

.transport_selection img {
    width: 20px;
    display: none;
    margin-left: 5px;
}

.transport_selected {
    background-color: black;
    color: white;
}

.transport_selected img {
    display: flex;
}

.transport_not_selected {
    background-color: white;
    color: black;
}

.orderby_container {
    width: 20%;
    margin: 0 auto;
}

/* Project-specific popup sizing and positioning */
.popup .popuptext {
    width: 200%;
    padding: 8px 0;
    z-index: var(--z-index-popup);
    left: 50%;
    margin-left: -100%;
}

@keyframes basketNewItemsFrames {
    0% {
        color:black;
    }
    /*10% {
        color:white;
    }
    20% {
        color:black;
    }
    30% {
        color:white;
    }
    40% {
        color:black;
    }*/
    50% {
        color:white;
        background-color: rgba(85, 55, 0, 0.8);
    }
    /*60% {
        color:black;
    }
    70% {
        color:white;
    }
    80% {
        color:black;
    }
    90% {
        color:white;
    }*/
    100% {
        color:black;
        background-color: color-mix(in srgb, var(--a4d-orange) 80%, transparent);
    }
}

.prevorder_h1_container {
    border-bottom: 1px solid black;
    width: 100%;
    max-width: var(--max-width);
    margin-top: 30px;
    font-size: large;
}

.prevorder_order {
    padding: 10px 0 0 0;
    width: 100%;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.preorder_order {
    margin-bottom: 2vh;
}

.prevorder_logo {
    width: 120px;
    text-align: center;
}

.prevorder_details {
    width: calc(80% - 120px);
    display: block;
}

.prevorder_cost {
    width: 19%;
    text-align: right;
    margin-right: 1%;
    display: block;
}

.prevorder_details, .prevorder_cost {
    border-bottom: 1px solid gray;
}

.prevorder_details > span, .prevorder_cost{
    font-size: x-large;
}

.prevorder_details_name {
    font-weight: 600;
    display: block;
}

.prevorder_details_date {
    display: block;
}

.prevorder_logo img {
    max-width: 80px;
    max-height: 80px;
}

.full_order_container {
    background-color: #EEEEEE;
    color: black;
    max-width: var(--max-width);
    margin: 0 auto;
    font-size: 18px;
}

.current_order_container {
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
}

.full_order_header, .full_order_ref, .full_order_items, .full_order_total,
.full_order_date, .current_order_container {
    border-bottom: 1px solid blue;
}

.current_order_container .full_order_header, .current_order_container .full_order_ref {
    border-bottom: none;
}

.full_order_header {
    padding-top: 5px;
}

.full_order_logo { /*must be after .prevorder_logo */
    width: 78%;
    text-align: left;
    margin-left: 2%;
}

.current_order_logo { /*must be after .prevorder_logo */
    width: 100%;
    text-align: center;
}

.current_order_state_container {
    margin: 10px 0;
}

.current_order_state {
    text-align: center;
    border: 1px solid black;
    width: 80%;
    margin: 0 auto;
    background-color: lightgray;
    color: darkgray;
}

.current_order_state_selected {
    background-color: lightgreen;
    color: black;
}

.current_order_state_selected_cancelled {
    background-color: red;
    color: black;
}

.no_current_order {
    text-align: center;
    margin-top: 20px;
}

.full_order_ref {
    text-align: center;
    font-size: xx-large;
    font-weight: 600;
    padding: 5px 0;
}

.full_order_items {
    padding: 5px;
}

.full_order_item_qnt {
    width: 3%;
}

.full_order_item_name {
    width: 77%;
}

.full_order_item_cost {
    text-align: right;
    width: 20%;
}

.full_order_itemextra_qnt {
    width: 5%;
    margin-left: 2%;
}

.full_order_itemextra_name {
    width: 73%;
}

.full_order_itemextra_cost {
    text-align: right;
    width: 20%;
}

.full_order_leftcol {
    width: 69%;
    margin-left: 1%;
    text-align: left;
}

.full_order_rightcol {
    width: 29%;
    margin-right: 1%;
    text-align: right;
}

.full_order_comments {
    padding: 10px 0;
    margin-left: 1%;
}

.full_order_total_label, .full_order_total_amount {
    font-weight: 800;
}

.full_order_again {
    text-align: center;
    padding: 5px;
}

.full_order_again button {
    font-size: xx-large;
}.order_checkout_dialogs {
    background-color: white;
    color: black;
}

.modal_content_itemextras {
    overflow: hidden;
}

.prevorder_container {
    max-width: var(--max-width);
    margin: 0 auto;
}

.prevorder_pagination {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 24px 0;
}

.prevorder_page_button {
    display: inline-block;
    padding: 10px 18px;
    border: 1px solid #777;
    border-radius: 4px;
    background: #fff;
    color: #000;
    text-decoration: none;
    font-size: large;
}

.prevorder_page_button:last-child {
    margin-left: auto;
}

.prevorder_empty {
    padding: 20px 0;
}

.customer_register_title {
    margin-top: 20px;
    font-size: xx-large;
    border-bottom: 1px solid black;
}

.customer_register_form_container {
    max-height: 83vh;
    overflow-y: scroll;
}

.customer_register_label, .customer_register_name_first,
.customer_register_name_last, .customer_register_email,
.customer_register_phone, .customer_register_addr1,
.customer_register_addr2, .customer_register_postcode,
.customer_register_pwd, .customer_register_confirm_pwd {
    font-size: xx-large;
}

.customer_register_label {
    color: chocolate;
}

.customer_register_label {
    margin-left: 1%;
    margin-top: 20px;
}

.customer_register_name_first {
    width: calc(47.5% - 8px);
    margin: 0 2.5% 0 5%;
}

.customer_register_name_last {
    width: calc(47.5% - 8px);
    margin: 0 5% 0 2.5%;
}

.customer_register_email, .customer_register_phone,
.customer_register_addr1, .customer_register_addr2 {
    width: calc(90% - 8px);
    margin: 0 5%;
}

.customer_register_pwd,
.customer_register_confirm_pwd {
    width: calc(80% - 8px);
    margin: 0 2% 0 5%;
}

.customer_register_postcode {
    width: calc(90% - 140px);
    margin: 0 10px 0 5%;
}

.customer_register_addr1, .customer_register_addr2,
.customer_register_postcode, .customer_register_pwd,
.customer_register_confirm_pwd {
    margin-bottom: 10px;
}

.customer_register_button {
    margin: 20px 0;
    text-align: center;
    border-top: 1px solid black;
}

.customer_register_button button {
    border: none;
    background-color: blue;
    color: white;
    font-size: xxx-large;
    margin-top: 20px;
    margin-bottom: 20vh;
    border-radius: 10px;
}

.customer_register_error_hdr {
    padding-top: 0;
}

.customer_register_error_sub_hdr {
    font-size: xxx-large;
    color: red;
}

.customer_register_error_msg {
    text-align: center;
    font-size: xx-large;
    white-space: pre-line;
}

.customer_register_error_button {
    margin-top: 20px;
    text-align: center;
}

.customer_register_error_button button {
    font-size: xx-large;
}

.customer_register_eye {
    background: transparent;
    border: 0;
    cursor: pointer;
    padding: 0;
    width: 60px;
    height: 30px;
    margin-top: 5px;
}

.customer_register_eye img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.login_message {
    text-align: center;
    font-size: xx-large;
    margin: 10px 0;
}

.order_issues_fontsize {
    font-size: xx-large;
}

.order_issues_border {
    border-top: 1px solid var(--a4d-orange);
    margin-top: 10px;
    padding-top: 5px;
}

.basket_container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.order_processing_img {
    width: 50px;
    height: 50px;
}

.doc-title {
    font-size: x-large;
    text-align: center;
    margin: 20px 0;
    font-weight: bold;
}

.doc-body {
    font-size: small;
    text-align: left;
    margin: 5px;
}

.doc-header1 {
    font-size: medium;
    margin: 20px;
}

.doc-line {
    height: 1px;
    background-color: black;
    margin: 20px 0;
}

/*---------------------------------------------------------------------
  Radio Buttons for Order Delivery Tip
  */
.col {
  float:left;
  margin: 0 1% 0 0;
  width: 42%;
  font-size: 24px;
}

.delivery_tip input {
	display: none;
}

.delivery_tip label {
	background-color: #fbd7d7;
	text-align: center;
	border: 3px solid transparent;
}

.delivery_tip input:checked + label {
	border: 3px solid #333;
	background-color: #8be7b2;
}

.delivery_tip_right {
    margin-top: auto;
}

.delivery_tip_title {
    text-align: left;
}

.full_order_total {
    border-top: 1px solid rgba(0, 0, 0, 0.3);
}

.order_total_borders {
    border-top: 1px solid rgba(0, 0, 0, 0.3);
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}
/*---------------------------------------------------------------------
*/

/* Make sure this is after h1_container prevorder_h1_container as it overrides the margin */
.chat-title {
    margin-top: 15px;
}

.chat-hr {
    height: 0px;
    border: 1px solid rgba(237,227,156,0.5);
}.open-chat-msgs {
    height: 50vh;
    background-color: black;
    padding: 5px;
    overflow-y: scroll;
    color: white;
}.end-chat {
    font-size: var(--chat-font-large);
    margin: 10px auto 20px 10px;
    background-color: white;
    color: black;
    border-style: solid;
}.open-chat-send {
    background-image: url("../IMAGES/send-chat-trans.png");
}

.open-chat-send-disabled {
    background-image: url("../IMAGES/send-chat-disabled-trans.png");
}.view-chat-list {
    font-size: 18px;
    text-align: center;
    margin: 20px;
}

.view-chat-list-item {
    margin: 20px;
    border: 1px solid black;
    border-radius: 10px;
}

.fetch_address_results {
    position: fixed;
    background-color: #f1f1f1;
    color: black;
    font-size: 30px;
    top: 0;
    left: 0;
    width: 100vw;
    z-index: calc(var(--z-index-fullscreen) + 10);
    height: 100vh;
}

.fetch_address_results_close_container {
    width: 100%;
    background-color: black;
    color: white;
    margin-bottom: 10px;
}

.fetch_address_results_list {
    height: 90vh;
    overflow-y: scroll;
    display: block;
}

.fetch_address_results_common {
    text-align: center;
    font-size: 30px;
    margin-bottom: 20px;
}

.fetch_address_match_container {
    box-sizing: border-box;
    width: 90%;
    max-width: 500px;
    margin: 10px auto;
}

.fetch_address_match {
    width: 100%;
    text-align: center;
    border: 1px solid black;
    border-radius: 10px;
    background-color: white;
    color: black;
    padding: 8px;
    box-sizing: border-box;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    cursor: pointer;
    font: inherit;
}

.address_search_button {
    border: 0;
    cursor: pointer;
    font-family: inherit;
    background-color: blue;
    color: white;
    border-radius: 10px;
    text-align: center;
    padding: 9px 3px;
    font-size: 18px;
    margin: 0 5px 10px 5px;
    width: 140px;
}

.show_chat_button {
    margin: auto 10px auto 0;
    border: 1px solid black;
    border-radius: 5px;
    padding: 2px;
    background-color: antiquewhite;
}

.big-bottom-margin {
    margin-bottom: 50vh;
}

.order_payment_items {
    /*background-color: #f9f9f9;*/
    margin-bottom: 10px;
}

.order_payment_discount_container {
    margin-bottom: 10px;
}

.order_payment_order_total_container {
    /*background-color: #e5e5e5;*/
    margin-bottom: 10px;
}

.order_payment_discount {
    text-align: right;
}

.order_payment_order_total {
    text-align: left;
}

.order_payment_charges {
    background-color: #f1f1f1;
    margin-bottom: 10px;
}

.order_payment_discounts {
    background-color: #f8f8f8;
}

.order_payment_final_total_container {
    font-size: 26px;
}

.coupon_title {
    text-align: center;
    font-size: 16px;
}

.coupon_input {
    width: 78%;
    margin: 0 10%;
    text-align: center;
    font-size: 18px;
}

.confirm_personal_info_msg, .confirm_personal_info_buttons {
    margin-bottom: 20px;
}

.confirm_personal_info_data {
    text-align: center;
    font-size: 20px;
}

.customer_cancel_orders_container {
    background-color: #fffae5;
    margin: 0 30px;
    border-radius: 25px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.customer_cancel_orders_msg {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin: 20px auto 10px auto;
}

.customer_cancel_orders_button {
    text-align: center;
}

.customer_cancel_orders_button button {
    font-size: 22px;
    text-align: center;
    padding: 5px;
    border-radius: 5px;
    margin-bottom: 20px;
}

.order_comments_full {
    font-size: 16px;
    word-break: break-all;
}

.order_comments_text_full {
    font-size: 14px;
    padding-left: 10px;
}

.payment-processing-warning {
    font-size: 24px;
    color: red;
    text-align: center;
    margin-bottom: 10px;
}

p.payment-processing-warning {
    display: inline;
}

.versionDisplay1, .versionDisplay2 {
    font-size: 14px;
    text-align: left;
    padding: 5px 0 5px 20px;
}

/*=====================================================================
  START OF MEDIA CHANGES
  */
  /* max-width: largest to smallest */
@media only screen and (max-width: 900px) {
    .the_header {
        min-height: var(--header-height-large);
        height: var(--header-height-large);
        max-height: var(--header-height-large);
    }

    .location_content {
        height: calc(100% - var(--header-height-large));
    }

    .show_menu_inner {
        height: calc(100% - var(--info-container-large));
    }

    .hdr_adorders_logo_image {
        max-width: var(--logo-width-large);
        min-width: var(--logo-width-large);
        width: var(--logo-width-large);
        max-height: var(--logo-height-large);
        min-height: var(--logo-height-large);
        height: var(--logo-height-large);
        left: calc(50% - var(--logo-width-large)/2);
    }

    .header_background, .header_background_img {
        height: var(--hdr-bckgrnd-height-large);
    }

    .order_button_container button {
        font-size: x-large;
    }

    .customer_login_container {
        margin-right: 10px;
    }
}

@media only screen and (max-width: 800px) {
    /* This is setting the same height again but doing it each time the font-size changes as it seems to be required */
    .customer_login_container, .hdr_adorders_logo_h2 {
        height: var(--header-info-height-large);
    }

    .item_cat_header, .item_name, .item_cost, .item_cat_header_desc {
        font-size: large;
    }

    .item_description {
        font-size: medium;
    }

    .order_name_input {
        font-size: large;
    }

    .transport_selection {
        font-size: x-large;
    }

    .full_order_item_qnt {
        width: 4%;
    }

    .full_order_item_name {
        width: 76%;
    }

    .full_order_itemextra_qnt {
        width: 7%;
        margin-left: 2%;
    }

    .full_order_itemextra_name {
        width: 71%;
    }
}

@media only screen and (max-width: 700px) {
    .search_input_container {
        width: 40%;
    }

    .the_header {
        min-height: var(--header-height-medium);
        height: var(--header-height-medium);
        max-height: var(--header-height-medium);
    }

    .location_content {
        height: calc(100% - var(--header-height-medium));
    }

    .show_menu_inner {
        height: calc(100% - var(--info-container-medium));
    }

    .hdr_adorders_logo_image {
        max-width: var(--logo-width-medium);
        min-width: var(--logo-width-medium);
        width: var(--logo-width-medium);
        max-height: var(--logo-height-medium);
        min-height: var(--logo-height-medium);
        height: var(--logo-height-medium);
        left: calc(50% - var(--logo-width-medium)/2);
        top: -43px;
    }

    .header_background, .header_background_img {
        height: var(--hdr-bckgrnd-height-medium);
    }

    .hdr_adorders_logo_h2 {
        font-size: large;
    }

    .hdr_adorders_logo_h2 h2, .header-account-label {
        font-size: large;
    }

    .customer_login_container, .hdr_adorders_logo_h2 {
        height: var(--header-info-height-medium);
    }

    .qnt_change_container, .extras_order_col1 {
        width: 11%;
        margin: 0 2%;
    }

    .qnt_change_container, .order_name, .order_cost {
        font-size: large;
    }

    .transport_specify_container, .transport_specify_asap_time {
        font-size: large;
    }

    .col {
        font-size: 16px;
    }

    .headers_img_login {
        margin-top: 3px;
    }

    .headers_img_loggedin {
        min-height: calc(var(--loggedin-height-medium) + 2);
        height: calc(var(--loggedin-height-medium) + 2);
        max-height: calc(var(--loggedin-height-medium) + 2);
    }

    .headers_img_loggedin img {
        min-height: var(--loggedin-height-medium);
        height: var(--loggedin-height-medium);
        max-height: var(--loggedin-height-medium);
        min-width: var(--loggedin-width-medium);
        width: var(--loggedin-width-medium);
        max-width: var(--loggedin-width-medium);
    }


    .loc_search_container {
        justify-content: center;
    }

    .sub_hdr_container {
        display: block;
    }

    .transport_selected_container {
        width: 100%;
        justify-content: center;
    }

    .transport_selection {
        width: 40%;
        justify-content: center;
    }
}

@media only screen and (max-width: 600px) {
    .the_header {
        min-height: var(--header-height-small);
        height: var(--header-height-small);
        max-height: var(--header-height-small);
    }

    .location_content {
        height: calc(100% - var(--header-height-small));
    }

    .show_menu_inner {
        height: calc(100% - var(--info-container-small));
    }

    .hdr_adorders_logo_image {
        max-width: var(--logo-width-small);
        min-width: var(--logo-width-small);
        width: var(--logo-width-small);
        max-height: var(--logo-height-small);
        min-height: var(--logo-height-small);
        height: var(--logo-height-small);
        left: calc(50% - var(--logo-width-small)/2);
    }

    .header_background, .header_background_img {
        height: var(--hdr-bckgrnd-height-small);
    }

    .prevorder_h1_container {
        font-size: medium;
    }

    .transport_selection {
        font-size: x-large;
    }

    .home {
        width: 30px;
        height: 30px;
    }

    .location_search_title {
        font-size: x-large;
    }

    .loc_search_button img {
        width: 25px;
        height: 25px;
    }

    .basket_image img{
        width: 60px;
        min-width: 60px;
        max-width: 60px;
        height: 40px;
        max-height: 40px;
        min-height: 40px;
    }

    .basket_count {
        height: 20px;
        font-size: 15px;
        width: 35px;
        right: 7px;
    }

    .basket_total {
        font-size: 18px;
        padding: 0 10px;
        box-sizing: border-box;
        color: red;
    }

    .items_container {
        width: 55.5%;
    }

    .cats {
        width: 40.5%;
    }

    .item_cat_header, .item_name, .item_cost, .item_cat_header_desc {
        font-size: medium;
    }

    .item_description {
        font-size: small;
    }

    .item_data {
        display: block;
    }

    .cat_button_text, .cat_button_text_selected, .category_buttons {
        font-size: medium;
    }

    .info_container {
        height: var(--info-container-medium);
        max-height: var(--info-container-medium);
        min-height: var(--info-container-medium);
    }

    .customer_register_label, .customer_register_name_first,
    .customer_register_name_last, .customer_register_email,
    .customer_register_phone, .customer_register_addr1,
    .customer_register_addr2, .customer_register_postcode,
    .customer_register_pwd, .customer_register_confirm_pwd {
        font-size: large;
    }

    .customer_register_title {
        font-size: large;
    }

    .customer_register_eye {
        width: 40px;
        height: 20px;
    }

    .customer_register_button button {
        font-size: xx-large;
    }

    .prevorder_details div, .prevorder_cost {
        font-size: large;
    }

    .prevorder_logo img {
        max-width: 60px;
        max-height: 60px;
    }

    .qnt_change_container {
        font-size: large;
        max-height: 35px;
    }

    .order_cost {
        width: 20%;
    }

    .order_name {
        width: 65%;
    }

    .order_name_input, .order_phone_input, .order_email_input {
        font-size: large;
    }

    .order_name_input input, .order_phone_input input, .order_email_input input {
        font-size: large;
    }

    .order_transport_type {
        font-size: large;
    }

    .order_name_input {
        font-size: medium;
    }

    .order_problem_msg {
        font-size: x-large;
    }

    .order_problem_sorry, .order_problem_charged {
        font-size: large;
    }

    .full_order_ref, .full_order_items, .full_order_leftcol,
    .full_order_rightcol, .full_order_comments {
        font-size: large;
    }

    .orders_rejected_congrats {
        font-size: large;
    }

    .orders_rejected_id, .orders_rejected_cost, .orders_rejected_screenshot {
        font-size: x-large;
    }

    .itemextras_order_button {
        font-size: x-large;
    }

    .order_button_img {
        width: 20px;
        height: 20px;
    }

    .itemextras_order_button {
        font-size: x-large;
        width: 90%;
    }

    .itemextras_dels {
        width: 9%;
    }

    .no_items_container {
        font-size: xx-large;
    }

    .about_content {
        font-size: medium;
    }

    .order_issues_fontsize {
        font-size: large;
    }

    .transport_chosen {
        font-size: large;
    }

    .customer_login_container {
        max-width: 30%;
    }

    .location_search input {
        font-size: medium;
    }

    .open_only_switch {
        height: 20px;
    }

    .open_only_slider:before {
        height: 14px;
        width: 14px;
    }

    .open_only_label {
        margin: -3px 5px;
        height: 20px;
        font-size: medium;
    }

     .hdr_adorders_logo_h2 {
        font-size: medium;
    }

    .address_search_button {
        padding: 3px;
    }

    .full_order_item_qnt {
        width: 5%;
    }

    .full_order_item_name {
        width: 75%;
    }

    .full_order_itemextra_qnt {
        width:9%;
        margin-left: 2%;
    }

    .full_order_itemextra_name {
        width: 69%;
    }
}

@media only screen and (max-width: 500px) {
    .delivery_info {
       justify-content: flex-start;
    }

    .locations_rating {
       height: 35%;
       overflow: hidden;
       margin-top: 5%;
   }

    .logo_image {
        width: 100%;
        max-width: 32px;
        height: 100%;
        max-height: 32px;
    }

    .itemextras_order_cost, .itemextras_order_desc,
    .itemextras_order_question,
    .itemextras_order_item_title, .itemextras_order_question_req {
        font-size: large;
    }

    .itemextras_order_submit {
        margin: 4% 4% 20% 43%;
        width: 50%;
    }

    .location_summary, footer {
        font-size: 14px;
    }

    .locations_address {
        font-size: 10px;
    }

    .hdr_adorders_logo_h2, .hdr_adorders_logo_h2 h2, .header-account-label, .customer_login_container {
        font-size: small;
    }

    .customer_login_container, .hdr_adorders_logo_h2 {
        height: var(--header-info-height-small);
    }

    .order_button_container button {
        font-size: large;
    }

    .order_item_delete {
        width: 10%;
    }

    .order_name {
        width: 60%;
    }

    .transport_specify_container, .transport_specify_asap_time {
        font-size: medium;
    }

    .transport_specify_container {
        display: block;
    }

    .order_payment_inf_cost {
        font-size: x-large;
    }

    .itemextras_order_button {
        font-size: large;
    }

    .itemextras_order_add_order, .itemextras_order_total {
        font-size: x-large;
    }

    .no_items_container {
        font-size: x-large;
    }

    .contact_content {
        font-size: medium;
    }

    .about_images {
        margin: 20px 30%;
    }

    .headers_img_login {
        min-height: var(--login-height-small);
        height: var(--login-height-small);
        max-height: var(--login-height-small);
    }

    .headers_img_login img {
        min-height: var(--login-height-small);
        height: var(--login-height-small);
        max-height: var(--login-height-small);
        min-width: var(--login-width-small);
        width: var(--login-width-small);
        max-width: var(--login-width-small);
    }

    .headers_img_loggedin {
        min-height: calc(var(--loggedin-height-small) + 2);
        height: calc(var(--loggedin-height-small) + 2);
        max-height: calc(var(--loggedin-height-small) + 2);
        padding-top: 0;
    }

    .headers_img_loggedin img {
        min-height: var(--loggedin-height-small);
        height: var(--loggedin-height-small);
        max-height: var(--loggedin-height-small);
        min-width: var(--loggedin-width-small);
        width: var(--loggedin-width-small);
        max-width: var(--loggedin-width-small);
    }

    .headers_img_login {
        margin-top: 1px;
    }

    .full_order_item_qnt {
        width: 6%;
    }

    .full_order_item_name {
        width: 74%;
    }

    .location_name {
        font-size: 10px;
    }
}

@media screen and (max-width: 450px) {
    .basket_image img{
        width: 60px;
        min-width: 60px;
        max-width: 60px;
        height: 40px;
        max-height: 40px;
        min-height: 40px;
    }

    .basket_count {
        height: 20px;
        font-size: 15px;
        width: 30px;
        right: 10px;
    }

    .itemextras_order_button {
        width: 88%;
    }

    .itemextras_amount {
        width: 23%;
    }

    .answer_names {
        width: 58%;
    }

    .full_order_itemextra_qnt {
        width: 11%;
        margin-left: 2%;
    }

    .full_order_itemextra_name {
        width: 67%;
    }
}

@media screen and (max-width: 420px) {
    .transport_selection {
        font-size: x-large;
    }

    .location_search_title {
        font-size: large;
    }

    .outer_widths {
        min-width: 15%;
        max-width: 15%;
        width: 15%;
    }

    .cat_button_text, .cat_button_text_selected, .category_buttons {
        font-size: small;
    }

    .items_container {
        width: 50.5%;
    }

    .cats {
        width: 45.5%;
    }

    .customer_register_error_sub_hdr {
        font-size: x-large;
    }

    .customer_register_error_msg {
        font-size: large;
    }

    .customer_register_error_button button {
        font-size: large;
    }

    .customer_login_container {
        max-width: 35%;
    }

    .maintenance_logo img {
        width: 90px;
        height: 90px;
    }

    .maintenance_logo h1 {
        margin-left: 20px;
    }

    .location_left {
        width: 10%;
    }

    .location_right {
        width: 89%;
        margin-left: 1%;
    }

    .full_order_item_qnt {
        width: 8%;
    }

    .full_order_item_name {
        width: 72%;
    }

    .full_order_itemextra_qnt {
        width: 12%;
        margin-left: 2%;
    }

    .full_order_itemextra_name {
        width: 66%;
    }
}

@media screen and (max-width: 350px) {
    .search_input, .show_chat_button {
        font-size: medium;
    }

    .basket_image img{
        width: 50px;
        min-width: 50px;
        max-width: 50px;
        height: 30px;
        max-height: 30px;
        min-height: 30px;
    }

    .basket_count {
        height: 17px;
        font-size: 12px;
        width: 27px;
        right: 7px;
    }

     .order_payment_inf_cost {
        font-size: 17px;
    }

    .order_payment_final_total_container {
        font-size: 20px;
    }

    .full_order_itemextra_qnt {
        width: 13%;
        margin-left: 2%;
    }

    .full_order_itemextra_name {
        width: 65%;
    }
}

@media screen and (max-width: 320px) {
    .the_header {
        min-height: var(--header-height-x-small);
        height: var(--header-height-x-small);
        max-height: var(--header-height-x-small);
    }

    .location_content {
        height: calc(100% - var(--header-height-x-small));
    }

    .show_menu_inner {
        height: calc(100% - var(--info-container-x-small));
    }

    .hdr_adorders_logo_image {
        max-width: var(--logo-width-x-small);
        min-width: var(--logo-width-x-small);
        width: var(--logo-width-x-small);
        max-height: var(--logo-height-x-small);
        min-height: var(--logo-height-x-small);
        height: var(--logo-height-x-small);
        left: calc(50% - var(--logo-width-x-small)/2);
    }

    .header_background, .header_background_img {
        height: var(--hdr-bckgrnd-height-x-small);
    }

    .transport_selection {
        font-size: large;
    }

    .location_search_title {
        font-size: medium;
    }

    footer {
        font-size: x-small;
    }

    .search_input, .show_chat_button {
        font-size: small;
    }

    .basket_image img{
        width: 50px;
        min-width: 50px;
        max-width: 50px;
        height: 30px;
        max-height: 30px;
        min-height: 30px;
    }

    .basket_count {
        height: 18px;
        font-size: 13px;
        width: 28px;
        right: 6px
    }

    .info_container {
        height: var(--info-container-small);
        max-height: var(--info-container-small);
        min-height: var(--info-container-small);
    }
}

@media screen and (min-width: 1000px) {
    .cats {
        width: 20.5%;
    }

    .items_container {
        width: 42.5%;
        margin-left: 1.5%;
        margin-right: 0;
    }

    .basket, .basket_total {
        display: none;
    }

    .basket_area_small {
        margin: 0 0.5% 0 1.5%;
        width: 33%;
        display: block;
        border-radius: 10px;
        overflow-x: hidden;
    }

    .basket_area_small .order_total_amount {
        align-items: baseline;
        flex-wrap: nowrap;
        gap: 4px 12px;
        justify-content: space-between;
        padding: 0 12px;
    }

    .basket_area_small .order_totals_title {
        flex: 1 1 auto;
        min-width: 0;
        overflow-wrap: normal;
        padding-right: 0;
        white-space: nowrap;
    }

    .basket_area_small .order_totals_val {
        flex: 0 0 auto;
        min-width: 0;
        overflow-wrap: normal;
        padding-right: 0;
        white-space: nowrap;
    }

    .basket_allergen_button, .order_comment textarea {
        font-size: large;
    }

    .order_name, .order_cost, .qnt_change_container, .extras_order_qnt, .extras_order_name, .extras_order_cost {
        font-size: medium;
    }

    .qnt_change_container, .extras_order_col1 {
        width: 13%;
    }

    .order_item_delete {
        width: 9%;
    }

    /* .order_cost is staying at 15% */
    .order_name, .extras_item_container {
        width: 63%;
    }

    .order_item_delete img {
        width: 15px;
        height: 25px;
    }

    .no_items_container, .order_header_items {
        font-size: large;
        padding-top: 20px;
        width: 100%;
        text-align: center;
    }

    .item_name, .item_cost {
        font-size: large;
    }

    .item_description {
        font-size: medium;
    }
}

@media screen and (min-width: 1000px) and (max-width: 1350px) {
    .basket_area_small .order_total_amount {
        justify-content: space-between;
        gap: 6px 10px;
        font-size: clamp(14px, 1.35vw, 20px);
    }

    .basket_area_small .order_totals_title,
    .basket_area_small .order_totals_val {
        min-width: 0;
        overflow-wrap: normal;
        white-space: nowrap;
    }
}

@media (orientation: landscape) {
    @media screen and (min-width: 700px) {
        @media screen and (max-height: 360px) {
            .main_area_container {
                margin-top: var(--location-search-landscape-margin);
            }

            .sub_hdr_container {
                position: sticky;
                top: 47px;
            }

            .open_only_slider {
                z-index: 0;
            }
        }
    }
}

.avail-offers-container-location {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.aob-offer-list {
    width:100%;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    box-sizing: border-box;
}

.aob-offer,
.aob-offer-loclist {
  display:flex;
  align-items:center;
  gap: 5px;
  background:#fff;
  border-radius:12px;
  padding: 4px 6px;
  box-sizing: border-box;
  max-width: 420px;
  justify-content: center;
}@media screen and (max-width: 450px) {
    .aob-offer {
        width: 70%;
    }

    .aob-offer__badge-loclist {
        width: 40px;
        height: 25px;
        font-size: 9px;
    }

    .aob-offer__badge-percent-loclist {
        font-size: 13px;
    }

    .aob-offer__headline-loclist {
        font-size: 11px;
    }
}

.locations-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.location_button {
    cursor: pointer;
    display: block;
    font: inherit;
    padding: 0;
    text-align: initial;
    color: inherit;
    width: 95%;
    border: 1px solid black;
    background-color: white;
    max-width: var(--loclist-img-maxwidth);
    border-radius: 10px;
    margin: 10px auto;
    position: relative;
}

.locations_name {
    overflow: hidden;
    text-align: left;
    font-size: 18px;
    font-weight: 800;
    padding: 3px 8px;
}

.loclist-img-container {
    position: relative;
}

.loclist-img {
    width: 100%;
    height: 170px;
    border-radius: 10px 10px 0 0;
}

.location_logo_image {
    width: 75px;
    height: 75px;
    border-radius: 10px;
}

.loclist-logo {
    position: absolute;
    top: 10px;
    left: 10px;
}

.loclist-opening {
    text-align: center;
}

.avail-offers-container {
    position: absolute;
    bottom: 5px;
    left: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;

}

.loclist-star-rating {
    display: flex;
    padding-right: 5px;
    font-size: 16px;
    align-items: center;
    justify-content: right;
}

.loclist-star-rating svg {
    color: var(--a4d-orange);
}

.loclist-namefeedback {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.delivery_container, .collection_container,
.order_min_container, .location_distance {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-left: 10px;
    font-size: 18px;
    font-family: serif;
    margin-top: 10px;
}

.location_distance {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-right: 10px;
    gap: 0;
}

.delivery_container img, .collection_container img,
.order_min_container img, .location_distance img {
    width: 18px;
    height: 18px;
}

:root{
  --bg:#f5f5f7;
  --fg:#111;
  --muted:#6b7280;
  --radius: 14px;
  --gap: 6px;
  --h: 45px;
  --ease:cubic-bezier(.2,.8,.2,1);
}

/* hide the radios */
input[name="loclist-transport-type"]{
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}

/* wrapper like FoodHub spacing */
.loclist-transport {
    margin: 10px 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: -webkit-fill-available;
}

/* the track */
.loclist-transport-toggle{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  width:min(420px,100%);
  background:var(--bg);
  border-radius:var(--radius);
  padding:var(--gap);
  height:calc(var(--h) + var(--gap)*2);
  isolation:isolate; /* keep slider behind labels */
  overflow: hidden;
  border: 1px solid var(--a4d-orange);
}

/* sliding pill */
.loclist-transport-toggle::before{
  content:"";
  position:absolute;
  top:var(--gap);
  bottom:var(--gap);
  left:var(--gap);
  width:calc((100% - var(--gap)*2)/2);
  height:calc(100% - var(--gap)*2);
  border-radius:calc(var(--radius) - var(--gap));
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.06), 0 6px 18px rgba(0,0,0,.08);
  transform:translateX(0%);
  transition:transform .26s var(--ease);
  z-index:0;
}

/* labels behave like buttons inside the track */
.loclist-transport-toggle > label{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:var(--h);
  border-radius:calc(var(--radius) - var(--gap));
  font:600 14px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color:var(--muted);
  cursor:pointer;
  user-select:none;
  transition:color .2s var(--ease);
  flex-direction: column;
}

/* size your PNG icons */
.loclist-transport-toggle > label img{
  width: 40px;
  height: 20px;
  object-fit:contain;
  flex:0 0 auto;
  display:inline-block;
}

/* highlight the selected tab */
#delivery:checked ~ .loclist-transport-toggle > label[for="delivery"],
#pickup:checked   ~ .loclist-transport-toggle > label[for="pickup"]{
  color:var(--fg);
}

/* move the slider when pickup is checked */
#pickup:checked ~ .loclist-transport-toggle::before{
  transform:translateX(100%);
}

/* keyboard focus */
.loclist-transport-toggle > label:focus-visible{
  outline:2px solid #111;
  outline-offset:2px;
}

.loclist-info {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.please-wait-dialog-container {
    position: fixed;
    width: 100vw;
    height: 100vh;
    left: 0;
    top: 0;
    overflow: auto;
    background-color: rgba(128, 128, 128, 0.7);
    backdrop-filter: blur(10px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.payment-return-modal {
    display: none;
    position: fixed;
    inset: 0;
    width: 100%;
    min-width: 0;
    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    padding: clamp(18px, 4vw, 36px);
    overflow-x: hidden;
    overflow-y: auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: #111827;
    font-family: inherit;
    z-index: calc(var(--z-index-alerts) + 1);
    box-sizing: border-box;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.payment-return-modal,
.payment-return-modal *,
.payment-return-modal *::before,
.payment-return-modal *::after {
    box-sizing: border-box;
}

.payment-return-logo {
    width: 128px;
    max-width: 42vw;
    height: auto;
    margin: 0 0 18px;
    padding: 0;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.payment-return-brand-image {
    position: static;
    display: block;
    width: 128px;
    max-width: 100%;
    height: auto;
    max-height: 56px;
    margin: 0;
    padding: 0;
    object-fit: contain;
    transform: none;
}

.payment-return-title {
    width: auto;
    max-width: min(520px, 100%);
    margin: 0 0 18px;
    padding: 8px 14px;
    border: 1px solid #fecaca;
    border-radius: 999px;
    background: #fff7f7;
    color: #dc2626;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: 0.01em;
    text-align: center;
    overflow-wrap: anywhere;
}

.payment-phase-status {
    width: min(100%, 520px);
    min-width: 0;
    margin: 0;
    padding: 8px 18px;
    display: flex;
    flex-direction: column;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 14px 38px rgba(17, 24, 39, 0.08);
}

.payment-phase-line {
    position: relative;
    width: 100%;
    min-width: 0;
    padding: 18px 0;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    column-gap: 14px;
}

.payment-phase-line + .payment-phase-line {
    border-top: 1px solid #eef1f4;
}

.payment-phase-icon {
    width: 36px;
    height: 36px;
    margin-top: 1px;
    display: grid;
    place-items: center;
    border: 2px solid #d1d5db;
    border-radius: 50%;
    background: #ffffff;
    color: #ffffff;
}

.payment-phase-spinner {
    display: none;
    width: 16px;
    height: 16px;
    border: 2px solid color-mix(in srgb, var(--a4d-orange) 22%, transparent);
    border-top-color: var(--a4d-orange);
    border-radius: 50%;
    animation: payment_phase_spin 0.75s linear infinite;
}

.payment-phase-tick {
    display: none;
    font-size: 20px;
    line-height: 1;
    font-weight: 900;
}

@keyframes payment_phase_spin {
    to { transform: rotate(360deg); }
}

.payment-phase-text {
    min-width: 0;
    padding-top: 1px;
    overflow-wrap: anywhere;
}

.payment-phase-text > div:first-child {
    margin: 0;
    color: #111827;
    font-size: 20px;
    line-height: 1.22;
    font-weight: 800;
}

.payment-phase-text > div:last-child {
    margin-top: 5px;
    color: #667085;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
}

.payment-phase-line.is-active .payment-phase-icon {
    border-color: var(--a4d-orange);
}

.payment-phase-line.is-active .payment-phase-spinner {
    display: block;
}

.payment-phase-line.is-done .payment-phase-icon {
    border-color: #16a34a;
    background: #16a34a;
}

.payment-phase-line.is-done .payment-phase-tick {
    display: block;
    color: #ffffff;
}

.payment-phase-line.is-done .payment-phase-text > div:first-child {
    color: #15803d;
}

.payment-phase-line.is-done .payment-phase-text > div:last-child {
    color: #438a58;
}

.payment-phase-line.is-pending .payment-phase-icon {
    border-color: #d1d5db;
    background: #ffffff;
}

.payment-phase-line.is-pending .payment-phase-text > div:first-child {
    color: #475467;
}

.payment-phase-line.is-pending .payment-phase-text > div:last-child {
    color: #98a2b3;
}

@media (max-width: 560px) {
    .payment-return-modal {
        padding: max(18px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom));
    }

    .payment-return-logo {
        width: 112px;
        margin-bottom: 16px;
    }

    .payment-return-brand-image {
        width: 112px;
        max-height: 50px;
    }

    .payment-return-title {
        margin-bottom: 14px;
        padding: 7px 12px;
        font-size: 13px;
    }

    .payment-phase-status {
        padding: 5px 15px;
        border-radius: 16px;
        box-shadow: 0 10px 28px rgba(17, 24, 39, 0.07);
    }

    .payment-phase-line {
        grid-template-columns: 34px minmax(0, 1fr);
        column-gap: 12px;
        padding: 16px 0;
    }

    .payment-phase-icon {
        width: 32px;
        height: 32px;
    }

    .payment-phase-text > div:first-child {
        font-size: 18px;
    }

    .payment-phase-text > div:last-child {
        margin-top: 4px;
        font-size: 13px;
        line-height: 1.35;
    }
}

@media (max-height: 620px) {
    .payment-return-modal {
        justify-content: flex-start;
        padding-top: 24px;
        padding-bottom: 24px;
    }
}

.site-footer {
    width: 100%;
    max-width: 100%;
    padding: 0 16px;
    box-sizing: border-box;
    overflow: hidden;
    background: #111;
    color: #f5f5f5;
    border-top: 1px solid rgba(0,0,0,0.15);
}

.footer-inner {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    min-height: 52px;
    padding: 10px 0;
    box-sizing: border-box;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: clamp(8px, 2.5vw, 28px);
    font-size: clamp(10px, 2.7vw, 13px);
    line-height: 1.2;
    white-space: nowrap;
}

.footer-copyright {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.footer-help-link {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    padding: 7px 11px;
    border: 1px solid color-mix(in srgb, var(--a4d-orange) 65%, transparent);
    border-radius: 999px;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.footer-help-link:hover,
.footer-help-link:focus-visible {
    color: #111;
    background: var(--a4d-orange);
    border-color: var(--a4d-orange);
    outline: none;
}

.basket {
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
}

.basket_image {
    display: block;
}

.footer-inner .footer-version {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-self: end;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0;
    font-size: inherit;
    text-align: right;
}

@media (max-width: 430px) {
    .site-footer {
        padding: 0 8px;
    }

    .footer-inner {
        gap: 6px;
    }

    .footer-help-link {
        padding: 6px 8px;
    }
}

/* Help and policies hub */
.help-policies-body {
    background:
        radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--a4d-orange) 14%, transparent), transparent 32rem),
        #f4f6f8;
}

.help-policies-main {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
    padding: clamp(38px, 7vw, 76px) 0 clamp(52px, 8vw, 88px);
}

.help-policies-hero {
    max-width: 710px;
    margin-bottom: clamp(28px, 5vw, 48px);
}

.help-policies-eyebrow {
    display: inline-flex;
    align-items: center;
    margin: 0 0 12px;
    color: #a74800;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.help-policies-hero h1 {
    margin: 0;
    color: #17191c;
    font-size: clamp(34px, 6vw, 58px);
    line-height: 1.04;
    letter-spacing: -0.045em;
}

.help-policies-intro {
    margin: 18px 0 0;
    color: #5b626b;
    font-size: clamp(16px, 2vw, 19px);
    line-height: 1.65;
}

.help-policies-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.help-policy-card {
    min-height: 188px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    color: #202327;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(26, 31, 38, 0.09);
    border-radius: 20px;
    box-shadow: 0 10px 35px rgba(24, 28, 33, 0.07);
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.help-policy-card:hover,
.help-policy-card:focus-visible {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--a4d-orange) 50%, transparent);
    box-shadow: 0 18px 42px rgba(24, 28, 33, 0.13);
    outline: none;
}

.help-policy-card-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 22px;
    display: grid;
    place-items: center;
    color: #a74800;
    background: var(--a4d-orange-soft);
    border-radius: 12px;
    font-size: 21px;
    font-weight: 800;
}

.help-policy-card h2 {
    margin: 0 0 8px;
    font-size: 19px;
    line-height: 1.25;
}

.help-policy-card p {
    margin: 0;
    color: #69717b;
    font-size: 14px;
    line-height: 1.55;
}

.help-policy-card-arrow {
    margin-top: auto;
    align-self: flex-end;
    color: var(--a4d-orange-deep);
    font-size: 22px;
    line-height: 1;
}

.help-company-card {
    margin-top: 22px;
    padding: clamp(22px, 4vw, 34px);
    display: grid;
    grid-template-columns: minmax(180px, 0.65fr) minmax(0, 1.35fr);
    gap: 24px;
    color: #fff;
    background: #191c20;
    border-radius: 22px;
    box-shadow: 0 16px 40px rgba(24, 28, 33, 0.15);
}

.help-company-card h2 {
    margin: 0 0 8px;
    color: var(--a4d-orange);
    font-size: 20px;
}

.help-company-card p {
    margin: 0;
    color: #c5cad0;
    line-height: 1.6;
}

.help-company-details {
    display: grid;
    gap: 7px;
    font-style: normal;
    line-height: 1.45;
}

.help-company-details a {
    color: #fff;
}

@media (max-width: 820px) {
    .help-policies-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .help-policies-main {
        width: min(100% - 22px, 1120px);
    }

    .help-policies-grid,
    .help-company-card {
        grid-template-columns: 1fr;
    }

    .help-policy-card {
        min-height: 164px;
    }
}

/* =====================================================================
   Ask4Dish checkout dialogue refresh — CSS ONLY
   Visual overrides only. No markup, JavaScript, PHP, IDs or event hooks
   are changed by this block.
   ===================================================================== */

/* Shared colour language for the checkout journey. */
:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) {

    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    box-sizing: border-box !important;
    padding: 24px !important;
    border: 0 !important;
    overflow: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
    background: rgba(16, 24, 40, 0.48) !important;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

/* The injected payment-summary page is not always itself a .modal. */
#payment-info-page {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
    padding: 24px !important;
    overflow: auto !important;
    z-index: var(--z-index-modals) !important;
    background: rgba(16, 24, 40, 0.48) !important;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

#payment-info-page > .modal,
#payment-info-page .modal.vertical_align {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    transform: none !important;
    background: transparent !important;
}

/* Centre the existing modal content without changing its structure. */
:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal-content,
#payment-info-page .modal-content {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    -webkit-transform: translate(-50%, -50%) !important;
    width: min(760px, calc(100% - 48px)) !important;
    height: auto !important;
    max-height: calc(100dvh - 48px) !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 1px solid rgba(17, 24, 39, 0.08) !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    color: var(--a4d-ink) !important;
    box-shadow: var(--a4d-shadow) !important;
}

/* Some server-rendered responses include a wrapper around .modal-content. */
:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) > .full_width {
    width: 100% !important;
    min-height: 100% !important;
}

/* Orange brand strip gives every checkout step a consistent identity. */
:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal-content::before,
#payment-info-page .modal-content::before {
    content: "";
    display: block;
    height: 2px;
    width: 100%;
    background: var(--a4d-orange);
}

/* Header */
:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal-header,
#payment-info-page .modal-header {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 18px 22px 14px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    border-bottom: 1px solid var(--a4d-line) !important;
    background: #fff !important;
}

:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal_header,
#payment-info-page .modal_header {
    width: auto !important;
    flex: 1 1 auto !important;
    color: var(--a4d-ink) !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    text-align: left !important;
}

/* Body and readable text */
:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal-body,
#payment-info-page .modal-body {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 22px !important;
    box-sizing: border-box !important;
    color: var(--a4d-ink) !important;
    background: #fff !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
}

:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .are_you_sure {
    max-width: 620px !important;
    margin: 2px auto 18px !important;
    color: #344054 !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    text-align: center !important;
}

/* Buttons: preserve all click handlers; only change appearance. */
:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) button:not(.close),
#payment-info-page button:not(.close) {
    min-height: 44px !important;
    box-sizing: border-box !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    padding: 10px 18px !important;
    background: var(--a4d-orange) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--a4d-orange) 18%, transparent) !important;
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease !important;
}

:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) button:not(.close):hover,
#payment-info-page button:not(.close):hover {
    background: var(--a4d-orange-deep) !important;
    box-shadow: 0 7px 18px color-mix(in srgb, var(--a4d-orange) 24%, transparent) !important;
    transform: translateY(-1px) !important;
}

:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .action_order_button_cancel,
#payment-info-page .action_order_button_cancel {
    margin-right: 0 !important;
    border-color: #d0d5dd !important;
    background: #fff !important;
    color: #344054 !important;
    box-shadow: none !important;
}

:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .action_order_button_cancel:hover,
#payment-info-page .action_order_button_cancel:hover {
    background: #f8fafc !important;
    color: #101828 !important;
    box-shadow: none !important;
}

:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) button:disabled,
#payment-info-page button:disabled {
    background: #e4e7ec !important;
    color: #98a2b3 !important;
    border-color: #e4e7ec !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Existing navigation button rows */
:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .order_button_container,
#payment-info-page .order_button_container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 22px 0 0 !important;
}

:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .order_button_container button,
#payment-info-page .order_button_container button {
    font-size: 16px !important;
}

/* Personal details */
#order_personal_info .order_name_input,
#order_personal_info .order_phone_input,
#order_personal_info .order_email_input {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto 12px !important;
    text-align: left !important;
}

#order_personal_info .order_name_input input,
#order_personal_info .order_phone_input input,
#order_personal_info .order_email_input input,
#order_transport_info .order_address1_input input,
#order_transport_info .order_address2_input input,
#order_transport_info .order_postcode_input input,
#order-offers-page input,
#payment-info-page input:not([type="radio"]):not([type="checkbox"]) {
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 11px 14px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 10px !important;
    outline: none !important;
    background: #fff !important;
    color: var(--a4d-ink) !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
}

#order_personal_info input:focus,
#order_transport_info input:focus,
#order-offers-page input:focus,
#payment-info-page input:focus,
#order_comments_info textarea:focus {
    border-color: var(--a4d-orange) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--a4d-orange) 14%, transparent) !important;
}

/* Confirmation step */
#confirm_personal_info .confirm_personal_info_msg {
    max-width: 620px !important;
    margin: 0 auto 18px !important;
    color: #475467 !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    text-align: center !important;
}

#confirm_personal_info .confirm_personal_info_data {
    max-width: 520px !important;
    margin: 0 auto !important;
    padding: 16px 18px !important;
    border: 1px solid var(--a4d-line) !important;
    border-radius: 12px !important;
    background: var(--a4d-panel) !important;
    color: var(--a4d-ink) !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    overflow-wrap: anywhere !important;
}

#confirm_personal_info .confirm_personal_info_buttons {
    display: flex !important;
    justify-content: center !important;
    gap: 12px !important;
    margin: 20px 0 0 !important;
}

/* Comments */
#order_comments_info .order_comment {
    width: 100% !important;
    height: auto !important;
    min-height: 130px !important;
    box-sizing: border-box !important;
    border: 0 !important;
}

#order_comments_info .order_comment textarea,
#order_comments_info textarea {
    width: 100% !important;
    min-height: 130px !important;
    box-sizing: border-box !important;
    resize: vertical !important;
    padding: 13px 14px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 12px !important;
    outline: none !important;
    background: #fff !important;
    color: var(--a4d-ink) !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
}

/* Collection / Delivery step */
#order_transport_info .order_transport_type {
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto 18px !important;
    padding: 5px !important;
    box-sizing: border-box !important;
    border: 1px solid var(--a4d-line) !important;
    border-radius: 13px !important;
    background: #f5f6f8 !important;
    font-size: 16px !important;
}

#order_transport_info .order_transport_type_container_checked,
#order_transport_info .order_transport_type_container_not_checked {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 10px 14px !important;
    border: 1px solid transparent !important;
    border-radius: 9px !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    cursor: pointer !important;
}

#order_transport_info .order_transport_type_container_checked {
    background: var(--a4d-orange) !important;
    color: #fff !important;
    box-shadow: 0 3px 9px color-mix(in srgb, var(--a4d-orange) 20%, transparent) !important;
}

#order_transport_info .order_transport_type_container_not_checked {
    border-bottom: 1px solid transparent !important;
    background: transparent !important;
    color: #475467 !important;
}

#order_transport_info .transport_specify_container {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto 18px !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 12px 18px !important;
    border: 1px solid var(--a4d-line) !important;
    border-radius: 12px !important;
    background: var(--a4d-panel) !important;
    font-size: 16px !important;
}

#order_transport_info .transport_specify_selection_asap input,
#order_transport_info .transport_specify_selection_time input {
    width: 20px !important;
    height: 20px !important;
    accent-color: var(--a4d-orange) !important;
}

#order_transport_info .transport_specify_asap_time,
#order_transport_info .transport_specify_time_container,
#order_transport_info .transport_specify_asap_container {
    margin: 0 !important;
    font-size: 16px !important;
}

#order_transport_info .transport_specify_time_container input {
    width: 104px !important;
    height: 42px !important;
    font-size: 16px !important;
}

#order_transport_info .order_transport_delivery_details {
    max-width: 620px !important;
    margin: 0 auto !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    border: 1px solid var(--a4d-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
}

#order_transport_info .order_address1_input,
#order_transport_info .order_address2_input,
#order_transport_info .order_postcode_input {
    width: 100% !important;
    margin: 0 0 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

#order_transport_info .order_postcode_input input {
    flex: 1 1 auto !important;
    width: auto !important;
}

#order_transport_info .address_search_button {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 126px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    background: var(--a4d-orange) !important;
    color: #fff !important;
}

#order_transport_info .transport_chosen {
    margin: 14px 0 0 !important;
    color: #98a2b3 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    animation: none !important;
}

/* Payment method cards */
#order-payment-type .order_payment_type {
    display: flex !important;
    justify-content: center !important;
    align-items: stretch !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 4px auto 14px !important;
}

#order-payment-type .order_payment_type_cash,
#order-payment-type .order_payment_type_card {
    width: 180px !important;
    min-height: 86px !important;
    box-sizing: border-box !important;
    padding: 12px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border: 2px solid var(--a4d-line) !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: var(--a4d-ink) !important;
    box-shadow: 0 2px 8px rgba(16, 24, 40, 0.05) !important;
}

#order-payment-type .order_payment_type input[type="radio"] {
    display: none !important;
}

#order-payment-type .order_payment_type_selected {
    border-color: var(--a4d-orange) !important;
    background: var(--a4d-orange) !important;
    color: #fff !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--a4d-orange) 12%, transparent) !important;
}

#order-payment-type .order_payment_type_not_selected {
    color: #667085 !important;
    opacity: 1 !important;
}

#order-payment-type .order_payment_type img {
    width: 44px !important;
    height: 44px !important;
    object-fit: contain !important;
}

#order-payment-type .order_payment_type_name {
    font-size: 18px !important;
    font-weight: 800 !important;
}

#order-payment-type .order-payment-type-selected,
#order-payment-type .payment-type-chosen {
    margin: 8px auto 0 !important;
    color: #475467 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

#order-payment-type .order_payment_type_discount {
    margin-top: 4px !important;
    color: var(--a4d-orange-deep) !important;
    font-size: 14px !important;
    font-weight: 750 !important;
}

/* Final payment summary: keep every delivery/service/bag/discount value visible. */
#payment-info-page .order_payment_items,
#payment-info-page .order_payment_discount_container,
#payment-info-page .order_payment_order_total_container,
#payment-info-page .order_payment_charges,
#payment-info-page .order_payment_discounts {
    max-width: 620px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

#payment-info-page .order_payment_inf_cost {
    min-height: 42px !important;
    padding: 9px 12px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    border-bottom: 1px solid var(--a4d-line) !important;
    color: #344054 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
}

#payment-info-page .order_payment_inf_cost_left {
    width: auto !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding-right: 18px !important;
    text-align: left !important;
}

#payment-info-page .order_payment_inf_cost_right {
    width: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    color: var(--a4d-ink) !important;
    text-align: right !important;
    font-weight: 700 !important;
}

#payment-info-page .order_payment_inf_cost_right_border {
    width: auto !important;
    border-top: 0 !important;
}

#payment-info-page .order_payment_charges {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
    padding: 6px 12px !important;
    border: 1px solid #fed7aa !important;
    border-radius: 12px !important;
    background: var(--a4d-orange-soft) !important;
}

#payment-info-page .order_payment_charges .order_payment_inf_cost {
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-bottom-color: var(--a4d-orange-soft) !important;
    background: transparent !important;
}

#payment-info-page .order_payment_final_total_container {
    max-width: 620px !important;
    margin: 12px auto 0 !important;
    padding: 14px 12px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    border-top: 1px solid #d0d5dd !important;
    border-bottom: 0 !important;
    color: var(--a4d-ink) !important;
    font-size: 22px !important;
    font-weight: 850 !important;
}

#payment-info-page .order_payment_buttons {
    max-width: 620px !important;
    margin: 18px auto 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

/* Login / guest step */
#order_login_info .modal-body {
    text-align: center !important;
}

#order_login_info .modal-body p,
#order_login_info .modal-body div {
    line-height: 1.5;
}

/* Coupon / offer step */
#order-offers-page .coupon_title {
    margin-bottom: 10px !important;
    color: #475467 !important;
    font-size: 16px !important;
}

#order-offers-page .coupon_input {
    width: 100% !important;
    max-width: 520px !important;
    margin: 0 auto !important;
}

/* Touch-friendly focus state */
:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) button:focus-visible,
#payment-info-page button:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--a4d-orange) 25%, transparent) !important;
    outline-offset: 2px !important;
}

/* Tablet / phone: turn checkout steps into comfortable bottom sheets. */
@media (max-width: 700px) {
    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login),
    #payment-info-page {
        padding: 0 !important;
        overflow: hidden !important;
    }

    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login) .modal-content,
    #payment-info-page .modal-content {
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        bottom: 0 !important;
        transform: none !important;
        -webkit-transform: none !important;
        width: 100% !important;
        max-width: none !important;
        max-height: min(92dvh, 820px) !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        border-radius: 22px 22px 0 0 !important;
        box-shadow: 0 -18px 55px rgba(17, 24, 39, 0.22) !important;
    }

    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login) .modal-header,
    #payment-info-page .modal-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 2 !important;
        padding: 14px 16px 12px !important;
    }

    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login) .modal_header,
    #payment-info-page .modal_header {
        font-size: 20px !important;
    }

    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login) .modal-body,
    #payment-info-page .modal-body {
        padding: 18px 16px max(18px, env(safe-area-inset-bottom)) !important;
    }

    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login) .are_you_sure {
        font-size: 15px !important;
    }

    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login) .order_button_container,
    #payment-info-page .order_button_container,
    #confirm_personal_info .confirm_personal_info_buttons,
    #payment-info-page .order_payment_buttons {
        width: 100% !important;
        gap: 10px !important;
    }

    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login) .order_button_container button,
    #confirm_personal_info .confirm_personal_info_buttons button,
    #payment-info-page .order_payment_buttons button {
        flex: 1 1 0 !important;
        min-width: 0 !important;
    }

    #order_transport_info .transport_specify_container {
        justify-content: flex-start !important;
    }

    #order_transport_info .order_postcode_input {
        flex-wrap: wrap !important;
    }

    #order_transport_info .order_postcode_input input,
    #order_transport_info .address_search_button {
        width: 100% !important;
        flex: 1 1 100% !important;
    }

    #order-payment-type .order_payment_type_cash,
    #order-payment-type .order_payment_type_card {
        width: calc(50% - 6px) !important;
        min-width: 130px !important;
        min-height: 80px !important;
        padding: 10px !important;
    }

    #order-payment-type .order_payment_type_name {
        font-size: 16px !important;
    }

    #payment-info-page .order_payment_inf_cost {
        font-size: 15px !important;
    }

    #payment-info-page .order_payment_final_total_container {
        font-size: 20px !important;
    }
}

@media (max-width: 420px) {
    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login) .modal-body,
    #payment-info-page .modal-body {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    #order-payment-type .order_payment_type {
        flex-direction: column !important;
    }

    #order-payment-type .order_payment_type_cash,
    #order-payment-type .order_payment_type_card {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* =====================================================================
   Ask4Dish checkout spacing & layout polish — CSS ONLY (v2)
   Fixes desktop/mobile spacing without changing markup or functionality.
   ===================================================================== */

/* Keep the close control at the far-right edge of every checkout header. */
:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal-header > .modal_header,
#payment-info-page .modal-header > .modal_header {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 58px) !important;
}

:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal-header > div:last-child,
#payment-info-page .modal-header > div:last-child {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

/* ---------------------------------------------------------------------
   Delivery / collection step
   --------------------------------------------------------------------- */
#order_transport_info .modal-content {
    width: min(700px, calc(100% - 48px)) !important;
}

#order_transport_info .modal-body {
    padding: 26px 28px 24px !important;
}

/* Old checkout markup uses flex wrappers; stack the major transport blocks. */
#order_transport_info .order_info_container,
#order_transport_info .modal-body > .full_width,
#order_transport_info .modal-body > .full_width > .order_info_container {
    width: 100% !important;
    max-width: 620px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Collection / Delivery segmented control. */
#order_transport_info .order_transport_type {
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 4px !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 14px !important;
    background: #f5f6f8 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
}

#order_transport_info #order_transport_type_collection_container,
#order_transport_info #order_transport_type_delivery_container {
    width: auto !important;
    min-width: 0 !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 10px !important;
    color: #475467 !important;
    background: transparent !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: background-color .15s ease, color .15s ease, box-shadow .15s ease !important;
}

#order_transport_info #order_transport_type_collection_container.order_transport_type_container_checked,
#order_transport_info #order_transport_type_delivery_container.order_transport_type_container_checked {
    background: var(--a4d-orange) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--a4d-orange) 20%, transparent) !important;
}

#order_transport_info #order_transport_type_collection_container.order_transport_type_container_not_checked,
#order_transport_info #order_transport_type_delivery_container.order_transport_type_container_not_checked {
    border-bottom: 0 !important;
    background: transparent !important;
    color: #475467 !important;
}

/* ASAP / Specific time cards. */
#order_transport_info .transport_specify_container {
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    border: 0 !important;
    font-size: 16px !important;
}

#order_transport_info .transport_specify_asap_container,
#order_transport_info .transport_specify_time_container {
    min-width: 0 !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #344054 !important;
}

#order_transport_info .transport_specify_selection_asap,
#order_transport_info .transport_specify_selection_time {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
}

#order_transport_info .transport_specify_asap_time,
#order_transport_info #transport_specify_asap_time_text {
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
    white-space: normal !important;
}

#order_transport_info .transport_specify_time_container input[type="time"],
#order_transport_info #transport_specify_time {
    width: 92px !important;
    min-width: 92px !important;
    height: 38px !important;
    margin-left: auto !important;
    padding: 6px 8px !important;
    box-sizing: border-box !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #344054 !important;
    font-size: 15px !important;
}

/* Delivery address is one full-width card, never a third column. */
#order_transport_info .order_transport_delivery_details {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    display: block;
    border: 1px solid #e4e7ec !important;
    border-radius: 14px !important;
    background: #f9fafb !important;
    text-align: left !important;
}

#order_transport_info .order_postcode_input,
#order_transport_info .order_address1_input,
#order_transport_info .order_address2_input {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
}

#order_transport_info .order_address2_input {
    margin-bottom: 0 !important;
}

#order_transport_info .order_postcode_input input,
#order_transport_info .order_address1_input input,
#order_transport_info .order_address2_input input {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #101828 !important;
    font-size: 15px !important;
}

#order_transport_info .order_postcode_input input {
    flex: 1 1 auto !important;
}

#order_transport_info .address_search_button {
    width: auto !important;
    min-width: 124px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 9px 14px !important;
    flex: 0 0 auto !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
}

#order_transport_info .transport_chosen {
    width: max-content !important;
    max-width: 100% !important;
    margin: 14px auto 0 !important;
    padding: 7px 12px !important;
    box-sizing: border-box !important;
    border-radius: 999px !important;
    background: #ecfdf3 !important;
    color: #067647 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    text-align: center !important;
    animation: none !important;
}

#order_transport_info .transport_chosen::before {
    content: "✓";
    margin-right: 6px;
    font-weight: 900;
}

#order_transport_info .order_button_container {
    width: 100% !important;
    max-width: 620px !important;
    margin: 20px auto 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
}

/* ---------------------------------------------------------------------
   Final order / payment summary
   --------------------------------------------------------------------- */
#payment-info-page .modal-content {
    width: min(680px, calc(100% - 48px)) !important;
}

#payment-info-page .modal-body {
    padding: 26px 30px 24px !important;
    display: block !important;
}

/* If legacy markup puts summary groups in a flex row, force each group to
   occupy its own row. */
#payment-info-page .order_payment_items,
#payment-info-page .order_payment_discount_container,
#payment-info-page .order_payment_order_total_container,
#payment-info-page .order_payment_charges,
#payment-info-page .order_payment_discounts,
#payment-info-page .order_payment_final_total_container,
#payment-info-page .order_payment_buttons {
    width: 100% !important;
    max-width: 580px !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#payment-info-page .modal-body .flexdiv:not(.order_payment_inf_cost):not(.order_payment_buttons):not(.order_payment_final_total_container) {
    flex-wrap: wrap !important;
}

#payment-info-page .order_payment_items,
#payment-info-page .order_payment_discount_container,
#payment-info-page .order_payment_order_total_container,
#payment-info-page .order_payment_discounts {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

#payment-info-page .order_payment_inf_cost {
    width: 100% !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 2px !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    border: 0 !important;
    border-bottom: 1px solid #eef0f3 !important;
    background: transparent !important;
    color: #344054 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}

#payment-info-page .order_payment_items .order_payment_inf_cost:last-child,
#payment-info-page .order_payment_discount_container .order_payment_inf_cost:last-child,
#payment-info-page .order_payment_order_total_container .order_payment_inf_cost:last-child,
#payment-info-page .order_payment_discounts .order_payment_inf_cost:last-child {
    border-bottom: 0 !important;
}

#payment-info-page .order_payment_inf_cost_left,
#payment-info-page .order_payment_inf_cost_right {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#payment-info-page .order_payment_inf_cost_left {
    text-align: left !important;
    color: #475467 !important;
    font-weight: 500 !important;
}

#payment-info-page .order_payment_inf_cost_right {
    text-align: right !important;
    color: #101828 !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
}

#payment-info-page .order_payment_inf_cost_right_border {
    width: auto !important;
    border-top: 0 !important;
}

/* Charges are visible but grouped cleanly as a single section. */
#payment-info-page .order_payment_charges {
    margin-top: 14px !important;
    margin-bottom: 14px !important;
    padding: 10px 14px !important;
    display: block !important;
    border: 1px solid #fed7aa !important;
    border-radius: 13px !important;
    background: var(--a4d-orange-soft) !important;
}

#payment-info-page .order_payment_charges .order_payment_inf_cost {
    min-height: 34px !important;
    padding: 6px 0 !important;
    border-bottom: 1px solid var(--a4d-orange-soft) !important;
}

#payment-info-page .order_payment_charges .order_payment_inf_cost:last-child {
    border-bottom: 0 !important;
}

#payment-info-page .order_payment_final_total_container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 15px 2px 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    border-top: 2px solid #e4e7ec !important;
    border-bottom: 0 !important;
    background: transparent !important;
    color: #101828 !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
}

#payment-info-page .order_payment_final_total_container > * {
    width: auto !important;
    margin: 0 !important;
    min-width: 0 !important;
}

#payment-info-page .order_payment_final_total_container > *:last-child {
    text-align: right !important;
    white-space: nowrap !important;
}

/* Action row reads as a footer instead of floating underneath the total. */
#payment-info-page .order_payment_buttons {
    margin-top: 22px !important;
    padding-top: 18px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    border-top: 1px solid #eaecf0 !important;
}

#payment-info-page #payment-type-chosen {
    order: -1 !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 auto 0 0 !important;
    padding: 7px 10px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 999px !important;
    background: #f2f4f7 !important;
    color: #475467 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-align: left !important;
}

/* ---------------------------------------------------------------------
   Responsive spacing
   --------------------------------------------------------------------- */
@media (max-width: 700px) {
    #order_transport_info .modal-content,
    #payment-info-page .modal-content {
        width: 100% !important;
    }

    #order_transport_info .modal-body,
    #payment-info-page .modal-body {
        padding: 18px 16px max(18px, env(safe-area-inset-bottom)) !important;
    }

    #order_transport_info .transport_specify_container {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    #order_transport_info .transport_specify_asap_container,
    #order_transport_info .transport_specify_time_container {
        min-height: 50px !important;
        padding: 10px 12px !important;
    }

    #order_transport_info .order_transport_delivery_details {
        padding: 12px !important;
    }

    #order_transport_info .order_postcode_input {
        flex-wrap: wrap !important;
    }

    #order_transport_info .order_postcode_input input,
    #order_transport_info .address_search_button {
        width: 100% !important;
        min-width: 0 !important;
        flex: 1 1 100% !important;
    }

    #order_transport_info .order_button_container {
        justify-content: stretch !important;
    }

    #order_transport_info .order_button_container button {
        flex: 1 1 0 !important;
    }

    #payment-info-page .order_payment_items,
    #payment-info-page .order_payment_discount_container,
    #payment-info-page .order_payment_order_total_container,
    #payment-info-page .order_payment_charges,
    #payment-info-page .order_payment_discounts,
    #payment-info-page .order_payment_final_total_container,
    #payment-info-page .order_payment_buttons {
        max-width: none !important;
    }

    #payment-info-page .order_payment_inf_cost {
        min-height: 38px !important;
        padding: 8px 0 !important;
        gap: 12px !important;
        font-size: 14px !important;
    }

    #payment-info-page .order_payment_charges {
        margin-top: 12px !important;
        margin-bottom: 12px !important;
        padding: 9px 12px !important;
    }

    #payment-info-page .order_payment_final_total_container {
        padding-top: 13px !important;
        font-size: 20px !important;
    }

    #payment-info-page .order_payment_buttons {
        margin-top: 18px !important;
        padding-top: 14px !important;
    }

    #payment-info-page #payment-type-chosen {
        flex: 1 1 100% !important;
        width: max-content !important;
        margin: 0 0 2px !important;
    }

    #payment-info-page .order_payment_buttons button {
        flex: 1 1 0 !important;
        min-width: 0 !important;
    }
}

@media (max-width: 390px) {
    #order_transport_info .order_transport_type {
        font-size: 14px !important;
    }

    #order_transport_info #order_transport_type_collection_container,
    #order_transport_info #order_transport_type_delivery_container {
        min-height: 42px !important;
        padding: 9px 8px !important;
        font-size: 14px !important;
    }

    #order_transport_info .transport_specify_time_container {
        flex-wrap: wrap !important;
    }

    #order_transport_info .transport_specify_time_container input[type="time"],
    #order_transport_info #transport_specify_time {
        width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
    }
}

/* ==========================================================
   SINGLE-PAGE CHECKOUT: FINAL OVERRIDES
   Keep this block last. The checkout reuses legacy modal HTML,
   so these rules flatten each old modal into one flowing form.
   ========================================================== */
#checkout-dialog.checkout-dialog {
    position: fixed !important;
    inset: 0 !important;
    z-index: var(--z-index-fullscreen) !important;
    display: none;
    align-items: flex-start !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100dvh !important;
    max-height: none !important;
    padding: clamp(16px, 3vw, 36px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    transform: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
}

#checkout-dialog > .checkout-dialog-content {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    width: min(980px, 100%) !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
    overflow: visible !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 22px !important;
    background: #f7f8fa !important;
    box-shadow: 0 22px 60px rgba(16, 24, 40, 0.14) !important;
    transform: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
}

#checkout-dialog .checkout-dialog-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 64px !important;
    padding: 12px 20px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 21px 21px 0 0 !important;
    background: var(--a4d-orange) !important;
}

#checkout-dialog .checkout-dialog-header .modal_header {
    color: #ffffff !important;
}

#checkout-dialog .checkout-dialog-header .modal_header {
    font-size: 22px !important;
    font-weight: 850 !important;
}

#checkout-dialog .checkout-dialog-body {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: clamp(14px, 3vw, 28px) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

#checkout-dialog .checkout-contact-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
    margin: 0 0 18px !important;
}

#checkout-dialog .checkout-form-section,
#checkout-dialog .checkout-account-option,
#checkout-dialog :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #payment-info-page
) {
    position: static !important;
    inset: auto !important;
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(16, 24, 40, 0.05) !important;
    transform: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
}

#checkout-dialog .checkout-contact-grid #order_personal_info,
#checkout-dialog .checkout-account-option {
    height: 100% !important;
    margin-bottom: 0 !important;
}

#checkout-dialog :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content,
#checkout-dialog #payment-info-page > #order_payment_info,
#checkout-dialog #payment-info-page > #order_payment_info > .modal-content {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
}

#checkout-dialog :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content > .modal-header,
#checkout-dialog #payment-info-page .modal-content > .modal-header {
    display: none !important;
}

#checkout-dialog :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content > .modal-body,
#checkout-dialog #payment-info-page .modal-content > .modal-body {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 18px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

#checkout-dialog .checkout-form-section,
#checkout-dialog .checkout-account-option {
    padding: 18px !important;
}

#checkout-dialog .checkout-form-section h2,
#checkout-dialog .checkout-account-option h2,
#checkout-dialog :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content > .modal-body::before {
    display: block !important;
    margin: 0 0 14px !important;
    color: #1d2939 !important;
    font-size: 18px !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
}

#checkout-dialog #order_personal_info > .modal-content > .modal-body::before {
    content: "Your details";
}

#checkout-dialog #order_comments_info > .modal-content > .modal-body::before {
    content: "Comments";
}

#checkout-dialog #order_transport_info > .modal-content > .modal-body::before {
    content: "Delivery or collection";
}

#checkout-dialog #order-payment-type > .modal-content > .modal-body::before {
    content: "Payment type";
}

#checkout-dialog #order-offers-page > .modal-content > .modal-body::before {
    content: "Coupon";
}

#checkout-dialog .checkout-allergen-confirm {
    border-color: #ffd2ad !important;
    background: var(--a4d-orange-soft) !important;
}

#checkout-dialog .checkout-allergen-confirm h2,
#checkout-dialog .checkout-account-option h2 {
    margin-top: 0 !important;
}

#checkout-dialog .checkout-allergen-confirm label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    color: #344054 !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
}

#checkout-dialog .checkout-allergen-confirm input {
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    margin-top: 1px !important;
}

#checkout-dialog .checkout-account-option {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
}

#checkout-dialog .checkout-account-option p {
    margin: 0 0 18px !important;
    color: #667085 !important;
    line-height: 1.5 !important;
}

#checkout-dialog .checkout-account-option button,
#checkout-dialog #order_coupon_button,
#checkout-dialog #order_coupon_remove_button,
#checkout-dialog #order_now_button {
    min-height: 46px !important;
    padding: 11px 20px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: var(--a4d-orange) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

#checkout-dialog .order_info_personal,
#checkout-dialog .order_comment,
#checkout-dialog .order_transport_type {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

#checkout-dialog :is(
    #order_name_input,
    #order_phone_input,
    #order_email_input,
    #order_postcode_input,
    #order_address1_input,
    #order_address2_input,
    #order_coupon_input,
    #transport_specify_time,
    #order_comments
) {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

#checkout-dialog #order_comments {
    min-height: 110px !important;
    resize: vertical !important;
}

#checkout-dialog #order_transport_info .order_transport_type > .full_width,
#checkout-dialog #order-payment-type .order_payment_type {
    gap: 12px !important;
}

#checkout-dialog #order_transport_info :is(
    #order_transport_type_collection_container,
    #order_transport_type_delivery_container
) {
    min-height: 48px !important;
    box-sizing: border-box !important;
}

#checkout-dialog #order_personal_info .order_button_container,
#checkout-dialog #order_comments_info > .modal-content > .modal-body > .space_evenly,
#checkout-dialog #order_transport_info > .modal-content > .modal-body > .space_evenly,
#checkout-dialog #order-payment-type .space_evenly {
    display: none !important;
}

#checkout-dialog #order-offers-page .coupon_title {
    margin-bottom: 10px !important;
    color: #667085 !important;
}

#checkout-dialog #order-offers-page .space_evenly {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 12px !important;
}

#checkout-dialog #order-offers-page .space_evenly > .order_button_container:first-child {
    display: none !important;
}

#checkout-dialog #order-offers-page .space_evenly > .order_button_container:last-child {
    display: block !important;
    width: auto !important;
}

#checkout-dialog #payment-info-page {
    margin-bottom: 0 !important;
}

#checkout-dialog .checkout-totals-loading {
    padding: 24px !important;
    color: #667085 !important;
    text-align: center !important;
}

#checkout-dialog #payment-info-page .order_payment_inf_cost {
    width: 100% !important;
    max-width: none !important;
}

#checkout-dialog #payment-info-page .order_payment_buttons {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
}

#checkout-dialog #payment-info-page .order_payment_buttons > .order_button_container:first-child {
    display: none !important;
}

#checkout-dialog #payment-info-page .order_payment_buttons > .order_button_container:last-child {
    display: block !important;
    width: 100% !important;
}

#checkout-dialog #payment-info-page #order_now_button {
    width: 100% !important;
}

#checkout-dialog #payment-info-page #payment-type-chosen {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 12px auto 0 !important;
}

@media (max-width: 720px) {
    #checkout-dialog.checkout-dialog {
        padding: 0 !important;
    }

    #checkout-dialog > .checkout-dialog-content {
        width: 100% !important;
        min-height: 100dvh !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    #checkout-dialog .checkout-dialog-header {
        border-radius: 0 !important;
    }

    #checkout-dialog .checkout-contact-grid {
        grid-template-columns: 1fr !important;
    }

    #checkout-dialog .checkout-contact-grid #order_personal_info,
    #checkout-dialog .checkout-account-option {
        height: auto !important;
    }
}

/* Single-page checkout follow-up refinements. Keep these last in the cascade. */
#checkout-dialog > .checkout-dialog-content {
    isolation: isolate !important;
    background: #ffffff !important;
}

#checkout-dialog .checkout-dialog-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    isolation: isolate !important;
    overflow: visible !important;
}

#checkout-dialog .checkout-dialog-body,
#checkout-dialog .checkout-dialog-body > *,
#checkout-dialog .checkout-dialog-body .modal,
#checkout-dialog .checkout-dialog-body .modal-content,
#checkout-dialog .checkout-dialog-body .modal-body {
    z-index: 0 !important;
}

#checkout-dialog .checkout-allergen-confirm input[type="checkbox"] {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
}

#checkout-dialog #order_transport_info .order_transport_type {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#checkout-dialog #order_transport_info :is(
    #order_transport_type_collection_container,
    #order_transport_type_delivery_container
) {
    margin: 0 !important;
    padding: 13px 16px !important;
    border: 1px solid #dfe3e8 !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

#checkout-dialog #order_transport_info :is(
    #order_transport_type_collection_container,
    #order_transport_type_delivery_container
).order_transport_type_container_checked {
    border-color: var(--a4d-orange) !important;
    background: var(--a4d-orange-soft) !important;
}

#checkout-dialog #order_transport_info .transport_specify_asap_container {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
}

#checkout-dialog #order_transport_info #transport_specify_selection_asap_container,
#checkout-dialog #order_transport_info #transport_specify_asap_time,
#checkout-dialog #order_transport_info #transport_specify_asap_time_text {
    width: auto !important;
    margin: 0 !important;
    justify-content: flex-start !important;
    text-align: left !important;
    white-space: nowrap !important;
}

#checkout-dialog #order_transport_info :is(
    #transport_specify_selection_asap,
    #transport_specify_selection_time
) {
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    flex-basis: 26px !important;
    margin: 0 8px 0 0 !important;
}

#checkout-dialog #order_transport_info .transport_specify_container {
    grid-template-columns: minmax(0, 1fr) !important;
}

#checkout-dialog #order_transport_info .transport_specify_container > .flexdiv:last-child {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    box-sizing: border-box !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 12px !important;
    background: #ffffff !important;
}

#checkout-dialog #order_transport_delivery_details.checkout-address-disabled {
    opacity: 0.58 !important;
    background: #f2f4f7 !important;
    filter: grayscale(0.2);
}

#checkout-dialog #order_transport_delivery_details.checkout-address-disabled :is(input, button) {
    cursor: not-allowed !important;
    background: #eaecf0 !important;
}

#checkout-dialog :is(
    #transport_chosen,
    #order-payment-type-selected,
    #payment-type-chosen
) {
    display: none !important;
}

#checkout-dialog .checkout-error {
    margin: 0 0 18px !important;
    padding: 14px 16px !important;
    border: 2px solid #d92d20 !important;
    border-radius: 12px !important;
    background: #fff1f0 !important;
    color: #7a271a !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

#checkout-dialog .checkout-error[hidden] {
    display: none !important;
}

#checkout-dialog .checkout-field-error {
    border-color: #d92d20 !important;
    outline: 3px solid rgb(217 45 32 / 18%) !important;
    outline-offset: 2px !important;
}

#checkout-dialog #payment-info-page :is(
    .order_payment_inf_cost,
    .order_payment_items,
    .order_payment_charges
) {
    font-size: 17px !important;
    line-height: 1.5 !important;
}

#checkout-dialog #payment-info-page :is(.order_payment_items, .order_payment_charges) {
    padding: 16px 18px !important;
}

#checkout-dialog #payment-info-page :is(
    .order_payment_inf_cost_left,
    .order_payment_inf_cost_right
) {
    font-size: inherit !important;
}

#checkout-dialog #payment-info-page .order_payment_total,
#checkout-dialog #payment-info-page .order_payment_inf_total {
    font-size: 21px !important;
    font-weight: 800 !important;
}

#checkout-dialog .checkout-order-summary {
    display: grid !important;
    gap: 9px !important;
    margin: 16px 0 !important;
    padding: 16px 18px !important;
    border: 1px solid #dfe3e8 !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
}

#checkout-dialog .checkout-summary-row {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 18px !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
}

#checkout-dialog .checkout-summary-label {
    color: #475467 !important;
    font-weight: 700 !important;
}

#checkout-dialog .checkout-summary-value {
    color: #101828 !important;
    font-weight: 800 !important;
    text-align: right !important;
}

@media (max-width: 520px) {
    #checkout-dialog #order_transport_info .order_transport_type {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 420px) {
    #checkout-dialog .checkout-dialog-body {
        padding: 12px !important;
    }

    #checkout-dialog :is(
        #order_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page
    ) > .modal-content > .modal-body,
    #checkout-dialog #payment-info-page .modal-content > .modal-body,
    #checkout-dialog .checkout-form-section,
    #checkout-dialog .checkout-account-option {
        padding: 14px !important;
    }
}

/* =====================================================================
   Ask4Dish checkout transport/mobile polish — CSS ONLY (v3)
   Final overrides to keep checkout cards centred and prevent transport
   controls from collapsing into one horizontal row.
   ===================================================================== */

/* Keep every checkout card genuinely centred on the viewport, including
   phones. This intentionally overrides the earlier bottom-sheet rule. */
:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal-content,
#payment-info-page .modal-content {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    -webkit-transform: translate(-50%, -50%) !important;
    width: min(680px, calc(100% - 32px)) !important;
    height: auto !important;
    max-height: calc(100dvh - 32px) !important;
    margin: 0 !important;
    border-radius: 20px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

/* Header always spans the card, title left / close right. */
:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal-header,
#payment-info-page .modal-header {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
}

:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal-header > div:last-child,
#payment-info-page .modal-header > div:last-child {
    margin-left: auto !important;
}

/* ---------------------------------------------------------------------
   Transport step: one clear vertical flow.
   --------------------------------------------------------------------- */
#order_transport_info .modal-content {
    width: min(640px, calc(100% - 32px)) !important;
}

#order_transport_info .modal-body {
    width: 100% !important;
    max-width: none !important;
    padding: 24px !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Legacy wrappers can be flex containers. Force the transport journey to
   use the full card width and wrap instead of squeezing into columns. */
#order_transport_info .modal-body .flexdiv,
#order_transport_info .modal-body .order_info_container,
#order_transport_info .modal-body > .full_width,
#order_transport_info .modal-body > .full_width > .full_width {
    min-width: 0 !important;
    box-sizing: border-box !important;
    flex-wrap: wrap !important;
}

#order_transport_info .modal-body .order_info_container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
}

/* If a legacy wrapper directly contains the major transport blocks, make
   that wrapper vertical too. :has() is supported by current Chrome/Safari. */
#order_transport_info .modal-body *:has(> .order_transport_type):has(> .transport_specify_container),
#order_transport_info .modal-body *:has(> .transport_specify_container):has(> #order_transport_delivery_details),
#order_transport_info .modal-body *:has(> #order_transport_type_collection_container):has(> #order_transport_delivery_details) {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
}

/* Every major transport section takes a full row. */
#order_transport_info .order_transport_type,
#order_transport_info .transport_specify_container,
#order_transport_info #order_transport_delivery_details,
#order_transport_info #transport_chosen,
#order_transport_info .transport_chosen,
#order_transport_info .order_button_container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
}

/* Collection / Delivery: proper two-part selector. */
#order_transport_info .order_transport_type,
#order_transport_info .modal-body *:has(> #order_transport_type_collection_container):has(> #order_transport_type_delivery_container) {
    margin: 0 0 14px !important;
    padding: 4px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 4px !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 14px !important;
    background: #f4f6f8 !important;
}

#order_transport_info #order_transport_type_collection_container,
#order_transport_info #order_transport_type_delivery_container {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    text-align: center !important;
}

#order_transport_info #order_transport_type_collection_container.order_transport_type_container_checked,
#order_transport_info #order_transport_type_delivery_container.order_transport_type_container_checked {
    background: var(--a4d-orange) !important;
    color: #fff !important;
    box-shadow: 0 3px 10px color-mix(in srgb, var(--a4d-orange) 22%, transparent) !important;
}

#order_transport_info #order_transport_type_collection_container:not(.order_transport_type_container_checked),
#order_transport_info #order_transport_type_delivery_container:not(.order_transport_type_container_checked) {
    background: transparent !important;
    color: #475467 !important;
    box-shadow: none !important;
}

/* ASAP / Specific Time: two equal cards on desktop, stacked on phones. */
#order_transport_info .transport_specify_container,
#order_transport_info .modal-body *:has(> .transport_specify_asap_container):has(> .transport_specify_time_container) {
    margin: 0 0 14px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 10px !important;
    border: 0 !important;
    background: transparent !important;
}

#order_transport_info .transport_specify_asap_container,
#order_transport_info .transport_specify_time_container {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 12px !important;
    background: #fff !important;
}

#order_transport_info .transport_specify_selection_asap,
#order_transport_info .transport_specify_selection_time {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    line-height: 1.3 !important;
}

#order_transport_info .transport_specify_asap_time,
#order_transport_info #transport_specify_asap_time_text,
#order_transport_info .transport_specify_time_container {
    font-size: 15px !important;
    line-height: 1.35 !important;
}

#order_transport_info .transport_specify_time_container input[type="time"],
#order_transport_info #transport_specify_time {
    width: 94px !important;
    min-width: 94px !important;
    max-width: 94px !important;
    height: 40px !important;
    margin: 0 0 0 auto !important;
    padding: 7px 8px !important;
    flex: 0 0 94px !important;
    box-sizing: border-box !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #344054 !important;
    font-size: 14px !important;
}

/* Address block is always a complete full-width section. */
#order_transport_info #order_transport_delivery_details {
    margin: 0 !important;
    padding: 14px !important;
    display: block !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
}

#order_transport_info .order_postcode_input,
#order_transport_info .order_address1_input,
#order_transport_info .order_address2_input {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 0 10px !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
    box-sizing: border-box !important;
}

#order_transport_info .order_address2_input {
    margin-bottom: 0 !important;
}

#order_transport_info .order_postcode_input input,
#order_transport_info .order_address1_input input,
#order_transport_info .order_address2_input input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
    font-size: 15px !important;
}

#order_transport_info .order_postcode_input input {
    flex: 1 1 auto !important;
}

#order_transport_info .address_search_button {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 126px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    white-space: nowrap !important;
}

#order_transport_info #transport_chosen,
#order_transport_info .transport_chosen {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 14px auto 0 !important;
    padding: 7px 12px !important;
    flex-basis: auto !important;
    border-radius: 999px !important;
    background: #ecfdf3 !important;
    color: #067647 !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    text-align: center !important;
}

#order_transport_info .order_button_container {
    margin: 18px 0 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

#order_transport_info .order_button_container button {
    min-width: 104px !important;
}

/* Payment summary stays centred and reads vertically rather than as columns. */
#payment-info-page .modal-content {
    width: min(620px, calc(100% - 32px)) !important;
}

#payment-info-page .modal-body {
    padding: 24px !important;
}

#payment-info-page .order_payment_items,
#payment-info-page .order_payment_discount_container,
#payment-info-page .order_payment_order_total_container,
#payment-info-page .order_payment_charges,
#payment-info-page .order_payment_discounts,
#payment-info-page .order_payment_final_total_container,
#payment-info-page .order_payment_buttons {
    width: 100% !important;
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Phone layout: keep card centred, with comfortable single-column controls. */
@media (max-width: 700px) {
    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login) .modal-content,
    #payment-info-page .modal-content {
        left: 50% !important;
        right: auto !important;
        top: 50% !important;
        bottom: auto !important;
        transform: translate(-50%, -50%) !important;
        -webkit-transform: translate(-50%, -50%) !important;
        width: calc(100% - 20px) !important;
        max-width: 520px !important;
        max-height: calc(100dvh - 20px) !important;
        border: 1px solid rgba(17, 24, 39, 0.08) !important;
        border-radius: 18px !important;
        box-shadow: 0 18px 50px rgba(17, 24, 39, 0.28) !important;
    }

    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login) .modal-header,
    #payment-info-page .modal-header {
        padding: 14px 15px 12px !important;
    }

    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login) .modal-body,
    #payment-info-page .modal-body,
    #order_transport_info .modal-body {
        padding: 16px !important;
    }

    #order_transport_info .transport_specify_container,
    #order_transport_info .modal-body *:has(> .transport_specify_asap_container):has(> .transport_specify_time_container) {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    #order_transport_info .transport_specify_asap_container,
    #order_transport_info .transport_specify_time_container {
        min-height: 52px !important;
        padding: 10px 12px !important;
    }

    #order_transport_info .order_postcode_input {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    #order_transport_info .order_postcode_input input,
    #order_transport_info .address_search_button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: none !important;
    }

    #order_transport_info .order_button_container {
        gap: 10px !important;
    }

    #order_transport_info .order_button_container button {
        flex: 1 1 0 !important;
        min-width: 0 !important;
    }

    #payment-info-page .order_payment_buttons {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
    }

    #payment-info-page #payment-type-chosen {
        grid-column: 1 / -1 !important;
        width: fit-content !important;
    }
}

@media (max-width: 390px) {
    #order_transport_info .modal-body,
    #payment-info-page .modal-body {
        padding: 14px !important;
    }

    #order_transport_info #order_transport_type_collection_container,
    #order_transport_info #order_transport_type_delivery_container {
        min-height: 42px !important;
        padding: 9px 8px !important;
        font-size: 14px !important;
    }

    #order_transport_info .transport_specify_time_container {
        flex-wrap: nowrap !important;
    }

    #order_transport_info .transport_specify_time_container input[type="time"],
    #order_transport_info #transport_specify_time {
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        flex-basis: 88px !important;
    }
}

/* Keep legacy checkout modal headings and their close controls on the same
   horizontal centre line. The close button remains in normal header flow so
   all HTML modal headers share one alignment contract. */
:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal-header,
#payment-info-page .modal-header {
    position: relative !important;
}

:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal-header .close,
#payment-info-page .modal-header .close {
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
    margin: 0 !important;
}

/* =====================================================================
   Ask4Dish transport checkout — CSS ONLY (v4)
   Robust layout reset for the legacy flex markup. Keeps every existing
   element, id, onclick handler and checkout action untouched.
   ===================================================================== */

/* Use the viewport itself as the positioning reference. This prevents the
   legacy .vertical_align transform / parent geometry from nudging the card. */
#order_transport_info .modal-content {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    -webkit-transform: translate(-50%, -50%) !important;
    width: min(620px, calc(100vw - 32px)) !important;
    max-width: 620px !important;
    max-height: calc(100dvh - 32px) !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 28px 80px rgba(17, 24, 39, .28) !important;
}

/* Keep the heading simple and pin the existing close wrapper to the far edge. */
#order_transport_info .modal-header {
    position: relative !important;
    min-height: 64px !important;
    padding: 16px 64px 16px 22px !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid #eceff3 !important;
}

#order_transport_info .modal-header > div:last-child {
    position: absolute !important;
    top: 50% !important;
    right: 16px !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    -webkit-transform: translateY(-50%) !important;
    display: grid !important;
    place-items: center !important;
}

#order_transport_info .modal-header > div:last-child .close,
#order_transport_info .modal-header .close {
    position: static !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
    -webkit-transform: none !important;
}

#order_transport_info .modal-body {
    width: 100% !important;
    max-height: calc(100dvh - 98px) !important;
    padding: 22px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    background: #fff !important;
}

/* Flatten only the legacy structural wrappers. The actionable controls stay
   intact and become items in one predictable two-column grid. */
#order_transport_info .modal-body > .full_width,
#order_transport_info .modal-body > .full_width > .full_width,
#order_transport_info .order_info_container > .full_width,
#order_transport_info .order_transport_type,
#order_transport_info .transport_specify_container {
    display: contents !important;
}

#order_transport_info .order_info_container {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    gap: 12px !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
}

/* Collection / Delivery selector — always the first row. */
#order_transport_info #order_transport_type_collection_container,
#order_transport_info #order_transport_type_delivery_container {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 11px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    color: #475467 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
    box-shadow: none !important;
}

#order_transport_info #order_transport_type_collection_container {
    grid-column: 1 !important;
}

#order_transport_info #order_transport_type_delivery_container {
    grid-column: 2 !important;
}

#order_transport_info #order_transport_type_collection_container.order_transport_type_container_checked,
#order_transport_info #order_transport_type_delivery_container.order_transport_type_container_checked {
    border-color: var(--a4d-orange) !important;
    background: var(--a4d-orange) !important;
    color: #fff !important;
    box-shadow: 0 6px 16px color-mix(in srgb, var(--a4d-orange) 18%, transparent) !important;
}

/* Time choices — second row on desktop. */
#order_transport_info .transport_specify_asap_container,
#order_transport_info .transport_specify_time_container {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    box-sizing: border-box !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #344054 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}

#order_transport_info .transport_specify_asap_container {
    grid-column: 1 !important;
}

#order_transport_info .transport_specify_time_container {
    grid-column: 2 !important;
}

#order_transport_info .transport_specify_selection_asap,
#order_transport_info .transport_specify_selection_time {
    min-width: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #344054 !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
}

#order_transport_info .transport_specify_selection_asap input,
#order_transport_info .transport_specify_selection_time input,
#order_transport_info input[type="radio"] {
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    flex: 0 0 19px !important;
    margin: 0 !important;
    accent-color: var(--a4d-orange) !important;
}

#order_transport_info .transport_specify_asap_time,
#order_transport_info #transport_specify_asap_time_text {
    min-width: 0 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    white-space: normal !important;
}

#order_transport_info .transport_specify_time_container input[type="time"],
#order_transport_info #transport_specify_time {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    height: 40px !important;
    flex: 0 0 96px !important;
    margin: 0 0 0 auto !important;
    padding: 7px 8px !important;
    box-sizing: border-box !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #344054 !important;
    font-size: 14px !important;
}

/* Delivery address — always gets its own full-width row. */
#order_transport_info #order_transport_delivery_details,
#order_transport_info .order_transport_delivery_details {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    border: 1px solid #fed7aa !important;
    border-radius: 14px !important;
    background: var(--a4d-orange-soft) !important;
    text-align: left !important;
}

#order_transport_info .order_postcode_input,
#order_transport_info .order_address1_input,
#order_transport_info .order_address2_input {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
    box-sizing: border-box !important;
}

#order_transport_info .order_address2_input {
    margin-bottom: 0 !important;
}

#order_transport_info .order_postcode_input input,
#order_transport_info .order_address1_input input,
#order_transport_info .order_address2_input input {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #344054 !important;
    font-size: 15px !important;
}

#order_transport_info .order_postcode_input input {
    flex: 1 1 auto !important;
}

#order_transport_info .address_search_button {
    width: auto !important;
    min-width: 128px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 10px 15px !important;
    flex: 0 0 auto !important;
    border-radius: 10px !important;
    white-space: nowrap !important;
}

/* Status + actions each get their own clear row. */
#order_transport_info #transport_chosen,
#order_transport_info .transport_chosen {
    grid-column: 1 / -1 !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 2px auto 0 !important;
    padding: 7px 12px !important;
    border-radius: 999px !important;
    background: #ecfdf3 !important;
    color: #067647 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
    animation: none !important;
}

#order_transport_info .order_button_container {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    box-sizing: border-box !important;
}

#order_transport_info .order_button_container button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 11px 16px !important;
    border-radius: 11px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

/* Phone layout: retain the easy two-button Collection/Delivery row, then
   stack every form choice underneath it with full-width touch targets. */
@media (max-width: 700px) {
    #order_transport_info .modal-content {
        width: calc(100vw - 24px) !important;
        max-width: 520px !important;
        max-height: calc(100dvh - 24px) !important;
        border-radius: 18px !important;
    }

    #order_transport_info .modal-header {
        min-height: 58px !important;
        padding: 13px 58px 13px 16px !important;
    }

    #order_transport_info .modal-header > div:last-child {
        right: 10px !important;
        width: 42px !important;
        height: 42px !important;
    }

    #order_transport_info .modal-body {
        max-height: calc(100dvh - 82px) !important;
        padding: 14px !important;
    }

    #order_transport_info .order_info_container {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 9px !important;
    }

    #order_transport_info #order_transport_type_collection_container,
    #order_transport_info #order_transport_type_delivery_container {
        min-height: 44px !important;
        padding: 9px 8px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
    }

    #order_transport_info .transport_specify_asap_container,
    #order_transport_info .transport_specify_time_container {
        grid-column: 1 / -1 !important;
        min-height: 52px !important;
        padding: 10px 11px !important;
        border-radius: 10px !important;
    }

    #order_transport_info #order_transport_delivery_details,
    #order_transport_info .order_transport_delivery_details {
        padding: 11px !important;
        border-radius: 12px !important;
    }

    #order_transport_info .order_postcode_input {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    #order_transport_info .order_postcode_input input,
    #order_transport_info .address_search_button {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        flex: none !important;
    }

    #order_transport_info .order_postcode_input input,
    #order_transport_info .order_address1_input input,
    #order_transport_info .order_address2_input input,
    #order_transport_info .address_search_button {
        height: 44px !important;
        font-size: 14px !important;
    }

    #order_transport_info .order_button_container {
        gap: 9px !important;
    }

    #order_transport_info .order_button_container button {
        min-height: 44px !important;
        padding: 10px 12px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 360px) {
    #order_transport_info .modal-content {
        width: calc(100vw - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
        border-radius: 16px !important;
    }

    #order_transport_info .modal-body {
        padding: 11px !important;
    }

    #order_transport_info .transport_specify_time_container {
        flex-wrap: wrap !important;
    }

    #order_transport_info .transport_specify_time_container input[type="time"],
    #order_transport_info #transport_specify_time {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        flex: 1 1 100% !important;
        margin: 2px 0 0 !important;
    }
}


/* =====================================================================
   Ask4Dish checkout reference-inspired polish — CSS ONLY (v5)
   Goal: move the existing checkout flow closer to the cleaner, compact,
   mobile-first card style the user referenced, without changing markup,
   JavaScript, IDs, forms, or event handlers.
   ===================================================================== */

/* Keep the checkout journey compact and mobile-first across every step. */
:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal-content,
#payment-info-page .modal-content {
    width: min(500px, calc(100% - 24px)) !important;
    max-height: calc(100dvh - 24px) !important;
    border-radius: 18px !important;
}

:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal-header,
#payment-info-page .modal-header {
    padding: 16px 18px 12px !important;
}

:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal_header,
#payment-info-page .modal_header {
    font-size: 19px !important;
    font-weight: 800 !important;
}

:is(#order_allergen_confirm,
    #order_login_info,
    #order_personal_info,
    #confirm_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #goto_login) .modal-body,
#payment-info-page .modal-body {
    padding: 16px !important;
}

/* Generic input polish across the checkout flow. */
#order_personal_info .order_name_input,
#order_personal_info .order_phone_input,
#order_personal_info .order_email_input,
#order_transport_info .order_address1_input,
#order_transport_info .order_address2_input,
#order_transport_info .order_postcode_input,
#order-offers-page .coupon_input {
    margin-bottom: 10px !important;
}

#order_personal_info .order_name_input input,
#order_personal_info .order_phone_input input,
#order_personal_info .order_email_input input,
#order_transport_info .order_address1_input input,
#order_transport_info .order_address2_input input,
#order_transport_info .order_postcode_input input,
#order-offers-page input,
#payment-info-page input:not([type="radio"]):not([type="checkbox"]),
#order_comments_info textarea {
    min-height: 46px !important;
    border-radius: 12px !important;
    border-color: #dde1e7 !important;
    background: #ffffff !important;
    box-shadow: inset 0 1px 0 rgba(16, 24, 40, 0.02) !important;
    font-size: 15px !important;
}

#order_comments_info textarea {
    min-height: 110px !important;
    resize: vertical !important;
}

/* ---------------------------
   Login / guest step
   --------------------------- */
#order_login_info .modal-content,
#goto_login .modal-content,
#order_allergen_confirm .modal-content,
#order_comments_info .modal-content,
#confirm_personal_info .modal-content,
#order_personal_info .modal-content,
#order-payment-type .modal-content,
#order-offers-page .modal-content {
    width: min(460px, calc(100% - 24px)) !important;
}

#order_login_info .modal-body,
#goto_login .modal-body,
#order_allergen_confirm .modal-body,
#confirm_personal_info .modal-body {
    text-align: center !important;
}

#order_login_info .order_button_container,
#goto_login .order_button_container,
#order_allergen_confirm .order_button_container,
#confirm_personal_info .confirm_personal_info_buttons {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
}

#order_login_info .order_button_container button,
#goto_login .order_button_container button,
#order_allergen_confirm .order_button_container button,
#confirm_personal_info .confirm_personal_info_buttons button {
    width: 100% !important;
}

/* ---------------------------
   Personal details step
   --------------------------- */
#order_personal_info .modal-body > .full_width,
#confirm_personal_info .modal-body > .full_width,
#order_comments_info .modal-body > .full_width,
#order-payment-type .modal-body > .full_width,
#order-offers-page .modal-body > .full_width {
    max-width: 100% !important;
}

#order_personal_info .order_button_container,
#order_comments_info .order_button_container,
#order-offers-page .order_button_container,
#confirm_personal_info .confirm_personal_info_buttons,
#order-payment-type .order_button_container {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 16px !important;
}

#order_personal_info .order_button_container button,
#order_comments_info .order_button_container button,
#order-offers-page .order_button_container button,
#confirm_personal_info .confirm_personal_info_buttons button,
#order-payment-type .order_button_container button {
    width: 100% !important;
    margin: 0 !important;
}

#confirm_personal_info .confirm_personal_info_data {
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 14px !important;
    border: 1px solid #e9edf2 !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
    color: #344054 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

/* ---------------------------
   Transport step: closest match to the reference look
   --------------------------- */
#order_transport_info .modal-content {
    width: min(470px, calc(100% - 24px)) !important;
}

#order_transport_info .modal-body {
    padding: 16px !important;
}

#order_transport_info .modal-body > .full_width,
#order_transport_info .order_info_container {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

#order_transport_info .order_transport_type {
    width: 100% !important;
    margin: 0 !important;
    padding: 4px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px !important;
    border: 1px solid #e6eaf0 !important;
    border-radius: 999px !important;
    background: #f4f6f8 !important;
    box-sizing: border-box !important;
}

#order_transport_info #order_transport_type_collection_container,
#order_transport_info #order_transport_type_delivery_container {
    min-height: 42px !important;
    padding: 9px 12px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #475467 !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

#order_transport_info #order_transport_type_collection_container.order_transport_type_container_checked,
#order_transport_info #order_transport_type_delivery_container.order_transport_type_container_checked {
    background: var(--a4d-orange) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 16px color-mix(in srgb, var(--a4d-orange) 24%, transparent) !important;
}

#order_transport_info .transport_specify_container {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-sizing: border-box !important;
}

#order_transport_info .transport_specify_asap_container,
#order_transport_info .transport_specify_time_container {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

#order_transport_info .transport_specify_selection_asap,
#order_transport_info .transport_specify_selection_time {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    color: #101828 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

#order_transport_info .transport_specify_selection_asap input,
#order_transport_info .transport_specify_selection_time input {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
}

#order_transport_info .transport_specify_asap_time,
#order_transport_info #transport_specify_asap_time_text {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    color: #475467 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: right !important;
    line-height: 1.35 !important;
}

#order_transport_info .transport_specify_time_container input[type="time"],
#order_transport_info #transport_specify_time {
    width: 110px !important;
    min-width: 110px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
    border: 1px solid #d5dbe3 !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
}

#order_transport_info .order_transport_delivery_details {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 14px !important;
    display: block !important;
    border: 1px solid #e7ebf0 !important;
    border-radius: 16px !important;
    background: #f8fafc !important;
    box-sizing: border-box !important;
}

#order_transport_info .order_postcode_input,
#order_transport_info .order_address1_input,
#order_transport_info .order_address2_input {
    width: 100% !important;
    margin: 0 0 10px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    box-sizing: border-box !important;
}

#order_transport_info .order_address1_input,
#order_transport_info .order_address2_input {
    grid-template-columns: minmax(0, 1fr) !important;
}

#order_transport_info .order_address2_input {
    margin-bottom: 0 !important;
}

#order_transport_info .address_search_button {
    min-width: 130px !important;
    height: 46px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

#order_transport_info .transport_chosen {
    width: fit-content !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 2px auto 0 !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    background: #ecfdf3 !important;
    color: #067647 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

#order_transport_info .order_button_container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 2px 0 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

#order_transport_info .order_button_container button {
    width: 100% !important;
    margin: 0 !important;
}

/* ---------------------------
   Payment type step: list-style rows closer to the reference checkout
   --------------------------- */
#order-payment-type .modal-content {
    width: min(460px, calc(100% - 24px)) !important;
}

#order-payment-type .order_payment_type {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
}

#order-payment-type .order_payment_type_cash,
#order-payment-type .order_payment_type_card {
    width: 100% !important;
    min-height: 60px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    border: 1px solid #dde2ea !important;
    background: #ffffff !important;
    justify-content: space-between !important;
    box-shadow: none !important;
}

#order-payment-type .order_payment_type_selected {
    border-color: #58b2f6 !important;
    background: #f7fbff !important;
    box-shadow: 0 0 0 2px rgba(88, 178, 246, 0.14) !important;
}

#order-payment-type .order_payment_type img {
    width: 26px !important;
    height: 26px !important;
    flex: 0 0 26px !important;
}

#order-payment-type .order_payment_type_name {
    flex: 1 1 auto !important;
    margin-left: 6px !important;
    text-align: left !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    color: #111827 !important;
}

#order-payment-type .order_payment_type_selected::after,
#order-payment-type .order_payment_type_not_selected::after {
    content: "";
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #c8d0db;
    background: #fff;
    box-sizing: border-box;
    display: inline-block;
    flex: 0 0 18px;
}

#order-payment-type .order_payment_type_selected::after {
    border-color: #58b2f6;
    box-shadow: inset 0 0 0 4px #58b2f6;
}

#order-payment-type .order-payment-type-selected,
#order-payment-type .payment-type-chosen,
#order-payment-type #order-payment-type-selected {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 4px auto 0 !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    background: #f2f4f7 !important;
    color: #475467 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

/* ---------------------------
   Final summary step
   --------------------------- */
#payment-info-page .modal-content {
    width: min(460px, calc(100% - 24px)) !important;
}

#payment-info-page .modal-body {
    padding: 16px !important;
}

#payment-info-page .modal-body .order_info_container {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

#payment-info-page .order_payment_items,
#payment-info-page .order_payment_charges {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    border: 1px solid #e8edf3 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

#payment-info-page .order_payment_items {
    background: #ffffff !important;
}

#payment-info-page .order_payment_charges {
    background: var(--a4d-orange-soft) !important;
    border-color: #ffd2ad !important;
}

#payment-info-page .order_payment_final_total_container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 4px 4px 0 !important;
    border-top: 0 !important;
    font-size: 17px !important;
    font-weight: 850 !important;
}

#payment-info-page .order_payment_buttons {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
}

#payment-info-page #payment-type-chosen {
    grid-column: 1 / -1 !important;
    width: fit-content !important;
    margin: 0 auto 2px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    background: #f2f4f7 !important;
    color: #475467 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

#payment-info-page .order_payment_buttons button {
    width: 100% !important;
    margin: 0 !important;
}

/* ---------------------------
   Smaller phones
   --------------------------- */
@media (max-width: 520px) {
    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login),
    #payment-info-page {
        padding: 12px !important;
        overflow: auto !important;
    }

    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login) .modal-content,
    #payment-info-page .modal-content {
        position: relative !important;
        left: 50% !important;
        top: 50% !important;
        bottom: auto !important;
        width: min(100%, 460px) !important;
        max-height: calc(100dvh - 24px) !important;
        border-radius: 18px !important;
    }
}

@media (max-width: 390px) {
    :is(#order_allergen_confirm,
        #order_login_info,
        #order_personal_info,
        #confirm_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #goto_login) .modal-body,
    #payment-info-page .modal-body {
        padding: 14px !important;
    }

    #order_personal_info .order_button_container,
    #order_comments_info .order_button_container,
    #order-offers-page .order_button_container,
    #confirm_personal_info .confirm_personal_info_buttons,
    #order_transport_info .order_button_container,
    #order-payment-type .order_button_container,
    #payment-info-page .order_payment_buttons {
        grid-template-columns: 1fr !important;
    }

    #order_transport_info .transport_specify_asap_container,
    #order_transport_info .transport_specify_time_container,
    #order_transport_info .order_postcode_input {
        grid-template-columns: 1fr !important;
    }

    #order_transport_info .transport_specify_asap_time,
    #order_transport_info #transport_specify_asap_time_text {
        justify-content: flex-start !important;
        text-align: left !important;
    }

    #order_transport_info .transport_specify_time_container input[type="time"],
    #order_transport_info #transport_specify_time,
    #order_transport_info .address_search_button {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* Single-page checkout must remain the final cascade authority. */
#checkout-dialog.checkout-dialog {
    position: fixed !important;
    inset: 0 !important;
    display: none;
    align-items: flex-start !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100dvh !important;
    max-height: none !important;
    padding: clamp(16px, 3vw, 36px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    transform: none !important;
}

#checkout-dialog > .checkout-dialog-content {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: min(980px, 100%) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
    overflow: visible !important;
    border-radius: 22px !important;
    background: #f7f8fa !important;
    transform: none !important;
}

#checkout-dialog .checkout-dialog-body {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}

#checkout-dialog .checkout-contact-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
}

#checkout-dialog :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #payment-info-page
) {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    transform: none !important;
}

#checkout-dialog :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content,
#checkout-dialog #payment-info-page > #order_payment_info,
#checkout-dialog #payment-info-page > #order_payment_info > .modal-content {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

#checkout-dialog :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content > .modal-header,
#checkout-dialog #payment-info-page .modal-content > .modal-header {
    display: none !important;
}

#checkout-dialog :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content > .modal-body,
#checkout-dialog #payment-info-page .modal-content > .modal-body {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

#checkout-dialog #order_personal_info .order_button_container,
#checkout-dialog #order_comments_info > .modal-content > .modal-body > .space_evenly,
#checkout-dialog #order_transport_info > .modal-content > .modal-body > .space_evenly,
#checkout-dialog #order-payment-type .space_evenly {
    display: none !important;
}

#checkout-dialog #order-offers-page .space_evenly {
    display: flex !important;
    justify-content: flex-end !important;
}

#checkout-dialog #order-offers-page .space_evenly > .order_button_container:first-child,
#checkout-dialog #payment-info-page .order_payment_buttons > .order_button_container:first-child {
    display: none !important;
}

#checkout-dialog #order-offers-page .space_evenly > .order_button_container:last-child,
#checkout-dialog #payment-info-page .order_payment_buttons > .order_button_container:last-child {
    display: block !important;
}

#checkout-dialog #payment-info-page .order_payment_buttons {
    display: flex !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: none !important;
}

#checkout-dialog #payment-info-page #order_now_button {
    width: 100% !important;
}

@media (max-width: 720px) {
    #checkout-dialog.checkout-dialog {
        padding: 0 !important;
    }

    #checkout-dialog > .checkout-dialog-content {
        width: 100% !important;
        min-height: 100dvh !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    #checkout-dialog .checkout-dialog-header {
        border-radius: 0 !important;
    }

    #checkout-dialog .checkout-contact-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Checkout refinements must be the final rules in this file. */
html.checkout-dialog-page-locked,
body.checkout-dialog-page-locked,
html.itemextras-page-locked,
body.itemextras-page-locked {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

/* Checkout keeps the normal Ask4Dish site header visually unchanged. */
html.checkout-dialog-page-locked body.location_body #the_header.is-blurred,
body.checkout-dialog-page-locked.location_body #the_header.is-blurred {
    filter: none !important;
    -webkit-filter: none !important;
    opacity: 1 !important;
}

@media (max-width: 700px) {
    #checkout-dialog.checkout-dialog { --a4d-checkout-site-header-h: 76px; }
}

@media (min-width: 1051px) {
    #checkout-dialog.checkout-dialog { --a4d-checkout-site-header-h: 62px; }
}

#checkout-dialog.checkout-dialog {
    --a4d-checkout-site-header-h: 74px;
    inset: var(--a4d-checkout-site-header-h) 0 0 0 !important;
    height: auto !important;
    padding: 12px clamp(16px, 3vw, 36px) clamp(16px, 3vw, 36px) !important;
    overscroll-behavior-x: none !important;
    overscroll-behavior-y: contain !important;
    scrollbar-gutter: stable;
}

#checkout-dialog > .checkout-dialog-content {
    isolation: isolate !important;
    background: #ffffff !important;
}

#checkout-dialog .checkout-dialog-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    isolation: isolate !important;
    display: grid !important;
    grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr) !important;
    align-items: center !important;
    overflow: visible !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    background: var(--a4d-orange) !important;
    box-shadow: 0 2px 8px rgba(16, 24, 40, .08) !important;
    color: #ffffff !important;
}

#checkout-dialog .checkout-dialog-header .modal_header {
    grid-column: 2 !important;
    justify-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: 26px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    letter-spacing: -.25px !important;
    text-align: center !important;
}

#checkout-dialog .checkout-dialog-header .close {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    position: static !important;
}

#checkout-dialog .checkout-dialog-header::after {
    content: "🔒  Secure checkout";
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 750;
    white-space: nowrap;
}

#checkout-dialog .checkout-dialog-body,
#checkout-dialog .checkout-dialog-body > *,
#checkout-dialog .checkout-dialog-body :is(.modal, .modal-content, .modal-body) {
    z-index: 0 !important;
}

#checkout-dialog .checkout-allergen-confirm input[type="checkbox"] {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
}

#checkout-dialog #order_transport_info .order_transport_type {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#checkout-dialog #order_transport_info :is(
    #order_transport_type_collection_container,
    #order_transport_type_delivery_container
) {
    margin: 0 !important;
    border: 1px solid #dfe3e8 !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

#checkout-dialog #order_transport_info :is(
    #order_transport_type_collection_container,
    #order_transport_type_delivery_container
).order_transport_type_container_checked {
    border-color: var(--a4d-orange) !important;
    background: var(--a4d-orange) !important;
    color: #ffffff !important;
}

#checkout-dialog #order_transport_info .transport_specify_asap_container {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
}

#checkout-dialog #order_transport_info #transport_specify_selection_asap_container,
#checkout-dialog #order_transport_info #transport_specify_asap_time,
#checkout-dialog #order_transport_info #transport_specify_asap_time_text {
    width: auto !important;
    margin: 0 !important;
    justify-content: flex-start !important;
    text-align: left !important;
    white-space: nowrap !important;
}

#checkout-dialog #order_transport_info :is(
    #transport_specify_selection_asap,
    #transport_specify_selection_time
) {
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    flex-basis: 26px !important;
    margin: 0 8px 0 0 !important;
}

#checkout-dialog #order_transport_delivery_details.checkout-address-disabled {
    opacity: 0.58 !important;
    background: #f2f4f7 !important;
    filter: grayscale(0.2);
}

#checkout-dialog #order_transport_delivery_details.checkout-address-disabled :is(input, button) {
    cursor: not-allowed !important;
    background: #eaecf0 !important;
}

#checkout-dialog :is(#transport_chosen, #order-payment-type-selected, #payment-type-chosen) {
    display: none !important;
}

#checkout-dialog .checkout-error {
    margin: 0 0 18px !important;
    padding: 14px 16px !important;
    border: 2px solid #d92d20 !important;
    border-radius: 12px !important;
    background: #fff1f0 !important;
    color: #7a271a !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

#checkout-dialog .checkout-error[hidden] {
    display: none !important;
}

#checkout-dialog .checkout-field-error {
    border-color: #d92d20 !important;
    outline: 3px solid rgb(217 45 32 / 18%) !important;
    outline-offset: 2px !important;
}

#checkout-dialog #payment-info-page .order_payment_inf_cost {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
}

#checkout-dialog #payment-info-page :is(.order_payment_items, .order_payment_charges) {
    width: 100% !important;
    max-width: none !important;
    padding: 16px 18px !important;
    box-sizing: border-box !important;
}

#checkout-dialog #payment-info-page .order_payment_charges > .flexdiv {
    justify-content: space-between !important;
}

#checkout-dialog #payment-info-page #delivery_tip_container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;
}

#checkout-dialog #payment-info-page #delivery_tip_right {
    justify-self: end !important;
    align-self: end !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

#checkout-dialog #payment-info-page .order_payment_final_total_container,
#checkout-dialog #payment-info-page #order_payment_inf_total {
    font-size: 22px !important;
    font-weight: 800 !important;
}

#checkout-dialog .checkout-order-summary {
    display: grid !important;
    gap: 9px !important;
    margin: 16px 0 !important;
    padding: 16px 18px !important;
    border: 1px solid #dfe3e8 !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
}

#checkout-dialog .checkout-summary-row {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 18px !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
}

#checkout-dialog .checkout-summary-label {
    color: #475467 !important;
    font-weight: 700 !important;
}

#checkout-dialog .checkout-summary-value {
    color: #101828 !important;
    font-weight: 800 !important;
    text-align: right !important;
}

@media (max-width: 520px) {
    #checkout-dialog .checkout-summary-row {
        align-items: flex-start !important;
    }
}

@media (max-width: 720px) {
    #checkout-dialog > .checkout-dialog-content {
        border-radius: 22px !important;
    }

    #checkout-dialog .checkout-dialog-header {
        grid-template-columns: 48px 1fr 48px !important;
        min-height: 52px !important;
        padding: 0 8px !important;
        border-radius: 21px 21px 0 0 !important;
    }

    #checkout-dialog .checkout-dialog-header .modal_header {
        font-size: 22px !important;
    }

    #checkout-dialog .checkout-dialog-header::after {
        content: "🔒";
        grid-column: 3;
        justify-self: center;
        font-size: 18px;
    }
}

#checkout-dialog.checkout-dialog-scrolled .checkout-dialog-header {
    border-radius: 0 !important;
}

/* Desktop compact personal details/comments: preserve the single flow. */
@media (min-width: 1051px) {
    #checkout-dialog > .checkout-dialog-content {
        width: min(1080px, 100%) !important;
    }

    #checkout-dialog #order_personal_info .order_info_personal {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: stretch !important;
    }

    #checkout-dialog #order_personal_info .order_info_personal > :is(.order_name_input,.order_phone_input,.order_email_input) {
        margin: 0 !important;
        min-width: 0 !important;
    }

    #checkout-dialog #order_comments {
        min-height: 76px !important;
        height: 76px !important;
    }
}

/* ======================================================================
   Checkout payment method refinement
   Hide radio-style indicators and show the selected Cash/Card method by
   filling the whole button with the Ask4Dish brand orange.
   ====================================================================== */
#order-payment-type .order_payment_type_selected {
    border-color: var(--a4d-orange) !important;
    background: var(--a4d-orange) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

#order-payment-type .order_payment_type_selected .order_payment_type_name {
    color: #ffffff !important;
}

#order-payment-type .order_payment_type_not_selected {
    border-color: #dde2ea !important;
    background: #ffffff !important;
    color: #111827 !important;
    box-shadow: none !important;
}

#order-payment-type .order_payment_type_not_selected .order_payment_type_name {
    color: #111827 !important;
}

#order-payment-type .order_payment_type_selected::after,
#order-payment-type .order_payment_type_not_selected::after {
    content: none !important;
    display: none !important;
}

/* Wide checkout: Cash and Card on one centred row. */
@media (min-width: 600px) {
    #order-payment-type .order_payment_type:not(.order_payment_type_card_only):not(.order_payment_type_cash_only) {
        flex-direction: row !important;
        justify-content: center !important;
        align-items: stretch !important;
        flex-wrap: nowrap !important;
        gap: 12px !important;
    }

    #order-payment-type .order_payment_type_cash,
    #order-payment-type .order_payment_type_card {
        flex: 0 1 200px !important;
        width: 200px !important;
        max-width: 200px !important;
        min-width: 0 !important;
    }
}


/* ======================================================================
   Checkout Chrome repaint / resize stability
   Keep the fixed overlay static and scroll only the dialog body. This
   avoids Chrome compositing gaps caused by a fixed scrolling ancestor
   combined with a sticky child and nested legacy modal stacking contexts.
   ====================================================================== */
#checkout-dialog.checkout-dialog {
    overflow: hidden !important;
    scrollbar-gutter: auto !important;
}

#checkout-dialog > .checkout-dialog-content {
    display: flex !important;
    flex-direction: column !important;
    max-height: calc(100dvh - var(--a4d-checkout-site-header-h) - 24px) !important;
    overflow: hidden !important;
    isolation: auto !important;
}

#checkout-dialog .checkout-dialog-header {
    position: relative !important;
    top: auto !important;
    flex: 0 0 auto !important;
    isolation: auto !important;
}

#checkout-dialog .checkout-dialog-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain !important;
    scrollbar-gutter: stable !important;
    -webkit-overflow-scrolling: touch;
}

#checkout-dialog .checkout-dialog-body,
#checkout-dialog .checkout-dialog-body > *,
#checkout-dialog .checkout-dialog-body :is(.modal, .modal-content, .modal-body) {
    z-index: auto !important;
}

#checkout-dialog #order_transport_delivery_details.checkout-address-disabled {
    filter: none !important;
}

@media (max-width: 720px) {
    #checkout-dialog > .checkout-dialog-content {
        max-height: calc(100dvh - var(--a4d-checkout-site-header-h)) !important;
        border-radius: 16px !important;
    }

    #checkout-dialog .checkout-dialog-body {
        padding: 12px !important;
    }

    #checkout-dialog .checkout-form-section,
    #checkout-dialog .checkout-dialog-body > :is(
        #order_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page,
        #payment-info-page
    ) {
        margin-bottom: 10px !important;
    }

    #checkout-dialog :is(
        #order_personal_info,
        #order_comments_info,
        #order_transport_info,
        #order-payment-type,
        #order-offers-page
    ) > .modal-content > .modal-body,
    #checkout-dialog #payment-info-page .modal-content > .modal-body {
        padding: 12px !important;
    }

    #checkout-dialog #order_comments {
        min-height: 80px !important;
    }
}

/* ======================================================================
   Checkout payment method selected/unselected state
   Override the generic checkout button rule (which colours all buttons
   orange) at the actual button level so only the selected method is orange.
   ====================================================================== */
#order-payment-type button.order_payment_type_selected,
#order-payment-type button.order_payment_type_selected:hover,
#order-payment-type button.order_payment_type_selected:focus,
#order-payment-type button.order_payment_type_selected:focus-visible {
    border-color: var(--a4d-orange) !important;
    background: var(--a4d-orange) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

#order-payment-type button.order_payment_type_selected .order_payment_type_name {
    color: #ffffff !important;
}

#order-payment-type button.order_payment_type_not_selected,
#order-payment-type button.order_payment_type_not_selected:hover,
#order-payment-type button.order_payment_type_not_selected:focus,
#order-payment-type button.order_payment_type_not_selected:focus-visible {
    border-color: #dde2ea !important;
    background: #ffffff !important;
    color: #111827 !important;
    box-shadow: none !important;
    transform: none !important;
}

#order-payment-type button.order_payment_type_not_selected .order_payment_type_name {
    color: #111827 !important;
}

/* ======================================================================
   Single-page checkout typography normalization
   Keep the checkout on one predictable type scale regardless of which
   legacy checkout panel supplied the underlying markup.
   ====================================================================== */
#checkout-dialog.checkout-dialog {
    --checkout-font-body: 16px;
    --checkout-font-secondary: 14px;
    --checkout-font-section: 18px;
    --checkout-font-title: 22px;
    --checkout-font-total: 20px;
    font-size: var(--checkout-font-body) !important;
}

/* Standard text: labels, values, form controls, buttons and ordinary copy. */
#checkout-dialog.checkout-dialog .checkout-dialog-body .checkout-form-section *,
#checkout-dialog.checkout-dialog .checkout-dialog-body .checkout-account-option *,
#checkout-dialog.checkout-dialog .checkout-dialog-body #order_personal_info *,
#checkout-dialog.checkout-dialog .checkout-dialog-body #order_comments_info *,
#checkout-dialog.checkout-dialog .checkout-dialog-body #order_transport_info *,
#checkout-dialog.checkout-dialog .checkout-dialog-body #order-payment-type *,
#checkout-dialog.checkout-dialog .checkout-dialog-body #order-offers-page *,
#checkout-dialog.checkout-dialog .checkout-dialog-body #payment-info-page * {
    font-size: var(--checkout-font-body) !important;
}

/* Main checkout title. */
#checkout-dialog.checkout-dialog .checkout-dialog-header .modal_header {
    font-size: var(--checkout-font-title) !important;
    line-height: 1.25 !important;
}

/* Section headings generated by the single-page checkout plus real h2s. */
#checkout-dialog.checkout-dialog .checkout-dialog-body .checkout-form-section h2,
#checkout-dialog.checkout-dialog .checkout-dialog-body .checkout-account-option h2,
#checkout-dialog.checkout-dialog .checkout-dialog-body :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content > .modal-body::before {
    font-size: var(--checkout-font-section) !important;
    line-height: 1.3 !important;
}

/* Small status/helper pills remain secondary, but are consistent everywhere. */
#checkout-dialog.checkout-dialog .checkout-dialog-body #order_transport_info :is(
    #transport_chosen,
    .transport_chosen
),
#checkout-dialog.checkout-dialog .checkout-dialog-body #order-payment-type :is(
    #order-payment-type-selected,
    .order-payment-type-selected,
    .payment-type-chosen
),
#checkout-dialog.checkout-dialog .checkout-dialog-body #payment-info-page #payment-type-chosen {
    font-size: var(--checkout-font-secondary) !important;
    line-height: 1.35 !important;
}

/* Order rows use the same body size; only the final payable total is larger. */
#checkout-dialog.checkout-dialog .checkout-dialog-body #payment-info-page :is(
    .order_payment_inf_cost,
    .order_payment_inf_cost_left,
    .order_payment_inf_cost_right,
    .order_payment_items,
    .order_payment_charges,
    .checkout-summary-row
) {
    font-size: var(--checkout-font-body) !important;
}

#checkout-dialog.checkout-dialog .checkout-dialog-body #payment-info-page :is(
    .order_payment_total,
    .order_payment_inf_total,
    .order_payment_final_total_container
),
#checkout-dialog.checkout-dialog .checkout-dialog-body #payment-info-page :is(
    .order_payment_total,
    .order_payment_inf_total,
    .order_payment_final_total_container
) * {
    font-size: var(--checkout-font-total) !important;
    line-height: 1.35 !important;
}

/* Do not shrink checkout controls when the viewport narrows. */
@media (max-width: 720px) {
    #checkout-dialog.checkout-dialog .checkout-dialog-body #order_transport_info :is(
        #order_transport_type_collection_container,
        #order_transport_type_delivery_container,
        #transport_specify_asap_time,
        #transport_specify_asap_time_text,
        #transport_specify_time,
        .transport_specify_asap_time,
        .transport_specify_time_container,
        .address_search_button,
        .order_postcode_input input,
        .order_address1_input input,
        .order_address2_input input,
        .order_button_container button
    ),
    #checkout-dialog.checkout-dialog .checkout-dialog-body #order-payment-type .order_payment_type_name {
        font-size: var(--checkout-font-body) !important;
    }
}

/* ======================================================================
   Checkout refinement: allergen, transport selector and driver tip
   ====================================================================== */
/* Keep the allergen confirmation checkbox proportional to 16px body text. */
#checkout-dialog.checkout-dialog .checkout-allergen-confirm input[type="checkbox"] {
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
    margin: 2px 0 0 !important;
    accent-color: var(--a4d-orange) !important;
}

/* The Delivery / Collection selector does not need a third visual container. */
#checkout-dialog.checkout-dialog #order_transport_info .order_transport_type,
#checkout-dialog.checkout-dialog #order_transport_info .order_transport_type > .full_width {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#checkout-dialog.checkout-dialog #order_transport_info .order_transport_type > .full_width {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

#checkout-dialog.checkout-dialog #order_transport_info :is(
    #order_transport_type_collection_container,
    #order_transport_type_delivery_container
) {
    background: #ffffff !important;
}

#checkout-dialog.checkout-dialog #order_transport_info :is(
    #order_transport_type_collection_container,
    #order_transport_type_delivery_container
).order_transport_type_container_checked {
    border-color: var(--a4d-orange) !important;
    background: var(--a4d-orange) !important;
    color: #ffffff !important;
}

/* Driver tip: compact option buttons rather than the legacy red/green labels. */
#checkout-dialog.checkout-dialog #payment-info-page #delivery_tip_container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 16px 18px !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 12px !important;
    background: #f9fafb !important;
}

/* Visibility is owned by checkout state, not by responsive layout rules. */
#checkout-dialog.checkout-dialog #payment-info-page #delivery_tip_container[hidden] {
    display: none !important;
}

#checkout-dialog.checkout-dialog #payment-info-page #delivery_tip_container > .order_payment_inf_cost_left {
    min-width: 0 !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip_heading {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip_title {
    margin: 0 !important;
    color: #101828 !important;
    font-size: var(--checkout-font-body) !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip_optional {
    color: #667085 !important;
    font-size: var(--checkout-font-secondary) !important;
    font-weight: 500 !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip_default_notice {
    margin: 0 0 12px !important;
    padding: 10px 12px !important;
    color: #7a3b00 !important;
    background: var(--a4d-orange-soft) !important;
    border: 1px solid #ffc98f !important;
    border-left: 4px solid var(--a4d-orange) !important;
    border-radius: 8px !important;
    font-size: var(--checkout-font-secondary) !important;
    line-height: 1.45 !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip_default_notice strong {
    color: #572900 !important;
    font-weight: 800 !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(76px, 1fr)) !important;
    gap: 8px !important;
    width: min(100%, 440px) !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip input[type="radio"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip label.col {
    float: none !important;
    width: auto !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: #344054 !important;
    font-size: var(--checkout-font-secondary) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: border-color .15s ease, background-color .15s ease, color .15s ease !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip label.col:hover {
    border-color: #ffb66f !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip input[type="radio"]:focus-visible + label.col {
    outline: 3px solid color-mix(in srgb, var(--a4d-orange) 18%, transparent) !important;
    outline-offset: 2px !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip input[type="radio"]:checked + label.col {
    border-color: var(--a4d-orange) !important;
    background: var(--a4d-orange) !important;
    color: #ffffff !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip label.delivery_tip_default_choice {
    flex-direction: column !important;
    gap: 2px !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip label.delivery_tip_default_choice small {
    color: #a74800 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .05em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip input[type="radio"]:checked + label.delivery_tip_default_choice small {
    color: #ffffff !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip_summary {
    min-width: 122px !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 3px !important;
    background: #ffffff !important;
    border: 1px solid #ffb66f !important;
    border-radius: 10px !important;
}

#checkout-dialog.checkout-dialog #payment-info-page .delivery_tip_status_label {
    color: #a74800 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-align: right !important;
}

#checkout-dialog.checkout-dialog #payment-info-page #delivery_tip_right {
    min-width: 64px !important;
    align-self: center !important;
    color: #101828 !important;
    font-weight: 800 !important;
}

@media (max-width: 620px) {
    #checkout-dialog.checkout-dialog #payment-info-page #delivery_tip_container {
        grid-template-columns: 1fr !important;
    }

    #checkout-dialog.checkout-dialog #payment-info-page #delivery_tip_right {
        justify-self: start !important;
        min-width: 0 !important;
    }

    #checkout-dialog.checkout-dialog #payment-info-page .delivery_tip_summary {
        width: 100% !important;
        min-width: 0 !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    #checkout-dialog.checkout-dialog #payment-info-page .delivery_tip_status_label {
        text-align: left !important;
    }

    #checkout-dialog.checkout-dialog #payment-info-page .delivery_tip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
    }
}

/* ======================================================================
   ASK4DISH_TEXT_MENU_BUILD: 20260906-textonly-v1
   Main ordering page + basket refresh only.
   Checkout/dialogue rules above are intentionally left untouched.
   ====================================================================== */

body.location_body {
    --a4d-menu-orange: var(--a4d-orange);
    --a4d-menu-orange-dark: var(--a4d-orange-deep);
    --a4d-menu-orange-soft: var(--a4d-orange-soft);
    --a4d-menu-ink: #121826;
    --a4d-menu-text: #344054;
    --a4d-menu-muted: #667085;
    --a4d-menu-line: #e6e9ef;
    --a4d-menu-panel: #f8fafc;
    --a4d-menu-shadow: 0 12px 34px rgba(15, 23, 42, 0.09);
    --a4d-menu-header-offset: var(--header-height-x-large);
    height: auto !important;
    min-height: 100vh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #ffffff !important;
    color: var(--a4d-menu-ink) !important;
}

body.location_body .location-area {
    height: auto !important;
    min-height: 100vh !important;
    overflow: visible !important;
    background: #fff !important;
}

body.location_body .location_content {
    height: auto !important;
    min-height: calc(100vh - var(--a4d-menu-header-offset)) !important;
    overflow: visible !important;
    background: #fff !important;
}

body.location_body .show_menu_inner {
    height: auto !important;
    min-height: 60vh !important;
    overflow: visible !important;
}

/* Orange location header, scoped only to the ordering page. */
body.location_body .the-header-container {
    z-index: 1200 !important;
    background: var(--a4d-menu-orange) !important;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.08) !important;
}

body.location_body .the_header,
body.location_body .the_header_background {
    background: var(--a4d-menu-orange) !important;
}

body.location_body .the_header_background img {
    opacity: 0 !important;
}

body.location_body :is(.hdr_adorders_logo_h2 h2, .header-account-label) {
    color: #fff !important;
}

/* Search + cart strip */
body.location_body .info_container {
    width: min(1240px, calc(100% - 32px)) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 14px 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    border: 0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

body.location_body .search_input_container {
    width: min(560px, 72%) !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.location_body .search_container {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: 1px solid #edf0f4 !important;
    border-radius: 999px !important;
    background: #f4f6f8 !important;
    box-sizing: border-box !important;
}

body.location_body .search_input {
    width: 100% !important;
    height: 46px !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: var(--a4d-menu-ink) !important;
    font-size: 16px !important;
    box-shadow: none !important;
}

body.location_body .search_input::placeholder {
    color: #98a2b3 !important;
}

body.location_body .clear_search {
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #475467 !important;
    font-weight: 800 !important;
}

/* Cart button in the search row. */
body.location_body .basket_container {
    min-width: 156px !important;
    min-height: 48px !important;
    padding: 4px 8px 4px 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    border: 1px solid #f1d7c3 !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-shadow: 0 4px 15px rgba(15, 23, 42, 0.05) !important;
    box-sizing: border-box !important;
}

body.location_body #the_basket {
    min-width: 0 !important;
    height: 40px !important;
    padding: 0 5px !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--a4d-menu-ink) !important;
    cursor: pointer !important;
}

body.location_body .basket_image,
body.location_body .basket_image img {
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    object-fit: contain !important;
}

body.location_body .basket_count {
    position: static !important;
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: var(--a4d-menu-orange) !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

body.location_body .a4d_basket_label {
    font-size: 15px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

body.location_body .a4d_basket_label_mobile {
    display: none !important;
}

body.location_body .a4d_basket_total_container {
    display: flex !important;
    align-items: center !important;
}

body.location_body .basket_total {
    min-width: 58px !important;
    padding: 0 2px !important;
    color: var(--a4d-menu-ink) !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    text-align: center !important;
}

/* Offers remain visible but use the same visual language. */
body.location_body #avail-offers-container {
    width: min(1240px, calc(100% - 32px)) !important;
    margin: 0 auto 8px !important;
}

body.location_body .avail-offers-container-location {
    gap: 8px !important;
}

/* Main content layout: sticky categories + menu + sticky basket. */
body.location_body #main_container {
    width: min(1240px, calc(100% - 32px)) !important;
    max-width: 1240px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 0 48px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 350px !important;
    grid-template-areas:
        "categories basket"
        "items basket" !important;
    column-gap: 22px !important;
    row-gap: 16px !important;
    align-items: start !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Sticky horizontal category strip. */
body.location_body #scrolling_cats {
    grid-area: categories !important;
    position: sticky !important;
    top: var(--a4d-menu-header-offset) !important;
    z-index: 950 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 10px 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    overflow: visible !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border-bottom: 1px solid #eef0f3 !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    box-sizing: border-box !important;
}

body.location_body #cat_table {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: smooth !important;
    scrollbar-width: none !important;
    overscroll-behavior-inline: contain !important;
}

body.location_body #cat_table::-webkit-scrollbar {
    display: none !important;
}

body.location_body #cat_table > [id^="category_num_"] {
    width: auto !important;
    min-width: max-content !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.location_body :is(.category_list, .category_list_selected) {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

body.location_body :is(.cat_button_text, .cat_button_text_selected) {
    min-height: 44px !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #e3e7ed !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #344054 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease !important;
}

body.location_body .cat_button_text:hover {
    border-color: #ffc89b !important;
    background: var(--a4d-orange-soft) !important;
    color: var(--a4d-menu-orange-dark) !important;
}

body.location_body .cat_button_text_selected {
    border-color: var(--a4d-menu-orange) !important;
    background: var(--a4d-menu-orange) !important;
    color: #fff !important;
    box-shadow: 0 5px 14px color-mix(in srgb, var(--a4d-orange) 18%, transparent) !important;
}

body.location_body .a4d_all_categories_button_wrap {
    min-width: max-content !important;
    display: flex !important;
    align-items: center !important;
    background: #fff !important;
}

body.location_body .a4d_all_categories_button {
    min-height: 44px !important;
    padding: 10px 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    border: 1px solid #d8dde5 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #1d2939 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.05) !important;
}

body.location_body .a4d_all_categories_button:hover {
    border-color: #ffbd85 !important;
    background: var(--a4d-menu-orange-soft) !important;
    color: var(--a4d-menu-orange-dark) !important;
}

body.location_body .a4d_all_categories_icon {
    font-size: 17px !important;
    line-height: 1 !important;
}

/* Menu area */
body.location_body #items_container {
    grid-area: items !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

body.location_body #scrolling_items,
body.location_body .items {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: visible !important;
}

body.location_body .item_table,
body.location_body .cat_table {
    margin-bottom: 0 !important;
}

body.location_body .items_for_cat {
    width: 100% !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    scroll-margin-top: calc(var(--a4d-menu-header-offset) + 74px) !important;
    box-sizing: border-box !important;
}

body.location_body .items_for_cat > :is([id^="item_header_hidden_"], [id^="item_header_"], [id^="item_cat_desc_row_"]) {
    grid-column: 1 / -1 !important;
}

body.location_body .items_for_cat > div:has(> #current_selected_item) {
    display: none !important;
}

body.location_body .item_cat_header {
    margin: 6px 0 -6px !important;
    padding: 0 !important;
    color: var(--a4d-menu-ink) !important;
    font-size: 27px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    letter-spacing: -0.025em !important;
    text-align: left !important;
}

body.location_body [id^="item_cat_desc_row_"] {
    margin: 0 !important;
    padding: 0 !important;
}

body.location_body .item_cat_header_desc {
    margin: 0 0 3px !important;
    padding: 0 !important;
    color: var(--a4d-menu-muted) !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

/* Text-only menu cards. */
body.location_body .searchable_item {
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

body.location_body .searchable_item > .full_width {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 168px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--a4d-menu-line) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.035) !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease !important;
}

body.location_body .searchable_item > .full_width:hover {
    transform: translateY(-1px) !important;
    border-color: #ffc79a !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.075) !important;
}

body.location_body .searchable_item > .full_width::after {
    content: "+ Add";
    position: absolute !important;
    right: 13px !important;
    bottom: 13px !important;
    min-height: 38px !important;
    padding: 8px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--a4d-menu-orange) !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: var(--a4d-menu-orange-dark) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
}

body.location_body .item_info {
    width: 100% !important;
    min-height: 168px !important;
    padding: 16px 14px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}

body.location_body .item_name {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 6px !important;
    color: var(--a4d-menu-ink) !important;
    font-size: 17px !important;
    line-height: 1.28 !important;
    font-weight: 850 !important;
    text-align: left !important;
}

body.location_body .item_data {
    width: 100% !important;
    min-height: 0 !important;
    margin: 7px 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
}

body.location_body .item_description {
    width: 100% !important;
    min-height: 0 !important;
    max-height: 48px !important;
    margin: 0 !important;
    padding: 0 0 48px !important;
    overflow: hidden !important;
    color: #475467 !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
    text-align: left !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    box-sizing: content-box !important;
}

body.location_body .item_cost {
    position: absolute !important;
    left: 14px !important;
    bottom: 18px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--a4d-menu-ink) !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    text-align: left !important;
}

body.location_body .item_allergen {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    border-radius: 999px !important;
}

body.location_body .item_allergen_char {
    font-size: 12px !important;
}

/* Desktop sticky basket sidebar. */
body.location_body #basket_area_small {
    grid-area: basket !important;
    position: sticky !important;
    top: calc(var(--a4d-menu-header-offset) + 16px) !important;
    z-index: 80 !important;
    width: 350px !important;
    min-width: 350px !important;
    max-width: 350px !important;
    max-height: calc(100vh - var(--a4d-menu-header-offset) - 32px) !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid var(--a4d-menu-line) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: var(--a4d-menu-shadow) !important;
    box-sizing: border-box !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .a4d_basket_heading {
    order: 0 !important;
    min-height: 58px !important;
    padding: 14px 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    border-bottom: 1px solid #eef0f3 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .a4d_basket_heading_text {
    color: var(--a4d-menu-ink) !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
}

body.location_body #basket_area_full .a4d_basket_heading_close {
    position: static !important;
    margin: 0 !important;
}

body.location_body #basket_area_small .allergen_container {
    display: none !important;
}

body.location_body #basket_area_full .allergen_container {
    order: 1 !important;
    min-height: 44px !important;
    padding: 8px 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    border-bottom: 1px solid #eef0f3 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

body.location_body #basket_area_full .basket_allergen_button {
    min-height: 34px !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    border: 1px solid #e0e4ea !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #344054 !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .versionDisplay1 {
    display: none !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .basket-pre-order {
    margin-left: auto !important;
    color: var(--a4d-menu-orange-dark) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .basket_block {
    order: 2 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 16px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_items_container {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_items {
    width: 100% !important;
    margin: 0 !important;
    padding: 2px 0 !important;
    text-align: left !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_items > div:not(:has(.order_item)) {
    display: none !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .no_items_container {
    width: 100% !important;
    padding: 38px 12px !important;
    color: #98a2b3 !important;
    font-size: 14px !important;
    text-align: center !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_item {
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #eef0f3 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_item > .flexdiv {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto 28px !important;
    align-items: center !important;
    gap: 9px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .qnt_change_container {
    width: 42px !important;
    min-width: 42px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .qnt_change_container select {
    width: 42px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 5px !important;
    border: 1px solid #d7dce3 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #344054 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_name {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: var(--a4d-menu-ink) !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    text-align: left !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_name b {
    font-weight: 800 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_cost {
    width: auto !important;
    margin: 0 !important;
    color: var(--a4d-menu-ink) !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_item_delete {
    width: 28px !important;
    min-width: 28px !important;
    margin: 0 !important;
    display: grid !important;
    place-items: center !important;
    cursor: pointer !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_item_delete img {
    width: 18px !important;
    height: 18px !important;
    object-fit: contain !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_container {
    margin-top: 7px !important;
    padding-left: 50px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    color: #667085 !important;
    font-size: 12px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_order_col1,
body.location_body :is(#basket_area_small, #basket_area_full) .extras_container .order_item_delete {
    display: none !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_item_container {
    width: auto !important;
    min-width: 0 !important;
    gap: 5px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_order_cost {
    width: auto !important;
    white-space: nowrap !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .totals_container {
    order: 3 !important;
    position: static !important;
    width: 100% !important;
    margin: auto 0 0 !important;
    padding: 14px 16px 16px !important;
    border-top: 1px solid #e9edf2 !important;
    background: #fff !important;
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.035) !important;
    box-sizing: border-box !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_total_amount {
    width: 100% !important;
    margin: 0 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    text-align: left !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .basket_total_title {
    color: var(--a4d-menu-ink) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .basket_total_val {
    color: var(--a4d-menu-ink) !important;
    font-size: 21px !important;
    font-weight: 900 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_info_container,
body.location_body :is(#basket_area_small, #basket_area_full) .order_buttons,
body.location_body :is(#basket_area_small, #basket_area_full) .order_buttons_container {
    width: 100% !important;
    margin: 0 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_buttons_container {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 10px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_cancel_button,
body.location_body :is(#basket_area_small, #basket_area_full) .order_submit_button {
    width: 100% !important;
    margin: 0 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .action_order_button_cancel,
body.location_body :is(#basket_area_small, #basket_area_full) .action_order_button_submit {
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    border-radius: 11px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .action_order_button_cancel {
    border: 1px solid #d8dde5 !important;
    background: #fff !important;
    color: #344054 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .action_order_button_submit {
    border: 1px solid var(--a4d-menu-orange) !important;
    background: var(--a4d-menu-orange) !important;
    color: #fff !important;
    box-shadow: 0 6px 16px color-mix(in srgb, var(--a4d-orange) 18%, transparent) !important;
}

body.location_body #basket_area_small .order_cancel_button {
    display: none !important;
}

body.location_body #basket_area_small .order_buttons_container {
    grid-template-columns: 1fr !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .avail-offers-container-location,
body.location_body :is(#basket_area_small, #basket_area_full) .basket-offer-nudge {
    margin-top: 10px !important;
}

/* Full basket drawer. */
body.location_body #basket_area_full {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    z-index: 2100 !important;
    width: min(440px, 100%) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 0 !important;
    border-left: 1px solid #e5e9ef !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: -18px 0 48px rgba(15, 23, 42, 0.18) !important;
    transform: translateX(105%) !important;
    transition: transform .22s ease !important;
    box-sizing: border-box !important;
}

body.location_body #basket_area_full.basket_area_show {
    transform: translateX(0) !important;
}

/* All categories dialog / mobile bottom sheet. */
body.location_body.a4d_categories_open {
    overflow: hidden !important;
}

body.location_body .a4d_all_categories_overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 5000 !important;
    padding: 24px !important;
    display: grid !important;
    place-items: center !important;
    background: rgba(15, 23, 42, 0.48) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    box-sizing: border-box !important;
}

body.location_body .a4d_all_categories_overlay[hidden] {
    display: none !important;
}

body.location_body .a4d_all_categories_panel {
    width: min(560px, 100%) !important;
    max-height: min(76vh, 680px) !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 26px 70px rgba(15, 23, 42, 0.22) !important;
}

body.location_body .a4d_all_categories_handle {
    display: none !important;
}

body.location_body .a4d_all_categories_header {
    min-height: 64px !important;
    padding: 14px 16px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    border-bottom: 1px solid #eef0f3 !important;
    box-sizing: border-box !important;
}

body.location_body .a4d_all_categories_title {
    color: var(--a4d-menu-ink) !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

body.location_body .a4d_all_categories_close {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #f2f4f7 !important;
    color: #344054 !important;
    font-size: 26px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

body.location_body .a4d_all_categories_search {
    width: calc(100% - 32px) !important;
    min-height: 46px !important;
    margin: 14px 16px 10px !important;
    padding: 10px 13px !important;
    border: 1px solid #dfe4eb !important;
    border-radius: 11px !important;
    outline: 0 !important;
    background: #f8fafc !important;
    color: var(--a4d-menu-ink) !important;
    font-family: inherit !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
}

body.location_body .a4d_all_categories_search:focus {
    border-color: #ffaf69 !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--a4d-orange) 12%, transparent) !important;
}

body.location_body .a4d_all_categories_list {
    min-height: 0 !important;
    padding: 6px 16px 18px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
}

body.location_body .a4d_all_categories_option {
    min-height: 48px !important;
    padding: 10px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border: 1px solid #e3e7ed !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #344054 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
    text-align: left !important;
    cursor: pointer !important;
}

body.location_body .a4d_all_categories_option:hover {
    border-color: #ffbf89 !important;
    background: var(--a4d-orange-soft) !important;
}

body.location_body .a4d_all_categories_option.is-active {
    border-color: var(--a4d-menu-orange) !important;
    background: var(--a4d-menu-orange-soft) !important;
    color: var(--a4d-menu-orange-dark) !important;
    font-weight: 850 !important;
}

body.location_body .a4d_all_categories_option.is-active::after {
    content: "✓";
    margin-left: auto !important;
    color: var(--a4d-menu-orange) !important;
    font-weight: 900 !important;
}

/* Back-to-top button uses the same brand language. */
body.location_body #go_to_top_button {
    right: 18px !important;
    bottom: 18px !important;
    border: 0 !important;
    border-radius: 13px !important;
    background: var(--a4d-menu-orange) !important;
    box-shadow: 0 8px 22px color-mix(in srgb, var(--a4d-orange) 22%, transparent) !important;
}

/* Tablet: no permanent sidebar; keep cards at two columns. */
@media (max-width: 1050px) {
    body.location_body #main_container {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "categories"
            "items" !important;
    }

    body.location_body #basket_area_small {
        display: none !important;
    }

    body.location_body .items_for_cat {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    body.location_body {
        --a4d-menu-header-offset: var(--header-height-large);
    }
}

@media (max-width: 700px) {
    body.location_body {
        --a4d-menu-header-offset: var(--header-height-medium);
        padding-bottom: 78px !important;
    }

    body.location_body .info_container,
    body.location_body #avail-offers-container,
    body.location_body #main_container {
        width: min(100% - 24px, 680px) !important;
    }

    body.location_body .info_container {
        padding-top: 10px !important;
        padding-bottom: 8px !important;
    }

    body.location_body .search_input_container {
        width: 100% !important;
    }

    /* Turn the existing cart control into the sticky mobile order bar. */
    body.location_body .basket_container {
        position: fixed !important;
        left: 12px !important;
        right: 12px !important;
        bottom: max(12px, env(safe-area-inset-bottom)) !important;
        z-index: 1800 !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 7px 10px !important;
        justify-content: space-between !important;
        border: 1px solid var(--a4d-menu-orange) !important;
        border-radius: 14px !important;
        background: var(--a4d-menu-orange) !important;
        box-shadow: 0 12px 32px rgba(15, 23, 42, 0.22) !important;
    }

    body.location_body #the_basket {
        flex: 1 1 auto !important;
        justify-content: flex-start !important;
        color: #fff !important;
    }

    body.location_body .a4d_basket_label_desktop {
        display: none !important;
    }

    body.location_body .a4d_basket_label_mobile {
        display: inline !important;
        color: #fff !important;
        font-size: 16px !important;
    }

    body.location_body .basket_image img {
        filter: brightness(0) invert(1) !important;
    }

    body.location_body .basket_count {
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        padding: 0 !important;
        background: transparent !important;
        color: #fff !important;
        font-size: 14px !important;
    }

    body.location_body .basket_count::after {
        content: " items";
        font-weight: 700 !important;
    }

    body.location_body .basket_total {
        min-width: 66px !important;
        color: #fff !important;
        font-size: 17px !important;
        text-align: right !important;
    }

    body.location_body #scrolling_cats {
        padding: 8px 0 !important;
        gap: 7px !important;
    }

    body.location_body :is(.cat_button_text, .cat_button_text_selected),
    body.location_body .a4d_all_categories_button {
        min-height: 40px !important;
        padding: 8px 13px !important;
        font-size: 13px !important;
    }

    body.location_body .a4d_all_categories_label {
        font-size: 0 !important;
    }

    body.location_body .a4d_all_categories_label::after {
        content: "All";
        font-size: 13px !important;
    }

    body.location_body .items_for_cat {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-bottom: 24px !important;
        scroll-margin-top: calc(var(--a4d-menu-header-offset) + 68px) !important;
    }

    body.location_body .item_cat_header {
        margin-top: 8px !important;
        font-size: 24px !important;
    }

    body.location_body .item_cat_header_desc {
        font-size: 14px !important;
    }

    body.location_body .searchable_item > .full_width,
    body.location_body .item_info {
        min-height: 130px !important;
    }

    body.location_body .item_info {
        padding: 14px !important;
    }

    body.location_body .item_name {
        font-size: 16px !important;
    }

    body.location_body .item_description {
        max-height: 42px !important;
        padding-bottom: 42px !important;
        font-size: 13px !important;
    }

    body.location_body .item_cost {
        left: 14px !important;
        bottom: 16px !important;
        font-size: 17px !important;
    }

    body.location_body .searchable_item > .full_width::after {
        right: 13px !important;
        bottom: 12px !important;
        min-height: 36px !important;
        padding: 8px 13px !important;
        font-size: 13px !important;
    }

    body.location_body #basket_area_full {
        width: 100% !important;
        border-left: 0 !important;
    }

    body.location_body .a4d_all_categories_overlay {
        padding: 0 !important;
        place-items: end center !important;
    }

    body.location_body .a4d_all_categories_panel {
        width: 100% !important;
        max-height: min(82dvh, 760px) !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        border-radius: 22px 22px 0 0 !important;
        box-shadow: 0 -20px 58px rgba(15, 23, 42, 0.24) !important;
    }

    body.location_body .a4d_all_categories_handle {
        width: 42px !important;
        height: 5px !important;
        margin: 9px auto 0 !important;
        display: block !important;
        border-radius: 999px !important;
        background: #d0d5dd !important;
    }

    body.location_body .a4d_all_categories_header {
        min-height: 58px !important;
        padding-top: 9px !important;
    }

    body.location_body .a4d_all_categories_title {
        font-size: 20px !important;
    }

    body.location_body .a4d_all_categories_list {
        grid-template-columns: 1fr !important;
        padding-bottom: max(22px, env(safe-area-inset-bottom)) !important;
    }
}

@media (max-width: 600px) {
    body.location_body {
        --a4d-menu-header-offset: var(--header-height-small);
    }
}

@media (max-width: 420px) {
    body.location_body .info_container,
    body.location_body #avail-offers-container,
    body.location_body #main_container {
        width: calc(100% - 18px) !important;
    }

    body.location_body #scrolling_cats {
        top: var(--a4d-menu-header-offset) !important;
    }

    body.location_body :is(.cat_button_text, .cat_button_text_selected) {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body.location_body .a4d_all_categories_button {
        padding-left: 11px !important;
        padding-right: 11px !important;
    }

    body.location_body .a4d_all_categories_icon {
        font-size: 15px !important;
    }
}

@media (max-width: 320px) {
    body.location_body {
        --a4d-menu-header-offset: var(--header-height-x-small);
    }
}

/* ======================================================================
   ASK4DISH_COMPACT_MENU_BUILD: 20260906-compact-v2
   Final ordering-page polish requested after mobile review.
   - tighter menu spacing
   - compact offer badges
   - fixed sticky category row + All Categories control
   - redesigned extras selector
   - text Ask4Dish brand on small screens
   Checkout flow remains untouched.
   ====================================================================== */

/* ---------- Compact offer badges ---------- */
body.location_body #avail-offers-container {
    width: min(1240px, calc(100% - 32px)) !important;
    margin: 0 auto 4px !important;
    min-height: 0 !important;
}

body.location_body #avail-offers-container .aob-offer-list {
    width: 100% !important;
    margin: 0 !important;
    padding: 2px 0 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    box-sizing: border-box !important;
}

body.location_body #avail-offers-container .aob-offer {
    width: auto !important;
    max-width: none !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 2px 7px 2px 3px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border: 1px solid #f6d9dc !important;
    border-radius: 999px !important;
    background: #fff8f8 !important;
    box-sizing: border-box !important;
}

body.location_body #avail-offers-container .aob-offer__badge {
    width: auto !important;
    min-width: 38px !important;
    height: 26px !important;
    padding: 0 7px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

body.location_body #avail-offers-container .aob-offer__badge-percent {
    font-size: 13px !important;
}

body.location_body #avail-offers-container .aob-offer__text {
    line-height: 1.05 !important;
}

body.location_body #avail-offers-container .aob-offer__headline {
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

body.location_body #avail-offers-container .aob-offer__sub {
    display: none !important;
}

/* ---------- Search area: remove dead space ---------- */
body.location_body .info_container {
    padding-top: 8px !important;
    padding-bottom: 5px !important;
}

body.location_body .search_container {
    min-height: 44px !important;
}

body.location_body .search_input {
    height: 42px !important;
}

/* ---------- Sticky categories: robust no-overlap layout ---------- */
body.location_body #scrolling_cats {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 7px !important;
    min-width: 0 !important;
    padding: 7px 0 !important;
    overflow: hidden !important;
}

body.location_body #cat_table {
    width: auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 6px !important;
}

body.location_body .a4d_all_categories_button_wrap {
    position: relative !important;
    z-index: 4 !important;
    flex: 0 0 auto !important;
    min-width: max-content !important;
    padding-left: 2px !important;
    box-shadow: -10px 0 15px rgba(255,255,255,.96) !important;
}

body.location_body :is(.cat_button_text, .cat_button_text_selected),
body.location_body .a4d_all_categories_button {
    min-height: 38px !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
}

body.location_body .a4d_all_categories_button {
    gap: 6px !important;
}

/* ---------- Menu sections/cards: denser and easier to scan ---------- */
body.location_body .items_for_cat {
    margin-bottom: 20px !important;
    gap: 10px !important;
}

body.location_body .item_cat_header {
    margin: 4px 0 -4px !important;
    font-size: 24px !important;
}

body.location_body .item_cat_header_desc {
    margin-bottom: 1px !important;
    font-size: 14px !important;
}

body.location_body .searchable_item > .full_width,
body.location_body .item_info {
    min-height: 142px !important;
}

body.location_body .item_info {
    padding: 13px 13px 12px !important;
}

body.location_body .item_name {
    font-size: 16px !important;
    line-height: 1.25 !important;
}

body.location_body .item_data {
    margin-top: 5px !important;
}

body.location_body .item_description {
    max-height: 40px !important;
    padding-bottom: 42px !important;
    font-size: 13px !important;
    line-height: 1.34 !important;
}

body.location_body .item_cost {
    left: 13px !important;
    bottom: 15px !important;
    font-size: 17px !important;
}

body.location_body .searchable_item > .full_width::after {
    right: 11px !important;
    bottom: 10px !important;
    min-height: 34px !important;
    padding: 7px 11px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
}

/* ======================================================================
   Extras selector
   ====================================================================== */
body.location_body [id^="itemextras_"].modal {
    transform: none !important;
    -webkit-transform: none !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 18px !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: auto !important;
    background: rgba(15, 23, 42, 0.52) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"].modal[style*="display: block"] {
    display: flex !important;
}

body.location_body [id^="currentextras_"] {
    width: min(500px, 100%) !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.location_body [id^="currentextras_"] > table {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
}

body.location_body [id^="currentextras_"] > table > tbody > tr > .itemextras_order_width {
    display: none !important;
}

body.location_body [id^="currentextras_"] > table > tbody > tr > td:not(.itemextras_order_width) {
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    display: block !important;
}

body.location_body [id^="itemextras_"] .modal-content {
    position: relative !important;
    width: 100% !important;
    max-width: 500px !important;
    max-height: min(84dvh, 720px) !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.26) !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .modal-header {
    width: 100% !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-bottom: 1px solid #eaecf0 !important;
    background: #fff !important;
    table-layout: fixed !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .modal-header td {
    height: 60px !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

body.location_body [id^="itemextras_"] .modal-header td:first-child {
    width: auto !important;
}

body.location_body [id^="itemextras_"] .modal-header td:last-child {
    width: 42px !important;
    text-align: right !important;
}

body.location_body [id^="itemextras_"] .modal_header {
    color: #101828 !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    text-align: left !important;
}

body.location_body [id^="itemextras_"] .modal-body {
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .modal-body > .full_width {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.location_body [id^="itemextras_"] .a4d_extras_item_summary {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 16px 3px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 12px !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_item_title {
    width: auto !important;
    margin: 0 !important;
    color: #101828 !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
    text-align: left !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_cost {
    width: auto !important;
    margin: 0 !important;
    color: #101828 !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    text-align: right !important;
}

body.location_body [id^="itemextras_"] .a4d_extras_item_description {
    margin: 0 !important;
    padding: 0 16px 13px !important;
    color: #667085 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

body.location_body [id^="itemextras_"] .itemextras_hr {
    margin: 0 !important;
    border: 0 !important;
    border-top: 1px solid #eaecf0 !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_question_container {
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 16px 0 !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .a4d_extras_question_header {
    width: 100% !important;
    margin: 0 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_question {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #101828 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
    text-align: left !important;
}

body.location_body [id^="itemextras_"] .a4d_extras_question_requirement {
    flex: 0 0 auto !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    background: var(--a4d-orange-soft) !important;
    color: var(--a4d-orange-deep) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_filter {
    width: 100% !important;
    height: 42px !important;
    margin: 0 0 9px !important;
    padding: 9px 12px !important;
    border: 1px solid #dfe4eb !important;
    border-radius: 11px !important;
    outline: 0 !important;
    background: #f8fafc !important;
    color: #101828 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_filter[hidden] {
    display: none !important;
}

body.location_body [id^="itemextras_"] .itemextras_answers_container {
    width: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border-top: 1px solid #eef1f4 !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_table {
    position: relative !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #eef1f4 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_button {
    position: relative !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 10px 8px 10px 36px !important;
    display: block !important;
    border: 0 !important;
    background: transparent !important;
    color: #101828 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    text-align: left !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_button::before {
    content: "";
    position: absolute !important;
    left: 4px !important;
    top: 50% !important;
    width: 18px !important;
    height: 18px !important;
    transform: translateY(-50%) !important;
    border: 1.5px solid #aeb8c6 !important;
    border-radius: 5px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_button:has(.itemextras_qnts:not(:empty))::before {
    content: "✓" !important;
    display: grid !important;
    place-items: center !important;
    border-color: var(--a4d-menu-orange) !important;
    background: var(--a4d-menu-orange) !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

body.location_body [id^="itemextras_"] .itemextras_answers {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    color: #101828 !important;
}

body.location_body [id^="itemextras_"] .itemextras_qnts {
    display: none !important;
}

body.location_body [id^="itemextras_"] .answer_names {
    width: auto !important;
    min-width: 0 !important;
    color: #101828 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    text-align: left !important;
}

body.location_body [id^="itemextras_"] .itemextras_amount {
    width: auto !important;
    min-width: max-content !important;
    margin: 0 !important;
    color: #344054 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    text-align: right !important;
}

body.location_body [id^="itemextras_"] .itemextras_dels {
    position: absolute !important;
    inset: 0 !important;
    width: 30px !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.location_body [id^="itemextras_"] .a4d_extras_navigation {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 5 !important;
    width: calc(100% + 32px) !important;
    margin: 12px -16px 0 !important;
    padding: 10px 16px max(12px, env(safe-area-inset-bottom)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    border-top: 1px solid #eaecf0 !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 -8px 22px rgba(15,23,42,.05) !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .a4d_extras_navigation > .half_width {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.location_body [id^="itemextras_"] .a4d_extras_navigation_final > .half_width:first-child:empty {
    display: none !important;
}

body.location_body [id^="itemextras_"] .a4d_extras_navigation_final > .half_width:last-child {
    width: 100% !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_add_order,
body.location_body [id^="itemextras_"] .itemextras_order_total {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_total {
    text-align: right !important;
    white-space: nowrap !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_navigate {
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #dce2ea !important;
    border-radius: 12px !important;
    background: #fff !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_navigate img {
    width: 20px !important;
    height: 20px !important;
    object-fit: contain !important;
}

/* ---------- Mobile header brand + tighter mobile menu ---------- */
body.location_body .a4d_mobile_brand_text {
    display: none;
}

@media (max-width: 700px) {
    body.location_body {
        --a4d-menu-header-offset: 68px !important;
        padding-bottom: 72px !important;
    }

    body.location_body .the_header {
        min-height: 68px !important;
        height: 68px !important;
        max-height: 68px !important;
    }

    body.location_body .the-header-container {
        min-height: 68px !important;
    }

    body.location_body .hdr_adorders_logo_image,
    body.location_body .hdr_adorders_logo_h2 {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.location_body .a4d_mobile_brand_text {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        z-index: 20 !important;
        width: max-content !important;
        max-width: 58vw !important;
        min-height: 44px !important;
        padding: 4px 11px 3px !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
        transform: translate(-50%, -50%) !important;
        border-radius: 11px !important;
        background: rgba(255,255,255,.96) !important;
        box-shadow: 0 4px 14px rgba(102,39,0,.12) !important;
        font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
        font-size: 22px !important;
        line-height: 1 !important;
        font-weight: 900 !important;
        letter-spacing: -0.04em !important;
        box-sizing: border-box !important;
    }

    body.location_body .a4d_mobile_brand_ask,
    body.location_body .a4d_mobile_brand_dish {
        color: var(--a4d-orange) !important;
    }

    body.location_body .a4d_mobile_brand_four {
        color: #111933 !important;
    }

    body.location_body .a4d_mobile_brand_location {
        flex: 1 0 100% !important;
        margin-top: 2px !important;
        overflow: hidden !important;
        color: #344054 !important;
        font-size: 9px !important;
        line-height: 1.1 !important;
        font-weight: 750 !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.location_body .info_container,
    body.location_body #avail-offers-container,
    body.location_body #main_container {
        width: calc(100% - 16px) !important;
    }

    body.location_body .info_container {
        padding: 7px 0 4px !important;
    }

    body.location_body .search_container {
        min-height: 40px !important;
        padding: 0 12px !important;
    }

    body.location_body .search_input {
        height: 38px !important;
        font-size: 14px !important;
    }

    body.location_body #avail-offers-container {
        margin-bottom: 2px !important;
    }

    body.location_body #avail-offers-container .aob-offer-list {
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
        padding: 1px 0 4px !important;
    }

    body.location_body #avail-offers-container .aob-offer-list::-webkit-scrollbar {
        display: none !important;
    }

    body.location_body #avail-offers-container .aob-offer {
        flex: 0 0 auto !important;
        min-height: 28px !important;
        padding-right: 6px !important;
    }

    body.location_body #avail-offers-container .aob-offer__badge {
        height: 24px !important;
        min-width: 36px !important;
        padding: 0 6px !important;
        font-size: 11px !important;
    }

    body.location_body #avail-offers-container .aob-offer__headline {
        font-size: 10px !important;
    }

    body.location_body #scrolling_cats {
        top: var(--a4d-menu-header-offset) !important;
        padding: 6px 0 !important;
        gap: 5px !important;
    }

    body.location_body #cat_table {
        gap: 5px !important;
    }

    body.location_body :is(.cat_button_text, .cat_button_text_selected),
    body.location_body .a4d_all_categories_button {
        min-height: 36px !important;
        padding: 6px 10px !important;
        font-size: 12px !important;
    }

    body.location_body .a4d_all_categories_button_wrap {
        padding-left: 0 !important;
        box-shadow: -12px 0 18px #fff !important;
    }

    body.location_body .items_for_cat {
        gap: 7px !important;
        margin-bottom: 15px !important;
        scroll-margin-top: calc(var(--a4d-menu-header-offset) + 55px) !important;
    }

    body.location_body .item_cat_header {
        margin-top: 4px !important;
        margin-bottom: -3px !important;
        font-size: 21px !important;
    }

    body.location_body .item_cat_header_desc {
        margin-bottom: 0 !important;
        font-size: 12.5px !important;
        line-height: 1.3 !important;
    }

    body.location_body .searchable_item > .full_width,
    body.location_body .item_info {
        min-height: 105px !important;
    }

    body.location_body .item_info {
        padding: 11px 11px 10px !important;
    }

    body.location_body .item_name {
        font-size: 14px !important;
        line-height: 1.2 !important;
    }

    body.location_body .item_data {
        margin-top: 4px !important;
    }

    body.location_body .item_description {
        max-height: 33px !important;
        padding-bottom: 36px !important;
        font-size: 11.5px !important;
        line-height: 1.35 !important;
        -webkit-line-clamp: 2 !important;
    }

    body.location_body .item_cost {
        left: 11px !important;
        bottom: 12px !important;
        font-size: 15px !important;
    }

    body.location_body .searchable_item > .full_width::after {
        right: 9px !important;
        bottom: 8px !important;
        min-height: 31px !important;
        padding: 6px 9px !important;
        font-size: 11.5px !important;
    }

    body.location_body .basket_container {
        left: 8px !important;
        right: 8px !important;
        bottom: max(8px, env(safe-area-inset-bottom)) !important;
        min-height: 54px !important;
        padding: 5px 9px !important;
        border-radius: 13px !important;
    }

    body.location_body .a4d_basket_label_mobile {
        font-size: 15px !important;
    }

    body.location_body .basket_total {
        font-size: 16px !important;
    }

    /* Extras becomes a bottom sheet on phones. */
    body.location_body [id^="itemextras_"].modal {
        padding: 0 !important;
        align-items: flex-end !important;
        justify-content: center !important;
    }

    body.location_body [id^="currentextras_"] {
        width: 100% !important;
    }

    body.location_body [id^="itemextras_"] .modal-content {
        width: 100% !important;
        max-width: none !important;
        max-height: 88dvh !important;
        margin: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        border-radius: 20px 20px 0 0 !important;
        box-shadow: 0 -22px 60px rgba(15,23,42,.28) !important;
    }

    body.location_body [id^="itemextras_"] .modal-header,
    body.location_body [id^="itemextras_"] .modal-header td {
        min-height: 56px !important;
        height: 56px !important;
    }

    body.location_body [id^="itemextras_"] .modal_header {
        font-size: 18px !important;
    }

    body.location_body [id^="itemextras_"] .a4d_extras_item_summary {
        padding: 12px 14px 2px !important;
    }

    body.location_body [id^="itemextras_"] .a4d_extras_item_description {
        padding: 0 14px 11px !important;
    }

    body.location_body [id^="itemextras_"] .itemextras_order_question_container {
        padding: 12px 14px 0 !important;
    }

    body.location_body [id^="itemextras_"] .a4d_extras_navigation {
        width: calc(100% + 28px) !important;
        margin-left: -14px !important;
        margin-right: -14px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

@media (max-width: 390px) {
    body.location_body .a4d_mobile_brand_text {
        max-width: 55vw !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        font-size: 20px !important;
    }

    body.location_body .a4d_mobile_brand_location {
        font-size: 8px !important;
    }

    body.location_body #avail-offers-container .aob-offer__headline {
        font-size: 9px !important;
    }

    body.location_body :is(.cat_button_text, .cat_button_text_selected),
    body.location_body .a4d_all_categories_button {
        padding-left: 9px !important;
        padding-right: 9px !important;
    }
}

/* Preserve the existing multi-extra decrement/remove control, but present it
   as a compact minus button instead of the legacy trash icon. */
body.location_body [id^="itemextras_"] .itemextras_dels {
    position: static !important;
    inset: auto !important;
    width: 38px !important;
    min-width: 38px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 4px 0 0 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    align-self: center !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .itemextras_dels .order_button {
    position: relative !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #ffb77b !important;
    border-radius: 9px !important;
    background: var(--a4d-orange-soft) !important;
    color: var(--a4d-orange-deep) !important;
    cursor: pointer !important;
}

body.location_body [id^="itemextras_"] .itemextras_dels .order_button::before {
    content: "−" !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

body.location_body [id^="itemextras_"] .itemextras_dels .order_button_img {
    display: none !important;
}

/* Clean legacy section/card paint that was still visible underneath the new UI. */
body.location_body .item_cat_header {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
}

body.location_body [id^="item_cat_desc_row_"],
body.location_body .item_cat_header_desc {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
}

body.location_body .item_info {
    border: 0 !important;
    border-bottom: 0 !important;
}

@media (max-width: 700px) {
    body.location_body #cat_table {
        -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 18px), transparent 100%) !important;
        mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 18px), transparent 100%) !important;
    }

    body.location_body #cat_table > [id^="category_num_"] {
        scroll-snap-align: start !important;
    }
}

@media (max-width: 700px) {
    body.location_body .a4d_all_categories_search {
        margin: 10px 14px 6px !important;
        width: calc(100% - 28px) !important;
        min-height: 42px !important;
    }

    body.location_body .a4d_all_categories_list {
        padding: 0 14px max(18px, env(safe-area-inset-bottom)) !important;
        gap: 0 !important;
    }

    body.location_body .a4d_all_categories_option {
        min-height: 44px !important;
        padding: 9px 6px !important;
        border: 0 !important;
        border-bottom: 1px solid #edf0f3 !important;
        border-radius: 0 !important;
        background: #fff !important;
        font-size: 14px !important;
    }

    body.location_body .a4d_all_categories_option:not(.is-active)::after {
        content: "›" !important;
        margin-left: auto !important;
        color: #667085 !important;
        font-size: 22px !important;
        line-height: 1 !important;
        font-weight: 500 !important;
    }

    body.location_body .a4d_all_categories_option.is-active {
        background: var(--a4d-orange-soft) !important;
        color: var(--a4d-orange-deep) !important;
    }
}


/* =====================================================================
   ASK4DISH_STICKY_CATEGORY_FIX: 20260906-stickyspy-v3
   Keep the real page header + category row together, let categories span
   the full desktop content width, and keep the basket below the sticky row.
   ===================================================================== */
body.location_body {
    --a4d-category-sticky-height: 56px;
}

/* The live ordering DOM uses #the_header directly, so make that element sticky. */
body.location_body #the_header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1300 !important;
    width: 100% !important;
}

/* Categories belong above both menu and basket, not squeezed beside the basket. */
body.location_body #main_container {
    grid-template-areas:
        "categories categories"
        "items basket" !important;
    row-gap: 14px !important;
}

body.location_body #scrolling_cats {
    top: var(--a4d-menu-header-offset) !important;
    z-index: 1250 !important;
    min-height: var(--a4d-category-sticky-height) !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid #e7eaf0 !important;
    box-shadow: 0 7px 16px rgba(15, 23, 42, 0.055) !important;
}

body.location_body #cat_table {
    padding-right: 2px !important;
}

/* Strong, unmistakable selected state. */
body.location_body #cat_table .cat_button_text_selected,
body.location_body #cat_table [aria-current="true"] {
    border-color: var(--a4d-menu-orange) !important;
    background: var(--a4d-menu-orange) !important;
    color: #fff !important;
    box-shadow: 0 5px 14px color-mix(in srgb, var(--a4d-orange) 20%, transparent) !important;
}

body.location_body .a4d_all_categories_button_wrap {
    align-self: stretch !important;
    display: flex !important;
    align-items: center !important;
    padding-left: 8px !important;
    background: #fff !important;
    box-shadow: -14px 0 18px rgba(255,255,255,.98) !important;
}

body.location_body #basket_area_small {
    top: calc(var(--a4d-menu-header-offset) + var(--a4d-category-sticky-height) + 14px) !important;
    max-height: calc(100vh - var(--a4d-menu-header-offset) - var(--a4d-category-sticky-height) - 28px) !important;
}

body.location_body .items_for_cat {
    scroll-margin-top: calc(var(--a4d-menu-header-offset) + var(--a4d-category-sticky-height) + 12px) !important;
}

@media (max-width: 700px) {
    body.location_body {
        --a4d-category-sticky-height: 50px;
    }

    body.location_body #main_container {
        grid-template-areas:
            "categories"
            "items" !important;
    }

    body.location_body #scrolling_cats {
        min-height: var(--a4d-category-sticky-height) !important;
        padding: 6px 0 !important;
        box-shadow: 0 6px 14px rgba(15, 23, 42, 0.055) !important;
    }

    body.location_body .a4d_all_categories_button_wrap {
        padding-left: 5px !important;
        box-shadow: -12px 0 16px rgba(255,255,255,.98) !important;
    }

    body.location_body .items_for_cat {
        scroll-margin-top: calc(var(--a4d-menu-header-offset) + var(--a4d-category-sticky-height) + 8px) !important;
    }
}


/* ======================================================================
   Ask4Dish extras modal hardening v4
   - centred on desktop AND mobile
   - force legacy flex/table rules into a single readable vertical flow
   - no sticky footer overlap
   ====================================================================== */
body.location_body [id^="itemextras_"].modal {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 16px !important;
    transform: none !important;
    -webkit-transform: none !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"].modal[style*="display: block"] {
    display: flex !important;
}

body.location_body [id^="currentextras_"] {
    width: min(480px, 100%) !important;
    max-width: 480px !important;
    height: auto !important;
    max-height: calc(100dvh - 32px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
}

body.location_body [id^="currentextras_"] > table,
body.location_body [id^="currentextras_"] > table > tbody,
body.location_body [id^="currentextras_"] > table > tbody > tr,
body.location_body [id^="currentextras_"] > table > tbody > tr > td:not(.itemextras_order_width) {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .modal-content {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 480px !important;
    height: auto !important;
    max-height: calc(100dvh - 32px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 24px 70px rgba(15,23,42,.28) !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .modal-body {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 92px) !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    overscroll-behavior: contain !important;
}

body.location_body [id^="itemextras_"] .modal-body > .full_width,
body.location_body [id^="itemextras_"] .itemextras_order_question_container,
body.location_body [id^="itemextras_"] .a4d_extras_question_header,
body.location_body [id^="itemextras_"] .itemextras_answers_container {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .a4d_extras_question_header {
    position: relative !important;
    margin: 0 0 9px !important;
    padding-right: 78px !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_question {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
}

body.location_body [id^="itemextras_"] .a4d_extras_question_requirement {
    position: absolute !important;
    top: -2px !important;
    right: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.location_body [id^="itemextras_"] .itemextras_answers_container {
    border-top: 1px solid #eef1f4 !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: stretch !important;
    gap: 0 !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 10px 10px 10px 36px !important;
    display: block !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .itemextras_answers {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .answer_names {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    flex: 1 1 auto !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-align: left !important;
}

body.location_body [id^="itemextras_"] .itemextras_amount {
    width: auto !important;
    min-width: max-content !important;
    max-width: max-content !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    white-space: nowrap !important;
    text-align: right !important;
}

body.location_body [id^="itemextras_"] .itemextras_dels {
    position: static !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 5px 0 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

/* Do not let the Add/Next footer float on top of option rows. */
body.location_body [id^="itemextras_"] .a4d_extras_navigation {
    position: static !important;
    inset: auto !important;
    width: calc(100% + 32px) !important;
    margin: 12px -16px 0 !important;
    padding: 10px 16px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    background: #fff !important;
    border-top: 1px solid #eaecf0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .a4d_extras_navigation_final > .half_width:last-child {
    width: 100% !important;
    max-width: 100% !important;
}

@media (max-width:700px) {
    body.location_body [id^="itemextras_"].modal {
        padding: 12px !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.location_body [id^="currentextras_"] {
        width: min(410px, 100%) !important;
        max-width: 410px !important;
        max-height: calc(100dvh - 24px) !important;
        margin: auto !important;
    }

    body.location_body [id^="itemextras_"] .modal-content {
        width: 100% !important;
        max-width: 410px !important;
        max-height: calc(100dvh - 24px) !important;
        margin: 0 auto !important;
        border: 1px solid #e4e7ec !important;
        border-radius: 18px !important;
        box-shadow: 0 24px 64px rgba(15,23,42,.30) !important;
    }

    body.location_body [id^="itemextras_"] .modal-body {
        max-height: calc(100dvh - 82px) !important;
    }

    body.location_body [id^="itemextras_"] .modal-header,
    body.location_body [id^="itemextras_"] .modal-header td {
        min-height: 54px !important;
        height: 54px !important;
    }

    body.location_body [id^="itemextras_"] .itemextras_order_question_container {
        padding: 12px 14px 0 !important;
    }

    body.location_body [id^="itemextras_"] .a4d_extras_navigation {
        width: calc(100% + 28px) !important;
        margin: 12px -14px 0 !important;
        padding: 10px 14px max(12px, env(safe-area-inset-bottom)) !important;
    }

    body.location_body [id^="itemextras_"] .itemextras_order_table,
    body.location_body [id^="itemextras_"] .itemextras_order_button {
        min-height: 52px !important;
    }

    body.location_body [id^="itemextras_"] .itemextras_dels {
        height: 52px !important;
    }
}

@media (max-width:380px) {
    body.location_body [id^="itemextras_"].modal {
        padding: 8px !important;
    }
    body.location_body [id^="itemextras_"] .modal-content {
        border-radius: 16px !important;
    }
    body.location_body [id^="itemextras_"] .itemextras_order_button {
        padding-left: 34px !important;
        padding-right: 8px !important;
    }
    body.location_body [id^="itemextras_"] .itemextras_answers {
        gap: 8px !important;
    }
}


/* v4: preserve the application's own show/hide state for multi-select decrement controls. */
body.location_body [id^="itemextras_"] .itemextras_dels {
    display: none !important;
}
body.location_body [id^="itemextras_"] .itemextras_dels[style*="display: block"] {
    display: flex !important;
}
body.location_body [id^="itemextras_"] .itemextras_dels[style*="display: none"] {
    display: none !important;
}


/* =====================================================================
   ASK4DISH BASKET + EXTRAS + MOBILE HEADER V5
   Cache revision: 20260906-basketedit-v5
   Scope: ordering page only. Existing checkout/payment logic untouched.
   ===================================================================== */
body.location_body {
    --a4d-v5-orange: var(--a4d-orange);
    --a4d-v5-orange-dark: var(--a4d-orange-deep);
    --a4d-v5-navy: #12182b;
    --a4d-v5-text: #344054;
    --a4d-v5-muted: #667085;
    --a4d-v5-line: #e7eaf0;
    --a4d-v5-soft: #f7f8fa;
    --a4d-v5-bottom-bar: 64px;
}

/* ---------- Basket rows: readable extras + clear edit affordance ---------- */
body.location_body :is(#basket_area_small, #basket_area_full) .a4d_order_item_wrap {
    width: 100% !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_item.a4d_order_item_editable {
    cursor: pointer !important;
    transition: background-color .15s ease !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_item.a4d_order_item_editable:hover {
    background: var(--a4d-orange-soft) !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_container {
    min-height: 24px !important;
    margin: 0 !important;
    padding: 5px 28px 0 51px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: baseline !important;
    gap: 10px !important;
    border: 0 !important;
    color: var(--a4d-v5-muted) !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_item_container {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: baseline !important;
    gap: 6px !important;
    min-width: 0 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_order_qnt {
    width: auto !important;
    min-width: 18px !important;
    color: #98a2b3 !important;
    font-weight: 700 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_order_name {
    width: auto !important;
    min-width: 0 !important;
    color: #667085 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_order_cost {
    color: #667085 !important;
    font-weight: 700 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .a4d_basket_edit_hint {
    margin: 7px 28px 0 51px !important;
    padding: 7px 9px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    border-radius: 9px !important;
    background: var(--a4d-orange-soft) !important;
    color: var(--a4d-v5-orange-dark) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .a4d_basket_edit_hint span {
    font-size: 18px !important;
    line-height: .8 !important;
}

/* ---------- Extras: selected state and count badge ---------- */
body.location_body [id^="itemextras_"] .a4d_extras_question_requirement {
    min-width: max-content !important;
    padding: 5px 8px !important;
    border: 1px solid #fed7aa !important;
    border-radius: 999px !important;
    background: var(--a4d-orange-soft) !important;
    color: #c2410c !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body.location_body [id^="itemextras_"] .a4d_extras_question_requirement.a4d_selection_complete {
    border-color: #abefc6 !important;
    background: #ecfdf3 !important;
    color: #067647 !important;
}

body.location_body [id^="itemextras_"] .a4d_extras_question_requirement.a4d_selection_partial {
    border-color: #fed7aa !important;
    background: var(--a4d-orange-soft) !important;
    color: #c2410c !important;
}

body.location_body [id^="itemextras_"] .a4d_extras_question_requirement.a4d_selection_required {
    border-color: #fecaca !important;
    background: #fff1f2 !important;
    color: #b42318 !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_table {
    border-bottom: 1px solid #eef1f4 !important;
    background: #fff !important;
    transition: background-color .14s ease !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_table.a4d_selected_extra {
    background: var(--a4d-orange-soft) !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_button {
    position: relative !important;
    padding-left: 44px !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_button::before {
    content: "" !important;
    position: absolute !important;
    left: 11px !important;
    top: 50% !important;
    width: 20px !important;
    height: 20px !important;
    transform: translateY(-50%) !important;
    display: grid !important;
    place-items: center !important;
    border: 1.5px solid #aeb7c3 !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_table.a4d_selected_extra .itemextras_order_button::before {
    content: "✓" !important;
    border-color: var(--a4d-v5-orange) !important;
    background: var(--a4d-v5-orange) !important;
}

body.location_body [id^="itemextras_"] .itemextras_qnts {
    display: none !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_table[data-multiple-answers="1"] .itemextras_qnts,
body.location_body [id^="itemextras_"] .itemextras_order_table[data-multiple-answers="1"].a4d_selected_extra .itemextras_qnts {
    display: none !important;
}

body.location_body [id^="itemextras_"] .itemextras_dels {
    width: 34px !important;
    min-width: 34px !important;
    align-items: center !important;
    justify-content: center !important;
}

body.location_body [id^="itemextras_"] .itemextras_dels .order_button {
    width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    border: 1px solid #ffd1b2 !important;
    border-radius: 8px !important;
    background: var(--a4d-orange-soft) !important;
}

body.location_body [id^="itemextras_"] .itemextras_dels .order_button_img {
    width: 15px !important;
    height: 15px !important;
    object-fit: contain !important;
}

body.location_body [id^="itemextras_"] .a4d_editing_item .modal_header,
body.location_body [id^="itemextras_"].a4d_editing_item .modal_header {
    color: var(--a4d-v5-navy) !important;
}

/* ---------- Mobile header: centered text brand + proper account button ---------- */
@media (max-width: 700px) {
    body.location_body {
        --a4d-menu-header-offset: 76px !important;
        padding-bottom: calc(var(--a4d-v5-bottom-bar) + 28px + env(safe-area-inset-bottom)) !important;
    }

    body.location_body #the_header,
    body.location_body .the_header,
    body.location_body .the-header-container {
        min-height: 76px !important;
        height: 76px !important;
        max-height: 76px !important;
        background: #fff !important;
        border: 0 !important;
        box-shadow: 0 1px 0 rgba(15,23,42,.08), 0 6px 18px rgba(15,23,42,.04) !important;
    }

    body.location_body .the_header_background,
    body.location_body .header_background {
        background: #fff !important;
    }

    body.location_body .the_header_background img,
    body.location_body .header_background_img,
    body.location_body .hdr_adorders_logo_h2 {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    /* Keep the real Ask4Dish logo as the canonical mobile home control.
       Make the header background non-positioning so the logo is centred
       against the whole 76px header rather than the legacy lower strip. */
    body.location_body .header_background {
        position: static !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
    }

    body.location_body .hdr_adorders_logo_image {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        width: min(108px, 31vw) !important;
        min-width: 0 !important;
        max-width: 108px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 48px !important;
        margin: 0 !important;
        object-fit: contain !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translate(-50%, -50%) !important;
        pointer-events: auto !important;
        touch-action: manipulation !important;
        z-index: 25 !important;
    }

    body.location_body .hdr_adorders_logo_image[onclick] {
        cursor: pointer !important;
    }

    body.location_body .a4d_mobile_brand_text {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        width: min(220px, 58vw) !important;
        min-height: 0 !important;
        max-width: 58vw !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: translate(-50%, -50%) !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: baseline !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
        font-size: 27px !important;
        line-height: .98 !important;
        font-weight: 950 !important;
        letter-spacing: -0.055em !important;
        z-index: 25 !important;
    }

    body.location_body .a4d_mobile_brand_ask,
    body.location_body .a4d_mobile_brand_dish {
        color: var(--a4d-orange) !important;
    }

    body.location_body .a4d_mobile_brand_four {
        color: #12182b !important;
    }

    body.location_body .a4d_mobile_brand_location {
        flex: 1 0 100% !important;
        margin-top: 5px !important;
        overflow: hidden !important;
        color: #344054 !important;
        font-size: 10px !important;
        line-height: 1.05 !important;
        font-weight: 750 !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.location_body .customer_login_container {
        position: absolute !important;
        top: 50% !important;
        right: 14px !important;
        left: auto !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: translateY(-50%) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: var(--a4d-v5-orange) !important;
        color: #fff !important;
        box-shadow: 0 6px 16px color-mix(in srgb, var(--a4d-orange) 22%, transparent) !important;
        z-index: 30 !important;
    }

    body.location_body .customer_login_container > span,
    body.location_body .customer_login_container .header-account-label {
        display: none !important;
    }

    body.location_body .customer_login_container :is(a, button, div) {
        margin: 0 !important;
    }

    body.location_body .customer_login_container img {
        width: 23px !important;
        min-width: 23px !important;
        max-width: 23px !important;
        height: 23px !important;
        min-height: 23px !important;
        max-height: 23px !important;
        margin: 0 auto !important;
        object-fit: contain !important;
        filter: brightness(0) invert(1) !important;
    }

    /* Basket/order bar */
    body.location_body .basket_container {
        left: 12px !important;
        right: 12px !important;
        bottom: max(10px, env(safe-area-inset-bottom)) !important;
        min-height: var(--a4d-v5-bottom-bar) !important;
        height: var(--a4d-v5-bottom-bar) !important;
        padding: 8px 14px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 12px !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 18px !important;
        background: linear-gradient(100deg, var(--a4d-orange) 0%, var(--a4d-orange) 100%) !important;
        box-shadow: 0 12px 30px color-mix(in srgb, var(--a4d-orange) 28%, transparent), 0 4px 12px rgba(15,23,42,.12) !important;
        box-sizing: border-box !important;
    }

    body.location_body #the_basket {
        min-width: 0 !important;
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        border: 0 !important;
        background: transparent !important;
        color: #fff !important;
    }

    body.location_body #the_basket .basket_image img {
        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;
        height: 24px !important;
        min-height: 24px !important;
        max-height: 24px !important;
        filter: brightness(0) invert(1) !important;
    }

    body.location_body .a4d_basket_label_mobile {
        display: inline !important;
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 850 !important;
    }

    body.location_body .basket_count {
        position: static !important;
        width: 24px !important;
        min-width: 24px !important;
        height: 24px !important;
        padding: 0 !important;
        display: inline-grid !important;
        place-items: center !important;
        border-radius: 50% !important;
        background: #bf1722 !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 900 !important;
    }

    body.location_body .basket_count::after {
        content: none !important;
    }

    body.location_body .a4d_basket_total_container {
        min-width: 72px !important;
        padding-right: 4px !important;
        position: relative !important;
    }

    body.location_body .a4d_basket_total_container::after {
        content: "›" !important;
        position: absolute !important;
        right: -7px !important;
        top: 50% !important;
        transform: translateY(-52%) !important;
        color: #fff !important;
        font-size: 28px !important;
        font-weight: 400 !important;
        line-height: 1 !important;
    }

    body.location_body .basket_total {
        padding-right: 16px !important;
        color: #fff !important;
        font-size: 17px !important;
        font-weight: 900 !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    /* Back to top: always ABOVE the basket bar, never on top of it. */
    body.location_body #go_to_top_button,
    body.location_body .go_to_top {
        right: 18px !important;
        bottom: calc(var(--a4d-v5-bottom-bar) + 30px + env(safe-area-inset-bottom)) !important;
        width: 52px !important;
        height: 52px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid;
        place-items: center !important;
        overflow: hidden !important;
        border: 3px solid #fff !important;
        border-radius: 50% !important;
        background: var(--a4d-v5-orange) !important;
        box-shadow: 0 7px 20px rgba(15,23,42,.22) !important;
        z-index: 2200 !important;
    }

    body.location_body #go_to_top_button img,
    body.location_body .go_to_top img {
        width: 48px !important;
        height: 48px !important;
        object-fit: contain !important;
    }

    /* Full mobile basket */
    body.location_body #basket_area_full {
        position: fixed !important;
        inset: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        z-index: 8200 !important;
    }

    body.location_body #basket_area_full:not(.basket_area_show) {
        display: none !important;
    }

    body.location_body #basket_area_full.basket_area_show {
        display: flex !important;
    }

    body.location_body #basket_area_full .a4d_basket_heading {
        flex: 0 0 auto !important;
        min-height: 64px !important;
        padding: 12px 16px !important;
        border-bottom: 1px solid var(--a4d-v5-line) !important;
        background: #fff !important;
    }

    body.location_body #basket_area_full .a4d_basket_heading_text {
        font-size: 21px !important;
    }

    body.location_body #basket_area_full .allergen_container {
        flex: 0 0 auto !important;
        min-height: 44px !important;
        padding: 7px 16px !important;
    }

    body.location_body #basket_area_full .basket_block {
        order: 2 !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        padding: 0 16px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
    }

    body.location_body #basket_area_full .order_item {
        padding: 14px 0 !important;
    }

    body.location_body #basket_area_full .order_item > .flexdiv {
        grid-template-columns: 48px minmax(0, 1fr) auto 30px !important;
        gap: 9px !important;
    }

    body.location_body #basket_area_full .qnt_change_container,
    body.location_body #basket_area_full .qnt_change_container select {
        width: 48px !important;
        min-width: 48px !important;
    }

    body.location_body #basket_area_full .qnt_change_container select {
        height: 40px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
    }

    body.location_body #basket_area_full .order_name,
    body.location_body #basket_area_full .order_name b {
        font-size: 14px !important;
        line-height: 1.3 !important;
    }

    body.location_body #basket_area_full .order_cost {
        font-size: 14px !important;
    }

    body.location_body #basket_area_full .extras_container {
        padding-left: 57px !important;
        padding-right: 30px !important;
        font-size: 12.5px !important;
    }

    body.location_body #basket_area_full .a4d_basket_edit_hint {
        margin-left: 57px !important;
        margin-right: 30px !important;
    }

    body.location_body #basket_area_full .totals_container {
        order: 3 !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 13px 16px max(14px, calc(14px + env(safe-area-inset-bottom))) !important;
        border-top: 1px solid var(--a4d-v5-line) !important;
        background: #fff !important;
        box-shadow: 0 -10px 28px rgba(15,23,42,.07) !important;
    }

    body.location_body #basket_area_full .order_total_amount {
        margin-bottom: 10px !important;
    }

    body.location_body #basket_area_full .basket_total_title {
        font-size: 17px !important;
    }

    body.location_body #basket_area_full .basket_total_val {
        font-size: 22px !important;
    }

    body.location_body #basket_area_full .order_buttons_container {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        gap: 9px !important;
    }

    body.location_body #basket_area_full :is(.action_order_button_cancel, .action_order_button_submit) {
        min-height: 48px !important;
        border-radius: 12px !important;
        font-size: 13px !important;
        font-weight: 850 !important;
    }

    body.location_body #basket_area_full .action_order_button_submit {
        background: var(--a4d-v5-orange) !important;
        box-shadow: 0 7px 18px color-mix(in srgb, var(--a4d-orange) 20%, transparent) !important;
    }

    body.location_body #basket_area_full .aob-offer-list {
        margin-top: 10px !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
    }

    body.location_body #basket_area_full .aob-offer {
        width: auto !important;
        min-width: 0 !important;
        padding: 5px 8px !important;
        gap: 6px !important;
        border-radius: 8px !important;
        background: #fff5f5 !important;
    }

    body.location_body #basket_area_full .aob-offer__badge {
        padding: 4px 6px !important;
        border-radius: 6px !important;
        font-size: 11px !important;
    }

    body.location_body #basket_area_full .aob-offer__headline {
        margin: 0 !important;
        font-size: 10.5px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    /* Extras modal centered and phone-sized, not a broken bottom sheet. */
    body.location_body [id^="itemextras_"].modal {
        padding: 12px !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.location_body [id^="currentextras_"] {
        width: min(430px, 100%) !important;
        max-width: 430px !important;
        max-height: calc(100dvh - 24px) !important;
    }

    body.location_body [id^="itemextras_"] .modal-content {
        width: 100% !important;
        max-width: 430px !important;
        max-height: calc(100dvh - 24px) !important;
        border-radius: 18px !important;
    }

    body.location_body [id^="itemextras_"] .modal-header {
        min-height: 58px !important;
        padding: 11px 14px !important;
    }

    body.location_body [id^="itemextras_"] .modal_header {
        font-size: 18px !important;
    }

    body.location_body [id^="itemextras_"] .a4d_extras_item_summary {
        padding: 13px 14px 3px !important;
    }

    body.location_body [id^="itemextras_"] .a4d_extras_item_description {
        padding: 0 14px 11px !important;
        font-size: 11px !important;
    }

    body.location_body [id^="itemextras_"] .itemextras_order_question_container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    body.location_body [id^="itemextras_"] .a4d_extras_question_header {
        padding-right: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
    }

    body.location_body [id^="itemextras_"] .a4d_extras_question_requirement {
        position: static !important;
        flex: 0 0 auto !important;
    }

    body.location_body [id^="itemextras_"] .itemextras_order_question {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        font-size: 13px !important;
        font-weight: 850 !important;
    }

    body.location_body [id^="itemextras_"] .itemextras_order_table,
    body.location_body [id^="itemextras_"] .itemextras_order_button {
        min-height: 48px !important;
    }

    body.location_body [id^="itemextras_"] .answer_names {
        font-size: 12.5px !important;
    }

    body.location_body [id^="itemextras_"] .itemextras_amount {
        font-size: 12px !important;
    }

}


/* =====================================================================
   Ask4Dish v6 — clear mobile account state
   Logged out: orange login icon. Logged in: white account avatar + green dot.
   ===================================================================== */
@media (max-width: 700px) {
    body.location_body .customer_login_container > span.headers_img_login,
    body.location_body .customer_login_container > span.headers_img_loggedin {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    /* Logged-out state keeps the orange action treatment. */
    body.location_body .customer_login_container:has(.headers_img_login) {
        overflow: visible !important;
        border: 0 !important;
        background: var(--a4d-v5-orange) !important;
        box-shadow: 0 6px 16px color-mix(in srgb, var(--a4d-orange) 22%, transparent) !important;
    }

    body.location_body .customer_login_container:has(.headers_img_login) .headers_img_login img {
        display: block !important;
        width: 22px !important;
        min-width: 22px !important;
        max-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        margin: 0 !important;
        filter: brightness(0) invert(1) !important;
    }

    /* Logged-in state must look like an account, not another orange action button. */
    body.location_body .customer_login_container:has(.headers_img_loggedin) {
        overflow: visible !important;
        border: 2px solid var(--a4d-v5-orange) !important;
        background: #ffffff !important;
        color: var(--a4d-v5-navy) !important;
        box-shadow: 0 5px 14px rgba(17,24,39,.12) !important;
    }

    body.location_body .customer_login_container:has(.headers_img_loggedin)::after {
        content: "" !important;
        position: absolute !important;
        right: -1px !important;
        bottom: 1px !important;
        width: 11px !important;
        height: 11px !important;
        border: 2px solid #ffffff !important;
        border-radius: 50% !important;
        background: #12b76a !important;
        box-sizing: border-box !important;
        pointer-events: none !important;
    }

    body.location_body .customer_login_container:has(.headers_img_loggedin) .headers_img_loggedin,
    body.location_body .customer_login_container:has(.headers_img_loggedin) .headers_img_loggedin_border {
        border: 0 !important;
        background: transparent !important;
    }

    body.location_body .customer_login_container:has(.headers_img_loggedin) .headers_img_loggedin img {
        display: block !important;
        width: 23px !important;
        min-width: 23px !important;
        max-width: 23px !important;
        height: 23px !important;
        min-height: 23px !important;
        max-height: 23px !important;
        margin: 0 !important;
        object-fit: contain !important;
        filter: none !important;
    }
}


/* =====================================================================
   Ask4Dish v7 — extras auto-navigation focus
   Makes the exact next question / Add to Order destination obvious after
   automatic movement without changing the ordering logic.
   ===================================================================== */
body.location_body [id^="itemextras_"] .a4d_auto_scroll_target {
    scroll-margin-top: 12px !important;
}

body.location_body [id^="itemextras_"] .itemextras_order_question_container.a4d_auto_scroll_target {
    animation: a4dExtrasTargetFlash .8s ease-out 1 !important;
}

@keyframes a4dExtrasTargetFlash {
    0% { background-color: color-mix(in srgb, var(--a4d-orange) 10%, transparent); }
    100% { background-color: transparent; }
}

/* =====================================================================
   ASK4DISH BASKET EXTRAS WIDTH FIX V8
   Cache revision: 20260906-basketlayout-v8
   Fixes legacy flex widths making option names collapse one letter per line.
   Presentation only.
   ===================================================================== */

body.location_body :is(#basket_area_small, #basket_area_full) .order_item > .flexdiv {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Each selected extra is a simple quantity | name | price row.  Using
   display:contents removes the legacy nested flex width constraints that
   could squeeze the option name down to only a few pixels on phones. */
body.location_body :is(#basket_area_small, #basket_area_full) .extras_container {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin: 1px 0 0 !important;
    padding: 4px 0 4px 51px !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) max-content !important;
    align-items: baseline !important;
    column-gap: 6px !important;
    row-gap: 0 !important;
    border: 0 !important;
    color: #667085 !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_container > .extras_order_col1,
body.location_body :is(#basket_area_small, #basket_area_full) .extras_container > .order_item_delete {
    display: none !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_container > .extras_item_container {
    display: contents !important;
    width: auto !important;
    min-width: 0 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_container .extras_order_qnt {
    grid-column: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #98a2b3 !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    white-space: nowrap !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_container .extras_order_name {
    grid-column: 2 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #667085 !important;
    font-size: 12.5px !important;
    font-weight: 550 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_container .extras_order_cost {
    grid-column: 3 !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #667085 !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

/* Keep the edit affordance aligned with the text rather than the quantity. */
body.location_body :is(#basket_area_small, #basket_area_full) .a4d_basket_edit_hint {
    width: auto !important;
    box-sizing: border-box !important;
    margin: 6px 28px 0 51px !important;
}

@media (max-width:700px) {
    body.location_body #basket_area_full .basket_block {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    body.location_body #basket_area_full .order_item {
        width: 100% !important;
        min-width: 0 !important;
        padding: 13px 0 !important;
    }

    body.location_body #basket_area_full .order_item > .flexdiv {
        grid-template-columns: 42px minmax(0, 1fr) max-content 26px !important;
        gap: 8px !important;
    }

    body.location_body #basket_area_full .qnt_change_container,
    body.location_body #basket_area_full .qnt_change_container select {
        width: 42px !important;
        min-width: 42px !important;
    }

    body.location_body #basket_area_full .order_name {
        min-width: 0 !important;
        width: auto !important;
        overflow: hidden !important;
    }

    body.location_body #basket_area_full .order_name b {
        display: block !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    body.location_body #basket_area_full .extras_container {
        padding: 4px 0 4px 50px !important;
        grid-template-columns: 22px minmax(0, 1fr) max-content !important;
        column-gap: 6px !important;
    }

    body.location_body #basket_area_full .a4d_basket_edit_hint {
        margin: 6px 0 0 50px !important;
    }
}

@media (max-width:360px) {
    body.location_body #basket_area_full .extras_container {
        padding-left: 46px !important;
        grid-template-columns: 20px minmax(0, 1fr) max-content !important;
        font-size: 12px !important;
    }
    body.location_body #basket_area_full .a4d_basket_edit_hint {
        margin-left: 46px !important;
    }
}

/* =====================================================================
   ASK4DISH MENU TYPE + ALLERGEN + BASKET POLISH V9
   Cache revision: 20260906-basketpolish-v9
   Presentation only. Ordering / checkout / payment behaviour unchanged.
   ===================================================================== */

body.location_body {
    --a4d-v9-orange: var(--a4d-orange);
    --a4d-v9-orange-soft: var(--a4d-orange-soft);
    --a4d-v9-ink: #12182b;
    --a4d-v9-text: #344054;
    --a4d-v9-muted: #667085;
    --a4d-v9-line: #e7eaf0;
    --a4d-v9-panel: #f7f8fa;
}

/* ---------- Allergens: keep badges visually centred everywhere ---------- */
body.location_body .item_name {
    align-items: center !important;
}

body.location_body .item_name > .flexdiv,
body.location_body :is(#basket_area_small, #basket_area_full) .order_name > .flexdiv {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    vertical-align: middle !important;
    flex-wrap: nowrap !important;
}

body.location_body .item_allergen {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 1px !important;
    padding: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

body.location_body .item_allergen_char {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-align: center !important;
}

/* ---------- Basket shell ---------- */
body.location_body :is(#basket_area_small, #basket_area_full) {
    --a4d-basket-pad: 12px;
}

body.location_body :is(#basket_area_small, #basket_area_full) .a4d_basket_heading {
    min-height: 54px !important;
    padding: 12px 14px !important;
    background: #fff !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .a4d_basket_heading_text {
    font-size: 19px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}



/* Allergen Info centred below the heading. */
body.location_body #basket_area_full .allergen_container {
    position: relative !important;
    min-height: 42px !important;
    padding: 7px 14px !important;
    justify-content: center !important;
    background: #fff !important;
}

body.location_body #basket_area_full .basket_allergen_button {
    min-height: 30px !important;
    margin: 0 auto !important;
    padding: 6px 10px !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
    border-radius: 8px !important;
}

body.location_body #basket_area_full .basket-pre-order {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    font-size: 10.5px !important;
}

/* Basket body uses soft background and individual item cards. */
body.location_body :is(#basket_area_small, #basket_area_full) .basket_block {
    padding: 10px var(--a4d-basket-pad) 12px !important;
    background: var(--a4d-v9-panel) !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_items {
    padding: 0 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .a4d_order_item_wrap {
    width: 100% !important;
    margin: 0 0 9px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_item {
    width: 100% !important;
    margin: 0 !important;
    padding: 10px !important;
    overflow: hidden !important;
    border: 1px solid var(--a4d-v9-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(16,24,40,.035) !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_item + .order_item {
    border-top: 1px solid var(--a4d-v9-line) !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_item.a4d_order_item_editable:hover {
    background: var(--a4d-orange-soft) !important;
    border-color: #ffd2b0 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_item > .flexdiv {
    grid-template-columns: 38px minmax(0, 1fr) auto 24px !important;
    align-items: center !important;
    gap: 7px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .qnt_change_container {
    width: 38px !important;
    min-width: 38px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .qnt_change_container select {
    width: 38px !important;
    height: 32px !important;
    padding: 0 4px !important;
    border-radius: 8px !important;
    font-size: 12.5px !important;
    line-height: 1 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_name {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    column-gap: 5px !important;
    row-gap: 4px !important;
    color: var(--a4d-v9-ink) !important;
    font-size: 13px !important;
    line-height: 1.28 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_name b {
    min-width: 0 !important;
    font-size: 13px !important;
    line-height: 1.28 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_name .item_allergen {
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    font-size: 10px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_name .item_allergen_char {
    font-size: 10px !important;
    font-weight: 800 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_cost {
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_item_delete {
    width: 24px !important;
    min-width: 24px !important;
    height: 32px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_item_delete img {
    width: 16px !important;
    height: 16px !important;
}

/* Selected extras: compact, readable rows inside each item card. */
body.location_body :is(#basket_area_small, #basket_area_full) .extras_container {
    width: auto !important;
    min-height: 0 !important;
    margin: 6px 0 0 45px !important;
    padding: 5px 7px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #f8fafc !important;
    color: var(--a4d-v9-muted) !important;
    font-size: 11.5px !important;
    line-height: 1.25 !important;
    box-sizing: border-box !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_order_col1,
body.location_body :is(#basket_area_small, #basket_area_full) .extras_container .order_item_delete {
    display: none !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_item_container {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 5px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_order_qnt {
    width: 18px !important;
    min-width: 18px !important;
    color: #98a2b3 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_order_name {
    width: 100% !important;
    min-width: 0 !important;
    color: #596579 !important;
    font-size: 11.5px !important;
    line-height: 1.25 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .extras_order_cost {
    width: auto !important;
    min-width: 42px !important;
    margin: 0 !important;
    color: #596579 !important;
    font-size: 11.5px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .a4d_basket_edit_hint {
    width: auto !important;
    margin: 6px 0 0 45px !important;
    padding: 6px 8px !important;
    border: 1px solid #ffe0c7 !important;
    border-radius: 7px !important;
    background: var(--a4d-v9-orange-soft) !important;
    color: #c94f00 !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .a4d_basket_edit_hint span {
    font-size: 15px !important;
}

/* Basket total area: more compact and visually separated. */
body.location_body :is(#basket_area_small, #basket_area_full) .totals_container {
    padding: 12px 14px 14px !important;
    background: #fff !important;
    box-shadow: 0 -7px 20px rgba(16,24,40,.045) !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_total_amount {
    margin: 0 0 10px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .basket_total_title {
    font-size: 15px !important;
    line-height: 1.2 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .basket_total_val {
    font-size: 19px !important;
    line-height: 1 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_buttons_container {
    gap: 8px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .action_order_button_cancel,
body.location_body :is(#basket_area_small, #basket_area_full) .action_order_button_submit {
    min-height: 42px !important;
    padding: 9px 11px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
}

/* Discount/offer badges stay compact rather than dominating the basket. */
body.location_body :is(#basket_area_small, #basket_area_full) .aob-offer-list,
body.location_body :is(#basket_area_small, #basket_area_full) .basket-offer-nudge {
    gap: 6px !important;
    margin-top: 9px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .aob-offer {
    min-height: 0 !important;
    padding: 5px 7px !important;
    gap: 6px !important;
    border-radius: 8px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .aob-offer__badge {
    padding: 4px 6px !important;
    border-radius: 6px !important;
    font-size: 10.5px !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .aob-offer__headline {
    font-size: 10px !important;
    line-height: 1.2 !important;
}

/* ---------- Mobile menu: type scale closer to the approved reference ---------- */
@media (max-width: 700px) {
    body.location_body :is(.cat_button_text, .cat_button_text_selected),
    body.location_body .a4d_all_categories_button {
        min-height: 34px !important;
        padding: 5px 9px !important;
        font-size: 11px !important;
        line-height: 1.1 !important;
    }

    body.location_body .items_for_cat {
        gap: 6px !important;
        margin-bottom: 13px !important;
    }

    body.location_body .item_cat_header {
        margin-top: 3px !important;
        margin-bottom: -2px !important;
        font-size: 17px !important;
        line-height: 1.18 !important;
        letter-spacing: -0.015em !important;
    }

    body.location_body .item_cat_header_desc {
        font-size: 10.5px !important;
        line-height: 1.25 !important;
    }

    body.location_body .searchable_item > .full_width,
    body.location_body .item_info {
        min-height: 94px !important;
    }

    body.location_body .item_info {
        padding: 9px 9px 8px !important;
    }

    body.location_body .item_name {
        gap: 4px !important;
        font-size: 12.5px !important;
        line-height: 1.18 !important;
    }

    body.location_body .item_data {
        margin-top: 3px !important;
    }

    body.location_body .item_description {
        max-height: 28px !important;
        padding-bottom: 31px !important;
        font-size: 10px !important;
        line-height: 1.28 !important;
        -webkit-line-clamp: 2 !important;
    }

    body.location_body .item_cost {
        left: 9px !important;
        bottom: 10px !important;
        font-size: 13px !important;
        line-height: 1 !important;
    }

    body.location_body .searchable_item > .full_width::after {
        right: 8px !important;
        bottom: 7px !important;
        min-height: 28px !important;
        padding: 5px 8px !important;
        border-radius: 8px !important;
        font-size: 10.5px !important;
    }

    body.location_body .item_allergen {
        width: 20px !important;
        min-width: 20px !important;
        height: 20px !important;
    }

    body.location_body .item_allergen_char {
        font-size: 10px !important;
    }

    /* Full phone basket: edge-to-edge content with card spacing. */
    body.location_body #basket_area_full .basket_block {
        padding: 9px 9px 12px !important;
    }

    body.location_body #basket_area_full .a4d_order_item_wrap {
        margin-bottom: 8px !important;
    }

    body.location_body #basket_area_full .order_item {
        padding: 9px !important;
        border-radius: 11px !important;
    }

    body.location_body #basket_area_full .order_item > .flexdiv {
        grid-template-columns: 36px minmax(0, 1fr) auto 22px !important;
        gap: 6px !important;
    }

    body.location_body #basket_area_full .qnt_change_container,
    body.location_body #basket_area_full .qnt_change_container select {
        width: 36px !important;
        min-width: 36px !important;
    }

    body.location_body #basket_area_full .qnt_change_container select {
        height: 30px !important;
        font-size: 12px !important;
    }

    body.location_body #basket_area_full .order_name,
    body.location_body #basket_area_full .order_name b {
        font-size: 12.5px !important;
    }

    body.location_body #basket_area_full .order_cost {
        font-size: 12.5px !important;
    }

    body.location_body #basket_area_full .extras_container {
        margin-left: 42px !important;
        padding: 5px 6px !important;
        font-size: 11px !important;
    }

    body.location_body #basket_area_full .extras_order_name,
    body.location_body #basket_area_full .extras_order_cost {
        font-size: 11px !important;
    }

    body.location_body #basket_area_full .a4d_basket_edit_hint {
        margin-left: 42px !important;
    }

    body.location_body #basket_area_full .a4d_basket_heading_text {
        font-size: 17px !important;
    }

    body.location_body #basket_area_full .basket_total_title {
        font-size: 14px !important;
    }

    body.location_body #basket_area_full .basket_total_val {
        font-size: 18px !important;
    }
}

/* =====================================================================
   ASK4DISH CLEAN EXTRAS + BASKET V13
   Cache revision: 20260907-clean-extras-v13
   The extras renderer uses a4d13-* classes deliberately so legacy flex/table
   rules cannot squeeze option names into narrow columns.
   ===================================================================== */

body.location_body {
    --a4d13-orange: var(--a4d-orange);
    --a4d13-orange-dark: var(--a4d-orange-deep);
    --a4d13-orange-soft: var(--a4d-orange-soft);
    --a4d13-ink: #12182b;
    --a4d13-text: #344054;
    --a4d13-muted: #667085;
    --a4d13-line: #e7eaf0;
    --a4d13-soft: #f7f8fa;
}

/* ---------- Extras modal shell ---------- */
body.location_body .a4d13-extras-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 10020 !important;
    width: 100% !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: rgba(16,24,40,.52) !important;
    box-sizing: border-box !important;
}

body.location_body .a4d13-extras-shell {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(520px, calc(100vw - 28px)) !important;
    max-width: 520px !important;
    max-height: calc(100dvh - 28px) !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

body.location_body .a4d13-extras-card {
    width: 100% !important;
    max-height: calc(100dvh - 28px) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid #dfe4ea !important;
    border-top: 4px solid var(--a4d13-orange) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 24px 70px rgba(16,24,40,.28) !important;
    box-sizing: border-box !important;
}

body.location_body .a4d13-extras-header {
    flex: 0 0 auto !important;
    min-height: 64px !important;
    padding: 12px 14px 12px 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    border-bottom: 1px solid var(--a4d13-line) !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

body.location_body .a4d13-extras-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--a4d13-ink) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

body.location_body .a4d13-extras-close {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #f2f4f7 !important;
    color: #344054 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}

body.location_body .a4d13-extras-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

body.location_body .a4d13-item-summary {
    width: 100% !important;
    padding: 14px 16px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 14px !important;
    align-items: start !important;
    border-bottom: 1px solid var(--a4d13-line) !important;
    box-sizing: border-box !important;
}

body.location_body .a4d13-item-summary-text {
    min-width: 0 !important;
}

body.location_body .a4d13-item-name {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--a4d13-ink) !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 900 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

body.location_body .a4d13-item-description {
    margin-top: 4px !important;
    color: var(--a4d13-muted) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
}
body.location_body .a4d13-item-description[hidden] { display: none !important; }

body.location_body .a4d13-item-cost {
    width: auto !important;
    min-width: max-content !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--a4d13-ink) !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    text-align: right !important;
}

/* ---------- Question block ---------- */
body.location_body .a4d13-question {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px 16px 0 !important;
    box-sizing: border-box !important;
}

body.location_body .a4d13-question[style*="display: none"] {
    display: none !important;
}

body.location_body .a4d13-question-header {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    box-sizing: border-box !important;
}

body.location_body .a4d13-question-title {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding: 2px 0 !important;
    color: var(--a4d13-ink) !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 850 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

body.location_body .a4d13-question-meta {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

body.location_body .a4d13-question-badge,
body.location_body .a4d13-repeat-note {
    min-height: 22px !important;
    margin: 0 !important;
    padding: 4px 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

body.location_body .a4d13-question-badge {
    border: 1px solid #ffcfb0 !important;
    background: var(--a4d-orange-soft) !important;
    color: #c94f00 !important;
}
body.location_body .a4d13-question-badge.is-complete {
    border-color: #abefc6 !important;
    background: #ecfdf3 !important;
    color: #067647 !important;
}
body.location_body .a4d13-question-badge.is-partial {
    border-color: #fedf89 !important;
    background: #fffaeb !important;
    color: #b54708 !important;
}
body.location_body .a4d13-repeat-note {
    border: 1px solid #d7dde5 !important;
    background: #fff !important;
    color: var(--a4d13-muted) !important;
}

body.location_body .a4d13-extra-filter {
    width: 100% !important;
    height: 42px !important;
    margin: 0 0 9px !important;
    padding: 9px 12px !important;
    border: 1px solid #d9dfe7 !important;
    border-radius: 10px !important;
    outline: 0 !important;
    background: var(--a4d13-soft) !important;
    color: var(--a4d13-ink) !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    text-align: left !important;
    box-sizing: border-box !important;
}
body.location_body .a4d13-extra-filter[hidden] { display: none !important; }

/* ---------- Answer list ---------- */
body.location_body .a4d13-answer-list {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e7eaf0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

body.location_body .a4d13-extra-row {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f3 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}
body.location_body .a4d13-extra-row:last-child { border-bottom: 0 !important; }
body.location_body .a4d13-extra-row[hidden] { display: none !important; }
body.location_body .a4d13-extra-row.is-selected { background: var(--a4d-orange-soft) !important; }

/* Fixed/single-choice rows */
body.location_body .a4d13-choice-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: 10px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--a4d13-ink) !important;
    text-align: left !important;
    font-family: inherit !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

body.location_body .a4d13-choice-check {
    width: 20px !important;
    height: 20px !important;
    display: grid !important;
    place-items: center !important;
    border: 1.5px solid #aeb8c6 !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    box-sizing: border-box !important;
}
body.location_body .a4d13-choice.is-selected .a4d13-choice-check {
    border-color: var(--a4d13-orange) !important;
    background: var(--a4d13-orange) !important;
}
body.location_body .a4d13-choice.is-selected .a4d13-choice-check::after { content: "✓" !important; }

/* Repeatable rows: name/price can never be squeezed by the stepper. */
body.location_body .a4d13-repeatable {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 10px 8px 12px !important;
}

body.location_body .a4d13-extra-label {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: 10px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--a4d13-ink) !important;
    text-align: left !important;
    font-family: inherit !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

body.location_body .a4d13-extra-name {
    min-width: 0 !important;
    width: auto !important;
    color: var(--a4d13-ink) !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
}

body.location_body .a4d13-extra-price {
    width: auto !important;
    min-width: max-content !important;
    color: var(--a4d13-text) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

body.location_body .a4d13-stepper {
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: 32px 30px 32px !important;
    align-items: center !important;
    gap: 5px !important;
}

body.location_body .a4d13-step {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #ffb77f !important;
    border-radius: 8px !important;
    background: var(--a4d-orange-soft) !important;
    color: var(--a4d13-orange-dark) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
}
body.location_body .a4d13-step:disabled {
    border-color: #d8dee7 !important;
    background: #f2f4f7 !important;
    color: #98a2b3 !important;
    cursor: default !important;
}

body.location_body .a4d13-extra-qty {
    width: 30px !important;
    min-width: 30px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #d8dee7 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--a4d13-ink) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}
body.location_body .a4d13-extra-qty:empty::before { content: "0" !important; color: #98a2b3 !important; }
body.location_body .a4d13-repeatable.is-selected .a4d13-extra-qty {
    border-color: #ffb77f !important;
    background: var(--a4d-orange-soft) !important;
    color: var(--a4d13-orange-dark) !important;
}

body.location_body .a4d13-hidden-delete { display: none !important; }

/* ---------- Question navigation ---------- */
body.location_body .a4d13-nav {
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 12px 0 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    border-top: 1px solid var(--a4d13-line) !important;
    box-sizing: border-box !important;
}
body.location_body .a4d13-nav-back { margin-right: auto !important; }

body.location_body .a4d13-nav-button {
    min-height: 42px !important;
    margin: 0 !important;
    padding: 9px 14px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #344054 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    box-shadow: none !important;
}

body.location_body .a4d13-add-order {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 190px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: var(--a4d13-orange) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    box-shadow: 0 6px 16px color-mix(in srgb, var(--a4d-orange) 18%, transparent) !important;
}
body.location_body .a4d13-add-order-label,
body.location_body .a4d13-add-order-total { color: #fff !important; font-weight: 900 !important; }

/* ---------- Basket: clean quantity control and safe widths ---------- */
body.location_body :is(#basket_area_small, #basket_area_full) .order_item > .flexdiv {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) max-content 24px !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .qnt_change_container {
    position: relative !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 1px solid #d7dde5 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}
body.location_body :is(#basket_area_small, #basket_area_full) .qnt_change_container::after {
    content: "▾" !important;
    position: absolute !important;
    right: 6px !important;
    top: 50% !important;
    transform: translateY(-52%) !important;
    color: #667085 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    pointer-events: none !important;
}
body.location_body :is(#basket_area_small, #basket_area_full) .qnt_change_container select {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 18px 0 8px !important;
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-radius: 8px !important;
    outline: 0 !important;
    background: transparent !important;
    color: var(--a4d13-ink) !important;
    font-size: 13px !important;
    line-height: 32px !important;
    font-weight: 850 !important;
    text-align: left !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}
body.location_body :is(#basket_area_small, #basket_area_full) .qnt_change_container:focus-within {
    border-color: var(--a4d13-orange) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--a4d-orange) 10%, transparent) !important;
}

body.location_body :is(#basket_area_small, #basket_area_full) .order_name,
body.location_body :is(#basket_area_small, #basket_area_full) .order_name b {
    min-width: 0 !important;
    width: auto !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}
body.location_body :is(#basket_area_small, #basket_area_full) .order_cost { white-space: nowrap !important; }

/* Selected extras stay in two logical columns and never escape the item card. */
body.location_body :is(#basket_area_small, #basket_area_full) .extras_container {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    gap: 8px !important;
    box-sizing: border-box !important;
}
body.location_body :is(#basket_area_small, #basket_area_full) .extras_item_container {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    gap: 6px !important;
}
body.location_body :is(#basket_area_small, #basket_area_full) .extras_order_name {
    min-width: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}
body.location_body :is(#basket_area_small, #basket_area_full) .extras_order_cost {
    min-width: max-content !important;
    white-space: nowrap !important;
}

/* ---------- Menu typography / no-description spacing ---------- */
@media (max-width: 700px) {
    body.location_body .item_name {
        font-size: 16px !important;
        line-height: 1.25 !important;
        font-weight: 850 !important;
    }
    body.location_body .item_description {
        font-size: 13px !important;
        line-height: 1.32 !important;
    }
    body.location_body .searchable_item.a4d_no_description > .full_width,
    body.location_body .searchable_item.a4d_no_description .item_info {
        min-height: 72px !important;
    }
    body.location_body .searchable_item.a4d_no_description .item_data {
        margin-top: 0 !important;
    }
    body.location_body .searchable_item.a4d_no_description .item_description {
        display: none !important;
        padding: 0 !important;
        margin: 0 !important;
        height: 0 !important;
    }

    body.location_body .a4d13-extras-shell {
        width: calc(100vw - 20px) !important;
        max-width: 430px !important;
        max-height: calc(100dvh - 20px) !important;
    }
    body.location_body .a4d13-extras-card { max-height: calc(100dvh - 20px) !important; border-radius: 16px !important; }
    body.location_body .a4d13-extras-header { min-height: 58px !important; padding: 10px 12px 10px 14px !important; }
    body.location_body .a4d13-extras-title { font-size: 18px !important; }
    body.location_body .a4d13-extras-close { width: 36px !important; min-width: 36px !important; height: 36px !important; }
    body.location_body .a4d13-item-summary { padding: 12px 12px !important; gap: 10px !important; }
    body.location_body .a4d13-item-name, body.location_body .a4d13-item-cost { font-size: 15px !important; }
    body.location_body .a4d13-item-description { font-size: 12px !important; }
    body.location_body .a4d13-question { padding: 12px 12px 0 !important; }
    body.location_body .a4d13-question-header { gap: 8px !important; }
    body.location_body .a4d13-question-title { font-size: 14px !important; }
    body.location_body .a4d13-extra-name { font-size: 13.5px !important; }
    body.location_body .a4d13-extra-price { font-size: 12.5px !important; }
    body.location_body .a4d13-repeatable { grid-template-columns: minmax(0, 1fr) auto !important; gap: 7px !important; padding: 7px 8px 7px 10px !important; }
    body.location_body .a4d13-stepper { grid-template-columns: 30px 28px 30px !important; gap: 4px !important; }
    body.location_body .a4d13-step { width: 30px !important; min-width: 30px !important; height: 30px !important; }
    body.location_body .a4d13-extra-qty { width: 28px !important; min-width: 28px !important; height: 30px !important; }
    body.location_body .a4d13-nav { padding-bottom: max(12px, env(safe-area-inset-bottom)) !important; }
    body.location_body .a4d13-add-order { min-width: 0 !important; }

    body.location_body #basket_area_full .qnt_change_container {
        width: 42px !important;
        min-width: 42px !important;
        height: 32px !important;
    }
    body.location_body #basket_area_full .qnt_change_container select { height: 30px !important; line-height: 30px !important; font-size: 12px !important; }
}

/* ---------- Legacy yes/no dialogs ---------- */
body.location_body :is(#add_basket_confirmation, #cancel_order_sure, #order_del_item_sure, #logout_sure, #remove_account_sure) .modal-content {
    width: min(390px, calc(100vw - 28px)) !important;
    height: auto !important;
    max-height: calc(100dvh - 28px) !important;
    margin: auto !important;
    overflow: hidden !important;
    border: 1px solid #e1e5eb !important;
    border-top: 4px solid var(--a4d13-orange) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 24px 70px rgba(16,24,40,.25) !important;
}
body.location_body :is(#add_basket_confirmation, #cancel_order_sure, #order_del_item_sure, #logout_sure, #remove_account_sure) .modal_header { font-size: 18px !important; line-height: 1.2 !important; font-weight: 900 !important; }
body.location_body :is(#add_basket_confirmation, #cancel_order_sure, #order_del_item_sure, #logout_sure, #remove_account_sure) .modal-body { padding: 16px !important; color: var(--a4d13-text) !important; font-size: 14px !important; line-height: 1.45 !important; }
body.location_body :is(#add_basket_confirmation, #cancel_order_sure, #order_del_item_sure, #logout_sure, #remove_account_sure) button:not(.close) {
    min-height: 42px !important;
    padding: 9px 15px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--a4d13-ink) !important;
    font-size: 14px !important;
    font-weight: 850 !important;
}
body.location_body :is(#add_basket_confirmation, #cancel_order_sure, #order_del_item_sure, #logout_sure, #remove_account_sure) button:not(.close):last-of-type {
    border-color: var(--a4d13-orange) !important;
    background: var(--a4d13-orange) !important;
    color: #fff !important;
}

/* V13 final safeguards */
body.location_body .a4d13-extra-qty[hidden] { display: none !important; }
body.location_body .item_name { font-size: 16px !important; line-height: 1.25 !important; }
body.location_body .item_description { font-size: 13px !important; line-height: 1.32 !important; }
body.location_body .searchable_item.a4d_no_description > .full_width,
body.location_body .searchable_item.a4d_no_description .item_info {
    min-height: 90px !important;
}
body.location_body .searchable_item.a4d_no_description .item_description {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
@media (max-width:700px) {
    body.location_body .searchable_item.a4d_no_description > .full_width,
    body.location_body .searchable_item.a4d_no_description .item_info { min-height: 72px !important; }
}
body.location_body .a4d13-extras-modal { display: none !important; }
body.location_body .a4d13-extras-modal[style*="display: block"],
body.location_body .a4d13-extras-modal[style*="display:block"] { display: block !important; }
/* V13 compact stepper safeguard */
body.location_body .a4d13-question-meta { flex-wrap: nowrap !important; }
body.location_body .a4d13-extra-label { width: auto !important; max-width: 100% !important; }
body.location_body .a4d13-stepper { grid-template-columns: 28px 26px 28px !important; gap: 3px !important; }
body.location_body .a4d13-step { width: 28px !important; min-width: 28px !important; height: 30px !important; }
body.location_body .a4d13-extra-qty { width: 26px !important; min-width: 26px !important; height: 30px !important; }
@media (max-width:700px) {
    body.location_body .a4d13-stepper { grid-template-columns: 27px 25px 27px !important; gap: 3px !important; }
    body.location_body .a4d13-step { width: 27px !important; min-width: 27px !important; height: 29px !important; }
    body.location_body .a4d13-extra-qty { width: 25px !important; min-width: 25px !important; height: 29px !important; }
}
/* V13 flex fallback: prevents any grid engine/legacy width from squeezing names */
body.location_body .a4d13-repeatable {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
body.location_body .a4d13-extra-label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
body.location_body .a4d13-extra-name {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
body.location_body .a4d13-extra-price {
    flex: 0 0 auto !important;
}
body.location_body .a4d13-stepper {
    flex: 0 0 82px !important;
    width: 82px !important;
    min-width: 82px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 3px !important;
}
body.location_body .a4d13-step { flex: 0 0 26px !important; width: 26px !important; min-width: 26px !important; height: 30px !important; }
body.location_body .a4d13-extra-qty { flex: 0 0 24px !important; width: 24px !important; min-width: 24px !important; height: 30px !important; }
@media (max-width:700px) {
    body.location_body .a4d13-repeatable { gap: 6px !important; }
    body.location_body .a4d13-stepper { flex-basis: 78px !important; width: 78px !important; min-width: 78px !important; }
    body.location_body .a4d13-step { flex-basis: 25px !important; width: 25px !important; min-width: 25px !important; height: 29px !important; }
    body.location_body .a4d13-extra-qty { flex-basis: 22px !important; width: 22px !important; min-width: 22px !important; height: 29px !important; }
}


/* =====================================================================
   ASK4DISH MOBILE MODALS + TYPE + BASKET ALLERGENS V15
   Cache revision: 20260907-mobile-modals-v15
   ===================================================================== */
body.location_body {
  --a4d15-orange:var(--a4d-orange);
  --a4d15-orange-dark:var(--a4d-orange-deep);
  --a4d15-orange-soft:var(--a4d-orange-soft);
  --a4d15-ink:#12182b;
  --a4d15-text:#344054;
  --a4d15-muted:#667085;
  --a4d15-line:#e7eaf0;
  --a4d15-panel:#f7f8fa;
}

/* Requested menu typography. */
body.location_body .item_name {
  font-size:15.5px !important;
  line-height:1.24 !important;
}
body.location_body .item_description {
  font-size:12.5px !important;
  line-height:1.32 !important;
}
body.location_body .item_description[hidden],
body.location_body .searchable_item.a4d_no_description .item_description {
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
}
/* No-description cards should fit their actual content, not reserve a text block. */
body.location_body .searchable_item.a4d_no_description > .full_width,
body.location_body .searchable_item.a4d_no_description .item_info {
  min-height:108px !important;
  height:auto !important;
}
body.location_body .searchable_item.a4d_no_description .item_data {
  margin-top:auto !important;
  min-height:44px !important;
}
@media (max-width:700px) {
  body.location_body .searchable_item.a4d_no_description > .full_width,
  body.location_body .searchable_item.a4d_no_description .item_info {
    min-height:82px !important;
    height:auto !important;
  }
}

/* Basket allergens: dedicated inline group beside the item name. */
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_allergens {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 0 auto !important;
  gap:3px !important;
  margin:0 0 0 3px !important;
  padding:0 !important;
  vertical-align:middle !important;
  white-space:nowrap !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_allergens .item_allergen {
  width:18px !important;
  min-width:18px !important;
  height:18px !important;
  margin:0 !important;
  border:1px solid rgba(18,24,43,.08) !important;
  box-shadow:0 1px 2px rgba(16,24,40,.08) !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_allergens .item_allergen_char {
  font-size:9px !important;
  line-height:1 !important;
  font-weight:900 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .order_name {
  align-items:center !important;
  overflow:visible !important;
}

/* Theme every legacy/simple modal without changing its business logic. */
body.location_body .modal:not(.a4d13-extras-modal):not(#checkout-dialog) .modal-content {
  border:1px solid var(--a4d15-line) !important;
  border-top:4px solid var(--a4d15-orange) !important;
  border-radius:16px !important;
  background:#fff !important;
  color:var(--a4d15-text) !important;
  box-shadow:0 24px 70px rgba(16,24,40,.25) !important;
  overflow:hidden !important;
}
body.location_body .modal:not(.a4d13-extras-modal):not(#order_processing):not(#checkout-dialog) .modal-header {
  box-sizing:border-box !important;
  min-height:56px !important;
  padding:12px 14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  border-bottom:1px solid var(--a4d15-line) !important;
  background:#fff !important;
}
body.location_body .modal:not(.a4d13-extras-modal):not(#checkout-dialog) .modal_header {
  margin:0 !important;
  color:var(--a4d15-ink) !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
}
body.location_body .modal:not(.a4d13-extras-modal):not(#checkout-dialog) .modal-body {
  padding:16px !important;
  background:#fff !important;
  color:var(--a4d15-text) !important;
  font-size:14px !important;
  line-height:1.42 !important;
}
body.location_body .modal:not(.a4d13-extras-modal) :is(button:not(.close),input[type="button"],input[type="submit"]) {
  min-height:42px !important;
  border-radius:10px !important;
  font-family:inherit !important;
  font-size:13px !important;
  line-height:1.1 !important;
  font-weight:850 !important;
}
/* Normal form controls inside checkout/dialog flows. */
body.location_body .modal:not(.a4d13-extras-modal) :is(input[type="text"],input[type="email"],input[type="tel"],input[type="time"],textarea,select) {
  border:1px solid #d7dde5 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:var(--a4d15-ink) !important;
  font-family:inherit !important;
  font-size:14px !important;
  box-shadow:none !important;
}
body.location_body .modal:not(.a4d13-extras-modal) :is(input,textarea,select):focus {
  outline:0 !important;
  border-color:var(--a4d15-orange) !important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--a4d-orange) 10%, transparent) !important;
}

/* Phone extras: dedicated page, no translucent/blurred strip above it. */
@media (max-width:700px) {
  body.location_body .a4d13-extras-modal,
  body.location_body [id^="itemextras_"].modal {
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    overflow:hidden !important;
  }
  body.location_body .a4d13-extras-shell,
  body.location_body [id^="currentextras_"] {
    position:fixed !important;
    inset:0 !important;
    left:0 !important;
    top:0 !important;
    transform:none !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
  }
  body.location_body .a4d13-extras-card,
  body.location_body [id^="itemextras_"] .modal-content {
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    border:0 !important;
    border-top:3px solid var(--a4d15-orange) !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  body.location_body .a4d13-extras-header,
  body.location_body [id^="itemextras_"] .modal-header {
    position:sticky !important;
    top:0 !important;
    z-index:10 !important;
    background:#fff !important;
  }
  body.location_body .a4d13-extras-body,
  body.location_body [id^="itemextras_"] .modal-body {
    flex:1 1 auto !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow-y:auto !important;
    background:#fff !important;
  }

  /* Other mobile dialogs use a clean bottom sheet/card rather than raw browser UI. */
  body.location_body .modal:not(.a4d13-extras-modal):not([id^="itemextras_"]) {
    padding:12px !important;
  }
  body.location_body .modal:not(.a4d13-extras-modal):not([id^="itemextras_"]) .modal-content {
    width:min(100%,430px) !important;
    max-width:430px !important;
    max-height:calc(100dvh - 24px) !important;
    margin:auto !important;
  }
}


/* =====================================================================
   ASK4DISH BASKET QUANTITY + ALLERGEN PANEL V16
   Cache revision: 20260907-basket-allergen-v16
   ===================================================================== */
body.location_body {
  --a4d16-orange:var(--a4d-orange);
  --a4d16-orange-dark:var(--a4d-orange-deep);
  --a4d16-orange-soft:var(--a4d-orange-soft);
  --a4d16-ink:#12182b;
  --a4d16-text:#344054;
  --a4d16-muted:#667085;
  --a4d16-line:#e6eaf0;
  --a4d16-panel:#f7f8fa;
}

/* Basket quantity: one clean pill, no native top/bottom rules or double arrows. */
body.location_body :is(#basket_area_small,#basket_area_full) .qnt_change_container {
  position:relative !important;
  flex:0 0 48px !important;
  width:48px !important;
  min-width:48px !important;
  max-width:48px !important;
  height:32px !important;
  min-height:32px !important;
  margin:0 7px 0 0 !important;
  padding:0 !important;
  border:1px solid #d8dee8 !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 1px 2px rgba(16,24,40,.04) !important;
  overflow:hidden !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .qnt_change_container::after {
  content:"⌄" !important;
  position:absolute !important;
  right:8px !important;
  top:50% !important;
  transform:translateY(-55%) !important;
  color:#667085 !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  pointer-events:none !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .qnt_change_container select,
body.location_body :is(#basket_area_small,#basket_area_full) select.a4d_basket_qty_select {
  -webkit-appearance:none !important;
  appearance:none !important;
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 20px 0 10px !important;
  border:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:transparent !important;
  background-image:none !important;
  color:var(--a4d16-ink) !important;
  font-family:inherit !important;
  font-size:13px !important;
  line-height:30px !important;
  font-weight:850 !important;
  text-align:left !important;
  box-shadow:none !important;
  cursor:pointer !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .qnt_change_container:focus-within {
  border-color:var(--a4d16-orange) !important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--a4d-orange) 10%, transparent) !important;
}

/* Basket heading row: item name owns the flexible width, allergens never crush it. */
body.location_body :is(#basket_area_small,#basket_area_full) .order_item > .flexdiv {
  align-items:center !important;
  min-width:0 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .order_name {
  display:flex !important;
  align-items:center !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  gap:5px !important;
  overflow:hidden !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_item_name {
  display:block !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:var(--a4d16-ink) !important;
  font-size:13px !important;
  line-height:1.25 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_allergens {
  display:inline-flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  gap:3px !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_allergens .item_allergen {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 17px !important;
  width:17px !important;
  min-width:17px !important;
  max-width:17px !important;
  height:17px !important;
  min-height:17px !important;
  max-height:17px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(18,24,43,.08) !important;
  border-radius:50% !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_allergens .item_allergen_char {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  font-size:8.5px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-align:center !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .order_cost {
  flex:0 0 auto !important;
  margin-left:7px !important;
  white-space:nowrap !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .order_item_delete {
  flex:0 0 24px !important;
  min-width:24px !important;
  width:24px !important;
  margin-left:4px !important;
}

/* Completely independent allergen dialog. It never inherits .modal/.vertical_align. */
html.a4d16-modal-open,
html.a4d16-modal-open body {
  overflow:hidden !important;
}
#a4d16_allergen_panel[hidden] { display:none !important; }
#a4d16_allergen_panel.a4d16-allergen-panel {
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
  box-sizing:border-box !important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
}
#a4d16_allergen_panel .a4d16-allergen-backdrop {
  position:absolute !important;
  inset:0 !important;
  background:rgba(18,24,43,.58) !important;
}
#a4d16_allergen_panel .a4d16-allergen-card {
  position:relative !important;
  z-index:1 !important;
  display:flex !important;
  flex-direction:column !important;
  width:min(470px,100%) !important;
  max-height:min(720px,calc(100dvh - 36px)) !important;
  min-height:260px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid var(--a4d16-line) !important;
  border-top:4px solid var(--a4d16-orange) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 28px 80px rgba(16,24,40,.28) !important;
  overflow:hidden !important;
  filter:none !important;
  -webkit-filter:none !important;
  transform:none !important;
}
#a4d16_allergen_panel .a4d16-allergen-header {
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:15px 16px !important;
  border-bottom:1px solid var(--a4d16-line) !important;
  background:#fff !important;
}
#a4d16_allergen_panel .a4d16-allergen-header h2 {
  margin:0 !important;
  color:var(--a4d16-ink) !important;
  font-size:19px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
}
#a4d16_allergen_panel .a4d16-allergen-header p {
  margin:3px 0 0 !important;
  color:var(--a4d16-muted) !important;
  font-size:12px !important;
  line-height:1.25 !important;
}
#a4d16_allergen_panel .a4d16-allergen-body {
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  padding:14px 16px 18px !important;
  background:#fff !important;
  color:var(--a4d16-text) !important;
  filter:none !important;
  -webkit-filter:none !important;
}
#a4d16_allergen_panel .a4d16-allergen-loading {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:180px !important;
  color:var(--a4d16-muted) !important;
  font-size:13px !important;
}
#a4d16_allergen_panel .a4d16-allergen-body table {
  width:100% !important;
  margin:0 !important;
  border-collapse:separate !important;
  border-spacing:0 8px !important;
  table-layout:auto !important;
}
#a4d16_allergen_panel .a4d16-allergen-body tr {
  background:var(--a4d16-panel) !important;
}
#a4d16_allergen_panel .a4d16-allergen-body td {
  padding:8px 9px !important;
  vertical-align:middle !important;
  color:var(--a4d16-text) !important;
  font-size:13px !important;
  line-height:1.25 !important;
}
#a4d16_allergen_panel .a4d16-allergen-body td:first-child {
  width:46px !important;
  border-radius:10px 0 0 10px !important;
  text-align:center !important;
}
#a4d16_allergen_panel .a4d16-allergen-body td:last-child {
  border-radius:0 10px 10px 0 !important;
}
#a4d16_allergen_panel .item_allergens_allergy_col {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:stretch !important;
  width:46px !important;
  min-width:46px !important;
  text-align:center !important;
}
#a4d16_allergen_panel .item_allergens_desc_col {
  display:flex !important;
  align-items:center !important;
  align-self:stretch !important;
  min-width:0 !important;
  width:auto !important;
  text-align:left !important;
}
#a4d16_allergen_panel .item_allergens_allergy_col p,
#a4d16_allergen_panel .item_allergen {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  height:34px !important;
  min-height:34px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:50% !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-align:center !important;
}
#a4d16_allergen_panel .item_allergens_desc_col p {
  margin:0 !important;
  padding:0 !important;
  color:var(--a4d16-text) !important;
  font-size:16px !important;
  line-height:1.4 !important;
}

@media (max-width:700px) {
  body.location_body :is(#basket_area_small,#basket_area_full) .qnt_change_container {
    flex-basis:46px !important;
    width:46px !important;
    min-width:46px !important;
    max-width:46px !important;
    height:30px !important;
    min-height:30px !important;
  }
  body.location_body :is(#basket_area_small,#basket_area_full) .qnt_change_container select,
  body.location_body :is(#basket_area_small,#basket_area_full) select.a4d_basket_qty_select {
    font-size:12px !important;
    line-height:28px !important;
    padding-left:9px !important;
  }
  body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_item_name {
    font-size:12.5px !important;
  }

  #a4d16_allergen_panel.a4d16-allergen-panel {
    align-items:stretch !important;
    justify-content:stretch !important;
    padding:0 !important;
    background:#fff !important;
  }
  #a4d16_allergen_panel .a4d16-allergen-backdrop { display:none !important; }
  #a4d16_allergen_panel .a4d16-allergen-card {
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    min-height:100dvh !important;
    border:0 !important;
    border-top:3px solid var(--a4d16-orange) !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  #a4d16_allergen_panel .a4d16-allergen-header {
    position:sticky !important;
    top:0 !important;
    z-index:2 !important;
    min-height:62px !important;
    padding:12px 14px !important;
  }
  #a4d16_allergen_panel .a4d16-allergen-header h2 { font-size:18px !important; }
  #a4d16_allergen_panel .a4d16-allergen-body {
    padding:12px 13px max(18px,env(safe-area-inset-bottom)) !important;
  }
}

/* =====================================================================
   ASK4DISH LINKED-QUESTION + DIALOG POLISH V17
   Cache revision: 20260907-linked-dialogs-v17
   ===================================================================== */
body.location_body {
  --a4d17-orange:var(--a4d-orange);
  --a4d17-orange-dark:var(--a4d-orange-deep);
  --a4d17-orange-soft:var(--a4d-orange-soft);
  --a4d17-ink:#12182b;
  --a4d17-text:#344054;
  --a4d17-muted:#667085;
  --a4d17-line:#e6eaf0;
  --a4d17-panel:#f7f8fa;
}

/* The legacy .modal rule draws orange bars across the full viewport. They are
   not part of the new Ask4Dish dialog language, so remove them everywhere. */
body.location_body .modal {
  border-top:0 !important;
  border-bottom:0 !important;
}

/* Existing modal cards: clean neutral outline, no top/bottom accent bars. */
body.location_body .modal:not(.a4d13-extras-modal):not(#checkout-dialog) .modal-content {
  border:1px solid var(--a4d17-line) !important;
  border-top:1px solid var(--a4d17-line) !important;
  border-bottom:1px solid var(--a4d17-line) !important;
  border-radius:18px !important;
  background:#fff !important;
  color:var(--a4d17-text) !important;
  box-shadow:0 24px 70px rgba(16,24,40,.22) !important;
}
body.location_body .modal:not(.a4d13-extras-modal) .modal-content::before,
body.location_body .modal:not(.a4d13-extras-modal) .modal-content::after {
  display:none !important;
  content:none !important;
}
body.location_body .modal:not(.a4d13-extras-modal):not(#checkout-dialog) .modal-header {
  border:0 !important;
  border-bottom:0 !important;
  background:#fff !important;
}
body.location_body .modal:not(.a4d13-extras-modal):not(#checkout-dialog) .modal-body {
  border:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  background:#fff !important;
}

/* Main simple dialogs use one centred responsive card. Business logic and the
   existing button onclicks remain untouched. */
body.location_body :is(
  #order_processing,
  #failed_responses,
  #add_basket_confirmation,
  #cancel_order_sure,
  #order_del_item_sure,
  #logout_sure,
  #remove_account_sure,
  #goto_login,
  #dm_card_modal
) {
  position:fixed !important;
  inset:0 !important;
  z-index:var(--z-index-alerts) !important;
  top:0 !important;
  left:0 !important;
  width:100vw !important;
  height:100dvh !important;
  max-height:none !important;
  margin:0 !important;
  padding:16px !important;
  transform:none !important;
  -webkit-transform:none !important;
  overflow:auto !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(18,24,43,.52) !important;
  backdrop-filter:blur(2px) !important;
  -webkit-backdrop-filter:blur(2px) !important;
  box-sizing:border-box !important;
}
body.location_body :is(
  #order_processing,
  #failed_responses,
  #add_basket_confirmation,
  #cancel_order_sure,
  #order_del_item_sure,
  #logout_sure,
  #remove_account_sure,
  #goto_login,
  #dm_card_modal
)[style*="display: block"],
body.location_body :is(
  #order_processing,
  #failed_responses,
  #add_basket_confirmation,
  #cancel_order_sure,
  #order_del_item_sure,
  #logout_sure,
  #remove_account_sure,
  #goto_login,
  #dm_card_modal
)[style*="display:block"] {
  display:flex !important;
}
body.location_body :is(
  #order_processing,
  #failed_responses,
  #add_basket_confirmation,
  #cancel_order_sure,
  #order_del_item_sure,
  #logout_sure,
  #remove_account_sure,
  #goto_login,
  #dm_card_modal
) .modal-content {
  position:relative !important;
  top:auto !important;
  left:auto !important;
  transform:none !important;
  -webkit-transform:none !important;
  width:min(430px,100%) !important;
  max-width:430px !important;
  height:auto !important;
  min-height:0 !important;
  max-height:calc(100dvh - 32px) !important;
  margin:auto !important;
  padding:0 !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  border:1px solid var(--a4d17-line) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 24px 70px rgba(16,24,40,.24) !important;
}
body.location_body :is(
  #order_processing,
  #failed_responses,
  #add_basket_confirmation,
  #cancel_order_sure,
  #order_del_item_sure,
  #logout_sure,
  #remove_account_sure,
  #goto_login,
  #dm_card_modal
) .modal-header {
  min-height:0 !important;
  margin:0 !important;
  padding:18px 18px 7px !important;
  border:0 !important;
  background:#fff !important;
}
body.location_body :is(
  #order_processing,
  #failed_responses,
  #add_basket_confirmation,
  #cancel_order_sure,
  #order_del_item_sure,
  #logout_sure,
  #remove_account_sure,
  #goto_login,
  #dm_card_modal
) .modal_header {
  color:var(--a4d17-ink) !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
}
body.location_body :is(
  #order_processing,
  #failed_responses,
  #add_basket_confirmation,
  #cancel_order_sure,
  #order_del_item_sure,
  #logout_sure,
  #remove_account_sure,
  #goto_login,
  #dm_card_modal
) .modal-body {
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:12px 18px 18px !important;
  border:0 !important;
  background:#fff !important;
  color:var(--a4d17-text) !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
/* Accepted-order confirmation card. This replaces the old generic
   #order_processing body styling so the success state has one dedicated,
   non-conflicting component instead of stacked overrides. */
body.location_body #order_processing #orderProcessing {
  width:100% !important;
}
body.location_body #order_processing #orderProcessing > table {
  width:100% !important;
  margin:0 !important;
}
body.location_body #order_processing #orderProcessing .modal-content {
  width:min(460px,100%) !important;
  max-width:460px !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch;
  border:1px solid #e7eaf0 !important;
  border-top:4px solid var(--a4d17-orange) !important;
  border-radius:22px !important;
  box-shadow:0 24px 70px rgba(16,24,40,.24) !important;
}
body.location_body #order_processing #orderProcessing .modal-header {
  padding:24px 24px 10px !important;
  background:#fff !important;
}
body.location_body #order_processing #orderProcessing .modal_header {
  display:table-cell !important;
  width:auto !important;
  padding:0 !important;
  text-align:center !important;
  vertical-align:middle !important;
}
body.location_body #order_processing .a4d-order-confirmed-heading {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
}
body.location_body #order_processing .a4d-order-confirmed-brand {
  width:164px;
  height:56px;
  margin:16px auto;
  background:url("../IMAGES/IMG-9686-5.png") center/contain no-repeat;
}
body.location_body #order_processing .a4d-order-confirmed-check {
  display:grid;
  place-items:center;
  width:68px;
  height:68px;
  margin:4px auto 0;
  border-radius:50%;
  background:#ecfdf3;
  border:5px solid rgba(34,197,94,.10);
  box-shadow:0 10px 24px rgba(34,197,94,.12);
  color:#16a34a;
  font-size:38px;
  line-height:1;
  font-weight:900;
}
body.location_body #order_processing .a4d-order-confirmed-title {
  color:var(--a4d17-ink);
  font-size:29px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.45px;
}
body.location_body #order_processing #orderProcessing .modal-body {
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:4px 22px 22px !important;
  text-align:left !important;
}
body.location_body #order_processing .a4d-order-confirmed {
  width:100%;
  max-width:none;
  margin:0;
  color:var(--a4d17-text);
}
body.location_body #order_processing .a4d-order-confirmed-lead {
  max-width:340px;
  margin:0 auto 18px;
  color:var(--a4d17-muted);
  font-size:15px;
  line-height:1.45;
  text-align:center;
}
body.location_body #order_processing .a4d-order-confirmed-summary {
  overflow:hidden;
  margin:0 0 14px;
  border:1px solid #edf0f4;
  border-radius:16px;
  background:#f8fafc;
}
body.location_body #order_processing .a4d-order-confirmed-row {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:62px;
  padding:10px 14px;
  border-bottom:1px solid #e9edf2;
}
body.location_body #order_processing .a4d-order-confirmed-row:last-child {
  border-bottom:0;
}
body.location_body #order_processing .a4d-order-confirmed-icon,
body.location_body #order_processing .a4d-order-confirmed-eta-icon,
body.location_body #order_processing .a4d-order-confirmed-update-icon {
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
body.location_body #order_processing .a4d-order-confirmed-icon {
  width:34px;
  height:34px;
  color:#596579;
}
body.location_body #order_processing .a4d-order-confirmed-icon svg,
body.location_body #order_processing .a4d-order-confirmed-eta-icon svg,
body.location_body #order_processing .a4d-order-confirmed-update-icon svg {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.location_body #order_processing .a4d-order-confirmed-row-copy,
body.location_body #order_processing .a4d-order-confirmed-eta-copy {
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:1px;
}
body.location_body #order_processing .a4d-order-confirmed-row-label,
body.location_body #order_processing .a4d-order-confirmed-eta-copy > span {
  color:var(--a4d17-muted);
  font-size:12px;
  line-height:1.25;
  font-weight:700;
}
body.location_body #order_processing .a4d-order-confirmed-row-copy strong {
  overflow-wrap:anywhere;
  color:var(--a4d17-ink) !important;
  font-size:16px !important;
  line-height:1.3 !important;
  font-weight:850 !important;
}
body.location_body #order_processing .a4d-order-confirmed-eta {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 12px;
  padding:14px;
  border:1px solid #ffd8bd;
  border-radius:16px;
  background:var(--a4d-orange-soft);
}
body.location_body #order_processing .a4d-order-confirmed-eta-icon {
  width:42px;
  height:42px;
  border-radius:12px;
  background:#fff;
  color:var(--a4d17-orange);
  box-shadow:0 4px 14px color-mix(in srgb, var(--a4d-orange) 10%, transparent);
}
body.location_body #order_processing .a4d-order-confirmed-eta-copy strong {
  color:var(--a4d17-ink) !important;
  font-size:18px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
}
body.location_body #order_processing .a4d-order-confirmed-update {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0 0 16px;
  color:#667085;
  font-size:13px;
  line-height:1.35;
  text-align:center;
}
body.location_body #order_processing .a4d-order-confirmed-update-icon {
  width:24px;
  height:24px;
  color:#667085;
}
body.location_body #order_processing .a4d-order-confirmed-update-icon svg {
  width:19px;
  height:19px;
}
body.location_body #order_processing .a4d-order-confirmed-button {
  display:block !important;
  width:100% !important;
  min-height:48px !important;
  margin:0 !important;
  padding:12px 18px !important;
  border:1px solid var(--a4d17-orange) !important;
  border-radius:13px !important;
  background:var(--a4d17-orange) !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  box-shadow:0 8px 20px color-mix(in srgb, var(--a4d-orange) 20%, transparent) !important;
}
body.location_body #order_processing .a4d-order-confirmed-button:active {
  transform:translateY(1px);
}
@media (max-width:480px) {
  body.location_body #order_processing #orderProcessing .modal-content {
    border-radius:18px !important;
  }
  body.location_body #order_processing #orderProcessing .modal-header {
    padding:16px 18px 5px !important;
  }
  body.location_body #order_processing #orderProcessing .modal-body {
    padding:4px 16px 16px !important;
  }
  body.location_body #order_processing .a4d-order-confirmed-brand {
    width:142px;
    height:48px;
  }
  body.location_body #order_processing .a4d-order-confirmed-check {
    width:60px;
    height:60px;
    font-size:34px;
  }
  body.location_body #order_processing .a4d-order-confirmed-title {
    font-size:26px;
  }
  body.location_body #order_processing .a4d-order-confirmed-lead {
    margin-bottom:14px;
    font-size:14px;
  }
  body.location_body #order_processing .a4d-order-confirmed-row {
    min-height:56px;
    padding:9px 12px;
  }
  body.location_body #order_processing .a4d-order-confirmed-eta {
    padding:12px;
  }
}
body.location_body :is(
  #order_processing,
  #failed_responses,
  #add_basket_confirmation,
  #cancel_order_sure,
  #order_del_item_sure,
  #logout_sure,
  #remove_account_sure,
  #goto_login,
  #dm_card_modal
) :is(button:not(.close),input[type="button"],input[type="submit"]) {
  box-sizing:border-box !important;
  min-height:42px !important;
  padding:9px 16px !important;
  border:1px solid #d0d5dd !important;
  border-radius:11px !important;
  background:#fff !important;
  color:var(--a4d17-ink) !important;
  font-family:inherit !important;
  font-size:13px !important;
  line-height:1.1 !important;
  font-weight:850 !important;
  box-shadow:none !important;
}
body.location_body #order_processing :is(button:not(.close),input[type="button"],input[type="submit"]),
body.location_body #failed_responses :is(button:not(.close),input[type="button"],input[type="submit"]),
body.location_body #dm_card_modal :is(button:not(.close),input[type="button"],input[type="submit"]) {
  border-color:var(--a4d17-orange) !important;
  background:var(--a4d17-orange) !important;
  color:#fff !important;
  box-shadow:0 7px 18px color-mix(in srgb, var(--a4d-orange) 18%, transparent) !important;
}

/* Extras is a dedicated page on phones, so it also loses the old accent line. */
@media (max-width:700px) {
  body.location_body .a4d13-extras-card,
  body.location_body [id^="itemextras_"] .modal-content {
    border-top:0 !important;
    border-bottom:0 !important;
  }

  body.location_body :is(
    #order_processing,
    #failed_responses,
    #add_basket_confirmation,
    #cancel_order_sure,
    #order_del_item_sure,
    #logout_sure,
    #remove_account_sure,
    #goto_login,
    #dm_card_modal
  ) {
    padding:12px !important;
  }
  body.location_body :is(
    #order_processing,
    #failed_responses,
    #add_basket_confirmation,
    #cancel_order_sure,
    #order_del_item_sure,
    #logout_sure,
    #remove_account_sure,
    #goto_login,
    #dm_card_modal
  ) .modal-content {
    width:100% !important;
    max-width:420px !important;
    max-height:calc(100dvh - 24px) !important;
    border-radius:16px !important;
  }
}

/* No decorative top/bottom rules on the modern extras/allergen cards either. */
body.location_body .a4d13-extras-card {
  border-top:1px solid var(--a4d17-line) !important;
  border-bottom:1px solid var(--a4d17-line) !important;
}
#a4d16_allergen_panel .a4d16-allergen-card {
  border-top:1px solid var(--a4d17-line) !important;
  border-bottom:1px solid var(--a4d17-line) !important;
}
@media (max-width:700px) {
  body.location_body .a4d13-extras-card {
    border:0 !important;
  }
}


/* =====================================================================
   ASK4DISH MENU INTERACTION FIXES V18
   ===================================================================== */
body.location_body #cat_table {
  scroll-behavior:smooth !important;
  scroll-snap-type:none !important;
}
body.location_body :is(.cat_button_text,.cat_button_text_selected) {
  transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease !important;
  transform:none !important;
}

body.location_body .clear_search {
  display:inline-grid !important;
  place-items:center !important;
  flex:0 0 30px !important;
  width:30px !important;
  min-width:30px !important;
  height:30px !important;
  min-height:30px !important;
  font-size:20px !important;
  line-height:1 !important;
  cursor:pointer !important;
}
body.location_body .clear_search[hidden] { display:none !important; }

body.location_body.a4d_search_active #scrolling_items .items_for_cat { display:none !important; }
body.location_body.a4d_search_active #search_results { display:block !important; }
body.location_body #search_results:empty { display:none !important; }
body.location_body .a4d_search_results_wrap {
  display:grid !important;
  gap:14px !important;
  padding:4px 0 24px !important;
}
body.location_body .a4d_search_result_item {
  position:relative !important;
  margin:0 !important;
  border:1px solid #e8ebef !important;
  border-radius:14px !important;
  background:#fff !important;
  overflow:hidden !important;
  box-shadow:0 3px 12px rgba(15,23,42,.04) !important;
}
body.location_body .a4d_search_result_item > .full_width {
  position:relative !important;
  padding-right:48px !important;
  cursor:pointer !important;
}
body.location_body .a4d_search_result_item > .full_width:focus-visible {
  outline:2px solid var(--a4d-orange) !important;
  outline-offset:-2px !important;
}
body.location_body .a4d_search_add {
  position:absolute !important;
  right:12px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:30px !important;
  height:30px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:var(--a4d-orange-soft) !important;
  color:var(--a4d-orange) !important;
  font-size:23px !important;
  line-height:1 !important;
  font-weight:700 !important;
}
body.location_body .a4d_search_empty {
  padding:28px 16px !important;
  border:1px dashed #d9dee7 !important;
  border-radius:14px !important;
  color:#667085 !important;
  text-align:center !important;
  font-size:14px !important;
}

body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_qty_stepper {
  display:grid !important;
  grid-template-columns:28px 26px 28px !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  width:82px !important;
  min-width:82px !important;
  max-width:82px !important;
  height:30px !important;
  min-height:30px !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid #e2e6ec !important;
  border-radius:999px !important;
  background:#fff !important;
  box-shadow:0 2px 7px rgba(15,23,42,.05) !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_qty_btn {
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--a4d-orange) !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:800 !important;
  cursor:pointer !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_qty_btn:disabled {
  color:#c9ced6 !important;
  cursor:default !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_qty_value {
  display:grid !important;
  place-items:center !important;
  width:26px !important;
  height:28px !important;
  color:#172033 !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:850 !important;
  text-align:center !important;
}

#a4d16_allergen_panel .a4d16-allergen-close {
  position:relative !important;
  z-index:5 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
}
#a4d16_allergen_panel .a4d16-allergen-backdrop {
  pointer-events:auto !important;
}

body.location_body .customer_login_container .a4d_account_initials {
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  width:38px !important;
  min-width:38px !important;
  height:38px !important;
  min-height:38px !important;
  margin:0 !important;
  border:1.5px solid color-mix(in srgb, var(--a4d-orange) 65%, transparent) !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--a4d-orange) !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
  box-sizing:border-box !important;
}
body.location_body .customer_login_container .a4d_account_status_dot {
  position:absolute !important;
  right:-1px !important;
  bottom:1px !important;
  width:9px !important;
  height:9px !important;
  border:2px solid #fff !important;
  border-radius:50% !important;
  background:#16a34a !important;
  box-sizing:border-box !important;
}

body.location_body .customer_login_container.a4d_has_account_initials img { display:none !important; }


/* =====================================================================
   ASK4DISH BASKET LEFT-QUANTITY + ALLERGEN CLOSE FIX V19
   Cache revision: 20260907-basket-leftqty-allergen-v19
   ===================================================================== */

/* Basket style chosen by user: item name/price first, quantity control on
   its own left-aligned row beneath the title, delete aligned to the right. */
body.location_body :is(#basket_area_small,#basket_area_full) .order_item > .flexdiv {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:
    "name cost"
    "qty delete" !important;
  column-gap:14px !important;
  row-gap:8px !important;
  align-items:center !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .order_item > .flexdiv > .order_name {
  grid-area:name !important;
  align-self:center !important;
  min-width:0 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .order_item > .flexdiv > .order_cost {
  grid-area:cost !important;
  justify-self:end !important;
  align-self:center !important;
  margin:0 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .order_item > .flexdiv > .a4d_basket_qty_stepper {
  grid-area:qty !important;
  justify-self:start !important;
  align-self:center !important;
  margin:0 !important;
  width:82px !important;
  min-width:82px !important;
  max-width:82px !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .order_item > .flexdiv > .order_item_delete {
  grid-area:delete !important;
  justify-self:end !important;
  align-self:center !important;
  margin:0 !important;
}

/* The previous [hidden] rule had equal specificity to the panel's flex rule,
   so the later display:flex!important could keep the allergen page visible.
   This stronger final rule guarantees hidden really means hidden. */
#a4d16_allergen_panel.a4d16-allergen-panel[hidden] {
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Keep the user's preferred logged-in treatment: initials only, centred. */
body.location_body .customer_login_container.a4d_has_account_initials {
  display:grid !important;
  place-items:center !important;
}
body.location_body .customer_login_container.a4d_has_account_initials > .headers_img_loggedin,
body.location_body .customer_login_container.a4d_has_account_initials::after,
body.location_body .customer_login_container.a4d_has_account_initials .a4d_account_status_dot {
  display:none !important;
}
body.location_body .customer_login_container.a4d_has_account_initials .a4d_account_initials {
  margin:auto !important;
}


/* =====================================================================
   ASK4DISH V20 - extras validation, offer nudge, basket extra wrapping
   Cache revision: 20260907-basket-leftqty-allergen-v20
   ===================================================================== */

body.location_body .a4d13-question.a4d_missing_required {
  border-color:var(--a4d-orange) !important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--a4d-orange) 14%, transparent) !important;
  animation:a4d_required_pulse .38s ease 1;
}
body.location_body .a4d_extras_inline_warning {
  display:block !important;
  margin:10px 0 4px !important;
  padding:10px 12px !important;
  border:1px solid color-mix(in srgb, var(--a4d-orange) 26%, transparent) !important;
  border-left:4px solid var(--a4d-orange) !important;
  border-radius:10px !important;
  background:var(--a4d-orange-soft) !important;
  color:#9a3412 !important;
  font-size:12.5px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
}
body.location_body .a4d_extras_inline_warning[hidden] { display:none !important; }
@keyframes a4d_required_pulse {
  0% { transform:translateX(0); }
  20% { transform:translateX(-4px); }
  40% { transform:translateX(4px); }
  60% { transform:translateX(-3px); }
  80% { transform:translateX(3px); }
  100% { transform:translateX(0); }
}

body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_extra_row {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:8px !important;
  align-items:start !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:4px 0 0 !important;
  box-sizing:border-box !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_extra_main {
  display:grid !important;
  grid-template-columns:24px minmax(0,1fr) !important;
  gap:6px !important;
  min-width:0 !important;
  max-width:100% !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_extra_row .extras_order_qnt {
  padding:0 !important;
  min-width:0 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_extra_row .extras_order_name {
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_extra_row .extras_order_cost {
  white-space:nowrap !important;
  min-width:max-content !important;
  padding-left:4px !important;
}

body.location_body :is(#basket_area_small,#basket_area_full) .basket-offer-nudge {
  background:transparent !important;
  border:0 !important;
  margin:10px 0 0 !important;
  padding:0 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_offer_nudge_card {
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  padding:11px 12px !important;
  border:1px solid color-mix(in srgb, var(--a4d-orange) 18%, transparent) !important;
  border-left:4px solid var(--a4d-orange) !important;
  border-radius:12px !important;
  background:linear-gradient(180deg,var(--a4d-orange-soft) 0%, var(--a4d-orange-soft) 100%) !important;
  box-shadow:0 6px 18px rgba(17,24,39,.06) !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_offer_nudge_top {
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:14px !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_offer_nudge_kicker {
  color:#c2410c !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_offer_nudge_title {
  margin-top:2px !important;
  color:#172033 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_offer_nudge_meta {
  margin-top:4px !important;
  color:#667085 !important;
  font-size:11.5px !important;
  line-height:1.3 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_offer_nudge_badge {
  flex:0 0 auto !important;
  padding:6px 8px !important;
  border-radius:999px !important;
  background:var(--a4d-orange) !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_offer_nudge_progress {
  position:relative !important;
  width:100% !important;
  height:8px !important;
  border-radius:999px !important;
  background:color-mix(in srgb, var(--a4d-orange) 12%, transparent) !important;
  overflow:hidden !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_offer_nudge_progress > span {
  display:block !important;
  height:100% !important;
  border-radius:inherit !important;
  background:var(--a4d-orange) !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_offer_nudge_action {
  min-height:38px !important;
  padding:8px 12px !important;
  border:0 !important;
  border-radius:10px !important;
  background:var(--a4d-orange) !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

#a4d16_allergen_panel,
#a4d16_allergen_panel * {
  touch-action:manipulation;
}


/* =====================================================================
   ASK4DISH V21 - basket extras wrap + search focus fixes
   Cache revision: 20260907-basket-search-v21
   ===================================================================== */
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_order_item_wrap,
body.location_body :is(#basket_area_small,#basket_area_full) .order_item {
  width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_extra_row {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:start !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:4px 0 0 !important;
  padding:0 0 0 40px !important;
  box-sizing:border-box !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_extra_main {
  display:grid !important;
  grid-template-columns:22px minmax(0,1fr) !important;
  align-items:start !important;
  gap:6px !important;
  min-width:0 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_extra_row .extras_order_qnt {
  padding:0 !important;
  min-width:0 !important;
  color:#667085 !important;
  font-weight:700 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_extra_row .extras_order_name {
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  line-height:1.28 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_extra_row .extras_order_cost {
  min-width:max-content !important;
  white-space:nowrap !important;
  justify-self:end !important;
  text-align:right !important;
  padding-left:4px !important;
}
/* Disable old extras row layout when new markup is present. */
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_extra_row .extras_container,
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_extra_row .extras_item_container,
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_extra_row .order_item_delete {
  display:none !important;
}
body.location_body .a4d13-extra-filter,
body.location_body .a4d_all_categories_search,
body.location_body .search_input {
  -webkit-user-select:text !important;
  user-select:text !important;
}


/* =====================================================================
   ASK4DISH V22 - APPROVED IPHONE COMPACT CHECKOUT BAR
   Cache revision: 20260907-compact-checkout-v22
   ===================================================================== */

/* The basket list remains the flexible/scrolling area. The footer stays small. */
body.location_body #basket_area_full .basket_block {
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

body.location_body #basket_area_full .totals_container {
  display:grid !important;
  grid-template-columns:minmax(86px,.34fr) minmax(0,.66fr) !important;
  grid-template-areas:
    "offer offer"
    "drawer drawer"
    "total actions" !important;
  gap:8px 10px !important;
  align-items:center !important;
  flex:0 0 auto !important;
  padding:9px 12px max(10px, calc(10px + env(safe-area-inset-bottom))) !important;
  border-top:1px solid #e7ebf0 !important;
  background:#fff !important;
  box-shadow:0 -8px 24px rgba(15,23,42,.08) !important;
}

body.location_body #basket_area_full .totals_container > div:first-child {
  grid-area:total !important;
  min-width:0 !important;
}
body.location_body #basket_area_full .order_info_container {
  grid-area:actions !important;
  min-width:0 !important;
}
body.location_body #basket_area_full .avail-offers-container-location {
  grid-area:drawer !important;
  min-width:0 !important;
}
body.location_body #basket_area_full .basket-offer-nudge {
  grid-area:offer !important;
  min-width:0 !important;
}

/* Total is deliberately one compact block, not a large vertical section. */
body.location_body #basket_area_full .order_total_amount {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:1px !important;
  margin:0 !important;
  min-height:44px !important;
}
body.location_body #basket_area_full .basket_total_title {
  color:#667085 !important;
  font-size:10.5px !important;
  line-height:1 !important;
  font-weight:750 !important;
  text-transform:none !important;
}
body.location_body #basket_area_full .basket_total_title::first-letter { text-transform:uppercase !important; }
body.location_body #basket_area_full .basket_total_val {
  color:#12182b !important;
  font-size:18px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

/* Cancel + checkout stay visible at all times. */
body.location_body #basket_area_full .order_buttons,
body.location_body #basket_area_full .order_buttons_container {
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
body.location_body #basket_area_full .order_buttons_container {
  display:grid !important;
  grid-template-columns:78px minmax(0,1fr) !important;
  gap:8px !important;
}
body.location_body #basket_area_full .order_cancel_button,
body.location_body #basket_area_full .order_submit_button {
  min-width:0 !important;
}
body.location_body #basket_area_full :is(.action_order_button_cancel,.action_order_button_submit) {
  width:100% !important;
  min-height:44px !important;
  margin:0 !important;
  padding:8px 9px !important;
  border-radius:11px !important;
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:850 !important;
}
body.location_body #basket_area_full .action_order_button_cancel {
  border:1px solid #dde3ea !important;
  background:#f8fafc !important;
  color:#263244 !important;
}
body.location_body #basket_area_full .action_order_button_submit {
  border:1px solid var(--a4d-orange) !important;
  background:var(--a4d-orange) !important;
  color:#fff !important;
  box-shadow:none !important;
}

/* Compact closed offer row. One small strip, as approved. */
body.location_body #basket_area_full .basket-offer-nudge {
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
body.location_body #basket_area_full .basket-offer-nudge[hidden] { display:none !important; }
body.location_body #basket_area_full .a4d_compact_offer_trigger {
  display:grid !important;
  grid-template-columns:28px minmax(0,1fr) 22px !important;
  align-items:center !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  min-height:50px !important;
  margin:0 !important;
  padding:7px 8px !important;
  border:1px solid #ffd6b8 !important;
  border-radius:11px !important;
  background:var(--a4d-orange-soft) !important;
  color:#12182b !important;
  text-align:left !important;
  cursor:pointer !important;
  box-sizing:border-box !important;
}
body.location_body #basket_area_full .a4d_compact_offer_gift {
  display:grid !important;
  place-items:center !important;
  width:28px !important;
  height:28px !important;
  border-radius:8px !important;
  background:var(--a4d-orange-soft) !important;
  color:var(--a4d-orange) !important;
  font-size:17px !important;
  font-weight:900 !important;
}
body.location_body #basket_area_full .a4d_compact_offer_copy {
  display:block !important;
  min-width:0 !important;
}
body.location_body #basket_area_full .a4d_compact_offer_copy > strong {
  display:block !important;
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
}
body.location_body #basket_area_full .a4d_compact_offer_detail {
  display:block !important;
  margin-top:2px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#667085 !important;
  font-size:10px !important;
  line-height:1.15 !important;
}
body.location_body #basket_area_full .a4d_compact_offer_progress {
  display:block !important;
  width:min(180px,100%) !important;
  height:5px !important;
  margin-top:5px !important;
  overflow:hidden !important;
  border-radius:99px !important;
  background:#f0e2d6 !important;
}
body.location_body #basket_area_full .a4d_compact_offer_progress > span {
  display:block !important;
  height:100% !important;
  border-radius:inherit !important;
  background:var(--a4d-orange) !important;
}
body.location_body #basket_area_full .a4d_compact_offer_chevron {
  display:grid !important;
  place-items:center !important;
  color:#1f2937 !important;
  font-size:17px !important;
  line-height:1 !important;
  font-weight:900 !important;
}

/* Active offers are there, but take zero basket space until customer expands. */
body.location_body #basket_area_full .avail-offers-container-location {
  display:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.location_body #basket_area_full .totals_container.a4d_offers_expanded .avail-offers-container-location {
  display:block !important;
}
body.location_body #basket_area_full .a4d_active_offers_drawer_inner {
  padding:9px !important;
  border:1px solid #f0e2d6 !important;
  border-radius:12px !important;
  background:var(--a4d-orange-soft) !important;
}
body.location_body #basket_area_full .a4d_active_offers_header {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  margin-bottom:8px !important;
  color:#202939 !important;
  font-size:12px !important;
}
body.location_body #basket_area_full .a4d_active_offers_header > div {
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}
body.location_body #basket_area_full .a4d_active_offers_icon { color:var(--a4d-orange) !important; }
body.location_body #basket_area_full .a4d_active_offers_list {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:7px !important;
}
body.location_body #basket_area_full .a4d_active_offer_card {
  min-width:0 !important;
  padding:8px !important;
  border:1px solid #ebeef2 !important;
  border-radius:10px !important;
  background:#fff !important;
}
body.location_body #basket_area_full .a4d_active_offer_card.is-unlocked {
  border-color:#b7e5c7 !important;
  background:#f1fcf5 !important;
}
body.location_body #basket_area_full .a4d_active_offer_top {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:5px !important;
}
body.location_body #basket_area_full .a4d_active_offer_value {
  min-width:0 !important;
  color:#e63917 !important;
  font-size:12px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
body.location_body #basket_area_full .a4d_active_offer_scope {
  flex:0 0 auto !important;
  padding:3px 5px !important;
  border-radius:5px !important;
  color:#fff !important;
  font-size:8.5px !important;
  line-height:1 !important;
  font-weight:900 !important;
}
body.location_body #basket_area_full .a4d_active_offer_scope.is-cash { background:#14965b !important; }
body.location_body #basket_area_full .a4d_active_offer_scope.is-card { background:#316bd9 !important; }
body.location_body #basket_area_full .a4d_active_offer_meta {
  margin-top:5px !important;
  color:#667085 !important;
  font-size:9.5px !important;
  line-height:1.25 !important;
}
body.location_body #basket_area_full .a4d_active_offer_progress {
  height:5px !important;
  margin-top:6px !important;
  overflow:hidden !important;
  border-radius:99px !important;
  background:#e9edf2 !important;
}
body.location_body #basket_area_full .a4d_active_offer_progress > span {
  display:block !important;
  height:100% !important;
  border-radius:inherit !important;
  background:var(--a4d-orange) !important;
}
body.location_body #basket_area_full .a4d_active_offer_card.is-unlocked .a4d_active_offer_progress > span {
  background:#19a562 !important;
}

/* Remove legacy basket offer pills; the drawer above is now the source of truth. */
body.location_body #basket_area_full .avail-offers-container-location > .aob-offer-list { display:none !important; }
body.location_body #basket_area_full .avail-offers-container-location > .a4d_active_offers_drawer_inner { display:block !important; }

/* Search reliability / touch behavior. */
body.location_body :is(#search_input_text,.a4d_all_categories_search,.a4d13-extra-filter,.itemextras_order_filter) {
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:text !important;
  user-select:text !important;
}

@media (max-width:700px) {
  body.location_body #basket_area_full .totals_container {
    grid-template-columns:86px minmax(0,1fr) !important;
    gap:7px 8px !important;
    padding:8px 10px max(9px, calc(9px + env(safe-area-inset-bottom))) !important;
  }
  body.location_body #basket_area_full .a4d_compact_offer_trigger {
    min-height:48px !important;
    padding:6px 7px !important;
  }
  body.location_body #basket_area_full .a4d_active_offers_list {
    grid-template-columns:1fr !important;
    max-height:215px !important;
    overflow-y:auto !important;
  }
  body.location_body #basket_area_full .order_buttons_container {
    grid-template-columns:76px minmax(0,1fr) !important;
  }
  body.location_body #basket_area_full :is(.action_order_button_cancel,.action_order_button_submit) {
    min-height:43px !important;
    font-size:11.5px !important;
  }
  body.location_body #basket_area_full .basket_total_val { font-size:17px !important; }
}


/* Collapse unused grid rows so the closed footer never wastes vertical space. */
body.location_body #basket_area_full .totals_container:not(.a4d_has_offers) {
  grid-template-areas:"total actions" !important;
  grid-template-rows:auto !important;
}
body.location_body #basket_area_full .totals_container.a4d_has_offers:not(.a4d_offers_expanded) {
  grid-template-areas:
    "offer offer"
    "total actions" !important;
  grid-template-rows:auto auto !important;
}
body.location_body #basket_area_full .totals_container.a4d_has_offers.a4d_offers_expanded {
  grid-template-areas:
    "offer offer"
    "drawer drawer"
    "total actions" !important;
  grid-template-rows:auto auto auto !important;
}


/* =====================================================================
   ASK4DISH V23 - search reliability + compact basket refinement
   Cache revision: 20260907-compact-checkout-v23
   ===================================================================== */

/* Hidden must win for filtered search/category/extra rows. */
body.location_body .a4d13-extra-row[hidden],
body.location_body .a4d_all_categories_option[hidden],
body.location_body .searchable_item[hidden],
body.location_body .a4d_search_result_item[hidden] {
  display:none !important;
}

/* Remove the old giant bottom reserve now that footer is compact, not overlaying half the basket. */
body.location_body #basket_area_full .order_items,
body.location_body #basket_area_small .order_items {
  padding-bottom:8px !important;
}
body.location_body #basket_area_full .basket_block,
body.location_body #basket_area_small .basket_block {
  min-height:0 !important;
}

/* Basket typography requested at 15px across the basket UI. */
body.location_body :is(#basket_area_small,#basket_area_full) :is(
  .a4d_basket_heading,
  .a4d_basket_heading *,
  .allergen_button,
  .basket-pre-order,
  .basket_pre_order,
  .order_name,
  .order_name b,
  .order_cost,
  .extras_order_qnt,
  .extras_order_name,
  .extras_order_cost,
  .a4d_basket_edit_hint,
  .basket_total_title,
  .basket_total_val,
  .action_order_button_cancel,
  .action_order_button_submit,
  .a4d_compact_offer_copy > strong,
  .a4d_compact_offer_detail,
  .a4d_active_offers_header,
  .a4d_active_offer_value,
  .a4d_active_offer_meta,
  .a4d_active_offer_scope,
  .order_discount_title,
  .order_items,
  .a4d_basket_allergens,
  .a4d_basket_allergens *
) {
  font-size:15px !important;
  line-height:1.28 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_compact_offer_chevron,
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_compact_offer_gift,
body.location_body :is(#basket_area_small,#basket_area_full) .order_item_delete,
body.location_body :is(#basket_area_small,#basket_area_full) .basket_close {
  font-size:18px !important;
}
body.location_body #basket_area_full .a4d_compact_offer_trigger {
  grid-template-columns:26px minmax(0,1fr) 18px !important;
  min-height:46px !important;
  padding:6px 8px !important;
}
body.location_body #basket_area_full .a4d_compact_offer_gift {
  width:26px !important;
  height:26px !important;
  border-radius:7px !important;
}
body.location_body #basket_area_full .a4d_compact_offer_progress {
  width:100% !important;
  height:6px !important;
}
body.location_body #basket_area_full .totals_container {
  gap:6px 8px !important;
  padding:8px 8px max(8px, calc(8px + env(safe-area-inset-bottom))) !important;
}
body.location_body #basket_area_full .order_buttons_container {
  grid-template-columns:58px minmax(0,1fr) !important;
  gap:8px !important;
}
body.location_body #basket_area_full :is(.action_order_button_cancel,.action_order_button_submit) {
  min-height:38px !important;
  padding:7px 8px !important;
}
body.location_body #basket_area_full .a4d_active_offers_drawer_inner {
  padding:8px !important;
}
body.location_body #basket_area_full .a4d_active_offers_list {
  grid-template-columns:1fr !important;
}

/* Dialog-specific close button alignment. Keep the close control in normal
   header flow so it is vertically centred with the header text. */
body.location_body :is(#add_basket_confirmation, #cancel_order_sure, #order_del_item_sure, #logout_sure, #remove_account_sure) .modal-content,
body.location_body #failed_responses .modal-content {
  position:relative !important;
}
body.location_body :is(#add_basket_confirmation, #cancel_order_sure, #order_del_item_sure, #logout_sure, #remove_account_sure, #failed_responses) .modal-header {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}
body.location_body :is(#add_basket_confirmation, #cancel_order_sure, #order_del_item_sure, #logout_sure, #remove_account_sure, #failed_responses) .modal_header {
  flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  padding-right:0 !important;
}
body.location_body :is(#add_basket_confirmation, #cancel_order_sure, #order_del_item_sure, #logout_sure, #remove_account_sure, #failed_responses) .close {
  position:static !important;
  top:auto !important;
  right:auto !important;
  transform:none !important;
  -webkit-transform:none !important;
  margin:0 !important;
}

@media (max-width:700px) {
  body.location_body #basket_area_full .totals_container {
    grid-template-columns:72px minmax(0,1fr) !important;
  }
  body.location_body #basket_area_full .order_buttons_container {
    grid-template-columns:56px minmax(0,1fr) !important;
  }
}


/* =====================================================================
   ASK4DISH V24 - extras search scoped to current question
   Cache revision: 20260907-extras-search-v24
   ===================================================================== */
body.location_body .a4d_extras_search_empty {
  margin:10px 0 4px !important;
  padding:14px 12px !important;
  border:1px dashed #d0d5dd !important;
  border-radius:10px !important;
  background:#f8fafc !important;
  color:#667085 !important;
  font-size:14px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  text-align:center !important;
}
body.location_body .a4d_extras_search_empty[hidden] {
  display:none !important;
}


/* =====================================================================
   ASK4DISH V25 - CONFIGURED ITEM TOTALS IN BASKET
   Cache revision: 20260907-configured-item-total-v25
   ===================================================================== */

/* Main price now represents base item + all selected extras. */
body.location_body :is(#basket_area_small,#basket_area_full) .order_cost {
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

/* Short explanation beneath the item title: £25 + £4 extras / 2 × £29 each. */
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_price_breakdown {
  margin:5px 0 2px 40px !important;
  color:#667085 !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:650 !important;
  text-align:left !important;
}

/* Explicit base-price row makes the selected-options breakdown add up visually. */
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_base_row {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:start !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:5px 0 0 !important;
  padding:5px 0 2px 40px !important;
  box-sizing:border-box !important;
  color:#475467 !important;
  font-size:15px !important;
  line-height:1.28 !important;
  text-align:left !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_base_row > span {
  min-width:0 !important;
  overflow-wrap:anywhere !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_base_row > strong {
  white-space:nowrap !important;
  color:#344054 !important;
  font-size:15px !important;
  font-weight:800 !important;
}

@media (max-width:700px) {
  body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_price_breakdown,
  body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_base_row {
    margin-left:0 !important;
    padding-left:40px !important;
  }
}


/* =====================================================================
   ASK4DISH V26 - basket clarity, centered category search, account polish
   Cache revision: 20260907-basket-category-account-v26
   ===================================================================== */

/* Basket cancel must remain a real readable action, not a cramped chip. */
body.location_body #basket_area_full .order_buttons_container {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 8px !important;
}
body.location_body #basket_area_full .action_order_button_cancel {
    min-width: 82px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    white-space: nowrap !important;
}

/* Base price + extras are deliberately separated so customers can see the
   underlying item price before paid options. */
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_basket_price_breakdown {
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:5px !important;
    margin-top:6px !important;
    color:#475467 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_price_chip {
    display:inline-flex !important;
    align-items:center !important;
    min-height:24px !important;
    padding:3px 7px !important;
    border-radius:7px !important;
    font-size:12.5px !important;
    line-height:1.15 !important;
    font-weight:850 !important;
    white-space:nowrap !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_price_chip_base {
    border:1px solid #ffb978 !important;
    background:var(--a4d-orange-soft) !important;
    color:#a84500 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_price_chip_extras {
    border:1px solid #d8dee6 !important;
    background:#f7f9fb !important;
    color:#344054 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_price_math {
    color:#98a2b3 !important;
    font-size:13px !important;
    font-weight:900 !important;
}
body.location_body :is(#basket_area_small,#basket_area_full) .a4d_price_each {
    color:#182230 !important;
    font-size:12.5px !important;
    font-weight:900 !important;
}

/* ALL CATEGORIES is always a centred dialog, including phones. It is sized
   to the visual viewport so the on-screen keyboard cannot cover the results. */
body.location_body .a4d_all_categories_overlay {
    inset:auto !important;
    top:var(--a4d-visible-top, 0px) !important;
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    height:var(--a4d-visible-height, 100dvh) !important;
    padding:12px !important;
    display:grid !important;
    place-items:center !important;
    box-sizing:border-box !important;
}
body.location_body .a4d_all_categories_overlay[hidden] { display:none !important; }
body.location_body .a4d_all_categories_panel {
    width:min(420px, calc(100vw - 24px)) !important;
    max-width:420px !important;
    max-height:min(620px, calc(var(--a4d-visible-height, 100dvh) - 24px)) !important;
    border:1px solid #e1e6ec !important;
    border-radius:18px !important;
    box-shadow:0 24px 70px rgba(15,23,42,.28) !important;
}
body.location_body .a4d_all_categories_handle { display:none !important; }
body.location_body .a4d_all_categories_header {
    min-height:54px !important;
    padding:11px 13px !important;
}
body.location_body .a4d_all_categories_title { font-size:18px !important; }
body.location_body .a4d_all_categories_search {
    position:relative !important;
    z-index:2 !important;
    width:calc(100% - 24px) !important;
    min-height:44px !important;
    margin:10px 12px 8px !important;
    font-size:16px !important; /* avoids iOS input zoom */
}
body.location_body .a4d_all_categories_list {
    grid-template-columns:1fr !important;
    min-height:0 !important;
    max-height:none !important;
    padding:5px 12px 12px !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
}
@media (max-width:700px) {
    body.location_body .a4d_all_categories_overlay {
        padding:10px !important;
        place-items:center !important;
    }
    body.location_body .a4d_all_categories_panel {
        width:min(400px, calc(100vw - 20px)) !important;
        max-height:calc(var(--a4d-visible-height, 100dvh) - 20px) !important;
        border:1px solid #e1e6ec !important;
        border-radius:17px !important;
        box-shadow:0 20px 56px rgba(15,23,42,.28) !important;
    }
    body.location_body .a4d_all_categories_handle { display:none !important; }
}

/* Account design tokens required by the supplied logged-in account CSS. */
:root {
    --account-orange:var(--a4d-orange);
    --account-text:#182230;
    --account-muted:#667085;
    --account-border:#e4e7ec;
    --account-surface:#f7f8fa;
    --account-card:#ffffff;
}

/* Modern solid confirmation surfaces for account actions. */
#logout_sure.modal,
#remove_account_sure.modal {
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: none !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    align-items: center;
    justify-items: center;
    overflow-y: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    border: 0 !important;
    background: #eef2f5 !important;
    z-index: var(--z-index-alerts) !important;
}
#logout_sure .modal-content,
#remove_account_sure .modal-content {
    width: min(100%, 440px) !important;
    height: auto !important;
    max-height: none !important;
    margin: auto !important;
    overflow: hidden !important;
    border: 1px solid var(--account-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(16, 24, 40, 0.16);
}
#logout_sure .modal-header,
#remove_account_sure .modal-header {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    align-items: center;
    padding: 18px 18px 14px;
    border-bottom: 1px solid #edf0f3;
}
#logout_sure .modal_header,
#remove_account_sure .modal_header {
    width: auto;
    flex: 1;
    color: var(--account-text);
    font-size: 20px;
    line-height: 1.25;
    font-weight: 750;
}
#logout_sure :is(.modal-close-icon,.close),
#remove_account_sure :is(.modal-close-icon,.close) {
    position:static !important;
}
#logout_sure .modal-body,
#remove_account_sure .modal-body { max-width:none; padding:22px 20px 18px; }
#logout_sure .are_you_sure,
#remove_account_sure .are_you_sure { color:#344054; font-size:16px; line-height:1.55; text-align:left; }
#logout_sure .modal-body > .full_width > .flexdiv,
#remove_account_sure .modal-body > .full_width > .flexdiv {
    gap:10px; justify-content:flex-end; margin-top:24px;
}
#logout_sure .are_you_sure_button,
#remove_account_sure .are_you_sure_button { width:auto; margin:0; padding:0; }
#logout_sure .are_you_sure_button button,
#remove_account_sure .are_you_sure_button button {
    min-width:110px; min-height:44px; margin:0; padding:10px 18px;
    border:1px solid #d0d5dd; border-radius:10px; background:#fff;
    color:#344054; font-size:15px; font-weight:700; cursor:pointer;
}
#logout_sure .are_you_sure_button_yes button { border-color:var(--account-orange); background:var(--account-orange); color:#fff; }
#remove_account_sure .are_you_sure_button_yes button { border-color:#b42318; background:#b42318; color:#fff; }
#logout_sure .are_you_sure_button button:hover,
#remove_account_sure .are_you_sure_button button:hover { transform:translateY(-1px); }

/* Shared account page framing. */
.account-page .body_container { min-height:100dvh; background:var(--account-surface); }
.account-page-main { width:min(calc(100% - 28px),920px); margin:0 auto; padding:34px 0 48px; box-sizing:border-box; }
.account-page-heading { margin-bottom:22px; }
.account-page-eyebrow { margin-bottom:5px; color:var(--account-orange); font-size:13px; line-height:1.2; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.account-page-heading h1 { margin:0; color:var(--account-text); font-size:clamp(28px,4vw,38px); line-height:1.15; font-weight:760; }
.account-page-heading p { max-width:650px; margin:8px 0 0; color:var(--account-muted); font-size:16px; line-height:1.5; }

/* Personal details. */
.personal-details-page .customer_register_title { display:none; }
.personal-details-page .customer_register_form_container.account-form-card {
    max-width:760px; max-height:none; margin:0 auto; padding:8px 26px 24px; box-sizing:border-box;
    overflow:visible; border:1px solid var(--account-border); border-radius:18px;
    background:var(--account-card); box-shadow:0 10px 34px rgba(16,24,40,.06);
}
.personal-details-page .customer_register_form_container > div:not(.customer_register_button) { padding:19px 0 20px; border-bottom:1px solid #eef1f4; }
.personal-details-page .customer_register_label { margin:0 0 8px; color:#344054; font-size:14px; line-height:1.3; font-weight:700; }
.personal-details-page :is(.customer_register_name_first,.customer_register_name_last,.customer_register_email,.customer_register_phone,.customer_register_addr1,.customer_register_addr2,.customer_register_postcode,.customer_register_pwd,.customer_register_confirm_pwd) {
    min-height:46px; box-sizing:border-box; margin:0; padding:10px 12px; border:1px solid #d0d5dd;
    border-radius:10px; background:#fff; color:var(--account-text); font-size:16px; line-height:1.35; outline:none;
}
.personal-details-page :is(.customer_register_name_first,.customer_register_name_last,.customer_register_email,.customer_register_phone,.customer_register_addr1,.customer_register_addr2,.customer_register_postcode,.customer_register_pwd,.customer_register_confirm_pwd):focus {
    border-color:var(--account-orange); box-shadow:0 0 0 3px color-mix(in srgb, var(--a4d-orange) 14%, transparent);
}
.personal-details-page .customer_register_name_first,
.personal-details-page .customer_register_name_last { width:calc(50% - 6px); }
.personal-details-page .customer_register_form_container .flexdiv { gap:12px; align-items:center; }
.personal-details-page :is(.customer_register_email,.customer_register_phone,.customer_register_addr1,.customer_register_addr2) { width:100%; }
.personal-details-page :is(.customer_register_addr1,.customer_register_addr2,.customer_register_confirm_pwd) { margin-top:10px; }
.personal-details-page .customer_register_postcode { width:min(100%,260px); flex:1; }
.personal-details-page .customer_register_pwd,
.personal-details-page .customer_register_confirm_pwd { width:100%; flex:1; }
.personal-details-page .address_search_button {
    min-height:46px; margin:0; padding:10px 16px; border:1px solid var(--account-orange); border-radius:10px;
    background:var(--a4d-orange-soft); color:#b55300; font-size:15px; font-weight:750; white-space:nowrap;
}
.personal-details-page .customer_register_eye {
    width:46px; height:46px; min-width:46px; margin:0; padding:10px; box-sizing:border-box;
    border:1px solid #d0d5dd; border-radius:10px; background:#fff;
}
.personal-details-page .customer_register_button { margin:0; padding-top:24px; border-top:0; text-align:right; }
.personal-details-page .customer_register_button button {
    min-width:150px; min-height:46px; margin:0; padding:10px 20px; border:1px solid var(--account-orange);
    border-radius:10px; background:var(--account-orange); color:#fff; font-size:16px; line-height:1.2;
    font-weight:750; box-shadow:0 5px 14px color-mix(in srgb, var(--a4d-orange) 20%, transparent);
}

/* Previous orders. */
.previous-orders-page .prevorder_h1_container { display:none; }
.previous-orders-page .prevorder_container { max-width:none; display:grid; gap:12px; }
.previous-orders-page .prevorder_order {
    width:100%; min-height:92px; padding:14px 16px; display:grid; grid-template-columns:64px minmax(0,1fr) auto;
    align-items:center; gap:14px; border:1px solid var(--account-border); border-radius:15px; background:#fff;
    color:var(--account-text); text-align:left; box-shadow:0 4px 16px rgba(16,24,40,.04);
    transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.previous-orders-page .prevorder_order:hover,
.previous-orders-page .prevorder_order:focus-visible { border-color:#ffbd80; box-shadow:0 10px 28px rgba(16,24,40,.09); transform:translateY(-1px); outline:none; }
.previous-orders-page .prevorder_logo { width:64px; height:64px; display:grid; place-items:center; border:1px solid #edf0f3; border-radius:13px; overflow:hidden; background:#fafbfc; }
.previous-orders-page .prevorder_logo:empty::before { content:"A4D"; color:var(--account-orange); font-size:13px; font-weight:800; }
.previous-orders-page .prevorder_logo img { width:100%; height:100%; max-width:56px; max-height:56px; object-fit:contain; }
.previous-orders-page .prevorder_details,
.previous-orders-page .prevorder_cost { width:auto; border:0; }
.previous-orders-page .prevorder_details_name { color:var(--account-text); font-size:17px; line-height:1.3; font-weight:750; }
.previous-orders-page .prevorder_details_date { display:block; margin-top:5px; color:var(--account-muted); font-size:14px; line-height:1.3; }
.previous-orders-page .prevorder_cost { margin:0; color:var(--account-text); font-size:18px; font-weight:800; white-space:nowrap; }
.previous-orders-page .prevorder_pagination { padding:16px 0 0; }
.previous-orders-page .prevorder_page_button { padding:10px 16px; border:1px solid #d0d5dd; border-radius:10px; color:#344054; font-size:15px; font-weight:700; }
.previous-orders-page .prevorder_empty { color:var(--account-muted); }

/* Current order / tracker. */
.current-order-page .prevorder_h1_container { display:none; }
.current-order-tracker-card { margin-bottom:18px; padding:22px; border:1px solid var(--account-border); border-radius:18px; background:#fff; box-shadow:0 10px 34px rgba(16,24,40,.06); }
.current-order-tracker-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:24px; }
.current-order-tracker-heading h2 { margin:0; color:var(--account-text); font-size:22px; line-height:1.2; }
.current-order-live-badge { padding:7px 10px; display:inline-flex; align-items:center; gap:7px; border:1px solid #b7e2c4; border-radius:999px; background:#f0fbf3; color:#16723b; font-size:13px; font-weight:800; }
.current-order-live-badge > span { width:8px; height:8px; border-radius:50%; background:#22a559; box-shadow:0 0 0 0 rgba(34,165,89,.35); animation:current-order-live-pulse 1.8s infinite; }
@keyframes current-order-live-pulse { 70%{box-shadow:0 0 0 7px rgba(34,165,89,0);} 100%{box-shadow:0 0 0 0 rgba(34,165,89,0);} }
.current-order-page .current_order_state_container { margin:0; display:flex; align-items:flex-start; }
.current-order-page .current_order_state { position:relative; width:auto; min-width:0; flex:1; margin:0; padding:0 8px; display:flex; flex-direction:column; align-items:center; gap:9px; border:0; background:transparent; color:#98a2b3; text-align:center; }
.current-order-page .current_order_state[hidden] { display:none !important; }
.current-order-page .current_order_state:not([hidden]):not(:last-child)::after { content:""; position:absolute; top:22px; left:calc(50% + 25px); width:calc(100% - 50px); height:3px; border-radius:3px; background:#e4e7ec; z-index:0; }
.current-order-page .current_order_state.current_order_state_complete::after { background:var(--account-orange); }
.current-order-step-icon { position:relative; z-index:1; width:44px; height:44px; display:grid; place-items:center; border:2px solid #d0d5dd; border-radius:50%; background:#fff; color:#98a2b3; transition:all .25s ease; }
.current-order-step-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.current-order-step-copy { display:flex; flex-direction:column; gap:3px; }
.current-order-step-copy strong { color:#667085; font-size:14px; line-height:1.3; }
.current-order-step-copy small { color:#98a2b3; font-size:12px; line-height:1.35; }
.current-order-page .current_order_state_complete .current-order-step-icon { border-color:var(--account-orange); background:var(--account-orange); color:#fff; }
.current-order-page .current_order_state_selected { background:transparent; color:var(--account-orange); }
.current-order-page .current_order_state_selected .current-order-step-icon { border-color:var(--account-orange); background:var(--a4d-orange-soft); color:var(--account-orange); box-shadow:0 0 0 6px color-mix(in srgb, var(--a4d-orange) 10%, transparent); animation:current-order-active 1.8s ease-in-out infinite; }
@keyframes current-order-active { 50%{box-shadow:0 0 0 10px color-mix(in srgb, var(--a4d-orange) 4%, transparent);} }
.current-order-page .current_order_state_selected .current-order-step-copy strong { color:var(--account-text); }
.current-order-page .current_order_state_selected_cancelled { background:transparent; color:#b42318; }
.current-order-page .current_order_state_selected_cancelled .current-order-step-icon { border-color:#f04438; background:#fff1f0; color:#b42318; }
.current-order-page .current_order_state_selected_cancelled .current-order-step-copy strong { color:#b42318; }
.current-order-page #current_order_state_completed::after,
.current-order-page .current-order-state-cancelled::after { display:none !important; }
.current-order-page .current_order_state_container.is-cancelled .current_order_state:not(.current-order-state-cancelled) { display:none !important; }
.current-order-page .current_order_state_container.is-cancelled .current-order-state-cancelled { width:100%; flex:1 1 100%; }

/* Account menu + footer become one scrolling surface while logged-in menu is open. */
#mySidenav.sidenav { bottom:0 !important; height:100dvh !important; max-height:100dvh !important; overflow-y:auto !important; overflow-x:hidden !important; }
body.account-menu-open #mySidenav > #the_footer,
#mySidenav > #the_footer { position:static !important; inset:auto !important; width:100% !important; max-height:none !important; margin:0 !important; overflow:visible !important; z-index:auto !important; }

/* Previous-order detail panel. */
.previous-orders-page #full_order_details.modal { inset:0 !important; top:0 !important; width:100vw !important; height:100dvh !important; max-height:none !important; padding:22px 14px !important; box-sizing:border-box; overflow-y:auto; transform:none !important; -webkit-transform:none !important; -ms-transform:none !important; border:0; background:#eef2f5; z-index:var(--z-index-fullscreen); }

@media (max-width:680px) {
    .account-page-main { width:min(calc(100% - 20px),920px); padding-top:24px; }
    .personal-details-page .customer_register_form_container.account-form-card { padding:4px 16px 18px; }
    .personal-details-page .customer_register_form_container .flexdiv { flex-wrap:wrap; }
    .personal-details-page .customer_register_name_first,
    .personal-details-page .customer_register_name_last,
    .personal-details-page .customer_register_postcode { width:100%; flex-basis:100%; }
    .personal-details-page .address_search_button { width:100%; }
    .previous-orders-page .prevorder_order { grid-template-columns:54px minmax(0,1fr) auto; min-height:82px; padding:12px; gap:11px; }
    .previous-orders-page .prevorder_logo { width:54px; height:54px; }
    .previous-orders-page .prevorder_cost { font-size:16px; }
    .current-order-tracker-card { padding:18px 16px; }
    .current-order-page .current_order_state_container { flex-direction:column; gap:0; }
    .current-order-page .current_order_state { width:100%; min-height:72px; padding:7px 0; flex-direction:row; align-items:flex-start; gap:13px; text-align:left; }
    .current-order-page .current_order_state:not([hidden]):not(:last-child)::after { top:51px; left:21px; width:3px; height:calc(100% - 30px); }
    .current-order-step-icon { width:42px; height:42px; min-width:42px; }
    .current-order-step-copy { padding-top:3px; }
    .current-order-step-copy strong { font-size:15px; }
    .current-order-step-copy small { font-size:13px; }
    #logout_sure .modal-body > .full_width > .flexdiv,
    #remove_account_sure .modal-body > .full_width > .flexdiv { flex-direction:column-reverse; }
    #logout_sure .are_you_sure_button,
    #remove_account_sure .are_you_sure_button,
    #logout_sure .are_you_sure_button button,
    #remove_account_sure .are_you_sure_button button { width:100%; }
}


/* =====================================================================
   ASK4DISH V27 - account menu refresh + page close buttons
   Cache revision: 20260907-account-menu-v27
   ===================================================================== */

/* Modern account menu like approved reference. */
#mySidenav.sidenav {
  /* Keep the account drawer at its final layout width even while closed.
     Animating width from 0 -> 100% makes the option text wrap during the
     transition and Safari can retain the resulting oversized grid heights
     until a later reflow. Slide the already-full-width drawer instead. */
  width:100% !important;
  background:#eef2f5 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  transform:translate3d(100%, 0, 0) !important;
  -webkit-transform:translate3d(100%, 0, 0) !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:transform .12s ease, visibility 0s linear .12s !important;
  -webkit-transition:-webkit-transform .12s ease, visibility 0s linear .12s !important;
}

#mySidenav.sidenav.sidenav_show {
  transform:translate3d(0, 0, 0) !important;
  -webkit-transform:translate3d(0, 0, 0) !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transition:transform .12s ease !important;
  -webkit-transition:-webkit-transform .12s ease !important;
}
#mySidenav .account-menu-panel {
  padding:18px 12px 12px !important;
}
#mySidenav .account-menu-head {
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:14px !important;
}
#mySidenav .account-menu-titlewrap { min-width:0 !important; }
#mySidenav .account-menu-brand {
  margin-bottom:4px !important;
  color:var(--a4d-orange) !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
#mySidenav .account-menu-title {
  margin:0 !important;
  color:#182230 !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}
#mySidenav .account-menu-list,
#mySidenav .account-menu-remove {
  display:grid !important;
  gap:14px !important;
}
#mySidenav .account-menu-remove { margin-top:14px !important; }
#mySidenav .account-menu-item {
  width:100% !important;
  min-height:72px !important;
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) 18px !important;
  align-items:center !important;
  gap:12px !important;
  padding:14px 14px !important;
  border:1px solid #e4e7ec !important;
  border-radius:16px !important;
  background:#fff !important;
  color:#182230 !important;
  text-align:left !important;
  cursor:pointer !important;
  box-shadow:0 1px 3px rgba(16,24,40,.05) !important;
}
#mySidenav .account-menu-item.is-danger {
  border-color:#f3d1cd !important;
  background:#fff6f5 !important;
}
#mySidenav .account-menu-item-icon {
  width:40px !important;
  height:40px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:12px !important;
  background:var(--a4d-orange-soft) !important;
  color:var(--a4d-orange) !important;
}
#mySidenav .account-menu-item.is-danger .account-menu-item-icon {
  background:#feeceb !important;
  color:#d92d20 !important;
}
#mySidenav .account-menu-item-icon svg {
  width:20px !important;
  height:20px !important;
  fill:currentColor !important;
}
#mySidenav .account-menu-item-copy {
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
}
#mySidenav .account-menu-item-title {
  color:#182230 !important;
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}
#mySidenav .account-menu-item-desc {
  color:#667085 !important;
  font-size:12px !important;
  line-height:1.35 !important;
}
#mySidenav .account-menu-item.is-danger .account-menu-item-title { color:#d92d20 !important; }
#mySidenav .account-menu-item.is-danger .account-menu-item-desc { color:#7a271a !important; }
#mySidenav .account-menu-item-arrow {
  color:#98a2b3 !important;
  font-size:24px !important;
  line-height:1 !important;
  text-align:right !important;
}
#mySidenav hr,
#mySidenav .sidenav_flex,
#mySidenav .sidenav_flex_div,
#mySidenav .sidenav_image,
#mySidenav .sidenav_text {
  display:none !important;
}

/* Account pages get a dedicated close button on every tab. */
.account-page-topbar {
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin-bottom:22px !important;
}
.account-page-topbar .account-page-heading {
  flex:1 1 auto !important;
  margin:0 !important;
}

.account-page-topbar .account-page-close,
#mySidenav .account-menu-close {
  box-sizing:border-box !important;
  flex:0 0 42px !important;
  width:42px !important; min-width:42px !important; max-width:42px !important;
  height:42px !important; min-height:42px !important; max-height:42px !important;
  margin:0 !important; padding:0 !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  border:1px solid var(--a4d-orange) !important; border-radius:10px !important;
  background:var(--a4d-orange) !important; color:#000 !important;
  font-size:0 !important; line-height:1 !important; overflow:hidden !important;
}
.account-page-topbar .account-page-close > svg,
#mySidenav .account-menu-close > svg {
  width:20px !important; min-width:20px !important; max-width:20px !important;
  height:20px !important; min-height:20px !important; max-height:20px !important;
  fill:none !important; stroke:#000 !important; stroke-width:2.5 !important;
  stroke-linecap:round !important; stroke-linejoin:round !important;
}
@media (max-width:680px) {
  .account-page-topbar { align-items:flex-start !important; }
}


/* =====================================================================
   ASK4DISH V28 - meal/extras search isolated to its own question
   Cache revision: 20260907-meal-search-v28
   ===================================================================== */
body.location_body .a4d13-extra-row.a4d_meal_search_hidden,
body.location_body .a4d13-extra-row.a4d_meal_search_hidden[hidden] {
  display:none !important;
}
body.location_body .a4d_meal_search_empty {
  margin:10px 0 4px !important;
  padding:14px 12px !important;
  border:1px dashed #d0d5dd !important;
  border-radius:11px !important;
  background:#f8fafc !important;
  color:#667085 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  text-align:center !important;
}
body.location_body .a4d_meal_search_empty[hidden] {
  display:none !important;
}


/* =====================================================================
   ASK4DISH V29 - account consistency + logo fallback
   Cache revision: 20260907-account-consistency-v29
   ===================================================================== */

/* Consistent account-page header treatment. */
body.account-page .the_header,
body.account-page .the-header-container {
  width:100% !important;
  max-width:none !important;
  min-height:var(--a4d-site-header-height, 76px) !important;
  margin:0 !important;
  align-self:stretch !important;
  box-sizing:border-box !important;
}
body.account-page .hdr_adorders_logo_image {
  display:block !important;
  width:auto !important;
  max-width:130px !important;
  height:38px !important;
  object-fit:contain !important;
}
body.account-page .hdr_adorders_logo_h2 {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body.account-page .customer_login_container {
  margin-right:12px !important;
  max-width:none !important;
  min-height:40px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
}
body.account-page .customer_login_container > span:not(.a4d_account_initials),
body.account-page .customer_login_container .header-account-label,
body.account-page .customer_login_container .headers_img_loggedin,
body.account-page .customer_login_container .headers_img_loggedin_border {
  display:none !important;
}
body.account-page .customer_login_container.a4d_has_account_initials {
  padding:0 !important;
}
body.account-page .customer_login_container .a4d_account_initials {
  display:grid !important;
  place-items:center !important;
  width:34px !important;
  min-width:34px !important;
  height:34px !important;
  min-height:34px !important;
  margin:0 !important;
  border:1.5px solid color-mix(in srgb, var(--a4d-orange) 55%, transparent) !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--a4d-orange) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
  box-sizing:border-box !important;
  box-shadow:0 1px 2px rgba(16,24,40,.05) !important;
}

/* Previous order card logo fallback: clean initials instead of broken image icon. */
.previous-orders-page .prevorder_logo {
  position:relative !important;
}
.previous-orders-page .prevorder_logo:empty::before {
  content:attr(data-abbr) !important;
  color:var(--account-orange) !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
}
.previous-orders-page .prevorder_logo img {
  width:100% !important;
  height:100% !important;
  max-width:56px !important;
  max-height:56px !important;
  object-fit:contain !important;
}

@media (max-width:680px) {
  body.account-page .hdr_adorders_logo_image {
    max-width:118px !important;
    height:34px !important;
  }
  body.account-page .customer_login_container {
    margin-right:8px !important;
  }
}


/* =====================================================================
   ASK4DISH V30 - definitive meal/curry search fix
   Cache revision: 20260907-meal-search-v30
   ===================================================================== */
body.location_body .a4d13-answer-list > .a4d13-extra-row.a4d_meal_search_hidden,
body.location_body .a4d13-answer-list > .a4d13-extra-row[hidden] {
  display:none !important;
}
body.location_body .a4d13-extra-filter {
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:text !important;
  user-select:text !important;
}


/* =====================================================================
   ASK4DISH V31 - single centred logged-in initials badge
   Cache revision: 20260907-account-initials-v31
   ===================================================================== */

/* The outer account control is only a hit area. The initials badge is the visual. */
body.location_body .customer_login_container.a4d_has_account_initials {
  display:grid !important;
  place-items:center !important;
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
  height:44px !important;
  min-height:44px !important;
  max-height:44px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:none !important;
  color:inherit !important;
}

body.location_body .customer_login_container.a4d_has_account_initials > :not(.a4d_account_initials) {
  display:none !important;
}

body.location_body .customer_login_container.a4d_has_account_initials .a4d_account_initials {
  position:static !important;
  display:grid !important;
  place-items:center !important;
  width:38px !important;
  min-width:38px !important;
  max-width:38px !important;
  height:38px !important;
  min-height:38px !important;
  max-height:38px !important;
  margin:0 !important;
  padding:0 !important;
  border:1.5px solid var(--a4d-orange) !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--a4d-orange) !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.15px !important;
  text-align:center !important;
  box-sizing:border-box !important;
  box-shadow:0 2px 8px rgba(17,24,39,.08) !important;
}

/* CSS safety net: even stale cached markup can never visually show a second badge. */
body.location_body .customer_login_container .a4d_account_initials ~ .a4d_account_initials {
  display:none !important;
}

@media (max-width:700px) {
  body.location_body .customer_login_container.a4d_has_account_initials {
    right:14px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
  }
}


/* =====================================================================
   ASK4DISH V32 - account header consistency hardening
   Cache revision: 20260907-account-header-v32
   ===================================================================== */
body.account-page .customer_login_container.a4d_has_account_initials {
  width:36px !important;
  min-width:36px !important;
  max-width:36px !important;
  min-height:36px !important;
  height:36px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:hidden !important;
  font-size:0 !important;
  color:transparent !important;
}
body.account-page .customer_login_container.a4d_has_account_initials > :not(.a4d_account_initials) {
  display:none !important;
}
body.account-page .customer_login_container.a4d_has_account_initials .a4d_account_initials {
  display:grid !important;
  place-items:center !important;
  width:34px !important;
  min-width:34px !important;
  height:34px !important;
  min-height:34px !important;
  margin:0 auto !important;
  font-size:12px !important;
  color:var(--a4d-orange) !important;
}


/* =====================================================================
   ASK4DISH V33 - cloned sub-item/curry search hardening
   Cache revision: 20260907-subitem-search-v33
   ===================================================================== */
body.location_body .a4d13-question .a4d13-answer-list > .a4d13-extra-row.a4d_meal_search_hidden,
body.location_body .a4d13-question .a4d13-answer-list > .a4d13-extra-row[hidden],
body.location_body .a4d13-question .a4d13-answer-list > [class*="itemextrasanswer_container_"][hidden] {
  display:none !important;
}
body.location_body .a4d13-extra-filter {
  position:relative !important;
  z-index:2 !important;
  pointer-events:auto !important;
}


/* =====================================================================
   ASK4DISH V34 - ACCOUNT ASSET/CACHE STABILITY
   Cache revision: 20260907-account-assets-v34
   ===================================================================== */
/* These are only critical layout guards. The complete account design remains
   in the consolidated account-page rules above. */
body.account-page .account-page-main { display:block; box-sizing:border-box; }
body.account-page .account-page-topbar { display:flex !important; }
body.account-page.personal-details-page .customer_register_form_container.account-form-card {
  display:block !important;
  box-sizing:border-box !important;
}

/* =====================================================================
   Account experience refresh
   ===================================================================== */
:root {
    --account-surface: #f4f6f8;
    --account-card: #ffffff;
    --account-border: #e2e7ec;
    --account-text: #182230;
    --account-muted: #667085;
    --account-orange: var(--a4d-orange);
    --account-menu-footer-height: 0px;
}

body.account-page,
body.account-menu-open {
    background: var(--account-surface);
}

body.account-menu-open,
body.account-confirmation-open {
    overflow: hidden !important;
    overscroll-behavior: none;
}

/* The account panel is deliberately opaque: no page content shows through. */
#mySidenav.sidenav {
    top: 0;
    bottom: var(--account-menu-footer-height);
    height: calc(100dvh - var(--account-menu-footer-height));
    max-height: calc(100dvh - var(--account-menu-footer-height));
    background: var(--account-surface) !important;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

body.account-menu-open #the_footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: var(--z-index-sidenav);
    max-height: var(--account-menu-footer-height);
    overflow-y: auto;
    overscroll-behavior: contain;
}

/* Modern solid confirmation surfaces for account actions. */
#logout_sure.modal,
#remove_account_sure.modal {
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: none !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    align-items: center;
    justify-items: center;
    overflow-y: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    border: 0 !important;
    background: #eef2f5 !important;
    z-index: var(--z-index-alerts) !important;
}

#logout_sure .modal-content,
#remove_account_sure .modal-content {
    width: min(100%, 440px) !important;
    height: auto !important;
    max-height: none !important;
    margin: auto !important;
    overflow: hidden !important;
    border: 1px solid var(--account-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(16, 24, 40, 0.16);
}

#logout_sure .modal-header,
#remove_account_sure .modal-header {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    align-items: center;
    padding: 18px 18px 14px;
    border-bottom: 1px solid #edf0f3;
}

#logout_sure .modal_header,
#remove_account_sure .modal_header {
    width: auto;
    flex: 1;
    color: var(--account-text);
    font-size: 20px;
    line-height: 1.25;
    font-weight: 750;
}

#logout_sure .modal-body,
#remove_account_sure .modal-body {
    max-width: none;
    padding: 22px 20px 18px;
}

#logout_sure .are_you_sure,
#remove_account_sure .are_you_sure {
    color: #344054;
    font-size: 16px;
    line-height: 1.55;
    text-align: left;
}

#logout_sure .modal-body > .full_width > .flexdiv,
#remove_account_sure .modal-body > .full_width > .flexdiv {
    gap: 10px;
    justify-content: flex-end;
    margin-top: 24px;
}

#logout_sure .are_you_sure_button,
#remove_account_sure .are_you_sure_button {
    width: auto;
    margin: 0;
    padding: 0;
}

#logout_sure .are_you_sure_button button,
#remove_account_sure .are_you_sure_button button {
    min-width: 110px;
    min-height: 44px;
    margin: 0;
    padding: 10px 18px;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    background: #fff;
    color: #344054;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

#logout_sure .are_you_sure_button_yes button {
    border-color: var(--account-orange);
    background: var(--account-orange);
    color: #fff;
}

#remove_account_sure .are_you_sure_button_yes button {
    border-color: #b42318;
    background: #b42318;
    color: #fff;
}

#logout_sure .are_you_sure_button button:hover,
#remove_account_sure .are_you_sure_button button:hover {
    transform: translateY(-1px);
}

/* Shared account page framing. */
.account-page .body_container {
    min-height: 100dvh;
    background: var(--account-surface);
}

.account-page-main {
    width: min(calc(100% - 28px), 920px);
    margin: 0 auto;
    padding: 34px 0 48px;
    box-sizing: border-box;
}

.account-page-heading {
    margin-bottom: 22px;
}

.account-page-eyebrow {
    margin-bottom: 5px;
    color: var(--account-orange);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.account-page-heading h1 {
    margin: 0;
    color: var(--account-text);
    font-size: clamp(28px, 4vw, 38px);
    line-height: 1.15;
    font-weight: 760;
}

.account-page-heading p {
    max-width: 650px;
    margin: 8px 0 0;
    color: var(--account-muted);
    font-size: 16px;
    line-height: 1.5;
}

/* Personal details --------------------------------------------------- */
.personal-details-page .customer_register_title {
    display: none;
}

.personal-details-page .customer_register_form_container.account-form-card {
    max-width: 760px;
    max-height: none;
    margin: 0 auto;
    padding: 8px 26px 24px;
    box-sizing: border-box;
    overflow: visible;
    border: 1px solid var(--account-border);
    border-radius: 18px;
    background: var(--account-card);
    box-shadow: 0 10px 34px rgba(16, 24, 40, 0.06);
}

.personal-details-page .customer_register_form_container > div:not(.customer_register_button) {
    padding: 19px 0 20px;
    border-bottom: 1px solid #eef1f4;
}

.personal-details-page .customer_register_label {
    margin: 0 0 8px;
    color: #344054;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
}

.personal-details-page :is(
    .customer_register_name_first,
    .customer_register_name_last,
    .customer_register_email,
    .customer_register_phone,
    .customer_register_addr1,
    .customer_register_addr2,
    .customer_register_postcode,
    .customer_register_pwd,
    .customer_register_confirm_pwd
) {
    min-height: 46px;
    box-sizing: border-box;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    background: #fff;
    color: var(--account-text);
    font-size: 16px;
    line-height: 1.35;
    outline: none;
}

.personal-details-page :is(
    .customer_register_name_first,
    .customer_register_name_last,
    .customer_register_email,
    .customer_register_phone,
    .customer_register_addr1,
    .customer_register_addr2,
    .customer_register_postcode,
    .customer_register_pwd,
    .customer_register_confirm_pwd
):focus {
    border-color: var(--account-orange);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--a4d-orange) 14%, transparent);
}

.personal-details-page .customer_register_name_first,
.personal-details-page .customer_register_name_last {
    width: calc(50% - 6px);
}

.personal-details-page .customer_register_form_container .flexdiv {
    gap: 12px;
    align-items: center;
}

.personal-details-page .customer_register_email,
.personal-details-page .customer_register_phone,
.personal-details-page .customer_register_addr1,
.personal-details-page .customer_register_addr2 {
    width: 100%;
}

.personal-details-page .customer_register_addr1,
.personal-details-page .customer_register_addr2,
.personal-details-page .customer_register_confirm_pwd {
    margin-top: 10px;
}

.personal-details-page .customer_register_postcode {
    width: min(100%, 260px);
    flex: 1;
}

.personal-details-page .customer_register_pwd,
.personal-details-page .customer_register_confirm_pwd {
    width: 100%;
    flex: 1;
}

.personal-details-page .address_search_button {
    min-height: 46px;
    margin: 0;
    padding: 10px 16px;
    border: 1px solid var(--account-orange);
    border-radius: 10px;
    background: var(--a4d-orange-soft);
    color: #b55300;
    font-size: 15px;
    font-weight: 750;
    white-space: nowrap;
}

.personal-details-page .customer_register_eye {
    width: 46px;
    height: 46px;
    min-width: 46px;
    margin: 0;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    background: #fff;
}

.personal-details-page .customer_register_button {
    margin: 0;
    padding-top: 24px;
    border-top: 0;
    text-align: right;
}

.personal-details-page .customer_register_button button {
    min-width: 150px;
    min-height: 46px;
    margin: 0;
    padding: 10px 20px;
    border: 1px solid var(--account-orange);
    border-radius: 10px;
    background: var(--account-orange);
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 750;
    box-shadow: 0 5px 14px color-mix(in srgb, var(--a4d-orange) 20%, transparent);
}

/* Previous orders ---------------------------------------------------- */
.previous-orders-page .prevorder_h1_container {
    display: none;
}

.previous-orders-page .prevorder_container {
    max-width: none;
    display: grid;
    gap: 12px;
}

.previous-orders-page .prevorder_order {
    width: 100%;
    min-height: 92px;
    padding: 14px 16px;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto 20px;
    align-items: center;
    gap: 14px;
    border: 1px solid var(--account-border);
    border-radius: 15px;
    background: #fff;
    color: var(--account-text);
    text-align: left;
    box-shadow: 0 4px 16px rgba(16, 24, 40, 0.04);
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.previous-orders-page .prevorder_order:hover,
.previous-orders-page .prevorder_order:focus-visible {
    border-color: #ffbd80;
    box-shadow: 0 10px 28px rgba(16, 24, 40, 0.09);
    transform: translateY(-1px);
    outline: none;
}

.previous-orders-page .prevorder_logo {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border: 1px solid #edf0f3;
    border-radius: 13px;
    overflow: hidden;
    background: #fafbfc;
}

.previous-orders-page .prevorder_logo:empty::before {
    content: "A4D";
    color: var(--account-orange);
    font-size: 13px;
    font-weight: 800;
}

.previous-orders-page .prevorder_logo img {
    width: 100%;
    height: 100%;
    max-width: 56px;
    max-height: 56px;
    object-fit: contain;
}

.previous-orders-page .prevorder_details,
.previous-orders-page .prevorder_cost {
    width: auto;
    border: 0;
}

.previous-orders-page .prevorder_details_name {
    color: var(--account-text);
    font-size: 17px;
    line-height: 1.3;
    font-weight: 750;
}

.previous-orders-page .prevorder_details_meta {
    margin-top: 5px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    color: var(--account-muted);
    font-size: 14px;
    line-height: 1.3;
}

.previous-orders-page .prevorder_cost {
    margin: 0;
    color: var(--account-text);
    font-size: 18px;
    font-weight: 800;
    white-space: nowrap;
}

.previous-orders-page .prevorder_view {
    color: #98a2b3;
    font-size: 28px;
    line-height: 1;
}

.previous-orders-page .prevorder_pagination {
    padding: 16px 0 0;
}

.previous-orders-page .prevorder_page_button {
    padding: 10px 16px;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    color: #344054;
    font-size: 15px;
    font-weight: 700;
}

.previous-orders-page .prevorder_empty,
.previous-orders-page .prevorder_container > :not(.prevorder_order):not(.prevorder_pagination) {
    color: var(--account-muted);
}

/* Current order / tracker ------------------------------------------- */
.current-order-page .prevorder_h1_container {
    display: none;
}

.current-order-tracker-card {
    margin-bottom: 18px;
    padding: 22px;
    border: 1px solid var(--account-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 34px rgba(16, 24, 40, 0.06);
}

.current-order-tracker-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.current-order-tracker-heading h2 {
    margin: 0;
    color: var(--account-text);
    font-size: 22px;
    line-height: 1.2;
}

.current-order-live-badge {
    padding: 7px 10px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #b7e2c4;
    border-radius: 999px;
    background: #f0fbf3;
    color: #16723b;
    font-size: 13px;
    font-weight: 800;
}

.current-order-live-badge > span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22a559;
    box-shadow: 0 0 0 0 rgba(34, 165, 89, .35);
    animation: current-order-live-pulse 1.8s infinite;
}

@keyframes current-order-live-pulse {
    70% { box-shadow: 0 0 0 7px rgba(34, 165, 89, 0); }
    100% { box-shadow: 0 0 0 0 rgba(34, 165, 89, 0); }
}

.current-order-page .current_order_state_container {
    margin: 0;
    display: flex;
    align-items: flex-start;
}

.current-order-page .current_order_state {
    position: relative;
    width: auto;
    min-width: 0;
    flex: 1;
    margin: 0;
    padding: 0 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
    border: 0;
    background: transparent;
    color: #98a2b3;
    text-align: center;
}

.current-order-page .current_order_state:not([hidden]):not(:last-child)::after {
    content: "";
    position: absolute;
    top: 22px;
    left: calc(50% + 25px);
    width: calc(100% - 50px);
    height: 3px;
    border-radius: 3px;
    background: #e4e7ec;
    z-index: 0;
}

.current-order-page .current_order_state.current_order_state_complete::after {
    background: var(--account-orange);
}

.current-order-step-icon {
    position: relative;
    z-index: 1;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 2px solid #d0d5dd;
    border-radius: 50%;
    background: #fff;
    color: #98a2b3;
    transition: all .25s ease;
}

.current-order-step-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.current-order-step-copy {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.current-order-step-copy strong {
    color: #667085;
    font-size: 14px;
    line-height: 1.3;
}

.current-order-step-copy small {
    color: #98a2b3;
    font-size: 12px;
    line-height: 1.35;
}

.current-order-page .current_order_state_complete .current-order-step-icon {
    border-color: var(--account-orange);
    background: var(--account-orange);
    color: #fff;
}

.current-order-page .current_order_state_complete .current-order-step-copy strong {
    color: #344054;
}

.current-order-page .current_order_state_selected {
    background: transparent;
    color: var(--account-orange);
}

.current-order-page .current_order_state_selected .current-order-step-icon {
    border-color: var(--account-orange);
    background: var(--a4d-orange-soft);
    color: var(--account-orange);
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--a4d-orange) 10%, transparent);
    animation: current-order-active 1.8s ease-in-out infinite;
}

@keyframes current-order-active {
    50% { box-shadow: 0 0 0 10px color-mix(in srgb, var(--a4d-orange) 4%, transparent); }
}

.current-order-page .current_order_state_selected .current-order-step-copy strong {
    color: var(--account-text);
}

.current-order-page .current-order-state-cancelled:not([hidden]) {
    flex: 1 0 100%;
}

.current-order-page .current_order_state_selected_cancelled {
    background: transparent;
    color: #b42318;
}

.current-order-page .current_order_state_selected_cancelled .current-order-step-icon {
    border-color: #f04438;
    background: #fff1f0;
    color: #b42318;
}

.current-order-page .current_order_state_selected_cancelled .current-order-step-copy strong {
    color: #b42318;
}

.current-order-status-message {
    margin-top: 22px;
    padding: 13px 15px;
    border-radius: 11px;
    background: var(--a4d-orange-soft);
    color: #8f4608;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 650;
    text-align: center;
}

.current-order-contact {
    margin-top: 12px;
    color: var(--account-muted);
    font-size: 14px;
    line-height: 1.45;
    text-align: center;
}

.current-order-contact a {
    color: #344054;
    font-weight: 750;
    text-decoration: none;
}

.current-order-page .customer_cancel_orders_container {
    max-width: none;
    margin: 0 0 14px;
}

.current-order-page .full_order_container,
.previous-orders-page #full_order_details .full_order_container {
    max-width: 920px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid var(--account-border);
    border-radius: 18px;
    background: #fff;
    color: var(--account-text);
    font-size: 16px;
    box-shadow: 0 10px 34px rgba(16, 24, 40, 0.06);
}

.current-order-page .current_order_container,
.previous-orders-page #full_order_details .current_order_container {
    padding: 18px 20px 15px;
    align-items: center;
    border-bottom: 1px solid #edf0f3;
    background: #fbfcfd;
}

.current-order-page :is(.full_order_header, .full_order_ref, .full_order_items, .full_order_total, .full_order_date, .current_order_container),
.previous-orders-page #full_order_details :is(.full_order_header, .full_order_ref, .full_order_items, .full_order_total, .full_order_date, .current_order_container) {
    border-color: #edf0f3;
}

.current-order-page .full_order_ref,
.previous-orders-page #full_order_details .full_order_ref {
    padding: 8px 12px;
    color: var(--account-text);
    font-size: 18px;
    font-weight: 750;
}

.current-order-page .full_order_items,
.previous-orders-page #full_order_details .full_order_items {
    padding: 18px 20px;
}

/* Keep the quantity (for example, "1x") visually separate from the item name
   in the accepted current-order details without changing the existing columns. */
.current-order-page .full_order_items > .flexdiv > .full_order_item_name {
    box-sizing: border-box;
    padding-left: 10px;
}

.current-order-page .full_order_container > .flexdiv,
.previous-orders-page #full_order_details .full_order_container > .flexdiv {
    padding-top: 7px;
    padding-bottom: 7px;
}

.current-order-page .full_order_leftcol,
.previous-orders-page #full_order_details .full_order_leftcol {
    color: #475467;
}

.current-order-page .full_order_rightcol,
.previous-orders-page #full_order_details .full_order_rightcol {
    color: var(--account-text);
    font-weight: 650;
}

.current-order-page .full_order_total,
.previous-orders-page #full_order_details .full_order_total {
    margin-top: 7px;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    background: var(--a4d-orange-soft);
}

.current-order-page .full_order_total_label,
.current-order-page .full_order_total_amount,
.previous-orders-page #full_order_details .full_order_total_label,
.previous-orders-page #full_order_details .full_order_total_amount {
    color: var(--account-text);
    font-size: 18px;
}

.current-order-page .full_order_date,
.previous-orders-page #full_order_details .full_order_date {
    margin-top: 10px;
    padding: 12px;
    color: var(--account-muted);
    font-size: 13px;
}

.current-order-page .no_current_order {
    margin: 0;
    padding: 44px 22px;
    border: 1px solid var(--account-border);
    border-radius: 18px;
    background: #fff;
    color: var(--account-muted);
    font-size: 16px;
}

@media (max-width: 680px) {
    .account-page-main {
        width: min(calc(100% - 20px), 920px);
        padding-top: 24px;
    }

    .personal-details-page .customer_register_form_container.account-form-card {
        padding: 4px 16px 18px;
    }

    .personal-details-page .customer_register_form_container .flexdiv {
        flex-wrap: wrap;
    }

    .personal-details-page .customer_register_name_first,
    .personal-details-page .customer_register_name_last,
    .personal-details-page .customer_register_postcode {
        width: 100%;
        flex-basis: 100%;
    }

    .personal-details-page .address_search_button {
        width: 100%;
    }

    .previous-orders-page .prevorder_order {
        grid-template-columns: 54px minmax(0, 1fr) auto;
        min-height: 82px;
        padding: 12px;
        gap: 11px;
    }

    .previous-orders-page .prevorder_logo {
        width: 54px;
        height: 54px;
    }

    .previous-orders-page .prevorder_cost {
        font-size: 16px;
    }

    .previous-orders-page .prevorder_view {
        display: none;
    }

    .current-order-tracker-card {
        padding: 18px 16px;
    }

    .current-order-page .current_order_state_container {
        flex-direction: column;
        gap: 0;
    }

    .current-order-page .current_order_state {
        width: 100%;
        min-height: 72px;
        padding: 7px 0;
        flex-direction: row;
        align-items: flex-start;
        gap: 13px;
        text-align: left;
    }

    .current-order-page .current_order_state:not([hidden]):not(:last-child)::after {
        top: 51px;
        left: 21px;
        width: 3px;
        height: calc(100% - 30px);
    }

    .current-order-step-icon {
        width: 42px;
        height: 42px;
        min-width: 42px;
    }

    .current-order-step-copy {
        padding-top: 3px;
    }

    .current-order-step-copy strong {
        font-size: 15px;
    }

    .current-order-step-copy small {
        font-size: 13px;
    }

    #logout_sure .modal-body > .full_width > .flexdiv,
    #remove_account_sure .modal-body > .full_width > .flexdiv {
        flex-direction: column-reverse;
    }

    #logout_sure .are_you_sure_button,
    #remove_account_sure .are_you_sure_button,
    #logout_sure .are_you_sure_button button,
    #remove_account_sure .are_you_sure_button button {
        width: 100%;
    }
}

/* Tracker edge/cancelled-state corrections. */
.current-order-page #current_order_state_completed::after,
.current-order-page .current-order-state-cancelled::after {
    display: none !important;
}

.current-order-page .current_order_state_container.is-cancelled .current_order_state:not(.current-order-state-cancelled) {
    display: none !important;
}

.current-order-page .current_order_state_container.is-cancelled .current-order-state-cancelled {
    width: 100%;
    flex: 1 1 100%;
}

/* Previous-order detail panel uses a solid, focused surface too. */
.previous-orders-page #full_order_details.modal {
    inset: 0 !important;
    top: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: none !important;
    padding: 22px 14px !important;
    box-sizing: border-box;
    overflow-y: auto;
    transform: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    border: 0;
    background: #eef2f5;
    z-index: var(--z-index-fullscreen);
}

.previous-orders-page #full_order_details .full_order_header {
    min-height: 54px;
    padding: 12px 14px;
    align-items: center;
    justify-content: space-between;
}

/* =====================================================================
   Account / checkout follow-up refinements
   ===================================================================== */

/* The account menu and footer are one scrolling surface. The footer is moved
   into #mySidenav while the menu is open, so there is no second scroll area. */
#mySidenav.sidenav {
    bottom: 0 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

body.account-menu-open #mySidenav > #the_footer,
#mySidenav > #the_footer {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: visible !important;
    z-index: auto !important;
}

/* Logged-in checkout keeps the account details visible but read-only, and never
   offers the guest Login/Register choice. */
#checkout-dialog .checkout-contact-grid-logged-in {
    grid-template-columns: minmax(0, 1fr) !important;
}

#checkout-dialog #order_personal_info[hidden],
#checkout-dialog #checkout-account-option[hidden] {
    display: none !important;
}

#checkout-dialog .checkout-authenticated-note {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
    max-width: 620px;
    margin: 0 auto 14px;
    padding: 10px 12px;
    border: 1px solid #fed7aa;
    border-radius: 10px;
    background: var(--a4d-orange-soft);
    color: #7c2d12;
    font-size: 14px;
    line-height: 1.35;
}

#checkout-dialog .checkout-authenticated-note strong {
    color: #c2410c;
}

#checkout-dialog .checkout-account-field-locked {
    border-color: #d0d5dd !important;
    background: #eaecf0 !important;
    color: #475467 !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}

/* Current order contains only the chosen fulfilment step. Respect [hidden]
   explicitly because the tracker uses an author-level flex display rule. */
.current-order-page .current_order_state[hidden] {
    display: none !important;
}

.current-order-eta[hidden] {
    display: none !important;
}

.current-order-eta {
    margin: -4px 0 22px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #fed7aa;
    border-radius: 14px;
    background: var(--a4d-orange-soft);
    text-align: center;
}

.current-order-eta-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
}

.current-order-eta-label {
    color: #9a4d08;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

#current_order_eta_countdown {
    color: #182230;
    font-size: clamp(26px, 5vw, 36px);
    line-height: 1.05;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

#current_order_eta_time {
    color: #667085;
    font-size: 13px;
    line-height: 1.3;
}

.current-order-eta.is-due {
    border-color: #f7c894;
    background: var(--a4d-orange-soft);
}

.current-order-eta.is-ready {
    border-color: #a6e3bd;
    background: #effaf3;
}

.current-order-eta.is-ready .current-order-eta-label,
.current-order-eta.is-ready #current_order_eta_countdown {
    color: #167342;
}

/* Prevent the ordering page flashing or accepting input while an account-page
   close action restores the customer menu. */
body.account-menu-returning {
    overflow: hidden !important;
    pointer-events: none !important;
}

.account-menu-return-guard {
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 24px;
    box-sizing: border-box;
    background: #f4f6f8;
    color: #344054;
    font-size: 16px;
    font-weight: 700;
    pointer-events: auto;
}

.account-menu-return-spinner {
    width: 22px;
    height: 22px;
    border: 3px solid #d0d5dd;
    border-top-color: var(--a4d-orange);
    border-radius: 50%;
    animation: account-menu-return-spin .7s linear infinite;
}

@keyframes account-menu-return-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .account-menu-return-spinner { animation: none; }
}


/* =====================================================================
   ASK4DISH DESKTOP MENU REFRESH — 2026-09-08
   IMPORTANT: all menu/basket/header redesign rules below are desktop-only.
   Mobile/tablet ordering UI remains governed by the existing <=1050px rules.
   ===================================================================== */

/* Specific checkout bug fix requested on phone: remove the odd rounded top
   edge while leaving the rest of the phone checkout styling untouched. */
@media (max-width: 720px) {
    body.location_body #checkout-dialog.checkout-dialog {
        padding: 0 !important;
        background: #fff !important;
    }

    body.location_body #checkout-dialog > .checkout-dialog-content {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }

    body.location_body #checkout-dialog .checkout-dialog-header,
    body.location_body #checkout-dialog.checkout-dialog-scrolled .checkout-dialog-header {
        border-radius: 0 !important;
    }
}

@media (min-width: 1051px) {
    body.location_body {
        --a4d-desktop-page-x: clamp(22px, 2.2vw, 38px);
        --a4d-desktop-max: 1560px;
        --a4d-desktop-basket: 430px;
        --a4d-desktop-gap: 22px;
        --a4d-desktop-orange: var(--a4d-orange);
        --a4d-desktop-orange-dark: var(--a4d-orange-deep);
        --a4d-desktop-ink: #101828;
        --a4d-desktop-muted: #667085;
        --a4d-desktop-line: #e7ebf0;
        --a4d-desktop-soft: #f8fafc;
        --a4d-desktop-offer: #f5fbf5;
        padding-bottom: 0 !important;
        background: #fff !important;
    }

    /* ---------- Compact white desktop header ---------- */
    body.location_body .the_header {
        position: relative !important;
        width: 100% !important;
        min-height: 74px !important;
        height: 74px !important;
        max-height: 74px !important;
        border-bottom: 1px solid var(--a4d-desktop-line) !important;
        background: #fff !important;
        box-shadow: 0 1px 0 rgba(16, 24, 40, .02) !important;
        overflow: visible !important;
    }

    body.location_body .header_info {
        width: min(var(--a4d-desktop-max), calc(100% - (var(--a4d-desktop-page-x) * 2))) !important;
        height: 74px !important;
        min-height: 74px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        box-sizing: border-box !important;
    }

    body.location_body .customer_login_container {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.location_body .customer_login_container.a4d_has_account_initials {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.location_body .customer_login_container .a4d_account_initials {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        margin: 0 !important;
        border: 1.5px solid color-mix(in srgb, var(--a4d-orange) 75%, transparent) !important;
        background: #fff !important;
        color: var(--a4d-desktop-orange) !important;
        font-size: 13px !important;
    }

    body.location_body .header_background {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 74px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        pointer-events: none !important;
    }

    body.location_body .hdr_adorders_logo_image {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        width: 132px !important;
        min-width: 0 !important;
        max-width: 132px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 50px !important;
        object-fit: contain !important;
        opacity: 1 !important;
        visibility: visible !important;
        filter: none !important;
        transform: translate(-50%, -50%) !important;
        pointer-events: auto !important;
    }

    body.location_body .location_content {
        height: auto !important;
        min-height: calc(100vh - 74px) !important;
        overflow: visible !important;
    }

    /* ---------- Search row ---------- */
    body.location_body .info_container {
        width: min(var(--a4d-desktop-max), calc(100% - (var(--a4d-desktop-page-x) * 2))) !important;
        min-height: 62px !important;
        margin: 0 auto !important;
        padding: 12px 0 8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        background: #fff !important;
    }

    body.location_body .search_input_container {
        width: min(760px, 62vw) !important;
        margin: 0 auto !important;
    }

    body.location_body .search_container {
        min-height: 46px !important;
        padding: 0 16px !important;
        border: 1px solid #e6eaf0 !important;
        border-radius: 14px !important;
        background: #f6f8fa !important;
        box-shadow: inset 0 1px 1px rgba(16,24,40,.015) !important;
    }

    body.location_body .search_input {
        height: 44px !important;
        font-size: 15px !important;
        text-align: left !important;
    }

    /* Desktop has a permanent basket, so do not duplicate it in the search row. */
    body.location_body .info_container > .flexdiv:last-child {
        display: none !important;
    }

    /* The same offers are presented properly inside the basket on desktop. */
    body.location_body #avail-offers-container {
        display: none !important;
    }

    /* ---------- Full-width desktop content ---------- */
    body.location_body #main_container {
        width: min(var(--a4d-desktop-max), calc(100% - (var(--a4d-desktop-page-x) * 2))) !important;
        max-width: var(--a4d-desktop-max) !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 auto !important;
        padding: 0 0 42px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) var(--a4d-desktop-basket) !important;
        grid-template-areas:
            "categories basket"
            "items basket" !important;
        column-gap: var(--a4d-desktop-gap) !important;
        row-gap: 16px !important;
        align-items: start !important;
        overflow: visible !important;
    }

    body.location_body #scrolling_cats {
        grid-area: categories !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 900 !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 8px 0 11px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 10px !important;
        border-bottom: 1px solid #eef1f4 !important;
        background: rgba(255,255,255,.97) !important;
        box-shadow: 0 8px 18px rgba(16,24,40,.025) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
    }

    body.location_body :is(.cat_button_text, .cat_button_text_selected),
    body.location_body .a4d_all_categories_button {
        min-height: 40px !important;
        padding: 8px 14px !important;
        border-radius: 999px !important;
        font-size: 13px !important;
    }

    body.location_body #items_container {
        grid-area: items !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.location_body .items_for_cat {
        width: 100% !important;
        margin: 0 0 24px !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 11px !important;
        scroll-margin-top: 58px !important;
    }

    body.location_body .item_cat_header {
        margin: 5px 0 -4px !important;
        font-size: 25px !important;
        line-height: 1.2 !important;
        letter-spacing: -.02em !important;
    }

    body.location_body .item_cat_header_desc {
        margin-bottom: 1px !important;
        font-size: 14px !important;
    }

    body.location_body .searchable_item > .full_width,
    body.location_body .item_info {
        min-height: 145px !important;
    }

    body.location_body .searchable_item > .full_width {
        border-radius: 13px !important;
        box-shadow: 0 2px 8px rgba(16,24,40,.035) !important;
    }

    body.location_body .item_info {
        padding: 14px 13px 12px !important;
    }

    body.location_body .item_name {
        font-size: 16px !important;
        line-height: 1.25 !important;
    }

    body.location_body .item_description {
        max-height: 42px !important;
        padding-bottom: 42px !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    body.location_body .item_cost {
        left: 13px !important;
        bottom: 15px !important;
        font-size: 17px !important;
    }

    body.location_body .searchable_item > .full_width::after {
        right: 11px !important;
        bottom: 11px !important;
        min-height: 36px !important;
        padding: 8px 13px !important;
        border-radius: 10px !important;
        font-size: 13px !important;
    }

    /* ---------- Permanent desktop basket ---------- */
    body.location_body #basket_area_small {
        grid-area: basket !important;
        grid-row: 1 / span 2 !important;
        align-self: start !important;
        position: sticky !important;
        top: 8px !important;
        z-index: 80 !important;
        width: var(--a4d-desktop-basket) !important;
        min-width: var(--a4d-desktop-basket) !important;
        max-width: var(--a4d-desktop-basket) !important;
        height: calc(100dvh - 16px) !important;
        min-height: 560px !important;
        max-height: calc(100dvh - 16px) !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        border: 1px solid color-mix(in srgb, var(--a4d-orange) 26%, transparent) !important;
        border-top: 3px solid var(--a4d-desktop-orange) !important;
        border-radius: 15px !important;
        background: #fff !important;
        box-shadow: 0 12px 34px rgba(16,24,40,.09) !important;
        box-sizing: border-box !important;
    }

    body.location_body #basket_area_small .a4d_basket_heading {
        min-height: 54px !important;
        padding: 12px 15px !important;
        border-bottom: 1px solid #edf0f3 !important;
    }

    body.location_body #basket_area_small .a4d_basket_heading_text {
        font-size: 20px !important;
        letter-spacing: -.015em !important;
    }

    body.location_body #basket_area_small .basket_block {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 0 14px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        scrollbar-width: thin !important;
        scrollbar-color: #d0d5dd transparent !important;
    }

    body.location_body #basket_area_small .basket_block::-webkit-scrollbar {
        width: 6px !important;
    }

    body.location_body #basket_area_small .basket_block::-webkit-scrollbar-thumb {
        border-radius: 999px !important;
        background: #d0d5dd !important;
    }

    body.location_body #basket_area_small .order_item {
        padding: 9px 0 !important;
        border-bottom: 1px solid #edf0f3 !important;
    }

    /* Compact desktop row: quantity + item + line total + delete all stay together. */
    body.location_body #basket_area_small .order_item > .flexdiv {
        display: grid !important;
        grid-template-columns: 82px minmax(0, 1fr) auto 24px !important;
        grid-template-areas: "qty name cost delete" !important;
        column-gap: 8px !important;
        row-gap: 0 !important;
        align-items: center !important;
    }

    body.location_body #basket_area_small .order_item > .flexdiv > .a4d_basket_qty_stepper {
        grid-area: qty !important;
        justify-self: start !important;
        width: 82px !important;
        min-width: 82px !important;
        max-width: 82px !important;
        height: 30px !important;
        margin: 0 !important;
    }

    body.location_body #basket_area_small .order_item > .flexdiv > .order_name {
        grid-area: name !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
    }

    body.location_body #basket_area_small .order_item > .flexdiv > .order_name,
    body.location_body #basket_area_small .order_item > .flexdiv > .order_name b,
    body.location_body #basket_area_small .a4d_basket_item_name,
    body.location_body #basket_area_small .a4d_basket_item_name b {
        display: block !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    body.location_body #basket_area_small .order_item > .flexdiv > .order_cost {
        grid-area: cost !important;
        justify-self: end !important;
        font-size: 15px !important;
    }

    body.location_body #basket_area_small .order_item > .flexdiv > .order_item_delete {
        grid-area: delete !important;
        justify-self: end !important;
        width: 24px !important;
        min-width: 24px !important;
    }

    body.location_body #basket_area_small .order_item_delete img {
        width: 16px !important;
        height: 16px !important;
    }

    body.location_body #basket_area_small .a4d_basket_price_breakdown {
        margin: 5px 0 2px 90px !important;
        gap: 4px !important;
        font-size: 12px !important;
    }

    body.location_body #basket_area_small .a4d_price_chip {
        min-height: 21px !important;
        padding: 2px 6px !important;
        border-radius: 6px !important;
        font-size: 11.5px !important;
    }

    body.location_body #basket_area_small .a4d_basket_base_row,
    body.location_body #basket_area_small .a4d_basket_extra_row {
        margin-top: 3px !important;
        padding-left: 90px !important;
        font-size: 12.5px !important;
        line-height: 1.25 !important;
    }

    body.location_body #basket_area_small .a4d_basket_extra_main {
        grid-template-columns: 20px minmax(0,1fr) !important;
        gap: 4px !important;
    }

    body.location_body #basket_area_small .a4d_basket_edit_hint {
        margin: 5px 0 0 90px !important;
        min-height: 25px !important;
        padding: 4px 7px !important;
        font-size: 11.5px !important;
        border-radius: 7px !important;
    }

    /* Bottom region: offers stay visible, totals + checkout remain fixed. */
    body.location_body #basket_area_small .totals_container {
        flex: 0 0 auto !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 10px 13px 13px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 9px !important;
        border-top: 1px solid #e8ecf1 !important;
        background: #fff !important;
        box-shadow: 0 -10px 26px rgba(16,24,40,.035) !important;
    }

    body.location_body #basket_area_small .totals_container > .avail-offers-container-location {
        order: 1 !important;
    }

    body.location_body #basket_area_small .totals_container > :first-child {
        order: 2 !important;
    }

    body.location_body #basket_area_small .totals_container > .order_info_container {
        order: 3 !important;
    }

    body.location_body #basket_area_small .basket-offer-nudge {
        display: none !important;
    }

    body.location_body #basket_area_small .avail-offers-container-location {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        background: transparent !important;
    }

    body.location_body #basket_area_small .a4d_active_offers_drawer_inner {
        width: 100% !important;
        padding: 9px !important;
        border: 1px solid #fed7aa !important;
        border-radius: 11px !important;
        background: var(--a4d-orange-soft) !important;
        box-sizing: border-box !important;
    }

    body.location_body #basket_area_small .a4d_active_offers_header {
        min-height: 0 !important;
        margin: 0 0 6px !important;
        padding: 0 1px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        color: var(--a4d-desktop-ink) !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
        font-weight: 850 !important;
    }

    body.location_body #basket_area_small .a4d_active_offers_icon {
        color: var(--a4d-desktop-orange) !important;
    }

    body.location_body #basket_area_small .a4d_active_offers_list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_card {
        position: relative !important;
        min-height: 49px !important;
        padding: 7px 9px !important;
        border: 1px solid #e7ebef !important;
        border-radius: 9px !important;
        background: #fff !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_card.is-unlocked {
        border-color: #d7efdd !important;
        background: linear-gradient(90deg, #f2fbf4 0%, #f7fcf8 100%) !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_top {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_value {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 25px !important;
        padding: 4px 8px !important;
        border-radius: 999px !important;
        background: #d92d20 !important;
        color: #fff !important;
        font-size: 11.5px !important;
        line-height: 1 !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_scope,
    body.location_body #basket_area_small .a4d_active_offer_scope.is-cash,
    body.location_body #basket_area_small .a4d_active_offer_scope.is-card {
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--a4d-desktop-ink) !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        font-weight: 850 !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_meta {
        margin-top: 2px !important;
        color: var(--a4d-desktop-muted) !important;
        font-size: 11.5px !important;
        line-height: 1.25 !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_card.is-unlocked .a4d_active_offer_meta strong {
        color: #15803d !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_progress {
        height: 4px !important;
        margin-top: 5px !important;
        border-radius: 999px !important;
        background: #e9edf2 !important;
        overflow: hidden !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_progress > span {
        display: block !important;
        height: 100% !important;
        border-radius: inherit !important;
        background: var(--a4d-desktop-orange) !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_card.is-unlocked .a4d_active_offer_progress > span {
        background: #22a559 !important;
    }

    body.location_body #basket_area_small .order_total_amount {
        margin: 0 !important;
        padding: 0 2px !important;
    }

    body.location_body #basket_area_small .basket_total_title {
        font-size: 17px !important;
    }

    body.location_body #basket_area_small .basket_total_val {
        font-size: 20px !important;
    }

    body.location_body #basket_area_small .order_buttons_container {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    body.location_body #basket_area_small .order_cancel_button {
        display: none !important;
    }

    body.location_body #basket_area_small .action_order_button_submit {
        min-height: 48px !important;
        padding: 10px 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        border-radius: 11px !important;
        background: var(--a4d-desktop-orange) !important;
        color: #fff !important;
        font-size: 15px !important;
        line-height: 1.2 !important;
        font-weight: 900 !important;
        box-shadow: 0 7px 18px color-mix(in srgb, var(--a4d-orange) 18%, transparent) !important;
    }

    body.location_body #basket_area_small .action_order_button_submit::after {
        content: "→" !important;
        font-size: 19px !important;
        line-height: 1 !important;
    }

    /* The full-screen basket remains the existing drawer for tablet/mobile.
       On true desktop, the permanent sidebar is the basket surface. */
    body.location_body #basket_area_full:not(.basket_area_show) {
        pointer-events: none !important;
    }

    /* Keep the floating back-to-top button out of the permanent basket. */
    body.location_body #go_to_top_button {
        right: calc(var(--a4d-desktop-basket) + var(--a4d-desktop-page-x) + 14px) !important;
        bottom: 18px !important;
    }
}

/* At the narrow edge of desktop, preserve sensible card widths. */
@media (min-width: 1051px) and (max-width: 1249px) {
    body.location_body {
        --a4d-desktop-basket: 380px;
        --a4d-desktop-gap: 18px;
    }

    body.location_body .items_for_cat {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* =====================================================================
   ASK4DISH APPROVED DESKTOP BASKET + STICKY NAV — V36
   Desktop only. Phone/tablet layout and behaviour remain unchanged.
   ===================================================================== */

/* Keep existing mobile basket structure visually identical despite the new
   details wrapper used by desktop. */
body.location_body .a4d_basket_details { display: contents; }
body.location_body .a4d_basket_details_toggle { display: none; }
body.location_body .a4d_desktop_summary_title,
body.location_body .a4d_desktop_clear_basket { display: none; }

@media (min-width: 1051px) {
    body.location_body {
        --a4d-desktop-header-h: 62px;
        --a4d-desktop-search-h: 54px;
        --a4d-desktop-cat-h: 54px;
        --a4d-desktop-sticky-offset: calc(var(--a4d-desktop-header-h) + var(--a4d-desktop-search-h) + var(--a4d-desktop-cat-h));
        --a4d-desktop-basket: 440px;
    }

    /* Header + search + categories remain permanently available. */
    body.location_body .the_header {
        position: sticky !important;
        top: 0 !important;
        z-index: 1300 !important;
        min-height: var(--a4d-desktop-header-h) !important;
        height: var(--a4d-desktop-header-h) !important;
        max-height: var(--a4d-desktop-header-h) !important;
    }

    body.location_body .header_info {
        min-height: var(--a4d-desktop-header-h) !important;
        height: var(--a4d-desktop-header-h) !important;
    }

    body.location_body .header_background {
        height: var(--a4d-desktop-header-h) !important;
    }

    body.location_body .hdr_adorders_logo_image {
        width: 120px !important;
        max-width: 120px !important;
        max-height: 44px !important;
    }

    body.location_body .info_container {
        position: sticky !important;
        top: var(--a4d-desktop-header-h) !important;
        z-index: 1240 !important;
        min-height: var(--a4d-desktop-search-h) !important;
        height: var(--a4d-desktop-search-h) !important;
        padding: 5px 0 !important;
        border-bottom: 1px solid #eef1f4 !important;
        background: rgba(255,255,255,.98) !important;
        box-shadow: 0 4px 12px rgba(16,24,40,.025) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
    }

    body.location_body .search_container {
        min-height: 42px !important;
        height: 42px !important;
    }

    body.location_body .search_input { height: 40px !important; }

    body.location_body #scrolling_cats {
        top: calc(var(--a4d-desktop-header-h) + var(--a4d-desktop-search-h)) !important;
        z-index: 1200 !important;
        min-height: var(--a4d-desktop-cat-h) !important;
        height: var(--a4d-desktop-cat-h) !important;
        padding: 6px 0 8px !important;
        box-sizing: border-box !important;
    }

    body.location_body .items_for_cat {
        scroll-margin-top: calc(var(--a4d-desktop-sticky-offset) + 12px) !important;
    }

    /* Full-height permanent basket below the sticky navigation stack. */
    body.location_body #basket_area_small {
        top: calc(var(--a4d-desktop-sticky-offset) + 10px) !important;
        height: calc(100vh - var(--a4d-desktop-sticky-offset) - 20px) !important;
        min-height: 470px !important;
        max-height: calc(100vh - var(--a4d-desktop-sticky-offset) - 20px) !important;
        border: 1px solid color-mix(in srgb, var(--a4d-orange) 42%, transparent) !important;
        border-top: 3px solid var(--a4d-desktop-orange) !important;
        border-radius: 14px !important;
        box-shadow: 0 12px 34px rgba(16,24,40,.08), 0 0 0 1px color-mix(in srgb, var(--a4d-orange) 4%, transparent) !important;
    }

    body.location_body #basket_area_small .a4d_basket_heading {
        min-height: 48px !important;
        padding: 10px 13px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
    }

    body.location_body #basket_area_small .a4d_basket_heading_text {
        min-width: 0 !important;
        font-size: 18px !important;
        line-height: 1.2 !important;
    }

    body.location_body #basket_area_small .a4d_desktop_clear_basket:not([hidden]) {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 30px !important;
        margin: 0 !important;
        padding: 4px 7px !important;
        border: 0 !important;
        border-radius: 7px !important;
        background: transparent !important;
        color: #d92d20 !important;
        font-size: 12px !important;
        line-height: 1 !important;
        font-weight: 750 !important;
        cursor: pointer !important;
    }

    body.location_body #basket_area_small .a4d_desktop_clear_basket::before {
        content: "⌫" !important;
        margin-right: 4px !important;
        font-size: 14px !important;
    }

    body.location_body #basket_area_small .a4d_desktop_clear_basket:hover {
        background: #fff1f0 !important;
    }

    /* Preserve allergen access without wasting basket height. */
    body.location_body #basket_area_small .allergen_container {
        min-height: 32px !important;
        height: 32px !important;
        padding: 3px 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        border-bottom: 1px solid #f0f2f5 !important;
        box-sizing: border-box !important;
    }

    body.location_body #basket_area_small .basket_allergen_button {
        min-height: 24px !important;
        height: 24px !important;
        padding: 3px 7px !important;
        border-radius: 7px !important;
        font-size: 10.5px !important;
    }

    body.location_body #basket_area_small .basket-pre-order {
        padding: 0 !important;
        font-size: 10.5px !important;
    }

    body.location_body #basket_area_small .basket_block {
        flex: 1 1 0 !important;
        min-height: 0 !important;
        padding: 0 12px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
    }

    body.location_body #basket_area_small .order_items {
        padding-bottom: 2px !important;
    }

    body.location_body #basket_area_small .order_discount_title {
        display: none !important;
    }

    body.location_body #basket_area_small .order_item {
        padding: 7px 0 !important;
    }

    /* Dense top row so 8–10 ordinary lines are visible before any scrolling. */
    body.location_body #basket_area_small .order_item > .flexdiv {
        grid-template-columns: minmax(0,1fr) 78px auto 22px !important;
        grid-template-areas: "name qty cost delete" !important;
        column-gap: 7px !important;
        row-gap: 0 !important;
    }

    body.location_body #basket_area_small .order_item > .flexdiv > .order_name {
        grid-area: name !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        font-size: 13.5px !important;
        line-height: 1.2 !important;
    }

    body.location_body #basket_area_small .a4d_basket_item_name b {
        font-size: 13.5px !important;
        line-height: 1.2 !important;
    }

    body.location_body #basket_area_small .a4d_basket_allergens {
        margin-left: 4px !important;
        vertical-align: middle !important;
    }

    body.location_body #basket_area_small .order_item > .flexdiv > .a4d_basket_qty_stepper {
        grid-area: qty !important;
        width: 78px !important;
        min-width: 78px !important;
        max-width: 78px !important;
        height: 28px !important;
    }

    body.location_body #basket_area_small .a4d_basket_qty_btn {
        min-width: 23px !important;
        width: 23px !important;
        height: 26px !important;
        font-size: 14px !important;
    }

    body.location_body #basket_area_small .a4d_basket_qty_value {
        font-size: 12.5px !important;
    }

    body.location_body #basket_area_small .order_item > .flexdiv > .order_cost {
        grid-area: cost !important;
        font-size: 13.5px !important;
        white-space: nowrap !important;
    }

    body.location_body #basket_area_small .order_item > .flexdiv > .order_item_delete {
        grid-area: delete !important;
        width: 22px !important;
        min-width: 22px !important;
    }

    /* Desktop details are opt-in. Mobile keeps display:contents above. */
    body.location_body #basket_area_small .a4d_basket_details {
        display: none !important;
        margin: 5px 0 0 !important;
        padding: 6px 9px !important;
        border-radius: 8px !important;
        background: #fafbfc !important;
    }

    body.location_body #basket_area_small .order_item.a4d_details_open .a4d_basket_details {
        display: block !important;
    }

    body.location_body #basket_area_small .a4d_basket_details_toggle {
        width: auto !important;
        min-height: 23px !important;
        margin: 3px 24px 0 auto !important;
        padding: 2px 3px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 3px !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--a4d-desktop-orange) !important;
        font-size: 11px !important;
        line-height: 1.1 !important;
        font-weight: 750 !important;
        cursor: pointer !important;
    }

    body.location_body #basket_area_small .a4d_basket_price_breakdown,
    body.location_body #basket_area_small .a4d_basket_base_row,
    body.location_body #basket_area_small .a4d_basket_extra_row,
    body.location_body #basket_area_small .a4d_basket_edit_hint {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    body.location_body #basket_area_small .a4d_basket_base_row,
    body.location_body #basket_area_small .a4d_basket_extra_row {
        font-size: 11.5px !important;
        line-height: 1.2 !important;
    }

    body.location_body #basket_area_small .a4d_basket_edit_hint {
        margin-top: 5px !important;
        min-height: 24px !important;
    }

    /* Offers and totals never scroll away. */
    body.location_body #basket_area_small .totals_container {
        flex: 0 0 auto !important;
        max-height: min(390px, 46vh) !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        padding: 8px 11px 11px !important;
        gap: 7px !important;
        scrollbar-width: thin !important;
    }

    body.location_body #basket_area_small .totals_container > .avail-offers-container-location { order: 1 !important; }
    body.location_body #basket_area_small .totals_container > .basket-offer-nudge { order: 2 !important; }
    body.location_body #basket_area_small .totals_container > .a4d_desktop_summary_title { order: 3 !important; }
    body.location_body #basket_area_small .totals_container > .a4d_desktop_total_outer { order: 4 !important; }
    body.location_body #basket_area_small .totals_container > .order_info_container { order: 5 !important; }

    body.location_body #basket_area_small .a4d_desktop_summary_title {
        display: block !important;
        margin: 1px 0 -2px !important;
        color: #344054 !important;
        font-size: 12.5px !important;
        line-height: 1.2 !important;
        font-weight: 800 !important;
    }

    /* Offers & savings: compact, readable, and accurate. */
    body.location_body #basket_area_small .a4d_active_offers_drawer_inner {
        padding: 8px !important;
        border: 1px solid #fed7aa !important;
        border-radius: 10px !important;
        background: var(--a4d-orange-soft) !important;
    }

    body.location_body #basket_area_small .a4d_active_offers_header {
        margin-bottom: 6px !important;
        font-size: 13.5px !important;
    }

    body.location_body #basket_area_small .a4d_active_offers_icon {
        color: var(--a4d-desktop-orange) !important;
    }

    body.location_body #basket_area_small .a4d_active_offers_list {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 6px !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_card {
        min-width: 0 !important;
        min-height: 48px !important;
        padding: 6px 7px !important;
        border-radius: 8px !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_card.is-unlocked {
        border-color: #b7e2c4 !important;
        background: #f0fbf3 !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_card.is-unlocked::after {
        content: "✓" !important;
        position: absolute !important;
        top: 7px !important;
        right: 7px !important;
        width: 18px !important;
        height: 18px !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 50% !important;
        background: #16a34a !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 900 !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_value {
        min-height: 22px !important;
        padding: 3px 6px !important;
        font-size: 10.5px !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_scope,
    body.location_body #basket_area_small .a4d_active_offer_scope.is-cash,
    body.location_body #basket_area_small .a4d_active_offer_scope.is-card {
        padding-right: 17px !important;
        font-size: 10.5px !important;
    }

    body.location_body #basket_area_small .a4d_active_offer_meta {
        font-size: 10.5px !important;
    }

    body.location_body #basket_area_small .a4d_desktop_offer_note {
        margin-top: 6px !important;
        padding: 6px 8px !important;
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        border-radius: 7px !important;
        background: var(--a4d-orange-soft) !important;
        color: #b54708 !important;
        font-size: 10.5px !important;
        line-height: 1.2 !important;
    }

    body.location_body #basket_area_small .a4d_desktop_offer_note > span {
        color: var(--a4d-desktop-orange) !important;
        font-size: 14px !important;
    }

    body.location_body #basket_area_small .a4d_desktop_offer_unlock {
        margin-top: 6px !important;
        padding: 6px 8px !important;
        border: 1px solid #e7ebef !important;
        border-radius: 8px !important;
        background: #fff !important;
    }

    body.location_body #basket_area_small .a4d_desktop_offer_unlock_copy {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        color: #344054 !important;
        font-size: 10.5px !important;
        line-height: 1.2 !important;
    }

    body.location_body #basket_area_small .a4d_desktop_offer_unlock_copy > span {
        color: #667085 !important;
        white-space: nowrap !important;
    }

    body.location_body #basket_area_small .a4d_desktop_offer_unlock_progress {
        height: 5px !important;
        margin-top: 5px !important;
        overflow: hidden !important;
        border-radius: 999px !important;
        background: #e8edf3 !important;
    }

    body.location_body #basket_area_small .a4d_desktop_offer_unlock_progress > span {
        display: block !important;
        height: 100% !important;
        border-radius: inherit !important;
        background: var(--a4d-desktop-orange) !important;
    }

    body.location_body #basket_area_small .order_total_amount {
        padding: 5px 2px 2px !important;
        border-top: 1px solid #eaecf0 !important;
    }

    body.location_body #basket_area_small .basket_total_title { font-size: 15px !important; }
    body.location_body #basket_area_small .basket_total_val { font-size: 18px !important; }

    body.location_body #basket_area_small .action_order_button_submit {
        min-height: 44px !important;
        padding: 9px 13px !important;
        border-radius: 999px !important;
        font-size: 14px !important;
    }

    body.location_body #basket_area_small .action_order_button_submit::after {
        content: "→" !important;
        font-size: 17px !important;
    }
}

@media (min-width: 1051px) and (max-height: 760px) {
    body.location_body #basket_area_small .allergen_container { display: none !important; }
    body.location_body #basket_area_small .totals_container { max-height: 43vh !important; }
    body.location_body #basket_area_small .a4d_active_offers_list { grid-template-columns: 1fr 1fr !important; }
}


/* =====================================================================
   ASK4DISH V38 - fixed extras actions + list-only scrolling
   Responsive on desktop and phone. Existing menu/basket breakpoints untouched.
   ===================================================================== */
body.location_body .a4d13-extras-card {
  height:min(820px, calc(100dvh - 28px)) !important;
  max-height:calc(100dvh - 28px) !important;
}

body.location_body .a4d13-extras-body {
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
}

body.location_body .a4d13-item-summary {
  flex:0 0 auto !important;
}

body.location_body .a4d13-question {
  flex:1 1 auto !important;
  min-height:0 !important;
  height:100% !important;
  padding:14px 16px 0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
body.location_body .a4d13-question[style*="display: none"] {
  display:none !important;
}

body.location_body .a4d13-question-header,
body.location_body .a4d13-extra-filter,
body.location_body .a4d_extras_inline_warning,
body.location_body .a4d_meal_search_empty {
  flex:0 0 auto !important;
}

/* The user only scrolls the choices. Header/search/actions never disappear. */
body.location_body .a4d13-answer-list {
  flex:1 1 auto !important;
  min-height:110px !important;
  max-height:none !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:thin !important;
  scrollbar-color:#cfd5dd transparent !important;
}
body.location_body .a4d13-answer-list::-webkit-scrollbar { width:6px !important; }
body.location_body .a4d13-answer-list::-webkit-scrollbar-thumb {
  border-radius:999px !important;
  background:#cfd5dd !important;
}

body.location_body .a4d13-scroll-hint {
  flex:0 0 auto !important;
  width:100% !important;
  min-height:34px !important;
  margin:0 !important;
  padding:8px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-top:1px solid #ffe1c7 !important;
  background:linear-gradient(180deg,var(--a4d-orange-soft) 0%,var(--a4d-orange-soft) 100%) !important;
  color:var(--a4d-orange-deep) !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-align:center !important;
  box-sizing:border-box !important;
}
body.location_body .a4d13-scroll-hint[hidden] { display:none !important; }

/* Persistent action footer. */
body.location_body .a4d13-nav {
  flex:0 0 auto !important;
  width:calc(100% + 32px) !important;
  min-height:66px !important;
  margin:0 -16px !important;
  padding:10px 16px max(10px, env(safe-area-inset-bottom)) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  border-top:1px solid var(--a4d13-line) !important;
  background:#fff !important;
  box-shadow:0 -8px 20px rgba(16,24,40,.045) !important;
  box-sizing:border-box !important;
  z-index:5 !important;
}
body.location_body .a4d13-nav-summary {
  min-width:90px !important;
  flex:1 1 auto !important;
  margin:0 auto 0 0 !important;
  color:#667085 !important;
}
body.location_body .a4d13-nav-summary-value {
  display:block !important;
  color:#182230 !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
}
body.location_body .a4d13-nav-back {
  margin-left:0 !important;
  margin-right:0 !important;
}
body.location_body .a4d13-nav-next,
body.location_body .a4d13-nav-primary,
body.location_body .a4d13-add-order {
  flex:0 0 auto !important;
}
body.location_body .a4d13-nav-next {
  min-width:112px !important;
  border-color:var(--a4d13-orange) !important;
  background:var(--a4d13-orange) !important;
  color:#fff !important;
}
body.location_body .a4d13-add-order {
  min-width:180px !important;
}

/* Do not advertise the repeat limit until it actually matters. */
body.location_body .a4d13-repeat-note { display:none !important; }
body.location_body .a4d13-extra-row.is-maxed .a4d13-extra-name::after {
  content:"  · Max 9" !important;
  color:#b54708 !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

@media (max-width:700px) {
  body.location_body .a4d13-extras-shell {
    width:calc(100vw - 12px) !important;
    max-width:none !important;
    max-height:calc(100dvh - 12px) !important;
  }
  body.location_body .a4d13-extras-card {
    height:calc(100dvh - 12px) !important;
    max-height:calc(100dvh - 12px) !important;
    border-radius:16px !important;
  }
  body.location_body .a4d13-extras-header {
    min-height:56px !important;
    padding:9px 12px 9px 14px !important;
  }
  body.location_body .a4d13-extras-title { font-size:19px !important; }
  body.location_body .a4d13-item-summary { padding:10px 13px !important; }
  body.location_body .a4d13-item-name,
  body.location_body .a4d13-item-cost { font-size:14px !important; }
  body.location_body .a4d13-item-description { font-size:11.5px !important; }
  body.location_body .a4d13-question {
    padding:10px 12px 0 !important;
  }
  body.location_body .a4d13-question-header { margin-bottom:7px !important; }
  body.location_body .a4d13-extra-filter {
    height:42px !important;
    margin-bottom:7px !important;
  }
  body.location_body .a4d13-answer-list { min-height:100px !important; }
  body.location_body .a4d13-scroll-hint {
    min-height:32px !important;
    padding:7px 8px !important;
    font-size:11.5px !important;
  }
  body.location_body .a4d13-nav {
    width:calc(100% + 24px) !important;
    min-height:62px !important;
    margin:0 -12px !important;
    padding:8px 12px max(8px, env(safe-area-inset-bottom)) !important;
    gap:6px !important;
  }
  body.location_body .a4d13-nav-summary { min-width:72px !important; }
  body.location_body .a4d13-nav-summary-value { font-size:12px !important; }
  body.location_body .a4d13-nav-button {
    min-height:44px !important;
    padding:8px 12px !important;
  }
  body.location_body .a4d13-nav-next { min-width:100px !important; }
  body.location_body .a4d13-add-order {
    min-width:142px !important;
    min-height:46px !important;
  }
}

@media (max-width:390px) {
  body.location_body .a4d13-nav-summary-value { font-size:11px !important; }
  body.location_body .a4d13-nav-back { min-width:72px !important; padding-inline:9px !important; }
  body.location_body .a4d13-nav-next { min-width:88px !important; padding-inline:10px !important; }
  body.location_body .a4d13-add-order { min-width:128px !important; }
}


/* =====================================================================
   ASK4DISH V39 - persistent checkout review gate + account-state safety
   ===================================================================== */
#checkout-dialog .checkout-error.checkout-review-required {
  display:grid !important;
  gap:7px !important;
  padding:12px 13px !important;
  border:1px solid #f04438 !important;
  border-radius:12px !important;
  background:#fff5f4 !important;
  color:#7a271a !important;
}
#checkout-dialog .checkout-review-required-title {
  display:block !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
}
#checkout-dialog .checkout-review-required-message {
  display:block !important;
  font-size:13px !important;
  line-height:1.4 !important;
}
#checkout-dialog .checkout-review-required-action {
  width:100% !important;
  min-height:40px !important;
  margin-top:2px !important;
  padding:8px 12px !important;
  border:1px solid var(--a4d-orange) !important;
  border-radius:9px !important;
  background:var(--a4d-orange) !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  cursor:pointer !important;
}
#checkout-dialog #order_now_button:disabled {
  cursor:not-allowed !important;
  opacity:.5 !important;
}


/* =====================================================================
   ASK4DISH V40 - extras modal hardening + asset-loading verification
   Keeps the approved V38 structure visible even against legacy overrides.
   ===================================================================== */
body.location_body .a4d13-extras-card {
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
body.location_body .a4d13-extras-body {
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
}
body.location_body .a4d13-question:not([style*="display: none"]) {
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
}
body.location_body .a4d13-answer-list {
  flex:1 1 auto !important;
  min-height:80px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}
body.location_body .a4d13-nav {
  position:sticky !important;
  bottom:0 !important;
  flex:0 0 auto !important;
  z-index:20 !important;
  background:#fff !important;
}
body.location_body .a4d13-repeat-note,
body.location_body .a4d13-repeat-limit,
body.location_body [data-a4d-repeat-note] {
  display:none !important;
}
@media (max-width:700px) {
  body.location_body .a4d13-extras-card {
    height:100dvh !important;
    max-height:100dvh !important;
  }
  body.location_body .a4d13-extras-body {
    height:auto !important;
    max-height:none !important;
    overflow:hidden !important;
  }
  body.location_body .a4d13-question:not([style*="display: none"]) {
    height:auto !important;
    max-height:none !important;
  }
  body.location_body .a4d13-nav {
    padding-bottom:max(8px, env(safe-area-inset-bottom)) !important;
  }
}


/* =====================================================================
   ASK4DISH V41 - full-width sticky desktop nav + contained basket rows
   Desktop only. Phone/tablet rules remain untouched.
   ===================================================================== */
@media (min-width: 1051px) {
    /* Search row becomes a true full-width sticky surface while the field
       itself keeps the approved compact centered width. */
    body.location_body .info_container {
        width: 100vw !important;
        max-width: none !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding-left: max(var(--a4d-desktop-page-x), calc((100vw - var(--a4d-desktop-max)) / 2)) !important;
        padding-right: max(var(--a4d-desktop-page-x), calc((100vw - var(--a4d-desktop-max)) / 2)) !important;
        box-sizing: border-box !important;
    }

    /* Desktop category dock. The category element is moved out of the menu
       grid by A4DInstallDesktopCategoryDock(), so sticky positioning is no
       longer constrained by the grid/basket row. Search scrolls normally;
       categories stick directly beneath the real Ask4Dish header. */
    body.location_body.a4d-desktop-category-docked .info_container {
        position: relative !important;
        top: auto !important;
        z-index: 1 !important;
    }

    body.location_body.a4d-desktop-category-docked #main_container {
        grid-template-areas: "items basket" !important;
        padding-top: 0 !important;
    }

    body.location_body.a4d-desktop-category-docked #scrolling_cats {
        grid-area: auto !important;
        grid-column: auto !important;
        grid-row: auto !important;
        position: sticky !important;
        top: var(--a4d-desktop-header-h) !important;
        left: auto !important;
        right: auto !important;
        z-index: 1200 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-left: max(var(--a4d-desktop-page-x), calc((100vw - var(--a4d-desktop-max)) / 2)) !important;
        padding-right: max(var(--a4d-desktop-page-x), calc((100vw - var(--a4d-desktop-max)) / 2)) !important;
        box-sizing: border-box !important;
    }

    /* Desktop basket dock. JavaScript moves the existing small basket out of
       the grid and into #main_area, where fixed positioning is viewport based.
       The top edge follows the real category bar and the item list owns the
       flexible/scrollable space, so adding items cannot grow the outer card. */
    body.location_body.a4d-desktop-basket-docked #basket_area_small {
        grid-area: auto !important;
        grid-column: auto !important;
        grid-row: auto !important;
        align-self: auto !important;
        position: fixed !important;
        top: var(--a4d-desktop-basket-top, calc(var(--a4d-desktop-header-h) + var(--a4d-desktop-cat-h) + 10px)) !important;
        right: var(--a4d-desktop-basket-right, var(--a4d-desktop-page-x)) !important;
        left: auto !important;
        z-index: 110 !important;
        width: var(--a4d-desktop-basket) !important;
        min-width: var(--a4d-desktop-basket) !important;
        max-width: var(--a4d-desktop-basket) !important;
        height: calc(100dvh - var(--a4d-desktop-basket-top, 140px) - 10px) !important;
        min-height: 0 !important;
        max-height: calc(100dvh - var(--a4d-desktop-basket-top, 140px) - 10px) !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    /* Keep every basket line visually inside its rounded card. */
    body.location_body #basket_area_small .a4d_order_item_wrap {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.location_body #basket_area_small .order_item {
        width: 100% !important;
        min-width: 0 !important;
        padding: 8px 10px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    body.location_body #basket_area_small .order_item > .flexdiv {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    body.location_body #basket_area_small .order_item > .flexdiv > .order_name,
    body.location_body #basket_area_small .a4d_basket_item_name,
    body.location_body #basket_area_small .a4d_basket_item_name b {
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        box-sizing: border-box !important;
    }
}

/* =====================================================================
   ASK4DISH V42 - checkout resize/render transaction stability
   Keep page scrolling locked and prevent Chrome from scrolling the checkout
   body while viewport breakpoints or asynchronously-rendered totals are
   changing its layout. The body is the only checkout scroll surface once the
   layout has settled.
   ===================================================================== */
html.checkout-dialog-page-locked,
body.checkout-dialog-page-locked,
body.location_body.checkout-dialog-page-locked {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

#checkout-dialog.checkout-dialog {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

#checkout-dialog > .checkout-dialog-content {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    max-height: calc(100dvh - clamp(16px, 3vw, 36px)) !important;
    overflow: hidden !important;
}

#checkout-dialog .checkout-dialog-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overflow-anchor: none !important;
    overscroll-behavior-y: contain !important;
    scrollbar-gutter: stable !important;
}

/* During an active resize or checkout subtree replacement, hold the current
   scroll position until two animation frames have allowed Chrome to complete
   layout/paint. This prevents the resize + scroll + DOM-replacement race that
   can leave blank/unpainted regions in the fixed checkout. */
#checkout-dialog.checkout-dialog-layout-changing .checkout-dialog-body {
    overflow-y: hidden !important;
    scroll-behavior: auto !important;
}

@media (max-width: 720px) {
    #checkout-dialog > .checkout-dialog-content {
        max-height: 100dvh !important;
    }
}

/* Keep the public location-list and menu headers visually consistent at every
   breakpoint. This intentionally comes after the older responsive redesigns. */
#the_header.a4d_site_header {
    --a4d-site-header-height: 76px;
}

body.location_body {
    --a4d-desktop-header-h: var(--a4d-site-header-height);
    --a4d-menu-header-offset: var(--a4d-site-header-height) !important;
}

#the_header.a4d_site_header {
    width: 100% !important;
    min-height: var(--a4d-site-header-height) !important;
    height: var(--a4d-site-header-height) !important;
    max-height: var(--a4d-site-header-height) !important;
    overflow: visible !important;
    border: 0 !important;
    border-bottom: 1px solid #eef1f4 !important;
    background: #fff !important;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .05) !important;
    box-sizing: border-box !important;
}

#the_header.a4d_site_header .header_info {
    position: relative !important;
    z-index: 10 !important;
    width: 100% !important;
    min-height: var(--a4d-site-header-height) !important;
    height: var(--a4d-site-header-height) !important;
    margin: 0 !important;
    padding: 0 8px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    pointer-events: none !important;
    box-sizing: border-box !important;
}

#the_header.a4d_site_header .customer_login_container,
#the_header.a4d_site_header .customer_login_container.a4d_has_account_initials {
    position: static !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    width: auto !important;
    min-width: 42px !important;
    max-width: 90% !important;
    min-height: 42px !important;
    height: 42px !important;
    max-height: 42px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    overflow: hidden !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--a4d-orange) !important;
    color: #fff !important;
    pointer-events: auto !important;
    box-shadow: 0 5px 14px color-mix(in srgb, var(--a4d-orange) 22%, transparent) !important;
    box-sizing: border-box !important;
}

#the_header.a4d_site_header .customer_login_container > .hdr_adorders_logo_h2,
#the_header.a4d_site_header .customer_login_container .header-account-label {
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    visibility: visible !important;
}

#the_header.a4d_site_header .customer_login_container > :is(.headers_img_login, .headers_img_loggedin) {
    flex: 0 0 22px !important;
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    min-height: 22px !important;
    height: 22px !important;
    max-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#the_header.a4d_site_header .customer_login_container img {
    display: block !important;
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    margin: 0 !important;
    border: 0 !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;
}

#the_header.a4d_site_header .customer_login_container.a4d_has_account_initials {
    width: 42px !important;
    max-width: 42px !important;
    padding: 0 !important;
}

#the_header.a4d_site_header .customer_login_container.a4d_has_account_initials .a4d_account_initials {
    position: static !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
}

#the_header.a4d_site_header .header_background {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    width: min(120px, 28vw) !important;
    min-height: 0 !important;
    height: 48px !important;
    max-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    background: transparent !important;
    pointer-events: none !important;
}

#the_header.a4d_site_header .hdr_adorders_logo_image {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 120px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 48px !important;
    margin: 0 !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
}

body.location_body .a4d_mobile_brand_text {
    display: none !important;
}

.header_home_button {
    position: absolute;
    left: 50%;
    top: -35px;
    z-index: var(--z-index-hdr-logo);
    width: var(--logo-width-x-large);
    height: var(--logo-height-x-large);
    margin: 0;
    padding: 0;
    display: block;
    transform: translateX(-50%);
    border: 0;
    background: transparent;
    cursor: pointer;
    pointer-events: auto;
}

.header_home_button .hdr_adorders_logo_image {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    transform: none !important;
}

#the_header.a4d_site_header .header_home_button {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    height: 48px !important;
    transform: none !important;
}

.header_home_button:focus-visible .hdr_adorders_logo_image {
    outline: 3px solid color-mix(in srgb, var(--a4d-orange) 35%, transparent);
    outline-offset: 3px;
}

@media (max-width: 700px) {
    .header_home_button {
        top: -43px;
        width: var(--logo-width-medium);
        height: var(--logo-height-medium);
    }

}

@media (max-width: 600px) {
    .header_home_button {
        width: var(--logo-width-small);
        height: var(--logo-height-small);
    }

}

@media (max-width: 460px) {
    #the_header.a4d_site_header .customer_login_container,
    #the_header.a4d_site_header .customer_login_container.a4d_has_account_initials {
        width: 42px !important;
        max-width: 42px !important;
        padding: 0 !important;
    }

    #the_header.a4d_site_header .customer_login_container > .hdr_adorders_logo_h2 {
        display: none !important;
    }
}

/* =====================================================================
   ASK4DISH V43 - single checkout section flow
   Full-screen at every width, one top Back control, grouped checkout
   sections, driver tip inside Payment, and a column-aligned Summary.
   ===================================================================== */
body.location_body #checkout-dialog.checkout-dialog {
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
}

body.location_body #checkout-dialog.checkout-dialog > .checkout-dialog-content {
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

body.location_body #checkout-dialog.checkout-dialog .checkout-dialog-header,
body.location_body #checkout-dialog.checkout-dialog.checkout-dialog-scrolled .checkout-dialog-header {
    flex: 0 0 auto !important;
    border-radius: 0 !important;
}

body.location_body #checkout-dialog.checkout-dialog .checkout-dialog-body {
    padding: clamp(12px, 2.5vw, 28px) !important;
}

#checkout-dialog .checkout-flow-section,
#checkout-dialog #checkout-allergen-confirm.checkout-form-section {
    width: min(100%, 1040px) !important;
    margin: 0 auto 18px !important;
    padding: 18px !important;
    box-sizing: border-box !important;
    border: 1px solid #e4e7ec !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(16, 24, 40, .05) !important;
}

#checkout-dialog #checkout-allergen-confirm.checkout-form-section {
    border-color: #ffd2ad !important;
    background: var(--a4d-orange-soft) !important;
}

#checkout-dialog .checkout-flow-section > h2,
#checkout-dialog #checkout-allergen-confirm > h2 {
    margin: 0 0 16px !important;
    color: #1d2939 !important;
    font-size: var(--checkout-font-section, 18px) !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
}

#checkout-dialog .checkout-section-complete > h2::after {
    content: "✓ Complete";
    display: inline-flex;
    align-items: center;
    margin-left: 10px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #ecfdf3;
    color: #027a48;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.2;
    vertical-align: middle;
}

#checkout-dialog .checkout-payment-subsection > h3,
#checkout-dialog #checkout-account-option > h3 {
    margin: 0 0 12px !important;
    color: #344054 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

#checkout-dialog .checkout-contact-grid {
    margin: 0 !important;
}

/* The single checkout owns the section heading. Old modal-step headings and
   cards are deliberately suppressed so no nested Checkout / close rows can
   reappear at any responsive breakpoint. */
#checkout-dialog :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page,
    #payment-info-page
) {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#checkout-dialog :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content > .modal-header,
#checkout-dialog #payment-info-page .modal-content > .modal-header {
    display: none !important;
}

#checkout-dialog :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content > .modal-body::before {
    content: none !important;
    display: none !important;
}

#checkout-dialog :is(
    #order_personal_info,
    #order_comments_info,
    #order_transport_info,
    #order-payment-type,
    #order-offers-page
) > .modal-content > .modal-body,
#checkout-dialog #payment-info-page .modal-content > .modal-body {
    padding: 0 !important;
}

#checkout-dialog #checkout-account-option {
    height: auto !important;
    margin: 0 0 16px !important;
    padding: 14px !important;
    border: 1px solid #fed7aa !important;
    border-radius: 12px !important;
    background: var(--a4d-orange-soft) !important;
    box-shadow: none !important;
}

#checkout-dialog .checkout-payment-subsection {
    padding: 0 0 18px !important;
}

#checkout-dialog .checkout-payment-subsection + .checkout-payment-subsection,
#checkout-dialog .checkout-driver-tip-slot:not(:empty) {
    padding-top: 18px !important;
    border-top: 1px solid #e4e7ec !important;
}

#checkout-dialog .checkout-driver-tip-slot:empty {
    display: none !important;
}

/* Driver-tip controls now live in Payment rather than Summary. */
#checkout-dialog.checkout-dialog #checkout-driver-tip-slot #delivery_tip_container {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot #delivery_tip_container[hidden] {
    display: none !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot #delivery_tip_container > .order_payment_inf_cost_left {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot .delivery_tip_heading {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    margin: 0 0 10px !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot .delivery_tip_title {
    margin: 0 !important;
    color: #344054 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot .delivery_tip_optional {
    color: #667085 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot .delivery_tip_default_notice {
    margin: 0 0 12px !important;
    padding: 10px 12px !important;
    border: 1px solid #ffc98f !important;
    border-left: 4px solid var(--a4d-orange) !important;
    border-radius: 8px !important;
    background: var(--a4d-orange-soft) !important;
    color: #7a3b00 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot .delivery_tip {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(76px, 1fr)) !important;
    gap: 8px !important;
    width: min(100%, 440px) !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot .delivery_tip input[type="radio"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot .delivery_tip label.col {
    float: none !important;
    width: auto !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: #344054 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: center !important;
    cursor: pointer !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot .delivery_tip input[type="radio"]:checked + label.col {
    border-color: var(--a4d-orange) !important;
    background: var(--a4d-orange) !important;
    color: #ffffff !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot .delivery_tip input[type="radio"]:focus-visible + label.col {
    outline: 3px solid color-mix(in srgb, var(--a4d-orange) 18%, transparent) !important;
    outline-offset: 2px !important;
}

/* The selected tip is already obvious from the orange option. Its amount is
   repeated in the aligned Summary row, so the legacy mini-summary is hidden. */
#checkout-dialog.checkout-dialog #checkout-driver-tip-slot .delivery_tip_summary {
    display: none !important;
}

/* Summary: every monetary row uses the same right-hand amount column. */
#checkout-dialog #checkout-summary-section #payment-info-page :is(
    .order_payment_items,
    .order_payment_discounts,
    .order_payment_charges,
    .order_payment_order_total_container,
    .order_payment_final_total_container,
    .checkout-driver-tip-amount-row
) {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page :is(
    .order_payment_items > .flexdiv,
    .order_payment_discount_container,
    .order_payment_order_total_container,
    .order_payment_charges > .flexdiv,
    .checkout-driver-tip-amount-row,
    .order_payment_final_total_container
) {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 104px !important;
    align-items: baseline !important;
    column-gap: 18px !important;
    box-sizing: border-box !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page :is(
    .order_payment_items > .flexdiv,
    .order_payment_discount_container,
    .order_payment_order_total_container,
    .order_payment_charges > .flexdiv,
    .checkout-driver-tip-amount-row,
    .order_payment_final_total_container
) > .order_payment_inf_cost_left {
    min-width: 0 !important;
    width: auto !important;
    padding-right: 0 !important;
    text-align: left !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page :is(
    .order_payment_items > .flexdiv,
    .order_payment_discount_container,
    .order_payment_order_total_container,
    .order_payment_charges > .flexdiv,
    .checkout-driver-tip-amount-row,
    .order_payment_final_total_container
) > .order_payment_inf_cost_right {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-self: end !important;
    text-align: right !important;
    white-space: nowrap !important;
    font-variant-numeric: tabular-nums !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page .checkout-driver-tip-amount-row {
    min-height: 40px !important;
    padding: 9px 2px !important;
    border-bottom: 1px solid #eef0f3 !important;
    color: #344054 !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page .checkout-driver-tip-amount-row[hidden] {
    display: none !important;
}

#checkout-dialog #checkout-summary-section .checkout-order-summary {
    margin: 18px 0 !important;
}

#checkout-dialog #checkout-summary-section .order_payment_buttons {
    margin-top: 18px !important;
}

@media (max-width: 520px) {
    #checkout-dialog .checkout-flow-section,
    #checkout-dialog #checkout-allergen-confirm.checkout-form-section {
        padding: 14px !important;
        margin-bottom: 12px !important;
        border-radius: 12px !important;
    }

    #checkout-dialog.checkout-dialog #checkout-driver-tip-slot .delivery_tip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    #checkout-dialog #checkout-summary-section #payment-info-page :is(
        .order_payment_items > .flexdiv,
        .order_payment_discount_container,
        .order_payment_order_total_container,
        .order_payment_charges > .flexdiv,
        .checkout-driver-tip-amount-row,
        .order_payment_final_total_container
    ) {
        grid-template-columns: minmax(0, 1fr) 92px !important;
        column-gap: 12px !important;
    }

    #checkout-dialog #checkout-summary-section #payment-info-page :is(
        .order_payment_items > .flexdiv,
        .order_payment_discount_container,
        .order_payment_order_total_container,
        .order_payment_charges > .flexdiv,
        .checkout-driver-tip-amount-row,
        .order_payment_final_total_container
    ) > .order_payment_inf_cost_right {
        width: 92px !important;
        min-width: 92px !important;
        max-width: 92px !important;
    }
}

/* Keep the amounts and fulfilment/payment metadata visually inside one Summary
   group rather than presenting the metadata as another nested card. */
#checkout-dialog #checkout-summary-section .checkout-order-summary {
    margin: 18px 0 0 !important;
    padding: 18px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #e4e7ec !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}


/* =====================================================================
   ASK4DISH V44 - single checkout detail refinements
   Responsive specific-time row, clearer delivery price, visible tip value,
   and a third rounded summary group for adjustments and the final total.
   ===================================================================== */
/* The Specific Time choice owns the outer card. Keep its time input beside
   the label whenever there is enough horizontal room. */
#checkout-dialog #order_transport_info .transport_specify_container > .flexdiv:last-child {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
}

#checkout-dialog #order_transport_info .transport_specify_container > .flexdiv:last-child > .transport_specify_time_container {
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    display: block !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#checkout-dialog #order_transport_info .transport_specify_container > .flexdiv:last-child > .transport_specify_time_container #transport_specify_time {
    margin: 0 !important;
}

@media (min-width: 560px) {
    #checkout-dialog #order_transport_info .transport_specify_container > .flexdiv:last-child {
        flex-wrap: nowrap !important;
    }
}

@media (max-width: 559px) {
    #checkout-dialog #order_transport_info .transport_specify_container > .flexdiv:last-child {
        flex-wrap: wrap !important;
    }

    #checkout-dialog #order_transport_info .transport_specify_container > .flexdiv:last-child > .transport_specify_time_container {
        width: 100% !important;
        flex: 1 1 100% !important;
        margin: 4px 0 0 34px !important;
    }
}

/* Make a successfully resolved delivery charge obvious beneath the address. */
#checkout-dialog #order_transport_info #order_delivery_cost {
    min-height: 1.35em !important;
    margin: 20px 0 2px !important;
    font-size: 21px !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    text-align: center !important;
}

/* Restore the live selected driver-tip value beside the tip choices. */
#checkout-dialog.checkout-dialog #checkout-driver-tip-slot #delivery_tip_container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 12px !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot #delivery_tip_container[hidden] {
    display: none !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot .delivery_tip_summary {
    width: auto !important;
    min-width: 112px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 3px !important;
    box-sizing: border-box !important;
    border: 1px solid #ffb66f !important;
    border-radius: 10px !important;
    background: #ffffff !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot .delivery_tip_status_label {
    color: #a74800 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-align: right !important;
}

#checkout-dialog.checkout-dialog #checkout-driver-tip-slot #delivery_tip_right {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #101828 !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    text-align: right !important;
}

@media (max-width: 430px) {
    #checkout-dialog.checkout-dialog #checkout-driver-tip-slot #delivery_tip_container {
        grid-template-columns: minmax(0, 1fr) 96px !important;
        gap: 8px !important;
    }

    #checkout-dialog.checkout-dialog #checkout-driver-tip-slot .delivery_tip_summary {
        min-width: 96px !important;
        padding: 9px 8px !important;
    }
}

/* =====================================================================
   ASK4DISH V45 - single checkout calculation summary
   Present the summary as an explicit calculation:
   items -> discount/coupon -> charges -> full total.
   ===================================================================== */
#checkout-dialog #checkout-summary-section #payment-info-page :is(
    .order_payment_items,
    .order_payment_discounts,
    .order_payment_charges,
    .order_payment_final_total_container
) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    box-sizing: border-box !important;
    border-radius: 16px !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page .order_payment_items,
#checkout-dialog #checkout-summary-section #payment-info-page .order_payment_discounts {
    padding: 10px 14px !important;
    border: 1px solid #e8edf3 !important;
    background: #ffffff !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page .order_payment_discounts {
    display: block !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page .order_payment_discounts > #order_payment_discount_title,
#checkout-dialog #checkout-summary-section #payment-info-page .order_payment_charges > div:first-child:not(.flexdiv) {
    margin: 0 0 8px !important;
    color: #475467 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page .order_payment_discount_container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 9px 0 !important;
    box-sizing: border-box !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page .order_payment_items > .flexdiv:last-child,
#checkout-dialog #checkout-summary-section #payment-info-page .order_payment_order_total_container {
    margin-top: 3px !important;
    padding-top: 10px !important;
    border-top: 1px solid #d0d5dd !important;
    font-weight: 800 !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page :is(
    #order_payment_inf_items_total,
    #order_payment_inf_order_total
).top-border {
    border-top: 0 !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page .order_payment_charges {
    margin-bottom: 12px !important;
    padding: 10px 14px !important;
    border: 1px solid #ffd2ad !important;
    background: var(--a4d-orange-soft) !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page .order_payment_charges > .flexdiv,
#checkout-dialog #checkout-summary-section #payment-info-page .order_payment_charges > .checkout-driver-tip-amount-row {
    padding: 8px 0 !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page .order_payment_charges > .checkout-driver-tip-amount-row {
    margin: 0 !important;
    min-height: 0 !important;
    border-bottom: 0 !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page .order_payment_final_total_container {
    margin-bottom: 0 !important;
    padding: 14px !important;
    border: 2px solid #ffb66f !important;
    background: var(--a4d-orange-soft) !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}

#checkout-dialog #checkout-summary-section #payment-info-page .order_payment_final_total_container .top-border {
    border-top: 0 !important;
}

/* Keep the footer at the viewport edge on short pages without taking it out
   of normal flow when the page content is taller than the viewport. */
html {
    min-height: 100%;
}

body:has(#the_footer),
body > .body_container:has(> #the_footer) {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

body > .body_container:has(> #the_footer) {
    width: 100%;
    flex: 1 0 auto;
    display: flex !important;
    flex-direction: column !important;
}

body.location_body .location-area {
    min-height: 0 !important;
    flex: 1 0 auto;
}

body.location_body .location_content {
    min-height: 0 !important;
}

@media (max-width: 700px) {
    body.location_body {
        padding-bottom: 0 !important;
    }

    body.location_body .location_content {
        padding-bottom: calc(var(--a4d-v5-bottom-bar) + 28px + env(safe-area-inset-bottom)) !important;
        box-sizing: border-box;
    }
}

.site-footer {
    flex: 0 0 auto;
    margin-top: auto;
}

#mySidenav.sidenav:has(> #the_footer) {
    display: flex !important;
    flex-direction: column !important;
}

body.account-menu-open #mySidenav > #the_footer,
#mySidenav > #the_footer {
    margin-top: auto !important;
}

/* Payment hand-off confirmation follows the current Ask4Dish modal language. */
#payment-processing.new-modal {
    inset: 0;
    width: 100vw;
    height: 100dvh;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: rgba(15, 23, 42, 0.62);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

#payment-processing .new-modal-content {
    width: 100%;
    min-height: 100dvh;
    height: auto;
    padding: clamp(16px, 4vw, 36px);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}

#payment-processing .new-modal-content-sub {
    width: min(100%, 560px);
    max-height: calc(100dvh - 32px);
    margin: auto;
    padding: 0;
    box-sizing: border-box;
    overflow-y: auto;
    border: 1px solid #e2e7ec;
    border-radius: 20px;
    background: #fff;
    color: #182230;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
    font-size: 16px;
    line-height: 1.5;
}

#payment-processing .new-modal-header {
    width: 100%;
    padding: 20px 22px 16px;
    box-sizing: border-box;
    border-bottom: 1px solid #eaecf0;
}

#payment-processing .new-modal-header > .flexdiv {
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

#payment-processing .new-modal_header {
    color: #182230;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 800;
}

#payment-processing .new-modal-body {
    padding: 20px 22px 22px;
    box-sizing: border-box;
}

#payment-processing .payment-processing-warning {
    width: fit-content;
    margin: 0 auto 14px;
    padding: 6px 12px;
    border: 1px solid #ffb66f;
    border-radius: 999px;
    background: var(--a4d-orange-soft);
    color: #c55200;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#payment-processing .payment-processing-div {
    margin: 0 0 14px;
    color: #475467;
    font-size: 16px;
    line-height: 1.55;
    text-align: center;
}

#payment-processing .payment-processing-div b {
    color: #182230;
    font-size: inherit;
    font-weight: 800;
}

#payment-processing .payment-processing-confirm {
    width: 100%;
    min-height: 54px;
    margin: 18px 0;
    padding: 12px 14px;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    border: 1px solid #d0d5dd;
    border-radius: 12px;
    background: #f8fafc;
}

#payment-processing .payment-processing-confirm input {
    width: 22px;
    height: 22px;
    margin: 0;
    flex: 0 0 auto;
    accent-color: var(--a4d-orange);
    cursor: pointer;
}

#payment-processing .payment-processing-confirm label {
    color: #344054;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
    cursor: pointer;
}

#payment-processing .payment-processing-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

#payment-processing .payment-processing-actions > div,
#payment-processing .payment-processing-actions button {
    width: 100%;
}

#payment-processing .payment-processing-actions button {
    min-height: 46px;
    margin: 0;
    padding: 10px 16px;
    box-sizing: border-box;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    background: #fff;
    color: #344054;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 800;
    cursor: pointer;
}

#payment-processing #payment-processing-continue {
    border-color: var(--a4d-orange);
    background: var(--a4d-orange);
    color: #fff;
}

#payment-processing #payment-processing-continue:hover:not(:disabled),
#payment-processing #payment-processing-continue:focus-visible:not(:disabled) {
    border-color: var(--a4d-orange-deep);
    background: var(--a4d-orange-deep);
    outline: none;
}

#payment-processing .payment-processing-cancel:hover,
#payment-processing .payment-processing-cancel:focus-visible {
    border-color: #98a2b3;
    background: #f8fafc;
    outline: none;
}

#payment-processing #payment-processing-continue:disabled {
    border-color: #d0d5dd;
    background: #e4e7ec;
    color: #98a2b3;
    cursor: not-allowed;
}

@media (max-width: 480px) {
    #payment-processing .new-modal-content {
        padding: 12px;
        align-items: flex-end;
    }

    #payment-processing .new-modal-content-sub {
        max-height: calc(100dvh - 12px);
        border-radius: 18px 18px 0 0;
    }

    #payment-processing .new-modal-header {
        padding: 17px 16px 14px;
    }

    #payment-processing .new-modal-body {
        padding: 18px 16px 16px;
    }
}


/* =====================================================================
   ASK4DISH MENU STICKY CONTROLS
   Keep every ordering control above the horizontal category list together
   while the page scrolls. The wrapper height is measured by menu-catalog.js
   so category jumps always clear the complete sticky navigation stack.
   ===================================================================== */
body.location_body {
    --a4d-menu-sticky-controls-height: 0px;
}

body.location_body #a4d_menu_sticky_controls {
    position: sticky !important;
    top: var(--a4d-menu-header-offset) !important;
    z-index: 1250 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

/* The wrapper owns the sticky positioning. Its children must stay in normal
   flow so search/offers/categories cannot overlap one another. */
body.location_body #a4d_menu_sticky_controls > .info_container,
body.location_body #a4d_menu_sticky_controls > #avail-offers-container,
body.location_body #a4d_menu_sticky_controls > #scrolling_cats {
    position: relative !important;
    top: auto !important;
}

body.location_body #a4d_menu_sticky_controls > .info_container {
    z-index: 3 !important;
}

body.location_body #a4d_menu_sticky_controls > #avail-offers-container {
    z-index: 2 !important;
}

body.location_body #a4d_menu_sticky_controls > #scrolling_cats {
    z-index: 1 !important;
}

/* Categories are no longer a row inside the menu grid. */
body.location_body #main_container {
    grid-template-areas: "items basket" !important;
    row-gap: 0 !important;
}

body.location_body .items_for_cat {
    scroll-margin-top: calc(var(--a4d-menu-header-offset) + var(--a4d-menu-sticky-controls-height) + 12px) !important;
}

@media (max-width: 1050px) {
    body.location_body #main_container {
        grid-template-areas: "items" !important;
    }
}

@media (max-width: 700px) {
    /* Preserve the approved inset width the category bar had when it lived
       inside #main_container. */
    body.location_body #a4d_menu_sticky_controls > #scrolling_cats {
        width: calc(100% - 16px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

@media (max-width: 420px) {
    body.location_body #a4d_menu_sticky_controls > #scrolling_cats {
        width: calc(100% - 18px) !important;
    }
}

/* =====================================================================
   ASK4DISH MENU FIXED HEADER + COMPACT CATEGORY DOCK
   Keep the real site header fixed, but allow Pre-Ordering, Search and Offers
   to scroll away. Only the category strip docks beneath the header once it
   naturally reaches it, preserving the full menu viewport while browsing.
   ===================================================================== */
body.location_body {
    --a4d-menu-fixed-header-height: var(--a4d-menu-header-offset);
    --a4d-menu-sticky-controls-height: 50px;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

body.location_body #the_header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    margin: 0 !important;
    z-index: 1400 !important;
}

body.location_body .location-area {
    padding-top: var(--a4d-menu-fixed-header-height) !important;
    box-sizing: border-box !important;
}

/* The controls wrapper is normal document flow. This is what lets the
   pre-order notice, search and offer chips leave the viewport naturally. */
body.location_body #a4d_menu_sticky_controls {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
    background: #fff !important;
}

body.location_body #main_area {
    padding-top: 0 !important;
    box-sizing: border-box !important;
}

/* Zero-height marker used by menu-catalog.js to know exactly when the real
   category strip has reached the fixed site header. */
body.location_body #a4d_category_dock_anchor {
    display: block !important;
    width: 100% !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
}

/* Once the category strip is fixed it leaves normal flow; reserve only its
   own measured height so the first menu section never jumps upward. */
body.location_body.a4d-category-nav-docked #a4d_menu_sticky_controls {
    padding-bottom: var(--a4d-menu-sticky-controls-height) !important;
}

body.location_body.a4d-category-nav-docked #a4d_menu_sticky_controls > #scrolling_cats {
    position: fixed !important;
    top: var(--a4d-menu-fixed-header-height) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    z-index: 1350 !important;
    background: rgba(255,255,255,.98) !important;
    border-bottom: 1px solid #eef1f4 !important;
    box-shadow: 0 7px 18px rgba(15,23,42,.07) !important;
    box-sizing: border-box !important;
}

body.location_body .items_for_cat {
    scroll-margin-top: calc(var(--a4d-menu-fixed-header-height) + var(--a4d-menu-sticky-controls-height) + 8px) !important;
}

@media (min-width: 1051px) {
    body.location_body.a4d-category-nav-docked #a4d_menu_sticky_controls > #scrolling_cats {
        padding-left: max(var(--a4d-desktop-page-x), calc((100vw - var(--a4d-desktop-max)) / 2)) !important;
        padding-right: max(var(--a4d-desktop-page-x), calc((100vw - var(--a4d-desktop-max)) / 2)) !important;
    }
}

/* =====================================================================
   ASK4DISH HEADER LIVE ORDER TRACKER
   One compact step-by-step live tracker. It stays in normal document flow,
   so it scrolls away with the other menu controls and does not waste the
   sticky menu viewport. The tracker itself opens the existing Current Order.
   ===================================================================== */
body.location_body #a4d_header_live_order.a4d-header-live-order {
    width: min(760px, calc(100% - 20px)) !important;
    min-height: 86px !important;
    margin: 0 auto 6px !important;
    padding: 9px 10px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 96px !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid #edf0f4 !important;
    border-radius: 15px !important;
    background: #fff !important;
    color: #182230 !important;
    text-align: center !important;
    font: inherit !important;
    box-shadow: 0 3px 10px rgba(15, 23, 42, .04) !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

body.location_body #a4d_header_live_order[hidden] {
    display: none !important;
}

body.location_body #a4d_header_live_order .a4d-live-order-steps {
    position: relative !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 0 !important;
}

body.location_body #a4d_header_live_order .a4d-live-order-steps::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    top: 14px !important;
    left: 12.5% !important;
    right: 12.5% !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: #e7ebf0 !important;
}

body.location_body #a4d_header_live_order .a4d-live-step {
    position: relative !important;
    z-index: 1 !important;
    min-width: 0 !important;
    display: grid !important;
    justify-items: center !important;
    gap: 2px !important;
    color: #8390a3 !important;
}

body.location_body #a4d_header_live_order .a4d-live-step-dot {
    width: 29px !important;
    height: 29px !important;
    display: grid !important;
    place-items: center !important;
    border: 2px solid #dce2e9 !important;
    border-radius: 50% !important;
    background: #f3f5f8 !important;
    color: #8390a3 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    box-sizing: border-box !important;
}

body.location_body #a4d_header_live_order .a4d-live-step strong {
    max-width: 100% !important;
    overflow: hidden !important;
    color: inherit !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    font-weight: 850 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.location_body #a4d_header_live_order .a4d-live-step small {
    min-height: 12px !important;
    color: #8a96a8 !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

body.location_body #a4d_header_live_order .a4d-live-step.is-done,
body.location_body #a4d_header_live_order .a4d-live-step.is-active {
    color: #182230 !important;
}

body.location_body #a4d_header_live_order .a4d-live-step.is-done .a4d-live-step-dot,
body.location_body #a4d_header_live_order .a4d-live-step.is-active .a4d-live-step-dot {
    border-color: var(--a4d-orange) !important;
    background: var(--a4d-orange) !important;
    color: #fff !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--a4d-orange) 8%, transparent) !important;
}

body.location_body #a4d_header_live_order .a4d-live-step.is-active small {
    color: var(--a4d-orange) !important;
    font-weight: 850 !important;
}

body.location_body #a4d_header_live_order .a4d-live-order-eta {
    min-width: 0 !important;
    min-height: 66px !important;
    padding: 7px 6px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    border-radius: 12px !important;
    background: #f7f8fa !important;
    box-sizing: border-box !important;
}

body.location_body #a4d_header_live_order .a4d-live-order-eta small {
    color: #718096 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
}

body.location_body #a4d_header_live_order .a4d-live-order-eta strong {
    color: #182230 !important;
    font-size: 15px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

body.location_body #a4d_header_live_order .a4d-live-order-eta em {
    color: var(--a4d-orange) !important;
    font-size: 10.5px !important;
    line-height: 1.05 !important;
    font-style: normal !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

body.location_body #a4d_header_live_order.is-ready .a4d-live-step.is-active .a4d-live-step-dot {
    border-color: #16a34a !important;
    background: #16a34a !important;
    box-shadow: 0 0 0 4px rgba(22, 163, 74, .08) !important;
}

body.location_body #a4d_header_live_order.is-ready .a4d-live-step.is-active small,
body.location_body #a4d_header_live_order.is-ready .a4d-live-order-eta em {
    color: #15803d !important;
}

body.location_body #a4d_header_live_order.is-delivery .a4d-live-step.is-active .a4d-live-step-dot {
    border-color: #1677d2 !important;
    background: #1677d2 !important;
    box-shadow: 0 0 0 4px rgba(22, 119, 210, .08) !important;
}

body.location_body #a4d_header_live_order.is-delivery .a4d-live-step.is-active small,
body.location_body #a4d_header_live_order.is-delivery .a4d-live-order-eta em {
    color: #1264b3 !important;
}

@media (max-width: 480px) {
    body.location_body #a4d_header_live_order.a4d-header-live-order {
        width: calc(100% - 12px) !important;
        min-height: 80px !important;
        margin: 0 auto 5px !important;
        padding: 8px 7px !important;
        grid-template-columns: minmax(0, 1fr) 82px !important;
        gap: 5px !important;
        border-radius: 13px !important;
    }

    body.location_body #a4d_header_live_order .a4d-live-order-steps::before {
        top: 12px !important;
        height: 2px !important;
    }

    body.location_body #a4d_header_live_order .a4d-live-step-dot {
        width: 25px !important;
        height: 25px !important;
        font-size: 9.5px !important;
    }

    body.location_body #a4d_header_live_order .a4d-live-step strong {
        font-size: 9.5px !important;
    }

    body.location_body #a4d_header_live_order .a4d-live-step small {
        font-size: 9px !important;
    }

    body.location_body #a4d_header_live_order .a4d-live-order-eta {
        min-height: 60px !important;
        padding: 6px 4px !important;
    }

    body.location_body #a4d_header_live_order .a4d-live-order-eta small {
        font-size: 9px !important;
    }

    body.location_body #a4d_header_live_order .a4d-live-order-eta strong {
        font-size: 13.5px !important;
    }

    body.location_body #a4d_header_live_order .a4d-live-order-eta em {
        font-size: 9.5px !important;
    }
}


/* =====================================================================
   Ask4Dish HTML modal close-button standard
   Applies only to Ask4Dish modal headers. SweetAlert and other dialog
   systems use their own classes and are intentionally unaffected.
   ===================================================================== */

/* DIV-based modal headers: title and close button share one centre line. */
.modal-header:not(table),
.modal-header > .flexdiv {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.modal-header > .flexdiv {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
}

.modal-header:not(table) > .modal_header,
.modal-header > .flexdiv > .modal_header {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    align-self: center !important;
}

/* Legacy table-based modal headers use the same vertical centre line. */
table.modal-header {
    width: 100% !important;
}

table.modal-header td {
    vertical-align: middle !important;
}

table.modal-header td.modal_header {
    width: auto !important;
}

table.modal-header td:last-child:not(.modal_header) {
    width: 1% !important;
    white-space: nowrap !important;
    text-align: right !important;
}

/* Ask4Dish HTML-modal close button: orange button, black SVG X. */
.modal-header .close {
    box-sizing: border-box !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--a4d-orange) !important;
    border-radius: 10px !important;
    background: var(--a4d-orange) !important;
    color: #000 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

.modal-header .close svg {
    display: block !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    margin: 0 !important;
    fill: none !important;
    stroke: #000 !important;
    stroke-width: 2.5 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    transform: none !important;
    pointer-events: none !important;
}

.modal-header .close:hover,
.modal-header .close:focus-visible {
    background: var(--a4d-orange) !important;
    color: #000 !important;
}

.modal-header .close:focus-visible {
    outline: 3px solid color-mix(in srgb, #000 28%, transparent) !important;
    outline-offset: 2px !important;
}


/* =====================================================================
   ASK4DISH V46 - non-blocking payment discount change notice
   ===================================================================== */
#checkout-dialog .checkout-discount-change-notice {
  margin:0 0 12px !important;
  padding:10px 12px !important;
  border:1px solid var(--a4d-orange) !important;
  border-radius:10px !important;
  background:#fff7ed !important;
  color:#111 !important;
  font-size:13px !important;
  line-height:1.4 !important;
  font-weight:650 !important;
  text-align:center !important;
}
#checkout-dialog .checkout-discount-change-notice[hidden] {
  display:none !important;
}
