/* ==========================================================================
   Saints · WooCommerce transactional pages
   Cart · Checkout · Order received · My Account
   Loaded only on is_cart() / is_checkout() / is_account_page().
   ========================================================================== */

.saints-wc { --wc-line: rgba(51, 83, 56, 0.12); --wc-field: #EAE6DF; padding-bottom: var(--saints-section); }
.saints.woocommerce-cart #brx-content, .saints.woocommerce-checkout #brx-content, .saints.woocommerce-account #brx-content { padding-block: 0; }

/* ---------- Page head + steps ---------- */
.saints-wc__head { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(2rem, 4vw, 3rem); border-bottom: 1px solid var(--saints-border); margin-bottom: clamp(2rem, 5vw, 3.5rem); background: radial-gradient(60% 120% at 85% 0%, rgba(51,83,56,.07), rgba(51,83,56,0) 70%); }
.saints .saints-wc__title { font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 300; margin: 0; }
.saints-wc__lead { color: var(--saints-text-muted); margin: .75rem 0 0; max-width: 36em; }
.saints-wc__steps { list-style: none; display: flex; gap: clamp(1rem, 3vw, 2.5rem); margin: 0 0 2rem; padding: 0; font-size: .65rem; font-weight: 500; letter-spacing: var(--saints-tracking-widest); text-transform: uppercase; color: var(--saints-text-muted); }
.saints-wc__steps li, .saints-wc__steps a { display: inline-flex; align-items: center; gap: .6rem; }
.saints-wc__steps li span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--saints-border); font-family: var(--saints-font-serif); font-size: .9rem; letter-spacing: 0; }
.saints-wc__steps li.is-active { color: var(--saints-green); }
.saints-wc__steps li.is-active span { background: var(--saints-green); border-color: var(--saints-green); color: #fff; }
.saints-wc__steps li.is-done span { border-color: var(--saints-green); color: var(--saints-green); }
.saints-wc__steps li:not(:last-child)::after { content: ""; width: clamp(1.5rem, 4vw, 3rem); height: 1px; background: var(--saints-border); margin-left: clamp(1rem, 3vw, 2.5rem); }

/* ---------- Shared form controls ---------- */
.saints-wc .form-row { margin: 0 0 1.1rem; padding: 0; }
.saints-wc .form-row label { display: block; margin-bottom: .4rem; font-size: .65rem; font-weight: 500; letter-spacing: var(--saints-tracking-widest); text-transform: uppercase; color: var(--saints-dark); line-height: 1.4; }
.saints-wc .form-row label .required { color: var(--saints-green); text-decoration: none; border: 0; }
.saints-wc .form-row label .optional { color: var(--saints-text-muted); text-transform: none; letter-spacing: 0; font-weight: 400; }
.saints-wc input.input-text, .saints-wc textarea, .saints-wc select, .saints-wc .select2-container .select2-selection--single {
	width: 100%; min-height: 52px; padding: .85rem 1rem; border: 1px solid var(--wc-field); border-radius: var(--saints-radius); background: #fff;
	font-family: var(--saints-font-sans); font-size: 1rem; color: var(--saints-dark); box-shadow: none; transition: border-color .3s, box-shadow .3s;
}
.saints-wc textarea { min-height: 110px; }
.saints-wc input.input-text:focus, .saints-wc textarea:focus, .saints-wc select:focus, .saints-wc .select2-container--focus .select2-selection--single, .saints-wc .select2-container--open .select2-selection--single { outline: none; border-color: var(--saints-green); box-shadow: 0 0 0 3px rgba(51, 83, 56, .1); }
.saints-wc .select2-container .select2-selection--single { display: flex; align-items: center; padding: 0 1rem; }
.saints-wc .select2-container .select2-selection__rendered { padding: 0; line-height: 1.4; color: var(--saints-dark); }
.saints-wc .select2-container .select2-selection__arrow { height: 100%; right: .75rem; }
.saints-wc .woocommerce-invalid input.input-text, .saints-wc .woocommerce-invalid select { border-color: #a14a4a; }
.saints-wc .woocommerce-validated input.input-text { border-color: var(--wc-field); }
.saints-wc .form-row-first, .saints-wc .form-row-last { width: calc(50% - .5rem); float: left; }
.saints-wc .form-row-last { float: right; }
.saints-wc .form-row-wide, .saints-wc .woocommerce-address-fields__field-wrapper::after, .saints-wc .woocommerce-billing-fields__field-wrapper::after, .saints-wc .woocommerce-shipping-fields__field-wrapper::after { clear: both; }
.saints-wc .woocommerce-billing-fields__field-wrapper::after, .saints-wc .woocommerce-shipping-fields__field-wrapper::after, .saints-wc .woocommerce-address-fields__field-wrapper::after { content: ""; display: table; }
.saints-wc input[type="checkbox"], .saints-wc input[type="radio"] { accent-color: var(--saints-green); width: 18px; height: 18px; vertical-align: -3px; margin-right: .5rem; }
.saints-wc .button, .saints-wc button.button, .saints-wc a.button, .saints-wc .checkout-button, .saints-wc #place_order {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 54px; padding: 0 2rem; border: 1px solid var(--saints-green); border-radius: var(--saints-radius);
	background: var(--saints-green); color: #fff; font-family: var(--saints-font-sans); font-size: .75rem; font-weight: 500; letter-spacing: var(--saints-tracking-wide); text-transform: uppercase; line-height: 1; cursor: pointer; transition: background-color .4s var(--saints-ease), border-color .4s;
}
.saints-wc .button:hover, .saints-wc .checkout-button:hover, .saints-wc #place_order:hover { background: var(--saints-green-dark); border-color: var(--saints-green-dark); color: #fff; }
.saints-wc .button:disabled, .saints-wc .button.disabled { opacity: .45; cursor: not-allowed; }
.saints-wc .button[name="update_cart"], .saints-wc .woocommerce-form-coupon .button, .saints-wc button[name="apply_coupon"] { background: transparent; color: var(--saints-green); min-height: 46px; }
.saints-wc .button[name="update_cart"]:hover, .saints-wc button[name="apply_coupon"]:hover { background: var(--saints-green); color: #fff; }

/* Notices inside the shop flow */
.saints-wc .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 2rem; grid-column: 1 / -1; }
.saints-wc .woocommerce-form-coupon-toggle .woocommerce-info, .saints-wc .woocommerce-form-login-toggle .woocommerce-info { background: transparent; border: 1px solid var(--wc-line); border-left: 2px solid var(--saints-green); font-size: .875rem; }
.saints-wc .woocommerce-info::before, .saints-wc .woocommerce-message::before, .saints-wc .woocommerce-error::before { display: none; }
.saints-wc .woocommerce-info .showcoupon, .saints-wc .woocommerce-info .showlogin { color: var(--saints-green); border-bottom: 1px solid currentColor; }
.saints-wc form.checkout_coupon, .saints-wc form.woocommerce-form-login { border: 1px solid var(--wc-line); border-radius: 0; padding: 1.5rem; margin: 0 0 2rem; background: #fff; }

/* ==========================================================================
   CART
   ========================================================================== */
.saints-wc--cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 400px); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.saints-wc--cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.saints-wc--cart .woocommerce-cart-form { grid-column: 1; min-width: 0; }
.saints-wc--cart .cart-collaterals { grid-column: 2; position: sticky; top: calc(72px + 1.5rem); width: 100%; }
.saints-wc--cart .cart-collaterals .cart_totals { float: none; width: 100%; }

.saints-wc table.shop_table { border: 0; border-collapse: collapse; width: 100%; margin: 0; background: transparent; border-radius: 0; }
.saints-wc table.shop_table th, .saints-wc table.shop_table td { border: 0; padding: 0; background: transparent; }

/* Cart rows as editorial lines */
.saints-wc table.cart thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.saints-wc table.cart tbody { display: block; border-top: 1px solid var(--wc-line); }
.saints-wc table.cart tr.cart_item {
	display: grid; grid-template-columns: 120px minmax(0, 1fr) auto auto; grid-template-areas: "thumb name qty total" "thumb name remove remove";
	column-gap: 1.5rem; row-gap: .25rem; align-items: center; padding: 1.75rem 0; border-bottom: 1px solid var(--wc-line);
}
.saints-wc table.cart td.product-thumbnail { grid-area: thumb; }
.saints-wc table.cart td.product-thumbnail img { width: 120px; height: 120px !important; object-fit: cover; border: 1px solid var(--saints-border); background: #fff; max-width: none; }
.saints-wc table.cart .product-name { grid-area: name; }
.saints-wc table.cart .product-name > a { font-family: var(--saints-font-serif); font-size: 1.45rem; line-height: 1.2; color: var(--saints-dark); letter-spacing: .02em; }
.saints-wc table.cart .product-name > a:hover { color: var(--saints-green); }
.saints-wc table.cart td.product-price { display: none; }
.saints-wc table.cart td.product-quantity { grid-area: qty; }
.saints-wc table.cart td.product-subtotal { grid-area: total; text-align: right; font-family: var(--saints-font-serif); font-size: 1.3rem; color: var(--saints-dark); min-width: 7rem; }
.saints-wc table.cart td.product-remove { grid-area: remove; text-align: right; }
.saints-wc table.cart td.product-remove a.remove { display: inline-flex; width: auto; height: auto; font-size: 0; color: transparent !important; background: none !important; border-radius: 0; }
.saints-wc table.cart td.product-remove a.remove::after { content: "Verwijderen"; font-size: .62rem; font-weight: 500; letter-spacing: var(--saints-tracking-wide); text-transform: uppercase; color: var(--saints-text-muted); border-bottom: 1px solid currentColor; padding-bottom: 1px; transition: color .3s; }
.saints-wc table.cart td.product-remove a.remove:hover::after { color: #8a2b2b; }
.saints-wc table.cart td::before { display: none !important; }

/* Item data: ring size, metal, diamond */
.saints-wc dl.variation { display: flex; flex-wrap: wrap; gap: .35rem .5rem; margin: .7rem 0 0; font-size: .75rem; }
.saints-wc dl.variation dt, .saints-wc dl.variation dd { margin: 0; float: none; padding: 0; }
.saints-wc dl.variation dt { display: none; }
.saints-wc dl.variation dd { display: inline-flex; align-items: center; padding: .3rem .7rem; border: 1px solid var(--wc-line); border-radius: 100px; color: var(--saints-text-muted); background: #fff; }
.saints-wc dl.variation dd p { margin: 0; }
.saints-wc dl.variation dd.variation-Ringmaat { border-color: var(--saints-green); color: var(--saints-green); }

.saints-wc .quantity { display: inline-flex !important; align-items: stretch; height: 44px; border: 1px solid var(--wc-field); background: #fff; }
.saints-wc .quantity .qty { width: 44px !important; height: 100% !important; min-height: 0; padding: 0; border: 0 !important; text-align: center; font-size: .95rem; background: transparent; -moz-appearance: textfield; }
.saints-wc .quantity .qty::-webkit-outer-spin-button, .saints-wc .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.saints-wc .quantity .action { display: grid; place-items: center; width: 34px; height: 100%; cursor: pointer; color: var(--saints-text-muted); border: 0; background: transparent; }
.saints-wc .quantity .action:hover { color: var(--saints-green); }
.saints-wc .quantity .action.minus { order: -1; }
.saints-wc .quantity .action svg { width: 14px; height: 14px; }
.saints-wc table.cart .product-name { text-align: left; text-transform: none; letter-spacing: 0; font-weight: 400; }
.saints-wc .button[name="update_cart"]:disabled, .saints-wc .button[name="update_cart"][disabled] { background: transparent !important; color: var(--saints-green) !important; opacity: .4; }
.saints-wc .cart_totals .shipping th, .saints-wc .cart_totals .woocommerce-shipping-totals th { white-space: nowrap; }
.saints-wc .cart_totals .woocommerce-shipping-methods li { margin-bottom: .5rem; }
.saints-wc .cart_totals .woocommerce-shipping-methods label { font-size: .85rem; }

/* Actions row (coupon + update) */
.saints-wc table.cart tr:not(.cart_item) { display: block; }
.saints-wc table.cart td.actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding: 1.25rem 0 0; }
.saints-wc table.cart td.actions .coupon { display: flex; gap: .5rem; flex: 1 1 280px; max-width: 420px; }
.saints-wc table.cart td.actions .coupon label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.saints-wc table.cart td.actions .coupon .input-text { min-height: 46px; width: auto; flex: 1; padding: .6rem .9rem; }

/* Trust strip */
.saints-trust { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 2.5rem 0 0; padding: 0; background: var(--wc-line); border: 1px solid var(--wc-line); }
.saints-trust li { display: flex; gap: .85rem; align-items: flex-start; padding: 1.25rem; background: var(--saints-bg); font-size: .8125rem; line-height: 1.5; color: var(--saints-dark); }
.saints-trust .saints-icon { flex: 0 0 auto; color: var(--saints-green); margin-top: 1px; }
.saints-trust--compact { grid-template-columns: 1fr; margin-top: 1.25rem; background: transparent; border: 0; gap: .5rem; }
.saints-trust--compact li { padding: 0; background: transparent; font-size: .75rem; color: var(--saints-text-muted); }

/* Totals panel */
.saints-wc .cart_totals, .saints-checkout__summary { background: #fff; border: 1px solid var(--wc-line); padding: clamp(1.5rem, 3vw, 2.25rem); }
.saints-wc .cart_totals h2 { font-size: 1.75rem; margin: 0 0 1.25rem; }
.saints-wc .cart_totals table.shop_table tr { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--wc-line); }
.saints-wc .cart_totals table.shop_table th { font-size: .65rem; font-weight: 500; letter-spacing: var(--saints-tracking-widest); text-transform: uppercase; color: var(--saints-text-muted); text-align: left; padding-top: .2rem; }
.saints-wc .cart_totals table.shop_table td { text-align: right; font-size: .95rem; }
.saints-wc .cart_totals tr.order-total { border-bottom: 0; padding-top: 1.25rem; }
.saints-wc .cart_totals tr.order-total td, .saints-wc .cart_totals tr.order-total td strong { font-family: var(--saints-font-serif); font-size: 1.75rem; font-weight: 400; color: var(--saints-dark); }
.saints-wc .cart_totals .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; text-align: right; }
.saints-wc .woocommerce-shipping-destination, .saints-wc .woocommerce-shipping-calculator { font-size: .75rem; color: var(--saints-text-muted); margin: .4rem 0 0; }
.saints-wc .wc-proceed-to-checkout { padding: 1.25rem 0 0; }
.saints-wc .wc-proceed-to-checkout .checkout-button { width: 100%; font-size: .78rem; min-height: 58px; }
.saints-ship-note { display: block; margin-top: .2rem; font-size: .72rem; line-height: 1.45; color: var(--saints-text-muted); font-weight: 400; letter-spacing: 0; text-transform: none; }
.saints-concierge { margin-top: 1.25rem; padding: 1.5rem; border: 1px solid var(--wc-line); background: var(--saints-bg); }
.saints-concierge p:not(.saints-kicker) { font-size: .875rem; color: var(--saints-text-muted); }
.saints-concierge .saints-kicker { margin-bottom: .5rem; }
.saints-concierge .saints-actions { gap: .5rem; }
.saints-concierge .saints-btn { min-height: 44px; padding: 0 1rem; font-size: .65rem; }

/* Empty cart */
.saints-wc .cart-empty.woocommerce-info { display: none; }
.saints-cart-empty { grid-column: 1 / -1; text-align: center; max-width: 620px; margin: 0 auto; padding: clamp(2rem, 6vw, 4rem) 0; }
.saints-cart-empty__art { display: block; width: 110px; margin: 0 auto 1.5rem; color: var(--saints-green); }
.saints-cart-empty .saints-actions { justify-content: center; margin-top: 1.75rem; }
.saints-wc--cart .woocommerce:has(.saints-cart-empty) { display: block; }

/* ==========================================================================
   CHECKOUT
   ========================================================================== */
.saints-checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.saints-checkout__main { min-width: 0; }
.saints-checkout__summary { position: sticky; top: calc(72px + 1.5rem); }
.saints-checkout__summary #order_review_heading { font-size: 1.75rem; margin: 0 0 1rem; }
.saints-checkout__summary .saints-kicker { margin-bottom: .4rem; }

/* Steps on the left */
.saints-checkout-step { position: relative; margin-bottom: clamp(2rem, 4vw, 2.75rem); }
.saints-checkout-step h3, .saints-wc .woocommerce-billing-fields > h3, .saints-wc .woocommerce-additional-fields > h3, .saints-wc #ship-to-different-address { font-family: var(--saints-font-serif); font-size: 1.75rem; font-weight: 400; color: var(--saints-dark); margin: 0 0 1.25rem; letter-spacing: .02em; }
.saints-checkout-step__num { font-family: var(--saints-font-serif); font-style: italic; color: var(--saints-green); font-size: 1.1rem; margin: 0 0 .25rem; }
.saints-checkout-step__num--details { margin-top: .5rem; }
.saints-wc #ship-to-different-address { font-size: 1rem; font-family: var(--saints-font-sans); margin: .5rem 0 1rem; }
.saints-wc #ship-to-different-address label { display: inline-flex; align-items: center; gap: .25rem; cursor: pointer; font-size: .9rem; }
.saints-wc .col2-set { display: block; width: 100%; }
.saints-wc .col2-set .col-1, .saints-wc .col2-set .col-2 { float: none; width: 100%; max-width: none; }
.saints-wc .col2-set .col-2 { margin-top: 1.5rem; }
.saints-wc .woocommerce-additional-fields { margin-top: 1rem; }

/* Delivery choice cards */
.saints-delivery__options { display: grid; gap: .75rem; }
.saints-delivery__option { position: relative; display: block; cursor: pointer; }
.saints-delivery__option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.saints-delivery__card { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1.25rem 1.4rem; border: 1px solid var(--wc-field); background: #fff; transition: border-color .3s, box-shadow .4s var(--saints-ease); }
.saints-delivery__card .saints-icon { color: var(--saints-green); }
.saints-delivery__card strong { display: block; font-family: var(--saints-font-serif); font-weight: 500; font-size: 1.2rem; line-height: 1.25; color: var(--saints-dark); }
.saints-delivery__card small { display: block; font-size: .78rem; color: var(--saints-text-muted); margin-top: .2rem; line-height: 1.45; }
.saints-delivery__card em { font-style: normal; font-size: .65rem; font-weight: 500; letter-spacing: var(--saints-tracking-wide); text-transform: uppercase; color: var(--saints-green); white-space: nowrap; }
.saints-delivery__option:hover .saints-delivery__card { border-color: var(--saints-green-light); }
.saints-delivery__option input:checked + .saints-delivery__card { border-color: var(--saints-green); box-shadow: inset 0 0 0 1px var(--saints-green), 0 14px 30px -20px rgba(51,83,56,.45); }
.saints-delivery__option input:focus-visible + .saints-delivery__card { outline: 1px solid var(--saints-green); outline-offset: 3px; }
.saints-pickup { margin-top: 1rem; padding: 1.25rem 1.4rem .25rem; border: 1px dashed rgba(51,83,56,.35); background: var(--saints-green-muted); }
.saints-pickup[hidden] { display: none; }
.saints-pickup__intro { display: flex; gap: .6rem; align-items: flex-start; font-size: .85rem; color: var(--saints-dark); margin-bottom: 1rem; }
.saints-pickup__intro .saints-icon { color: var(--saints-green); flex: 0 0 auto; margin-top: 2px; }
.saints-pickup::after { content: ""; display: table; clear: both; }

/* Order review table */
.saints-wc table.woocommerce-checkout-review-order-table thead { display: none; }
.saints-wc table.woocommerce-checkout-review-order-table tr { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--wc-line); }
.saints-wc table.woocommerce-checkout-review-order-table .product-name { font-family: var(--saints-font-serif); font-size: 1.1rem; line-height: 1.3; color: var(--saints-dark); }
.saints-wc table.woocommerce-checkout-review-order-table .product-quantity { font-family: var(--saints-font-sans); font-size: .75rem; color: var(--saints-text-muted); }
.saints-wc table.woocommerce-checkout-review-order-table td.product-total { white-space: nowrap; font-size: .95rem; }
.saints-wc table.woocommerce-checkout-review-order-table tfoot th { font-size: .65rem; font-weight: 500; letter-spacing: var(--saints-tracking-widest); text-transform: uppercase; color: var(--saints-text-muted); text-align: left; }
.saints-wc table.woocommerce-checkout-review-order-table tfoot td { text-align: right; }
.saints-wc table.woocommerce-checkout-review-order-table tr.order-total { border-bottom: 0; padding-top: 1.1rem; }
.saints-wc table.woocommerce-checkout-review-order-table tr.order-total td strong { font-family: var(--saints-font-serif); font-size: 1.6rem; font-weight: 400; }
.saints-wc table.woocommerce-checkout-review-order-table .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; text-align: right; }
.saints-wc table.woocommerce-checkout-review-order-table .woocommerce-shipping-methods li:has(input:not(:checked)) { display: none; }
.saints-wc table.woocommerce-checkout-review-order-table .woocommerce-shipping-methods li:only-child { display: block; }
.saints-wc table.woocommerce-checkout-review-order-table .woocommerce-shipping-methods input { display: none; }
.saints-wc table.woocommerce-checkout-review-order-table .saints-ship-note { display: none; }

/* Payment */
.saints-wc #payment { background: transparent; border-radius: 0; margin-top: 1.25rem; }
.saints-wc #payment ul.payment_methods { list-style: none; margin: 0 0 1rem; padding: 0; border: 0; display: grid; gap: .6rem; }
.saints-wc #payment ul.payment_methods li { position: relative; padding: 0; border: 1px solid var(--wc-field); background: var(--saints-bg); transition: border-color .3s; line-height: 1.4; }
.saints-wc #payment ul.payment_methods li:has(input:checked) { border-color: var(--saints-green); background: #fff; box-shadow: inset 0 0 0 1px var(--saints-green); }
.saints-wc #payment ul.payment_methods li > input { position: absolute; left: 1rem; top: 1.15rem; margin: 0; }
.saints-wc #payment ul.payment_methods li > label { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 1rem 1rem 2.75rem; cursor: pointer; font-size: .9rem; font-weight: 500; color: var(--saints-dark); }
.saints-wc #payment ul.payment_methods li img { max-height: 24px; width: auto; margin: 0; }
.saints-wc #payment div.payment_box { margin: 0; padding: 0 1rem 1rem 2.75rem; background: transparent; color: var(--saints-text-muted); font-size: .8rem; }
.saints-wc #payment div.payment_box::before { display: none; }
.saints-wc #payment .woocommerce-notice, .saints-wc #payment ul.payment_methods li.woocommerce-notice { padding: 1rem; font-size: .85rem; color: var(--saints-dark); }
.saints-wc #payment div.form-row.place-order { padding: 0; margin: 0; }
.saints-wc .woocommerce-privacy-policy-text, .saints-wc .woocommerce-terms-and-conditions-wrapper { font-size: .75rem; color: var(--saints-text-muted); line-height: 1.5; }
.saints-wc .woocommerce-privacy-policy-text a { color: var(--saints-green); }
.saints-wc #place_order { width: 100%; min-height: 60px; font-size: .8rem; margin-top: 1rem; float: none; }
.saints-wc #place_order::before { content: ""; width: 14px; height: 14px; margin-right: .3rem; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='5' y='11' width='14' height='10' rx='1'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='5' y='11' width='14' height='10' rx='1'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat; }
.saints-wc .blockUI.blockOverlay { background: rgba(249, 248, 246, .7) !important; }

/* ==========================================================================
   ORDER RECEIVED
   ========================================================================== */
.saints-thanks { max-width: 900px; margin: 0 auto; padding-top: clamp(1rem, 4vw, 3rem); }
.saints-thanks__hero { text-align: center; padding: clamp(2rem, 6vw, 4rem) 0 clamp(2rem, 4vw, 3rem); }
.saints-thanks__mark { display: block; width: 70px; height: 70px; margin: 0 auto 1.5rem; color: var(--saints-green); animation: saints-thanks-in 1.4s var(--saints-ease) both; }
@keyframes saints-thanks-in { from { opacity: 0; transform: scale(.8) rotate(-20deg); } to { opacity: 1; transform: none; } }
.saints .saints-thanks__title { font-size: clamp(2.4rem, 5.5vw, 4.25rem); font-weight: 300; margin: 0 0 1rem; }
.saints-thanks__title em { color: var(--saints-green); }
.saints-thanks__lead { color: var(--saints-text-muted); max-width: 36em; margin: 0 auto; }
.saints-thanks__card { background: #fff; border: 1px solid var(--wc-line); box-shadow: var(--saints-shadow); }
.saints-thanks__card--failed { padding: clamp(1.5rem, 4vw, 3rem); text-align: center; }
.saints-thanks__card--failed .saints-actions { justify-content: center; }
.saints-thanks__meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-bottom: 1px solid var(--wc-line); }
.saints-thanks__meta div { padding: 1.25rem 1.5rem; border-right: 1px solid var(--wc-line); }
.saints-thanks__meta div:last-child { border-right: 0; }
.saints-thanks__meta dt { font-size: .6rem; font-weight: 500; letter-spacing: var(--saints-tracking-widest); text-transform: uppercase; color: var(--saints-green); margin-bottom: .3rem; }
.saints-thanks__meta dd { margin: 0; font-family: var(--saints-font-serif); font-size: 1.2rem; color: var(--saints-dark); }
.saints-thanks__items { list-style: none; margin: 0; padding: 0 1.5rem; }
.saints-thanks__item { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 1.25rem; align-items: center; padding: 1.5rem 0; border-bottom: 1px solid var(--wc-line); }
.saints-thanks__thumb img { width: 96px; height: 96px !important; object-fit: cover; border: 1px solid var(--saints-border); }
.saints-thanks__info { display: flex; flex-direction: column; gap: .3rem; }
.saints-thanks__info strong { font-family: var(--saints-font-serif); font-weight: 400; font-size: 1.5rem; line-height: 1.1; color: var(--saints-dark); }
.saints-thanks__info small { font-size: .78rem; color: var(--saints-text-muted); }
.saints-thanks__tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .2rem; }
.saints-thanks__tags span { font-size: .7rem; padding: .25rem .65rem; border: 1px solid var(--saints-green); border-radius: 100px; color: var(--saints-green); }
.saints-thanks__cert { display: inline-flex; gap: .45rem; align-items: center; font-size: .78rem; color: var(--saints-text-muted); margin-top: .25rem; }
.saints-thanks__cert .saints-icon { color: var(--saints-green); flex: 0 0 auto; }
.saints-thanks__status { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 1rem; padding: 1.5rem; margin: 0 1.5rem; border-bottom: 1px solid var(--wc-line); padding-inline: 0; }
.saints-thanks__status .saints-icon { color: var(--saints-green); margin-top: 3px; }
.saints-thanks__status strong { display: block; font-family: var(--saints-font-serif); font-weight: 500; font-size: 1.25rem; color: var(--saints-dark); }
.saints-thanks__status p { margin: .3rem 0 0; font-size: .875rem; color: var(--saints-text-muted); }
.saints-thanks__concierge { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; padding: 1.5rem; background: var(--saints-green); color: rgba(255,255,255,.82); }
.saints-thanks__concierge p { margin: 0; font-size: .9rem; max-width: 32em; }
.saints-thanks__concierge .saints-kicker { color: var(--saints-champagne); margin-bottom: .35rem; }
.saints-thanks__concierge .saints-btn--solid { --btn-bg: #fff; --btn-fg: var(--saints-green); --btn-bd: #fff; }
.saints-thanks__concierge .saints-btn--solid::before { background: var(--saints-bg); }
.saints-thanks__concierge .saints-btn--link { --btn-fg: #fff; }

/* Core order details below the card */
.saints-wc .woocommerce-order-details, .saints-wc .woocommerce-customer-details { margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.saints-wc .woocommerce-order-details__title, .saints-wc .woocommerce-column__title { font-size: 1.6rem; margin-bottom: 1rem; }
.saints-wc table.order_details tr, .saints-wc table.woocommerce-table--order-details tr { border-bottom: 1px solid var(--wc-line); }
.saints-wc table.order_details th, .saints-wc table.order_details td { padding: .85rem 0; text-align: left; font-size: .9rem; }
.saints-wc table.order_details tfoot th { font-size: .65rem; letter-spacing: var(--saints-tracking-widest); text-transform: uppercase; color: var(--saints-text-muted); font-weight: 500; }
.saints-wc table.order_details td:last-child, .saints-wc table.order_details th:last-child { text-align: right; }
.saints-wc .woocommerce-customer-details address { border: 1px solid var(--wc-line); border-radius: 0; padding: 1.25rem; font-style: normal; line-height: 1.7; background: #fff; }
.saints-wc .woocommerce-columns--addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.saints-wc .woocommerce-columns--addresses .woocommerce-column { width: auto; float: none; max-width: none; }

/* ==========================================================================
   MY ACCOUNT
   ========================================================================== */
.saints-wc--account .woocommerce { display: block; }
.saints-wc .woocommerce-MyAccount-navigation { float: none; width: 100%; margin-bottom: clamp(2rem, 4vw, 3rem); border-bottom: 1px solid var(--saints-border); overflow-x: auto; scrollbar-width: none; }
.saints-wc .woocommerce-MyAccount-navigation ul { list-style: none; display: flex; gap: clamp(1.25rem, 3vw, 2.5rem); margin: 0; padding: 0; }
.saints-wc .woocommerce-MyAccount-navigation li a { position: relative; display: block; padding: 1rem 0 1.1rem; white-space: nowrap; font-size: .7rem; font-weight: 500; letter-spacing: var(--saints-tracking-widest); text-transform: uppercase; color: var(--saints-text-muted); transition: color .3s; }
.saints-wc .woocommerce-MyAccount-navigation li a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--saints-green); transform: scaleX(0); transition: transform .5s var(--saints-ease); }
.saints-wc .woocommerce-MyAccount-navigation li.is-active a, .saints-wc .woocommerce-MyAccount-navigation li a:hover { color: var(--saints-green); }
.saints-wc .woocommerce-MyAccount-navigation li.is-active a::after, .saints-wc .woocommerce-MyAccount-navigation li a:hover::after { transform: scaleX(1); }
.saints-wc .woocommerce-MyAccount-content { float: none; width: 100%; }
.saints-account-dash .saints-h2 { margin-bottom: .5rem; }
.saints-account-dash__order { display: grid; gap: .3rem; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid var(--wc-line); transition: border-color .3s; }
.saints-account-dash__order:hover { border-color: var(--saints-green); }
.saints-account-dash__order strong { font-family: var(--saints-font-serif); font-weight: 400; font-size: 1.6rem; color: var(--saints-dark); }
.saints-account-dash__order span:not(.saints-kicker):not(.saints-link) { font-size: .85rem; color: var(--saints-text-muted); }
.saints-account-dash__order .saints-link { justify-self: start; margin-top: .5rem; }
.saints-account-dash__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0 2.5rem; }
.saints-account-dash__grid a { display: flex; flex-direction: column; gap: .4rem; padding: 1.5rem; background: #fff; border: 1px solid var(--wc-line); transition: border-color .3s, transform .5s var(--saints-ease); }
.saints-account-dash__grid a:hover { border-color: var(--saints-green); transform: translateY(-3px); }
.saints-account-dash__grid .saints-icon { color: var(--saints-green); margin-bottom: .5rem; }
.saints-account-dash__grid strong { font-family: var(--saints-font-serif); font-weight: 500; font-size: 1.25rem; color: var(--saints-dark); }
.saints-account-dash__grid span { font-size: .78rem; color: var(--saints-text-muted); }
.saints-wc table.woocommerce-orders-table { border: 1px solid var(--wc-line); background: #fff; }
.saints-wc table.woocommerce-orders-table th, .saints-wc table.woocommerce-orders-table td { padding: .9rem 1rem; border-bottom: 1px solid var(--wc-line); text-align: left; font-size: .875rem; }
.saints-wc table.woocommerce-orders-table thead th { font-size: .62rem; letter-spacing: var(--saints-tracking-widest); text-transform: uppercase; color: var(--saints-green); font-weight: 500; }
.saints-wc table.woocommerce-orders-table .button { min-height: 38px; padding: 0 1rem; font-size: .62rem; }
.saints-wc .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.saints-wc .woocommerce-Addresses .woocommerce-Address { width: auto; float: none; padding: 1.5rem; border: 1px solid var(--wc-line); background: #fff; }
.saints-wc .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; }
.saints-wc .woocommerce-Address-title h2 { font-size: 1.4rem; margin: 0 0 1rem; }
.saints-wc .woocommerce-Address-title .edit { font-size: .65rem; letter-spacing: var(--saints-tracking-wide); text-transform: uppercase; color: var(--saints-green); border-bottom: 1px solid currentColor; }
.saints-wc .woocommerce-Address address { font-style: normal; line-height: 1.7; }

/* Login / register */
.saints-wc .u-columns.col2-set { display: grid !important; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3rem); }
.saints-wc .u-columns .u-column1, .saints-wc .u-columns .u-column2 { width: auto; float: none; }
.saints-wc .woocommerce-form-login, .saints-wc .woocommerce-form-register { border: 1px solid var(--wc-line) !important; border-radius: 0 !important; padding: clamp(1.5rem, 4vw, 2.5rem) !important; background: #fff; margin: 0 !important; }
.saints-wc--account h2 { font-size: 1.75rem; }
.saints-wc .woocommerce-form-login__rememberme { display: block; margin: .5rem 0 1rem; font-size: .85rem; }
.saints-wc .woocommerce-LostPassword a { font-size: .8rem; color: var(--saints-green); border-bottom: 1px solid currentColor; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1024px) {
	.saints-wc--cart .woocommerce, .saints-checkout { grid-template-columns: minmax(0, 1fr); }
	.saints-wc--cart .cart-collaterals, .saints-checkout__summary { grid-column: 1; position: static; }
	.saints-account-dash__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.saints-wc__steps { font-size: .55rem; gap: .6rem; }
	.saints-wc__steps li:not(:last-child)::after { width: .9rem; margin-left: .6rem; }
	.saints-wc table.cart tr.cart_item { grid-template-columns: 88px minmax(0, 1fr) auto; grid-template-areas: "thumb name name" "thumb qty total" "thumb remove remove"; column-gap: 1rem; padding: 1.25rem 0; }
	.saints-wc table.cart td.product-thumbnail img { width: 88px; height: 88px !important; }
	.saints-wc table.cart .product-name > a { font-size: 1.2rem; }
	.saints-wc table.cart td.product-subtotal { font-size: 1.1rem; min-width: 0; }
	.saints-wc table.cart td.product-remove { text-align: left; }
	.saints-trust { grid-template-columns: 1fr; }
	.saints-wc .form-row-first, .saints-wc .form-row-last { width: 100%; float: none; }
	.saints-thanks__meta { grid-template-columns: 1fr 1fr; }
	.saints-thanks__meta div:nth-child(2) { border-right: 0; }
	.saints-thanks__meta div:nth-child(-n+2) { border-bottom: 1px solid var(--wc-line); }
	.saints-thanks__item { grid-template-columns: 72px minmax(0, 1fr); }
	.saints-thanks__thumb img { width: 72px; height: 72px !important; }
	.saints-wc .woocommerce-columns--addresses, .saints-wc .woocommerce-Addresses, .saints-wc .u-columns.col2-set { grid-template-columns: 1fr; }
	.saints-account-dash__grid { grid-template-columns: 1fr 1fr; }
	.saints-delivery__card { grid-template-columns: 22px minmax(0, 1fr); }
	.saints-delivery__card em { grid-column: 2; }
}
.saints-wc dl.variation { font-family: var(--saints-font-sans); }
