/********************************************************
			One-Page Checkout Styles
********************************************************/
.columns-container {
	background-color: #FAFAFA;
}

#order-opc {
	line-height: 20px;
}
#order-opc input.form-control {
	height: 40px;
	border-radius: 4px;
}
#order-opc .box {
	padding-bottom: 20px;
}
#order-opc .cart_navigation {
	margin-bottom: 53px;
}
#order-opc .page-heading.step-num {
	position: relative;
	padding-left: 45px;
	overflow: visible;
}
#order-opc .page-heading.step-num span {
	font-weight: bold;
	font-size: 42px;
	line-height: 51px;
	font-style: italic;
	color: #333;
	position: absolute;
	left: 10px;
	top: -14px;
}
#order-opc .form-group {
	margin-bottom: 10px;
}
#order-opc .form-group .form-control {
	max-width: 100%;
}
#order-opc .lost_password {
	display: inline-block;
	text-decoration: underline;
	margin: 5px 0 14px;
}
#order-opc .lost_password:hover {
	text-decoration: none;
}
#order-opc .title_block {
	font-weight: bold;
	color: #333;
	padding: 3px 0 6px;
}
#order-opc ul.bullet {
	line-height: 22px;
	margin-bottom: 5px;
}
#order-opc .date-select {
	padding-bottom: 10px;
}
#order-opc .opc-add-save {
	border-top: 1px solid #d6d4d4;
	margin-top: 20px;
	padding-top: 20px;
}
#order-opc #message {
	margin-bottom: 35px;
}
#order-opc #opc_payment_methods {
	margin-bottom: 30px;
}
#order-opc #opc_payment_methods p.warning {
	color: #F13340;
	font-weight: 700;
}
#order-opc #opc_account {
	margin-bottom: 30px;
}
#order-opc .address_delivery.select {
	margin-bottom: 15px;
}
#order-opc #address_invoice_form.form-group {
	margin-bottom: 30px;
}
#new_account_form .id_state, #new_account_form .dni, #new_account_form .postcode {
	display: none;
}

/*# sourceMappingURL=order-opc.css.map */

/* By Webkul */

.strikethrough {
    width: 100%;
    text-align: center;
    border-bottom: 1px solid #777;
    line-height: 0.1em;
    margin: 10px 0 25px;
}

.strikethrough span {
    background: #fff;
    color: #333;
    padding:0 10px;
}

#title {
	font-size: 13px;
	color: #3C3C3C;
	font-weight: 600;
}
#display_cart_vouchers {
	color: #404040;
	font-weight: 400;
}
#display_cart_vouchers span {
	font-weight: 700;
}
#login_form {
	background-color: #FFFFFF;
}
#login_form h3 {
	font-size: 18px;
	color: #3C3C3C;
	font-weight: 700;
	margin-top: 5px;
}
#login_form_content a.lost_password {
	font-weight: bold;
	text-decoration: none;
}
#new_account_form fieldset div.box, #tc_cont {
	background-color: #FFFFFF;
	margin-bottom: 20px;
}
#new_account_title, #opc_account_form h3, #choose_payment_txt {
	margin-top: 5px;
	font-size: 18px;
	color: #3C3C3C;
	font-weight: 700;
}
#opc_new_account form label {
	font-size: 14px;
	color: #333333;
	font-weight: 400;
}
.opc-main-block h3.page-subheading {
	margin-top: 5px;
}
#order-opc .clear-both {
	clear: both;
}
#order-opc .partial_txt {
	font-size: 14px;
	color: #333333;
}
#order-opc .partial_min_cost {
	font-size: 16px;
	color: #333333;
}
#order-opc #partial_data {
	display: none;
}
#order-opc .partial_subcont {
	margin-top: 10px;
}
#order-opc .room_type_old_price {
	text-decoration: line-through;
	color:#FF4B4B;
	display: block;
	font-size:12px;
}
#order-opc .block-small-header {
	font-size: 12px;
	color: #777777;
	font-weight: 600;
}
.order-detail-content .product-name a {
	font-size: 22px;
	color: #333333 !important;
}

.order-detail-content .hotel-location {
	font-size: 14px;
    padding: 10px 0px 0px 0px;
    color: #777777;
}
.order-detail-content .hotel-location > i {
	font-size: 18px;
}
.order-detail-content .hotel-location > .htl-address-icon {
	background-image: url(../../../modules/hotelreservationsystem/views/img/Slices/icon-contact.png);
	padding: 1px 15px 0px 2px;
	background-position: 1px;
	margin-right: 5px;
	font-size: 14px;
}
.order-detail-content div.room-type-features {
	margin-bottom: 5px;
}
.order-detail-content span.room-type-feature {
	white-space: nowrap;
	line-height: 35px;
	background-color: #eee;
	border-radius: 10px;
	margin-right: 10px;
	padding: 3px 10px 6px 0px;
	font-size: 14px;
	color: #555555;
}
.order-detail-content .room_duration_block_head {
	font-size: 12px;
    color: #777777;
    font-weight: 600;
    margin-bottom: 4px;
}
.order-detail-content .room_duration_block_value {
	font-size: 16px;
	color: #333333;
}
.order-detail-content .room_duration_block {
	margin-bottom: 15px;
	float: left;
    width: 100%;
	background-color: #D8EDFF;
	border-radius: 2px;
	padding: 10px 0px 5px 0px;
}
.order-detail-content .cart_product_summary_line .room_duration_block {
	background-color: #fff;
}
.order-detail-content .room_price_detail_block, .order-detail-content .product_price_detail_block {
	font-size: 24px;
	color: #333333;
}
.order-detail-content .room_price_detail_block{
	clear: both;
}
.order-detail-content .room_price_detail_block .plus-sign:after{
	color: #777;
	content: '+';
}
.room_price_detail_block .demand_total_price, .room_price_detail_block .total_price {
	line-height: 28px;
}

@media (max-width: 1199px) {
	.order-detail-content .room_price_detail_block .plus-sign:after{
		transform: translate(5px, 0px);
	}
}
@media (max-width: 430px) {
	.order-detail-content .room_price_detail_block .plus-sign:after{
		transform: translate(15px, 0px);
	}
}
.room_price_detail_block .price_block .total_price, .room_price_detail_block .demand_price_block .demand_total_price{
	word-break: break-word;
}
.order-detail-content .room_price_detail_block .plus-sign{
	display: flex;
	justify-content: space-between;
}
.product_price_detail_block .product_quantity_block, .product_price_detail_block .price_block {
	display: inline-block;
    padding: 10px 15px 0px 0px;
    border-radius: 6px;
}
.order-detail-content .product_quantity_detial {
	font-size: 14px;
	color: #777777;
}
.order-detail-content .total_price_detial {
	font-size: 14px;
	color: #777777;}
.room_price_detail_block .open_rooms_extra_services_panel, .product_price_detail_block .open_rooms_extra_services_panel  {
	font-weight: 600;
	color: #0000FF;}
.order-detail-content .total_price_block {
	display: inline-block;
    padding: 10px 15px 0px;
    background-color: #f2f2f2f2;
    border-radius: 6px;
}
.order-detail-content .cart_section_title {
	font-size: 14px;
	text-transform: capitalize;
}
.order-detail-content .room_unit_price{
	font-size: 24px;
	color: #333333;
}
.order-detail-content .room_unit_price span {
	font-size: 14px;
}
.order-detail-content .room_unit_price span.real_price {
	color: #777777;
	text-decoration: line-through;
}
.order-detail-content .room_unit_price_detail {
	font-size: 14px;
	color: #777777;
}
.order-detail-content .room_remove_block, .order-detail-content .product_remove_block {
	font-size: 12px;
	color: #555;
	text-align: center;
	margin-top: 20px
}
.order-detail-content .room_remove_block i, .order-detail-content .product_remove_block i {
	font-size: 18px;
}
#order-opc #guest-info-block {
	position: relative;
}
#order-opc #guest-info-block div.info-head {
	font-size: 14px;
	color: #555555;
}
#order-opc #guest-info-block div.info-value {
	font-size: 14px;
	color: #333333;
	overflow: auto;
}

/* Guest Account Block */
#order-opc .opc_dropdown_btn {
	height: 40px;
	border-radius: 4px;
}
#order-opc .order_opc_ul {
	font-size: 14px;
	font-weight: 400;
	top: 45px;
	padding: 0px;
	width: 100%;
	border-bottom: 1px solid rgba(0, 0, 0, 1);
	border-left: 1px solid rgba(0, 0, 0, 1);
	border-right: 1px solid rgba(0, 0, 0, 1);
	max-height: 145px;
	overflow-y: auto;
}
#order-opc .order_opc_ul li {
	cursor: default;
	font-size: 14px;
	color: rgba(0, 0, 0, 1);
	font-weight: 400;
	padding: 11px;
}
#order-opc .order_opc_ul li:hover, #order-opc .order_opc_ul li:focus, #order-opc .order_opc_ul li:active {
	background-color: #379bf0;
	color: #FFFFFF;
}
#order-opc .already_registered_block {
	font-size: 14px;
	line-height: 19px;
	color: #333333;
}
#order-opc .already_registered_block #openLoginFormBlock {
	color: #003AEF;
	font-weight: 600;
}

#order-opc #login_form_content .text-secondary {
	color: #333;
	font-size: 14px;
}

#order-opc #login_form_content #idAccountChoice {
	color: #003AEF;
	font-weight: 600;
}

#new_account_form #opc_guestCheckout {
	padding: 14px 25px;
}
#new_account_form #opc_createAccount {
	padding: 14px 25px;
	margin-left: 15px;
}
#order-opc #opc_new_account {
	padding-bottom: 10px;
}
#order-opc .step-edit > a {
	font-size: 14px;
	color: #0000FF;
	text-align: right;
}

/* Voucher Bock Css */
#order-opc .cart_voucher_detail_block {
	font-size: 14px;
	color: #555555;
}
#order-opc .cart_voucher_detail_block .cart_voucher_head {
	font-size: 12px;
	color: #777777;
	text-transform: uppercase;
	font-weight: 600;
}
#order-opc .cart_voucher_detail_block span.cart_discount_name {
	font-size: 14px;
	color: #459C3D;
	background-color: #FFFFFF;
	border: 2px dashed #459C3D;
	padding: 10px;
	display: inline-block;
	width: 60%;
	font-weight: 600;
}
#order-opc .cart_discount_name a.price_discount_delete {
	color: #777777;
	font-size: 16px;
}
#order-opc .cart_voucher_detail_block .cart_applied_voucher {
	margin-bottom: 5px;
}
#order-opc .cart_voucher_detail_block span.voucher_apply_state {
	background-color: #EDEDED;
	padding: 10px 15px;
    border-radius: 4px;
	color: #459C3D;
	display: inline-block;
}
#order-opc .avail_vouchers_block .avail_voucher_name {
	font-size: 12px;
	margin-bottom: 2px;
    font-weight: 600;
}
#order-opc .avail_vouchers_block .avail_voucher_name>.voucher_name {
	cursor: pointer;
    font-size: 14px;
    color: #0000FF;
}
#order-opc .avail_vouchers_block .seperator {
	margin-top: 10px;
    margin-bottom: 10px;
}
#order-opc .cart_total_detail_block hr {
	margin: 9px 0;
}
#order-opc .cart_total_detail_block .strong {
	font-weight: 600;
}
#order-opc .cart_total_detail_block .cart_total_values {
	float: right;
}
#order-opc .cart_total_detail_block .total_discount_block {
	color: #459C3D;
}
#order-opc .cart_total_detail_block .cart_final_total_block {
	margin-bottom: 0;
	line-height: 40px;
}
#order-opc .cart_total_detail_block .cart_final_total_block > .cart_total_values {
	font-size: 28px;
	color: #003AEF;
}
#order-opc .opc_advance_payment_block {
	margin-bottom: 30px;
}
#order-opc #advanced-payment label > span {
	font-size: 14px!important;
	font-weight: normal!important;
}
@media (max-width: 767px) {
	.room_price_detail_block .price_block, .room_type_old_price{
		padding-left: 15px;
	}
	#order-opc .cart_voucher_detail_block .submit_discount_div {
		margin-top: 10px;
	}
	#order-opc .product-img-block {
		display: none;
	}
	#order-opc .cart_product_line .room-type-features {
		display: none;
	}
	.order-detail-content .product-xs-img {
		display: inline-block;
	}
	.order-detail-content .product-xs-info {
		display: inline-block;
	}
	.order-detail-content .product-xs-img {
		width: 9%;
		margin-right: 2%;
	}
	.order-detail-content .product-xs-img img {
		width: 60px;
	}
	.order-detail-content .product-xs-info {
		width: 88%;
		vertical-align: top;
	}
	.order-detail-content .hotel-location {
		padding: 4px 0px 0px 0px;
	}
	.order-detail-content .product-xs-remove {
		display: block;
		font-size: 16px!important;
		padding: 0px 4px;
	}
}
@media (max-width: 480px) {
	.order-detail-content .product-xs-info {
		display: inline-block;
		width: 76%;
		vertical-align: top;
	}
	.order-detail-content .product-xs-img {
		display: inline-block;
		width: 20%;
		margin-right: 2%;
	}
	.order-detail-content .product-xs-img img {
		width: 60px;
	}
	.order-detail-content .hotel-location {
		font-size: 13px;
	}
}
@media (min-width: 481px) and (max-width: 650px) {
	.order-detail-content .product-xs-info {
		display: inline-block;
		width: 85%;
		vertical-align: top;
	}
	.order-detail-content .product-xs-img {
		display: inline-block;
		width: 12%;
		margin-right: 2%;
	}
	.order-detail-content .product-xs-img img {
		width: 60px;
	}
}
@media (min-width: 768px) {
	.order-detail-content .product-xs-img {
		display: none;
	}
	.order-detail-content .product-xs-remove {
		display: none;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	#order-opc .cart_voucher_detail_block .submit_discount_div {
		margin-top: 10px;
	}
	#order-opc .cart_voucher_detail_block span.cart_discount_name {
		width: 50%;
	}
}
@media (max-width: 480px) {
	#order-opc .cart_voucher_detail_block span.cart_discount_name {
		width: 50%;
	}
	#order-opc #new_account_form #opc_guestCheckout {
		width: 100%;
		margin-bottom: 15px;
	}
	#order-opc #new_account_form #opc_createAccount {
		width: 100%;
		margin-left: 0px;
	}
}
#order-opc .cart_total_detail_block {
	font-size: 14px;
	color: #333333;
}
@media (max-width: 350px) {
	#order-opc .cart_total_detail_block {
		font-size: 12px;
	}
	#order-opc .cart_total_detail_block .cart_final_total_block > .cart_total_values {
		font-size: 24px;
	}
}
#order-opc #oprder-opc-accordion .accordion-header {
	font-size: 20px;
	color: #333333;
	padding: 0px;
	cursor: pointer;
}
#order-opc #oprder-opc-accordion .accordion-left-arrow {
	font-size: 25px;
}
#order-opc #oprder-opc-accordion #shopping-cart-head .accordion-left-arrow {
	display: none;
}
#order-opc #oprder-opc-accordion .card-header>h5 {
	margin: 0px;
}
#order-opc #oprder-opc-accordion .card-body {
	margin-top: 20px;
}
#order-opc .right-border {
	border-right: 1px solid #ccc;
}
#order-opc select {
	background-color: #fff;
	height: 40px;
	border-radius: 4px;
	padding: 3px 5px;
	color: #333;
	border: 1px solid #d6d4d4;
	width: 100%;
}
#order-opc #center_column form.std .row .col-xs-4 {
	max-width: 127px;
}
#opc_account_form .gender-line {
	padding-top: 0px;
}

#order-opc #opc_account_errors {
    margin-top: 10px
}

/* buttons css */
#order-opc .opc-button-small {
	border: none;
	border-radius: 4px;
	font-size: 14px;
	padding: 10px 25px;
	font-weight: 600;
}
#order-opc .opc-btn-primary {
	background-color: #1292FF;
	color: #FFFFFF;
}
#order-opc .opc-btn-default {
	border: 1px solid #1292FF;
	background-color: #fff;
	color: #1292FF;
}
#order-opc .opc-button {
	padding: 2px 0 0 0;
}
#order-opc .button-medium {
	background-color: #1292FF;
	box-shadow: 0 0px 20px 0 rgba(0,0,0,0.34);
	border-radius: 2px;
	padding: 0px 50px;}
	#order-opc .button-medium > span {
		font-size: 14px;
		padding: 11px;
		font-weight: 600;
		color: #FFFFFF;
		text-transform: uppercase;
		text-align: center;}


/* Fancy-box for extra demands Css */
.room_extra_demands .open_rooms_extra_services_panel {
	font-size:12px;
	font-weight: 600;
	color: #0000FF;}

.btn-edit-guest-info {
	padding: 0px 50px;
	font-size: 17px;
	line-height: 23px;
	border-radius: 2px;
	background-color: #D9D9D9;
	border: 1px solid #D9D9D9;
	margin-right: 10px; }

.btn-edit-guest-info span {
	display: block;
	font-size: 14px;
	padding: 11px;
	font-weight: 600;
	text-transform: uppercase;
	text-align: center; }

.transform-to-customer-block {
    margin-top: 25px; }

.transform-to-customer-block .text-secondary {
    font-size: 14px;
    line-height: 19px;
    color: #333;
    margin-bottom: 15px; }

/* Customer guest suggetions Css */
.customer_guest_detail_ul {
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 200px;
    background: #fff;
	z-index: 10;
	box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
	position: absolute;
	width: 90%;}
.customer_guest_detail_email_list{
	width: 92%;}
.customer_guest_detail_li {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
	padding: 10px;}
.customer_guest_detail_li.active {
	color: #fff;
	background-color: #379bf0;}
.customer_guest_detail_li:hover {
	cursor: pointer;
	background-color: #379bf0;
	color: #fff;}

/* Bungalov compact checkout system */
#order-opc {
	--co-ink: #17211d;
	--co-muted: #66716b;
	--co-paper: #f5f1e9;
	--co-surface: #fff;
	--co-line: rgba(23,33,29,.12);
	--co-accent: #ff6b45;
	--co-accent-hover: #ff825f;
	--co-night: #18352f;
	--co-success: #18735c;
	--co-danger: #b9362d;
	background: var(--co-paper);
	color: var(--co-ink);
}

#order-opc *,
#order-opc *::before,
#order-opc *::after { box-sizing: border-box; }

#order-opc #wrapper { background: transparent; }
#order-opc .bungalov-checkout-shell {
	width: min(1400px, calc(100% - 32px));
	max-width: none;
	padding: 32px 0 84px;
}
#order-opc .bungalov-checkout-header {
	display: grid;
	grid-template-columns: minmax(260px, .65fr) minmax(440px, 1fr);
	align-items: end;
	gap: 28px;
	margin-bottom: 26px;
	padding: clamp(24px, 4vw, 48px);
	overflow: hidden;
	border-radius: 30px;
	background: var(--co-night);
	color: #fff;
	animation: co-enter .65s cubic-bezier(.2,.75,.25,1) both;
}
#order-opc .bungalov-checkout-header > .bungalov-eyebrow {
	grid-column: 1;
	align-self: end;
	color: #ff9a7c;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .16em;
	text-transform: uppercase;
}
#order-opc .bungalov-checkout-header h1 {
	grid-column: 1;
	margin: -17px 0 0;
	color: #fff;
	font-size: clamp(32px, 4vw, 55px);
	font-weight: 650;
	letter-spacing: -.05em;
	line-height: .98;
}
#order-opc .bungalov-checkout-header > p {
	grid-column: 1;
	margin: -12px 0 0;
	color: rgba(255,255,255,.62);
	font-size: 12px;
}
#order-opc .bungalov-checkout-steps {
	grid-column: 2;
	grid-row: 1 / span 3;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
#order-opc .bungalov-checkout-steps li {
	position: relative;
	display: grid;
	align-content: center;
	justify-items: start;
	min-height: 92px;
	padding: 14px;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 18px;
	background: rgba(255,255,255,.045);
	color: rgba(255,255,255,.5);
}
#order-opc .bungalov-checkout-steps li > span {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	margin-bottom: 10px;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 10px;
}
#order-opc .bungalov-checkout-steps li strong { font-size: 11px; font-weight: 750; }
#order-opc .bungalov-checkout-steps li.is-current {
	border-color: var(--co-accent);
	background: var(--co-accent);
	color: #211713;
}
#order-opc .bungalov-checkout-steps li.is-complete { color: #fff; }
#order-opc .bungalov-checkout-steps li.is-complete > span { border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.11); }

#order-opc .bungalov-checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(310px, 390px);
	gap: clamp(22px, 3vw, 42px);
	margin: 0;
	align-items: start;
}
#order-opc .bungalov-checkout-main,
#order-opc .bungalov-checkout-summary {
	float: none;
	width: auto;
	min-width: 0;
	padding: 0;
}
#order-opc .bungalov-checkout-main { grid-column: 1; animation: co-enter .65s .08s cubic-bezier(.2,.75,.25,1) both; }
#order-opc .bungalov-checkout-summary {
	grid-column: 2;
	position: sticky;
	top: 96px;
	animation: co-enter .65s .14s cubic-bezier(.2,.75,.25,1) both;
}
#order-opc #oprder-opc-accordion { display: grid; gap: 14px; }
#order-opc #oprder-opc-accordion > .card,
#order-opc #oprder-opc-accordion .bungalov-checkout-card {
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--co-line);
	border-radius: 24px;
	background: var(--co-surface);
	box-shadow: none;
}
#order-opc #oprder-opc-accordion .bungalov-checkout-card.is-current-step {
	border-color: rgba(24,53,47,.38);
	box-shadow: 0 18px 54px rgba(24,53,47,.08);
}
#order-opc #oprder-opc-accordion .card-header {
	position: relative;
	padding: 19px 22px;
	border: 0;
	background: transparent;
}
#order-opc #oprder-opc-accordion .is-current-step .card-header::before {
	content: "";
	position: absolute;
	left: 0;
	top: 18px;
	bottom: 18px;
	width: 4px;
	border-radius: 0 4px 4px 0;
	background: var(--co-accent);
}
#order-opc #oprder-opc-accordion .accordion-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 28px;
	margin: 0;
	padding: 0;
	color: var(--co-ink);
	font-size: 18px;
	font-weight: 780;
	letter-spacing: -.02em;
}
#order-opc #oprder-opc-accordion .accordion-header:focus-visible {
	border-radius: 8px;
	outline: 3px solid rgba(255,107,69,.28);
	outline-offset: 5px;
}
#order-opc #oprder-opc-accordion .accordion-left-arrow { color: var(--co-muted); transition: transform .2s ease; }
#order-opc #oprder-opc-accordion .accordion-header[aria-expanded="true"] .accordion-left-arrow { transform: rotate(-90deg); }
#order-opc #oprder-opc-accordion .card-body {
	margin: 0;
	padding: 4px 22px 24px;
	border-top: 0;
}

#order-opc .order-detail-content,
#order-opc .cart_product_line {
	border-color: var(--co-line);
	border-radius: 18px;
	background: #fbfaf6;
}
#order-opc .order-detail-content .room_duration_block {
	border-radius: 12px;
	background: #e9f1ed;
}
#order-opc .order-detail-content .total_price_block,
#order-opc .product_price_detail_block .product_quantity_block,
#order-opc .product_price_detail_block .price_block { background: transparent; }

#order-opc .form-group { margin-bottom: 17px; }
#order-opc label,
#order-opc .control-label {
	margin-bottom: 7px;
	color: var(--co-ink);
	font-size: 12px;
	font-weight: 750;
}
#order-opc input.form-control,
#order-opc select,
#order-opc textarea.form-control,
#order-opc .opc_dropdown_btn {
	width: 100%;
	min-height: 50px;
	padding: 10px 13px;
	border: 1px solid var(--co-line);
	border-radius: 13px;
	background: #fbfaf6;
	box-shadow: none;
	color: var(--co-ink);
	font-size: 14px;
	transition: border-color .18s ease, outline-color .18s ease, background-color .18s ease;
}
#order-opc textarea.form-control { min-height: 100px; resize: vertical; }
#order-opc input.form-control:hover,
#order-opc select:hover,
#order-opc textarea.form-control:hover { border-color: rgba(23,33,29,.3); }
#order-opc input.form-control:focus,
#order-opc select:focus,
#order-opc textarea.form-control:focus,
#order-opc .opc_dropdown_btn:focus {
	border-color: var(--co-accent);
	background: #fff;
	box-shadow: none;
	outline: 3px solid rgba(255,107,69,.17);
}
#order-opc input[type="checkbox"],
#order-opc input[type="radio"] { width: 18px; height: 18px; accent-color: var(--co-accent); }
#order-opc .checkbox label,
#order-opc label:has(input[type="radio"]) { min-height: 44px; }

#order-opc .already_registered_block {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
	padding: 14px 16px;
	border: 1px solid var(--co-line);
	border-radius: 14px;
	background: #fbfaf6;
}
#order-opc .already_registered_block p { margin: 0; }
#order-opc .already_registered_block p + p { display: none; }
#order-opc .already_registered_block #openLoginFormBlock,
#order-opc #login_form_content #idAccountChoice,
#order-opc .step-edit > a { color: var(--co-success); }
#order-opc #opc_account_choice .opc-button { display: flex; flex-wrap: wrap; gap: 8px; }
#order-opc #new_account_form #opc_guestCheckout,
#order-opc #new_account_form #opc_createAccount { margin: 0; }

#order-opc .button-medium,
#order-opc .opc-button-small,
#order-opc .btn-edit-guest-info,
#order-opc button[type="submit"],
#order-opc .payment_module a {
	min-height: 48px;
	border: 1px solid transparent;
	border-radius: 14px;
	box-shadow: none;
	font-size: 13px;
	font-weight: 820;
	text-transform: none;
	transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease, opacity .18s ease;
}
#order-opc .button-medium,
#order-opc .opc-btn-primary,
#order-opc button[type="submit"] {
	background: var(--co-accent);
	color: #211713;
}
#order-opc .button-medium { padding: 0 28px; }
#order-opc .button-medium > span { display: block; padding: 13px 0; color: #211713; font-size: 13px; text-transform: none; }
#order-opc .opc-btn-default,
#order-opc .btn-edit-guest-info { border-color: var(--co-line); background: #fff; color: var(--co-night); }
#order-opc .button-medium:hover,
#order-opc .button-medium:focus-visible,
#order-opc .opc-btn-primary:hover,
#order-opc .opc-btn-primary:focus-visible,
#order-opc button[type="submit"]:hover,
#order-opc button[type="submit"]:focus-visible {
	background: var(--co-accent-hover);
	box-shadow: 0 11px 24px rgba(215,70,36,.22);
	color: #211713;
	transform: translateY(-2px);
}
#order-opc button:active,
#order-opc .button-medium:active { transform: translateY(1px); }
#order-opc button:disabled,
#order-opc .disabled,
#order-opc [aria-disabled="true"] { cursor: not-allowed; opacity: .48; box-shadow: none; transform: none; }
#order-opc .opc-overlay::after,
#order-opc .ajax-loading::after {
	content: "";
	display: block;
	width: 22px;
	height: 22px;
	border: 3px solid rgba(24,53,47,.16);
	border-top-color: var(--co-accent);
	border-radius: 50%;
	animation: co-spin .7s linear infinite;
}

#order-opc .bungalov-checkout-summary > .card,
#order-opc .cart_total_detail_block,
#order-opc .cart_voucher_detail_block {
	float: none;
	width: 100%;
	margin: 0 0 12px;
	padding: 22px;
	border: 1px solid var(--co-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: none;
}
#order-opc .bungalov-checkout-summary-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 18px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--co-line);
}
#order-opc .bungalov-checkout-summary-head > span { font-size: 17px; font-weight: 800; letter-spacing: -.02em; }
#order-opc .bungalov-checkout-summary-head small {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--co-success);
	font-size: 10px;
	font-weight: 750;
}
#order-opc .cart_total_detail_block > p {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	margin: 0 0 11px;
	color: var(--co-muted);
	font-size: 12px;
}
#order-opc .cart_total_detail_block .cart_total_values { float: none; color: var(--co-ink); font-weight: 750; text-align: right; }
#order-opc .cart_total_detail_block .total_discount_block,
#order-opc .cart_total_detail_block .total_discount_block .cart_total_values { color: var(--co-success); }
#order-opc .cart_total_detail_block .cart_final_total_block {
	align-items: center;
	margin: 0;
	padding-top: 7px;
	line-height: 1.2;
}
#order-opc .cart_total_detail_block .cart_final_total_block > .cart_total_values {
	color: var(--co-night);
	font-size: clamp(25px, 3vw, 34px);
	font-weight: 850;
	letter-spacing: -.04em;
}
#order-opc .cart_voucher_detail_block .cart_voucher_head {
	margin-bottom: 8px;
	color: var(--co-ink);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: none;
}
#order-opc #voucher .row { margin: 0; }
#order-opc .cart_voucher_detail_block .submit_discount_div { margin-top: 8px; padding: 0; }

#order-opc .opc_advance_payment_block {
	margin: 0 0 20px;
	padding: 18px;
	border: 1px solid var(--co-line);
	border-radius: 17px;
	background: #fbfaf6;
}
#order-opc .opc_advance_payment_block .block-small-header { margin-bottom: 12px; color: var(--co-ink); font-size: 12px; font-weight: 800; letter-spacing: .06em; }
#order-opc #advanced-payment label {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	margin: 0 0 7px;
	padding: 11px 13px;
	border: 1px solid var(--co-line);
	border-radius: 13px;
	background: #fff;
}
#order-opc #partial_data { margin: 0 0 10px 28px; color: var(--co-muted); }

#order-opc .alert {
	border: 1px solid transparent;
	border-radius: 14px;
	box-shadow: none;
}
#order-opc .alert-danger { border-color: rgba(185,54,45,.2); background: #fff0ed; color: #84251f; }
#order-opc .alert-success { border-color: rgba(24,115,92,.2); background: #ebf6f0; color: #125c4a; }
#order-opc .alert-warning { border-color: rgba(176,117,23,.2); background: #fff7df; color: #6d4a12; }

/* Classic multi-page checkout stepper */
#order_step.step {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 7px;
	margin: 20px 0 30px;
	padding: 0;
	border: 0;
	background: transparent;
}
#order_step.step > li {
	float: none;
	width: auto;
	border: 1px solid var(--co-line);
	border-radius: 14px;
	background: #fff;
	color: var(--co-muted);
}
#order_step.step > li::after { display: none; }
#order_step.step > li a,
#order_step.step > li span { display: block; min-height: 54px; padding: 14px; color: inherit; font-size: 11px; font-weight: 750; line-height: 1.2; }
#order_step.step > li em { display: block; margin-bottom: 3px; font-size: 9px; font-style: normal; opacity: .6; }
#order_step.step > li.step_current { border-color: var(--co-accent); background: var(--co-accent); color: #211713; }
#order_step.step > li.step_done,
#order_step.step > li.step_done_last { border-color: var(--co-night); color: var(--co-night); }

@keyframes co-enter {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: translateY(0); }
}
@keyframes co-spin { to { transform: rotate(360deg); } }

@media (max-width: 991px) {
	#order-opc .bungalov-checkout-shell { width: min(100% - 24px, 760px); padding-top: 18px; }
	#order-opc .bungalov-checkout-header { grid-template-columns: 1fr; gap: 13px; padding: 26px; border-radius: 25px; }
	#order-opc .bungalov-checkout-header > *,
	#order-opc .bungalov-checkout-steps { grid-column: 1; grid-row: auto; }
	#order-opc .bungalov-checkout-header h1 { margin: 0; }
	#order-opc .bungalov-checkout-header > p { margin: 0; }
	#order-opc .bungalov-checkout-steps li { min-height: 75px; }
	#order-opc .bungalov-checkout-layout { grid-template-columns: 1fr; }
	#order-opc .bungalov-checkout-main,
	#order-opc .bungalov-checkout-summary { grid-column: 1; }
	#order-opc .bungalov-checkout-summary { position: static; }
}

@media (max-width: 640px) {
	#order-opc .bungalov-checkout-shell { width: calc(100% - 20px); padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
	#order-opc .bungalov-checkout-header { margin-bottom: 13px; padding: 22px 18px; }
	#order-opc .bungalov-checkout-header h1 { max-width: 100%; font-size: clamp(28px, 8.2vw, 32px); }
	#order-opc .bungalov-checkout-steps {
		display: flex;
		margin-inline: -18px;
		padding: 2px 18px 4px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	#order-opc .bungalov-checkout-steps li { flex: 0 0 148px; min-height: 70px; scroll-snap-align: start; }
	#order-opc .bungalov-checkout-steps li > span { width: 24px; height: 24px; margin-bottom: 6px; }
	#order-opc #oprder-opc-accordion .card-header { padding: 17px 18px; }
	#order-opc #oprder-opc-accordion .card-body { padding: 2px 18px 20px; }
	#order-opc #oprder-opc-accordion .accordion-header { font-size: 16px; }
	#order-opc .bungalov-checkout-summary > .card,
	#order-opc .cart_total_detail_block,
	#order-opc .cart_voucher_detail_block { padding: 18px; border-radius: 19px; }
	#order-opc .form-group[class*="col-"],
	#order-opc #customer-guest-detail-container [class*="col-"],
	#order-opc #opc_account_form [class*="col-"] { float: none; width: 100%; max-width: none; }
	#order-opc .proceed_btn_block { display: grid; gap: 8px; }
	#order-opc .proceed_btn_block .button-medium,
	#order-opc .proceed_btn_block .btn-edit-guest-info { float: none !important; width: 100%; margin: 0; }
	#order-opc #opc_account_choice .opc-button { display: grid; grid-template-columns: 1fr; }
	#order-opc #new_account_form #opc_guestCheckout,
	#order-opc #new_account_form #opc_createAccount { width: 100%; }
	#order_step.step { display: flex; gap: 6px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	#order_step.step > li { flex: 0 0 126px; scroll-snap-align: start; }
	#order_step.step > li a,
	#order_step.step > li span { min-height: 50px; padding: 11px; }
}

@media (hover: none) {
	#order-opc button:hover,
	#order-opc .button-medium:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	#order-opc *,
	#order-opc *::before,
	#order-opc *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
