/* =========================================================================
   EGlobeStore — premium Cart / checkout-flow pages
   ========================================================================= */

.egs-wcpage { padding: 40px 0 90px; background:
	radial-gradient(900px 420px at 80% -10%, rgba(34,211,238,.06), transparent 60%),
	radial-gradient(900px 460px at -5% 0%, rgba(37,99,235,.07), transparent 60%);
}
.egs-wcpage .container { max-width: var(--container); }
.egs-wcpage__title { font-size: clamp(28px, 4vw, 44px); font-weight: 900; letter-spacing: -.02em; margin: 6px 0 26px; }

/* ---- buttons (cart pages load without elementor.css) ---- */
.egs-ebtn {
	display: inline-flex; align-items: center; justify-content: center; gap: 9px;
	font-family: inherit; font-weight: 700; font-size: 15px; line-height: 1;
	padding: 15px 28px; border: none !important; border-radius: 999px;
	box-shadow: none !important; outline: none; cursor: pointer; text-decoration: none;
	transition: transform .25s var(--ease), background .25s ease, color .2s ease;
}
.egs-ebtn:focus, .egs-ebtn:focus-visible, .egs-ebtn:active { box-shadow: none !important; outline: none; border: none !important; }
.egs-ebtn--primary { background: var(--brand); color: #fff; }
.egs-ebtn--primary:hover { background: var(--brand-600); color: #fff; transform: translateY(-2px); }
.egs-ebtn--ghost { background: var(--bg-soft); color: var(--text); }
.egs-ebtn--ghost:hover { background: var(--bg-soft-2); color: var(--text); }

/* =========================================================================
   3-step indicator
   ========================================================================= */
.egs-steps {
	display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
	gap: 8px 6px; margin: 0 auto 34px; padding: 0;
}
.egs-step { display: inline-flex; align-items: center; gap: 11px; color: var(--muted); font-weight: 700; font-size: 15px; text-decoration: none; }
.egs-step__num {
	width: 36px; height: 36px; flex: none; border-radius: 50%;
	display: grid; place-items: center; font-weight: 800; font-size: 14px;
	background: var(--bg-soft-2); color: var(--muted); border: 2px solid transparent;
	transition: .3s var(--ease);
}
.egs-step__num .egs-icon { width: 16px; height: 16px; }
.egs-step--active { color: var(--text); }
.egs-step--active .egs-step__num { background: transparent; color: var(--brand); border: 2px solid var(--brand); box-shadow: none; transform: none; }
.egs-step--done { color: var(--text); }
.egs-step--done .egs-step__num { background: rgba(37,99,235,.12); color: var(--brand); }
.egs-step--done:hover .egs-step__num { background: rgba(37,99,235,.18); }
.egs-step__sep { display: inline-flex; color: var(--border-2); margin: 0 4px; }
.egs-step__sep .egs-icon { width: 18px; height: 18px; }

/* =========================================================================
   Cart layout
   ========================================================================= */
.egs-cart { position: relative; }
.egs-cart.is-loading { pointer-events: none; }
.egs-cart.is-loading .egs-cart__main,
.egs-cart.is-loading .egs-cart__side { opacity: .55; filter: saturate(.85); transition: opacity .2s; }

.egs-freeship-wrap { margin-bottom: 22px; }

.egs-cart-notices:empty { display: none; }
.egs-cart-notices { margin-bottom: 18px; }
.egs-cart-notices .woocommerce-message,
.egs-cart-notices .woocommerce-error,
.egs-cart-notices .woocommerce-info {
	list-style: none; margin: 0 0 10px; padding: 14px 18px; border-radius: var(--r-sm);
	font-weight: 600; font-size: 14.5px; display: flex; align-items: center; gap: 10px;
	border: 1.5px solid var(--border);
}
.egs-cart-notices .woocommerce-message { background: rgba(22,163,74,.08); border-color: rgba(22,163,74,.25); color: #15803d; }
.egs-cart-notices .woocommerce-error { background: rgba(239,68,68,.07); border-color: rgba(239,68,68,.28); color: #dc2626; }
.egs-cart-notices .woocommerce-info { background: rgba(37,99,235,.07); border-color: rgba(37,99,235,.25); color: var(--brand-600); }
.egs-cart-notices .button { display: none; }

.egs-cart__grid {
	display: grid; grid-template-columns: minmax(0,1fr) 384px; gap: 30px; align-items: start;
}

/* ---- items ---- */
.egs-cart__main {
	background: var(--surface); border: 1.5px solid var(--border); border-radius: var(--r-lg);
	padding: 8px 28px 26px; box-shadow: var(--sh-sm);
}
.egs-citems__head, .egs-citem {
	display: grid; grid-template-columns: minmax(0,1fr) 120px 148px 120px; align-items: center; gap: 18px;
}
.egs-citems__head {
	padding: 18px 0 14px; border-bottom: 1.5px solid var(--border);
	font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted);
}
.egs-citems__head span:nth-child(2), .egs-citems__head span:nth-child(3) { text-align: center; }
.egs-citems__head span:nth-child(4) { text-align: right; }

.egs-citem { padding: 22px 0; border-bottom: 1.5px solid var(--border); position: relative; transition: opacity .25s, transform .25s; }
.egs-citem:last-child { border-bottom: none; }
.egs-citem.is-removing { opacity: .35; transform: translateX(8px); }

.egs-citem__product { display: flex; align-items: center; gap: 16px; min-width: 0; }
.egs-citem__remove {
	flex: none; width: 30px; height: 30px; display: grid; place-items: center;
	border: none; background: var(--bg-soft); color: var(--muted); border-radius: 50%;
	cursor: pointer; transition: .2s; padding: 0;
}
.egs-citem__remove:hover { background: rgba(239,68,68,.12); color: var(--sale); transform: rotate(90deg); }
.egs-citem__remove .egs-icon { width: 16px; height: 16px; }
.egs-citem__thumb {
	flex: none; width: 86px; height: 86px; border-radius: var(--r-sm); overflow: hidden;
	background: var(--bg-soft); border: 1.5px solid var(--border); display: grid; place-items: center;
}
.egs-citem__thumb img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.egs-citem__meta { min-width: 0; }
.egs-citem__name {
	display: block; font-weight: 800; font-size: 15.5px; line-height: 1.3; color: var(--text);
	text-decoration: none; transition: color .2s;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
a.egs-citem__name:hover { color: var(--brand); }
.egs-citem__meta .variation { margin: 6px 0 0; font-size: 12.5px; color: var(--muted); }
.egs-citem__meta .variation dt, .egs-citem__meta .variation dd { display: inline; margin: 0; }

.egs-citem__price { text-align: center; color: var(--text-2); font-weight: 600; }
.egs-citem__subtotal { text-align: right; font-weight: 800; color: var(--text); font-size: 16px; }
.egs-citem__qtycell { display: flex; justify-content: center; }
.egs-citem__qtyfixed { font-weight: 700; color: var(--text); }

/* ---- quantity stepper ---- */
.egs-qty { display: inline-flex; align-items: center; background: var(--bg-soft); border: 1.5px solid var(--border); border-radius: var(--pill); padding: 3px; }
.egs-qty__btn {
	width: 34px; height: 34px; border: none; background: transparent; color: var(--text);
	font-size: 19px; line-height: 1; cursor: pointer; border-radius: 50%; display: grid; place-items: center;
	transition: .18s; padding: 0;
}
.egs-qty__btn:hover { background: #fff; color: var(--brand); box-shadow: var(--sh-sm); }
.egs-qty__input {
	width: 42px; text-align: center; border: none; background: transparent; font-family: inherit;
	font-weight: 800; font-size: 15px; color: var(--text); -moz-appearance: textfield; appearance: textfield;
}
.egs-qty__input::-webkit-outer-spin-button, .egs-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.egs-qty__input:focus { outline: none; }

/* ---- actions row (continue + coupon) ---- */
.egs-cart__actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; padding-top: 22px; }
.egs-cart__continue { display: inline-flex; align-items: center; gap: 9px; font-weight: 700; color: var(--text-2); font-size: 14.5px; }
.egs-cart__continue .egs-icon { transform: rotate(180deg); transition: transform .25s; }
.egs-cart__continue:hover { color: var(--brand); }
.egs-cart__continue:hover .egs-icon { transform: rotate(180deg) translateX(3px); }

.egs-coupon { display: flex; align-items: center; gap: 10px; background: var(--bg-soft); border: 1.5px solid var(--border); border-radius: var(--pill); padding: 5px 6px 5px 18px; }
.egs-coupon__input { border: none; background: transparent; font-family: inherit; font-size: 14.5px; font-weight: 600; color: var(--text); width: 150px; }
.egs-coupon__input::placeholder { color: var(--muted); font-weight: 500; }
.egs-coupon__input:focus { outline: none; }
.egs-coupon__apply { padding: 12px 22px; font-size: 14px; position: relative; }
.egs-coupon__apply.is-busy .egs-coupon__applytxt { opacity: 0; }
.egs-coupon__spin { display: none; }
.egs-coupon__apply.is-busy .egs-coupon__spin {
	display: block; position: absolute; width: 16px; height: 16px; border-radius: 50%;
	border: 2px solid rgba(0,0,0,.18); border-top-color: var(--text); animation: egs-spin .7s linear infinite;
}
@keyframes egs-spin { to { transform: rotate(360deg); } }

/* =========================================================================
   Cart totals (sidebar)
   ========================================================================= */
.egs-cart__side { position: sticky; top: calc(var(--header-h) + 18px); }
.cart_totals.egs-totals {
	background: var(--surface); border: 1.5px solid var(--border); border-radius: var(--r-lg);
	padding: 26px 26px 24px; box-shadow: var(--sh);
}
.egs-totals__title { margin: 0 0 6px; font-size: 20px; font-weight: 900; letter-spacing: -.01em; color: var(--text); }
.egs-totals__table { width: 100%; border-collapse: collapse; margin: 0; }
.egs-totals__table tr { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 15px 0; border-bottom: 1.5px solid var(--border); }
.egs-totals__table tr:first-child { padding-top: 14px; }
.egs-totals__table th { font-weight: 600; color: var(--muted); text-align: left; font-size: 14.5px; padding: 0; }
.egs-totals__table td { font-weight: 700; color: var(--text); text-align: right; font-size: 15px; padding: 0; }
.egs-totals__table td .amount { font-weight: 700; }

.egs-totals__line--discount th, .egs-totals__line--discount td { color: #15803d; }
.egs-totals__couponx {
	border: none; background: rgba(239,68,68,.1); color: var(--sale); width: 20px; height: 20px;
	border-radius: 50%; font-size: 15px; line-height: 1; cursor: pointer; margin-left: 8px; padding: 0;
	display: inline-grid; place-items: center; vertical-align: middle; transition: .2s;
}
.egs-totals__couponx:hover { background: var(--sale); color: #fff; }

/* shipping rows */
.egs-totals .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; text-align: right; }
.egs-totals .woocommerce-shipping-methods li { margin: 0 0 9px; display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.egs-totals .woocommerce-shipping-methods li:last-child { margin-bottom: 0; }
.egs-totals .woocommerce-shipping-methods input[type="radio"] { accent-color: var(--brand); width: 17px; height: 17px; cursor: pointer; }
.egs-totals .woocommerce-shipping-methods label { font-weight: 600; color: var(--text-2); font-size: 14px; cursor: pointer; }
.egs-totals .woocommerce-shipping-methods .amount { color: var(--text); font-weight: 700; }
.egs-totals .shipping-calculator-button { color: var(--brand-600); font-weight: 700; font-size: 13px; }
.egs-totals tr.shipping td, .egs-totals tr.woocommerce-shipping-totals td { text-align: right; }
.egs-totals .woocommerce-Price-amount { white-space: nowrap; }
.egs-totals small { color: var(--muted); font-weight: 500; display: block; margin-top: 3px; font-size: 11.5px; }

.egs-totals__line--total { padding: 18px 0 6px !important; border-bottom: none !important; align-items: center; }
.egs-totals__line--total th { font-size: 17px; font-weight: 800; color: var(--text); }
.egs-totals__line--total td { font-size: 24px; font-weight: 900; color: var(--brand-600); }

.egs-totals__checkout { margin-top: 18px; }
.woocommerce .egs-totals__checkout a.checkout-button,
.egs-totals__checkout .checkout-button {
	width: 100%; padding: 17px 26px; font-size: 15.5px;
	background: var(--brand); color: #fff; box-shadow: none;
}
.woocommerce .egs-totals__checkout a.checkout-button:hover,
.egs-totals__checkout .checkout-button:hover {
	background: var(--brand-700); color: #fff; transform: translateY(-2px); box-shadow: none;
}
.egs-totals__checkout .checkout-button .egs-icon { transition: transform .25s; }
.egs-totals__checkout .checkout-button:hover .egs-icon { transform: translateX(4px); }

.egs-totals__trust { list-style: none; margin: 18px 0 0; padding: 16px 0 0; border-top: 1.5px dashed var(--border); display: grid; gap: 10px; }
.egs-totals__trust li { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; color: var(--text-2); }
.egs-totals__trust .egs-icon { color: var(--brand); width: 17px; height: 17px; flex: none; }

/* =========================================================================
   Empty cart
   ========================================================================= */
.egs-cart-empty {
	text-align: center; max-width: 520px; margin: 10px auto 0; padding: 56px 30px;
	background: var(--surface); border: 1.5px solid var(--border); border-radius: var(--r-lg); box-shadow: var(--sh-sm);
}
.egs-cart-empty__icon { width: 86px; height: 86px; border-radius: 50%; margin: 0 auto 22px; display: grid; place-items: center; background: var(--bg-soft-2); color: var(--brand); }
.egs-cart-empty__title { font-size: 26px; font-weight: 900; margin: 0 0 10px; color: var(--text); }
.egs-cart-empty__text { color: var(--muted); font-size: 15px; line-height: 1.6; margin: 0 0 26px; }

/* =========================================================================
   "You may be interested in…"
   ========================================================================= */
.egs-cart-related { margin-top: 64px; }
.egs-cart-related .egs-sechead { margin-bottom: 26px; }

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width: 1080px) {
	.egs-cart__grid { grid-template-columns: 1fr; }
	.egs-cart__side { position: static; }
}

@media (max-width: 720px) {
	.egs-wcpage { padding: 24px 0 70px; }
	.egs-cart__main { padding: 6px 16px 18px; }
	.egs-citems__head { display: none; }
	.egs-citem {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"prod prod"
			"price qty"
			"sub sub";
		gap: 14px; padding: 20px 0;
	}
	.egs-citem__product { grid-area: prod; }
	.egs-citem__price { grid-area: price; text-align: left; }
	.egs-citem__qtycell { grid-area: qty; justify-content: flex-end; }
	.egs-citem__subtotal { grid-area: sub; text-align: left; display: flex; align-items: center; gap: 8px; padding-top: 12px; border-top: 1.5px dashed var(--border); }
	.egs-citem__price::before, .egs-citem__subtotal::before {
		content: attr(data-label); font-size: 12px; font-weight: 700; text-transform: uppercase;
		letter-spacing: .04em; color: var(--muted); margin-right: 6px;
	}
	.egs-citem__subtotal::before { color: var(--muted); font-weight: 700; }
	.egs-cart__actions { flex-direction: column-reverse; align-items: stretch; }
	.egs-coupon { justify-content: space-between; }
	.egs-coupon__input { width: 100%; flex: 1; }
	.egs-cart__continue { justify-content: center; }
	.egs-steps { gap: 4px; }
	.egs-step__label { font-size: 13px; }
	.egs-step__num { width: 30px; height: 30px; font-size: 13px; }
	.egs-step__sep { margin: 0; }
}

@media (max-width: 420px) {
	.egs-step__label { display: none; }
}

/* =========================================================================
   Checkout — Billing details (left) + Your order (right), responsive
   ========================================================================= */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 412px;
	grid-template-areas: "details review";
	column-gap: 32px; align-items: start;
}
.woocommerce-checkout #customer_details { grid-area: details; min-width: 0; }
.woocommerce-checkout #order_review { grid-area: review; position: sticky; top: calc(var(--header-h) + 18px); }
.woocommerce-checkout #order_review_heading { margin: 0 0 18px; font-size: 20px; font-weight: 900; letter-spacing: -.01em; color: var(--text); }

/* customer-detail blocks stack within the left column */
.woocommerce-checkout #customer_details .col2-set,
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-checkout #customer_details .col-2 { margin-top: 22px; }

/* field cards */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	background: var(--surface); border: 1.5px solid var(--border); border-radius: var(--r-lg);
	padding: 24px 26px 12px; box-shadow: var(--sh-sm);
}
.woocommerce-checkout .woocommerce-additional-fields { margin-top: 22px; }
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .woocommerce-additional-fields h3 { font-size: 18px; font-weight: 900; color: var(--text); margin: 0 0 18px; }
.woocommerce-checkout #ship-to-different-address { font-size: 18px; font-weight: 900; }

/* inputs */
.woocommerce-checkout .form-row { margin: 0 0 16px; padding: 0; }
.woocommerce-checkout .form-row label { display: block; font-weight: 600; font-size: 13px; color: var(--text-2); margin-bottom: 7px; }
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection,
.woocommerce-checkout textarea {
	width: 100%; padding: 13px 15px; border: 1.5px solid var(--border); border-radius: var(--r-sm);
	background: var(--bg-soft); font-family: inherit; font-size: 14.5px; color: var(--text);
	transition: border-color .2s, box-shadow .2s, background .2s; box-sizing: border-box;
}
.woocommerce-checkout .select2-container .select2-selection { height: 49px; display: flex; align-items: center; }
.woocommerce-checkout .select2-container .select2-selection__rendered { padding: 0; line-height: 1.4; }
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
	outline: none; border-color: var(--brand); background: #fff; box-shadow: 0 0 0 4px rgba(37,99,235,.10);
}
.woocommerce-checkout .form-row .required { color: var(--brand); text-decoration: none; }

/* two-up name fields on wider screens */
@media (min-width: 560px) {
	.woocommerce-checkout .form-row-first { float: left; width: calc(50% - 8px); }
	.woocommerce-checkout .form-row-last { float: right; width: calc(50% - 8px); }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper::after { content: ""; display: table; clear: both; }
	.woocommerce-checkout .form-row-wide { clear: both; }
}

/* order review card */
.woocommerce-checkout #order_review {
	background: var(--surface); border: 1.5px solid var(--border); border-radius: var(--r-lg);
	padding: 24px 26px 24px; box-shadow: var(--sh);
}
/* Reset WooCommerce's rounded/bordered shop_table so nothing clips inside the card. */
.woocommerce-checkout table.woocommerce-checkout-review-order-table { border-radius: 0 !important; border: none !important; background: transparent !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td { background: transparent !important; border-left: none !important; border-right: none !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; margin: 0 0 16px; font-size: 14.5px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th { font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); padding: 0 0 10px; border-bottom: 1.5px solid var(--border); text-align: left; }
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-total { text-align: right; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody th { padding: 13px 0; border-bottom: 1.5px solid var(--border); vertical-align: top; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name { font-weight: 700; color: var(--text); text-align: left; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .product-quantity { color: var(--muted); font-weight: 600; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total { text-align: right; font-weight: 700; color: var(--text); white-space: nowrap; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th { text-align: left; font-weight: 600; color: var(--muted); padding: 12px 0; border-bottom: 1.5px solid var(--border); }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td { text-align: right; font-weight: 800; color: var(--text); padding: 12px 0; border-bottom: 1.5px solid var(--border); }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child td { border-bottom: none; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th { font-size: 17px; font-weight: 900; color: var(--text); }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total .amount { font-size: 22px; font-weight: 900; color: var(--brand-600); }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping label { font-weight: 600; color: var(--text-2); }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping input[type="radio"] { accent-color: var(--brand); margin-right: 7px; }

/* payment box */
.woocommerce-checkout #payment { background: var(--bg-soft); border-radius: var(--r); padding: 4px 20px; border: 1.5px solid var(--border); }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; margin: 0; padding: 16px 0; border: none; }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0 0 8px; font-weight: 600; color: var(--text); }
.woocommerce-checkout #payment ul.payment_methods input[type="radio"] { accent-color: var(--brand); margin-right: 8px; }
.woocommerce-checkout #payment .payment_box { background: #fff; border-radius: var(--r-sm); padding: 14px 16px; font-size: 13.5px; color: var(--muted); }
.woocommerce-checkout #payment .payment_box::before { display: none; }
.woocommerce-checkout #payment .place-order { padding: 8px 0 12px; }
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper { padding: 6px 0 14px; font-size: 13px; }

/* place order button */
.woocommerce-checkout #place_order {
	width: 100%; background: var(--brand) !important; color: #fff !important; border: none !important; border-radius: 999px;
	padding: 17px 26px; font-family: inherit; font-weight: 700; font-size: 15.5px; box-shadow: none !important;
	cursor: pointer; transition: background .25s, transform .25s;
}
.woocommerce-checkout #place_order:hover { background: var(--brand-700) !important; color: #fff !important; transform: translateY(-2px); box-shadow: none !important; }

/* coupon / login toggles above the form */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle { margin-bottom: 18px; }
.woocommerce-checkout .checkout_coupon,
.woocommerce-checkout .woocommerce-form-login {
	background: var(--surface); border: 1.5px solid var(--border); border-radius: var(--r-lg); padding: 22px 24px; margin-bottom: 22px;
}
.woocommerce-checkout .checkout_coupon .button,
.woocommerce-checkout .woocommerce-form-login .button {
	background: var(--brand); color: #fff; border-radius: 999px; padding: 12px 24px; border: none; font-weight: 700;
}

@media (max-width: 960px) {
	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
		grid-template-areas: "details" "review";
	}
	.woocommerce-checkout #order_review { position: static; margin-top: 22px; }
}
