#form_delivery {
	font-family: 'Gilroy', sans-serif;
	background: #F6F6F6;
}

.smarty-autocomplete-dropdown {
    font-family: 'Gilroy', sans-serif;
}

/* Header, logo, хлебные */
#form_delivery .onepage_checkout,
#form_delivery .opc_header,
#form_delivery .onepage_bread {
	background: transparent;
}
#form_delivery .opc_header {
	padding: 48px 8px 0 0;
	border-bottom: none;
	box-shadow: none;
}
#form_delivery .header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 0;
}
#form_delivery .opc-back {
	display: flex;
	align-items: center;
	opacity: .82;
	transition: opacity .19s;
	border-radius: 7px;
	background: none;
	outline: none;
	border: none;
	cursor: pointer;
	padding: 0;
}
#form_delivery .opc-back:focus,
#form_delivery .opc-back:hover {
	opacity: 1;
	background: #ececec;
}
#form_delivery .opc-title {
	font-weight: 800;
	font-size: 40px;
	margin: 0;
	letter-spacing: -.02em;
	color: #171717;
	flex: 1 1 auto;
	text-align: left;
}
#form_delivery .logo {
	min-width: 90px;
	max-width: 130px;
	display: flex;
	align-items: center;
}
#form_delivery .wrap-img img {
	width: auto;
	height: auto;
	display: block;
	border-radius: 8px;
}

#form_delivery .logo .wrap-img img {
    height: 40px;
}
/* Breadcrumbs */
#form_delivery .opc-breadcrumbs {
	padding: 8px 32px 0 32px;
	font-size: 12px;
	color: #FF8338;
	font-weight: 500;
}
#form_delivery .opc-breadcrumbs a {
	color: #FF8338;
	text-decoration: none;
}
#form_delivery .opc-breadcrumbs a:hover {
	text-decoration: underline;
}
#form_delivery .opc-breadcrumbs .pr-breadcrumbs .current {
	color: #4F4F4F;
}









#form_delivery .opc-reserved .hurry-plate {
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	color: #171717;
	font-weight: 400;
	font-size: inherit;
	opacity: 1;
	text-align: left;
}






/* Reserved line */
#form_delivery .opc-reserved {
	padding: 8px 16px 0 32px;
	font-size: 1rem;
	color: #232323;
	font-weight: 400;
}
#form_delivery .opc-timer {
	font-weight: 700;
	margin-left: 5px;
	color: #FF8338;
}

/* Steps */
#form_delivery .opc-steps {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 16px 32px;
	gap: 0;
	margin: 0 auto;
}
#form_delivery .opc-step {
	display: flex;
	flex-direction: column;
	align-items: center;
    text-align: center;
	min-width: 120px;
	position: relative;
	z-index: 2;
	color: #bababa;
	font-weight: 400;
	font-size: 14px;
}
#form_delivery .opc-step-num {
	color: #FF8338;
	border: 2px solid #FF8338;
	border-radius: 8px;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	font-weight: 500;
	box-shadow:
		0 2px 7px rgba(255,129,74,.09),
		0 0 8px 2px rgba(255,129,74,0.15);
	margin-bottom: 16px;
	transition: border .22s, background .22s, color .22s;
	transform: rotate(45deg);
}
#form_delivery .opc-step-num i {
	transform: rotate(-45deg);
	display: block;
	text-align: center;
	font-style: normal;
}
#form_delivery .opc-step.active .opc-step-num {
	background: #FF8338;
	color: #fff;
}
#form_delivery .opc-step.active .opc-step-text {
	color: #171717;
	font-weight: 500;
	line-height: 20px
}
#form_delivery .opc-step.done .opc-step-num {
	opacity: .54;
}

/* Линия между шагами через svg */
#form_delivery .opc-step-line {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 184px;
	margin: -4px -40px 0;
	z-index: 1;
}
#form_delivery .opc-step-line svg {
	display: block;
	width: 100%;
	height: auto;
	max-width: 184px;
}




#form_delivery .order {
    border-radius: 16px;
    background: #FFF;
    box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15);
    padding: 32px;
    margin: 48px 8px 32px 24px;
}
#form_delivery .inner-order {
    padding-left: 0;
    padding-top: 16px;
}

#form_delivery .express-checkout,
#form_delivery .checkout-upsells,
#form_delivery .trust-box,
#form_delivery .trust-box-mobile,
#form_delivery .inner-step {
    border-radius: 16px;
    background: #FFF;
    box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15);
    padding: 32px;
    margin: 32px 8px 32px 8px;
}

#form_delivery .checkout-title {
	color: #171717;
	font-weight: 700;
	font-size: 1rem;
	margin: 0 0 16px;
}

/*#form_delivery .express-checkout-grid {*/
/*	display: grid;*/
/*	grid-template-columns: 1fr 1fr;*/
/*	gap: 8px;*/
/*}*/

#form_delivery .express-checkout-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 100%;
	height: 40px;
	border: none;
	border-radius: 8px;
	background: #373737;
	font-size: 12px;
	color: #fff;
	cursor: pointer;
	outline: none;
	padding: 0 24px;
	position: relative;
}

#form_delivery .express-checkout-btn:focus {
	outline: 2px solid #ff8338;
	outline-offset: 1px;
	box-shadow: 0 0 0 2px #ff8338;
}

#form_delivery .express-checkout-label {
	font-weight: 800;
	letter-spacing: .01em;
	color: #fff;
}

#form_delivery .express-checkout-svg {
	display: inline-flex;
	align-items: center;
	margin: 0 7px 0 7px;
	height: 20px;
}

#form_delivery .express-checkout-svg svg {
	display: block;
	height: 20px;
	width: auto;
	vertical-align: middle;
}

#form_delivery .checkout-main .order-item .price {
    color: #171717;
    font-weight: 600;
}

#form_delivery .checkout-main .order-item {
    align-items: flex-start;
}


#form_delivery .field {
    border-radius: 8px;
    margin: 0;
}

#form_delivery .checkout-main .field input {
    font-size: 1rem;
    font-weight: 500;
    padding: 12px 24px 0 0;
    
}
#form_delivery .checkout-main .field label{
    height: 1rem;
    padding: 2px 8px 0;
    margin: -2px 0 0;
}

#form_delivery .checkout-main .step-1 .row {
    margin: 0 -8px;
}

#form_delivery .checkout-main .step-1 .row .field {
    margin: 8px;
}

#form_delivery .checkout-main .bootstrap-select.btn-group .btn .caret {
    color: #FF8338;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px dashed;
}

@media (min-width: 768px) {
    #form_delivery .checkout-main .step-1 .row.no_zip .field {
        margin-bottom: 5px;
    }
}




#form_delivery .trust-box .checkout-title {
    color: #FF8338;
}
#form_delivery .trust-box p {
    color: #171717;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    margin: 0;
}



#form_delivery .cart-items-count {
    color: #171717;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    margin: -16px 0 24px;
}

#form_delivery .link-login.get_discount_field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 32px 0 0;
    text-decoration: none;
    color: inherit;
}

#form_delivery .link-login.get_discount_field .checkout-title {
    margin: 0;
    padding: 0;
    display: block;
}

#form_delivery .discount-toggle-icon {
    display: flex;
    align-items: center;
    height: 1em;
}


#form_delivery .link-login.get_discount_field .discount-toggle-icon {
    transition: transform .18s cubic-bezier(.7,.1,.3,1);
    transform: rotate(180deg);
}
#form_delivery .link-login.get_discount_field:has(+ .box-discount:not(.discount_disabled)) .discount-toggle-icon {
    transform: rotate(0deg);
}



#form_delivery .checkout-main .order .box-discount {
    display: flex;
    max-height: 120px; /* или сколько нужно под содержимое */
    opacity: 1;
    pointer-events: auto;
    margin: 24px 0 0;
    position: relative;
    transition: 
        max-height .34s cubic-bezier(.7,0,.18,1),
        opacity .22s cubic-bezier(.68,.01,.51,1),
        margin .24s;
    overflow: hidden;
}

#form_delivery .box-discount .field {
    position: relative;
}

#form_delivery .discount-success-icon {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    pointer-events: none;
}

#form_delivery .discount-apply {
    display: inline-block;
    font-weight: 600;
    font-size: 15px;
    border: none;
    background: #e9e9e9;
    color: #444;
    padding: 7px 18px;
    margin: 0 0 0 16px;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}
#form_delivery .discount-apply:hover {
    background: #ff8338;
    color: #fff;
}

#form_delivery .box-radio .check {
    border: 1px solid #ff8338;
    left: 0;
}
#form_delivery .box-radio .check:before {
    height: 8px;
    width: 8px;
}

#form_delivery .checkout-main .box-shipping-order {
    background: #fff;
    border: none;
    border-radius: 3px;
}

#form_delivery .checkout-main .box-shipping-order label {
    padding: 10px 0;
}

#form_delivery .box-shipping-order .shipping-info {
    padding: 0 10px 0 24px;
}

#form_delivery .shipping-title {
    font-weight: 400;
    color: #171717;
}

#form_delivery .box-radio input[type=radio]:checked~.check:before {
    background: #ff8338;
}

#form_delivery .checkout-main .step-2 {
    border-top: none;
    border-bottom: none;
}

#form_delivery .checkout-main .summary {
    margin: 0 0 24px;
    padding: 0;
    border-bottom: none;
    color: #4F4F4F;
}
#form_delivery .checkout-main .summary .checkout-title {
    margin: 0;
}

#form_delivery .checkout-main .summary .total {
    border-top: 1px solid #E0E0E0;
    padding: 16px 0 0;
    color: #171717;
}

#form_delivery .js-box-save {
    color:#FF8338;
}

#form_delivery .conditions1 {
    margin: 24px 0;
    font-size: 12px;
}




.conditions1 {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
#form_delivery .box-check-svg {
    position: relative;
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    gap: 8px;
    user-select: none;
    font-size: 14px;
    margin: 0;
}


#form_delivery .box-check-svg input[type="checkbox"] {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    opacity: 0;
    z-index: 2;
    margin: 0;
    padding: 0;
    cursor: pointer;
}

#form_delivery .custom-svg-checkbox {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    transition: opacity 0.18s;
}

.custom-svg-checkbox .circle-bg {
    transition: fill 0.18s, stroke 0.18s;
}
.custom-svg-checkbox .checkmark {
    transition: opacity 0.18s;
}

/* Checked: оранжевый круг с галкой */
.box-check-svg input[type="checkbox"]:checked + .custom-svg-checkbox .circle-bg {
    fill: #FF8338;
    stroke: none;
}
.box-check-svg input[type="checkbox"]:checked + .custom-svg-checkbox .checkmark {
    display: inline;
    opacity: 1;
}

.box-check-svg input[type="checkbox"]:not(:checked) + .custom-svg-checkbox .circle-bg {
    fill: transparent;
    stroke: #FF8338;
    stroke-width: 1.5;
}
.box-check-svg input[type="checkbox"]:not(:checked) + .custom-svg-checkbox .checkmark {
    display: none;
    opacity: 0;
}

.box-check-svg input[type="checkbox"]:focus + .custom-svg-checkbox {
    outline: 2px solid #FF8338;
    outline-offset: 1px;
}
.custom-svg-checkbox,
.box-check-svg input[type="checkbox"]:focus + .custom-svg-checkbox {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}








#form_delivery .checkout-main .summary.summary-hidden {
    overflow: inherit;
    height: auto;
}












.payment-cards-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
}

#form_delivery .payment-cards-row .payment-item {
    flex: 0 1 calc(33.333% - 8px);
    min-width: calc(33.333% - 8px);
    box-sizing: border-box;
    margin-bottom: 0;
    padding: 0;
}

#form_delivery .checkout-main .payment-item .payment-item-radio {
    border-top: none;
    padding: 0;
}
#form_delivery .checkout-main .payment-box {
    border: none;
    margin: 0 0 24px;
}


#form_delivery .stripe-gate .row {
    margin: 0 0 8px;
    gap: 8px;
}
    
#form_delivery .payment-cards-row .box-radio .payment-title {
    font-weight: 500;
    font-size: 12px;
    font-style: normal;
    color: #171717;
    transition: color 0.16s;
}
#form_delivery .payment-cards-row .box-radio input[type="radio"]:checked ~ .payment-title {
    color: #FF8338;
}


#form_delivery .checkout-main .payment-fields {
    background: #fff;
    display: block;
    padding: 0;
}


.payment-cards-row .payment-item-radio {
    width: 100%;
}

.payment-cards-row .box-radio {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 48px;
    padding: 8px;
    border-radius: 8px;
    border: 0.5px solid #ADADAD;
    cursor: pointer;
    flex-shrink: 0;
    gap: 4px;
}

.payment-cards-row .box-radio input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    left: 0; top: 0; width: 100%; height: 100%; /* расширить кликабельную область */
    margin: 0;
}

.payment-cards-row .box-radio .check {
    display: none;
}

#form_delivery .payment-box .check+img {
    height: 100% !important;
}


.payment-cards-row .box-radio:has(input[type="radio"]:checked),
.payment-cards-row .box-radio input[type="radio"]:checked + .box-radio {
    border-color: #ff9443 !important;
    box-shadow: 0 0 0 2px #fff2e5;
}

/* Responsive — 2 в строку */
@media (max-width: 900px) {
    .payment-cards-row .payment-item {
        flex: 0 1 calc(50% - 12px);
        max-width: calc(50% - 12px);
    }
}
/* Responsive — 1 в строку */
@media (max-width: 600px) {
    .payment-cards-row .payment-item {
        flex: 1 0 100%;
        max-width: 100%;
    }
}

/* Если мало карточек — по центру */
.payment-cards-row {
    justify-content: space-between;
}
.payment-cards-row.few-cards {
    justify-content: center;
}




#form_delivery .stripe-gate .stripe-text-bottom {
    text-align: left;
    font-family: 'Gilroy', sans-serif;
    font-style: normal;
    font-weight: 300;
    color: #171717;
    margin: 16px 0;

}





#form_delivery .checkout-main .move-box {
    margin: 32px 0;
}

#form_delivery .checkout-main .move-box .btn-checkout {
	border-radius: 8px;
	font-weight: 700;
	font-size: 24px;
	margin: 0;
	max-width: 100%;
	transition: box-shadow 0.3s cubic-bezier(.44,.11,.49,.99),
            	outline 0.3s cubic-bezier(.68,-0.55,.27,1.55),
                outline-offset 0.3s cubic-bezier(.68,-0.55,.27,1.55);
	line-height: normal;
	box-sizing: border-box;
	height: 64px;
	display: flex;
    align-items: center;
    justify-content: center
}

.js-btn_complete_order:has(.onepage-wrap-btn-pay:hover) .btn-checkout {
    box-shadow:
        0 0 0 0 rgba(255,131,56,0.12),
        0 4px 32px 0 rgba(255,131,56,0.23),
        0 1.5px 12px 0 rgba(255,131,56,0.15);
    outline: 1px solid #ff8338;
    outline-offset: 1px;
}






#form_delivery .swipe-icon {
    margin-left: 8px;
    display: inline-flex;
    vertical-align: middle;
    animation: cart-arrow-smooth 2.4s cubic-bezier(.45,1.45,.38,1) infinite;
}

@keyframes cart-arrow-smooth {
    0%, 88%, 100% { transform: translateX(0); }
    12% { transform: translateX(13px);}
    26% { transform: translateX(0);}
}






#form_delivery .why_buy_box {
    margin-top: 0;
    margin: 56px 0 40px;
    border: none;
}

#form_delivery .why_buy_text {
    align-content: center;
}

#form_delivery .footer {
    border-top: none;
    padding: 24px 32px;
    text-align: center;
    height: 56px;
    left: unset;
    width: 100%;
}

#form_delivery .checkout-main .order .footer a {
    color: #171717;
    font-size: 12px;
    margin: 0 8px;
}






#form_delivery .checkout-upsells .checkout-title {
    margin: 0 0 8px;
}
    
.checkout-upsell-subtitle {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    color: #171717;
    flex-wrap: wrap;
}

.checkout-upsell-timer {
    background: #373737;
    color: #fff;
    border-radius: 16px;
    padding: 4px 8px;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.5px;
    display: block;
    transition: background 0.2s, color 0.2s;
    line-height: 1.1;
    text-align: center;
    user-select: none;
}
@keyframes owleys-blink-bg {
  0% {
    background: #373737;
    box-shadow: 0 0 0 0 #ff4a4a00, 0 0 12px 2px #ff4a4a66;
  }
  50% {
    background: #ff4a4a;
    box-shadow: 0 0 12px 2px #ff4a4a99, 0 0 18px 8px #ff4a4a33;
  }
  100% {
    background: #373737;
    box-shadow: 0 0 0 0 #ff4a4a00, 0 0 12px 2px #ff4a4a66;
  }
}
.checkout-upsell-timer.blinking {
    animation: owleys-blink-bg 1.1s ease-in-out infinite;
    color: #fff !important;
    transition: color 0.2s;
}


.checkout-upsell-products {
    display: flex;
    gap: 16px;
    margin: 16px 0 0 0;
    overflow-x: hidden;
}
.checkout-upsell-item {
    position: relative;
    background: #fff;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex: 1 1 0;
    min-width: 120px; 
}
.checkout-upsell-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 15px;
    margin-bottom: 10px;
}
.checkout-upsell-thumb img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 15px;
}
.checkout-upsell-badge {
    background: #FF8338;
    color: #fff;
    padding: 4px 8px 3px;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: end;
    pointer-events: none;
    border-radius: 12px;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    position: absolute;
    bottom: 8px;
    left: 8px;
    line-height: 1.05;
    white-space: nowrap;
}
.checkout-upsell-title {
    font-weight: 400;
    font-size: 14px;
    color: #222;
    margin-bottom: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-clamp: 2;
}

.checkout-upsell-price {
    font-size: 16px;
    font-weight: 700;
    color: #FF8338;
    text-align: left;
}
.checkout-upsell-oldprice {
    font-size: 14px;
    color: #B4B4B4;
    text-decoration: line-through;
    margin-left: 4px;
    font-weight: 400;
}
.checkout-upsell-add {
    margin-top: 8px;
    width: 100%;
    height: 32px;
    background: #FF8338;
    color: #fff;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    padding: 8px 0;
    cursor: pointer;
    transition: background 0.18s;
}


.checkout-upsell-add:hover {
    background: #e5722f;
} 
.checkout-upsell-add:disabled,
.checkout-upsell-add[disabled] {
    background: #eee !important;
    color: #aaa !important;
    cursor: not-allowed !important;
}
























#form_delivery #payment-request-button {
    margin: 0;
    height: 40px;
    border-radius: 8px;
    outline: none;
    transition:
        outline 0.22s cubic-bezier(.68,-0.55,.27,1.55),
        outline-offset 0.22s cubic-bezier(.68,-0.55,.27,1.55),
        box-shadow 0.22s cubic-bezier(.68,-0.55,.27,1.55);
}


#form_delivery #payment-request-button:hover {
	outline: 2px solid #ff8338;
	outline-offset: 1px;
	box-shadow: 0 0 0 2px #ff8338;
}
#form_delivery #payment-request-button:focus {
	outline: 2px solid #ff8338;
	outline-offset: 1px;
	box-shadow: 0 0 0 2px #ff8338;
}





@media (max-width: 1023px) {
    #form_delivery .trust-box {
        display: block;
    }
    #form_delivery .why_buy_box {
        display: block;
    }
    #form_delivery .checkout-main .order .footer {
        display: block;
    }
    .checkout-upsell-products {
	    overflow-x: scroll;
	    scroll-snap-type: x mandatory;
        padding: 0 0 24px;
	}
    #form_delivery .checkout-main .order-item .order-thumb .wrap-img {
        height: auto;
	}
}



/* Адаптив */
@media (max-width: 768px) {
    #form_delivery .trust-box h3 {
        padding: 0 33% 0 0;
    }
    #form_delivery .checkout-main .order .box-discount {
        border-top: none;
        padding: 0;
    }
    #form_delivery .opc_header {
        padding: 0;
    }
    #form_delivery .logo .wrap-img {
        align-items: normal;
        padding: 0;
        
    }

    #form_delivery .express-checkout,
    #form_delivery .checkout-upsells,
    #form_delivery .trust-box,
    #form_delivery .trust-box-mobile,
    #form_delivery .inner-step {
		padding: 24px;;
		margin: 32px 0;
	}
	
	#form_delivery .order {
	    padding: 24px;
	    margin: 32px 0;
	}

	
	#form_delivery .express-checkout-title {
		font-size: 1rem;
		margin-bottom: 16px;
	}
	#form_delivery .express-checkout-grid {
		gap: 12px 8px;
	}
	#form_delivery .express-checkout-btn {
		font-size: 0.97rem;
		height: 44px;
		padding: 0 12px;
	}

	#form_delivery .header-inner {
		flex-direction: row;
		gap: 0;
		padding: 16px 0 0;
	}
	#form_delivery .opc-title {
		font-size: 1.36rem;
	}

	#form_delivery .opc-breadcrumbs {
		padding: 0px 24px;
		font-size: 14px;
	}
	#form_delivery .opc-reserved {
		padding: 16px 0 0;
		font-size: 1rem;
	}
	#form_delivery .opc-reserved .hurry-plate {
	    text-align: center;
	}
	#form_delivery .opc-steps {
		padding: 16px 8px 0;
	}
	#form_delivery .opc-step-num {
		width: 24px;
		height: 24px;
		font-size: .97rem;
	}
	#form_delivery .opc-step {
		min-width: 56px;
		font-size: .92rem;
	}
	#form_delivery .opc-step-line {
        width: 160px;
		margin: 0 -24px;
	}
}
