/* =========================================================================
   Single product page — single-product.php + inc/product.php.
   Loaded only on /product/<slug>/ pages. Tokens come from style.css :root.
   Values are read off Product Page.dc.html. Where a design colour failed
   contrast (accessibility outranks exact match), the change is marked "a11y".
   ========================================================================= */

.ahnl-pdp {
	padding-bottom: 60px;
	color: var( --ahnl-ink );
}

/* --- Breadcrumb ------------------------------------------------------------- */
.ahnl-pdp-crumbs {
	max-width: var( --ahnl-container );
	margin: 0 auto;
	padding: 14px 22px 0;
	font: 400 12.5px/1.4 "AH Inter", system-ui, sans-serif;
	color: #6b7265;
}

.ahnl-pdp-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ahnl-pdp-crumbs li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.ahnl-pdp-crumbs li + li::before {
	content: "/";
}

.ahnl-pdp-crumbs a {
	color: #6b7265;
	text-decoration: none;
}

.ahnl-pdp-crumbs a:hover,
.ahnl-pdp-crumbs a:focus {
	color: var( --ahnl-green );
	text-decoration: underline;
}

.ahnl-pdp-crumbs [aria-current="page"] {
	color: var( --ahnl-ink );
}

/* --- Layout --------------------------------------------------------------------- */
.ahnl-pdp-wrap {
	max-width: var( --ahnl-container );
	margin: 0 auto;
	padding: 0 22px;
}

.ahnl-pdp-notices:empty {
	display: none;
}

.ahnl-pdp-notices {
	padding-top: 14px;
}

.ahnl-pdp-grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( min( 100%, 520px ), 1fr ) );
	gap: 34px;
	align-items: start;
	padding-top: 20px;
}

/* --- Gallery ---------------------------------------------------------------------- */
.ahnl-pdp-gallery {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.ahnl-pdp-stage {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid var( --ahnl-line );
	border-radius: 22px;
	overflow: hidden;
}

.ahnl-pdp-main {
	width: 88%;
	height: 88%;
	object-fit: contain;
}

.ahnl-pdp-noimg {
	padding: 24px;
	text-align: center;
	font: 600 14px/1.4 "AH Poppins", sans-serif;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #8a8f84;
}

.ahnl-pdp-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	padding: 8px 12px;
	border-radius: 99px;
	background: var( --ahnl-green );
	color: #fff;
	font: 700 11px/1.3 "AH Inter", system-ui, sans-serif;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.ahnl-pdp-oos {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba( 255, 255, 255, 0.72 );
	font: 600 13px/1 "AH Inter", system-ui, sans-serif;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var( --ahnl-ink );
}

.ahnl-pdp-thumbs {
	display: grid;
	grid-template-columns: repeat( 4, 1fr );
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ahnl-pdp-thumbs li {
	margin: 0;
}

.ahnl-pdp-thumb {
	display: block;
	aspect-ratio: 1 / 1;
	padding: 8px;
	border: 1.5px solid var( --ahnl-line );
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}

.ahnl-pdp-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ahnl-pdp-thumb:hover,
.ahnl-pdp-thumb:focus-visible {
	border-color: var( --ahnl-green-accent );
}

.ahnl-pdp-thumb.is-active {
	border-color: var( --ahnl-green );
}

.ahnl-pdp-trust {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 150px, 1fr ) );
	gap: 10px;
	margin-top: 2px;
}

.ahnl-pdp-trust__item {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid var( --ahnl-line );
	border-radius: 14px;
}

.ahnl-pdp-trust__t {
	font: 600 12px/1.4 "AH Inter", system-ui, sans-serif;
	color: var( --ahnl-ink );
}

.ahnl-pdp-trust__s {
	font: 400 11.5px/1.45 "AH Inter", system-ui, sans-serif;
	color: #6b7265;
}

/* --- Summary column ------------------------------------------------------------------ */
.ahnl-pdp-summary {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

.ahnl-pdp-metaline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

/* a11y: the design's #4CAF50 on white is 2.8:1; the brand green passes. */
.ahnl-pdp-brand {
	font: 600 10.5px/1 "AH Inter", system-ui, sans-serif;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var( --ahnl-green );
	text-decoration: none;
	/* Taller tap area, same look: padding taken back by the margin. */
	display: inline-block;
	padding: 7px 0;
	margin: -7px 0;
}

.ahnl-pdp-brand:hover,
.ahnl-pdp-brand:focus {
	text-decoration: underline;
}

.ahnl-pdp-sku {
	font: 400 11.5px/1.3 "AH Inter", system-ui, sans-serif;
	color: #6b7265;
	white-space: nowrap;
}

.ahnl-pdp-title {
	margin: 0;
	font: 600 clamp( 24px, 2.4vw, 30px ) / 1.25 "AH Poppins", sans-serif;
	color: var( --ahnl-ink );
	text-wrap: pretty;
}

.ahnl-pdp-pricebox {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid var( --ahnl-line );
	border-radius: 18px;
}

.ahnl-pdp-pricerow {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 12px;
}

.ahnl-pdp .price.ahnl-pdp-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
	margin: 0;
	font: 700 34px/1 "AH Poppins", sans-serif;
	color: var( --ahnl-green );
}

.ahnl-pdp .ahnl-pdp-price ins {
	order: 1;
	text-decoration: none;
	background: none;
	color: inherit;
}

.ahnl-pdp .ahnl-pdp-price del {
	order: 2;
	font: 400 16px/1 "AH Inter", system-ui, sans-serif;
	color: #6b7265;
	opacity: 1;
}

/* a11y: white on the design's gold is 2.6:1; dark text on the same gold passes. */
.ahnl-pdp-save {
	padding: 7px 11px;
	border-radius: 99px;
	background: var( --ahnl-gold );
	color: #1f2b1e;
	font: 600 12.5px/1.3 "AH Inter", system-ui, sans-serif;
	white-space: nowrap;
}

.ahnl-pdp-pricenote {
	font: 400 12.5px/1.5 "AH Inter", system-ui, sans-serif;
	color: #6b7265;
}

.ahnl-pdp-low {
	font: 600 12.5px/1.4 "AH Inter", system-ui, sans-serif;
	color: #a8631c;
}

/* --- Add to cart: WooCommerce's own form, restyled ------------------------------------ */
.ahnl-pdp-purchase {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ahnl-pdp .cart:not( .variations_form ),
.ahnl-pdp .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin: 0;
}

/* Quantity stepper styles live in style.css (shared with the cart). */

.ahnl-pdp form.cart .single_add_to_cart_button.button,
.ahnl-pdp form.cart .single_add_to_cart_button.button.alt {
	flex: 1 1 200px;
	min-height: 54px;
	padding: 0 24px;
	border: 0;
	border-radius: 99px;
	background: var( --ahnl-green );
	color: #fff;
	font: 600 15px/1.3 "AH Inter", system-ui, sans-serif;
	white-space: nowrap;
	cursor: pointer;
	transition: background 0.18s;
}

.ahnl-pdp form.cart .single_add_to_cart_button.button:hover,
.ahnl-pdp form.cart .single_add_to_cart_button.button:focus-visible {
	background: #256628;
	color: #fff;
}

.ahnl-pdp form.cart .single_add_to_cart_button.button.disabled,
.ahnl-pdp form.cart .single_add_to_cart_button.button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.ahnl-buynow {
	flex: 1 1 100%;
	min-height: 54px;
	border: 1.5px solid var( --ahnl-ink );
	border-radius: 99px;
	background: var( --ahnl-ink );
	color: #fff;
	font: 600 15px/1.3 "AH Inter", system-ui, sans-serif;
	white-space: nowrap;
	cursor: pointer;
	transition: background 0.18s, color 0.18s;
}

.ahnl-buynow:hover,
.ahnl-buynow:focus-visible {
	background: #fff;
	color: var( --ahnl-ink );
}

.ahnl-pdp-notify {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	border-radius: 99px;
	background: #efeee4;
	color: var( --ahnl-ink );
	font: 600 15px/1.3 "AH Inter", system-ui, sans-serif;
	text-decoration: none;
}

.ahnl-pdp-notify:hover,
.ahnl-pdp-notify:focus-visible {
	background: #e6e5d8;
	color: var( --ahnl-ink );
}

/* Variable products (WooCommerce's variation form). */
.ahnl-pdp table.variations {
	display: block;
	width: 100%;
	margin: 0 0 12px;
	border: 0;
}

.ahnl-pdp table.variations tbody,
.ahnl-pdp table.variations tr,
.ahnl-pdp table.variations th,
.ahnl-pdp table.variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
}

.ahnl-pdp table.variations tr + tr {
	margin-top: 12px;
}

.ahnl-pdp table.variations label {
	display: block;
	margin-bottom: 6px;
	font: 600 13px/1.3 "AH Inter", system-ui, sans-serif;
	color: var( --ahnl-ink );
}

.ahnl-pdp table.variations select {
	width: 100%;
	min-height: 48px;
	padding: 0 14px;
	border: 1px solid #dce4da;
	border-radius: 12px;
	background-color: #fff;
	font: 500 14px/1 "AH Inter", system-ui, sans-serif;
	color: var( --ahnl-ink );
}

.ahnl-pdp .reset_variations {
	display: inline-block;
	margin-top: 6px;
	font: 500 12.5px/1.4 "AH Inter", system-ui, sans-serif;
	color: var( --ahnl-green );
}

.ahnl-pdp .single_variation_wrap .woocommerce-variation-price .price {
	font: 700 22px/1.2 "AH Poppins", sans-serif;
	color: var( --ahnl-green );
}

.ahnl-pdp .woocommerce-variation-description p,
.ahnl-pdp .woocommerce-variation-availability p {
	margin: 0 0 10px;
	font: 400 13px/1.5 "AH Inter", system-ui, sans-serif;
	color: #6b7265;
}

/* --- Pincode box ------------------------------------------------------------------------- */
.ahnl-pin {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px;
	background: #f1f5ef;
	border-radius: 18px;
}

.ahnl-pin__title {
	font: 600 13.5px/1 "AH Inter", system-ui, sans-serif;
	color: var( --ahnl-green );
}

.ahnl-pin__row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ahnl-pin__input {
	flex: 1 1 180px;
	min-width: 0;
	min-height: 46px;
	padding: 0 14px;
	border: 1px solid #dce4da;
	border-radius: 12px;
	background: #fff;
	font: 400 13.5px/1 "AH Inter", system-ui, sans-serif;
	color: var( --ahnl-ink );
}

/* a11y: the design removed the focus outline entirely. */
.ahnl-pin__input:focus-visible,
.ahnl-pdp table.variations select:focus-visible,
.ahnl-pdp .quantity input.qty:focus-visible {
	outline: 2px solid var( --ahnl-green );
	outline-offset: 2px;
}

.ahnl-pin__btn {
	min-height: 46px;
	padding: 0 22px;
	border: 1.5px solid var( --ahnl-green );
	border-radius: 12px;
	background: #fff;
	color: var( --ahnl-green );
	font: 600 13px/1 "AH Inter", system-ui, sans-serif;
	cursor: pointer;
}

.ahnl-pin__btn:hover,
.ahnl-pin__btn:focus-visible {
	background: var( --ahnl-green );
	color: #fff;
}

.ahnl-pin__msg {
	margin: 0;
	font: 500 12.5px/1.5 "AH Inter", system-ui, sans-serif;
	color: #1d5620;
}

.ahnl-pin__msg.is-error {
	color: #8a4f12;
}

.ahnl-pdp-cats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* --- Sections below the fold --------------------------------------------------------------- */
.ahnl-pdp-sec {
	margin-top: 44px;
}

.ahnl-pdp-sec--about,
.ahnl-pdp-sec--specs,
.ahnl-pdp-sec--info {
	padding: 28px;
	background: #fff;
	border: 1px solid var( --ahnl-line );
	border-radius: 22px;
}

.ahnl-pdp-sec + .ahnl-pdp-sec--specs,
.ahnl-pdp-sec + .ahnl-pdp-sec--info {
	margin-top: 16px;
}

.ahnl-pdp-sec__title {
	margin: 0 0 14px;
	font: 600 20px/1.3 "AH Poppins", sans-serif;
	color: var( --ahnl-ink );
}

.ahnl-pdp-prose {
	max-width: 820px;
	font: 400 14.5px/1.75 "AH Inter", system-ui, sans-serif;
	color: #5c6157;
	overflow-wrap: anywhere;
}

.ahnl-pdp-prose > :first-child {
	margin-top: 0;
}

.ahnl-pdp-prose > :last-child {
	margin-bottom: 0;
}

.ahnl-pdp-prose h2,
.ahnl-pdp-prose h3,
.ahnl-pdp-prose h4 {
	margin: 1.5em 0 0.5em;
	font-family: "AH Poppins", sans-serif;
	font-weight: 600;
	line-height: 1.3;
	color: var( --ahnl-ink );
}

.ahnl-pdp-prose h2 { font-size: 18px; }
.ahnl-pdp-prose h3 { font-size: 16px; }
.ahnl-pdp-prose h4 { font-size: 15px; }
.ahnl-pdp-prose p { margin: 0 0 1em; }
.ahnl-pdp-prose ul,
.ahnl-pdp-prose ol { margin: 0 0 1em; padding-left: 1.3em; }
.ahnl-pdp-prose li { margin-bottom: 0.4em; }
.ahnl-pdp-prose strong { color: var( --ahnl-ink ); }
.ahnl-pdp-prose a { color: var( --ahnl-green ); text-decoration: underline; }
.ahnl-pdp-prose img { max-width: 100%; height: auto; }

.ahnl-pdp-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.5px;
}

.ahnl-pdp-prose th,
.ahnl-pdp-prose td {
	padding: 10px 12px;
	border: 1px solid var( --ahnl-line );
	text-align: left;
}

.ahnl-pdp-sec--specs table {
	width: 100%;
	margin: 0;
	border: 1px solid var( --ahnl-line );
	border-radius: 16px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.ahnl-pdp-sec--specs th,
.ahnl-pdp-sec--specs td {
	padding: 13px 16px;
	border: 0;
	border-bottom: 1px solid #f2f1e8;
	background: none;
	text-align: left;
	font: 500 12.5px/1.5 "AH Inter", system-ui, sans-serif;
	vertical-align: top;
}

.ahnl-pdp-sec--specs th {
	width: 35%;
	color: #6b7265;
}

.ahnl-pdp-sec--specs td {
	font-weight: 600;
	color: var( --ahnl-ink );
}

.ahnl-pdp-sec--specs td p {
	margin: 0;
}

.ahnl-pdp-sec--specs tr:last-child th,
.ahnl-pdp-sec--specs tr:last-child td {
	border-bottom: 0;
}

.ahnl-pdp-info {
	max-width: 820px;
	margin: 0;
	padding-left: 1.2em;
	font: 400 14px/1.7 "AH Inter", system-ui, sans-serif;
	color: #5c6157;
}

.ahnl-pdp-info li {
	margin-bottom: 8px;
}

.ahnl-pdp-info a {
	color: var( --ahnl-green );
	text-decoration: underline;
}

/* --- Related --------------------------------------------------------------------------------- */
.ahnl-pdp-related {
	margin-top: 48px;
}

.ahnl-pdp-related__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 16px;
}

.ahnl-pdp-related__head .ahnl-pdp-sec__title {
	margin: 0;
	font-size: 22px;
}

.ahnl-pdp-related__all {
	font: 600 13px/1 "AH Inter", system-ui, sans-serif;
	color: var( --ahnl-green );
}

.ahnl-pdp-rail {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax( 220px, 1fr );
	gap: 16px;
	overflow-x: auto;
	padding: 4px 0 6px;
	scroll-snap-type: x proximity;
}

.ahnl-pdp-rail__item {
	min-width: 0;
	scroll-snap-align: start;
}

@media ( max-width: 640px ) {
	.ahnl-pdp-sec--about,
	.ahnl-pdp-sec--specs,
	.ahnl-pdp-sec--info {
		padding: 20px 18px;
	}

	.ahnl-pdp .price.ahnl-pdp-price {
		font-size: 28px;
	}

	.ahnl-pdp-rail {
		grid-auto-columns: minmax( 200px, 62vw );
	}
}

/* WooCommerce's stock line ("45 in stock") — Kadence colours it blue. */
.ahnl-pdp .ahnl-pdp-summary p.stock {
	margin: 0;
	font: 600 12.5px/1.4 "AH Inter", system-ui, sans-serif;
	color: var( --ahnl-green );
}

.ahnl-pdp .ahnl-pdp-summary p.stock.out-of-stock {
	color: #a8371f;
}

/* --- Quantity discount ("Buy More, Save More") — S4.2, decided 2026-09-27 --- */
.ahnl-qtydeal {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 14px 16px;
	background: #fdf6e8;
	border: 1px solid #ecdcae;
	border-radius: 16px;
}

.ahnl-qtydeal__title {
	font: 700 13px/1.3 "AH Inter", system-ui, sans-serif;
	color: #8a5a12;
}

.ahnl-qtydeal__list {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 0 0 0 18px;
	font: 400 13px/1.5 "AH Inter", system-ui, sans-serif;
	color: var( --ahnl-ink );
}

/* --- Frequently bought together (inc/bought-together.php) --- */
.ahnl-bt__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 14px 10px;
}

.ahnl-bt__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	width: 110px;
	text-align: center;
}

.ahnl-bt__item img {
	width: 72px;
	height: 72px;
	object-fit: contain;
	border: 1px solid var( --ahnl-line );
	border-radius: 12px;
	background: #fff;
}

.ahnl-bt__item--pick {
	cursor: pointer;
	position: relative;
}

.ahnl-bt__check {
	position: absolute;
	top: 0;
	left: 32px;
}

.ahnl-bt__name {
	font: 500 12px/1.35 "AH Inter", system-ui, sans-serif;
	color: var( --ahnl-ink );
}

.ahnl-bt__name a {
	color: inherit;
	text-decoration: none;
}

.ahnl-bt__name a:hover,
.ahnl-bt__name a:focus-visible {
	color: var( --ahnl-green );
	text-decoration: underline;
}

.ahnl-bt__price {
	font: 600 12.5px/1.2 "AH Inter", system-ui, sans-serif;
	color: var( --ahnl-green );
}

.ahnl-bt__plus {
	align-self: center;
	font: 700 18px/1 "AH Inter", system-ui, sans-serif;
	color: #a9aea1;
	padding-top: 30px;
}

.ahnl-bt__total {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	margin-left: 10px;
	padding: 10px 0 0;
}

.ahnl-bt__sum {
	color: var( --ahnl-ink );
}

.ahnl-bt__add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 20px;
	border: none;
	border-radius: 99px;
	background: var( --ahnl-green );
	color: #fff;
	font: 600 13.5px/1 "AH Inter", system-ui, sans-serif;
	cursor: pointer;
}

.ahnl-bt__add:hover,
.ahnl-bt__add:focus-visible {
	background: var( --ahnl-ink );
}

.ahnl-bt__add:disabled {
	opacity: .6;
	cursor: default;
}

.ahnl-bt__status {
	font: 500 12px/1.3 "AH Inter", system-ui, sans-serif;
	color: #6b7265;
}

@media ( max-width: 520px ) {
	.ahnl-bt__row {
		gap: 10px 6px;
	}
	.ahnl-bt__item {
		width: 84px;
	}
	.ahnl-bt__item img {
		width: 60px;
		height: 60px;
	}
	.ahnl-bt__plus {
		padding-top: 22px;
	}
	.ahnl-bt__total {
		margin-left: 0;
		width: 100%;
	}
}
