/* Preptec Modern Commerce Website — complete front-end presentation */
:root {
	--ptx-blue: #005eb8;
	--ptx-blue-dark: #004989;
	--ptx-navy: #071827;
	--ptx-navy-soft: #102c43;
	--ptx-gold: #c99a3d;
	--ptx-bg: #f5f8fc;
	--ptx-soft-blue: #eaf3fb;
	--ptx-white: #ffffff;
	--ptx-text: #172b3b;
	--ptx-muted: #627487;
	--ptx-line: #dce6ef;
	--ptx-success: #237a46;
	--ptx-danger: #b42318;
	--ptx-radius: 16px;
	--ptx-shadow: 0 18px 45px rgba(7, 24, 39, .09);
	--ptx-font: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html {
	scroll-behavior: smooth;
}

body.preptec-modern-site {
	margin: 0;
	overflow-x: hidden;
	background: var(--ptx-white);
	color: var(--ptx-text);
	font-family: var(--ptx-font);
	font-size: 16px;
	line-height: 1.65;
}

body.preptec-modern-site.ptx-lock-scroll {
	overflow: hidden;
}

body.preptec-modern-site *,
body.preptec-modern-site *::before,
body.preptec-modern-site *::after {
	box-sizing: border-box;
}

body.preptec-modern-site img {
	max-width: 100%;
}

body.preptec-modern-site a {
	text-decoration-thickness: .08em;
	text-underline-offset: .2em;
}

body.preptec-modern-site button,
body.preptec-modern-site input,
body.preptec-modern-site select,
body.preptec-modern-site textarea {
	font: inherit;
}

body.preptec-modern-site :where(h1, h2, h3, h4) {
	color: var(--ptx-navy);
	font-family: var(--ptx-font);
	font-weight: 800;
	letter-spacing: -.035em;
}

body.preptec-modern-site p {
	font-family: var(--ptx-font);
}

body.preptec-modern-site .preptec-home p {
	font-family: "Manrope", Arial, sans-serif;
}

body.preptec-modern-site .preptec-contact p {
	font-family: "Inter", Arial, sans-serif;
}

/* Leave Blocksy settings intact but replace its visible shell. */
body.preptec-modern-site #main-container > #header.ct-header,
body.preptec-modern-site #main-container > #footer.ct-footer,
body.preptec-modern-site #offcanvas.ct-panel.ct-header,
body.preptec-modern-site > #header.ct-header,
body.preptec-modern-site > #footer.ct-footer {
	display: none !important;
}

body.preptec-modern-site > a.skip-link.screen-reader-text {
	display: none !important;
}

/* Obsolete snippet output is suppressed as a fallback during cache turnover. */
body.preptec-modern-site .preptec-ultra-shop,
body.preptec-modern-site .preptec-single-topbar,
body.preptec-modern-site .preptec-single-badges,
body.preptec-modern-site .preptec-single-trust,
body.preptec-modern-site .preptec-smart-help,
body.preptec-modern-site #preptec-search-modal,
body.preptec-modern-site #preptec-added-drawer,
body.preptec-modern-site .preptec-card-meta-line,
body.preptec-modern-site .preptec-category-search,
body.preptec-modern-site .preptec-diamond-guide,
body.preptec-modern-site .preptec-home > .pt-footer,
body.preptec-modern-site .pt-mobile-bottom-bar {
	display: none !important;
}

body.preptec-modern-site.ptx-replaced-page .hero-section,
body.preptec-modern-site.ptx-replaced-page .entry-header,
body.preptec-modern-site.ptx-product-search .hero-section,
body.preptec-modern-site.woocommerce-cart .hero-section,
body.preptec-modern-site.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .hero-section,
body.preptec-modern-site.woocommerce-account.logged-in .hero-section,
body.preptec-modern-site.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .hero-section,
body.preptec-modern-site.post-type-archive-product .hero-section,
body.preptec-modern-site.tax-product_cat .hero-section,
body.preptec-modern-site.tax-product_tag .hero-section {
	display: none !important;
}

.ptx-container {
	width: min(1280px, calc(100% - 48px));
	margin-right: auto;
	margin-left: auto;
}

.ptx-section {
	padding: 88px 0;
}

.ptx-kicker {
	margin: 0 0 12px !important;
	color: var(--ptx-blue) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: .15em !important;
	line-height: 1.3 !important;
	text-transform: uppercase !important;
}

.ptx-button,
body.preptec-modern-site .woocommerce a.button,
body.preptec-modern-site .woocommerce button.button,
body.preptec-modern-site .woocommerce input.button,
body.preptec-modern-site .woocommerce #respond input#submit {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	padding: 0 22px;
	border: 1px solid var(--ptx-blue) !important;
	border-radius: 10px !important;
	background: var(--ptx-blue) !important;
	box-shadow: none !important;
	color: #fff !important;
	cursor: pointer;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-align: center;
	text-decoration: none !important;
	transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.ptx-button:hover,
body.preptec-modern-site .woocommerce a.button:hover,
body.preptec-modern-site .woocommerce button.button:hover,
body.preptec-modern-site .woocommerce input.button:hover,
body.preptec-modern-site .woocommerce #respond input#submit:hover {
	border-color: var(--ptx-blue-dark) !important;
	background: var(--ptx-blue-dark) !important;
	transform: translateY(-1px);
}

.ptx-button-outline {
	border-color: var(--ptx-line) !important;
	background: #fff !important;
	color: var(--ptx-navy) !important;
}

.ptx-button-light {
	border-color: #fff !important;
	background: #fff !important;
	color: var(--ptx-navy) !important;
}

.ptx-text-link {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: 8px;
	color: var(--ptx-navy);
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.ptx-text-link svg,
.ptx-department-tile i svg,
.ptx-mega-all svg {
	width: 18px;
	height: 18px;
}

.ptx-site-header svg,
.ptx-site-footer svg,
.ptx-home svg,
.ptx-text-link svg,
.ptx-department-tile svg,
.ptx-standard-page svg,
.ptx-mobile-actions svg {
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.ptx-skip-link {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 100000;
	padding: 10px 14px;
	transform: translateY(-160%);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--ptx-shadow);
	color: var(--ptx-navy);
	font-weight: 800;
}

.ptx-skip-link:focus {
	transform: translateY(0);
}

/* Header */
.ptx-site-header {
	position: relative;
	z-index: 9990;
	width: 100%;
	border-bottom: 1px solid var(--ptx-line);
	background: #fff;
	font-family: var(--ptx-font);
}

.ptx-topbar {
	min-height: 34px;
	background: var(--ptx-navy);
	color: #fff;
}

.ptx-topbar-inner {
	display: flex;
	min-height: 34px;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.ptx-topbar p {
	margin: 0;
	color: rgba(255, 255, 255, .77);
	font-size: 12px;
	font-weight: 600;
}

.ptx-topbar-inner > div {
	display: flex;
	align-items: center;
	gap: 22px;
}

.ptx-topbar a {
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

.ptx-mainbar-inner {
	display: grid;
	min-height: 82px;
	grid-template-columns: 238px minmax(320px, 1fr) auto;
	align-items: center;
	gap: 34px;
}

.ptx-logo {
	display: block;
	line-height: 0;
}

.ptx-logo img {
	display: block;
	width: 228px;
	height: auto;
}

.ptx-utility-nav {
	display: flex;
	align-items: stretch;
	gap: 10px;
}

.ptx-utility-nav > a {
	position: relative;
	display: flex;
	min-height: 48px;
	align-items: center;
	gap: 10px;
	padding: 5px 10px;
	border-radius: 10px;
	color: var(--ptx-navy);
	text-decoration: none;
}

.ptx-utility-nav > a:hover {
	background: var(--ptx-bg);
}

.ptx-utility-nav svg,
.ptx-menu-button svg,
.ptx-mobile-actions svg,
.ptx-drawer-head svg,
.ptx-search-overlay-card > button svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.ptx-utility-nav span {
	display: flex;
	flex-direction: column;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
}

.ptx-utility-nav small {
	margin-bottom: 2px;
	color: var(--ptx-muted);
	font-size: 10px;
	font-weight: 600;
}

.ptx-utility-nav b {
	font: inherit;
}

.ptx-cart-link > i,
.ptx-mobile-actions a > i {
	position: absolute;
	top: 2px;
	left: 27px;
	display: flex;
	width: 19px;
	height: 19px;
	align-items: center;
	justify-content: center;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--ptx-gold);
	color: var(--ptx-navy);
	font-size: 10px;
	font-style: normal;
	font-weight: 800;
}

.ptx-search-form {
	position: relative;
	display: grid;
	width: 100%;
	grid-template-columns: 46px 1fr auto;
	align-items: center;
	border: 1px solid #cbd9e4;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 3px 12px rgba(7, 24, 39, .04);
}

.ptx-search-form:focus-within {
	border-color: var(--ptx-blue);
	box-shadow: 0 0 0 3px rgba(0, 94, 184, .12);
}

.ptx-search-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ptx-blue);
}

.ptx-search-icon svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.8;
}

.ptx-search-form input[type="search"] {
	width: 100%;
	min-width: 0;
	height: 48px;
	padding: 0 10px 0 0 !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--ptx-navy);
	font-size: 14px;
}

.ptx-search-form > button {
	min-width: 88px;
	height: 40px;
	margin-right: 4px;
	padding: 0 17px;
	border: 0;
	border-radius: 9px;
	background: var(--ptx-blue);
	color: #fff;
	cursor: pointer;
	font-size: 13px;
	font-weight: 800;
}

.ptx-search-results {
	position: absolute;
	top: calc(100% + 9px);
	right: 0;
	left: 0;
	z-index: 9995;
	overflow-x: hidden;
	overflow-y: auto;
	max-height: 520px;
	max-height: min(520px, calc(100dvh - 150px));
	overscroll-behavior: contain;
	padding: 7px;
	border: 1px solid var(--ptx-line);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 24px 65px rgba(7, 24, 39, .2);
}

.ptx-search-results[hidden] {
	display: none !important;
}

.ptx-search-result {
	display: grid;
	min-height: 74px;
	grid-template-columns: 60px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	padding: 7px;
	border-radius: 9px;
	color: var(--ptx-navy);
	text-decoration: none;
}

.ptx-search-result:hover,
.ptx-search-result.is-active {
	background: var(--ptx-bg);
}

.ptx-search-result img {
	width: 60px;
	height: 60px;
	object-fit: contain;
	border: 1px solid var(--ptx-line);
	border-radius: 8px;
	background: #fff;
}

.ptx-search-result-copy {
	min-width: 0;
}

.ptx-search-result strong {
	display: -webkit-box;
	overflow: hidden;
	color: var(--ptx-navy);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ptx-search-result small {
	display: block;
	margin-top: 3px;
	color: var(--ptx-muted);
	font-size: 11px;
}

.ptx-search-result-price {
	color: var(--ptx-blue);
	font-size: 12px;
	font-weight: 800;
	text-align: right;
}

.ptx-search-message,
.ptx-search-all {
	display: block;
	padding: 14px;
	color: var(--ptx-muted);
	font-size: 13px;
	text-align: center;
}

.ptx-search-all {
	border-top: 1px solid var(--ptx-line);
	color: var(--ptx-blue);
	font-weight: 800;
	text-decoration: none;
}

.ptx-navrow {
	border-top: 1px solid var(--ptx-line);
	background: #fff;
}

.ptx-navrow-inner {
	display: flex;
	min-height: 48px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.ptx-primary-nav {
	display: flex;
	min-width: 0;
	align-items: stretch;
	gap: 3px;
}

.ptx-primary-nav > a,
.ptx-primary-nav > .ptx-mega-wrap > button {
	display: flex;
	min-height: 47px;
	align-items: center;
	gap: 6px;
	padding: 0 15px;
	border: 0;
	background: transparent;
	color: var(--ptx-navy);
	cursor: pointer;
	font-size: 13px;
	font-weight: 750;
	text-decoration: none;
}

.ptx-primary-nav > a:hover,
.ptx-primary-nav > .ptx-mega-wrap > button:hover,
.ptx-primary-nav > .ptx-mega-wrap > button[aria-expanded="true"] {
	background: var(--ptx-bg);
	color: var(--ptx-blue);
}

.ptx-mega-wrap {
	position: static;
}

.ptx-mega-wrap button svg,
.ptx-drawer-group button svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	transition: transform .18s ease;
}

.ptx-mega-wrap button[aria-expanded="true"] svg,
.ptx-drawer-group button[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.ptx-mega-menu {
	position: absolute;
	top: 100%;
	right: max(24px, calc((100vw - 1280px) / 2));
	left: max(24px, calc((100vw - 1280px) / 2));
	z-index: 9994;
	padding: 30px;
	transform: translateY(8px);
	border: 1px solid var(--ptx-line);
	border-radius: 0 0 16px 16px;
	background: #fff;
	box-shadow: 0 30px 70px rgba(7, 24, 39, .18);
	opacity: 0;
	pointer-events: none;
	transition: opacity .16s ease, transform .16s ease;
	visibility: hidden;
}

.ptx-mega-menu.is-open {
	transform: translateY(0);
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.ptx-mega-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px 34px;
}

.ptx-mega-grid section {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.ptx-mega-grid a {
	color: var(--ptx-muted);
	font-size: 12px;
	line-height: 1.4;
	text-decoration: none;
}

.ptx-mega-grid a:hover {
	color: var(--ptx-blue);
}

.ptx-mega-title {
	margin-bottom: 4px;
	color: var(--ptx-navy) !important;
	font-size: 14px !important;
	font-weight: 800;
}

.ptx-mega-all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 25px;
	color: var(--ptx-blue);
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.ptx-nav-call {
	flex: 0 0 auto;
	color: var(--ptx-muted);
	font-size: 12px;
	text-decoration: none;
}

.ptx-nav-call strong {
	color: var(--ptx-blue);
}

.ptx-menu-button,
.ptx-mobile-search-row,
.ptx-mobile-actions {
	display: none;
}

/* Drawer and full-screen search */
.ptx-screen {
	position: fixed;
	z-index: 9996;
	inset: 0;
	background: rgba(7, 24, 39, .58);
	backdrop-filter: blur(2px);
}

.ptx-screen[hidden],
.ptx-search-overlay[hidden] {
	display: none !important;
}

.ptx-mobile-drawer {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 9998;
	display: flex;
	width: min(92vw, 410px);
	flex-direction: column;
	transform: translateX(-102%);
	background: #fff;
	box-shadow: 22px 0 65px rgba(7, 24, 39, .25);
	opacity: 0;
	pointer-events: none;
	transition: transform .22s ease, opacity .18s ease, visibility 0s linear .22s;
	visibility: hidden;
}

.ptx-mobile-drawer.is-open {
	transform: translateX(0);
	opacity: 1;
	pointer-events: auto;
	transition-delay: 0s;
	visibility: visible;
}

.ptx-drawer-head {
	display: flex;
	min-height: 72px;
	align-items: center;
	justify-content: space-between;
	padding: calc(12px + env(safe-area-inset-top, 0px)) 18px 12px;
	border-bottom: 1px solid var(--ptx-line);
}

.ptx-drawer-head img {
	width: 205px;
	height: auto;
}

.ptx-drawer-head button,
.ptx-search-overlay-card > button {
	display: flex;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 10px;
	background: var(--ptx-bg);
	color: var(--ptx-navy);
	cursor: pointer;
}

.ptx-drawer-search {
	padding: 14px 16px;
	border-bottom: 1px solid var(--ptx-line);
}

.ptx-drawer-search .ptx-search-form > button {
	display: none;
}

.ptx-drawer-search .ptx-search-form {
	grid-template-columns: 42px 1fr;
}

.ptx-drawer-links {
	overflow-y: auto;
	flex: 1;
	padding: 8px 16px 20px;
}

.ptx-drawer-links > a,
.ptx-drawer-group > button {
	display: flex;
	width: 100%;
	min-height: 50px;
	align-items: center;
	justify-content: space-between;
	padding: 0 3px;
	border: 0;
	border-bottom: 1px solid var(--ptx-line);
	background: transparent;
	color: var(--ptx-navy);
	cursor: pointer;
	font-size: 14px;
	font-weight: 750;
	text-align: left;
	text-decoration: none;
}

.ptx-drawer-group > div {
	display: grid;
	padding: 4px 0 10px 14px;
}

.ptx-drawer-group > div[hidden] {
	display: none;
}

.ptx-drawer-group > div a {
	padding: 9px 0;
	color: var(--ptx-muted);
	font-size: 13px;
	line-height: 1.35;
	text-decoration: none;
}

.ptx-drawer-group > div .ptx-drawer-view-all {
	color: var(--ptx-blue);
	font-weight: 800;
}

.ptx-drawer-contact {
	display: grid;
	gap: 5px;
	padding: 17px 18px calc(17px + env(safe-area-inset-bottom, 0px));
	background: var(--ptx-navy);
}

.ptx-drawer-contact a {
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.ptx-search-overlay {
	position: fixed;
	z-index: 10000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	inset: 0;
	padding: max(12vh, calc(env(safe-area-inset-top, 0px) + 24px)) 20px max(20px, env(safe-area-inset-bottom, 0px));
	background: rgba(7, 24, 39, .78);
	backdrop-filter: blur(5px);
}

.ptx-search-overlay-card {
	position: relative;
	width: min(760px, 100%);
	padding: 38px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 35px 90px rgba(0, 0, 0, .34);
}

.ptx-search-overlay-card > button {
	position: absolute;
	top: 14px;
	right: 14px;
}

.ptx-search-overlay-card > p {
	margin: 0;
	color: var(--ptx-blue);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.ptx-search-overlay-card h2 {
	margin: 5px 0 22px;
	font-size: clamp(30px, 5vw, 48px);
}

/* Homepage */
.ptx-home,
.ptx-standard-page,
.ptx-seo-shell,
.ptx-shop-hero,
.ptx-shop-departments {
	width: 100vw;
	max-width: 100vw;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

.ptx-home {
	overflow: visible;
	background: #fff;
}

.ptx-home-hero {
	position: relative;
	display: flex;
	min-height: 670px;
	align-items: center;
	background-color: var(--ptx-navy);
	background-image: var(--ptx-hero-image);
	background-position: center 44%;
	background-size: cover;
	color: #fff;
}

.ptx-home-hero-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(7, 24, 39, .95) 0%, rgba(7, 24, 39, .82) 40%, rgba(7, 24, 39, .2) 76%, rgba(7, 24, 39, .06) 100%);
}

.ptx-home-hero-content {
	position: relative;
	z-index: 2;
	padding-top: 76px;
	padding-bottom: 76px;
}

.ptx-home-hero .ptx-kicker {
	color: #8ec8ff !important;
}

.ptx-home-hero h1 {
	max-width: 820px;
	margin: 0;
	color: #fff !important;
	font-size: clamp(48px, 5.8vw, 80px);
	letter-spacing: -.055em;
	line-height: 1;
}

.ptx-home-hero-content > p:not(.ptx-kicker) {
	max-width: 630px;
	margin: 22px 0 0;
	color: rgba(255, 255, 255, .84);
	font-size: 18px;
	line-height: 1.55;
}

.ptx-hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 30px;
}

.ptx-home-hero-call {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	gap: 8px;
	padding: 0 8px;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.ptx-home-hero-call strong {
	font-size: 14px;
	font-weight: 800;
}

.ptx-hero-search {
	width: min(700px, 100%);
	margin-top: 34px;
}

.ptx-hero-search .ptx-search-form {
	border: 0;
	box-shadow: 0 18px 44px rgba(0, 0, 0, .25);
}

.ptx-hero-search .ptx-search-form input[type="search"] {
	height: 58px;
	font-size: 15px;
}

.ptx-hero-search .ptx-search-form > button {
	height: 50px;
}

.ptx-home-trust {
	border-bottom: 1px solid var(--ptx-line);
	background: #fff;
}

.ptx-home-trust .ptx-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.ptx-home-trust .ptx-container > div {
	display: flex;
	min-height: 92px;
	flex-direction: column;
	justify-content: center;
	padding: 16px 30px;
	border-right: 1px solid var(--ptx-line);
}

.ptx-home-trust .ptx-container > div:first-child {
	border-left: 1px solid var(--ptx-line);
}

.ptx-home-trust strong {
	color: var(--ptx-navy);
	font-size: 18px;
	font-weight: 800;
}

.ptx-home-trust span {
	margin-top: 2px;
	color: var(--ptx-muted);
	font-size: 12px;
}

.ptx-home-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 34px;
}

.ptx-home-section-head h2 {
	margin: 0;
	font-size: clamp(38px, 4.4vw, 58px);
	line-height: 1.02;
}

.ptx-home-departments {
	background: var(--ptx-bg);
}

.ptx-department-mosaic {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 14px;
}

.ptx-department-tile {
	position: relative;
	display: block;
	overflow: hidden;
	min-height: 250px;
	grid-column: span 4;
	border-radius: 18px;
	background: var(--ptx-navy);
	box-shadow: 0 12px 30px rgba(7, 24, 39, .08);
	color: #fff;
	text-decoration: none;
	isolation: isolate;
	transition: box-shadow .22s ease, transform .22s ease;
}

body.preptec-modern-site .preptec-home a.ptx-department-tile,
body.preptec-modern-site .preptec-home .ptx-department-tile-label i {
	color: #fff;
}

body.preptec-modern-site .preptec-home a.ptx-text-link {
	color: var(--ptx-blue);
}

.ptx-department-tile:nth-child(-n+2) {
	min-height: 310px;
	grid-column: span 6;
}

.ptx-department-tile:nth-child(n+6) {
	min-height: 235px;
	grid-column: span 6;
}

.ptx-department-tile:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 48px rgba(7, 24, 39, .16);
}

.ptx-department-tile::after {
	position: absolute;
	inset: 28% 0 0;
	z-index: -1;
	content: "";
	background: linear-gradient(0deg, rgba(7, 24, 39, .96) 0%, rgba(7, 24, 39, .54) 44%, rgba(7, 24, 39, 0) 100%);
}

.ptx-department-tile-media {
	position: absolute;
	inset: 0;
	z-index: -2;
	display: block;
	background: #dfe8ef;
}

.ptx-department-tile-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.ptx-department-tile-packshot .ptx-department-tile-media {
	background: #eef3f7;
}

.ptx-department-tile-packshot .ptx-department-tile-media img {
	padding: clamp(16px, 3vw, 36px);
	object-fit: contain;
}

.ptx-department-tile:hover img {
	transform: scale(1.035);
}

.ptx-department-tile-packshot:hover img {
	transform: scale(1.015);
}

.ptx-department-tile-label {
	position: absolute;
	right: 22px;
	bottom: 20px;
	left: 22px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.ptx-department-tile-label strong {
	max-width: 82%;
	color: #fff;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1.15;
}

.ptx-department-tile-label i {
	display: flex;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, .42);
	border-radius: 50%;
	background: rgba(7, 24, 39, .28);
	font-style: normal;
}

.ptx-home-brands {
	padding: 30px 0;
	background: var(--ptx-navy);
}

.ptx-home-brands-inner {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	align-items: center;
	gap: 28px;
}

.ptx-home-brands-inner > p {
	margin: 0;
	color: rgba(255, 255, 255, .72);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ptx-brand-links {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.ptx-brand-links a {
	display: flex;
	min-height: 56px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 12px;
	background: rgba(255, 255, 255, .07);
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
}

.ptx-brand-links a:hover {
	background: rgba(255, 255, 255, .13);
}

.ptx-home-support {
	background: #fff;
}

.ptx-home-support-card {
	display: grid;
	overflow: hidden;
	grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
	align-items: stretch;
	border-radius: 22px;
	background: var(--ptx-navy);
	box-shadow: 0 24px 60px rgba(7, 24, 39, .16);
}

.ptx-sales-representative-card {
	width: 100%;
	max-width: 1120px;
	grid-template-columns: minmax(320px, 380px) minmax(0, 1fr);
	margin-right: auto;
	margin-left: auto;
	border: 1px solid rgba(255, 255, 255, .08);
	background: linear-gradient(125deg, var(--ptx-navy) 0%, var(--ptx-navy-soft) 100%);
}

.ptx-home-support-card .ptx-trade-support-image {
	height: 100%;
	min-height: 420px;
}

.ptx-sales-representative-card .ptx-trade-support-image {
	min-height: 460px;
}

.ptx-home-support-card .ptx-trade-support-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ptx-sales-representative-card .ptx-trade-support-image img {
	object-position: center 20%;
}

.ptx-home-support-copy {
	padding: clamp(36px, 5vw, 68px);
}

.ptx-home-support-copy h2 {
	max-width: 680px;
	margin: 0;
	color: #fff !important;
	font-size: clamp(38px, 4.6vw, 60px);
	line-height: 1.05;
}

.ptx-sales-role {
	margin: 10px 0 0 !important;
	color: #8ec8ff;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.4;
}

.ptx-sales-summary {
	max-width: 590px;
	margin: 19px 0 0 !important;
	color: rgba(255, 255, 255, .76);
	font-size: 16px;
	line-height: 1.65;
}

.ptx-sales-contact {
	display: grid;
	max-width: 650px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 28px;
}

.ptx-sales-contact a {
	display: grid;
	min-width: 0;
	min-height: 78px;
	align-content: center;
	gap: 4px;
	padding: 15px 18px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 12px;
	background: rgba(255, 255, 255, .07);
	color: #fff;
	text-decoration: none;
	transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.ptx-sales-contact a:hover {
	border-color: rgba(255, 255, 255, .34);
	background: rgba(255, 255, 255, .12);
	transform: translateY(-1px);
}

.ptx-sales-contact .ptx-sales-contact-primary {
	border-color: var(--ptx-blue);
	background: var(--ptx-blue);
}

.ptx-sales-contact .ptx-sales-contact-primary:hover {
	border-color: var(--ptx-blue-dark);
	background: var(--ptx-blue-dark);
}

.ptx-sales-contact span {
	color: rgba(255, 255, 255, .62);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.ptx-sales-contact strong {
	min-width: 0;
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.ptx-about-story {
	max-width: 1040px;
}

.ptx-about-story h2 {
	max-width: 820px;
	margin: 0;
	font-size: clamp(36px, 4.3vw, 58px);
	line-height: 1.05;
}

.ptx-about-story-copy {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px;
	margin-top: 24px;
}

.ptx-about-story-copy p {
	margin: 0;
	color: var(--ptx-muted);
	font-size: 16px;
	line-height: 1.75;
}

.ptx-about-sales {
	padding-top: 0;
	background: #fff;
}

.ptx-story-grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: clamp(40px, 6vw, 92px);
}

.ptx-story-grid > img {
	display: block;
	width: 100%;
	max-height: 560px;
	object-fit: cover;
	border-radius: var(--ptx-radius);
	box-shadow: var(--ptx-shadow);
}

.ptx-story-grid h2 {
	margin: 0;
	font-size: clamp(36px, 4.3vw, 58px);
	line-height: 1.05;
}

.ptx-story-grid p {
	margin: 20px 0 0;
	color: var(--ptx-muted);
}

.ptx-support-contact {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-top: 20px;
}

.ptx-support-contact a {
	color: var(--ptx-blue);
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.ptx-advice-section {
	padding-top: 0;
}

.ptx-advice-card {
	display: flex;
	min-height: 235px;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
	padding: 48px 54px;
	border: 1px solid var(--ptx-line);
	border-radius: var(--ptx-radius);
	background: var(--ptx-bg);
}

.ptx-advice-card h2 {
	max-width: 770px;
	margin: 0;
	font-size: clamp(30px, 3.8vw, 48px);
	line-height: 1.08;
}

.ptx-advice-card p:not(.ptx-kicker) {
	max-width: 760px;
	margin: 15px 0 0;
	color: var(--ptx-muted);
}

.ptx-advice-actions {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	gap: 10px;
}

/* Standard pages */
.ptx-standard-page {
	overflow: hidden;
	background: #fff;
}

.ptx-page-hero {
	padding: 84px 0 82px;
	background: var(--ptx-navy);
	color: #fff;
}

.ptx-page-hero h1 {
	max-width: 920px;
	margin: 0;
	color: #fff !important;
	font-size: clamp(46px, 6vw, 76px);
	line-height: 1;
}

.ptx-page-hero .ptx-kicker {
	color: #8ec8ff !important;
}

.ptx-page-hero p:not(.ptx-kicker) {
	max-width: 790px;
	margin: 23px 0 0;
	color: rgba(255, 255, 255, .77);
	font-size: 18px;
}

.ptx-contact-grid {
	display: grid;
	grid-template-columns: minmax(280px, .65fr) minmax(0, 1.35fr);
	gap: clamp(45px, 7vw, 100px);
}

.ptx-contact-details {
	display: grid;
	align-content: start;
	gap: 18px;
}

.ptx-contact-details > div {
	padding: 24px;
	border: 1px solid var(--ptx-line);
	border-radius: 12px;
	background: var(--ptx-bg);
}

.ptx-contact-details small {
	display: block;
	margin-bottom: 7px;
	color: var(--ptx-blue);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.ptx-contact-details a,
.ptx-contact-details strong {
	display: block;
	color: var(--ptx-navy);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.45;
	text-decoration: none;
}

.ptx-contact-details p {
	margin: 8px 0 0;
	color: var(--ptx-muted);
	font-size: 13px;
}

.ptx-contact-details p a {
	display: inline;
	color: var(--ptx-blue);
	font-size: 12px;
	font-weight: 800;
}

.ptx-contact-form,
.ptx-poa-panel {
	padding: clamp(26px, 4vw, 45px);
	border: 1px solid var(--ptx-line);
	border-radius: var(--ptx-radius);
	background: #fff;
	box-shadow: var(--ptx-shadow);
}

.ptx-form-heading h2,
.ptx-poa-heading h2 {
	margin: 0 0 24px;
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.08;
}

.ptx-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.ptx-contact-form label,
.ptx-poa-panel label {
	display: block;
	margin-bottom: 16px;
	color: var(--ptx-navy);
	font-size: 12px;
	font-weight: 800;
}

.ptx-contact-form input,
.ptx-contact-form textarea,
.ptx-poa-panel input,
.ptx-poa-panel textarea {
	display: block;
	width: 100%;
	min-height: 50px;
	margin-top: 7px;
	padding: 12px 14px !important;
	border: 1px solid #c9d6e1 !important;
	border-radius: 9px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--ptx-text) !important;
	font-size: 14px;
	font-weight: 500;
}

.ptx-contact-form textarea,
.ptx-poa-panel textarea {
	resize: vertical;
}

.ptx-contact-form input:focus,
.ptx-contact-form textarea:focus,
.ptx-poa-panel input:focus,
.ptx-poa-panel textarea:focus {
	border-color: var(--ptx-blue) !important;
	outline: 3px solid rgba(0, 94, 184, .11) !important;
}

.ptx-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.ptx-form-status {
	min-height: 22px;
	margin: 12px 0 0;
	color: var(--ptx-muted);
	font-size: 13px;
}

.ptx-form-status.is-success {
	color: var(--ptx-success);
	font-weight: 700;
}

.ptx-form-status.is-error {
	color: var(--ptx-danger);
	font-weight: 700;
}

.ptx-app-steps,
.ptx-value-grid,
.ptx-info-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.ptx-app-steps article,
.ptx-value-grid article,
.ptx-info-grid article {
	padding: 32px;
	border: 1px solid var(--ptx-line);
	border-radius: var(--ptx-radius);
	background: #fff;
}

.ptx-app-steps span,
.ptx-value-grid span,
.ptx-info-grid span {
	color: var(--ptx-blue);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .14em;
}

.ptx-app-steps h2,
.ptx-value-grid h2,
.ptx-info-grid h2 {
	margin: 16px 0 9px;
	font-size: 22px;
	line-height: 1.25;
}

.ptx-app-steps p,
.ptx-value-grid p,
.ptx-info-grid p {
	margin: 0;
	color: var(--ptx-muted);
	font-size: 14px;
}

.ptx-soft-section {
	background: var(--ptx-bg);
}

.ptx-stat-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin-top: 32px;
}

.ptx-stat-row > div {
	padding: 18px;
	border-left: 3px solid var(--ptx-blue);
	background: var(--ptx-bg);
}

.ptx-stat-row strong,
.ptx-stat-row span {
	display: block;
}

.ptx-stat-row strong {
	color: var(--ptx-navy);
	font-size: 23px;
	font-weight: 800;
}

.ptx-stat-row span {
	margin-top: 4px;
	color: var(--ptx-muted);
	font-size: 11px;
}

.ptx-policy-note {
	margin-top: 28px;
	padding: 24px 28px;
	border-left: 4px solid var(--ptx-gold);
	background: #fff8e9;
}

.ptx-policy-note strong {
	color: var(--ptx-navy);
}

.ptx-policy-note p {
	margin: 7px 0 0;
	color: var(--ptx-muted);
}

.ptx-policy-layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	align-items: start;
	gap: clamp(40px, 7vw, 95px);
}

.ptx-policy-layout > aside {
	position: sticky;
	top: 30px;
	display: grid;
	gap: 9px;
	padding: 24px;
	border: 1px solid var(--ptx-line);
	border-radius: 12px;
	background: var(--ptx-bg);
}

.ptx-policy-layout > aside strong {
	color: var(--ptx-navy);
	font-size: 14px;
}

.ptx-policy-layout > aside span,
.ptx-policy-layout > aside a {
	color: var(--ptx-muted);
	font-size: 12px;
	text-decoration: none;
}

.ptx-policy-content {
	max-width: 820px;
}

.ptx-policy-content > section,
.ptx-existing-policy > h2,
.ptx-existing-policy > h3 {
	padding-bottom: 26px;
	border-bottom: 1px solid var(--ptx-line);
	margin-bottom: 28px;
}

.ptx-policy-content h2,
.ptx-existing-policy h2,
.ptx-existing-policy h3 {
	margin: 0 0 12px;
	font-size: 24px;
	line-height: 1.25;
}

.ptx-policy-content p,
.ptx-existing-policy p,
.ptx-existing-policy li {
	color: var(--ptx-muted);
	font-size: 15px;
}

.ptx-policy-content ul {
	margin: 15px 0 0;
	padding-left: 21px;
}

.ptx-policy-content li {
	margin: 7px 0;
	color: var(--ptx-muted);
	font-size: 14px;
}

/* WooCommerce archive */
body.preptec-modern-site.woocommerce-page main,
body.preptec-modern-site.post-type-archive-product main,
body.preptec-modern-site.tax-product_cat main,
body.preptec-modern-site.tax-product_tag main {
	font-family: var(--ptx-font);
}

.ptx-shop-hero {
	padding: 66px 0 62px;
	background: var(--ptx-navy);
	color: #fff;
}

.ptx-shop-hero .ptx-kicker {
	color: #8ec8ff !important;
}

.ptx-shop-hero h1 {
	max-width: 900px;
	margin: 0;
	color: #fff !important;
	font-size: clamp(42px, 5vw, 68px);
	line-height: 1.02;
}

.ptx-shop-intro {
	max-width: 780px;
	margin-top: 16px;
}

.ptx-shop-intro p {
	margin: 0;
	color: rgba(255, 255, 255, .75);
	font-size: 16px;
}

.ptx-shop-search {
	width: min(720px, 100%);
	margin-top: 28px;
}

.ptx-shop-search .ptx-search-form {
	border: 0;
}

.ptx-shop-departments {
	padding: 28px 0;
	border-bottom: 1px solid var(--ptx-line);
	background: var(--ptx-bg);
}

.ptx-shop-department-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 12px;
}

.ptx-shop-department-grid > a {
	display: flex;
	overflow: hidden;
	min-width: 0;
	flex-direction: column;
	border: 1px solid var(--ptx-line);
	border-radius: 11px;
	background: #fff;
	color: var(--ptx-navy);
	text-decoration: none;
}

.ptx-shop-department-grid img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.ptx-shop-department-grid span {
	display: flex;
	min-height: 87px;
	flex-direction: column;
	justify-content: center;
	padding: 12px;
}

.ptx-shop-department-grid strong {
	display: -webkit-box;
	overflow: hidden;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ptx-shop-department-grid small {
	margin-top: 4px;
	color: var(--ptx-blue);
	font-size: 10px;
	font-weight: 700;
}

body.preptec-modern-site .woocommerce-breadcrumb {
	width: min(1280px, calc(100% - 48px));
	margin: 20px auto !important;
	color: var(--ptx-muted) !important;
	font-size: 12px !important;
}

body.preptec-modern-site .woocommerce-breadcrumb a {
	color: var(--ptx-blue) !important;
}

.ptx-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 34px 0 24px;
	padding-bottom: 17px;
	border-bottom: 1px solid var(--ptx-line);
}

.ptx-shop-toolbar > div {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ptx-shop-toolbar .woocommerce-result-count {
	margin: 0 !important;
	color: var(--ptx-muted);
	font-size: 13px;
}

.ptx-vat-label {
	padding-left: 14px;
	border-left: 1px solid var(--ptx-line);
	color: var(--ptx-success);
	font-size: 12px;
	font-weight: 700;
}

.ptx-shop-toolbar .woocommerce-ordering {
	margin: 0 !important;
}

.ptx-shop-toolbar select {
	min-height: 44px;
	padding: 0 38px 0 13px;
	border: 1px solid var(--ptx-line);
	border-radius: 9px;
	background-color: #fff;
	color: var(--ptx-navy);
	font-size: 12px;
	font-weight: 700;
}

.ptx-diamond-tool-guide {
	display: grid;
	grid-template-columns: 168px minmax(0, 1fr) minmax(210px, 260px);
	align-items: center;
	gap: 24px;
	margin: 0 0 30px;
	padding: 20px;
	border: 1px solid #cddfed;
	border-radius: 16px;
	background: #edf5fb;
}

.ptx-diamond-tool-guide-media {
	overflow: hidden;
	border-radius: 11px;
	background: #fff;
}

.ptx-diamond-tool-guide-media img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.ptx-diamond-tool-guide-copy .ptx-kicker {
	margin-bottom: 7px !important;
}

.ptx-diamond-tool-guide-copy h2 {
	margin: 0;
	font-size: clamp(22px, 2.4vw, 30px);
	line-height: 1.12;
}

.ptx-diamond-tool-guide-copy > p:not(.ptx-kicker) {
	margin: 9px 0 0;
	color: var(--ptx-muted);
	font-size: 13px;
	line-height: 1.55;
}

.ptx-diamond-tool-guide-actions {
	display: grid;
	gap: 9px;
}

.ptx-diamond-tool-guide-actions .ptx-button {
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	font-size: 12px !important;
}

.ptx-diamond-tool-guide-actions .ptx-text-link {
	justify-content: center;
	font-size: 11px;
}

body.preptec-modern-site .woocommerce ul.products,
body.preptec-modern-site .woocommerce-page ul.products,
body.preptec-modern-site ul.products {
	display: grid !important;
	width: 100%;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 24px !important;
	margin: 0 0 48px !important;
}

body.preptec-modern-site .woocommerce ul.products::before,
body.preptec-modern-site .woocommerce ul.products::after {
	display: none !important;
}

body.preptec-modern-site .woocommerce ul.products li.product,
body.preptec-modern-site .woocommerce-page ul.products li.product,
body.preptec-modern-site ul.products li.product {
	position: relative;
	display: flex !important;
	width: auto !important;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	padding: 0 0 18px !important;
	overflow: hidden;
	border: 1px solid var(--ptx-line) !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: 0 8px 24px rgba(7, 24, 39, .045) !important;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.preptec-modern-site .woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	border-color: #bdcfdf !important;
	box-shadow: var(--ptx-shadow) !important;
}

body.preptec-modern-site ul.products li.product .woocommerce-loop-product__link,
body.preptec-modern-site ul.products li.product > .ct-media-container,
body.preptec-modern-site ul.products li.product > .woocommerce-LoopProduct-link {
	color: var(--ptx-navy);
	text-decoration: none;
}

body.preptec-modern-site ul.products li.product .ct-image-container,
body.preptec-modern-site ul.products li.product .woocommerce-loop-product__link > img,
body.preptec-modern-site ul.products li.product figure {
	display: flex;
	width: 100%;
	min-height: 245px;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 18px;
	border-bottom: 1px solid #edf2f6;
	background: #fff;
}

body.preptec-modern-site ul.products li.product img {
	display: block;
	width: 100% !important;
	height: 215px !important;
	margin: 0 !important;
	object-fit: contain !important;
}

body.preptec-modern-site ul.products li.product .onsale {
	top: 12px !important;
	right: auto !important;
	left: 12px !important;
	z-index: 3;
	min-width: auto !important;
	min-height: auto !important;
	padding: 6px 9px !important;
	border-radius: 6px !important;
	background: var(--ptx-danger) !important;
	font-size: 10px !important;
	line-height: 1.2 !important;
}

.ptx-card-category,
.ptx-card-sku {
	display: block;
	padding-right: 18px;
	padding-left: 18px;
}

.ptx-card-category {
	margin-top: 17px;
	color: var(--ptx-blue);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .09em;
	line-height: 1.3;
	text-transform: uppercase;
}

.ptx-card-sku {
	margin-top: 7px;
	color: var(--ptx-muted);
	font-size: 10px;
	font-weight: 600;
}

body.preptec-modern-site ul.products li.product .woocommerce-loop-product__title,
body.preptec-modern-site ul.products li.product .woocommerce-loop-category__title {
	display: block !important;
	overflow: visible !important;
	height: auto !important;
	max-height: none !important;
	min-height: 0;
	margin: 8px 0 0 !important;
	padding: 0 18px !important;
	color: var(--ptx-navy) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	letter-spacing: -.02em !important;
	line-height: 1.5 !important;
	white-space: normal !important;
	text-overflow: clip !important;
	word-break: normal;
	overflow-wrap: anywhere;
	hyphens: none;
	-webkit-box-orient: initial !important;
	-webkit-line-clamp: unset !important;
}

body.preptec-modern-site ul.products li.product .price,
body.preptec-modern-site ul.products li.product .ct-woo-card-actions .price {
	display: block;
	margin: 14px 18px 0 !important;
	color: var(--ptx-navy) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
}

body.preptec-modern-site ul.products li.product .price del {
	color: var(--ptx-muted) !important;
	font-size: 12px;
	opacity: .75;
}

body.preptec-modern-site ul.products li.product .price ins {
	text-decoration: none;
}

.ptx-poa-price {
	color: #805d14;
	font-weight: 800;
}

body.preptec-modern-site ul.products li.product .button,
body.preptec-modern-site ul.products li.product .added_to_cart {
	width: calc(100% - 36px);
	min-height: 46px;
	margin: auto 18px 0 !important;
	padding: 0 12px !important;
}

body.preptec-modern-site ul.products li.product .added_to_cart {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ptx-line);
	border-radius: 9px;
	color: var(--ptx-blue);
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
}

body.preptec-modern-site .woocommerce nav.woocommerce-pagination {
	margin: 24px 0 65px;
}

body.preptec-modern-site .woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 6px;
	border: 0;
}

body.preptec-modern-site .woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

body.preptec-modern-site .woocommerce nav.woocommerce-pagination ul li a,
body.preptec-modern-site .woocommerce nav.woocommerce-pagination ul li span {
	display: flex;
	min-width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ptx-line);
	border-radius: 8px;
	background: #fff;
	color: var(--ptx-navy);
	font-weight: 700;
}

body.preptec-modern-site .woocommerce nav.woocommerce-pagination ul li span.current,
body.preptec-modern-site .woocommerce nav.woocommerce-pagination ul li a:hover {
	border-color: var(--ptx-blue);
	background: var(--ptx-blue);
	color: #fff;
}

/* Single product */
body.preptec-modern-site.single-product .product.type-product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(380px, .88fr);
	gap: clamp(42px, 6vw, 86px);
	margin: 42px 0 82px !important;
}

body.preptec-modern-site.single-product .woocommerce-product-gallery,
body.preptec-modern-site.single-product .summary {
	width: auto !important;
	float: none !important;
}

body.preptec-modern-site.single-product .woocommerce-product-gallery__wrapper {
	border: 1px solid var(--ptx-line);
	border-radius: var(--ptx-radius);
	background: #fff;
}

body.preptec-modern-site.single-product .woocommerce-product-gallery__image {
	padding: 28px;
}

body.preptec-modern-site.single-product .woocommerce-product-gallery__image img {
	width: 100%;
	max-height: 600px;
	object-fit: contain;
}

.ptx-single-context {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.ptx-single-context a,
.ptx-single-context small {
	color: var(--ptx-blue);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .05em;
	text-decoration: none;
	text-transform: uppercase;
}

.ptx-single-context small {
	padding-left: 12px;
	border-left: 1px solid var(--ptx-line);
	color: var(--ptx-muted);
}

body.preptec-modern-site.single-product .summary .product_title {
	margin: 0 !important;
	color: var(--ptx-navy) !important;
	font-size: clamp(34px, 4vw, 54px) !important;
	font-weight: 800 !important;
	letter-spacing: -.045em !important;
	line-height: 1.08 !important;
}

body.preptec-modern-site.single-product .summary .price {
	margin: 20px 0 0 !important;
	color: var(--ptx-navy) !important;
	font-size: 30px !important;
	font-weight: 800 !important;
}

.ptx-single-vat {
	margin: 3px 0 19px !important;
	color: var(--ptx-success);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .04em;
	text-transform: uppercase;
}

body.preptec-modern-site.single-product .woocommerce-product-details__short-description {
	margin-top: 20px;
	color: var(--ptx-muted);
	font-size: 15px;
}

body.preptec-modern-site.single-product form.cart {
	display: flex;
	align-items: stretch;
	gap: 10px;
	margin: 28px 0 0 !important;
}

body.preptec-modern-site .quantity .qty {
	width: 72px !important;
	min-height: 50px;
	border: 1px solid var(--ptx-line) !important;
	border-radius: 9px !important;
	background: #fff !important;
}

body.preptec-modern-site.single-product .single_add_to_cart_button {
	min-width: 210px;
}

body.preptec-modern-site.single-product .product_meta {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid var(--ptx-line);
	color: var(--ptx-muted);
	font-size: 11px;
}

.ptx-single-support {
	display: grid;
	gap: 0;
	margin-top: 26px;
	border: 1px solid var(--ptx-line);
	border-radius: 12px;
	background: var(--ptx-bg);
}

.ptx-single-support > div {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 16px;
	padding: 14px 17px;
	border-bottom: 1px solid var(--ptx-line);
}

.ptx-single-support > div:last-child {
	border-bottom: 0;
}

.ptx-single-support strong {
	color: var(--ptx-navy);
	font-size: 11px;
}

.ptx-single-support span {
	color: var(--ptx-muted);
	font-size: 11px;
}

.ptx-single-support a {
	color: var(--ptx-blue);
	font-weight: 700;
}

.ptx-poa-panel {
	margin-top: 25px;
	padding: 27px;
	box-shadow: none;
}

.ptx-poa-heading h2 {
	margin-bottom: 8px;
	font-size: 29px;
}

.ptx-poa-heading > p:not(.ptx-kicker) {
	margin: 0 0 22px;
	color: var(--ptx-muted);
	font-size: 13px;
}

.ptx-form-row-quantity {
	grid-template-columns: 110px 1fr;
}

body.preptec-modern-site.single-product .woocommerce-tabs,
body.preptec-modern-site.single-product .related,
body.preptec-modern-site.single-product .upsells {
	grid-column: 1 / -1;
	width: 100%;
}

body.preptec-modern-site.single-product .woocommerce-tabs {
	padding-top: 20px;
	border-top: 1px solid var(--ptx-line);
}

body.preptec-modern-site .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 5px;
	margin: 0 0 28px !important;
	padding: 0 !important;
}

body.preptec-modern-site .woocommerce-tabs ul.tabs::before,
body.preptec-modern-site .woocommerce-tabs ul.tabs li::before,
body.preptec-modern-site .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

body.preptec-modern-site .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--ptx-line) !important;
	border-radius: 8px !important;
	background: #fff !important;
}

body.preptec-modern-site .woocommerce-tabs ul.tabs li.active {
	border-color: var(--ptx-blue) !important;
	background: var(--ptx-blue) !important;
}

body.preptec-modern-site .woocommerce-tabs ul.tabs li a {
	padding: 12px 17px !important;
	color: var(--ptx-navy) !important;
	font-size: 12px;
	font-weight: 800 !important;
}

body.preptec-modern-site .woocommerce-tabs ul.tabs li.active a {
	color: #fff !important;
}

body.preptec-modern-site .woocommerce-tabs .panel {
	max-width: 920px;
	color: var(--ptx-muted);
}

body.preptec-modern-site .woocommerce-tabs .panel h2,
body.preptec-modern-site .related > h2,
body.preptec-modern-site .upsells > h2 {
	margin: 0 0 24px;
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.12;
}

/* Cart, checkout and account */
.ptx-commerce-notice {
	margin: 0 0 22px;
	padding: 16px 18px;
	border-left: 4px solid var(--ptx-blue);
	background: var(--ptx-soft-blue);
	color: var(--ptx-muted);
	font-size: 13px;
}

.ptx-commerce-notice strong {
	color: var(--ptx-navy);
}

.ptx-checkout-intro,
.ptx-account-intro {
	clear: both;
	margin: 18px 0 28px;
	padding: clamp(28px, 5vw, 55px);
	border-radius: var(--ptx-radius);
	background: var(--ptx-navy);
	color: #fff;
}

.ptx-checkout-intro h1,
.ptx-account-intro h1 {
	margin: 0;
	color: #fff !important;
	font-size: clamp(38px, 5vw, 58px);
	line-height: 1.04;
}

.ptx-checkout-intro .ptx-kicker,
.ptx-account-intro .ptx-kicker {
	color: #8ec8ff !important;
}

.ptx-checkout-intro p:not(.ptx-kicker),
.ptx-account-intro p:not(.ptx-kicker) {
	margin: 13px 0 0;
	color: rgba(255, 255, 255, .76);
}

body.preptec-modern-site .woocommerce-notices-wrapper,
body.preptec-modern-site .woocommerce-form-login-toggle,
body.preptec-modern-site .woocommerce-form-coupon-toggle {
	font-family: var(--ptx-font);
}

body.preptec-modern-site .woocommerce-message,
body.preptec-modern-site .woocommerce-info,
body.preptec-modern-site .woocommerce-error {
	padding: 17px 18px 17px 52px !important;
	border: 1px solid var(--ptx-line) !important;
	border-top: 0 !important;
	border-radius: 10px;
	background: #fff;
	box-shadow: none;
	color: var(--ptx-text);
	font-size: 13px;
}

body.preptec-modern-site .woocommerce-message::before,
body.preptec-modern-site .woocommerce-info::before,
body.preptec-modern-site .woocommerce-error::before {
	top: 17px;
	color: var(--ptx-blue);
}

body.preptec-modern-site table.shop_table {
	border: 1px solid var(--ptx-line) !important;
	border-collapse: separate !important;
	border-radius: 12px !important;
	background: #fff;
}

body.preptec-modern-site table.shop_table th {
	padding: 16px !important;
	border-color: var(--ptx-line) !important;
	color: var(--ptx-navy);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

body.preptec-modern-site table.shop_table td {
	padding: 16px !important;
	border-color: var(--ptx-line) !important;
	color: var(--ptx-muted);
	font-size: 13px;
}

body.preptec-modern-site table.shop_table .product-name a {
	color: var(--ptx-navy);
	font-weight: 800;
	text-decoration: none;
}

body.preptec-modern-site table.shop_table .product-thumbnail img {
	width: 78px;
	height: 78px;
	object-fit: contain;
	border: 1px solid var(--ptx-line);
	border-radius: 8px;
}

body.preptec-modern-site .cart-collaterals {
	margin: 35px 0 70px;
}

body.preptec-modern-site .cart-collaterals .cart_totals {
	width: min(520px, 100%) !important;
	padding: 28px;
	border: 1px solid var(--ptx-line);
	border-radius: var(--ptx-radius);
	background: var(--ptx-bg);
}

body.preptec-modern-site .cart-collaterals h2,
body.preptec-modern-site .woocommerce-checkout h3,
body.preptec-modern-site.woocommerce-account h2 {
	margin: 0 0 20px;
	font-size: 27px;
	line-height: 1.2;
}

body.preptec-modern-site .checkout-button {
	width: 100%;
}

body.preptec-modern-site .woocommerce form .form-row label {
	margin-bottom: 6px;
	color: var(--ptx-navy);
	font-size: 12px;
	font-weight: 750;
}

body.preptec-modern-site .woocommerce form .form-row input.input-text,
body.preptec-modern-site .woocommerce form .form-row textarea,
body.preptec-modern-site .woocommerce form .form-row select,
body.preptec-modern-site .select2-container .select2-selection--single {
	min-height: 49px;
	padding: 11px 13px !important;
	border: 1px solid #cbd7e1 !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--ptx-text) !important;
	font-size: 14px;
}

body.preptec-modern-site .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 25px;
}

body.preptec-modern-site .select2-container .select2-selection--single .select2-selection__arrow {
	top: 11px;
}

body.preptec-modern-site .woocommerce form .form-row input:focus,
body.preptec-modern-site .woocommerce form .form-row textarea:focus {
	border-color: var(--ptx-blue) !important;
	outline: 3px solid rgba(0, 94, 184, .11);
}

body.preptec-modern-site form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr);
	align-items: start;
	gap: 30px 46px;
	margin-bottom: 75px;
}

body.preptec-modern-site form.checkout .col2-set {
	width: 100%;
}

body.preptec-modern-site form.checkout .col-1,
body.preptec-modern-site form.checkout .col-2 {
	width: 100%;
	float: none;
}

body.preptec-modern-site form.checkout #order_review_heading,
body.preptec-modern-site form.checkout #order_review {
	grid-column: 2;
}

body.preptec-modern-site form.checkout #order_review_heading {
	grid-row: 1;
	margin: 0;
	padding: 28px 28px 0;
	border: 1px solid var(--ptx-line);
	border-bottom: 0;
	border-radius: 12px 12px 0 0;
	background: var(--ptx-bg);
}

body.preptec-modern-site form.checkout #order_review {
	grid-row: 2 / span 2;
	padding: 0 28px 28px;
	border: 1px solid var(--ptx-line);
	border-top: 0;
	border-radius: 0 0 12px 12px;
	background: var(--ptx-bg);
}

body.preptec-modern-site #payment {
	border-radius: 10px !important;
	background: #fff !important;
}

body.preptec-modern-site #payment ul.payment_methods {
	border-color: var(--ptx-line) !important;
}

body.preptec-modern-site #payment div.payment_box {
	background: var(--ptx-bg) !important;
	color: var(--ptx-muted) !important;
}

body.preptec-modern-site #payment div.payment_box::before {
	border-bottom-color: var(--ptx-bg) !important;
}

body.preptec-modern-site.woocommerce-account .woocommerce {
	margin: 38px 0 70px;
}

body.preptec-modern-site.woocommerce-account .u-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
}

body.preptec-modern-site.woocommerce-account .u-column1,
body.preptec-modern-site.woocommerce-account .u-column2 {
	width: 100%;
	float: none;
	padding: 30px;
	border: 1px solid var(--ptx-line);
	border-radius: var(--ptx-radius);
	background: #fff;
	box-shadow: 0 10px 30px rgba(7, 24, 39, .05);
}

body.preptec-modern-site .woocommerce-MyAccount-navigation {
	width: 240px;
}

body.preptec-modern-site .woocommerce-MyAccount-navigation ul {
	overflow: hidden;
	margin: 0;
	padding: 0;
	border: 1px solid var(--ptx-line);
	border-radius: 11px;
	list-style: none;
}

body.preptec-modern-site .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 13px 16px;
	border-bottom: 1px solid var(--ptx-line);
	color: var(--ptx-navy);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

body.preptec-modern-site .woocommerce-MyAccount-navigation li.is-active a,
body.preptec-modern-site .woocommerce-MyAccount-navigation li a:hover {
	background: var(--ptx-blue);
	color: #fff;
}

body.preptec-modern-site .woocommerce-MyAccount-content {
	width: calc(100% - 280px);
	padding: 28px;
	border: 1px solid var(--ptx-line);
	border-radius: 11px;
}

/* Theme fallbacks for 404 and ordinary search states. */
body.preptec-modern-site.error404 .site-main {
	padding-top: 90px;
	padding-bottom: 110px;
	text-align: center;
}

body.preptec-modern-site.error404 .page-title {
	margin: 0 auto 16px;
	color: var(--ptx-navy);
	font-size: clamp(42px, 7vw, 72px);
	line-height: 1.02;
}

body.preptec-modern-site.error404 .site-main p {
	max-width: 650px;
	margin-right: auto;
	margin-left: auto;
	color: var(--ptx-muted);
}

/* Generated SEO pages: preserve content and URLs, replace the visual language. */
.ptx-seo-shell {
	overflow: hidden;
	background: #fff;
}

.ptx-seo-shell .prepseo {
	width: 100%;
	max-width: 100%;
	margin: 0;
	overflow: hidden;
	background: #fff;
	color: var(--ptx-text);
	font-family: var(--ptx-font);
}

.ptx-seo-shell .prepseo-wrap {
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
}

.ptx-seo-shell .prepseo-hero {
	padding: 74px 0;
	background: var(--ptx-navy);
	color: #fff;
}

.ptx-seo-shell .prepseo-hero-grid,
.ptx-seo-shell .prepseo-local-grid,
.ptx-seo-shell .prepseo-final,
.ptx-seo-shell .prepseo-two {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 30px;
}

.ptx-seo-shell .prepseo-hero h1 {
	margin: 0;
	color: #fff !important;
	font-size: clamp(44px, 5vw, 70px);
	line-height: 1.02;
}

.ptx-seo-shell .prepseo-hero h1 span {
	color: #8ec8ff;
}

.ptx-seo-shell .prepseo-hero p,
.ptx-seo-shell .prepseo-card-navy p {
	color: rgba(255, 255, 255, .76);
}

.ptx-seo-shell .prepseo-eyebrow {
	margin-bottom: 12px;
	color: #8ec8ff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.ptx-seo-shell .prepseo-photo {
	position: relative;
	display: block;
	overflow: hidden;
	min-height: 390px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: var(--ptx-radius);
}

.ptx-seo-shell .prepseo-photo img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ptx-seo-shell .prepseo-photo-panel {
	position: absolute;
	right: 16px;
	bottom: 16px;
	left: 16px;
	padding: 16px;
	border-radius: 10px;
	background: rgba(7, 24, 39, .86);
	color: #fff;
}

.ptx-seo-shell .prepseo-photo-panel strong,
.ptx-seo-shell .prepseo-photo-panel span {
	display: block;
}

.ptx-seo-shell .prepseo-photo-panel span {
	margin-top: 4px;
	color: rgba(255, 255, 255, .7);
	font-size: 12px;
}

.ptx-seo-shell .prepseo-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}

.ptx-seo-shell .prepseo-btn {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 0 20px;
	border: 1px solid var(--ptx-blue);
	border-radius: 9px;
	background: var(--ptx-blue);
	color: #fff !important;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
}

.ptx-seo-shell .prepseo-btn-light,
.ptx-seo-shell .prepseo-btn-outline {
	border-color: #fff;
	background: #fff;
	color: var(--ptx-navy) !important;
}

.ptx-seo-shell .prepseo-section {
	padding: 72px 0;
}

.ptx-seo-shell .prepseo-section-soft {
	background: var(--ptx-bg);
}

.ptx-seo-shell .prepseo-card,
.ptx-seo-shell .prepseo-final {
	padding: 34px;
	border: 1px solid var(--ptx-line);
	border-radius: var(--ptx-radius);
	background: #fff;
}

.ptx-seo-shell .prepseo-card-navy {
	background: var(--ptx-navy-soft);
	color: #fff;
}

.ptx-seo-shell .prepseo-card h2,
.ptx-seo-shell .prepseo-final h2 {
	margin: 0;
	font-size: clamp(28px, 3vw, 44px);
	line-height: 1.08;
}

.ptx-seo-shell .prepseo-card-navy h2 {
	color: #fff;
}

.ptx-seo-shell .prepseo-card p,
.ptx-seo-shell .prepseo-final p {
	color: var(--ptx-muted);
}

.ptx-seo-shell .prepseo-inner-card,
.ptx-seo-shell .prepseo-faq details {
	padding: 19px;
	border: 1px solid var(--ptx-line);
	border-radius: 10px;
	background: var(--ptx-bg);
}

.ptx-seo-shell .prepseo-list {
	display: grid;
	gap: 9px;
	padding: 0;
	list-style: none;
}

.ptx-seo-shell .prepseo-list li {
	padding: 10px 12px;
	border: 1px solid var(--ptx-line);
	border-radius: 8px;
	background: #fff;
	color: var(--ptx-text);
	font-size: 13px;
}

.ptx-seo-shell .prepseo-list-dark li {
	border-color: rgba(255, 255, 255, .14);
	background: rgba(255, 255, 255, .08);
	color: #fff;
}

.ptx-seo-shell .prepseo-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}

.ptx-seo-shell .prepseo-chip {
	padding: 8px 11px;
	border: 1px solid #c6dff3;
	border-radius: 8px;
	background: var(--ptx-soft-blue);
	color: var(--ptx-blue-dark);
	font-size: 11px;
	font-weight: 800;
}

.ptx-seo-shell .prepseo-faq {
	display: grid;
	gap: 9px;
}

.ptx-seo-shell .prepseo-faq summary {
	cursor: pointer;
	color: var(--ptx-navy);
	font-weight: 800;
}

/* Footer */
.ptx-site-footer {
	position: relative;
	z-index: 2;
	border-top: 1px solid var(--ptx-line);
	background: #fff;
	font-family: var(--ptx-font);
}

.ptx-footer-grid {
	display: grid;
	grid-template-columns: 1.6fr .75fr .85fr 1fr;
	gap: 60px;
	padding-top: 68px;
	padding-bottom: 62px;
}

.ptx-footer-grid > div:not(.ptx-footer-brand) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 9px;
}

.ptx-footer-brand img {
	width: 236px;
	height: auto;
}

.ptx-footer-brand p {
	max-width: 420px;
	margin: 23px 0 18px;
	color: var(--ptx-muted);
	font-size: 13px;
}

.ptx-footer-phone {
	color: var(--ptx-blue);
	font-size: 23px;
	font-weight: 800;
	text-decoration: none;
}

.ptx-footer-grid h2 {
	margin: 0 0 10px;
	font-size: 14px;
	letter-spacing: -.01em;
}

.ptx-footer-grid > div:not(.ptx-footer-brand) > a:not(.ptx-button),
.ptx-footer-contact p {
	margin: 0;
	color: var(--ptx-muted);
	font-size: 12px;
	line-height: 1.55;
	text-decoration: none;
}

.ptx-footer-grid > div:not(.ptx-footer-brand) > a:not(.ptx-button):hover {
	color: var(--ptx-blue);
}

.ptx-footer-contact .ptx-button {
	margin-top: 12px;
	border-color: var(--ptx-navy) !important;
	background: var(--ptx-navy) !important;
	color: #fff !important;
}

.ptx-footer-bottom {
	background: var(--ptx-navy);
}

.ptx-footer-bottom .ptx-container {
	display: flex;
	min-height: 57px;
	align-items: center;
	justify-content: space-between;
	gap: 25px;
}

.ptx-footer-bottom p,
.ptx-footer-bottom a {
	margin: 0;
	color: rgba(255, 255, 255, .68);
	font-size: 11px;
	text-decoration: none;
}

/* Keyboard focus */
body.preptec-modern-site a:focus-visible,
body.preptec-modern-site button:focus-visible,
body.preptec-modern-site input:focus-visible,
body.preptec-modern-site select:focus-visible,
body.preptec-modern-site textarea:focus-visible,
body.preptec-modern-site summary:focus-visible {
	outline: 3px solid #f6c453 !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 2px var(--ptx-navy) !important;
}

@media (max-width: 1180px) {
	.ptx-mainbar-inner {
		grid-template-columns: 210px minmax(260px, 1fr) auto;
		gap: 20px;
	}

	.ptx-logo img {
		width: 205px;
	}

	.ptx-primary-nav > a,
	.ptx-primary-nav > .ptx-mega-wrap > button {
		padding: 0 10px;
	}

	.ptx-nav-call {
		display: none;
	}

	.ptx-shop-department-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.ptx-footer-grid {
		grid-template-columns: 1.4fr .8fr .9fr 1fr;
		gap: 35px;
	}
}

@media (max-width: 1024px) {
	.ptx-container,
	body.preptec-modern-site .woocommerce-breadcrumb,
	.ptx-seo-shell .prepseo-wrap {
		width: min(100% - 36px, 1280px);
	}

	.ptx-sales-contact {
		max-width: 520px;
		grid-template-columns: 1fr;
	}

	.ptx-topbar,
	.ptx-navrow,
	.ptx-header-search,
	.ptx-utility-nav > a:first-child {
		display: none;
	}

	.ptx-site-header {
		position: sticky;
		top: 0;
	}

	.admin-bar .ptx-site-header {
		top: 32px;
	}

	.ptx-mainbar-inner {
		display: grid;
		min-height: 66px;
		grid-template-columns: 52px 1fr 52px;
		gap: 12px;
	}

	.ptx-menu-button {
		display: flex;
		width: 48px;
		height: 48px;
		align-items: center;
		justify-content: center;
		border: 0;
		border-radius: 9px;
		background: var(--ptx-bg);
		color: var(--ptx-navy);
		cursor: pointer;
	}

	.ptx-menu-button span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	.ptx-logo {
		justify-self: center;
	}

	.ptx-logo img {
		width: min(220px, 52vw);
	}

	.ptx-utility-nav {
		display: block;
	}

	.ptx-utility-nav .ptx-cart-link {
		width: 48px;
		height: 48px;
		justify-content: center;
		padding: 0;
		background: var(--ptx-bg);
	}

	.ptx-utility-nav .ptx-cart-link span {
		display: none;
	}

	.ptx-cart-link > i {
		top: -2px;
		left: 29px;
	}

	.ptx-mobile-search-row {
		display: block;
		padding: 0 18px 12px;
	}

	.ptx-mobile-search-row .ptx-search-form {
		grid-template-columns: 42px 1fr;
	}

	.ptx-mobile-search-row .ptx-search-form > button {
		display: none;
	}

	.ptx-mobile-search-row .ptx-search-form input[type="search"] {
		height: 44px;
	}

	.ptx-mobile-actions {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 9988;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		padding-bottom: env(safe-area-inset-bottom, 0);
		border-top: 1px solid var(--ptx-line);
		background: #fff;
		box-shadow: 0 -10px 30px rgba(7, 24, 39, .1);
	}

	.ptx-mobile-actions a,
	.ptx-mobile-actions button {
		position: relative;
		display: flex;
		min-height: 62px;
		align-items: center;
		justify-content: center;
		gap: 4px;
		flex-direction: column;
		padding: 5px;
		border: 0;
		border-right: 1px solid var(--ptx-line);
		background: #fff;
		color: var(--ptx-navy);
		font-size: 10px;
		font-weight: 750;
		text-decoration: none;
	}

	.ptx-mobile-actions svg {
		width: 21px;
		height: 21px;
	}

	.ptx-mobile-actions a > i {
		top: 4px;
		left: calc(50% + 7px);
	}

	.ptx-footer-bottom {
		padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px));
	}

	.ptx-section {
		padding: 68px 0;
	}

	.ptx-home-hero {
		min-height: 590px;
		background-position: 58% center;
	}

	.ptx-home-hero .ptx-hero-search {
		display: none;
	}

	.ptx-department-mosaic {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ptx-department-tile:nth-child(n) {
		min-height: 240px;
		grid-column: span 1;
	}

	.ptx-department-tile:first-child {
		min-height: 330px;
		grid-column: 1 / -1;
	}

	body.preptec-modern-site .woocommerce ul.products,
	body.preptec-modern-site .woocommerce-page ul.products,
	body.preptec-modern-site ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.ptx-story-grid {
		grid-template-columns: 1fr 1fr;
		gap: 42px;
	}

	.ptx-advice-card {
		padding: 40px;
	}

	.ptx-footer-grid {
		grid-template-columns: 1.4fr 1fr 1fr;
	}

	.ptx-footer-contact {
		grid-column: 2 / -1;
	}

	body.preptec-modern-site.single-product .product.type-product {
		grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr);
		gap: 40px;
	}

	body.preptec-modern-site form.checkout.woocommerce-checkout {
		grid-template-columns: 1fr;
	}

	body.preptec-modern-site form.checkout #order_review_heading,
	body.preptec-modern-site form.checkout #order_review {
		grid-column: 1;
		grid-row: auto;
	}
}

@media (max-width: 782px) {
	.admin-bar .ptx-site-header {
		top: 46px;
	}
}

@media (max-width: 767px) {
	.ptx-container,
	body.preptec-modern-site .woocommerce-breadcrumb,
	.ptx-seo-shell .prepseo-wrap {
		width: min(100% - 28px, 1280px);
	}

	.ptx-section {
		padding: 54px 0;
	}

	.ptx-search-form > button {
		min-width: 76px;
	}

	.ptx-search-result {
		grid-template-columns: 52px minmax(0, 1fr);
	}

	.ptx-search-result img {
		width: 52px;
		height: 52px;
	}

	.ptx-search-result-price {
		grid-column: 2;
		text-align: left;
	}

	.ptx-search-overlay {
		padding: calc(58px + env(safe-area-inset-top, 0px)) 12px calc(12px + env(safe-area-inset-bottom, 0px));
	}

	.ptx-search-overlay-card {
		padding: 30px 18px 22px;
	}

	.ptx-home-hero {
		min-height: 520px;
		align-items: flex-end;
		background-position: 64% center;
	}

	.ptx-home-hero-shade {
		background: linear-gradient(0deg, rgba(7, 24, 39, .97) 0%, rgba(7, 24, 39, .82) 45%, rgba(7, 24, 39, .12) 100%);
	}

	.ptx-home-hero-content {
		padding-top: 180px;
		padding-bottom: 36px;
	}

	.ptx-home-hero h1 {
		max-width: 360px;
		font-size: clamp(37px, 10.5vw, 46px);
		line-height: 1.02;
	}

	.ptx-page-hero h1,
	.ptx-shop-hero h1 {
		font-size: clamp(38px, 11vw, 53px);
		line-height: 1.04;
	}

	.ptx-home-hero-content > p:not(.ptx-kicker) {
		max-width: 350px;
		font-size: 15px;
		line-height: 1.5;
	}

	.ptx-page-hero p:not(.ptx-kicker) {
		font-size: 15px;
	}

	.ptx-home-hero .ptx-hero-actions {
		margin-top: 22px;
	}

	.ptx-home-hero .ptx-hero-search {
		display: none;
	}

	.ptx-home-hero-call {
		min-height: 44px;
		padding: 0;
	}

	.ptx-home-trust .ptx-container {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ptx-home-trust .ptx-container > div {
		min-height: 74px;
		align-items: center;
		padding: 10px 7px;
		text-align: center;
	}

	.ptx-home-trust strong {
		font-size: 13px;
		line-height: 1.25;
	}

	.ptx-home-trust span {
		font-size: 9px;
		line-height: 1.3;
	}

	.ptx-home-section-head {
		display: grid;
		grid-template-columns: 1fr;
		gap: 14px;
		margin-bottom: 26px;
	}

	.ptx-home-section-head h2,
	.ptx-story-grid h2 {
		font-size: 34px;
	}

	.ptx-department-mosaic {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.ptx-department-tile:nth-child(n) {
		min-height: 0;
		grid-column: span 1;
		aspect-ratio: 1 / 1;
		border-radius: 13px;
	}

	.ptx-department-tile:first-child {
		grid-column: 1 / -1;
		aspect-ratio: 16 / 10;
	}

	.ptx-department-tile::after {
		inset: 20% 0 0;
	}

	.ptx-department-tile-packshot .ptx-department-tile-media img {
		padding: 12px;
	}

	.ptx-department-tile-label {
		right: 12px;
		bottom: 11px;
		left: 12px;
		gap: 7px;
	}

	.ptx-department-tile-label strong {
		font-size: 14px;
		line-height: 1.12;
	}

	.ptx-department-tile:first-child .ptx-department-tile-label strong {
		font-size: 21px;
	}

	.ptx-department-tile-label i {
		width: 30px;
		height: 30px;
		flex-basis: 30px;
	}

	.ptx-department-tile-label i svg {
		width: 15px;
		height: 15px;
	}

	.ptx-home-brands {
		padding: 22px 0 24px;
	}

	.ptx-home-brands-inner {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.ptx-brand-links {
		display: flex;
		overflow-x: auto;
		gap: 8px;
		padding-bottom: 3px;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.ptx-brand-links a {
		min-width: 128px;
		min-height: 50px;
		flex: 0 0 auto;
		scroll-snap-align: start;
		font-size: 13px;
	}

	.ptx-home-support-card,
	.ptx-story-grid,
	.ptx-contact-grid,
	.ptx-policy-layout,
	.ptx-seo-shell .prepseo-hero-grid,
	.ptx-seo-shell .prepseo-local-grid,
	.ptx-seo-shell .prepseo-final,
	.ptx-seo-shell .prepseo-two {
		grid-template-columns: 1fr;
	}

	.ptx-home-support-card .ptx-trade-support-image {
		min-height: 330px;
		height: 330px;
		order: 0;
	}

	.ptx-home-support-card .ptx-trade-support-image img {
		object-position: center 24%;
	}

	.ptx-home-support-copy {
		padding: 30px 22px 32px;
	}

	.ptx-home-support-copy h2 {
		font-size: 34px;
	}

	.ptx-sales-role {
		margin-top: 8px !important;
		font-size: 14px;
	}

	.ptx-sales-summary {
		margin-top: 15px !important;
		font-size: 14px;
		line-height: 1.6;
	}

	.ptx-sales-contact {
		margin-top: 22px;
	}

	.ptx-sales-contact a {
		min-height: 70px;
		padding: 13px 15px;
	}

	.ptx-about-story-copy {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.ptx-advice-card {
		display: grid;
		grid-template-columns: 1fr;
		gap: 25px;
		padding: 30px 24px;
	}

	.ptx-advice-actions {
		width: 100%;
	}

	.ptx-advice-actions .ptx-button {
		width: 100%;
	}

	.ptx-page-hero,
	.ptx-shop-hero {
		padding: 58px 0;
	}

	.ptx-form-row,
	.ptx-form-row-quantity {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.ptx-app-steps,
	.ptx-value-grid,
	.ptx-info-grid,
	.ptx-stat-row {
		grid-template-columns: 1fr;
	}

	.ptx-policy-layout > aside {
		position: static;
	}

	.ptx-shop-department-grid {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 8px;
	}

	.ptx-shop-department-grid > a {
		min-width: 165px;
		scroll-snap-align: start;
	}

	.ptx-shop-toolbar {
		align-items: flex-start;
	}

	.ptx-shop-toolbar > div {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.ptx-vat-label {
		padding-left: 0;
		border-left: 0;
	}

	.ptx-diamond-tool-guide {
		grid-template-columns: 92px minmax(0, 1fr);
		gap: 14px;
		padding: 15px;
	}

	.ptx-diamond-tool-guide-copy h2 {
		font-size: 21px;
	}

	.ptx-diamond-tool-guide-copy > p:not(.ptx-kicker) {
		font-size: 12px;
	}

	.ptx-diamond-tool-guide-actions {
		grid-column: 1 / -1;
	}

	body.preptec-modern-site .woocommerce ul.products,
	body.preptec-modern-site .woocommerce-page ul.products,
	body.preptec-modern-site ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}

	body.preptec-modern-site ul.products li.product .ct-image-container,
	body.preptec-modern-site ul.products li.product .woocommerce-loop-product__link > img,
	body.preptec-modern-site ul.products li.product figure {
		min-height: 158px;
		padding: 10px;
	}

	body.preptec-modern-site ul.products li.product img {
		height: 138px !important;
	}

	.ptx-card-category,
	.ptx-card-sku {
		display: none;
	}

	body.preptec-modern-site ul.products li.product .woocommerce-loop-product__title,
	body.preptec-modern-site ul.products li.product .woocommerce-loop-category__title {
		display: block !important;
		overflow: visible !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0;
		padding: 0 12px !important;
		font-size: 13px !important;
		line-height: 1.35 !important;
		white-space: normal !important;
		text-overflow: clip !important;
		word-break: normal;
		overflow-wrap: anywhere;
		hyphens: none;
		-webkit-box-orient: initial !important;
		-webkit-line-clamp: unset !important;
	}

	body.preptec-modern-site ul.products li.product .price {
		margin: 10px 12px 0 !important;
		font-size: 15px !important;
	}

	body.preptec-modern-site ul.products li.product .ptx-poa-price {
		font-size: 12px !important;
		line-height: 1.35;
	}

	body.preptec-modern-site ul.products li.product .button,
	body.preptec-modern-site ul.products li.product .added_to_cart {
		width: calc(100% - 24px);
		min-height: 43px;
		margin-right: 12px !important;
		margin-left: 12px !important;
		font-size: 11px !important;
	}

	body.preptec-modern-site.single-product .product.type-product {
		display: block;
		margin-top: 22px !important;
	}

	body.preptec-modern-site.single-product .summary {
		margin-top: 32px;
	}

	body.preptec-modern-site.single-product .summary .product_title {
		font-size: 34px !important;
	}

	.ptx-single-support > div {
		grid-template-columns: 1fr;
		gap: 3px;
	}

	body.preptec-modern-site .woocommerce-tabs ul.tabs {
		overflow-x: auto;
	}

	body.preptec-modern-site .woocommerce-tabs ul.tabs li {
		flex: 0 0 auto;
	}

	body.preptec-modern-site.woocommerce-account .u-columns {
		grid-template-columns: 1fr;
	}

	body.preptec-modern-site .woocommerce-MyAccount-navigation,
	body.preptec-modern-site .woocommerce-MyAccount-content {
		width: 100%;
		float: none;
	}

	body.preptec-modern-site .woocommerce-MyAccount-content {
		margin-top: 22px;
		padding: 20px;
	}

	.ptx-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 35px 24px;
		padding-top: 52px;
		padding-bottom: 45px;
	}

	.ptx-footer-brand {
		grid-column: 1 / -1;
	}

	.ptx-footer-contact {
		grid-column: 1 / -1;
	}

	.ptx-footer-bottom .ptx-container {
		min-height: 78px;
		align-items: flex-start;
		justify-content: center;
		flex-direction: column;
		gap: 4px;
	}
}

@media (max-width: 480px) {
	.ptx-drawer-head img {
		width: 175px;
	}

	.ptx-hero-actions .ptx-button {
		width: 100%;
	}

	.ptx-home-trust span {
		display: none;
	}

	.ptx-home-trust .ptx-container > div {
		min-height: 64px;
	}

	.ptx-brand-links a {
		min-height: 50px;
	}

	.ptx-diamond-tool-guide {
		grid-template-columns: 1fr;
	}

	.ptx-diamond-tool-guide-media {
		display: none;
	}

	.ptx-diamond-tool-guide-actions {
		grid-column: 1;
	}

	.ptx-shop-toolbar {
		flex-direction: column;
	}

	.ptx-shop-toolbar .woocommerce-ordering,
	.ptx-shop-toolbar select {
		width: 100%;
	}

	body.preptec-modern-site table.shop_table_responsive tr td::before {
		color: var(--ptx-navy);
		font-size: 11px;
		font-weight: 800;
	}

	body.preptec-modern-site .cart-collaterals .cart_totals {
		padding: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	body.preptec-modern-site *,
	body.preptec-modern-site *::before,
	body.preptec-modern-site *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}
