/*
Theme Name: SSA Herbal
Theme URI: https://ssaherbal.com/
Author: SSA Herbal
Description: Wholesale theme for SSA Herbal. Herbs, spices, essential oils and herbal extracts from Akbari Mandi, Lahore and Al Ras, Dubai. Includes a searchable trade list, a quote builder that sends to WhatsApp or email, and live open/closed status for both offices. Contact details are editable in Appearance > Customize > SSA Herbal: contact details.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ssa-herbal
*/

:root {
	/* Layout: a trade-house ledger. Stencilled sack marks for labels, a working trade list at the centre, the two offices as shopfronts. */
	--paper: #F3F4EC;
	--paper-2: #E8EADD;
	--card: #FCFCF8;
	--ink: #1B2116;
	--ink-2: #4B5442;
	--rule: #CED3C1;
	--leaf: #203B26;
	--leaf-2: #2E5435;
	--leaf-3: #15271A;
	--turmeric: #E0A81E;
	--turmeric-deep: #C48F0F;
	--jute: #C6A46C;
	--jute-ink: #3B2A13;
	--wa: #1E8A4C;
	--wa-deep: #166C3A;
	--on-dark: #E6ECDD;
	--on-dark-2: #BFCAB3;

	--f-display: "Big Shoulders Display", "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
	--f-stencil: "Big Shoulders Stencil Display", "Big Shoulders Display", "Arial Narrow", sans-serif;
	--f-body: "Libre Franklin", "Segoe UI", Roboto, Arial, sans-serif;
	--f-latin: "Newsreader", Georgia, "Times New Roman", serif;
	--f-urdu: "Noto Nastaliq Urdu", "Jameel Noori Nastaleeq", "Urdu Typesetting", serif;

	--step--1: 0.8125rem;
	--step-0: 1rem;
	--step-1: 1.125rem;
	--step-2: 1.375rem;
	--step-3: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem);
	--step-4: clamp(2.5rem, 1.6rem + 3.4vw, 4.25rem);
	--step-5: clamp(3.25rem, 1.6rem + 6vw, 6.5rem);

	--wrap: 1200px;
	--radius: 3px;
	color-scheme: light;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; scroll-padding-top: 96px; }
body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--f-body);
	font-size: var(--step-0);
	line-height: 1.6;
	overflow-x: hidden;
}
img, svg { max-width: 100%; }
img { height: auto; }
a { color: var(--leaf-2); }
a:hover { color: var(--leaf); }
:focus-visible { outline: 3px solid var(--turmeric); outline-offset: 2px; }
[hidden] { display: none !important; }
h1, h2, h3 {
	margin: 0;
	font-family: var(--f-display);
	font-weight: 800;
	line-height: 0.95;
	letter-spacing: 0.005em;
	text-transform: uppercase;
	text-wrap: balance;
}
p { margin: 0; }

.wrap {
	max-width: var(--wrap);
	margin-inline: auto;
	padding-left: max(20px, env(safe-area-inset-left, 0px));
	padding-right: max(20px, env(safe-area-inset-right, 0px));
}
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 200;
	background: var(--ink);
	color: var(--paper);
	padding: 10px 16px;
}
.skip-link:focus { left: 16px; top: 16px; }

.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--f-stencil);
	font-weight: 700;
	font-size: var(--step-1);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--leaf-2);
}
.eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.ur {
	font-family: var(--f-urdu);
	direction: rtl;
	unicode-bidi: isolate;
	line-height: 2.1;
	text-transform: none;
	letter-spacing: 0;
}
.bot { font-family: var(--f-latin); font-style: italic; }

/* ---------- Buttons ---------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 12px 22px;
	border: 2px solid var(--ink);
	border-radius: var(--radius);
	background: transparent;
	color: var(--ink);
	font: 600 var(--step-0)/1.1 var(--f-body);
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.15s ease, background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.btn:hover { transform: translateY(-1px); color: var(--ink); }
.btn svg { width: 20px; height: 20px; flex: none; }
.btn-sm { min-height: 42px; padding: 8px 16px; font-size: 0.9375rem; }
.btn-primary { background: var(--turmeric); border-color: var(--turmeric); color: var(--ink); }
.btn-primary:hover { background: var(--turmeric-deep); border-color: var(--turmeric-deep); }
.btn-wa { background: var(--wa); border-color: var(--wa); color: #fff; }
.btn-wa:hover { background: var(--wa-deep); border-color: var(--wa-deep); color: #fff; }
.btn-ghost:hover { background: var(--ink); color: var(--paper); }
.text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	color: var(--leaf-2);
	text-decoration: none;
	border-bottom: 2px solid var(--turmeric);
	padding-bottom: 2px;
	align-self: start;
}
.text-link svg { width: 18px; height: 18px; }

/* ---------- Top bar ---------- */
.topbar { background: var(--leaf-3); color: var(--on-dark-2); font-size: var(--step--1); }
.topbar .wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 4px 24px;
	padding-block: 8px;
}
.clocks { display: flex; flex-wrap: wrap; gap: 4px 22px; }
.clock { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.clock b { color: #fff; font-weight: 600; font-variant-numeric: tabular-nums; }
.clock-name { color: #fff; font-weight: 600; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: #7D8873; }
.is-open .dot { background: #63D08A; }
.topbar-links { display: flex; gap: 20px; }
.topbar a { color: #fff; text-decoration: none; }
.topbar a:hover { text-decoration: underline; color: #fff; }

/* ---------- Header ---------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(243, 244, 236, 0.95);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--rule);
}
@media (min-width: 783px) { .admin-bar .site-header { top: 32px; } }
.head-row { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; }
.brand { display: flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
.brand:hover { color: var(--ink); }
.brand-mark { width: 50px; height: 50px; flex: none; }
.brand-logo { max-height: 52px; width: auto; }
.brand-name {
	display: block;
	font-family: var(--f-display);
	font-weight: 900;
	font-size: 1.75rem;
	line-height: 0.9;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}
.brand-sub {
	display: block;
	margin-top: 5px;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-2);
}
.mark-bg { fill: var(--leaf); }
.mark-text { fill: var(--paper); font-family: var(--f-stencil); font-weight: 800; }
.mark-leaf { fill: var(--turmeric); }
.nav ul { display: flex; gap: 2px; margin: 0; padding: 0; list-style: none; }
.nav a {
	display: block;
	padding: 10px 12px;
	border-radius: var(--radius);
	color: var(--ink);
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: none;
}
.nav a:hover, .nav .current-menu-item > a { background: var(--paper-2); color: var(--ink); }
.head-cta { display: flex; align-items: center; gap: 10px; }
.lbl-short { display: none; }
.quote-count {
	display: inline-grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 11px;
	background: var(--ink);
	color: var(--paper);
	font-size: 0.75rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 2px solid var(--ink);
	border-radius: var(--radius);
	background: transparent;
	color: var(--ink);
	cursor: pointer;
}
.menu-toggle svg { width: 22px; height: 22px; }

@media (max-width: 1020px) {
	.menu-toggle { display: inline-flex; }
	.nav {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		background: var(--paper);
		border-bottom: 2px solid var(--ink);
		box-shadow: 0 20px 30px -20px rgba(27, 33, 22, 0.4);
	}
	.nav.is-open { display: block; }
	.nav ul { flex-direction: column; gap: 0; padding: 6px max(20px, env(safe-area-inset-left, 0px)) 14px; }
	.nav a { padding: 14px 4px; border-bottom: 1px solid var(--rule); border-radius: 0; font-size: 1.0625rem; }
}
@media (max-width: 640px) {
	.topbar-links { display: none; }
	.lbl-long { display: none; }
	.lbl-short { display: inline; }
	.brand-sub { display: none; }
	.brand-name { font-size: 1.5rem; }
	.brand-mark { width: 42px; height: 42px; }
	.head-row { min-height: 66px; gap: 12px; }
}

/* ---------- Hero ---------- */
.hero { padding-block: clamp(36px, 6vw, 84px) clamp(48px, 6vw, 92px); }
.hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}
.hero h1 { font-size: var(--step-5); line-height: 0.88; margin-block: 18px 24px; }
.hero h1 .mark {
	background: linear-gradient(transparent 60%, var(--turmeric) 60%, var(--turmeric) 90%, transparent 90%);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	padding-inline: 0.04em;
}
.lede { max-width: 56ch; font-size: var(--step-1); color: var(--ink-2); }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 20px;
	margin: 44px 0 0;
	border-top: 2px solid var(--ink);
}
.hero-facts div { padding-top: 14px; }
.hero-facts dt {
	font-family: var(--f-display);
	font-weight: 800;
	font-size: 2rem;
	line-height: 1;
	text-transform: uppercase;
}
.hero-facts dd { margin: 6px 0 0; font-size: var(--step--1); color: var(--ink-2); }

.hero-art { position: relative; padding: 30px 40px 0 0; }
.sack {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 5;
	max-width: 100%;
	border-radius: 12px 12px 34px 34px / 12px 12px 46px 46px;
	background-color: var(--jute);
	background-image:
		repeating-linear-gradient(0deg, rgba(59, 42, 19, 0.17) 0 1px, transparent 1px 5px),
		repeating-linear-gradient(90deg, rgba(59, 42, 19, 0.14) 0 1px, transparent 1px 5px),
		repeating-linear-gradient(90deg, rgba(255, 248, 230, 0.09) 0 2px, transparent 2px 11px),
		radial-gradient(120% 80% at 28% 18%, rgba(255, 241, 212, 0.38), transparent 60%),
		radial-gradient(90% 70% at 82% 100%, rgba(59, 42, 19, 0.36), transparent 70%);
	box-shadow: 0 34px 50px -30px rgba(27, 33, 22, 0.6), inset 0 -20px 34px -14px rgba(59, 42, 19, 0.38);
}
.sack::before {
	content: "";
	position: absolute;
	left: 7%;
	right: 7%;
	top: 24px;
	height: 2px;
	background: repeating-linear-gradient(90deg, rgba(59, 42, 19, 0.6) 0 10px, transparent 10px 18px);
}
.sack-print {
	display: grid;
	justify-items: center;
	gap: 4px;
	width: 80%;
	padding: 22px 16px 18px;
	border: 3px solid currentColor;
	color: var(--jute-ink);
	opacity: 0.86;
	mix-blend-mode: multiply;
	text-align: center;
	text-transform: uppercase;
	transform: rotate(-3deg);
}
.sp-brand { font-family: var(--f-stencil); font-weight: 800; font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.4rem); line-height: 0.95; letter-spacing: 0.03em; }
.sp-line { width: 70%; height: 3px; margin-block: 8px; background: currentColor; }
.sp-item { font-family: var(--f-stencil); font-weight: 700; font-size: clamp(1.4rem, 1rem + 1.2vw, 2rem); letter-spacing: 0.08em; line-height: 1; }
.sp-bot { font-family: var(--f-latin); font-style: italic; text-transform: none; font-size: 1.125rem; }
.sp-wt { margin-top: 10px; font-family: var(--f-stencil); font-weight: 800; font-size: clamp(1.3rem, 1rem + 1vw, 1.75rem); letter-spacing: 0.1em; line-height: 1; }
.sp-route { display: inline-flex; align-items: center; gap: 10px; margin-top: 8px; font-family: var(--f-stencil); font-weight: 700; font-size: 1.25rem; letter-spacing: 0.16em; }
.sp-route svg { width: 26px; height: 26px; }
.tag-wrap { position: absolute; top: 0; right: 4px; filter: drop-shadow(0 12px 14px rgba(27, 33, 22, 0.32)); }
.sack-tag {
	width: 136px;
	padding: 28px 14px 14px;
	background: var(--card);
	text-align: center;
	transform: rotate(7deg);
	clip-path: polygon(20% 0, 80% 0, 100% 16%, 100% 100%, 0 100%, 0 16%);
}
.sack-tag::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 50%;
	width: 11px;
	height: 11px;
	margin-left: -5.5px;
	border-radius: 50%;
	background: var(--paper);
	box-shadow: inset 0 0 0 2px var(--jute);
}
.sack-tag .ur { display: block; font-size: 1.6rem; line-height: 1.9; color: var(--leaf); }
.sack-tag small { display: block; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-2); }

@media (max-width: 900px) {
	.hero-grid { grid-template-columns: 1fr; }
	.hero-art { width: 100%; max-width: 400px; margin-inline: auto; }
}
@media (max-width: 560px) {
	.hero-facts { grid-template-columns: 1fr; }
	.hero-facts div { display: flex; align-items: baseline; gap: 14px; padding-block: 10px; border-bottom: 1px solid var(--rule); }
	.hero-facts dt { font-size: 1.5rem; min-width: 96px; }
	.hero-facts dd { margin: 0; }
	.hero-art { padding-right: 28px; }
	.sack-tag { width: 112px; padding-top: 24px; }
	.sack-tag .ur { font-size: 1.3rem; }
}

/* ---------- Name strip ---------- */
.strip { overflow: hidden; background: var(--leaf); color: var(--on-dark); border-block: 1px solid var(--leaf-3); }
.strip-track { display: flex; width: max-content; animation: strip 70s linear infinite; }
.strip:hover .strip-track { animation-play-state: paused; }
.strip ul { display: flex; margin: 0; padding: 0; list-style: none; }
.strip li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 4px 0 4px 28px;
	white-space: nowrap;
	font-family: var(--f-display);
	font-weight: 700;
	font-size: 1.375rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.strip li .ur { font-size: 1.2rem; line-height: 2.3; color: var(--turmeric); font-weight: 400; }
.strip li::after { content: ""; width: 6px; height: 6px; margin-left: 16px; background: var(--turmeric); transform: rotate(45deg); }
@keyframes strip { to { transform: translateX(-50%); } }

/* ---------- Sections ---------- */
.section { padding-block: clamp(56px, 8vw, 112px); }
.section-head { display: grid; gap: 14px; max-width: 760px; margin-bottom: clamp(28px, 4vw, 48px); }
.section-head h2 { font-size: var(--step-4); }
.section-head p:not(.eyebrow) { max-width: 60ch; font-size: var(--step-1); color: var(--ink-2); }
.section-head.split {
	max-width: none;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: end;
	gap: 18px 56px;
}
.section-head.split > div { display: grid; gap: 14px; }
@media (max-width: 860px) { .section-head.split { grid-template-columns: 1fr; } }

/* ---------- Ranges ---------- */
.ranges-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.range { display: flex; flex-direction: column; background: var(--card); border: 1px solid var(--rule); border-radius: var(--radius); overflow: hidden; }
.swatch {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	aspect-ratio: 16 / 7;
	max-width: 100%;
	padding: 4px 18px;
	color: #fff;
}
.swatch .ur { font-size: 2rem; line-height: 2.3; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35); }
.swatch-code {
	position: absolute;
	left: 18px;
	top: 14px;
	padding: 2px 8px;
	border: 2px solid rgba(255, 255, 255, 0.8);
	font-family: var(--f-stencil);
	font-weight: 800;
	font-size: 0.9375rem;
	letter-spacing: 0.16em;
	color: rgba(255, 255, 255, 0.92);
}
.sw-dried {
	background:
		radial-gradient(circle at 30% 40%, rgba(110, 28, 0, 0.38) 0 1.3px, transparent 2px) 0 0 / 11px 11px,
		radial-gradient(circle at 70% 70%, rgba(255, 232, 160, 0.4) 0 1px, transparent 1.7px) 0 0 / 7px 7px,
		linear-gradient(135deg, #D99A1C, #B2620E);
}
.sw-fresh {
	background:
		radial-gradient(ellipse 9px 4px at 50% 50%, rgba(190, 230, 140, 0.35) 0 60%, transparent 62%) 0 0 / 26px 18px,
		radial-gradient(ellipse 7px 3px at 50% 50%, rgba(20, 50, 20, 0.35) 0 60%, transparent 62%) 13px 9px / 26px 18px,
		linear-gradient(135deg, #5E8F3A, #2C552A);
}
.sw-oil {
	background:
		radial-gradient(55% 90% at 24% 28%, rgba(255, 222, 150, 0.6), transparent 60%),
		radial-gradient(30% 50% at 78% 72%, rgba(255, 200, 110, 0.25), transparent 70%),
		linear-gradient(160deg, #CC842C, #7A3E0C 68%, #4D2607);
}
.sw-tea {
	background:
		radial-gradient(circle at 50% 50%, rgba(246, 208, 76, 0.75) 0 2px, transparent 2.6px) 0 0 / 19px 19px,
		radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.22) 0 4px, transparent 4.6px) 9px 9px / 19px 19px,
		linear-gradient(135deg, #B44B5F, #7B2B3F);
}
.sw-blend {
	background:
		radial-gradient(circle at 40% 30%, rgba(40, 8, 0, 0.42) 0 1.2px, transparent 2px) 0 0 / 9px 9px,
		radial-gradient(circle at 60% 60%, rgba(255, 190, 120, 0.3) 0 1px, transparent 1.6px) 0 0 / 6px 6px,
		linear-gradient(135deg, #AA4628, #6A2313);
}
.sw-extract {
	background:
		radial-gradient(40% 70% at 30% 30%, rgba(214, 160, 100, 0.45), transparent 65%),
		linear-gradient(160deg, #5E3C23, #2A190D);
}
.range-body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 20px 22px 24px; }
.range h3 { font-size: 1.875rem; }
.range p { font-size: 0.9375rem; color: var(--ink-2); }
.range .text-link { margin-top: auto; }
@media (max-width: 960px) { .ranges-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ranges-grid { grid-template-columns: 1fr; } }

/* ---------- Who we supply ---------- */
.serve-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 32px; }
.serve-item { display: grid; align-content: start; gap: 10px; padding-top: 18px; border-top: 2px solid var(--ink); }
.serve-item h3 { font-size: 1.625rem; }
.serve-item p { font-size: 0.9375rem; color: var(--ink-2); }
.serve-eg { font-size: 0.875rem; color: var(--ink); }
.serve-eg span {
	display: block;
	margin-bottom: 2px;
	font-family: var(--f-stencil);
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--leaf-2);
}
@media (max-width: 960px) { .serve-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .serve-grid { grid-template-columns: 1fr; gap: 24px; } }

/* ---------- Ordering ---------- */
.order { background: var(--leaf); color: var(--on-dark); }
.order .eyebrow { color: var(--turmeric); }
.order .section-head h2 { color: #fff; }
.order .section-head p:not(.eyebrow) { color: var(--on-dark-2); }
.steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 24px; margin: 0; padding: 0; list-style: none; }
.step { display: grid; align-content: start; gap: 10px; padding-top: 16px; border-top: 2px solid rgba(255, 255, 255, 0.24); }
.step-num { font-family: var(--f-stencil); font-weight: 800; font-size: 3.5rem; line-height: 1; color: var(--turmeric); }
.step h3 { font-size: 1.5rem; color: #fff; }
.step p { font-size: 0.9375rem; color: var(--on-dark-2); }
.order-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 44px; }
.order .btn-ghost { border-color: #fff; color: #fff; }
.order .btn-ghost:hover { background: #fff; color: var(--leaf); }
@media (max-width: 900px) { .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .steps { grid-template-columns: 1fr; } }

/* ---------- Trade list ---------- */
.trade { background: var(--card); border-block: 1px solid var(--rule); }
.trade-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 20px; margin-bottom: 18px; }
.search { position: relative; flex: 1 1 280px; max-width: 420px; }
.search svg { position: absolute; left: 14px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: var(--ink-2); pointer-events: none; }
.search input {
	width: 100%;
	min-height: 50px;
	padding: 10px 14px 10px 42px;
	border: 2px solid var(--ink);
	border-radius: var(--radius);
	background: var(--paper);
	color: var(--ink);
	font: inherit;
}
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
	min-height: 40px;
	padding: 6px 15px;
	border: 1px solid var(--rule);
	border-radius: 20px;
	background: var(--paper);
	color: var(--ink);
	font: 500 0.875rem var(--f-body);
	cursor: pointer;
}
.chip:hover { border-color: var(--ink); }
.chip[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.ledger-wrap { overflow-x: auto; border: 2px solid var(--ink); border-radius: var(--radius); background: var(--paper); }
.ledger { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.ledger th {
	padding: 12px 16px;
	background: var(--ink);
	color: var(--paper);
	font-family: var(--f-stencil);
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.12em;
	text-align: left;
	text-transform: uppercase;
	white-space: nowrap;
}
.ledger th.th-ur { font-family: var(--f-urdu); font-weight: 400; letter-spacing: 0; text-align: right; font-size: 1rem; line-height: 1.6; padding-block: 4px; }
.ledger td { padding: 10px 16px; border-top: 1px solid var(--rule); vertical-align: middle; }
.ledger tbody tr:hover td { background: var(--paper-2); }
.ledger .en { display: block; font-weight: 600; }
.ledger .ro { display: block; font-size: 0.8125rem; color: var(--ink-2); }
.ledger td.c-ur { padding-block: 2px; font-family: var(--f-urdu); font-size: 1.2rem; line-height: 2.1; text-align: right; color: var(--leaf); white-space: nowrap; }
.ledger td.c-bot { font-family: var(--f-latin); font-style: italic; font-size: 1.0625rem; color: var(--ink-2); }
.ledger td.c-bot.none { font-family: var(--f-body); font-style: normal; font-size: 0.875rem; }
.ledger td.c-form { color: var(--ink-2); }
.ledger td.c-add { width: 1%; text-align: right; }
.add-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 96px;
	min-height: 40px;
	padding: 6px 12px;
	border: 2px solid var(--ink);
	border-radius: var(--radius);
	background: transparent;
	color: var(--ink);
	font: 600 0.875rem var(--f-body);
	cursor: pointer;
}
.add-btn svg { width: 16px; height: 16px; }
.add-btn:hover { background: var(--ink); color: var(--paper); }
.add-btn .i-check { display: none; }
.add-btn[aria-pressed="true"] { background: var(--leaf); border-color: var(--leaf); color: #fff; }
.add-btn[aria-pressed="true"] .i-plus { display: none; }
.add-btn[aria-pressed="true"] .i-check { display: inline; }
html:not(.js) .add-btn { display: none; }
.ledger-empty td { padding: 28px 16px; text-align: center; color: var(--ink-2); }
.ledger-note { margin-top: 14px; font-size: 0.875rem; color: var(--ink-2); }
.ledger-note b { color: var(--ink); font-variant-numeric: tabular-nums; }
@media (max-width: 760px) {
	.ledger thead { display: none; }
	.ledger, .ledger tbody { display: block; }
	.ledger tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 2px 14px;
		align-items: center;
		padding: 12px 14px;
		border-top: 1px solid var(--rule);
	}
	.ledger tr:first-child { border-top: 0; }
	.ledger td { padding: 0; border: 0; }
	.ledger tbody tr:hover td { background: transparent; }
	.ledger td.c-name { grid-column: 1; grid-row: 1; }
	.ledger td.c-ur { grid-column: 2; grid-row: 1; }
	.ledger td.c-bot { grid-column: 1 / -1; grid-row: 2; }
	.ledger td.c-form { grid-column: 1; grid-row: 3; font-size: 0.875rem; }
	.ledger td.c-add { grid-column: 2; grid-row: 3; width: auto; }
	.ledger-empty td { grid-column: 1 / -1; }
}

/* ---------- Quote ---------- */
.quote-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.docket { position: relative; display: grid; gap: 16px; padding: 24px; background: var(--card); border: 2px solid var(--ink); border-radius: var(--radius); }
.docket::before {
	content: "Order slip";
	position: absolute;
	top: -13px;
	right: 18px;
	padding: 0 8px;
	background: var(--paper);
	font-family: var(--f-stencil);
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-2);
}
.docket-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.docket h3 { font-size: 1.875rem; }
.docket-count { font-size: 0.875rem; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.q-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.q-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 84px 138px 40px;
	gap: 8px;
	align-items: center;
	padding-block: 8px;
	border-bottom: 1px dashed var(--rule);
}
.q-name { font-weight: 600; min-width: 0; overflow-wrap: anywhere; }
.q-item input, .q-item select {
	width: 100%;
	min-height: 40px;
	padding: 6px 8px;
	border: 1px solid #9AA38E;
	border-radius: var(--radius);
	background: var(--paper);
	color: var(--ink);
	font: inherit;
	font-size: 0.9375rem;
	font-variant-numeric: tabular-nums;
}
.q-remove {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: var(--radius);
	background: transparent;
	color: var(--ink-2);
	cursor: pointer;
}
.q-remove:hover { background: var(--paper-2); color: var(--ink); }
.q-remove svg { width: 18px; height: 18px; }
.q-empty { padding: 14px 16px; border: 1px dashed #9AA38E; border-radius: var(--radius); font-size: 0.9375rem; color: var(--ink-2); }
.field { display: grid; gap: 6px; min-width: 0; }
.field label { font-size: 0.875rem; font-weight: 600; }
.field .opt { font-weight: 400; color: var(--ink-2); }
.field input, .field select, .field textarea {
	width: 100%;
	min-height: 48px;
	padding: 10px 12px;
	border: 1px solid #9AA38E;
	border-radius: var(--radius);
	background: var(--card);
	color: var(--ink);
	font: inherit;
}
.field textarea { min-height: 128px; resize: vertical; line-height: 1.5; }
.field input:focus, .field select:focus, .field textarea:focus, .q-item input:focus, .q-item select:focus, .search input:focus {
	outline: 2px solid var(--leaf-2);
	outline-offset: 0;
	border-color: var(--leaf-2);
}
.fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fields .full { grid-column: 1 / -1; }
.form-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.form-note { margin-top: 14px; font-size: 0.8125rem; color: var(--ink-2); }
.form-status { margin-top: 14px; padding: 12px 14px; border-radius: var(--radius); background: #E2F0DF; border: 1px solid #9CC79A; color: #1E4A23; font-weight: 500; }
.form-status.is-error { background: #F8E3DC; border-color: #E0A08D; color: #6E2412; }
.notice { margin-bottom: 22px; padding: 14px 16px; border-radius: var(--radius); font-weight: 500; }
.notice-ok { background: #E2F0DF; border: 1px solid #9CC79A; color: #1E4A23; }
.notice-err { background: #F8E3DC; border: 1px solid #E0A08D; color: #6E2412; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 900px) { .quote-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) {
	.fields { grid-template-columns: 1fr; }
	.docket { padding: 20px 16px; }
	.q-item { grid-template-columns: 76px minmax(0, 1fr) 40px; }
	.q-item .q-name { grid-column: 1 / -1; }
	.form-actions .btn { flex: 1 1 100%; }
}

/* ---------- Offices ---------- */
.offices-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.office { display: grid; align-content: start; gap: 16px; padding: 24px; background: var(--card); border: 1px solid var(--rule); border-radius: var(--radius); }
.office-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.office h3 { font-family: var(--f-stencil); font-size: 2.75rem; letter-spacing: 0.04em; }
.office-top .ur { font-size: 1.6rem; line-height: 1.7; color: var(--leaf); }
.office-market { margin-top: 6px; font-weight: 600; color: var(--leaf-2); }
.status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	justify-self: start;
	padding: 4px 12px;
	border-radius: 14px;
	background: var(--paper-2);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--ink-2);
	font-variant-numeric: tabular-nums;
}
.status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #7D8873; }
.is-open .status { background: #DDEFD9; color: #1E4A23; }
.is-open .status::before { background: #2E9B4F; }
.office dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px 16px; margin: 0; font-size: 0.9375rem; }
.office dt { padding-top: 2px; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-2); }
.office dd { margin: 0; }
.office dd a { color: var(--ink); font-weight: 600; text-decoration: none; }
.office dd a:hover { text-decoration: underline; }
.office-direct { background: var(--ink); border-color: var(--ink); color: var(--on-dark); }
.office-direct h3 { color: #fff; }
.office-direct p { color: var(--on-dark-2); }
.direct-row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	color: #fff;
	text-decoration: none;
}
.direct-row:hover { color: var(--turmeric); }
.direct-row svg { width: 26px; height: 26px; flex: none; color: var(--turmeric); }
.direct-row span { display: grid; min-width: 0; }
.direct-row small { font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--on-dark-2); font-weight: 600; }
.direct-row b { font-size: 1.0625rem; overflow-wrap: anywhere; }
@media (max-width: 960px) {
	.offices-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.office-direct { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
	.offices-grid { grid-template-columns: 1fr; }
	.office h3 { font-size: 2.25rem; }
}

/* ---------- Inner pages ---------- */
.page-hero { padding-block: clamp(40px, 6vw, 80px) clamp(32px, 4vw, 56px); border-bottom: 1px solid var(--rule); }
.page-hero h1 { margin-top: 14px; font-size: var(--step-4); }
.page-hero p.lede { margin-top: 18px; }
.entry { max-width: 72ch; padding-block: clamp(40px, 6vw, 72px); }
.entry > * + * { margin-top: 1.1em; }
.entry h2 { font-size: var(--step-3); margin-top: 1.6em; }
.entry h3 { font-size: var(--step-2); margin-top: 1.4em; }
.entry ul, .entry ol { padding-left: 1.3em; }
.entry img { border-radius: var(--radius); }
.post-list { display: grid; gap: 28px; padding-block: clamp(40px, 6vw, 72px); }
.post-card { display: grid; gap: 8px; padding-bottom: 28px; border-bottom: 1px solid var(--rule); }
.post-card h2 { font-size: var(--step-3); }
.post-card h2 a { color: var(--ink); text-decoration: none; }
.post-card h2 a:hover { color: var(--leaf-2); }
.post-meta { font-size: var(--step--1); color: var(--ink-2); }
.pagination { padding-bottom: 48px; }
.pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.pagination a, .pagination span { padding: 8px 14px; border: 1px solid var(--rule); border-radius: var(--radius); text-decoration: none; }

/* ---------- Footer ---------- */
.site-footer { padding-block: 64px 28px; background: var(--leaf-3); color: var(--on-dark-2); font-size: 0.9375rem; }
.foot-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.25fr; gap: 36px; }
.foot-brand { display: grid; gap: 18px; align-content: start; max-width: 34ch; }
.foot-seal { width: 104px; height: 104px; }
.seal-bg { fill: none; stroke: var(--turmeric); stroke-width: 2; }
.seal-ring { fill: none; stroke: rgba(224, 168, 30, 0.45); stroke-width: 1; }
.seal-text { fill: var(--on-dark); font-family: var(--f-stencil); font-weight: 700; }
.seal-leaf { fill: var(--turmeric); }
.foot-h {
	margin: 0 0 14px;
	font-family: var(--f-stencil);
	font-weight: 700;
	font-size: 0.9375rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--turmeric);
}
.site-footer ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { color: var(--turmeric); text-decoration: underline; }
.foot-contact small { display: block; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; }
.foot-base {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px 24px;
	margin-top: 52px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	font-size: 0.8125rem;
}
@media (max-width: 900px) { .foot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .foot-grid { grid-template-columns: 1fr; } }

/* ---------- Floating quote bar + WhatsApp ---------- */
.quote-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 60;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px max(20px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px));
	background: var(--ink);
	color: var(--paper);
	transform: translateY(110%);
	visibility: hidden;
	transition: transform 0.25s ease, visibility 0.25s;
}
.quote-bar.is-visible { transform: none; visibility: visible; }
.quote-bar p { font-size: 0.9375rem; }
.quote-bar b { font-variant-numeric: tabular-nums; }
.wa-float {
	position: fixed;
	right: max(18px, env(safe-area-inset-right, 0px));
	bottom: calc(18px + env(safe-area-inset-bottom, 0px));
	z-index: 55;
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: var(--wa);
	color: #fff;
	box-shadow: 0 12px 24px -8px rgba(0, 0, 0, 0.45);
	transition: bottom 0.25s ease, background-color 0.15s ease;
}
.wa-float:hover { background: var(--wa-deep); color: #fff; }
.wa-float svg { width: 30px; height: 30px; }
body.has-quote-bar .wa-float { bottom: calc(86px + env(safe-area-inset-bottom, 0px)); }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.strip-track { animation: none; }
	.strip { overflow-x: auto; }
	.btn, .quote-bar, .wa-float { transition: none; }
}
