/* ==========================================================================
   Abasin Store 1.1 — Sialkot leather, cash on delivery
   Dark espresso + parchment + cognac. Fraunces for display, Public Sans for text.
   ========================================================================== */
:root {
	--as-paper: #faf8f4;
	--as-stone: #efebe5;
	--as-parchment: #efe4d0;
	--as-espresso: #14110f;
	--as-ink: #1d1916;
	--as-muted: #6c6158;
	--as-line: #e3dcd1;
	--as-line-2: #c9bfb1;
	--as-cognac: #8f4a1f;
	--as-cognac-2: #b06a35;
	--as-cream-ink: #f3ece1;
	--as-focus: #2f6fd6;
	--as-error: #a52a1f;
	--as-ok: #2d6a46;
	--as-serif: "Fraunces Display", Georgia, "Times New Roman", serif;
	--as-serif-text: "Fraunces Text", Georgia, serif;
	--as-sans: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--as-max: 1320px;
	--as-g: clamp(16px, 4vw, 48px);
	--as-px: max(var(--as-g), calc((100% - var(--as-max)) / 2));
	--as-y: clamp(3.5rem, 8vw, 7rem);
	--as-top-h: 104px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--as-paper); color: var(--as-ink); font-family: var(--as-sans); font-size: 1rem; line-height: 1.6; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--as-cognac); text-underline-offset: .22em; text-decoration-thickness: 1px; }
a:hover { color: var(--as-ink); }
:focus-visible { outline: 2px solid var(--as-focus); outline-offset: 3px; }
h1, h2, h3, h4 { font-family: var(--as-serif); font-weight: 600; line-height: 1.05; letter-spacing: -0.015em; margin: 0 0 .5em; color: var(--as-ink); text-wrap: balance; }
h1 { font-size: clamp(2.6rem, 1.6rem + 4.6vw, 5.6rem); }
h2 { font-size: clamp(1.9rem, 1.4rem + 2vw, 3rem); }
h3 { font-size: 1.3rem; }
p { margin: 0 0 1em; }
strong { font-weight: 600; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.as-skip { position: absolute; left: 12px; top: -60px; z-index: 999; background: var(--as-espresso); color: #fff; padding: .7rem 1rem; }
.as-skip:focus { top: 12px; color: #fff; }
.as-main:focus { outline: none; }

/* ---------- Buttons ---------- */
.as-btn, .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	min-height: 52px; padding: .85rem 1.9rem; border-radius: 0;
	font-family: var(--as-sans); font-weight: 600; font-size: .86rem; letter-spacing: .12em; text-transform: uppercase; line-height: 1.1; text-decoration: none;
	background: var(--as-espresso); color: #fff; border: 1.5px solid var(--as-espresso); cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.as-btn:hover, .wp-block-button__link:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--as-cognac); border-color: var(--as-cognac); color: #fff; }
.is-style-outline > .wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--as-ink); border-color: var(--as-ink); }
.is-style-outline > .wp-block-button__link:hover { background: var(--as-ink); color: #fff; }
.woocommerce button.button:disabled, .woocommerce button.button.disabled, .woocommerce button.button:disabled[disabled] { background: var(--as-line-2); border-color: var(--as-line-2); color: #fff; opacity: 1; padding: .85rem 1.9rem; }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }

/* ---------- Announcement + header ---------- */
.as-top { position: sticky; top: 0; z-index: 100; }
.admin-bar .as-top { top: 32px; }
@media (max-width: 782px) { .admin-bar .as-top { top: 46px; } }
@media (max-width: 600px) { .admin-bar .as-top { top: 0; } }
.as-announce { background: var(--as-espresso); color: var(--as-cream-ink); display: flex; align-items: center; justify-content: center; gap: 1rem; min-height: 36px; padding: 0 var(--as-g); }
.as-announce__list { list-style: none; margin: 0; padding: 0; text-align: center; font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; min-width: 0; flex: 0 1 34rem; }
.as-announce__list li { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.as-announce__btn { background: none; border: 0; color: var(--as-cream-ink); font-size: 1.3rem; line-height: 1; width: 32px; height: 32px; cursor: pointer; opacity: .75; }
.as-announce__btn:hover { opacity: 1; }
.as-header { background: var(--as-parchment); border-bottom: 1px solid rgba(20,17,15,.08); transition: background-color .25s ease, color .25s ease; }
.as-header__inner { max-width: calc(var(--as-max) + 2 * var(--as-g)); margin: 0 auto; padding: 0 var(--as-g); min-height: 76px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; }
.as-nav { justify-self: start; }
.as-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.6rem; }
.as-menu a { color: var(--as-ink); text-decoration: none; font-weight: 600; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; padding: .5rem 0; border-bottom: 1.5px solid transparent; }
.as-menu a:hover, .as-menu .current-menu-item > a { border-bottom-color: currentColor; color: var(--as-ink); }
.as-brand { justify-self: center; text-align: center; }
.as-brand .custom-logo { max-height: 56px; width: auto; }
.as-wordmark { display: inline-flex; flex-direction: column; align-items: center; text-decoration: none; color: var(--as-ink); line-height: 1; }
.as-wordmark__name { font-family: var(--as-serif); font-weight: 600; font-size: 1.9rem; letter-spacing: .14em; text-transform: uppercase; padding-left: .14em; }
.as-wordmark__sub { font-size: .62rem; letter-spacing: .32em; text-transform: uppercase; margin-top: .35rem; padding-left: .32em; opacity: .75; }
.as-wordmark:hover { color: var(--as-cognac); }
.as-icons { justify-self: end; display: flex; gap: .4rem; }
.as-icon { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; color: var(--as-ink); text-decoration: none; }
.as-icon:hover { color: var(--as-cognac); }
.as-cart__count { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--as-cognac); color: #fff; font-size: .68rem; font-weight: 600; display: grid; place-items: center; }
.as-cart__count[data-count="0"] { display: none; }
.as-navtoggle { display: none; }

/* Home: header floats over the hero until the page scrolls. */
.as-overlay-header .as-top { position: fixed; left: 0; right: 0; }
.as-overlay-header .as-header { background: transparent; border-bottom-color: transparent; }
.as-overlay-header .as-header, .as-overlay-header .as-header a, .as-overlay-header .as-icon, .as-overlay-header .as-navtoggle { color: #fff; }
.as-overlay-header.as-scrolled .as-header { background: var(--as-parchment); border-bottom-color: rgba(20,17,15,.08); }
.as-overlay-header.as-scrolled .as-header a, .as-overlay-header.as-scrolled .as-icon, .as-overlay-header.as-scrolled .as-navtoggle { color: var(--as-ink); }

@media (max-width: 960px) {
	.as-header__inner { grid-template-columns: 44px 1fr auto; min-height: 64px; }
	.as-navtoggle { display: inline-grid; place-items: center; width: 44px; height: 44px; background: none; border: 0; color: var(--as-ink); cursor: pointer; padding: 0; position: relative; z-index: 3; }
	.as-navtoggle__bars, .as-navtoggle__bars::before, .as-navtoggle__bars::after { display: block; width: 20px; height: 1.5px; background: currentColor; position: relative; transition: transform .2s ease; }
	.as-navtoggle__bars::before, .as-navtoggle__bars::after { content: ""; position: absolute; left: 0; }
	.as-navtoggle__bars::before { top: -6px; } .as-navtoggle__bars::after { top: 6px; }
	.as-navtoggle[aria-expanded="true"] .as-navtoggle__bars { background: transparent; }
	.as-navtoggle[aria-expanded="true"] .as-navtoggle__bars::before { transform: translateY(6px) rotate(45deg); }
	.as-navtoggle[aria-expanded="true"] .as-navtoggle__bars::after { transform: translateY(-6px) rotate(-45deg); }
	.as-brand { justify-self: center; }
	.as-wordmark__name { font-size: 1.5rem; }
	.as-nav { display: none; position: fixed; inset: 0; z-index: 2; background: var(--as-espresso); padding: 120px var(--as-g) 2rem; }
	.js .as-nav.is-open { display: block; }
	.as-nav-open .as-navtoggle { color: #fff !important; }
	.as-menu { flex-direction: column; gap: 0; }
	.as-menu a { display: block; color: #fff !important; font-family: var(--as-serif); text-transform: none; letter-spacing: 0; font-weight: 600; font-size: 2rem; padding: .6rem 0; border-bottom: 1px solid rgba(255,255,255,.12); }
	.as-icon--wa { display: none; }
}

/* ---------- Page scaffolding ---------- */
.as-content > .wp-block-group, .as-content > .wp-block-media-text { margin: 0; }
.as-content > .ah-section { padding: var(--as-y) var(--as-px); }
.as-content > .ah-section > :last-child { margin-bottom: 0; }
.as-page { padding: 0 0 var(--as-y); }
.as-pagehead { max-width: calc(var(--as-max) + 2 * var(--as-g)); margin: 0 auto; padding: clamp(2.5rem, 6vw, 4.5rem) var(--as-g) 2rem; text-align: center; }
.as-pagehead__title { margin-bottom: .3em; }
.as-pagehead__lede { color: var(--as-muted); font-size: 1.12rem; max-width: 56ch; margin: 0 auto; }
.as-page__body { max-width: calc(760px + 2 * var(--as-g)); margin: 0 auto; padding: 0 var(--as-g); }
.as-page--wc .as-pagehead { text-align: left; }
.as-page--wc .as-page__body { max-width: calc(var(--as-max) + 2 * var(--as-g)); }
.as-page__body h2 { font-size: 1.6rem; margin-top: 2.2rem; }
.abasin-note { background: #fbf1dc; color: #6e4a00; border-left: 4px solid var(--as-cognac); padding: .75rem 1rem; font-size: .92rem; }
.abasin-note::before { content: "Only you can see this: "; font-weight: 600; }
.abasin-admin-hint { background: #fbf1dc; color: #6e4a00; padding: .6rem .8rem; font-size: .9rem; }
.ah-kicker { font-family: var(--as-sans); font-size: .78rem !important; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--as-cognac); margin-bottom: 1.1rem; }
.ah-h { font-size: clamp(1.9rem, 1.4rem + 2vw, 3rem); }
.ah-section .ah-h { text-align: center; margin-bottom: clamp(1.75rem, 4vw, 3rem); }
.ah-section .wp-block-group__inner-container > :last-child { margin-bottom: 0; }

/* ---------- Hero ---------- */
.as-content > .ah-hero { padding: calc(var(--as-top-h) + 2rem) var(--as-px) clamp(3rem, 8vw, 6rem); align-items: flex-end; }
.ah-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(14,10,8,.88) 0%, rgba(14,10,8,.55) 45%, rgba(14,10,8,.15) 100%) !important; opacity: 1 !important; }
.ah-hero .wp-block-cover__inner-container { max-width: 760px; margin: 0 !important; width: 100%; }
.ah-hero .ah-kicker { color: var(--as-cognac-2); }
.ah-hero__title { color: #fff; font-family: var(--as-sans); font-weight: 600; text-transform: uppercase; font-size: clamp(2.4rem, 1.4rem + 3.6vw, 4.6rem); line-height: 1.08; letter-spacing: .05em; margin-bottom: .55em; }
.ah-hero__lede { color: rgba(255,255,255,.86); font-size: clamp(1.05rem, 1rem + .4vw, 1.25rem); max-width: 44ch; }
.ah-hero .wp-block-button__link { background: #fff; color: var(--as-ink); border-color: #fff; }
.ah-hero .wp-block-button__link:hover { background: var(--as-parchment); border-color: var(--as-parchment); color: var(--as-ink); }
.ah-hero .is-style-outline .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255,255,255,.75); }
.ah-hero .is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.12); border-color: #fff; color: #fff; }
@media (max-width: 600px) {
	/* Phone: let the photo breathe at the top, keep the words short and low. */
	.as-content > .ah-hero { min-height: 86svh !important; padding: calc(var(--as-top-h) + 1rem) 1.25rem 1.75rem; }
	.ah-hero .wp-block-cover__image-background { object-position: 62% 30% !important; }
	.ah-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(14,10,8,.35) 0%, rgba(14,10,8,0) 22%, rgba(14,10,8,.15) 45%, rgba(14,10,8,.9) 78%) !important; }
	.ah-hero .ah-kicker { font-size: .68rem; letter-spacing: .22em; margin-bottom: .6rem; }
	.ah-hero__title { font-size: clamp(1.75rem, 8.4vw, 2.3rem); line-height: 1.12; letter-spacing: .05em; margin-bottom: 1.2rem; }
	.ah-hero__lede { display: none; }
	.ah-hero .wp-block-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-top: 0; }
	.ah-hero .wp-block-button { width: auto; margin: 0; }
	.ah-hero .wp-block-button__link { width: 100%; padding: .95rem .5rem; font-size: .7rem; letter-spacing: .12em; }
	.as-announce__list { font-size: .66rem; letter-spacing: .1em; }
}

/* ---------- Trust strip ---------- */
.as-content > .ah-strip { background: var(--as-parchment); padding: 1.1rem var(--as-g); }
.abasin-strip { list-style: none; margin: 0 auto; padding: 0; max-width: var(--as-max); display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 0; }
.abasin-strip li { font-size: .8rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--as-ink); padding: 0 1.6rem; position: relative; }
.abasin-strip li + li::before { content: ""; position: absolute; left: -2px; top: 50%; width: 4px; height: 4px; border-radius: 50%; background: var(--as-cognac); transform: translateY(-50%); }
@media (max-width: 700px) { .abasin-strip { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; } .abasin-strip li { padding: 0; text-align: center; font-size: .66rem; letter-spacing: .08em; } .abasin-strip li + li::before { display: none; } }

/* ---------- Category tiles ---------- */
.ah-cats__cols { gap: clamp(.75rem, 2vw, 1.5rem) !important; }
.ah-tile { margin: 0 !important; overflow: hidden; background: var(--as-stone); }
.ah-tile img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .6s ease; }
.ah-tile a:hover img { transform: scale(1.03); }
.ah-tile__label { text-align: center; margin: 1rem 0 0; }
.ah-tile__label a { font-weight: 600; font-size: .9rem; letter-spacing: .18em; text-transform: uppercase; color: var(--as-ink); text-decoration: none; border-bottom: 1.5px solid var(--as-ink); padding-bottom: .3rem; }
.ah-tile__label a:hover { color: var(--as-cognac); border-color: var(--as-cognac); }
@media (max-width: 781px) { .ah-cats__cols { flex-wrap: nowrap !important; } .ah-cats__cols > .wp-block-column { flex-basis: 50% !important; } .ah-tile__label a { font-size: .72rem; letter-spacing: .12em; } }

/* ---------- Split (craft) ---------- */
.as-content > .ah-split { background: var(--as-parchment); }
.ah-split .wp-block-media-text__content { padding: clamp(2.5rem, 7vw, 6rem) clamp(1.5rem, 6vw, 5.5rem) !important; }
.ah-split .wp-block-media-text__content p:not(.ah-kicker) { color: #4d433b; max-width: 46ch; font-size: 1.05rem; }
.ah-split .wp-block-media-text__media { min-height: 420px; }
@media (max-width: 600px) { .ah-split .wp-block-media-text__media { min-height: 300px; } }

/* ---------- Lifestyle row ---------- */
.ah-life__cols { gap: clamp(.5rem, 1.2vw, 1rem) !important; }
.ah-life__img { margin: 0 !important; overflow: hidden; }
.ah-life__img img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: transform .6s ease; }
.ah-life__img a:hover img { transform: scale(1.03); }
@media (max-width: 781px) { .ah-life__cols { flex-wrap: wrap !important; } .ah-life__cols > .wp-block-column { flex-basis: calc(50% - .5rem) !important; flex-grow: 0 !important; } }

/* ---------- COD banner ---------- */
.as-content > .ah-cod { padding: var(--as-y) var(--as-px); text-align: center; }
.ah-cod .wp-block-cover__inner-container { max-width: 1100px; }
.ah-cod .ah-h { color: #fff; }
.ah-steps { list-style: none; counter-reset: s; padding: 0; margin: 2.5rem 0 1rem; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; text-align: left; }
.ah-steps li { counter-increment: s; color: rgba(255,255,255,.82); border-top: 1px solid rgba(255,255,255,.3); padding-top: 1rem; }
.ah-steps li::before { content: counter(s, decimal-leading-zero); display: block; font-family: var(--as-serif); font-size: 2.4rem; color: var(--as-cognac-2); line-height: 1; margin-bottom: .6rem; }
.ah-steps li strong { color: #fff; }
.ah-cod .wp-block-buttons { justify-content: center; }
.ah-cod .wp-block-button__link { background: #fff; color: var(--as-ink); border-color: #fff; }
.ah-cod .wp-block-button__link:hover { background: var(--as-parchment); border-color: var(--as-parchment); color: var(--as-ink); }
@media (max-width: 860px) { .ah-steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .ah-steps { grid-template-columns: 1fr; } }

/* ---------- Products band ---------- */
.ah-products .wp-block-buttons { justify-content: center; }

/* ---------- FAQ ---------- */
.ah-faq .abasin-faq { margin: 0 auto; }
.abasin-faq { max-width: 820px; }
.abasin-faq__item { border-top: 1px solid var(--as-line-2); }
.abasin-faq__item:last-child { border-bottom: 1px solid var(--as-line-2); }
.abasin-faq__item summary { cursor: pointer; list-style: none; padding: 1.25rem 2.5rem 1.25rem 0; position: relative; font-family: var(--as-serif); font-weight: 600; font-size: 1.2rem; }
.abasin-faq__item summary::-webkit-details-marker { display: none; }
.abasin-faq__item summary::after { content: ""; position: absolute; right: .4rem; top: 50%; width: 14px; height: 14px; margin-top: -7px; background: linear-gradient(var(--as-ink), var(--as-ink)) center/14px 1.5px no-repeat, linear-gradient(var(--as-ink), var(--as-ink)) center/1.5px 14px no-repeat; transition: transform .2s ease; }
.abasin-faq__item[open] summary::after { transform: rotate(45deg); }
.abasin-faq__item p { color: var(--as-muted); margin: 0 0 1.25rem; max-width: 65ch; }

/* Facts / contact */
.abasin-facts, .abasin-contact { margin: 0 0 2rem; border-top: 1px solid var(--as-line-2); }
.abasin-facts > div, .abasin-contact > div { display: flex; justify-content: space-between; gap: 1rem; padding: .95rem 0; border-bottom: 1px solid var(--as-line); }
.abasin-facts dt, .abasin-contact dt { color: var(--as-muted); }
.abasin-facts dd, .abasin-contact dd { margin: 0; font-weight: 600; text-align: right; }
.abasin-trust { list-style: none; margin: 0 0 2rem; padding: 1.5rem; background: var(--as-parchment); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 1rem 2rem; }
.abasin-trust__item strong { display: block; }
.abasin-trust__item span { font-size: .92rem; color: var(--as-muted); }

/* ---------- Product grid ---------- */
.woocommerce ul.products, .woocommerce-page ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2.25rem) clamp(.75rem, 1.6vw, 1.5rem); margin: 0 0 2.5rem; padding: 0; }
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { width: auto !important; margin: 0 !important; float: none; padding: 0; text-align: center; position: relative; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: block; text-decoration: none; color: var(--as-ink); }
.woocommerce ul.products li.product a img { margin: 0 0 1rem; aspect-ratio: 1; object-fit: cover; background: var(--as-stone); border-radius: 0; transition: opacity .2s ease; }
.woocommerce ul.products li.product a:hover img { opacity: .92; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--as-serif-text); font-weight: 400; font-size: clamp(1rem, .95rem + .3vw, 1.15rem); line-height: 1.25; padding: 0 .5rem; margin: 0 0 .3rem; color: var(--as-ink); }
.woocommerce ul.products li.product .price { color: var(--as-ink); font-weight: 600; font-size: .98rem; display: flex; justify-content: center; gap: .5rem; margin: 0 0 .6rem; }
.woocommerce ul.products li.product .price del { color: var(--as-muted); font-weight: 400; opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.as-swatches { display: flex; justify-content: center; gap: .45rem; }
.as-swatch { width: 16px; height: 16px; border-radius: 50%; background: var(--sw); box-shadow: 0 0 0 1px var(--as-paper), 0 0 0 2px var(--as-line-2); }
.woocommerce ul.products li.product .onsale, .woocommerce span.onsale { top: .75rem; left: .75rem; right: auto; margin: 0; min-width: 0; min-height: 0; line-height: 1; padding: .45rem .65rem; border-radius: 0; background: var(--as-espresso); color: #fff; font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
@media (max-width: 1000px) { .woocommerce ul.products, .woocommerce-page ul.products, .woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .woocommerce ul.products, .woocommerce-page ul.products, .woocommerce ul.products.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Shop / category archive ---------- */
.as-wc { max-width: calc(var(--as-max) + 2 * var(--as-g)); margin: 0 auto; padding: 1.5rem var(--as-g) var(--as-y); }
.as-cat-hero { position: relative; min-height: 340px; display: grid; align-items: end; color: #fff; margin: 0 0 2rem; overflow: hidden; background: var(--as-espresso); }
.as-cat-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .62; }
.as-cat-hero__text { position: relative; padding: clamp(1.5rem, 4vw, 3rem); max-width: 640px; }
.as-cat-hero h1 { color: #fff; margin: 0 0 .3em; font-size: clamp(2.4rem, 1.6rem + 3.4vw, 4.4rem); }
.as-cat-hero p { color: rgba(255,255,255,.88); margin: 0; font-size: 1.08rem; }
.woocommerce .woocommerce-breadcrumb { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--as-muted); margin: 0 0 1.25rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--as-muted); text-decoration: none; }
.as-wc--archive .woocommerce-products-header__title { text-align: center; }
.as-wc--archive .term-description { color: var(--as-muted); max-width: 56ch; font-size: 1.08rem; }
.woocommerce .woocommerce-result-count { color: var(--as-muted); font-size: .85rem; margin: .7rem 0 1.5rem; }
.woocommerce .woocommerce-ordering { margin: 0 0 1.5rem; }
.woocommerce .woocommerce-ordering select { min-height: 44px; border-radius: 0; border: 1px solid var(--as-line-2); padding: 0 2.2rem 0 .9rem; background-color: var(--as-paper); font: inherit; font-size: .88rem; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: .4rem; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 44px; min-height: 44px; display: grid; place-items: center; border: 1px solid var(--as-line-2); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--as-espresso); color: #fff; }

/* ---------- Single product ---------- */
.as-wc--product .product { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 4.5rem); align-items: start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images { min-width: 0; overflow: hidden; }
.as-wc--product .product > .woocommerce-tabs, .as-wc--product .product > .related, .as-wc--product .product > .upsells { grid-column: 1 / -1; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { background: var(--as-stone); }
.woocommerce div.product div.images img { aspect-ratio: 1; object-fit: cover; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; margin-top: .6rem; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; float: none; }
.woocommerce div.product div.images .flex-control-thumbs li img { opacity: .55; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active { opacity: 1; outline: 1.5px solid var(--as-ink); outline-offset: -1.5px; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { top: 1rem; right: 1rem; background: var(--as-paper); }
.as-wc--product .summary { position: sticky; top: calc(var(--as-top-h) + 1rem); }
.as-wc--product .product_title { font-size: clamp(2.1rem, 1.5rem + 2.4vw, 3.4rem); margin-bottom: .3em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--as-ink); font-family: var(--as-sans); font-weight: 600; font-size: 1.4rem; display: flex; gap: .6rem; align-items: baseline; flex-wrap: wrap; }
.woocommerce div.product p.price del { color: var(--as-muted); font-size: 1rem; font-weight: 400; opacity: 1; order: 2; }
.woocommerce div.product p.price ins { text-decoration: none; order: 1; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--as-muted); font-size: 1.05rem; border-top: 1px solid var(--as-line); padding-top: 1.1rem; margin-top: 1rem; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.5rem 0 1.25rem; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce .quantity .qty { width: 4.8rem; min-height: 52px; border-radius: 0; border: 1px solid var(--as-line-2); font: inherit; text-align: center; background: var(--as-paper); }
.woocommerce div.product form.cart .button { float: none; flex: 1 1 12rem; }
.woocommerce div.product form.cart .single_add_to_cart_button:not(.abasin-buy-now) { background: transparent; color: var(--as-ink); border-color: var(--as-ink); }
.woocommerce div.product form.cart .single_add_to_cart_button:not(.abasin-buy-now):hover { background: var(--as-ink); color: #fff; }
.woocommerce div.product form.cart .abasin-buy-now { flex: 1 1 100%; min-height: 58px; font-size: .92rem; order: 3; }
.woocommerce div.product form.variations_form .single_variation_wrap { width: 100%; }
.woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: .75rem; }
.woocommerce div.product form.cart .variations { margin: 0 0 .5rem; border: 0; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; line-height: 1.4; text-align: left; }
.woocommerce div.product form.cart .variations label { font-size: .8rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.woocommerce div.product form.cart .variations select { min-height: 48px; min-width: 14rem; border: 1px solid var(--as-line-2); border-radius: 0; padding: 0 .9rem; background-color: var(--as-paper); font: inherit; margin: .4rem 0 .4rem; }
.woocommerce div.product form.cart .reset_variations { font-size: .8rem; }
.woocommerce div.product .stock { color: var(--as-ok); font-weight: 600; font-size: .9rem; margin: 0 0 .25rem; }
.woocommerce div.product .stock.out-of-stock { color: var(--as-error); }
.abasin-product-points { list-style: none; margin: 0 0 1.25rem; padding: 1.1rem 1.2rem; background: var(--as-parchment); display: grid; gap: .5rem; font-size: .94rem; }
.abasin-product-points li { padding-left: 1.6rem; position: relative; }
.abasin-product-points li::before { content: ""; position: absolute; left: .15rem; top: .45em; width: .75rem; height: .42rem; border-left: 1.5px solid var(--as-cognac); border-bottom: 1.5px solid var(--as-cognac); transform: rotate(-45deg); }
.abasin-wa { margin: 0 0 1.25rem; }
.abasin-wa-link { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; color: #11743f; text-decoration: none; min-height: 44px; }
.abasin-wa-link::before { content: ""; width: 22px; height: 22px; border-radius: 50%; background: #25d366 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M16.6 14.2c-.3-.1-1.6-.8-1.8-.9-.2-.1-.4-.1-.6.1l-.8 1c-.1.2-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.2-.4.2-.4.7-1.3.1-.2 0-.3 0-.4l-.8-1.9c-.2-.5-.4-.4-.6-.4h-.5c-.2 0-.4.1-.7.3-.2.3-.9.9-.9 2.2s.9 2.5 1 2.7c.1.2 1.8 2.8 4.4 3.9 1.6.7 2.3.8 3.1.6.5-.1 1.5-.6 1.7-1.2.2-.6.2-1.1.2-1.2-.1-.1-.3-.2-.6-.3Z'/%3E%3C/svg%3E") center/16px no-repeat; }
.woocommerce div.product .product_meta { font-size: .82rem; color: var(--as-muted); }
.woocommerce div.product .product_meta > span { display: block; }
.woocommerce div.product .woocommerce-tabs { margin-top: 1.5rem; padding-top: 2rem; border-top: 1px solid var(--as-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 1.5rem; display: flex; justify-content: center; gap: 2rem; overflow-x: auto; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { white-space: nowrap; padding: .5rem 0; font-weight: 600; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: var(--as-muted); border-bottom: 1.5px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--as-ink); border-bottom-color: var(--as-ink); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 70ch; margin: 0 auto; color: var(--as-muted); }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce table.shop_attributes { border: 0; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border: 0; border-bottom: 1px solid var(--as-line); background: transparent !important; padding: .75rem 0; font-style: normal; }
.woocommerce table.shop_attributes td p { padding: 0; }
.as-wc--product .related > h2, .as-wc--product .upsells > h2 { text-align: center; font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.4rem); margin: 3rem 0 2rem; }
@media (max-width: 860px) { .as-wc--product .product { grid-template-columns: minmax(0, 1fr); } .as-wc--product .summary { position: static; } }

/* Sticky mobile buy bar */
.as-buybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; gap: .75rem; align-items: center; padding: .65rem var(--as-g) calc(.65rem + env(safe-area-inset-bottom)); background: var(--as-paper); border-top: 1px solid var(--as-line); box-shadow: 0 -10px 30px -18px rgba(0,0,0,.35); }
.as-buybar[hidden] { display: none; }
.as-buybar__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.as-buybar__name { font-size: .82rem; color: var(--as-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.as-buybar__price { font-weight: 600; }
.as-buybar__price del { color: var(--as-muted); font-weight: 400; font-size: .85rem; margin-left: .35rem; }
.as-buybar__price ins { text-decoration: none; }
.as-buybar .as-btn { min-height: 48px; padding: .6rem 1.4rem; }
@media (min-width: 861px) { .as-buybar { display: none !important; } }

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top: 0; border-left: 3px solid var(--as-ink); border-radius: 0; background: var(--as-parchment); color: var(--as-ink); padding: 1rem 1.25rem 1rem 3rem; margin: 0 0 1.5rem; box-shadow: none; }
.woocommerce-info { border-left-color: var(--as-cognac); }
.woocommerce-error { border-left-color: var(--as-error); }
.woocommerce-message::before { color: var(--as-ink); top: 1rem; left: 1.1rem; }
.woocommerce-info::before { color: var(--as-cognac); top: 1rem; left: 1.1rem; }
.woocommerce-error::before { color: var(--as-error); top: 1rem; left: 1.1rem; }
.woocommerce-message .button, .woocommerce-info .button { min-height: 40px; padding: .4rem 1rem; font-size: .75rem; float: right; margin-left: 1rem; }

/* ---------- Cart ---------- */
.woocommerce table.shop_table { border: 1px solid var(--as-line); border-radius: 0; background: #fff; border-collapse: collapse; }
.woocommerce table.shop_table th { font-weight: 600; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-top: 1px solid var(--as-line); padding: .95rem 1rem; }
.woocommerce table.shop_table thead th { border-top: 0; color: var(--as-muted); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.woocommerce table.cart img { width: 72px; }
.woocommerce table.cart td.actions .coupon .input-text { min-height: 44px; border: 1px solid var(--as-line-2); padding: 0 1rem; width: 11rem; }
.woocommerce a.remove { color: var(--as-error) !important; }
.woocommerce a.remove:hover { background: var(--as-error); color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals { width: 100%; max-width: 480px; float: right; }
.woocommerce .cart-collaterals .cart_totals h2 { font-size: 1.7rem; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { width: 100%; min-height: 58px; margin-bottom: 0; font-size: .9rem; }
@media (max-width: 768px) {
	.woocommerce table.shop_table_responsive tr td { border-top: 0; }
	.woocommerce .cart-collaterals .cart_totals { float: none; max-width: none; }
}

/* ---------- Checkout ---------- */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 0 clamp(1.5rem, 4vw, 3rem); align-items: start; }
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; background: #fff; border: 1px solid var(--as-line); padding: clamp(1.1rem, 3vw, 2rem); }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; }
.woocommerce-checkout #order_review_heading { margin: 0 0 .75rem; font-size: 1.7rem; }
.woocommerce-checkout #order_review { position: sticky; top: calc(var(--as-top-h) + 1rem); }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-1, .woocommerce-page .col2-set .col-2 { float: none; width: 100%; }
.woocommerce-checkout #customer_details h3 { font-size: 1.6rem; margin-bottom: 1rem; }
.woocommerce form .form-row { padding: 0; margin: 0 0 1rem; }
.woocommerce form .form-row label { font-weight: 600; font-size: .9rem; margin-bottom: .3rem; line-height: 1.3; }
.woocommerce form .form-row .required { color: var(--as-error); text-decoration: none; }
.woocommerce form .form-row .optional { color: var(--as-muted); font-weight: 400; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 52px; border-radius: 0; border: 1px solid var(--as-line-2); background: var(--as-paper); padding: .75rem .9rem; font: inherit; font-size: 1.05rem; color: var(--as-ink); width: 100%; }
.woocommerce form .form-row textarea { min-height: 90px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { outline: 2px solid var(--as-focus); outline-offset: 0; border-color: var(--as-focus); }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--as-error); box-shadow: 0 0 0 1px var(--as-error); }
.woocommerce form .form-row .description { display: block !important; position: static !important; background: none !important; color: var(--as-muted) !important; padding: .3rem 0 0 !important; font-size: .85rem; margin: 0; box-shadow: none !important; }
.woocommerce form .form-row .description::before { display: none !important; }
/* Only one country (Pakistan) is allowed, so the country row adds nothing. */
.woocommerce-checkout #billing_country_field { display: none !important; }
.woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout-review-order-table .order-total td { font-size: 1.2rem; }
.woocommerce-checkout #payment { background: #fff; border: 1px solid var(--as-line); border-radius: 0; margin-top: 1rem; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--as-line); padding: 1rem 1.25rem; }
.woocommerce-checkout #payment div.payment_box { background: var(--as-parchment); color: var(--as-ink); border-radius: 0; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--as-parchment); }
.woocommerce-checkout #payment div.form-row { padding: 1.25rem; margin: 0; }
.woocommerce-checkout #payment #place_order { width: 100%; float: none; min-height: 60px; font-size: .92rem; }
.abasin-cod-note { background: var(--as-parchment); padding: 1rem 1.15rem; margin: 1rem 0 0; }
.abasin-cod-note ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .3rem; font-size: .94rem; }
@media (max-width: 860px) {
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; }
	.woocommerce-checkout #order_review_heading { margin-top: 1.5rem; }
	.woocommerce-checkout #order_review { position: static; }
}

/* ---------- Thank you ---------- */
.woocommerce-order { max-width: 760px; }
.woocommerce-order .woocommerce-thankyou-order-received { font-family: var(--as-serif); font-weight: 600; font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.6rem); line-height: 1.15; margin-bottom: 1.25rem; }
.woocommerce ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .75rem; padding: 0; margin: 0 0 2rem; }
.woocommerce ul.order_details::before, .woocommerce ul.order_details::after { display: none; }
.woocommerce ul.order_details li { float: none; margin: 0; padding: 1rem; border: 1px solid var(--as-line); background: #fff; font-size: .8rem; color: var(--as-muted); }
.woocommerce ul.order_details li strong { color: var(--as-ink); font-size: 1rem; margin-top: .25rem; }
.abasin-thanks { background: var(--as-espresso); color: var(--as-cream-ink); padding: 1.75rem; margin: 0 0 2rem; }
.abasin-thanks h2 { color: #fff; font-size: 1.6rem; }
.abasin-thanks ol { margin: 0 0 .5rem; padding-left: 1.25rem; display: grid; gap: .4rem; }
.abasin-wa-btn { background: #25d366 !important; border-color: #25d366 !important; color: #08331b !important; }

/* ---------- Footer ---------- */
.as-footer { background: var(--as-espresso); color: #c9bfb3; }
.as-footer a { color: var(--as-cream-ink); text-decoration: none; }
.as-footer a:hover { color: #fff; text-decoration: underline; }
.as-footer__inner { max-width: calc(var(--as-max) + 2 * var(--as-g)); margin: 0 auto; padding: 4.5rem var(--as-g) 2.5rem; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 2.5rem; }
.as-footer__name { font-family: var(--as-serif); font-weight: 600; font-size: 2rem; letter-spacing: .14em; text-transform: uppercase; color: #fff; margin: 0 0 .75rem; }
.as-footer__brand p:not(.as-footer__name) { max-width: 34ch; }
.as-footer__h { font-family: var(--as-sans); font-size: .78rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #fff; margin: 0 0 1rem; }
.as-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.as-footer__bottom { max-width: calc(var(--as-max) + 2 * var(--as-g)); margin: 0 auto; padding: 1.25rem var(--as-g) 2rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .82rem; }
@media (max-width: 860px) { .as-footer__inner { grid-template-columns: 1fr 1fr; } .as-footer__brand { grid-column: 1 / -1; } }
.single-product .as-footer { padding-bottom: 72px; }
@media (min-width: 861px) { .single-product .as-footer { padding-bottom: 0; } }

/* ---------- Misc ---------- */
.as-list-item { padding: 1rem 0; border-bottom: 1px solid var(--as-line); }
.as-list-item h2 { font-size: 1.3rem; margin: 0 0 .25rem; }
.wp-block-columns { margin-bottom: 0; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }
.ah-cod .wp-block-cover__background { background: rgba(16,11,8,.8) !important; opacity: 1 !important; }
