/*
Theme Name: Tera Mera Bazar
Theme URI: https://teramerabazar.com
Author: Tera Mera Bazar
Description: A B2B pharmaceutical manufacturer directory theme for Tera Mera Bazar. Pairs with the Tera Mera Bazar — Core plugin.
Version: 2.3.0
Requires PHP: 7.4
Text Domain: tera-mera-bazar
*/

/* ---------------------------------------------
   Design tokens
   Palette: navy blue + turquoise-green highlight
   on greyish-white surfaces. Variable names kept
   as --pd-ink / --pd-amber / --pd-green for
   compatibility with the plugin's CSS, but they
   now hold navy/turquoise values, not the old
   amber scheme.
--------------------------------------------- */
:root {
	--pd-ink: #0E2A47;        /* primary text, headers — deep navy */
	--pd-ink-soft: #4C5E72;   /* secondary text — muted navy-grey */
	--pd-paper: #F1F4F5;      /* page background — greyish white */
	--pd-surface: #FFFFFF;    /* cards */
	--pd-rule: #D8DEE2;       /* hairline dividers */
	--pd-amber: #12A594;      /* primary accent / CTA — turquoise green */
	--pd-amber-dark: #0C7A6C;
	--pd-green: #0C7A6C;      /* verified / approved stamp — same turquoise family */
	--pd-green-soft: #E3F4F1;
	--pd-radius: 4px;
	--pd-font-display: 'Spectral', Georgia, serif;
	--pd-font-body: 'IBM Plex Sans', -apple-system, sans-serif;
	--pd-font-mono: 'IBM Plex Mono', Consolas, monospace;
}

* { box-sizing: border-box; }

body {
	background: var(--pd-paper);
	color: var(--pd-ink);
	font-family: var(--pd-font-body);
	font-size: 16px;
	line-height: 1.6;
	margin: 0;
}

h1, h2, h3, h4 {
	font-family: var(--pd-font-display);
	color: var(--pd-ink);
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 0.5em;
}
h1 { font-size: 2.6rem; }
h2 { font-size: 1.9rem; }
h3 { font-size: 1.3rem; }

a { color: var(--pd-amber-dark); }
a:hover { color: var(--pd-amber); }

.pd-container {
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 24px;
}

/* ---------- Header ---------- */
.pd-site-header {
	background: var(--pd-surface);
	border-bottom: 1px solid var(--pd-rule);
	position: sticky;
	top: 0;
	z-index: 50;
}
.pd-site-header .pd-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 76px;
}
.pd-logo {
	font-family: var(--pd-font-display);
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--pd-ink);
	text-decoration: none;
	display: flex;
	align-items: baseline;
	gap: 6px;
}
.pd-logo .pd-logo-mark {
	font-family: var(--pd-font-mono);
	font-size: 0.75rem;
	background: var(--pd-ink);
	color: var(--pd-paper);
	padding: 2px 6px;
	border-radius: 2px;
	letter-spacing: 0.06em;
}
.pd-logo-custom img { max-height: 44px; width: auto; display: block; }
.pd-nav { display: flex; gap: 28px; align-items: center; }
.pd-nav a {
	text-decoration: none;
	color: var(--pd-ink-soft);
	font-size: 0.95rem;
	font-weight: 500;
}
.pd-nav a:hover { color: var(--pd-ink); }
.pd-nav .pd-nav-cta {
	background: var(--pd-ink);
	color: #fff !important;
	padding: 9px 18px;
	border-radius: var(--pd-radius);
}

/* ---------- Hero / requisition form ---------- */
.pd-hero {
	padding: 72px 0 56px;
	border-bottom: 1px solid var(--pd-rule);
}
.pd-hero-eyebrow {
	font-family: var(--pd-font-mono);
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pd-amber-dark);
	margin-bottom: 14px;
}
.pd-hero h1 { max-width: 720px; }
.pd-hero-sub {
	color: var(--pd-ink-soft);
	max-width: 560px;
	font-size: 1.1rem;
	margin-bottom: 32px;
}

/* Search form styled like a requisition slip */
.pd-search-form {
	display: flex;
	gap: 0;
	background: var(--pd-surface);
	border: 1px solid var(--pd-ink);
	border-radius: var(--pd-radius);
	box-shadow: 4px 4px 0 var(--pd-amber);
	max-width: 720px;
	overflow: hidden;
}
.pd-search-form input[type="text"] {
	flex: 2;
	border: none;
	padding: 16px 18px;
	font-size: 1rem;
	font-family: var(--pd-font-body);
	border-right: 1px solid var(--pd-rule);
}
.pd-search-form select {
	flex: 1;
	border: none;
	padding: 16px 18px;
	font-family: var(--pd-font-body);
	font-size: 0.95rem;
	border-right: 1px solid var(--pd-rule);
	background: var(--pd-surface);
}
.pd-search-form input:focus, .pd-search-form select:focus { outline: 2px solid var(--pd-amber); outline-offset: -2px; }
.pd-search-form button {
	background: var(--pd-ink);
	color: #fff;
	border: none;
	padding: 0 28px;
	font-weight: 600;
	cursor: pointer;
	font-size: 0.95rem;
}
.pd-search-form button:hover { background: var(--pd-amber-dark); }

/* Category index tabs under hero */
.pd-category-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}
.pd-category-tabs a {
	font-family: var(--pd-font-mono);
	font-size: 0.8rem;
	text-decoration: none;
	color: var(--pd-ink-soft);
	border: 1px solid var(--pd-rule);
	padding: 6px 12px;
	border-radius: 20px;
	background: var(--pd-surface);
}
.pd-category-tabs a:hover { border-color: var(--pd-amber); color: var(--pd-ink); }

/* ---------- Stats strip ---------- */
.pd-stats-strip {
	display: flex;
	gap: 40px;
	padding: 28px 0;
	border-bottom: 1px solid var(--pd-rule);
	font-family: var(--pd-font-mono);
}
.pd-stats-strip div strong { display: block; font-size: 1.6rem; color: var(--pd-ink); font-family: var(--pd-font-display); }
.pd-stats-strip div span { font-size: 0.78rem; color: var(--pd-ink-soft); text-transform: uppercase; letter-spacing: 0.06em; }

/* ---------- Listing grid / dossier cards ---------- */
.pd-section { padding: 56px 0; }
.pd-section-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 28px; }

.pd-listing-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 22px;
}

.pd-dossier-card {
	background: var(--pd-surface);
	border: 1px solid var(--pd-rule);
	border-radius: var(--pd-radius);
	padding: 22px;
	position: relative;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	text-decoration: none;
	color: var(--pd-ink);
	display: block;
}
.pd-dossier-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(27,42,74,0.1);
}
.pd-dossier-card .pd-batch-no {
	font-family: var(--pd-font-mono);
	font-size: 0.72rem;
	color: var(--pd-ink-soft);
	letter-spacing: 0.04em;
	margin-bottom: 10px;
	display: block;
}
.pd-dossier-card h3 { margin-bottom: 6px; }
.pd-dossier-card .pd-cat-tag {
	font-size: 0.78rem;
	color: var(--pd-ink-soft);
	margin-bottom: 12px;
	display: block;
}
.pd-dossier-card p { font-size: 0.9rem; color: var(--pd-ink-soft); margin: 0; }

/* Verified stamp — the signature element */
.pd-stamp {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 58px;
	height: 58px;
	border: 2px solid var(--pd-green);
	border-radius: 50%;
	color: var(--pd-green);
	font-family: var(--pd-font-mono);
	font-size: 0.55rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	transform: rotate(-8deg);
	line-height: 1.1;
	opacity: 0.9;
}

/* ---------- Single listing page ---------- */
.pd-single-header {
	background: var(--pd-surface);
	border-bottom: 1px solid var(--pd-rule);
	padding: 48px 0;
}
.pd-single-header .pd-batch-no { font-family: var(--pd-font-mono); font-size: 0.8rem; color: var(--pd-ink-soft); }
.pd-single-meta {
	display: flex;
	gap: 28px;
	flex-wrap: wrap;
	margin-top: 20px;
	font-size: 0.9rem;
}
.pd-single-meta dt { font-family: var(--pd-font-mono); font-size: 0.72rem; text-transform: uppercase; color: var(--pd-ink-soft); letter-spacing: 0.05em; }
.pd-single-meta dd { margin: 2px 0 0; font-weight: 500; }
.pd-single-body { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; padding: 48px 0; }
.pd-single-body .pd-content { border-right: 1px solid var(--pd-rule); padding-right: 40px; }

/* ---------- Filters sidebar ---------- */
.pd-filters {
	background: var(--pd-surface);
	border: 1px solid var(--pd-rule);
	border-radius: var(--pd-radius);
	padding: 20px;
}
.pd-filters h4 { font-family: var(--pd-font-mono); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--pd-ink-soft); margin-bottom: 12px; }
.pd-filters ul { list-style: none; margin: 0 0 20px; padding: 0; }
.pd-filters li { margin-bottom: 8px; }
.pd-filters a { font-size: 0.9rem; text-decoration: none; color: var(--pd-ink); }
.pd-filters a:hover { color: var(--pd-amber-dark); }

/* ---------- Footer ---------- */
.pd-site-footer {
	background: var(--pd-ink);
	color: #C9D2E0;
	padding: 48px 0 28px;
	margin-top: 40px;
	font-size: 0.9rem;
}
.pd-site-footer a { color: #E7ECF5; }
.pd-footer-grid { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 32px; margin-bottom: 28px; }
.pd-footer-bottom { border-top: 1px solid #33415F; padding-top: 18px; font-size: 0.8rem; color: #8FA0C0; font-family: var(--pd-font-mono); }

/* ---------- Buttons ---------- */
.pd-btn {
	display: inline-block;
	background: var(--pd-ink);
	color: #fff;
	padding: 11px 22px;
	border-radius: var(--pd-radius);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.92rem;
	border: none;
	cursor: pointer;
}
.pd-btn:hover { background: var(--pd-amber-dark); color: #fff; }

/* ---------- Featured supplier slider ---------- */
.pd-featured-slider-section {
	padding: 48px 0;
	background: var(--pd-surface);
	border-bottom: 1px solid var(--pd-rule);
}
.pd-slider-controls { display: flex; gap: 8px; }
.pd-slider-btn {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid var(--pd-rule);
	background: var(--pd-surface);
	cursor: pointer;
	font-size: 1rem;
	color: var(--pd-ink);
}
.pd-slider-btn:hover { border-color: var(--pd-amber); }
.pd-slider-viewport { overflow: hidden; }
.pd-slider-track {
	display: flex;
	gap: 16px;
	transition: transform 0.4s ease;
}
.pd-slide {
	flex: 0 0 300px;
	background: var(--pd-paper);
	border: 1px solid var(--pd-rule);
	border-left: 3px solid var(--pd-amber);
	border-radius: var(--pd-radius);
	padding: 20px;
	text-decoration: none;
	color: var(--pd-ink);
	display: block;
}
.pd-slide:hover { border-left-color: var(--pd-ink); }
.pd-slide-badge {
	font-family: var(--pd-font-mono);
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--pd-amber-dark);
	display: block;
	margin-bottom: 8px;
}
.pd-slide-meta { font-size: 0.82rem; color: var(--pd-ink-soft); margin-bottom: 10px; }
.pd-slide p { font-size: 0.88rem; color: var(--pd-ink-soft); }
.pd-slide-cta { font-family: var(--pd-font-mono); font-size: 0.78rem; color: var(--pd-ink); font-weight: 600; }

/* ---------- Category highlight rows ---------- */
.pd-category-highlight-row { border-top: 1px solid var(--pd-rule); }
.pd-highlight-eyebrow {
	font-family: var(--pd-font-mono);
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pd-amber-dark);
	display: block;
	margin-bottom: 4px;
}
.pd-highlight-0 { background: var(--pd-green-soft); }
.pd-highlight-1 { background: #EAF2F7; }
.pd-highlight-2 { background: #F1F4F5; }
.pd-highlight-0 .pd-dossier-card, .pd-highlight-1 .pd-dossier-card, .pd-highlight-2 .pd-dossier-card { background: var(--pd-surface); }

/* ---------- Standard page / post content ---------- */
.pd-page-content { max-width: 760px; }
.pd-page-content p { color: var(--pd-ink-soft); margin-bottom: 1em; }
.pd-page-content h2 { margin-top: 1.6em; }
.pd-page-content h3 { margin-top: 1.4em; }
.pd-page-content ul, .pd-page-content ol { color: var(--pd-ink-soft); padding-left: 22px; margin-bottom: 1em; }
.pd-page-content li { margin-bottom: 6px; }
.pd-page-content img { max-width: 100%; height: auto; border-radius: 6px; }
.pd-page-content blockquote {
	border-left: 3px solid var(--pd-amber);
	padding-left: 18px;
	margin-left: 0;
	color: var(--pd-ink-soft);
	font-style: italic;
}
.pd-page-content table { width: 100%; border-collapse: collapse; margin-bottom: 1em; }
.pd-page-content th, .pd-page-content td { border: 1px solid var(--pd-rule); padding: 8px 10px; text-align: left; font-size: 0.92rem; }
.pd-page-content th { background: var(--pd-paper); }

/* ---------- How it works (graphical steps) ---------- */
.pd-howitworks-section { background: var(--pd-surface); border-top: 1px solid var(--pd-rule); }
.pd-steps-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 22px; }
.pd-step-card {
	background: var(--pd-paper);
	border-radius: 8px;
	padding: 26px 22px;
	position: relative;
}
.pd-step-graphic { margin-bottom: 14px; }
.pd-step-num {
	font-family: var(--pd-font-mono);
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pd-amber-dark);
	display: block;
	margin-bottom: 6px;
}
.pd-step-card h3 { font-size: 1.05rem; margin-bottom: 8px; }
.pd-step-card p { font-size: 0.9rem; color: var(--pd-ink-soft); margin: 0; }

/* ---------- Full-width CTA banner with chart ---------- */
.pd-cta-banner {
	background: var(--pd-ink);
	color: #fff;
	padding: 56px 0;
}
.pd-cta-banner-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 48px;
	align-items: center;
}
.pd-cta-banner-eyebrow {
	font-family: var(--pd-font-mono);
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #5BD6C6;
	display: block;
	margin-bottom: 10px;
}
.pd-cta-banner-copy h2 { color: #fff; margin-bottom: 12px; }
.pd-cta-banner-copy p { color: #C9D2E0; max-width: 460px; margin-bottom: 24px; }
.pd-cta-banner-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.pd-btn-light { background: #12A594; color: #fff; border: none; }
.pd-btn-light:hover { background: #5BD6C6; color: var(--pd-ink); }
.pd-btn-ghost {
	background: transparent;
	color: #fff;
	border: 1px solid #3A5470;
}
.pd-btn-ghost:hover { background: #123655; color: #fff; border-color: #5BD6C6; }
.pd-cta-banner-visual { text-align: center; }
.pd-cta-banner-caption {
	font-family: var(--pd-font-mono);
	font-size: 0.72rem;
	color: #8FA0C0;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-top: 8px;
}

/* ---------- Contact section ---------- */
.pd-contact-section { border-top: 1px solid var(--pd-rule); }
.pd-contact-grid-wrap {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 48px;
	align-items: start;
}
.pd-contact-info h2 { margin-bottom: 10px; }
.pd-contact-info > p { color: var(--pd-ink-soft); margin-bottom: 22px; }
.pd-contact-points { list-style: none; margin: 0; padding: 0; }
.pd-contact-points li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-top: 1px solid var(--pd-rule);
	font-size: 0.92rem;
	color: var(--pd-ink-soft);
}
.pd-contact-points li:first-child { border-top: none; }
.pd-contact-points svg { flex-shrink: 0; }
.pd-contact-form {
	background: var(--pd-surface);
	border: 1px solid var(--pd-rule);
	border-top: 3px solid var(--pd-amber);
	border-radius: 8px;
	padding: 28px;
}
.pd-contact-form h3 { margin-top: 0; margin-bottom: 6px; }
.pd-contact-sub { font-size: 0.88rem; color: var(--pd-ink-soft); margin-bottom: 18px; }
.pd-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.pd-contact-form input[type="text"],
.pd-contact-form input[type="email"],
.pd-contact-form textarea {
	width: 100%;
	padding: 11px 13px;
	border: 1px solid var(--pd-rule);
	border-radius: 4px;
	font-family: var(--pd-font-body);
	font-size: 0.92rem;
	color: var(--pd-ink);
}
.pd-contact-form textarea { margin-bottom: 14px; resize: vertical; }
.pd-contact-form input:focus, .pd-contact-form textarea:focus {
	outline: none;
	border-color: var(--pd-amber);
	box-shadow: 0 0 0 1px var(--pd-amber);
}
.pd-contact-form button { border: none; cursor: pointer; }
.pd-contact-form .pd-form-message { display: block; margin-top: 10px; font-size: 0.88rem; color: var(--pd-ink-soft); }

/* ---------- Front-end submission form ---------- */
.pd-submit-success {
	background: var(--pd-green-soft);
	border: 1px solid var(--pd-green);
	border-radius: 8px;
	padding: 28px;
	text-align: center;
	max-width: 640px;
	margin: 0 auto;
}
.pd-submit-success h2 { color: var(--pd-ink); }
.pd-submit-success p { color: var(--pd-ink-soft); margin: 0; }
.pd-submit-error {
	background: #FDEDEC;
	border-left: 3px solid #C0392B;
	color: #922B21;
	padding: 12px 16px;
	border-radius: 4px;
	margin-bottom: 20px;
	max-width: 760px;
}
.pd-submit-form { max-width: 760px; margin: 0 auto; }
.pd-form-section {
	background: var(--pd-surface);
	border: 1px solid var(--pd-rule);
	border-radius: 8px;
	padding: 24px 28px;
	margin-bottom: 20px;
}
.pd-form-section h3 { margin-top: 0; margin-bottom: 16px; font-size: 1.15rem; }
.pd-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 16px;
}
.pd-form-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--pd-ink);
}
.pd-form-field-full { grid-column: 1 / -1; margin-bottom: 16px; }
.pd-form-field input[type="text"],
.pd-form-field input[type="email"],
.pd-form-field input[type="url"],
.pd-form-field input[type="file"],
.pd-form-field select,
.pd-form-field textarea {
	padding: 10px 12px;
	border: 1px solid var(--pd-rule);
	border-radius: 4px;
	font-family: var(--pd-font-body);
	font-size: 0.92rem;
	font-weight: 400;
	color: var(--pd-ink);
}
.pd-form-field input:focus, .pd-form-field select:focus, .pd-form-field textarea:focus {
	outline: none;
	border-color: var(--pd-amber);
	box-shadow: 0 0 0 1px var(--pd-amber);
}
.pd-form-hint { font-size: 0.78rem; font-weight: 400; color: var(--pd-ink-soft); }
.pd-checkbox-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 8px 16px;
	margin: 10px 0 16px;
}
.pd-checkbox-item { display: flex; align-items: center; gap: 6px; font-size: 0.88rem; color: var(--pd-ink-soft); font-weight: 400; }
.pd-product-row {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr auto;
	gap: 10px;
	margin-bottom: 10px;
	align-items: center;
}
.pd-product-row input {
	padding: 9px 11px;
	border: 1px solid var(--pd-rule);
	border-radius: 4px;
	font-size: 0.9rem;
}
.pd-remove-product-row {
	background: none;
	border: 1px solid var(--pd-rule);
	border-radius: 4px;
	width: 34px;
	height: 34px;
	cursor: pointer;
	color: var(--pd-ink-soft);
	font-size: 1.1rem;
}
.pd-remove-product-row:hover { border-color: #C0392B; color: #C0392B; }
.pd-add-product-row { margin-top: 6px; }
.pd-submit-btn { width: 100%; text-align: center; border: none; cursor: pointer; font-size: 1rem; padding: 14px; }

/* ---------- Frontend login page ---------- */
.pd-login-section { padding: 64px 0; }
.pd-login-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
	max-width: 900px;
}
.pd-login-card {
	background: var(--pd-surface);
	border: 1px solid var(--pd-rule);
	border-top: 3px solid var(--pd-amber);
	border-radius: 8px;
	padding: 36px;
}
.pd-login-eyebrow {
	font-family: var(--pd-font-mono);
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pd-amber-dark);
	margin-bottom: 8px;
}
.pd-login-title { font-size: 1.6rem; margin-bottom: 8px; }
.pd-login-sub { color: var(--pd-ink-soft); font-size: 0.92rem; margin-bottom: 22px; }
.pd-login-error {
	background: #FDEDEC;
	border-left: 3px solid #C0392B;
	color: #922B21;
	padding: 10px 14px;
	font-size: 0.88rem;
	margin-bottom: 18px;
	border-radius: 3px;
}
.pd-login-form { display: flex; flex-direction: column; gap: 6px; }
.pd-login-form label { font-size: 0.82rem; font-weight: 600; color: var(--pd-ink); margin-top: 10px; }
.pd-login-form input[type="text"],
.pd-login-form input[type="password"] {
	padding: 11px 14px;
	border: 1px solid var(--pd-rule);
	border-radius: 4px;
	font-family: var(--pd-font-body);
	font-size: 0.95rem;
}
.pd-login-form input[type="text"]:focus,
.pd-login-form input[type="password"]:focus {
	outline: none;
	border-color: var(--pd-amber);
	box-shadow: 0 0 0 1px var(--pd-amber);
}
.pd-login-remember { display: flex; align-items: center; gap: 6px; font-weight: 400 !important; font-size: 0.88rem; color: var(--pd-ink-soft); margin-top: 12px !important; }
.pd-login-submit { margin-top: 20px; width: 100%; text-align: center; border: none; cursor: pointer; }
.pd-login-links { margin-top: 18px; text-align: center; }
.pd-login-links a { font-size: 0.85rem; color: var(--pd-ink-soft); text-decoration: none; }
.pd-login-links a:hover { color: var(--pd-amber-dark); }
.pd-login-side {
	background: var(--pd-paper);
	border-radius: 8px;
	padding: 32px;
}
.pd-login-side h3 { margin-bottom: 10px; }
.pd-login-side p { color: var(--pd-ink-soft); font-size: 0.92rem; margin-bottom: 20px; }

/* ---------- Hero (redesigned two-column split) ---------- */
.pd-hero-split { padding: 56px 0; }
.pd-hero-grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 48px;
	align-items: center;
}
.pd-hero-copy .pd-search-form { max-width: 100%; }
.pd-hero-ctas { display: flex; gap: 12px; margin-top: 22px; flex-wrap: wrap; }
.pd-btn-outline {
	background: transparent;
	color: var(--pd-ink);
	border: 1px solid var(--pd-ink);
}
.pd-btn-outline:hover { background: var(--pd-ink); color: #fff; }
.pd-hero-visual { display: flex; justify-content: center; }
.pd-hero-badge-card {
	background: var(--pd-surface);
	border: 1px solid var(--pd-rule);
	border-top: 3px solid var(--pd-amber);
	border-radius: 8px;
	padding: 28px;
	max-width: 340px;
	text-align: left;
}
.pd-hero-badge-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--pd-green-soft);
	color: var(--pd-green);
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 14px;
}
.pd-hero-badge-card strong { display: block; font-family: var(--pd-font-display); font-size: 1.1rem; color: var(--pd-ink); margin-bottom: 8px; }
.pd-hero-badge-card p { color: var(--pd-ink-soft); font-size: 0.9rem; margin: 0 0 14px; }
.pd-hero-badge-list { list-style: none; margin: 0; padding: 0; font-size: 0.85rem; color: var(--pd-ink-soft); }
.pd-hero-badge-list li { padding: 6px 0; border-top: 1px solid var(--pd-rule); }
.pd-hero-badge-list li:first-child { border-top: none; }

/* ---------- Category pill sections (Franchise / Manufacturing) ---------- */
.pd-pill-section { border-top: 1px solid var(--pd-rule); }
.pd-pill-section-alt { background: var(--pd-surface); }
.pd-section-intro { color: var(--pd-ink-soft); max-width: 640px; margin: -12px 0 24px; font-size: 0.95rem; }
.pd-pill-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.pd-pill-card {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--pd-surface);
	border: 1px solid var(--pd-rule);
	border-radius: 20px;
	padding: 9px 16px;
	font-size: 0.9rem;
	color: var(--pd-ink);
	text-decoration: none;
}
.pd-pill-card:hover { border-color: var(--pd-amber); color: var(--pd-ink); }
.pd-pill-count {
	background: var(--pd-green-soft);
	color: var(--pd-green);
	font-family: var(--pd-font-mono);
	font-size: 0.72rem;
	padding: 1px 7px;
	border-radius: 10px;
}

/* ---------- Featured companies (horizontal scroll) ---------- */
.pd-featured-companies-section { background: var(--pd-paper); }
.pd-hscroll {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	padding-bottom: 8px;
	scroll-snap-type: x proximity;
}
.pd-company-card {
	position: relative;
	flex: 0 0 240px;
	scroll-snap-align: start;
	background: var(--pd-surface);
	border: 1px solid var(--pd-rule);
	border-radius: var(--pd-radius);
	padding: 20px;
	text-decoration: none;
	color: var(--pd-ink);
}
.pd-company-card:hover { border-color: var(--pd-amber); }
.pd-company-card h3 { font-size: 1.05rem; margin: 4px 0 4px; }
.pd-company-location { font-size: 0.82rem; color: var(--pd-ink-soft); margin: 0 0 6px; }
.pd-company-spec { font-size: 0.85rem; color: var(--pd-ink-soft); margin: 0 0 10px; }

/* ---------- Regions grid ---------- */
.pd-regions-section { border-top: 1px solid var(--pd-rule); }
.pd-region-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
.pd-region-card {
	background: var(--pd-ink);
	color: #fff;
	border-radius: var(--pd-radius);
	padding: 22px 18px;
	text-decoration: none;
	display: block;
	transition: background 0.15s ease;
}
.pd-region-card:hover { background: var(--pd-amber-dark); }
.pd-region-name { display: block; font-family: var(--pd-font-display); font-size: 1.1rem; margin-bottom: 6px; color: #fff; }
.pd-region-count { display: block; font-size: 0.78rem; color: #C9D2E0; font-family: var(--pd-font-mono); }

/* ---------- Locations sitemap-style list ---------- */
.pd-locations-sitemap-section { background: var(--pd-surface); border-top: 1px solid var(--pd-rule); }
.pd-sitemap-list {
	columns: 3;
	column-gap: 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.pd-sitemap-list li { break-inside: avoid; margin-bottom: 10px; }
.pd-sitemap-list a { font-size: 0.92rem; color: var(--pd-ink-soft); text-decoration: none; }
.pd-sitemap-list a:hover { color: var(--pd-amber-dark); }
.pd-sitemap-list-compact { columns: 2; }

/* ---------- Categories by region (grouped rows) ---------- */
.pd-categories-by-region-section { border-top: 1px solid var(--pd-rule); }
.pd-region-group { margin-bottom: 32px; }
.pd-region-group:last-child { margin-bottom: 0; }
.pd-region-group-title { font-size: 1.1rem; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--pd-rule); }

/* ---------- About section ---------- */
.pd-about-section { background: var(--pd-surface); border-top: 1px solid var(--pd-rule); }
.pd-about-inner { max-width: 760px; }
.pd-about-inner h3 { margin-top: 32px; }
.pd-about-inner p { color: var(--pd-ink-soft); }
.pd-about-points { list-style: none; margin: 0; padding: 0; }
.pd-about-points li {
	padding: 14px 0 14px 28px;
	border-top: 1px solid var(--pd-rule);
	position: relative;
	color: var(--pd-ink-soft);
	font-size: 0.95rem;
}
.pd-about-points li:first-child { border-top: none; }
.pd-about-points li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 14px;
	color: var(--pd-green);
	font-weight: 700;
}
.pd-about-points li strong { color: var(--pd-ink); }

@media (max-width: 900px) {
	.pd-hero-grid { grid-template-columns: 1fr; }
	.pd-hero-visual { order: -1; }
	.pd-sitemap-list { columns: 2; }
	.pd-sitemap-list-compact { columns: 1; }
	.pd-login-container { grid-template-columns: 1fr; }
	.pd-form-grid { grid-template-columns: 1fr; }
	.pd-product-row { grid-template-columns: 1fr; }
	.pd-cta-banner-grid { grid-template-columns: 1fr; }
	.pd-contact-grid-wrap { grid-template-columns: 1fr; }
	.pd-contact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
	.pd-single-body { grid-template-columns: 1fr; }
	.pd-single-body .pd-content { border-right: none; padding-right: 0; }
	.pd-search-form { flex-direction: column; }
	.pd-search-form input, .pd-search-form select { border-right: none; border-bottom: 1px solid var(--pd-rule); }
	.pd-sitemap-list { columns: 1; }
	.pd-region-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	.pd-dossier-card { transition: none; }
}

/* ============================================================
   Homepage Image Banners
   ============================================================ */

/* Full-bleed image banner with dark overlay + text */
.pd-image-banner {
	position: relative;
	background-size: cover;
	background-position: center;
	background-attachment: scroll;
	min-height: 480px;
	display: flex;
	align-items: center;
}
.pd-image-banner-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, rgba(14,42,71,0.88) 0%, rgba(14,42,71,0.60) 60%, rgba(14,42,71,0.30) 100%);
}
.pd-image-banner-inner {
	position: relative;
	z-index: 1;
	padding: 72px 24px;
	max-width: 700px;
}
.pd-image-banner-eyebrow {
	font-family: var(--pd-font-mono);
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: #12A594;
	margin-bottom: 14px;
}
.pd-image-banner h2 {
	font-size: 2.4rem;
	color: #fff;
	margin-bottom: 16px;
	line-height: 1.18;
}
.pd-image-banner p {
	color: rgba(255,255,255,0.82);
	font-size: 1.08rem;
	line-height: 1.7;
	margin-bottom: 28px;
}
.pd-btn-ghost {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255,255,255,0.45);
}
.pd-btn-ghost:hover { background: rgba(255,255,255,0.12); color: #fff; }

/* Stats bar version of the banner */
.pd-image-banner-stats {
	max-width: 1160px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	padding: 0 24px;
}
.pd-stat-card {
	padding: 52px 32px;
	text-align: center;
	border-right: 1px solid rgba(255,255,255,0.12);
}
.pd-stat-card:last-child { border-right: none; }
.pd-stat-card strong {
	display: block;
	font-family: var(--pd-font-display);
	font-size: 3rem;
	font-weight: 700;
	color: #12A594;
	line-height: 1;
	margin-bottom: 10px;
}
.pd-stat-card span {
	font-size: .88rem;
	color: rgba(255,255,255,0.75);
	line-height: 1.5;
}

/* Split banner: image left, content right */
.pd-split-banner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 520px;
}
.pd-split-banner-image {
	background-size: cover;
	background-position: center;
}
.pd-split-banner-content {
	background: var(--pd-ink);
	padding: 72px 56px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.pd-split-banner-content h2 {
	font-size: 2rem;
	color: #fff;
	margin: 8px 0 16px;
}
.pd-split-banner-content p {
	color: rgba(255,255,255,0.78);
	font-size: .97rem;
	line-height: 1.75;
	margin-bottom: 20px;
}
.pd-split-banner-points {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pd-split-banner-points li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 9px 0;
	border-top: 1px solid rgba(255,255,255,0.1);
	color: rgba(255,255,255,0.82);
	font-size: .9rem;
}
.pd-split-banner-points li:first-child { border-top: none; }
.pd-split-banner-points li span { color: #12A594; font-weight: 700; flex-shrink: 0; }

@media (max-width: 900px) {
	.pd-image-banner { min-height: 340px; }
	.pd-image-banner h2 { font-size: 1.7rem; }
	.pd-image-banner-stats { grid-template-columns: 1fr 1fr; }
	.pd-stat-card:nth-child(2) { border-right: none; }
	.pd-split-banner { grid-template-columns: 1fr; }
	.pd-split-banner-image { min-height: 240px; }
	.pd-split-banner-content { padding: 44px 28px; }
}
@media (max-width: 600px) {
	.pd-image-banner-stats { grid-template-columns: 1fr 1fr; }
	.pd-stat-card { padding: 32px 16px; }
	.pd-stat-card strong { font-size: 2.2rem; }
}

/* Merged SEO location text links (inside the regions section, below cards) */
.pd-region-seo-links {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--pd-rule);
	display: flex;
	flex-wrap: wrap;
	gap: 6px 0;
}
.pd-region-seo-links a {
	font-size: .82rem;
	color: var(--pd-ink-soft);
	text-decoration: none;
	padding: 3px 12px 3px 0;
}
.pd-region-seo-links a:hover { color: var(--pd-amber-dark); }
.pd-region-seo-links a::after {
	content: '·';
	margin-left: 12px;
	color: var(--pd-rule);
}
.pd-region-seo-links a:last-child::after { display: none; }

/* ============================================================
   FRONTEND DASHBOARDS — Manufacturer & Team
   ============================================================ */

.pd-frontend-dash {
	display: grid;
	grid-template-columns: 260px 1fr;
	min-height: calc(100vh - 80px);
	background: var(--pd-paper);
}

/* Sidebar */
.pd-dash-sidebar {
	background: var(--pd-ink);
	padding: 32px 20px 24px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	position: sticky;
	top: 0;
	height: 100vh;
	overflow-y: auto;
}
.pd-dash-team-avatar {
	width: 56px; height: 56px;
	border-radius: 50%;
	background: rgba(18,165,148,.2);
	border: 2px solid #12A594;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--pd-font-display);
	font-size: 1.2rem; font-weight: 700;
	color: #12A594;
	margin-bottom: 4px;
}
.pd-dash-company-name {
	font-weight: 600; font-size: .95rem;
	color: #fff; line-height: 1.3; margin-top: 8px;
}
.pd-dash-role-badge {
	font-family: var(--pd-font-mono);
	font-size: .68rem; text-transform: uppercase; letter-spacing: .08em;
	color: #12A594; margin-bottom: 16px;
}
.pd-dash-nav { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.pd-dash-nav-item {
	display: flex; align-items: center; gap: 10px;
	padding: 10px 12px; border-radius: 6px;
	color: rgba(255,255,255,.7); text-decoration: none;
	font-size: .88rem; transition: all .15s;
}
.pd-dash-nav-item:hover { background: rgba(255,255,255,.08); color: #fff; }
.pd-dash-nav-item.active { background: rgba(18,165,148,.18); color: #12A594; font-weight: 600; }
.pd-dash-nav-icon { font-size: 1rem; width: 20px; text-align: center; }
.pd-dash-badge { background: #12A594; color: #fff; font-size: .68rem; font-weight: 700; padding: 1px 6px; border-radius: 10px; margin-left: 4px; }
.pd-dash-logout { margin-top: auto; padding: 10px 12px; color: rgba(255,255,255,.45); font-size: .83rem; text-decoration: none; }
.pd-dash-logout:hover { color: #fff; }

/* Main area */
.pd-dash-main {
	padding: 36px 40px;
	max-width: 920px;
}
.pd-dash-title {
	font-family: var(--pd-font-display);
	font-size: 1.6rem; color: var(--pd-ink); margin-bottom: 24px; font-weight: 700;
}
.pd-dash-hint { color: var(--pd-ink-soft); font-size: .9rem; margin-bottom: 20px; }

/* Stat cards */
.pd-dash-stats-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; margin-bottom: 28px; }
.pd-dash-stat-card {
	background: #fff; border: 1px solid var(--pd-rule);
	border-radius: 10px; padding: 20px 18px;
	display: flex; flex-direction: column; gap: 4px;
}
.pd-dash-stat-card strong { font-family: var(--pd-font-display); font-size: 2rem; color: var(--pd-ink); line-height: 1; }
.pd-dash-stat-card strong small { font-size: 1rem; color: var(--pd-ink-soft); }
.pd-dash-stat-card span { font-size: .8rem; color: var(--pd-ink-soft); }
.pd-dash-stat-link { font-size: .78rem; color: var(--pd-amber); text-decoration: none; margin-top: 4px; }
.pd-dash-stat-alert { border-top: 3px solid #12A594; }

/* Quick actions */
.pd-dash-actions-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; margin-bottom: 32px; }
.pd-dash-action {
	display: flex; flex-direction: column; align-items: center; gap: 8px;
	padding: 20px 12px; background: #fff;
	border: 1px solid var(--pd-rule); border-radius: 10px;
	text-decoration: none; color: var(--pd-ink); font-size: .85rem; font-weight: 500;
	transition: all .15s;
}
.pd-dash-action:hover { border-color: var(--pd-amber); color: var(--pd-amber-dark); box-shadow: 0 4px 12px rgba(18,165,148,.1); }
.pd-dash-action-icon { font-size: 1.6rem; }

/* Lead cards */
.pd-dash-leads-list { display: flex; flex-direction: column; gap: 16px; }
.pd-dash-lead-card {
	background: #fff; border: 1px solid var(--pd-rule);
	border-radius: 10px; padding: 20px 22px;
}
.pd-dash-lead-card-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; }
.pd-dash-lead-company { font-size: .82rem; color: var(--pd-ink-soft); display: block; margin-top: 2px; }
.pd-dash-lead-message { color: var(--pd-ink-soft); font-size: .9rem; line-height: 1.6; margin-bottom: 12px; }
.pd-dash-lead-contact { display: flex; gap: 20px; font-size: .83rem; }
.pd-dash-lead-contact a { color: var(--pd-amber); text-decoration: none; }
.pd-dash-lead-date { font-family: var(--pd-font-mono); font-size: .75rem; color: var(--pd-ink-soft); white-space: nowrap; }

/* Recent leads row */
.pd-dash-recent h3 { margin-bottom: 12px; font-size: 1rem; font-weight: 600; display: flex; align-items: center; gap: 12px; }
.pd-dash-see-all { font-size: .82rem; color: var(--pd-amber); text-decoration: none; font-weight: 400; }
.pd-dash-lead-row { display: grid; grid-template-columns: 1fr 2fr auto; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--pd-rule); align-items: center; }
.pd-dash-lead-row:last-child { border-bottom: none; }
.pd-dash-lead-meta { display: flex; flex-direction: column; }
.pd-dash-lead-meta strong { font-size: .88rem; color: var(--pd-ink); }
.pd-dash-lead-meta span { font-size: .78rem; color: var(--pd-ink-soft); }
.pd-dash-lead-msg { font-size: .84rem; color: var(--pd-ink-soft); }

/* Alert banner */
.pd-dash-alert {
	background: #FFF8E1; border: 1px solid #FFD54F; border-radius: 8px;
	padding: 14px 18px; font-size: .88rem; color: #795548; margin-bottom: 24px;
}
.pd-dash-alert a { color: var(--pd-amber-dark); }

/* Profile grid */
.pd-dash-profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
.pd-dash-profile-field { background: #fff; border: 1px solid var(--pd-rule); border-radius: 8px; padding: 14px 16px; }
.pd-dash-profile-label { display: block; font-size: .73rem; font-family: var(--pd-font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--pd-ink-soft); margin-bottom: 4px; }
.pd-dash-profile-value { font-size: .92rem; color: var(--pd-ink); font-weight: 500; }

/* Table */
.pd-dash-table-wrap { overflow-x: auto; }
.pd-dash-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--pd-rule); border-radius: 10px; overflow: hidden; font-size: .87rem; }
.pd-dash-table thead { background: var(--pd-paper); }
.pd-dash-table th { padding: 12px 14px; text-align: left; font-weight: 600; color: var(--pd-ink-soft); font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.pd-dash-table td { padding: 12px 14px; border-top: 1px solid var(--pd-rule); color: var(--pd-ink); vertical-align: middle; }
.pd-dash-table tr:hover td { background: var(--pd-paper); }
.pd-dash-contact-cell { font-size: .82rem; }

/* Lead allotment */
.pd-dash-lead-allot-card { background: #fff; border: 1px solid var(--pd-rule); border-radius: 10px; padding: 22px; margin-bottom: 20px; }
.pd-dash-lead-allot-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; }
.pd-dash-supplier-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; margin: 14px 0; }
.pd-dash-supplier-option {
	display: flex; flex-direction: column; gap: 3px;
	padding: 10px 12px; border: 1px solid var(--pd-rule); border-radius: 6px;
	cursor: pointer; transition: all .15s; font-size: .85rem;
}
.pd-dash-supplier-option:has(input:checked) { border-color: #12A594; background: #E3F4F1; }
.pd-dash-supplier-option.disabled { opacity: .5; cursor: not-allowed; }
.pd-dash-supplier-option small { font-size: .73rem; color: var(--pd-ink-soft); }
.pd-dash-allot-footer { display: flex; align-items: center; gap: 14px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--pd-rule); }
.pd-selected-count { font-size: .83rem; color: var(--pd-ink-soft); }

/* Badges */
.pd-dash-badge-tag { font-family: var(--pd-font-mono); font-size: .7rem; padding: 2px 8px; border-radius: 10px; background: var(--pd-paper); color: var(--pd-ink-soft); border: 1px solid var(--pd-rule); }
.pd-dash-badge-tag.new { background: #E3F4F1; color: #0C7A6C; border-color: #12A594; }
.pd-btn-sm { padding: 5px 12px; font-size: .8rem; }

/* Empty section */
.pd-dash-empty-section { background: #fff; border: 1px dashed var(--pd-rule); border-radius: 10px; padding: 40px; text-align: center; color: var(--pd-ink-soft); }

/* ============================================================
   PRODUCT CARDS — new design
   ============================================================ */

.pd-product-cards {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, 1fr);
}
.pd-product-cards.pd-product-cols-2 { grid-template-columns: repeat(2, 1fr); }
.pd-product-cards.pd-product-cols-4 { grid-template-columns: repeat(4, 1fr); }

.pd-product-card-v2 {
	background: #fff;
	border: 1px solid var(--pd-rule);
	border-radius: 10px;
	overflow: hidden;
	transition: box-shadow .2s, transform .2s;
	display: flex;
	flex-direction: column;
}
.pd-product-card-v2:hover { box-shadow: 0 8px 28px rgba(0,0,0,.09); transform: translateY(-2px); }

.pd-product-card-img { aspect-ratio: 4/3; overflow: hidden; background: var(--pd-paper); }
.pd-product-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-product-card-img-placeholder {
	width: 100%; height: 100%;
	display: flex; align-items: center; justify-content: center;
}

.pd-product-card-body { padding: 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.pd-product-card-name { font-size: .97rem; font-weight: 700; color: var(--pd-ink); margin: 0; line-height: 1.3; }
.pd-product-card-composition { font-size: .78rem; color: var(--pd-amber-dark); font-family: var(--pd-font-mono); line-height: 1.4; }
.pd-product-card-meta { font-size: .8rem; color: var(--pd-ink-soft); }
.pd-product-card-label { font-weight: 600; color: var(--pd-ink); }
.pd-product-card-desc { font-size: .82rem; color: var(--pd-ink-soft); line-height: 1.5; margin-top: 4px; }
.pd-product-card-mfr { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--pd-rule); }
.pd-product-card-mfr-link {
	display: inline-flex; align-items: center; gap: 5px;
	font-size: .78rem; color: var(--pd-ink-soft); text-decoration: none;
}
.pd-product-card-mfr-link:hover { color: var(--pd-amber); }

/* ============================================================
   SEARCH PANEL — multi-select category pills
   ============================================================ */

.pd-search-panel {
	background: #fff;
	border: 1px solid var(--pd-rule);
	border-radius: 10px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.pd-search-row { display: flex; gap: 12px; align-items: flex-end; }
.pd-search-field { display: flex; flex-direction: column; gap: 4px; }
.pd-search-keyword { flex: 1; }
.pd-search-location { width: 180px; }
.pd-search-label { font-size: .73rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--pd-ink-soft); }
.pd-search-field input, .pd-search-field select {
	border: 1px solid var(--pd-rule); border-radius: 6px;
	padding: 10px 14px; font-size: .9rem; color: var(--pd-ink);
	background: var(--pd-paper); width: 100%;
}
.pd-search-field input:focus, .pd-search-field select:focus { outline: none; border-color: var(--pd-amber); background: #fff; }
.pd-search-btn {
	display: inline-flex; align-items: center; gap: 8px;
	background: var(--pd-ink); color: #fff;
	border: none; border-radius: 6px;
	padding: 10px 20px; font-size: .9rem; font-weight: 600; cursor: pointer;
	white-space: nowrap; transition: background .15s;
}
.pd-search-btn:hover { background: var(--pd-amber); }

/* Category filter pills */
.pd-category-filter { display: flex; align-items: flex-start; gap: 10px; flex-wrap: wrap; }
.pd-cat-filter-label { font-size: .78rem; font-weight: 600; color: var(--pd-ink-soft); padding-top: 4px; white-space: nowrap; }
.pd-cat-pills { display: flex; flex-wrap: wrap; gap: 6px; flex: 1; }
.pd-cat-pill {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 5px 12px; border-radius: 20px;
	border: 1px solid var(--pd-rule); background: var(--pd-paper);
	font-size: .8rem; color: var(--pd-ink-soft); cursor: pointer;
	transition: all .15s; user-select: none;
	font-family: inherit; line-height: 1.4; /* reset button defaults */
}
.pd-cat-pill:hover { border-color: var(--pd-amber); color: var(--pd-amber-dark); background: var(--pd-paper); }
.pd-cat-pill.active { background: var(--pd-amber); border-color: var(--pd-amber); color: #fff; }
.pd-cat-pill.active:hover { background: var(--pd-amber-dark); border-color: var(--pd-amber-dark); }
.pd-cat-pill-count { font-size: .72rem; opacity: .7; }
.pd-cat-clear {
	font-size: .78rem; color: var(--pd-ink-soft); cursor: pointer;
	border: none; background: none; padding: 4px 8px; font-family: inherit;
	white-space: nowrap;
}
.pd-cat-clear:hover { color: var(--pd-amber); }

/* Login prompt */
.pd-dash-login, .pd-dash-empty {
	max-width: 480px; margin: 80px auto; text-align: center; padding: 40px;
	background: #fff; border: 1px solid var(--pd-rule); border-radius: 12px;
}

/* Responsive */
@media (max-width: 900px) {
	.pd-frontend-dash { grid-template-columns: 1fr; }
	.pd-dash-sidebar { height: auto; position: static; padding: 20px; flex-direction: row; flex-wrap: wrap; }
	.pd-dash-nav { flex-direction: row; flex-wrap: wrap; flex: none; width: 100%; }
	.pd-dash-logout { margin-top: 0; }
	.pd-dash-main { padding: 24px 16px; }
	.pd-product-cards { grid-template-columns: repeat(2, 1fr); }
	.pd-search-row { flex-wrap: wrap; }
	.pd-search-location { width: 100%; }
	.pd-dash-profile-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.pd-product-cards { grid-template-columns: 1fr; }
}

/* Archive tabs */
.pd-archive-tabs { display: flex; gap: 4px; margin-top: 20px; border-bottom: 2px solid var(--pd-rule); padding-bottom: 0; }
.pd-archive-tab {
	padding: 10px 20px; font-size: .9rem; font-weight: 600;
	color: var(--pd-ink-soft); text-decoration: none;
	border-bottom: 2px solid transparent; margin-bottom: -2px;
	transition: all .15s;
}
.pd-archive-tab:hover { color: var(--pd-ink); }
.pd-archive-tab.active { color: var(--pd-ink); border-bottom-color: var(--pd-ink); }

/* Submit listing — multi-select category pills */
.pd-form-grid-full { grid-column: 1 / -1; }
.pd-form-field-label {
	display: block;
	font-size: .85rem;
	font-weight: 600;
	color: var(--pd-ink);
	margin-bottom: 10px;
}
.pd-submit-cat-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 14px;
	background: var(--pd-paper);
	border: 1px solid var(--pd-rule);
	border-radius: 8px;
	min-height: 52px;
}
.pd-submit-cat-pills .pd-cat-pill {
	/* inherit .pd-cat-pill base styles */
	font-size: .85rem;
	padding: 6px 14px;
}
.pd-submit-cat-pills .pd-cat-pill.active {
	background: var(--pd-amber);
	border-color: var(--pd-amber);
	color: #fff;
}

/* =========================================================
   Mobile / Tablet navigation menu — v2 (pure CSS, no JS)
   The toggle is driven entirely by a hidden checkbox + <label>s
   (see header.php), so no JavaScript is involved and no
   caching/optimization plugin can break it.
   ========================================================= */

/* Hide the real checkbox — it's still fully functional via its <label>s */
.pd-nav-toggle-checkbox {
	position: absolute !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Hamburger button — ~30% larger than the original 40px */
.pd-nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 7px;
	width: 52px;
	height: 52px;
	background: none;
	border: 1px solid var(--pd-rule);
	border-radius: 8px;
	cursor: pointer;
	padding: 0;
	flex-shrink: 0;
}
.pd-nav-toggle-bar {
	display: block;
	width: 26px;
	height: 3px;
	border-radius: 2px;
	background: var(--pd-ink);
	transition: transform .2s ease, opacity .2s ease;
}

/* Bug fix: this was missing a default hidden state outside the media
   query. A <label> defaults to display:inline in every browser, so
   without this rule the × text rendered plainly in the desktop nav row. */
.pd-nav-close {
	display: none;
}

/* Animate into an X while open */
.pd-nav-toggle-checkbox:checked ~ .pd-site-header .pd-nav-toggle .pd-nav-toggle-bar:nth-child(1) {
	transform: translateY(10px) rotate(45deg);
}
.pd-nav-toggle-checkbox:checked ~ .pd-site-header .pd-nav-toggle .pd-nav-toggle-bar:nth-child(2) {
	opacity: 0;
}
.pd-nav-toggle-checkbox:checked ~ .pd-site-header .pd-nav-toggle .pd-nav-toggle-bar:nth-child(3) {
	transform: translateY(-10px) rotate(-45deg);
}

/* Dark overlay behind the panel */
.pd-nav-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(14, 42, 71, 0.35);
	z-index: 49;
	cursor: pointer;
}
.pd-nav-toggle-checkbox:checked ~ .pd-nav-overlay {
	display: block;
}

@media (max-width: 900px) {
	.pd-nav-toggle { display: flex; }
	.pd-nav-close { display: flex; }

	.pd-nav {
		position: fixed;
		top: 0;
		right: 0;
		width: min(300px, 84vw);
		height: 100vh;
		background: var(--pd-surface);
		border-left: 1px solid var(--pd-rule);
		flex-direction: column;
		align-items: flex-start;
		gap: 2px;
		padding: 64px 20px 20px;
		margin: 0;
		transform: translateX(100%);
		transition: transform .25s ease;
		z-index: 50;
		overflow-y: auto;
	}

	.pd-nav-close {
		display: flex;
		position: absolute;
		top: 14px;
		right: 14px;
		width: 36px;
		height: 36px;
		align-items: center;
		justify-content: center;
		font-size: 1.7rem;
		line-height: 1;
		color: var(--pd-ink);
		cursor: pointer;
		border-radius: 6px;
	}
	.pd-nav-close:hover { background: var(--pd-paper); }

	/* The actual open state — driven purely by :checked, no JS class needed */
	.pd-nav-toggle-checkbox:checked ~ .pd-site-header .pd-nav {
		transform: translateX(0);
		box-shadow: -8px 0 24px rgba(0, 0, 0, 0.12);
	}

	.pd-nav a {
		width: 100%;
		padding: 12px 8px;
		border-bottom: 1px solid var(--pd-rule);
		font-size: 1rem;
	}
	.pd-nav .pd-nav-cta {
		text-align: center;
		margin-top: 10px;
		display: block;
	}
}