/* Platifine header, footer, search, mobile drawer, and global floating WhatsApp. */
/* Header */
.platifine-site-shell {
	position: sticky;
	top: 0;
	z-index: 9999;
	background: #FFFFFF;
}
body.admin-bar .platifine-site-shell {
	top: 0 !important;
}
.platifine-preheader {
	min-height: 34px;
	padding: 7px 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	background: var(--pf-navy);
	color: #FFFFFF;
	font-size: 10.5px;
	line-height: 1.25;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 400;
	text-align: center;
}
.platifine-preheader span + span::before {
	content: "";
	display: inline-block;
	width: 3px;
	height: 3px;
	margin-right: 18px;
	vertical-align: 2px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.7;
}
.platifine-header {
	background: rgba(255, 255, 255, 0.98);
	border-bottom: 1px solid var(--pf-border);
	color: var(--pf-charcoal);
	box-shadow: none;
	backdrop-filter: saturate(140%) blur(8px);
}
.platifine-header-inner {
	position: relative;
	width: min(100%, 1440px);
	min-height: var(--pf-header-height);
	margin: 0 auto;
	padding: 0 clamp(18px, 4vw, 56px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 18px;
}
.platifine-nav-left, .platifine-utility-nav {
	display: flex;
	align-items: center;
}
.platifine-primary-menu, .platifine-mobile-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}
.platifine-primary-menu {
	display: flex;
	align-items: center;
	gap: clamp(18px, 2vw, 30px);
}
.platifine-primary-menu li, .platifine-mobile-menu li {
	margin: 0;
}
.platifine-utility-nav {
	justify-content: flex-end;
	gap: 14px;
}
.platifine-nav-left a, .platifine-primary-menu a, .platifine-mobile-menu a, .platifine-mobile-link {
	color: var(--pf-charcoal);
	text-decoration: none;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition: color 160ms ease, opacity 160ms ease;
}
.platifine-nav-left a:hover, .platifine-nav-left a:focus, .platifine-primary-menu a:hover, .platifine-primary-menu a:focus, .platifine-mobile-menu a:hover, .platifine-mobile-menu a:focus, .platifine-mobile-link:hover, .platifine-mobile-link:focus {
	color: var(--pf-navy);
	opacity: 0.72;
}
.platifine-brand {
	justify-self: center;
	color: var(--pf-navy);
	text-decoration: none;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(22px, 2.2vw, 30px);
	line-height: 1;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	white-space: nowrap;
}
.platifine-icon-button, .platifine-mobile-toggle, .platifine-mobile-close, .platifine-search-close, .platifine-card-wishlist, .platifine-search-submit, .platifine-shop-mobile-button, .platifine-shop-panel-close, .woocommerce ul.products li.product .button {
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}
.platifine-icon-button, .platifine-mobile-toggle {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	margin: 0;
	border: 0 !important;
	background: transparent !important;
	color: var(--pf-charcoal) !important;
	cursor: pointer;
	text-decoration: none;
	transform: none !important;
}
.platifine-icon-button svg, .platifine-mobile-toggle svg, .platifine-mobile-close svg, .platifine-search-close svg, .platifine-shop-mobile-button svg, .platifine-shop-panel-close svg {
	width: 21px;
	height: 21px;
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
	pointer-events: none;
}
.platifine-icon-button:hover, .platifine-icon-button:focus, .platifine-icon-button:active, .platifine-mobile-toggle:hover, .platifine-mobile-toggle:focus, .platifine-mobile-toggle:active, .platifine-mobile-close:hover, .platifine-mobile-close:focus, .platifine-mobile-close:active {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	color: var(--pf-navy) !important;
	opacity: 0.68;
	transform: none !important;
}
.platifine-cart-link, .platifine-wishlist-link {
	position: relative;
}
.platifine-cart-count, .platifine-wishlist-count {
	position: absolute;
	top: 3px;
	right: 1px;
	min-width: 15px;
	height: 15px;
	padding: 0 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--pf-navy);
	color: var(--pf-white);
	font-size: 9px;
	line-height: 1;
	letter-spacing: 0;
}
.platifine-wishlist-count[hidden] {
	display: none !important;
}
.platifine-mobile-toggle, .platifine-mobile-only {
	display: none;
}
/* Search */
.platifine-search-panel {
	position: fixed;
	inset: 0;
	z-index: 10001;
	display: none;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(88px, 12vh, 140px) 18px 40px;
	background: rgba(17, 22, 54, 0.72);
}
.platifine-search-panel.is-open {
	display: flex;
}
.platifine-search-box {
	width: min(720px, 100%);
	padding: clamp(24px, 4vw, 38px);
	background: #FFFFFF;
	border: 1px solid rgba(255, 255, 255, 0.46);
}
.platifine-search-heading {
	margin: 0 0 16px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(24px, 4vw, 38px);
	line-height: 1.12;
	color: var(--pf-navy);
	font-weight: 400;
}
.platifine-search-form {
	display: flex;
	align-items: stretch;
	border-bottom: 1px solid var(--pf-navy);
}
.platifine-search-input {
	flex: 1;
	min-width: 0;
	height: 52px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--pf-charcoal);
	font-size: 16px;
	outline: none;
}
.platifine-search-input::placeholder {
	color: #747B80;
}
.platifine-search-submit {
	min-width: 98px;
	height: 52px;
	padding: 0 4px !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--pf-navy) !important;
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	cursor: pointer;
}
.platifine-search-submit:hover, .platifine-search-submit:focus {
	background: transparent !important;
	color: var(--pf-navy) !important;
	opacity: 0.72;
}
.platifine-search-close {
	position: absolute;
	top: 22px;
	right: 22px;
	width: 46px;
	height: 46px;
	padding: 0 !important;
	border: 1px solid rgba(247, 247, 244, 0.36) !important;
	background: transparent !important;
	color: var(--pf-white) !important;
	cursor: pointer;
}
/* Mobile drawer */
.platifine-mobile-panel {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: none;
	background: rgba(17, 22, 54, 0.42);
}
.platifine-mobile-panel.is-open {
	display: block;
}
.platifine-mobile-drawer {
	width: min(390px, 88vw);
	height: 100%;
	padding: 22px 24px 34px;
	background: #FFFFFF;
	color: var(--pf-charcoal);
	transform: translateX(-100%);
	transition: transform 220ms ease;
	overflow-y: auto;
}
.platifine-mobile-panel.is-open .platifine-mobile-drawer {
	transform: translateX(0);
}
.platifine-mobile-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--pf-border);
}
.platifine-mobile-logo {
	color: var(--pf-navy);
	text-decoration: none;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 19px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}
.platifine-mobile-close {
	width: 42px;
	height: 42px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--pf-charcoal) !important;
	cursor: pointer;
}
.platifine-mobile-nav {
	display: grid;
	gap: 0;
	padding: 22px 0;
}
.platifine-mobile-menu a, .platifine-mobile-link {
	display: block;
	padding: 17px 0;
	border-bottom: 1px solid var(--pf-border);
	font-size: 13px;
	line-height: 1.2;
}
.platifine-mobile-note {
	margin-top: 18px;
	padding-top: 22px;
	border-top: 1px solid var(--pf-border);
	color: #60696F;
	font-size: 13px;
	line-height: 1.7;
}
/* v29: Remove wishlist from mobile header only */
/* ==========================================================
   Platifine luxury footer and trust pages
   ========================================================== */
.site-footer, .site-info, .footer-widgets, .generate-back-to-top {
	display: none !important;
}
.platifine-footer {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	clear: both;
	position: relative;
	z-index: 1;
	width: 100%;
	margin: clamp(54px, 8vw, 96px) 0 0;
	background: var(--pf-navy);
	color: rgba(247, 247, 244, 0.78);
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.platifine-footer a {
	color: inherit;
	text-decoration: none;
}
.platifine-footer a:hover, .platifine-footer a:focus {
	color: var(--pf-white);
}
.platifine-footer-trust {
	width: min(100%, 1480px);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	border-left: 1px solid rgba(255, 255, 255, 0.1);
}
.platifine-footer-trust-item {
	min-width: 0;
	min-height: 76px;
	padding: 18px clamp(12px, 2vw, 24px);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	border-right: 1px solid rgba(255, 255, 255, 0.1);
	color: #FFFFFF;
	font-size: 11px;
	line-height: 1.25;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-align: center;
	white-space: nowrap;
}
.platifine-footer-trust-icon {
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(247, 247, 244, 0.32);
	border-radius: 999px;
	color: #FFFFFF;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 11px;
	line-height: 1;
	letter-spacing: 0.05em;
}
.platifine-footer-main {
	width: min(100%, 1480px);
	margin: 0 auto;
	padding: clamp(42px, 7vw, 82px) clamp(22px, 5vw, 72px);
	display: grid;
	grid-template-columns: minmax(240px, 0.95fr) minmax(0, 2.1fr);
	gap: clamp(34px, 7vw, 94px);
}
.platifine-footer-brand {
	display: inline-block;
	margin: 0 0 22px;
	color: var(--pf-pearl) !important;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(26px, 3vw, 42px);
	line-height: 1;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}
.platifine-footer-brand-block p {
	max-width: 440px;
	margin: 0;
	color: rgba(247, 247, 244, 0.72);
	font-size: 15px;
	line-height: 1.9;
}
.platifine-footer-mini-promises {
	max-width: 460px;
	margin-top: 28px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.platifine-footer-mini-promises span {
	padding: 8px 11px;
	border: 1px solid rgba(247, 247, 244, 0.16);
	color: rgba(247, 247, 244, 0.84);
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.platifine-footer-columns {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(22px, 3vw, 46px);
}
.platifine-footer-contact {
	margin-top: 30px;
	max-width: 460px;
}
.platifine-footer-contact h2 {
	margin: 0 0 14px;
	color: #FFFFFF;
	font-size: 11px;
	line-height: 1.2;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-family: inherit;
	font-weight: 700;
}
.platifine-footer-address {
	margin: 0 0 14px;
	color: rgba(247, 247, 244, 0.72);
	font-size: 13px;
	line-height: 1.7;
	font-style: normal;
	letter-spacing: 0.04em;
}
.platifine-footer-address .platifine-footer-contact-label {
	display: block;
	margin-bottom: 6px;
}
.platifine-footer-contact-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.platifine-footer-contact-list li {
	display: flex;
	gap: 10px;
	align-items: baseline;
	font-size: 13px;
	line-height: 1.5;
}
.platifine-footer-contact-list li + li {
	margin-top: 8px;
}
.platifine-footer-contact-label {
	flex: 0 0 72px;
	color: rgba(247, 247, 244, 0.5);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.platifine-footer-contact-list a {
	color: rgba(247, 247, 244, 0.82);
	letter-spacing: 0.04em;
	transition: color 160ms ease, opacity 160ms ease;
}
.platifine-footer-contact-list a:hover,
.platifine-footer-contact-list a:focus {
	color: #FFFFFF;
}
.platifine-footer-column h2 {
	margin: 0 0 20px;
	color: #FFFFFF;
	font-size: 11px;
	line-height: 1.2;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-family: inherit;
	font-weight: 700;
}
.platifine-footer-column ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.platifine-footer-column li {
	margin: 0;
}
.platifine-footer-column li + li {
	margin-top: 11px;
}
.platifine-footer-column a {
	color: rgba(247, 247, 244, 0.68);
	font-size: 13px;
	line-height: 1.45;
	letter-spacing: 0.04em;
	transition: color 160ms ease, opacity 160ms ease;
}
.platifine-footer-bottom {
	width: min(100%, 1480px);
	margin: 0 auto;
	padding: 22px clamp(22px, 5vw, 72px) 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.platifine-footer-bottom p {
	margin: 0;
	color: rgba(247, 247, 244, 0.56);
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
@media (max-width: 1100px) {
	.platifine-footer-main {
		grid-template-columns: 1fr;
	}
	.platifine-footer-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 720px) {
	.platifine-footer {
		margin-top: 48px;
	}
	.platifine-footer-trust {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		overflow: hidden;
	}
	.platifine-footer-trust-item {
		min-height: 58px;
		padding: 10px 4px;
		gap: 5px;
		flex-direction: column;
		font-size: 8px;
		letter-spacing: 0.08em;
		white-space: normal;
	}
	.platifine-footer-trust-icon {
		width: 26px;
		height: 26px;
		flex-basis: 26px;
		font-size: 9px;
	}
	.platifine-footer-main {
		padding: 38px 22px 34px;
		gap: 32px;
	}
	.platifine-footer-brand-block p {
		font-size: 14px;
		line-height: 1.8;
	}
	.platifine-footer-columns {
		grid-template-columns: 1fr 1fr;
		gap: 30px 22px;
	}
	.platifine-footer-column h2 {
		margin-bottom: 14px;
		font-size: 10px;
	}
	.platifine-footer-column a {
		font-size: 12px;
		line-height: 1.4;
	}
	.platifine-footer-bottom {
		padding: 20px 22px 26px;
		flex-direction: column;
		align-items: flex-start;
	}
	.platifine-footer-bottom p {
		font-size: 9.5px;
	}
}
@media (max-width: 430px) {
	.platifine-footer-columns {
		grid-template-columns: 1fr;
	}
	.platifine-footer-mini-promises span {
		font-size: 9px;
	}
}
/* v30: Floating WhatsApp chat button */
.platifine-floating-whatsapp {
	position: fixed !important;
	right: max(18px, env(safe-area-inset-right)) !important;
	bottom: max(18px, env(safe-area-inset-bottom)) !important;
	z-index: 99980 !important;
	height: 54px !important;
	min-width: 54px !important;
	padding: 0 17px !important;
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 9px !important;
	border-radius: 999px !important;
	border: 0 !important;
	background: #25D366 !important;
	color: #FFFFFF !important;
	text-decoration: none !important;
	box-shadow: 0 10px 26px rgba(37, 211, 102, 0.34), 0 2px 8px rgba(7, 12, 34, 0.14) !important;
	-webkit-tap-highlight-color: transparent !important;
	transition: transform 160ms ease, opacity 160ms ease, box-shadow 160ms ease !important;
}
.platifine-floating-whatsapp:hover, .platifine-floating-whatsapp:focus {
	color: #FFFFFF !important;
	opacity: 1 !important;
	background: #1FBE5A !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 14px 32px rgba(37, 211, 102, 0.42), 0 2px 8px rgba(7, 12, 34, 0.16) !important;
	outline: none !important;
}
.platifine-floating-wa-icon {
	width: 28px !important;
	height: 28px !important;
	flex: 0 0 28px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	color: #FFFFFF !important;
}
.platifine-floating-wa-icon svg {
	width: 27px !important;
	height: 27px !important;
	display: block !important;
}
.platifine-floating-wa-text {
	font-size: 10.5px !important;
	line-height: 1 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
}
/* Icon-only on desktop too: the green circle plus glyph is the recognisable
   pattern, and a labelled pill competes with the page's own CTAs. */
.platifine-floating-wa-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.platifine-floating-whatsapp {
	width: 58px !important;
	height: 58px !important;
	min-width: 58px !important;
	padding: 0 !important;
	border-radius: 50% !important;
}
@media (max-width: 920px) {
	.platifine-floating-whatsapp {
		right: max(14px, env(safe-area-inset-right)) !important;
		bottom: max(16px, env(safe-area-inset-bottom)) !important;
		width: 52px !important;
		height: 52px !important;
		min-width: 52px !important;
		padding: 0 !important;
		border-radius: 50% !important;
	}
	.platifine-floating-wa-text {
		display: none !important;
	}
	body.single-product .platifine-floating-whatsapp {
		bottom: calc(86px + env(safe-area-inset-bottom)) !important;
	}
}
@media (max-width: 360px) {
	.platifine-floating-whatsapp {
		width: 48px !important;
		height: 48px !important;
		min-width: 48px !important;
	}
	.platifine-floating-wa-icon {
		width: 26px !important;
		height: 26px !important;
		flex-basis: 26px !important;
	}
}
/* v32: keep floating WhatsApp clear of mobile shop sort/filter bar */
@media (max-width: 920px) {
	body.woocommerce-shop .platifine-floating-whatsapp, body.post-type-archive-product .platifine-floating-whatsapp, body.tax-product_cat .platifine-floating-whatsapp, body.tax-product_tag .platifine-floating-whatsapp, body.tax-pa_metal-color .platifine-floating-whatsapp, body.tax-pa_ring-size .platifine-floating-whatsapp {
		bottom: calc(86px + env(safe-area-inset-bottom)) !important;
	}
}
/* v36: mobile header rules must load globally, not only on shop/product pages */
@media (max-width: 1100px) {
	.platifine-nav-left, .platifine-desktop-only {
		display: none !important;
	}
	.platifine-mobile-toggle {
		display: inline-flex !important;
		position: relative;
		z-index: 3;
		flex: 0 0 auto;
	}
	.platifine-header-inner {
		min-height: 64px;
		padding: 0 12px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
	}
	.platifine-brand {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		z-index: 1;
		font-size: 21px;
		letter-spacing: 0.18em;
		max-width: 54vw;
		overflow: hidden;
		text-align: center;
	}
	.platifine-utility-nav {
		margin-left: auto;
		justify-self: end;
		gap: 2px;
		position: relative;
		z-index: 3;
		flex: 0 0 auto;
	}
	.platifine-utility-nav .platifine-wishlist-link {
		display: none !important;
	}
	.platifine-icon-button, .platifine-mobile-toggle {
		width: 36px;
		height: 36px;
	}
}
@media (max-width: 920px) {
	.platifine-site-shell {
		position: relative !important;
		top: auto !important;
	}
	body.admin-bar .platifine-site-shell {
		top: auto !important;
	}
	.platifine-brand {
		font-size: 19px;
		letter-spacing: 0.15em;
		max-width: 54vw;
	}
	.platifine-icon-button, .platifine-mobile-toggle {
		width: 34px;
		height: 34px;
	}
}
@media (max-width: 390px) {
	.platifine-brand {
		font-size: 18px;
		letter-spacing: 0.13em;
		max-width: 58vw;
	}
}
@media (max-width: 370px) {
	.platifine-brand {
		font-size: 17px;
		letter-spacing: 0.11em;
	}
	.platifine-utility-nav {
		gap: 1px;
	}
	.platifine-icon-button, .platifine-mobile-toggle {
		width: 33px;
		height: 33px;
	}
}
/* ============================================================
 * v2.42 Primary category navigation
 * Desktop: full-width category bar with CSS-only mega dropdowns.
 * Mobile: native <details> accordions + product search in drawer.
 * No JavaScript added.
 * ============================================================ */
/* Top-row left column: toggle (mobile) vs spacer (desktop) keeps the logo centred */
.platifine-mobile-toggle {
	display: none;
}
.platifine-header-spacer {
	display: block;
}
/* Category bar — slim second row, just below the header */
.platifine-category-bar {
	position: relative;
	z-index: 50;
	background: rgba(255, 255, 255, 0.98);
	border-bottom: 1px solid var(--pf-border);
}
.platifine-category-bar-inner {
	width: min(100%, 1440px);
	margin: 0 auto;
	padding: 0 clamp(18px, 4vw, 56px);
}
.platifine-category-bar .platifine-primary-menu {
	justify-content: center;
	gap: clamp(20px, 2.4vw, 42px);
	min-height: 46px;
	flex-wrap: wrap;
}
/* Mega dropdown panels (hover + keyboard focus, no JS) */
.platifine-has-mega {
	position: relative;
}
.platifine-mega-top {
	display: inline-flex;
	align-items: center;
	padding: 13px 0;
}
.platifine-mega-top::after {
	content: "";
	width: 5px;
	height: 5px;
	margin-left: 7px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: rotate(45deg);
	opacity: 0.55;
	transition: transform 160ms ease;
}
.platifine-mega {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translate(-50%, 6px);
	min-width: 232px;
	background: var(--pf-white);
	border: 1px solid var(--pf-border);
	box-shadow: 0 20px 44px rgba(17, 22, 54, 0.13);
	padding: 12px 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms;
	z-index: 60;
}
.platifine-has-mega:hover > .platifine-mega, .platifine-has-mega:focus-within > .platifine-mega {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}
.platifine-has-mega:hover > .platifine-mega-top::after, .platifine-has-mega:focus-within > .platifine-mega-top::after {
	transform: rotate(-135deg);
}
.platifine-mega ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.platifine-mega li {
	margin: 0;
}
.platifine-mega a {
	display: block;
	padding: 9px 24px;
	white-space: nowrap;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: none;
	color: var(--pf-charcoal);
}
.platifine-mega a:hover, .platifine-mega a:focus {
	background: #FFFFFF;
	color: var(--pf-navy);
	opacity: 1;
}
.platifine-mega-all {
	margin-top: 6px;
	border-top: 1px solid var(--pf-border);
	padding-top: 4px;
}
.platifine-mega-all a {
	font-size: 10.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pf-navy);
}
/* In-drawer product search (mobile) */
.platifine-mobile-search {
	display: flex;
	align-items: center;
	margin: 2px 0 8px;
	border: 1px solid var(--pf-border);
	border-radius: 2px;
	background: var(--pf-white);
}
.platifine-mobile-search input[type="search"] {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: 13px 14px;
	font-size: 14px;
	color: var(--pf-charcoal);
}
.platifine-mobile-search input[type="search"]:focus {
	outline: none;
}
.platifine-mobile-search button {
	border: 0;
	background: transparent;
	cursor: pointer;
	height: 46px;
	padding: 0 14px;
	display: inline-flex;
	align-items: center;
	color: var(--pf-navy);
}
.platifine-mobile-search button svg {
	width: 18px;
	height: 18px;
}
/* Mobile accordion categories (native <details>) */
.platifine-mobile-has-children > details {
	border-bottom: 1px solid var(--pf-border);
}
.platifine-mobile-has-children summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 0;
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pf-charcoal);
}
.platifine-mobile-has-children summary::-webkit-details-marker {
	display: none;
}
.platifine-mobile-has-children summary::after {
	content: "";
	width: 7px;
	height: 7px;
	flex: 0 0 auto;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	opacity: 0.55;
	transition: transform 160ms ease;
}
.platifine-mobile-has-children details[open] summary::after {
	transform: rotate(-135deg);
}
.platifine-mobile-menu .platifine-mobile-sub {
	list-style: none;
	margin: 0;
	padding: 2px 0 14px;
}
.platifine-mobile-menu .platifine-mobile-sub a {
	display: block;
	padding: 11px 0 11px 16px;
	border-bottom: 0;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: none;
	color: var(--pf-muted);
}
.platifine-mobile-menu .platifine-mobile-sub a:hover, .platifine-mobile-menu .platifine-mobile-sub a:focus {
	color: var(--pf-navy);
}
/* Desktop only: hide the category bar and spacer at the mobile breakpoint */
@media (max-width: 1100px) {
	.platifine-category-bar {
		display: none;
	}
	.platifine-header-spacer {
		display: none;
	}
}

/* Platifine blue-and-white refinement. */
.platifine-brand,.platifine-footer-brand{font-family:Georgia,"Times New Roman",serif;letter-spacing:.19em}
.platifine-preheader{background:#111636;color:rgba(255,255,255,.76);border-bottom:1px solid rgba(200,205,210,.14)}
.platifine-preheader span{letter-spacing:.14em}
.platifine-header{background:#FFFFFF}
.platifine-category-bar{background:#FFFFFF;border-color:#E8EBF0}
.platifine-mega{border-top:1px solid #D9DEE1;box-shadow:0 24px 48px rgba(17,22,54,.10)}
.platifine-footer{background:#111636}
.platifine-footer-trust{background:#111636;border-color:rgba(200,205,210,.15)}
.platifine-footer-trust-icon{border-color:rgba(182,164,137,.72);color:#E9ECEE}

/* Platifine contact and social details supplied for v0.5.0. */
.platifine-footer-contact-list li>span:last-child{color:rgba(247,247,244,.78)}
.platifine-footer-socials{display:flex;flex-wrap:wrap;gap:9px 16px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(247,247,244,.13)}
.platifine-footer-socials a{color:rgba(247,247,244,.72);font-size:10px;line-height:1.4;letter-spacing:.13em;text-decoration:none;text-transform:uppercase}
.platifine-footer-socials a:hover,.platifine-footer-socials a:focus{color:#fff}
@media(max-width:680px){
	.platifine-preheader{min-height:42px;gap:8px;padding:7px 9px;font-size:8px;letter-spacing:.1em}
	.platifine-preheader span+span::before{margin-right:8px}
	.platifine-footer-contact-list li{align-items:flex-start}
}

/* v0.7.6: homepage mobile overlap correction. */
@media (max-width: 700px) {
	body.platifine-home-page .platifine-floating-whatsapp {
		right: max(10px, env(safe-area-inset-right)) !important;
		bottom: max(12px, env(safe-area-inset-bottom)) !important;
		width: 46px !important;
		height: 46px !important;
		min-width: 46px !important;
	}
	body.platifine-home-page .platifine-floating-wa-icon {
		width: 24px !important;
		height: 24px !important;
		flex-basis: 24px !important;
	}
	body.platifine-home-page .platifine-floating-wa-icon svg {
		width: 24px !important;
		height: 24px !important;
	}
}

/* ============================================================
 * v0.8.0 catalogue mega menu
 * Shopper navigation follows jewellery type; stone families remain available
 * as a separate route and continue to control product profile templates.
 * ============================================================ */
@media (min-width: 1101px) {
	.platifine-category-bar .platifine-primary-menu {
		position: static;
		gap: clamp(18px, 2.1vw, 38px);
		flex-wrap: nowrap;
	}
	.platifine-has-mega {
		position: static;
	}
	.platifine-mega {
		left: 0;
		right: 0;
		top: 100%;
		width: 100%;
		min-width: 0;
		padding: 0;
		transform: translateY(8px);
		border-width: 1px 0;
	}
	.platifine-has-mega:hover > .platifine-mega,
	.platifine-has-mega:focus-within > .platifine-mega {
		transform: translateY(0);
	}
	.platifine-mega-inner {
		width: min(100%, 1440px);
		margin: 0 auto;
		padding: 30px clamp(24px, 4vw, 58px) 24px;
	}
	.platifine-mega-grid {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
		gap: 28px clamp(24px, 3vw, 48px);
	}
	.platifine-mega-column {
		min-width: 0;
	}
	.platifine-mega-column ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	.platifine-mega-heading {
		display: block;
		margin: 0 0 12px;
		padding: 0 0 10px !important;
		border-bottom: 1px solid var(--pf-border);
		color: var(--pf-navy) !important;
		font-size: 10.5px !important;
		font-weight: 700;
		line-height: 1.25;
		letter-spacing: .15em !important;
		text-transform: uppercase !important;
		white-space: normal !important;
	}
	.platifine-mega-column li + li {
		margin-top: 2px;
	}
	.platifine-mega-column li a {
		padding: 7px 0;
		white-space: normal;
		font-size: 12.5px;
		line-height: 1.35;
		letter-spacing: .02em;
	}
	.platifine-mega-all {
		display: block;
		margin-top: 24px;
		padding: 15px 0 0;
		border-top: 1px solid var(--pf-border);
		color: var(--pf-navy) !important;
		font-size: 10.5px !important;
		font-weight: 700;
		letter-spacing: .16em !important;
		text-transform: uppercase !important;
	}
}

.platifine-mobile-mega {
	padding: 0 0 18px;
}
.platifine-mobile-view-all {
	display: block;
	margin: 0 0 8px;
	padding: 12px 0 !important;
	border-bottom: 1px solid var(--pf-border) !important;
	color: var(--pf-navy) !important;
	font-size: 10.5px !important;
	font-weight: 700;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
}
.platifine-mobile-menu-group {
	padding: 15px 0 2px;
}
.platifine-mobile-menu-group + .platifine-mobile-menu-group {
	border-top: 1px solid rgba(17, 22, 54, .08);
}
.platifine-mobile-menu-group-title {
	display: block;
	padding: 0 0 7px !important;
	border: 0 !important;
	color: var(--pf-navy) !important;
	font-size: 10px !important;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
}
.platifine-mobile-menu .platifine-mobile-menu-group .platifine-mobile-sub {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 14px;
	padding: 0;
}
.platifine-mobile-menu .platifine-mobile-menu-group .platifine-mobile-sub a {
	padding: 8px 0;
	font-size: 12.5px;
	line-height: 1.35;
}
@media (max-width: 390px) {
	.platifine-mobile-menu .platifine-mobile-menu-group .platifine-mobile-sub {
		grid-template-columns: 1fr;
	}
}
