/**
 * Cart, checkout & thank-you pages (WooCommerce blocks): set in Montserrat like the shop, white page, cream
 * cards, bold labels, navy buttons with a gold border and a needle. Loaded on those pages only
 * (inc/cart-checkout.php). Selectors start with the page's body class so they outrank the blocks' own
 * styles, which load later.
 */

body.woocommerce-cart,
body.woocommerce-checkout {
	--sans: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
	--serif: var(--sans);
	--dk-card: #fdfaf4;
	--dk-card-line: #ece2cf;
	--dk-needle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e6c97f' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 2.5c1.4 1.4 1.4 2.6 0 4L6.5 19 3 21l2-3.5L17.5 5'/%3E%3Cpath d='M15.5 5.5 18.5 8.5'/%3E%3Cpath d='M3 21c4-1 6-4 9-4s4 2 7 2'/%3E%3C/svg%3E");
	--dk-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e6c97f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E");
	background-color: #fff;
	font-variant-numeric: lining-nums; /* Playfair's figures are old-style by default; prices and phone numbers read better level. */
}
/* The blocks set tabular figures on amounts, which drops the lining setting: ask for both. */
body.woocommerce-cart .wc-block-formatted-money-amount,
body.woocommerce-checkout .wc-block-formatted-money-amount { font-variant-numeric: lining-nums tabular-nums; }

/* ---------- Page ---------- */

body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header { margin: clamp(26px, 4vw, 48px) 0 20px; }
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title { font: 700 clamp(2.1rem, 3.8vw, 2.9rem)/1.1 var(--serif); color: var(--plum); }
body.woocommerce-cart .entry-title::after,
body.woocommerce-checkout .entry-title::after {
	content: ""; display: block; width: 64px; height: 3px; margin-top: 14px; border-radius: 3px; background: linear-gradient(90deg, #e9cd84, #c9a24a);
}

/* The blocks are "wide": below 1200px the parent theme pulls them 20px outside the content, past the screen on phones. */
body.woocommerce-cart .entry-content > .wp-block-woocommerce-cart.alignwide,
body.woocommerce-checkout .entry-content > .wp-block-woocommerce-checkout.alignwide { margin-left: 0; margin-right: 0; max-width: none; }

/* The call button would cover the sticky buttons; the page shows the number itself. */
body.woocommerce-cart .dk-fab,
body.woocommerce-checkout .dk-fab { display: none; }

/* ---------- Steps: cart → your details → your quote ---------- */

.entry-content .dk-checkout-steps { display: flex; gap: 28px; max-width: none; margin: 0 0 30px; padding: 0; list-style: none; }
.dk-checkout-steps li { position: relative; flex: 1 1 0; display: flex; min-width: 0; }
.dk-checkout-steps li + li::before { content: ""; position: absolute; top: 50%; left: -28px; width: 28px; height: 1.5px; background: var(--gold); }
.entry-content .dk-checkout-steps .dk-checkout-steps__item {
	display: flex; align-items: center; gap: 14px; width: 100%; padding: 13px 18px;
	border: 1px solid rgba(201, 162, 74, .45); border-radius: 999px; background: var(--dk-card); color: var(--muted); text-decoration: none;
}
.entry-content .dk-checkout-steps a.dk-checkout-steps__item:hover { border-color: var(--gold); }
.dk-checkout-steps__n {
	flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
	border: 1.5px solid rgba(201, 162, 74, .6); background: #fff; color: var(--plum); font: 700 1.05rem/1 var(--serif);
}
.dk-checkout-steps__text { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.dk-checkout-steps__text b { font: 700 1.08rem/1.25 var(--serif); color: var(--plum); }
.dk-checkout-steps__text small { font-size: .84rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* The current step: navy, with a gold running stitch inside. */
.entry-content .dk-checkout-steps .is-current .dk-checkout-steps__item {
	background: linear-gradient(180deg, #2b2160, #1f1844); border-color: var(--plum);
	outline: 1px dashed rgba(230, 201, 127, .8); outline-offset: -7px; box-shadow: 0 14px 28px -16px rgba(20, 15, 41, .65);
}
.dk-checkout-steps .is-current .dk-checkout-steps__n { background: linear-gradient(135deg, #e9cd84, #c9a24a 55%, #b28a36); border-color: transparent; color: var(--plum); }
.dk-checkout-steps .is-current b { color: #fff; }
.dk-checkout-steps .is-current small { color: var(--gold-2); }
.dk-checkout-steps .is-done .dk-checkout-steps__n { border-color: var(--gold); color: var(--gold-deep); font-size: 0; }
.dk-checkout-steps .is-done .dk-checkout-steps__n::before { content: "✓"; font-size: 1.05rem; }

@media (max-width: 700px) {
	.entry-content .dk-checkout-steps { gap: 10px; margin-bottom: 22px; }
	.dk-checkout-steps li + li::before { left: -10px; width: 10px; }
	.entry-content .dk-checkout-steps .dk-checkout-steps__item { flex-direction: column; gap: 6px; padding: 12px 6px; border-radius: 20px; text-align: center; }
	.entry-content .dk-checkout-steps .is-current .dk-checkout-steps__item { outline-offset: -5px; }
	.dk-checkout-steps__n { width: 30px; height: 30px; font-size: .9rem; }
	.dk-checkout-steps__text b { font-size: .86rem; }
	.dk-checkout-steps__text small { display: none; }
}

/* ---------- Shared: cards, serif figures, the navy-and-gold button ---------- */

body.woocommerce-cart table.wc-block-cart-items,
body.woocommerce-cart .wc-block-cart .wc-block-cart__sidebar,
body.woocommerce-checkout .wc-block-components-form .wc-block-components-checkout-step:not(.wc-block-checkout__order-notes),
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block {
	background: var(--dk-card); border: 1px solid var(--dk-card-line); border-radius: 20px; box-shadow: 0 16px 34px -26px rgba(20, 15, 41, .4);
}

/* !important to beat main.css, which paints every block button indigo with !important (and the blocks' 3em height, loaded later). */
body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-button,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-cart .dk-empty-cart__btn--main {
	position: relative; min-height: 58px !important; padding: 0 56px !important; border: 1px solid var(--gold) !important; border-radius: 999px;
	background: linear-gradient(180deg, #2b2160, #1f1844) !important; color: #fff !important;
	box-shadow: inset 0 0 0 3px #241c55, inset 0 0 0 4px rgba(201, 162, 74, .5), 0 16px 28px -16px rgba(20, 15, 41, .7);
	font: 600 1.02rem/1.2 var(--serif); letter-spacing: .01em; white-space: nowrap; text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease !important;
}
body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-button::before,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button::before,
body.woocommerce-cart .dk-empty-cart__btn--main::before {
	content: ""; position: absolute; top: 50%; left: 20px; width: 26px; height: 26px; transform: translateY(-50%); background: var(--dk-needle) center / contain no-repeat;
}
body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-button::after,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button::after,
body.woocommerce-cart .dk-empty-cart__btn--main::after {
	content: ""; position: absolute; top: 50%; right: 22px; width: 20px; height: 20px; transform: translateY(-50%); background: var(--dk-arrow) center / contain no-repeat;
}
body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-button:hover,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-cart .dk-empty-cart__btn--main:hover {
	transform: translateY(-1px); border-color: var(--gold-2) !important; box-shadow: inset 0 0 0 3px #241c55, inset 0 0 0 4px rgba(230, 201, 127, .7), 0 20px 32px -14px rgba(20, 15, 41, .75);
}
body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-button:focus-visible,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button:focus-visible,
body.woocommerce-cart .dk-empty-cart__btn:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-wrapper { border-top-color: var(--dk-card-line); }
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font: 700 1.25rem/1.3 var(--serif); color: var(--plum); }
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font: 700 1.7rem/1.2 var(--serif); color: var(--plum); font-variant-numeric: lining-nums; }

/* ---------- Cart ---------- */

body.woocommerce-cart table.wc-block-cart-items { border-collapse: separate; border-spacing: 0; overflow: hidden; margin: 0; }
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header { display: none; }
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row td { border-top: 1px solid var(--dk-card-line); padding-top: 24px; padding-bottom: 24px; vertical-align: top; }
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row:first-of-type td { border-top: 0; }
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image { width: 132px; padding-left: 24px; }
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total { padding-right: 26px; }
body.woocommerce-cart .wc-block-cart-item__image img { width: 104px; max-width: 104px; padding: 6px; border: 1px solid var(--dk-card-line); border-radius: 16px; background: #f3ede2; }
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name { font: 700 1.2rem/1.3 var(--serif); color: var(--plum); text-decoration: none; }
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name:hover { color: var(--gold-deep); }
body.woocommerce-cart .wc-block-cart .wc-block-cart-item__prices { margin: 4px 0 10px; font: 500 1rem/1.4 var(--serif); color: var(--muted); }
body.woocommerce-cart .wc-block-cart .wc-block-components-product-metadata { margin-bottom: 0; font: 500 .95rem/1.55 var(--serif); color: var(--muted); }
body.woocommerce-cart .wc-block-cart .wc-block-components-product-details__name { font-weight: 700; color: var(--plum); }
body.woocommerce-cart .wc-block-cart .wc-block-cart-item__total { font: 700 1.1rem/1.3 var(--serif); color: var(--plum); }
/* A studio item's prices (inc/customizer: price_rows()): one part per line, its amount on the right; "Each" closes the piece. */
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-details .dk-price-row { display: flex; align-items: baseline; gap: 12px; font-size: .875rem; line-height: 1.45; }
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-details .dk-price-row > [aria-hidden="true"] { display: none; }
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-details .dk-price-row .wc-block-components-product-details__name { flex: 1 1 auto; min-width: 0; font-weight: 500; color: var(--muted); }
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-details .dk-price-row .wc-block-components-product-details__value { flex: none; font-weight: 600; color: var(--plum); white-space: nowrap; }
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-details .dk-price-row--each { margin-top: 4px; padding-top: 4px; border-top: 1px dashed var(--dk-card-line); }
body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-details .dk-price-row--each > span { font-weight: 700; color: var(--plum); }
/* Checkout summary: the line's price in the top-right corner, beside the name, so the price rows get the width. */
body.woocommerce-checkout .wc-block-components-order-summary-item:has(.dk-price-row) { position: relative; }
body.woocommerce-checkout .wc-block-components-order-summary-item:has(.dk-price-row) .wc-block-components-order-summary-item__description { flex: 1 1 auto; padding-right: 0; }
body.woocommerce-checkout .wc-block-components-order-summary-item:has(.dk-price-row) .wc-block-components-product-name { padding-right: 76px; }
body.woocommerce-checkout .wc-block-components-order-summary-item:has(.dk-price-row) .wc-block-components-order-summary-item__total-price { position: absolute; top: 0; right: 0; }
/* The unit price there would blend in the digitizing; the rows above say it. */
body.woocommerce-cart .wc-block-cart-items__row:has(.dk-price-row) .wc-block-cart-item__prices,
body.woocommerce-checkout .wc-block-components-order-summary-item:has(.dk-price-row) .wc-block-components-order-summary-item__individual-prices { display: none; }
/* A line between the design and the quantity, then round + / − buttons. */
body.woocommerce-cart .wc-block-cart .wc-block-cart-item__quantity { width: 100%; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--dk-card-line); }
body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector { width: 132px; border: 1px solid #e2d5bd; border-radius: 999px; background: #fff; overflow: hidden; }
body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector::after { border: 0; }
body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	flex: none; align-self: center; width: 32px; min-width: 32px; height: 32px; margin: 0 6px; padding: 0; border-radius: 50%;
	background: #f3ead8; color: var(--gold-deep); font-size: 1.1rem; opacity: 1;
}
body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover { background: #ead9b6; color: var(--plum); }
body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__input { min-width: 0; padding: 0; font: 600 1rem/1 var(--serif); color: var(--plum); } /* No side padding: "10" or "100" fits. */
body.woocommerce-cart .wc-block-cart .wc-block-cart-item__remove-link { color: var(--plum); }
body.woocommerce-cart .wc-block-cart .wc-block-cart-item__remove-link:hover { color: var(--rose); }

body.woocommerce-cart .wc-block-cart .wc-block-cart__sidebar { align-self: flex-start; padding: 26px; margin-left: 0; }
body.woocommerce-cart .wc-block-cart .wc-block-cart__totals-title {
	padding: 0 0 14px; font: 700 1.7rem/1.2 var(--serif); color: var(--plum); text-transform: none; letter-spacing: 0; text-align: left;
}
/* Phones hide the "Cart totals" title: no space or line left for it. */
body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart__totals-title { margin: 0; padding: 0; }
body.woocommerce-cart .wc-block-cart.is-mobile .wp-block-woocommerce-cart-order-summary-totals-block { border-top: 0; }
body.woocommerce-cart .wc-block-cart .wc-block-cart__submit { margin: 20px 0 0; }
body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-container:not(.wc-block-cart__submit-container--sticky)::after {
	content: "No payment now — Khanh confirms your final price by phone."; display: block; margin-top: 14px;
	font-size: .9rem; line-height: 1.45; color: var(--muted); text-align: center;
}
body.woocommerce-cart .wc-block-cart__submit-container--sticky {
	padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .96);
	border-top: 1px solid var(--dk-card-line); box-shadow: 0 -10px 30px -18px rgba(20, 15, 41, .35); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
body.woocommerce-cart .wc-block-cart__submit-container--sticky::before { display: none; }

/* Narrow carts: the block lays each row out as a grid with an 80px image column; stay inside it. */
body.woocommerce-cart .wc-block-cart:is(.is-mobile, .is-small, .is-medium) table.wc-block-cart-items .wc-block-cart-items__row { padding: 18px 16px; column-gap: 14px; }
body.woocommerce-cart .wc-block-cart:is(.is-mobile, .is-small, .is-medium) table.wc-block-cart-items .wc-block-cart-items__row td { padding-top: 0; padding-bottom: 0; border-top: 0; }
body.woocommerce-cart .wc-block-cart:is(.is-mobile, .is-small, .is-medium) table.wc-block-cart-items .wc-block-cart-item__image { width: auto; padding: 0; }
body.woocommerce-cart .wc-block-cart:is(.is-mobile, .is-small, .is-medium) table.wc-block-cart-items .wc-block-cart-item__image img { box-sizing: border-box; width: 80px; max-width: 80px; padding: 4px; }
body.woocommerce-cart .wc-block-cart:is(.is-mobile, .is-small, .is-medium) table.wc-block-cart-items .wc-block-cart-item__total { padding: 0; }
/* The line's price in the item's top-right corner, beside the name: the price rows below get the whole width. */
body.woocommerce-cart .wc-block-cart:is(.is-mobile, .is-small, .is-medium) table.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 80px minmax(0, 1fr); }
body.woocommerce-cart .wc-block-cart:is(.is-mobile, .is-small, .is-medium) table.wc-block-cart-items .wc-block-cart-item__product { grid-column: 2 / -1; grid-row: 1; }
body.woocommerce-cart .wc-block-cart:is(.is-mobile, .is-small, .is-medium) table.wc-block-cart-items .wc-block-cart-item__total { grid-column: 2 / -1; grid-row: 1; justify-self: end; align-self: start; }
body.woocommerce-cart .wc-block-cart:is(.is-mobile, .is-small, .is-medium) table.wc-block-cart-items .wc-block-components-product-name { display: block; padding-right: 96px; }
body.woocommerce-cart .wc-block-cart:is(.is-mobile, .is-small, .is-medium) .wc-block-components-quantity-selector { width: 112px; }
body.woocommerce-cart .wc-block-cart:is(.is-mobile, .is-small, .is-medium) .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { width: 28px; min-width: 28px; height: 28px; margin: 0 4px; }

@media (max-width: 781px) {
	body.woocommerce-cart .wc-block-cart .wc-block-cart__sidebar { margin-top: 18px; padding: 20px 18px; }
	body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-button,
	body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button { padding: 0 52px !important; }
}

/* ---------- Empty cart ---------- */

body.woocommerce-cart .dk-empty-cart {
	max-width: 640px; margin: clamp(10px, 3vw, 28px) auto clamp(28px, 5vw, 48px); padding: clamp(28px, 5vw, 46px) clamp(20px, 5vw, 46px);
	text-align: center; background: var(--dk-card); border: 1px solid var(--dk-card-line); border-radius: 24px; box-shadow: 0 16px 34px -26px rgba(20, 15, 41, .4);
}
body.woocommerce-cart .dk-empty-cart__icon {
	display: inline-grid; place-items: center; width: 74px; height: 74px; border-radius: 50%;
	background: linear-gradient(180deg, #2b2160, #1f1844); color: var(--gold-2); outline: 1px dashed rgba(230, 201, 127, .8); outline-offset: -6px;
}
body.woocommerce-cart .dk-empty-cart__icon .dk-icon { width: 32px; height: 32px; }
body.woocommerce-cart .dk-empty-cart .dk-empty-cart__title { margin: 18px 0 10px; font: 700 clamp(1.6rem, 3vw, 2rem)/1.2 var(--serif); color: var(--plum); }
body.woocommerce-cart .dk-empty-cart__text { max-width: 44ch; margin: 0 auto 26px; line-height: 1.6; color: var(--muted); }
body.woocommerce-cart .dk-empty-cart__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
body.woocommerce-cart .dk-empty-cart__btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 58px; padding: 0 26px; border: 1px solid rgba(201, 162, 74, .7);
	border-radius: 999px; background: #fff; color: var(--plum); font: 600 1.02rem/1.2 var(--serif); text-decoration: none;
}
body.woocommerce-cart .dk-empty-cart__btn:hover { border-color: var(--gold); color: var(--gold-deep); }
body.woocommerce-cart .entry-content > .dk-prodslider--cart { max-width: none; padding-top: 0; }

@media (max-width: 520px) {
	body.woocommerce-cart .dk-empty-cart__btn { width: 100%; }
}

/* ---------- Checkout ---------- */

body.woocommerce-checkout .wc-block-checkout__form { counter-reset: dk-step; }
body.woocommerce-checkout .wc-block-components-form .wc-block-components-checkout-step:not(.wc-block-checkout__order-notes) { margin: 0 0 18px; padding: 24px 26px 26px; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading { display: flex; align-items: center; gap: 12px; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading::before {
	counter-increment: dk-step; content: counter(dk-step); flex: none; display: grid; place-items: center;
	width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(180deg, #2b2160, #1f1844); color: var(--gold-2); font: 700 1rem/1 var(--serif);
}
/* On phones the order summary also comes down as a step: not a numbered one. */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-step__heading::before { content: none; counter-increment: none; }
body.woocommerce-checkout .wc-block-components-checkout-step__title { margin: 0; font: 700 1.45rem/1.25 var(--serif); color: var(--plum); }
body.woocommerce-checkout .wc-block-checkout__guest-checkout-notice { color: var(--muted); }

/* Fields: rounded, warm borders, gold focus. */
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-form .wc-blocks-components-select .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-block-components-form textarea {
	border: 1px solid #dcd2bf; border-radius: 12px; background-color: #fff; color: var(--text); transition: border-color .15s ease, box-shadow .15s ease;
}
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-form .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.woocommerce-checkout .wc-block-components-form textarea:focus {
	border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201, 162, 74, .22); outline: none;
}
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.has-error input { border-color: var(--err); }

/* The phone comes right under the name, full width, with what it is for. */
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-address-form__phone { flex: 1 0 100%; }
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-address-form__phone::after {
	content: "Khanh will call or text this number with your final price."; display: block; margin-top: 6px; font-size: .82rem; color: var(--muted);
}

/* Quote & payment: the one option, framed in gold. */
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked::after { border: 0; }
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
	border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1.5px rgba(201, 162, 74, .75);
}
body.woocommerce-checkout .dk-quote-pay__label { font: 700 1.15rem/1.3 var(--serif); color: var(--plum); }
body.woocommerce-checkout .dk-quote-pay p { margin: 0 0 12px; line-height: 1.6; color: var(--muted); }
body.woocommerce-checkout .dk-quote-pay__points { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
body.woocommerce-checkout .dk-quote-pay__points li {
	padding: 6px 14px; border: 1px solid rgba(201, 162, 74, .5); border-radius: 999px; background: var(--dk-card); font: 600 .9rem/1.3 var(--serif); color: var(--plum);
}
body.woocommerce-checkout .dk-quote-pay__points li::before { content: "\2713  "; font-weight: 700; color: var(--gold-deep); }
body.woocommerce-checkout .dk-quote-pay .dk-quote-pay__help { margin: 0; font-size: .9rem; }
body.woocommerce-checkout .dk-quote-pay__help a { font-weight: 600; color: var(--gold-deep); }

body.woocommerce-checkout .wc-block-checkout__order-notes { margin: 6px 0 14px; }
body.woocommerce-checkout .wc-block-checkout__terms { font-size: .86rem; color: var(--muted); }
body.woocommerce-checkout .wc-block-checkout__terms--with-separator { border-top-color: var(--dk-card-line); }
body.woocommerce-checkout .wc-block-checkout__terms a { color: var(--indigo); }

/* Order summary. */
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block { overflow: hidden; }
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text { font: 700 1.45rem/1.2 var(--serif); color: var(--plum); }
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price { font: 700 1.05rem/1.2 var(--serif); color: var(--plum); }
body.woocommerce-checkout .wc-block-components-order-summary-item__image img { padding: 3px; border: 1px solid var(--dk-card-line); border-radius: 12px; background: #f3ede2; }
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity { background: linear-gradient(180deg, #2b2160, #1f1844); border-color: #fff; color: var(--gold-2); }
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-product-name { font: 700 1.02rem/1.3 var(--serif); color: var(--plum); }
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-product-price { font-family: var(--serif); color: var(--plum); }

@media (max-width: 781px) {
	body.woocommerce-checkout .wc-block-components-form .wc-block-components-checkout-step:not(.wc-block-checkout__order-notes) { padding: 18px 16px 20px; }
	body.woocommerce-checkout .wc-block-components-checkout-step__title { font-size: 1.25rem; }
}

/* Phones: the order summary opens from a bar at the top and comes again above the button — inside the card's padding. */
body.woocommerce-checkout .wc-block-checkout.is-mobile .wc-block-components-checkout-order-summary__title,
body.woocommerce-checkout .wc-block-checkout.is-small .wc-block-components-checkout-order-summary__title { padding: 14px 18px; border: 0; }
body.woocommerce-checkout .wc-block-checkout .checkout-order-summary-block-fill-wrapper { margin-bottom: 18px; padding-bottom: 0; }
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper > .wc-block-components-checkout-step__heading { margin: 0; padding: 18px 18px 6px; }
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper > .checkout-order-summary-block-fill { border: 0; border-top: 1px solid var(--dk-card-line); border-radius: 0; }

/* ---------- Your quote (thank-you page) ---------- */

body.woocommerce-order-received .dk-confirm-note strong { font: 700 1.25rem/1.3 var(--serif); color: var(--plum); }
body.woocommerce-order-received .woocommerce-thankyou-order-received { margin: 0 0 14px; color: var(--muted); }
body.woocommerce-order-received ul.woocommerce-order-overview {
	display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 26px; padding: 0; list-style: none;
	background: var(--dk-card); border: 1px solid var(--dk-card-line); border-radius: 20px;
}
body.woocommerce-order-received ul.woocommerce-order-overview li {
	flex: 1 1 160px; margin: 0; padding: 16px 22px; border: 0; border-right: 1px dashed var(--dk-card-line);
	font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
}
body.woocommerce-order-received ul.woocommerce-order-overview li:last-child { border-right: 0; }
body.woocommerce-order-received ul.woocommerce-order-overview li strong {
	display: block; margin-top: 4px; font: 700 1.15rem/1.3 var(--serif); letter-spacing: 0; text-transform: none; color: var(--plum);
}
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
	margin: 0 0 24px; padding: 22px 24px; background: var(--dk-card); border: 1px solid var(--dk-card-line); border-radius: 20px;
}
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title { margin: 0 0 14px; padding: 0; border: 0; background: none; font: 700 1.45rem/1.25 var(--serif); color: var(--plum); }
body.woocommerce-order-received table.woocommerce-table--order-details { margin: 0; border: 0; border-collapse: collapse; background: transparent; }
body.woocommerce-order-received table.woocommerce-table--order-details th,
body.woocommerce-order-received table.woocommerce-table--order-details td { padding: 12px 8px; border: 0; border-top: 1px solid var(--dk-card-line); background: transparent; }
body.woocommerce-order-received table.woocommerce-table--order-details thead th { border-top: 0; font: 700 1rem/1.3 var(--serif); color: var(--plum); }
body.woocommerce-order-received table.woocommerce-table--order-details .product-name > a { font: 700 1.05rem/1.3 var(--serif); color: var(--plum); text-decoration: none; }
body.woocommerce-order-received table.woocommerce-table--order-details tfoot th,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot td { font-family: var(--serif); color: var(--plum); }
body.woocommerce-order-received .woocommerce-customer-details address { padding: 0; border: 0; font-style: normal; line-height: 1.6; color: var(--text); }

@media (max-width: 640px) {
	body.woocommerce-order-received ul.woocommerce-order-overview li { flex-basis: 50%; border-right: 0; border-bottom: 1px dashed var(--dk-card-line); }
}
