/*
Theme Name: ABN Sport
Theme URI: https://abnsport.shop/
Author: ABN Sport
Description: قالب فروشگاهی ABN Sport با ظاهر روشن و مینیمال، هدر تیره، دکمه‌های مشکی و کارت‌های محصول خاکستری. پشتیبانی کامل از ووکامرس و راست‌چین.
Version: 2.6.5
Requires at least: 6.0
Requires PHP: 7.4
WC requires at least: 8.0
Text Domain: abn-sport
License: GPLv2 or later
*/

/* ===== Fonts (bundled, all SIL OFL) =====
   Persian: Estedad (variable 100-900) · Latin text: Poppins · Latin labels: Barlow Condensed */
@font-face { font-family: "ABN Digits"; src: url("assets/fonts/abn-digits.woff2") format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0030-0039; }
@font-face { font-family: "Estedad"; src: url("assets/fonts/Estedad-wght.woff2") format("woff2-variations"), url("assets/fonts/Estedad-wght.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("assets/fonts/poppins-latin-300.woff2") format("woff2"); font-weight: 300; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; src: url("assets/fonts/poppins-latin-400.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; src: url("assets/fonts/poppins-latin-500.woff2") format("woff2"); font-weight: 500; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; src: url("assets/fonts/poppins-latin-600.woff2") format("woff2"); font-weight: 600; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; src: url("assets/fonts/poppins-latin-700.woff2") format("woff2"); font-weight: 700; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; src: url("assets/fonts/poppins-latin-800.woff2") format("woff2"); font-weight: 800; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Barlow Condensed"; src: url("assets/fonts/barlow-condensed-latin-600.woff2") format("woff2"); font-weight: 600; font-display: swap; unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }
@font-face { font-family: "Barlow Condensed"; src: url("assets/fonts/barlow-condensed-latin-700.woff2") format("woff2"); font-weight: 700; font-display: swap; unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }

/* ===== Tokens ===== */
:root {
	--ink: #1a1a1a;
	--black: #000;
	--white: #fff;
	--soft: #f2f2f2;
	--card: #f1f1f1;
	--chip: #e6e6e6;
	--line: rgba(26, 26, 26, .12);
	--muted: #707070;
	--faint: #9a9a9a;
	--red: #be0002;
	--star: #ffb74a;
	--gutter: 48px;
	--maxw: 1440px;
	--header-h: 96px;
	--font: "Poppins", "Estedad", Tahoma, sans-serif;
	--font-label: "Barlow Condensed", "Estedad", Tahoma, sans-serif;
	--font-num: "ABN Digits", "Poppins", "Estedad", Tahoma, sans-serif;
}

/* ===== Base ===== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--white);
	color: var(--ink);
	font-family: var(--font);
	font-size: 16px;
	font-weight: 300;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
html, body { overflow-x: clip; }
body.abn-lock { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3, h4, h5, h6 { font-weight: 800; line-height: 1.15; letter-spacing: -0.01em; margin: 0 0 .6em; color: var(--ink); }
p { margin: 0 0 1em; }
strong, b { font-weight: 700; }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; border: 0; padding: 0; margin: -1px;
}
.screen-reader-text:focus {
	clip: auto; width: auto; height: auto; margin: 0; z-index: 1000;
	background: var(--white); color: var(--ink); padding: 12px 16px; inset-inline-start: 8px; top: 8px;
}

.abn-container { width: min(100% - (var(--gutter) * 2), var(--maxw)); margin-inline: auto; }
.abn-narrow { max-width: 820px; }
.abn-main { padding-bottom: 72px; }
.abn-section { padding: 48px 0; }
.abn-center { text-align: center; margin-top: 40px; }

.abn-h1 { font-size: clamp(30px, 4.2vw, 56px); font-weight: 800; letter-spacing: -0.02em; margin-bottom: 12px; }
.abn-h2 { font-size: clamp(24px, 2.8vw, 38px); font-weight: 800; letter-spacing: -0.015em; margin-bottom: 32px; }
.abn-kicker { color: var(--red); font-size: 14px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 8px; }
.abn-lead { font-size: 17px; margin-bottom: 32px; }
.abn-meta { color: var(--muted); font-size: 14px; }

/* ===== Buttons ===== */
.abn-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.wp-element-button, .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	background: var(--black); color: var(--white);
	border: 0; border-radius: 0;
	padding: 14px 28px; min-height: 48px;
	font-family: var(--font); font-size: 15px; font-weight: 700; line-height: 1.2;
	text-transform: uppercase; letter-spacing: .02em;
	cursor: pointer; transition: background .15s ease;
}
.abn-btn:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
	background: #333; color: var(--white);
}
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled],
.woocommerce button.button.alt.disabled { background: #555; color: var(--white); opacity: .6; padding: 14px 28px; }
.abn-btn--lg { padding: 18px 44px; min-height: 60px; font-size: 17px; }
.abn-btn--sm { padding: 10px 18px; min-height: 40px; font-size: 13px; }
.abn-btn--outline { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 2px var(--ink); }
.abn-btn--outline:hover { background: var(--ink); color: var(--white); }

/* Circle chevron (filters / accordions) */
.abn-circle {
	display: inline-grid; place-items: center; flex: 0 0 auto;
	width: 24px; height: 24px; border-radius: 50%;
	background: var(--chip); color: var(--ink); transition: transform .2s ease;
}
details[open] > summary .abn-circle { transform: rotate(180deg); }
summary { list-style: none; cursor: pointer; }
summary::-webkit-details-marker { display: none; }

/* ===== Top bar ===== */
.abn-topbar { background: var(--soft); color: var(--ink); font-size: 13px; }
.abn-topbar__rating {
	display: flex; align-items: center; justify-content: center; gap: 10px;
	height: 40px; font-weight: 500; padding-inline: 16px; white-space: nowrap; overflow: hidden;
}
.abn-topbar__label { font-weight: 700; }
.abn-topbar__pipe { color: var(--muted); }
.abn-stars { display: inline-flex; color: var(--star); }
.abn-stars svg { width: 18px; height: 18px; }
.abn-topbar__promo {
	display: grid; grid-template-columns: 40px minmax(0, 520px) 40px; justify-content: center; align-items: center;
	height: 42px; gap: 120px;
}
.abn-topbar__msgs { position: relative; height: 22px; overflow: hidden; text-align: center; }
.abn-topbar__msg {
	position: absolute; inset: 0; margin: 0; font-weight: 700;
	opacity: 0; transform: translateY(8px); transition: opacity .3s, transform .3s; white-space: nowrap;
}
.abn-topbar__msg.is-active { opacity: 1; transform: none; }
.abn-topbar__arrow { background: none; border: 0; padding: 8px; cursor: pointer; display: grid; place-items: center; }

/* ===== Header ===== */
.abn-header { position: sticky; top: 0; z-index: 60; background: var(--ink); color: var(--white); }
body.admin-bar .abn-header { top: 32px; }
.abn-header.is-scrolled { box-shadow: 0 2px 12px rgba(0, 0, 0, .25); }
.abn-header__inner {
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
	height: var(--header-h); padding-inline: var(--gutter);
}
.abn-header__start { justify-self: start; }
.abn-header__end { justify-self: end; display: flex; align-items: center; gap: 14px; }
.abn-iconbtn {
	position: relative; display: grid; place-items: center;
	width: 44px; height: 44px; background: none; border: 0; color: var(--white); cursor: pointer;
}
.abn-iconbtn:hover { color: #d9d9d9; }
.abn-cart-count {
	position: absolute; top: 2px; inset-inline-end: 0;
	min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
	background: var(--white); color: var(--ink); font-size: 11px; font-weight: 800; line-height: 18px; text-align: center;
}
.abn-cart-count[data-count="0"] { display: none; }

.abn-logo { display: inline-flex; align-items: center; gap: 8px; direction: ltr; color: var(--white); }
.abn-logo__mark {
	font-size: 38px; font-weight: 900; font-style: italic; letter-spacing: -0.04em; line-height: 1;
	transform: skewX(-8deg);
}
.abn-logo__text { font-size: 15px; font-weight: 800; letter-spacing: .14em; line-height: 1; padding-top: 6px; }
.abn-header__logo .custom-logo { max-height: 56px; width: auto; }

/* Search panel */
.abn-search { background: var(--ink); border-top: 1px solid rgba(255, 255, 255, .12); padding: 16px var(--gutter) 20px; }
.abn-search__form { display: flex; gap: 8px; max-width: 720px; margin-inline: auto; }
.abn-search__form input[type=search] {
	flex: 1; min-height: 52px; padding: 0 16px; border: 0; border-radius: 0; background: var(--white); color: var(--ink); font-size: 16px;
}
.abn-search__form .abn-btn { background: var(--white); color: var(--ink); }

/* Drawer */
.abn-overlay { position: fixed; inset: 0; z-index: 90; background: rgba(0, 0, 0, .45); }
.abn-drawer {
	position: fixed; top: 16px; bottom: 16px; inset-inline-start: 16px; z-index: 100;
	width: min(380px, calc(100% - 32px)); background: var(--white); color: var(--ink);
	padding: 32px; overflow-y: auto;
	display: none;
}
.abn-drawer.is-open { display: block; animation: abn-slide .28s ease; }
@keyframes abn-slide { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }
[dir="ltr"] .abn-drawer.is-open { animation-name: abn-slide-ltr; }
@keyframes abn-slide-ltr { from { opacity: 0; transform: translateX(-24px); } to { opacity: 1; transform: none; } }
.abn-drawer__close {
	display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%;
	border: 1px solid var(--line); background: var(--white); cursor: pointer; margin-bottom: 28px;
}
.abn-drawer__menu, .abn-drawer__menu ul { list-style: none; margin: 0; padding: 0; }
.abn-drawer__menu > li > a {
	display: flex; align-items: center; justify-content: space-between;
	padding: 12px 0; font-size: 22px; font-weight: 800; text-transform: uppercase;
}
.abn-drawer__menu .menu-item-has-children > a::after {
	content: ""; width: 24px; height: 24px; border-radius: 50%; background: var(--chip) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2.5'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E") center/12px no-repeat;
}
[dir="ltr"] .abn-drawer__menu .menu-item-has-children > a::after { transform: scaleX(-1); }
.abn-drawer__menu .sub-menu { display: none; padding: 0 0 12px; }
.abn-drawer__menu .is-expanded > .sub-menu { display: block; }
.abn-drawer__menu .is-expanded > a::after { transform: rotate(-90deg); }
.abn-drawer__menu .sub-menu a { display: block; padding: 8px 0; font-size: 16px; font-weight: 500; color: var(--muted); }
.abn-drawer__menu .sub-menu a:hover { color: var(--ink); }

/* ===== Breadcrumb ===== */
.abn-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 18px 0 40px; font-size: 15px; color: var(--faint); }
.abn-breadcrumb a { color: var(--ink); font-weight: 700; }
.abn-breadcrumb .sep { display: inline-grid; color: var(--faint); }
.abn-breadcrumb .sep svg { width: 12px; height: 12px; }
[dir="ltr"] .abn-breadcrumb .sep svg, [dir="ltr"] .abn-arrow svg, [dir="ltr"] .abn-topbar__arrow svg { transform: scaleX(-1); }

/* ===== Hero ===== */
.abn-hero {
	position: relative; display: flex; align-items: flex-end; justify-content: center;
	min-height: clamp(460px, calc(100vh - 180px), 760px);
	background: linear-gradient(180deg, #e9e9e9 0%, #f7f7f7 100%);
	overflow: hidden;
}
.abn-hero__media {
	position: absolute; inset: 0;
	background-image: var(--hero-img); background-repeat: no-repeat;
	background-position: center bottom; background-size: contain;
}
.abn-hero__box {
	position: relative; z-index: 1; margin-bottom: 40px;
	background: rgba(26, 26, 26, .55); color: var(--white);
	padding: 28px clamp(24px, 6vw, 92px) 20px; text-align: center; max-width: calc(100% - 32px);
}
.abn-hero__title { color: var(--white); font-size: clamp(28px, 3.6vw, 44px); margin-bottom: 18px; }

/* ===== Category row ===== */
.abn-cats {
	display: grid; grid-auto-flow: column; grid-auto-columns: minmax(150px, 1fr);
	gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 8px;
}
.abn-cats::-webkit-scrollbar { display: none; }
.abn-cat { display: flex; flex-direction: column; align-items: center; gap: 12px; scroll-snap-align: start; text-align: center; }
.abn-cat__img { display: grid; place-items: center; width: 100%; height: 130px; }
.abn-cat__img img { max-height: 130px; width: auto; object-fit: contain; mix-blend-mode: multiply; transition: transform .25s ease; }
.abn-cat:hover .abn-cat__img img { transform: translateY(-4px); }
.abn-cat__name { font-size: 16px; font-weight: 700; }

/* ===== Section head + arrows ===== */
.abn-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.abn-arrows { display: flex; gap: 8px; margin-bottom: 32px; }
.abn-arrow {
	display: grid; place-items: center; width: 48px; height: 48px;
	background: var(--black); color: var(--white); border: 0; cursor: pointer;
}
.abn-arrow:hover { background: #333; }

/* ===== Product grid + cards ===== */
.woocommerce ul.products, ul.products {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 24px;
	margin: 0; padding: 0; list-style: none;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, ul.products li.product {
	display: flex; flex-direction: column;
	width: auto; margin: 0; padding: 0; float: none;
	background: var(--card);
}
.abn-product__link { display: flex; flex-direction: column; flex: 1; color: var(--ink); }
.abn-product__media { position: relative; display: block; aspect-ratio: 1 / 1; padding: 28px; }
.abn-product__media img,
.woocommerce ul.products li.product a img {
	width: 100%; height: 100%; object-fit: contain; margin: 0;
	mix-blend-mode: multiply; transition: transform .3s ease;
}
.abn-product:hover .abn-product__media img { transform: scale(1.03); }
.abn-product__badge {
	position: absolute; top: 16px; inset-inline-start: 16px; z-index: 1;
	background: var(--red); color: var(--white); padding: 4px 12px;
	font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em;
}
.abn-product__badge--dark { background: var(--ink); }
.abn-product__body { display: flex; flex-direction: column; gap: 6px; padding: 4px 20px 24px; flex: 1; }
.abn-product__title { font-size: 18px; font-weight: 700; line-height: 1.35; }
.abn-product__rating { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 500; }
.abn-product__rating .star-rating { margin: 0 !important; font-size: 15px; }
.abn-product__reviews { font-size: 15px; }
.abn-product__price, .abn-product__price .amount { font-size: 16px; font-weight: 400; color: var(--ink); }
.abn-product__price del { color: var(--faint); margin-inline-end: 6px; }
.abn-product__price ins { text-decoration: none; color: var(--red); font-weight: 700; }
.abn-from { font-weight: 400; }
.abn-product__cta { margin-top: auto; }
.woocommerce ul.products li.product .abn-product__cta .button,
.abn-product__cta .button {
	display: flex; width: 100%; min-height: 60px; margin: 0; padding: 0 16px;
	background: var(--black); color: var(--white); font-size: 15px; font-weight: 700; border-radius: 0;
}
.woocommerce ul.products li.product .abn-product__cta .button:hover { background: #333; }
.woocommerce ul.products li.product .abn-product__cta .button.loading { opacity: .7; }
.woocommerce ul.products li.product .abn-product__cta .button.added::after { margin-inline-start: 8px; }
.abn-product__cta .added_to_cart {
	display: block; padding: 10px; text-align: center; font-size: 14px; font-weight: 700; text-decoration: underline;
	background: var(--white);
}

/* Star rating colours (Woo font stars) */
.woocommerce .star-rating { color: var(--star); }
.woocommerce .star-rating::before { color: #d9d9d9; opacity: 1; }
.woocommerce .star-rating span::before { color: var(--star); }

/* Carousel variant */
.woocommerce ul.products.abn-carousel, ul.products.abn-carousel {
	display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 24px;
}
.woocommerce ul.products.abn-carousel li.product { flex: 0 0 calc((100% - 72px) / 4); }
.abn-carousel::-webkit-scrollbar { display: none; }
.abn-carousel.products li.product { scroll-snap-align: start; }

/* ===== Editorial cards ===== */
.abn-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.abn-card { display: flex; flex-direction: column; background: var(--white); box-shadow: 0 2px 10px rgba(0, 0, 0, .08); }
.abn-card__media { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--soft); overflow: hidden; }
.abn-card__media img { width: 100%; height: 100%; object-fit: cover; }
.abn-badge {
	position: absolute; top: 16px; inset-inline-start: 16px;
	background: var(--red); color: var(--white); padding: 4px 16px;
	font-size: 14px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em;
}
.abn-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 20px 16px 24px; flex: 1; }
.abn-card__title { font-size: 20px; margin: 0; }
.abn-card__text { color: #4d4d4d; font-size: 15px; margin: 0 0 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.abn-card__body .abn-btn { margin-top: auto; }

/* ===== Split banner ===== */
.abn-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 420px; }
.abn-split__text {
	display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
	gap: 8px; padding: 48px clamp(24px, 5vw, 72px); background: var(--ink); color: var(--white);
}
.abn-split__text h3 { color: var(--white); font-size: clamp(28px, 3.4vw, 48px); direction: ltr; }
.abn-split__text p { font-size: 17px; line-height: 1.8; margin-bottom: 20px; }
.abn-split__text .abn-btn { background: var(--white); color: var(--ink); }
.abn-split__text .abn-btn:hover { background: #e5e5e5; }
.abn-split__media { background: var(--soft) var(--split-img) center bottom / contain no-repeat; min-height: 320px; }

/* ===== Join block ===== */
.abn-join { background: var(--soft); padding: 56px 0; }
.abn-join__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.abn-join .abn-h2 { margin-bottom: 16px; }
.abn-join__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 16px; }
.abn-join__list li { display: flex; gap: 10px; align-items: baseline; }
.abn-join__list li::before { content: "✓"; font-weight: 900; }

/* ===== Footer ===== */
.abn-footer { background: var(--black); color: var(--white); padding: 64px 0 40px; }
.abn-footer__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.abn-footer__title { color: var(--white); font-size: 17px; font-weight: 800; text-transform: uppercase; margin-bottom: 16px; }
.abn-footer ul { list-style: none; margin: 0; padding: 0; }
.abn-footer li { font-size: 15px; line-height: 1.5; padding: 3px 0; }
.abn-footer a:hover { text-decoration: underline; color: var(--white); }
.abn-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 64px; font-size: 15px; }
.abn-footer__bottom p { margin: 0; }
.abn-footer__pay { border: 1px solid rgba(255, 255, 255, .3); padding: 6px 12px; font-size: 13px; font-weight: 700; }

/* ===== Shop archive ===== */
.abn-shop { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 48px; align-items: start; }
.abn-shop__filters { position: sticky; top: calc(var(--header-h) + 24px); }
body.admin-bar .abn-shop__filters { top: calc(var(--header-h) + 56px); }
.abn-filters__head { display: flex; align-items: center; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--ink); font-size: 17px; font-weight: 400; }
.abn-filters__close { display: none; margin-inline-start: auto; background: none; border: 0; cursor: pointer; }
.abn-filter { display: block; border-bottom: 1px solid var(--line); }
.abn-filter__title {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 22px 0; font-size: 18px; font-weight: 700; margin: 0;
}
.abn-filter__list { list-style: none; margin: 0; padding: 0 0 18px; display: grid; gap: 6px; }
.abn-filter__list a { font-size: 15px; }
.abn-filter__list a span { color: var(--faint); }
.abn-filter__list .is-current a { font-weight: 700; text-decoration: underline; }
.abn-filter--widget { padding-bottom: 18px; }
.abn-toggle-row { display: flex; align-items: center; justify-content: space-between; }
.abn-switch { position: relative; width: 40px; height: 22px; border-radius: 11px; background: #d9d9d9; transition: background .2s; flex: 0 0 auto; }
.abn-switch::after {
	content: ""; position: absolute; top: 3px; inset-inline-start: 3px; width: 16px; height: 16px; border-radius: 50%;
	background: var(--white); box-shadow: 0 1px 2px rgba(0, 0, 0, .25); transition: inset-inline-start .2s;
}
.abn-switch.is-on { background: var(--ink); }
.abn-switch.is-on::after { inset-inline-start: 21px; }
.abn-price { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding-bottom: 18px; }
.abn-price label { display: grid; gap: 4px; font-size: 13px; color: var(--muted); }
.abn-price input { width: 100%; min-height: 40px; padding: 0 10px; border: 1px solid #bfbfbf; border-radius: 0; background: var(--white); }
.abn-price .abn-btn { grid-column: 1 / -1; }

.abn-shop__header .abn-h1 { margin-bottom: 24px; }
.abn-shop__header .term-description, .abn-shop__header .page-description { margin-bottom: 24px; }
.abn-shop__toolbar {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	padding-bottom: 24px; margin-bottom: 16px; border-bottom: 1px solid var(--line);
}
.abn-shop__count { margin: 0; font-size: 18px; font-weight: 400; }
.abn-filters__open { display: none; align-items: center; gap: 8px; background: none; border: 0; padding: 0; font-size: 16px; font-weight: 700; cursor: pointer; }
.woocommerce .woocommerce-ordering { margin: 0; margin-inline-start: auto; }
.woocommerce-ordering select {
	appearance: none; -webkit-appearance: none; border: 0; background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat;
	background-size: 12px; background-position: left 6px center;
	padding-block: 6px; padding-inline: 4px 30px;
	font-size: 15px; font-weight: 700; text-transform: uppercase; cursor: pointer;
}
[dir="ltr"] .woocommerce-ordering select { background-position: right 6px center; }
.abn-shop__main ul.products { margin-top: 24px; }
.woocommerce nav.woocommerce-pagination { margin-top: 48px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
	display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 10px; font-weight: 700; background: var(--soft); color: var(--ink);
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--black); color: var(--white); }

/* ===== Single product ===== */
.abn-pdp__grid { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.woocommerce div.product .abn-pdp__media div.images,
.woocommerce div.product div.images.woocommerce-product-gallery { width: 100%; float: none; margin: 0 0 24px; position: relative; }
.woocommerce div.product div.images img { mix-blend-mode: normal; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img { width: 100%; max-height: 640px; object-fit: contain; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 76px; float: none; margin: 0; }
.woocommerce div.product div.images .flex-control-thumbs li img { opacity: .55; border: 1px solid var(--line); }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; border-color: var(--ink); }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	position: absolute; top: auto; bottom: 16px; inset-inline-end: 16px; right: auto; z-index: 5;
	width: 46px; height: 46px; border-radius: 50%; background: var(--white); box-shadow: 0 1px 6px rgba(0, 0, 0, .15);
	display: grid; place-items: center; text-indent: -9999px; overflow: hidden;
}
[dir="ltr"] .woocommerce div.product div.images .woocommerce-product-gallery__trigger { right: 16px; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before {
	content: ""; position: absolute; inset: 0; text-indent: 0; border: 0; width: auto; height: auto;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4M11 8v6M8 11h6'/%3E%3C/svg%3E") center/20px no-repeat;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::after { display: none; }
.woocommerce span.onsale {
	top: 16px; inset-inline-start: 16px; left: auto; right: auto; min-width: 0; min-height: 0;
	border-radius: 0; background: var(--red); color: var(--white); padding: 4px 12px; line-height: 1.4;
	font-size: 13px; font-weight: 900; text-transform: uppercase; margin: 0;
}

.abn-accordion { border-top: 1px solid var(--line); }
.abn-acc { border-bottom: 1px solid var(--line); }
.abn-acc__title { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 0; font-size: 18px; font-weight: 800; }
.abn-acc__body { padding: 0 0 24px; font-size: 16px; line-height: 1.8; }
.abn-acc__body h2:first-child { display: none; }
.abn-acc__body table.shop_attributes { width: 100%; border-collapse: collapse; border: 0; margin: 0; }
.woocommerce .abn-acc__body table.shop_attributes th, .woocommerce .abn-acc__body table.shop_attributes td {
	border: 0; border-bottom: 1px solid var(--line); padding: 10px 0; font-style: normal; background: none; text-align: start;
}
.woocommerce .abn-acc__body table.shop_attributes th { font-weight: 700; width: 40%; }
.woocommerce .abn-acc__body table.shop_attributes td p { padding: 0; margin: 0; }

.woocommerce div.product .abn-pdp__summary { width: 100%; float: none; margin: 0; }
.woocommerce div.product .product_title { font-size: clamp(30px, 3.6vw, 46px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.12; margin-bottom: 16px; }
.woocommerce div.product .woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; font-size: 17px; }
.woocommerce div.product .woocommerce-product-rating .star-rating { margin: 0; font-size: 17px; }
.woocommerce div.product .woocommerce-review-link { font-weight: 500; }
.woocommerce-product-details__short-description { font-size: 17px; line-height: 1.75; padding-bottom: 24px; margin-bottom: 28px; border-bottom: 1px solid var(--line); }
.woocommerce-product-details__short-description ul { margin: 0; padding-inline-start: 22px; display: grid; gap: 8px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ink); font-size: 22px; font-weight: 800; margin-bottom: 24px; }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { text-decoration: none; color: var(--red); }
.woocommerce div.product p.price del { color: var(--faint); font-weight: 400; font-size: 18px; }
.woocommerce div.product .stock { color: var(--ink); font-weight: 700; }
.woocommerce div.product .stock.out-of-stock { color: var(--red); }

.woocommerce div.product form.cart { display: block; margin: 0 0 32px; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart .variations { width: 100%; border: 0; margin: 0 0 16px; border-collapse: collapse; }
.woocommerce div.product form.cart .variations tr { display: grid; gap: 8px; margin-bottom: 20px; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; text-align: start; line-height: 1.4; }
.woocommerce div.product form.cart .variations label { font-size: 17px; font-weight: 300; color: var(--muted); }
.woocommerce div.product form.cart .variations label::after { content: ":"; }
.woocommerce div.product form.cart .variations select {
	appearance: none; -webkit-appearance: none; width: 100%; min-width: 0; margin: 0;
	min-height: 56px; padding: 0 20px; border: 1px solid #d0d0d0; border-radius: 0; background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat left 20px center / 14px;
	font-size: 15px; font-weight: 700; text-transform: uppercase; cursor: pointer;
}
[dir="ltr"] .woocommerce div.product form.cart .variations select { background-position: right 20px center; }
.woocommerce div.product form.cart .reset_variations { display: inline-block; margin-top: 8px; font-size: 13px; text-decoration: underline; }
.woocommerce div.product form.cart .single_variation_wrap .woocommerce-variation-price { margin-bottom: 16px; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0 0 32px; }
.woocommerce div.product form.cart .button { float: none; width: 100%; min-height: 60px; font-size: 16px; }

/* Quantity box */
.quantity.abn-qty { display: inline-flex; align-items: stretch; border: 1px solid #d0d0d0; background: var(--white); height: 52px; }
.abn-qty__btn { width: 60px; background: none; border: 0; font-size: 22px; font-weight: 400; cursor: pointer; }
.abn-qty__btn:hover { background: var(--soft); }
.woocommerce .quantity .qty, .quantity.abn-qty input.qty {
	width: 120px; border: 0; text-align: center; font-size: 17px; font-weight: 400; background: transparent; -moz-appearance: textfield; padding: 0;
}
.quantity.abn-qty input.qty::-webkit-outer-spin-button, .quantity.abn-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce div.product form.cart div.quantity::before { content: "تعداد:"; display: block; margin-bottom: 8px; font-size: 17px; color: var(--muted); }
.woocommerce div.product form.cart div.quantity.abn-qty { display: inline-flex; flex-wrap: wrap; position: relative; margin-top: 34px; }
.woocommerce div.product form.cart div.quantity.abn-qty::before { position: absolute; bottom: 100%; inset-inline-start: 0; }

.abn-pdp__reviews { padding-top: 72px; }
.woocommerce #reviews #comments ol.commentlist { padding: 0; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { border-radius: 0; border-color: var(--line); }
.woocommerce #reviews #comments h2, .woocommerce-Reviews-title { font-size: 20px; }
.woocommerce div.product .related.products, .woocommerce div.product .upsells.products { padding-top: 72px; clear: both; }
.related.products > h2, .upsells.products > h2 { font-size: clamp(24px, 2.8vw, 38px); margin-bottom: 32px; }
.related.products ul.products, .upsells.products ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ===== Forms & Woo general ===== */
input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=search], input[type=url], textarea, select,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
	border: 1px solid #bfbfbf; border-radius: 0; background: var(--white); padding: 12px 14px; font-size: 16px; line-height: 1.4; max-width: 100%;
}
input:focus, textarea:focus, select:focus { outline: 2px solid var(--ink); outline-offset: -1px; }
.woocommerce form .form-row label { font-weight: 500; }
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error {
	background: var(--soft); color: var(--ink); border-top: 3px solid var(--ink); border-radius: 0; font-weight: 500;
}
.woocommerce .woocommerce-error { border-top-color: var(--red); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ink); }
.woocommerce-error::before { color: var(--red); }
.woocommerce-message .button, .woocommerce-info .button { float: inline-end; }

.woocommerce table.shop_table { border-collapse: collapse; border-radius: 0; border: 1px solid var(--line); width: 100%; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-top: 1px solid var(--line); padding: 14px 12px; }
.woocommerce table.shop_table th { font-weight: 800; }
.woocommerce-cart .cart-collaterals .cart_totals { max-width: 480px; margin-inline-start: auto; margin-top: 40px; }
.woocommerce-cart table.cart img { width: 72px; mix-blend-mode: multiply; }
.woocommerce table.cart td.actions .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
.woocommerce .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.woocommerce .col2-set::before, .woocommerce .col2-set::after { display: none; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { width: auto; float: none; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 48%; display: inline-block; vertical-align: top; }
.woocommerce form .form-row-first { margin-inline-end: 3%; }
.woocommerce form .form-row-wide, .woocommerce form .form-row { width: 100%; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 48%; }

/* My account — see the "v2.5 — My account" section at the end of this file. */

/* Content (pages / posts / product description) */
.abn-page-title { margin-bottom: 32px; }
.abn-content { font-size: 17px; line-height: 1.85; }
.abn-content a { text-decoration: underline; }
.abn-content .wc-block-components-button, .abn-content .button, .abn-content .abn-btn { text-decoration: none; }
.abn-content img { height: auto; }
.abn-single-thumb { margin: 24px 0 32px; }

/* ===== Responsive ===== */
@media (max-width: 1200px) {
	.woocommerce ul.products, ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce ul.products.abn-carousel li.product { flex-basis: calc((100% - 48px) / 3); }
	.related.products ul.products, .upsells.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	:root { --gutter: 24px; --header-h: 72px; }
	.abn-topbar__promo { gap: 24px; grid-template-columns: 36px minmax(0, 1fr) 36px; }
	.abn-shop { grid-template-columns: 1fr; }
	.abn-shop__filters {
		position: fixed; top: 0; bottom: 0; inset-inline-start: 0; z-index: 100;
		width: min(340px, 88%); background: var(--white); padding: 24px; overflow-y: auto;
		display: none;
	}
	body.abn-filters-open .abn-shop__filters { display: block; animation: abn-slide .28s ease; }
	.abn-filters__close { display: grid; }
	.abn-filters__open { display: inline-flex; }
	.abn-shop__count { display: none; }
	.abn-pdp__grid { grid-template-columns: 1fr; gap: 24px; }
	.abn-split { grid-template-columns: 1fr; }
	.abn-footer__cols { grid-template-columns: 1fr 1fr; }
	.abn-cards { grid-template-columns: 1fr 1fr; }
	.woocommerce-account.logged-in .abn-content > .woocommerce { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 782px) {
	body.admin-bar .abn-header { top: 46px; }
}
@media (max-width: 640px) {
	:root { --gutter: 16px; }
	body { font-size: 15px; }
	.abn-topbar__rating { font-size: 12px; gap: 6px; }
	.abn-topbar__rating .abn-topbar__pipe, .abn-topbar__rating .abn-topbar__pipe + span { display: none; }
	.abn-stars svg { width: 14px; height: 14px; }
	.abn-header__end { gap: 0; }
	.abn-iconbtn { width: 40px; }
	.abn-logo__mark { font-size: 30px; }
	.abn-logo__text { font-size: 12px; }
	.woocommerce ul.products, ul.products { gap: 24px 12px; }
	.abn-product__media { padding: 16px; }
	.abn-product__body { padding: 0 12px 16px; }
	.abn-product__title { font-size: 15px; }
	.abn-product__rating, .abn-product__reviews, .abn-product__price, .abn-product__price .amount { font-size: 14px; }
	.woocommerce ul.products li.product .abn-product__cta .button { min-height: 48px; font-size: 13px; }
	.woocommerce ul.products.abn-carousel { gap: 12px; }
	.woocommerce ul.products.abn-carousel li.product { flex-basis: 70%; }
	.abn-section { padding: 32px 0; }
	.abn-hero__box { margin-bottom: 24px; }
	.abn-cards { grid-template-columns: 1fr; }
	.abn-footer__cols { grid-template-columns: 1fr 1fr; gap: 24px; }
	.abn-arrows { display: none; }
	.woocommerce .col2-set, .woocommerce-account:not(.logged-in) .u-columns { grid-template-columns: 1fr; }
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; margin-inline-end: 0; }
	.quantity.abn-qty input.qty { width: 80px; }
}

/* Fixes */
.abn-content a[class*="button"], .abn-content .wp-element-button, .abn-content .wc-block-components-button, .abn-content .added_to_cart { text-decoration: none; }
.woocommerce #review_form #respond input[type=text], .woocommerce #review_form #respond input[type=email], .woocommerce #review_form #respond textarea { width: 100%; }
.woocommerce #review_form #respond p { margin-bottom: 16px; }

/* =====================================================================
   v2.1 — fonts on labels, desktop navigation, quick add, cart page
   ===================================================================== */

/* Label font (Latin parts use Barlow Condensed, Persian uses Estedad) */
.abn-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.abn-nav__menu > li > a, .abn-kicker, .abn-badge, .abn-product__badge, .abn-swatch,
.abn-cart__table thead th, .abn-footer__title, .abn-topbar__msg, .abn-logo__text {
	font-family: var(--font-label);
}
h1, h2, h3, .abn-h1, .abn-h2, .product_title { font-weight: 800; }

/* ---------- Desktop navigation ---------- */
.abn-nav { display: none; }
@media (min-width: 1200px) {
	.abn-header__inner { display: flex; align-items: center; gap: 40px; }
	.abn-header__start { display: none; }
	.abn-header__logo { flex: 0 0 auto; }
	.abn-nav { display: block; flex: 1 1 auto; min-width: 0; }
	.abn-header__end { margin-inline-start: auto; }
	.abn-nav__menu, .abn-nav__menu ul { list-style: none; margin: 0; padding: 0; }
	.abn-nav__menu { display: flex; align-items: center; gap: 4px 36px; flex-wrap: wrap; }
	.abn-nav__menu > li { position: relative; }
	.abn-nav__menu > li > a {
		display: inline-flex; align-items: center; gap: 6px; height: var(--header-h);
		color: var(--white); font-size: 17px; font-weight: 600; text-transform: uppercase; letter-spacing: .02em; white-space: nowrap;
	}
	.abn-nav__menu > li > a:hover, .abn-nav__menu > li:focus-within > a { color: #bdbdbd; }
	.abn-nav__menu .menu-item-has-children > a::after {
		content: ""; width: 10px; height: 10px; flex: 0 0 auto;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5'%3E%3Cpath d='M5 9l7 7 7-7'/%3E%3C/svg%3E") center/contain no-repeat;
	}
	.abn-nav__menu .sub-menu {
		position: absolute; top: 100%; inset-inline-start: -16px; z-index: 70; min-width: 230px;
		background: var(--ink); padding: 14px 0; box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
		opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s;
	}
	.abn-nav__menu li:hover > .sub-menu, .abn-nav__menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
	.abn-nav__menu .sub-menu li { position: relative; }
	.abn-nav__menu .sub-menu a {
		display: flex; align-items: center; justify-content: space-between; gap: 16px;
		padding: 9px 28px; color: var(--white); font-size: 15px; font-weight: 600; text-transform: uppercase; white-space: nowrap;
	}
	.abn-nav__menu .sub-menu a:hover { background: rgba(255, 255, 255, .08); }
	.abn-nav__menu .sub-menu .menu-item-has-children > a::after { transform: rotate(90deg); }
	[dir="ltr"] .abn-nav__menu .sub-menu .menu-item-has-children > a::after { transform: rotate(-90deg); }
	.abn-nav__menu .sub-menu .sub-menu { top: -14px; inset-inline-start: 100%; }
}

/* ---------- Quick add panel ---------- */
.abn-qa-overlay { position: fixed; inset: 0; z-index: 110; background: rgba(0, 0, 0, .5); opacity: 0; transition: opacity .2s; }
.abn-qa-overlay.is-open { opacity: 1; }
.abn-qa {
	position: fixed; z-index: 120; bottom: 16px; inset-inline-end: 16px;
	width: min(720px, calc(100% - 32px)); max-height: calc(100vh - 32px); overflow-y: auto;
	background: var(--white); color: var(--ink); padding: 40px 24px 24px;
	opacity: 0; transform: translateY(16px); transition: opacity .2s, transform .2s;
}
.abn-qa.is-open { opacity: 1; transform: none; }
.abn-qa__close {
	position: absolute; top: 12px; inset-inline-end: 12px; display: grid; place-items: center;
	width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line); background: var(--white); cursor: pointer;
}
.abn-qa__loading { padding: 48px 0; text-align: center; color: var(--muted); }
.abn-qa__head { display: flex; align-items: center; gap: 20px; margin-bottom: 20px; }
.abn-qa__thumb { flex: 0 0 auto; width: 84px; }
.abn-qa__thumb img { width: 84px; height: 84px; object-fit: contain; mix-blend-mode: multiply; }
.abn-qa__title { font-size: 18px; font-weight: 800; margin: 0 0 4px; text-transform: uppercase; }
.abn-qa__headprice, .abn-qa__headprice .amount { color: var(--muted); font-size: 16px; font-weight: 400; }
.abn-qa__rating { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; font-size: 15px; }
.abn-qa__rating .star-rating { margin: 0; }
.abn-qa__rating a { color: var(--ink); }
.abn-qa__attr { margin-bottom: 20px; text-align: center; }
.abn-qa__label { color: var(--muted); font-size: 15px; margin: 0 0 10px; }
.abn-qa__opts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.abn-swatch {
	min-height: 42px; padding: 0 20px; border: 1px solid #d0d0d0; background: var(--white); color: var(--ink);
	font-size: 15px; font-weight: 400; cursor: pointer; transition: border-color .15s;
}
.abn-swatch:hover { border-color: var(--ink); }
.abn-swatch.is-selected { border: 2px solid var(--ink); padding: 0 19px; }
.abn-swatch.is-unavailable { color: var(--faint); background: linear-gradient(to top left, transparent calc(50% - .5px), #cfcfcf, transparent calc(50% + .5px)); }
.abn-qa__price { font-size: 18px; font-weight: 800; margin: 8px 0 12px; min-height: 1.4em; }
.abn-qa__price .amount { font-weight: 800; }
.abn-qa__msg { color: var(--red); font-size: 14px; margin: 0 0 8px; min-height: 1em; }
.abn-qa__add { width: 100%; min-height: 48px; }
.abn-qa__add:disabled { background: #8a8a8a; cursor: not-allowed; }
.abn-qa__more { display: block; text-align: center; margin-top: 14px; font-size: 14px; text-decoration: underline; }
.abn-qa.is-added { padding-top: 24px; }
.abn-qa__added {
	display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 40px 20px 0;
	background: #e6f4ea; color: #1e7b34; padding: 12px; font-weight: 600; font-size: 15px;
}
[dir="ltr"] .abn-qa__added { margin: 0 0 20px 40px; }
.abn-qa__added span { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: #1e7b34; color: var(--white); font-size: 12px; }
.abn-qa__line { display: flex; gap: 20px; align-items: center; margin-bottom: 24px; }
.abn-qa__line p { margin: 0 0 2px; }
.abn-qa__lineprice, .abn-qa__lineprice .amount { color: var(--muted); font-weight: 400; }
.abn-qa__variant { color: var(--muted); font-size: 14px; }
.abn-qa__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.abn-qa__actions .abn-btn { min-height: 48px; }

/* ---------- Cart page ---------- */
.woocommerce-cart .abn-breadcrumb { visibility: hidden; padding-bottom: 8px; }
.abn-page-title--center { text-align: center; margin: 8px 0 48px; }
.abn-cart { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 80px; align-items: start; }
.abn-cart-page .woocommerce-notices-wrapper { margin-bottom: 16px; }
.woocommerce table.shop_table.abn-cart__table { border: 0; border-collapse: collapse; margin: 0; }
.woocommerce table.abn-cart__table thead th {
	border: 0; border-bottom: 1px solid var(--line); padding: 0 0 20px; font-size: 17px; font-weight: 700; text-align: start; background: none;
}
.woocommerce table.abn-cart__table thead th.product-quantity { text-align: center; }
.woocommerce table.abn-cart__table thead th.product-subtotal { text-align: end; }
.woocommerce table.abn-cart__table td { border: 0; padding: 32px 0; vertical-align: top; background: none; }
.woocommerce table.abn-cart__table td.product-quantity { text-align: center; width: 160px; }
.woocommerce table.abn-cart__table td.product-subtotal { text-align: end; width: 140px; font-size: 16px; padding-top: 44px; }
.abn-cart__item { display: flex; gap: 28px; align-items: flex-start; }
.abn-cart__thumb { flex: 0 0 auto; width: 84px; }
.abn-cart__thumb img { width: 84px !important; height: 84px; object-fit: contain; mix-blend-mode: multiply; }
.abn-cart__name { display: block; font-size: 17px; font-weight: 800; text-transform: uppercase; text-decoration: none !important; margin-bottom: 6px; line-height: 1.35; }
.abn-cart__variant, .abn-cart__unit, .abn-cart__info dl { color: var(--muted); font-size: 15px; margin: 0 0 4px; }
.abn-cart__info dl dt, .abn-cart__info dl dd { display: inline; margin: 0; }
.abn-cart__info dl dd p { display: inline; margin: 0; }
.woocommerce .abn-cart .quantity.abn-qty { height: 42px; }
.woocommerce .abn-cart .quantity.abn-qty .abn-qty__btn { width: 36px; font-size: 18px; }
.woocommerce .abn-cart .quantity.abn-qty input.qty { width: 44px; font-size: 15px; }
.woocommerce .abn-cart .quantity:not(.abn-qty) input.qty { width: 44px; height: 42px; border: 1px solid #d0d0d0; }
.abn-cart .product-remove { margin-top: 10px; }
.woocommerce .abn-cart a.remove.abn-remove {
	display: inline; width: auto; height: auto; border-radius: 0; color: var(--ink) !important; background: none !important;
	font-size: 14px; font-weight: 400; line-height: 1.4; text-decoration: underline;
}
.woocommerce .abn-cart a.remove.abn-remove:hover { color: var(--red) !important; }
.abn-cart__actions-row td.actions { border-top: 1px solid var(--line) !important; padding: 24px 0 0 !important; text-align: start; }
.woocommerce .abn-cart td.actions .coupon { display: flex; gap: 8px; float: none; }
.woocommerce .abn-cart td.actions .coupon .input-text { width: 220px; min-height: 48px; border: 1px solid #bfbfbf; padding: 0 14px; margin: 0; }
.woocommerce .abn-cart td.actions .coupon .button { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 2px var(--ink); }
.woocommerce .abn-cart td.actions .coupon .button:hover { background: var(--ink); color: var(--white); }
.abn-update-cart { display: none !important; }
.no-js .abn-update-cart { display: inline-flex !important; }

.abn-cart__side { position: sticky; top: calc(var(--header-h) + 24px); }
body.admin-bar .abn-cart__side { top: calc(var(--header-h) + 56px); }
.woocommerce .abn-cart .cart-collaterals { width: 100%; float: none; }
.woocommerce .abn-cart .cart-collaterals .cart_totals { width: 100%; float: none; max-width: none; margin: 0; }
.abn-totals { border: 1px solid var(--line); padding: 40px; }
.abn-ship { margin-bottom: 40px; }
.abn-ship__text { display: flex; align-items: center; justify-content: center; gap: 10px; text-align: center; font-size: 15px; font-weight: 500; margin-bottom: 14px; }
.abn-ship__text strong { font-weight: 800; }
.abn-ship__bar { position: relative; display: block; height: 4px; background: #e5e5e5; }
.abn-ship__bar > span { position: absolute; inset-block: 0; inset-inline-start: 0; background: var(--ink); }
.abn-ship__bar > span::after { content: ""; position: absolute; inset-inline-end: -5px; top: -3px; width: 10px; height: 10px; border-radius: 50%; background: var(--ink); }
.abn-totals__table { width: 100%; border-collapse: collapse; }
.abn-totals__table th, .abn-totals__table td { border: 0; padding: 6px 0; background: none; }
.abn-totals__table th { text-align: start; font-weight: 300; color: var(--muted); font-size: 16px; }
.abn-totals__table td { text-align: end; font-size: 16px; color: var(--muted); }
.abn-totals__table tr.order-total th, .abn-totals__table tr.order-total td { color: var(--ink); font-size: 22px; font-weight: 800; padding-top: 14px; }
.abn-totals__table tr.order-total td strong, .abn-totals__table tr.order-total .amount { font-weight: 800; }
.abn-totals__table tr.order-total small { display: block; font-size: 12px; font-weight: 400; color: var(--muted); }
.abn-totals__note { color: var(--muted); font-size: 14px; margin: 10px 0 28px; }
.woocommerce .abn-totals .wc-proceed-to-checkout { padding: 0; }
.woocommerce .abn-totals .wc-proceed-to-checkout a.checkout-button {
	display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%;
	min-height: 60px; margin: 0; padding: 0 20px; font-size: 16px; background: var(--black); color: var(--white);
}
.abn-accept { text-align: center; margin-top: 24px; }
.abn-accept p { color: var(--muted); font-size: 14px; margin: 0 0 10px; }
.abn-accept ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; }
.abn-accept li { border: 1px solid var(--line); padding: 4px 10px; font-size: 13px; font-weight: 600; }

/* Empty cart */
.abn-cart-page .wc-empty-cart-message { text-align: center; }
.abn-cart-page .cart-empty.woocommerce-info { background: none; border: 0; text-align: center; font-size: 18px; padding: 24px 0; }
.abn-cart-page .cart-empty.woocommerce-info::before { display: none; }
.abn-cart-page .return-to-shop { text-align: center; }
.abn-cart-page .return-to-shop .button { min-height: 56px; padding: 0 40px; }

@media (max-width: 1024px) {
	.abn-cart { grid-template-columns: 1fr; gap: 40px; }
	.abn-cart__side { position: static; }
}
@media (max-width: 640px) {
	.abn-qa { inset-inline: 0; bottom: 0; width: 100%; max-height: 90vh; padding: 36px 16px 16px; }
	.abn-qa__actions { grid-template-columns: 1fr; }
	.abn-swatch { min-height: 38px; padding: 0 14px; font-size: 14px; }
	.abn-swatch.is-selected { padding: 0 13px; }
	.woocommerce table.abn-cart__table thead { display: none; }
	.woocommerce table.abn-cart__table tr.cart_item { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 20px 0; border-bottom: 1px solid var(--line); }
	.woocommerce table.abn-cart__table tr.cart_item td { display: block; padding: 0; width: auto !important; text-align: start; }
	.woocommerce table.abn-cart__table tr.cart_item td::before { display: none; }
	.woocommerce table.abn-cart__table tr.cart_item td.product-name { grid-column: 1 / -1; }
	.woocommerce table.abn-cart__table tr.cart_item td.product-subtotal { padding-top: 8px; text-align: end; }
	.abn-cart__item { gap: 16px; }
	.abn-cart__thumb, .abn-cart__thumb img { width: 64px !important; height: 64px; }
	.woocommerce .abn-cart td.actions .coupon .input-text { width: 100%; flex: 1; }
	.abn-totals { padding: 24px; }
}

/* =====================================================================
   v2.2 — Persian digits, logo, header icons, sort dropdown, new home page
   ===================================================================== */

/* Persian numerals for counts and quantities */
.abn-cart-count, input.qty, .abn-shop__count, .abn-product__reviews, .abn-product__rnum,
.abn-qa__rating span, .abn-topbar__rating strong, .woocommerce-pagination .page-numbers,
.woocommerce-review-link, .abn-filter__list a span, .abn-cart__variant, .abn-calc input {
	font-family: var(--font-num);
}

/* Logo (white on dark, dark on light) */
.abn-logo { display: inline-flex; align-items: center; }
.abn-logo img { display: block; height: 46px; width: auto; }
.abn-drawer__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; }
.abn-drawer__top .abn-drawer__close { margin: 0; }
.abn-drawer__logo { height: 34px; width: auto; }
.abn-footer__brand { display: inline-flex; align-items: center; gap: 14px; }
.abn-footer__brand img { height: 28px; width: auto; }

/* Header icons: one row, same box, badge hugging the cart */
.abn-header__end { gap: 6px; align-items: center; }
.abn-iconbtn { width: 40px; height: 40px; padding: 0; line-height: 0; }
.abn-iconbtn svg { width: 24px; height: 24px; display: block; }
.abn-cart__icon { position: relative; display: block; width: 24px; height: 24px; }
.abn-header .abn-cart-count {
	position: absolute; top: -7px; inset-inline-start: auto; inset-inline-end: -9px; right: auto;
	min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px;
	background: var(--white); color: var(--ink); font-size: 11px; font-weight: 700; line-height: 17px;
}
[dir="rtl"] .abn-header .abn-cart-count { inset-inline-end: auto; left: -9px; }
[dir="ltr"] .abn-header .abn-cart-count { right: -9px; }

/* Sort dropdown */
.abn-sort { position: relative; }
.abn-sort__btn {
	display: inline-flex; align-items: center; gap: 10px; background: none; border: 0; padding: 6px 0; cursor: pointer;
	font-family: var(--font); font-size: 15px; font-weight: 700; color: var(--ink);
}
.abn-sort__btn .abn-circle { width: 22px; height: 22px; }
.abn-sort__btn[aria-expanded="true"] .abn-circle { transform: rotate(180deg); }
.abn-sort__list {
	position: absolute; top: 100%; inset-inline-end: 0; z-index: 30; min-width: 220px; margin: 8px 0 0; padding: 8px 0; list-style: none;
	background: var(--white); border: 1px solid var(--line); box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}
.abn-sort__list li { padding: 10px 18px; font-family: var(--font); font-size: 15px; font-weight: 400; cursor: pointer; white-space: nowrap; }
.abn-sort__list li:hover, .abn-sort__list li:focus { background: var(--soft); outline: none; }
.abn-sort__list li[aria-selected="true"] { font-weight: 700; }
.woocommerce-ordering select { font-family: var(--font); }

/* ---------- Home page ---------- */
.abn-section--tight { padding-top: 56px; }
.abn-section-title { margin-bottom: 48px; }
.abn-section-title--narrow { max-width: 620px; }
.abn-eyebrow { font-size: 15px; font-weight: 700; margin: 0 0 6px; }
.abn-hero__media.is-cutout { background-size: contain; }
.abn-hero__media:not(.is-cutout) { background-size: cover; background-position: center; }

/* Media + text blocks */
.abn-media-text { display: grid; grid-template-columns: 1fr 1fr; min-height: 520px; }
.abn-media-text + .abn-media-text { margin-top: 48px; min-height: 360px; }
.abn-media-text__media { background: #e9e9e9 var(--mt-img) center / cover no-repeat; min-height: 300px; }
.abn-media-text__media.is-cutout { background-color: var(--card); background-size: contain; background-origin: content-box; padding: 32px; background-blend-mode: multiply; }
.abn-media-text__panel {
	display: flex; flex-direction: column; justify-content: center; gap: 4px;
	padding: 48px clamp(28px, 6vw, 80px); color: var(--white);
}
.abn-media-text--center .abn-media-text__panel { align-items: center; text-align: center; }
.abn-media-text--start .abn-media-text__panel { align-items: flex-start; text-align: start; }
.abn-media-text__title { color: inherit; font-size: clamp(26px, 3vw, 42px); line-height: 1.2; margin-bottom: 12px; }
.abn-media-text__text { font-size: 17px; font-weight: 500; line-height: 1.8; max-width: 520px; margin-bottom: 24px; }
.abn-media-text--teal .abn-media-text__panel { background: linear-gradient(110deg, #1b6b57 0%, #3f8f84 45%, #6fb7b0 100%); }
.abn-media-text--green .abn-media-text__panel { background: linear-gradient(110deg, #3a9a3d 0%, #4fb64d 50%, #6ed56b 100%); }
.abn-media-text--gold .abn-media-text__panel { background: linear-gradient(110deg, #fbdc9f 0%, #f2c776 50%, #e6b45a 100%); color: var(--ink); }
.abn-media-text--gold .abn-media-text__text { font-weight: 300; }
.abn-media-text--gray .abn-media-text__panel { background: var(--card); color: var(--ink); }
.abn-media-text--gray .abn-media-text__text { font-weight: 300; }

/* Goal tiles */
.abn-goals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.abn-goal {
	position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px;
	min-height: 230px; padding: 22px; color: var(--white); overflow: hidden;
	background: #2a2a2a var(--goal-img) center / cover no-repeat;
}
.abn-goal::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0, 0, 0, .65) 0%, rgba(0, 0, 0, .1) 60%); transition: background .2s; }
.abn-goal:hover::before { background: linear-gradient(0deg, rgba(0, 0, 0, .75) 0%, rgba(0, 0, 0, .2) 70%); }
.abn-goal.is-product { background: radial-gradient(circle at 75% 40%, #4a4a4a 0%, #1f1f1f 70%); }
.abn-goal.is-product::after {
	content: ""; position: absolute; top: 12px; bottom: 12px; inset-inline-end: 16px; width: 45%;
	background: var(--goal-img) center / contain no-repeat; filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .5));
	transition: transform .3s;
}
.abn-goal.is-product:hover::after { transform: scale(1.05); }
.abn-goal__label, .abn-goal__title { position: relative; z-index: 1; }
.abn-goal__label { font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.abn-goal__title { font-size: clamp(22px, 2.4vw, 32px); font-weight: 900; line-height: 1.2; }

/* Slider footer: progress + round arrows */
.abn-slider__foot { display: flex; align-items: center; gap: 24px; margin-top: 32px; }
.abn-slider__bar { position: relative; flex: 1; height: 2px; background: #d9d9d9; }
.abn-slider__bar > span { position: absolute; inset-block: 0; inset-inline-start: 0; width: 30%; background: var(--ink); transition: width .2s; }
.abn-slider__arrows { display: flex; gap: 8px; }
.abn-round {
	display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
	border: 1px solid #d0d0d0; background: var(--white); color: var(--ink); cursor: pointer;
}
.abn-round:hover { border-color: var(--ink); }
.abn-round svg { width: 12px; height: 12px; }
[dir="ltr"] .abn-round svg { transform: scaleX(-1); }

/* Protein calculator */
.abn-calc { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; max-width: 440px; text-align: start; }
.abn-calc label { display: grid; gap: 6px; font-size: 14px; color: var(--muted); }
.abn-calc input, .abn-calc select { width: 100%; min-height: 48px; border: 1px solid #bfbfbf; background: var(--white); padding: 0 12px; font-size: 16px; color: var(--ink); }
.abn-calc .abn-btn { grid-column: 1 / -1; min-height: 52px; }
.abn-calc__result { grid-column: 1 / -1; margin: 4px 0 0; font-size: 17px; line-height: 1.8; text-align: center; color: var(--ink); }
.abn-calc__result strong { font-weight: 800; }
.abn-calc__result small { color: var(--muted); font-size: 14px; }

/* Support promo */
.abn-coach {
	position: relative; display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 32px;
	padding: clamp(32px, 5vw, 64px); overflow: hidden;
	background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .25) 0 1px, transparent 1px 14px), linear-gradient(120deg, #f3ece6 0%, #efe2dc 60%, #ecd9d6 100%);
	border-bottom: 3px solid var(--red);
}
.abn-pill { display: inline-flex; align-items: center; gap: 8px; background: var(--white); padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 800; margin-bottom: 16px; }
.abn-pill__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--red); }
.abn-coach__title { font-size: clamp(32px, 4.4vw, 56px); line-height: 1.12; margin-bottom: 18px; }
.abn-coach__text p { font-size: 16px; color: #4d4d4d; max-width: 520px; padding-bottom: 18px; border-bottom: 1px solid rgba(26, 26, 26, .15); }
.abn-coach__feats { list-style: none; display: flex; flex-wrap: wrap; gap: 24px; margin: 0 0 24px; padding: 0; font-size: 14px; font-weight: 700; }
.abn-coach__feats li { display: inline-flex; align-items: center; gap: 6px; }
.abn-coach__feats svg { color: var(--red); }
.abn-coach__visual { position: relative; display: grid; place-items: center; min-height: 340px; }
.abn-coach__glow { position: absolute; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(190, 0, 2, .18) 0%, rgba(190, 0, 2, 0) 70%); box-shadow: 0 0 0 1px rgba(190, 0, 2, .12), 0 0 0 40px rgba(190, 0, 2, .04); }
.abn-coach__visual img { position: relative; max-height: 300px; width: auto; mix-blend-mode: multiply; }
.abn-coach__bubble {
	position: absolute; top: 8%; inset-inline-start: 0; z-index: 2; background: var(--white); padding: 10px 14px; font-size: 13px; font-weight: 700;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
}

/* Blog posts */
.abn-more { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; white-space: nowrap; margin-bottom: 32px; }
.abn-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px; }
.abn-post { display: flex; flex-direction: column; background: #f5f5f5; }
.abn-post__media { display: block; aspect-ratio: 16 / 9; background: #e5e5e5; overflow: hidden; }
.abn-post__media img { width: 100%; height: 100%; object-fit: cover; }
.abn-post__body { display: flex; flex-direction: column; gap: 10px; padding: 24px 12px 24px; }
.abn-post__cat { align-self: flex-start; background: var(--white); padding: 4px 6px; font-size: 12px; font-weight: 800; }
.abn-post__title { font-size: 28px; font-weight: 900; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.abn-post__text { font-size: 15px; color: #4d4d4d; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.abn-post__date { font-size: 13px; color: var(--muted); }

/* Join card (all pages) */
.abn-join { background: none; padding: 32px 0 64px; }
.abn-join__card { display: grid; grid-template-columns: 1fr 1fr; background: #f3f2ef; box-shadow: 0 20px 40px rgba(0, 0, 0, .08); }
.abn-join__media { min-height: 380px; background: #e8e6e1 var(--join-img) center / cover no-repeat; }
.abn-join__media.is-cutout { background-size: contain; background-position: center bottom; }
.abn-join__panel { padding: clamp(28px, 5vw, 64px) clamp(24px, 5vw, 56px); display: flex; flex-direction: column; justify-content: center; }
.abn-join__title { font-size: clamp(24px, 2.4vw, 34px); margin-bottom: 18px; }
.abn-join__lead { font-weight: 800; margin-bottom: 12px; }
.abn-join .abn-join__list { list-style: disc; padding-inline-start: 20px; display: grid; gap: 6px; margin: 0 0 28px; }
.abn-join .abn-join__list li { display: list-item; }
.abn-join .abn-join__list li::before { content: none; }
.abn-join__form { display: flex; gap: 12px; }
.abn-join__form input { flex: 1; min-width: 0; min-height: 52px; border: 1px solid #cfcfcf; background: var(--white); padding: 0 16px; }

@media (max-width: 1024px) {
	.abn-media-text, .abn-join__card, .abn-coach { grid-template-columns: 1fr; }
	.abn-media-text { min-height: 0; }
	.abn-media-text__media { min-height: 280px; }
	.abn-goals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.abn-posts { grid-template-columns: 1fr 1fr; gap: 24px; }
	.abn-coach__visual { min-height: 260px; }
}
@media (max-width: 640px) {
	.abn-logo img { height: 36px; }
	.abn-goals { grid-template-columns: 1fr; }
	.abn-goal { min-height: 170px; }
	.abn-posts { grid-template-columns: 1fr; }
	.abn-calc { grid-template-columns: 1fr; }
	.abn-join__form { flex-direction: column; }
	.abn-join__media { min-height: 240px; }
	.abn-slider__foot { gap: 12px; }
	.abn-section__head { flex-wrap: wrap; }
}


/* ===== Navigation animations (modelled on the reference store) ===== */
@media (min-width: 1200px) {
	.abn-nav__menu > li > a { transition: opacity .2s ease-in-out; }
	.abn-nav__menu > li:hover > a, .abn-nav__menu > li:focus-within > a { color: var(--white); opacity: .7; }
	.abn-nav__menu > li > a::after { transition: transform .2s ease-in-out; }
	.abn-nav__menu > li:hover > a::after { transform: rotate(180deg); }
	.abn-nav__menu .sub-menu {
		display: grid; gap: 4px; width: max-content; min-width: 200px; max-width: 350px;
		padding: 20px 28px; border-radius: 2px; transform: none;
		box-shadow: 0 10px 30px rgba(0, 0, 0, .35), 0 0 0 1px rgba(255, 255, 255, .06);
		opacity: 0; visibility: hidden; transition: opacity .2s ease-in-out, visibility 0s linear .2s;
	}
	.abn-nav__menu li:hover > .sub-menu, .abn-nav__menu li:focus-within > .sub-menu {
		opacity: 1; visibility: visible; transform: none; transition: opacity .2s ease-in-out, visibility 0s;
	}
	.abn-nav__menu .sub-menu > li { opacity: 0; transform: translateY(6px); transition: opacity .25s ease, transform .25s ease; }
	.abn-nav__menu li:hover > .sub-menu > li, .abn-nav__menu li:focus-within > .sub-menu > li { opacity: 1; transform: none; }
	.abn-nav__menu .sub-menu a {
		padding: 6px 0; opacity: .7; transition: opacity .2s ease-in-out; background: none !important;
	}
	.abn-nav__menu .sub-menu a:hover, .abn-nav__menu .sub-menu li:hover > a { opacity: 1; }
	.abn-nav__menu .sub-menu .sub-menu { top: -20px; margin-inline-start: 28px; }
	.abn-nav__menu > li > .sub-menu { inset-inline-start: -28px; margin-top: -8px; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(1), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(1) { transition-delay: 0.075s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(2), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(2) { transition-delay: 0.110s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(3), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(3) { transition-delay: 0.145s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(4), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(4) { transition-delay: 0.180s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(5), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(5) { transition-delay: 0.215s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(6), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(6) { transition-delay: 0.250s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(7), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(7) { transition-delay: 0.285s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(8), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(8) { transition-delay: 0.320s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(9), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(9) { transition-delay: 0.355s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(10), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(10) { transition-delay: 0.390s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(11), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(11) { transition-delay: 0.425s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(12), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(12) { transition-delay: 0.460s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(13), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(13) { transition-delay: 0.495s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(14), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(14) { transition-delay: 0.530s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(15), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(15) { transition-delay: 0.565s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(16), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(16) { transition-delay: 0.600s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(17), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(17) { transition-delay: 0.635s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(18), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(18) { transition-delay: 0.670s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(19), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(19) { transition-delay: 0.705s; }
	.abn-nav__menu li:hover > .sub-menu > li:nth-child(20), .abn-nav__menu li:focus-within > .sub-menu > li:nth-child(20) { transition-delay: 0.740s; }
}

/* Mobile drawer: slides in from the edge; submenus open as a sliding panel */
.abn-drawer { display: block; visibility: hidden; transform: translateX(calc(100% + 32px)); transition: transform .35s cubic-bezier(.2, .7, .2, 1), visibility 0s linear .35s; animation: none !important; overflow-x: hidden; }
[dir="ltr"] .abn-drawer { transform: translateX(calc(-100% - 32px)); }
.abn-drawer.is-open { visibility: visible; transform: none; transition: transform .35s cubic-bezier(.2, .7, .2, 1), visibility 0s; }
.abn-overlay { opacity: 0; transition: opacity .3s ease; }
.abn-overlay.is-open { opacity: 1; }
.abn-drawer__menu > li { opacity: 0; transform: translateX(12px); transition: opacity .3s ease, transform .3s ease; }
[dir="ltr"] .abn-drawer__menu > li { transform: translateX(-12px); }
.abn-drawer.is-open .abn-drawer__menu > li { opacity: 1; transform: none; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(1) { transition-delay: 0.16s; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(2) { transition-delay: 0.20s; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(3) { transition-delay: 0.24s; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(4) { transition-delay: 0.28s; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(5) { transition-delay: 0.32s; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(6) { transition-delay: 0.36s; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(7) { transition-delay: 0.40s; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(8) { transition-delay: 0.44s; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(9) { transition-delay: 0.48s; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(10) { transition-delay: 0.52s; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(11) { transition-delay: 0.56s; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(12) { transition-delay: 0.60s; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(13) { transition-delay: 0.64s; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(14) { transition-delay: 0.68s; }
.abn-drawer.is-open .abn-drawer__menu > li:nth-child(15) { transition-delay: 0.72s; }
.abn-drawer__nav { position: relative; }
.abn-drawer__menu .sub-menu {
	display: block; position: absolute; inset: 0; z-index: 2; min-height: 100%; padding: 0; background: var(--white);
	transform: translateX(105%); visibility: hidden; transition: transform .3s cubic-bezier(.2, .7, .2, 1), visibility 0s linear .3s;
}
[dir="ltr"] .abn-drawer__menu .sub-menu { transform: translateX(-105%); }
.abn-drawer__menu .is-expanded > .sub-menu { transform: none; visibility: visible; transition: transform .3s cubic-bezier(.2, .7, .2, 1), visibility 0s; }
.abn-drawer__menu .is-expanded > a::after { transform: none; }
.abn-drawer__menu .sub-menu a { font-size: 20px; font-weight: 700; color: var(--ink); padding: 10px 0; text-transform: uppercase; }
.abn-drawer__back {
	display: inline-flex; align-items: center; gap: 10px; background: none; border: 0; padding: 0 0 18px; margin-bottom: 8px; width: 100%;
	border-bottom: 1px solid var(--line); font-size: 15px; font-weight: 700; color: var(--muted); cursor: pointer; text-align: start;
}
.abn-drawer__back svg { width: 14px; height: 14px; }
[dir="ltr"] .abn-drawer__back svg { transform: scaleX(-1); }
.abn-drawer__nav.has-sub { min-height: 60vh; }
@media (prefers-reduced-motion: reduce) {
	.abn-drawer, .abn-drawer__menu > li, .abn-drawer__menu .sub-menu, .abn-nav__menu .sub-menu, .abn-nav__menu .sub-menu > li { transition: none !important; }
}

/* Goal tiles with packshots (no photo uploaded yet): light tile, product blended in */
.abn-goal.is-product { background: radial-gradient(circle at 25% 50%, #ffffff 0%, #ececec 70%); color: var(--ink); }
[dir="ltr"] .abn-goal.is-product { background: radial-gradient(circle at 75% 50%, #ffffff 0%, #ececec 70%); }
.abn-goal.is-product::before { display: none; }
.abn-goal.is-product::after { mix-blend-mode: multiply; filter: none; inset-inline-end: 12px; width: 42%; }
.abn-goal.is-product .abn-goal__label { color: var(--red); }

/* Off-canvas layer clips the hidden drawer so it never widens the page */
.abn-drawer-layer { position: fixed; inset: 0; z-index: 100; overflow: hidden; pointer-events: none; }
.abn-drawer-layer .abn-drawer { position: absolute; pointer-events: auto; }
@media (max-width: 1024px) {
	.abn-media-text, .abn-join__card, .abn-coach { grid-template-columns: minmax(0, 1fr); }
}
.abn-join__panel, .abn-media-text__panel, .abn-coach__text { min-width: 0; }
.woocommerce ul.products.abn-carousel, .abn-cats { position: relative; }
.woocommerce ul.products li.product { position: relative; }

/* New ABN Sport logo (metallic + flame) */
.abn-logo img { height: 68px; width: auto; }
.abn-header__inner { height: var(--header-h); }
.abn-drawer__logo { height: 44px; width: auto; }
.abn-footer__brand img { height: 40px; }
@media (max-width: 1024px) { .abn-logo img { height: 56px; } }
@media (max-width: 640px) { .abn-logo img { height: 48px; } }

/* ===== Page builder (ABN blocks) ===== */
.abn-builder { padding-bottom: 24px; }
.abn-builder > .abn-container > .abn-section-title { padding-top: 56px; }
.abn-mt-wrap { margin-bottom: 48px; }
.abn-mt-wrap.is-compact .abn-media-text { min-height: 360px; }
.abn-media-text--dark .abn-media-text__panel { background: var(--ink); }
.abn-editor-hint { margin: 24px auto; max-width: 720px; padding: 18px 20px; border: 2px dashed #c9c9c9; color: #707070; text-align: center; font-size: 15px; background: #fafafa; }

/* =====================================================================
   v2.4 — Home page built from core blocks (editable in place)
   ===================================================================== */
.abn-builder > * { width: min(100% - (var(--gutter) * 2), var(--maxw)); margin-inline: auto; box-sizing: border-box; }
.abn-builder > .alignfull { width: 100%; max-width: none; }
.abn-builder > section.abn-section, .abn-builder > .abn-container, .abn-builder > .abn-mt-wrap { width: auto; }
.abn-builder > .wp-block-heading { margin-top: 56px; margin-bottom: 32px; }
.abn-builder > .abn-section-heading { font-size: clamp(30px, 4.2vw, 56px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; margin-bottom: 48px; }
.abn-builder > .abn-block-title, .abn-goals-section .abn-block-title { font-size: clamp(24px, 2.8vw, 38px); font-weight: 800; }
.abn-builder > .wp-block-heading + section.abn-section { padding-top: 0; }
.abn-builder p { margin-top: 0; }

/* Hero (cover block) */
.abn-hero-cover { min-height: clamp(460px, calc(100vh - 180px), 760px); padding: 0 16px; margin-top: 0; }
.abn-hero-cover.is-packshot { background: linear-gradient(180deg, #e9e9e9 0%, #f7f7f7 100%); }
.abn-hero-cover.is-packshot .wp-block-cover__image-background { object-fit: contain; object-position: center bottom; }
.abn-hero-box { padding: 28px clamp(24px, 6vw, 92px) 20px; margin-bottom: 40px; max-width: 760px; }
.abn-hero-box .wp-block-heading { font-size: clamp(28px, 3.6vw, 44px); color: inherit; margin: 0 0 18px; text-align: center; }
.abn-hero-box .wp-block-button__link { min-height: 60px; padding: 18px 44px; font-size: 17px; }

/* Media & text banners */
.wp-block-media-text.abn-mt { min-height: 520px; margin-bottom: 48px; }
.wp-block-media-text.abn-mt.is-compact { min-height: 360px; }
.abn-mt .wp-block-media-text__media { align-self: stretch; height: 100%; }
.abn-mt .wp-block-media-text__content { padding: 48px clamp(28px, 6vw, 80px); }
.abn-mt .wp-block-heading { font-size: clamp(26px, 3vw, 42px); line-height: 1.2; margin: 0 0 12px; color: inherit; }
.abn-mt p { font-size: 17px; font-weight: 500; line-height: 1.8; margin-bottom: 24px; }
.abn-mt .wp-block-buttons { margin-top: 0; }
.abn-mt.is-packshot:not(.is-image-fill) .wp-block-media-text__media,
.abn-mt.is-packshot:not(.is-image-fill-element) .wp-block-media-text__media { display: flex; align-items: center; justify-content: center; background: var(--card); padding: 32px; }
.abn-mt.is-packshot .wp-block-media-text__media img { width: auto; max-width: 100%; max-height: 440px; object-fit: contain; mix-blend-mode: multiply; }
.abn-mt .abn-calc { margin-inline: auto; }

/* Goal tiles (cover blocks) */
.abn-goals-section { margin-top: 56px; margin-bottom: 56px; }
.abn-goal-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.abn-goal-grid > * { margin: 0 !important; }
.wp-block-cover.abn-goal-tile { min-height: 230px; padding: 22px; align-items: flex-end; overflow: hidden; }
.abn-goal-tile.is-packshot { background: radial-gradient(circle at 25% 50%, #ffffff 0%, #ececec 70%); }
.abn-goal-tile.is-packshot .wp-block-cover__image-background {
	inset: 12px auto 12px 16px; width: 42%; height: calc(100% - 24px); object-fit: contain; mix-blend-mode: multiply; transition: transform .3s;
}
[dir="ltr"] .abn-goal-tile.is-packshot .wp-block-cover__image-background { inset: 12px 16px 12px auto; }
.abn-goal-tile:hover .wp-block-cover__image-background { transform: scale(1.05); }
.abn-goal-tile:not(.is-packshot)::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, 0) 60%); pointer-events: none; }
.abn-goal-tile .wp-block-cover__inner-container { position: static; width: auto; z-index: 1; }
.abn-goal-tile .wp-block-cover__inner-container > * { position: relative; z-index: 2; }
.abn-goal-tile__label { font-size: 13px; font-weight: 700; margin: 0 0 2px; }
.abn-goal-tile__title { font-size: clamp(22px, 2.4vw, 32px); font-weight: 900; line-height: 1.2; margin: 0; color: inherit; }
.abn-goal-tile__title a { color: inherit; text-decoration: none; }
.abn-goal-tile__title a::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.abn-goal-tile:not(.is-packshot) .abn-goal-tile__title, .abn-goal-tile:not(.is-packshot) .abn-goal-tile__label { color: #fff; }

/* Coach block (group + columns) */
.abn-coach-block { padding: clamp(32px, 5vw, 64px); margin-top: 56px; margin-bottom: 56px; border-bottom: 3px solid var(--red); position: relative; overflow: hidden; }
.abn-coach-block .wp-block-columns { margin: 0; gap: 32px; }
.abn-pill-badge { display: inline-flex !important; align-items: center; gap: 8px; background: #fff; border-radius: 999px; padding: 4px 12px; font-size: 12px !important; font-weight: 800; margin-bottom: 16px !important; }
.abn-pill-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--red); }
.abn-coach-block__title { font-size: clamp(32px, 4.4vw, 56px); line-height: 1.12; margin: 0 0 18px; color: inherit; }
.abn-coach-block__text { font-size: 16px; color: #4d4d4d; max-width: 520px; padding-bottom: 18px; border-bottom: 1px solid rgba(26, 26, 26, .15); }
.abn-coach-block__feats { list-style: none; display: flex; flex-wrap: wrap; gap: 24px; margin: 0 0 24px; padding: 0; font-size: 14px; font-weight: 700; }
.abn-coach-block__feats li { display: inline-flex; align-items: center; gap: 6px; }
.abn-coach-block__feats li::before { content: "●"; color: var(--red); font-size: 10px; }
.abn-coach-block__bubble { display: inline-block; background: #fff; padding: 10px 14px; font-size: 13px; font-weight: 700; box-shadow: 0 4px 14px rgba(0, 0, 0, .08); }
.abn-coach-block__img { margin: 0 auto; }
.abn-coach-block__img img { max-height: 300px; width: auto; mix-blend-mode: multiply; margin-inline: auto; display: block; }

@media (max-width: 1024px) {
	.abn-goal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wp-block-media-text.abn-mt { min-height: 0; }
}
@media (max-width: 640px) {
	.abn-goal-grid { grid-template-columns: 1fr; }
	.wp-block-cover.abn-goal-tile { min-height: 170px; }
	.abn-hero-box { padding: 20px 18px 16px; margin-bottom: 20px; }
	.abn-mt .wp-block-media-text__content { padding: 32px 20px; }
}
.wp-block-cover.abn-hero-cover { justify-content: center; }
.abn-hero-cover .wp-block-cover__inner-container { width: auto !important; margin-inline: auto !important; }
/* In RTL, "right/left" button alignment should be visual */
[dir="rtl"] .wp-block-buttons.is-content-justification-right { justify-content: flex-start; }
[dir="rtl"] .wp-block-buttons.is-content-justification-left { justify-content: flex-end; }
/* Hero sits directly under the header */
.abn-builder > .abn-hero-cover:first-child, .abn-builder > .wp-block-cover.alignfull:first-child { margin-top: 0 !important; margin-bottom: 0; }
.abn-hero-cover.is-photo .wp-block-cover__image-background { object-fit: cover; object-position: center; }
/* Hero block: always full width, directly under the header */
.abn-builder > .abn-hero { width: 100%; max-width: none; margin: 0; }
.abn-hero--banner { display: block; min-height: 0; background: none; }
.abn-hero--banner a { display: block; }
.abn-hero__banner { display: block; width: 100%; height: auto; }

/* =====================================================================
   v2.5 — My account (dashboard, orders, addresses, forms, login)
   ===================================================================== */

:root {
	--acc-radius: 6px;
	--acc-line: #e6e6e6;
	--acc-field: #d4d4d4;
}

/* WooCommerce prints clearfix pseudo-elements that would become phantom grid items. */
.woocommerce-account .abn-content > .woocommerce::before,
.woocommerce-account .abn-content > .woocommerce::after,
.woocommerce-account .woocommerce-MyAccount-content::before,
.woocommerce-account .woocommerce-MyAccount-content::after,
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after { content: none; display: none; }

.woocommerce-account .abn-main { padding-bottom: 88px; }
.woocommerce-account .abn-page-title { font-size: clamp(26px, 3vw, 40px); margin-bottom: 24px; }

/* ---------- Layout ---------- */
.woocommerce-account.logged-in .abn-content > .woocommerce {
	display: grid;
	grid-template-columns: 288px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}
.woocommerce-account.logged-in .abn-content > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }

/* ---------- Sidebar ---------- */
.woocommerce-MyAccount-navigation {
	position: sticky;
	top: calc(var(--header-h) + 16px);
	border: 1px solid var(--acc-line);
	border-radius: var(--acc-radius);
	background: var(--white);
	overflow: hidden;
}
.abn-account-user {
	display: flex; align-items: center; gap: 12px;
	padding: 18px 18px 16px;
	background: var(--soft);
	border-bottom: 1px solid var(--acc-line);
}
.abn-account-user__avatar {
	flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--black); color: var(--white);
	font-size: 19px; font-weight: 800; line-height: 1;
}
.abn-account-user__meta { display: grid; gap: 2px; min-width: 0; }
.abn-account-user__name { font-size: 15px; font-weight: 700; line-height: 1.3; }
.abn-account-user__mail {
	font-size: 12px; color: var(--muted); direction: ltr; text-align: start;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.woocommerce-MyAccount-navigation ul {
	list-style: none; margin: 0; padding: 8px;
	border-top: 0; display: grid; gap: 2px;
}
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation li a {
	display: flex; align-items: center; gap: 10px;
	padding: 12px 14px; border: 0; border-radius: var(--acc-radius);
	font-size: 15px; font-weight: 500; color: var(--ink);
	transition: background .15s ease, color .15s ease;
}
.woocommerce-MyAccount-navigation li a svg { flex: 0 0 20px; color: var(--faint); transition: color .15s ease; }
.woocommerce-MyAccount-navigation li a:hover { background: var(--soft); }
.woocommerce-MyAccount-navigation li a:hover svg { color: var(--ink); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--black); color: var(--white); font-weight: 700; }
.woocommerce-MyAccount-navigation li.is-active a svg { color: var(--red); }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--acc-line);
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover { color: var(--red); }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover svg { color: var(--red); }

/* ---------- Content card ---------- */
.woocommerce-MyAccount-content {
	min-width: 0;
	border: 1px solid var(--acc-line);
	border-radius: var(--acc-radius);
	background: var(--white);
	padding: 28px;
	font-size: 16px;
	line-height: 1.8;
}
.woocommerce-MyAccount-content > p:first-of-type { margin-top: 0; }
.woocommerce-MyAccount-content > h2,
.woocommerce-MyAccount-content > h3 { font-size: 20px; margin: 0 0 14px; }
.woocommerce-account .abn-content a { text-decoration: none; }
.woocommerce-MyAccount-content p a,
.woocommerce-MyAccount-content li a,
.woocommerce-MyAccount-content address a,
.woocommerce-MyAccount-content .woocommerce-LostPassword a { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Dashboard ---------- */
.abn-dash__hero {
	display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
	background: var(--black); color: var(--white);
	border-radius: var(--acc-radius);
	padding: 22px 24px;
	margin-bottom: 20px;
	border-inline-start: 4px solid var(--red);
}
.abn-dash__hi { margin: 0 0 4px; font-size: 20px; font-weight: 500; }
.abn-dash__hi strong { font-weight: 800; }
.abn-dash__sub { margin: 0; font-size: 14px; color: rgba(255, 255, 255, .7); line-height: 1.6; }
.abn-dash__logout {
	flex: 0 0 auto;
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 42px; padding: 0 20px;
	border: 1px solid rgba(255, 255, 255, .35); border-radius: var(--acc-radius);
	color: var(--white); font-family: var(--font-label); font-size: 14px; font-weight: 700;
	text-transform: uppercase; letter-spacing: .02em; text-decoration: none !important;
	transition: background .15s ease, border-color .15s ease;
}
.abn-dash__logout:hover { background: var(--red); border-color: var(--red); color: var(--white); }

.abn-dash__last {
	display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
	padding: 14px 18px; margin-bottom: 20px;
	border: 1px solid var(--acc-line); border-radius: var(--acc-radius);
	background: var(--white); font-size: 14px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.abn-dash__last:hover { border-color: var(--ink); box-shadow: 0 4px 14px rgba(0, 0, 0, .05); }
.abn-dash__last-label { font-family: var(--font-label); font-size: 13px; font-weight: 700; text-transform: uppercase; color: var(--muted); letter-spacing: .04em; }
.abn-dash__last-no { font-weight: 800; }
.abn-dash__last-date { color: var(--muted); }
.abn-dash__last-total { margin-inline-start: auto; font-weight: 800; }

.abn-dash__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.abn-dash__tile {
	display: flex; align-items: center; gap: 14px;
	padding: 16px 18px;
	border: 1px solid var(--acc-line); border-radius: var(--acc-radius);
	background: var(--white); color: var(--ink);
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.abn-dash__tile:hover { border-color: var(--ink); box-shadow: 0 6px 18px rgba(0, 0, 0, .06); transform: translateY(-2px); }
.abn-dash__icon {
	flex: 0 0 44px; width: 44px; height: 44px; border-radius: var(--acc-radius);
	display: grid; place-items: center; background: var(--soft); color: var(--ink);
}
.abn-dash__tile:hover .abn-dash__icon { background: var(--black); color: var(--white); }
.abn-dash__text { display: grid; gap: 2px; min-width: 0; }
.abn-dash__title { font-size: 15px; font-weight: 700; line-height: 1.4; }
.abn-dash__desc { font-size: 13px; color: var(--muted); line-height: 1.5; }
.abn-dash__arrow { margin-inline-start: auto; color: var(--faint); display: inline-grid; }
.abn-dash__tile:hover .abn-dash__arrow { color: var(--ink); }

/* ---------- Status badges ---------- */
.abn-status {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 4px 12px; border-radius: 999px;
	font-size: 13px; font-weight: 700; line-height: 1.6; white-space: nowrap;
	background: var(--chip); color: var(--ink);
}
.abn-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.abn-status--completed { background: #e8f6ec; color: #16723a; }
.abn-status--processing { background: #e8f0fd; color: #14479b; }
.abn-status--on-hold { background: #fff3e0; color: #8a5a00; }
.abn-status--pending { background: #f1f1f1; color: #5c5c5c; }
.abn-status--cancelled,
.abn-status--failed { background: #fdecec; color: var(--red); }
.abn-status--refunded { background: #f1f1f1; color: #1a1a1a; }

/* ---------- Tables (orders, downloads, order details) ---------- */
.woocommerce-MyAccount-content table.shop_table {
	width: 100%; margin: 0 0 8px;
	border: 1px solid var(--acc-line); border-radius: var(--acc-radius);
	border-collapse: separate; border-spacing: 0; overflow: hidden;
}
.woocommerce-MyAccount-content table.shop_table thead th {
	background: var(--soft); border: 0; border-bottom: 1px solid var(--acc-line);
	padding: 13px 16px; text-align: start;
	font-family: var(--font-label); font-size: 13px; font-weight: 700;
	text-transform: uppercase; letter-spacing: .04em; color: var(--muted);
}
.woocommerce-MyAccount-content table.shop_table tbody td,
.woocommerce-MyAccount-content table.shop_table tbody th {
	border: 0; border-top: 1px solid var(--acc-line);
	padding: 16px; vertical-align: middle; font-size: 15px; text-align: start;
}
.woocommerce-MyAccount-content table.shop_table tbody tr:first-child td,
.woocommerce-MyAccount-content table.shop_table tbody tr:first-child th { border-top: 0; }
.woocommerce-MyAccount-content table.shop_table tbody tr:hover td { background: #fafafa; }
.woocommerce-MyAccount-content table.shop_table tfoot th,
.woocommerce-MyAccount-content table.shop_table tfoot td {
	border: 0; border-top: 1px solid var(--acc-line); padding: 13px 16px; font-size: 15px;
}
.woocommerce-MyAccount-content table.shop_table tfoot tr:last-child th,
.woocommerce-MyAccount-content table.shop_table tfoot tr:last-child td { font-size: 17px; font-weight: 800; }

.abn-order-no { display: block; font-weight: 800; font-size: 16px; text-decoration: none !important; }
.abn-order-items { display: block; font-size: 13px; color: var(--muted); }
.abn-order-total { font-weight: 700; }
.woocommerce-orders-table__cell-order-date { color: var(--muted); white-space: nowrap; }
.woocommerce-orders-table__cell-order-actions { text-align: end; }
.woocommerce-MyAccount-content table.shop_table .button {
	min-height: 40px; padding: 9px 18px; font-size: 13px;
	border-radius: var(--acc-radius);
	background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink);
}
.woocommerce-MyAccount-content table.shop_table .button:hover { background: var(--ink); color: var(--white); }
.woocommerce-MyAccount-content table.shop_table .button + .button { margin-inline-start: 8px; }

.woocommerce-MyAccount-content .woocommerce-pagination { margin-top: 20px; }
.woocommerce-MyAccount-content .woocommerce-pagination .button { border-radius: var(--acc-radius); }

/* Order details page */
.woocommerce-MyAccount-content .woocommerce-order-details,
.woocommerce-MyAccount-content .woocommerce-customer-details { margin-bottom: 28px; }
.woocommerce-MyAccount-content .woocommerce-column__title,
.woocommerce-MyAccount-content .woocommerce-order-details__title { font-size: 18px; margin-bottom: 14px; }
.woocommerce-MyAccount-content .woocommerce-customer-details address {
	font-style: normal; border: 1px solid var(--acc-line); border-radius: var(--acc-radius);
	padding: 16px 18px; line-height: 2; color: var(--ink);
}

/* ---------- Addresses ---------- */
.woocommerce-MyAccount-content .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.woocommerce-MyAccount-content .woocommerce-Address { width: auto; float: none; border: 1px solid var(--acc-line); border-radius: var(--acc-radius); padding: 20px; }
.woocommerce-MyAccount-content .woocommerce-Address-title {
	display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap;
	margin: 0 0 14px; padding-bottom: 12px; border-bottom: 1px solid var(--acc-line);
}
.woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-MyAccount-content .woocommerce-Address-title h3 { font-size: 16px; margin: 0; }
.woocommerce-MyAccount-content .woocommerce-Address-title .edit {
	flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px;
	border-radius: var(--acc-radius); box-shadow: inset 0 0 0 1.5px var(--ink);
	font-size: 13px; font-weight: 700; text-decoration: none !important;
	transition: background .15s ease, color .15s ease;
}
.woocommerce-MyAccount-content .woocommerce-Address-title .edit:hover { background: var(--ink); color: var(--white); }
.woocommerce-MyAccount-content .woocommerce-Address address { font-style: normal; color: var(--muted); line-height: 2; margin: 0; }

/* ---------- Forms ---------- */
.woocommerce-MyAccount-content form .form-row,
.woocommerce-MyAccount-content form.woocommerce-form > p,
.woocommerce-MyAccount-content form.edit-account > p { margin: 0 0 18px; padding: 0; }
.woocommerce-MyAccount-content form label,
.woocommerce-MyAccount-content form .form-row label {
	display: block; margin-bottom: 6px;
	font-size: 14px; font-weight: 600; color: var(--ink);
}
.woocommerce-MyAccount-content form label br { display: none; }
.woocommerce-MyAccount-content form label > input,
.woocommerce-MyAccount-content form label > select,
.woocommerce-MyAccount-content form label > textarea { display: block; width: 100%; margin-top: 6px; font-weight: 400; }
.woocommerce-MyAccount-content form textarea { min-height: 110px; }
.woocommerce-MyAccount-content form .required { color: var(--red); border: 0; text-decoration: none; }
.woocommerce-MyAccount-content form input[type=text],
.woocommerce-MyAccount-content form input[type=email],
.woocommerce-MyAccount-content form input[type=tel],
.woocommerce-MyAccount-content form input[type=password],
.woocommerce-MyAccount-content form input[type=number],
.woocommerce-MyAccount-content form textarea,
.woocommerce-MyAccount-content form select,
.woocommerce-MyAccount-content form .select2-container .select2-selection--single {
	width: 100%; max-width: 100%; min-height: 48px;
	border: 1px solid var(--acc-field); border-radius: var(--acc-radius);
	background-color: var(--white); padding: 11px 14px; font-size: 15px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.woocommerce-MyAccount-content form select {
	appearance: none; -webkit-appearance: none; cursor: pointer; padding-inline-end: 40px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: left 14px center; background-size: 14px;
}
.woocommerce-MyAccount-content form input:focus,
.woocommerce-MyAccount-content form textarea:focus,
.woocommerce-MyAccount-content form select:focus {
	outline: 0; border-color: var(--ink); box-shadow: 0 0 0 3px rgba(26, 26, 26, .08);
}
.woocommerce-MyAccount-content form fieldset {
	border: 1px solid var(--acc-line); border-radius: var(--acc-radius);
	padding: 20px 20px 4px; margin: 4px 0 22px;
}
.woocommerce-MyAccount-content form legend { padding: 0 8px; font-size: 15px; font-weight: 800; }
.woocommerce-MyAccount-content form span.description,
.woocommerce-MyAccount-content form em { display: block; margin-top: 6px; font-size: 13px; font-style: normal; color: var(--muted); line-height: 1.6; }
.woocommerce-MyAccount-content form .woocommerce-Button,
.woocommerce-MyAccount-content form button[type=submit],
.woocommerce-MyAccount-content form input[type=submit] { border-radius: var(--acc-radius); min-width: 180px; }
.woocommerce-MyAccount-content form .woocommerce-form-row--first,
.woocommerce-MyAccount-content form .form-row-first { width: 48.5%; margin-inline-end: 3%; }
.woocommerce-MyAccount-content form .woocommerce-form-row--last,
.woocommerce-MyAccount-content form .form-row-last { width: 48.5%; }
.woocommerce-MyAccount-content .woocommerce-password-strength { border-radius: var(--acc-radius); margin-top: 8px; font-size: 13px; }
.woocommerce-MyAccount-content .woocommerce-password-hint { display: block; margin-top: 6px; font-size: 13px; color: var(--muted); }

/* Notices inside the account area */
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-error {
	border-radius: var(--acc-radius); margin: 0 0 20px; padding: 16px 18px;
	display: block; line-height: 1.8;
}
.woocommerce-MyAccount-content .woocommerce-message::before,
.woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-MyAccount-content .woocommerce-error::before {
	position: static; display: inline-block; margin: 0 0 0 0; margin-inline-end: 8px; vertical-align: -2px;
}
.woocommerce-MyAccount-content .woocommerce-message .button,
.woocommerce-MyAccount-content .woocommerce-info .button { float: none; display: inline-flex; margin: 12px 0 0; min-height: 40px; padding: 9px 18px; font-size: 13px; border-radius: var(--acc-radius); }

/* ---------- Login / register ---------- */
.woocommerce-account:not(.logged-in) .abn-content > .woocommerce { max-width: 980px; margin-inline: auto; }
.woocommerce-account:not(.logged-in) .u-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.woocommerce-account:not(.logged-in) .u-column1,
.woocommerce-account:not(.logged-in) .u-column2 { width: auto; float: none; }
.woocommerce-account:not(.logged-in) .u-columns h2 { font-size: 20px; margin: 0 0 16px; }
.woocommerce-account .abn-content form.login,
.woocommerce-account .abn-content form.register {
	border: 1px solid var(--acc-line); border-radius: var(--acc-radius);
	padding: 26px; margin: 0; background: var(--white);
}
.woocommerce-account .abn-content form.login label,
.woocommerce-account .abn-content form.register label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.woocommerce-account .abn-content form.login input.input-text,
.woocommerce-account .abn-content form.register input.input-text {
	width: 100%; min-height: 48px; border: 1px solid var(--acc-field);
	border-radius: var(--acc-radius); padding: 11px 14px; font-size: 15px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.woocommerce-account .abn-content form.login input.input-text:focus,
.woocommerce-account .abn-content form.register input.input-text:focus { outline: 0; border-color: var(--ink); box-shadow: 0 0 0 3px rgba(26, 26, 26, .08); }
.woocommerce-account .abn-content form.login .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; }
.woocommerce-account .abn-content form.login .woocommerce-form-login__rememberme input { margin: 0; }
.woocommerce-account .abn-content form.login button.button,
.woocommerce-account .abn-content form.register button.button { width: 100%; border-radius: var(--acc-radius); }
.woocommerce-account .abn-content form.login .woocommerce-LostPassword { margin: 14px 0 0; font-size: 14px; }
.woocommerce-account .abn-content form.login .woocommerce-LostPassword a { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Reseller / plugin panels inside the account ---------- */
.woocommerce-MyAccount-content .abn-panel,
.woocommerce-MyAccount-content .abn-card {
	border: 1px solid var(--acc-line); border-radius: var(--acc-radius); padding: 20px; margin-bottom: 18px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.woocommerce-account.logged-in .abn-content > .woocommerce { grid-template-columns: 1fr; gap: 18px; }
	.woocommerce-MyAccount-navigation { position: static; }
	.woocommerce-MyAccount-navigation ul {
		display: flex; gap: 8px; overflow-x: auto; padding: 10px;
		scrollbar-width: none; -ms-overflow-style: none;
	}
	.woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	.woocommerce-MyAccount-navigation li a { white-space: nowrap; background: var(--soft); padding: 10px 14px; font-size: 14px; }
	.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
	.abn-dash__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.woocommerce-MyAccount-content { padding: 18px 16px; }
	.abn-dash__hero { padding: 18px; }
	.abn-dash__hi { font-size: 18px; }
	.abn-dash__logout { width: 100%; }
	.abn-dash__grid { grid-template-columns: 1fr; }
	.abn-dash__last { font-size: 13px; gap: 10px; }
	.abn-dash__last-total { margin-inline-start: 0; }
	.woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns: 1fr; }
	.woocommerce-account:not(.logged-in) .u-columns { grid-template-columns: 1fr; }
	.woocommerce-MyAccount-content form .woocommerce-form-row--first,
	.woocommerce-MyAccount-content form .form-row-first,
	.woocommerce-MyAccount-content form .woocommerce-form-row--last,
	.woocommerce-MyAccount-content form .form-row-last { width: 100%; margin-inline-end: 0; }
	.woocommerce-MyAccount-content form .woocommerce-Button,
	.woocommerce-MyAccount-content form button[type=submit],
	.woocommerce-MyAccount-content form input[type=submit] { width: 100%; }

	/* Tables become cards */
	.woocommerce-MyAccount-content table.shop_table.woocommerce-orders-table,
	.woocommerce-MyAccount-content table.shop_table.woocommerce-MyAccount-downloads,
	.woocommerce-MyAccount-content table.shop_table.woocommerce-orders-table tbody,
	.woocommerce-MyAccount-content table.shop_table.woocommerce-MyAccount-downloads tbody { display: block; border: 0; overflow: visible; }
	.woocommerce-MyAccount-content table.shop_table.woocommerce-orders-table thead,
	.woocommerce-MyAccount-content table.shop_table.woocommerce-MyAccount-downloads thead { display: none; }
	.woocommerce-MyAccount-content table.shop_table.woocommerce-orders-table tr,
	.woocommerce-MyAccount-content table.shop_table.woocommerce-MyAccount-downloads tr {
		display: block; border: 1px solid var(--acc-line); border-radius: var(--acc-radius);
		padding: 4px 16px; margin-bottom: 12px;
	}
	.woocommerce-MyAccount-content table.shop_table.woocommerce-orders-table td,
	.woocommerce-MyAccount-content table.shop_table.woocommerce-MyAccount-downloads td {
		display: flex; align-items: center; justify-content: space-between; gap: 12px;
		border: 0; border-bottom: 1px solid var(--acc-line); padding: 11px 0; text-align: start;
	}
	.woocommerce-MyAccount-content table.shop_table.woocommerce-orders-table td::before,
	.woocommerce-MyAccount-content table.shop_table.woocommerce-MyAccount-downloads td::before {
		content: attr(data-title); flex: 0 0 auto;
		font-family: var(--font-label); font-size: 12px; font-weight: 700;
		text-transform: uppercase; letter-spacing: .04em; color: var(--muted);
	}
	.woocommerce-MyAccount-content table.shop_table.woocommerce-orders-table td:last-child,
	.woocommerce-MyAccount-content table.shop_table.woocommerce-MyAccount-downloads td:last-child { border-bottom: 0; display: block; }
	.woocommerce-MyAccount-content table.shop_table.woocommerce-orders-table td:last-child::before,
	.woocommerce-MyAccount-content table.shop_table.woocommerce-MyAccount-downloads td:last-child::before { display: none; }
	.woocommerce-MyAccount-content table.shop_table.woocommerce-orders-table td:last-child .button,
	.woocommerce-MyAccount-content table.shop_table.woocommerce-MyAccount-downloads td:last-child .button { width: 100%; margin: 4px 0; }
	.abn-order-no, .abn-order-items { display: inline; }
	.woocommerce-MyAccount-content table.shop_table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-number { flex-wrap: wrap; }
}

/* Login page with registration switched off: one centred card. */
.woocommerce-account:not(.logged-in) .abn-page-title { text-align: center; }
.woocommerce-account:not(.logged-in) .abn-content > .woocommerce > h2 { text-align: center; font-size: 20px; }
.woocommerce-account:not(.logged-in) .abn-content > .woocommerce > form.login { max-width: 520px; margin-inline: auto; }
.woocommerce-account .abn-content form.login .form-row { display: block; }
.woocommerce-account .abn-content form.login .woocommerce-form-login__submit { width: 100%; margin: 0 0 12px; }
.woocommerce-account .abn-content form.login .woocommerce-form-login__rememberme { margin: 0 0 4px; }

/* Order status inside sentences (WooCommerce prints a <mark>). */
.woocommerce-MyAccount-content mark,
.woocommerce-MyAccount-content .woocommerce-order-overview mark { background: transparent; color: var(--ink); font-weight: 700; padding: 0; }

/* Show/hide password toggle */
.woocommerce-account .abn-content .password-input { display: block; position: relative; margin-top: 6px; }
.woocommerce-account .abn-content .password-input input { display: block; width: 100%; margin-top: 0; padding-inline-end: 44px; }
.woocommerce-account .abn-content .show-password-input {
	position: absolute; inset-inline-end: 12px; top: 50%; transform: translateY(-50%);
	width: 24px; height: 24px; cursor: pointer; opacity: .5; border: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.8'%3E%3Cpath d='M2 12s3.6-6.5 10-6.5S22 12 22 12s-3.6 6.5-10 6.5S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='2.8'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
}
.woocommerce-account .abn-content .show-password-input:hover,
.woocommerce-account .abn-content .show-password-input.display-password { opacity: 1; }

/* =====================================================================
   v2.6 — Header icon panels (account + mini cart)
   ===================================================================== */

.abn-hdrmenu { position: relative; display: inline-flex; }
.abn-hdrpanel {
	position: absolute; top: calc(100% + 12px); inset-inline-end: 0; z-index: 120;
	width: 320px; max-width: calc(100vw - 24px);
	background: var(--white); color: var(--ink);
	border: 1px solid var(--acc-line); border-radius: var(--acc-radius);
	box-shadow: 0 16px 40px rgba(0, 0, 0, .14);
	text-align: start; font-size: 15px; line-height: 1.7;
	opacity: 0; transform: translateY(-6px); transition: opacity .16s ease, transform .16s ease;
}
.abn-hdrmenu.is-open .abn-hdrpanel { opacity: 1; transform: translateY(0); }
.abn-hdrpanel--cart { width: 360px; }
.abn-hdrpanel__title {
	margin: 0; padding: 14px 18px; border-bottom: 1px solid var(--acc-line);
	font-family: var(--font-label); font-size: 14px; font-weight: 700;
	text-transform: uppercase; letter-spacing: .04em;
}

/* --- account panel --- */
.abn-hdracc__user { display: flex; align-items: center; gap: 12px; padding: 16px 18px; background: var(--soft); border-bottom: 1px solid var(--acc-line); }
.abn-hdracc__avatar { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--black); color: var(--white); font-weight: 800; }
.abn-hdracc__meta { display: grid; gap: 2px; min-width: 0; }
.abn-hdracc__name { font-size: 15px; font-weight: 700; line-height: 1.3; }
.abn-hdracc__mail { font-size: 12px; color: var(--muted); direction: ltr; text-align: start; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.abn-hdracc__list { list-style: none; margin: 0; padding: 8px; display: grid; gap: 2px; }
.abn-hdracc__list a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--acc-radius); font-size: 15px; font-weight: 500; color: var(--ink); transition: background .15s ease; }
.abn-hdracc__list a svg { flex: 0 0 20px; color: var(--faint); }
.abn-hdracc__list a:hover { background: var(--soft); }
.abn-hdracc__list a:hover svg { color: var(--ink); }
.abn-hdracc__list li.is-logout { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--acc-line); }
.abn-hdracc__list li.is-logout a:hover, .abn-hdracc__list li.is-logout a:hover svg { color: var(--red); }

/* --- guest panel --- */
.abn-hdracc--guest { padding: 18px; }
.abn-hdracc__title { margin: 0 0 14px; font-size: 17px; font-weight: 800; }
.abn-hdrlogin p { margin: 0 0 12px; }
.abn-hdrlogin label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; }
.abn-hdrlogin input[type=text], .abn-hdrlogin input[type=password] {
	width: 100%; min-height: 44px; border: 1px solid var(--acc-field); border-radius: var(--acc-radius);
	padding: 10px 12px; font-size: 15px; background: var(--white);
}
.abn-hdrlogin input[type=text]:focus, .abn-hdrlogin input[type=password]:focus { outline: 0; border-color: var(--ink); box-shadow: 0 0 0 3px rgba(26, 26, 26, .08); }
.abn-hdrlogin__remember { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 13px; font-weight: 500; }
.abn-hdrlogin__remember input { margin: 0; }
.abn-hdrlogin .abn-btn { width: 100%; border-radius: var(--acc-radius); min-height: 46px; }
.abn-hdrlogin__lost, .abn-hdrlogin__register { display: block; margin-top: 12px; font-size: 13px; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }
.abn-hdrlogin__register { color: var(--ink); font-weight: 700; text-decoration: none; }

/* --- mini cart --- */
.abn-minicart__content { padding: 14px 18px 18px; }
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart { list-style: none; margin: 0 0 14px; padding: 0; max-height: 330px; overflow-y: auto; }
.abn-hdrpanel--cart .widget_shopping_cart_content li.woocommerce-mini-cart-item {
	position: relative; display: block; margin: 0;
	padding: 14px 0 14px; padding-inline-end: 36px;
	border-bottom: 1px solid var(--acc-line);
}
.abn-hdrpanel--cart .widget_shopping_cart_content li.woocommerce-mini-cart-item:first-child { padding-top: 2px; }
.abn-hdrpanel--cart .widget_shopping_cart_content li.woocommerce-mini-cart-item:last-child { border-bottom: 0; padding-bottom: 2px; }
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart-item > a:not(.remove) {
	display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 12px; align-items: center;
	font-size: 14px; font-weight: 600; line-height: 1.55; color: var(--ink);
	overflow-wrap: anywhere; word-break: break-word; unicode-bidi: isolate;
}
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart-item > a:not(.remove) img {
	width: 56px; height: 56px; margin: 0; float: none; object-fit: contain;
	border: 1px solid var(--acc-line); border-radius: var(--acc-radius);
	background: var(--white); mix-blend-mode: multiply;
}
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart-item .variation {
	display: flex; flex-wrap: wrap; gap: 2px 6px; margin: 8px 0 0; padding: 0; border: 0;
	margin-inline-start: 68px; max-height: none; overflow: visible;
	font-size: 12px; line-height: 1.6; color: var(--muted);
}
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart-item .variation dt,
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart-item .variation dd { margin: 0; padding: 0; float: none; font-weight: 500; }
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart-item .variation dd p { margin: 0; }
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart-item .quantity {
	display: block; margin: 6px 0 0; margin-inline-start: 68px;
	font-size: 13px; font-weight: 700; color: var(--ink);
}
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart-item .quantity .woocommerce-Price-amount { color: var(--ink); }
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart-item a.remove {
	position: absolute; top: 16px; inset-inline-end: 0; width: 22px; height: 22px;
	display: grid; place-items: center; border-radius: 50%; background: var(--soft);
	color: var(--muted) !important; font-size: 14px; line-height: 1; text-decoration: none; float: none;
}
.abn-hdrpanel--cart .widget_shopping_cart_content li.woocommerce-mini-cart-item:first-child a.remove { top: 4px; }
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart-item a.remove:hover { background: var(--red); color: var(--white) !important; }
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart__total {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	margin: 0 0 14px; padding-top: 14px; border-top: 1px solid var(--acc-line); font-size: 17px; font-weight: 800;
}
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart__total strong { font-weight: 600; color: var(--muted); font-size: 14px; }
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button {
	width: 100%; min-height: 44px; padding: 10px 12px; font-size: 13px; border-radius: var(--acc-radius);
	background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink);
}
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button:hover { background: var(--ink); color: var(--white); }
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button.checkout { background: var(--black); color: var(--white); box-shadow: none; }
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button.checkout:hover { background: var(--red); }
.abn-hdrpanel--cart .widget_shopping_cart_content .woocommerce-mini-cart__empty-message { margin: 0; color: var(--muted); text-align: center; padding: 10px 0 4px; }

/* Header cart icon: its own class, so the cart-page grid rules never touch it. */
.abn-header__end .abn-cartbtn { display: grid; place-items: center; align-items: center; grid-template-columns: none; gap: 0; }
.abn-header__end .abn-cartbtn .abn-cart__icon { display: block; position: relative; line-height: 0; }

/* --- drawer account links (mobile) --- */
.abn-drawer__account { display: grid; gap: 4px; padding: 16px; border-top: 1px solid var(--acc-line); margin-top: 8px; }
.abn-drawer__account a { display: flex; align-items: center; gap: 10px; padding: 12px 10px; border-radius: var(--acc-radius); font-size: 16px; font-weight: 600; }
.abn-drawer__account a:hover { background: var(--soft); }
.abn-drawer__account svg { width: 22px; height: 22px; }

@media (max-width: 640px) {
	.abn-hdrpanel { inset-inline-end: -8px; width: min(340px, calc(100vw - 24px)); }
	.abn-hdrpanel--cart { width: min(340px, calc(100vw - 24px)); }
}
