.error, .errors {
		color: red;
	}
	
	.accordion-button:not(.collapsed)::after {
    background-image: none;
    transform: rotate(-180deg);
}

.callout-none {
    border: 1px solid #e0e0e0 !important;
    border-left-width: 1px !important;
}

.payment-gateways img {
    height: 60px;
}

.payment-gateways .callout {
    margin: 5px 0px;
}

input[type=radio] {
    display: none;
}


/* IMAGE TYPE SELECTOR */
.order-delivery-types {
    border: 1px solid #dedede87;
    height: 50px;
    border-radius: 4px;
}

.order-delivery-types input {
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.order-type-delivery {
    background-image: url(<?php echo base_url('assets/frontend/default/images/delivery.png'); ?>);
    background-position: center;
}

.order-type-pickup {
    background-image: url(<?php echo base_url('assets/frontend/default/images/pickup.png'); ?>);
    background-position: center;
}

.order-delivery-types input:active+.order-delivery-type-label {
    opacity: .9;
}

.order-delivery-types input:checked+.order-delivery-type-label {
    -webkit-filter: none;
    -moz-filter: none;
    filter: none;
    background-color: rgb(0 233 7 / 20%);
}

.order-delivery-type-label {
    cursor: pointer;
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    width: 100px;
    height: 50px;
    -webkit-transition: all 100ms ease-in;
    -moz-transition: all 100ms ease-in;
    transition: all 100ms ease-in;
    -webkit-filter: brightness(1.8) grayscale(1) opacity(.7);
    -moz-filter: brightness(1.8) grayscale(1) opacity(.7);
    filter: brightness(1.8) grayscale(1) opacity(.7);
    margin-bottom: 0px;
    border-radius: 4px;
}

.order-delivery-type-label:hover {
    -webkit-filter: brightness(1.2) grayscale(.5) opacity(.9);
    -moz-filter: brightness(1.2) grayscale(.5) opacity(.9);
    filter: brightness(1.2) grayscale(.5) opacity(.9);
}

/* Extras */
/*a:visited {
    color: #888
}*/

a {
    color: #444;
    text-decoration: none;
}

p {
    margin-bottom: .3em;
}


/* OVERLAY */
.order-type {
    width: 65px;
    width: 65px;
    background-color: rgb(204 251 205);
    border-radius: 4px;
    font-size: 13px;
    text-align: center !important;
    font-weight: 600 !important;
}

.order-type-overlay {
    height: 50px;
    position: absolute;
    width: 100px;
    background-color: rgb(97, 97, 97, 0.26);
}

.order-type-overlay p {
    margin-top: 32px;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: #fff;
    opacity: 0.7;
    background-color: rgb(66, 66, 66, 0.8);
}
.ptb-150 {
    padding-top: 30px;
}

   .radio-toolbar {
        margin: 0px;
    }

    .radio-toolbar input[type="radio"] {
        opacity: 0;
        position: fixed;
        width: 0;
    }

    /* .radio-toolbar label {
        display: inline-block;
        background-color: #ddd;
        padding: 10px 20px;
        font-family: sans-serif, Arial;
        font-size: 16px;
        border: 2px solid #444;
        border-radius: 4px;
    } */

    .radio-toolbar label {
        display: inline-block;
        padding:8px;
        border-radius: 50%;
    }
    .radio-toolbar label:hover {
        background-color: #fbb200;
    }

    .radio-toolbar input[type="radio"]:focus + label {
        border: 2px dashed #444;
    }

    .radio-toolbar input[type="radio"]:checked + label {
        background-color: #fbb200;
        border-color: #fbb200;
    }

    .sub-banner {
        padding-top: 30px !important;
        padding-bottom: 160px;
    }

	#phones-menu {
		position: unset !important;
	}
	
		
	.modal-content {
		/* padding-bottom: 80px;  */
		background: transparent;
	}

	.modal-header, .modal-body {
		background: #FFF;
	}
	
	
@media screen and (max-width: 1200px) {
	.mobile-cart-products {
		order : 2;
	}
	
	.mobile-cart-account {
		order : 1;
	}
}

.choose-delivery-method-div {
    display:flex;
	gap: 20px;
}

.choose-delivery-method-div input[type="radio"]{
	display:none;
} 

.choose-delivery-method-div .item-box {
	/* text-align:center; */
    width: 100%;
}

.choose-delivery-method-div label {
	border: 1px solid;
	padding:10px 20px;
	border-radius:4px;
	cursor:pointer;
	width: 100%;
	text-align: center;
} 

.choose-delivery-method-div input[type="radio"]:checked+label {
	/* border: 3px solid; */
	background : #82d08d;
	color : #FFF;
}

.main-menu {
	flex-wrap: nowrap;
}
.icon-menu > ul {
    flex-wrap: nowrap;
}


#pickup_method_box .restaurant-name {
	font-weight:bold;
	font-size:15px;
}

#pickup_method_box .restaurant-address {
	font-size:15px;
}

#pickup_method_box {
	display: block;
}
#pickup_method_box .pickup-item-box {
	float :left;
	width: 100%;
	 /* margin-bottom: 10px; */
}

#pickup_method_box input[type="radio"]{
	display:none;
} 

#pickup_method_box input[type="radio"] + label {
	border: 1px solid;
	padding:10px;
	/*
	width: 250px;
	margin-right:10px;
	*/
	width: 100%;
	margin-bottom:10px;
	border-radius :4px;
	cursor:pointer;
}

#pickup_method_box input[type="radio"]:checked+label {
	/* border: 3px solid; */
	background : #82d08d;
	color : #FFF;
}

.addon_title{
	font-size:12px !important;
	line-height:17px !important;
}
.titlu-spatiat{
	padding: 20px 0px 20px 0px !important;
}

.titlu_16{
	font-size:16px !important;
}

.yellow{ color:#fbb200; }

.form-control {
    padding: 8px 12px;
}

.tabelprodusecos {
    width: 100%;
    table-layout: fixed;
    border-spacing: 0;
}

.tabelprodusecos th,
.tabelprodusecos td {
    padding: 12px 10px !important;
}

.tabelprodusecos th.product-name,
.tabelprodusecos td.product-name { width: 58%; }
.tabelprodusecos th.qty,
.tabelprodusecos td.qty { width: 18%; text-align: center; }
.tabelprodusecos th.total-price,
.tabelprodusecos td.price { width: 18%; text-align: right; }
.tabelprodusecos tbody td.price { color: #f22e3e; }
.tabelprodusecos th:last-child,
.tabelprodusecos td.remove { width: 6%; text-align: right; }
.tabelprodusecos td.product-name .item-name, .tabelprodusecos td.product-name .cart-product-note { padding-left: 15px;padding-top: 2px;color: #5b5b5b; }

.tabelprodusecos .product-box {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    min-width: 0;
}

.tabelprodusecos .product-box .product-img {
    flex: 0 0 72px;
    width: 72px;
}

.tabelprodusecos .product-box .product-img img {
    display: block;
    width: 100%;
    border-radius: 8px;
    object-fit: cover;
}

.tabelprodusecos tbody tr {
    border-bottom-color: #eeeeee;
}

.tabelprodusecos tbody tr:last-child, .tabelprodusecos tbody tr:last-child td {
    border-bottom: 0;
}

.tabelprodusecos .product-box .product-detail {
    width: auto;
    min-width: 0;
    padding-left: 0;
    overflow-wrap: anywhere;
}

.tabelprodusecos .cart-product-note {
    margin-top: 5px;
    color: #6f6258;
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.tabelprodusecos .cart-product-note strong {
    color: #42382f;
}

.tabelprodusecos .number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.tabelprodusecos .number span {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border: 1px solid #e4ded9;
    border-radius: 50%;
    line-height: 1;
}

.tabelprodusecos .number input {
    width: 36px;
    padding: 2px !important;
    font-size: 16px !important;
}

.tabelprodusecos td.remove a {
    margin-left: auto;
}

.tabelprodusecos tfoot tr {
    border-top: 2px solid #e4ded9;
}

.tabelprodusecos tfoot td {
    padding-top: 16px !important;
    font-weight: 700;
}

.tabelprodusecos .cart-products-total-label { text-align: right; }
.tabelprodusecos .cart-products-total { text-align: right; white-space: nowrap; }


.border-yellow{
	border:3px dashed #fbb200;
	padding:5px;
	margin-top:20px !important;
}
#map {
  height: 100%;
}

.shipping_option_active{
	background-color:#ec1c24; 
	border:#ec1c24;
}
.shipping_option_active a{	 
	color:#fff !important;
}
#map {
  height: 100%;
}
.paddingbottom20{
	padding-top:15px;
	padding-bottom:20px;
}

.marginbottom20{
	margin-bottom:20px;
}

.ajax-ldr {
  visibility: hidden;
  background-color: rgba(255,255,255,0.7);
  position: absolute;
  z-index: +100 !important;
  width: 100%;
  height:100%;
}

.ajax-ldr img {
  position: relative;
  top:50%;
  left:0;
}


.parent-div{
  position: relative;
}

.ajax-loader-container {
    top: 0;
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999999999999999999;
    background: #f8f8f8;
    opacity: .8;
}

.ajax-loader {
    background: #f00;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 2em;
    height: 2em;
    background-size: contain;
    display: block;
    margin: auto;
}

@media all and (max-width: 768px) {

    .full-window-autocomplete-dialog[open] {
        height: fit-content !important;
    }

    .tabelprodusecos,
    .tabelprodusecos tbody { display: block; width: 100%; }

    .tabelprodusecos thead { display: none; }

    .tabelprodusecos tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        grid-template-areas:
            "product product product"
            "quantity total remove";
        align-items: center;
        gap: 10px 12px;
        margin: 0 0 16px;
        padding-bottom: 16px;

    }

    .tabelprodusecos td,
    .tabelprodusecos td:first-child,
    .tabelprodusecos td:last-child {
        display: block;
        width: auto;
        max-width: none;
        min-width: 0;
        padding: 0 !important;
        border: 0;
    }

    .tabelprodusecos td.product-name { grid-area: product; }
    .tabelprodusecos td.qty { grid-area: quantity; text-align: left;width:auto; }
    .tabelprodusecos td.price { grid-area: total; text-align: right; white-space: nowrap;width:auto; }
    .tabelprodusecos td.remove { grid-area: remove; text-align: right;width:auto; }

    .tabelprodusecos td.qty::before,
    .tabelprodusecos td.price::before {
        display: block;
        margin-bottom: 4px;
        color: #777;
        content: attr(data-label);
        font-size: 11px;
        font-weight: 600;
        line-height: 1.3;
        text-align: inherit;
    }

    .tabelprodusecos td .product-box { gap: 12px; }

    .tabelprodusecos .product-box .product-img {
        flex-basis: 60px;
        width: 60px;
    }

    .tabelprodusecos .product-box .product-img img { height: 60px; }

    .tabelprodusecos .product-detail .pro-title { font-size: 14px; line-height: 1.4; }
    .tabelprodusecos .product-detail .addon_title { margin-top: 3px; }

    .tabelprodusecos .number { gap: 5px; }
    .tabelprodusecos .number span { width: 36px; height: 36px; }
    .tabelprodusecos .number input { margin: 0; }

    .tabelprodusecos td.remove a {
        display: inline-flex;
        width: 36px;
        height: 36px;
        align-items: center;
        justify-content: center;
    }

    .tabelprodusecos tfoot,
    .tabelprodusecos tfoot tr { display: block; width: 100%; }

    .tabelprodusecos tfoot tr {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin: 0;
        padding: 12px 4px 0;
        border: 0;
        border-top: 2px solid #e4ded9;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .tabelprodusecos tfoot td,
    .tabelprodusecos tfoot td:first-child,
    .tabelprodusecos tfoot td:last-child {
        display: block;
        width: auto;
        padding: 4px 0 !important;
    }

    .tabelprodusecos .cart-products-total-label,
    .tabelprodusecos .cart-products-total { text-align: right; }

     #apply_coupon_button {
        font-size: 13px !important;
    }

    .menu {
        padding-right: 0 !important;
        width: 100% !important;
        z-index: 9999999;
    }
}

.cart-products-total {
    font-size: 21px;
}

.cart-products-total-label{
    font-size: 16px;
    color: #111111;
    font-weight: 600 !important;
}

#spnrAngi{
	width: 70px;
	height: 70px;
	max-width: 30vw;
	max-height: 30vw;
	object-fit: contain;
}

#sb-loader-overlay {
    visibility: hidden;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999999999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: visibility .3s ease, background-color .3s ease;
    background-color: rgba(255, 255, 255, .5);
}

#sb-loader-overlay.show {
  visibility: visible;
}

#sbconfirm_order_form.is-submitting .payment-gateway-radio { pointer-events: none; }

@media (max-width:767px) {
	#payment_method_new .choose-delivery-method-div {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	#payment_method_new .choose-delivery-method-div > label {
		display: block;
		flex: 0 0 100%;
		width: 100%;
		margin: 0;
	}

	#payment_method_new .choose-delivery-method-div > label > .callout {
		width: 100%;
		margin: 0;
	}

	#payment_method_new .payment-gateway-radio {
		display: block;
		width: 100%;
		max-width: 100%;
		height: 64px;
		object-fit: contain;
	}
}

.toast-message{
    line-height: 1.5;
}

@media (min-width: 1400px) {
    .container-sm.checkout-container {
        max-width: 1140px;
    }
}

.checkout-progress { display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; margin:3rem 0 3rem; }
.checkout-progress-item { display:flex; align-items:center; gap:9px; color:#777; font-size:13px; font-weight:600; }
.checkout-progress-number { display:inline-flex; flex:0 0 30px; width:30px; height:30px; font-size:14px; font-weight:700;align-items:center; justify-content:center; border:1px solid #ddd; border-radius:50%; }
.checkout-progress-number.big{font-size:16px;}
.checkout-progress-item span {font-size:14px;line-height:1.5;}
.checkout-step-title { display:flex; align-items:center; gap:10px; margin:0 0 16px; font-size:20px; font-weight:600;color:#000; }
.checkout-step-title .checkout-progress-number { background:#f5c400; border-color:#f5c400; color:#202020; }
.checkout-section { padding:24px; }

/* Checkout step 2: consistent account form spacing and controls. */
#checkout_account_non_logged_block { padding: 4px 0 !important; }

#checkout_account_non_logged_block .nav-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px !important;
    border-bottom: 1px solid #e9e2da;
}

#checkout_account_non_logged_block .nav-tabs .nav-link {
    min-width: 100px;
    padding: 10px 16px;
    border: 1px solid #e9e2da;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    color: #51473e;
    font-weight: 600;
    line-height: 1.3;
}

#checkout_account_non_logged_block .nav-tabs .nav-link.active {
    border-color: #fbb200;
    background: #fbb200;
    color: #222;
}

#checkout_account_non_logged_block .tab-content {
    margin-top: 2rem;
    border: 0 !important;
    padding: 0 !important;
    background: #fff !important;
}

#checkout_account_non_logged_block .tab-pane form > .row {
    margin-right: -10px;
    margin-left: -10px;
}

#checkout_account_non_logged_block .tab-pane form > .row > [class*="col-"] {
    padding-right: 10px;
    padding-left: 10px;
}

#checkout_account_non_logged_block .form-group {
    margin: 0 0 18px;
    padding-bottom: 0 !important;
}

#checkout_account_non_logged_block label {
    display: block;
    margin: 0 0 6px;
    color: #42382f;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}

#checkout_account_non_logged_block .form-control {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 10px 13px;
    border: 1px solid #ded7cf;
    border-radius: 7px;
    background-color: #fff;
    color: #302a25;
    font-size: 14px !important;
    line-height: 1.4;
    box-shadow: none;
}

#checkout_account_non_logged_block .form-control:focus {
    border-color: #e4a400;
    box-shadow: 0 0 0 3px rgba(251, 178, 0, .14);
}

#checkout_account_non_logged_block .custom-flex { display: flex; gap: 16px; }

#checkout_account_non_logged_block .custom-flex > .form-group {
    flex: 1 1 0;
    min-width: 0;
}

#checkout_account_non_logged_block .form-group > .custom-flex { gap: 8px; }

#checkout_account_non_logged_block .form-group > .custom-flex input[name="country_code"] {
    background-color: #f4f4f4;
    flex: 0 0 calc(30% - 4px);
    width: calc(30% - 4px) !important;
    float: none !important;
}

#checkout_account_non_logged_block .form-group > .custom-flex input[name="phone"] {
    flex: 1 1 auto;
    width: calc(70% - 4px) !important;
    float: none !important;
}

#checkout_account_non_logged_block button[type="submit"] {
    min-height: 44px;
    padding: 10px 22px;
    border-radius: 7px;
}

#checkout_account_non_logged_block label.error,
#checkout_account_non_logged_block .error {
    margin: 5px 0 0;
    color: #c62828;
    font-size: 12px;
    line-height: 1.4;
}

@media (max-width:767px) {
    .checkout-progress { display:none; }
    .checkout-progress-item { font-size:11px; gap:5px; }
    .checkout-progress-number { flex-basis:26px; width:26px; height:26px; }
    .checkout-section { padding:16px; }
    .checkout-account-shipping-details.checkout-account-phone {flex-direction: column;}
    .checkout-account-shipping-details .change_shipping {margin-left: 0 !important;
        margin-right: auto;}
}

@media (max-width:575px) {
    #checkout_account_non_logged_block .custom-flex { gap: 10px; }
    #checkout_account_non_logged_block .nav-tabs { gap: 5px; }
    #checkout_account_non_logged_block .nav-tabs .nav-link { min-width: 0; flex: 1 1 auto; padding: 9px 10px; }
}

.checkout-account-info { width: 100%; }

.checkout-account-card {
    overflow: hidden;
    border: 1px solid #eee7df;
    border-radius: 12px;
    background: #fff;
}

.checkout-account-person,
.checkout-account-shipping {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
}

.checkout-account-person { min-height: 92px; }

.checkout-account-shipping {
    align-items: flex-start;
    border-top: 1px solid #eee7df;
    background: #faf8f5;
}

.checkout-account-icon {
    display: inline-flex;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff5d8;
    color: #8b6100;
    font-size: 16px;
}

.checkout-account-person-details,
.checkout-account-shipping-details { min-width: 0; }

.checkout-account-name {
    display: block;
    margin-bottom: 5px;
    color: #28231f;
    font-size: 16px;
    line-height: 1.4;
}

.checkout-account-phone {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #70675f;
    font-size: 14px;
    line-height: 1.5;
}

.checkout-account-phone i { color: #8b8177; font-size: 12px; }

.checkout-account-person .cancel_order, .checkout-account-shipping-details .change_shipping, .checkout-summary-extras .remove-coupon {
    flex: 0 0 auto;
    margin-left: auto;
    border: 1px solid #eadfd5;
    background: #fff;
    color: #6e5142;
}

.checkout-account-person .cancel_order:hover, .checkout-account-shipping-details .change_shipping:hover, .checkout-summary-extras .remove-coupon:hover {
    border-color: #c62828;
    background: #fff5f5;
    color: #b42318;
}

.checkout-account-address-icon { margin-top: 1px; }

.checkout-account-shipping-details {
    padding-top: 2px;
    color: #403831;
    font-size: 14px;
    line-height: 1.6;
}

.checkout-account-shipping-details b,
.checkout-account-shipping-details strong { color: #b42318; }

@media (max-width:575px) {
    .checkout-account-person,
    .checkout-account-shipping { gap: 11px; padding: 15px; }
    .checkout-account-icon { flex-basis: 38px; width: 38px; height: 38px; }
    .checkout-account-person { flex-wrap: wrap; }
    .checkout-account-person-details { flex: 1 1 calc(100% - 52px); }
    .checkout-account-person .cancel_order { margin: 4px 0 0 49px; }
}

/* Checkout step 3: delivery choices and destination selection. */
#sbcheckoutshipping .checkout-shipping-hint, .pickup-item-box .checkout-shipping-hint {
    margin: 0 0 12px;
    color: #70675f;
    font-size: 14px;
    font-weight: 500;
}

#sbcheckoutshipping .checkout-shipping-options, .pickup-item-box .checkout-shipping-options{
    gap: 12px;
    align-items: stretch;
}

#sbcheckoutshipping .checkout-shipping-choice, .pickup-item-box .checkout-shipping-choice{
    display: flex;
    min-height: 62px;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 16px;
    border: 1px solid #e5ddd4;
    border-radius: 9px;
    background: #fff;
    color: #42382f;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

#sbcheckoutshipping .checkout-shipping-choice:hover, .pickup-item-box .checkout-shipping-choice:hover,
#sbcheckoutshipping .checkout-shipping-choice:focus-visible, .pickup-item-box .checkout-shipping-choice:focus-visible{
    border-color: #e4a400;
    background: #fffaf0;
    color: #302a25;
    box-shadow: 0 0 0 3px rgba(251, 178, 0, .12);
}

#sbcheckoutshipping .checkout-shipping-choice.shipping_option_active, .pickup-item-box .checkout-shipping-choice.shipping_option_active{
    border-color: #e4a400;
    background: #fff3cf;
    color: #3b2e0c;
}

#sbcheckoutshipping .checkout-shipping-choice i, .pickup-item-box .checkout-shipping-choice i { color: #a67400; }

.pickup-item-box .checkout-shipping-choice {
    flex-direction: column;
}

.pickup-item-box .checkout-shipping-choice .restaurant-address {
    text-transform: initial;
    font-weight: 400;
}

#sbcheckoutaddress .checkout-address-options { padding: 0; }

#sbcheckoutaddress .checkout-substep-title {
    margin: 0 0 14px;
    color: #28231f;
    font-size: 17px;
    font-weight: 700;
}

#sbcheckoutaddress .checkout-address-prompt,
#sbcheckoutaddress .checkout-address-label {
    display: block;
    margin: 0 0 8px;
    color: #42382f;
    font-size: 14px;
    font-weight: 600;
}

#sbcheckoutaddress .checkout-saved-address {
    margin: 0 0 10px;
    padding: 14px 16px;
    border: 1px solid #eee7df;
    border-radius: 9px;
    background: #fff;
}

#sbcheckoutaddress .checkout-saved-address .restaurant-name {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: #302a25;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}

#sbcheckoutaddress .checkout-saved-address .delivery_method_restaurant {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 8px 16px;
}

#sbcheckoutaddress .checkout-saved-address hr { display: none; }

#pickup_method_box .checkout-pickup-option {
	margin: 0 0 10px;
}

#pickup_method_box .checkout-pickup-choice {
	min-height: 58px;
	justify-content: flex-start;
	text-align: left;
}

#pickup_method_box .checkout-pickup-option .restaurant-address {
	margin: 5px 4px 0;
	color: #70675f;
	font-size: 13px;
	line-height: 1.4;
}

#pickup_method_box .checkout-pickup-choice i { color: #a67400; }

/* Checkout terms and optional order comment. */
#sbcheckoutpayment .checkout-comment-group { margin: 18px 0 20px; }

#sbcheckoutpayment .checkout-comment-label {
	display: block;
	margin: 0 0 8px;
	color: #302a25;
	font-size: 15px;
	font-weight: 600;
}

#sbcheckoutpayment .checkout-comment-input {
	min-height: 50px;
	padding: 12px 14px;
	border: 1px solid #ded5c9;
	border-radius: 9px;
	background: #fff;
	color: #302a25;
	font-size: 15px;
	transition: border-color .18s ease, box-shadow .18s ease;
}

#sbcheckoutpayment .checkout-comment-input:focus {
	border-color: #d8a21b;
	box-shadow: 0 0 0 3px rgba(251, 178, 0, .15);
	outline: 0;
}

#sbcheckoutpayment .checkout-terms-wrap { padding: 0; }

#sbcheckoutpayment .checkout-terms-card {
	margin: 0;
	padding: 16px 18px;
	border: 2px solid #e5cf91;
	border-radius: 10px;
	background: #fff8e6;
}

#sbcheckoutpayment .checkout-terms-label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	color: #3e3528;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.55;
}

#sbcheckoutpayment .checkout-terms-label input[type="checkbox"] {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	margin: 1px 0 0;
	accent-color: #b68100;
	cursor: pointer;
}

#sbcheckoutpayment .checkout-terms-label a {
	color: #8d6200;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

#sbcheckoutpayment .checkout-terms-label a:hover { color: #5f4300; }

#sbcheckoutpayment .checkout-terms-error { display: block; margin: 7px 0 0; }

@media (max-width:575px) {
	#sbcheckoutpayment .checkout-comment-group { margin: 14px 0 18px; }
	#sbcheckoutpayment .checkout-terms-card { padding: 13px; }
	#sbcheckoutpayment .checkout-terms-label { gap: 10px; font-size: 13px; }
}

/* Checkout step 5: clear order total and compact discount controls. */
#sbcheckoutsummary #cart-summary {
	margin-bottom: 10px;
	padding: 16px 18px 8px;
	border: 1px solid #eee7df;
	border-radius: 12px;
	background: #fffdf9;
}

#sbcheckoutsummary .checkout-summary-table {
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
}

#sbcheckoutsummary .checkout-summary-table td {
	padding: 12px 10px;
	border: 0;
	border-bottom: 1px solid #eee8e1;
	color: #51483f;
	font-size: 14px;
	line-height: 1.45;
}

#sbcheckoutsummary .checkout-summary-table .bill-type { font-weight: 500;padding-left:10px;padding-right:10px; }

#sbcheckoutsummary .checkout-summary-table .right-price {
	color: #302a25;
	font-weight: 600;
	text-align: right;
	white-space: nowrap;
    padding-left:10px;
    padding-right:10px;
}

#sbcheckoutsummary .checkout-summary-table .checkout-summary-adjustment .right-price {
	color: #4fb36e;
}

#sbcheckoutsummary .checkout-summary-table .checkout-summary-grand-total th {
	padding-top: 15px;
	padding-bottom: 15px;
    padding-left: 20px;
    padding-right: 20px;
	border-bottom: 0;
	background: #fff4d6;
	color: #382d12;
	font-size: 16px;
	font-weight: 700;
}

#sbcheckoutsummary .checkout-summary-table .checkout-summary-grand-total th b {
    font-weight: 700;
    font-size: 21px;
}

#sbcheckoutsummary .checkout-summary-table .checkout-summary-grand-total th:first-child {
	border-radius: 8px 0 0 8px;
}

#sbcheckoutsummary .checkout-summary-table .checkout-summary-grand-total th:last-child {
	border-radius: 0 8px 8px 0;
}

#sbcheckoutsummary .checkout-summary-extras {
	gap: 12px;
	margin: 0;
}

#sbcheckoutsummary .checkout-summary-extras .apply-coupon,
#sbcheckoutsummary .checkout-summary-extras .apply-rewards {
	/* flex: 1 1 260px; */
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: #fff;
}

#sbcheckoutsummary .checkout-coupon-label {
	display: block;
	margin: 0 0 8px;
	font-size: 14px;
}

#sbcheckoutsummary .checkout-coupon-controls {
	display: flex;
	align-items: stretch;
	gap: 8px;
}

#sbcheckoutsummary .checkout-summary-extras .checkout-coupon-controls input.form-control {
	flex: 1 1 auto;
	min-width: 0;
	width: auto !important;
	margin: 0 !important;
}

#sbcheckoutsummary .checkout-summary-extras .checkout-coupon-controls button.btn-ct {
	flex: 0 0 auto;
	min-height: 42px;
	margin: 0;
	white-space: nowrap;
}

#sbcheckoutsummary .checkout-coupon-controls button i { margin-right: 5px; }

#sbcheckoutsummary .checkout-rewards-info {
	display: grid;
	gap: 6px;
	margin-top: 12px;
	padding: 10px 12px;
	border-radius: 7px;
	background: #f8f5ef;
	color: #62584d;
	font-size: 12px;
	line-height: 1.45;
}

#sbcheckoutsummary .checkout-rewards-info strong { color: #3f372e; }
#sbcheckoutsummary .checkout-rewards-error { margin-top: 8px; }

#sbcheckoutsummary .checkout-rewards-applied {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

#sbcheckoutsummary .checkout-rewards-applied-value {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 10px;
	color: #51483f;
	font-size: 14px;
}

#sbcheckoutsummary .checkout-rewards-applied-value strong { color: #39734b; }

#sbcheckoutsummary .checkout-rewards-star {
	display: inline-flex;
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: #fff4d6;
	color: #a67400;
}

#sbcheckoutsummary .checkout-rewards-applied .remove-rewards {
	flex: 0 0 auto;
	margin: 0;
}

#sbcheckoutsummary .checkout-summary-extras input.form-control {
	float: none !important;
	width: min(100%, 220px) !important;
	min-height: 42px;
	margin: 0 8px 8px 0 !important;
	border: 1px solid #ded7cf;
	border-radius: 7px;
}

#sbcheckoutsummary .checkout-summary-extras hr {
	margin: 12px 0;
	border-color: #eee7df;
}

@media (max-width:575px) {
	#sbcheckoutsummary #cart-summary { padding: 10px 9px 4px; }
	#sbcheckoutsummary .checkout-summary-table td { padding: 10px 7px; font-size: 13px; }
	#sbcheckoutsummary .checkout-summary-table .checkout-summary-grand-total td { font-size: 15px; }
	#sbcheckoutsummary .checkout-summary-extras .apply-coupon,
	#sbcheckoutsummary .checkout-summary-extras .apply-rewards { flex-basis: 100%; padding: 12px; }
	#sbcheckoutsummary .checkout-rewards-applied { align-items: stretch; flex-direction: column; }
	#sbcheckoutsummary .checkout-rewards-applied .remove-rewards { width: 100%; }
	#sbcheckoutsummary .checkout-coupon-controls { flex-wrap: wrap; }
	#sbcheckoutsummary .checkout-summary-extras .checkout-coupon-controls input.form-control { flex-basis: 100%; }
	#sbcheckoutsummary .checkout-summary-extras .checkout-coupon-controls button.btn-ct { width: 100%; }
}

#sbcheckoutaddress .form-group { margin-bottom: 16px; }

#sbcheckoutaddress #kartverket-address {
    min-height: 48px;
    padding: 11px 14px;
    border: 1px solid #ded7cf;
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
}

#sbcheckoutaddress #kartverket-address:focus {
    border-color: #e4a400;
    box-shadow: 0 0 0 3px rgba(251, 178, 0, .14);
}

#sbcheckoutaddress #kartverket-suggestions {
    position: relative;
    z-index: 20;
    margin: 0;
    padding: 0;
    list-style: none;
}

#sbcheckoutaddress #kartverket-suggestions li {
    padding: 11px 13px;
    border: 1px solid #e6ded5;
    border-top: 0;
    background: #fff;
    color: #403831;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.45;
}

#sbcheckoutaddress #kartverket-suggestions li:hover,
#sbcheckoutaddress #kartverket-suggestions li:focus {
    background: #fff8e8;
    outline: none;
}

#sbcheckoutaddress #kartverket-error,
#sbcheckoutaddress .checkout-address-server-error {
    margin: 6px 0 0;
    color: #b42318;
    font-size: 13px;
    font-weight: 600;
}

#sbcheckoutaddress #kartverket-map-wrap { margin-top: 16px; }
#sbcheckoutaddress #kartverket-map { width: 100%; height: 300px; border: 1px solid #e6ded5; border-radius: 9px; }

#sbcheckoutaddress .checkout-address-help {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #f1dfad;
    border-left: 4px solid #fbb200;
    border-radius: 8px;
    background: #fffaf0;
    color: #665536;
    font-size: 13px;
    line-height: 1.5;
}

#sbcheckoutaddress .checkout-address-help img { flex: 0 0 32px; width: 32px; height: auto; }

@media (max-width:575px) {
    #sbcheckoutshipping .checkout-shipping-options { flex-direction: column; gap: 9px; }
    #sbcheckoutshipping .checkout-shipping-choice { min-height: 54px; }
    #sbcheckoutaddress .checkout-saved-address { padding: 12px; }
    #sbcheckoutaddress .checkout-saved-address .restaurant-name { align-items: flex-start; flex-direction: column; gap: 10px; }
    #sbcheckoutaddress .checkout-saved-address .delivery_method_restaurant { width: 100%; }
    #pickup_method_box .checkout-pickup-choice { min-height: 54px; }
    #sbcheckoutaddress #kartverket-map { height: 250px; }
}
