/* Clarvity Digital — WooCommerce checkout (Checkout block + classic). */

body.woocommerce-checkout,
body.woocommerce-cart,
body.woocommerce-account {
	--clvc-purple: #6754E9; --clvc-lavender: #E9E5FF; --clvc-yellow: #FFBE11; --clvc-navy: #1B1A3A;
	--clvc-surface: #F7F7FA; --clvc-white: #FFFFFF; --clvc-ink: #000000; --clvc-muted: #000000B3; --clvc-line: #E2E2E2;
	--clvc-display: "Syne", system-ui, sans-serif; --clvc-body: "Kanit", system-ui, sans-serif;
	background: var(--clvc-surface) !important;
}

/* ---------- shared: page title ---------- */
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .page-title,
body.woocommerce-checkout h1.wp-block-post-title,
body.woocommerce-cart .entry-title,
body.woocommerce-cart .page-title,
body.woocommerce-cart h1.wp-block-post-title,
body.woocommerce-account .entry-title,
body.woocommerce-account .page-title,
body.woocommerce-account h1.wp-block-post-title {
	font-family: var(--clvc-display) !important; font-weight: 700 !important; letter-spacing: -0.02em !important; color: var(--clvc-ink) !important;
}

/* =====================================================================
   1. CHECKOUT BLOCK (WooCommerce default since 8.3)
   ===================================================================== */
body.woocommerce-checkout .wp-block-woocommerce-checkout {
	font-family: var(--clvc-body) !important; font-weight: 300 !important; color: var(--clvc-muted) !important;
	max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; padding: 0 0 48px !important;
}
body.woocommerce-checkout .wc-block-components-sidebar-layout { gap: 0 !important; }

/* Left column: each step is a white card */
body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step {
	background: var(--clvc-white) !important; border: 1px solid var(--clvc-line) !important; border-radius: 16px !important;
	padding: 24px 24px 8px !important; margin: 0 0 16px !important;
}
body.woocommerce-checkout .wc-block-components-checkout-step__container::after,
body.woocommerce-checkout .wc-block-components-checkout-step::after { display: none !important; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading { margin: 0 0 12px !important; }
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-title {
	font-family: var(--clvc-display) !important; font-weight: 700 !important; font-size: 20px !important;
	letter-spacing: -0.01em !important; color: var(--clvc-ink) !important;
}
body.woocommerce-checkout .wc-block-components-checkout-step__description { color: var(--clvc-muted) !important; font-size: 14px !important; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading-content a { color: var(--clvc-purple) !important; }

/* Inputs */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-block-components-textarea {
	font-family: var(--clvc-body) !important; font-weight: 400 !important; color: var(--clvc-ink) !important;
	background: var(--clvc-white) !important; border: 1px solid var(--clvc-line) !important; border-radius: 8px !important; box-shadow: none !important;
}
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.woocommerce-checkout .wc-block-components-textarea:focus {
	border-color: var(--clvc-purple) !important; box-shadow: 0 0 0 3px rgba(103, 84, 233, .15) !important; outline: none !important;
}
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox label,
body.woocommerce-checkout .wc-blocks-components-select__label { color: var(--clvc-muted) !important; font-family: var(--clvc-body) !important; }
body.woocommerce-checkout .wc-block-components-text-input.has-error input { border-color: #b3261e !important; }

/* Checkboxes & radio (payment methods) */
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked,
body.woocommerce-checkout .wc-block-components-radio-control__input:checked { border-color: var(--clvc-purple) !important; background: var(--clvc-purple) !important; }
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--clvc-white) !important; }
body.woocommerce-checkout .wc-block-components-radio-control__input:checked::before { background: var(--clvc-white) !important; }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
body.woocommerce-checkout .wc-block-components-radio-control__option {
	border-radius: 12px !important; font-family: var(--clvc-body) !important; color: var(--clvc-ink) !important;
}
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: inset 0 0 0 2px var(--clvc-purple) !important; border-radius: 12px !important; background: rgba(233, 229, 255, .35) !important;
}

/* Place order */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-button {
	background: var(--clvc-purple) !important; color: var(--clvc-white) !important; border: 0 !important; border-radius: 999px !important;
	font-family: var(--clvc-body) !important; font-weight: 500 !important; font-size: 17px !important; min-height: 56px !important; padding: 16px 32px !important;
	box-shadow: 0 12px 24px rgba(103, 84, 233, .25) !important; transition: filter .15s, transform .15s !important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover { filter: brightness(1.06) !important; transform: translateY(-1px) !important; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible { outline: 3px solid var(--clvc-yellow) !important; outline-offset: 3px !important; }
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button { color: var(--clvc-purple) !important; font-family: var(--clvc-body) !important; }
body.woocommerce-checkout .wc-block-checkout__terms { font-size: 14px !important; color: var(--clvc-muted) !important; }
body.woocommerce-checkout .wc-block-checkout__terms a { color: var(--clvc-purple) !important; }

/* Right column: order summary card */
body.woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary-block {
	background: var(--clvc-white) !important; border: 1px solid var(--clvc-line) !important; border-radius: 16px !important;
	padding: 8px 20px 16px !important; box-shadow: 0 20px 40px rgba(103, 84, 233, .10) !important; overflow: hidden !important;
}
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-panel__button {
	font-family: var(--clvc-display) !important; font-weight: 700 !important; color: var(--clvc-ink) !important;
}
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text { font-family: var(--clvc-display) !important; font-size: 20px !important; color: var(--clvc-ink) !important; }
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-family: var(--clvc-display) !important; font-weight: 700 !important; color: var(--clvc-ink) !important; font-size: 15px !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__image img { border-radius: 10px !important; background: var(--clvc-lavender) !important; }
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
	background: var(--clvc-purple) !important; color: var(--clvc-white) !important; border: 0 !important; box-shadow: none !important;
}
body.woocommerce-checkout .wc-block-components-totals-wrapper { border-color: var(--clvc-line) !important; }
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-product-metadata { font-family: var(--clvc-body) !important; color: var(--clvc-muted) !important; }
body.woocommerce-checkout .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__value {
	font-family: var(--clvc-display) !important; font-weight: 700 !important; font-size: 22px !important; color: var(--clvc-ink) !important;
}
body.woocommerce-checkout .wc-block-components-totals-coupon-link,
body.woocommerce-checkout .wc-block-components-panel__button { color: var(--clvc-purple) !important; }
body.woocommerce-checkout .wc-block-components-totals-coupon__button {
	background: var(--clvc-navy) !important; color: var(--clvc-white) !important; border-radius: 8px !important; border: 0 !important;
}

/* Notices */
body.woocommerce-checkout .wc-block-components-notice-banner { border-radius: 12px !important; font-family: var(--clvc-body) !important; }

@media (min-width: 783px) {
	body.woocommerce-checkout .wc-block-checkout__main { padding-right: 32px !important; }
	body.woocommerce-checkout .wc-block-checkout__sidebar { top: 32px !important; }
}

/* =====================================================================
   2. CLASSIC CHECKOUT ([woocommerce_checkout] shortcode, WoodMart, Elementor)
   ===================================================================== */
body.woocommerce-checkout .woocommerce form.checkout {
	font-family: var(--clvc-body) !important; font-weight: 300 !important; color: var(--clvc-muted) !important;
}
body.woocommerce-checkout .woocommerce form.checkout h3,
body.woocommerce-checkout #order_review_heading {
	font-family: var(--clvc-display) !important; font-weight: 700 !important; font-size: 20px !important;
	letter-spacing: -0.01em !important; color: var(--clvc-ink) !important; text-transform: none !important; margin: 0 0 16px !important;
}
body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
body.woocommerce-checkout #customer_details .woocommerce-shipping-fields .shipping_address,
body.woocommerce-checkout #customer_details .woocommerce-additional-fields {
	background: var(--clvc-white) !important; border: 1px solid var(--clvc-line) !important; border-radius: 16px !important;
	padding: 24px !important; margin: 0 0 16px !important;
}
body.woocommerce-checkout .woocommerce form.checkout .form-row label { color: var(--clvc-ink) !important; font-weight: 400 !important; font-size: 14px !important; }
body.woocommerce-checkout .woocommerce form.checkout .form-row .required { color: var(--clvc-purple) !important; }
body.woocommerce-checkout .woocommerce form.checkout .input-text,
body.woocommerce-checkout .woocommerce form.checkout select,
body.woocommerce-checkout .woocommerce form.checkout textarea,
body.woocommerce-checkout .woocommerce form.checkout .select2-container .select2-selection--single {
	font-family: var(--clvc-body) !important; color: var(--clvc-ink) !important; background: var(--clvc-white) !important;
	border: 1px solid var(--clvc-line) !important; border-radius: 8px !important; min-height: 48px !important; box-shadow: none !important;
}
body.woocommerce-checkout .woocommerce form.checkout .input-text,
body.woocommerce-checkout .woocommerce form.checkout select { padding: 10px 14px !important; }
body.woocommerce-checkout .woocommerce form.checkout .select2-container .select2-selection__rendered { line-height: 46px !important; padding-left: 14px !important; }
body.woocommerce-checkout .woocommerce form.checkout .select2-container .select2-selection__arrow { height: 46px !important; }
body.woocommerce-checkout .woocommerce form.checkout .input-text:focus,
body.woocommerce-checkout .woocommerce form.checkout select:focus,
body.woocommerce-checkout .woocommerce form.checkout textarea:focus {
	border-color: var(--clvc-purple) !important; box-shadow: 0 0 0 3px rgba(103, 84, 233, .15) !important; outline: none !important;
}
body.woocommerce-checkout .woocommerce form.checkout .woocommerce-invalid .input-text { border-color: #b3261e !important; }

/* Order review card */
body.woocommerce-checkout #order_review {
	background: var(--clvc-white) !important; border: 1px solid var(--clvc-line) !important; border-radius: 16px !important;
	padding: 20px 24px 24px !important; box-shadow: 0 20px 40px rgba(103, 84, 233, .10) !important;
}
body.woocommerce-checkout #order_review table.shop_table { border: 0 !important; border-radius: 0 !important; margin: 0 0 16px !important; background: transparent !important; }
body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
	border: 0 !important; border-bottom: 1px solid var(--clvc-line) !important; padding: 12px 0 !important;
	background: transparent !important; color: var(--clvc-muted) !important; font-family: var(--clvc-body) !important;
}
body.woocommerce-checkout #order_review table.shop_table thead th { color: var(--clvc-ink) !important; font-weight: 500 !important; text-transform: none !important; }
body.woocommerce-checkout #order_review .cart_item .product-name { color: var(--clvc-ink) !important; font-weight: 400 !important; }
body.woocommerce-checkout #order_review tr.order-total th,
body.woocommerce-checkout #order_review tr.order-total td,
body.woocommerce-checkout #order_review tr.order-total .amount {
	font-family: var(--clvc-display) !important; font-weight: 700 !important; font-size: 20px !important; color: var(--clvc-ink) !important; border-bottom: 0 !important;
}
body.woocommerce-checkout #payment { background: var(--clvc-surface) !important; border-radius: 12px !important; }
body.woocommerce-checkout #payment ul.payment_methods { border-color: var(--clvc-line) !important; }
body.woocommerce-checkout #payment ul.payment_methods li { font-family: var(--clvc-body) !important; color: var(--clvc-ink) !important; }
body.woocommerce-checkout #payment ul.payment_methods li input[type=radio] { accent-color: var(--clvc-purple) !important; }
body.woocommerce-checkout #payment div.payment_box { background: var(--clvc-lavender) !important; color: var(--clvc-ink) !important; border-radius: 8px !important; }
body.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--clvc-lavender) !important; }
body.woocommerce-checkout #place_order,
body.woocommerce-checkout .woocommerce #payment #place_order {
	width: 100% !important; background: var(--clvc-purple) !important; color: var(--clvc-white) !important; border: 0 !important; border-radius: 999px !important;
	font-family: var(--clvc-body) !important; font-weight: 500 !important; font-size: 17px !important; min-height: 56px !important; padding: 16px 32px !important;
	text-transform: none !important; letter-spacing: 0 !important; box-shadow: 0 12px 24px rgba(103, 84, 233, .25) !important;
}
body.woocommerce-checkout #place_order:hover { filter: brightness(1.06) !important; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: 14px !important; color: var(--clvc-muted) !important; }
body.woocommerce-checkout .woocommerce-privacy-policy-text a,
body.woocommerce-checkout .woocommerce-terms-and-conditions-link { color: var(--clvc-purple) !important; }

/* Coupon & login bars */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .wc-block-components-notice-banner,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
	background: var(--clvc-white) !important; border: 1px solid var(--clvc-line) !important; border-left: 4px solid var(--clvc-purple) !important;
	border-radius: 12px !important; color: var(--clvc-ink) !important; font-family: var(--clvc-body) !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before { color: var(--clvc-purple) !important; }
body.woocommerce-checkout .woocommerce-info a { color: var(--clvc-purple) !important; font-weight: 500 !important; }
body.woocommerce-checkout form.checkout_coupon {
	background: var(--clvc-white) !important; border: 1px solid var(--clvc-line) !important; border-radius: 12px !important; padding: 16px !important;
}
body.woocommerce-checkout form.checkout_coupon .button {
	background: var(--clvc-navy) !important; color: var(--clvc-white) !important; border-radius: 999px !important; border: 0 !important; font-family: var(--clvc-body) !important;
}

@media (max-width: 767px) {
	body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step { padding: 18px 16px 4px !important; border-radius: 12px !important; }
	body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
	body.woocommerce-checkout #order_review { padding: 18px 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
	body.woocommerce-checkout .wc-block-components-checkout-place-order-button { transition: none !important; }
	body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover { transform: none !important; }
}

/* Classic cart quantity box: keep the number visible whatever padding the theme uses. */
body.woocommerce-cart .woocommerce-cart-form input.qty {
	width: 76px !important; min-width: 76px !important; padding: 0 6px !important; text-align: center !important;
	color: var(--clvc-ink) !important; font-weight: 500 !important;
}

/* =====================================================================
   Classic checkout layout v2: centred 1200px, details left, order right.
   ===================================================================== */
body.woocommerce-checkout .woocommerce {
	max-width: 1200px !important; margin: 0 auto 72px !important; padding: 0 24px !important; box-sizing: border-box !important;
}
body.woocommerce-checkout .woocommerce > * { margin-left: 0 !important; margin-right: 0 !important; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout .woocommerce-NoticeGroup { margin-bottom: 16px !important; }
body.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: grid !important; grid-template-columns: minmax(0, 1fr) 420px !important; column-gap: 24px !important; align-items: start !important;
}
body.woocommerce-checkout form.checkout > * { grid-column: 1 / -1; min-width: 0 !important; }
body.woocommerce-checkout form.checkout #customer_details { grid-column: 1 !important; grid-row: 1 / span 3 !important; width: auto !important; float: none !important; }
body.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2 !important; grid-row: 1 !important; width: auto !important; float: none !important; margin: 0 0 12px !important; }
body.woocommerce-checkout form.checkout #order_review { grid-column: 2 !important; grid-row: 2 !important; width: auto !important; float: none !important; position: sticky !important; top: 110px !important; box-sizing: border-box !important; }
body.woocommerce-checkout #customer_details.col2-set .col-1,
body.woocommerce-checkout #customer_details.col2-set .col-2 { width: 100% !important; float: none !important; max-width: none !important; padding: 0 !important; }
body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
body.woocommerce-checkout #customer_details .woocommerce-additional-fields { box-sizing: border-box !important; }
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: grid !important; grid-template-columns: 1fr 1fr !important; column-gap: 16px !important; }
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row { grid-column: 1 / -1; width: auto !important; float: none !important; margin: 0 0 14px !important; padding: 0 !important; }
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first { grid-column: 1 !important; }
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last { grid-column: 2 !important; }
body.woocommerce-checkout .woocommerce > .clvc-head { margin: 0 0 24px !important; }
@media (max-width: 900px) {
	body.woocommerce-checkout .woocommerce { padding: 0 16px !important; }
	body.woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: minmax(0, 1fr) !important; }
	body.woocommerce-checkout form.checkout #customer_details,
	body.woocommerce-checkout form.checkout #order_review_heading,
	body.woocommerce-checkout form.checkout #order_review { grid-column: 1 !important; grid-row: auto !important; position: static !important; }
	body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr !important; }
	body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last { grid-column: 1 !important; }
}
