/*!
 * Affinity Woo Skin 1.0.1 — brand layer for WooCommerce on affinityskinlaser.gr
 * Scope: body.afws (added only on Woo surfaces). No text-transform on Greek copy.
 */

/* ==========================================================================
   0. Tokens (fall back to the Elementor kit globals where they exist)
   ========================================================================== */
body.afws {
	--afws-gold: var(--e-global-color-primary, #A6886C);
	--afws-gold-dark: #8C7059;
	--afws-gold-tint: #F4EEE7;
	--afws-ink: #1D1B18;
	--afws-text: #3A3631;
	--afws-muted: #7D776D;
	--afws-line: var(--e-global-color-border, #C9C4B8);
	--afws-line-soft: #E5E1D7;
	--afws-cream: var(--e-global-color-background_light, #F2F2EC);
	--afws-card: #FFFFFF;
	--afws-danger: #A4493D;
	--afws-success: #5E7A5B;
	--afws-font-head: var(--e-global-typography-primary-font-family, "Times New Roman"), "Times New Roman", Times, serif;
	--afws-font-body: var(--e-global-typography-text-font-family, "Roboto Serif"), "Roboto Serif", Georgia, serif;
	--afws-r-card: 22px;
	--afws-r-field: 14px;
	--afws-r-pill: 999px;
	--afws-shadow: 0 1px 2px rgba(29, 27, 24, .04), 0 12px 32px -18px rgba(29, 27, 24, .22);
	--afws-shadow-hover: 0 2px 4px rgba(29, 27, 24, .05), 0 22px 44px -20px rgba(29, 27, 24, .30);
	--afws-ease: cubic-bezier(.2, .7, .2, 1);

	/* Re-point WooCommerce + Blocks tokens to the brand */
	--wc-primary: var(--afws-gold);
	--wc-primary-text: #fff;
	--wc-secondary: var(--afws-gold-tint);
	--wc-secondary-text: var(--afws-ink);
	--wc-highlight: var(--afws-ink);
	--wc-form-border-color: var(--afws-line);
	--wc-form-border-radius: var(--afws-r-field);
	--wc-card-border-radius: var(--afws-r-card);
}

body.afws .woocommerce,
body.afws .wp-block-woocommerce-cart,
body.afws .wp-block-woocommerce-checkout {
	font-family: var(--afws-font-body);
	color: var(--afws-text);
}

/* Amoja reserves 440px for a sidebar on every page; Woo pages have none → use full container */
@media (min-width: 1025px) {
	body.afws:not(:has(#secondary)) #primary.content-area {
		float: none;
		width: 100%;
	}
}

body.afws .woocommerce :focus-visible,
body.afws .wc-block-components-button:focus-visible {
	outline: 2px solid var(--afws-gold);
	outline-offset: 3px;
}

/* ==========================================================================
   1. Buttons (classic + blocks)
   ========================================================================== */
body.afws .woocommerce a.button,
body.afws .woocommerce button.button,
body.afws .woocommerce input.button,
body.afws .woocommerce #respond input#submit,
body.afws .woocommerce a.button.alt,
body.afws .woocommerce button.button.alt,
body.afws .woocommerce input.button.alt,
body.afws .wc-block-components-button:not(.is-link),
body.afws .wc-block-cart__submit-button,
body.afws .wc-block-components-checkout-place-order-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	min-height: 50px;
	padding: 14px 30px;
	border: 1px solid var(--afws-gold);
	border-radius: var(--afws-r-pill);
	background: var(--afws-gold);
	color: #fff;
	font-family: var(--afws-font-body);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .04em;
	text-transform: none;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .25s var(--afws-ease), border-color .25s var(--afws-ease), color .25s var(--afws-ease), transform .25s var(--afws-ease), box-shadow .25s var(--afws-ease);
}

body.afws .woocommerce a.button:hover,
body.afws .woocommerce button.button:hover,
body.afws .woocommerce input.button:hover,
body.afws .woocommerce #respond input#submit:hover,
body.afws .woocommerce a.button.alt:hover,
body.afws .woocommerce button.button.alt:hover,
body.afws .woocommerce input.button.alt:hover,
body.afws .wc-block-components-button:not(.is-link):hover,
body.afws .wc-block-cart__submit-button:hover,
body.afws .wc-block-components-checkout-place-order-button:hover {
	background: var(--afws-gold-dark);
	border-color: var(--afws-gold-dark);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 10px 22px -12px rgba(140, 112, 89, .7);
}

body.afws .woocommerce a.button:active,
body.afws .woocommerce button.button:active,
body.afws .wc-block-components-button:not(.is-link):active {
	transform: translateY(0);
}

body.afws .woocommerce button.button:disabled,
body.afws .woocommerce button.button.disabled,
body.afws .woocommerce a.button.disabled,
body.afws .wc-block-components-button:disabled {
	opacity: .45;
	transform: none;
	box-shadow: none;
	cursor: not-allowed;
}

/* Secondary / outline buttons */
body.afws .woocommerce-cart-form button[name="update_cart"],
body.afws .woocommerce .coupon button.button,
body.afws .wc-block-components-totals-coupon__button.wc-block-components-button,
body.afws .woocommerce-MyAccount-content .button:not(.alt) {
	background: transparent;
	color: var(--afws-gold-dark);
	border-color: var(--afws-line);
}
body.afws .woocommerce-cart-form button[name="update_cart"]:hover,
body.afws .woocommerce .coupon button.button:hover,
body.afws .wc-block-components-totals-coupon__button.wc-block-components-button:hover {
	background: var(--afws-gold-tint);
	color: var(--afws-gold-dark);
	border-color: var(--afws-gold);
	box-shadow: none;
}

/* AJAX spinner position fix */
body.afws .woocommerce a.button.loading::after,
body.afws .woocommerce button.button.loading::after {
	position: static;
	margin-left: .4em;
}
body.afws .woocommerce a.button.added::after { margin-left: .4em; }

/* ==========================================================================
   2. Notices
   ========================================================================== */
body.afws .woocommerce-message,
body.afws .woocommerce-info,
body.afws .woocommerce-error,
body.afws .woocommerce-noreviews,
body.afws p.no-comments {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	margin: 0 0 28px;
	padding: 16px 22px 16px 54px;
	border: 1px solid var(--afws-line-soft);
	border-left: 3px solid var(--afws-gold);
	border-radius: var(--afws-r-field);
	background: var(--afws-card);
	color: var(--afws-text);
	font-size: 15px;
	line-height: 1.5;
	box-shadow: var(--afws-shadow);
}
body.afws .woocommerce-message::before,
body.afws .woocommerce-info::before,
body.afws .woocommerce-error::before {
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	color: var(--afws-gold);
}
body.afws .woocommerce-error { border-left-color: var(--afws-danger); flex-direction: column; align-items: flex-start; }
body.afws .woocommerce-error::before { color: var(--afws-danger); }
body.afws .woocommerce-message .button,
body.afws .woocommerce-info .button {
	order: 2;
	margin-left: auto;
	min-height: 40px;
	padding: 10px 22px;
	font-size: 13px;
}

body.afws .wc-block-components-notice-banner {
	border-radius: var(--afws-r-field);
	border-color: var(--afws-line-soft);
	background: var(--afws-card);
	color: var(--afws-text);
	font-size: 15px;
}
body.afws .wc-block-components-notice-banner.is-success > svg { background: var(--afws-success); }
body.afws .wc-block-components-notice-banner.is-info > svg { background: var(--afws-gold); }
body.afws .wc-block-components-notice-banner.is-error > svg { background: var(--afws-danger); }

/* ==========================================================================
   3. Archive — toolbar
   ========================================================================== */
body.afws .woocommerce-result-count {
	margin: 0 0 28px;
	color: var(--afws-muted);
	font-size: 14px;
	line-height: 46px;
}
body.afws .woocommerce-ordering { margin: 0 0 28px; }
body.afws .woocommerce-ordering select.orderby,
body.afws .woocommerce select,
body.afws .wc-block-components-select select {
	-webkit-appearance: none;
	appearance: none;
	min-height: 46px;
	padding: 0 44px 0 20px;
	border: 1px solid var(--afws-line);
	border-radius: var(--afws-r-pill);
	background: var(--afws-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23A6886C' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 18px center;
	color: var(--afws-ink);
	font-family: var(--afws-font-body);
	font-size: 14px;
	cursor: pointer;
}
body.afws .wc-block-components-select select { border-radius: var(--afws-r-field); }

/* ==========================================================================
   4. Product grid + cards (shop, archives, related, upsells, cross-sells)
   ========================================================================== */
body.afws .woocommerce ul.products,
body.afws ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 28px;
	margin: 0 0 48px;
	padding: 0;
	list-style: none;
	clear: both;
}
body.afws ul.products::before,
body.afws ul.products::after { content: none; display: none; }

body.afws ul.products li.product,
body.afws .woocommerce ul.products li.product,
body.afws .woocommerce-page ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	float: none;
	clear: none;
	width: auto;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--afws-line-soft);
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
	text-align: left;
	transition: transform .35s var(--afws-ease), box-shadow .35s var(--afws-ease), border-color .35s var(--afws-ease);
}
body.afws ul.products li.product:hover {
	transform: translateY(-4px);
	border-color: var(--afws-line);
	box-shadow: var(--afws-shadow-hover);
}

body.afws ul.products li.product a.woocommerce-loop-product__link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

body.afws ul.products li.product a img,
body.afws ul.products li.product img.afws-placeholder {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	margin: 0;
	object-fit: cover;
	border-radius: 0;
	box-shadow: none;
	background: var(--afws-cream);
	transition: transform .8s var(--afws-ease);
}
body.afws ul.products li.product:hover a img { transform: scale(1.035); }
/* Clip the zoom to the image area */
body.afws ul.products li.product a.woocommerce-loop-product__link { overflow: hidden; }

body.afws ul.products li.product .woocommerce-loop-product__title,
body.afws ul.products li.product h2,
body.afws ul.products li.product h3 {
	margin: 0;
	padding: 22px 22px 6px;
	color: var(--afws-ink);
	font-family: var(--afws-font-head);
	font-size: 21px;
	font-weight: 400;
	line-height: 1.28;
	letter-spacing: -.01em;
	text-transform: none;
	transition: color .25s var(--afws-ease);
}
body.afws ul.products li.product:hover .woocommerce-loop-product__title { color: var(--afws-gold-dark); }

body.afws .afws-loop-note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 6px 22px 0;
	padding: 9px 12px;
	border-radius: 12px;
	background: var(--afws-gold-tint);
	color: var(--afws-gold-dark);
	font-size: 13px;
	line-height: 1.4;
}
body.afws .afws-loop-note .afws-ico { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 1px; }

body.afws ul.products li.product .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 10px;
	margin: auto 0 0;
	padding: 16px 22px 0;
	color: var(--afws-ink);
	font-family: var(--afws-font-body);
	font-size: 20px;
	font-weight: 600;
}

/* Prices everywhere */
body.afws .woocommerce .price del,
body.afws .woocommerce-Price-amount del,
body.afws .wc-block-components-product-price__regular,
body.afws .wc-block-formatted-money-amount.wc-block-components-product-price__regular {
	color: var(--afws-muted);
	font-size: .78em;
	font-weight: 400;
	opacity: 1;
	text-decoration-thickness: 1px;
}
body.afws .woocommerce .price ins,
body.afws .wc-block-components-product-price__value.is-discounted {
	color: var(--afws-gold-dark);
	font-weight: 600;
	text-decoration: none;
	background: none;
}
body.afws .woocommerce .price { color: var(--afws-ink); }
body.afws .woocommerce .price,
body.afws .afws-savings,
body.afws .woocommerce-Price-amount,
body.afws .wc-block-formatted-money-amount,
body.afws .wc-block-components-formatted-money-amount { font-variant-numeric: lining-nums tabular-nums; }

/* Card CTA */
body.afws ul.products li.product .button,
body.afws ul.products li.product a.button {
	align-self: stretch;
	margin: 18px 22px 22px;
	min-height: 46px;
	padding: 12px 20px;
	border-color: var(--afws-ink);
	background: transparent;
	color: var(--afws-ink);
}
body.afws ul.products li.product .button:hover {
	border-color: var(--afws-gold);
	background: var(--afws-gold);
	color: #fff;
}
body.afws ul.products li.product a.added_to_cart {
	margin: -10px 22px 20px;
	padding: 0;
	color: var(--afws-gold-dark);
	font-size: 13px;
	text-align: center;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Sale badge */
body.afws .woocommerce span.onsale,
body.afws span.onsale.afws-onsale,
body.afws .woocommerce ul.products li.product span.onsale,
body.afws ul.products li.product span.onsale.afws-onsale,
body.afws .woocommerce div.product > span.onsale {
	position: absolute;
	top: 16px;
	left: 16px;
	right: auto;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 7px 13px;
	border-radius: var(--afws-r-pill);
	background: var(--afws-ink);
	color: #fff;
	font-family: var(--afws-font-body);
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .04em;
	text-align: center;
	white-space: nowrap;
	font-variant-numeric: lining-nums tabular-nums;
	text-transform: none;
	box-shadow: 0 4px 12px -4px rgba(29, 27, 24, .35);
	pointer-events: none;
}

/* Pagination */
body.afws .woocommerce nav.woocommerce-pagination { margin: 8px 0 56px; text-align: center; }
body.afws .woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 8px;
	border: 0;
	margin: 0;
}
body.afws .woocommerce nav.woocommerce-pagination ul li { border: 0; overflow: visible; }
body.afws .woocommerce nav.woocommerce-pagination ul li a,
body.afws .woocommerce nav.woocommerce-pagination ul li span {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--afws-line);
	border-radius: var(--afws-r-pill);
	background: var(--afws-card);
	color: var(--afws-ink);
	font-size: 14px;
}
body.afws .woocommerce nav.woocommerce-pagination ul li a:hover,
body.afws .woocommerce nav.woocommerce-pagination ul li span.current {
	border-color: var(--afws-gold);
	background: var(--afws-gold);
	color: #fff;
}

/* ==========================================================================
   5. Single product
   ========================================================================== */

/* Amoja article header duplicates the Elementor banner H1 */
body.afws.single-product article.product > .single-content > .entry-header,
body.afws.single-product article.type-product > .single-content > .entry-header { display: none; }

body.afws.single-product .woocommerce div.product,
body.afws .woocommerce div.product {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	column-gap: clamp(32px, 5vw, 72px);
	align-items: start;
	margin-bottom: 40px;
}
body.afws .woocommerce div.product > * { grid-column: 1 / -1; }
body.afws .woocommerce div.product > .woocommerce-product-gallery,
body.afws .woocommerce div.product > div.images { grid-column: 1; }
body.afws .woocommerce div.product > .summary { grid-column: 2; }

body.afws .woocommerce div.product div.images,
body.afws .woocommerce div.product div.summary,
body.afws #content div.product div.images,
body.afws #content div.product div.summary {
	float: none;
	width: auto;
	margin: 0 0 48px;
}

/* Gallery */
body.afws .woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
body.afws .woocommerce div.product div.images .flex-viewport {
	overflow: hidden;
	border: 1px solid var(--afws-line-soft);
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
}
body.afws .woocommerce div.product div.images .flex-viewport .woocommerce-product-gallery__wrapper {
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
body.afws .woocommerce div.product div.images img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
body.afws .woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-top: 12px;
}
body.afws .woocommerce div.product div.images .flex-control-thumbs li {
	float: none;
	width: auto;
	margin: 0;
}
body.afws .woocommerce div.product div.images .flex-control-thumbs li img {
	border-radius: 14px;
	opacity: .55;
	transition: opacity .25s var(--afws-ease);
}
body.afws .woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
body.afws .woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; }
body.afws .woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	top: 16px;
	right: 16px;
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
}
body.afws .woocommerce div.product > span.onsale.afws-onsale,
body.afws .woocommerce div.product > span.onsale { top: 18px; left: 18px; right: auto; }

/* Summary panel */
body.afws .woocommerce div.product div.summary {
	position: sticky;
	top: 110px;
	padding: clamp(26px, 3.4vw, 44px);
	border: 1px solid var(--afws-line-soft);
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
}
body.afws .woocommerce div.product .product_title,
body.afws .afws-summary-title {
	margin: 0 0 18px;
	color: var(--afws-ink);
	font-family: var(--afws-font-head);
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 300;
	line-height: 1.12;
	letter-spacing: -.02em;
	text-transform: none;
}

body.afws .woocommerce div.product div.summary p.price,
body.afws .woocommerce div.product div.summary span.price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 14px;
	margin: 0 0 10px;
	color: var(--afws-ink);
	font-family: var(--afws-font-body);
	font-size: clamp(26px, 2.4vw, 32px);
	font-weight: 600;
	line-height: 1.15;
}
body.afws .woocommerce div.product div.summary p.price del { order: 2; font-size: .6em; }

body.afws .afws-savings {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0 0 22px;
	padding: 7px 8px 7px 14px;
	border-radius: var(--afws-r-pill);
	background: var(--afws-gold-tint);
	color: var(--afws-gold-dark);
	font-size: 14px;
	line-height: 1.2;
}
body.afws .afws-savings strong { color: var(--afws-gold-dark); font-weight: 700; }
body.afws .afws-savings__pct {
	padding: 4px 9px;
	border-radius: var(--afws-r-pill);
	background: var(--afws-gold);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
}

body.afws .woocommerce div.product .woocommerce-product-details__short-description {
	margin: 0 0 24px;
	padding: 14px 18px;
	border-left: 2px solid var(--afws-gold);
	border-radius: 0 12px 12px 0;
	background: var(--afws-cream);
	color: var(--afws-text);
	font-size: 15px;
	line-height: 1.6;
}
body.afws .woocommerce div.product .woocommerce-product-details__short-description > :last-child { margin-bottom: 0; }

/* Add to cart */
body.afws .woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin: 0 0 8px;
	padding-top: 22px;
	border-top: 1px solid var(--afws-line-soft);
}
body.afws .woocommerce div.product form.cart::before,
body.afws .woocommerce div.product form.cart::after { content: none; display: none; }
body.afws .woocommerce div.product form.cart div.quantity {
	float: none;
	margin: 0;
}
body.afws .woocommerce div.product form.cart div.quantity:has(input[type="hidden"]) { display: none; }
body.afws .woocommerce .quantity input.qty {
	width: 84px;
	height: 54px;
	padding: 0 8px;
	border: 1px solid var(--afws-line);
	border-radius: var(--afws-r-pill);
	background: var(--afws-card);
	color: var(--afws-ink);
	font-family: var(--afws-font-body);
	font-size: 16px;
	text-align: center;
}
body.afws .woocommerce div.product form.cart .button,
body.afws .woocommerce div.product form.cart .single_add_to_cart_button {
	float: none;
	flex: 1 1 220px;
	min-height: 54px;
	font-size: 15px;
}
body.afws .woocommerce div.product form.cart .variations { margin-bottom: 8px; }
body.afws .woocommerce div.product form.cart .variations label { color: var(--afws-ink); font-weight: 600; font-size: 14px; }
body.afws .woocommerce div.product form.cart .reset_variations { color: var(--afws-muted); font-size: 13px; }

/* Pixelnest installments badge — sits on its own row under the CTA */
body.afws .woocommerce div.product form.cart .pxib-badge {
	flex: 1 1 100%;
	justify-content: center;
	margin: 2px 0 0;
	border-radius: var(--afws-r-pill);
}

/* Trust list */
body.afws .afws-trust {
	display: grid;
	gap: 12px;
	margin: 22px 0 0;
	padding: 22px 0 0;
	border-top: 1px solid var(--afws-line-soft);
	list-style: none;
}
body.afws .afws-trust li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	color: var(--afws-text);
	font-size: 14px;
	line-height: 1.4;
}
body.afws .afws-trust .afws-ico {
	flex: 0 0 auto;
	box-sizing: content-box;
	width: 18px;
	height: 18px;
	padding: 9px;
	border-radius: 50%;
	background: var(--afws-gold-tint);
	color: var(--afws-gold-dark);
}

body.afws .woocommerce div.product .product_meta {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--afws-line-soft);
	color: var(--afws-muted);
	font-size: 13px;
}
body.afws .woocommerce div.product .product_meta a { color: var(--afws-gold-dark); }

/* Tabs */
body.afws .woocommerce div.product .woocommerce-tabs {
	margin: 0 0 56px;
	padding: clamp(24px, 3.4vw, 44px);
	border: 1px solid var(--afws-line-soft);
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
}
body.afws .woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 26px;
	padding: 0;
	overflow: visible;
}
body.afws #content div.product .woocommerce-tabs ul.tabs::before,
body.afws #content div.product .woocommerce-tabs ul.tabs li::before,
body.afws #content div.product .woocommerce-tabs ul.tabs li::after,
body.afws .woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.afws .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.afws .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
body.afws .woocommerce div.product .woocommerce-tabs ul.tabs li,
body.afws #content div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 1px solid var(--afws-line);
	border-radius: var(--afws-r-pill);
	background: transparent;
}
body.afws .woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 10px 22px;
	color: var(--afws-ink);
	font-size: 14px;
	font-weight: 500;
}
body.afws .woocommerce div.product .woocommerce-tabs ul.tabs li.active,
body.afws #content div.product .woocommerce-tabs ul.tabs li.active {
	border-color: var(--afws-ink);
	background: var(--afws-ink);
}
body.afws .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
body.afws .woocommerce div.product .woocommerce-tabs .panel {
	margin: 0;
	color: var(--afws-text);
	font-size: 16px;
	line-height: 1.75;
}
body.afws .woocommerce div.product .woocommerce-tabs .panel > h2:first-child {
	margin-top: 0;
	font-family: var(--afws-font-head);
	font-weight: 300;
	font-size: 28px;
	color: var(--afws-ink);
}
body.afws .woocommerce table.shop_attributes th,
body.afws .woocommerce table.shop_attributes td {
	padding: 12px 16px;
	border-color: var(--afws-line-soft);
	font-style: normal;
}

/* Related / upsells headings */
body.afws .woocommerce .related > h2,
body.afws .woocommerce .upsells > h2,
body.afws .woocommerce .cross-sells > h2 {
	margin: 0 0 28px;
	color: var(--afws-ink);
	font-family: var(--afws-font-head);
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 300;
	letter-spacing: -.02em;
	text-transform: none;
}
body.afws .woocommerce .related > h2::after,
body.afws .woocommerce .upsells > h2::after {
	content: "";
	display: block;
	width: 56px;
	height: 1px;
	margin-top: 16px;
	background: var(--afws-gold);
}

/* ==========================================================================
   6. Forms (classic cart/checkout/account)
   ========================================================================== */
body.afws .woocommerce form .form-row label {
	margin-bottom: 6px;
	color: var(--afws-ink);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
}
body.afws .woocommerce form .form-row .required { color: var(--afws-gold-dark); text-decoration: none; }
body.afws .woocommerce form .form-row input.input-text,
body.afws .woocommerce form .form-row textarea,
body.afws .woocommerce form .form-row select,
body.afws .woocommerce .coupon input.input-text,
body.afws .woocommerce-account input.input-text,
body.afws .select2-container--default .select2-selection--single {
	min-height: 50px;
	padding: 12px 16px;
	border: 1px solid var(--afws-line);
	border-radius: var(--afws-r-field);
	background-color: var(--afws-card);
	color: var(--afws-ink);
	font-family: var(--afws-font-body);
	font-size: 15px;
	line-height: 1.4;
	box-shadow: none;
	transition: border-color .2s var(--afws-ease), box-shadow .2s var(--afws-ease);
}
body.afws .woocommerce form .form-row textarea { min-height: 120px; }
body.afws .woocommerce form .form-row input.input-text:focus,
body.afws .woocommerce form .form-row textarea:focus,
body.afws .woocommerce form .form-row select:focus,
body.afws .woocommerce .coupon input.input-text:focus {
	border-color: var(--afws-gold);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(166, 136, 108, .18);
}
body.afws .woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--afws-danger); }
body.afws .select2-container--default .select2-selection--single { display: flex; align-items: center; padding: 0 16px; }
body.afws .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 48px; color: var(--afws-ink); }
body.afws .select2-container--default .select2-selection--single .select2-selection__arrow { top: 12px; right: 12px; }
body.afws .select2-dropdown { border-color: var(--afws-line); border-radius: var(--afws-r-field); overflow: hidden; }
body.afws .select2-container--default .select2-results__option--highlighted[aria-selected],
body.afws .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--afws-gold); }

/* ==========================================================================
   7. Classic cart ([woocommerce_cart])
   ========================================================================== */
body.afws .woocommerce table.shop_table {
	overflow: hidden;
	margin: 0 0 32px;
	border: 1px solid var(--afws-line-soft);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
}
body.afws .woocommerce table.shop_table th {
	padding: 16px 20px;
	background: var(--afws-cream);
	color: var(--afws-muted);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: none;
}
body.afws .woocommerce table.shop_table td {
	padding: 18px 20px;
	border-top: 1px solid var(--afws-line-soft);
	color: var(--afws-text);
	vertical-align: middle;
}
body.afws .woocommerce table.shop_table td.product-name a {
	color: var(--afws-ink);
	font-family: var(--afws-font-head);
	font-size: 19px;
	text-decoration: none;
}
body.afws .woocommerce table.shop_table td.product-name a:hover { color: var(--afws-gold-dark); }
body.afws .woocommerce table.cart img,
body.afws #content table.cart img {
	width: 76px;
	border-radius: 14px;
}
body.afws .woocommerce a.remove {
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid var(--afws-line);
	border-radius: 50%;
	color: var(--afws-muted) !important;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	transition: all .2s var(--afws-ease);
}
body.afws .woocommerce a.remove:hover {
	border-color: var(--afws-danger);
	background: var(--afws-danger);
	color: #fff !important;
}
body.afws .woocommerce table.cart td.actions { background: var(--afws-cream); }
body.afws .woocommerce table.cart td.actions .coupon,
body.afws #content table.cart td.actions .coupon { display: flex; gap: 10px; align-items: center; }
body.afws .woocommerce table.cart td.actions .coupon .input-text,
body.afws #content table.cart td.actions .coupon .input-text { width: 200px; margin: 0; }

body.afws .woocommerce .cart-collaterals .cart_totals {
	padding: 30px;
	border: 1px solid var(--afws-line-soft);
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
}
body.afws .woocommerce .cart-collaterals .cart_totals > h2,
body.afws .woocommerce-checkout h3,
body.afws .woocommerce-order-details__title,
body.afws .woocommerce-column__title {
	margin: 0 0 18px;
	color: var(--afws-ink);
	font-family: var(--afws-font-head);
	font-size: 28px;
	font-weight: 300;
	letter-spacing: -.01em;
	text-transform: none;
}
body.afws .woocommerce .cart-collaterals .cart_totals table.shop_table { border: 0; box-shadow: none; border-radius: 0; }
body.afws .woocommerce .cart-collaterals .cart_totals table.shop_table th { background: transparent; padding-left: 0; }
body.afws .woocommerce .cart-collaterals .cart_totals table.shop_table td { text-align: right; padding-right: 0; }
body.afws .woocommerce .cart-collaterals .cart_totals .order-total th,
body.afws .woocommerce .cart-collaterals .cart_totals .order-total td {
	color: var(--afws-ink);
	font-size: 18px;
	font-weight: 600;
}
body.afws .woocommerce .wc-proceed-to-checkout { padding: 8px 0 0; }
body.afws .woocommerce .wc-proceed-to-checkout a.checkout-button { width: 100%; min-height: 56px; margin: 0; font-size: 15px; }

/* Empty cart (classic) */
body.afws .woocommerce .cart-empty.woocommerce-info { justify-content: center; text-align: center; }
body.afws .woocommerce .return-to-shop { text-align: center; }

/* ==========================================================================
   8. Cart block
   ========================================================================== */
body.afws .wp-block-woocommerce-cart.alignwide { margin-left: auto; margin-right: auto; }

/* Layout: WC uses 65/35% widths with padding gutters — cards need real gutters instead */
@media (min-width: 700px) {
	body.afws .wc-block-components-sidebar-layout.wc-block-cart { justify-content: space-between; }
	body.afws .wc-block-cart .wc-block-cart__main { width: calc(64% - 14px); }
	body.afws .wc-block-cart .wc-block-cart__sidebar { width: calc(36% - 14px); }
	body.afws .wc-block-cart__sidebar .wc-block-components-panel,
	body.afws .wc-block-cart__sidebar .wc-block-components-totals-coupon,
	body.afws .wc-block-cart__sidebar .wc-block-components-totals-item {
		padding-left: 0;
		padding-right: 0;
	}
}
@media (max-width: 699px) {
	body.afws .wc-block-cart .wc-block-cart__sidebar { margin-top: 20px; }
}
body.afws .wc-block-cart .wc-block-cart__main,
body.afws .wc-block-cart .wc-block-cart__sidebar {
	box-sizing: border-box;
}
body.afws .wc-block-cart .wc-block-cart__main {
	padding: clamp(18px, 2.6vw, 32px);
	border: 1px solid var(--afws-line-soft);
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
}
body.afws .wc-block-cart .wc-block-cart__sidebar {
	padding: clamp(20px, 2.6vw, 30px);
	border: 1px solid var(--afws-line-soft);
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
}

body.afws .wc-block-cart-items { margin: 0; border: 0; border-collapse: collapse; }
/* Amoja draws borders on every table/th/td — strip them inside block tables */
body.afws .wc-block-cart-items,
body.afws .wc-block-cart-items th,
body.afws .wc-block-cart-items td,
body.afws .wc-block-cart-items tr { border-left: 0 !important; border-right: 0 !important; background: transparent; }
body.afws .wc-block-cart-items th { border-top: 0 !important; border-bottom: 1px solid var(--afws-line-soft) !important; padding-bottom: 12px; }
body.afws .wc-block-cart-items td { border-bottom: 0 !important; border-top: 1px solid var(--afws-line-soft) !important; }
body.afws .wc-block-cart-items .wc-block-cart-items__row:first-child td { border-top: 0 !important; }
body.afws .wc-block-cart-items th,
body.afws .wc-block-cart-items .wc-block-cart-items__header {
	color: var(--afws-muted);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: none;
}
body.afws .wc-block-cart-items .wc-block-cart-items__header th span { text-transform: none; }
body.afws .wc-block-cart-items .wc-block-cart-item__image img {
	border-radius: 14px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: var(--afws-cream);
}
body.afws .wc-block-components-product-name,
body.afws .wc-block-cart-item__product .wc-block-components-product-name {
	color: var(--afws-ink);
	font-family: var(--afws-font-head);
	font-size: 19px;
	font-weight: 400;
	line-height: 1.3;
	text-decoration: none;
}
body.afws a.wc-block-components-product-name:hover { color: var(--afws-gold-dark); }
body.afws .wc-block-components-product-badge,
body.afws .wc-block-components-sale-badge {
	border: 0;
	border-radius: var(--afws-r-pill);
	background: var(--afws-gold-tint);
	color: var(--afws-gold-dark);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .03em;
	padding: 4px 10px;
	text-transform: none;
}
body.afws .wc-block-components-product-metadata { color: var(--afws-muted); font-size: 13px; }
body.afws .wc-block-cart-item__total .wc-block-components-product-price,
body.afws .wc-block-cart-item__prices { color: var(--afws-ink); }

/* Quantity stepper */
body.afws .wc-block-components-quantity-selector {
	border: 1px solid var(--afws-line) !important;
	border-radius: var(--afws-r-pill) !important;
	background: var(--afws-card);
	overflow: hidden;
}
body.afws .wc-block-components-quantity-selector::after { display: none; }
body.afws .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	color: var(--afws-ink);
	font-family: var(--afws-font-body);
	font-weight: 600;
}
body.afws .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	color: var(--afws-gold-dark);
	opacity: 1;
}
body.afws .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover { background: var(--afws-gold-tint); }
body.afws .wc-block-cart-item__remove-link {
	color: var(--afws-muted) !important;
	font-size: 13px !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}
body.afws .wc-block-cart-item__remove-link:hover { color: var(--afws-danger) !important; }

/* Totals (cart + checkout sidebars) */
body.afws .wc-block-components-totals-wrapper { border-top-color: var(--afws-line-soft); }
body.afws .wc-block-cart__totals-title,
body.afws .wc-block-components-checkout-order-summary__title-text,
body.afws .wc-block-components-order-summary .wc-block-components-panel__button {
	color: var(--afws-ink) !important;
	font-family: var(--afws-font-head) !important;
	font-size: 24px !important;
	font-weight: 300 !important;
	letter-spacing: -.01em;
	text-transform: none !important;
}
body.afws .wc-block-components-totals-item { color: var(--afws-text); font-size: 15px; }
body.afws .wc-block-components-totals-item__label { color: var(--afws-text); }
body.afws .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.afws .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--afws-ink);
	font-weight: 600;
}
body.afws .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 16px; }
body.afws .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 22px; }
body.afws .wc-block-components-totals-discount .wc-block-components-totals-item__value { color: var(--afws-success); }
body.afws .wc-block-components-panel__button { color: var(--afws-gold-dark); font-size: 15px; }
body.afws .wc-block-components-panel__button:hover { color: var(--afws-ink); }
body.afws .wc-block-components-totals-coupon__form { gap: 10px; }
body.afws .wc-block-components-totals-coupon__button.wc-block-components-button { min-height: 50px; padding: 0 22px; }

body.afws .wc-block-cart__submit-container { padding-top: 6px; }
body.afws .wc-block-cart__submit-button { width: 100%; min-height: 58px; font-size: 15px; }

/* Express payments separator */
body.afws .wc-block-components-express-payment-continue-rule { color: var(--afws-muted); font-size: 13px; text-transform: none; }

/* Empty cart block */
body.afws .wp-block-woocommerce-empty-cart-block {
	padding: clamp(32px, 6vw, 72px) 20px;
	border: 1px solid var(--afws-line-soft);
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
	text-align: center;
	box-shadow: var(--afws-shadow);
}
body.afws .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	color: var(--afws-ink);
	font-family: var(--afws-font-head);
	font-size: clamp(26px, 3vw, 36px);
	font-weight: 300;
}
body.afws .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before { background-color: var(--afws-gold); }
body.afws .wp-block-woocommerce-empty-cart-block .wp-block-separator { border-color: var(--afws-line-soft); opacity: 1; }
body.afws .wp-block-woocommerce-empty-cart-block .wp-block-heading { font-family: var(--afws-font-head); font-weight: 300; color: var(--afws-ink); }
body.afws .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
body.afws .wp-block-woocommerce-empty-cart-block .wc-block-product-new { text-align: left; }

/* Block product grids (cross-sells / empty cart "new in") */
body.afws .wc-block-grid__product,
body.afws .wp-block-woocommerce-cart-cross-sells-block .cross-sells-product {
	overflow: hidden;
	padding: 0 0 18px !important;
	border: 1px solid var(--afws-line-soft) !important;
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
}
body.afws .wc-block-grid__product-title,
body.afws .cross-sells-product .wc-block-components-product-name {
	padding: 0 18px;
	color: var(--afws-ink);
	font-family: var(--afws-font-head);
	font-size: 18px;
	font-weight: 400;
}
body.afws .wc-block-grid__product-price,
body.afws .cross-sells-product .wc-block-components-product-price { padding: 0 18px; color: var(--afws-ink); }
body.afws .wc-block-grid__product-onsale {
	border: 0;
	border-radius: var(--afws-r-pill);
	background: var(--afws-ink);
	color: #fff;
	text-transform: none;
}

/* ==========================================================================
   9. Checkout block
   ========================================================================== */
body.afws .wc-block-checkout__main .wc-block-components-checkout-step,
body.afws .wc-block-checkout__form > fieldset {
	margin: 0 0 20px;
	padding: clamp(20px, 2.6vw, 30px);
	border: 1px solid var(--afws-line-soft);
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
}
body.afws .wc-block-components-checkout-step::after,
body.afws .wc-block-components-checkout-step__container::after { display: none !important; }
body.afws .wc-block-components-checkout-step__heading { margin: 0 0 14px; }
body.afws .wc-block-components-checkout-step__title {
	color: var(--afws-ink);
	font-family: var(--afws-font-head);
	font-size: 24px;
	font-weight: 300;
	letter-spacing: -.01em;
	text-transform: none;
}
body.afws .wc-block-components-checkout-step__description { color: var(--afws-muted); font-size: 14px; }
body.afws .wc-block-components-checkout-step__heading-content a { color: var(--afws-gold-dark); }

/* Inputs */
body.afws .wc-block-components-text-input input[type],
body.afws .wc-block-components-text-input input,
body.afws .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
body.afws .wc-block-components-form .wc-block-components-text-input input,
body.afws .wc-block-components-textarea,
body.afws .wc-block-components-select .wc-block-components-select__select,
body.afws .wc-blocks-components-select .wc-blocks-components-select__select {
	border: 1px solid var(--afws-line) !important;
	border-radius: var(--afws-r-field) !important;
	background-color: var(--afws-card) !important;
	color: var(--afws-ink) !important;
	font-family: var(--afws-font-body);
	box-shadow: none !important;
}
body.afws .wc-block-components-text-input input:focus,
body.afws .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus,
body.afws .wc-block-components-textarea:focus,
body.afws .wc-block-components-select .wc-block-components-select__select:focus,
body.afws .wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--afws-gold) !important;
	box-shadow: 0 0 0 3px rgba(166, 136, 108, .18) !important;
	outline: 0;
}
body.afws .wc-block-components-text-input label,
body.afws .wc-block-components-combobox .wc-block-components-combobox-control label,
body.afws .wc-block-components-select .wc-block-components-select__label,
body.afws .wc-blocks-components-select .wc-blocks-components-select__label { color: var(--afws-muted); }
body.afws .wc-block-components-text-input.has-error input,
body.afws .wc-block-components-text-input.has-error input:focus { border-color: var(--afws-danger) !important; box-shadow: 0 0 0 3px rgba(164, 73, 61, .14) !important; }
body.afws .wc-block-components-validation-error { color: var(--afws-danger); }

/* Radios (shipping / payment) */
body.afws .wc-block-components-radio-control--highlight-checked,
body.afws .wc-block-checkout__payment-method .wc-block-components-radio-control,
body.afws .wc-block-components-radio-control-accordion-option {
	border-radius: var(--afws-r-field);
}
body.afws .wc-block-components-radio-control--highlight-checked::after,
body.afws .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.afws .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: inset 0 0 0 1.5px var(--afws-gold) !important;
	border-radius: var(--afws-r-field);
}
body.afws .wc-block-components-radio-control--highlight-checked { border: 1px solid var(--afws-line-soft) !important; overflow: hidden; }
body.afws .wc-block-components-radio-control .wc-block-components-radio-control__input {
	border-color: var(--afws-line);
}
body.afws .wc-block-components-radio-control .wc-block-components-radio-control__input:checked { border-color: var(--afws-gold); }
body.afws .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before { background: var(--afws-gold); }
body.afws .wc-block-components-radio-control__label { color: var(--afws-ink); font-weight: 500; }
body.afws .wc-block-components-radio-control__description,
body.afws .wc-block-components-radio-control__secondary-description { color: var(--afws-muted); }

/* Checkboxes */
body.afws .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	border-color: var(--afws-line);
	border-radius: 6px;
	background: var(--afws-card);
}
body.afws .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	border-color: var(--afws-gold);
	background: var(--afws-gold);
}
body.afws .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff; }
body.afws .wc-block-components-checkbox label { color: var(--afws-text); }

/* Order summary (checkout sidebar) */
/* The summary block is already a bordered box in WC 11 — skin it instead of the sidebar wrapper (keeps WC gutters) */
body.afws .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	overflow: hidden;
	border: 1px solid var(--afws-line-soft) !important;
	border-radius: var(--afws-r-card) !important;
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
}
body.afws .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title { padding-top: 6px; }
body.afws .wc-block-components-order-summary-item__image img {
	border-radius: 12px;
	background: var(--afws-cream);
}
body.afws .wc-block-components-order-summary-item__quantity {
	border: 0;
	background: var(--afws-ink);
	color: #fff;
	box-shadow: 0 0 0 2px var(--afws-card);
}
body.afws .wc-block-components-order-summary-item__description .wc-block-components-product-name { font-size: 16px; }
body.afws .wc-block-components-order-summary-item__description { flex: 1 1 auto; min-width: 0; }
body.afws .wc-block-components-order-summary-item__total-price { flex: 0 1 auto; max-width: 42%; text-align: right; }
body.afws .wc-block-components-order-summary-item .wc-block-components-sale-badge {
	display: inline-block;
	white-space: normal;
	line-height: 1.3;
	text-align: center;
	border-radius: 10px;
}

/* Tablet: 35% sidebar is too narrow for long Greek service names — stack, summary first (mirrors WC mobile) */
@media (min-width: 700px) and (max-width: 1024px) {
	body.afws .wc-block-checkout.wc-block-components-sidebar-layout { flex-direction: column; }
	body.afws .wc-block-checkout .wc-block-checkout__main,
	body.afws .wc-block-checkout .wc-block-checkout__sidebar {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}
	body.afws .wc-block-checkout .wc-block-checkout__sidebar {
		order: 0;
		position: static;
		margin-bottom: 24px;
	}
	body.afws .wc-block-checkout .wc-block-checkout__main { order: 1; }
}
body.afws .wc-block-components-order-summary-item__total-price { color: var(--afws-ink); font-weight: 600; }

/* Place order */
body.afws .wc-block-checkout__actions { padding-top: 6px; }
body.afws .wc-block-checkout__actions_row { gap: 16px; }
body.afws .wc-block-components-checkout-place-order-button { min-height: 58px; padding: 16px 40px; font-size: 15px; }
body.afws .wc-block-components-checkout-return-to-cart-button { color: var(--afws-gold-dark); font-size: 14px; }
body.afws .wc-block-components-checkout-return-to-cart-button svg { fill: currentColor; }
body.afws .wc-block-checkout__terms { color: var(--afws-muted); font-size: 13px; line-height: 1.6; }
body.afws .wc-block-checkout__terms a,
body.afws .wc-block-components-checkbox a { color: var(--afws-gold-dark); }

/* ==========================================================================
   10. Classic checkout ([woocommerce_checkout])
   ========================================================================== */
body.afws form.woocommerce-checkout .col2-set .col-1,
body.afws form.woocommerce-checkout .col2-set .col-2 {
	box-sizing: border-box;
}
body.afws form.woocommerce-checkout #customer_details {
	margin-bottom: 28px;
}
body.afws form.woocommerce-checkout .woocommerce-billing-fields,
body.afws form.woocommerce-checkout .woocommerce-shipping-fields,
body.afws form.woocommerce-checkout .woocommerce-additional-fields {
	padding: clamp(20px, 2.6vw, 30px);
	margin-bottom: 20px;
	border: 1px solid var(--afws-line-soft);
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
}
body.afws form.woocommerce-checkout #order_review_heading { margin-top: 8px; }
body.afws form.woocommerce-checkout #order_review {
	padding: clamp(20px, 2.6vw, 30px);
	border: 1px solid var(--afws-line-soft);
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
}
body.afws form.woocommerce-checkout #order_review table.shop_table { border: 0; box-shadow: none; border-radius: 0; }
body.afws form.woocommerce-checkout #order_review table.shop_table th { background: transparent; }
body.afws form.woocommerce-checkout #order_review .order-total th,
body.afws form.woocommerce-checkout #order_review .order-total td { color: var(--afws-ink); font-size: 18px; font-weight: 600; }
body.afws .woocommerce-checkout #payment {
	border-radius: var(--afws-r-field);
	background: var(--afws-cream);
}
body.afws .woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--afws-line-soft); padding: 18px 20px; }
body.afws .woocommerce-checkout #payment ul.payment_methods li { line-height: 1.5; }
body.afws .woocommerce-checkout #payment ul.payment_methods li label { color: var(--afws-ink); font-weight: 500; }
body.afws .woocommerce-checkout #payment div.payment_box {
	border-radius: 12px;
	background: var(--afws-card);
	color: var(--afws-text);
	font-size: 14px;
}
body.afws .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--afws-card); }
body.afws .woocommerce-checkout #payment div.form-row { padding: 18px 20px; }
body.afws .woocommerce-checkout #payment #place_order { width: 100%; min-height: 58px; float: none; font-size: 15px; }
body.afws .woocommerce-terms-and-conditions-wrapper { color: var(--afws-muted); font-size: 13px; }
body.afws .woocommerce-form-coupon-toggle .woocommerce-info,
body.afws .woocommerce-form-login-toggle .woocommerce-info { box-shadow: none; }
body.afws .woocommerce form.checkout_coupon,
body.afws .woocommerce form.login {
	padding: 22px;
	border: 1px solid var(--afws-line-soft);
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
}

/* ==========================================================================
   11. Order received / thank you
   ========================================================================== */
body.afws .woocommerce-order .woocommerce-thankyou-order-received,
body.afws .wc-block-order-confirmation-status {
	margin: 0 0 24px;
	color: var(--afws-ink);
	font-family: var(--afws-font-head);
	font-size: clamp(26px, 3vw, 36px);
	font-weight: 300;
	line-height: 1.25;
}
body.afws .woocommerce ul.order_details,
body.afws .woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 0;
	margin: 0 0 36px;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--afws-line-soft);
	border-radius: var(--afws-r-card);
	background: var(--afws-card);
	box-shadow: var(--afws-shadow);
}
body.afws .woocommerce ul.order_details::before,
body.afws .woocommerce ul.order_details::after { display: none; }
body.afws .woocommerce ul.order_details li {
	float: none;
	margin: 0;
	padding: 18px 22px;
	border: 0;
	border-right: 1px solid var(--afws-line-soft);
	color: var(--afws-muted);
	font-size: 12px;
	letter-spacing: .03em;
	text-transform: none;
}
body.afws .woocommerce ul.order_details li strong {
	margin-top: 6px;
	color: var(--afws-ink);
	font-size: 16px;
	letter-spacing: 0;
}
body.afws .wc-block-order-confirmation-summary { border-radius: var(--afws-r-card); }

/* My account nav (light touch) */
body.afws .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
body.afws .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 12px 18px;
	border-radius: var(--afws-r-pill);
	color: var(--afws-ink);
	text-decoration: none;
}
body.afws .woocommerce-MyAccount-navigation li.is-active a,
body.afws .woocommerce-MyAccount-navigation li a:hover { background: var(--afws-gold-tint); color: var(--afws-gold-dark); }

/* ==========================================================================
   12. Responsive
   ========================================================================== */
@media (max-width: 1024px) {
	body.afws .woocommerce div.product div.summary { position: static; }
}

@media (max-width: 860px) {
	body.afws .woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
	body.afws .woocommerce div.product > .woocommerce-product-gallery,
	body.afws .woocommerce div.product > div.images,
	body.afws .woocommerce div.product > .summary { grid-column: 1; }
	body.afws .woocommerce div.product div.images { margin-bottom: 20px; }
	body.afws .woocommerce div.product div.images img { aspect-ratio: 4 / 3; }
}

@media (max-width: 768px) {
	body.afws .woocommerce-result-count,
	body.afws .woocommerce-ordering { float: none; width: 100%; margin-bottom: 14px; line-height: 1.4; }
	body.afws .woocommerce-ordering select.orderby { width: 100%; }
	body.afws ul.products { gap: 18px; }

	/* Classic responsive cart rows */
	body.afws .woocommerce table.shop_table_responsive tr td,
	body.afws .woocommerce-page table.shop_table_responsive tr td { padding: 12px 18px; }
	body.afws .woocommerce table.cart td.actions .coupon,
	body.afws #content table.cart td.actions .coupon { flex-direction: column; align-items: stretch; }
	body.afws .woocommerce table.cart td.actions .coupon .input-text,
	body.afws #content table.cart td.actions .coupon .input-text { width: 100%; }
	body.afws .woocommerce table.cart td.actions .button,
	body.afws #content table.cart td.actions .button { width: 100%; }

	body.afws .woocommerce-message,
	body.afws .woocommerce-info,
	body.afws .woocommerce-error { padding: 14px 16px 14px 48px; }
	body.afws .woocommerce-message .button,
	body.afws .woocommerce-info .button { margin-left: 0; width: 100%; }
}

@media (max-width: 480px) {
	body.afws ul.products li.product .woocommerce-loop-product__title { font-size: 19px; padding: 18px 18px 4px; }
	body.afws ul.products li.product .price { padding: 12px 18px 0; }
	body.afws ul.products li.product .button { margin: 14px 18px 18px; }
	body.afws .afws-loop-note { margin: 6px 18px 0; }
	body.afws ul.products li.product img { aspect-ratio: 4 / 3; }
}

@media (prefers-reduced-motion: reduce) {
	body.afws ul.products li.product,
	body.afws ul.products li.product a img,
	body.afws .woocommerce a.button,
	body.afws .woocommerce button.button,
	body.afws .wc-block-components-button { transition: none !important; }
	body.afws ul.products li.product:hover,
	body.afws ul.products li.product:hover a img { transform: none; }
}
