/* ==========================================================================
   Antalya Balik - WooCommerce styles
   Loaded only on Woo pages. WC default stylesheets are disabled; this
   provides the full shop/product/cart/checkout look on-brand.
   ========================================================================== */

:root {
	--woo-accent: var(--ab-saffron, #C2571A);
	--woo-accent-deep: var(--ab-saffron-deep, #9A3F10);
	--woo-deep: var(--ab-ink, #23201B);
	--woo-ink-soft: var(--ab-ink-soft, #5A5449);
	--woo-lagoon: var(--ab-aegean, #1C5A6E);
	--woo-olive: var(--ab-olive, #4C5A3A);
	--woo-coral: var(--ab-saffron, #C2571A);
	--woo-ink: var(--ab-ink, #23201B);
	--woo-mist: var(--ab-linen, #EDE4D3);
	--woo-paper: var(--ab-paper, #FBF8F1);
	--woo-line: var(--ab-line, #DBD0BC);
	--woo-radius: 2px;
}

.woo-container { padding: 2.5rem 1.25rem; max-width: 1200px; margin: 0 auto; }

/* ==========================================================================
   Header cart
   ========================================================================== */
.header-actions { display: flex; align-items: center; }
.header-cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.45rem 0.85rem 0.45rem 0.7rem;
	border-radius: 2px;
	background: var(--woo-mist);
	color: var(--woo-deep);
	text-decoration: none;
	font-weight: 700;
	font-size: 0.9rem;
	transition: background 0.2s ease, color 0.2s ease;
}
.header-cart:hover { background: var(--woo-accent); color: #fff; }
.header-cart__icon { display: block; }
.header-cart__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	background: var(--woo-accent-deep);
	color: #fff;
	border-radius: 999px;
	font-size: 0.72rem;
	line-height: 1;
}
.header-cart__total { font-size: 0.85rem; }
@media ( max-width: 900px ) {
	.header-cart__total { display: none; } /* keep the count badge at all sizes */
}

/* ==========================================================================
   Breadcrumb
   ========================================================================== */
.woocommerce-breadcrumb {
	font-size: 0.85rem;
	color: var(--woo-ink-soft);
	margin: 0 0 1.75rem;
	padding: 0.6rem 1rem;
	background: var(--woo-mist);
	border-radius: 2px;
}
.woocommerce-breadcrumb a { color: var(--woo-accent-deep); }

/* ==========================================================================
   Notices
   ========================================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top: 0;
	border-radius: 2px;
	padding: 1rem 1.25rem !important;
	margin: 0 0 1.5rem !important;
	background: var(--woo-mist);
	color: var(--woo-deep);
	font-weight: 600;
	border-left: 4px solid var(--woo-accent);
	list-style: none;
}
.woocommerce-error { background: #fbeae0; border-left-color: var(--woo-accent-deep); color: #8a2e0a; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { color: inherit !important; }
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	float: right;
	background: transparent;
	border: 1.5px solid currentColor;
	color: inherit !important;
	border-radius: 999px;
	padding: 0.4rem 1rem;
	font-weight: 700;
	font-size: 0.85rem;
	margin-top: -4px;
}

/* ==========================================================================
   Shop toolbar
   ========================================================================== */
.woocommerce-result-count { margin: 0 0 1.25rem; color: var(--woo-ink-soft); font-size: 0.9rem; }
.woocommerce-ordering { margin: 0 0 1.5rem; }
.woocommerce-ordering select {
	padding: 0.55rem 0.9rem;
	border: 1px solid var(--woo-line);
	border-radius: 2px;
	font-family: inherit;
	font-size: 0.9rem;
	background: var(--woo-paper);
	color: var(--woo-ink);
}

/* ==========================================================================
   Product grid
   ========================================================================== */
ul.products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
}
ul.products::before,
ul.products::after { display: none; content: none; }
ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	position: relative;
	background: var(--woo-paper);
	border: 1px solid var(--woo-line);
	border-radius: 2px;
	overflow: hidden;
	text-align: left;
	display: flex;
	flex-direction: column;
	box-shadow: var(--ab-shadow, 0 8px 24px rgba(35, 32, 27, 0.10));
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
ul.products li.product:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 40px var(--ab-shadow-color, rgba(35, 32, 27, 0.10));
	border-color: var(--woo-accent);
}

/* product image — square plate on the paper family, flush at the top with a
   hairline rule under it (the illustration already sits on warm paper). */
ul.products li.product .woocommerce-loop-product__link { display: block; position: relative; background: var(--woo-paper); border-bottom: 1px solid var(--woo-line); }
ul.products li.product img {
	margin: 0 auto;
	width: 100%;
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
	display: block;
}
/* "Fresh catch" ribbon — anchored to the BOTTOM-left of the image so it never
   collides with the SALE! badge (top-left) on narrow 2-col/mobile cards. The
   image link is position:relative, so the ribbon stays on the plate, clear of
   the title below. */
ul.products li.product.featured::after {
	content: "Fresh catch";
	position: absolute;
	top: 2.9rem;
	left: 0.85rem;
	z-index: 2;
	background: var(--woo-olive);
	color: #fff;
	padding: 0.25rem 0.6rem;
	border-radius: 2px;
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
ul.products li.product .attachment-woocommerce_thumbnail { margin-bottom: 0; }

/* sale badge (deep saffron — white text clears AA 4.5:1) */
.onsale {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	z-index: 2;
	background: var(--woo-accent-deep);
	color: #fff;
	padding: 0.25rem 0.65rem;
	border-radius: 2px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	height: auto;
	min-height: 0;
	line-height: 1.4;
}

/* product body */
ul.products li.product .inner,
ul.products li.product > .woocommerce-loop-product__link + * { margin-top: 0; }
ul.products li.product .woocommerce-loop-product__title {
	padding: 0 1.1rem;
	margin: 0.9rem 0 0.35rem;
	font-size: 1.25rem;
	font-family: var(--ab-font-head, 'Fraunces', serif);
	font-optical-sizing: auto;
	font-weight: 600;
	color: var(--woo-ink);
}
ul.products li.product .woocommerce-loop-product__title:hover { color: var(--woo-accent-deep); }

/* thin divider before the price row */
ul.products li.product .price {
	display: block;
	padding: 0.75rem 1.1rem 0;
	margin: 0.35rem 0 0.85rem;
	border-top: 1px solid var(--woo-line);
	color: var(--woo-accent-deep);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	font-size: 1.15rem;
}
ul.products li.product .price del { color: var(--woo-ink-soft); font-weight: 500; opacity: 1; }
ul.products li.product .price ins { background: none; text-decoration: none; }
ul.products li.product .price del + ins { margin-left: 0.35rem; }

/* star rating */
.star-rating { color: var(--woo-accent); }

/* Catalog-mode "View details" link — saffron-outline text button, never a buy. */
ul.products li.product .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	margin: 0 1.1rem 1.1rem;
	padding: 0.55rem 1.15rem;
	border-radius: 2px;
	background: transparent;
	border: 1.5px solid var(--woo-accent);
	color: var(--woo-accent-deep) !important;
	font-weight: 600;
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
ul.products li.product .button:hover { background: var(--woo-accent); color: #fff !important; transform: translateY(-2px); }
ul.products li.product .button.loading { opacity: 0.7; }
ul.products li.product .added_to_cart {
	display: inline-block;
	margin: 0 1.1rem 1.1rem;
	font-size: 0.85rem;
	color: var(--woo-accent-deep);
	font-weight: 700;
	text-decoration: none;
}

/* ==========================================================================
   Pagination
   ========================================================================== */
.woocommerce-pagination ul {
	border: 0;
	display: flex;
	gap: 0.4rem;
	list-style: none;
	justify-content: center;
	padding: 0;
	margin: 2.5rem 0 0;
}
.woocommerce-pagination li { border: 0; }
.woocommerce-pagination a,
.woocommerce-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 0.7rem;
	border: 1px solid var(--woo-line);
	border-radius: 2px;
	color: var(--woo-ink);
	font-weight: 600;
	text-decoration: none;
	background: var(--woo-paper);
}
.woocommerce-pagination a:hover { background: var(--woo-accent); color: #fff; border-color: var(--woo-accent); }
.woocommerce-pagination .current { background: var(--woo-accent); color: #fff; border-color: var(--woo-accent); }

/* ==========================================================================
   Single product
   ========================================================================== */
.single-product div.product {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	margin-top: 0;
	position: relative;
}
.single-product div.product::before,
.single-product div.product::after { display: none; content: none; }

.woocommerce-product-gallery { width: 100%; }
.woocommerce-product-gallery__image img { border-radius: 2px; border: 1px solid var(--woo-line); box-shadow: 0 16px 36px var(--ab-shadow-color, rgba(35, 32, 27, 0.14)); }
.woocommerce-product-gallery ol.flex-control-thumbs { display: flex; gap: 0.6rem; list-style: none; padding: 0; margin: 0.85rem 0 0; }
.woocommerce-product-gallery ol.flex-control-thumbs li { width: 72px; }
.woocommerce-product-gallery ol.flex-control-thumbs img { border-radius: 2px; opacity: 0.7; transition: opacity 0.2s ease; }
.woocommerce-product-gallery ol.flex-control-thumbs img:hover,
.woocommerce-product-gallery ol.flex-control-thumbs img.flex-active { opacity: 1; }

.summary { padding: 0; }
.product_title {
	font-family: var(--ab-font-head, 'Fraunces', serif);
	font-optical-sizing: auto;
	font-weight: 600;
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	color: var(--woo-ink);
	margin: 0 0 0.5rem;
}
.single-product div.product p.price {
	font-size: 1.6rem;
	color: var(--woo-accent-deep);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	margin: 0 0 1.25rem;
}
.single-product div.product p.price del { color: var(--woo-ink-soft); font-weight: 500; opacity: 1; }
.single-product div.product p.price ins { background: none; text-decoration: none; }

.woocommerce-product-details__short-description { color: var(--woo-ink-soft); border-left: 3px solid var(--woo-accent); padding-left: 1rem; margin: 0 0 1.5rem; }

/* quantity + add to cart */
.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin: 0 0 1.5rem; }
.quantity { display: inline-flex; align-items: stretch; border: 1.5px solid var(--woo-line); border-radius: 2px; overflow: hidden; }
.quantity input { border: 0; padding: 0.65rem 0.4rem; width: 56px; min-height: 48px; text-align: center; font-size: 1rem; background: var(--woo-paper); color: var(--woo-ink); -moz-appearance: textfield; }
.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.single_add_to_cart_button {
	flex: 1;
	background: var(--woo-accent);
	color: #fff !important;
	border: 0;
	border-radius: 2px;
	padding: 0.85rem 2rem;
	font-weight: 600;
	font-size: 1rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform 0.2s ease, background 0.2s ease;
}
.single_add_to_cart_button:hover { transform: translateY(-2px); background: var(--woo-accent-deep); }

.product_meta { font-size: 0.85rem; color: var(--woo-ink-soft); border-top: 1px solid var(--woo-line); padding-top: 1rem; }
.product_meta a { color: var(--woo-accent-deep); font-weight: 600; }

/* tabs */
.woocommerce-tabs ul.tabs {
	list-style: none;
	padding: 0;
	margin: 2.5rem 0 0;
	display: flex;
	gap: 0.5rem;
	border-bottom: 2px solid var(--woo-line);
}
.woocommerce-tabs ul.tabs::before { display: none; content: none; }
.woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; margin: 0; padding: 0; }
.woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0.75rem 1.25rem;
	color: var(--woo-ink-soft);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
}
.woocommerce-tabs ul.tabs li.active a { color: var(--woo-accent-deep); border-bottom-color: var(--woo-accent); }
.woocommerce-Tabs-panel { padding: 1.5rem 0; color: var(--woo-ink-soft); line-height: 1.7; }
.woocommerce-Tabs-panel h2 { display: none; }

/* related / upsells */
.related.products,
.upsells.products { margin-top: 3rem; }
.related.products > h2,
.upsells.products > h2 {
	font-family: var(--ab-font-head, 'Fraunces', serif);
	font-optical-sizing: auto;
	font-weight: 600;
	font-size: 1.6rem;
	color: var(--woo-ink);
	margin: 0 0 1.5rem;
}

/* ==========================================================================
   Cart
   ========================================================================== */
.woocommerce-cart-form table.shop_table {
	border: 1px solid var(--woo-line);
	border-radius: 2px;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--woo-paper);
	box-shadow: var(--ab-shadow, 0 8px 24px rgba(35, 32, 27, 0.06));
}
.woocommerce-cart-form table.shop_table th { background: var(--woo-mist); color: var(--woo-deep); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 1rem; }
.woocommerce-cart-form table.shop_table td { padding: 1rem; border-top: 1px solid var(--woo-line); vertical-align: middle; }
.product-thumbnail img { width: 72px; border-radius: 2px; border: 1px solid var(--woo-line); }
a.remove {
	color: #8a2e0a !important;
	font-size: 1.4rem !important;
	width: 26px !important;
	height: 26px !important;
	line-height: 24px !important;
	text-align: center;
	border-radius: 999px;
	border: 1.5px solid #8a2e0a;
}
a.remove:hover { background: #8a2e0a; color: #fff !important; }
.product-name a { color: var(--woo-ink); font-weight: 700; text-decoration: none; }

.coupon { display: flex; gap: 0.5rem; align-items: center; }
.coupon input.input-text { padding: 0.6rem 0.9rem; border: 1.5px solid var(--woo-line); border-radius: 2px; background: var(--woo-paper); color: var(--woo-ink); }
.actions { padding: 1rem !important; }
button[name="update_cart"], .coupon button { background: var(--woo-mist); border: 1.5px solid var(--woo-line); border-radius: 2px; padding: 0.55rem 1.1rem; font-weight: 700; cursor: pointer; color: var(--woo-ink); }
button[name="update_cart"]:disabled { opacity: 0.5; }

.cart_totals h2 { font-family: var(--ab-font-head, 'Fraunces', serif); font-optical-sizing: auto; font-weight: 600; color: var(--woo-ink); font-size: 1.5rem; }
.cart_totals table { border: 0; }
.cart_totals th, .cart_totals td { padding: 0.75rem 0; border-top: 1px solid var(--woo-line); }
.cart_totals .order-total { font-size: 1.2rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--woo-accent-deep); }
.wc-proceed-to-checkout { padding: 1.5rem 0 0; }
.wc-proceed-to-checkout a.checkout-button {
	display: block;
	text-align: center;
	background: var(--woo-accent);
	color: #fff !important;
	border-radius: 2px;
	padding: 0.95rem;
	font-size: 1.05rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
}
.wc-proceed-to-checkout a.checkout-button:hover { background: var(--woo-accent-deep); }

/* general buttons */
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button {
	background: var(--woo-accent);
	color: #fff !important;
	border: 0;
	border-radius: 2px;
	padding: 0.65rem 1.4rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover { background: var(--woo-accent-deep); transform: translateY(-2px); }
.woocommerce .button.alt,
.woocommerce a.button.alt { background: var(--woo-accent); }
.woocommerce .button.alt:hover,
.woocommerce a.button.alt:hover { background: var(--woo-accent-deep); }

/* ==========================================================================
   Checkout
   ========================================================================== */
.woocommerce-checkout h3 { font-family: var(--ab-font-head, 'Fraunces', serif); font-optical-sizing: auto; font-weight: 600; color: var(--woo-ink); }
.form-row { padding: 0 0 0.85rem; margin: 0 0 0.5rem; }
.form-row label { display: block; font-size: 0.85rem; font-weight: 700; color: var(--woo-ink-soft); margin-bottom: 0.3rem; }
.input-text, select, textarea.input-text {
	width: 100%;
	min-height: 48px;
	padding: 0.85rem 1rem;
	border: 1.5px solid var(--woo-line);
	border-radius: 2px;
	font-family: inherit;
	font-size: 1rem; /* >=16px prevents iOS zoom-on-focus */
	background: var(--woo-paper);
	color: var(--woo-ink);
}
textarea.input-text { min-height: 96px; }
.coupon input.input-text { min-height: 48px; }
.input-text:focus { outline: none; border-color: var(--woo-accent); box-shadow: 0 0 0 3px rgba(194, 87, 26, 0.18); }
#order_review_heading { font-family: var(--ab-font-head, 'Fraunces', serif); font-optical-sizing: auto; font-weight: 600; color: var(--woo-ink); }
#place_order { width: 100%; padding: 1rem; font-size: 1.05rem; }

/* ==========================================================================
   My Account
   ========================================================================== */
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	background: var(--woo-paper);
	border-radius: 2px;
	overflow: hidden;
	border: 1px solid var(--woo-line);
}
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--woo-line); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--woo-accent); color: #fff; }
.woocommerce-MyAccount-navigation a { display: block; padding: 0.85rem 1.1rem; color: var(--woo-ink); text-decoration: none; font-weight: 600; }

/* ==========================================================================
   Shop page title
   ========================================================================== */
.woocommerce-products-header h1,
.shop-container h1 {
	font-family: var(--ab-font-head, 'Fraunces', serif);
	font-optical-sizing: auto;
	font-weight: 600;
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	color: var(--woo-ink);
	margin: 0 0 1.5rem;
}

/* ==========================================================================
   Mobile sticky action bar (product & cart pages, <=768px)
   Rendered by antalyabalik_mobile_action_bar() in inc/woocommerce.php.
   ========================================================================== */
.ab-action-bar {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999;
	gap: 0.75rem;
	align-items: center;
	padding: 0.6rem 1rem;
	padding-bottom: calc(0.6rem + env(safe-area-inset-bottom));
	background: rgba(251, 248, 241, 0.96);
	backdrop-filter: saturate(160%) blur(10px);
	border-top: 1px solid var(--woo-line);
	box-shadow: 0 -8px 24px var(--ab-shadow-color, rgba(35, 32, 27, 0.12));
	transition: transform 0.3s ease;
}
.ab-action-bar--hidden { transform: translateY(100%); }
.ab-action-bar__price { font-weight: 600; font-variant-numeric: tabular-nums; color: var(--woo-accent-deep); font-size: 1.15rem; white-space: nowrap; }
.ab-action-bar__btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	border: 0;
	border-radius: 2px;
	background: var(--woo-accent);
	color: #fff !important;
	font-weight: 600;
	font-size: 1rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
}
.ab-action-bar__btn--checkout { background: var(--woo-accent-deep); }
@media ( prefers-reduced-motion: reduce ) { .ab-action-bar { transition: none; } }

/* ==========================================================================
   Responsive (scale: 960 small-desktop · 768 tablet · 480 phone)
   ========================================================================== */
@media ( max-width: 960px ) {
	ul.products { grid-template-columns: repeat(2, 1fr); }
	.single-product div.product { grid-template-columns: 1fr; gap: 2rem; }
}

@media ( max-width: 768px ) {
	/* Gallery thumbnails wrap instead of overflowing. */
	.woocommerce-product-gallery ol.flex-control-thumbs { flex-wrap: wrap; gap: 0.4rem; }
	.woocommerce-product-gallery ol.flex-control-thumbs li { width: 60px; }

	/* Cart: turn the wide table into stacked cards (uses WC data-title attrs). */
	.woocommerce-cart-form table.shop_table thead { display: none; }
	.woocommerce-cart-form table.shop_table tbody tr.cart_item {
		display: block;
		position: relative;
		margin: 0 0 1rem;
		padding: 1rem 1rem 0.75rem;
		border: 1px solid var(--woo-line);
		border-radius: 2px;
		box-shadow: var(--ab-shadow, 0 6px 18px rgba(35, 32, 27, 0.06));
		background: var(--woo-paper);
	}
	.woocommerce-cart-form table.shop_table tbody tr.cart_item td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 1rem;
		padding: 0.5rem 0;
		border-top: 1px solid var(--woo-line);
		text-align: right;
	}
	.woocommerce-cart-form table.shop_table tbody tr.cart_item td::before {
		content: attr(data-title);
		font-weight: 700;
		color: var(--woo-deep);
		font-size: 0.78rem;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		text-align: left;
	}
	.woocommerce-cart-form table.shop_table tbody tr.cart_item td.product-thumbnail,
	.woocommerce-cart-form table.shop_table tbody tr.cart_item td.product-remove { border-top: 0; }
	.woocommerce-cart-form table.shop_table tbody tr.cart_item td.product-thumbnail { justify-content: flex-start; }
	.woocommerce-cart-form table.shop_table tbody tr.cart_item td.product-thumbnail::before,
	.woocommerce-cart-form table.shop_table tbody tr.cart_item td.product-remove::before { content: none; }
	.woocommerce-cart-form table.shop_table tbody tr.cart_item td.product-remove {
		position: absolute;
		top: 0.6rem;
		right: 0.6rem;
		padding: 0;
	}
	a.remove { width: 32px !important; height: 32px !important; line-height: 30px !important; font-size: 1.5rem !important; }
	.product-thumbnail img { width: 80px; }
	.cart-collaterals .cart_totals { width: 100% !important; float: none !important; }

	.cart { flex-direction: column; align-items: stretch; }
	.single_add_to_cart_button { width: 100%; }
	.coupon { flex-direction: column; align-items: stretch; }

	/* Reveal the sticky action bar and leave room so it never covers the footer. */
	body.single-product .ab-action-bar,
	body.woocommerce-cart .ab-action-bar { display: flex; }
	body.single-product, body.woocommerce-cart { padding-bottom: 74px; }
}

@media ( max-width: 480px ) {
	ul.products { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Launch banner (catalog mode "Launching soon")
   ========================================================================== */
.ab-launch-banner {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	margin: 0 0 2rem;
	padding: 1.25rem 1.5rem;
	border-radius: 2px;
	background: var(--ab-ink, #23201B);
	color: var(--ab-bone, #F6F1E7);
	box-shadow: var(--ab-shadow, 0 8px 24px rgba(35, 32, 27, 0.10));
}
.ab-launch-banner__badge {
	flex: 0 0 auto;
	align-self: flex-start;
	padding: 0.3rem 0.85rem;
	border-radius: 2px;
	background: var(--ab-saffron-deep, #9A3F10);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.ab-launch-banner__copy { flex: 1 1 280px; display: flex; flex-direction: column; gap: 0.25rem; }
.ab-launch-banner__title { font-size: 1.1rem; color: var(--ab-bone, #F6F1E7); }
.ab-launch-banner__text { color: rgba(246, 241, 231, 0.85); font-size: 0.92rem; line-height: 1.5; }
.ab-launch-banner__cta {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.7rem 1.4rem;
	border-radius: 2px;
	background: var(--ab-saffron-deep, #9A3F10);
	color: #fff;
	font-weight: 600;
	font-size: 0.9rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform 0.2s ease, background 0.2s ease;
}
.ab-launch-banner__cta:hover,
.ab-launch-banner__cta:focus { transform: translateY(-2px); background: #7d3309; color: #fff; }

@media ( max-width: 600px ) {
	.ab-launch-banner { flex-direction: column; align-items: flex-start; }
	.ab-launch-banner__cta { width: 100%; }
}

@media ( prefers-reduced-motion: reduce ) {
	ul.products li.product { transition: box-shadow 0.25s ease, border-color 0.25s ease; }
	ul.products li.product:hover { transform: none; }
	ul.products li.product .button:hover,
	.single_add_to_cart_button:hover,
	.woocommerce .button:hover,
	.woocommerce a.button:hover,
	.woocommerce button.button:hover { transform: none; }
	.ab-launch-banner__cta { transition: none; }
	.ab-launch-banner__cta:hover,
	.ab-launch-banner__cta:focus { transform: none; }
}
