/* Waslli Kuwait design layer: kw-checkout. Loaded after the base stylesheet.
 * Cart, checkout, thank-you, account and content pages (is_page). Colours come
 * from the brand tokens only. */

/* ------------------------------------------------------------------
 * 1. Shared: fields, notices, links
 * ------------------------------------------------------------------ */

/* 16px fields on phones so iOS Safari does not zoom on focus. */
@media (max-width: 900px) {
	html body .site-main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="image"]), select, textarea),
	html body .select2-container .select2-search__field {
		font-size: 16px !important;
	}
}

/* Notices: the icon sits in its own gutter instead of on the first word. */
body .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	position: relative;
	padding-block: 14px;
	padding-inline: 46px 16px;
	border: 1px solid var(--waslli-line);
	border-top: 3px solid var(--waslli-primary);
	border-bottom: 1px solid var(--waslli-line);
	border-radius: var(--waslli-radius);
	background: var(--waslli-white, #fff);
	color: var(--waslli-ink);
	font-size: 14px;
	line-height: 1.7;
}
body .woocommerce .woocommerce-error {
	border-top-color: var(--waslli-danger, #B42318);
}
/* WooCommerce focuses a new notice for screen readers; it is not a control, so no focus ring. */
body .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-NoticeGroup):focus {
	outline: none;
}
body .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before {
	position: absolute;
	top: 15px;
	inset-inline-start: 16px;
	inset-inline-end: auto;
	color: var(--waslli-primary);
}
body .woocommerce .woocommerce-error::before {
	color: var(--waslli-danger, #B42318);
}
body .woocommerce .woocommerce-error li {
	margin: 0;
	padding: 0;
	list-style: none;
}
body .woocommerce .woocommerce-error li + li {
	margin-top: 4px;
}
body .entry-content .woocommerce .woocommerce-error a:not(.button) {
	color: inherit;
	text-decoration: none;
}
/* Already on the cart: no «عرض السلة» button inside the added-to-cart notice. */
body.waslli-cart-v2 .woocommerce-message .button.wc-forward {
	display: none;
}

/* Underline only prose links; buttons and cards keep their own look. */
.entry-content a {
	text-decoration: none;
}
.entry-content :is(p, li, dd, td) > a:not([class]),
.entry-content .woocommerce-privacy-policy-text a {
	text-decoration: underline;
	text-underline-offset: 3px;
}
body .entry-content .woocommerce .woocommerce-error li > a {
	text-decoration: none;
}

/* Steps (cart + checkout) */
.waslli-cart-step.is-active {
	background: var(--waslli-dark);
	box-shadow: none;
	transform: none;
}
.waslli-checkout-steps .is-done .waslli-cart-step__num {
	background: var(--waslli-primary-soft, var(--waslli-bg));
	border-color: transparent;
	color: var(--waslli-primary);
}
.waslli-checkout-steps .is-done .waslli-cart-step__label {
	color: var(--waslli-primary);
}

/* Free-delivery strip (cart progress + checkout top bar) */
body .waslli-cart-progress__bar,
body .waslli-cart-progress__bar--free,
body .waslli-cart-progress__bar--info {
	padding: 12px 16px;
	background: var(--waslli-primary-soft, var(--waslli-bg));
	border: 1px solid var(--waslli-line);
	border-radius: var(--waslli-radius);
	box-shadow: none;
}
body .waslli-cart-progress__bar strong { color: var(--waslli-dark); }
body .waslli-cart-progress__bar small { color: var(--waslli-muted); }
body .waslli-cart-progress__badge {
	background: var(--waslli-dark);
	color: #fff;
	box-shadow: none;
	animation: none;
}
body .waslli-cart-progress__icon { animation: none; }
body .waslli-cart-progress__track { background: var(--waslli-line); }
body .waslli-cart-progress__fill { background: var(--waslli-primary); }

/* ------------------------------------------------------------------
 * 2. Checkout
 * ------------------------------------------------------------------ */

/* Align the cart / checkout content with the page title and header edges. */
body:is(.waslli-checkout-v2, .waslli-cart-v2) .entry-content > .woocommerce {
	max-width: none;
	padding-inline: 0;
}

body.waslli-checkout-v2 .entry-title,
body.woocommerce-checkout .entry-header .entry-title {
	margin-bottom: 0;
}

body.waslli-checkout-v2 .waslli-checkout-steps {
	margin: 12px auto 16px !important;
}

/* Free delivery strip */
body.waslli-checkout-v2 .waslli-checkout-topbar {
	display: block;
	max-width: none;
	margin: 0 0 14px;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}
body.waslli-checkout-v2 .waslli-checkout-topbar__free {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	background: var(--waslli-primary-soft, var(--waslli-bg));
	border: 1px solid var(--waslli-line);
	border-radius: var(--waslli-radius);
}
body.waslli-checkout-v2 .waslli-checkout-topbar__free svg {
	flex: 0 0 auto;
	color: var(--waslli-primary);
}
body.waslli-checkout-v2 .waslli-checkout-topbar__free strong {
	display: block;
	color: var(--waslli-dark);
	font-size: 15px;
}
body.waslli-checkout-v2 .waslli-checkout-topbar__free small {
	display: block;
	margin-top: 1px;
	color: var(--waslli-muted);
	font-size: 13px;
}

/* Coupon: WooCommerce's collapsed «لديك كوبون خصم؟» toggle, not an open form. */
body.waslli-checkout-v2 .woocommerce-form-coupon-toggle {
	display: block !important;
	margin: 0 0 14px;
	padding: 0;
	border: 0;
	background: none;
}
body.waslli-checkout-v2 .woocommerce-form-coupon-toggle .woocommerce-info {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--waslli-muted);
	font-size: 14px;
}
body.waslli-checkout-v2 .woocommerce-form-coupon-toggle .woocommerce-info::before {
	display: none;
}
body.waslli-checkout-v2 .woocommerce-form-coupon-toggle a.showcoupon {
	color: var(--waslli-primary);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}
/* The base theme forces the form open; keep WooCommerce's inline display:none until the toggle opens it. */
body.waslli-checkout-v2 form.checkout_coupon[style*="display: none"],
body.waslli-checkout-v2 form.checkout_coupon[style*="display:none"] {
	display: none !important;
}
body.waslli-checkout-v2 form.checkout_coupon {
	margin: 0 0 16px !important;
	padding: 14px;
	border: 1px solid var(--waslli-line) !important;
	border-radius: var(--waslli-radius) !important;
	background: var(--waslli-white, #fff);
}
body.waslli-checkout-v2 form.checkout_coupon input.input-text {
	min-height: 48px;
	border: 1.5px solid var(--waslli-line-strong, #C3CEDD);
	border-radius: var(--waslli-radius);
}
body.waslli-checkout-v2 form.checkout_coupon button.button {
	min-height: 48px;
	border: 1.5px solid var(--waslli-dark);
	border-radius: var(--waslli-radius);
	background: var(--waslli-white, #fff);
	color: var(--waslli-dark);
}
body.waslli-checkout-v2 form.checkout_coupon button.button:hover {
	background: var(--waslli-dark);
	color: #fff;
}

/* Section heads */
body.waslli-checkout-v2 .waslli-checkout-section-head {
	margin: 0 0 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--waslli-line);
}
body.waslli-checkout-v2 .waslli-checkout-section-head__num {
	width: 30px;
	height: 30px;
	background: var(--waslli-dark);
	box-shadow: none;
	font-size: 14px;
}
body.waslli-checkout-v2 .waslli-checkout-section-head h3 {
	color: var(--waslli-dark);
	font-size: 18px;
	font-weight: 800;
}
body.waslli-checkout-v2 .waslli-checkout-section-head p {
	color: var(--waslli-muted);
	font-size: 13px;
}

/* Layout: one column on phones, form + summary side by side from 901px. */
body.waslli-checkout-v2 form.checkout.woocommerce-checkout {
	display: block;
}
body.waslli-checkout-v2 form.checkout .woocommerce-billing-fields__field-wrapper {
	gap: 0;
}
body.waslli-checkout-v2 form.checkout > h3#order_review_heading {
	display: none;
}
body.waslli-checkout-v2 form.checkout #customer_details,
body.waslli-checkout-v2 form.checkout > #order_review {
	padding: 18px;
	border: 1px solid var(--waslli-line);
	border-radius: var(--waslli-radius);
	background: var(--waslli-white, #fff);
	box-shadow: var(--waslli-shadow, none);
}
body.waslli-checkout-v2 form.checkout > #order_review {
	position: static;
	max-height: none;
	overflow: visible;
}
body.waslli-checkout-v2 form.checkout #customer_details {
	margin-bottom: 20px;
}

@media (min-width: 901px) {
	body.waslli-checkout-v2 form.checkout.woocommerce-checkout {
		display: grid;
		grid-template-columns: minmax(0, 1.35fr) minmax(340px, 1fr);
		grid-template-rows: auto auto auto 1fr;
		gap: 0 28px;
		align-items: start;
	}
	/* WooCommerce prepends its notices to the form: full width above both
	 * columns (rows 1-2, empty when there is no notice), not under the fields. */
	body.waslli-checkout-v2 form.checkout > .woocommerce-NoticeGroup {
		grid-column: 1 / -1;
		margin-bottom: 16px;
	}
	body.waslli-checkout-v2 form.checkout > .woocommerce-NoticeGroup-updateOrderReview {
		grid-row: 1;
	}
	body.waslli-checkout-v2 form.checkout > .woocommerce-NoticeGroup-checkout {
		grid-row: 2;
	}
	body.waslli-checkout-v2 form.checkout > .waslli-checkout-section-head {
		grid-column: 1;
		grid-row: 3;
		margin-bottom: 14px;
	}
	body.waslli-checkout-v2 form.checkout > .waslli-checkout-section-head--right {
		grid-column: 2;
	}
	body.waslli-checkout-v2 form.checkout > #customer_details {
		grid-column: 1;
		grid-row: 4;
		margin: 0;
	}
	body.waslli-checkout-v2 form.checkout > #order_review {
		grid-column: 2;
		grid-row: 4;
	}
	/* Name and mobile side by side; every other row full width. */
	body.waslli-checkout-v2 form.checkout .woocommerce-billing-fields__field-wrapper {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 16px;
	}
	body.waslli-checkout-v2 form.checkout .woocommerce-billing-fields__field-wrapper > .form-row {
		grid-column: 1 / -1;
	}
	body.waslli-checkout-v2 form.checkout .woocommerce-billing-fields__field-wrapper > :is(#billing_first_name_field, #billing_phone_field) {
		grid-column: auto;
	}
}

/* Fields */
body.waslli-checkout-v2 form.checkout .form-row {
	width: 100% !important;
	margin: 0 0 14px !important;
	float: none !important;
}
/* Single-option country row (KW only): kept in the DOM for address-i18n.js, not shown. */
body.waslli-checkout-v2 :is(#billing_country_field, #shipping_country_field):has(select > option:only-child) {
	display: none !important;
}
body.waslli-checkout-v2 .form-row label {
	margin-bottom: 6px;
	color: var(--waslli-ink);
	font-size: 14px;
	font-weight: 700;
}
body.waslli-checkout-v2 .form-row label .required {
	color: var(--waslli-danger, #B42318);
}
body.waslli-checkout-v2 .form-row label .optional {
	color: var(--waslli-muted);
	font-weight: 400;
}
body.waslli-checkout-v2 .form-row :is(input.input-text, textarea, select),
body.waslli-checkout-v2 .form-row .select2-container .select2-selection {
	min-height: 48px !important;
	padding: 10px 14px !important;
	border: 1.5px solid var(--waslli-line-strong, #C3CEDD) !important;
	border-radius: var(--waslli-radius) !important;
	background: var(--waslli-white, #fff) !important;
	color: var(--waslli-ink) !important;
	font-size: 16px !important;
	box-shadow: none !important;
}
body.waslli-checkout-v2 .form-row textarea {
	min-height: 88px !important;
}
body.waslli-checkout-v2 .form-row :is(input.input-text, textarea, select):focus,
body.waslli-checkout-v2 .form-row .select2-container--focus .select2-selection,
body.waslli-checkout-v2 .form-row .select2-container--open .select2-selection {
	border-color: var(--waslli-primary) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--waslli-primary) 18%, transparent) !important;
	outline: none !important;
}
/* An empty optional field is not «valid»: keep its normal border after a submit. */
body.waslli-checkout-v2 .form-row.woocommerce-validated :is(input.input-text, textarea):placeholder-shown {
	border-color: var(--waslli-line-strong, #C3CEDD) !important;
	background: var(--waslli-white, #fff) !important;
}
body.waslli-checkout-v2 .form-row.woocommerce-invalid :is(input.input-text, textarea, select),
body.waslli-checkout-v2 .form-row.woocommerce-invalid .select2-container .select2-selection {
	border-color: var(--waslli-danger, #B42318) !important;
	background: var(--waslli-danger-soft, #FEF3F2) !important;
}
body.waslli-checkout-v2 .form-row .checkout-inline-error-message {
	margin: 6px 0 0;
	color: var(--waslli-danger, #B42318);
	font-size: 13px;
	line-height: 1.5;
}
/* Mobile number: LTR digits after a static «+965» chip on the left edge. */
body.waslli-checkout-v2 .form-row .woocommerce-input-wrapper:has(> .waslli-co-dial),
.waslli-track__phone {
	position: relative;
	display: block;
}
.waslli-co-dial {
	position: absolute;
	top: 1.5px;
	bottom: 1.5px;
	left: 1.5px;
	z-index: 1;
	display: flex;
	align-items: center;
	padding: 0 12px;
	border-right: 1px solid var(--waslli-line);
	border-radius: calc(var(--waslli-radius) - 1.5px) 0 0 calc(var(--waslli-radius) - 1.5px);
	background: var(--waslli-bg);
	color: var(--waslli-ink);
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	direction: ltr;
	unicode-bidi: isolate;
	pointer-events: none;
}
body.waslli-checkout-v2 .form-row :is(#billing_phone, #billing_phone2, #shipping_phone) {
	padding-left: 76px !important;
	text-align: left;
}
body.waslli-checkout-v2 .form-row .waslli-co-phone-msg {
	margin: 6px 0 0;
	color: var(--waslli-muted);
	font-size: 13px;
	line-height: 1.5;
}
body.waslli-checkout-v2 .form-row .waslli-co-phone-msg.is-error {
	color: var(--waslli-danger, #B42318);
}

/* Area picker (selectWoo): same height as the other fields. */
body.waslli-checkout-v2 .form-row .select2-container .select2-selection--single {
	display: flex !important;
	align-items: center;
	height: 48px !important;
	padding-block: 0 !important;
}
body.waslli-checkout-v2 .form-row .select2-container .select2-selection__rendered {
	padding: 0 !important;
	color: var(--waslli-ink);
	line-height: 46px !important;
}
body.waslli-checkout-v2 .form-row .select2-container .select2-selection__placeholder {
	color: var(--waslli-muted);
}
body.waslli-checkout-v2 .form-row .select2-container .select2-selection__arrow {
	top: 0 !important;
	height: 46px !important;
	right: auto !important;
	left: 10px !important;
}
/* The hidden original select must stay 1px (it pushed the page to 1598px wide). */
body.waslli-checkout-v2 .form-row select.select2-hidden-accessible {
	width: 1px !important;
	height: 1px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
.select2-container .select2-dropdown {
	border-color: var(--waslli-line);
	border-radius: var(--waslli-radius);
	overflow: hidden;
}
.select2-container .select2-search--dropdown .select2-search__field {
	min-height: 44px;
	padding: 8px 12px;
	border: 1.5px solid var(--waslli-line-strong, #C3CEDD);
	border-radius: 8px;
}
.select2-container .select2-results__group {
	color: var(--waslli-muted);
	font-size: 13px;
}
.select2-container .select2-results__option {
	min-height: 40px;
	padding: 9px 12px;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected],
.select2-container .select2-results__option--highlighted {
	background: var(--waslli-primary) !important;
	color: #fff !important;
}

/* Notes block */
body.waslli-checkout-v2 form.checkout #customer_details .col-2 {
	margin-top: 4px;
	padding-top: 0;
	border-top: 0;
}

/* Order summary */
body.waslli-checkout-v2 #order_review .shop_table {
	margin: 0 0 12px;
	border: 0;
}
body.waslli-checkout-v2 #order_review .shop_table thead th {
	border-radius: 0 !important;
	background: var(--waslli-bg) !important;
	color: var(--waslli-muted) !important;
	font-size: 13px;
	font-weight: 700;
}
body.waslli-checkout-v2 #order_review .shop_table :is(th, td) {
	padding: 10px 8px !important;
	border-color: var(--waslli-line) !important;
	font-size: 14px;
}
body.waslli-checkout-v2 #order_review .shop_table .product-name {
	color: var(--waslli-ink);
	font-weight: 700;
}
body.waslli-checkout-v2 #order_review .shop_table :is(.product-total, tfoot td) {
	color: var(--waslli-price, var(--waslli-dark));
}
body.waslli-checkout-v2 #order_review .shop_table tfoot .order-total :is(th, td) {
	border-radius: 0 !important;
	background: var(--waslli-primary-soft, var(--waslli-bg)) !important;
	color: var(--waslli-dark) !important;
	font-size: 17px;
	font-weight: 800;
}
body.waslli-checkout-v2 #order_review .shop_table tfoot .order-total .woocommerce-Price-amount {
	color: var(--waslli-price, var(--waslli-dark));
}
body.waslli-checkout-v2 #order_review ul#shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
}
body.waslli-checkout-v2 #order_review ul#shipping_method li {
	margin: 0;
	padding: 0;
}

/* Cash on delivery card: the one payment indicator (gateway list hidden when COD is the only method). */
body.waslli-checkout-v2 .waslli-checkout-cod {
	gap: 12px;
	margin: 12px 0;
	padding: 12px 14px;
	background: var(--waslli-primary-soft, var(--waslli-bg));
	border: 1px solid var(--waslli-line);
	border-inline-start: 4px solid var(--waslli-accent);
	border-radius: var(--waslli-radius);
	box-shadow: none;
}
body.waslli-checkout-v2 .waslli-checkout-cod__icon {
	padding: 6px;
	background: var(--waslli-white, #fff);
	color: var(--waslli-dark);
	box-shadow: none;
}
body.waslli-checkout-v2 .waslli-checkout-cod__icon svg {
	width: 26px;
	height: 26px;
	display: block;
}
body.waslli-checkout-v2 .waslli-checkout-cod__body strong {
	color: var(--waslli-dark);
	font-size: 15px;
}
body.waslli-checkout-v2 .waslli-checkout-cod__body small {
	color: var(--waslli-muted);
	font-size: 13px;
}
body.waslli-checkout-v2 #payment ul.wc_payment_methods:has(> li.payment_method_cod:only-child) {
	display: none !important;
}
body.waslli-checkout-v2 #payment {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}
body.waslli-checkout-v2 #payment ul.payment_methods li {
	border-color: var(--waslli-line);
}
body.waslli-checkout-v2 #payment ul.payment_methods li:has(input:checked) {
	border-color: var(--waslli-primary);
}
body.waslli-checkout-v2 #payment .payment_box {
	background: var(--waslli-bg) !important;
	border-color: var(--waslli-line) !important;
	color: var(--waslli-ink) !important;
}
body.waslli-checkout-v2 #payment .place-order {
	padding: 0 !important;
	margin: 0 !important;
}
body.waslli-checkout-v2 .woocommerce-terms-and-conditions-wrapper {
	margin: 0 0 10px;
	padding: 0;
	background: none;
}
body.waslli-checkout-v2 #payment .woocommerce-privacy-policy-text p {
	margin: 0;
	color: var(--waslli-muted);
	font-size: 13px;
	line-height: 1.7;
}
body.waslli-checkout-v2 #payment .woocommerce-privacy-policy-text a {
	color: var(--waslli-primary);
}

/* Place order: the gold primary CTA. */
body.waslli-checkout-v2 #payment #place_order,
body.waslli-checkout-v2 .place-order button#place_order {
	float: none;
	width: 100% !important;
	min-height: 54px;
	margin-top: 0 !important;
	padding: 14px 20px !important;
	border: 0 !important;
	border-radius: var(--waslli-radius) !important;
	background: var(--waslli-accent) !important;
	color: var(--waslli-on-accent, var(--waslli-dark)) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	letter-spacing: 0;
	box-shadow: 0 8px 20px color-mix(in srgb, var(--waslli-accent) 35%, transparent) !important;
	transform: none;
	filter: none;
}
body.waslli-checkout-v2 #payment #place_order:hover,
body.waslli-checkout-v2 #payment #place_order:focus-visible {
	background: var(--waslli-accent-hover, var(--waslli-accent)) !important;
	transform: none;
	filter: none;
}

/* Two reassurance points under the button. */
body.waslli-checkout-v2 .waslli-checkout-trust {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin: 10px 0 0;
	padding: 0;
	border: 0;
	background: none;
}
body.waslli-checkout-v2 .waslli-checkout-trust__item {
	flex-direction: row;
	gap: 6px;
	color: var(--waslli-muted);
	font-size: 13px;
	font-weight: 600;
}
body.waslli-checkout-v2 .waslli-checkout-trust__item svg {
	width: 18px;
	height: 18px;
	color: var(--waslli-primary);
}

/* Error list on submit */
body.waslli-checkout-v2 .woocommerce-NoticeGroup {
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}
body.waslli-checkout-v2 .woocommerce .woocommerce-error {
	padding-block: 12px !important;
	padding-inline: 46px 16px !important;
	border-radius: var(--waslli-radius) !important;
}

/* Checkout: the header scrolls away with the page, so it does not cover the
 * form under the phone keyboard or WooCommerce's error list (it scrolls to
 * 100px above the notice). */
html body.waslli-checkout-v2 .site-header {
	position: relative;
	top: auto !important;
}
body.waslli-checkout-v2 #order_review {
	scroll-margin-top: 12px;
}

/* One-line order summary (phones only; desktop shows the summary column). */
body.waslli-checkout-v2 .waslli-checkout-mini {
	display: none;
}

@media (max-width: 900px) {
	body.woocommerce-checkout .entry-header {
		margin-bottom: 0;
	}
	/* The stepper already names the step («تأكيد الطلب»); the title stays for screen readers. */
	body.waslli-checkout-v2 .entry-header {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: 0;
		padding: 0;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
	body.waslli-checkout-v2 .waslli-checkout-steps {
		margin: 0 auto 12px !important;
	}
	/* Free delivery is in the summary line below and in the totals row. */
	body.waslli-checkout-v2 .waslli-checkout-topbar {
		display: none;
	}
	body.waslli-checkout-v2 .waslli-checkout-mini:not([hidden]) {
		display: flex;
		align-items: center;
		gap: 10px;
		min-height: 56px;
		margin: 0 0 12px;
		padding: 9px 14px;
		border: 1px solid var(--waslli-line);
		border-radius: var(--waslli-radius);
		background: var(--waslli-primary-soft, var(--waslli-bg));
		color: var(--waslli-ink);
		text-decoration: none;
	}
	body.waslli-checkout-v2 .waslli-checkout-mini__text {
		display: grid;
		flex: 1 1 auto;
		gap: 1px;
		min-width: 0;
	}
	body.waslli-checkout-v2 .waslli-checkout-mini__text strong {
		color: var(--waslli-dark);
		font-size: 15px;
		font-weight: 800;
	}
	body.waslli-checkout-v2 .waslli-checkout-mini__text small {
		color: var(--waslli-muted);
		font-size: 13px;
	}
	body.waslli-checkout-v2 .waslli-checkout-mini__total {
		flex: 0 0 auto;
		color: var(--waslli-price, var(--waslli-dark));
		font-size: 17px;
		font-weight: 900;
		white-space: nowrap;
	}
	body.waslli-checkout-v2 .waslli-checkout-mini__more {
		flex: 0 0 auto;
		color: var(--waslli-primary);
	}
	body.waslli-checkout-v2 .waslli-checkout-topbar__free {
		padding: 8px 12px;
	}
	body.waslli-checkout-v2 .waslli-checkout-topbar__free strong {
		font-size: 14px;
	}
	body.waslli-checkout-v2 .waslli-checkout-topbar__free small {
		font-size: 12px;
	}
	body.waslli-checkout-v2 .woocommerce-form-coupon-toggle {
		margin-bottom: 12px;
	}
	body.waslli-checkout-v2 .waslli-checkout-section-head {
		margin-bottom: 10px;
		padding-bottom: 8px;
	}
	body.waslli-checkout-v2 .waslli-checkout-section-head p {
		display: none;
	}
	body.waslli-checkout-v2 form.checkout #customer_details,
	body.waslli-checkout-v2 form.checkout > #order_review {
		padding: 14px;
	}
}

/* ------------------------------------------------------------------
 * 3. Cart
 * ------------------------------------------------------------------ */

body.waslli-cart-v2 .site-main {
	background: none;
}
body.waslli-cart-v2 .woocommerce-cart-form {
	border-radius: var(--waslli-radius);
	box-shadow: var(--waslli-shadow, none);
}
body.waslli-cart-v2 td.product-subtotal,
body.waslli-cart-v2 td.product-subtotal .amount {
	color: var(--waslli-price, var(--waslli-dark));
}
body.waslli-cart-v2 td.product-remove a.remove {
	width: 36px;
	height: 36px;
	background: var(--waslli-white, #fff) !important;
	border: 1px solid var(--waslli-line);
	color: var(--waslli-danger, #B42318) !important;
	transform: none;
}
body.waslli-cart-v2 td.product-remove a.remove:hover {
	background: var(--waslli-danger, #B42318) !important;
	color: #fff !important;
	transform: none;
}
body.waslli-cart-v2 .quantity .waslli-qty-btn {
	width: 40px;
	height: 40px;
}
body.waslli-cart-v2 .quantity input.qty {
	height: 40px;
}

/* Coupon row (cart) */
body.waslli-cart-v2 .coupon {
	display: flex !important;
	flex-wrap: nowrap;
	gap: 8px;
	width: 100%;
}
body.waslli-cart-v2 .coupon input.input-text,
body.waslli-cart-v2 .coupon #coupon_code {
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	min-height: 46px;
	padding: 8px 12px;
	border: 1.5px solid var(--waslli-line-strong, #C3CEDD);
	border-radius: var(--waslli-radius);
	font-size: 16px;
}
body.waslli-cart-v2 .coupon button.button {
	flex: 0 0 auto;
	width: auto !important;
	min-width: 0 !important;
	min-height: 46px;
	padding: 0 18px;
	border: 1.5px solid var(--waslli-dark);
	border-radius: var(--waslli-radius);
	background: var(--waslli-white, #fff) !important;
	color: var(--waslli-dark) !important;
	font-size: 15px;
	font-weight: 700;
	box-shadow: none;
}
body.waslli-cart-v2 .coupon button.button:hover {
	background: var(--waslli-dark) !important;
	color: #fff !important;
}

/* Coupon collapsed behind «لديك كوبون خصم؟» (cart.php adds the toggle; without JS the field stays open). */
body.waslli-cart-v2 .coupon .waslli-coupon-toggle {
	display: none;
}
body.waslli-coupon-js.waslli-cart-v2 .coupon {
	flex-wrap: wrap;
}
body.waslli-coupon-js.waslli-cart-v2 .coupon .waslli-coupon-toggle {
	display: inline-flex;
	flex: 1 0 100%;
	order: -1;
	align-items: center;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--waslli-primary);
	font-size: 14px;
	font-weight: 700;
	text-align: start;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	box-shadow: none;
}
body.waslli-coupon-js.waslli-cart-v2 .coupon:not(.is-open):not(:has(.coupon-error-notice)) > :not(.waslli-coupon-toggle) {
	display: none !important;
}

/* No coupon field: the actions row only holds the hidden update button. */
body.waslli-cart-v2 .woocommerce-cart-form tr:has(> td.actions):not(:has(.coupon)) {
	padding: 0 !important;
	border: 0 !important;
}

/* Empty cart: the card is the only content (WooCommerce's return-to-shop button repeats «ابدأ التسوق»). */
body.waslli-cart-v2 .waslli-cart-empty ~ .return-to-shop,
body.waslli-cart-v2 .waslli-cart-empty ~ .wc-empty-cart-message {
	display: none;
}

/* Totals: label on the start side, amount on the end side, on every screen. */
body.waslli-cart-v2 .cart_totals {
	background: var(--waslli-white, #fff);
	border: 1px solid var(--waslli-line);
	border-radius: var(--waslli-radius);
	box-shadow: none;
}
body.waslli-cart-v2 .cart_totals h2 {
	font-size: 18px;
	margin-bottom: 10px;
}
body.waslli-cart-v2 .woocommerce .cart_totals table.shop_table tbody tr {
	display: flex !important;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 1px solid var(--waslli-line);
}
body.waslli-cart-v2 .woocommerce .cart_totals table.shop_table tbody tr:last-child {
	border-bottom: 0;
}
body.waslli-cart-v2 .woocommerce .cart_totals table.shop_table tbody th {
	display: block !important;
	flex: 0 0 auto;
	width: auto !important;
	color: var(--waslli-ink);
	font-size: 15px;
	font-weight: 700;
}
body.waslli-cart-v2 .woocommerce .cart_totals table.shop_table tbody td {
	display: block !important;
	flex: 1 1 auto;
	width: auto !important;
	text-align: end !important;
	color: var(--waslli-ink);
}
body.waslli-cart-v2 .woocommerce .cart_totals table.shop_table tbody td::before {
	display: none !important;
}
body.waslli-cart-v2 .cart_totals .order-total :is(th, td) {
	color: var(--waslli-dark) !important;
	font-size: 18px !important;
}
body.waslli-cart-v2 .cart_totals .order-total .woocommerce-Price-amount {
	color: var(--waslli-price, var(--waslli-dark));
}
body.waslli-cart-v2 .cart_totals ul#shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
}
body.waslli-cart-v2 .cart_totals ul#shipping_method li {
	margin: 0;
	padding: 0;
	text-indent: 0;
}
body.waslli-cart-v2 .cart_totals .woocommerce-shipping-destination,
body.waslli-cart-v2 .cart_totals .woocommerce-shipping-calculator {
	display: none !important;
}
body.waslli-cart-v2 .wc-proceed-to-checkout a.checkout-button {
	min-height: 54px !important;
	border-radius: var(--waslli-radius) !important;
	background: var(--waslli-accent) !important;
	color: var(--waslli-on-accent, var(--waslli-dark)) !important;
	box-shadow: 0 8px 20px color-mix(in srgb, var(--waslli-accent) 35%, transparent) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	transform: none !important;
}
body.waslli-cart-v2 .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--waslli-accent-hover, var(--waslli-accent)) !important;
}

/* Reassurance under the cart button */
body.waslli-cart-v2 .waslli-cart-trust {
	border-style: solid;
	border-color: var(--waslli-line);
	border-radius: var(--waslli-radius);
}
body.waslli-cart-v2 .waslli-cart-trust__icon {
	background: var(--waslli-primary-soft, var(--waslli-bg));
	color: var(--waslli-primary);
}

/* Cross-sells */
body .waslli-cart-crosssell {
	border-radius: var(--waslli-radius);
}
body .waslli-crosssell-card {
	border-radius: var(--waslli-radius);
}
body .waslli-crosssell-card:hover {
	transform: none;
	border-color: var(--waslli-primary);
}
body .waslli-crosssell-card__price,
body .waslli-crosssell-card__price ins {
	color: var(--waslli-price, var(--waslli-dark));
	text-decoration: none;
}
body .waslli-crosssell-card .waslli-crosssell-card__btn {
	min-height: 44px;
	padding: 8px 10px;
	border: 1.5px solid var(--waslli-dark);
	border-radius: var(--waslli-radius);
	background: var(--waslli-white, #fff);
	color: var(--waslli-dark);
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	text-decoration: none;
}
body .waslli-crosssell-card .waslli-crosssell-card__btn:hover {
	background: var(--waslli-dark);
	color: #fff;
	box-shadow: none;
	transform: none;
}
body .waslli-crosssell-card .waslli-crosssell-card__btn.loading {
	opacity: .6;
	pointer-events: none;
}
body .waslli-crosssell-card .waslli-crosssell-card__btn.added::after {
	content: " ✓";
}
body .waslli-crosssell-card .added_to_cart {
	display: none;
}

@media (min-width: 901px) {
	/* Items on the right, totals card on the left. */
	body.waslli-cart-v2 .waslli-cart-page {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 380px;
		gap: 24px;
		align-items: start;
	}
	body.waslli-cart-v2 .waslli-cart-page > table.cart {
		grid-column: 1;
		grid-row: 1;
	}
	body.waslli-cart-v2 .waslli-cart-page > .cart-collaterals {
		grid-column: 2;
		grid-row: 1 / span 2;
		margin-top: 0;
	}
	body.waslli-cart-v2 .woocommerce .cart-collaterals .cart_totals {
		float: none;
		width: 100%;
		margin: 0;
	}
	/* The 380px column is too narrow for three trust columns: one row each. */
	body.waslli-cart-v2 .waslli-cart-trust {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 4px 14px;
	}
	body.waslli-cart-v2 .waslli-cart-trust__item {
		flex-direction: row;
		align-items: center;
		gap: 12px;
		padding: 10px 0;
		text-align: start;
	}
	body.waslli-cart-v2 .waslli-cart-trust__item + .waslli-cart-trust__item {
		border-top: 1px solid var(--waslli-line);
	}
	body.waslli-cart-v2 .waslli-cart-trust__icon {
		flex: 0 0 36px;
		width: 36px;
		height: 36px;
	}
	body.waslli-cart-v2 .waslli-cart-trust strong {
		display: block;
		font-size: 14px;
	}
	body.waslli-cart-v2 .waslli-cart-trust small {
		display: block;
		font-size: 12.5px;
	}
}

@media (max-width: 900px) {
	body.waslli-cart-v2 .woocommerce .cart-collaterals .cart_totals {
		float: none;
		width: 100%;
		padding: 16px;
	}
	body.waslli-cart-v2 .woocommerce-cart-form {
		padding: 8px 12px;
	}
	/* The checkout button stays in reach: a solid bar at the bottom of the screen. */
	body.waslli-cart-v2 .wc-proceed-to-checkout {
		position: fixed !important;
		inset-inline: 0;
		bottom: 0;
		z-index: 95;
		margin: 0 !important;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
		background: var(--waslli-white, #fff);
		border-top: 1px solid var(--waslli-line);
		box-shadow: 0 -6px 18px rgb(12 35 64 / 8%);
	}
	body.waslli-cart-v2 .wc-proceed-to-checkout a.checkout-button {
		margin: 0 !important;
		box-shadow: none !important;
	}
	body.waslli-cart-v2 .site-main {
		padding-bottom: 96px;
	}
	body.waslli-cart-v2 .waslli-cart-crosssell__grid {
		gap: 10px;
	}
	body .waslli-crosssell-card .waslli-crosssell-card__btn {
		font-size: 13px;
	}
	body.waslli-cart-v2 .waslli-cart-trust small {
		display: none;
	}
}

/* ------------------------------------------------------------------
 * 4. My account (guest login)
 * ------------------------------------------------------------------ */

/* The base theme's account reset strips the header/footer gutters on phones. */
@media (max-width: 640px) {
	html body.waslli-account-v2 :is(.site-header, .site-footer) .waslli-container {
		margin-inline: auto !important;
	}
}
/* «.waslli-account-guest h2» also hit the hero and the footer brand. */
html body.waslli-account-guest .waslli-login-hero h2 {
	display: block;
	padding-bottom: 0;
	border-bottom: 0;
	color: #fff;
	font-size: 28px;
	font-weight: 800;
}
html body.waslli-account-guest .site-footer .footer-brand__name {
	display: block;
	margin: 0 0 12px;
	padding-bottom: 0;
	border-bottom: 0;
	color: #fff;
	font-size: 24px;
	font-weight: 800;
}
.waslli-login-hero {
	background: var(--waslli-dark) !important;
}
.waslli-login-hero::after {
	background: rgb(255 255 255 / 5%);
}
.waslli-login-form-area {
	border-color: var(--waslli-line);
	border-radius: var(--waslli-radius);
}
/* One card around the login form, not a box inside a box. */
html body.waslli-account-guest .waslli-login-form-area :is(.u-column1, .u-column2) {
	padding: 0;
	border: 0;
	background: none;
}
html body.waslli-account-guest .waslli-login-form-area form.woocommerce-form-login {
	margin: 0;
	padding: 0;
	border: 0;
}
.waslli-login-guest-help {
	margin: 16px 0 0;
	color: var(--waslli-muted);
	font-size: 14px;
	line-height: 1.7;
}
.waslli-login-guest-help a {
	color: var(--waslli-primary);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}
body.waslli-account-guest .woocommerce-form-login :is(input.input-text, input[type="text"], input[type="email"], input[type="password"]) {
	min-height: 48px;
	border-color: var(--waslli-line-strong, #C3CEDD);
	border-radius: var(--waslli-radius);
	font-size: 16px;
}
body.waslli-account-guest .woocommerce-form-login .woocommerce-form-login__submit {
	min-height: 50px;
	border-radius: var(--waslli-radius);
	background: var(--waslli-accent) !important;
	color: var(--waslli-on-accent, var(--waslli-dark)) !important;
	box-shadow: none !important;
}
body.waslli-account-guest .lost_password a {
	color: var(--waslli-primary);
}
@media (max-width: 640px) {
	html body.waslli-account-guest .waslli-login-hero h2 {
		font-size: 22px;
	}
	.waslli-login-form-area {
		padding: 20px 16px;
	}
}

/* Order tracking (guests, registration off): the main card; the login form
 * sits beside it on desktop and below it on phones, as a secondary action. */
html body.waslli-account-guest .waslli-login-page--track {
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	align-items: start;
	gap: 24px;
	margin-top: 4px;
}
.waslli-track {
	scroll-margin-top: 170px; /* clears the sticky header after the form posts back to #waslli-track */
	padding: 28px;
	border: 1px solid var(--waslli-line);
	border-top: 4px solid var(--waslli-dark);
	border-radius: var(--waslli-radius);
	background: var(--waslli-white, #fff);
	box-shadow: var(--waslli-shadow, none);
}
html body.waslli-account-guest .waslli-track h2 {
	display: block;
	margin: 0 0 6px;
	padding: 0;
	border: 0;
	color: var(--waslli-dark);
	font-size: 24px;
	font-weight: 800;
}
.waslli-track__lead {
	margin: 0 0 18px;
	color: var(--waslli-muted);
	font-size: 15px;
	line-height: 1.7;
}
.waslli-track__form {
	display: grid;
	gap: 14px;
}
.waslli-track__field {
	margin: 0;
}
html body.waslli-account-guest .waslli-track__field label {
	display: block;
	margin: 0 0 6px;
	padding: 0 !important;
	color: var(--waslli-ink);
	font-size: 14px;
	font-weight: 700;
}
html body.waslli-account-guest .waslli-track input:is([type="text"], [type="tel"]) {
	width: 100% !important;
	min-height: 48px;
	padding: 10px 14px !important;
	border: 1.5px solid var(--waslli-line-strong, #C3CEDD) !important;
	border-radius: var(--waslli-radius) !important;
	background: var(--waslli-white, #fff) !important;
	color: var(--waslli-ink);
	font-size: 16px !important;
	box-sizing: border-box;
}
html body.waslli-account-guest .waslli-track input:focus {
	border-color: var(--waslli-primary) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--waslli-primary) 18%, transparent) !important;
	outline: none;
}
html body.waslli-account-guest .waslli-track .waslli-track__phone input {
	padding-left: 76px !important;
	text-align: left;
}
html body.waslli-account-guest .waslli-track button.waslli-track__submit {
	width: 100%;
	min-height: 52px;
	margin: 2px 0 0;
	padding: 12px 20px;
	border: 0;
	border-radius: var(--waslli-radius);
	background: var(--waslli-accent);
	color: var(--waslli-on-accent, var(--waslli-dark));
	font-size: 17px;
	font-weight: 800;
	box-shadow: none;
	cursor: pointer;
	transform: none;
	filter: none;
}
html body.waslli-account-guest .waslli-track button.waslli-track__submit:is(:hover, :focus-visible) {
	background: var(--waslli-accent-hover, var(--waslli-accent));
	transform: none;
	filter: none;
}
.waslli-track__hint {
	margin: 14px 0 0;
	color: var(--waslli-muted);
	font-size: 13px;
	line-height: 1.7;
}
.waslli-track__hint a {
	color: var(--waslli-primary);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.waslli-track__error {
	margin: 0 0 16px;
	padding: 12px 14px;
	border: 1px solid var(--waslli-line);
	border-inline-start: 4px solid var(--waslli-danger, #B42318);
	border-radius: var(--waslli-radius);
	background: var(--waslli-danger-soft, #FEF3F2);
	color: var(--waslli-danger, #B42318);
	font-size: 14px;
	line-height: 1.6;
}
.waslli-track__result {
	margin: 0 0 18px;
	overflow: hidden;
	border: 1px solid var(--waslli-line);
	border-radius: var(--waslli-radius);
}
.waslli-track__status {
	display: grid;
	gap: 2px;
	padding: 14px 16px;
	background: var(--waslli-primary-soft, var(--waslli-bg));
}
.waslli-track__status span {
	color: var(--waslli-muted);
	font-size: 13px;
}
.waslli-track__status strong {
	color: var(--waslli-dark);
	font-size: 18px;
	font-weight: 800;
}
.waslli-track__status.is-cancelled strong {
	color: var(--waslli-danger, #B42318);
}
.waslli-track__facts {
	margin: 0;
	padding: 2px 16px;
	list-style: none;
}
.waslli-track__facts li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid var(--waslli-line);
	font-size: 14px;
}
.waslli-track__facts li:first-child {
	border-top: 0;
}
.waslli-track__facts li > span {
	flex: 0 0 auto;
	color: var(--waslli-muted);
}
.waslli-track__facts strong {
	color: var(--waslli-ink);
	text-align: end;
}
html body.waslli-account-guest .waslli-login-form-area--secondary {
	padding: 24px;
	box-shadow: none;
}
html body.waslli-account-guest .waslli-login-form-area--secondary h2 {
	display: block;
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	color: var(--waslli-dark);
	font-size: 18px;
}
html body.waslli-account-guest .waslli-login-form-area--secondary .woocommerce-form-login .woocommerce-form-login__submit {
	border: 1.5px solid var(--waslli-dark) !important;
	background: var(--waslli-white, #fff) !important;
	color: var(--waslli-dark) !important;
	box-shadow: none !important;
	transform: none;
}
html body.waslli-account-guest .waslli-login-form-area--secondary .woocommerce-form-login .woocommerce-form-login__submit:hover {
	background: var(--waslli-dark) !important;
	color: #fff !important;
}
@media (max-width: 900px) {
	html body.waslli-account-guest .waslli-login-page--track {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.waslli-track {
		scroll-margin-top: 124px;
		padding: 20px 16px;
	}
	html body.waslli-account-guest .waslli-track h2 {
		font-size: 22px;
	}
	html body.waslli-account-guest .waslli-login-form-area--secondary {
		padding: 20px 16px;
	}
}

/* ------------------------------------------------------------------
 * 5. Contact and content pages (FAQ, returns, terms, privacy)
 * ------------------------------------------------------------------ */

/* Prose pages: a readable measure aligned with the page title. The contact
 * page has its own full-width layout. On desktop the title and text form one
 * centred column instead of hugging the right edge. */
@media (min-width: 901px) {
	body.page:not(.woocommerce-page) .content-wrap > article.type-page:not(:has(.waslli-contact-page)) {
		max-width: 760px;
		margin-inline: auto;
	}
	body.page:not(.woocommerce-page) .content-wrap > article.type-page:has(.waslli-contact-page) {
		max-width: 1120px;
		margin-inline: auto;
	}
	body.page:not(.woocommerce-page) .content-wrap > article.type-page:has(.waslli-contact-page) .entry-header {
		text-align: center;
	}
	/* Below the page title in size. */
	.waslli-contact-page__intro h2 {
		font-size: 26px;
	}
}
body.page:not(.woocommerce-page) .entry-content {
	max-width: 760px;
}
body.page:not(.woocommerce-page) .entry-content:has(> .waslli-contact-page) {
	max-width: none;
}
body.page:not(.woocommerce-page) .entry-content > :is(p, ul, ol) {
	line-height: 1.85;
}
body.page:not(.woocommerce-page) .entry-content > :is(h2, h3) {
	color: var(--waslli-dark);
}
body.page:not(.woocommerce-page) .entry-content > h2 {
	margin: 28px 0 8px;
	font-size: 22px;
	line-height: 1.45;
}
body.page:not(.woocommerce-page) .entry-content > h2:not(:first-child) {
	padding-top: 22px;
	border-top: 1px solid var(--waslli-line);
}
body.page:not(.woocommerce-page) .entry-content > h2:first-child {
	margin-top: 0;
}
@media (max-width: 640px) {
	body.page:not(.woocommerce-page) .site-main .entry-content {
		padding-inline: 6px;
	}
	body.page:not(.woocommerce-page) .entry-header .entry-title {
		font-size: 26px;
	}
	body.page:not(.woocommerce-page) .entry-content > h2 {
		margin: 22px 0 6px;
		font-size: 19px;
		line-height: 1.5;
	}
	body.page:not(.woocommerce-page) .entry-content > h2:not(:first-child) {
		padding-top: 18px;
	}
	body.page:not(.woocommerce-page) .entry-content > h3 {
		font-size: 17px;
	}
	body.page:not(.woocommerce-page) .entry-content > :is(ul, ol) {
		padding-inline-start: 20px;
	}
}

/* Contact page cards */
.waslli-contact-page__eyebrow {
	color: var(--waslli-primary);
}
.waslli-contact-page__highlights span {
	border-color: var(--waslli-line);
	background: var(--waslli-primary-soft, var(--waslli-bg));
	color: var(--waslli-dark);
}
.waslli-contact-support,
.waslli-contact-support--returns,
.waslli-contact-links,
.waslli-contact-info,
.waslli-contact-channel {
	border-color: var(--waslli-line) !important;
	border-radius: var(--waslli-radius) !important;
	background: var(--waslli-white, #fff) !important;
	box-shadow: none !important;
}
.waslli-contact-support__mark,
.waslli-contact-info__icon {
	background: var(--waslli-dark) !important;
	color: #fff !important;
}
.waslli-contact-support__eyebrow {
	color: var(--waslli-primary);
}
.waslli-contact-support .waslli-contact-support__button {
	min-height: 48px;
	border: 1.5px solid var(--waslli-dark);
	border-radius: var(--waslli-radius);
	background: var(--waslli-white, #fff) !important;
	color: var(--waslli-dark) !important;
	box-shadow: none !important;
	text-decoration: none;
}
.waslli-contact-support .waslli-contact-support__button:hover {
	background: var(--waslli-dark) !important;
	color: #fff !important;
}
.waslli-contact-links a {
	min-height: 48px;
	color: var(--waslli-ink);
	text-decoration: none;
}
.waslli-contact-links a span {
	color: var(--waslli-primary) !important;
}
.waslli-contact-channel__icon {
	background: var(--waslli-dark);
	color: #fff;
}
.waslli-contact-channel__action {
	border-top-color: var(--waslli-line);
	color: var(--waslli-primary);
}
.waslli-contact-page__intro h2 {
	color: var(--waslli-dark);
}
@media (max-width: 640px) {
	/* Below the page title in size, not above it. */
	.waslli-contact-page__intro h2 {
		font-size: 22px;
	}
}
.waslli-contact-support p,
.waslli-contact-info p {
	color: var(--waslli-muted);
}
.waslli-contact-links a {
	border-top-color: var(--waslli-line);
}
.waslli-contact-links a:hover {
	color: var(--waslli-primary);
}

/* ------------------------------------------------------------------
 * 7. QA round: steps, icons, pickers, markers
 * ------------------------------------------------------------------ */

/* Steps: a short connector line between pills, on the side of the next step. */
.waslli-cart-steps {
	gap: 14px;
}
.waslli-cart-step:not(:last-child)::after {
	top: 50%;
	inset-inline-start: auto;
	inset-inline-end: -12px;
	width: 10px;
	height: 2px;
	border-radius: 1px;
	background: var(--waslli-line);
	transform: translateY(-50%);
}
@media (max-width: 780px) {
	.waslli-cart-steps {
		gap: 10px;
	}
	.waslli-cart-step:not(:last-child)::after {
		inset-inline-end: -9px;
		width: 8px;
	}
}

/* Line icons instead of emoji (cart strip, empty cart). */
body .waslli-cart-progress__icon {
	color: var(--waslli-primary);
}
body .waslli-cart-progress__icon svg {
	display: block;
	width: 24px;
	height: 24px;
}
@media (max-width: 780px) {
	body .waslli-cart-progress__icon svg {
		width: 20px;
		height: 20px;
	}
}
body .waslli-cart-empty__illustration {
	display: flex;
	justify-content: center;
	color: var(--waslli-primary);
	animation: none;
}
body .waslli-cart-empty__perks span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
body .waslli-cart-empty__perks svg {
	flex: 0 0 auto;
	color: var(--waslli-primary);
}

/* Cross-sell card buttons look like the grid card buttons (light outline). */
body .waslli-crosssell-card .waslli-crosssell-card__btn {
	border-color: var(--waslli-line-strong, #C3CEDD);
}
body .waslli-crosssell-card .waslli-crosssell-card__btn:hover,
body .waslli-crosssell-card .waslli-crosssell-card__btn:focus-visible {
	border-color: var(--waslli-dark);
	background: var(--waslli-primary-soft, var(--waslli-bg));
	color: var(--waslli-dark);
}

/* Area picker on phones: a taller list with 44px rows. */
@media (max-width: 640px) {
	.woocommerce-checkout .select2-container--open .select2-results > .select2-results__options {
		max-height: min(55vh, 420px) !important;
	}
	.woocommerce-checkout .select2-container .select2-results__option[role="option"] {
		min-height: 44px;
		padding-block: 12px;
	}
}

/* Checkout and thank-you have no fixed bottom bar: no reserved strip under the footer. */
@media (max-width: 900px) {
	html body.woocommerce-checkout {
		padding-bottom: 0 !important;
	}
}

/* Required markers and the password eye on brand tokens. */
html body.woocommerce-checkout form.checkout .form-row .required,
html body.woocommerce-account .woocommerce form .form-row .required,
html body.woocommerce-account .required {
	color: var(--waslli-danger, #B42318);
}
html body.woocommerce-account .woocommerce form .show-password-input {
	color: var(--waslli-muted);
}
html body.woocommerce-account .woocommerce form .show-password-input::before {
	opacity: .6;
}

/* Empty cart: no fixed bar is shown, so drop the 62px the base theme reserves for one. */
@media (max-width: 900px) {
	body.woocommerce-cart:has(.waslli-cart-empty) {
		padding-bottom: env(safe-area-inset-bottom, 0px);
	}
}
