/*
Theme Name: ListingHive UK Clinics
Theme URI: https://peptidescm.net/wp
Description: Child theme of ListingHive for the PeptideSCM.net columns (clinic directory, finished products, API plants, dosing protocols). Renders HivePress listing single pages in the style of the MyPeptideMatch pages (hero with rating + review count + status tags, About, Treatment Categories, Pricing, FAQ, Contact & Location).
Template: listinghive
Version: 1.3.0
Author: WorkBuddy
License: GPL-2.0-or-later
Text Domain: listinghive-ukclinics
*/

/* =========================================================
   Single listing page styling (clinic directory / products / API plants)
   Goal: functional equivalence with mypeptidematch.com
   clinic pages (same sections / same layout feel).
   ========================================================= */

/* ---- Layout container ---- */
.ukc-wrap {
	max-width: 1080px;
	margin: 0 auto;
	padding: 24px 16px 64px;
}
.ukc-grid {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 28px;
	align-items: start;
}
@media (max-width: 860px) {
	.ukc-grid { grid-template-columns: 1fr; }
}

/* ---- Hero ---- */
.ukc-hero {
	grid-column: 1 / -1;
	background: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%);
	color: #fff;
	border-radius: 16px;
	padding: 28px 28px 24px;
	box-shadow: 0 8px 24px rgba(15,118,110,.18);
}
.ukc-hero__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}
.ukc-hero h1 {
	font-size: 28px;
	margin: 0;
	font-weight: 700;
	line-height: 1.2;
}
.ukc-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(255,255,255,.18);
	color: #fff;
}
.ukc-badge--verified { background: #fde68a; color: #78350f; }
.ukc-hero__meta {
	margin-top: 12px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
	font-size: 14px;
}
.ukc-stars { color: #fbbf24; letter-spacing: 2px; font-size: 16px; }
.ukc-reviews { opacity: .9; }
.ukc-statustags { display: flex; flex-wrap: wrap; gap: 8px; }
.ukc-statustag {
	background: rgba(255,255,255,.16);
	border: 1px solid rgba(255,255,255,.3);
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 12.5px;
}
.ukc-cta {
	margin-top: 18px;
	display: inline-block;
	background: #fff;
	color: #0f766e;
	font-weight: 700;
	padding: 11px 22px;
	border-radius: 10px;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
.ukc-cta:hover { background: #ecfeff; }

/* ---- Sections ---- */
.ukc-section { margin-top: 28px; }
.ukc-section__title {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 14px;
	padding-bottom: 8px;
	border-bottom: 2px solid #0f766e;
	color: #0f172a;
}
.ukc-prose { color: #334155; line-height: 1.75; font-size: 15px; }
.ukc-prose p { margin: 0 0 12px; }

/* ---- Tag cloud (treatments) ---- */
.ukc-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.ukc-tag {
	background: #ecfdf5;
	color: #047857;
	border: 1px solid #a7f3d0;
	padding: 6px 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}
.ukc-tag:hover { background: #d1fae5; }

/* ---- Cards (sidebar) ---- */
.ukc-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 18px;
	margin-bottom: 18px;
	box-shadow: 0 2px 8px rgba(15,23,42,.04);
}
.ukc-card__title {
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 12px;
	color: #0f172a;
	display: flex;
	align-items: center;
	gap: 8px;
}
.ukc-card__title::before {
	content: "";
	width: 4px; height: 16px;
	background: #0f766e; border-radius: 2px;
}
.ukc-row { display: flex; gap: 10px; padding: 7px 0; border-bottom: 1px dashed #eef2f7; }
.ukc-row:last-child { border-bottom: 0; }
.ukc-row__label { width: 92px; flex: 0 0 92px; color: #64748b; font-size: 13px; }
.ukc-row__value { flex: 1; color: #0f172a; font-size: 14px; word-break: break-word; }
.ukc-row__value a { color: #0f766e; text-decoration: none; }
.ukc-row__value a:hover { text-decoration: underline; }

/* ---- Contact list ---- */
.ukc-contact { display: flex; flex-direction: column; gap: 10px; }
.ukc-contact__row { display: flex; gap: 10px; align-items: flex-start; }
.ukc-contact__dot { width: 8px; height: 8px; border-radius: 50%; background: #14b8a6; margin-top: 6px; flex: 0 0 8px; }
.ukc-contact__label { color: #64748b; font-size: 13px; }
.ukc-contact__value { color: #0f172a; font-size: 14px; }

/* ---- Hours grid ---- */
.ukc-hours { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; font-size: 13.5px; }
.ukc-hours div { display: flex; justify-content: space-between; padding: 3px 0; border-bottom: 1px dashed #eef2f7; }
.ukc-hours .day { color: #64748b; }
.ukc-hours .closed { color: #ef4444; }

/* ---- Pricing ---- */
.ukc-price {
	display: flex; align-items: baseline; gap: 8px;
	font-size: 15px; color: #0f172a;
}
.ukc-price b { font-size: 22px; color: #0f766e; }
.ukc-price .unit { color: #64748b; font-size: 13px; }

/* ---- FAQ ---- */
.ukc-faq { display: flex; flex-direction: column; gap: 10px; }
.ukc-faq__item {
	border: 1px solid #e2e8f0; border-radius: 10px; overflow: hidden;
}
.ukc-faq__q {
	background: #f8fafc; padding: 12px 14px; font-weight: 600; color: #0f172a; cursor: pointer;
}
.ukc-faq__a { padding: 12px 14px; color: #334155; font-size: 14px; line-height: 1.7; }

/* ---- Overview mini blocks ---- */
.ukc-trust__row { display: flex; align-items: center; gap: 8px; padding: 6px 0; }
.ukc-trust__label { color: #64748b; font-size: 13px; min-width: 72px; }

/* ---- Region tree (archive) ---- */

/* =========================================================
   Directory / region tree — clinic cards
   ========================================================= */
.ukc-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 16px;
	margin: 0 0 22px;
}
.ukc-card--clinic {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 0;
	transition: box-shadow .18s ease, transform .18s ease;
}
.ukc-card--clinic:hover {
	box-shadow: 0 8px 22px rgba(15,23,42,.10);
	transform: translateY(-2px);
}
.ukc-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
}
.ukc-card__name {
	margin: 0;
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.3;
}
.ukc-card__name a { color: #0f172a; text-decoration: none; }
.ukc-card__name a:hover { color: #0f766e; }

/* Verified badge on a light card needs dark text. */
.ukc-card--clinic .ukc-badge--verified {
	background: #fef3c7;
	color: #92400e;
	border: 1px solid #fcd34d;
}

.ukc-card__rating {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	color: #0f172a;
}
.ukc-card--clinic .ukc-statustags { margin-top: 2px; }
.ukc-card--clinic .ukc-statustag {
	background: #f1f5f9;
	border-color: #e2e8f0;
	color: #475569;
}
.ukc-card__meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 13px;
	color: #64748b;
}
.ukc-card__excerpt {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.65;
	color: #475569;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ukc-card__foot {
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px dashed #eef2f7;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
}
.ukc-cta--sm {
	margin-top: 0;
	padding: 7px 14px;
	font-size: 13px;
	background: #0f766e;
	color: #fff;
	border-radius: 8px;
}
.ukc-cta--sm:hover { background: #0d9488; color: #fff; }

.ukc-count {
	display: inline-block;
	margin-left: 8px;
	font-size: 12px;
	font-weight: 600;
	color: #0f766e;
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	border-radius: 999px;
	padding: 2px 9px;
	vertical-align: middle;
}

/* ---- Empty state ---- */
.ukc-empty { color: #94a3b8; font-size: 13px; font-style: italic; }

/* Hide the default HivePress title (name is rendered in the hero). */
.hp-listing__title { display: none; }

/* =========================================================
   多肽制成品目录 — product single page + catalog
   Accent = indigo, so products read differently from the
   teal clinic pages while keeping the same layout system.
   ========================================================= */

/* ---- Hero ---- */
.ukp-main { min-width: 0; }
.ukp-hero {
	grid-column: 1 / -1;
	background: linear-gradient(135deg, #312e81 0%, #4f46e5 100%);
	color: #fff;
	border-radius: 16px;
	padding: 28px 28px 24px;
	box-shadow: 0 8px 24px rgba(79,70,229,.18);
}
.ukp-hero__brand {
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity: .85;
	margin-bottom: 8px;
}
.ukp-hero__title {
	font-size: 28px;
	font-weight: 700;
	margin: 0;
	line-height: 1.2;
}
.ukp-hero__sub { margin-top: 8px; font-size: 14.5px; opacity: .92; }
.ukp-hero__rating {
	margin-top: 14px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
}
.ukp-hero__rating .ukc-stars { color: #fcd34d; }
.ukp-hero__badges {
	margin-top: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.ukp-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12.5px;
	font-weight: 600;
	padding: 4px 11px;
	border-radius: 999px;
	background: rgba(255,255,255,.16);
	border: 1px solid rgba(255,255,255,.28);
	color: #fff;
}
.ukp-badge--sale { background: #f43f5e; border-color: #f43f5e; color: #fff; }
.ukp-badge--cert { background: #ecfdf5; border-color: #a7f3d0; color: #047857; }

.ukp-hero__buy {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid rgba(255,255,255,.22);
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}
.ukp-hero__stock { font-size: 13.5px; opacity: .95; }
.ukp-stockline { display: flex; align-items: center; gap: 8px; }
.ukp-dot {
	width: 8px; height: 8px; border-radius: 50%;
	background: #4ade80; flex: 0 0 8px;
	box-shadow: 0 0 0 3px rgba(74,222,128,.25);
}
.ukp-delivery { margin-top: 4px; font-size: 13px; opacity: .85; }
.ukp-price {
	font-size: 16px;
	font-weight: 700;
	color: #4f46e5;
	white-space: nowrap;
}
.ukp-price--lg { font-size: 26px; color: #fff; }
.ukc-cta--sm.ukc-cta { background: #4f46e5; }

/* ---- Specification grid ---- */
.ukp-specgrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1px;
	background: #e2e8f0;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
}
.ukp-specgrid__item {
	background: #fff;
	padding: 12px 14px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.ukp-specgrid__label { font-size: 12.5px; color: #64748b; }
.ukp-specgrid__value { font-size: 14.5px; font-weight: 600; color: #0f172a; }

/* ---- Dosing table ---- */
.ukp-tablewrap {
	overflow-x: auto;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
}
.ukp-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ukp-table th {
	background: #f8fafc;
	text-align: left;
	padding: 11px 14px;
	font-weight: 700;
	color: #0f172a;
	border-bottom: 1px solid #e2e8f0;
	white-space: nowrap;
}
.ukp-table td {
	padding: 10px 14px;
	border-bottom: 1px solid #f1f5f9;
	color: #334155;
}
.ukp-table tbody tr:last-child td { border-bottom: 0; }
.ukp-table tbody tr:hover { background: #fafbff; }

/* ---- Bullet lists (storage / package / usage) ---- */
.ukp-list {
	margin: 0;
	padding-left: 20px;
	color: #334155;
	font-size: 14.5px;
	line-height: 1.8;
}
.ukp-list li { margin-bottom: 4px; }

/* ---- Disclaimer ---- */
.ukp-disclaimer {
	margin-top: 28px;
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-left: 4px solid #f59e0b;
	border-radius: 12px;
	padding: 16px 18px;
}
.ukp-disclaimer__title {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 700;
	color: #92400e;
}
.ukp-disclaimer .ukc-prose { color: #78350f; font-size: 13.5px; }

/* ---- Catalog: filter chips ---- */
.ukp-filters {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 14px 16px;
	margin-bottom: 20px;
}
.ukp-filters__group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 6px 0;
}
.ukp-filters__label {
	font-size: 13px;
	font-weight: 700;
	color: #0f172a;
	min-width: 68px;
}
.ukp-chip {
	font-size: 13px;
	padding: 5px 12px;
	border-radius: 999px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	color: #475569;
	text-decoration: none;
}
.ukp-chip:hover { background: #eef2ff; color: #4f46e5; }
.ukp-chip.is-active {
	background: #4f46e5;
	border-color: #4f46e5;
	color: #fff;
	font-weight: 600;
}

/* ---- Catalog: product cards ---- */
.ukp-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 16px;
}
.ukp-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	box-shadow: 0 2px 8px rgba(15,23,42,.04);
	transition: box-shadow .18s ease, transform .18s ease;
}
.ukp-card:hover {
	box-shadow: 0 8px 22px rgba(15,23,42,.10);
	transform: translateY(-2px);
}
.ukp-card__brand {
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #6366f1;
	margin-bottom: 4px;
}
.ukp-card__name {
	margin: 0;
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.3;
}
.ukp-card__name a { color: #0f172a; text-decoration: none; }
.ukp-card__name a:hover { color: #4f46e5; }
.ukp-card__sub { font-size: 13px; color: #64748b; }
.ukp-card__badges { display: flex; flex-wrap: wrap; gap: 6px; }
.ukp-card .ukp-badge {
	background: #f1f5f9;
	border-color: #e2e8f0;
	color: #475569;
}
.ukp-card .ukp-badge--sale { background: #f43f5e; border-color: #f43f5e; color: #fff; }
.ukp-card .ukp-badge--cert { background: #ecfdf5; border-color: #a7f3d0; color: #047857; }
.ukp-card__rating {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	color: #0f172a;
}
.ukp-card__spec {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 12.5px;
	color: #475569;
}
.ukp-card__spec span {
	background: #f8fafc;
	border: 1px solid #eef2f7;
	border-radius: 6px;
	padding: 3px 8px;
}
.ukp-card__excerpt {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.65;
	color: #475569;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ukp-card__foot {
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px dashed #eef2f7;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
}
.ukp-card__foot .ukc-cta--sm { background: #4f46e5; color: #fff; }
.ukp-card__foot .ukc-cta--sm:hover { background: #4338ca; color: #fff; }

/* Secondary tag colour (application areas). */
.ukc-tag--alt {
	background: #eef2ff;
	color: #4338ca;
	border-color: #c7d2fe;
}

/* ---- Product imagery (catalog card + detail hero) ---- */
.ukp-card__media { display: block; margin: -18px -18px 14px; border-radius: 14px 14px 0 0; overflow: hidden; background: #f1f5f9; }
.ukp-card__img { display: block; width: 100%; height: 168px; object-fit: contain; }

.ukp-hero__head { display: flex; gap: 22px; align-items: flex-start; flex-wrap: wrap; }
.ukp-hero__headtext { flex: 1 1 320px; min-width: 260px; }
.ukp-hero__media {
	flex: 0 0 240px; max-width: 240px; background: #fff; border: 1px solid #e2e8f0;
	border-radius: 14px; padding: 10px; box-shadow: 0 6px 18px rgba(15, 23, 42, .06);
}
.ukp-hero__img { display: block; width: 100%; height: auto; max-height: 240px; object-fit: contain; }

@media (max-width: 640px) {
	.ukp-hero__media { flex: 1 1 100%; max-width: 100%; }
	.ukp-card__img { height: 140px; }
}

/* =========================================================
   Site header — MyPeptideMatch mirror look
   Dark sticky bar (h-16 / #0A0A0A / 1280px content width),
   logo image, white nav links, mobile slide-in drawer.
   ========================================================= */

.mpm-header {
	position: sticky;
	top: 0;
	z-index: 900;
	background: #0A0A0A;
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.mpm-header__inner {
	display: flex;
	flex-wrap: wrap;             /* 十个栏目放不下时整条导航换到第二行 */
	align-items: center;
	justify-content: space-between;
	gap: 4px 16px;
	min-height: 56px;            /* 由 height 改为 min-height, 容纳多行导航 */
	max-width: 1280px;
	margin: 0 auto;
	padding: 6px 16px;
}
@media (min-width: 640px)  { .mpm-header__inner { padding: 0 24px; } }
@media (min-width: 1024px) { .mpm-header__inner { padding: 0 32px; } }

/* ---- Logo ---- */
.mpm-header__logo {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	order: 1;
	text-decoration: none;
}
.mpm-header__logo img {
	height: 40px;
	width: auto;
	display: block;
}
.mpm-header__logotype {
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -.01em;
	white-space: nowrap;
}

/* ---- Desktop nav: 10 top-level columns, labels wrap onto ≤3 lines ---- */
.mpm-nav {
	display: none;
	order: 4;                    /* logo / actions / burger 一行, 导航占整行 */
	flex: 0 0 100%;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0 10px;
	margin: 0;
	padding-top: 4px;
	border-top: 1px solid rgba(255, 255, 255, .08);
}
.mpm-nav__link {
	flex: 1 1 20%;               /* 每行 4 项, 12 个栏目正好 3 行; 窄屏自动再折 */
	min-width: 140px;
	max-width: 320px;
	display: -webkit-box;
	-webkit-line-clamp: 3;       /* 文字最多三行, 超出省略 */
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 13.5px;
	line-height: 1.2;
	font-weight: 600;
	color: rgba(255, 255, 255, .9);
	text-decoration: none;
	white-space: normal;
	overflow-wrap: break-word;
	text-align: left;
	transition: color .15s ease;
	padding: 2px 2px 4px;
	border-bottom: 2px solid transparent;
}
.mpm-nav__link:hover,
.mpm-nav__link:focus { color: #fff; }
.mpm-nav__link--current {
	color: #fff;
	border-bottom-color: #0b7c84;
}
/* 栏目尚未建设: 显示但不可点 */
.mpm-nav__link--soon {
	color: rgba(255, 255, 255, .45);
	font-weight: 500;
	cursor: default;
}
.mpm-nav__link--soon:hover,
.mpm-nav__link--soon:focus { color: rgba(255, 255, 255, .45); }
.mpm-nav__divider {
	width: 1px;
	height: 20px;
	background: rgba(255, 255, 255, .25);
	flex: 0 0 auto;
}
@media (min-width: 900px) {
	.mpm-nav { display: flex; }
}

/* ---- Actions ---- */
.mpm-header__actions {
	display: none;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
	order: 2;
	margin-left: auto;           /* 第一行右侧 */
}
.mpm-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 38px;
	padding: 0 14px;
	border-radius: 999px;
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	background: #0b7c84;
	color: #fff;
	border: 1px solid #0b7c84;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.mpm-action:hover { background: #0a6d74; border-color: #0a6d74; color: #fff; }
.mpm-action--ghost {
	background: transparent;
	border-color: rgba(255, 255, 255, .25);
	color: #fff;
}
.mpm-action--ghost:hover { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .45); }
.mpm-action--icon { padding: 0 10px; }
.mpm-action__icon { color: #14b8a6; flex: 0 0 auto; }
.mpm-action--soon .mpm-action__icon { color: #14b8a6; }
.mpm-action__caret { opacity: .7; flex: 0 0 auto; margin-left: 2px; }
.mpm-action__sep { opacity: .5; margin: 0 2px; }
.mpm-action--soon {
	cursor: default;
	pointer-events: none;
}
@media (min-width: 900px) {
	.mpm-header__actions { display: flex; }
}

/* HivePress user menu rendered inside the dark bar */
.mpm-header__hivepress { display: flex; align-items: center; gap: 8px; }
.mpm-header__hivepress a,
.mpm-header__hivepress .hp-menu__item {
	color: #fff !important;
	text-decoration: none;
}
.mpm-header__hivepress ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; }

/* ---- Burger ---- */
.mpm-burger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	order: 3;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #fff;
	cursor: pointer;
}
.mpm-burger:hover { background: rgba(255, 255, 255, .1); }
@media (min-width: 900px) {
	.mpm-burger { display: none; }
}

/* ---- Mobile drawer ---- */
.mpm-drawer-backdrop {
	position: fixed;
	inset: 0;
	z-index: 940;
	background: rgba(0, 0, 0, .5);
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s ease;
}
.mpm-drawer-backdrop.is-open { opacity: 1; pointer-events: auto; }

.mpm-drawer {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 950;
	display: flex;
	flex-direction: column;
	width: 320px;
	max-width: 85vw;
	height: 100%;
	background: #fff;
	box-shadow: 0 10px 40px rgba(0, 0, 0, .18);
	transform: translateX(100%);
	transition: transform .3s ease;
}
.mpm-drawer.is-open { transform: translateX(0); }
body.mpm-drawer-open { overflow: hidden; }

.mpm-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px;
	border-bottom: 1px solid #e5e7eb;
}
.mpm-drawer__title { font-weight: 600; color: #333; }
.mpm-drawer__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #6b7280;
	cursor: pointer;
}
.mpm-drawer__close:hover { background: #F7F8F9; }

.mpm-drawer__nav {
	display: flex;
	flex-direction: column;
	gap: 2px;
	overflow-y: auto;
	padding: 12px;
}
.mpm-drawer__link {
	display: block;
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 500;
	color: #333;
	text-decoration: none;
}
.mpm-drawer__link:hover { background: #F7F8F9; }
.mpm-drawer__link--soon { color: #9aa3a8; cursor: default; }
.mpm-drawer__link--soon:hover { background: transparent; }
.mpm-drawer__divider { height: 1px; margin: 6px 0; background: #e5e7eb; }

.mpm-drawer__foot {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px;
	border-top: 1px solid #e5e7eb;
}
.mpm-drawer__btn {
	display: block;
	padding: 12px 16px;
	border-radius: 999px;
	text-align: center;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	background: #0b7c84;
	color: #fff;
	border: 1px solid #0b7c84;
}
.mpm-drawer__btn--ghost { background: #fff; color: #333; border-color: #d1d5db; }

/* =========================================================
   Site footer — MyPeptideMatch mirror look
   #333333 link panel (5 columns) + social/disclaimer block
   + #000024 legal bar. Text-only for now (no links yet).
   ========================================================= */

.mpm-footer {
	flex-shrink: 0;
	background: #333333;
	color: rgba(255, 255, 255, .75);
}
.mpm-footer__inner {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 16px;
}
@media (min-width: 640px)  { .mpm-footer__inner { padding: 0 24px; } }
@media (min-width: 1024px) { .mpm-footer__inner { padding: 0 32px; } }

.mpm-footer__main { padding: 56px 0 40px; }

/* ---- Link columns ---- */
.mpm-footer__columns {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 40px 32px;
}
.mpm-footer__heading {
	margin: 0 0 16px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: rgba(255, 255, 255, .5);
}
/* Nested selectors: the parent theme ships aggressive globals
   (ul li:not(:last-child){margin-bottom:.5rem}, ul{margin-right:2rem},
   h3:not(:last-child){margin-bottom:1rem}) that outrank a single class. */
.mpm-footer .mpm-footer__heading { margin: 0 0 16px; }
.mpm-footer ul.mpm-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.mpm-footer ul.mpm-footer__list li {
	margin: 0;
	list-style: none;
}
.mpm-footer__link {
	display: block;
	font-size: 14px;
	line-height: 2;
	color: rgba(255, 255, 255, .75);
	text-decoration: none;
}
a.mpm-footer__link:hover,
a.mpm-footer__link:focus { color: #fff; }

/* ---- Social + disclaimer ---- */
.mpm-footer__legal {
	margin-top: 40px;
	padding-top: 32px;
	border-top: 1px solid rgba(255, 255, 255, .12);
}
.mpm-footer__disclaimer {
	margin: 0;
	max-width: 640px;
	font-size: 13px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .45);
}
/* Parent theme: p:not(:last-child){margin-bottom:1rem}, p{line-height:1.875} */
.mpm-footer .mpm-footer__disclaimer {
	margin: 0;
	font-size: 13px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .45);
}

/* ---- Legal bar ---- */
.mpm-footer__bar { background: #000024; }
.mpm-footer__bar-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 18px;
	padding-bottom: 18px;
	font-size: 13px;
	color: rgba(255, 255, 255, .5);
}
.mpm-footer__bar-links {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.mpm-footer__bar-link {
	display: inline;
	font-size: 13px;
	line-height: 1.5;
	color: rgba(255, 255, 255, .5);
}

/* =========================================================
   Directory of Peptide API Manufacturing Plants
   Catalog grid ([ukm_plants]) + single-plant page.
   Palette: teal/steel, deliberately distinct from the
   indigo product module and the blue clinic module.
   ========================================================= */

/* ---- Catalog: filter chips ---- */
.ukm-filters {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 14px 16px;
	margin-bottom: 20px;
}
.ukm-filters__group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 6px 0;
}
.ukm-filters__label {
	font-size: 13px;
	font-weight: 700;
	color: #0f172a;
	min-width: 84px;
}
.ukm-chip {
	font-size: 13px;
	padding: 5px 12px;
	border-radius: 999px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	color: #475569;
	text-decoration: none;
}
.ukm-chip:hover { background: #ecfeff; color: #0e7490; }
.ukm-chip.is-active {
	background: #0e7490;
	border-color: #0e7490;
	color: #fff;
	font-weight: 600;
}

/* ---- Catalog: plant cards ---- */
.ukm-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 16px;
}
.ukm-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	box-shadow: 0 2px 8px rgba(15,23,42,.04);
	transition: box-shadow .18s ease, transform .18s ease;
}
.ukm-card:hover {
	box-shadow: 0 8px 22px rgba(15,23,42,.10);
	transform: translateY(-2px);
}
.ukm-card__country {
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #0e7490;
	margin-bottom: 4px;
}
.ukm-card__name {
	margin: 0;
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.3;
}
.ukm-card__name a { color: #0f172a; text-decoration: none; }
.ukm-card__name a:hover { color: #0e7490; }
.ukm-card__legal { font-size: 12.5px; color: #64748b; }
.ukm-card__loc { font-size: 13px; color: #64748b; }
.ukm-card__badges { display: flex; flex-wrap: wrap; gap: 6px; }
.ukm-card__excerpt {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.6;
	color: #475569;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ukm-card__foot {
	margin-top: auto;
	display: flex;
	align-items: center;
	gap: 10px;
	padding-top: 4px;
}
.ukm-link {
	font-size: 13px;
	color: #0e7490;
	text-decoration: none;
	font-weight: 600;
}
.ukm-link:hover { text-decoration: underline; }

/* ---- Badges ---- */
.ukm-badge {
	display: inline-block;
	font-size: 11.5px;
	font-weight: 600;
	padding: 3px 9px;
	border-radius: 999px;
	background: #f1f5f9;
	border: 1px solid #e2e8f0;
	color: #475569;
	white-space: nowrap;
}
.ukm-badge--dmf { background: #ecfeff; border-color: #a5f3fc; color: #155e75; }
.ukm-badge--country { background: #0e7490; border-color: #0e7490; color: #fff; }

/* ---- Single plant: hero ---- */
.ukm-hero { margin-bottom: 22px; }
.ukm-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 10px;
}
.ukm-hero__name {
	margin: 0 0 6px;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
	color: #0f172a;
}
.ukm-hero__legal { margin: 0 0 4px; font-size: 14px; color: #475569; }
.ukm-hero__loc { margin: 0; font-size: 14px; color: #64748b; }

/* ---- Single plant: sections ---- */
.ukm-section {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 18px 20px;
	margin-bottom: 16px;
}
.ukm-section__title {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 700;
	color: #0f172a;
}
.ukm-section__body { font-size: 14.5px; line-height: 1.75; color: #334155; }
.ukm-section__body p { margin: 0 0 10px; }
.ukm-section__body p:last-child { margin-bottom: 0; }

/* ---- Sidebar blocks ---- */
.ukm-contact__line {
	font-size: 13.5px;
	line-height: 1.6;
	color: #334155;
	padding: 3px 0;
	word-break: break-word;
}
.ukm-compliance { margin-bottom: 10px; }
.ukm-compliance__label {
	font-size: 12px;
	font-weight: 700;
	color: #64748b;
	margin-bottom: 6px;
}

/* ---------------------------------------------------------------
 * Peptide Therapy Clinic Directory catalog extras (card photo, count, pager)
 * --------------------------------------------------------------- */
.ukm-card__media {
	display: block;
	margin: -18px -18px 4px;
	border-radius: 14px 14px 0 0;
	overflow: hidden;
	background: #f1f5f9;
}
.ukm-card__img {
	display: block;
	width: 100%;
	height: 150px;
	object-fit: cover;
}
.ukm-count {
	margin: 0 0 14px;
	font-size: 13px;
	color: #64748b;
}
.ukm-pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 22px;
}
.ukm-pager__pos {
	font-size: 13px;
	color: #64748b;
}

/* -------------------------------------------------------------------------
 * Peptide Dosing Protocol — single protocol body
 *
 * The body is imported from the mirror with its original section markup
 * (section / h2 / table / details), but none of the Tailwind utility classes
 * exist here, so the layout is re-created with plain descendant selectors.
 * ---------------------------------------------------------------------- */
.pdp-body {
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.pdp-body section {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 5px;
	padding: 22px 24px;
	box-shadow: 0 1px 3px 0 rgba(160, 160, 160, .45), 0 0 3px 0 rgba(0, 0, 0, .08);
}
.pdp-body h2 {
	margin: 0 0 12px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	color: #333;
}
.pdp-body h3 {
	margin: 18px 0 8px;
	font-size: 16px;
	font-weight: 700;
	color: #333;
}
.pdp-body h4 {
	margin: 14px 0 6px;
	font-size: 15px;
	font-weight: 600;
	color: #333;
}
.pdp-body p {
	margin: 0 0 12px;
	line-height: 1.75;
	color: #4a4a4a;
}
.pdp-body p:last-child {
	margin-bottom: 0;
}
.pdp-body ul,
.pdp-body ol {
	margin: 0 0 12px;
	padding-left: 22px;
	color: #4a4a4a;
}
.pdp-body ul {
	list-style: disc;
}
.pdp-body ol {
	list-style: decimal;
}
.pdp-body li {
	margin-bottom: 6px;
	line-height: 1.7;
}
.pdp-body strong {
	font-weight: 600;
	color: #333;
}
.pdp-body a {
	color: #0f766e;
	text-decoration: none;
}
.pdp-body a:hover {
	text-decoration: underline;
}
.pdp-body table {
	width: 100%;
	margin: 10px 0 14px;
	border-collapse: collapse;
	font-size: 14px;
}
.pdp-body th,
.pdp-body td {
	padding: 9px 12px;
	border: 1px solid #e5e7eb;
	text-align: left;
	vertical-align: top;
}
.pdp-body thead th {
	background: #f7f8f9;
	font-weight: 600;
	color: #333;
}
.pdp-body tbody tr:nth-child(even) {
	background: #fafbfc;
}
.pdp-body details {
	margin: 10px 0;
	border: 1px solid #e5e7eb;
	border-radius: 4px;
	padding: 10px 14px;
	background: #fafbfc;
}
.pdp-body summary {
	cursor: pointer;
	font-weight: 600;
	color: #333;
}
.pdp-body details[open] summary {
	margin-bottom: 8px;
}
.pdp-body svg {
	width: 16px;
	height: 16px;
	vertical-align: -2px;
	flex: none;
}
.pdp-body button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: 1px solid #333;
	border-radius: 4px;
	background: transparent;
	color: #333;
	font-size: 13px;
	cursor: default;
}
@media (max-width: 640px) {
	.pdp-body section {
		padding: 16px 14px;
	}
	.pdp-body table {
		font-size: 13px;
	}
	.pdp-body th,
	.pdp-body td {
		padding: 7px 8px;
	}
}

/* =============================================================================
   11. Home page — PeptideSCM.net supply-chain portal (.pscm-*)
   ========================================================================== */
.pscm-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ---- Hero ---- */
.pscm-hero {
	background: linear-gradient(135deg, #0b1120 0%, #0f172a 45%, #0f766e 135%);
	color: #e2e8f0;
	padding: 64px 0 72px;
}
.pscm-hero__eyebrow {
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #5eead4;
}
.pscm-hero__title {
	margin: 0 0 18px;
	max-width: 62ch;
	color: #fff;
	font-size: 28px;
	font-weight: 800;
	line-height: 1.35;
}
.pscm-hero__lead {
	margin: 0 0 28px;
	max-width: 72ch;
	color: #cbd5e1;
	font-size: 17px;
	line-height: 1.7;
}
.pscm-hero__search {
	display: flex;
	gap: 8px;
	max-width: 560px;
	margin-top: 22px;
}

.pscm-hero__search input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 12px 16px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 10px;
	background: rgba(255, 255, 255, .1);
	color: #fff;
	font-size: 15px;
}

.pscm-hero__search input[type="search"]::placeholder { color: rgba(255, 255, 255, .6); }

.pscm-hero__search button {
	padding: 12px 22px;
	border: 0;
	border-radius: 10px;
	background: #14b8a6;
	color: #04211f;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

.pscm-hero__search button:hover { background: #5eead4; }

.pscm-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* ---- Buttons ---- */
.pscm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 22px;
	border: 1px solid transparent;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.pscm-btn--primary { background: #14b8a6; color: #04211f; }
.pscm-btn--primary:hover { background: #5eead4; color: #04211f; }
.pscm-btn--ghost {
	border-color: rgba(226, 232, 240, .35);
	color: #e2e8f0;
}
.pscm-btn--ghost:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.pscm-btn--light { background: #fff; color: #0f766e; }
.pscm-btn--light:hover { background: #ccfbf1; color: #0f766e; }

/* ---- Live counts ---- */
.pscm-stats {
	background: #fff;
	border-bottom: 1px solid #e2e8f0;
	padding: 26px 0;
}
.pscm-stats__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.pscm-stat {
	display: block;
	padding: 14px 16px;
	border: 1px solid #eef2f6;
	border-radius: 12px;
	background: #f8fafc;
	text-decoration: none;
	transition: border-color .15s ease, transform .15s ease;
}
.pscm-stat:hover { border-color: #14b8a6; transform: translateY(-2px); }
.pscm-stat__value {
	display: block;
	color: #0f766e;
	font-size: 28px;
	font-weight: 800;
	line-height: 1.1;
}
.pscm-stat__label {
	display: block;
	margin-top: 2px;
	color: #64748b;
	font-size: 13px;
}

/* ---- Generic section ---- */
.pscm-section { background: #fff; padding: 56px 0; }
.pscm-section--alt { background: #f8fafc; }
.pscm-section__title {
	margin: 0 0 8px;
	color: #0f172a;
	font-size: 30px;
	font-weight: 800;
	line-height: 1.25;
}
.pscm-section__lead {
	margin: 0 0 28px;
	color: #64748b;
	font-size: 16px;
}

/* ---- Column cards ---- */
.pscm-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 18px;
}
.pscm-card {
	display: flex;
	flex-direction: column;
	padding: 22px 20px 18px;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: #fff;
	text-decoration: none;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.pscm-card:hover {
	border-color: #14b8a6;
	box-shadow: 0 10px 24px rgba(15, 118, 110, .10);
	transform: translateY(-2px);
}
.pscm-card--soon {
	border-style: dashed;
	background: #f8fafc;
	cursor: not-allowed;
}
.pscm-card__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 26px;
	margin-bottom: 12px;
	padding: 0 8px;
	border-radius: 8px;
	background: #ecfdf5;
	color: #0f766e;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
}
.pscm-card--soon .pscm-card__badge { background: #eef2f6; color: #94a3b8; }
.pscm-card__title {
	margin: 0 0 8px;
	color: #0f172a;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
}
.pscm-card--soon .pscm-card__title { color: #94a3b8; }
.pscm-card__desc {
	flex: 1 1 auto;
	margin: 0 0 16px;
	color: #64748b;
	font-size: 14px;
	line-height: 1.6;
}
.pscm-card--soon .pscm-card__desc { color: #a5b0be; }
.pscm-card__foot { color: #0f766e; font-size: 13px; font-weight: 700; }
.pscm-card--soon .pscm-card__foot { color: #b3bdc9; }
.pscm-card__arrow { margin-left: 6px; }

/* ---- How it works ---- */
.pscm-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pscm-step {
	padding: 22px 20px;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: #fff;
}
.pscm-step__num {
	display: inline-block;
	margin-bottom: 8px;
	color: #14b8a6;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .1em;
}
.pscm-step__title {
	margin: 0 0 6px;
	color: #0f172a;
	font-size: 17px;
	font-weight: 700;
}
.pscm-step__text {
	margin: 0;
	color: #64748b;
	font-size: 14px;
	line-height: 1.6;
}

/* ---- Popular peptides ---- */
.pscm-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.pscm-chip {
	display: inline-flex;
	align-items: center;
	padding: 9px 16px;
	border: 1px solid #ccece4;
	border-radius: 999px;
	background: #ecfdf5;
	color: #0f766e;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.pscm-chip:hover { background: #14b8a6; border-color: #14b8a6; color: #fff; }
.pscm-chip--more { background: #fff; border-color: #e2e8f0; color: #475569; }
.pscm-chip--more:hover { background: #0f766e; border-color: #0f766e; color: #fff; }

/* ---- Research Peptide Vendors: single listing body ---- */
.rpv-body {
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.rpv-body section,
.rpv-body article {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 5px;
	padding: 22px 24px;
	box-shadow: 0 1px 3px 0 rgba(160, 160, 160, .45), 0 0 3px 0 rgba(0, 0, 0, .08);
}
.rpv-lead {
	margin: 0 0 4px;
	font-size: 16px;
	line-height: 1.7;
	color: #4a4a4a;
}
.rpv-body h2 {
	margin: 0 0 12px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	color: #333;
}
.rpv-body h3 {
	margin: 18px 0 8px;
	font-size: 16px;
	font-weight: 700;
	color: #333;
}
.rpv-body p {
	margin: 0 0 12px;
	line-height: 1.75;
	color: #4a4a4a;
}
.rpv-body p:last-child {
	margin-bottom: 0;
}
.rpv-body ul,
.rpv-body ol {
	margin: 0 0 12px;
	padding-left: 22px;
	color: #4a4a4a;
}
.rpv-body ul {
	list-style: disc;
}
.rpv-body li {
	margin-bottom: 6px;
}
.rpv-body a {
	color: #1F6CD6;
}
.rpv-body a:hover {
	text-decoration: underline;
}
.rpv-body table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 12px;
	font-size: 14px;
}
.rpv-body th,
.rpv-body td {
	border: 1px solid #e5e7eb;
	padding: 8px 10px;
	text-align: left;
}
.rpv-body details {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 5px;
	padding: 12px 16px;
}
.rpv-body summary {
	cursor: pointer;
	font-weight: 600;
	color: #333;
}

/* ---- Peptide Ingredient body ---- */
.pi-body {
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.pi-body section,
.pi-body article {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 5px;
	padding: 22px 24px;
	box-shadow: 0 1px 3px 0 rgba(160, 160, 160, .45), 0 0 3px 0 rgba(0, 0, 0, .08);
}
.pi-lead {
	margin: 0 0 4px;
	font-size: 16px;
	line-height: 1.7;
	color: #4a4a4a;
	font-weight: 600;
}
.pi-body h2 {
	margin: 0 0 12px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	color: #333;
}
.pi-body h3 {
	margin: 18px 0 8px;
	font-size: 16px;
	font-weight: 700;
	color: #333;
}
.pi-body p {
	margin: 0 0 12px;
	line-height: 1.75;
	color: #4a4a4a;
}
.pi-body p:last-child {
	margin-bottom: 0;
}
.pi-body ul,
.pi-body ol {
	margin: 0 0 12px;
	padding-left: 22px;
	color: #4a4a4a;
}
.pi-body ul {
	list-style: disc;
}
.pi-body li {
	margin-bottom: 6px;
}
.pi-body a {
	color: #1F6CD6;
}
.pi-body table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 12px;
	font-size: 14px;
}
.pi-body th,
.pi-body td {
	border: 1px solid #e5e7eb;
	padding: 8px 10px;
	text-align: left;
}

/* ---- Ingredient sidebar extras ---- */
.ukc-card__note {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.65;
	color: #4a4a4a;
}
.ukc-card__note b {
	color: #333;
}

/* ---- Get listed ---- */
.pscm-cta {
	background: linear-gradient(120deg, #0f766e, #0b1120);
	color: #e2e8f0;
	padding: 44px 0;
}
.pscm-cta__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.pscm-cta__title { margin: 0 0 8px; color: #fff; font-size: 26px; font-weight: 800; }
.pscm-cta__text { margin: 0; max-width: 65ch; color: #cbd5e1; font-size: 15px; }

/* ---- Responsive ---- */
@media (max-width: 900px) {
	.pscm-hero { padding: 48px 0 56px; }
	.pscm-hero__title { font-size: 23px; }
	.pscm-section { padding: 40px 0; }
	.pscm-section__title { font-size: 25px; }
	.pscm-stats__grid { grid-template-columns: repeat(2, 1fr); }
	.pscm-steps { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.pscm-hero__title { font-size: 19px; }
	.pscm-hero__lead { font-size: 15px; }
	.pscm-cta__title { font-size: 21px; }
}

/* ---------- Home page: column icons, quick links, featured listings ---------- */

.pscm-card__icon {
	position: absolute;
	top: 14px;
	right: 16px;
	font-size: 22px;
	line-height: 1;
	opacity: .9;
}

.pscm-quick {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid #e2e8f0;
}

.pscm-quick__label {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #94a3b8;
}

.pscm-quick__link {
	padding: 6px 12px;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	background: #f8fafc;
	color: #334155;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.pscm-quick__link:hover {
	border-color: #14b8a6;
	background: #14b8a6;
	color: #04211f;
}

.pscm-featured__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.pscm-featured__head .pscm-section__title { margin-bottom: 0; }

.pscm-featured__all {
	color: #0f766e;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.pscm-featured__all:hover { text-decoration: underline; }

.pscm-fgrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 16px;
	margin-top: 24px;
}

.pscm-fcard {
	background: #fff;
	border: 1px solid #e5eaf0;
	border-radius: 12px;
	overflow: hidden;
	transition: border-color .15s, transform .15s, box-shadow .15s;
}

.pscm-fcard:hover {
	border-color: #14b8a6;
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(15, 118, 110, .12);
}

.pscm-fcard__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.pscm-fcard__thumb {
	display: block;
	height: 96px;
	background: linear-gradient(135deg, #f0fdfa, #e6f6f4) center/cover no-repeat;
}

.pscm-fcard__thumb--icon {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
}

.pscm-fcard__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 6px;
	padding: 14px 16px 16px;
}

.pscm-fcard__badge {
	align-self: flex-start;
	padding: 2px 8px;
	border-radius: 999px;
	background: #ccfbf1;
	color: #0f766e;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
}

.pscm-fcard__title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	color: #0f172a;
}

.pscm-fcard__meta {
	font-size: 13px;
	color: #64748b;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.pscm-fcard__go {
	margin-top: auto;
	padding-top: 6px;
	color: #0f766e;
	font-size: 13px;
	font-weight: 700;
}

.pscm-featured__cols {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 26px;
}

.pscm-featured__col {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	background: #fff;
	color: #334155;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.pscm-featured__col:hover { border-color: #14b8a6; color: #0f766e; }

.pscm-featured__col-count { color: #94a3b8; font-weight: 700; }

/* ---------- All-listings page ([pscm_all_listings]) ---------- */

.pscm-all__search {
	display: flex;
	gap: 8px;
	margin-bottom: 16px;
}

.pscm-all__search input {
	flex: 1;
	min-width: 0;
	padding: 10px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	font-size: 14px;
	color: #0f172a;
}

.pscm-all__search button {
	padding: 10px 20px;
	border: 0;
	border-radius: 8px;
	background: #0f766e;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.pscm-all__search button:hover { background: #14b8a6; color: #04211f; }

.pscm-all__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 8px;
}

.pscm-all__filters .pscm-chip.is-active {
	background: #0f766e;
	border-color: #0f766e;
	color: #fff;
}

.pscm-all__count {
	margin: 0 0 4px;
	color: #64748b;
	font-size: 13px;
	font-weight: 600;
}

.pscm-all__pages { margin-top: 26px; }

.pscm-all__pages .page-numbers {
	display: inline-block;
	padding: 6px 12px;
	margin-right: 4px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fff;
	color: #334155;
	font-size: 13px;
	text-decoration: none;
}

.pscm-all__pages .page-numbers.current {
	background: #0f766e;
	border-color: #0f766e;
	color: #fff;
}

@media (max-width: 640px) {
	.pscm-fgrid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.pscm-featured__head { flex-direction: column; align-items: flex-start; }
}

/* Hide WordPress emoji icons inside directory cards */
.pscm-card__icon img.emoji { display: none; }

/* ---------------------------------------------------------------------
   Peptide Therapy Clinic Locator - country / state / city tree
   --------------------------------------------------------------------- */
.pscm-loc { margin: 0 0 24px; }

.pscm-loc__crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-bottom: 12px;
	font-size: 13px;
	color: #64748b;
}

.pscm-loc__crumbs a { color: #0f766e; text-decoration: none; }
.pscm-loc__crumbs a:hover { text-decoration: underline; }
.pscm-loc__sep { color: #cbd5e1; }
.pscm-loc__crumbs span[aria-current] { color: #334155; font-weight: 600; }

.pscm-loc__h {
	margin: 0 0 8px;
	font-size: 22px;
	line-height: 1.3;
	color: #0f172a;
}

.pscm-loc__lede {
	margin: 0 0 16px;
	font-size: 14px;
	color: #64748b;
}

.pscm-loc__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 12px;
	margin-bottom: 8px;
}

.pscm-loc__grid--compact { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }

.pscm-loc__card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	text-decoration: none;
	transition: border-color .15s, box-shadow .15s, transform .15s;
}

.pscm-loc__card:hover {
	border-color: #14b8a6;
	box-shadow: 0 4px 14px rgba(15, 118, 110, .12);
	transform: translateY(-1px);
}

.pscm-loc__card-name { font-size: 15px; font-weight: 600; color: #0f172a; }
.pscm-loc__card-count { font-size: 12px; color: #64748b; }

.pscm-loc__cities {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}

@media (max-width: 640px) {
	.pscm-loc__grid,
	.pscm-loc__grid--compact { grid-template-columns: 1fr 1fr; gap: 10px; }
	.pscm-loc__h { font-size: 19px; }
}

/* =========================================================
   14. Search results page (search.php) — grouped by column
   ========================================================= */
.pscm-search {
	background: #fff;
	padding: 32px 0 64px;
}
.pscm-search__head { margin-bottom: 8px; }
.pscm-search__eyebrow {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #0f766e;
}
.pscm-search__title {
	margin: 0 0 8px;
	font-size: 27px;
	line-height: 1.25;
	font-weight: 700;
	color: #0f172a;
}
.pscm-search__count { margin: 0 0 18px; color: #475569; font-size: 15px; }

.pscm-search__form { display: flex; gap: 8px; max-width: 620px; }
.pscm-search__form input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 12px 16px;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	background: #fff;
	color: #0f172a;
	font-size: 15px;
}
.pscm-search__form input[type="search"]:focus {
	outline: none;
	border-color: #14b8a6;
	box-shadow: 0 0 0 3px rgba(20, 184, 166, .18);
}
.pscm-search__form button {
	padding: 12px 22px;
	border: 0;
	border-radius: 10px;
	background: #14b8a6;
	color: #04211f;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.pscm-search__form button:hover { background: #0f766e; color: #fff; }

.pscm-search__filter {
	margin: 12px 0 0;
	padding: 8px 14px;
	display: inline-block;
	background: #f0fdfa;
	border: 1px solid #ccfbf1;
	border-radius: 999px;
	font-size: 14px;
	color: #0f766e;
}
.pscm-search__filter a { color: #0f766e; text-decoration: underline; }

.pscm-sgroup { padding-top: 26px; border-top: 1px solid #eef2f6; }
.pscm-sgroup:first-child { border-top: 0; }
.pscm-sgroup__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin-top: 26px;
}
.pscm-sgroup__title {
	margin: 0;
	font-size: 19px;
	font-weight: 700;
	color: #0f172a;
	display: flex;
	align-items: center;
	gap: 10px;
}
.pscm-sgroup__count {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	background: #f1f5f9;
	color: #475569;
	font-size: 13px;
	font-weight: 600;
}
.pscm-sgroup__all { font-size: 14px; color: #0f766e; text-decoration: none; font-weight: 600; }
.pscm-sgroup__all:hover { text-decoration: underline; }
.pscm-sgroup__more { margin: 14px 0 0; font-size: 14px; }
.pscm-sgroup__more a { color: #0f766e; font-weight: 600; text-decoration: none; }
.pscm-sgroup__more a:hover { text-decoration: underline; }

.pscm-search__empty { padding: 18px 0 8px; }
.pscm-search__empty h2 { margin: 0 0 8px; font-size: 21px; color: #0f172a; }
.pscm-search__empty p { margin: 0 0 16px; color: #475569; }
.pscm-search__dirs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.pscm-search__dirs .pscm-btn--ghost {
	border-color: #cbd5e1;
	color: #334155;
	background: #fff;
}
.pscm-search__dirs .pscm-btn--ghost:hover { background: #f1f5f9; color: #0f766e; }

@media (max-width: 640px) {
	.pscm-search__title { font-size: 22px; }
	.pscm-search__form { flex-direction: column; }
	.pscm-search__form button { width: 100%; }
}

.pscm-search__more { margin-top: 34px; padding-top: 22px; border-top: 1px solid #eef2f6; }
.pscm-search__more-title { margin: 0 0 12px; font-size: 16px; font-weight: 700; color: #0f172a; }

/* =========================================================
   15. Editorial post content (How To Use PeptideSCM guides)
   ========================================================= */
.post__text h2 { margin: 26px 0 10px; font-size: 21px; font-weight: 700; color: #0f172a; line-height: 1.3; }
.post__text h3 { margin: 20px 0 8px; font-size: 17px; font-weight: 700; color: #0f172a; }
.post__text p  { margin: 0 0 14px; line-height: 1.7; color: #334155; }
.post__text ol,
.post__text ul { margin: 0 0 16px; padding-left: 22px; line-height: 1.7; color: #334155; }
.post__text li { margin-bottom: 8px; }

.pscm-post-table,
.post__text table {
	width: 100%;
	border-collapse: collapse;
	margin: 14px 0 22px;
	font-size: 14px;
	line-height: 1.5;
}
.pscm-post-table th,
.pscm-post-table td,
.post__text table th,
.post__text table td {
	border: 1px solid #e2e8f0;
	padding: 8px 10px;
	text-align: left;
	vertical-align: top;
}
.pscm-post-table thead th,
.post__text table thead th {
	background: #f1f5f9;
	color: #0f172a;
	font-weight: 700;
}
.pscm-post-table tbody tr:nth-child(even) td,
.post__text table tbody tr:nth-child(even) td { background: #f8fafc; }
.post__text a { color: #0f766e; }

@media (max-width: 640px) {
	.pscm-post-table,
	.post__text table { display: block; overflow-x: auto; white-space: nowrap; font-size: 13px; }
}

/* Pinned (featured) directory card — DCC equipment column */
.ukm-card--pinned {
	border-color: #14b8a6 !important;
	box-shadow: 0 0 0 2px rgba(20, 184, 166, .22);
}
.ukm-card--pinned .ukm-card__country {
	background: #14b8a6;
	color: #04211f;
	font-weight: 700;
}

/* ======================================================================
 * Peptide Industry FAQ & Knowledge Center
 *
 * Rendered by [pscm_faq] (functions.php section 18) on template
 * page-faq.php. Ported from PeptideDDP.com on 2026-10-13.
 *
 * Every selector below starts with "sf-", so nothing here can leak into
 * the rest of the theme. The design tokens are declared on .sf-page
 * itself rather than :root for the same reason.
 * ====================================================================== */

.sf-page {
	--sf-navy: #0b2e4f;
	--sf-navy-700: #123c63;
	--sf-teal: #0fa3b1;
	--sf-teal-dark: #0b8391;
	--sf-amber: #f5a623;
	--sf-ink: #16222e;
	--sf-body: #46586b;
	--sf-mist: #f4f7fa;
	--sf-line: #e3eaf1;
	--sf-white: #ffffff;
	--sf-radius: 14px;
	--sf-radius-sm: 9px;
	--sf-shadow: 0 6px 24px rgba(11, 46, 79, .08);
	--sf-wrap: 1200px;

	color: var(--sf-ink);
	line-height: 1.6;
}

.sf-page h1,
.sf-page h2,
.sf-page h3 { line-height: 1.25; margin: 0 0 14px; }

.sf-page p { margin: 0 0 12px; }

.sf-page p:last-child { margin-bottom: 0; }

.sf-main { display: block; }

.sf-page__body { padding: 0; }

.sf-wrap {
	width: 100%;
	max-width: var(--sf-wrap);
	margin: 0 auto;
	padding: 0 24px;
}

/* ---------- Hero ---------- */
.sf-hero {
	position: relative;
	overflow: hidden;
	color: var(--sf-white);
	background: linear-gradient(135deg, #0b2e4f 0%, #123c63 55%, #0b8391 100%);
	padding: 92px 0 84px;
}

.sf-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(900px 320px at 82% 12%, rgba(245, 166, 35, .20), transparent 60%),
		radial-gradient(700px 300px at 8% 88%, rgba(15, 163, 177, .28), transparent 62%);
	pointer-events: none;
}

.sf-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: 48px;
	align-items: center;
}

.sf-hero h1 { color: var(--sf-white); font-size: clamp(30px, 4.2vw, 52px); margin-bottom: 18px; }

.sf-hero h1.sf-hero__h1--long { font-size: clamp(26px, 3vw, 38px); line-height: 1.26; }

.sf-hero__lead { font-size: 18px; color: rgba(255, 255, 255, .86); max-width: 620px; }

.sf-hero__slogan {
	margin: 22px 0 26px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .02em;
	color: var(--sf-amber);
}

.sf-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 26px; }

.sf-hero__badges { display: flex; gap: 10px; flex-wrap: wrap; }

.sf-badge {
	display: inline-block;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 13px;
	color: var(--sf-white);
}

.sf-hero__card {
	background: rgba(255, 255, 255, .09);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 18px;
	padding: 26px;
	backdrop-filter: blur(4px);
}

.sf-hero__card h3 { color: var(--sf-white); font-size: 16px; margin-bottom: 16px; }

/* Category list inside the hero card. The bullet is drawn in CSS so the
   column never depends on Font Awesome being enqueued. */
.sf-flow { list-style: none; margin: 0; padding: 0; display: block; }

.sf-flow li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 7px 0;
	border-bottom: 1px dashed rgba(255, 255, 255, .18);
	font-size: 14px;
	color: rgba(255, 255, 255, .9);
}

.sf-flow li:last-child { border-bottom: 0; }

.sf-flow li::before {
	content: "\2192";
	flex: 0 0 auto;
	width: 16px;
	color: var(--sf-amber);
	line-height: 1.55;
}

.sf-flow__text { display: block; min-width: 0; }

.sf-flow__label { display: block; color: var(--sf-white); font-weight: 600; line-height: 1.4; }

.sf-flow__note { display: block; margin-top: 1px; font-size: 12px; line-height: 1.4; color: rgba(255, 255, 255, .62); }

/* ---------- Buttons ---------- */
.sf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 24px;
	border-radius: 999px;
	border: 1px solid transparent;
	background: var(--sf-amber);
	color: #10233a;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.sf-btn:hover {
	background: #ffb63d;
	color: #10233a;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: var(--sf-shadow);
}

.sf-btn--outline { background: transparent; color: var(--sf-navy); border-color: var(--sf-line); }

.sf-btn--outline:hover { background: var(--sf-mist); color: var(--sf-navy); }

/* ---------- Section shell ---------- */
.sf-section { padding: 66px 0; }

.sf-section--mist { background: var(--sf-mist); }

.sf-section--tight { padding: 52px 0; }

.sf-head-center { text-align: center; }

.sf-title { font-size: clamp(26px, 3.2vw, 40px); margin-bottom: 14px; color: var(--sf-navy); }

.sf-subtitle { font-size: 17px; max-width: 760px; color: var(--sf-body); margin: 0 auto; }

/* ---------- Disclaimer strip ---------- */
.sf-strip { background: var(--sf-mist); border-bottom: 1px solid var(--sf-line); padding: 26px 0; }

.sf-note {
	background: #fff8ea;
	border: 1px solid #f2dfb4;
	border-left: 4px solid var(--sf-amber);
	border-radius: var(--sf-radius-sm);
	padding: 16px 18px;
	font-size: 14.5px;
	color: #6b5315;
}

.sf-note p { margin: 0; }

.sf-note strong { color: #56410d; }

/* ---------- FAQ categories ---------- */
.sf-faq__nav {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

.sf-faq__nav-item {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 11px 13px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius-sm);
	color: var(--sf-navy);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	transition: border-color .18s, box-shadow .18s, color .18s;
}

.sf-faq__nav-item:hover {
	border-color: var(--sf-teal);
	box-shadow: var(--sf-shadow);
	color: var(--sf-teal-dark);
	text-decoration: none;
}

.sf-faq__nav-num {
	flex: 0 0 auto;
	min-width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	background: var(--sf-mist);
	color: var(--sf-teal-dark);
	font-size: 12px;
	font-weight: 700;
}

.sf-faq__nav-text { min-width: 0; }

.sf-faq__cats { margin-top: 42px; }

.sf-faq__cat { scroll-margin-top: 120px; }

.sf-faq__cat + .sf-faq__cat { margin-top: 40px; }

.sf-faq__cat-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	font-size: 20px;
	font-weight: 700;
	color: var(--sf-navy);
}

.sf-faq__cat-num {
	flex: 0 0 auto;
	min-width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: var(--sf-navy);
	color: var(--sf-white);
	font-size: 14px;
	font-weight: 700;
}

.sf-faq__list { display: grid; gap: 10px; }

/* <details> handles the collapse, so no JavaScript is involved. */
.sf-faq__item {
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius-sm);
	overflow: hidden;
}

.sf-faq__q {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	padding: 15px 18px;
	cursor: pointer;
	list-style: none;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.55;
	color: var(--sf-navy);
	transition: color .18s;
}

.sf-faq__q::-webkit-details-marker { display: none; }

.sf-faq__q:hover { color: var(--sf-teal-dark); }

.sf-faq__mark {
	position: relative;
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin-top: 3px;
	border-radius: 50%;
	background: var(--sf-mist);
}

.sf-faq__mark::before,
.sf-faq__mark::after {
	content: "";
	position: absolute;
	background: var(--sf-teal-dark);
	border-radius: 1px;
}

.sf-faq__mark::before { left: 4px; top: 7px; width: 8px; height: 2px; }

.sf-faq__mark::after { left: 7px; top: 4px; width: 2px; height: 8px; transition: opacity .18s; }

.sf-faq__item[open] .sf-faq__mark::after { opacity: 0; }

.sf-faq__item[open] .sf-faq__q { color: var(--sf-teal-dark); }

.sf-faq__a { padding: 0 18px 17px 45px; }

.sf-faq__a p { margin: 0; font-size: 14.5px; line-height: 1.85; color: var(--sf-body); }

/* ---------- Closing CTA ---------- */
.sf-cta {
	background: linear-gradient(120deg, var(--sf-navy) 0%, var(--sf-teal-dark) 100%);
	padding: 62px 0;
	color: var(--sf-white);
	text-align: center;
}

.sf-cta h2 { color: var(--sf-white); font-size: clamp(24px, 3vw, 36px); }

.sf-cta p { color: rgba(255, 255, 255, .85); max-width: 700px; margin: 0 auto 24px; }

.sf-cta__actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.sf-hero__inner { grid-template-columns: 1fr; gap: 32px; }
	.sf-faq__nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.sf-hero { padding: 62px 0 54px; }
	.sf-wrap { padding: 0 18px; }
	.sf-section { padding: 44px 0; }
	.sf-faq__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sf-faq__cat-title { font-size: 17px; }
	.sf-faq__q { padding: 14px 15px; font-size: 14.5px; }
	.sf-faq__a { padding: 0 15px 15px; }
	.sf-flow li { font-size: 13.5px; }
}
