/* Kiki Checkout layout — matches the client screenshot */

.kiki-checkout-page .kc-option-stack {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 0 0 28px;
}

.kiki-checkout-page .kc-card-box {
	background: #fff;
	border: 1px solid #e6e4df;
	border-radius: 14px;
	padding: 22px 24px 24px;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

.kiki-checkout-page .kc-card-title {
	margin: 0 0 8px;
	font-size: 22px;
	line-height: 1.25;
	font-weight: 700;
	color: #1a1a1a;
	letter-spacing: -0.02em;
}

.kiki-checkout-page .kc-card-title .required {
	color: #b42318;
	font-weight: 700;
}

.kiki-checkout-page .kc-card-help {
	margin: 0 0 14px;
	color: #667085;
	font-size: 14px;
	line-height: 1.45;
}

.kiki-checkout-page .kc-card-note {
	margin: 12px 0 0;
	color: #667085;
	font-size: 13px;
	line-height: 1.45;
}

.kiki-checkout-page .kc-card-note-error {
	color: #b42318;
}

.kiki-checkout-page .kc-radio.is-disabled {
	opacity: 0.55;
}

.kiki-checkout-page .kc-fulfill-details {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #eeebe6;
}

.kiki-checkout-page .kc-terms {
	margin: 0 0 14px;
	padding-left: 18px;
	color: #344054;
	font-size: 13px;
	line-height: 1.5;
}

.kiki-checkout-page .kc-terms li + li {
	margin-top: 6px;
}

.kiki-checkout-page .kc-date {
	width: 100%;
	max-width: 280px;
	height: 46px;
	border: 1px solid #d0d5dd;
	border-radius: 10px;
	padding: 0 14px;
	background: #fff;
	color: #344054;
	font-size: 15px;
}

.kiki-checkout-page .kc-date-help {
	margin: 8px 0 0;
	color: #667085;
	font-size: 13px;
	line-height: 1.45;
}

.kiki-checkout-page .kc-zone-notice {
	margin: 14px 0 0;
	padding: 10px 12px;
	border-radius: 10px;
	background: #f8f7f4;
	color: #344054;
	font-size: 13px;
	line-height: 1.45;
}

.kiki-checkout-page .kc-zone-notice.is-ok {
	background: #ecfdf3;
	color: #027a48;
}

.kiki-checkout-page .kc-zone-notice.is-warn {
	background: #fffaeb;
	color: #b54708;
}

.kiki-checkout-page .kc-zone-notice.is-error {
	background: #fef3f2;
	color: #b42318;
}

.kiki-checkout-page .kc-select,
.kiki-checkout-page select.kc-select {
	width: 100%;
	max-width: 100%;
	height: 46px;
	border: 1px solid #d0d5dd;
	border-radius: 10px;
	padding: 0 14px;
	background: #fff;
	color: #344054;
	font-size: 15px;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23667085' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}

.kiki-checkout-page .kc-mod-details {
	margin-top: 14px;
}

.kiki-checkout-page .kc-mod-charge {
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.45;
	color: #1a1a1a;
}

.kiki-checkout-page .kc-mod-charge-price {
	font-weight: 700;
	white-space: nowrap;
}

.kiki-checkout-page .kc-mod-followup th {
	padding: 4px 0 12px !important;
	font-weight: 400 !important;
	font-size: 13px;
	line-height: 1.4;
	color: #667085;
	font-style: italic;
	text-align: left;
}

.kiki-checkout-page .kc-sub-label {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
}

.kiki-checkout-page .kc-radios {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.kiki-checkout-page .kc-radio {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	color: #1a1a1a;
	margin: 0;
	font-weight: 500;
}

.kiki-checkout-page .kc-radio input {
	width: 16px;
	height: 16px;
	accent-color: #0a2647;
}

/* Right-side order review */
.kiki-checkout-page.cartflows_step-template .wcf-embed-checkout-form #order_review,
.kiki-checkout-page .woocommerce-checkout-review-order {
	background: transparent;
}

.kiki-checkout-page #order_review_heading {
	display: none;
}

.kiki-checkout-page .woocommerce-checkout-review-order-table,
.kiki-checkout-page .instant-checkout-order-review-table {
	border: 0;
}

.kiki-checkout-page .woocommerce-checkout-review-order-table th,
.kiki-checkout-page .woocommerce-checkout-review-order-table td {
	border: 0;
	padding: 12px 0;
	background: transparent;
}

.kiki-checkout-page .woocommerce-checkout-review-order-table thead {
	display: none;
}

.kiki-checkout-page .cart_item {
	vertical-align: top;
}

.kiki-checkout-page .cart_item .product-total{
	vertical-align: top;
}

.kiki-checkout-page .cart_item .woocommerce-Price-amount.amount{
	margin-top: 20px;
	display: inline-block;
}

.kiki-checkout-page .kc-line-item,
.kiki-checkout-page .wcf-product-image {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.kiki-checkout-page .kc-line-thumb,
.kiki-checkout-page .wcf-product-thumbnail {
	position: relative;
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
}

.kiki-checkout-page .kc-line-thumb img,
.kiki-checkout-page .wcf-product-thumbnail img,
.kiki-checkout-page .kc-line-img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid #e6e4df;
	background: #fff;
}

.kiki-checkout-page .kc-line-qty {
	position: absolute;
	top: -8px;
	left: -8px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 999px;
	background: #0a2647;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.kiki-checkout-page .product-name .variation {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 8px;
	row-gap: 2px;
	margin: 6px 0 0;
	font-size: 13px;
	color: #667085;
}

.kiki-checkout-page .product-name .variation dt {
	font-weight: 600;
	margin: 0;
	float: none;
}

.kiki-checkout-page .product-name .variation dd {
	margin: 0;
	float: none;
}

.kiki-checkout-page .product-total {
	text-align: right;
	white-space: nowrap;
	font-weight: 600;
	color: #1a1a1a;
}

.kiki-checkout-page .wcf-custom-coupon-field,
.kiki-checkout-page tr.coupon-field td {
	display: flex;
	gap: 8px;
	align-items: stretch;
}

.kiki-checkout-page .wcf-coupon-col-1,
.kiki-checkout-page .wcf-coupon-col-2 {
	margin: 0;
}

.kiki-checkout-page .wcf-coupon-col-1 {
	flex: 1;
}

.kiki-checkout-page .wcf-custom-coupon-field input[type="text"],
.kiki-checkout-page #order_review_coupon_code {
	height: 46px;
	border-radius: 8px;
	border: 1px solid #d0d5dd;
	width: 100%;
}

.kiki-checkout-page .wcf-submit-coupon,
.kiki-checkout-page .wcf-custom-coupon-field button {
	height: 46px;
	min-width: 88px;
	background: #0a2647 !important;
	border-color: #0a2647 !important;
	color: #fff !important;
	border-radius: 8px !important;
	font-weight: 600;
}

.kiki-checkout-page .cart-subtotal th,
.kiki-checkout-page .order-total th,
.kiki-checkout-page .fee th {
	font-weight: 500;
	color: #667085;
}

.kiki-checkout-page .order-total th,
.kiki-checkout-page .order-total td {
	font-weight: 700;
	color: #1a1a1a;
	font-size: 16px;
}

.kiki-checkout-page .kc-line-charges,
.kiki-cart-page .kc-line-charges {
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
}

.kiki-checkout-page .kc-line-charges li,
.kiki-cart-page .kc-line-charges li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	font-size: 13px;
	line-height: 1.4;
	color: #667085;
	font-weight: 500;
}

.kiki-checkout-page .kc-line-charge-amount,
.kiki-cart-page .kc-line-charge-amount {
	white-space: nowrap;
	color: #1a1a1a;
}

.kiki-cart-page .variation dt,
.kiki-cart-page .variation dd {
	font-size: 13px;
	margin: 0;
}

@media (max-width: 921px) {
	.kiki-checkout-page .kc-option-stack {
		margin-bottom: 18px;
	}
}
