/* PHOSLENS global visual system v1.4.5 */
:root {
	--ph-color-navy: #0b2f5b;
	--ph-color-blue: #0b67c2;
	--ph-color-blue-dark: #084f96;
	--ph-color-ink: #102033;
	--ph-color-muted: #52677e;
	--ph-color-border: #d9e3ef;
	--ph-color-soft: #f5f8fc;
	--ph-color-card: #ffffff;
	--ph-radius-card: 16px;
	--ph-shadow-card: 0 10px 24px rgba(16, 32, 51, .05);
}

body.phoslens-site-core-active {
	color: var(--ph-color-ink);
}

body.phoslens-site-core-active .ph-topbar *,
body.phoslens-site-core-active .ph-home *,
body.phoslens-site-core-active .phoslens-shop-layout *,
body.phoslens-site-core-active .ph-series-selection *,
body.phoslens-site-core-active .ph-series-cards-section *,
body.phoslens-site-core-active .phoslens-dynamic-series-wrap * {
	box-sizing: border-box;
}

.ph-topbar {
	position: relative;
	z-index: 50;
	width: 100%;
	background: #071a2e;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	color: #dcecff;
	font-size: 13px;
	line-height: 1.35;
}

.ph-topbar-inner {
	max-width: 1220px;
	margin: 0 auto;
	padding: 8px 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.ph-topbar-left,
.ph-topbar-right {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.ph-topbar-right {
	justify-content: flex-end;
	flex-wrap: wrap;
}

.ph-topbar-item,
.ph-topbar-link,
.ph-topbar a.ph-topbar-item,
.ph-topbar a.ph-topbar-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #e7f2ff;
	text-decoration: none !important;
	font-weight: 700;
	white-space: nowrap;
}

.ph-topbar a.ph-topbar-item:hover,
.ph-topbar a.ph-topbar-link:hover,
.ph-topbar a.ph-topbar-item:focus,
.ph-topbar a.ph-topbar-link:focus {
	color: #ffffff;
	text-decoration: none !important;
}

.ph-topbar-link {
	padding: 4px 0;
}

.ph-topbar-cart {
	padding: 5px 10px !important;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 999px;
	background: rgba(255, 255, 255, .06);
}

.ph-topbar-icon {
	font-size: 14px;
	line-height: 1;
}

.ph-topbar-whatsapp {
	opacity: .62;
	cursor: default;
}

.ph-topbar-wa-dot {
	font-size: 10px;
	color: #7cd992;
}

@media (max-width: 780px) {
	.ph-topbar-inner {
		padding: 8px 14px;
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}

	.ph-topbar-left,
	.ph-topbar-right {
		width: 100%;
		justify-content: space-between;
		gap: 8px;
		flex-wrap: wrap;
	}

	.ph-topbar {
		font-size: 12.5px;
	}
}

@media (max-width: 420px) {
	.ph-topbar-left,
	.ph-topbar-right {
		justify-content: flex-start;
	}

	.ph-topbar-item,
	.ph-topbar-link,
	.ph-topbar a.ph-topbar-item,
	.ph-topbar a.ph-topbar-link {
		white-space: normal;
	}
}


/**
 * PHOSLENS Site Core frontend styles.
 * Shop styles + homepage shortcode styles.
 */

/* Shared */
.phoslens-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 18px;
	border-radius: 10px;
	font-weight: 800;
	font-size: 14px;
	border: 1px solid transparent;
	text-decoration: none;
	white-space: nowrap;
}

.phoslens-btn:hover {
	text-decoration: none;
}

.phoslens-btn-primary {
	background: var(--ph-color-blue);
	color: #ffffff;
}

.phoslens-btn-light {
	background: #ffffff;
	color: #0b2f5b;
}

/* Shop */
.phoslens-shop-enhanced .woocommerce-products-header {
	margin-bottom: 20px;
}

.phoslens-shop-layout {
	clear: both;
	display: grid;
	grid-template-columns: 310px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
	margin: 28px 0 34px;
	width: 100%;
}

.phoslens-shop-sidebar,
.phoslens-product-search-panel {
	background: #ffffff;
	border: 1px solid #d9e3ef;
	border-radius: 18px;
	box-shadow: 0 10px 24px rgba(16, 32, 51, 0.04);
}

.phoslens-shop-sidebar {
	padding: 20px;
	position: sticky;
	top: 96px;
}

.phoslens-sidebar-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 1px solid #d9e3ef;
	padding-bottom: 14px;
	margin-bottom: 14px;
}

.phoslens-sidebar-head h2 {
	font-size: 20px;
	line-height: 1.2;
	color: #0b2f5b;
	margin: 0;
}

.phoslens-sidebar-head span {
	background: #f0f7ff;
	color: #205083;
	border: 1px solid #c9dff5;
	border-radius: 999px;
	padding: 6px 10px;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.phoslens-category-tree,
.phoslens-category-tree ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.phoslens-cat-item {
	margin: 0;
	padding: 0;
}

.phoslens-cat-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px;
	border-radius: 10px;
	color: #263b52;
	font-size: 14.5px;
	text-decoration: none;
}

.phoslens-cat-link:hover {
	background: #f2f7fc;
	color: #0b2f5b;
	text-decoration: none;
}

.phoslens-cat-depth-0 > .phoslens-cat-link {
	font-weight: 800;
	color: #0b2f5b;
	background: #f7fbff;
	border: 1px solid #e3edf8;
	margin-top: 8px;
}

.phoslens-cat-depth-0:first-child > .phoslens-cat-link {
	margin-top: 0;
}

.phoslens-cat-depth-1 > .phoslens-cat-link {
	padding-left: 24px;
	font-weight: 700;
}

.phoslens-cat-depth-2 > .phoslens-cat-link {
	padding-left: 38px;
	color: #50667d;
	font-size: 14px;
}

.phoslens-cat-depth-3 > .phoslens-cat-link,
.phoslens-cat-depth-4 > .phoslens-cat-link {
	padding-left: 52px;
	color: #5e738b;
	font-size: 13.5px;
}

.phoslens-cat-item.is-current > .phoslens-cat-link,
.phoslens-cat-item.is-ancestor > .phoslens-cat-link {
	background: #eaf4ff;
	border-color: #c8def4;
	color: #0b2f5b;
}

.phoslens-cat-name {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

.phoslens-cat-arrow {
	display: inline-block;
	width: 15px;
	margin-right: 4px;
	font-size: 12px;
	color: #6b8098;
}

.phoslens-cat-count {
	font-size: 12px;
	color: #7890aa;
	background: #eef5fb;
	border: 1px solid #dbe8f5;
	border-radius: 999px;
	padding: 2px 7px;
	white-space: nowrap;
}

.phoslens-shop-products {
	min-width: 0;
}

.phoslens-product-search-panel {
	padding: 18px;
	margin-bottom: 18px;
	max-width: 100%;
}

.phoslens-product-search-title {
	font-size: 18px;
	font-weight: 800;
	color: #0b2f5b;
	margin: 0 0 12px;
}

.phoslens-product-search-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 126px;
	gap: 10px;
}

.phoslens-product-search-form input[type="search"] {
	width: 100%;
	border: 1px solid #d9e3ef;
	border-radius: 10px;
	padding: 12px 13px;
	font-size: 14px;
	color: #33475c;
	background: #ffffff;
	min-width: 0;
}

.phoslens-product-search-form button {
	border: 0;
	border-radius: 10px;
	background: #0b2f5b;
	color: #ffffff;
	font-weight: 800;
	font-size: 14px;
	padding: 12px 18px;
	cursor: pointer;
}

.phoslens-product-search-form button:hover {
	background: #154a83;
}

.phoslens-shop-enhanced .woocommerce-result-count,
.phoslens-shop-enhanced .woocommerce-ordering {
	margin-top: 0;
	margin-bottom: 18px;
}

.phoslens-shop-enhanced ul.products {
	clear: both;
}

.phoslens-shop-enhanced ul.products li.product {
	background: #ffffff;
	border: 1px solid #d9e3ef;
	border-radius: 18px;
	padding: 14px !important;
	box-shadow: 0 10px 24px rgba(16, 32, 51, 0.04);
	transition: transform .18s ease, box-shadow .18s ease;
}

.phoslens-shop-enhanced ul.products li.product:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 32px rgba(16, 32, 51, 0.08);
}

.phoslens-shop-enhanced ul.products li.product img {
	border-radius: 14px;
	background: #edf6ff;
}

.phoslens-shop-enhanced ul.products li.product .woocommerce-loop-product__title {
	color: #0b2f5b;
	font-weight: 800;
	line-height: 1.35;
}

.phoslens-shop-enhanced ul.products li.product .price {
	color: #102033;
	font-weight: 800;
}

.phoslens-custom-optics-cta {
	clear: both;
	width: 100%;
	margin: 34px auto 40px;
}

.phoslens-custom-optics-cta-inner {
	background: linear-gradient(120deg, #0b2f5b, #144678);
	color: #ffffff;
	border-radius: 22px;
	padding: 32px;
	display: flex;
	justify-content: space-between;
	gap: 24px;
	align-items: center;
}

.phoslens-custom-optics-cta h2 {
	font-size: 28px;
	line-height: 1.2;
	margin: 0 0 8px;
	color: #ffffff;
}

.phoslens-custom-optics-cta p {
	margin: 0;
	color: #dbe9f8;
	max-width: 680px;
}

.phoslens-custom-optics-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

/* Homepage shortcode */
.ph-home {
	background: #f5f8fc;
	color: #102033;
}

.ph-home-hero {
	background: linear-gradient(120deg, #0b2f5b, #154a83 58%, #edf5fb 58%, #ffffff);
	border-bottom: 1px solid #d9e3ef;
}

.ph-home-hero-inner,
.ph-home-section,
.ph-home-final-cta-inner {
	max-width: 1220px;
	margin: 0 auto;
	padding-left: 22px;
	padding-right: 22px;
}

.ph-home-hero-inner {
	padding-top: 76px;
	padding-bottom: 76px;
	display: grid;
	grid-template-columns: 1.08fr .92fr;
	gap: 42px;
	align-items: center;
}

.ph-home-eyebrow {
	display: inline-block;
	color: #c8def5;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .24);
	border-radius: 999px;
	padding: 7px 12px;
	font-size: 13px;
	font-weight: 800;
	margin-bottom: 18px;
}

.ph-home-hero h1 {
	font-size: 52px;
	line-height: 1.08;
	margin: 0 0 18px;
	color: #ffffff;
	max-width: 700px;
}

.ph-home-hero p {
	font-size: 18px;
	color: #d9e9fb;
	max-width: 650px;
	margin: 0 0 28px;
}

.ph-home-actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}

.ph-home-search-card {
	background: #ffffff;
	border: 1px solid #d9e3ef;
	border-radius: 24px;
	padding: 26px;
	box-shadow: 0 18px 45px rgba(11, 47, 91, .16);
}

.ph-home-search-card h2 {
	font-size: 24px;
	margin: 0 0 14px;
	color: #0b2f5b;
}

.ph-home-search-form {
	display: flex;
	border: 1px solid #d9e3ef;
	border-radius: 12px;
	overflow: hidden;
	background: #ffffff;
}

.ph-home-search-form input[type="search"] {
	flex: 1;
	border: 0;
	padding: 14px;
	min-width: 0;
}

.ph-home-search-form button {
	border: 0;
	background: #0b2f5b;
	color: #ffffff;
	font-weight: 800;
	padding: 0 18px;
	cursor: pointer;
}

.ph-home-chips {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 16px;
}

.ph-home-chips span {
	font-size: 12px;
	color: #49627d;
	background: #f8fbff;
	border: 1px solid #d9e3ef;
	border-radius: 999px;
	padding: 7px 10px;
}

.ph-home-section {
	padding-top: 62px;
	padding-bottom: 62px;
}

.ph-home-section-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 24px;
	margin-bottom: 26px;
}

.ph-home-section-head h2 {
	font-size: 34px;
	line-height: 1.15;
	margin: 0 0 8px;
	color: #0b2f5b;
}

.ph-home-section-head p {
	margin: 0;
	color: #64748b;
	max-width: 720px;
	font-size: 16px;
}

.ph-home-head-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 11px 16px;
	border: 1px solid #bfd0e2;
	border-radius: 10px;
	color: #0b2f5b;
	background: #ffffff;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}

.ph-home-head-link-primary {
	background: var(--ph-color-blue);
	color: #ffffff;
	border-color: var(--ph-color-blue);
}

.ph-home-cat-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.ph-home-cat-card,
.ph-home-product-card,
.ph-home-why-card,
.ph-home-resource-card,
.ph-home-step {
	background: #ffffff;
	border: 1px solid #d9e3ef;
	border-radius: 18px;
	box-shadow: 0 10px 24px rgba(16, 32, 51, .05);
}

.ph-home-cat-card,
.ph-home-product-card,
.ph-home-resource-card {
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform .18s ease, box-shadow .18s ease;
}

.ph-home-cat-card:hover,
.ph-home-product-card:hover,
.ph-home-resource-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 32px rgba(16, 32, 51, .09);
	text-decoration: none;
}

.ph-home-cat-media {
	height: 142px;
	background: linear-gradient(135deg, #e8f3ff, #f7fbff);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ph-home-cat-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ph-home-cat-placeholder {
	width: 90px;
	height: 90px;
	border-radius: 999px;
	background: radial-gradient(circle at 35% 34%, #ffffff, #b7d8f8 53%, #5e99cf);
	box-shadow: 0 16px 30px rgba(11, 47, 91, .18);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 34px;
	font-weight: 900;
	color: #0b2f5b;
}

.ph-home-cat-body,
.ph-home-product-body {
	padding: 18px;
}

.ph-home-cat-body h3,
.ph-home-product-body h3,
.ph-home-why-card h3,
.ph-home-resource-card h3,
.ph-home-step h3 {
	margin: 0 0 8px;
	font-size: 19px;
	color: #0b2f5b;
	line-height: 1.25;
}

.ph-home-cat-body p,
.ph-home-why-card p,
.ph-home-resource-card p,
.ph-home-step p {
	margin: 0 0 16px;
	color: #64748b;
	font-size: 14.5px;
}

.ph-home-card-link {
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	color: #0b2f5b;
	border: 1px solid #c9d7e7;
	border-radius: 999px;
	padding: 8px 12px;
	background: #ffffff;
}

.ph-home-products-section {
	background: #ffffff;
	border-top: 1px solid #d9e3ef;
	border-bottom: 1px solid #d9e3ef;
}

.ph-home-product-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.ph-home-product-media {
	height: 160px;
	background: #edf6ff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px;
}

.ph-home-product-media img {
	max-height: 100%;
	width: auto;
	object-fit: contain;
	border-radius: 14px;
}

.ph-home-product-body h3 {
	font-size: 16px;
	min-height: 48px;
}

.ph-home-sku {
	font-size: 12px;
	color: #6b7d92;
	margin-bottom: 10px;
}

.ph-home-price {
	font-size: 18px;
	font-weight: 800;
	color: #13283e;
	margin: 0 0 12px;
}

.ph-home-process-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	counter-reset: step;
}

.ph-home-step {
	padding: 20px;
	min-height: 170px;
}

.ph-home-step:before {
	counter-increment: step;
	content: counter(step);
	display: inline-flex;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #0b2f5b;
	color: #ffffff;
	align-items: center;
	justify-content: center;
	font-weight: 900;
	margin-bottom: 12px;
}

.ph-home-step h3 {
	font-size: 17px;
}

.ph-home-why-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.ph-home-why-card {
	padding: 22px;
}

.ph-home-resource-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.ph-home-resource-card {
	padding: 22px;
}

.ph-home-final-cta {
	background: linear-gradient(120deg, #0b2f5b, #144678);
	color: #ffffff;
}

.ph-home-final-cta-inner {
	padding-top: 56px;
	padding-bottom: 56px;
	display: flex;
	justify-content: space-between;
	gap: 24px;
	align-items: center;
}

.ph-home-final-cta h2 {
	font-size: 34px;
	margin: 0 0 8px;
	color: #ffffff;
}

.ph-home-final-cta p {
	margin: 0;
	color: #d9e9fb;
}

.ph-home-empty-note {
	grid-column: 1 / -1;
	background: #ffffff;
	border: 1px solid #d9e3ef;
	border-radius: 14px;
	padding: 18px;
	color: #64748b;
}

@media (max-width: 1050px) {
	.phoslens-shop-layout {
		grid-template-columns: 1fr;
	}

	.phoslens-shop-sidebar {
		position: static;
	}

	.phoslens-custom-optics-cta-inner {
		align-items: flex-start;
		flex-direction: column;
	}

	.ph-home-hero {
		background: linear-gradient(120deg, #0b2f5b, #154a83);
	}

	.ph-home-hero-inner {
		grid-template-columns: 1fr;
	}

	.ph-home-cat-grid,
	.ph-home-product-grid,
	.ph-home-why-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ph-home-process-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ph-home-resource-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 720px) {
	.phoslens-product-search-form {
		grid-template-columns: 1fr;
	}

	.phoslens-shop-sidebar {
		padding: 16px;
	}

	.phoslens-cat-depth-1 > .phoslens-cat-link {
		padding-left: 18px;
	}

	.phoslens-cat-depth-2 > .phoslens-cat-link {
		padding-left: 30px;
	}

	.phoslens-custom-optics-cta-inner {
		padding: 24px;
	}

	.ph-home-hero h1 {
		font-size: 38px;
	}

	.ph-home-hero-inner,
	.ph-home-section,
	.ph-home-final-cta-inner {
		padding-left: 18px;
		padding-right: 18px;
	}

	.ph-home-section-head,
	.ph-home-final-cta-inner {
		display: block;
	}

	.ph-home-cat-grid,
	.ph-home-product-grid,
	.ph-home-process-grid,
	.ph-home-why-grid {
		grid-template-columns: 1fr;
	}

	.ph-home-search-form {
		display: grid;
		grid-template-columns: 1fr;
	}

	.ph-home-search-form button {
		padding: 12px 18px;
	}
}


/* Homepage polish v1.1.1 */
body.phoslens-home-enhanced .entry-header,
body.phoslens-home-enhanced h1.entry-title {
	display: none !important;
}

body.phoslens-home-enhanced .site-content .ast-container {
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.phoslens-home-enhanced .entry-content,
body.phoslens-home-enhanced .entry-content > .wp-block-shortcode {
	margin: 0 !important;
}

body.phoslens-home-enhanced .ph-home a,
body.phoslens-home-enhanced .ph-home a:hover,
body.phoslens-home-enhanced .ph-home a:focus,
body.phoslens-home-enhanced .ph-home a:visited {
	text-decoration: none !important;
}

body.phoslens-home-enhanced .ph-home-card-link,
body.phoslens-home-enhanced .ph-home-head-link,
body.phoslens-home-enhanced .phoslens-btn {
	text-decoration: none !important;
}

body.phoslens-home-enhanced .ph-home-cat-body p,
body.phoslens-home-enhanced .ph-home-resource-card p {
	text-decoration: none !important;
}

body.phoslens-home-enhanced .ph-home-cat-card h3,
body.phoslens-home-enhanced .ph-home-product-card h3,
body.phoslens-home-enhanced .ph-home-resource-card h3 {
	text-decoration: none !important;
}

body.phoslens-home-enhanced .ph-home-cat-card,
body.phoslens-home-enhanced .ph-home-product-card,
body.phoslens-home-enhanced .ph-home-resource-card {
	color: inherit !important;
}

body.phoslens-home-enhanced .ph-home-hero {
	margin-top: 0;
}

body.phoslens-home-enhanced .ph-home-cat-body p {
	min-height: 78px;
}

body.phoslens-home-enhanced .ph-home-product-card {
	display: flex;
	flex-direction: column;
}

body.phoslens-home-enhanced .ph-home-product-body {
	display: flex;
	flex-direction: column;
	flex: 1;
}

body.phoslens-home-enhanced .ph-home-product-body .ph-home-card-link {
	margin-top: auto;
	align-self: flex-start;
}

@media (max-width: 720px) {
	body.phoslens-home-enhanced .ph-home-cat-body p {
		min-height: 0;
	}
}

/* Product specification table v1.2.0 */
.ph-product-table-wrap {
	clear: both;
	width: 100%;
	margin: 28px 0 36px;
	color: #102033;
}

.ph-product-table-head {
	margin-bottom: 18px;
}

.ph-product-table-head h2 {
	font-size: 30px;
	line-height: 1.2;
	color: #0b2f5b;
	margin: 0 0 8px;
}

.ph-product-table-head p {
	margin: 0;
	color: #64748b;
}

.ph-product-table-empty {
	background: #ffffff;
	border: 1px solid #d9e3ef;
	border-radius: 16px;
	padding: 18px;
	color: #64748b;
}

.ph-product-table-scroll {
	width: 100%;
	overflow-x: auto;
	background: #ffffff;
	border: 1px solid #d9e3ef;
	border-radius: 18px;
	box-shadow: 0 10px 24px rgba(16, 32, 51, 0.04);
}

.ph-product-table {
	width: 100%;
	min-width: 1120px;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0;
	font-size: 14px;
}

.ph-product-table th,
.ph-product-table td {
	padding: 12px 13px;
	border-bottom: 1px solid #e5edf6;
	vertical-align: middle;
	text-align: left;
	white-space: nowrap;
}

.ph-product-table th {
	background: #f1f7fd;
	color: #0b2f5b;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .01em;
}

.ph-product-table tbody tr:hover {
	background: #f8fbff;
}

.ph-product-table tbody tr:last-child td {
	border-bottom: 0;
}

.ph-table-sku a {
	color: #0b2f5b;
	font-weight: 900;
	text-decoration: none;
}

.ph-table-sku a:hover {
	color: #154a83;
	text-decoration: underline;
}

.ph-table-stock {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	padding: 5px 9px;
	font-size: 12px;
	font-weight: 900;
}

.ph-table-stock-in {
	background: #edf9f1;
	border: 1px solid #cdebd5;
	color: #23733a;
}

.ph-table-stock-out {
	background: #fff4f2;
	border: 1px solid #ffd3cd;
	color: #a84235;
}

.ph-table-qty {
	width: 68px;
	min-height: 38px;
	border: 1px solid #d9e3ef;
	border-radius: 9px;
	padding: 8px;
	text-align: center;
}

.ph-table-cart-btn,
.ph-table-quote-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 13px;
	border-radius: 9px;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

.ph-table-cart-btn {
	border: 0;
	background: #0b67c2;
	color: #ffffff;
}

.ph-table-cart-btn:hover {
	background: #0b2f5b;
	color: #ffffff;
}

.ph-table-quote-btn {
	border: 1px solid var(--ph-color-blue);
	background: #ffffff;
	color: var(--ph-color-blue);
}

.ph-table-quote-btn:hover {
	background: var(--ph-color-blue);
	color: #ffffff;
	text-decoration: none;
}

.ph-table-cart-form {
	margin: 0;
}

.ph-table-empty {
	color: #8a9aae;
}

body.phoslens-product-table-enhanced .entry-content .ph-product-table-wrap a,
body.phoslens-product-table-enhanced .entry-content .ph-product-table-wrap a:hover {
	text-decoration: none;
}

@media (max-width: 720px) {
	.ph-product-table-head h2 {
		font-size: 24px;
	}

	.ph-product-table-scroll {
		border-radius: 14px;
	}

	.ph-product-table {
		font-size: 13px;
	}

	.ph-product-table th,
	.ph-product-table td {
		padding: 10px;
	}
}

/* Product detail specifications v1.2.1 */
.ph-single-specs {
	clear: both;
	margin: 22px 0 18px;
	padding: 18px;
	background: #ffffff;
	border: 1px solid #d9e3ef;
	border-radius: 16px;
	box-shadow: 0 8px 20px rgba(16, 32, 51, 0.04);
}

.ph-single-specs h2 {
	margin: 0 0 14px;
	font-size: 22px;
	line-height: 1.25;
	color: #0b2f5b;
}

.ph-single-specs-scroll {
	width: 100%;
	overflow-x: auto;
}

.ph-single-specs-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	font-size: 14px;
}

.ph-single-specs-table th,
.ph-single-specs-table td {
	padding: 10px 12px;
	border-bottom: 1px solid #e5edf6;
	text-align: left;
	vertical-align: top;
}

.ph-single-specs-table tr:last-child th,
.ph-single-specs-table tr:last-child td {
	border-bottom: 0;
}

.ph-single-specs-table th {
	width: 42%;
	background: #f6f9fd;
	color: #0b2f5b;
	font-weight: 900;
}

.ph-single-specs-table td {
	color: #1f334a;
}

/* Request quote context v1.2.1 */
.ph-quote-context {
	margin: 0 0 24px;
	padding: 18px 20px;
	background: #f7fbff;
	border: 1px solid #cfe0f3;
	border-left: 4px solid #0b67c2;
	border-radius: 14px;
	color: #1f334a;
}

.ph-quote-context-label {
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #0b2f5b;
}

.ph-quote-context p {
	margin: 8px 0 0;
	color: #64748b;
}

@media (max-width: 720px) {
	.ph-single-specs {
		padding: 15px;
		border-radius: 14px;
	}

	.ph-single-specs h2 {
		font-size: 20px;
	}

	.ph-single-specs-table {
		min-width: 520px;
	}
}

/* Diameter aggregation product pages v1.2.4 */
body.phoslens-diameter-table-product .summary form.cart,
body.phoslens-diameter-table-product .summary .variations_form,
body.phoslens-diameter-table-product .summary table.variations,
body.phoslens-diameter-table-product .summary .single_variation_wrap,
body.phoslens-diameter-table-product .summary .woocommerce-variation-add-to-cart,
body.phoslens-diameter-table-product .summary .reset_variations,
body.phoslens-diameter-table-product .summary .stock,
body.phoslens-diameter-table-product .summary .ph-single-specs {
	display: none !important;
}

.ph-diameter-product-intro {
	clear: both;
	margin: 18px 0 22px;
	padding: 18px 20px;
	background: #f7fbff;
	border: 1px solid #cfe0f3;
	border-left: 4px solid #0b67c2;
	border-radius: 16px;
	color: #1f334a;
}

.ph-diameter-product-intro-label {
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #0b2f5b;
}

.ph-diameter-product-intro p {
	margin: 0;
	color: #64748b;
}

.ph-diameter-product-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

.ph-diameter-product-chips span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 7px 10px;
	background: #ffffff;
	border: 1px solid #d7e7f8;
	border-radius: 999px;
	font-size: 13px;
	color: #29425f;
}

body.phoslens-diameter-table-product .ph-product-table-wrap {
	clear: both;
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 28px 0 42px;
}

body.phoslens-diameter-table-product .ph-product-table-scroll {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
}

body.phoslens-diameter-table-product .ph-product-table {
	width: 100%;
	min-width: 1120px;
}

body.phoslens-diameter-table-product .ph-product-table-head h2 {
	font-size: 24px;
}

@media (max-width: 720px) {
	.ph-diameter-product-intro {
		padding: 15px;
		border-radius: 14px;
	}

	.ph-diameter-product-chips {
		gap: 6px;
	}

	.ph-diameter-product-chips span {
		font-size: 12px;
	}
}


/* Hidden table SKU product pages v1.2.4
 * These pages are auxiliary SKU detail pages used by product tables.
 * Keep price/cart/specifications visible, but remove the large placeholder image area.
 */
body.phoslens-table-sku-product div.product div.images,
body.phoslens-table-sku-product div.product .woocommerce-product-gallery,
body.phoslens-table-sku-product .woocommerce-product-gallery,
body.phoslens-table-sku-product .woocommerce-product-gallery__wrapper {
	display: none !important;
}

body.phoslens-table-sku-product.woocommerce div.product div.summary,
body.phoslens-table-sku-product div.product div.summary,
body.phoslens-table-sku-product .product .summary {
	float: none !important;
	clear: both !important;
	width: 100% !important;
	max-width: 880px;
	margin: 0 auto 42px !important;
}

body.phoslens-table-sku-product .ph-single-specs {
	margin-top: 24px;
}

body.phoslens-table-sku-product .ph-single-specs-table {
	width: 100%;
}

@media (max-width: 720px) {
	body.phoslens-table-sku-product.woocommerce div.product div.summary,
	body.phoslens-table-sku-product div.product div.summary,
	body.phoslens-table-sku-product .product .summary {
		max-width: 100%;
	}
}

/* Series selection pages v1.3.1 */
.ph-series-selection {
	clear: both;
	width: 100%;
	max-width: 1220px;
	margin: 0 auto 48px;
	color: #10233f;
}

.ph-series-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
	gap: 28px;
	align-items: stretch;
	padding: 28px;
	background: #f3f6f9;
	border: 1px solid #d9e3ef;
	border-radius: 4px;
	margin: 22px 0;
}

.ph-series-copy h1 {
	margin: 0 0 16px;
	font-size: 30px;
	line-height: 1.2;
	color: #0b2f5b;
}

.ph-series-description {
	font-size: 15px;
	line-height: 1.75;
	color: #1f334a;
}

.ph-series-description p {
	margin: 0 0 12px;
}

.ph-series-media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 220px;
}

.ph-series-media img {
	max-width: 100%;
	max-height: 260px;
	object-fit: contain;
	border-radius: 12px;
}

.ph-series-image-placeholder {
	width: 250px;
	height: 150px;
	border-radius: 50%;
	background: radial-gradient(circle at 32% 20%, rgba(255,255,255,.95), transparent 16%), linear-gradient(135deg, #6fb0ff 0%, #0b4a8e 58%, #111827 100%);
	box-shadow: inset 0 -18px 34px rgba(0,0,0,.22), 0 22px 34px rgba(16,32,51,.18);
	transform: perspective(480px) rotateX(58deg) rotateZ(-12deg);
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255,255,255,.75);
	font-weight: 900;
	letter-spacing: .08em;
}

.ph-series-specs {
	margin: 18px 0 26px;
}

.ph-series-specs table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	background: #ffffff;
}

.ph-series-specs tbody {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 12px;
}

.ph-series-specs tr {
	display: grid;
	grid-template-columns: 38% 62%;
	border-bottom: 1px solid #ffffff;
}

.ph-series-specs th,
.ph-series-specs td {
	padding: 10px 14px;
	text-align: left;
	vertical-align: top;
}

.ph-series-specs th {
	background: #e5e5e5;
	font-weight: 800;
	color: #263b52;
}

.ph-series-specs td {
	background: #f2f2f2;
	color: #10233f;
}

.ph-series-tabs-note {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 26px 0 14px;
	padding: 12px 16px;
	background: #e5e5e5;
	border-left: 3px solid var(--ph-color-blue);
	color: #0b2f5b;
}

.ph-series-tabs-note strong {
	font-size: 16px;
}

.ph-series-tabs-note span {
	font-size: 13px;
	color: var(--ph-color-blue);
	font-weight: 800;
}

.ph-series-filters {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
	gap: 12px;
	align-items: end;
	margin: 0 0 18px;
}

.ph-series-filters label {
	display: grid;
	gap: 6px;
	margin: 0;
	font-size: 13px;
	font-weight: 800;
	color: #0b2f5b;
}

.ph-series-filters select {
	width: 100%;
	min-height: 40px;
	border: 1px solid #cfdce9;
	border-radius: 2px;
	background: #ffffff;
	color: #1f334a;
	padding: 8px 11px;
	font-size: 14px;
}

.ph-series-filters button {
	min-height: 40px;
	border: 0;
	border-radius: 2px;
	background: #0b67c2;
	color: #ffffff;
	font-weight: 800;
	padding: 8px 16px;
	cursor: pointer;
}

.ph-series-table-scroll {
	width: 100%;
	overflow-x: auto;
	border: 1px solid #d9e3ef;
	background: #ffffff;
}

.ph-series-table {
	width: 100%;
	min-width: 1080px;
	border-collapse: collapse;
	margin: 0;
	font-size: 14px;
}

.ph-series-table th,
.ph-series-table td {
	padding: 10px 12px;
	border-bottom: 1px solid #e1e8f0;
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
}

.ph-series-table th {
	background: #e5e5e5;
	color: #0b2f5b;
	font-weight: 900;
}

.ph-series-table tbody tr:hover {
	background: #f7fbff;
}

.ph-series-sku {
	font-weight: 800;
	color: #0b2f5b;
}

.ph-series-sku a {
	color: #005eb8;
	font-weight: 900;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ph-series-sku a:hover,
.ph-series-sku a:focus {
	color: #0b2f5b;
	text-decoration-thickness: 2px;
}

.ph-series-spec-link a {
	font-weight: 800;
	color: #0b67c2;
	text-decoration: underline;
	font-size: 13px;
}

.ph-series-table .ph-series-qty-cell {
	width: 76px;
	min-width: 76px;
	max-width: 76px;
	padding-left: 8px;
	padding-right: 8px;
}

.ph-series-table .ph-series-action-cell {
	width: 126px;
	min-width: 126px;
}

.ph-series-table input.ph-series-qty,
.ph-series-qty {
	display: inline-block;
	box-sizing: border-box;
	width: 58px !important;
	min-width: 58px !important;
	max-width: 58px !important;
	height: 34px;
	padding: 4px 6px;
	border: 1px solid #cfdce9;
	border-radius: 2px;
	text-align: center;
	margin: 0;
}

.ph-series-cart-form {
	margin: 0;
}

.ph-series-cart-btn,
.ph-series-quote-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 7px 12px;
	border-radius: 2px;
	font-weight: 900;
	font-size: 13px;
	text-decoration: none;
	white-space: nowrap;
}

.ph-series-cart-btn {
	border: 1px solid #0b67c2;
	background: #0b67c2;
	color: #ffffff;
	cursor: pointer;
}

.ph-series-cart-btn:hover {
	background: #084f96;
	border-color: #084f96;
}

.ph-series-quote-btn {
	border: 1px solid #0b67c2;
	background: #ffffff;
	color: #0b67c2;
}

.ph-series-empty,
.ph-series-no-results {
	padding: 16px 18px;
	background: #f7fbff;
	border: 1px solid #cfe0f3;
	border-radius: 12px;
	color: #1f334a;
	margin: 16px 0;
}

@media (max-width: 980px) {
	.ph-series-hero {
		grid-template-columns: 1fr;
		padding: 22px;
	}

	.ph-series-specs tbody {
		grid-template-columns: 1fr;
	}

	.ph-series-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ph-series-filters button {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.ph-series-selection {
		margin-bottom: 34px;
	}

	.ph-series-hero {
		padding: 16px;
	}

	.ph-series-copy h1 {
		font-size: 25px;
	}

	.ph-series-filters {
		grid-template-columns: 1fr;
	}

	.ph-series-table {
		min-width: 900px;
	}
}

/* Automatic series cards v1.4.0 */
.phoslens-dynamic-series-wrap {
	max-width: 1260px;
	margin: 0 auto;
	padding: 20px 18px 56px;
}

.ph-series-cards-section {
	clear: both;
	margin: 18px 0 28px;
	padding: 0;
}

.ph-series-cards-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	padding: 14px 0 16px;
	border-bottom: 1px solid #d9e3ef;
	margin-bottom: 18px;
}

.ph-series-cards-head h2 {
	margin: 0 0 6px;
	font-size: 24px;
	line-height: 1.2;
	color: #0b2f5b;
}

.ph-series-cards-head p {
	margin: 0;
	color: #52677e;
	font-size: 14px;
}

.ph-series-cards-head > span {
	padding: 6px 10px;
	border-radius: 999px;
	background: #eef5ff;
	border: 1px solid #cfe0f3;
	color: #0b4a8e;
	font-size: 13px;
	font-weight: 800;
	white-space: nowrap;
}

.ph-series-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.ph-series-card,
.ph-series-card:visited {
	display: grid;
	grid-template-rows: 190px auto;
	min-height: 100%;
	background: #ffffff;
	border: 1px solid #d9e3ef;
	border-radius: 4px;
	overflow: hidden;
	text-decoration: none !important;
	color: #10233f;
	box-shadow: 0 10px 24px rgba(15, 36, 58, .06);
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.ph-series-card:hover,
.ph-series-card:focus {
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(15, 36, 58, .12);
	border-color: #9fc4ea;
	text-decoration: none !important;
}

.ph-series-card-image {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
	border-bottom: 1px solid #d9e3ef;
	padding: 14px;
}

.ph-series-card-image img {
	max-width: 100%;
	max-height: 160px;
	object-fit: contain;
}

.ph-series-card-placeholder {
	width: 170px;
	height: 100px;
	border-radius: 50%;
	background: radial-gradient(circle at 32% 20%, rgba(255,255,255,.95), transparent 16%), linear-gradient(135deg, #6fb0ff 0%, #0b4a8e 58%, #111827 100%);
	box-shadow: inset 0 -16px 30px rgba(0,0,0,.18), 0 18px 28px rgba(16,32,51,.14);
	transform: perspective(420px) rotateX(58deg) rotateZ(-12deg);
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255,255,255,.72);
	font-weight: 900;
	letter-spacing: .08em;
}

.ph-series-card-body {
	padding: 16px 18px 18px;
}

.ph-series-card-body h3 {
	margin: 0 0 12px;
	font-size: 18px;
	line-height: 1.35;
	color: #0b2f5b;
}

.ph-series-card-body ul {
	list-style: none;
	padding: 0;
	margin: 0 0 16px;
	display: grid;
	gap: 5px;
	font-size: 13px;
	color: #445b73;
}

.ph-series-card-body li strong {
	color: #263b52;
}

.ph-series-card-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 8px 13px;
	background: #0b67c2;
	color: #ffffff;
	border-radius: 2px;
	font-size: 13px;
	font-weight: 900;
}

@media (max-width: 1080px) {
	.ph-series-cards-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.phoslens-dynamic-series-wrap {
		padding-left: 12px;
		padding-right: 12px;
	}

	.ph-series-cards-head {
		display: block;
	}

	.ph-series-cards-head > span {
		display: inline-flex;
		margin-top: 10px;
	}

	.ph-series-cards-grid {
		grid-template-columns: 1fr;
	}
}

/* v1.4.3 homepage featured series: do not show individual hidden SKU product cards on the homepage. */
.ph-home-featured-series-section .ph-home-series-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ph-home-featured-series-section .ph-home-series-card {
	grid-template-rows: 160px auto;
}

.ph-home-featured-series-section .ph-series-card-body h3 {
	font-size: 16px;
	line-height: 1.35;
}

.ph-home-featured-series-section .ph-series-card-placeholder {
	width: 150px;
	height: 88px;
}

@media (max-width: 1180px) {
	.ph-home-featured-series-section .ph-home-series-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.ph-home-featured-series-section .ph-home-series-grid {
		grid-template-columns: 1fr;
	}
}


/* v1.4.4 visual consistency overrides */
.phoslens-btn-primary,
.ph-home-head-link-primary,
.ph-series-card-btn,
.ph-series-cart-btn,
.ph-table-cart-btn,
.ph-series-filters button,
.ph-home-search-form button,
.phoslens-product-search-form button {
	background: var(--ph-color-blue);
	border-color: var(--ph-color-blue);
	color: #ffffff !important;
}

.phoslens-btn-primary:hover,
.ph-home-head-link-primary:hover,
.ph-series-card-btn:hover,
.ph-series-cart-btn:hover,
.ph-table-cart-btn:hover,
.ph-series-filters button:hover,
.ph-home-search-form button:hover,
.phoslens-product-search-form button:hover {
	background: var(--ph-color-blue-dark);
	border-color: var(--ph-color-blue-dark);
	color: #ffffff !important;
}

.ph-series-quote-btn,
.ph-table-quote-btn {
	border-color: var(--ph-color-blue);
	color: var(--ph-color-blue);
	background: #ffffff;
}

.ph-series-quote-btn:hover,
.ph-table-quote-btn:hover {
	background: var(--ph-color-blue);
	border-color: var(--ph-color-blue);
	color: #ffffff !important;
}

.ph-home-section-head h2,
.ph-series-cards-head h2,
.ph-product-table-head h2,
.ph-series-copy h1,
.ph-home-cat-body h3,
.ph-home-product-body h3,
.ph-series-card-body h3 {
	color: var(--ph-color-navy);
	letter-spacing: -0.01em;
}

.phoslens-shop-sidebar,
.phoslens-product-search-panel,
.ph-home-cat-card,
.ph-home-product-card,
.ph-home-why-card,
.ph-home-resource-card,
.ph-home-step,
.ph-series-card,
.ph-series-table-scroll,
.ph-product-table-scroll,
.ph-single-specs {
	border-color: var(--ph-color-border);
	box-shadow: var(--ph-shadow-card);
}

.ph-series-card,
.ph-series-hero,
.ph-series-table-scroll,
.ph-product-table-scroll,
.phoslens-shop-sidebar,
.phoslens-product-search-panel {
	border-radius: var(--ph-radius-card);
}

.ph-series-tabs-note {
	border-left-color: var(--ph-color-blue);
}

.ph-series-table .ph-series-qty-cell {
	width: 64px;
	min-width: 64px;
	max-width: 64px;
}

@media (max-width: 640px) {
	.ph-home-hero-inner {
		padding-top: 48px;
		padding-bottom: 48px;
	}

	.ph-home-hero h1 {
		font-size: 32px;
		line-height: 1.15;
	}

	.ph-home-section-head h2,
	.ph-home-final-cta h2 {
		font-size: 26px;
	}

	.ph-series-copy h1 {
		font-size: 23px;
	}

	.ph-home-actions .phoslens-btn,
	.phoslens-custom-optics-actions .phoslens-btn {
		width: 100%;
	}
}


/* PHOSLENS sticky top utility bar + main navigation v1.4.5 */
:root {
	--ph-topbar-height: 34px;
	--ph-adminbar-height: 0px;
}

body.admin-bar {
	--ph-adminbar-height: 32px;
}

@media (max-width: 782px) {
	body.admin-bar {
		--ph-adminbar-height: 46px;
	}
}

body.phoslens-site-core-active .ph-topbar {
	position: sticky;
	top: var(--ph-adminbar-height, 0px);
	z-index: 100002;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .08);
}

body.phoslens-site-core-active #masthead,
body.phoslens-site-core-active .site-header {
	position: sticky;
	top: calc(var(--ph-adminbar-height, 0px) + var(--ph-topbar-height, 34px));
	z-index: 100001;
	background: #ffffff;
	box-shadow: 0 8px 18px rgba(16, 32, 51, .08);
}

body.phoslens-site-core-active #masthead .ast-primary-header-bar,
body.phoslens-site-core-active #masthead .main-header-bar,
body.phoslens-site-core-active .site-header .ast-primary-header-bar,
body.phoslens-site-core-active .site-header .main-header-bar {
	background: #ffffff;
}

body.phoslens-site-core-active .ast-mobile-header-wrap,
body.phoslens-site-core-active .ast-primary-header-bar,
body.phoslens-site-core-active .main-header-bar {
	transition: box-shadow .18s ease, background-color .18s ease;
}

@media (max-width: 780px) {
	body.phoslens-site-core-active #masthead,
	body.phoslens-site-core-active .site-header {
		top: calc(var(--ph-adminbar-height, 0px) + var(--ph-topbar-height, 58px));
	}
}

@media (max-width: 544px) {
	body.phoslens-site-core-active .ph-topbar-inner {
		padding-top: 6px;
		padding-bottom: 6px;
	}
}

/* PHOSLENS v1.4.8 launch SEO/catalog/footer refinements */
body.phoslens-site-core-active .woocommerce-products-header__title.page-title {
	color: var(--ph-color-navy);
	font-weight: 800;
}

.ph-site-footer {
	background: #071a2e;
	color: #dcecff;
	border-top: 1px solid rgba(255, 255, 255, .08);
	margin-top: 48px;
}

.ph-site-footer * {
	box-sizing: border-box;
}

.ph-site-footer-inner {
	max-width: 1220px;
	margin: 0 auto;
	padding: 42px 22px;
	display: grid;
	grid-template-columns: minmax(220px, 1.2fr) minmax(0, 3fr);
	gap: 36px;
	align-items: start;
}

.ph-site-footer-brand h2 {
	margin: 0 0 12px;
	font-size: 26px;
	line-height: 1.1;
	letter-spacing: .04em;
	color: #ffffff;
}

.ph-site-footer-brand p {
	margin: 0;
	max-width: 340px;
	font-size: 14px;
	line-height: 1.65;
	color: #bed2e8;
}

.ph-site-footer-links {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.ph-site-footer-col h3 {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.3;
	color: #ffffff;
	font-weight: 800;
}

.ph-site-footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ph-site-footer-col li {
	margin: 0 0 9px;
	padding: 0;
	font-size: 13.5px;
	line-height: 1.45;
}

.ph-site-footer-col a {
	color: #bed2e8;
	text-decoration: none !important;
}

.ph-site-footer-col a:hover,
.ph-site-footer-col a:focus {
	color: #ffffff;
	text-decoration: underline !important;
}

.ph-custom-rfq-panel {
	background: #f5f8fc;
	border: 1px solid var(--ph-color-border);
	border-radius: 16px;
	padding: 22px;
	margin: 0 0 24px;
	display: grid;
	grid-template-columns: minmax(220px, .9fr) minmax(0, 1.5fr);
	gap: 22px;
	box-shadow: var(--ph-shadow-card);
}

.ph-custom-rfq-panel h2 {
	margin: 0 0 8px;
	font-size: 22px;
	line-height: 1.25;
	color: var(--ph-color-navy);
}

.ph-custom-rfq-panel p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--ph-color-muted);
}

.ph-custom-rfq-panel ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.ph-custom-rfq-panel li {
	background: #ffffff;
	border: 1px solid #d9e3ef;
	border-radius: 999px;
	padding: 8px 12px;
	font-size: 13px;
	line-height: 1.35;
	font-weight: 700;
	color: var(--ph-color-ink);
}

@media (max-width: 900px) {
	.ph-site-footer-inner,
	.ph-custom-rfq-panel {
		grid-template-columns: 1fr;
	}

	.ph-site-footer-links,
	.ph-custom-rfq-panel ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.ph-site-footer-inner {
		padding: 34px 16px;
	}

	.ph-site-footer-links,
	.ph-custom-rfq-panel ul {
		grid-template-columns: 1fr;
	}

	.ph-custom-rfq-panel {
		padding: 18px;
	}
}
