/* House of Miskah checkout styles (1.2.0). Loaded after style.css.
   Cart, checkout, order received and the mini-cart drawer. */

:root {
	--miskah-co-card: #FFFAF3;
	--miskah-co-error: #A8261D; /* 6.9:1 on the card colour */
}

/* ---------- Shared: one calm column, cards, visible focus ---------- */
.woocommerce-cart .entry-content > .woocommerce,
.woocommerce-checkout .entry-content > .woocommerce {
	max-width: 1040px;
	margin-inline: auto;
}
.woocommerce-cart .woocommerce a:focus-visible,
.woocommerce-cart .woocommerce button:focus-visible,
.woocommerce-checkout .woocommerce a:focus-visible,
.woocommerce-checkout .woocommerce button:focus-visible,
.woocommerce-order-received a:focus-visible,
.wc-block-mini-cart__drawer a:focus-visible,
.wc-block-mini-cart__drawer button:focus-visible {
	outline: 2px solid var(--wp--preset--color--sage-deep);
	outline-offset: 2px;
}

/* ---------- Checkout ---------- */
.miskah-co-head { margin: 0 0 1.25rem; }
.miskah-co-head__title {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 400;
	font-size: clamp(1.75rem, 6vw, 2.25rem);
	line-height: 1.15;
	margin: 0 0 0.35rem;
}
.miskah-co-head__sub { margin: 0; color: var(--wp--preset--color--muted); font-size: 0.9375rem; }

.woocommerce-checkout form.checkout #customer_details,
.woocommerce-checkout form.checkout #order_review {
	background: var(--miskah-co-card);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--miskah-radius, 14px);
	padding: 1.25rem 1rem;
	box-sizing: border-box;
}
.woocommerce-checkout form.checkout #customer_details .col-2:empty,
.woocommerce-checkout form.checkout #customer_details .col-2 .woocommerce-shipping-fields:empty { display: none; }
.woocommerce-checkout form.checkout .col2-set .col-1,
.woocommerce-checkout form.checkout .col2-set .col-2 { float: none; width: 100%; }
.woocommerce-checkout form.checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 400;
	font-size: 1.375rem;
	margin: 0 0 1rem;
}
.woocommerce-checkout #order_review_heading { margin: 1.5rem 0 0.75rem; }
.woocommerce-checkout form .form-row:last-child { margin-bottom: 0; }
.woocommerce-checkout form .form-row label .required { color: var(--miskah-co-error); text-decoration: none; }

/* Errors: red border plus the message right under the field. */
.woocommerce-checkout form .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout form .form-row.woocommerce-invalid select,
.woocommerce-checkout form .form-row.woocommerce-invalid .select2-selection { border-color: var(--miskah-co-error) !important; border-width: 2px; }
.woocommerce-checkout form .form-row.woocommerce-invalid label { color: var(--miskah-co-error); }
.woocommerce-checkout .checkout-inline-error-message {
	color: var(--miskah-co-error);
	font-size: 0.875rem;
	margin: 0.35rem 0 0;
}
.woocommerce-checkout form .form-row.woocommerce-validated .input-text { border-color: var(--wp--preset--color--sage-deep) !important; }
.woocommerce-checkout .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woocommerce-checkout .woocommerce-NoticeGroup ul.woocommerce-error { margin: 0 0 1rem; }

/* Order summary: compact rows, no column headings. */
.woocommerce-checkout-review-order-table { border: 0 !important; margin: 0 0 1rem !important; width: 100%; border-collapse: collapse; }
.woocommerce-checkout-review-order-table thead { display: none; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 0.55rem 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--wp--preset--color--line) !important;
	background: none !important;
	vertical-align: top;
	font-weight: 400;
}
.woocommerce-checkout-review-order-table tbody tr:first-child td { border-top: 0 !important; }
.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table tfoot td { text-align: right; white-space: nowrap; }
.woocommerce-checkout-review-order-table .product-quantity { font-weight: 600; color: var(--wp--preset--color--muted); }
.woocommerce-checkout-review-order-table tfoot th { text-align: left; }
.woocommerce-checkout-review-order-table #shipping_method { list-style: none; margin: 0; padding: 0; }
.woocommerce-checkout-review-order-table #shipping_method li { margin: 0; }
.woocommerce-checkout-review-order-table .miskah-co-shipnote td {
	border-top: 0 !important;
	padding-top: 0 !important;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--muted);
	text-align: left !important;
	white-space: normal;
}
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
	border-top: 2px solid var(--wp--preset--color--ink) !important;
	padding-top: 0.75rem !important;
	font-size: 1.125rem;
}
.woocommerce-checkout-review-order-table .order-total .amount {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 400;
	font-size: 1.375rem;
}

/* Payment: one method, so show it as a quiet note rather than a big grey box. */
.woocommerce-checkout #payment {
	background: none !important;
	border-radius: 0;
}
.woocommerce-checkout #payment ul.payment_methods {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 0.75rem;
}
.woocommerce-checkout #payment ul.payment_methods li { list-style: none; margin: 0; }
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 600; }
.woocommerce-checkout #payment div.payment_box {
	background: var(--wp--preset--color--sage-tint) !important;
	color: var(--wp--preset--color--ink) !important;
	border-radius: 10px;
	font-size: 0.875rem;
	padding: 0.6rem 0.8rem !important;
	margin: 0.4rem 0 0 !important;
}
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment div.form-row.place-order { padding: 0 !important; margin: 0; }

/* Privacy text: there, but quiet. */
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p {
	font-size: 0.75rem;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
	margin: 0 0 0.75rem;
}
.woocommerce-checkout .woocommerce-privacy-policy-text a { color: inherit; }

.miskah-co-assure {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0 0 0.75rem;
	padding: 0.7rem 0.85rem;
	background: var(--wp--preset--color--sage-tint);
	border-radius: 10px;
	font-size: 0.9375rem;
	line-height: 1.4;
}
.miskah-co-assure svg { flex: none; color: var(--wp--preset--color--sage-deep); }

.woocommerce-checkout #place_order {
	display: block;
	width: 100%;
	min-height: 56px;
	margin: 0 0 0.75rem;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	float: none;
}
.woocommerce-checkout #place_order:hover { background: var(--wp--preset--color--ink); }
.woocommerce-checkout form.processing #place_order { opacity: 0.7; cursor: progress; }

.miskah-co-help { margin: 0; font-size: 0.875rem; color: var(--wp--preset--color--muted); text-align: center; }
.miskah-co-help a { color: var(--wp--preset--color--sage-deep); font-weight: 600; display: inline-block; padding: 0.6rem 0.25rem; }

/* Desktop: details on the left, summary and button on the right. */
@media (min-width: 900px) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
		column-gap: 2rem;
		align-items: start;
	}
	.woocommerce-checkout form.checkout > * { grid-column: 1 / -1; }
	/* checkout.js prepends error summaries to the form: keep them on top, not below everything. */
	.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-row: 1; }
	.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 2 / span 2; }
	.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 2; margin-top: 0; }
	.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 3; position: sticky; top: 1.5rem; }
	.woocommerce-checkout form.checkout #customer_details,
	.woocommerce-checkout form.checkout #order_review { padding: 1.5rem; }
}

/* ---------- Cart ---------- */
.woocommerce-cart table.cart {
	background: var(--miskah-co-card);
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: var(--miskah-radius, 14px);
	border-collapse: separate;
	overflow: hidden;
}
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th { border-color: var(--wp--preset--color--line) !important; }
.woocommerce-cart table.cart tr:nth-child(2n) td { background: none !important; }
.woocommerce-cart table.cart td.product-name a { color: var(--wp--preset--color--ink); font-weight: 600; text-decoration: none; }
.woocommerce-cart table.cart img { width: 72px !important; border-radius: 10px; }

/* Remove: a real 44px target. */
.woocommerce-cart table.cart a.remove {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 44px !important;
	height: 44px !important;
	border-radius: 50%;
	font-size: 1.5rem !important;
	line-height: 1;
	color: var(--wp--preset--color--muted) !important;
	background: transparent;
	border: 1px solid var(--wp--preset--color--line);
}
.woocommerce-cart table.cart a.remove:hover { color: var(--miskah-co-error) !important; background: var(--wp--preset--color--blush) !important; }

.woocommerce-cart .quantity .qty {
	width: 4.5rem;
	min-height: 44px;
	font-size: 16px;
	text-align: center;
	border-radius: 10px;
}
.woocommerce-cart table.cart td.actions { background: none !important; }
.woocommerce-cart table.cart td.actions .button[name="update_cart"] {
	background: transparent;
	color: var(--wp--preset--color--sage-deep);
	border: 1px solid var(--wp--preset--color--sage-deep);
	min-height: 44px;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	background: var(--miskah-co-card);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--miskah-radius, 14px);
	padding: 1.25rem 1rem;
	box-sizing: border-box;
}
.woocommerce-cart .cart-collaterals .cart_totals h2 {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 400;
	font-size: 1.375rem;
	margin: 0 0 0.5rem;
}
.woocommerce-cart .cart_totals table.shop_table { border: 0 !important; margin: 0 0 0.75rem !important; }
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td { border-color: var(--wp--preset--color--line) !important; background: none !important; padding-inline: 0 !important; }
.woocommerce-cart .cart_totals .order-total .amount {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 400;
	font-size: 1.375rem;
}
.miskah-cart-note {
	margin: 0 0 0.75rem;
	padding: 0.7rem 0.85rem;
	background: var(--wp--preset--color--sage-tint);
	border-radius: 10px;
	font-size: 0.875rem;
	line-height: 1.45;
}
.woocommerce-cart .wc-proceed-to-checkout { padding: 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	margin: 0 !important;
	font-size: 1.125rem !important;
	font-weight: 600;
	padding: 0.8em 1.6em !important;
}
.miskah-cart-more { margin: 0.5rem 0 0; text-align: center; }
.miskah-cart-more a {
	display: inline-block;
	padding: 0.65rem 0.5rem;
	color: var(--wp--preset--color--sage-deep);
	font-weight: 600;
}

/* Phones: each cart line is a small card row; tighter labels. */
@media (max-width: 768px) {
	.woocommerce-cart table.cart tr.cart_item { position: relative; padding: 0.5rem 0.75rem; }
	.woocommerce-cart table.cart tr.cart_item td { padding: 0.45rem 0 !important; border: 0 !important; }
	.woocommerce-cart table.cart tr.cart_item td.product-remove { position: absolute; top: 0.4rem; right: 0.5rem; padding: 0 !important; }
	.woocommerce-cart table.cart tr.cart_item td.product-name { text-align: left !important; padding-right: 3.25rem !important; }
	.woocommerce-cart table.cart tr.cart_item td.product-name::before { display: none; }
	.woocommerce-cart table.cart tr.cart_item td::before { font-weight: 500; color: var(--wp--preset--color--muted); }
	.woocommerce-cart table.cart tr.cart_item + tr td { border-top: 1px solid var(--wp--preset--color--line) !important; }
	.woocommerce-cart table.cart td.actions { padding: 0.75rem !important; }
}
@media (min-width: 900px) {
	.woocommerce-cart .wp-block-post-content > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 2rem; align-items: start; }
	/* Notices, and the empty-cart message and button, span the full width. */
	.woocommerce-cart .wp-block-post-content > .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column: 1 / -1; }
	.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; float: none; position: sticky; top: 1.5rem; padding: 1.5rem; }
	.woocommerce-cart .woocommerce-cart-form { min-width: 0; }
}

/* ---------- Order received (thank you) ---------- */
.miskah-ty {
	background: var(--miskah-co-card);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--miskah-radius, 14px);
	padding: 1.25rem 1rem;
	margin: 0 0 2rem;
}
.miskah-ty__number { margin: 0 0 0.75rem; color: var(--wp--preset--color--muted); }
.miskah-ty__number strong {
	display: block;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 400;
	font-size: 2rem;
	line-height: 1.2;
}
.miskah-ty__title {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 400;
	font-size: 1.375rem;
	margin: 0 0 0.75rem;
}
.miskah-ty__steps { margin: 0 0 1rem; padding: 0; list-style: none; counter-reset: miskah-ty; }
.miskah-ty__steps li {
	position: relative;
	counter-increment: miskah-ty;
	padding: 0 0 0.85rem 2.6rem;
	min-height: 2rem;
	line-height: 1.5;
}
.miskah-ty__steps li::before {
	content: counter(miskah-ty);
	position: absolute;
	left: 0;
	top: -0.1rem;
	width: 1.9rem;
	height: 1.9rem;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--wp--preset--color--sage-tint);
	color: var(--wp--preset--color--ink); /* sage-deep on sage-tint is only 4.3:1 */
	font-weight: 600;
	font-size: 0.9375rem;
}
.miskah-ty__help { margin: 0 0 0.75rem; font-size: 0.9375rem; }
.miskah-ty__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; margin: 0; }
.miskah-ty__actions .miskah-ty__messenger {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	background: var(--wp--preset--color--sage-deep);
	color: var(--wp--preset--color--white);
	border-radius: 999px;
	padding: 0.7em 1.5em;
	font-weight: 600;
	text-decoration: none;
}
.miskah-ty__actions .miskah-ty__messenger:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.miskah-ty__shop { display: inline-block; color: var(--wp--preset--color--sage-deep); font-weight: 600; padding: 0.7rem 0.25rem; }
@media (max-width: 480px) {
	.miskah-ty__actions .miskah-ty__messenger { width: 100%; }
}
/* WooCommerce's own confirmation blocks: tone down to match. */
.wc-block-order-confirmation-status { margin-bottom: 1rem; }
.wc-block-order-confirmation-status h1 { font-family: var(--wp--preset--font-family--heading); font-weight: 400; }
.woocommerce-order-overview,
.wc-block-order-confirmation-summary-list { font-size: 0.9375rem; }

/* ---------- Mini-cart drawer ---------- */
.wc-block-mini-cart__footer-actions { display: flex; flex-direction: column-reverse; gap: 0.5rem; }
.wc-block-mini-cart__footer-actions .wc-block-components-button,
.wc-block-mini-cart__footer-actions .wp-block-button__link { width: 100%; min-height: 48px; border-radius: 999px !important; }
.wc-block-mini-cart__footer-checkout,
.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-checkout-button-block {
	background: var(--wp--preset--color--sage-deep) !important;
	color: var(--wp--preset--color--white) !important;
	border-color: var(--wp--preset--color--sage-deep) !important;
	font-weight: 600 !important;
	min-height: 52px !important;
	font-size: 1.0625rem !important;
}
.wc-block-mini-cart__footer-checkout:hover { background: var(--wp--preset--color--ink) !important; border-color: var(--wp--preset--color--ink) !important; }
.wc-block-mini-cart__footer-cart,
.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block {
	background: transparent !important;
	color: var(--wp--preset--color--sage-deep) !important;
	border: 1px solid var(--wp--preset--color--sage-deep) !important;
}
.wc-block-mini-cart__drawer .wc-block-components-drawer__content { background: var(--miskah-co-card); }

@media (prefers-reduced-motion: reduce) {
	.woocommerce-checkout #place_order,
	.woocommerce-cart a.checkout-button,
	.miskah-ty__messenger,
	.wc-block-mini-cart__drawer * { transition: none !important; animation: none !important; }
}

/* ---------------------------------------------------------------
   WooCommerce notices: brand card style (classic + block notices)
   Contrast on #FFFAF3: ink #2E2426 ~15:1, sage #9A5354 ~5.2:1,
   error #9A3B2E ~6.9:1.
   --------------------------------------------------------------- */
body .woocommerce-info,
body .woocommerce-message,
body .woocommerce-error,
body .wc-block-components-notice-banner {
	background: #FFFAF3;
	color: #2E2426;
	border: 1px solid #E9DCCB;
	border-left: 3px solid #9A5354;
	border-radius: 10px;
	box-shadow: none;
}
body .woocommerce-error,
body .wc-block-components-notice-banner.is-error { border-left-color: #9A3B2E; }
body .wc-block-components-notice-banner.is-info,
body .wc-block-components-notice-banner.is-success { background-color: #FFFAF3; border-color: #E9DCCB; border-left-color: #9A5354; }
body .wc-block-components-notice-banner.is-error { background-color: #FFFAF3; border-color: #E9DCCB; border-left-color: #9A3B2E; }

/* Icons */
body .woocommerce-info::before,
body .woocommerce-message::before { color: #9A5354; }
body .woocommerce-error::before { color: #9A3B2E; }
body .wc-block-components-notice-banner > svg { fill: #FFFAF3; background-color: #9A5354; }
body .wc-block-components-notice-banner.is-error > svg { background-color: #9A3B2E; }

/* Error text stays clearly an error */
body .woocommerce-error,
body .woocommerce-error li,
body .wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__content { color: #9A3B2E; }

/* Links */
body .woocommerce-info a:not(.button),
body .woocommerce-message a:not(.button),
body .woocommerce-error a:not(.button),
body .wc-block-components-notice-banner__content a:not(.button) {
	color: #9A5354;
	text-decoration: underline;
	text-underline-offset: 2px;
}
