/**
 * PooyaTrans — Global Design System
 *
 * Tokens and reusable patterns derived from the design reference.
 * No page-specific layouts. No external fonts/CDN. No frameworks.
 */

/* =========================================================================
   1. Design tokens
   ========================================================================= */

:root {
	/* Brand / semantic colors */
	--color-primary: #071f2b;
	--color-primary-soft: #082632;
	--color-accent: #145ce6;
	--color-accent-hover: #0a45ba;
	--color-accent-lime: #cfff36;
	--color-text: #092431;
	--color-text-muted: #64757b;
	--color-text-inverse: #ffffff;
	--color-surface: #ffffff;
	--color-surface-soft: #f3f6f4;
	--color-surface-tint: #edf2ef;
	--color-border: #dce4e1;
	--color-border-strong: #cbd5d1;

	/* Feedback (from design-reference form states; warning adapted to palette) */
	--color-success: #185c2b;
	--color-success-bg: #eff9f1;
	--color-success-border: #b7ddc0;
	--color-warning: #7a5a10;
	--color-warning-bg: #fff8e6;
	--color-warning-border: #e5d19a;
	--color-error: #9c2e23;
	--color-error-bg: #fff2f1;
	--color-error-border: #efbbb5;
	--color-info: #12489e;
	--color-info-bg: #eef5ff;
	--color-info-border: #b8d1ff;
	--color-focus: #2f6ee6;

	/* Typography */
	--font-sans: "Vazirmatn", Tahoma, "Segoe UI", Arial, sans-serif;
	--font-mono: ui-monospace, "Cascadia Code", "Segoe UI Mono", Consolas, monospace;
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-bold: 700;
	--font-weight-extrabold: 800;
	--line-height-tight: 1.35;
	--line-height-snug: 1.45;
	--line-height-body: 1.8;
	--line-height-loose: 2;
	--font-size-xs: 0.75rem;
	--font-size-sm: 0.875rem;
	--font-size-base: 1rem;
	--font-size-md: 1.125rem;
	--font-size-lg: 1.25rem;
	--font-size-xl: clamp(1.35rem, 1.2rem + 0.6vw, 1.75rem);
	--font-size-2xl: clamp(1.6rem, 1.35rem + 1vw, 2.125rem);
	--font-size-3xl: clamp(1.9rem, 1.5rem + 1.6vw, 2.75rem);
	--font-size-4xl: clamp(2.15rem, 1.6rem + 2.2vw, 3.25rem);
	--font-size-lead: clamp(1.05rem, 1rem + 0.25vw, 1.2rem);

	/* Spacing scale */
	--space-3xs: 0.25rem;
	--space-2xs: 0.375rem;
	--space-xs: 0.5rem;
	--space-sm: 0.75rem;
	--space-md: 1rem;
	--space-lg: 1.5rem;
	--space-xl: 2rem;
	--space-2xl: 2.5rem;
	--space-3xl: 4rem;
	--space-4xl: 5.3125rem; /* ~85px */
	--space-5xl: 6.25rem; /* ~100px */
	--space-6xl: 7.1875rem; /* ~115px */
	--section-padding: clamp(3.75rem, 3rem + 3vw, 6.25rem);
	--section-padding-compact: clamp(2.5rem, 2rem + 2vw, 4rem);
	--section-padding-large: clamp(5rem, 4rem + 3vw, 7.1875rem);

	/* Layout */
	--container-max: 1200px;
	--container-wide: 100%;
	--container-narrow: 760px;
	--container-gutter: 24px;
	--container-gutter-sm: 14px;
	--content-measure: 65ch;

	/* Radius — industrial / mostly sharp */
	--radius-none: 0;
	--radius-sm: 2px;
	--radius-md: 10px;
	--radius-lg: 18px;
	--radius-full: 9999px;

	/* Shadows from design language */
	--shadow-xs: 0 1px 2px rgb(7 31 43 / 6%);
	--shadow-sm: 0 12px 25px rgb(23 56 67 / 7%);
	--shadow-md: 0 18px 45px rgb(21 50 60 / 7%);
	--shadow-lg: 0 20px 60px rgb(7 31 43 / 14%);
	--shadow-focus: 0 0 0 3px rgb(47 110 230 / 45%);
	--shadow-error: 0 0 0 3px rgb(201 74 60 / 12%);

	/* Motion */
	--transition-fast: 150ms ease;
	--transition-base: 200ms ease;
	--transition-slow: 300ms ease;

	/* Generic chrome sizing (placeholders — not final header UI) */
	--header-height: 76px;
	--wp-admin-bar-visible-height: 0px;
	--site-sticky-header-height: var(--header-height);
	--product-sticky-nav-height: 68px;
	--product-anchor-breathing: 12px;
	--pd-nav-offset: calc(var(--wp-admin-bar-visible-height) + var(--site-sticky-header-height));
	--combined-sticky-offset: calc(
		var(--wp-admin-bar-visible-height) + var(--site-sticky-header-height) + var(--product-sticky-nav-height) +
			var(--product-anchor-breathing)
	);
	--mobile-bottom-nav-clearance: 0px;
	--topbar-height: 30px;
	--control-height: 46px;
	--control-height-sm: 40px;
	--touch-target: 44px;

	/* Z-index layers */
	--z-base: 1;
	--z-dropdown: 50;
	--z-sticky: 40;
	--z-overlay: 80;
	--z-modal: 90;
	--z-skip-link: 100;
}

/* =========================================================================
   2. Base and reset
   ========================================================================= */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-bottom: var(--mobile-bottom-nav-clearance, 0px);
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body {
	margin: 0;
	min-height: 100%;
	background-color: var(--color-surface);
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-body);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
	height: auto;
}

iframe {
	max-width: 100%;
}

svg:not([fill]) {
	fill: currentColor;
}

button,
input,
textarea,
select {
	font: inherit;
	color: inherit;
	letter-spacing: inherit;
}

button {
	cursor: pointer;
	background: none;
	border: 0;
	padding: 0;
}

a {
	color: var(--color-accent);
	text-decoration: none;
	transition: color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base), opacity var(--transition-base);
}

a:hover {
	color: var(--color-accent-hover);
}

p,
ul,
ol,
dl,
blockquote,
pre,
figure,
hr,
table {
	margin-block: 0 1.25em;
}

ul,
ol {
	padding-inline-start: 1.35em;
}

li + li {
	margin-top: 0.35em;
}

blockquote {
	margin-inline: 0;
	padding: var(--space-md) var(--space-lg);
	border-inline-start: 3px solid var(--color-accent);
	background: var(--color-surface-soft);
	color: var(--color-text);
	font-size: var(--font-size-sm);
	line-height: var(--line-height-loose);
}

code,
kbd,
samp {
	font-family: var(--font-mono);
	font-size: 0.92em;
	padding: 0.1em 0.35em;
	background: var(--color-surface-soft);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	overflow-wrap: anywhere;
}

pre {
	max-width: 100%;
	padding: var(--space-md);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	background: var(--color-primary);
	color: #d7e5e8;
	border-radius: var(--radius-sm);
	font-family: var(--font-mono);
	font-size: var(--font-size-sm);
	line-height: 1.7;
}

pre code {
	padding: 0;
	background: transparent;
	border: 0;
	color: inherit;
}

hr {
	border: 0;
	border-block-start: 1px solid var(--color-border);
	margin-block: var(--space-xl);
}

table {
	width: 100%;
	border-collapse: collapse;
	display: block;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

thead,
tbody,
tr {
	width: 100%;
}

th,
td {
	padding: 0.75rem 1rem;
	border: 1px solid var(--color-border);
	text-align: start;
	vertical-align: top;
}

th {
	background: var(--color-surface-soft);
	font-weight: var(--font-weight-bold);
}

/* =========================================================================
   3. Typography
   ========================================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-block: 0 0.6em;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-snug);
	overflow-wrap: anywhere;
	text-wrap: balance;
}

h1 {
	font-size: var(--font-size-4xl);
	line-height: var(--line-height-tight);
}

h2 {
	font-size: var(--font-size-3xl);
}

h3 {
	font-size: var(--font-size-2xl);
}

h4 {
	font-size: var(--font-size-xl);
}

h5 {
	font-size: var(--font-size-lg);
}

h6 {
	font-size: var(--font-size-md);
}

.lead {
	font-size: var(--font-size-lead);
	line-height: var(--line-height-loose);
	color: var(--color-text-muted);
}

.small,
small {
	font-size: var(--font-size-sm);
}

.text-muted {
	color: var(--color-text-muted);
}

.text-center {
	text-align: center;
}

/* =========================================================================
   4. Layout and containers
   ========================================================================= */

.site {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.site-main {
	flex: 1 0 auto;
	width: 100%;
}

.container,
.container--wide,
.container--narrow {
	width: 100%;
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--container-gutter);
}

.container--wide {
	max-width: none;
}

.container--narrow {
	max-width: var(--container-narrow);
}

@media (max-width: 560px) {
	.container,
	.container--wide,
	.container--narrow {
		padding-inline: var(--container-gutter-sm);
	}
}

.flow > * + * {
	margin-block-start: var(--flow-space, 1.25em);
}

.stack {
	display: flex;
	flex-direction: column;
	gap: var(--stack-gap, var(--space-md));
}

.cluster {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--cluster-gap, var(--space-md));
}

.grid {
	display: grid;
	gap: var(--grid-gap, var(--space-lg));
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}

.surface {
	background: var(--color-surface);
	color: var(--color-text);
}

.surface--soft {
	background: var(--color-surface-soft);
	color: var(--color-text);
}

/* =========================================================================
   5. Section spacing
   ========================================================================= */

.section {
	padding-block: var(--section-padding);
}

.section--compact {
	padding-block: var(--section-padding-compact);
}

.section--large {
	padding-block: var(--section-padding-large);
}

/* =========================================================================
   6. Buttons
   ========================================================================= */

.button,
.wp-block-button__link,
.wp-element-button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
	--button-bg: var(--color-accent);
	--button-color: var(--color-text-inverse);
	--button-border: transparent;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-sm);
	min-height: var(--touch-target);
	padding: 0.7rem 1.25rem;
	border: 1px solid var(--button-border);
	border-radius: var(--radius-none);
	background: var(--button-bg);
	color: var(--button-color);
	font-family: var(--font-sans);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-bold);
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color var(--transition-base),
		color var(--transition-base),
		border-color var(--transition-base),
		opacity var(--transition-base),
		transform var(--transition-fast),
		box-shadow var(--transition-base);
}

.button:hover,
.wp-block-button__link:hover,
.wp-element-button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover {
	--button-bg: var(--color-accent-hover);
	color: var(--button-color);
	text-decoration: none;
}

.button:focus-visible,
.wp-block-button__link:focus-visible,
.wp-element-button:focus-visible,
input[type="submit"]:focus-visible,
input[type="button"]:focus-visible,
input[type="reset"]:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 3px;
}

.button:active,
.wp-block-button__link:active,
.wp-element-button:active {
	transform: translateY(1px);
}

.button:disabled,
.button[aria-disabled="true"],
.button[aria-busy="true"],
input[type="submit"]:disabled,
input[type="button"]:disabled,
input[type="reset"]:disabled {
	opacity: 0.72;
	cursor: not-allowed;
	transform: none;
	pointer-events: none;
}

.button[aria-busy="true"] {
	cursor: wait;
	pointer-events: none;
}

.button--primary {
	--button-bg: var(--color-accent);
	--button-color: var(--color-text-inverse);
}

.button--primary:hover {
	--button-bg: var(--color-accent-hover);
}

.button--secondary {
	--button-bg: var(--color-primary);
	--button-color: var(--color-text-inverse);
}

.button--secondary:hover {
	--button-bg: #0b2c3a;
}

.button--lime {
	--button-bg: var(--color-accent-lime);
	--button-color: var(--color-primary);
}

.button--lime:hover {
	--button-bg: #bfe82a;
}

.button--outline {
	--button-bg: transparent;
	--button-color: var(--color-primary);
	--button-border: var(--color-primary);
}

.button--outline:hover {
	--button-bg: var(--color-primary);
	--button-color: var(--color-text-inverse);
}

.button--text {
	--button-bg: transparent;
	--button-color: var(--color-accent);
	--button-border: transparent;
	min-height: var(--touch-target);
	padding-inline: 0.35rem;
}

.button--text:hover {
	--button-color: var(--color-accent-hover);
	text-decoration: underline;
}

.button--small {
	min-height: var(--control-height-sm);
	padding: 0.45rem 0.9rem;
	font-size: var(--font-size-xs);
}

.button--large {
	min-height: 52px;
	padding: 0.9rem 1.6rem;
	font-size: var(--font-size-base);
}

.button--icon {
	width: var(--touch-target);
	min-width: var(--touch-target);
	padding: 0;
}

/* =========================================================================
   7. Forms
   ========================================================================= */

.form-field {
	display: flex;
	flex-direction: column;
	gap: var(--space-2xs);
	margin-block-end: var(--space-lg);
}

.form-label,
label {
	display: inline-block;
	margin-block-end: var(--space-2xs);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-bold);
	color: var(--color-text);
}

.form-help {
	margin: 0;
	font-size: var(--font-size-xs);
	line-height: var(--line-height-body);
	color: var(--color-text-muted);
}

.form-error {
	margin: 0;
	font-size: var(--font-size-xs);
	line-height: var(--line-height-body);
	color: var(--color-error);
}

.form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-md);
	align-items: center;
	margin-block-start: var(--space-lg);
}

fieldset {
	margin: 0 0 var(--space-lg);
	padding: var(--space-lg);
	border: 1px solid var(--color-border);
	min-inline-size: 0;
}

legend {
	padding-inline: var(--space-xs);
	font-weight: var(--font-weight-bold);
}

.form-control,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="time"],
textarea,
select {
	display: block;
	width: 100%;
	min-height: var(--control-height);
	padding: 0.65rem 0.9rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-none);
	background: var(--color-surface);
	color: var(--color-text);
	line-height: 1.5;
	text-align: start;
	transition: border-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);
}

textarea {
	min-height: 8rem;
	resize: vertical;
}

select {
	appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%),
		linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);
	background-position:
		calc(100% - 18px) calc(50% - 3px),
		calc(100% - 12px) calc(50% - 3px);
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	padding-inline-end: 2.25rem;
}

[dir="rtl"] select {
	background-position:
		calc(0% + 12px) calc(50% - 3px),
		calc(0% + 18px) calc(50% - 3px);
	padding-inline-end: 0.9rem;
	padding-inline-start: 2.25rem;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
	color: #8a9aa0;
	opacity: 1;
}

.form-control:hover,
input[type="text"]:hover,
input[type="email"]:hover,
input[type="tel"]:hover,
input[type="number"]:hover,
input[type="password"]:hover,
input[type="search"]:hover,
input[type="url"]:hover,
textarea:hover,
select:hover {
	border-color: var(--color-border-strong);
}

.form-control:focus-visible,
input[type="text"]:focus-visible,
input[type="email"]:focus-visible,
input[type="tel"]:focus-visible,
input[type="number"]:focus-visible,
input[type="password"]:focus-visible,
input[type="search"]:focus-visible,
input[type="url"]:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 2px;
	border-color: var(--color-accent);
}

.form-control:disabled,
.form-control[readonly],
input:disabled,
input[readonly],
textarea:disabled,
textarea[readonly],
select:disabled {
	background: var(--color-surface-soft);
	color: var(--color-text-muted);
	cursor: not-allowed;
	opacity: 0.9;
}

.form-control[aria-invalid="true"],
input[aria-invalid="true"],
textarea[aria-invalid="true"],
select[aria-invalid="true"] {
	border-color: #c94a3c;
	box-shadow: var(--shadow-error);
}

input[type="checkbox"],
input[type="radio"] {
	width: 1.15rem;
	height: 1.15rem;
	min-height: 0;
	margin: 0;
	accent-color: var(--color-accent);
	vertical-align: middle;
}

/* =========================================================================
   8. Cards and surfaces
   ========================================================================= */

.card {
	display: flex;
	flex-direction: column;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-none);
	overflow: hidden;
	transition: box-shadow var(--transition-slow), transform var(--transition-slow);
}

.card:hover {
	box-shadow: var(--shadow-md);
}

.card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--color-surface-tint);
}

.card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.card__body {
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
	padding: var(--space-lg);
	flex: 1;
}

.card__title {
	margin: 0;
	font-size: var(--font-size-lg);
	line-height: var(--line-height-snug);
}

.card__text {
	margin: 0;
	font-size: var(--font-size-sm);
	line-height: var(--line-height-loose);
	color: var(--color-text-muted);
}

.card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-sm);
	margin-block-start: auto;
	padding-block-start: var(--space-sm);
}

.panel {
	padding: var(--space-xl);
	background: var(--color-surface);
	border: 1px solid var(--color-border);
}

.badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 1.75rem;
	padding: 0.2rem 0.65rem;
	background: var(--color-surface-soft);
	border: 1px solid var(--color-border);
	color: var(--color-text);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-bold);
	line-height: 1.2;
	white-space: nowrap;
}

.divider {
	display: block;
	width: 100%;
	height: 1px;
	margin-block: var(--space-xl);
	background: var(--color-border);
	border: 0;
}

/* =========================================================================
   9. WordPress content
   ========================================================================= */

.entry {
	padding-block: var(--space-3xl);
}

.entry + .entry {
	border-block-start: 1px solid var(--color-border);
}

.entry-header {
	margin-block-end: var(--space-xl);
}

.entry-title {
	margin-block-end: var(--space-sm);
}

.entry-title a {
	color: var(--color-text);
}

.entry-title a:hover {
	color: var(--color-accent);
}

.entry-content,
.entry-summary {
	max-width: var(--content-measure);
}

.entry-content > *:first-child {
	margin-block-start: 0;
}

.entry-content > *:last-child {
	margin-block-end: 0;
}

.entry-content a:not(.button):not(.wp-block-button__link) {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.entry-content a:not(.button):not(.wp-block-button__link):hover {
	text-decoration: underline;
}

.entry-footer {
	margin-block-start: var(--space-xl);
	padding-block-start: var(--space-md);
	border-block-start: 1px solid var(--color-border);
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
}

.post-thumbnail {
	margin-block: 0 var(--space-xl);
}

.post-thumbnail img {
	width: 100%;
	height: auto;
}

.no-results {
	padding-block: var(--space-4xl);
}

.navigation,
.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-md);
	align-items: center;
	justify-content: space-between;
	margin-block: var(--space-2xl);
	padding-block: var(--space-lg);
	border-block-start: 1px solid var(--color-border);
}

.nav-links a,
.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--touch-target);
	min-width: var(--touch-target);
	padding: 0.35rem 0.85rem;
	border: 1px solid var(--color-border);
	color: var(--color-text);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-bold);
}

.page-numbers.current,
.nav-links a:hover,
.page-numbers:hover {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-text-inverse);
}

.alignleft {
	float: inline-start;
	margin-inline-end: var(--space-lg);
	margin-block-end: var(--space-md);
	max-width: min(100%, 50%);
}

.alignright {
	float: inline-end;
	margin-inline-start: var(--space-lg);
	margin-block-end: var(--space-md);
	max-width: min(100%, 50%);
}

.aligncenter {
	display: block;
	margin-inline: auto;
	margin-block-end: var(--space-md);
}

.alignwide {
	max-width: var(--container-max);
	margin-inline: auto;
}

.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
}

.wp-caption {
	max-width: 100%;
}

.wp-caption img {
	margin-block-end: var(--space-xs);
}

.wp-caption-text,
.wp-element-caption,
figcaption {
	font-size: var(--font-size-xs);
	line-height: var(--line-height-body);
	color: var(--color-text-muted);
}

.gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
	gap: var(--space-md);
	margin-block-end: var(--space-xl);
}

.gallery img {
	width: 100%;
	height: auto;
}

/* Clear floats after aligned content */
.entry-content::after {
	content: "";
	display: table;
	clear: both;
}

/* =========================================================================
   10. Accessibility
   ========================================================================= */

:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 3px;
}

.screen-reader-text,
.visually-hidden {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important; /* WordPress core pattern for SR text */
}

#primary {
	scroll-margin-top: calc(var(--wp-admin-bar-visible-height, 0px) + var(--site-sticky-header-height, var(--header-height, 76px)) + 12px);
}

.screen-reader-text:focus,
.visually-hidden:focus {
	display: block;
	clip: auto;
	clip-path: none;
	height: auto;
	width: auto;
	margin: 0;
	padding: 0.85rem 1.15rem;
	position: absolute;
	inset-block-start: var(--space-md);
	inset-inline-start: var(--space-md);
	z-index: var(--z-skip-link);
	background: var(--color-primary);
	color: var(--color-text-inverse);
	border: 0;
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-lg);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-bold);
	text-decoration: none;
	outline: 3px solid var(--color-accent-lime);
	outline-offset: 2px;
}

/* =========================================================================
   11. Responsive rules
   ========================================================================= */

@media (max-width: 1024px) {
	.entry-content,
	.entry-summary {
		max-width: none;
	}
}

@media (max-width: 768px) {
	.alignleft,
	.alignright {
		float: none;
		display: block;
		margin-inline: 0;
		max-width: 100%;
	}

	.panel,
	.card__body {
		padding: var(--space-lg);
	}

	.form-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.form-actions .button {
		width: 100%;
	}
}

@media (max-width: 375px) {
	body {
		font-size: 0.975rem;
	}

	.entry {
		padding-block: var(--space-2xl);
	}

	.button--large {
		width: 100%;
	}
}

/* Long strings / URLs */
a,
p,
li,
td,
th,
.entry-title,
.card__title {
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* =========================================================================
   13. Site header
   ========================================================================= */

.site-header__topbar {
	background: var(--color-primary);
	color: #d7e5e8;
	font-size: var(--font-size-xs);
	line-height: 1.6;
}

.site-header__topbar-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-sm) var(--space-md);
	padding-block: 0.45rem;
	min-height: var(--topbar-height);
}

.site-header__topbar-message {
	display: flex;
	align-items: flex-start;
	gap: 0.45rem;
	margin: 0;
	max-width: 100%;
}

.site-header__topbar-dot {
	flex: 0 0 auto;
	width: 6px;
	height: 6px;
	margin-top: 0.4em;
	border-radius: var(--radius-full);
	background: var(--color-accent-lime);
}

.site-header__topbar-link {
	color: #d7e5e8;
	font-weight: var(--font-weight-bold);
	white-space: nowrap;
}

.site-header__topbar-link:hover {
	color: var(--color-accent-lime);
}

.site-header {
	position: sticky;
	top: var(--wp-admin-bar-visible-height, 0px);
	z-index: var(--z-sticky);
	background: var(--color-surface);
}

.site-header__main {
	position: relative;
	top: auto;
	z-index: inherit;
	background: var(--color-surface);
	border-bottom: 1px solid var(--color-border);
}

.site-header__inner {
	position: relative;
	display: flex;
	align-items: center;
	gap: var(--space-md);
	min-height: var(--header-height);
}

.site-header__brand {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	max-width: min(200px, 42vw);
}

.site-header__brand .custom-logo-link,
.site-header__brand-link {
	display: flex;
	align-items: center;
	max-width: 100%;
	color: var(--color-text);
	text-decoration: none;
}

.site-header__logo-img,
.site-header__brand .custom-logo {
	width: auto;
	max-width: 100%;
	max-height: 40px;
	height: auto;
}

.site-header__logo-text {
	font-size: 1.05rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.3;
}

.site-header__brand--desktop {
	display: none;
}

.site-header__brand--mobile {
	display: flex;
}

.site-header__nav {
	display: none;
	flex: 1 1 auto;
	min-width: 0;
}

.site-header__menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.15rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-header__menu > .menu-item {
	position: relative;
}

.site-header__menu > .menu-item > a,
.site-header__mega-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: var(--header-height);
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-text);
	font-size: 0.8125rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

.site-header__menu > .menu-item > a:hover,
.site-header__menu > .menu-item > a:focus-visible,
.site-header__mega-toggle:hover,
.site-header__mega-toggle:focus-visible,
.site-header__mega-toggle[aria-expanded="true"],
.site-header__menu > .current-menu-item > a,
.site-header__menu > .current-menu-ancestor > a {
	color: var(--color-accent);
}

.site-header__menu .sub-menu {
	position: absolute;
	inset-block-start: 100%;
	inset-inline-start: 0;
	display: none;
	min-width: 14rem;
	margin: 0;
	padding: 0.5rem 0;
	list-style: none;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-md);
	z-index: var(--z-dropdown);
}

.site-header__menu > .menu-item-has-children:hover > .sub-menu,
.site-header__menu > .menu-item-has-children:focus-within > .sub-menu {
	display: block;
}

.site-header__menu .sub-menu a {
	display: block;
	padding: 0.65rem 1rem;
	color: #43575e;
	font-size: 0.8125rem;
	font-weight: var(--font-weight-medium);
	white-space: normal;
}

.site-header__menu .sub-menu a:hover,
.site-header__menu .sub-menu a:focus-visible {
	color: var(--color-accent);
	background: var(--color-surface-soft);
}

.site-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.5rem;
	margin-inline-start: auto;
	flex: 0 0 auto;
}

.site-header__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: var(--touch-target);
	min-width: var(--touch-target);
	height: var(--touch-target);
	min-height: var(--touch-target);
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-text);
	cursor: pointer;
	text-decoration: none;
}

.site-header__action:hover,
.site-header__action:focus-visible {
	color: var(--color-accent);
}

.site-header__action--desktop {
	display: none;
}

.site-header__cart-count,
.mobile-menu__count {
	position: absolute;
	top: 2px;
	inset-inline-start: 2px;
	display: grid;
	place-items: center;
	min-width: 1.15rem;
	height: 1.15rem;
	padding: 0 0.2rem;
	border-radius: var(--radius-full);
	background: var(--color-accent-lime);
	color: var(--color-primary);
	font-size: 0.625rem;
	font-weight: var(--font-weight-bold);
	line-height: 1;
}

.mobile-menu__count {
	position: static;
	margin-inline-start: auto;
}

.site-header__cta {
	min-height: var(--control-height);
	padding-inline: 1rem;
	font-size: 0.75rem;
	white-space: nowrap;
}

/*
 * WooCommerce `a.button` sets a gray background-color that overrides the theme
 * button shorthand on product/shop pages. Reassert the approved header CTA colors.
 */
body .site-header a.button.button--primary.site-header__cta,
body.woocommerce .site-header a.button.button--primary.site-header__cta,
body.woocommerce-page .site-header a.button.button--primary.site-header__cta {
	background: var(--color-accent);
	background-color: var(--color-accent);
	background-image: none;
	color: var(--color-text-inverse);
	border-color: transparent;
	box-shadow: none;
	text-shadow: none;
}

body .site-header a.button.button--primary.site-header__cta:hover,
body .site-header a.button.button--primary.site-header__cta:focus-visible,
body.woocommerce .site-header a.button.button--primary.site-header__cta:hover,
body.woocommerce .site-header a.button.button--primary.site-header__cta:focus-visible,
body.woocommerce-page .site-header a.button.button--primary.site-header__cta:hover,
body.woocommerce-page .site-header a.button.button--primary.site-header__cta:focus-visible {
	background: var(--color-accent-hover);
	background-color: var(--color-accent-hover);
	color: var(--color-text-inverse);
}

.site-header__cta--desktop {
	display: none;
}

.site-header__cta--mobile {
	display: inline-flex;
	max-width: 42vw;
	overflow: hidden;
	text-overflow: ellipsis;
	min-height: var(--control-height-sm);
	padding-inline: 0.75rem;
}

.site-header__menu-toggle-close {
	display: none;
}

/*
 * While the drawer is open, hide the header toggle visually so only the
 * drawer close control is shown. Keep it in the accessibility tree for
 * aria-expanded and focus restoration.
 */
body.is-mobile-menu-open .site-header__menu-toggle {
	visibility: hidden;
}

.pt-icon {
	display: block;
	flex: 0 0 auto;
}

.site-header__mega {
	position: absolute;
	inset-inline: 0;
	inset-block-start: 100%;
	z-index: var(--z-dropdown);
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-lg);
	max-height: min(70vh, 32rem);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.site-header__mega[hidden] {
	display: none !important; /* ensure inert closed panel never paints */
}

.site-header__mega-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xl);
	padding: var(--space-xl);
}

.site-header__mega-title {
	margin: 0 0 var(--space-md);
	color: var(--color-accent);
	font-size: 0.7rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.04em;
}

.site-header__mega-title--accent {
	color: #749800;
}

.site-header__mega-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-header__mega-menu a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-sm);
	padding: 0.6rem 0;
	border-bottom: 1px solid #edf0ef;
	color: #43575e;
	font-size: 0.8125rem;
}

.site-header__mega-menu a:hover,
.site-header__mega-menu a:focus-visible {
	color: var(--color-accent);
}

.site-header__mega-help {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: start;
	gap: var(--space-sm);
	padding: var(--space-lg);
	background: var(--color-primary);
	color: var(--color-text-inverse);
	min-height: 0;
}

.site-header__mega-help-label {
	color: var(--color-accent-lime);
	font-size: 0.7rem;
	font-weight: var(--font-weight-bold);
}

.site-header__mega-phone,
.site-header__mega-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	color: var(--color-accent-lime);
	font-size: 0.8125rem;
	font-weight: var(--font-weight-bold);
}

.site-header__mega-phone:hover,
.site-header__mega-cta:hover {
	color: #fff;
}

.site-header__search-panel {
	border-bottom: 1px solid var(--color-border);
	background: var(--color-surface-soft);
}

.site-header__search-panel[hidden] {
	display: none !important;
}

.site-header__search-inner {
	padding-block: var(--space-md);
}

.site-header__search-panel .search-form,
.mobile-menu__search .search-form {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-sm);
	align-items: stretch;
}

.site-header__search-panel .search-form label,
.mobile-menu__search .search-form label {
	flex: 1 1 12rem;
	margin: 0;
}

.site-header__search-panel .search-field,
.mobile-menu__search .search-field {
	width: 100%;
	min-height: var(--control-height);
}

.site-header__search-panel .search-submit,
.mobile-menu__search .search-submit {
	min-height: var(--touch-target);
	padding-inline: 1.1rem;
	border: 0;
	background: var(--color-accent);
	color: var(--color-text-inverse);
	font-weight: var(--font-weight-bold);
	cursor: pointer;
}

/* Mobile drawer */
.mobile-menu__backdrop {
	position: fixed;
	inset: 0;
	z-index: calc(var(--z-overlay) - 1);
	background: rgb(7 31 43 / 45%);
}

.mobile-menu__backdrop[hidden] {
	display: none !important;
}

.mobile-menu {
	position: fixed;
	inset-block: 0;
	inset-inline-start: 0;
	z-index: var(--z-overlay);
	width: min(100vw - 2.5rem, 22rem);
	max-width: 100%;
	height: 100%;
	background: var(--color-surface);
	box-shadow: var(--shadow-lg);
	transform: translateX(0);
}

.mobile-menu[hidden] {
	display: none !important;
}

.mobile-menu__panel {
	display: flex;
	flex-direction: column;
	height: 100%;
	max-height: 100dvh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

.mobile-menu__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	padding: var(--space-md) var(--space-lg);
	border-bottom: 1px solid var(--color-border);
	position: sticky;
	top: 0;
	background: var(--color-surface);
	z-index: 1;
}

.mobile-menu__title {
	font-size: 0.875rem;
	font-weight: var(--font-weight-bold);
}

.mobile-menu__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--touch-target);
	height: var(--touch-target);
	color: var(--color-text);
}

.mobile-menu__nav {
	padding: var(--space-sm) var(--space-md);
}

.mobile-menu__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mobile-menu__list .menu-item {
	position: relative;
	border-bottom: 1px solid var(--color-border);
}

.mobile-menu__list > .menu-item > a,
.mobile-menu__list .menu-item-has-children > a {
	display: block;
	padding-block: 0.9rem;
	padding-inline: 0.35rem 2.75rem;
	color: var(--color-text);
	font-size: 0.875rem;
	font-weight: var(--font-weight-bold);
}

.mobile-menu__submenu-toggle {
	position: absolute;
	inset-block-start: 0.35rem;
	inset-inline-end: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--touch-target);
	height: var(--touch-target);
	color: var(--color-text);
}

.mobile-menu__submenu-toggle[aria-expanded="true"] .pt-icon--chevron {
	transform: rotate(180deg);
}

.mobile-menu__list .sub-menu {
	display: none;
	margin: 0;
	padding: 0 0 0.5rem;
	list-style: none;
	background: var(--color-surface-soft);
}

.mobile-menu__list .menu-item.is-submenu-open > .sub-menu {
	display: block;
}

.mobile-menu__list .sub-menu a {
	display: block;
	padding: 0.7rem 0.75rem;
	color: #43575e;
	font-size: 0.8125rem;
}

.mobile-menu__actions {
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
	margin-top: auto;
	padding: var(--space-lg);
	border-top: 1px solid var(--color-border);
}

.mobile-menu__link {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	min-height: var(--touch-target);
	color: var(--color-text);
	font-size: 0.875rem;
	font-weight: var(--font-weight-bold);
}

.mobile-menu__cta {
	width: 100%;
	margin-top: var(--space-xs);
}

body.is-mobile-menu-open {
	overflow: hidden;
	touch-action: none;
}

@media (max-width: 560px) {
	.site-header__topbar-link {
		display: none;
	}

	.site-header__cta--mobile {
		max-width: 38vw;
		font-size: 0.6875rem;
		padding-inline: 0.55rem;
	}
}

@media (min-width: 901px) {
	.site-header__brand--desktop {
		display: flex;
		margin-inline-end: 1.5rem;
		max-width: min(280px, 28vw);
	}

	.site-header__brand--desktop .site-header__logo-img,
	.site-header__brand--desktop .custom-logo {
		max-height: 58px;
	}

	.site-header__brand--desktop .site-header__logo-text {
		font-size: 1.15rem;
	}

	.site-header__brand--mobile,
	.site-header__cta--mobile,
	.site-header__menu-toggle {
		display: none;
	}

	.site-header__nav {
		display: block;
	}

	.site-header__action--desktop {
		display: inline-flex;
	}

	.site-header__cta--desktop {
		display: inline-flex;
	}

	.site-header__mega-grid {
		grid-template-columns: 1fr 1fr minmax(12rem, 0.9fr);
		gap: 2.5rem;
		padding: 2rem;
		align-items: start;
	}

	.mobile-menu,
	.mobile-menu__backdrop {
		display: none !important;
	}
}

/* =========================================================================
   14. Site footer
   ========================================================================= */

.site-footer {
	background: #061a23;
	color: #fff;
	margin-block-start: auto;
}

.site-footer__main {
	padding-block: 4.375rem 1.5rem;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.2rem;
	align-items: start;
}

.site-footer__brand {
	max-width: 22rem;
}

.site-footer__logo-link,
.site-footer__logo-wrap,
.site-footer__logo-wrap .custom-logo-link {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	color: #fff;
	text-decoration: none;
}

.site-footer__logo,
.site-footer__logo-wrap .custom-logo {
	width: auto;
	max-width: min(220px, 100%);
	max-height: 52px;
	height: auto;
}

.site-footer__logo-text {
	font-size: 1.125rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.35;
	color: #fff;
}

.site-footer__description {
	margin: 1.5rem 0 0;
	max-width: 19rem;
	color: #9bb0b7;
	font-size: 0.8125rem;
	line-height: 2;
}

.site-footer__label {
	margin: 0;
	color: var(--color-accent-lime);
	font-size: 0.8125rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	text-align: start;
	overflow-wrap: anywhere;
}

.site-footer__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem;
	width: 100%;
	margin: 0 0 1.15rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-accent-lime);
	font: inherit;
	text-align: start;
	cursor: default;
}

.site-footer__toggle-icon {
	display: none;
	flex: 0 0 auto;
	color: var(--color-accent-lime);
	line-height: 0;
	transition: transform var(--transition-base);
}

.site-footer__toggle-icon .pt-icon {
	display: block;
}

.site-footer__panel {
	display: block;
}

.site-footer__nav {
	display: block;
}

.site-footer__menu,
.site-footer__legal-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__menu {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}

.site-footer__menu a,
.site-footer__contact-link,
.site-footer__address,
.site-footer__legal-menu a,
.site-footer__copyright {
	margin: 0;
	color: #a8bbc0;
	font-size: 0.8125rem;
	line-height: 1.9;
	text-decoration: none;
}

.site-footer__menu a:hover,
.site-footer__contact-link:hover,
.site-footer__legal-menu a:hover {
	color: #fff;
}

.site-footer__menu a:focus-visible,
.site-footer__contact-link:focus-visible,
.site-footer__legal-menu a:focus-visible,
.site-footer__logo-link:focus-visible,
.site-footer__logo-wrap .custom-logo-link:focus-visible {
	outline: 3px solid var(--color-accent-lime);
	outline-offset: 3px;
}

.site-footer__menu .sub-menu {
	margin: 0.35rem 0 0;
	padding: 0;
	padding-inline-start: 0.85rem;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.site-footer__contact {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.site-footer__contact-panel {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}

.site-footer__address {
	max-width: 18rem;
}

.site-footer__phone,
.site-footer__email {
	display: inline-block;
	overflow-wrap: anywhere;
	unicode-bidi: isolate;
}

.site-footer__bottom {
	border-block-start: 1px solid #2a424b;
	margin-block-start: 2.5rem;
	padding-block: 1.25rem 1.5rem;
}

.site-footer__bottom-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	text-align: center;
	width: 100%;
}

.site-footer__copyright {
	margin: 0;
	width: 100%;
	color: #779098;
	font-size: 0.75rem;
	line-height: 1.8;
	text-align: center;
}

.site-footer__legal {
	display: flex;
	justify-content: center;
	width: 100%;
}

.site-footer__legal-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.5rem 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
}

.site-footer__legal-menu li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__legal-menu a {
	display: inline-flex;
	align-items: center;
	margin: 0;
	color: #779098;
	font-size: 0.75rem;
	line-height: 1.5;
	text-align: center;
}

@media (max-width: 767px) {
	.site-footer__main {
		padding-block: 3.25rem 0.75rem;
	}

	.site-footer__grid {
		gap: 0;
	}

	.site-footer__brand {
		margin-block-end: 1.5rem;
		max-width: none;
	}

	.site-footer__column[data-footer-accordion] {
		border-block-start: 1px solid #2a424b;
	}

	.site-footer__toggle {
		min-height: 44px;
		margin: 0;
		padding-block: 0.85rem;
		cursor: pointer;
	}

	.site-footer__toggle:focus-visible {
		outline: 3px solid var(--color-accent-lime);
		outline-offset: 2px;
	}

	.site-footer__toggle-icon {
		display: inline-flex;
	}

	.site-footer__toggle[aria-expanded="true"] .site-footer__toggle-icon {
		transform: rotate(180deg);
	}

	.site-footer.is-accordion-ready .site-footer__panel[hidden] {
		display: none;
	}

	.site-footer__panel:not([hidden]) {
		padding-block-end: 1rem;
	}

	.site-footer__bottom {
		margin-block-start: 1.5rem;
	}
}

@media (min-width: 768px) {
	.site-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: 2.5rem 2rem;
	}

	.site-footer__brand {
		grid-column: 1 / -1;
		max-width: 28rem;
	}

	.site-footer__toggle-icon {
		display: none;
	}

	.site-footer__toggle {
		pointer-events: none;
	}

	.site-footer__bottom-inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		text-align: start;
	}

	.site-footer__copyright {
		width: auto;
		text-align: start;
	}

	.site-footer__legal {
		width: auto;
		justify-content: flex-end;
	}

	.site-footer__legal-menu {
		width: auto;
		justify-content: flex-end;
	}
}

@media (min-width: 1024px) {
	.site-footer__main {
		padding-block: 4.375rem 1.55rem;
	}

	.site-footer__grid {
		grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr));
		gap: 3.75rem;
	}

	.site-footer__brand {
		grid-column: auto;
		max-width: none;
	}

	.site-footer__bottom {
		margin-block-start: 3.75rem;
	}
}

/* =========================================================================
   15. Mobile bottom navigation
   ========================================================================= */

.mobile-bottom-nav {
	display: none;
}

@media (max-width: 767px) {
	body:has(.mobile-bottom-nav) {
		padding-bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
	}

	body.has-mobile-bottom-nav {
		padding-bottom: var(--mobile-bottom-nav-clearance, calc(4.75rem + env(safe-area-inset-bottom, 0px)));
	}

	.mobile-bottom-nav {
		--mobile-bottom-nav-items: 5;
		position: fixed;
		z-index: var(--z-skip-link);
		inset-inline: 10px;
		inset-block-end: calc(10px + env(safe-area-inset-bottom, 0px));
		display: grid;
		grid-template-columns: repeat(var(--mobile-bottom-nav-items), minmax(0, 1fr));
		align-items: stretch;
		min-height: 62px;
		padding: 5px 4px;
		background: var(--color-surface);
		border: 1px solid #d9e3df;
		border-radius: 17px;
		box-shadow: var(--shadow-lg);
		direction: rtl;
	}

	.mobile-bottom-nav--items-1 { --mobile-bottom-nav-items: 1; }
	.mobile-bottom-nav--items-2 { --mobile-bottom-nav-items: 2; }
	.mobile-bottom-nav--items-3 { --mobile-bottom-nav-items: 3; }
	.mobile-bottom-nav--items-4 { --mobile-bottom-nav-items: 4; }
	.mobile-bottom-nav--items-5 { --mobile-bottom-nav-items: 5; }

	.mobile-bottom-nav__item {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		min-width: 0;
		min-height: 44px;
		margin: 0;
		padding: 0.2rem 0.15rem;
		border: 0;
		border-radius: 12px;
		background: transparent;
		color: #6c7d82;
		font-family: var(--font-sans);
		font-size: 0.5625rem;
		font-weight: var(--font-weight-bold);
		line-height: 1.2;
		text-align: center;
		text-decoration: none;
		cursor: pointer;
		transition: color var(--transition-base), background-color var(--transition-base), transform var(--transition-fast);
		-webkit-tap-highlight-color: transparent;
	}

	.mobile-bottom-nav__item:hover,
	.mobile-bottom-nav__item:focus-visible {
		color: var(--color-accent);
	}

	.mobile-bottom-nav__item:focus-visible {
		outline: 3px solid var(--color-focus);
		outline-offset: 2px;
	}

	.mobile-bottom-nav__item:active {
		transform: scale(0.94);
	}

	.mobile-bottom-nav__item.is-active,
	.mobile-bottom-nav__item[aria-expanded="true"] {
		color: var(--color-accent);
		background: #edf3ff;
	}

	.mobile-bottom-nav__item.is-active::after,
	.mobile-bottom-nav__item[aria-expanded="true"]::after {
		content: "";
		position: absolute;
		inset-block-end: 1px;
		width: 16px;
		height: 2px;
		border-radius: var(--radius-sm);
		background: var(--color-accent);
	}

	.mobile-bottom-nav__icon {
		position: relative;
		display: grid;
		place-items: center;
		width: 1.5rem;
		height: 1.5rem;
	}

	.mobile-bottom-nav__icon .pt-icon {
		width: 22px;
		height: 22px;
	}

	.mobile-bottom-nav__badge-slot {
		position: absolute;
		inset-block-start: -4px;
		inset-inline-end: -9px;
		display: block;
		min-width: 0;
		min-height: 0;
		line-height: 0;
	}

	.mobile-bottom-nav__badge {
		display: inline-grid;
		place-items: center;
		min-width: 15px;
		height: 15px;
		padding: 0 4px;
		border: 2px solid #fff;
		border-radius: 9px;
		background: var(--color-accent-lime);
		color: var(--color-primary);
		font-size: 0.5rem;
		font-weight: var(--font-weight-bold);
		line-height: 1;
		text-align: center;
	}

	.mobile-bottom-nav__label {
		display: block;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

@media (max-width: 360px) {
	.mobile-bottom-nav {
		inset-inline: 6px;
		inset-block-end: calc(6px + env(safe-area-inset-bottom, 0px));
	}

	.mobile-bottom-nav__item {
		font-size: 0.5rem;
	}
}

@media print {
	.mobile-bottom-nav {
		display: none !important;
	}

	body.has-mobile-bottom-nav {
		padding-bottom: 0;
	}
}

/* =========================================================================
   16. WooCommerce responsive compatibility
   ========================================================================= */

/*
 * Live DevTools findings (320/375 shop):
 * 1. Overflow source was .site-header__actions (left:-119), NOT ul.products.
 *    Cause: body.woocommerce makes WC `.woocommerce a.button { display:… }`
 *    override `.site-header__cta--desktop { display:none }`, showing both CTAs.
 * 2. `.woocommerce .woocommerce-content { max-width:100% }` overrode `.container`
 *    max-width (1200px), stretching the shop toolbar across the full viewport.
 * 3. Product loop grid rules were already winning; keep them explicit.
 */

/* --- Isolate header CTAs from WooCommerce button display rules --- */
body.woocommerce .site-header .site-header__cta--desktop,
body.woocommerce-page .site-header .site-header__cta--desktop {
	display: none;
}

body.woocommerce .site-header .site-header__cta--mobile,
body.woocommerce-page .site-header .site-header__cta--mobile {
	display: inline-flex;
	max-width: 42vw;
	overflow: hidden;
	text-overflow: ellipsis;
	box-sizing: border-box;
}

@media (max-width: 560px) {
	body.woocommerce .site-header .site-header__cta--mobile,
	body.woocommerce-page .site-header .site-header__cta--mobile {
		max-width: 38vw;
	}
}

@media (min-width: 901px) {
	body.woocommerce .site-header .site-header__cta--desktop,
	body.woocommerce-page .site-header .site-header__cta--desktop {
		display: inline-flex;
	}

	body.woocommerce .site-header .site-header__cta--mobile,
	body.woocommerce-page .site-header .site-header__cta--mobile,
	body.woocommerce .site-header .site-header__menu-toggle,
	body.woocommerce-page .site-header .site-header__menu-toggle {
		display: none;
	}
}

/* --- Content container: keep theme .container max-width + gutters --- */
.woocommerce-content {
	min-width: 0;
	padding-block: var(--space-xl) var(--space-3xl);
	box-sizing: border-box;
}

body.woocommerce .site-main,
body.woocommerce-page .site-main {
	min-width: 0;
}

body.woocommerce .woocommerce-content .woocommerce,
body.woocommerce-page .woocommerce-content .woocommerce,
.woocommerce-content > .woocommerce-breadcrumb,
.woocommerce-content > .woocommerce-products-header,
.woocommerce-content > .woocommerce-notices-wrapper,
.woocommerce-content > .woocommerce-result-count,
.woocommerce-content > .woocommerce-ordering,
.woocommerce-content > ul.products,
.woocommerce-content > .woocommerce-pagination {
	max-width: 100%;
	min-width: 0;
}

/* --- Archive toolbar --- */
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
	float: none;
	clear: none;
	margin-inline: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
	display: block;
	width: 100%;
	margin-block: 0 0.75rem;
}

.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
	display: block;
	width: 100%;
	margin-block: 0 1rem;
}

.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	.woocommerce .woocommerce-result-count,
	.woocommerce-page .woocommerce-result-count {
		float: inline-start;
		width: auto;
		max-width: calc(100% - 12rem);
		margin-block: 0 1em;
	}

	.woocommerce .woocommerce-ordering,
	.woocommerce-page .woocommerce-ordering {
		float: inline-end;
		width: auto;
		max-width: min(100%, 18rem);
		margin-block: 0 1em;
	}

	.woocommerce .woocommerce-ordering select,
	.woocommerce-page .woocommerce-ordering select {
		width: auto;
		max-width: 100%;
	}
}

/* --- Product loop: override WC float widths (22.05% / 48%) --- */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-lg);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 0 var(--space-xl);
	margin-inline: 0;
	padding: 0;
	padding-inline: 0;
	list-style: none;
	clear: both;
	box-sizing: border-box;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	content: none;
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product,
.woocommerce ul.products[class*="columns-"] li.product:nth-child(2n),
.woocommerce-page ul.products[class*="columns-"] li.product:nth-child(2n) {
	float: none;
	clear: none;
	width: auto;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	position: relative;
	box-sizing: border-box;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce-page ul.products li.product .woocommerce-loop-product__link {
	display: block;
	max-width: 100%;
	min-width: 0;
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
	max-width: 100%;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce-page ul.products li.product .added_to_cart {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	white-space: normal;
}

.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale {
	inset-inline-end: 0;
	inset-inline-start: auto;
	margin: 0;
}

@media (min-width: 480px) and (max-width: 767px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-md);
	}
}

@media (min-width: 768px) {
	.woocommerce ul.products.columns-1,
	.woocommerce-page ul.products.columns-1 {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce ul.products.columns-2,
	.woocommerce-page ul.products.columns-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce ul.products,
	.woocommerce ul.products.columns-3,
	.woocommerce-page ul.products,
	.woocommerce-page ul.products.columns-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.woocommerce ul.products.columns-4,
	.woocommerce-page ul.products.columns-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.woocommerce ul.products.columns-5,
	.woocommerce-page ul.products.columns-5 {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.woocommerce ul.products.columns-6,
	.woocommerce-page ul.products.columns-6 {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

/* --- Single product / forms / notices / tables --- */
.woocommerce div.product,
.woocommerce-page div.product,
.woocommerce div.product div.images,
.woocommerce div.product div.summary,
.woocommerce-page div.product div.images,
.woocommerce-page div.product div.summary {
	float: none;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.woocommerce form .form-row,
.woocommerce-page form .form-row,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
.woocommerce .quantity .qty,
.woocommerce-page .quantity .qty {
	max-width: 100%;
	box-sizing: border-box;
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-error {
	max-width: 100%;
	overflow-wrap: anywhere;
}

@media (max-width: 767px) {
	.woocommerce table.shop_table,
	.woocommerce-page table.shop_table,
	.woocommerce table.cart,
	.woocommerce-page table.cart,
	.woocommerce-cart table.cart,
	.woocommerce-checkout table.shop_table {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
	max-width: 100%;
}

.woocommerce table.shop_table img,
.woocommerce-page table.shop_table img {
	max-width: 100%;
	height: auto;
}

@media (min-width: 768px) {
	.woocommerce div.product div.images,
	.woocommerce-page div.product div.images {
		float: inline-start;
		width: 48%;
	}

	.woocommerce div.product div.summary,
	.woocommerce-page div.product div.summary {
		float: inline-end;
		width: 48%;
	}

	.woocommerce div.product,
	.woocommerce-page div.product {
		display: flow-root;
	}
}

/* Header cart count slot — stable fragment target */
.site-header__cart-count-slot {
	display: contents;
}

.site-header__cart-count-slot:empty {
	display: none;
}


/* =========================================================================
   12. Reduced-motion support
   ========================================================================= */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important; /* a11y: honor reduced motion */
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}

	.card:hover,
	.button:active,
	.wp-block-button__link:active,
	.wp-element-button:active {
		transform: none;
	}
}

/* =========================================================================
   17. Homepage: Hero and Metrics
   ========================================================================= */

.home-hero {
	position: relative;
	isolation: isolate;
	background: var(--color-surface-soft);
	overflow: hidden;
	min-height: clamp(28rem, 70vh, 40.625rem);
}

.home-hero-block {
	background: var(--color-surface-soft);
}

.home-hero-block .home-hero {
	background: transparent;
	min-height: clamp(22rem, 52vh, 34rem);
}

.home-hero-block .home-hero__metrics {
	margin-block-end: 0;
	padding-block-end: 0;
}

.home-hero__grid {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgb(23 61 71 / 6%) 1px, transparent 1px),
		linear-gradient(90deg, rgb(23 61 71 / 6%) 1px, transparent 1px);
	background-size: 48px 48px;
}

.home-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: var(--space-2xl);
	padding-block: clamp(2.5rem, 4vw, 3.75rem) var(--space-xl);
	min-height: clamp(22rem, 52vh, 31.25rem);
}

.home-hero__copy {
	min-width: 0;
	max-width: 36rem;
}

.home-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	margin: 0;
	color: var(--color-accent);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
}

.home-hero__eyebrow-mark {
	display: inline-block;
	width: 1.125rem;
	height: 2px;
	flex: 0 0 auto;
	background: var(--color-accent);
}

.home-hero__title {
	margin-block: var(--space-md) var(--space-lg);
	margin-inline: 0;
	font-size: clamp(2.05rem, 1.4rem + 2.8vw, 3.4rem);
	font-weight: var(--font-weight-extrabold);
	line-height: 1.24;
	letter-spacing: -0.04em;
	color: var(--color-text);
	overflow-wrap: anywhere;
}

.home-hero__title-line,
.home-hero__title-highlight {
	display: block;
}

.home-hero__title-highlight {
	color: var(--color-accent);
	font-style: normal;
}

.home-hero__lead {
	margin: 0;
	max-width: 35rem;
	font-size: clamp(0.875rem, 0.82rem + 0.2vw, 0.9375rem);
	line-height: 2.1;
	color: #607177;
	overflow-wrap: anywhere;
}

.home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(1rem, 2vw, 2.125rem);
	margin-block-start: var(--space-xl);
}

.home-hero__cta-primary {
	gap: var(--space-md);
	padding-inline: 1.25rem 1.1rem;
}

.home-hero__cta-secondary {
	display: inline-flex;
	align-items: center;
	gap: var(--space-md);
	min-height: var(--touch-target);
	color: var(--color-text);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-bold);
	text-decoration: none;
}

.home-hero__cta-secondary:hover,
.home-hero__cta-secondary:focus-visible {
	color: var(--color-accent);
}

.home-hero__cta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.home-hero__cta-icon .pt-icon--chevron {
	transform: rotate(90deg);
}

.home-hero__official {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-xs) var(--space-sm);
	margin-block-start: var(--space-xl);
	margin-block-end: 0;
	font-size: 0.625rem;
	line-height: 1.6;
	color: #7b8a8f;
}

.home-hero__official-brand {
	color: var(--color-text);
	font-weight: var(--font-weight-bold);
}

.home-hero__official-sep {
	display: inline-block;
	width: 1px;
	height: 0.75rem;
	background: #a8b4b7;
	vertical-align: middle;
}

.home-hero__art {
	position: relative;
	min-width: 0;
	width: 100%;
	max-width: 28rem;
	margin-inline: auto;
	aspect-ratio: 1 / 0.95;
	height: auto;
	min-height: 18rem;
}

.home-hero__art-stage {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	direction: ltr;
}

.home-hero__ring {
	position: absolute;
	border: 1px solid rgb(20 92 230 / 17%);
	border-radius: var(--radius-full);
	pointer-events: none;
}

.home-hero__ring--a {
	width: min(100%, 25rem);
	aspect-ratio: 1;
	height: auto;
}

.home-hero__ring--b {
	width: min(78%, 19.375rem);
	aspect-ratio: 1;
	height: auto;
}

.home-hero__transformer {
	position: relative;
	z-index: 1;
	width: min(72%, 18.75rem);
	filter: drop-shadow(0 25px 18px rgb(21 51 59 / 15%));
}

.home-hero__bushings {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	gap: clamp(1.5rem, 4vw, 2.8rem);
	height: 5.5rem;
}

.home-hero__bushings span {
	display: block;
	width: 1.5rem;
	height: 4rem;
	background: repeating-linear-gradient(
		to bottom,
		#58777c 0 8px,
		#d0dcda 9px 14px
	);
	clip-path: polygon(35% 0, 65% 0, 72% 88%, 100% 88%, 100% 100%, 0 100%, 0 88%, 28% 88%);
}

.home-hero__tank {
	position: relative;
	width: 76%;
	max-width: 14.375rem;
	height: clamp(8.5rem, 22vw, 11.5rem);
	margin-inline: auto;
	border: 5px solid #244a52;
	background: linear-gradient(110deg, #78979b, #b4c5c2 55%, #627f84);
	box-sizing: border-box;
}

.home-hero__fins {
	position: absolute;
	inset-block: 1.5rem 1rem;
	inset-inline: -2.5rem;
	display: flex;
	justify-content: space-between;
	pointer-events: none;
}

.home-hero__fins span {
	display: block;
	width: clamp(0.9rem, 2.2vw, 1.55rem);
	height: 100%;
	border: 2px solid #254a51;
	background: linear-gradient(90deg, #274e56, #8ea7a9, #274e56);
	box-sizing: border-box;
}

.home-hero__base {
	width: 100%;
	height: 0.95rem;
	margin-block-start: 0.5rem;
	background: #173f47;
}

.home-hero__spec {
	position: absolute;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	padding: 0.625rem 0.875rem;
	background: var(--color-surface);
	border-inline-start: 3px solid var(--color-accent);
	box-shadow: var(--shadow-xs);
	max-width: min(100%, 9.5rem);
}

.home-hero__spec small {
	font-size: 0.5rem;
	line-height: 1.3;
	color: #77868b;
	text-transform: uppercase;
}

.home-hero__spec strong {
	font-size: clamp(0.9rem, 0.8rem + 0.4vw, 1.05rem);
	line-height: 1.3;
	color: #18333c;
	font-weight: var(--font-weight-bold);
}

.home-hero__spec--voltage {
	inset-block-start: 12%;
	inset-inline-end: 0;
}

.home-hero__spec--power {
	inset-block-end: 14%;
	inset-inline-start: 0;
}

.home-hero__dot {
	position: absolute;
	z-index: 2;
	width: 0.45rem;
	height: 0.45rem;
	border: 2px solid var(--color-surface);
	border-radius: var(--radius-full);
	background: var(--color-accent-lime);
	box-shadow: 0 0 0 6px rgb(207 255 54 / 19%);
}

.home-hero__dot--1 {
	inset-block-start: 14%;
	inset-inline-start: 22%;
}

.home-hero__dot--2 {
	inset-block-end: 16%;
	inset-inline-end: 24%;
}

.home-hero__dot--3 {
	inset-block-start: 46%;
	inset-inline-start: 8%;
}

.home-hero__metrics {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.25fr);
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	margin-block-end: var(--space-xl);
	min-width: 0;
}

.home-metric {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-width: 0;
	min-height: 5.625rem;
	padding: var(--space-md) clamp(0.875rem, 2vw, 1.875rem);
	border-inline-end: 1px solid var(--color-border);
	box-sizing: border-box;
}

.home-metric:last-child {
	border-inline-end: 0;
}

.home-metric__value {
	font-size: clamp(1.5rem, 1.2rem + 1vw, 1.9375rem);
	line-height: 1.1;
	color: var(--color-accent);
	font-weight: var(--font-weight-bold);
	white-space: nowrap;
}

.home-metric__label {
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.5;
	color: #65767c;
	overflow-wrap: anywhere;
}

.home-metric--action {
	justify-content: center;
	gap: clamp(1rem, 3vw, 2.5rem);
	background: var(--color-accent-lime);
	border-inline-end: 0;
	color: var(--color-text);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-bold);
	text-decoration: none;
}

.home-metric--action:hover,
.home-metric--action:focus-visible {
	color: var(--color-primary);
}

.home-metric__action-label {
	overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
	.home-hero__inner {
		gap: var(--space-xl);
	}

	.home-hero__metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-metric:nth-child(2) {
		border-inline-end: 0;
	}

	.home-metric:nth-child(3),
	.home-metric--action {
		border-block-start: 1px solid var(--color-border);
	}
}

@media (max-width: 900px) {
	.home-hero {
		min-height: 0;
	}

	.home-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
		padding-block: clamp(2rem, 5vw, 3.5rem) var(--space-lg);
		gap: var(--space-lg);
	}

	.home-hero__copy {
		max-width: none;
	}

	.home-hero__art {
		order: 2;
		max-width: 22rem;
		min-height: 16rem;
	}

	.home-hero__copy {
		order: 1;
	}
}

@media (max-width: 560px) {
	.home-hero__actions {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-md);
	}

	.home-hero__art {
		max-width: 100%;
		min-height: 15rem;
	}

	.home-hero__fins {
		inset-inline: -1.25rem;
	}

	.home-hero__spec {
		max-width: min(42%, 8.5rem);
		padding: 0.5rem 0.65rem;
	}

	.home-hero__metrics {
		grid-template-columns: minmax(0, 1fr);
		margin-block-end: calc(var(--space-xl) + 0.5rem);
	}

	.home-metric {
		border-inline-end: 0;
		border-block-end: 1px solid var(--color-border);
		min-height: 4.5rem;
	}

	.home-metric:nth-child(2),
	.home-metric:nth-child(3) {
		border-block-start: 0;
	}

	.home-metric--action {
		border-block-start: 0;
		border-block-end: 0;
		min-height: 4.375rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-hero__cta-primary,
	.home-hero__cta-secondary,
	.home-metric--action {
		transition: none;
	}
}

/* =========================================================================
   18. Homepage: Shortcode Slots
   ========================================================================= */

.home-shortcode-slot {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

.home-shortcode-slot img,
.home-shortcode-slot video,
.home-shortcode-slot iframe,
.home-shortcode-slot svg {
	max-width: 100%;
	height: auto;
}

.home-shortcode-slot--hero-replace {
	margin-block-end: 0;
}

/* =========================================================================
   18b. Homepage: Native Hero Slider
   ========================================================================= */

.home-hero-block:has(.home-slider) {
	background: transparent;
}

.home-hero-block .home-slider + .home-hero__metrics {
	margin-block-start: 0;
	margin-block-end: 0;
}

.home-slider {
	--home-slider-accent: #c8ef3d;
	--home-slider-ink: #f3f7f5;
	--home-slider-muted: #9cafb5;
	--home-slider-navy: #071e27;
	--home-slider-navy-2: #0b2d38;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: var(--home-slider-ink);
	background:
		radial-gradient(circle at 12% 52%, #124758 0, transparent 35%),
		linear-gradient(125deg, #071b23 0%, #092934 54%, #061820 100%);
	min-height: clamp(28rem, calc(100svh - 7.5rem), 42rem);
	padding-block: clamp(1.5rem, 3vw, 2.25rem) 0;
	margin-block-end: 0;
}

.home-slider__grid-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.12;
	background-image:
		linear-gradient(#b9d4da 1px, transparent 1px),
		linear-gradient(90deg, #b9d4da 1px, transparent 1px);
	background-size: 3.5rem 3.5rem;
	mask-image: linear-gradient(90deg, #000, transparent 80%);
}

.home-slider__glow {
	position: absolute;
	z-index: 0;
	pointer-events: none;
	inline-size: min(38.75rem, 90%);
	block-size: min(38.75rem, 90%);
	border-radius: var(--radius-full);
	inset-inline-start: -10rem;
	inset-block-start: 8%;
	background: radial-gradient(circle, rgb(32 114 139 / 25%), transparent 67%);
	filter: blur(8px);
}

.home-slider__rail-word {
	position: absolute;
	z-index: 1;
	margin: 0;
	inset-inline-start: 1.125rem;
	inset-block-start: 50%;
	writing-mode: vertical-rl;
	transform: translateY(-50%) rotate(180deg);
	font-size: 0.5rem;
	letter-spacing: 0.25em;
	color: #6f8d95;
	pointer-events: none;
}

.home-slider__stage {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.home-slider__viewport {
	position: relative;
	min-width: 0;
	flex: 1 1 auto;
}

.home-slider__slide {
	display: none;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
	align-items: center;
	gap: clamp(1rem, 3vw, 2rem);
	min-width: 0;
	padding-block: clamp(1.75rem, 4vw, 3.25rem) clamp(1rem, 2vw, 1.75rem);
}

.home-slider__slide.is-active {
	display: grid;
	animation: home-slider-copy-in 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.home-slider__copy {
	min-width: 0;
	padding-inline-end: clamp(0, 2vw, 1rem);
}

.home-slider__counter {
	display: flex;
	align-items: center;
	inline-size: min(13.75rem, 100%);
	margin-block-end: clamp(1.25rem, 3vw, 2.375rem);
}

.home-slider__counter-current {
	font-size: 0.75rem;
	color: var(--home-slider-accent);
	font-family: var(--font-mono);
}

.home-slider__counter-total {
	font-size: 0.5rem;
	color: #708890;
	font-family: var(--font-mono);
}

.home-slider__counter-rule {
	position: relative;
	flex: 1;
	height: 1px;
	margin-inline: 0.8125rem;
	background: #5b747c;
	overflow: hidden;
}

.home-slider__counter-progress {
	position: absolute;
	inset: 0;
	background: var(--home-slider-accent);
	transform: scaleX(0);
	transform-origin: left center;
	will-change: transform;
}

.home-slider__kicker {
	margin: 0;
	font-size: 0.625rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.02em;
	color: #a7bac0;
}

.home-slider__kicker-mark {
	display: inline-block;
	inline-size: 1.375rem;
	block-size: 2px;
	margin-inline-start: 0.5rem;
	vertical-align: middle;
	background: var(--home-slider-accent);
}

.home-slider__title {
	margin: 1.1875rem 0 1.3125rem;
	font-size: clamp(2rem, 1.4rem + 2.4vw, 4.375rem);
	line-height: 1.28;
	letter-spacing: -0.04em;
	font-weight: var(--font-weight-bold);
	color: var(--home-slider-ink);
	overflow-wrap: anywhere;
}

.home-slider__title-line,
.home-slider__title-highlight {
	display: block;
}

.home-slider__title-highlight {
	color: var(--home-slider-accent);
}

.home-slider__lead {
	margin: 0;
	max-width: 36.5rem;
	font-size: clamp(0.75rem, 0.7rem + 0.25vw, 0.8125rem);
	line-height: 2.15;
	color: #a7b9be;
	overflow-wrap: anywhere;
}

.home-slider__cta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(0.875rem, 2.5vw, 1.875rem);
	margin-block-start: clamp(1.25rem, 3vw, 1.9375rem);
}

.home-slider__cta {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 3.125rem;
	font-size: 0.625rem;
	font-weight: var(--font-weight-bold);
	text-decoration: none;
	transition: gap 0.25s ease, color 0.2s ease, background-color 0.2s ease;
}

.home-slider__cta:focus-visible {
	outline: 2px solid var(--home-slider-accent);
	outline-offset: 3px;
}

.home-slider__cta--primary {
	min-inline-size: min(11.5rem, 100%);
	padding-inline: 1.125rem;
	background: var(--home-slider-accent);
	color: var(--home-slider-navy);
}

.home-slider__cta--primary:hover {
	gap: 1.75rem;
}

.home-slider__cta--secondary {
	color: var(--home-slider-ink);
	border-block-end: 1px solid #8aa1a8;
	padding-block-end: 0.25rem;
}

.home-slider__cta--secondary:hover,
.home-slider__cta--secondary:focus-visible {
	color: var(--home-slider-accent);
}

.home-slider__brand-line {
	margin: clamp(1.25rem, 3vw, 1.9375rem) 0 0;
	font-size: 0.5rem;
	color: #718991;
}

.home-slider__brand {
	display: inline-block;
	margin-inline-end: 0.875rem;
	font-family: var(--font-mono);
	letter-spacing: 0.12em;
	color: #dce7e8;
}

.home-slider__visual-col {
	position: relative;
	min-width: 0;
	min-height: clamp(18rem, 42vw, 33.75rem);
	display: flex;
	align-items: center;
	justify-content: center;
	direction: ltr;
}

.home-slider__slide.is-active .home-slider__visual-col {
	animation: home-slider-visual-in 0.9s 0.08s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.home-slider__tech {
	position: relative;
	inline-size: min(31.875rem, 100%);
	aspect-ratio: 1;
	display: grid;
	place-items: center;
}

.home-slider__orbit {
	position: absolute;
	border: 1px solid rgb(126 178 192 / 16%);
	border-radius: var(--radius-full);
	animation: home-slider-spin 24s linear infinite;
}

.home-slider__orbit::before,
.home-slider__orbit::after {
	content: "";
	position: absolute;
	inline-size: 0.375rem;
	block-size: 0.375rem;
	background: var(--home-slider-accent);
	border-radius: var(--radius-full);
	box-shadow: 0 0 1.125rem var(--home-slider-accent);
}

.home-slider__orbit::before {
	inset-block-start: 14%;
	inset-inline-start: 14%;
}

.home-slider__orbit::after {
	inset-block-end: 8%;
	inset-inline-end: 22%;
}

.home-slider__orbit--a {
	inline-size: 82%;
	block-size: 82%;
}

.home-slider__orbit--b {
	inline-size: 64%;
	block-size: 64%;
	border-style: dashed;
	animation-direction: reverse;
	animation-duration: 18s;
}

.home-slider__scan {
	position: absolute;
	inline-size: 90%;
	block-size: 1px;
	background: linear-gradient(90deg, transparent, var(--home-slider-accent), transparent);
	box-shadow: 0 0 0.875rem var(--home-slider-accent);
	animation: home-slider-scan 4s ease-in-out infinite;
}

.home-slider__live {
	position: absolute;
	z-index: 5;
	inset-inline-start: 1.25rem;
	inset-block-start: 15%;
	padding: 0.5625rem 0.8125rem;
	border-inline-start: 2px solid var(--home-slider-accent);
	background: rgb(9 42 53 / 80%);
	display: flex;
	flex-direction: column;
}

.home-slider__live-label {
	font-size: 0.375rem;
	letter-spacing: 0.2em;
	color: #7f999f;
	font-family: var(--font-mono);
}

.home-slider__live-value {
	margin-block-start: 0.1875rem;
	font-size: 1rem;
	font-family: var(--font-mono);
	font-weight: var(--font-weight-bold);
	color: var(--home-slider-ink);
}

.home-slider__transformer {
	position: relative;
	inline-size: 58%;
	filter: drop-shadow(0 1.75rem 1.25rem rgb(0 0 0 / 50%));
	animation: home-slider-float 4.6s ease-in-out infinite;
}

.home-slider__bushings {
	height: 5.2rem;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	gap: 2.7rem;
}

.home-slider__bushings span {
	display: block;
	inline-size: 1.4rem;
	block-size: 3.9rem;
	background: repeating-linear-gradient(to bottom, #8ca8ab 0 7px, #334f55 8px 13px);
	clip-path: polygon(35% 0, 65% 0, 73% 86%, 100% 86%, 100% 100%, 0 100%, 0 86%, 27% 86%);
}

.home-slider__tank {
	position: relative;
	inline-size: 76%;
	block-size: 11.3rem;
	margin-inline: auto;
	border: 5px solid #173b43;
	background: linear-gradient(110deg, #3d6268, #91aaab 52%, #284951);
}

.home-slider__fins {
	position: absolute;
	inset-inline: -2.1rem;
	inset-block: 1.5rem 1rem;
	display: flex;
	justify-content: space-between;
}

.home-slider__fins span {
	display: block;
	inline-size: 1.5rem;
	background: linear-gradient(90deg, #173d45, #769397, #183d44);
	border: 1px solid #183a42;
}

.home-slider__base {
	inline-size: 100%;
	block-size: 0.8rem;
	margin-block-start: 0.5rem;
	background: #163a42;
}

.home-slider__instrument {
	position: relative;
	inline-size: 51%;
	aspect-ratio: 0.87;
	display: grid;
	place-items: center;
	animation: home-slider-float 4.6s ease-in-out infinite;
}

.home-slider__coil {
	inline-size: 82%;
	aspect-ratio: 1;
	border: 1.5rem solid #476970;
	border-radius: var(--radius-full);
	box-shadow: inset 0 0 0 0.5rem #172f37, 0 1.5rem 2rem rgb(0 0 0 / 45%);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;
}

.home-slider__coil span {
	display: block;
	inline-size: 0.25rem;
	block-size: 70%;
	background: var(--home-slider-accent);
	opacity: 0.8;
	transform: rotate(32deg);
}

.home-slider__core {
	position: absolute;
	inline-size: 18%;
	block-size: 70%;
	border: 4px solid #17353d;
	background: linear-gradient(90deg, #1c3c44, #9aadaf, #25444c);
}

.home-slider__terminals {
	position: absolute;
	inset-block-start: 1%;
	display: flex;
	gap: 5.3rem;
}

.home-slider__terminals span {
	display: block;
	inline-size: 1.3rem;
	block-size: 3.75rem;
	background: repeating-linear-gradient(#9bb0b2 0 7px, #354f55 8px 13px);
}

.home-slider__diagram {
	position: relative;
	inline-size: 70%;
	aspect-ratio: 1;
	display: grid;
	place-items: center;
}

.home-slider__diagram-core {
	inline-size: 45%;
	aspect-ratio: 1;
	border-radius: var(--radius-full);
	border: 1px solid var(--home-slider-accent);
	background: #143b47;
	box-shadow: 0 0 3.75rem color-mix(in srgb, var(--home-slider-accent) 15%, transparent);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 0.6875rem;
	font-family: var(--font-mono);
	color: #91a9af;
}

.home-slider__diagram-core strong {
	margin-block-start: 0.375rem;
	font-size: 1.0625rem;
	color: #fff;
}

.home-slider__node {
	position: absolute;
	padding: 0.6875rem 0.875rem;
	background: #0b303b;
	border-inline-end: 2px solid var(--home-slider-accent);
	font-size: 0.5rem;
	letter-spacing: 0.08em;
	font-family: var(--font-mono);
	color: var(--home-slider-ink);
}

.home-slider__node--1 {
	inset-block-start: 4%;
}

.home-slider__node--2 {
	inset-block-end: 12%;
	inset-inline-start: 0;
}

.home-slider__node--3 {
	inset-block-end: 12%;
	inset-inline-end: 0;
}

.home-slider__node::after {
	content: "";
	position: absolute;
	inline-size: 5.625rem;
	block-size: 1px;
	background: rgb(118 147 155 / 33%);
	inset-block-start: 50%;
}

.home-slider__node--2::after {
	inset-inline-start: 100%;
	transform: rotate(-25deg);
	transform-origin: left center;
}

.home-slider__node--3::after {
	inset-inline-end: 100%;
	transform: rotate(25deg);
	transform-origin: right center;
}

.home-slider__pulse {
	position: absolute;
	inline-size: 0.5rem;
	block-size: 0.5rem;
	border: 2px solid #fff;
	border-radius: var(--radius-full);
	background: var(--home-slider-accent);
	box-shadow: 0 0 0 0.375rem color-mix(in srgb, var(--home-slider-accent) 18%, transparent);
	animation: home-slider-pulse 2s infinite;
}

.home-slider__pulse--1 {
	inset-block-start: 19%;
	inset-inline-end: 14%;
}

.home-slider__pulse--2 {
	inset-block-end: 14%;
	inset-inline-start: 18%;
	animation-delay: 0.7s;
}

.home-slider__pulse--3 {
	inset-block-start: 49%;
	inset-inline-end: 6%;
	animation-delay: 1.2s;
}

.home-slider__specs {
	position: absolute;
	z-index: 4;
	inset-inline-end: 0.625rem;
	inset-block-end: 12%;
	display: flex;
	background: rgb(7 29 37 / 87%);
	border: 1px solid rgb(102 131 139 / 19%);
	direction: rtl;
}

.home-slider__spec {
	min-inline-size: 7.8rem;
	padding: 0.75rem 0.9375rem;
}

.home-slider__spec + .home-slider__spec {
	border-inline-start: 1px solid rgb(102 131 139 / 19%);
}

.home-slider__spec small {
	display: block;
	font-size: 0.4375rem;
	color: #728b93;
}

.home-slider__spec strong {
	display: block;
	margin-block-start: 0.3rem;
	font-size: 0.75rem;
	font-family: var(--font-mono);
	color: var(--home-slider-ink);
	font-weight: var(--font-weight-bold);
}

.home-slider__chrome {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.75rem;
	min-height: 6.4rem;
	border-block-start: 1px solid rgb(185 212 218 / 13%);
	min-width: 0;
}

.home-slider__nav {
	display: flex;
}

.home-slider__nav-btn {
	inline-size: 2.4375rem;
	block-size: 2.4375rem;
	border: 1px solid rgb(96 123 131 / 22%);
	background: transparent;
	color: #d9e4e5;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.home-slider__nav-btn + .home-slider__nav-btn {
	border-inline-start: 0;
}

.home-slider__nav-btn:hover,
.home-slider__nav-btn:focus-visible {
	background: var(--home-slider-accent);
	color: var(--home-slider-navy);
}

.home-slider__nav-btn:focus-visible {
	outline: 2px solid var(--home-slider-accent);
	outline-offset: 2px;
}

.home-slider__nav-btn--pause {
	font-size: 0.625rem;
	font-family: var(--font-mono);
}

.home-slider__tabs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	min-width: 0;
	height: 100%;
}

.home-slider__tab {
	border: 0;
	border-inline-start: 1px solid rgb(96 123 131 / 22%);
	background: transparent;
	color: #758b91;
	text-align: start;
	padding: 1.375rem 1.375rem 0.875rem;
	display: grid;
	grid-template-columns: 1.75rem minmax(0, 1fr);
	gap: 0.1875rem 0.5rem;
	cursor: pointer;
	position: relative;
	min-width: 0;
}

.home-slider__tab:focus-visible {
	outline: 2px solid var(--home-slider-accent);
	outline-offset: -2px;
	z-index: 1;
}

.home-slider__tab-no {
	font-size: 0.5rem;
	font-family: var(--font-mono);
}

.home-slider__tab-label {
	font-size: 0.5625rem;
	font-weight: var(--font-weight-regular);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.home-slider__tab-track {
	grid-column: 1 / -1;
	height: 1px;
	margin-block-start: 0.75rem;
	background: #405a62;
	overflow: hidden;
}

.home-slider__tab-progress {
	display: block;
	height: 100%;
	width: 0;
	background: var(--home-slider-accent);
	will-change: width;
}

.home-slider__tab.is-active {
	color: #f2f6f6;
}

.home-slider__scroll-note {
	margin: 0;
	font-size: 0.4375rem;
	color: #728991;
	text-align: start;
	white-space: nowrap;
}

.home-slider__scroll-mark {
	display: inline-block;
	inline-size: 1px;
	block-size: 1.5625rem;
	margin-inline-end: 0.75rem;
	vertical-align: middle;
	background: linear-gradient(var(--home-slider-accent), transparent);
	animation: home-slider-scroll 1.7s ease-in-out infinite;
}

.home-slider--single .home-slider__chrome {
	grid-template-columns: minmax(0, 1fr) auto;
}

.home-slider.is-paused .home-slider__counter-progress,
.home-slider.is-paused .home-slider__tab-progress {
	animation-play-state: paused;
}

@keyframes home-slider-copy-in {
	from {
		opacity: 0;
		transform: translateX(2rem);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes home-slider-visual-in {
	from {
		opacity: 0;
		transform: scale(0.88) rotate(-3deg);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes home-slider-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes home-slider-scan {
	0%,
	100% {
		transform: translateY(-10rem);
		opacity: 0;
	}
	20%,
	80% {
		opacity: 1;
	}
	50% {
		transform: translateY(10rem);
	}
}

@keyframes home-slider-float {
	50% {
		transform: translateY(-0.7rem);
	}
}

@keyframes home-slider-pulse {
	50% {
		box-shadow: 0 0 0 0.8rem transparent;
	}
}

@keyframes home-slider-scroll {
	50% {
		transform: translateY(0.55rem);
		opacity: 0.35;
	}
}

@media (max-width: 1024px) {
	.home-slider__slide {
		gap: 1rem;
	}

	.home-slider__tech {
		inline-size: min(26rem, 100%);
	}

	.home-slider__specs {
		inset-inline-end: 0;
		transform: scale(0.95);
		transform-origin: bottom left;
	}
}

@media (max-width: 900px) {
	.home-slider__rail-word {
		display: none;
	}

	.home-slider__slide.is-active {
		grid-template-columns: 1fr;
	}

	.home-slider__visual-col {
		min-height: clamp(16rem, 55vw, 28rem);
	}

	.home-slider__chrome {
		grid-template-columns: auto minmax(0, 1fr);
		min-height: 5.9rem;
	}

	.home-slider__scroll-note {
		display: none;
	}

	.home-slider__tab {
		padding: 1.125rem 0.75rem 0.75rem;
	}
}

@media (max-width: 767px) {
	.home-slider--hide-mobile {
		display: none;
	}

	.home-slider {
		min-height: 0;
		padding-block-start: 1.25rem;
	}

	.home-slider__slide {
		padding-block: 1.5rem 0.75rem;
	}

	.home-slider__title {
		font-size: clamp(1.75rem, 1.4rem + 3vw, 2.75rem);
		letter-spacing: -0.03em;
		margin-block: 0.875rem;
	}

	.home-slider__lead {
		font-size: 0.75rem;
		line-height: 2;
	}

	.home-slider__cta-row {
		gap: 0.875rem;
	}

	.home-slider__cta {
		min-height: 2.8rem;
	}

	.home-slider__cta--primary {
		min-inline-size: min(9.7rem, 100%);
	}

	.home-slider__visual-col {
		min-height: 18rem;
		margin-inline: -0.5rem;
	}

	.home-slider__tech {
		transform: scale(0.78);
		transform-origin: center center;
	}

	.home-slider__specs {
		inset-block-end: 8%;
		inset-inline-end: 8%;
		transform: scale(0.88);
	}

	.home-slider__chrome {
		display: flex;
		flex-direction: column-reverse;
		align-items: stretch;
		gap: 0.8rem;
		min-height: 0;
		padding-block: 0.8rem 1.1rem;
		padding-block-end: calc(0.8rem + env(safe-area-inset-bottom, 0px));
	}

	.home-slider__nav {
		justify-content: center;
	}

	.home-slider__tabs {
		min-height: 3.25rem;
	}

	.home-slider__tab {
		padding: 0.5rem;
	}

	.home-slider__tab-label {
		font-size: 0;
	}

	.home-slider__tab-label::after {
		content: "اسلاید";
		font-size: 0.5rem;
	}

	.home-slider__tab-track {
		margin-block-start: 0.3rem;
	}
}

@media (max-width: 375px) {
	.home-slider__title {
		font-size: 1.875rem;
	}

	.home-slider__visual-col {
		min-height: 15.5rem;
	}

	.home-slider__tech {
		transform: scale(0.64);
	}

	.home-slider__specs {
		inset-inline-end: 4%;
	}

	.home-slider__spec {
		min-inline-size: 6.5rem;
		padding: 0.6rem 0.7rem;
	}
}

@media (max-width: 320px) {
	.home-slider__cta-row {
		flex-direction: column;
		align-items: stretch;
	}

	.home-slider__counter {
		inline-size: 10rem;
	}

	.home-slider__tech {
		transform: scale(0.55);
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-slider__slide.is-active,
	.home-slider__slide.is-active .home-slider__visual-col,
	.home-slider__orbit,
	.home-slider__scan,
	.home-slider__transformer,
	.home-slider__instrument,
	.home-slider__pulse,
	.home-slider__scroll-mark {
		animation: none;
	}
}

/* =========================================================================
   19. Homepage: Product Categories
   ========================================================================= */

.home-section-no {
	margin: 0;
	font-size: 0.625rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-accent);
	line-height: 1.4;
}

.home-categories__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: var(--space-xl);
	margin-block-end: clamp(2rem, 3vw, 3.125rem);
}

.home-categories__title {
	margin: var(--space-sm) 0 0;
	font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.6875rem);
	line-height: 1.45;
	letter-spacing: -0.03em;
	color: var(--color-text);
	overflow-wrap: anywhere;
}

.home-categories__description {
	margin: 0;
	max-width: 29rem;
	font-size: 0.8125rem;
	line-height: 2;
	color: var(--color-text-muted);
	overflow-wrap: anywhere;
}

.home-categories__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-width: 0;
}

.home-category-card {
	position: relative;
	min-height: clamp(20rem, 42vw, 25rem);
	padding: clamp(1.75rem, 3vw, 2.8rem);
	color: var(--color-text-inverse);
	overflow: hidden;
	min-width: 0;
}

.home-category-card--blue {
	background: var(--color-accent);
}

.home-category-card--dark {
	background: var(--color-primary);
}

.home-category-card__brand {
	margin: 0;
	font-size: 0.5625rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-accent-lime);
}

.home-category-card__title {
	margin: clamp(1.5rem, 3vw, 2.375rem) 0 var(--space-xs);
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.125rem);
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.home-category-card__desc {
	margin: 0;
	max-width: 18rem;
	font-size: 0.6875rem;
	line-height: 1.9;
	color: #d6e3e9;
	overflow-wrap: anywhere;
}

.home-category-card__cta {
	position: absolute;
	inset-block-end: clamp(1.5rem, 3vw, 2.2rem);
	inset-inline-start: clamp(1.75rem, 3vw, 2.8rem);
	display: inline-flex;
	align-items: center;
	gap: var(--space-md);
	min-height: var(--touch-target);
	color: inherit;
	font-size: 0.6875rem;
	font-weight: var(--font-weight-bold);
	text-decoration: none;
	z-index: 2;
}

.home-category-card__cta:hover,
.home-category-card__cta:focus-visible {
	color: var(--color-accent-lime);
}

.home-category-card__cta:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 3px;
}

.home-category-card__art {
	position: absolute;
	inset-inline-end: clamp(1.5rem, 4vw, 2.5rem);
	inset-block-end: 4.5rem;
	display: flex;
	align-items: flex-end;
	gap: 0.3rem;
	opacity: 0.35;
	direction: ltr;
	pointer-events: none;
	z-index: 1;
}

.home-category-card__art span {
	display: block;
	background: #fff;
	border: 2px solid #fff;
}

.home-category-card__art--distribution span {
	width: 1.125rem;
	height: 6.25rem;
}

.home-category-card__art--distribution span:nth-child(2),
.home-category-card__art--distribution span:nth-child(4) {
	height: 7.8rem;
}

.home-category-card__art--measurement span {
	width: 2.125rem;
	height: 6.25rem;
	border-radius: 1rem 1rem 0.125rem 0.125rem;
}

.home-category-card__art--measurement span:nth-child(2) {
	height: 8.75rem;
}

.home-categories__quick {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--color-border);
	border-block-start: 0;
	background: var(--color-surface);
	min-width: 0;
}

.home-quick-cat {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 9.7rem;
	min-width: 0;
	padding: 1.5rem;
	border-inline-end: 1px solid var(--color-border);
	color: inherit;
	text-decoration: none;
	box-sizing: border-box;
}

.home-quick-cat:last-child {
	border-inline-end: 0;
}

.home-quick-cat:hover {
	background: var(--color-surface-soft);
}

.home-quick-cat:focus-visible {
	background: var(--color-surface-soft);
	outline: 3px solid var(--color-focus);
	outline-offset: -3px;
}

.home-quick-cat__index {
	font-size: 0.5625rem;
	color: #9aa7aa;
}

.home-quick-cat__title {
	margin-block: 1.5rem 0.5rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.home-quick-cat__meta {
	font-size: 0.625rem;
	line-height: 1.6;
	color: #718187;
	overflow-wrap: anywhere;
}

.home-quick-cat__icon {
	position: absolute;
	inset-inline-end: 1.25rem;
	inset-block-end: 1.25rem;
	color: var(--color-accent);
}

.home-quick-cat__icon .pt-icon--chevron {
	transform: rotate(90deg);
}

@media (max-width: 900px) {
	.home-categories__head {
		display: block;
	}

	.home-categories__description {
		margin-block-start: 1.25rem;
		max-width: none;
	}

	.home-categories__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.home-categories__quick {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-quick-cat:nth-child(2n) {
		border-inline-end: 0;
	}

	.home-quick-cat:nth-child(n + 3) {
		border-block-start: 1px solid var(--color-border);
	}
}

@media (max-width: 560px) {
	.home-category-card {
		min-height: 20.5rem;
		padding: 1.875rem;
	}

	.home-categories__quick {
		grid-template-columns: minmax(0, 1fr);
	}

	.home-quick-cat {
		border-inline-end: 0;
		border-block-end: 1px solid var(--color-border);
		min-height: 8rem;
	}

	.home-quick-cat:nth-child(n + 3) {
		border-block-start: 0;
	}

	.home-quick-cat:last-child {
		border-block-end: 0;
	}
}

/* =========================================================================
   20. Homepage: Featured Products
   ========================================================================= */

.home-featured {
	position: relative;
	background: #edf2ef;
	border-block-start: 1px solid var(--color-border);
	overflow: hidden;
}

.home-featured__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: var(--space-xl);
	margin-block-end: clamp(1.75rem, 3vw, 2.625rem);
}

.home-featured__title {
	margin: var(--space-sm) 0;
	font-size: clamp(1.85rem, 1.4rem + 2vw, 2.9375rem);
	line-height: 1.2;
	letter-spacing: -0.03em;
	overflow-wrap: anywhere;
}

.home-featured__description {
	margin: 0;
	font-size: 0.75rem;
	line-height: 1.9;
	color: var(--color-text-muted);
	max-width: 28rem;
	overflow-wrap: anywhere;
}

.home-featured__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	padding: 0.3rem;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	max-width: 100%;
	min-width: 0;
}

.home-featured__filter {
	appearance: none;
	border: 0;
	background: transparent;
	min-height: var(--touch-target);
	padding: 0.65rem 1rem;
	font-family: inherit;
	font-size: 0.625rem;
	color: #617276;
	cursor: pointer;
}

.home-featured__filter.is-active,
.home-featured__filter[aria-pressed="true"] {
	background: var(--color-primary);
	color: var(--color-text-inverse);
}

.home-featured__filter:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 2px;
}

.home-featured__carousel {
	min-width: 0;
}

.home-featured__viewport {
	min-width: 0;
}

.home-featured__grid,
.home-featured__track {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;
	min-width: 0;
}

.home-featured--carousel.is-carousel-active .home-featured__viewport {
	overflow: hidden;
}

.home-featured--carousel.is-carousel-active .home-featured__track {
	display: flex;
	align-items: stretch;
	gap: 0.75rem;
	transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
	will-change: transform;
}

.home-featured--carousel.is-carousel-active .home-featured-card {
	flex: 0 0 calc((100% - 2.25rem) / 4);
	max-width: calc((100% - 2.25rem) / 4);
}

.home-featured-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	background: var(--color-surface);
	border: 1px solid transparent;
	transition:
		transform var(--transition-base),
		border-color var(--transition-base),
		box-shadow var(--transition-base);
}

.home-featured-card:hover {
	border-color: #aebbb7;
	box-shadow: var(--shadow-md);
	transform: translateY(-4px);
}

.home-featured-card.is-filtered-out,
.home-featured-card[hidden] {
	display: none;
}

.home-featured-card__visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: clamp(14rem, 28vw, 17.8rem);
	overflow: hidden;
	background: linear-gradient(145deg, #f8faf9, #e1e8e5);
}

.home-featured-card__visual::after {
	content: "";
	position: absolute;
	width: 12.5rem;
	height: 12.5rem;
	border: 1px solid rgb(170 185 180 / 25%);
	border-radius: var(--radius-full);
	pointer-events: none;
}

.home-featured-card__image,
.home-featured-card__visual img {
	position: relative;
	z-index: 1;
	width: 90%;
	height: 82%;
	object-fit: contain;
	max-width: 100%;
}

.home-featured-card__index,
.home-featured-card__code {
	position: absolute;
	inset-block-start: 1.1rem;
	z-index: 2;
	font-size: 0.5625rem;
	letter-spacing: 0.08em;
}

.home-featured-card__index {
	inset-inline-start: 1.1rem;
	color: #85938f;
}

.home-featured-card__code {
	inset-inline-end: 1.1rem;
	color: var(--color-accent);
}

.home-featured-card__visual-link {
	position: absolute;
	inset-inline-end: 0;
	inset-block-end: 0;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	background: var(--color-accent-lime);
	color: var(--color-text);
	text-decoration: none;
	transform: translateY(100%);
	transition: transform var(--transition-base);
}

.home-featured-card:hover .home-featured-card__visual-link,
.home-featured-card:focus-within .home-featured-card__visual-link {
	transform: translateY(0);
}

.home-featured-card__visual-link .pt-icon--chevron {
	transform: rotate(90deg);
}

.home-featured-card__info {
	padding: 1.4rem 1.25rem 1.2rem;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

.home-featured-card__brand {
	font-size: 0.5rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-accent);
}

.home-featured-card__title {
	margin: 0.75rem 0 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.55;
	min-height: 2.75rem;
	overflow-wrap: anywhere;
}

.home-featured-card__title a {
	color: inherit;
	text-decoration: none;
}

.home-featured-card__title a:hover,
.home-featured-card__title a:focus-visible {
	color: var(--color-accent);
}

.home-featured-card__meta {
	margin-block-start: auto;
	padding-block-start: 0.875rem;
	border-block-start: 1px solid #e7ecea;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-sm);
}

.home-featured-card__excerpt {
	font-size: 0.5625rem;
	line-height: 1.5;
	color: #7a898d;
	overflow-wrap: anywhere;
	min-width: 0;
}

.home-featured-card__price {
	font-size: 0.625rem;
	color: var(--color-text);
	white-space: nowrap;
	flex: 0 0 auto;
	max-width: 45%;
	overflow: hidden;
	text-overflow: ellipsis;
}

.home-featured__controls {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	margin-block-start: 1.25rem;
}

.home-featured__controls[hidden] {
	display: none;
}

.home-featured__nav-btn {
	appearance: none;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	border: 1px solid var(--color-border);
	background: var(--color-surface);
	color: var(--color-text);
	cursor: pointer;
	font-family: inherit;
	font-size: 0.875rem;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.home-featured__nav-btn:hover:not(:disabled),
.home-featured__nav-btn:focus-visible:not(:disabled) {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-text-inverse);
}

.home-featured__nav-btn:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 2px;
}

.home-featured__nav-btn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.home-featured__nav-btn--pause {
	font-size: 0.625rem;
	font-family: var(--font-mono);
}

.home-featured__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-lg);
	margin-block-start: clamp(1.75rem, 3vw, 2.5rem);
	padding-block-start: clamp(1.25rem, 2vw, 1.75rem);
	border-block-start: 1px solid var(--color-border);
}

.home-featured__note {
	display: flex;
	align-items: flex-start;
	gap: var(--space-sm);
	margin: 0;
	max-width: 36rem;
	font-size: 0.75rem;
	line-height: 1.9;
	color: var(--color-text-muted);
	overflow-wrap: anywhere;
}

.home-featured__note-mark {
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	margin-block-start: 0.45rem;
	flex: 0 0 auto;
	border-radius: var(--radius-full);
	background: var(--color-accent);
}

.home-featured__cta {
	display: inline-flex;
	align-items: center;
	gap: var(--space-md);
	min-height: var(--touch-target);
	flex: 0 0 auto;
	font-size: 0.6875rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-text);
	text-decoration: none;
	white-space: nowrap;
}

.home-featured__cta:hover,
.home-featured__cta:focus-visible {
	color: var(--color-accent);
}

.home-featured__cta .pt-icon--chevron {
	transform: rotate(90deg);
}

@media (max-width: 1023px) {
	.home-featured__grid,
	.home-featured__track {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-featured--carousel.is-carousel-active .home-featured-card {
		flex: 0 0 calc((100% - 0.75rem) / 2);
		max-width: calc((100% - 0.75rem) / 2);
	}
}

@media (max-width: 900px) {
	.home-featured__top {
		display: block;
	}

	.home-featured__filters {
		margin-block-start: 1.5rem;
		flex-wrap: nowrap;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		width: 100%;
		max-width: 100%;
		scrollbar-width: thin;
	}

	.home-featured__filter {
		flex: 0 0 auto;
		white-space: nowrap;
	}
}

@media (max-width: 767px) {
	.home-categories__head {
		gap: var(--space-md);
	}

	.home-category-card__title {
		font-size: clamp(1.35rem, 1.1rem + 2vw, 1.75rem);
	}

	.home-featured__grid,
	.home-featured__track,
	.home-featured--carousel .home-featured__track,
	.home-featured--carousel.is-carousel-active .home-featured__track {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem;
		transform: none;
		transition: none;
	}

	.home-featured--carousel.is-carousel-active .home-featured__viewport {
		overflow: visible;
	}

	.home-featured--carousel.is-carousel-active .home-featured-card {
		flex: none;
		max-width: none;
	}

	.home-featured__controls {
		display: none;
	}

	.home-featured-card__visual {
		height: clamp(7.5rem, 28vw, 10rem);
	}

	.home-featured-card__visual::after {
		width: 7rem;
		height: 7rem;
	}

	.home-featured-card__info {
		padding: 0.85rem 0.7rem 0.75rem;
	}

	.home-featured-card__title {
		margin: 0.45rem 0 0.7rem;
		font-size: 0.75rem;
		line-height: 1.45;
		min-height: 0;
	}

	.home-featured-card__index,
	.home-featured-card__code {
		inset-block-start: 0.55rem;
		font-size: 0.5rem;
	}

	.home-featured-card__index {
		inset-inline-start: 0.55rem;
	}

	.home-featured-card__code {
		inset-inline-end: 0.55rem;
	}

	.home-featured-card__visual-link {
		width: 2.25rem;
		height: 2.25rem;
		transform: none;
	}

	.home-featured-card__meta {
		padding-block-start: 0.55rem;
		flex-wrap: wrap;
	}

	.home-featured-card__excerpt {
		font-size: 0.5rem;
	}

	.home-featured-card__price {
		font-size: 0.5625rem;
		max-width: 100%;
		white-space: normal;
	}

	.home-featured__footer {
		flex-direction: column;
		align-items: flex-start;
		padding-block-end: 0.5rem;
	}

	.home-featured-card:hover {
		transform: none;
	}
}

@media (max-width: 375px) {
	.home-featured-card__excerpt {
		display: none;
	}

	.home-featured-card__meta {
		justify-content: flex-start;
	}

	.home-featured-card__title {
		font-size: 0.6875rem;
	}
}

@media (max-width: 320px) {
	.home-featured__grid,
	.home-featured__track,
	.home-featured--carousel .home-featured__track,
	.home-featured--carousel.is-carousel-active .home-featured__track {
		gap: 0.375rem;
	}

	.home-featured-card__info {
		padding: 0.7rem 0.5rem 0.6rem;
	}

	.home-featured-card__visual {
		height: 6.75rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-featured-card,
	.home-featured-card__visual-link,
	.home-featured-card__image,
	.home-featured--carousel.is-carousel-active .home-featured__track {
		transition: none;
	}

	.home-featured-card:hover {
		transform: none;
	}
}

/* =========================================================================
   21. Homepage: Industries
   ========================================================================= */

.home-industries {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: #071f2b;
	color: var(--color-text-inverse);
	padding-block: var(--section-padding);
}

.home-industries__grid-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgb(216 245 255 / 4%) 1px, transparent 1px),
		linear-gradient(90deg, rgb(216 245 255 / 4%) 1px, transparent 1px);
	background-size: 3.625rem 3.625rem;
	mask-image: linear-gradient(to bottom, #000, transparent);
}

.home-industries__orbit {
	position: absolute;
	z-index: 0;
	border: 1px solid rgb(101 169 187 / 9%);
	border-radius: var(--radius-full);
	pointer-events: none;
}

.home-industries__orbit--one {
	inline-size: min(38.75rem, 100%);
	block-size: min(38.75rem, 100%);
	inset-inline-start: -14rem;
	inset-block-start: -13rem;
}

.home-industries__orbit--two {
	inline-size: min(22.5rem, 80%);
	block-size: min(22.5rem, 80%);
	inset-inline-start: -6.25rem;
	inset-block-start: -5rem;
}

.home-industries__inner {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.home-section-no--light {
	color: var(--color-accent-lime);
}

.home-industries__heading {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: var(--space-xl);
	margin-block: 0.9rem clamp(2rem, 4vw, 2.8rem);
}

.home-industries__title {
	margin: 0;
	max-width: 28rem;
	font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.6875rem);
	line-height: 1.45;
	letter-spacing: -0.03em;
	color: var(--color-text-inverse);
	overflow-wrap: anywhere;
}

.home-industries__title-accent {
	font-style: normal;
	color: var(--color-accent-lime);
}

.home-industries__description {
	margin: 0;
	max-width: 26.875rem;
	font-size: 0.75rem;
	line-height: 2.2;
	color: #a9bcc1;
	overflow-wrap: anywhere;
}

.home-industries__mosaic {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	min-width: 0;
}

/* Five-item default: exactly two rows / three columns (RTL: col 1 = physical right). */
.home-industries__mosaic--default {
	grid-template-columns: 1.08fr 1fr 1fr;
	grid-template-rows: minmax(15rem, 1.25fr) minmax(11rem, 0.9fr);
	align-items: stretch;
}

.home-industries__mosaic--default .home-industries__tile--1 {
	grid-column: 1;
	grid-row: 1;
	min-height: 0;
}

.home-industries__mosaic--default .home-industries__tile--2 {
	grid-column: 2 / span 2;
	grid-row: 1;
	min-height: 0;
}

.home-industries__mosaic--default .home-industries__tile--3 {
	grid-column: 2;
	grid-row: 2;
	min-height: 0;
}

.home-industries__mosaic--default .home-industries__tile--4 {
	grid-column: 3;
	grid-row: 2;
	min-height: 0;
}

.home-industries__mosaic--default .home-industries__tile--5 {
	grid-column: 1;
	grid-row: 2;
	min-height: 0;
}

.home-industries__tile {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-width: 0;
	min-height: 14rem;
	padding: 1.55rem;
	overflow: hidden;
	border: 1px solid rgb(52 96 110 / 40%);
	border-radius: 0.9375rem;
	background: linear-gradient(145deg, #103948, #0a2c39);
	box-sizing: border-box;
	cursor: default;
	transition:
		border-color 0.3s ease,
		box-shadow 0.3s ease,
		transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.home-industries__tile--linked {
	cursor: default;
}

.home-industries__tile--linked:hover,
.home-industries__tile--linked:focus-within {
	transform: translateY(-0.35rem);
	border-color: rgb(207 255 54 / 44%);
	box-shadow: 0 1.5rem 3.4rem rgb(0 0 0 / 19%);
}

.home-industries__tile--static:hover {
	border-color: rgb(101 169 187 / 42%);
}

.home-industries__tile-number {
	position: absolute;
	inset-inline-start: 1.375rem;
	inset-block-start: 1.25rem;
	z-index: 2;
	font-size: 0.5625rem;
	font-family: var(--font-mono);
	color: #8aadb7;
}

.home-industries__copy {
	position: relative;
	z-index: 2;
	min-width: 0;
}

.home-industries__tile-title {
	margin: 0 0 0.55rem;
	font-size: 1.0625rem;
	line-height: 1.45;
	color: var(--color-text-inverse);
	overflow-wrap: anywhere;
}

.home-industries__tile-desc {
	margin: 0;
	max-width: 20rem;
	font-size: 0.625rem;
	line-height: 1.9;
	color: #94aeb6;
	overflow-wrap: anywhere;
}

/* Physical upper-left corner in RTL (matches reference `left`). */
.home-industries__arrow {
	position: absolute;
	z-index: 3;
	left: 1.125rem;
	top: 1.125rem;
	display: grid;
	place-items: center;
	inline-size: 2.125rem;
	block-size: 2.125rem;
	min-inline-size: var(--touch-target);
	min-block-size: var(--touch-target);
	border: 1px solid #5d7d87;
	border-radius: var(--radius-full);
	color: var(--color-accent-lime);
	background: transparent;
	text-decoration: none;
	box-sizing: border-box;
	transition:
		background-color 0.3s ease,
		color 0.3s ease,
		border-color 0.3s ease,
		transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.home-industries__arrow--decor {
	pointer-events: none;
}

.home-industries__arrow-icon {
	display: block;
}

.home-industries__tile:hover .home-industries__arrow,
.home-industries__tile:focus-within .home-industries__arrow--link,
.home-industries__arrow--link:hover,
.home-industries__arrow--link:focus-visible {
	background: var(--color-accent-lime);
	border-color: var(--color-accent-lime);
	color: #071f2b;
	transform: translateY(0.3rem) rotate(-50deg);
}

.home-industries__arrow--link:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 3px;
}

.home-industries__visual {
	position: absolute;
	z-index: 1;
	inset-inline: 1.25rem;
	inset-block-start: 1.875rem;
	height: 5.9rem;
	opacity: 0.22;
	pointer-events: none;
	color: #8ccad8;
	transition: opacity 0.35s ease, color 0.35s ease;
}

.home-industries__mosaic--default .home-industries__tile--1 .home-industries__visual {
	height: 7.5rem;
	inset-block-start: 2.75rem;
}

.home-industries__tile:hover .home-industries__visual,
.home-industries__tile:focus-within .home-industries__visual {
	opacity: 0.34;
	color: #b7e3ef;
}

.home-industries__svg {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 11.5rem;
	margin-inline: auto;
	overflow: visible;
}

.home-industries__svg-signal {
	transform-box: fill-box;
	transform-origin: center;
	animation: pooyatrans-ind-signal 6s ease-in-out infinite;
}

.home-industries__svg--grid .home-industries__svg-bus:nth-of-type(4) {
	stroke-dasharray: 8 18;
	animation: pooyatrans-ind-dash 7s linear infinite;
}

.home-industries__svg-pipe {
	stroke-dasharray: 10 16;
	animation: pooyatrans-ind-dash 6.5s linear infinite;
}

.home-industries__svg-vessel {
	transform-box: fill-box;
	transform-origin: center;
	animation: pooyatrans-ind-pulse 5.5s ease-in-out infinite;
}

.home-industries__svg-marker {
	transform-box: fill-box;
	transform-origin: center;
	animation: pooyatrans-ind-pulse 4.5s ease-in-out infinite;
}

.home-industries__svg-roof {
	stroke-dasharray: 220;
	stroke-dashoffset: 40;
	animation: pooyatrans-ind-draw 8s ease-in-out infinite;
}

.home-industries__svg-window {
	animation: pooyatrans-ind-windows 6s ease-in-out infinite;
}

.home-industries__svg-window:nth-of-type(6) {
	animation-delay: 0.4s;
}

.home-industries__svg-window:nth-of-type(7) {
	animation-delay: 0.8s;
}

.home-industries__svg-window:nth-of-type(8) {
	animation-delay: 1.2s;
}

.home-industries__svg-sun {
	transform-box: fill-box;
	transform-origin: center;
	animation: pooyatrans-ind-pulse 5s ease-in-out infinite;
}

.home-industries__svg-highlight {
	stroke-dasharray: 12 80;
	animation: pooyatrans-ind-dash 7.5s linear infinite;
}

.home-industries__svg-node {
	transform-box: fill-box;
	transform-origin: center;
	animation: pooyatrans-ind-pulse 5s ease-in-out infinite;
}

.home-industries__svg-current {
	stroke-dasharray: 6 14;
	animation: pooyatrans-ind-dash 5.5s linear infinite;
}

@keyframes pooyatrans-ind-dash {
	to {
		stroke-dashoffset: -80;
	}
}

@keyframes pooyatrans-ind-pulse {
	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0.45;
	}
}

@keyframes pooyatrans-ind-signal {
	0%,
	100% {
		transform: translate(0, 0);
		opacity: 0.9;
	}

	50% {
		transform: translate(40px, 20px);
		opacity: 0.35;
	}
}

@keyframes pooyatrans-ind-draw {
	0%,
	100% {
		stroke-dashoffset: 40;
	}

	50% {
		stroke-dashoffset: 0;
	}
}

@keyframes pooyatrans-ind-windows {
	0%,
	100% {
		opacity: 0.35;
	}

	40%,
	60% {
		opacity: 1;
	}
}

.home-industries__note {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-lg);
	margin-block-start: clamp(1.75rem, 3vw, 2.5rem);
	padding-block-start: clamp(1.25rem, 2vw, 1.75rem);
	border-block-start: 1px solid rgb(101 169 187 / 18%);
}

.home-industries__note-en {
	font-size: 0.5625rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-accent-lime);
	font-family: var(--font-mono);
}

.home-industries__note-fa {
	margin: 0;
	max-width: 28rem;
	font-size: 0.75rem;
	line-height: 1.9;
	color: #94aeb6;
	overflow-wrap: anywhere;
	text-align: end;
}

@media (max-width: 1024px) {
	.home-industries__mosaic--default {
		grid-template-rows: minmax(14rem, 1.2fr) minmax(10.5rem, 0.85fr);
	}

	.home-industries__tile {
		min-height: 12.5rem;
		padding: 1.35rem;
	}
}

@media (max-width: 900px) {
	.home-industries__heading {
		display: block;
	}

	.home-industries__description {
		margin-block-start: 1.25rem;
		max-width: none;
	}

	.home-industries__mosaic,
	.home-industries__mosaic--default {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: none;
	}

	.home-industries__mosaic--default .home-industries__tile--1,
	.home-industries__mosaic--default .home-industries__tile--2,
	.home-industries__mosaic--default .home-industries__tile--3,
	.home-industries__mosaic--default .home-industries__tile--4,
	.home-industries__mosaic--default .home-industries__tile--5 {
		grid-column: auto;
		grid-row: auto;
		min-height: 16rem;
	}

	.home-industries__mosaic--default .home-industries__tile--1 {
		grid-column: 1 / -1;
	}

	.home-industries__mosaic--default .home-industries__tile--1 .home-industries__visual {
		height: 6.25rem;
		inset-block-start: 2.2rem;
	}

	.home-industries__tile {
		min-height: 16rem;
	}
}

@media (max-width: 560px) {
	.home-industries__mosaic,
	.home-industries__mosaic--default {
		grid-template-columns: minmax(0, 1fr);
	}

	.home-industries__mosaic--default .home-industries__tile--1,
	.home-industries__mosaic--default .home-industries__tile--2,
	.home-industries__mosaic--default .home-industries__tile--3,
	.home-industries__mosaic--default .home-industries__tile--4,
	.home-industries__mosaic--default .home-industries__tile--5 {
		grid-column: auto;
		min-height: 15rem;
	}

	.home-industries__tile {
		min-height: 15rem;
	}

	.home-industries__note {
		flex-direction: column;
		align-items: flex-start;
	}

	.home-industries__note-fa {
		text-align: start;
	}

	.home-industries {
		padding-block-end: calc(var(--section-padding) + 0.75rem);
	}
}

@media (max-width: 375px) {
	.home-industries__title {
		font-size: 1.55rem;
	}

	.home-industries__tile-title {
		font-size: 0.95rem;
	}

	.home-industries__arrow {
		left: 0.85rem;
		top: 0.85rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-industries__tile,
	.home-industries__arrow,
	.home-industries__visual {
		transition: none;
	}

	.home-industries__tile--linked:hover,
	.home-industries__tile--linked:focus-within {
		transform: none;
	}

	.home-industries__tile:hover .home-industries__arrow,
	.home-industries__tile:focus-within .home-industries__arrow--link,
	.home-industries__arrow--link:hover,
	.home-industries__arrow--link:focus-visible {
		transform: none;
	}

	.home-industries__svg-signal,
	.home-industries__svg--grid .home-industries__svg-bus:nth-of-type(4),
	.home-industries__svg-pipe,
	.home-industries__svg-vessel,
	.home-industries__svg-marker,
	.home-industries__svg-roof,
	.home-industries__svg-window,
	.home-industries__svg-sun,
	.home-industries__svg-highlight,
	.home-industries__svg-node,
	.home-industries__svg-current {
		animation: none;
	}
}

/* =========================================================================
   22. Homepage: Specialized Resources
   ========================================================================= */

.home-resources {
	background: var(--color-surface-soft);
	color: var(--color-text);
	padding-block: var(--section-padding);
}

.home-resources__inner {
	min-width: 0;
}

.home-resources__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: var(--space-xl);
	margin-block-end: clamp(2rem, 4vw, 3.125rem);
}

.home-resources__heading {
	min-width: 0;
}

.home-resources__label {
	margin: 0;
	color: var(--color-accent);
}

.home-resources__title {
	margin: 0.875rem 0 0;
	max-width: 28rem;
	font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.6875rem);
	line-height: 1.45;
	letter-spacing: -0.03em;
	color: var(--color-primary);
	overflow-wrap: anywhere;
}

.home-resources__archive-link {
	display: inline-flex;
	align-items: center;
	gap: 1.25rem;
	flex-shrink: 0;
	font-size: 0.6875rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-text);
	text-decoration: none;
	transition: color 0.25s ease;
}

.home-resources__archive-link:hover,
.home-resources__archive-link:focus-visible {
	color: var(--color-accent);
}

.home-resources__archive-link:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 4px;
}

.home-resources__articles {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
	gap: 1.875rem;
	min-width: 0;
	align-items: stretch;
}

.home-resources__featured {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	min-width: 0;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 0.75rem;
	overflow: hidden;
}

.home-resources__media {
	position: relative;
	min-width: 0;
	min-height: 20.625rem;
	background: var(--color-accent);
	overflow: hidden;
}

.home-resources__media-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-resources__technical-art {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	direction: ltr;
	pointer-events: none;
}

.home-resources__technical-orbit {
	position: absolute;
	border: 1px solid rgb(255 255 255 / 27%);
	border-radius: var(--radius-full);
}

.home-resources__technical-orbit--one {
	inline-size: 15.625rem;
	block-size: 15.625rem;
}

.home-resources__technical-orbit--two {
	inline-size: 11.25rem;
	block-size: 11.25rem;
}

.home-resources__technical-orbit--three {
	inline-size: 6.875rem;
	block-size: 6.875rem;
}

.home-resources__technical-label {
	position: relative;
	z-index: 1;
	max-width: 80%;
	font-family: var(--font-mono);
	font-size: clamp(2rem, 1.2rem + 3vw, 4.0625rem);
	line-height: 1.05;
	text-align: center;
	color: var(--color-text-inverse);
	white-space: pre-line;
	overflow-wrap: anywhere;
}

.home-resources__featured-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(1.5rem, 2vw, 2.375rem);
}

.home-resources__meta {
	margin: 0 0 0.85rem;
	font-size: 0.5625rem;
	color: var(--color-accent);
}

.home-resources__featured-title {
	margin: 0;
	font-size: clamp(1.05rem, 0.9rem + 0.7vw, 1.3125rem);
	line-height: 1.75;
	color: var(--color-primary);
	overflow-wrap: anywhere;
}

.home-resources__excerpt {
	margin: 0.85rem 0 0;
	font-size: 0.6875rem;
	line-height: 2;
	color: var(--color-text-muted);
	overflow-wrap: anywhere;
}

.home-resources__read-link {
	display: inline-flex;
	align-items: center;
	gap: 1.25rem;
	margin-block-start: 2.15rem;
	font-size: 0.625rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-text);
	text-decoration: none;
	transition: color 0.25s ease;
}

.home-resources__read-link:hover,
.home-resources__read-link:focus-visible {
	color: var(--color-accent);
}

.home-resources__read-link:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 4px;
}

.home-resources__list {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 0.75rem;
	overflow: hidden;
}

.home-resources__list-item {
	display: grid;
	grid-template-columns: 2.2rem minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.95rem;
	min-height: var(--touch-target);
	padding: 1.7rem 1.7rem;
	border-block-end: 1px solid var(--color-border);
	color: inherit;
	text-decoration: none;
	transition: background-color 0.25s ease, border-color 0.25s ease;
}

.home-resources__list-item:last-child {
	border-block-end: 0;
}

.home-resources__list-item:hover,
.home-resources__list-item:focus-visible {
	background: var(--color-surface-tint);
}

.home-resources__list-item:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: -3px;
}

.home-resources__item-number {
	font-size: 0.625rem;
	font-family: var(--font-mono);
	color: #a1adb0;
}

.home-resources__item-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.home-resources__item-meta {
	font-size: 0.5625rem;
	color: var(--color-accent);
}

.home-resources__item-title {
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
	line-height: 1.7;
	color: var(--color-primary);
	overflow-wrap: anywhere;
}

.home-resources__list-item .home-resources__item-title {
	margin-block-start: 0.5rem;
}

.home-resources__arrow {
	display: inline-grid;
	place-items: center;
	min-inline-size: 1.25rem;
	min-block-size: 1.25rem;
	color: var(--color-accent);
	transition: transform 0.25s ease;
}

.home-resources__list-item:hover .home-resources__arrow,
.home-resources__list-item:focus-visible .home-resources__arrow,
.home-resources__archive-link:hover .home-resources__arrow,
.home-resources__read-link:hover .home-resources__arrow {
	transform: translateX(-0.25rem);
}

.home-resources__arrow-icon {
	display: block;
}

@media (max-width: 1024px) {
	.home-resources__articles {
		gap: 1.25rem;
	}

	.home-resources__media {
		min-height: 17.5rem;
	}

	.home-resources__featured-copy,
	.home-resources__list-item {
		padding: 1.4rem;
	}
}

@media (max-width: 900px) {
	.home-resources__header {
		display: block;
	}

	.home-resources__archive-link {
		margin-block-start: 1.25rem;
	}

	.home-resources__articles {
		grid-template-columns: minmax(0, 1fr);
	}

	.home-resources__featured {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	}
}

@media (max-width: 767px) {
	.home-resources__articles {
		grid-template-columns: minmax(0, 1fr);
	}

	.home-resources__featured {
		grid-template-columns: minmax(0, 1fr);
	}

	.home-resources__media {
		min-height: 15rem;
	}
}

@media (max-width: 560px) {
	.home-resources {
		padding-block-end: calc(var(--section-padding) + 0.75rem);
	}

	.home-resources__title {
		font-size: 1.55rem;
	}

	.home-resources__list-item {
		grid-template-columns: 1.75rem minmax(0, 1fr) auto;
		gap: 0.75rem;
		padding: 1.25rem 1.1rem;
	}

	.home-resources__technical-orbit--one {
		inline-size: 12rem;
		block-size: 12rem;
	}

	.home-resources__technical-orbit--two {
		inline-size: 8.5rem;
		block-size: 8.5rem;
	}

	.home-resources__technical-orbit--three {
		inline-size: 5rem;
		block-size: 5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-resources__archive-link,
	.home-resources__read-link,
	.home-resources__list-item,
	.home-resources__arrow {
		transition: none;
	}

	.home-resources__list-item:hover .home-resources__arrow,
	.home-resources__list-item:focus-visible .home-resources__arrow,
	.home-resources__archive-link:hover .home-resources__arrow,
	.home-resources__read-link:hover .home-resources__arrow {
		transform: none;
	}
}

/* =========================================================================
   23. Homepage: Contact and FAQ
   ========================================================================= */

.home-contact {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: #f2f5f3;
	color: var(--color-text);
	padding-block: var(--section-padding);
}

.home-contact__background {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 13% 38%, rgb(20 92 230 / 6%), transparent 23%),
		linear-gradient(90deg, transparent 49.9%, rgb(15 59 70 / 6%) 50%, transparent 50.1%);
}

.home-contact__inner {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.home-contact__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: clamp(1.5rem, 4vw, 4.375rem);
	align-items: flex-end;
	margin-block-end: clamp(2rem, 4vw, 3.4rem);
}

.home-contact__label {
	margin: 0;
	color: var(--color-accent);
}

.home-contact__title {
	margin: 0.875rem 0 0;
	max-width: 28rem;
	font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.6875rem);
	line-height: 1.45;
	letter-spacing: -0.03em;
	color: var(--color-primary);
	overflow-wrap: anywhere;
}

.home-contact__description {
	margin: 0;
	max-width: 28rem;
	font-size: 0.8125rem;
	line-height: 2.1;
	color: var(--color-text-muted);
	overflow-wrap: anywhere;
}

.home-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr);
	gap: 1.125rem;
	align-items: start;
	min-width: 0;
}

.home-contact__grid--single {
	grid-template-columns: minmax(0, 1fr);
}

.home-contact__faq {
	min-width: 0;
	padding: clamp(1.5rem, 2.5vw, 2.2rem);
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 0.75rem;
}

.home-contact__panel-heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-block-end: 1.5rem;
}

.home-contact__faq-label {
	font-size: 0.6875rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-accent);
}

.home-contact__faq-title {
	margin: 0;
	font-size: 1.05rem;
	color: var(--color-primary);
}

.home-contact__faq-item {
	border-block-start: 1px solid var(--color-border);
}

.home-contact__faq-item:last-child {
	border-block-end: 1px solid var(--color-border);
}

.home-contact__faq-summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding-block: 1.35rem;
	cursor: pointer;
	list-style: none;
	color: var(--color-primary);
	font-size: 0.875rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.75;
	overflow-wrap: anywhere;
}

.home-contact__faq-summary::-webkit-details-marker {
	display: none;
}

.home-contact__faq-summary::marker {
	content: "";
}

.home-contact__faq-summary:hover,
.home-contact__faq-summary:focus-visible {
	color: var(--color-accent);
}

.home-contact__faq-summary:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 3px;
}

.home-contact__faq-icon {
	position: relative;
	flex-shrink: 0;
	inline-size: 1.25rem;
	block-size: 1.25rem;
	color: var(--color-accent);
}

.home-contact__faq-icon::before,
.home-contact__faq-icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	background: currentColor;
	transform: translate(-50%, -50%);
}

.home-contact__faq-icon::before {
	width: 0.875rem;
	height: 2px;
}

.home-contact__faq-icon::after {
	width: 2px;
	height: 0.875rem;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.home-contact__faq-item[open] .home-contact__faq-icon::after {
	opacity: 0;
	transform: translate(-50%, -50%) scaleY(0);
}

.home-contact__faq-answer {
	padding-block-end: 1.35rem;
}

.home-contact__faq-answer p {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 2;
	color: var(--color-text-muted);
	overflow-wrap: anywhere;
}

.home-contact__form-panel {
	min-width: 0;
	padding: clamp(1.5rem, 2.5vw, 2.375rem);
	background: var(--color-primary);
	color: var(--color-text-inverse);
	border-radius: 0.75rem;
}

.home-contact__form-kicker {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	font-size: 0.6875rem;
}

.home-contact__form-kicker span {
	color: var(--color-accent-lime);
	font-weight: var(--font-weight-bold);
}

.home-contact__form-kicker strong {
	font-weight: var(--font-weight-medium);
	color: #9bb4bc;
}

.home-contact__form-title {
	margin: 1.1rem 0 1.6rem;
	font-size: clamp(1.35rem, 1.1rem + 1vw, 1.75rem);
	line-height: 1.55;
	color: var(--color-text-inverse);
	overflow-wrap: anywhere;
}

.home-contact__notice {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	border-radius: 0.5rem;
	font-size: 0.75rem;
	line-height: 1.8;
	overflow-wrap: anywhere;
}

.home-contact__notice--success {
	background: rgb(207 255 54 / 14%);
	border: 1px solid rgb(207 255 54 / 45%);
	color: var(--color-accent-lime);
}

.home-contact__notice--error {
	background: rgb(239 187 181 / 12%);
	border: 1px solid rgb(239 187 181 / 35%);
	color: #ffc7c0;
}

.home-contact__form {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}

.home-contact__field-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.home-contact__field {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	min-width: 0;
	font-size: 0.5625rem;
	color: #a9bdc3;
}

.home-contact__field input,
.home-contact__field select,
.home-contact__field textarea {
	width: 100%;
	min-height: 2.875rem;
	padding: 0.8rem 0.875rem;
	border: 1px solid #3d5a64;
	border-radius: 0.375rem;
	background: #0c2b37;
	color: var(--color-text-inverse);
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	line-height: 1.5;
	outline: none;
	box-sizing: border-box;
	resize: vertical;
}

.home-contact__field textarea {
	min-height: 7rem;
}

.home-contact__field input::placeholder,
.home-contact__field textarea::placeholder {
	color: #6f8790;
}

.home-contact__field input:focus,
.home-contact__field select:focus,
.home-contact__field textarea:focus {
	border-color: var(--color-accent-lime);
	outline: 2px solid rgb(207 255 54 / 35%);
	outline-offset: 1px;
}

.home-contact__file-field {
	position: relative;
	display: grid;
	grid-template-columns: 2.125rem minmax(0, 1fr);
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem;
	border: 1px dashed #57727b;
	border-radius: 0.375rem;
	cursor: pointer;
	color: #a9bdc3;
}

.home-contact__file-field:focus-within {
	border-color: var(--color-accent-lime);
	outline: 2px solid rgb(207 255 54 / 35%);
	outline-offset: 1px;
}

.home-contact__file-icon {
	display: grid;
	place-items: center;
	color: var(--color-accent-lime);
}

.home-contact__file-copy {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.home-contact__file-title {
	font-size: 0.6875rem;
	color: var(--color-text-inverse);
}

.home-contact__file-title em {
	font-style: normal;
	color: #8aa0a8;
}

.home-contact__file-help {
	font-size: 0.5625rem;
	color: #7e959d;
	overflow-wrap: anywhere;
}

.home-contact__file-input {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	opacity: 0.01;
	cursor: pointer;
}

.home-contact__submit {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 3.0625rem;
	padding-inline: 1.125rem;
	border: 0;
	border-radius: 0.375rem;
	background: var(--color-accent-lime);
	color: var(--color-primary);
	font-family: var(--font-sans);
	font-size: 0.8125rem;
	font-weight: var(--font-weight-extrabold);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.home-contact__submit:hover,
.home-contact__submit:focus-visible {
	background: #e4ff70;
}

.home-contact__submit:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 3px;
}

.home-contact__privacy {
	margin: 0.25rem 0 0;
	font-size: 0.5rem;
	line-height: 1.9;
	text-align: center;
	color: #718a93;
	overflow-wrap: anywhere;
}

.home-contact__honeypot {
	position: absolute;
	inset-inline-start: -10000px;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
}

@media (max-width: 1024px) {
	.home-contact__grid {
		gap: 1rem;
	}

	.home-contact__faq,
	.home-contact__form-panel {
		padding: 1.35rem;
	}
}

@media (max-width: 900px) {
	.home-contact__header {
		display: block;
	}

	.home-contact__description {
		margin-block-start: 1.25rem;
		max-width: none;
	}

	.home-contact__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.home-contact__field-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.home-contact {
		padding-block-end: calc(var(--section-padding) + 0.75rem);
	}
}

@media (max-width: 560px) {
	.home-contact__title {
		font-size: 1.55rem;
	}

	.home-contact__field input,
	.home-contact__field select,
	.home-contact__field textarea,
	.home-contact__submit {
		font-size: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-contact__faq-icon::after,
	.home-contact__submit {
		transition: none;
	}
}


/* =========================================================================
   24. Product catalog archive (.pooyatrans-shop)
   ========================================================================= */

.pooyatrans-shop {
	min-width: 0;
}

.pooyatrans-shop__hero {
	position: relative;
	overflow: hidden;
	background: #f1f5f3;
	border-block-end: 1px solid var(--color-border, #dce4e1);
}

.pooyatrans-shop__hero-grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(#173d470b 1px, transparent 1px),
		linear-gradient(90deg, #173d470b 1px, transparent 1px);
	background-size: 48px 48px;
	pointer-events: none;
}

.pooyatrans-shop__hero-inner {
	position: relative;
	min-height: 0;
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.55fr);
	align-items: center;
	gap: clamp(1rem, 2.5vw, 2rem);
	padding-block: clamp(1.25rem, 2.5vw, 1.75rem);
}

.pooyatrans-shop__hero--shop .pooyatrans-shop__hero-inner {
	min-height: 0;
}

.pooyatrans-shop__hero--category .pooyatrans-shop__hero-inner {
	min-height: 0;
}

.pooyatrans-shop__crumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.625rem;
	margin-block-end: 0.65rem;
	font-size: 0.625rem;
	color: var(--color-text-muted, #76898e);
}

.pooyatrans-shop__crumb a {
	color: inherit;
	text-decoration: none;
}

.pooyatrans-shop__crumb a:hover,
.pooyatrans-shop__crumb a:focus-visible {
	color: var(--color-accent, #145ce6);
}

.pooyatrans-shop__crumb strong {
	color: var(--color-accent, #145ce6);
	font-weight: var(--font-weight-bold, 700);
}

.pooyatrans-shop__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-size: 0.75rem;
	color: var(--color-primary, #071f2b);
}

.pooyatrans-shop__eyebrow-mark {
	inline-size: 0.5rem;
	block-size: 0.5rem;
	border-radius: 50%;
	background: var(--color-accent, #145ce6);
}

.pooyatrans-shop__title {
	margin: 0.4rem 0;
	font-size: clamp(1.625rem, 3vw, 2.375rem);
	line-height: 1.3;
	color: var(--color-primary, #071f2b);
	overflow-wrap: anywhere;
}

.pooyatrans-shop__title em {
	display: block;
	font-style: normal;
	color: var(--color-accent, #145ce6);
}

.pooyatrans-shop__description {
	max-width: 39rem;
	font-size: 0.8125rem;
	line-height: 1.75;
	color: var(--color-text-muted, #64757b);
}

.pooyatrans-shop__description p {
	margin: 0;
}

.pooyatrans-shop__catalog-card {
	min-height: 9.5rem;
	padding: 1rem 1.25rem;
	background: var(--color-primary, #071f2b);
	color: #fff;
	border-radius: 0.5rem;
	position: relative;
	overflow: hidden;
}

.pooyatrans-shop__catalog-card > span {
	font-size: 0.5625rem;
	letter-spacing: 0.12em;
	color: var(--color-highlight, #cfff36);
	font-family: Arial, sans-serif;
}

.pooyatrans-shop__catalog-card > strong {
	display: block;
	margin-block-start: 0.85rem;
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	font-family: Arial, sans-serif;
	line-height: 1;
}

.pooyatrans-shop__hero-media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 11rem;
	padding: 1rem 1.15rem;
	background: #eef3f1;
	border: 1px solid var(--color-border, #dce4e1);
	border-radius: 0.5rem;
	box-sizing: border-box;
}

.pooyatrans-shop__hero-media img,
.pooyatrans-shop__hero-image {
	display: block;
	width: 100%;
	max-width: 16rem;
	max-height: 11rem;
	height: auto;
	object-fit: contain;
	object-position: center;
	margin-inline: auto;
}

.pooyatrans-shop__catalog-card > p {
	margin: 0.75rem 0 0;
	font-size: 0.75rem;
	color: #b7c4c8;
}

.pooyatrans-shop__catalog-card-dots {
	display: flex;
	gap: 0.4rem;
	margin-block-start: 1.25rem;
}

.pooyatrans-shop__catalog-card-dots i {
	inline-size: 0.4rem;
	block-size: 0.4rem;
	border-radius: 50%;
	background: #2d4a55;
}

.pooyatrans-shop__catalog-card a {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin-block-start: 1.5rem;
	color: #fff;
	font-size: 0.75rem;
	font-weight: var(--font-weight-bold, 700);
	text-decoration: none;
}

.pooyatrans-shop__catalog-card a:focus-visible {
	outline: 3px solid var(--color-focus, #2f6ee6);
	outline-offset: 3px;
}

.pooyatrans-shop__category-strip {
	background: #fff;
	border-block-end: 1px solid var(--color-border, #dce4e1);
}

.pooyatrans-shop__category-strip-inner {
	display: grid;
	grid-template-columns: repeat(var(--shop-category-count, 4), minmax(0, 1fr));
}

.pooyatrans-shop__category-strip-inner--count-1 {
	grid-template-columns: minmax(0, 1fr);
}

.pooyatrans-shop__category-strip-inner--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pooyatrans-shop__category-strip-inner--count-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pooyatrans-shop__category-strip-inner--count-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pooyatrans-shop__category-card {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-height: 6.25rem;
	padding: 1.25rem 1rem;
	border-inline-start: 1px solid var(--color-border, #dce4e1);
	color: inherit;
	text-decoration: none;
	min-width: 0;
}

.pooyatrans-shop__category-card:first-child {
	border-inline-start: 0;
}

.pooyatrans-shop__category-card small {
	font-family: Arial, sans-serif;
	font-size: 0.75rem;
	color: var(--color-accent, #145ce6);
}

.pooyatrans-shop__category-card span {
	display: grid;
	gap: 0.25rem;
	min-width: 0;
}

.pooyatrans-shop__category-card strong {
	font-size: 0.875rem;
	overflow-wrap: anywhere;
}

.pooyatrans-shop__category-card em {
	font-style: normal;
	font-size: 0.6875rem;
	color: var(--color-text-muted, #64757b);
	overflow-wrap: anywhere;
}

.pooyatrans-shop__category-card.is-current,
.pooyatrans-shop__category-card:hover,
.pooyatrans-shop__category-card:focus-visible {
	background: #f7faf8;
}

.pooyatrans-shop__category-card:focus-visible {
	outline: 3px solid var(--color-focus, #2f6ee6);
	outline-offset: -3px;
}

.pooyatrans-shop__category-arrow {
	margin-inline-start: auto;
	color: var(--color-accent, #145ce6);
}

.pooyatrans-shop__catalog {
	padding-block: 3.5rem 4.5rem;
	background: #f7faf8;
}

.pooyatrans-shop__catalog-heading {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 2rem;
	margin-block-end: 1.75rem;
}

.pooyatrans-shop__catalog-heading h2 {
	margin: 0.5rem 0 0;
	font-size: clamp(1.625rem, 3vw, 2.125rem);
	color: var(--color-primary, #071f2b);
}

.pooyatrans-shop__catalog-heading > p {
	max-width: 26rem;
	margin: 0;
	font-size: 0.8125rem;
	line-height: 2;
	color: var(--color-text-muted, #64757b);
}

.pooyatrans-shop__section-no {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--color-accent, #145ce6);
}

.pooyatrans-shop__section-no--light {
	color: var(--color-highlight, #cfff36);
}

.pooyatrans-shop__toolbar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(12rem, 15rem) auto;
	gap: 0.75rem;
	align-items: stretch;
	margin-block-end: 1.25rem;
	min-width: 0;
	max-width: 100%;
	width: 100%;
	box-sizing: border-box;
}

.pooyatrans-shop__toolbar > * {
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.pooyatrans-shop__search {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
	max-width: 100%;
	padding: 0 0.9rem;
	background: #fff;
	border: 1px solid var(--color-border, #dce4e1);
	border-radius: 0.5rem;
	height: 3rem;
	box-sizing: border-box;
}

.pooyatrans-shop__search-icon {
	display: inline-flex;
	flex-shrink: 0;
	color: var(--color-text-muted, #64757b);
}

.pooyatrans-shop__search-icon .pt-icon {
	width: 1.1rem;
	height: 1.1rem;
}

.pooyatrans-shop__search input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	height: 100%;
	font: inherit;
	font-size: 0.875rem;
	color: inherit;
}

.pooyatrans-shop__search input:focus {
	outline: none;
}

.pooyatrans-shop__search:focus-within {
	outline: 3px solid var(--color-focus, #2f6ee6);
	outline-offset: 2px;
}

.pooyatrans-shop__search-count {
	flex-shrink: 1;
	min-width: 0;
	font-size: 0.75rem;
	color: var(--color-text-muted, #64757b);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pooyatrans-shop__mobile-filter-btn {
	display: none;
	border: 0;
	background: var(--color-primary, #071f2b);
	color: #fff;
	padding: 0 1rem;
	font-size: 0.75rem;
	font-weight: var(--font-weight-bold, 700);
	border-radius: 0.5rem;
	cursor: pointer;
	height: 3rem;
}

.pooyatrans-shop__ordering,
.pooyatrans-shop .woocommerce-ordering {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	float: none;
	margin: 0;
	padding: 0 0.75rem;
	background: #fff;
	border: 1px solid var(--color-border, #dce4e1);
	border-radius: 0.5rem;
	min-width: 0;
	max-width: 100%;
	height: 3rem;
	box-sizing: border-box;
}

.pooyatrans-shop__ordering-label {
	font-size: 0.75rem;
	color: var(--color-text-muted, #64757b);
	white-space: nowrap;
	flex-shrink: 0;
}

.pooyatrans-shop__ordering select,
.pooyatrans-shop .woocommerce-ordering select {
	border: 0;
	background: transparent;
	font: inherit;
	font-size: 0.8125rem;
	max-width: 100%;
	min-width: 0;
	width: 100%;
	height: 100%;
	flex: 1;
	text-overflow: ellipsis;
}

.pooyatrans-shop__views {
	display: inline-flex;
	flex-shrink: 0;
	background: #fff;
	border: 1px solid var(--color-border, #dce4e1);
	border-radius: 0.5rem;
	overflow: hidden;
	height: 3rem;
}

.pooyatrans-shop__views button {
	inline-size: 2.75rem;
	block-size: 3rem;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: var(--color-text-muted, #64757b);
}

.pooyatrans-shop__views button.is-active,
.pooyatrans-shop__views button:hover,
.pooyatrans-shop__views button:focus-visible {
	background: var(--color-primary, #071f2b);
	color: #fff;
}

.pooyatrans-shop__results {
	min-width: 0;
	max-width: 100%;
	overflow-x: hidden;
}

.pooyatrans-shop__layout {
	display: grid;
	grid-template-columns: minmax(16.5rem, 17.8rem) minmax(0, 1fr);
	gap: 1.25rem;
	align-items: start;
}

.pooyatrans-shop__filters {
	background: #fff;
	border: 1px solid var(--color-border, #dce4e1);
	border-radius: 0.5rem;
	padding: 1.25rem;
	min-width: 0;
}

.pooyatrans-shop__filter-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
	margin-block-end: 1rem;
}

.pooyatrans-shop__filter-title strong {
	font-size: 0.95rem;
}

.pooyatrans-shop__filter-close {
	display: none;
	border: 0;
	background: transparent;
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
}

.pooyatrans-shop__clear-filters {
	display: inline-block;
	margin-block-end: 1rem;
	font-size: 0.8125rem;
	color: var(--color-accent, #145ce6);
	text-decoration: none;
}

.pooyatrans-shop__stock-switch {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
	padding: 1rem 0;
	border-block: 1px solid var(--color-border, #dce4e1);
	margin-block-end: 0.85rem;
	cursor: pointer;
}

.pooyatrans-shop__stock-switch strong {
	display: block;
	font-size: 0.875rem;
}

.pooyatrans-shop__stock-switch small {
	display: block;
	margin-block-start: 0.25rem;
	font-size: 0.75rem;
	color: var(--color-text-muted, #64757b);
}

.pooyatrans-shop__stock-switch input {
	inline-size: 1.25rem;
	block-size: 1.25rem;
	accent-color: var(--color-accent, #145ce6);
	flex-shrink: 0;
}

.pooyatrans-shop__filter-group {
	border-block-end: 1px solid var(--color-border, #dce4e1);
	padding-block: 0.65rem;
}

.pooyatrans-shop__filter-group summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	list-style: none;
	font-size: 0.875rem;
	font-weight: var(--font-weight-bold, 700);
	padding-block: 0.65rem;
}

.pooyatrans-shop__filter-group summary::-webkit-details-marker {
	display: none;
}

.pooyatrans-shop__filter-group summary span {
	color: var(--color-accent, #145ce6);
	transition: transform 0.2s ease;
}

.pooyatrans-shop__filter-group[open] summary span {
	transform: rotate(180deg);
}

.pooyatrans-shop__filter-options {
	display: grid;
	gap: 0.35rem;
	padding-block-end: 0.85rem;
}

.pooyatrans-shop__filter-options label,
.pooyatrans-shop__cat-option,
.pooyatrans-shop__brand-option {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	min-height: 2.25rem;
	padding-block: 0.35rem;
	font-size: 0.8125rem;
	cursor: pointer;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.pooyatrans-shop__filter-options input {
	inline-size: 1.15rem;
	block-size: 1.15rem;
	margin-block-start: 0.15rem;
	accent-color: var(--color-accent, #145ce6);
	flex-shrink: 0;
}

.pooyatrans-shop__cat-tree {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.15rem;
	min-width: 0;
}

.pooyatrans-shop__cat-tree--nested {
	margin-block-start: 0.15rem;
	padding-inline-start: 0.35rem;
}

.pooyatrans-shop__cat-row {
	display: flex;
	align-items: flex-start;
	gap: 0.25rem;
	min-width: 0;
}

.pooyatrans-shop__cat-toggle,
.pooyatrans-shop__cat-toggle-spacer {
	inline-size: 2rem;
	block-size: 2rem;
	flex-shrink: 0;
	margin-block-start: 0.15rem;
}

.pooyatrans-shop__cat-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-border, #dce4e1);
	border-radius: 0.3rem;
	background: #fff;
	color: var(--color-accent, #145ce6);
	cursor: pointer;
	padding: 0;
	line-height: 1;
}

.pooyatrans-shop__cat-toggle[aria-expanded="true"] span {
	transform: rotate(180deg);
	display: inline-block;
}

.pooyatrans-shop__cat-toggle:focus-visible {
	outline: 3px solid var(--color-focus, #2f6ee6);
	outline-offset: 2px;
}

.pooyatrans-shop__cat-children {
	margin-inline-start: 0.85rem;
	padding-inline-start: 0.55rem;
	border-inline-start: 1px solid #e2e9e6;
}

/* Progressive enhancement: collapse only after JS marks the shop root. */
.pooyatrans-shop:not(.is-enhanced) .pooyatrans-shop__cat-children[hidden] {
	display: block;
}

.pooyatrans-shop.is-enhanced .pooyatrans-shop__cat-children.is-collapsed,
.pooyatrans-shop.is-enhanced .pooyatrans-shop__cat-children[hidden] {
	display: none;
}

.pooyatrans-shop__cat-option,
.pooyatrans-shop__brand-option {
	flex: 1;
	min-width: 0;
}

.pooyatrans-shop__cat-option-name {
	flex: 1;
	min-width: 0;
	overflow-wrap: anywhere;
	line-height: 1.55;
}

.pooyatrans-shop__cat-option-count {
	flex-shrink: 0;
	margin-inline-start: auto;
	padding: 0.1rem 0.45rem;
	border-radius: 999px;
	background: #eef3f1;
	color: var(--color-text-muted, #64757b);
	font-size: 0.6875rem;
	font-variant-numeric: tabular-nums;
	pointer-events: none;
}

.pooyatrans-shop__filter-submit {
	width: 100%;
	margin-block-start: 1.1rem;
	border: 0;
	border-radius: 0.5rem;
	background: var(--color-accent, #145ce6);
	color: #fff;
	height: 3rem;
	font-size: 0.875rem;
	font-weight: var(--font-weight-bold, 700);
	cursor: pointer;
}

.pooyatrans-shop__filter-help {
	margin-block-start: 1.35rem;
	padding: 1.1rem;
	background: #f1f5f3;
	border-radius: 0.5rem;
}

.pooyatrans-shop__filter-help small {
	color: var(--color-accent, #145ce6);
	font-size: 0.75rem;
}

.pooyatrans-shop__filter-help strong {
	display: block;
	margin: 0.45rem 0;
	font-size: 0.9375rem;
}

.pooyatrans-shop__filter-help p {
	margin: 0;
	font-size: 0.75rem;
	line-height: 1.9;
	color: var(--color-text-muted, #64757b);
}

.pooyatrans-shop__filter-help a {
	display: inline-flex;
	gap: 0.5rem;
	margin-block-start: 0.85rem;
	font-size: 0.8125rem;
	font-weight: var(--font-weight-bold, 700);
	color: var(--color-accent, #145ce6);
	text-decoration: none;
}

.pooyatrans-shop__filter-backdrop {
	display: none;
}

.pooyatrans-shop__active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	margin-block-end: 1rem;
	font-size: 0.75rem;
}

.pooyatrans-shop__chip {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
	background: #e8eef0;
	color: var(--color-primary, #071f2b);
	text-decoration: none;
}

.pooyatrans-shop__chip:focus-visible {
	outline: 3px solid var(--color-focus, #2f6ee6);
	outline-offset: 2px;
}

.pooyatrans-shop .woocommerce ul.products,
.pooyatrans-shop ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
	float: none;
}

.pooyatrans-shop ul.products::before,
.pooyatrans-shop ul.products::after {
	display: none;
}

.pooyatrans-shop ul.products li.product,
.pooyatrans-shop ul.products .pooyatrans-shop-product {
	width: 100%;
	max-width: none;
	margin: 0;
	float: none;
	min-width: 0;
}

.pooyatrans-shop-product__card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 1px solid var(--color-border, #dce4e1);
	border-radius: 0.5rem;
	overflow: hidden;
	min-width: 0;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.pooyatrans-shop-product__card:hover {
	border-color: #b7c8d6;
	box-shadow: 0 10px 28px #17394314;
	transform: translateY(-2px);
}

.pooyatrans-shop-product__media {
	position: relative;
	background: #eef3f1;
	aspect-ratio: 4 / 3;
	padding: 1.25rem;
	box-sizing: border-box;
}

.pooyatrans-shop-product__image-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.pooyatrans-shop-product__media img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
}

.pooyatrans-shop-product__badge {
	position: absolute;
	inset-block-start: 0.75rem;
	inset-inline-start: 0.75rem;
	z-index: 1;
	padding: 0.3rem 0.55rem;
	background: var(--color-highlight, #cfff36);
	color: var(--color-primary, #071f2b);
	font-size: 0.625rem;
	font-weight: var(--font-weight-bold, 700);
	border-radius: 0.25rem;
}

.pooyatrans-shop-product__availability {
	position: absolute;
	inset-block-end: 0.75rem;
	inset-inline-start: 0.75rem;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.3rem 0.55rem;
	background: #ffffffe6;
	border-radius: 999px;
	font-size: 0.625rem;
	z-index: 1;
}

.pooyatrans-shop-product__availability-dot {
	inline-size: 0.4rem;
	block-size: 0.4rem;
	border-radius: 50%;
	background: #9aa7ab;
}

.pooyatrans-shop-product__availability--in .pooyatrans-shop-product__availability-dot {
	background: #2c8a43;
}

.pooyatrans-shop-product__availability--backorder .pooyatrans-shop-product__availability-dot {
	background: var(--color-accent, #145ce6);
}

.pooyatrans-shop-product__availability--out .pooyatrans-shop-product__availability-dot {
	background: #c94a3c;
}

.pooyatrans-shop-product__body {
	display: flex;
	flex-direction: column;
	gap: 0.95rem;
	padding: 1.15rem 1.1rem 1.2rem;
	flex: 1;
	min-width: 0;
}

.pooyatrans-shop-product__meta {
	margin: 0;
	font-size: 0.75rem;
	color: var(--color-text-muted, #64757b);
	overflow-wrap: anywhere;
}

.pooyatrans-shop-product__title {
	margin: 0;
	min-height: 3.4em;
	font-size: 1.05rem;
	font-weight: var(--font-weight-bold, 700);
	line-height: 1.75;
	overflow-wrap: anywhere;
}

.pooyatrans-shop-product__title a {
	color: inherit;
	text-decoration: none;
}

.pooyatrans-shop-product__title a:hover,
.pooyatrans-shop-product__title a:focus-visible {
	color: var(--color-accent, #145ce6);
}

.pooyatrans-shop-product__specs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.65rem;
	padding-block: 0.35rem;
	border-block: 1px solid #edf1ef;
}

.pooyatrans-shop-product__specs span {
	display: grid;
	gap: 0.3rem;
	min-width: 0;
}

.pooyatrans-shop-product__specs small {
	font-size: 0.6875rem;
	color: var(--color-text-muted, #64757b);
}

.pooyatrans-shop-product__specs strong {
	font-size: 0.8125rem;
	overflow-wrap: anywhere;
}

.pooyatrans-shop-product__footer {
	display: grid;
	gap: 0.65rem;
	margin-block-start: auto;
	padding-block-start: 0.35rem;
	position: relative;
}

.pooyatrans-shop-product__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	min-width: 0;
}

.pooyatrans-shop-product__details {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 2.5rem;
	max-height: 2.5rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-accent, #145ce6);
	font-size: 0.8125rem;
	font-weight: var(--font-weight-bold, 700);
	text-decoration: none;
	width: auto;
}

.pooyatrans-shop-product__details:hover,
.pooyatrans-shop-product__details:focus-visible {
	color: var(--color-primary, #071f2b);
	text-decoration: underline;
	outline: none;
}

.pooyatrans-shop-product__details:focus-visible {
	outline: 3px solid var(--color-focus, #2f6ee6);
	outline-offset: 2px;
	border-radius: 0.25rem;
}

.pooyatrans-shop-product__inquiry {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
	max-height: 2.5rem;
	padding: 0 0.85rem;
	border-radius: 0.375rem;
	border: 1px solid var(--color-primary, #071f2b);
	background: transparent;
	color: var(--color-primary, #071f2b);
	font-size: 0.75rem;
	font-weight: var(--font-weight-bold, 700);
	text-decoration: none;
	white-space: nowrap;
}

.pooyatrans-shop-product__inquiry:hover,
.pooyatrans-shop-product__inquiry:focus-visible {
	background: var(--color-primary, #071f2b);
	color: #fff;
}

.pooyatrans-shop .pooyatrans-shop-product__cart.button,
.pooyatrans-shop-product__select-options,
.pooyatrans-shop-product__util {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 2.5rem;
	block-size: 2.5rem;
	min-width: 2.5rem;
	min-height: 2.5rem;
	padding: 7px;
	margin: 0;
	border-radius: 0.375rem;
	border: 1px solid var(--color-border, #dce4e1);
	background: #fff;
	color: var(--color-primary, #071f2b);
	text-decoration: none;
	box-sizing: border-box;
	cursor: pointer;
	flex-shrink: 0;
	line-height: 0;
	font-size: 0;
	position: relative;
	overflow: hidden;
	vertical-align: middle;
}

.pooyatrans-shop .pooyatrans-shop-product__cart.button {
	background: var(--color-primary, #071f2b);
	border-color: var(--color-primary, #071f2b);
	color: #fff;
}

.pooyatrans-shop .pooyatrans-shop-product__cart.button::before,
.pooyatrans-shop .pooyatrans-shop-product__cart.button::after {
	content: none;
	display: none;
}

.pooyatrans-shop-product__cart-icon,
.pooyatrans-shop-product__cart-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.pooyatrans-shop-product__cart-check {
	display: none;
}

.pooyatrans-shop .pooyatrans-shop-product__cart.button .pt-icon {
	width: 1.2rem;
	height: 1.2rem;
	display: block;
}

.pooyatrans-shop .pooyatrans-shop-product__cart.button.loading {
	pointer-events: none;
}

.pooyatrans-shop .pooyatrans-shop-product__cart.button.loading .pooyatrans-shop-product__cart-icon {
	opacity: 0.15;
}

.pooyatrans-shop .pooyatrans-shop-product__cart.button.loading::after {
	content: "";
	display: block;
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	width: 0.95rem;
	height: 0.95rem;
	margin: 0;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-block-start-color: #fff;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	animation: pooyatrans-shop-spin 0.7s linear infinite;
}

.pooyatrans-shop .pooyatrans-shop-product__cart.button.added {
	background: #127a45;
	border-color: #127a45;
}

.pooyatrans-shop .pooyatrans-shop-product__cart.button.added .pooyatrans-shop-product__cart-icon {
	display: none;
}

.pooyatrans-shop .pooyatrans-shop-product__cart.button.added .pooyatrans-shop-product__cart-check {
	display: inline-flex;
}

.pooyatrans-shop .pooyatrans-shop-product__footer .added_to_cart {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@keyframes pooyatrans-shop-spin {
	to {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

.pooyatrans-shop .pooyatrans-shop-product__cart.button:hover,
.pooyatrans-shop .pooyatrans-shop-product__cart.button:focus-visible,
.pooyatrans-shop-product__select-options:hover,
.pooyatrans-shop-product__select-options:focus-visible,
.pooyatrans-shop-product__util:hover,
.pooyatrans-shop-product__util:focus-visible {
	outline: 3px solid var(--color-focus, #2f6ee6);
	outline-offset: 2px;
}

.pooyatrans-shop-product__select-options .pt-icon,
.pooyatrans-shop-product__util .pt-icon {
	width: 1.125rem;
	height: 1.125rem;
	display: block;
}

.pooyatrans-shop-product__utils {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.pooyatrans-shop-product__util[aria-pressed="true"] {
	background: #eef6ff;
	border-color: var(--color-accent, #145ce6);
	color: var(--color-accent, #145ce6);
	box-shadow: inset 0 0 0 1px var(--color-accent, #145ce6);
}

.pooyatrans-shop-product__util[aria-pressed="true"] .pt-icon path {
	fill: currentColor;
}

.pooyatrans-shop ul.products.pooyatrans-shop-products--list {
	grid-template-columns: minmax(0, 1fr);
}

.pooyatrans-shop ul.products.pooyatrans-shop-products--list .pooyatrans-shop-product__card {
	display: grid;
	grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr);
}

.pooyatrans-shop ul.products.pooyatrans-shop-products--list .pooyatrans-shop-product__media {
	aspect-ratio: auto;
	min-height: 12rem;
	padding: 1.25rem;
}

.pooyatrans-shop__empty {
	padding: 2.5rem 1.5rem;
	text-align: center;
	background: #fff;
	border: 1px solid var(--color-border, #dce4e1);
	border-radius: 0.5rem;
}

.pooyatrans-shop__empty strong {
	display: block;
	font-size: 1rem;
}

.pooyatrans-shop__empty p {
	margin: 0.75rem auto 0;
	max-width: 28rem;
	font-size: 0.8125rem;
	line-height: 1.9;
	color: var(--color-text-muted, #64757b);
}

.pooyatrans-shop__empty-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-block-start: 1.25rem;
}

.pooyatrans-shop__empty-reset,
.pooyatrans-shop__empty-consult {
	display: inline-flex;
	align-items: center;
	min-height: 2.5rem;
	padding: 0.5rem 1rem;
	border-radius: 0.375rem;
	text-decoration: none;
	font-size: 0.8125rem;
	font-weight: var(--font-weight-bold, 700);
}

.pooyatrans-shop__empty-reset {
	background: var(--color-primary, #071f2b);
	color: #fff;
}

.pooyatrans-shop__empty-consult {
	border: 1px solid var(--color-border, #dce4e1);
	color: var(--color-primary, #071f2b);
}

.pooyatrans-shop .woocommerce-pagination {
	margin-block: 1.5rem 0;
	overflow-x: auto;
	max-width: 100%;
}

.pooyatrans-shop .woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pooyatrans-shop .woocommerce-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-inline-size: 2.25rem;
	min-block-size: 2.25rem;
	padding: 0.25rem 0.5rem;
	border: 1px solid var(--color-border, #dce4e1);
	border-radius: 0.375rem;
	background: #fff;
	color: var(--color-primary, #071f2b);
	text-decoration: none;
}

.pooyatrans-shop .woocommerce-pagination .page-numbers.current,
.pooyatrans-shop .woocommerce-pagination a.page-numbers:hover,
.pooyatrans-shop .woocommerce-pagination a.page-numbers:focus-visible {
	background: var(--color-primary, #071f2b);
	border-color: var(--color-primary, #071f2b);
	color: #fff;
}

.pooyatrans-shop__consult {
	background: var(--color-primary, #071f2b);
	color: #fff;
	padding-block: 4rem;
	margin-block-start: 0;
}

.pooyatrans-shop__consult-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	gap: 2rem;
	align-items: center;
}

.pooyatrans-shop__consult-copy h2 {
	margin: 0.5rem 0;
	font-size: clamp(1.5rem, 3vw, 2rem);
	color: #fff;
}

.pooyatrans-shop__consult-copy p {
	margin: 0;
	font-size: 0.875rem;
	line-height: 2;
	color: #c5d2d6;
}

.pooyatrans-shop__consult-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	min-height: 3rem;
	padding: 0.75rem 1.25rem;
	background: var(--color-highlight, #cfff36);
	color: var(--color-primary, #071f2b);
	font-weight: var(--font-weight-bold, 700);
	text-decoration: none;
	border-radius: 0.375rem;
}

.pooyatrans-shop__consult-cta:hover,
.pooyatrans-shop__consult-cta:focus-visible {
	background: #d8ff5c;
	color: var(--color-primary, #071f2b);
}

.pooyatrans-shop__consult-cta:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

body.pooyatrans-shop-filters-open {
	overflow: hidden;
}

@media (max-width: 1024px) {
	.pooyatrans-shop__layout {
		grid-template-columns: minmax(14rem, 16rem) minmax(0, 1fr);
	}

	.pooyatrans-shop .woocommerce ul.products,
	.pooyatrans-shop ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pooyatrans-shop__toolbar {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0.65rem;
	}

	.pooyatrans-shop__search {
		grid-column: 1 / -1;
	}

	.pooyatrans-shop__category-strip-inner,
	.pooyatrans-shop__category-strip-inner--count-3,
	.pooyatrans-shop__category-strip-inner--count-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pooyatrans-shop__category-strip-inner--count-1 {
		grid-template-columns: minmax(0, 1fr);
	}

	.pooyatrans-shop__category-strip-inner--count-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pooyatrans-shop__category-card {
		border-block-end: 1px solid var(--color-border, #dce4e1);
	}
}

@media (max-width: 760px) {
	.pooyatrans-shop__hero-inner {
		grid-template-columns: minmax(0, 1fr);
		padding-block: 1.5rem 1.75rem;
		min-height: 0;
		gap: 1rem;
	}

	.pooyatrans-shop__hero--shop .pooyatrans-shop__hero-inner,
	.pooyatrans-shop__hero--category .pooyatrans-shop__hero-inner {
		min-height: 0;
	}

	.pooyatrans-shop__catalog-card {
		display: none;
	}

	.pooyatrans-shop__catalog {
		padding-block: 2.5rem 3rem;
	}

	.pooyatrans-shop__consult {
		padding-block: 2.75rem;
	}

	.pooyatrans-shop__hero-media {
		min-height: 8.5rem;
		max-width: 16rem;
		margin-inline: auto;
	}

	.pooyatrans-shop__hero-media img,
	.pooyatrans-shop__hero-image {
		max-height: 8rem;
	}

	.pooyatrans-shop__catalog-heading {
		display: block;
	}

	.pooyatrans-shop__catalog-heading > p {
		margin-block-start: 1rem;
	}

	.pooyatrans-shop__toolbar {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"search search"
			"filter sort";
	}

	.pooyatrans-shop__search {
		grid-area: search;
		grid-column: auto;
		flex-wrap: wrap;
		height: auto;
		min-height: 3rem;
		padding-block: 0.35rem;
	}

	.pooyatrans-shop__search-count {
		width: 100%;
		order: 3;
		white-space: normal;
	}

	.pooyatrans-shop__mobile-filter-btn {
		display: block;
		grid-area: filter;
	}

	.pooyatrans-shop__ordering {
		grid-area: sort;
	}

	.pooyatrans-shop__views {
		display: none;
	}

	.pooyatrans-shop__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.pooyatrans-shop__filters {
		position: fixed;
		inset-inline-end: 0;
		inset-block: 0;
		width: min(21rem, 90vw);
		z-index: 120;
		overflow: auto;
		transform: translateX(105%);
		transition: transform 0.3s ease;
		border-radius: 0;
		padding-block-end: calc(5.5rem + env(safe-area-inset-bottom, 0px));
	}

	html[dir="rtl"] .pooyatrans-shop__filters {
		transform: translateX(-105%);
	}

	.pooyatrans-shop__filters.is-open,
	html[dir="rtl"] .pooyatrans-shop__filters.is-open {
		transform: none;
	}

	.pooyatrans-shop__filter-close {
		display: block;
	}

	.pooyatrans-shop__filter-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		border: 0;
		background: #061b2480;
		z-index: 110;
	}

	.pooyatrans-shop__filter-backdrop[hidden] {
		display: none;
	}

	.pooyatrans-shop__consult-inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.pooyatrans-shop ul.products.pooyatrans-shop-products--list .pooyatrans-shop-product__card {
		grid-template-columns: minmax(0, 1fr);
	}

	.pooyatrans-shop-product__actions {
		flex-wrap: wrap;
	}

	.pooyatrans-shop-product__footer {
		gap: 0.75rem;
	}
}

@media (max-width: 520px) {
	.pooyatrans-shop__toolbar {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"search"
			"filter"
			"sort";
	}

	.pooyatrans-shop__search-count {
		display: none;
	}

	.pooyatrans-shop__category-strip-inner,
	.pooyatrans-shop__category-strip-inner--count-1,
	.pooyatrans-shop__category-strip-inner--count-2,
	.pooyatrans-shop__category-strip-inner--count-3,
	.pooyatrans-shop__category-strip-inner--count-4 {
		grid-template-columns: minmax(0, 1fr);
	}

	.pooyatrans-shop .woocommerce ul.products,
	.pooyatrans-shop ul.products {
		grid-template-columns: minmax(0, 1fr);
	}

	.pooyatrans-shop-product__specs {
		grid-template-columns: minmax(0, 1fr);
	}

	.pooyatrans-shop__title {
		font-size: 1.875rem;
	}

	.pooyatrans-shop-product__title {
		min-height: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pooyatrans-shop__filters,
	.pooyatrans-shop__views button,
	.pooyatrans-shop__category-card,
	.pooyatrans-shop-product__card,
	.pooyatrans-shop__filter-group summary span,
	.pooyatrans-shop__cat-toggle span,
	.pooyatrans-shop .pooyatrans-shop-product__cart.button.loading::after {
		transition: none;
		animation: none;
	}

	.pooyatrans-shop-product__card:hover {
		transform: none;
	}
}

/* ==========================================================================
   Product detail (single product) — design tokens aligned to reference
   ========================================================================== */
.pooyatrans-product.product-detail{
	--pd-blue:#145be7;
	--pd-navy:#082934;
	--pd-lime:#c8f43a;
	--pd-soft:#f1f5f3;
	--pd-nav-offset:calc(var(--wp-admin-bar-visible-height, 0px) + var(--site-sticky-header-height, var(--header-height, 76px)));
	--combined-sticky-offset:calc(
		var(--wp-admin-bar-visible-height, 0px) + var(--site-sticky-header-height, var(--header-height, 76px)) +
			var(--product-sticky-nav-height, 68px) + var(--product-anchor-breathing, 12px)
	);
	background:#fff;
	color:#102f38;
	padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px));
}
.pooyatrans-product .woocommerce-notices-wrapper,
.pooyatrans-product .woocommerce-message,
.pooyatrans-product .woocommerce-info,
.pooyatrans-product .woocommerce-error{
	max-width:var(--container-max, 1200px);
	margin-inline:auto;
	padding-inline:clamp(16px, 4vw, 32px);
}
.pooyatrans-product .product-crumb{
	min-height:58px;
	display:flex;
	align-items:center;
	gap:10px;
	font-size:12px;
	color:#819095;
	flex-wrap:wrap;
}
.pooyatrans-product .product-crumb a{color:inherit;}
.pooyatrans-product .product-crumb .breadcrumb_last,
.pooyatrans-product .product-crumb b{color:#29434b;font-weight:700;}
.pooyatrans-product #overview,
.pooyatrans-product #technical,
.pooyatrans-product #applications,
.pooyatrans-product #downloads,
.pooyatrans-product #inquiry,
.pooyatrans-product #related{
	scroll-margin-top:var(--combined-sticky-offset);
}
@media (max-width:760px){
	.pooyatrans-product.product-detail{
		padding-bottom:max(
			24px,
			var(--mobile-bottom-nav-clearance, calc(88px + env(safe-area-inset-bottom, 0px)))
		);
	}
}

.product-stage{background:#eef3f1;border-top:1px solid #dfe7e3;}
.product-stage-grid{
	display:grid;
	grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
	gap:0 24px;
	align-items:start;
}
.pd-gallery{padding:48px 0 40px;}
.pd-main-image{
	min-height:min(500px,70vw);
	background:linear-gradient(145deg,#f9fbfa,#dce6e2);
	position:relative;
	display:grid;
	place-items:center;
	overflow:hidden;
}
.pd-main-image::before{
	content:"";
	position:absolute;
	inset:25px;
	border:1px solid rgba(184,200,194,.27);
	pointer-events:none;
}
.pd-main-image__img,
.pd-main-image img{
	width:min(78%,420px);
	height:auto;
	max-height:78%;
	object-fit:contain;
	position:relative;
	z-index:2;
	filter:drop-shadow(0 35px 22px rgba(22,57,67,.17));
	transition:transform .45s ease;
}
@media (prefers-reduced-motion:reduce){
	.pd-main-image__img,
	.pd-main-image img{transition:none;}
}
.pd-main-image:hover .pd-main-image__img,
.pd-main-image:hover img{transform:scale(1.03);}
@media (prefers-reduced-motion:reduce){
	.pd-main-image:hover .pd-main-image__img,
	.pd-main-image:hover img{transform:none;}
}
.pd-rings{
	position:absolute;
	width:min(390px,70%);
	aspect-ratio:1;
	border:1px solid rgba(20,91,231,.17);
	border-radius:50%;
	box-shadow:0 0 0 55px rgba(20,91,231,.06),0 0 0 110px rgba(20,91,231,.035);
	pointer-events:none;
}
.pd-image-code,
.pd-image-index{
	position:absolute;
	top:30px;
	z-index:3;
	font-size:11px;
	letter-spacing:1.2px;
	color:#4d6369;
}
.pd-image-code{inset-inline-start:30px;}
.pd-image-index{inset-inline-end:30px;}
.pd-thumbs{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
	gap:10px;
	margin-top:16px;
}
.pd-thumb{
	display:grid;
	grid-template-columns:auto 1fr;
	align-items:center;
	gap:10px;
	padding:10px 12px;
	border:1px solid #cfd9d5;
	background:#fff;
	cursor:pointer;
	text-align:start;
	min-height:52px;
}
.pd-thumb.is-active,
.pd-thumb[aria-current="true"]{
	border-color:var(--pd-blue);
	box-shadow:inset 0 0 0 1px var(--pd-blue);
}
.pd-thumb:focus-visible{
	outline:2px solid var(--pd-blue);
	outline-offset:2px;
}
.pd-thumb__index{font-size:11px;color:#81918d;}
.pd-thumb__preview{display:grid;place-items:center;height:40px;}
.pd-thumb__preview img{max-height:40px;width:auto;object-fit:contain;}

.pd-summary{padding:55px 0 45px;}
.woocommerce.pooyatrans-product div.product .summary.entry-summary,
.woocommerce div.product .pd-summary.summary.entry-summary,
.pooyatrans-product .summary.entry-summary,
.pooyatrans-product .pd-summary{
	float:none !important;
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	padding:55px 0 45px;
}
.pooyatrans-product .product-stage-grid > *{min-width:0;}
.woocommerce div.product.pooyatrans-product__item::before,
.woocommerce div.product.pooyatrans-product__item::after,
.woocommerce div.product.pooyatrans-product__item .product-stage-grid::after,
.woocommerce div.product.pooyatrans-product__item .product-stage::after{
	content:none !important;
	display:none !important;
	clear:none !important;
}
.woocommerce div.product.pooyatrans-product__item .product-stage-grid{
	display:grid !important;
}
.pd-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;}
.pd-brand>span{font-size:11px;letter-spacing:1.5px;color:var(--pd-blue);text-transform:uppercase;}
.pd-brand__spacer{visibility:hidden;}
.pd-availability{
	font-size:11px;
	font-weight:700;
	padding:8px 11px;
	display:inline-flex;
	align-items:center;
	gap:6px;
}
.pd-availability i{
	display:inline-block;
	width:6px;height:6px;border-radius:50%;
	background:currentColor;
}
.pd-availability--in{color:#27804f;background:#daf2e3;}
.pd-availability--backorder{color:#8a6d1d;background:#f7efd2;}
.pd-availability--out{color:#8a3030;background:#f7e0e0;}
.pd-overline{font-size:12px;color:#829095;margin:28px 0 10px;}
.pd-summary h1{
	font-size:clamp(1.7rem,2.4vw,2.5rem);
	line-height:1.45;
	margin:0 0 16px;
	letter-spacing:-.5px;
	font-weight:800;
}
.pd-intro{font-size:14px;line-height:2;color:#61747a;max-width:34rem;}
.pd-intro p{margin:0;}
.pd-key-specs{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	border-top:1px solid #cbd7d3;
	border-bottom:1px solid #cbd7d3;
	margin:26px 0;
}
.pd-key-specs--1{grid-template-columns:1fr;}
.pd-key-specs--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.pd-key-specs span{
	padding:18px 16px;
	border-inline-end:1px solid #cbd7d3;
	display:flex;
	flex-direction:column;
	gap:6px;
	min-width:0;
}
.pd-key-specs span:last-child{border-inline-end:0;}
.pd-key-specs small{font-size:11px;color:#819095;}
.pd-key-specs b{font-size:15px;word-break:break-word;}
.pd-price{margin:0 0 18px;font-size:1.15rem;font-weight:800;}
.pd-price--inquiry{color:#4d6369;font-size:14px;}
.pd-purchase{margin-bottom:18px;}
.pd-purchase .cart{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px;
}
.pd-purchase .quantity .qty{
	min-width:64px;
	min-height:48px;
	padding:8px 10px;
	border:1px solid #cfd9d5;
}
.pd-purchase .single_add_to_cart_button,
.pd-inquiry-cta,
.woocommerce .pooyatrans-product .pd-purchase .single_add_to_cart_button.button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	min-height:50px;
	padding:0 22px;
	border:0;
	border-radius:0;
	background:var(--pd-lime,#c8f43a) !important;
	color:var(--pd-navy,#082934) !important;
	font-weight:800;
	font-size:13px;
	text-decoration:none;
	cursor:pointer;
}
.pd-availability--variable{color:#4d6369;background:#e8eef0;}
.pd-availability--variable.is-in{color:#27804f;background:#daf2e3;}
.pd-availability--variable.is-out{color:#8a3030;background:#f7e0e0;}
.pd-availability--variable.is-backorder{color:#8a6d1d;background:#f7efd2;}
.pd-purchase .single_add_to_cart_button:hover,
.pd-inquiry-cta:hover{filter:brightness(.97);}
.pd-purchase .single_add_to_cart_button:disabled{
	opacity:.55;
	cursor:not-allowed;
}
.pd-purchase .variations{
	width:100%;
	margin-bottom:14px;
}
.pd-purchase .variations td,
.pd-purchase .variations th{
	padding:8px 0;
	border:0;
	vertical-align:middle;
}
.pd-purchase .variations select{
	min-height:44px;
	width:100%;
	max-width:280px;
	border:1px solid #cfd9d5;
	padding:8px 12px;
	background:#fff;
}
.pd-purchase .reset_variations{font-size:12px;margin-inline-start:8px;}
.pd-actions{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px;
	margin-bottom:18px;
}
.pd-action-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	min-height:48px;
	border:1px solid #cfd9d5;
	background:#fff;
	cursor:pointer;
	font-size:12px;
	font-weight:700;
}
.pd-action-btn.is-selected,
.pd-action-btn[aria-pressed="true"]{
	border-color:var(--pd-blue);
	color:var(--pd-blue);
	background:#eef4ff;
}
.pd-action-btn:focus-visible{
	outline:2px solid var(--pd-blue);
	outline-offset:2px;
}
.pd-assurance{
	display:flex;
	flex-wrap:wrap;
	gap:14px 22px;
	font-size:12px;
	color:#4d6369;
}
.pd-assurance span{display:inline-flex;align-items:center;gap:8px;}
.pd-assurance__icon{display:inline-flex;color:var(--pd-blue);}
.pd-assurance__icon .pt-icon{width:16px;height:16px;}

.pd-nav{
	min-height:68px;
	border-top:1px solid #e0e7e4;
	border-bottom:1px solid #e0e7e4;
	background:#fff;
	position:sticky;
	top:var(--pd-nav-offset);
	z-index:25;
}
.pd-nav__inner,
.pd-nav .container{
	min-height:68px;
	display:flex;
	align-items:center;
	gap:28px;
	overflow-x:auto;
	scrollbar-width:thin;
	-webkit-overflow-scrolling:touch;
	scroll-padding-inline:16px;
	padding-block:0;
}
.pd-nav .container::before,
.pd-nav .container::after{
	content:"";
	flex:0 0 8px;
	align-self:stretch;
	pointer-events:none;
}
.pd-nav a{
	font-size:12px;
	font-weight:700;
	white-space:nowrap;
	color:#102f38;
	text-decoration:none;
	padding:18px 0;
	min-height:44px;
	display:inline-flex;
	align-items:center;
}
.pd-nav a:hover,
.pd-nav a[aria-current="location"]{color:var(--pd-blue);}
.pd-nav a[aria-current="location"]{
	box-shadow:inset 0 -2px 0 var(--pd-blue);
}
.pd-nav a:focus-visible{
	outline:2px solid var(--pd-blue);
	outline-offset:3px;
}

.pd-overview{padding:clamp(64px,8vw,110px) 0;}
.pd-overview-grid{
	display:grid;
	grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
	gap:clamp(32px,6vw,90px);
}
.section-no{font-size:12px;color:#819095;margin:0 0 10px;}
.section-no.light{color:#9fb1b6;}
.pd-overview h2,
.pd-section-head h2,
.pd-download h2,
.pd-inquiry h2{
	font-size:clamp(1.55rem,2.2vw,2.35rem);
	line-height:1.55;
	margin:10px 0;
	font-weight:800;
}
.pd-overview__content{
	font-size:14px;
	line-height:2.1;
	color:#60737a;
}
.pd-overview__content > *:first-child{margin-top:0;}
.pd-benefits{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	margin-top:38px;
	border-top:2px solid #15343d;
}
.pd-benefits article{
	padding:24px 15px;
	border-inline-end:1px solid #dce3e0;
}
.pd-benefits article:last-child{border-inline-end:0;}
.pd-benefits small{font-size:11px;color:var(--pd-blue);}
.pd-benefits b{display:block;font-size:14px;margin:18px 0 8px;}
.pd-benefits p{font-size:12px;line-height:1.8;margin:0;color:#60737a;}

.pd-technical{background:var(--pd-navy);color:#fff;padding:clamp(64px,8vw,105px) 0;}
.pd-section-head{
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:24px;
	margin-bottom:36px;
	flex-wrap:wrap;
}
.pd-section-head > p{max-width:430px;font-size:13px;line-height:2;color:#6b7e84;margin:0;}
.pd-tabs{display:flex;border:1px solid #496069;padding:4px;flex-wrap:wrap;}
.pd-tabs button{
	border:0;
	background:transparent;
	color:#9fb1b6;
	padding:11px 17px;
	font-size:12px;
	cursor:pointer;
}
.pd-tabs button.is-active,
.pd-tabs button[aria-selected="true"]{
	background:var(--pd-lime);
	color:var(--pd-navy);
}
.pd-tabs button:focus-visible{
	outline:2px solid var(--pd-lime);
	outline-offset:2px;
}
.pd-spec-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	border-top:1px solid #3b5660;
	border-inline-start:1px solid #3b5660;
}
.pd-spec-grid > div{
	min-height:72px;
	display:grid;
	grid-template-columns:35px minmax(0,1fr) minmax(0,1fr);
	align-items:center;
	gap:8px;
	border-inline-end:1px solid #3b5660;
	border-bottom:1px solid #3b5660;
	padding:12px 18px;
}
.pd-spec-grid small{font-size:11px;color:#6e878e;}
.pd-spec-grid span{font-size:12px;color:#a9bbc0;}
.pd-spec-grid b{font-size:13px;text-align:start;color:#fff;word-break:break-word;}
.pd-test-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:12px;
	margin-top:18px;
}
.pd-technical.is-tabs-enhanced [data-product-tabpanel][hidden]{display:none !important;}
.pd-test-grid article{
	border:1px solid #3b5660;
	padding:18px;
	min-height:140px;
}
.pd-test-grid small{display:block;font-size:11px;color:var(--pd-lime);margin-bottom:10px;}
.pd-test-grid b{display:block;font-size:14px;margin-bottom:10px;}
.pd-test-grid span{font-size:12px;color:#9fb1b6;}

.pd-applications{padding:clamp(64px,8vw,110px) 0;background:#f4f7f5;}
.pd-app-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:1px;
	background:#cfd9d5;
}
.pd-app-card{
	background:#fff;
	min-height:320px;
	padding:25px;
	position:relative;
	overflow:hidden;
	color:inherit;
	text-decoration:none;
	display:flex;
	flex-direction:column;
	min-width:0;
}
.pd-app-card > span{font-size:11px;color:#8a9996;}
.pd-app-media{
	aspect-ratio:16 / 10;
	width:100%;
	margin:24px 0 18px;
	position:relative;
	background:linear-gradient(145deg,#f2f6f4,#e1e9e6);
	display:grid;
	place-items:center;
	overflow:hidden;
	padding:14px;
}
.pd-app-media__img,
.pd-app-media img{
	display:block;
	width:auto;
	height:auto;
	max-width:100%;
	max-height:100%;
	object-fit:contain;
	object-position:center;
}
.pd-app-media--icon .pt-icon,
.pd-app-media--icon svg{
	width:42px;
	height:42px;
	color:#5f7774;
}
.pd-app-media--fallback i,
.pd-app-icon i{position:absolute;background:#8fa6a5;}
.pd-app-media--fallback i:nth-child(1),
.pd-app-icon i:nth-child(1){width:2px;height:70%;inset-inline-start:50%;top:15%;}
.pd-app-media--fallback i:nth-child(2),
.pd-app-icon i:nth-child(2){width:55%;height:2px;inset-inline-start:22.5%;top:42%;}
.pd-app-media--fallback i:nth-child(3),
.pd-app-icon i:nth-child(3){
	width:38%;aspect-ratio:1;height:auto;border:2px solid #8fa6a5;background:transparent;border-radius:50%;
	inset-inline-start:31%;top:28%;
}
.pd-app-icon{
	height:110px;
	margin:24px 0;
	position:relative;
	background:linear-gradient(145deg,#f2f6f4,#e1e9e6);
	display:grid;
	place-items:center;
}
.pd-app-card h3{font-size:16px;margin:0 0 8px;line-height:1.45;}
.pd-app-card p{font-size:12px;line-height:1.9;color:#6d7d82;margin:0;flex:1 1 auto;}
.pd-app-card__cta{
	margin-top:auto;
	padding-top:18px;
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-size:12px;
	font-weight:800;
	color:var(--pd-blue,#145be7);
}
.pd-app-card--link:focus-visible{
	outline:2px solid var(--pd-blue,#145be7);
	outline-offset:3px;
}

.pd-tags{
	margin-top:22px;
	padding-top:18px;
	border-top:1px solid #dce4e1;
}
.pd-tags__label{
	display:block;
	font-size:12px;
	font-weight:700;
	color:#5f7278;
	margin-bottom:10px;
}
.pd-tags__list{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}
.pd-tags__link{
	display:inline-flex;
	align-items:center;
	min-height:36px;
	max-width:100%;
	padding:6px 12px;
	border:1px solid #d2ddd9;
	background:#f7faf8;
	color:#16343d;
	font-size:12px;
	font-weight:700;
	line-height:1.4;
	text-decoration:none;
	word-break:break-word;
}
.pd-tags__link:hover{
	border-color:var(--pd-blue,#145be7);
	color:var(--pd-blue,#145be7);
}
.pd-tags__link:focus-visible{
	outline:2px solid var(--pd-blue,#145be7);
	outline-offset:2px;
}

.pd-download{padding:clamp(64px,7vw,95px) 0;background:var(--pd-blue);color:#fff;}
.pd-download-grid{
	display:grid;
	grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
	gap:clamp(28px,6vw,90px);
	align-items:center;
}
.pd-download-grid > div:first-child > p:last-of-type{
	font-size:13px;line-height:2;color:#d9e5ff;max-width:420px;
}
.pd-docs{border-top:1px solid rgba(255,255,255,.4);}
.pd-docs a{
	display:grid;
	grid-template-columns:55px minmax(0,1fr) 25px;
	gap:20px;
	align-items:center;
	padding:22px 5px;
	border-bottom:1px solid rgba(255,255,255,.4);
	color:#fff;
	text-decoration:none;
}
.pd-docs a > span:first-child{
	width:46px;height:46px;border:1px solid #fff;display:grid;place-items:center;font-size:11px;
}
.pd-docs small,
.pd-docs em{display:block;font-size:11px;color:#c9d8fa;font-style:normal;}
.pd-docs b{display:block;font-size:14px;margin:6px 0;}

.pd-related{padding:clamp(48px,6vw,88px) 0;}
.pd-related__all{
	display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;color:var(--pd-blue);text-decoration:none;
}
.pd-related__all:focus-visible{
	outline:2px solid var(--pd-blue);
	outline-offset:3px;
}
.pd-related-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:10px;
	align-items:stretch;
}
.pd-related-grid article{
	border:1px solid #dce4e1;
	background:#fff;
	display:flex;
	flex-direction:column;
	min-width:0;
	height:100%;
}
.pd-related__media{
	aspect-ratio:4 / 3;
	width:100%;
	background:#eef3f1;
	position:relative;
	display:grid;
	place-items:center;
	overflow:hidden;
	padding:clamp(14px,2.2vw,22px);
	text-decoration:none;
}
.pd-related__media span{
	position:absolute;inset-inline-end:14px;top:12px;font-size:11px;color:#81918d;z-index:1;
}
.pd-related__media img,
.pd-related__media .wp-post-image{
	display:block;
	width:auto;
	height:auto;
	max-width:min(100%,220px);
	max-height:100%;
	object-fit:contain;
	object-position:center;
	filter:drop-shadow(0 14px 12px rgba(23,57,67,.12));
}
.pd-related-grid article > small,
.pd-related-grid h3,
.pd-related-grid article > p,
.pd-related-grid article > .pd-related__cta{
	margin-inline:16px;
}
.pd-related-grid article > small{
	display:block;font-size:11px;color:var(--pd-blue);margin-top:16px;
}
.pd-related-grid h3{
	font-size:15px;
	line-height:1.45;
	margin:8px 16px 0;
}
.pd-related-grid h3 a{color:inherit;text-decoration:none;}
.pd-related-grid h3 a:focus-visible,
.pd-related__media:focus-visible,
.pd-related__cta:focus-visible{
	outline:2px solid var(--pd-blue);
	outline-offset:2px;
}
.pd-related-grid article > p{
	font-size:12px;color:#728287;margin:8px 16px 0;flex:1 1 auto;
}
.pd-related-grid article > .pd-related__cta{
	display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;
	margin-top:auto;padding-top:14px;padding-bottom:18px;color:var(--pd-blue);text-decoration:none;
}

.pd-inquiry{padding:clamp(64px,8vw,100px) 0;background:var(--pd-navy);color:#fff;}
.pd-inquiry-grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:clamp(28px,6vw,100px);
}
.pd-inquiry-grid > div > p{font-size:13px;color:#9cb0b5;}
.pd-contact-note{border-top:1px solid #3c5660;margin-top:35px;padding-top:20px;}
.pd-contact-note b,
.pd-contact-note span{display:block;}
.pd-contact-note b{font-size:13px;color:var(--pd-lime);margin-bottom:8px;}
.pd-contact-note span{font-size:12px;color:#91a6ac;}
.pd-inquiry__form-wrap,
.pd-inquiry form,
.pd-inquiry .frm-fluent-form,
.pd-inquiry .ff-el-group{
	color:#16343d;
}
.pd-inquiry__form-wrap{
	background:#fff;
	padding:28px;
}
.pd-inquiry__fallback p{color:#16343d;margin-top:0;}
.pd-inquiry__phone{
	display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:var(--pd-navy);font-weight:700;text-decoration:none;
}
.pd-inquiry .ff-btn-submit,
.pd-inquiry button[type="submit"]{
	min-height:50px;width:100%;border:0;background:var(--pd-lime);color:var(--pd-navy);font-weight:800;cursor:pointer;
}

@media (max-width:1024px){
	.product-stage-grid,
	.pd-overview-grid,
	.pd-download-grid,
	.pd-inquiry-grid{grid-template-columns:1fr;}
	.pd-gallery{padding:30px 0 10px;}
	.pd-summary{padding:24px 0 48px;}
	.pd-spec-grid{grid-template-columns:1fr 1fr;}
	.pd-app-grid{grid-template-columns:1fr 1fr;}
	.pd-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
	.pd-test-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:1279px) and (min-width:1025px){
	.pd-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
	.pd-nav{top:var(--pd-nav-offset);}
	.pd-key-specs{grid-template-columns:1fr 1fr;}
	.pd-key-specs--3 span:last-child{
		grid-column:1 / -1;
		border-top:1px solid #cbd7d3;
		border-inline-end:0;
	}
	.pd-actions{grid-template-columns:1fr;}
	.pd-benefits{grid-template-columns:1fr;}
	.pd-benefits article{border-inline-end:0;border-bottom:1px solid #dce3e0;}
	.pd-benefits article:last-child{border-bottom:0;}
	.pd-spec-grid,
	.pd-app-grid,
	.pd-related-grid,
	.pd-test-grid{grid-template-columns:1fr;}
	.pd-spec-grid > div{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);}
	.pd-main-image{min-height:320px;}
}
@media (max-width:360px){
	.pd-summary h1{font-size:1.45rem;}
	.pd-key-specs{grid-template-columns:1fr;}
	.pd-key-specs span{border-inline-end:0;border-bottom:1px solid #cbd7d3;}
	.pd-key-specs span:last-child{border-bottom:0;}
}

.power-options{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(72px,1fr));
	gap:8px;
	margin:10px 0 16px;
	width:100%;
	max-width:360px;
}
.power-option{
	min-height:52px;
	border:1px solid #cfd9d5;
	background:#fff;
	cursor:pointer;
	font-weight:800;
	font-size:13px;
}
.power-option.is-active,
.power-option[aria-pressed="true"]{
	border-color:var(--pd-blue,#145be7);
	background:#eef4ff;
	color:var(--pd-blue,#145be7);
}
.power-option:focus-visible{
	outline:2px solid var(--pd-blue,#145be7);
	outline-offset:2px;
}
.pd-purchase .variations select.screen-reader-text{
	position:absolute !important;
	width:1px !important;
	height:1px !important;
	padding:0 !important;
	margin:-1px !important;
	overflow:hidden !important;
	clip:rect(0,0,0,0) !important;
	border:0 !important;
}

/* === 0.14.1 corrective patch === */
.pd-main-image__img,
.pd-main-image img{
	width:auto;
	max-width:min(78%,420px);
	height:auto;
	max-height:min(420px,72%);
	object-fit:contain;
}
.pd-app-grid{
	display:grid;
	gap:1px;
	background:#cfd9d5;
}
.pd-app-grid--1{
	grid-template-columns:minmax(0,360px);
	justify-content:start;
	background:transparent;
}
.pd-app-grid--1 .pd-app-card{border:1px solid #cfd9d5;}
.pd-app-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.pd-app-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.pd-app-grid--4,
.pd-app-grid--many{grid-template-columns:repeat(4,minmax(0,1fr));}
.pd-app-grid--many{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}

.woocommerce .pooyatrans-product .pd-purchase .single_add_to_cart_button.button,
.woocommerce .pooyatrans-product .pd-purchase button.single_add_to_cart_button,
.pooyatrans-product .pd-purchase .single_add_to_cart_button{
	background:var(--pd-lime,#c8f43a) !important;
	color:var(--pd-navy,#082934) !important;
	border:0 !important;
	border-radius:0 !important;
	box-shadow:none !important;
	min-height:50px !important;
	padding:0 18px !important;
	font-weight:800 !important;
	width:auto;
	max-width:100%;
}
.pooyatrans-product .pd-purchase .cart{
	display:flex;
	flex-wrap:wrap;
	align-items:stretch;
	gap:10px;
}
.pooyatrans-product .pd-purchase .quantity{
	margin:0 !important;
}
.pooyatrans-product .pd-purchase .quantity .qty{
	min-width:64px;
	min-height:50px;
	width:72px;
}

/* Fluent Forms — scoped product inquiry */
.pd-inquiry__form-wrap .ff-el-input--label label,
.pd-inquiry__form-wrap .ff-el-form-check-label,
.pd-inquiry__form-wrap label{
	font-family:var(--font-sans);
	font-size:12px;
	font-weight:700;
	color:#16343d;
	text-align:right;
}
.pd-inquiry__form-wrap .ff-el-form-control,
.pd-inquiry__form-wrap input[type="text"],
.pd-inquiry__form-wrap input[type="email"],
.pd-inquiry__form-wrap input[type="tel"],
.pd-inquiry__form-wrap textarea{
	min-height:46px;
	border:1px solid #d8e1de !important;
	border-radius:0 !important;
	padding:12px 14px !important;
	font-family:var(--font-sans);
	font-size:13px;
	text-align:right;
	direction:rtl;
	width:100%;
}
.pd-inquiry__form-wrap textarea{min-height:110px;}
.pd-inquiry__form-wrap .ff-btn-submit,
.pd-inquiry__form-wrap button[type="submit"],
.pd-inquiry__form-wrap .ff-btn.ff-btn-submit{
	min-height:50px !important;
	width:100% !important;
	border:0 !important;
	border-radius:0 !important;
	background:var(--pd-lime,#c8f43a) !important;
	color:var(--pd-navy,#082934) !important;
	font-family:var(--font-sans) !important;
	font-weight:800 !important;
	font-size:13px !important;
}
.pd-inquiry__form-wrap .ff-el-is-error .error,
.pd-inquiry__form-wrap .text-danger,
.pd-inquiry__form-wrap .ff-errors-in-stack{
	color:#b42318 !important;
	font-size:12px;
}
.pd-inquiry__form-wrap .ff-message-success{
	background:#daf2e3;
	color:#216b3d;
	padding:12px 14px;
	font-size:13px;
}
.pd-inquiry__form-wrap.is-submitting{opacity:.72;pointer-events:none;}

@media (max-width:1024px){
	.pd-app-grid--3,
	.pd-app-grid--4,
	.pd-app-grid--many{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
	.pd-overview,
	.pd-technical,
	.pd-applications,
	.pd-related,
	.pd-inquiry{padding:52px 0;}
	.pd-download{padding:52px 0;}
	.pd-gallery{padding:18px 0 8px;}
	.pd-summary,
	.pooyatrans-product .summary.entry-summary,
	.pooyatrans-product .pd-summary{padding:18px 0 36px !important;}
	.pd-main-image{min-height:260px;}
	.pd-section-head{margin-bottom:22px;}
	.pd-overview-grid{gap:22px;}
	.pd-benefits{margin-top:22px;}
	.pd-app-grid--1,
	.pd-app-grid--2,
	.pd-app-grid--3,
	.pd-app-grid--4,
	.pd-app-grid--many{grid-template-columns:1fr;}
	.pd-related-grid{gap:10px;}
	.pd-inquiry-grid{gap:28px;}
	.pd-inquiry__form-wrap{padding:20px;}
	.pooyatrans-product .pd-purchase .single_add_to_cart_button{
		flex:1 1 auto;
		min-width:min(100%,180px);
	}
	.pooyatrans-product #inquiry{
		padding-bottom:calc(52px + 72px + env(safe-area-inset-bottom,0px));
	}
}
@media (max-width:390px){
	.pd-assurance{gap:8px;}
	.pd-key-specs span{padding:14px 12px;}
	.pd-actions{gap:8px;}
	.pd-action-btn{min-height:46px;font-size:11px;}
}

/* Dark-section heading contrast (0.14.1) — defeat global h2 color */
.pooyatrans-product .pd-technical h2,
.pooyatrans-product .pd-technical .pd-section-head h2,
.woocommerce .pooyatrans-product .pd-technical h2{
	color:#ffffff !important;
}
.pooyatrans-product .pd-download h2,
.pooyatrans-product .pd-download .pd-section-head h2,
.woocommerce .pooyatrans-product .pd-download h2{
	color:#ffffff !important;
}
.pooyatrans-product .pd-inquiry h2,
.woocommerce .pooyatrans-product .pd-inquiry h2{
	color:#ffffff !important;
}
.pooyatrans-product .pd-technical .section-no,
.pooyatrans-product .pd-technical .section-no.light{color:#b7c8cd !important;}
.pooyatrans-product .pd-download .section-no,
.pooyatrans-product .pd-download .section-no.light{color:#d7e4ff !important;}
.pooyatrans-product .pd-inquiry .section-no,
.pooyatrans-product .pd-inquiry .section-no.light{color:#b7c8cd !important;}
.pooyatrans-product .pd-inquiry [data-product-inquiry-selection]{color:#c5d4d8 !important;}
.pooyatrans-product .pd-download-grid > div:first-child > p:last-of-type{color:#d9e5ff !important;}
.pooyatrans-product .pd-docs small,
.pooyatrans-product .pd-docs em{color:#c9d8fa !important;}
.pooyatrans-product .pd-docs b{color:#ffffff !important;}
.pooyatrans-product .pd-tabs button{color:#c2d0d4 !important;}
.pooyatrans-product .pd-tabs button.is-active,
.pooyatrans-product .pd-tabs button[aria-selected="true"]{color:var(--pd-navy,#082934) !important;}
