/* ShopApni: WooCommerce styling (shop, categories, product, account).
   Works on WooCommerce's own templates; no template overrides are needed. */

html .woocommerce,
html .woocommerce-page {
	--wc-ink: #1F2A1A;
	--wc-muted: #5D6656;
	--wc-line: #E6E9DF;
	--wc-green: #1A2E05;        /* was the old lime #80BB01 */
	--wc-green-dark: #2E4A10;
	--wc-brand: #1A2E05;        /* ShopApni dark green (header) */
	--wc-brand-hover: #2E4A10;
	--wc-tint: #F3F6EE;
}

/* ── Buttons ─────────────────────────────────────────────── */
html .woocommerce a.button,
html .woocommerce button.button,
html .woocommerce input.button,
html .woocommerce #respond input#submit,
html .woocommerce a.button.alt,
html .woocommerce button.button.alt,
html .woocommerce input.button.alt {
	background: var(--wc-brand);
	color: #fff;
	border-radius: 100px;
	padding: 11px 22px;
	font-weight: 600;
	line-height: 1.2;
	border: 0;
	transition: background .2s ease, transform .2s ease;
}
html .woocommerce a.button:hover,
html .woocommerce button.button:hover,
html .woocommerce input.button:hover,
html .woocommerce a.button.alt:hover,
html .woocommerce button.button.alt:hover {
	background: var(--wc-brand-hover);
	color: #fff;
}
html .woocommerce .checkout-button,
html .woocommerce #place_order {
	background: var(--wc-brand);
	color: #fff;
}
html .woocommerce .checkout-button:hover,
html .woocommerce #place_order:hover { background: var(--wc-brand-hover); }

html .woocommerce span.onsale {
	background: #E0A526;
	color: #1F2A1A;
	font-weight: 700;
	min-height: 0; min-width: 0;
	padding: 4px 10px;
	line-height: 1.4;
	border-radius: 100px;
	top: 10px; left: 10px; right: auto;
	margin: 0;
}

html .woocommerce ul.products li.product .price,
html .woocommerce div.product p.price,
html .woocommerce div.product span.price { color: var(--wc-green-dark); font-weight: 600; }
html .woocommerce ul.products li.product .price del,
html .woocommerce div.product p.price del { color: #8A9182; font-weight: 400; }

/* ── Product cards ───────────────────────────────────────── */
html .woocommerce ul.products li.product:not(.product-category) {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--wc-line);
	border-radius: 16px;
	padding: 12px 12px 14px;
	box-shadow: 0 4px 14px rgba(31, 42, 26, .04);
	transition: transform .2s ease, box-shadow .2s ease;
}
html .woocommerce ul.products li.product:not(.product-category):hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 28px rgba(31, 42, 26, .10);
}
html .woocommerce ul.products li.product a img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #fff;
	border-radius: 10px;
	margin: 0 0 10px;
}
html .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: .98rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--wc-ink);
	padding: 0;
	margin: 0 0 6px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
html .woocommerce ul.products li.product .price { margin-bottom: 10px; font-size: 1rem; }
html .woocommerce ul.products li.product .button { margin-top: auto; align-self: flex-start; font-size: .88rem; padding: 9px 16px; }
html .woocommerce ul.products li.product .star-rating { font-size: .8em; margin-bottom: 6px; }

/* ── Category tiles: photo with name + count over it ─────── */
html .woocommerce ul.products li.product-category a {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 16px;
	background: #F1F3EC;
	box-shadow: 0 4px 16px rgba(30, 45, 20, .08);
}
html .woocommerce ul.products li.product-category a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
	border-radius: 0;
	aspect-ratio: auto;
	transition: transform .5s ease;
}
html .woocommerce ul.products li.product-category a:hover img { transform: scale(1.06); }
html .woocommerce ul.products li.product-category .woocommerce-loop-category__title {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	margin: 0;
	padding: 34px 14px 12px !important;
	background: linear-gradient(to top, rgba(10, 16, 6, .82), rgba(10, 16, 6, .45) 55%, rgba(10, 16, 6, 0));
	color: #fff;
	font-size: 1rem !important;
	font-weight: 700;
	line-height: 1.2;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .35);
}
html .woocommerce ul.products li.product-category mark.count {
	padding: 2px 9px;
	border-radius: 100px;
	background: rgba(255, 255, 255, .92);
	color: #1E2D14;
	font-size: .72rem;
	font-weight: 600;
	text-shadow: none;
}

/* ── Shop banner (functions.php §6) ──────────────────────── */
html .sa-shop-banner {
	margin: 0 0 22px;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 6px 22px rgba(30, 45, 20, .10);
	background: #F1F3EC;
}
html .sa-shop-banner img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 13 / 5;
	object-fit: cover;
	object-position: 50% 100%;
}
@media (max-width: 639px) {
	html .sa-shop-banner { border-radius: 12px; margin-bottom: 16px; }
	html .sa-shop-banner img { aspect-ratio: auto; }
}

/* ── Shop page header bits ───────────────────────────────── */
html .woocommerce .woocommerce-breadcrumb { font-size: .88rem; color: var(--wc-muted); margin-bottom: 16px; }
html .woocommerce .woocommerce-breadcrumb a { color: var(--wc-muted); }
html .woocommerce-products-header__title.page-title { font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 700; color: var(--wc-ink); margin-bottom: 12px; }
html .woocommerce .woocommerce-result-count { color: var(--wc-muted); font-size: .9rem; }
html .woocommerce .woocommerce-ordering select { border-radius: 10px; padding: 8px 10px; border: 1px solid var(--wc-line); }

/* ── Single product ──────────────────────────────────────── */
/* ShopApni Core's photo gallery takes the place of WooCommerce's .images column */
@media (min-width: 769px) {
	html .woocommerce div.product > .sa-pg {
		float: left;
		width: 48%;
		margin-bottom: 2em;
	}
}
@media (max-width: 768px) {
	html .woocommerce div.product > .sa-pg { margin-bottom: 18px; }
}
html .woocommerce div.product .product_title {
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 700;
	line-height: 1.2;
	color: var(--wc-ink);
}
html .woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
html .woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 100px; background: #fff; border-color: var(--wc-line); margin: 0 6px 6px 0; }
html .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
html .woocommerce div.product .woocommerce-tabs ul.tabs li::after,
html .woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
html .woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--wc-brand); border-color: var(--wc-brand); }
html .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
html .woocommerce div.product .woocommerce-tabs .panel { max-width: 860px; }

/* ── Forms (account, cart, checkout) ─────────────────────── */
html .woocommerce form .form-row input.input-text,
html .woocommerce form .form-row textarea,
html .woocommerce form .form-row select {
	border: 1.5px solid #DCD5C6;
	border-radius: 12px;
	padding: 11px 13px;
	background: #FDFCF9;
}
html .woocommerce form .form-row input.input-text:focus,
html .woocommerce form .form-row textarea:focus {
	border-color: var(--wc-green-dark);
	outline: none;
	box-shadow: 0 0 0 4px rgba(26, 46, 5, .14);
}
html .woocommerce-message, html .woocommerce-info { border-top-color: #1a2e05; }
html .woocommerce-message::before, html .woocommerce-info::before { color: #1a2e05; }

/* ══════════════════════════════════════════════════════════════
   Product page: price, buy box and vendor card
   ══════════════════════════════════════════════════════════════ */
html .woocommerce div.product .summary .price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px 10px;
	margin: 6px 0 14px;
	font-size: 1.65rem;
	font-weight: 700;
	color: var(--wc-brand);
}
html .woocommerce div.product .summary .price del { order: 2; font-size: 1.05rem; font-weight: 400; color: #8A9182; }
html .woocommerce div.product .summary .price ins { order: 1; text-decoration: none; background: none; }
html .woocommerce div.product .woocommerce-product-details__short-description { color: #46503F; font-size: 1rem; line-height: 1.65; }
html .woocommerce div.product .woocommerce-product-details__short-description p:empty { display: none; }
html .woocommerce div.product .woocommerce-product-details__short-description p { margin-bottom: .7em; }

/* Buy box: quantity + Add to cart side by side on a soft panel */
html .woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin: 20px 0 22px;
	padding: 16px;
	background: var(--wc-tint);
	border: 1px solid #E3E9D8;
	border-radius: 18px;
}
html .woocommerce div.product form.cart::before,
html .woocommerce div.product form.cart::after { display: none; } /* WooCommerce clearfix */
html .woocommerce div.product form.cart > :not(.quantity):not(.single_add_to_cart_button) { flex: 1 1 100%; margin: 0; } /* add-ons, variations */
html .woocommerce div.product form.cart .yith-wapo-container:not(:has(> :not(input[type="hidden"]))) { display: none; } /* empty add-ons box */
html .woocommerce div.product form.cart .quantity { margin: 0 !important; float: none; }
html .woocommerce div.product form.cart .quantity .qty {
	width: 78px;
	height: 52px;
	padding: 0 6px;
	border: 1.5px solid #D6DDCB;
	border-radius: 100px;
	background: #fff;
	color: var(--wc-ink);
	font-size: 1.05rem;
	font-weight: 600;
	text-align: center;
}
html .woocommerce div.product form.cart .quantity .qty:focus {
	outline: none;
	border-color: var(--wc-brand);
	box-shadow: 0 0 0 4px rgba(26, 46, 5, .12);
}
html .woocommerce div.product form.cart .button.single_add_to_cart_button {
	flex: 1 1 220px;
	float: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 52px;
	margin: 0;
	padding: 0 28px;
	border-radius: 100px;
	background: var(--wc-brand);
	color: #fff;
	font-size: 1.02rem;
	font-weight: 600;
	letter-spacing: .01em;
	box-shadow: 0 8px 20px rgba(26, 46, 5, .22);
	transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
/* Cart icon before the label */
html .woocommerce div.product form.cart .button.single_add_to_cart_button::before {
	content: '';
	width: 18px;
	height: 18px;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
}
html .woocommerce div.product form.cart .button.single_add_to_cart_button:hover {
	background: var(--wc-brand-hover);
	transform: translateY(-1px);
	box-shadow: 0 12px 26px rgba(26, 46, 5, .28);
}
html .woocommerce div.product form.cart .button.single_add_to_cart_button:focus-visible { outline: 3px solid #E0A526; outline-offset: 3px; }
html .woocommerce div.product form.cart .button.single_add_to_cart_button.disabled,
html .woocommerce div.product form.cart .button.single_add_to_cart_button:disabled { opacity: .45; box-shadow: none; transform: none; }
html .woocommerce div.product p.stock { margin: 0 0 6px; font-weight: 600; }
html .woocommerce div.product p.stock.in-stock { color: var(--wc-green-dark); }

/* Category line + Dokan "sold by" card */
html .woocommerce div.product .product_meta { font-size: .9rem; color: var(--wc-muted); }
html .woocommerce div.product .product_meta > span { display: block; margin-bottom: 12px; }
html .woocommerce div.product .product_meta a { color: var(--wc-brand); font-weight: 600; text-decoration: none; }
html .woocommerce div.product .product_meta a:hover { text-decoration: underline; }
html .woocommerce div.product .dokan-vendor-info-wrap {
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 420px;
	padding: 12px 16px;
	background: #fff;
	border: 1px solid var(--wc-line);
	border-radius: 16px;
	box-shadow: 0 4px 14px rgba(31, 42, 26, .05);
}
html .woocommerce div.product .dokan-vendor-image img { width: 52px; height: 52px; border-radius: 12px; object-fit: cover; margin: 0; }
html .woocommerce div.product .dokan-vendor-name h5 { margin: 0; font-size: 1rem; font-weight: 700; color: var(--wc-ink); }
html .woocommerce div.product .dokan-vendor-name a:hover h5 { color: var(--wc-brand-hover); }
html .woocommerce div.product .dokan-vendor-rating { font-size: 12px; color: #E0A526; line-height: 1; margin-top: 4px; }
html .woocommerce div.product .dokan-vendor-rating .dashicons { font-size: 15px; width: 15px; height: 15px; }
/* No reviews yet: five empty stars say nothing useful */
html .woocommerce div.product .dokan-vendor-rating:not(:has(.dashicons-star-filled, html .dashicons-star-half)) { display: none; }

@media (max-width: 768px) {
	html .woocommerce div.product .summary .price { font-size: 1.45rem; }
	html .woocommerce div.product form.cart { padding: 12px; gap: 10px; }
	html .woocommerce div.product form.cart .quantity .qty { width: 70px; }
	html .woocommerce div.product form.cart .button.single_add_to_cart_button { flex-basis: 160px; padding: 0 18px; }
}

/* ══════════════════════════════════════════════════════════════
   Dokan vendor store pages (/local/{store}/)
   ══════════════════════════════════════════════════════════════ */
html .dokan-store .profile-frame { border-radius: 18px; overflow: hidden; box-shadow: 0 6px 22px rgba(30, 45, 20, .10); }
html .dokan-store .profile-info-box .profile-info-img { display: block; width: 100%; max-height: 340px; object-fit: cover; }
html .dokan-store .dokan-store-tabs { border: 0; margin: 14px 0 0; }
html .dokan-store .dokan-store-tabs ul.dokan-list-inline li a { border-radius: 100px; padding: 8px 18px; font-weight: 600; }
html .dokan-store .dokan-store-products-filter-area { margin: 18px 0; }
html .dokan-store .dokan-store-products-filter-area .product-name-search {
	border: 1.5px solid #D6DDCB;
	border-radius: 100px;
	padding: 10px 16px;
	min-height: 44px;
}
html .dokan-store .dokan-store-products-filter-area input.dokan-btn-theme,
html .dokan-store .dokan-btn-theme {
	background: var(--wc-brand) !important;
	border-color: var(--wc-brand) !important;
	color: #fff !important;
	border-radius: 100px;
	min-height: 44px;
	padding: 8px 22px;
	font-weight: 600;
}
html .dokan-store .dokan-btn-theme:hover { background: var(--wc-brand-hover) !important; border-color: var(--wc-brand-hover) !important; }
html .dokan-store .dokan-store-products-filter-area .orderby { border-radius: 100px; border: 1.5px solid #D6DDCB; min-height: 44px; padding: 8px 14px; }

/* Store sidebar (Appearance > Widgets > Dokan Store Sidebar): if it has widgets, show
   them as a narrow column beside the store on desktop instead of full-size above it. */
html .dokan-store .dokan-store-sidebar .widget img { display: block; max-width: 100%; height: auto; border-radius: 14px; }
/* No widgets in the sidebar: no empty box (it left a 260px white gap above the store). */
html .dokan-store .dokan-store-sidebar:not(:has(.widget)) { display: none !important; }
@media (min-width: 992px) {
	html .dokan-store .dokan-store-wrap.layout-left { display: flex; flex-direction: row; flex-wrap: nowrap; gap: 28px; align-items: flex-start; }
	html .dokan-store .dokan-store-wrap.layout-left .dokan-store-sidebar { flex: 0 0 260px; width: 260px; position: sticky; top: 110px; }
	html .dokan-store .dokan-store-wrap.layout-left #dokan-primary { flex: 1 1 0; min-width: 0; width: auto !important; max-width: none; float: none; }
}
@media (max-width: 991px) {
	html .dokan-store .dokan-store-sidebar { display: none; } /* promos would push the store below the fold on phones */
}

/* ══════════════════════════════════════════════════════════════
   My Account (logged in): WooCommerce's own menu, used when
   "YITH Customize My Account Page" is not active.
   Desktop: menu card on the left. Phones: scrollable row of pills.
   ══════════════════════════════════════════════════════════════ */
html .woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 8px;
	background: #fff;
	border: 1px solid var(--wc-line);
	border-radius: 18px;
	box-shadow: 0 6px 20px rgba(31, 42, 26, .05);
}
html .woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
html .woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 11px 14px;
	border-radius: 12px;
	color: var(--wc-ink);
	font-weight: 500;
	text-decoration: none;
	transition: background .2s ease, color .2s ease;
}
html .woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--wc-tint); color: var(--wc-brand); }
html .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--wc-brand); color: #fff; }
html .woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: #9A3B2E; }
html .woocommerce-account .woocommerce-MyAccount-content {
	background: #fff;
	border: 1px solid var(--wc-line);
	border-radius: 18px;
	padding: 24px 26px;
}
@media (min-width: 769px) {
	html .woocommerce-account .woocommerce-MyAccount-navigation { width: 26%; }
	html .woocommerce-account .woocommerce-MyAccount-content { width: 70%; }
}
@media (max-width: 768px) {
	html .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 16px; }
	html .woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		gap: 6px;
		overflow-x: auto;
		scrollbar-width: none;
		padding: 6px;
	}
	html .woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	html .woocommerce-account .woocommerce-MyAccount-navigation li a { white-space: nowrap; padding: 9px 14px; border-radius: 100px; font-size: .92rem; }
	html .woocommerce-account .woocommerce-MyAccount-content { padding: 18px 16px; }
}

/* Milk subscription product: "use my location" buttons (were lime, from the
   Milk Subscriptions plugin's stylesheet) */
html .sa-milk-location-confirm .sa-milk-location-btn-primary,
html .sa-milk-location-confirm .sa-milk-location-btn-primary.button {
	border-color: #1A2E05 !important;
	background: #1A2E05 !important;
	color: #fff !important;
}
html .sa-milk-location-confirm .sa-milk-location-btn-primary:hover { background: #2E4A10 !important; border-color: #2E4A10 !important; }
html .sa-milk-location-confirm .sa-milk-location-btn-secondary,
html .sa-milk-location-confirm .sa-milk-location-btn-secondary.button {
	border-color: #1A2E05 !important;
	background: #fff !important;
	color: #1A2E05 !important;
}
html .sa-milk-location-confirm .sa-milk-location-btn-secondary:hover { background: #F3F6EE !important; }


/* Milk subscription products: the Milk Subscriptions plugin lays its form out as a column,
   where the buy button's flex-basis would become its height. Keep it a normal button. */
html .woocommerce div.product form.cart.sa-milk-cart .button.single_add_to_cart_button {
	flex: 0 0 auto;
	height: 52px;
	width: 100%;
}

/* ══════════════════════════════════════════════════════════════
   Milk subscription products (Milk Subscriptions plugin form)
   One field per row, clear labels, sample + location as cards,
   days field labelled, price shown per litre.
   ══════════════════════════════════════════════════════════════ */
html .woocommerce div.product .summary:has(form.sa-milk-cart) .price::after {
	content: '/ litre';
	align-self: baseline;
	font-size: .95rem;
	font-weight: 500;
	color: var(--wc-muted);
}
html .woocommerce div.product form.cart.sa-milk-cart {
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: none;
	margin: 18px 0 22px;
	padding: 22px 22px 20px;
	background: #fff;
	border: 1px solid var(--wc-line);
	border-radius: 20px;
	box-shadow: 0 10px 30px rgba(31, 42, 26, .07);
}
html .sa-milk-cart .milk-subscription-fields {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 14px !important;
	padding: 0 !important;
	margin: 0 !important;
}
html .sa-milk-cart .milk-subscription-fields::before {
	/* The plugin styles this slot as a small absolute lime pill; reset all of it */
	content: 'Your milk plan';
	display: block !important;
	position: static !important;
	top: auto; left: auto;
	margin: 0 0 2px;
	padding: 0 !important;
	background: none !important;
	border-radius: 0;
	font-family: inherit;
	font-size: 1.1rem !important;
	font-weight: 700;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--wc-brand) !important;
}
html .sa-milk-cart .milk-subscription-fields .form-row {
	display: block;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	grid-column: 1 / -1;
}
html .sa-milk-cart .milk-subscription-fields .form-row > label:not(.woocommerce-form__label-for-checkbox) {
	display: block;
	margin: 0 0 6px !important;
	padding: 0;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--wc-ink);
}
html .sa-milk-cart .milk-subscription-fields .form-row .required { color: #B4442E; text-decoration: none; }
html .sa-milk-cart .milk-subscription-fields .woocommerce-input-wrapper { display: block; width: 100%; }
html .sa-milk-cart .milk-subscription-fields select,
html .sa-milk-cart .milk-subscription-fields input:not([type="checkbox"]):not([type="hidden"]) {
	width: 100% !important;
	height: 50px;
	min-height: 50px;
	padding: 0 14px;
	border: 1.5px solid #D6DDCB !important;
	border-radius: 12px !important;
	background-color: #FDFCF9 !important;
	color: var(--wc-ink);
	font-size: 16px;
	box-shadow: none;
}
html .sa-milk-cart .milk-subscription-fields select:focus,
html .sa-milk-cart .milk-subscription-fields input:focus {
	outline: none;
	border-color: var(--wc-brand) !important;
	background-color: #fff !important;
	box-shadow: 0 0 0 4px rgba(26, 46, 5, .10);
}

/* Sample order: a highlighted option row */
html .sa-milk-cart .milk-subscription-fields .form-row:has(#milk_is_sample) {
	margin-top: 4px !important;
	padding: 0 !important;
	background: none;
	border: 0;
}
html .sa-milk-cart .form-row:has(#milk_is_sample) label {
	display: flex !important;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	padding: 14px 16px;
	background: var(--wc-tint);
	border: 1px dashed #C9D4B8;
	border-radius: 14px;
	font-size: 15px;
	font-weight: 600;
	color: var(--wc-ink);
	cursor: pointer;
}
html .sa-milk-cart #milk_is_sample { width: 20px; height: 20px; margin: 0; accent-color: var(--wc-brand); flex: none; }
html .sa-milk-cart.sa-milk-sample .form-row:has(#milk_is_sample) label { background: #EEF2E8; border-style: solid; border-color: var(--wc-brand); }

/* Delivery address / GPS card */
html .sa-milk-cart .sa-milk-location-confirm {
	margin: 0 !important;
	padding: 18px !important;
	background: #FAFBF7 !important;
	border: 1px solid #E3E9D8 !important;
	border-radius: 16px !important;
	box-shadow: none !important;
}
html .sa-milk-cart .sa-milk-location-title { display: block; margin-bottom: 6px; font-size: 1rem; font-weight: 700; color: var(--wc-brand); }
html .sa-milk-cart .sa-milk-location-error { margin: 0 0 12px; font-size: 13.5px; }
html .sa-milk-cart .sa-milk-location-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
html .sa-milk-cart .sa-milk-location-actions .sa-milk-location-btn { width: 100%; min-height: 46px !important; border-radius: 100px !important; font-size: 14px !important; font-weight: 600 !important; }
html .sa-milk-cart .sa-milk-location-status { margin: 10px 0 0; font-size: 12.5px; color: var(--wc-muted); }

/* Days (WooCommerce quantity) — labelled, with the plugin's minimum note beside it */
html .woocommerce div.product form.cart.sa-milk-cart .quantity {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	width: 100%;
	margin: 0 !important;
}
html .woocommerce div.product form.cart.sa-milk-cart .quantity::before {
	content: 'Number of days';
	flex: 1 1 100%;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--wc-ink);
}
html .woocommerce div.product form.cart.sa-milk-cart .quantity .qty { width: 110px; height: 50px; }
html .sa-milk-cart .milk-days-hint { display: inline-flex !important; flex: 0 1 auto; width: auto !important; align-items: center; gap: 6px; margin: 0 !important; font-size: 13px; color: var(--wc-muted); }

@media (max-width: 768px) {
	html .woocommerce div.product form.cart.sa-milk-cart { padding: 18px 16px; gap: 16px; border-radius: 18px; }
	html .sa-milk-cart .sa-milk-location-actions { grid-template-columns: 1fr; }
}

/* Breadcrumb trail removed site-wide (functions.php); hide any leftover markup too */
html .woocommerce-breadcrumb { display: none !important; }

/* Hyperlocal delivery (ShopApni Core): product-page area note and checkout block message */
html .woocommerce div.product .sa-hl-note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: -8px 0 18px;
	padding: 10px 14px;
	background: var(--wc-tint);
	border-radius: 12px;
	font-size: .9rem;
	line-height: 1.45;
	color: #46503F;
}
html .woocommerce div.product .sa-hl-note svg { flex: none; margin-top: 2px; color: var(--wc-brand); }
html .woocommerce div.product .sa-hl-note strong { color: var(--wc-brand); }
html .woocommerce .sa-hl-blocked,
html .woocommerce-checkout .sa-hl-blocked {
	margin: 0;
	padding: 12px 14px;
	background: #FDF3EF;
	border: 1px solid #F1C9BC;
	border-radius: 12px;
	color: #8A3B26;
	font-size: .9rem;
	line-height: 1.5;
}

/* ══════════════════════════════════════════════════════════════
   Milk subscription products: blue "Milk & Sky" palette, matching the A2 Milk,
   Select Your Vendor and Cow Guardian pages. (body.sa-milk-product, functions.php §8)
   Other products keep the dark green brand colours.
   ══════════════════════════════════════════════════════════════ */
html body.sa-milk-product.woocommerce,
html body.sa-milk-product.woocommerce div.product {
	--wc-ink: #163A5C;
	--wc-muted: #50657A;
	--wc-line: #DCE7F2;
	--wc-brand: #1B6CA8;
	--wc-brand-hover: #163A5C;
	--wc-green: #1B6CA8;
	--wc-green-dark: #163A5C;
	--wc-tint: #EEF5FC;
}
html body.sa-milk-product .sa-pg { --pg-ink: #163A5C; --pg-line: #DCE7F2; --pg-accent: #1B6CA8; }
html body.sa-milk-product .sa-pg-count { background: rgba(22, 58, 92, .82); }

/* Title, price */
html body.sa-milk-product.woocommerce div.product .product_title {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 600;
	color: #163A5C;
}
html body.sa-milk-product.woocommerce div.product .summary .price { color: #1B6CA8; }

/* Subscription form */
html body.sa-milk-product.woocommerce div.product form.cart.sa-milk-cart {
	background: linear-gradient(180deg, #F4F8FC 0%, #FFFFFF 140px);
	border-color: #DCE7F2;
	box-shadow: 0 12px 32px rgba(22, 58, 92, .08);
}
html body.sa-milk-product .sa-milk-cart .milk-subscription-fields::before {
	content: '🥛  Your milk plan';
	font-family: 'Fraunces', Georgia, serif !important;
	color: #163A5C !important;
}
html body.sa-milk-product .sa-milk-cart .milk-subscription-fields .form-row > label:not(.woocommerce-form__label-for-checkbox) { color: #163A5C; }
html body.sa-milk-product .sa-milk-cart .milk-subscription-fields select,
html body.sa-milk-product .sa-milk-cart .milk-subscription-fields input:not([type="checkbox"]):not([type="hidden"]) {
	border-color: #D3E1EF !important;
	background-color: #FBFDFF !important;
}
html body.sa-milk-product .sa-milk-cart .milk-subscription-fields select:focus,
html body.sa-milk-product .sa-milk-cart .milk-subscription-fields input:focus {
	border-color: #1B6CA8 !important;
	box-shadow: 0 0 0 4px rgba(27, 108, 168, .14);
}
html body.sa-milk-product .sa-milk-cart .form-row:has(#milk_is_sample) label {
	background: #FFF8E8;
	border-color: #F0D9A0;
	color: #163A5C;
}
html body.sa-milk-product .sa-milk-cart #milk_is_sample { accent-color: #1B6CA8; }
html body.sa-milk-product .sa-milk-cart.sa-milk-sample .form-row:has(#milk_is_sample) label { background: #FDF0CF; border-color: #E0A526; }
html body.sa-milk-product .sa-milk-cart .sa-milk-location-confirm {
	background: #F4F8FC !important;
	border-color: #DCE7F2 !important;
}
html body.sa-milk-product .sa-milk-cart .sa-milk-location-title { color: #163A5C; }
html body.sa-milk-product .sa-milk-location-confirm .sa-milk-location-btn-primary,
html body.sa-milk-product .sa-milk-location-confirm .sa-milk-location-btn-primary.button {
	background: #1B6CA8 !important;
	border-color: #1B6CA8 !important;
	color: #fff !important;
}
html body.sa-milk-product .sa-milk-location-confirm .sa-milk-location-btn-primary:hover { background: #163A5C !important; border-color: #163A5C !important; }
html body.sa-milk-product .sa-milk-location-confirm .sa-milk-location-btn-secondary,
html body.sa-milk-product .sa-milk-location-confirm .sa-milk-location-btn-secondary.button {
	border-color: #1B6CA8 !important;
	color: #1B6CA8 !important;
}
html body.sa-milk-product .sa-milk-location-confirm .sa-milk-location-btn-secondary:hover { background: #EEF5FC !important; }
html body.sa-milk-product.woocommerce div.product form.cart .button.single_add_to_cart_button {
	background: linear-gradient(135deg, #1B6CA8 0%, #163A5C 100%);
	box-shadow: 0 10px 24px rgba(27, 108, 168, .28);
}
html body.sa-milk-product.woocommerce div.product form.cart .button.single_add_to_cart_button:hover {
	background: linear-gradient(135deg, #1A5F93 0%, #112E4A 100%);
	box-shadow: 0 14px 28px rgba(22, 58, 92, .32);
}

/* "Milk subscription" label and guardian link under the form */
html body.sa-milk-product .sa-milk-product-meta .sa-milk-category { background: #EEF5FC !important; color: #163A5C !important; }
html body.sa-milk-product .sa-milk-product-meta a { color: #1B6CA8 !important; }

/* Tabs */
html body.sa-milk-product.woocommerce div.product .woocommerce-tabs ul.tabs li { border-color: #DCE7F2; }
html body.sa-milk-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #163A5C; border-color: #163A5C; }
