/* 
 * Checkout CSS Rules for step/steps classes
 * Extracted from main-styles.min.css in order of connection
 */

/* Main checkout steps styles */
.checkout-steps {
	margin-bottom: 30px;
}

.checkout-steps .checkout-step {
	margin-bottom: 20px;
}

.checkout-steps .checkout-step.next {
	cursor: pointer;
}

.checkout-steps .checkout-step.next,
.checkout-steps .checkout-step.completed {
	cursor: pointer;
}

.checkout-steps .checkout-step:last-child {
	margin-bottom: 0;
}

.checkout-steps .checkout-step.active:not(.completed) {
	cursor: default;
}

.checkout-steps .checkout-step.active:not(.completed) .step-content {
	display: block;
}

.checkout-steps .checkout-step.active:not(.completed) .step-title {
	background-color: rgba(244, 188, 4, 0.1);
	border: 1px solid #F4BC04;
}

.checkout-steps .checkout-step.active:not(.completed) .step-title .num {
	background-color: #F4BC04;
	color: #FFFFFF;
}

.checkout-steps .checkout-step .step-title {
	border: 1px solid #F4BC04;
}

.checkout-steps .checkout-step .step-title .num {
	display: inline-block;
	vertical-align: middle;
	font-style: normal;
	font-size: 22px;
	font-weight: bold;
	line-height: 110px;
	height: 110px;
	width: 60px;
	text-align: center;
	color: #F4BC04;
	border-right: 1px solid #F4BC04;
}

.checkout-steps .checkout-step.completed {
	cursor: default;
}

.checkout-steps .checkout-step.completed .step-title .num {
	text-indent: -999999px;
	position: relative;
	background: url(images/checkout-step-completed.png) 50% 50% no-repeat;
}

.checkout-steps .checkout-step .txt {
	display: inline-block;
	vertical-align: middle;
	padding-left: 15px;
}

.checkout-steps .checkout-step .step-title .txt > span:first-of-type {
	color: #333333;
	font-size: 18px;
	font-weight: bold;
	line-height: 22px;
	display: block;
	margin-bottom: 6px;
}

.checkout-steps .checkout-step .step-title .txt > span:last-of-type {
	color: #4A4845;
	font-size: 12px;
	line-height: 16px;
	display: block;
}

.checkout-steps .checkout-step .step-title .txt > span a {
	display: none;
	margin-left: 4px;
	font-weight: normal;
	color: #4A90E2;
	font-size: 16px;
	line-height: 20px;
	text-decoration: none;
}

.checkout-steps .checkout-step .step-title .txt > span a {
	text-decoration: underline;
}

.checkout-steps .checkout-step.completed .step-title .txt > span a {
	display: inline-block;
	vertical-align: middle;
}

.checkout-steps .checkout-step .description,
.checkout-steps .checkout-step .description span,
.checkout-steps .checkout-step .description a {
	color: #363431;
	font-size: 12px!important;
	line-height: 16px!important;
}

.checkout-steps .checkout-step .description span {
	display: block;
}

.checkout-steps .checkout-step .step-content {
	padding-left: 80px;
	padding-top: 15px;
	display: none;
}
.checkout-steps .checkout-step .step-content .address_additional {
	padding-left: 120px;
	padding-top: 15px;
}

.woocommerce .checkout-steps ul#shipping_method li,
.woocommerce .checkout-steps ul#payment li {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	margin-bottom: 12px!important;
	display: block;
}

.woocommerce .checkout-steps #shipping_method li > label,
.woocommerce .checkout-steps #payment li > label {
/* 	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important; */
	display: block;
}

.checkout-steps #shipping_method li > input,
.checkout-steps #payment li > input {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
}

/* .checkout-steps #shipping_method li > input:checked + label,
.checkout-steps #payment li > input:checked + label {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
} */

.checkout-steps #shipping_method li .title {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
}

.checkout-steps #payment li label >span{
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
}

.checkout-steps #payment li label > span span {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
}

.checkout-steps #payment li label > span span:last-child{
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
}

.checkout-steps #shipping_method li .title > span:first-of-type {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
}

.checkout-steps #shipping_method li .title > span:last-of-type {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
}

.checkout-steps #shipping_method li .time {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
}

.checkout-steps #shipping_method li .price {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
}

.checkout-steps #shipping_method li .price span {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
}

/* .checkout-steps #payment li label {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
} */

.checkout-steps #payment li img {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
}

.checkout-steps .payment_methods {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
}

/* Responsive styles for checkout steps */
@media (max-width: 980px) {
	.checkout-steps .checkout-step .step-content {
		padding-left: 0;
	}
	
	.checkout-steps .checkout-step .step-title .num {
		max-width: 60px;
		width: 20%;
	}
	
	.checkout-steps .checkout-step .txt {
		width: 70%;
	}
	
	.checkout-steps #shipping_method li > label{
		height: 55px;
		text-align: right;
	}
	
	.checkout-steps #payment li > label {
		height: 55px;
		text-align: left;
	}
	
	.checkout-steps #shipping_method li .title {
		text-align: left;
	}
	
	.checkout-steps #shipping_method li .time,
	.checkout-steps #shipping_method li .price{
		float: none;
		width: auto;
	}
	
	.checkout-steps #shipping_method li .price {
		margin-top: 5px;
	}
}

@media (max-width: 380px) {
	.checkout-steps #shipping_method li > label{
		height: auto;
		text-align: left;
	}
}

/* Additional checkout step styles */
.checkout-step .city-select {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
}

.checkout-step .city-select a {
	margin: 0!important;
	padding: 0!important;
	text-indent: 0!important;
	display: block;
}

/* Checkout steps label styles */
.checkout-steps label,
.checkout-steps input,
.checkout-steps select,
.checkout-steps textarea {
	margin: 0!important;
	/* padding: 0!important; */
	text-indent: 0!important;
	display: block;
} 

.checkout-steps #shipping_method li label {
	padding-left: 15px;
}

/* Стили для кнопки открытия ПВЗ при выборе СДЭК */
.checkout-steps #shipping_method li.selected_item input[value^="official_cdek"] ~ .open-pvz-btn,
.checkout-steps #shipping_method li.selected_item input[value^="official_cdek"] + label + .open-pvz-btn {
	background-color: #F4BC04 !important;
	border: 1px solid #F4BC04 !important;
	color: #000 !important;
	font-family: 'Helvetica', sans-serif !important;
	font-size: 16px !important;
	font-weight: bold !important;
	line-height: 1.25 !important;
	padding: 12px 24px !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	display: inline-block !important;
	text-align: center !important;
	text-decoration: none !important;
	transition: all 0.3s ease !important;
	margin-top: 10px !important;
	width: auto !important;
	min-width: 200px !important;
}

.checkout-steps #shipping_method li.selected_item input[value^="official_cdek"] ~ .open-pvz-btn:hover,
.checkout-steps #shipping_method li.selected_item input[value^="official_cdek"] + label + .open-pvz-btn:hover {
	background-color: #e6a800 !important;
	border-color: #e6a800 !important;
	color: #FFFFFF !important;
	text-decoration: none !important;
}

.checkout-steps #shipping_method li.selected_item input[value^="official_cdek"] ~ .open-pvz-btn:focus,
.checkout-steps #shipping_method li.selected_item input[value^="official_cdek"] + label + .open-pvz-btn:focus {
	outline: none !important;
	box-shadow: 0 0 0 2px rgba(244, 188, 4, 0.3) !important;
}

.checkout-steps #shipping_method li.selected_item input[value^="official_cdek"] ~ .open-pvz-btn:active,
.checkout-steps #shipping_method li.selected_item input[value^="official_cdek"] + label + .open-pvz-btn:active {
	background-color: #d4a000 !important;
	border-color: #d4a000 !important;
	transform: translateY(1px) !important;
}

/* Скрываем кнопку для других методов доставки */
.checkout-steps #shipping_method li:not(.selected_item) .open-pvz-btn,
.checkout-steps #shipping_method li.selected_item input:not([value^="official_cdek"]) ~ .open-pvz-btn {
	display: none !important;
} 

/* Начальное состояние элементов в step-title */
.checkout-steps .checkout-step .step-title .txt a[href="#"] {
	display: none !important;
}

.checkout-steps .checkout-step .step-title .txt .description {
	display: block !important;
}

/* Состояние когда поля заполнены */
.checkout-steps .checkout-step.shipping-fields-filled .step-title .txt a[href="#"] {
	display: inline !important;
}

.checkout-steps .checkout-step.shipping-fields-filled .step-title .txt .description {
	display: block !important;
}

/* Скрываем step-content только когда блок не активен */
.checkout-steps .checkout-step:not(.active) .step-content {
	display: none !important;
} 

/* Стили для delivery-step */
.checkout-steps .checkout-step.delivery-step .step-title .txt a[href="#"] {
	display: none !important;
}

.checkout-steps .checkout-step.delivery-step .step-title .txt .description {
	display: block !important;
}

/* Состояние когда метод доставки выбран */
.checkout-steps .checkout-step.delivery-method-selected .step-title .txt a[href="#"] {
	display: inline !important;
}

.checkout-steps .checkout-step.delivery-method-selected .step-title .txt .description {
	display: block !important;
}

 

/* Стили для payment-step */
.checkout-steps .checkout-step.payment-step .step-title .txt a[href="#"] {
	display: none !important;
}

.checkout-steps .checkout-step.payment-step .step-title .txt .description {
	display: block !important;
}

/* Состояние когда метод оплаты выбран */
.checkout-steps .checkout-step.payment-method-selected .step-title .txt a[href="#"] {
	display: inline !important;
}

.checkout-steps .checkout-step.payment-method-selected .step-title .txt .description {
	display: block !important;
}

 

/* Стили для billing-step */
.checkout-steps .checkout-step.billing-step .step-title .txt a[href="#"] {
	display: none !important;
}

.checkout-steps .checkout-step.billing-step .step-title .txt .description {
	display: block !important;
}

/* Состояние когда поля контактных данных заполнены */
.checkout-steps .checkout-step.billing-fields-filled .step-title .txt a[href="#"] {
	display: inline !important;
}

.checkout-steps .checkout-step.billing-fields-filled .step-title .txt .description {
	display: block !important;
}



/* Стили для компактного расположения дополнительных полей адреса */
.address-fields-row {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: flex-start;
}

.address-fields-row .form-row {
	flex: 1;
	/* min-width: 200px; */
}

/* Адаптивность для мобильных устройств */
@media (max-width: 768px) {
	.address-fields-row {
		flex-direction: column;
		gap: 15px;
	}
	
	.address-fields-row .form-row {
		min-width: auto;
	}
} 

/* Стили для неактивных блоков checkout-step */
.checkout-steps .checkout-step:not(.active):not(.next):not(.completed) {
	cursor: not-allowed;
	opacity: 0.5;
	pointer-events: none;
}

/* Стили для блоков с классом .next */
/* .checkout-steps .checkout-step.next .step-title {
	background-color: rgba(244, 188, 4, 0.1);
	border: 1px solid #F4BC04;
} */

/* .checkout-steps .checkout-step.next .step-title .num {
	background-color: #F4BC04;
	color: #FFFFFF;
} */

.checkout-steps .checkout-step.next .step-title .txt > span:first-of-type {
	color: #333333;
}

.checkout-steps .checkout-step.next .step-title .txt > span:last-of-type {
	color: #4A4845;
} 

/* Стили для трехколоночной верстки методов доставки */
.shipping-method-layout {
  display: flex;
  width: 100%;
  align-items: center;
}

.shipping-method-name {
  flex: 0 0 60%;
  padding-right: 10px;
}

.shipping-method-time {
  flex: 0 0 20%;
  text-align: center;
  padding-right: 10px;
}

.shipping-method-cost {
  flex: 0 0 20%;
  text-align: right;
} 

/* Скрытие поля индекса для курьерских методов доставки */
.hidden-postcode {
  display: none !important;
}

/* Стили для адреса самовывоза */
.shipping-method-pickup-address {
  font-family: Helvetica;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0px;
  background: #9B9B9B;
  color: #FFFFFF;
  padding: 4px 8px;
  margin-top: 8px;
  border-radius: 4px;
  display: inline-block;
} 