.ky-checkout-section{
	background:#0B0B0B;
	padding:0 0 100px;
}

/* Banner de topo */

.ky-checkout-banner{
	position:relative;
	height:200px;
	overflow:hidden;
	margin-bottom:40px;
}

.ky-checkout-banner img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.ky-checkout-banner-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(11,11,11,.92) 20%,rgba(91,16,34,.5) 70%);
}

.ky-checkout-banner-content{
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	padding:0 4%;
}

.ky-checkout-banner-content h1{
	color:#fff;
	font-size:34px;
	margin:0;
}

/* Indicador de progresso */

.ky-checkout-steps{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:0;
	max-width:600px;
	margin:0 auto 50px;
	padding:0 4%;
}

.ky-step{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:8px;
	position:relative;
	flex:1;
}

.ky-step-circle{
	width:44px;
	height:44px;
	border-radius:50%;
	background:#141414;
	border:2px solid rgba(200,164,91,.3);
	color:#8a8378;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:18px;
	font-weight:700;
	transition:.3s;
}

.ky-step-label{
	font-size:12px;
	text-transform:uppercase;
	letter-spacing:.5px;
	color:#8a8378;
	transition:.3s;
}

.ky-step.done .ky-step-circle{
	background:#5C1022;
	border-color:#5C1022;
	color:#fff;
}

.ky-step.active .ky-step-circle{
	background:#C8A45B;
	border-color:#C8A45B;
	color:#111;
}

.ky-step.done .ky-step-label,
.ky-step.active .ky-step-label{
	color:#C8A45B;
	font-weight:600;
}

.ky-step-line{
	position:absolute;
	top:22px;
	left:50%;
	width:100%;
	height:2px;
	background:rgba(200,164,91,.2);
	z-index:-1;
}

.ky-step.done .ky-step-line{
	background:#5C1022;
}

.ky-step:last-child .ky-step-line{
	display:none;
}

/* Layout */

.ky-checkout-layout{
	max-width:1400px;
	margin:0 auto;
	padding:0 4%;
	display:grid;
	grid-template-columns:1fr 380px;
	gap:40px;
	align-items:start;
}

/* Formulário */

.ky-checkout-form-box{
	background:#141414;
	border:1px solid rgba(200,164,91,.12);
	border-radius:14px;
	padding:34px;
}

.ky-checkout-form-box h2{
	font-size:20px;
	color:#fff;
	margin:0 0 6px;
}

.ky-checkout-form-box .ky-section-sub{
	color:#8a8378;
	font-size:13px;
	margin:0 0 26px;
}

.ky-form-group-title{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:13px;
	text-transform:uppercase;
	letter-spacing:1px;
	color:#C8A45B;
	margin:26px 0 16px;
}

.ky-form-group-title:first-of-type{
	margin-top:0;
}

.ky-checkout-form-box .form-row{
	margin-bottom:16px;
}

.ky-checkout-form-box label{
	display:block;
	font-size:13px;
	color:#c9c2ba;
	margin-bottom:6px;
}

.ky-checkout-form-box input[type="text"],
.ky-checkout-form-box input[type="email"],
.ky-checkout-form-box input[type="tel"],
.ky-checkout-form-box select,
.ky-checkout-form-box textarea{
	width:100%;
	padding:14px 16px;
	border:1px solid rgba(200,164,91,.2);
	border-radius:8px;
	font-size:14px;
	background:#0B0B0B;
	color:#f0ece6;
}

.ky-checkout-form-box input:focus,
.ky-checkout-form-box select:focus{
	outline:none;
	border-color:#C8A45B;
}

.ky-checkout-form-box ::placeholder{
	color:#5c574f;
}

.ky-step-panel{
	display:none;
}

.ky-step-panel.visible{
	display:block;
}

.ky-checkout-nav-btn{
	width:100%;
	background:#C8A45B;
	color:#111;
	border:none;
	padding:16px;
	border-radius:8px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.5px;
	font-size:14px;
	cursor:pointer;
	margin-top:20px;
	transition:.3s;
}

.ky-checkout-nav-btn:hover{
	background:#e0be7c;
}

.ky-checkout-back-btn{
	display:inline-block;
	color:#8a8378;
	text-decoration:none;
	font-size:13px;
	margin-top:16px;
}

.ky-checkout-back-btn:hover{
	color:#C8A45B;
}

.ky-checkout-privacy-box{
	display:flex;
	gap:12px;
	background:rgba(200,164,91,.06);
	border:1px solid rgba(200,164,91,.15);
	border-radius:10px;
	padding:16px;
	margin-top:24px;
	font-size:13px;
	color:#a8a099;
	line-height:1.6;
}

.ky-checkout-privacy-box strong{
	color:#C8A45B;
	display:block;
	margin-bottom:4px;
}

/* Resumo do pedido */

.ky-checkout-summary{
	background:#141414;
	border:1px solid rgba(200,164,91,.12);
	border-radius:14px;
	padding:28px;
	position:sticky;
	top:20px;
}

.ky-checkout-summary h3{
	color:#fff;
	font-size:16px;
	text-transform:uppercase;
	letter-spacing:.5px;
	margin:0 0 20px;
}

.ky-checkout-summary-item{
	display:flex;
	gap:12px;
	padding:12px 0;
	border-bottom:1px solid rgba(200,164,91,.1);
	align-items:center;
}

.ky-checkout-summary-item img{
	width:48px;
	height:48px;
	object-fit:cover;
	border-radius:8px;
	flex-shrink:0;
}

.ky-checkout-summary-item-info{
	flex:1;
}

.ky-checkout-summary-item-name{
	font-size:13px;
	color:#f0ece6;
	margin:0 0 8px;
}

.ky-qty-control{
	display:flex;
	align-items:center;
	gap:10px;
}

.ky-qty-btn{
	width:22px;
	height:22px;
	border-radius:6px;
	border:1px solid rgba(200,164,91,.3);
	background:transparent;
	color:#C8A45B;
	font-size:14px;
	line-height:1;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:.3s;
}

.ky-qty-btn:hover{
	background:#C8A45B;
	color:#111;
}

.ky-qty-value{
	font-size:13px;
	color:#e6e0d8;
	min-width:14px;
	text-align:center;
}

.ky-checkout-summary-item-right{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:8px;
}

.ky-checkout-summary-item-price{
	font-size:13px;
	color:#C8A45B;
	font-weight:600;
	white-space:nowrap;
}

.ky-remove-item-btn{
	background:none;
	border:none;
	color:#8a6a6a;
	cursor:pointer;
	display:flex;
	transition:.3s;
}

.ky-remove-item-btn:hover{
	color:#C8A45B;
}

.ky-checkout-totals{
	margin-top:16px;
	padding-top:16px;
}

.ky-checkout-totals-row{
	display:flex;
	justify-content:space-between;
	font-size:13px;
	color:#a8a099;
	margin-bottom:10px;
}

.ky-checkout-totals-total{
	display:flex;
	justify-content:space-between;
	font-size:19px;
	font-weight:700;
	color:#fff;
	padding-top:14px;
	border-top:1px solid rgba(200,164,91,.15);
	margin-top:6px;
}

.ky-checkout-totals-total span:last-child{
	color:#C8A45B;
}

.ky-trust-list{
	margin-top:24px;
	padding-top:24px;
	border-top:1px solid rgba(200,164,91,.12);
	display:flex;
	flex-direction:column;
	gap:16px;
}

.ky-trust-item{
	display:flex;
	gap:12px;
	align-items:flex-start;
}

.ky-trust-item-icon{
	color:#C8A45B;
	font-size:18px;
	flex-shrink:0;
}

.ky-trust-item strong{
	display:block;
	font-size:13px;
	color:#f0ece6;
	margin-bottom:2px;
}

.ky-trust-item span{
	font-size:12px;
	color:#8a8378;
}

/* Pagamento */

.ky-payment-methods label{
	display:flex;
	align-items:center;
	gap:10px;
	background:#0B0B0B;
	border:1px solid rgba(200,164,91,.2);
	border-radius:8px;
	padding:14px 16px;
	margin-bottom:12px;
	color:#e6e0d8;
	font-size:14px;
	cursor:pointer;
}

.ky-coupon-box button.button{
	background:#C8A45B !important;
	color:#111 !important;
	border:none !important;
	padding:12px 18px !important;
	border-radius:8px !important;
	font-size:12px !important;
	font-weight:700 !important;
	text-transform:uppercase;
	letter-spacing:.5px;
	cursor:pointer;
	transition:.3s;
	white-space:nowrap;
}

.ky-coupon-box button.button:hover{
	background:#e0be7c !important;
}

.ky-coupon-box .woocommerce-form-coupon-toggle,
.ky-coupon-box p.woocommerce-form-coupon-toggle,
.ky-coupon-box .woocommerce-notices-wrapper{
	display:none !important;
}

.ky-coupon-box .checkout_coupon{
	display:flex;
	gap:8px;
	align-items:stretch;
}

.ky-coupon-box .form-row{
	flex:1;
	margin:0;
}

.ky-coupon-box input[type="text"]{
	width:100%;
	padding:12px 14px;
	border:1px solid rgba(200,164,91,.2);
	border-radius:8px;
	background:#0B0B0B;
	color:#f0ece6;
	font-size:13px;
}

@media(max-width:900px){
	.ky-checkout-layout{
		grid-template-columns:1fr;
	}
	.ky-checkout-summary{
		position:static;
	}
}

.ky-order-review-wrap .wc_payment_methods{
	list-style:none;
	padding:0;
	margin:0 0 20px;
}
.ky-order-review-wrap .wc_payment_methods li{
	background:#141414;
	border:1px solid #2a2a2a;
	border-radius:8px;
	padding:14px 16px;
	margin-bottom:10px;
}
.ky-order-review-wrap .wc_payment_methods li label{
	color:#F7F7F7;
	font-size:14px;
	font-weight:600;
	cursor:pointer;
}
.ky-order-review-wrap .payment_box{
	background:#0B0B0B;
	border-radius:8px;
	padding:14px;
	margin-top:12px;
	color:#C9C9C9;
	font-size:13px;
}
.ky-order-review-wrap .woocommerce-terms-and-conditions-wrapper{
	margin:16px 0;
	color:#C9C9C9;
	font-size:13px;
}
.ky-order-review-wrap #place_order{
	width:100%;
	background:#C8A45B;
	color:#111;
	border:none;
	padding:16px;
	border-radius:8px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.5px;
	font-size:14px;
	cursor:pointer;
	margin-top:10px;
}
.ky-order-review-wrap #place_order:hover{
	background:#e0be7c;
}

.ky-order-review-wrap table.shop_table{
	width:100%;
	border-collapse:collapse;
	margin-bottom:20px;
}
.ky-order-review-wrap table.shop_table th,
.ky-order-review-wrap table.shop_table td{
	color:#F7F7F7;
	padding:12px 0;
	border-bottom:1px solid #2a2a2a;
	text-align:left;
}
.ky-order-review-wrap table.shop_table th{
	color:#C8A45B;
	font-size:12px;
	text-transform:uppercase;
	letter-spacing:1px;
	font-weight:600;
}
.ky-order-review-wrap table.shop_table .product-name{
	color:#F7F7F7;
}
.ky-order-review-wrap table.shop_table .product-total{
	color:#F7F7F7;
	text-align:right;
}
.ky-order-review-wrap table.shop_table del{
	color:#6b665e;
}
.ky-order-review-wrap table.shop_table ins{
	color:#C8A45B;
	text-decoration:none;
}
.ky-order-review-wrap table.shop_table .variation{
	margin:4px 0 0;
	font-size:12px;
	color:#999;
}
.ky-order-review-wrap table.shop_table .variation p{
	margin:2px 0;
}
.ky-order-review-wrap table.shop_table .variation strong{
	color:#C8A45B;
	font-weight:600;
}
.ky-order-review-wrap table.shop_table tfoot th,
.ky-order-review-wrap table.shop_table tfoot td{
	border-bottom:none;
}
.ky-order-review-wrap table.shop_table tfoot tr:last-child th,
.ky-order-review-wrap table.shop_table tfoot tr:last-child td{
	color:#C8A45B;
	font-size:17px;
	font-weight:700;
	border-top:1px solid #2a2a2a;
	padding-top:16px;
}

.ky-quick-cep-box{
	background:#141414;
	border:1px solid #2a2a2a;
	border-radius:8px;
	padding:14px 16px;
	margin-bottom:16px;
}
.ky-quick-cep-box label{
	display:block;
	color:#C8A45B;
	font-size:12px;
	text-transform:uppercase;
	letter-spacing:1px;
	font-weight:600;
	margin-bottom:8px;
}
.ky-quick-cep-row{
	display:flex;
	gap:8px;
}
.ky-quick-cep-row input{
	flex:1;
	padding:10px 12px;
	background:#0B0B0B;
	border:1px solid #2a2a2a;
	border-radius:6px;
	color:#F7F7F7;
	font-size:13px;
}
.ky-quick-cep-row button{
	background:#C8A45B;
	color:#111;
	border:none;
	padding:10px 16px;
	border-radius:6px;
	font-weight:700;
	font-size:12px;
	text-transform:uppercase;
	cursor:pointer;
	white-space:nowrap;
}
.ky-quick-cep-row button:hover{
	background:#e0be7c;
}

#ky-shipping-methods-slot .woocommerce-shipping-methods{
	list-style:none;
	padding:0;
	margin:12px 0 0;
}
#ky-shipping-methods-slot .woocommerce-shipping-methods li{
	display:flex;
	align-items:center;
	gap:8px;
	padding:8px 0;
	font-size:13px;
	color:#F7F7F7;
}
#ky-shipping-methods-slot .woocommerce-shipping-methods li label{
	cursor:pointer;
}