/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

html {
	height: 100%;
}

body {
	min-height: 100%;
	background: #0b3d91;
}

/* Full-width layout (no centered 1000px box) */
.main_wrapper {
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
	background: linear-gradient(180deg, #fffef5 0%, #fff9e6 35%, #fffde7 100%);
	box-sizing: border-box;
	box-shadow: 0 0 0 1px rgba(11, 61, 145, 0.08);
}

/* —— Site header: blue + yellow brand theme + gadgets banner —— */
.site_header {
	width: 100%;
	margin: 0;
	background: linear-gradient(135deg, #082654 0%, #0b3d91 38%, #1565c0 72%, #0d47a1 100%);
	border-bottom: 4px solid #ffc107;
	box-shadow: 0 6px 28px rgba(8, 38, 84, 0.45);
	box-sizing: border-box;
}

.site_header_inner {
	display: flex;
	align-items: stretch;
	gap: clamp(10px, 2vw, 20px);
	padding: 12px clamp(12px, 3vw, 32px) 14px;
	min-height: 108px;
	box-sizing: border-box;
}

.site_header_brand {
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
	color: #fff;
	flex-shrink: 0;
	max-width: 44%;
	transition: transform 0.2s ease, filter 0.2s ease;
	padding: 8px 14px 8px 8px;
	margin: -8px 0 -8px -8px;
	border-radius: 14px;
	background: rgba(0, 0, 0, 0.12);
	border: 1px solid rgba(255, 193, 7, 0.35);
}

.site_header_brand:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
}

.site_header_logo {
	width: 58px;
	height: 58px;
	object-fit: contain;
	border-radius: 14px;
	box-shadow:
		0 2px 0 #ffc107,
		0 6px 20px rgba(0, 0, 0, 0.35);
	flex-shrink: 0;
	background: #fff;
	border: 3px solid #ffeb3b;
}

.site_header_wordmark {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.site_header_title {
	font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: clamp(1.25rem, 2.5vw, 1.55rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.1;
	color: #ffeb3b;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.site_header_sub {
	font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
	font-size: 0.74rem;
	font-weight: 600;
	color: #e3f2fd;
	line-height: 1.35;
	opacity: 0.95;
}

.site_header_promo {
	flex: 1;
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	min-height: 92px;
	min-width: 0;
	border: 2px solid rgba(255, 193, 7, 0.45);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.site_header_promo_bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 60% center;
	transform: scale(1.02);
}

.site_header_promo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(11, 61, 145, 0.93) 0%,
		rgba(11, 61, 145, 0.5) 42%,
		rgba(255, 193, 7, 0.08) 85%,
		transparent 100%
	);
	pointer-events: none;
}

.site_header_promo_text {
	position: relative;
	z-index: 1;
	padding: 14px clamp(14px, 3vw, 22px);
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: left;
	max-width: 82%;
	box-sizing: border-box;
}

.site_header_promo_kicker {
	font-family: "Segoe UI", system-ui, sans-serif;
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: #ffeb3b;
	margin-bottom: 6px;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}

.site_header_promo_headline {
	font-family: "Segoe UI", system-ui, sans-serif;
	font-size: clamp(0.95rem, 2.2vw, 1.35rem);
	font-weight: 800;
	line-height: 1.25;
	color: #ffffff;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.5);
}

.menubar {
	width: 100%;
	min-height: 52px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	background: linear-gradient(90deg, #061f4d 0%, #0b3d91 45%, #0a3378 100%);
	color: #fffbec;
	text-align: left;
	font-weight: 600;
	font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
	border-bottom: 3px solid #ffc107;
	box-sizing: border-box;
	padding: 0;
}

.menubar_primary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 16px;
	padding: 10px clamp(8px, 2.5vw, 28px);
	box-sizing: border-box;
}

.menubar_secondary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	padding: 8px clamp(8px, 2.5vw, 28px) 10px;
	background: rgba(0, 0, 0, 0.2);
	border-top: 1px solid rgba(255, 235, 59, 0.18);
	font-size: 12px;
	font-weight: 600;
	box-sizing: border-box;
}

.menubar_sub_link {
	color: #e1f0ff;
	text-decoration: none;
	padding: 5px 8px;
	border-radius: 6px;
	transition: background 0.15s ease, color 0.15s ease;
}

.menubar_sub_link:hover {
	color: #0b3d91;
	background: rgba(255, 235, 59, 0.9);
}

.menubar_sub_link--active {
	color: #082654;
	background: linear-gradient(180deg, #ffeb3b 0%, #ffc107 100%);
	font-weight: 800;
}

.menubar_sub_sep {
	color: rgba(255, 255, 255, 0.35);
	user-select: none;
	font-weight: 400;
}

#menu {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 6px;
	line-height: 1.2;
	float: none;
}

#menu li {
	list-style: none;
	display: inline-flex;
	margin: 0;
}

#menu .nav-link {
	text-decoration: none;
	color: #e3f2fd;
	padding: 9px 14px;
	font-size: 14px;
	font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
	font-weight: 600;
	border-radius: 8px;
	transition: color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.1s ease;
	border: 1px solid transparent;
	white-space: nowrap;
}

#menu .nav-link:hover {
	color: #0b3d91;
	background: rgba(255, 235, 59, 0.92);
	border-color: rgba(255, 193, 7, 0.6);
	text-decoration: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

#menu .nav-link:focus-visible {
	outline: 2px solid #ffeb3b;
	outline-offset: 2px;
}

#menu .nav-link--active {
	color: #082654;
	background: linear-gradient(180deg, #ffeb3b 0%, #ffc107 100%);
	border: 1px solid rgba(255, 193, 7, 0.95);
	box-shadow:
		0 2px 0 rgba(0, 0, 0, 0.12),
		0 4px 14px rgba(0, 0, 0, 0.18);
	font-weight: 800;
}

#menu .nav-link--active:hover {
	color: #051a3d;
	background: linear-gradient(180deg, #fff176 0%, #ffca28 100%);
	border-color: #ffeb3b;
}

#form {
	float: none;
	flex-shrink: 0;
	padding: 0;
	height: auto;
	display: flex;
	align-items: center;
}

#form form {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

#form input[type="text"] {
	width: 200px;
	max-width: 220px;
	padding: 8px 14px;
	font-size: 14px;
	font-family: Arial, Helvetica, sans-serif;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	background: #fff;
	color: #222;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
	vertical-align: middle;
}

#form input[type="text"]::placeholder {
	color: #888;
}

#form input[type="text"]:focus {
	outline: none;
	border-color: #ffc107;
	box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.45), inset 0 1px 2px rgba(0, 0, 0, 0.06);
}

#form input[type="submit"] {
	padding: 8px 18px;
	font-size: 13px;
	font-weight: 700;
	font-family: "Segoe UI", system-ui, sans-serif;
	letter-spacing: 0.02em;
	border: 1px solid #f9a825;
	border-radius: 8px;
	background: linear-gradient(180deg, #ffeb3b 0%, #ffc107 100%);
	color: #0b3d91;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
	transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.08s ease;
	vertical-align: middle;
}

#form input[type="submit"]:hover {
	background: linear-gradient(180deg, #fff176 0%, #ffca28 100%);
	box-shadow: 0 3px 10px rgba(11, 61, 145, 0.25);
}

#form input[type="submit"]:active {
	transform: translateY(1px);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

.content_wrapper {
	display: flex;
	align-items: stretch;
	width: 100%;
	margin: 0;
	background: linear-gradient(180deg, #fff9c4 0%, #fff59d 100%);
	border-top: 1px solid rgba(11, 61, 145, 0.12);
}

#content_area {
	flex: 1;
	min-width: 0;
	width: auto;
	background: linear-gradient(165deg, #ffeb3b 0%, #ffd54f 40%, #ffca28 100%);
	text-align: center;
	padding: 24px 16px;
	box-sizing: border-box;
	min-height: 200px;
	line-height: 1.5;
	color: #000;
	font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
	font-weight: bold;
}

#content_area.content_area--shop {
	font-weight: normal;
	color: #0f172a;
	padding: 28px clamp(14px, 3vw, 32px) 40px;
	text-align: left;
}

#content_area.content_area--page {
	font-weight: normal;
	text-align: left;
	color: #0f172a;
	padding: 32px clamp(16px, 3vw, 40px) 48px;
	background: linear-gradient(165deg, #fffef9 0%, #e3f2fd 45%, #bbdefb 100%);
	border-left: 1px solid rgba(11, 61, 145, 0.06);
}

/* —— Intro splash: premium landing; ~3s hold + progress; matches GadgetHub mockup —— */
html.store_splash_open,
html.store_splash_open body {
	overflow: hidden;
	height: 100%;
}

.store_splash {
	--splash-font: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
	--splash-gold: #ffd60a;
	--splash-gold-deep: #ffc300;
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(20px, 5vw, 48px);
	padding-bottom: calc(clamp(20px, 5vw, 48px) + 12px);
	box-sizing: border-box;
	font-family: var(--splash-font);
	background:
		radial-gradient(ellipse 85% 65% at 50% 28%, rgba(56, 189, 248, 0.12) 0%, transparent 55%),
		radial-gradient(ellipse 70% 50% at 80% 80%, rgba(255, 214, 10, 0.06) 0%, transparent 45%),
		radial-gradient(ellipse 100% 90% at 50% 40%, #1e3a5f 0%, #0f172a 38%, #020617 100%);
	animation: store_splash_in 1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.store_splash--exit {
	animation: store_splash_out 0.5s cubic-bezier(0.4, 0, 1, 1) forwards;
	pointer-events: none;
}

.store_splash_vignette {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: radial-gradient(ellipse 75% 65% at 50% 42%, transparent 0%, rgba(0, 0, 0, 0.72) 100%);
}

.store_splash_spotlight {
	position: absolute;
	top: 12%;
	left: 50%;
	z-index: 0;
	width: min(110vw, 820px);
	height: min(72vh, 620px);
	transform: translateX(-50%);
	pointer-events: none;
	background: radial-gradient(ellipse closest-side, rgba(96, 165, 250, 0.2) 0%, transparent 72%);
	animation: store_splash_spot_pulse 5s ease-in-out infinite;
}

.store_splash_mesh {
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: 0.55;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 36px 36px;
	background-position: 0 0;
	animation: store_splash_mesh_drift 18s linear infinite;
	pointer-events: none;
}

.store_splash_content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 580px;
	text-align: center;
}

.store_splash_panel {
	padding: clamp(28px, 5vw, 46px) clamp(22px, 4vw, 40px);
	border-radius: 28px;
	text-align: center;
	background: linear-gradient(
		168deg,
		rgba(255, 255, 255, 0.11) 0%,
		rgba(255, 255, 255, 0.04) 45%,
		rgba(15, 23, 42, 0.35) 100%
	);
	border: 1px solid rgba(255, 255, 255, 0.16);
	box-shadow:
		0 0 0 1px rgba(0, 0, 0, 0.45) inset,
		0 28px 70px rgba(0, 0, 0, 0.55),
		0 0 100px rgba(59, 130, 246, 0.1);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	animation: store_splash_panel_reveal 1s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both;
}

.store_splash_brand {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(14px, 3vw, 20px);
	margin-bottom: 12px;
	animation: store_splash_rise 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both;
}

.store_splash_logo_tile {
	flex-shrink: 0;
	padding: 11px;
	border-radius: 20px;
	background: #fff;
	border: 3px solid var(--splash-gold);
	box-shadow:
		0 2px 0 rgba(0, 0, 0, 0.15),
		0 14px 36px rgba(0, 0, 0, 0.45),
		0 0 28px rgba(255, 214, 10, 0.2);
	animation: store_splash_logo_float 2.8s ease-in-out infinite 0.9s;
}

.store_splash_logo {
	display: block;
	width: clamp(64px, 13vw, 84px);
	height: clamp(64px, 13vw, 84px);
	object-fit: contain;
	border-radius: 14px;
}

.store_splash_wordmark {
	font-family: var(--splash-font);
	font-size: clamp(1.45rem, 4.2vw, 1.95rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
	color: var(--splash-gold);
	text-shadow:
		0 0 40px rgba(255, 214, 10, 0.35),
		0 2px 14px rgba(0, 0, 0, 0.5);
}

.store_splash_tagline {
	margin: 0 0 20px 0;
	font-family: var(--splash-font);
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.24em;
	color: rgba(255, 255, 255, 0.88);
	animation: store_splash_rise 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.22s both;
}

.store_splash_title_rule {
	width: 56px;
	height: 3px;
	margin: 0 auto 18px;
	border-radius: 3px;
	background: linear-gradient(90deg, #2dd4bf 0%, var(--splash-gold) 100%);
	box-shadow: 0 0 16px rgba(45, 212, 191, 0.35);
	animation: store_splash_rise 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.28s both;
}

.store_splash_title {
	margin: 0 0 18px 0;
	font-family: var(--splash-font);
	font-size: clamp(1.85rem, 5.5vw, 2.65rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.035em;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.08em;
	text-shadow: 0 4px 28px rgba(0, 0, 0, 0.45);
	animation: store_splash_rise 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.32s both;
}

.store_splash_title_line {
	display: block;
}

.store_splash_title_line--accent {
	background: linear-gradient(92deg, #ffffff 0%, #f8fafc 35%, #fde047 90%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.35));
}

.store_splash_lead {
	margin: 0 0 30px 0;
	font-family: var(--splash-font);
	font-size: clamp(0.9rem, 2.1vw, 1.06rem);
	font-weight: 500;
	line-height: 1.65;
	color: rgba(241, 245, 249, 0.9);
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
	animation: store_splash_rise 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.4s both;
}

.store_splash_actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
	animation: store_splash_rise 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.48s both;
}

.store_splash_btn {
	font-family: var(--splash-font);
	font-size: 0.94rem;
	font-weight: 700;
	padding: 15px 28px;
	border-radius: 14px;
	border: 2px solid transparent;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.store_splash_btn--primary {
	background: linear-gradient(180deg, #ffeb3b 0%, var(--splash-gold-deep) 100%);
	color: #0a0a0a;
	border: 3px solid #0a0a0a;
	box-shadow:
		0 4px 0 #0a0a0a,
		0 12px 32px rgba(0, 0, 0, 0.4);
}

.store_splash_btn--primary:hover {
	transform: translateY(-3px);
	box-shadow:
		0 6px 0 #0a0a0a,
		0 18px 40px rgba(0, 0, 0, 0.45);
}

.store_splash_btn--primary:active {
	transform: translateY(0);
	box-shadow: 0 2px 0 #0a0a0a, 0 8px 24px rgba(0, 0, 0, 0.35);
}

.store_splash_btn--primary:focus-visible {
	outline: 3px solid var(--splash-gold);
	outline-offset: 4px;
}

.store_splash_btn--ghost {
	background: rgba(255, 255, 255, 0.06);
	color: #f1f5f9;
	border: 2px solid rgba(255, 255, 255, 0.42);
}

.store_splash_btn--ghost:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.55);
}

.store_splash_btn--ghost:focus-visible {
	outline: 3px solid rgba(253, 224, 71, 0.9);
	outline-offset: 3px;
}

.store_splash_foot {
	margin: 26px 0 0 0;
	font-family: var(--splash-font);
	font-size: 0.76rem;
	font-weight: 500;
	color: rgba(203, 213, 225, 0.65);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	animation: store_splash_rise 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.56s both;
}

.store_splash_keys {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.35em;
	padding: 5px 9px;
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid rgba(255, 255, 255, 0.18);
	font-weight: 800;
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	color: var(--splash-gold);
}

.store_splash_foot_text {
	font-weight: 500;
}

.store_splash_foot_text #store_splash_count {
	font-weight: 800;
	color: #fde047;
}

.store_splash_progress {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: rgba(0, 0, 0, 0.45);
	z-index: 2;
	overflow: hidden;
}

.store_splash_progress_bar {
	display: block;
	height: 100%;
	width: 0%;
	border-radius: 0 3px 3px 0;
	background: linear-gradient(90deg, var(--splash-gold-deep) 0%, #fde047 50%, var(--splash-gold) 100%);
	box-shadow: 0 0 20px rgba(253, 224, 71, 0.55);
	animation: store_splash_progress_fill 3s linear forwards;
}

@keyframes store_splash_panel_reveal {
	from {
		opacity: 0;
		transform: translateY(26px) scale(0.97);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes store_splash_spot_pulse {
	0%,
	100% {
		opacity: 1;
		transform: translateX(-50%) scale(1);
	}
	50% {
		opacity: 0.75;
		transform: translateX(-50%) scale(1.05);
	}
}

@keyframes store_splash_rise {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes store_splash_logo_float {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-7px);
	}
}

@keyframes store_splash_mesh_drift {
	from {
		background-position: 0 0;
	}
	to {
		background-position: 36px 36px;
	}
}

@keyframes store_splash_progress_fill {
	from {
		width: 0%;
	}
	to {
		width: 100%;
	}
}

@keyframes store_splash_in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes store_splash_out {
	to {
		opacity: 0;
		transform: scale(1.03);
		filter: blur(3px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.store_splash,
	.store_splash--exit {
		animation: none;
	}

	.store_splash_spotlight,
	.store_splash_mesh {
		animation: none;
	}

	.store_splash_panel {
		animation: none;
		opacity: 1;
		transform: none;
	}

	.store_splash_brand,
	.store_splash_tagline,
	.store_splash_title_rule,
	.store_splash_title,
	.store_splash_lead,
	.store_splash_actions,
	.store_splash_foot {
		animation: none;
		opacity: 1;
		transform: none;
	}

	.store_splash_logo_tile {
		animation: none;
	}

	.store_splash_progress_bar {
		animation: none;
		width: 100%;
	}
}

/* —— Global page loader (navigation → full load) —— */
.page_loader {
	--pl-gold: #ffd60a;
	position: fixed;
	inset: 0;
	z-index: 99950;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: auto;
	opacity: 1;
	visibility: visible;
	transition:
		opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0.4s step-end;
}

html.page-loaded .page_loader {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0s linear 0.45s;
}

.page_loader_backdrop {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 80% 60% at 50% 35%, rgba(56, 189, 248, 0.1) 0%, transparent 55%),
		linear-gradient(165deg, #0a1628 0%, #0f172a 45%, #020617 100%);
}

.page_loader_mesh {
	position: absolute;
	inset: 0;
	opacity: 0.35;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 32px 32px;
	animation: page_loader_mesh_drift 10s linear infinite;
	pointer-events: none;
}

.page_loader_inner {
	position: relative;
	z-index: 1;
	text-align: center;
	padding: 32px;
}

.page_loader_ring_wrap {
	position: relative;
	width: 112px;
	height: 112px;
	margin: 0 auto 22px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.page_loader_ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 4px solid rgba(255, 255, 255, 0.12);
	border-top-color: var(--pl-gold);
	border-right-color: rgba(253, 224, 71, 0.65);
	animation: page_loader_spin 0.85s linear infinite;
	box-shadow: 0 0 32px rgba(255, 214, 10, 0.15);
}

.page_loader_logo {
	position: relative;
	z-index: 1;
	width: 56px;
	height: 56px;
	object-fit: contain;
	border-radius: 14px;
	background: #fff;
	border: 2px solid var(--pl-gold);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
	animation: page_loader_logo_pulse 1.4s ease-in-out infinite;
}

.page_loader_text {
	font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(241, 245, 249, 0.9);
	margin: 0;
}

.page_loader_dots span {
	animation: page_loader_dot 1.2s ease-in-out infinite;
	opacity: 0.35;
}

.page_loader_dots span:nth-child(2) {
	animation-delay: 0.15s;
}

.page_loader_dots span:nth-child(3) {
	animation-delay: 0.3s;
}

@keyframes page_loader_spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes page_loader_mesh_drift {
	from {
		background-position: 0 0;
	}
	to {
		background-position: 32px 32px;
	}
}

@keyframes page_loader_logo_pulse {
	0%,
	100% {
		transform: scale(1);
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
	}
	50% {
		transform: scale(1.05);
		box-shadow: 0 6px 28px rgba(255, 214, 10, 0.25);
	}
}

@keyframes page_loader_dot {
	0%,
	80%,
	100% {
		opacity: 0.25;
	}
	40% {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page_loader_ring,
	.page_loader_mesh,
	.page_loader_logo,
	.page_loader_dots span {
		animation: none;
	}

	.page_loader_ring {
		border-top-color: var(--pl-gold);
		opacity: 1;
	}
}

/* —— Home: hero, trust, category pills —— */
.home_hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(125deg, #082654 0%, #0b3d91 38%, #1565c0 72%, #0d47a1 100%);
	border-radius: 20px;
	padding: clamp(24px, 4vw, 40px) clamp(20px, 4vw, 36px);
	margin: 0 0 22px 0;
	box-shadow:
		0 20px 50px rgba(8, 38, 84, 0.4),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 193, 7, 0.4);
}

.home_hero::before {
	content: "";
	position: absolute;
	inset: -40% -20% auto auto;
	width: min(70%, 520px);
	height: min(120%, 420px);
	background: radial-gradient(circle, rgba(255, 235, 59, 0.12) 0%, transparent 70%);
	pointer-events: none;
}

.home_hero_grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(20px, 4vw, 32px);
	align-items: center;
}

@media (min-width: 880px) {
	.home_hero_grid {
		grid-template-columns: minmax(0, 1fr) minmax(220px, 38%);
		gap: clamp(24px, 4vw, 40px);
	}
}

.home_hero_inner {
	max-width: 640px;
}

.home_hero_highlights {
	margin: 0 0 20px 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	font-family: "Segoe UI", system-ui, sans-serif;
	font-size: 0.82rem;
	font-weight: 600;
	color: rgba(227, 242, 253, 0.92);
}

.home_hero_highlights li {
	display: flex;
	align-items: center;
	gap: 8px;
}

.home_hero_highlights li::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #ffeb3b;
	box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.35);
	flex-shrink: 0;
}

.home_hero_visual {
	display: flex;
	justify-content: center;
}

@media (min-width: 880px) {
	.home_hero_visual {
		justify-content: flex-end;
	}
}

.home_hero_visual_frame {
	position: relative;
	width: 100%;
	max-width: 380px;
	border-radius: 18px;
	overflow: hidden;
	border: 2px solid rgba(255, 193, 7, 0.45);
	box-shadow:
		0 16px 48px rgba(0, 0, 0, 0.35),
		inset 0 0 0 1px rgba(255, 255, 255, 0.12);
	background: rgba(0, 0, 0, 0.2);
}

.home_hero_visual_frame::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		145deg,
		rgba(11, 61, 145, 0.15) 0%,
		transparent 45%,
		rgba(255, 193, 7, 0.08) 100%
	);
	pointer-events: none;
}

.home_hero_visual_img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 58% center;
	transform: scale(1.03);
}

.home_hero_eyebrow {
	margin: 0 0 10px 0;
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #ffeb3b;
}

.home_hero_title {
	margin: 0 0 12px 0;
	font-size: clamp(1.5rem, 3.5vw, 2.1rem);
	font-weight: 800;
	line-height: 1.15;
	color: #fff;
	letter-spacing: -0.02em;
}

.home_hero_lead {
	margin: 0 0 22px 0;
	font-size: 0.98rem;
	line-height: 1.55;
	color: rgba(227, 242, 253, 0.95);
	max-width: 520px;
}

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

.home_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 22px;
	border-radius: 10px;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.12s ease, box-shadow 0.2s ease, background 0.2s ease;
	border: 2px solid transparent;
}

.home_btn--primary {
	background: linear-gradient(180deg, #ffeb3b 0%, #ffc107 100%);
	color: #082654;
	border-color: rgba(255, 193, 7, 0.9);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

.home_btn--primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
}

.home_btn--secondary {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.35);
}

.home_btn--secondary:hover {
	background: rgba(255, 255, 255, 0.18);
}

.home_trust {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px;
	margin: 0 0 22px 0;
}

.home_trust_item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(11, 61, 145, 0.12);
	border-radius: 12px;
	padding: 14px 16px;
	box-shadow: 0 2px 10px rgba(11, 61, 145, 0.08);
}

.home_trust_icon {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: linear-gradient(180deg, #0b3d91, #1565c0);
	color: #ffeb3b;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	flex-shrink: 0;
}

.home_trust_item strong {
	display: block;
	font-size: 0.88rem;
	color: #0b3d91;
}

.home_trust_sub {
	display: block;
	font-size: 0.75rem;
	color: #64748b;
	font-weight: 500;
	margin-top: 2px;
}

.home_pills_wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	margin: 0 0 24px 0;
	padding: 14px 16px;
	background: rgba(255, 255, 255, 0.55);
	border-radius: 12px;
	border: 1px solid rgba(11, 61, 145, 0.1);
}

.home_pills_label {
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #0b3d91;
}

.home_pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.home_pill {
	display: inline-block;
	padding: 8px 14px;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
	color: #0b3d91;
	background: #fff;
	border: 2px solid #0b3d91;
	transition: background 0.15s ease, color 0.15s ease;
}

.home_pill:hover {
	background: #0b3d91;
	color: #ffeb3b;
	border-color: #ffc107;
}

.products_section_head {
	margin: 0 0 20px 0;
	padding-bottom: 16px;
	border-bottom: 2px solid rgba(11, 61, 145, 0.15);
}

.products_section_title {
	margin: 0 0 6px 0;
	font-size: 1.35rem;
	font-weight: 800;
	color: #082654;
	letter-spacing: -0.02em;
}

.products_section_sub {
	margin: 0;
	font-size: 0.92rem;
	color: #475569;
	font-weight: 500;
	line-height: 1.45;
}

/* —— Static pages: account, signup, contact —— */
.page_stack {
	max-width: 1100px;
	margin: 0 auto;
}

.page_stack--narrow {
	max-width: 560px;
}

.page_intro {
	margin-bottom: 28px;
}

.page_eyebrow {
	margin: 0 0 8px 0;
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #0b3d91;
}

.page_title {
	margin: 0 0 10px 0;
	font-size: clamp(1.65rem, 3vw, 2.1rem);
	font-weight: 800;
	color: #082654;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.page_lead {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.55;
	color: #475569;
	max-width: 560px;
}

.page_flash {
	margin: 0 0 22px 0;
	padding: 14px 18px;
	border-radius: 12px;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.45;
}

.page_flash--ok {
	background: rgba(22, 163, 74, 0.12);
	border: 1px solid rgba(22, 163, 74, 0.35);
	color: #166534;
}

.page_flash--err {
	background: rgba(220, 38, 38, 0.1);
	border: 1px solid rgba(220, 38, 38, 0.35);
	color: #991b1b;
}

.page_card_grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 24px;
	align-items: start;
}

.page_card_grid--contact {
	grid-template-columns: 1.15fr 0.85fr;
}

.page_card {
	border-radius: 16px;
	padding: clamp(22px, 3vw, 32px);
	box-sizing: border-box;
}

.page_card--elevated {
	background: #fff;
	border: 1px solid rgba(11, 61, 145, 0.12);
	box-shadow: 0 16px 48px rgba(11, 61, 145, 0.12);
}

.page_card--muted {
	background: linear-gradient(180deg, rgba(11, 61, 145, 0.06) 0%, rgba(11, 61, 145, 0.02) 100%);
	border: 1px solid rgba(11, 61, 145, 0.1);
}

.page_card--solo {
	max-width: 100%;
}

.page_card--track {
	max-width: 520px;
}

.help_grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	align-items: start;
}

@media (max-width: 800px) {
	.help_grid {
		grid-template-columns: 1fr;
	}
}

.help_card {
	background: #fff;
	border: 1px solid rgba(11, 61, 145, 0.12);
	border-radius: 16px;
	padding: clamp(20px, 3vw, 28px);
	box-shadow: 0 8px 28px rgba(11, 61, 145, 0.08);
	box-sizing: border-box;
}

.help_card--accent {
	background: linear-gradient(165deg, #fffef8 0%, #e8f2ff 100%);
	border-color: rgba(255, 193, 7, 0.45);
}

.help_card_title {
	margin: 0 0 14px 0;
	font-size: 1.05rem;
	font-weight: 800;
	color: #082654;
}

.help_list {
	margin: 0;
	padding: 0 0 0 18px;
	list-style: disc;
	color: #475569;
	font-size: 0.92rem;
	line-height: 1.55;
}

.help_list li {
	margin: 0 0 10px 0;
}

.help_list a {
	color: #0b3d91;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.help_cta {
	margin: 18px 0 0 0;
}

.track_hint {
	margin: 20px 0 0 0;
	font-size: 0.88rem;
	line-height: 1.5;
	color: #64748b;
}

.page_stack--track {
	max-width: 720px;
}

.page_card--track {
	max-width: none;
}

.track_result {
	margin-top: 8px;
}

.track_meta_grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 16px;
	margin: 8px 0 4px 0;
}

.track_meta_block--wide {
	grid-column: 1 / -1;
}

.track_meta_h {
	margin: 0 0 4px 0;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #64748b;
}

.track_meta_p {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 600;
	color: #0f172a;
	line-height: 1.45;
}

.track_meta_sub {
	font-weight: 500;
	color: #64748b;
	font-size: 0.88rem;
}

.track_meta_mono {
	font-family: ui-monospace, "Cascadia Code", monospace;
	font-size: 0.9rem;
	word-break: break-all;
}

.track_section_h {
	margin: 22px 0 12px 0;
	font-size: 0.95rem;
	font-weight: 800;
	color: #082654;
}

.track_timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	position: relative;
}

.track_step {
	display: grid;
	grid-template-columns: 22px 1fr;
	gap: 12px;
	align-items: start;
	padding: 10px 0 10px 4px;
	position: relative;
	color: #94a3b8;
	font-weight: 600;
	font-size: 0.92rem;
}

.track_step:not(:last-child)::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 28px;
	bottom: -6px;
	width: 2px;
	background: #e2e8f0;
	border-radius: 1px;
}

.track_step--done {
	color: #0f172a;
}

.track_step--done .track_step_dot {
	background: #22c55e;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.25);
}

.track_step--current {
	color: #0b3d91;
}

.track_step--current .track_step_dot {
	background: #fbbf24;
	box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.35);
}

.track_step--cancel {
	color: #991b1b;
}

.track_step--cancel .track_step_dot {
	background: #ef4444;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.25);
}

.track_step_dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #e2e8f0;
	margin-top: 4px;
}

.track_step_label {
	padding-top: 1px;
}

.track_table_wrap {
	overflow-x: auto;
	border: 1px solid rgba(11, 61, 145, 0.12);
	border-radius: 12px;
}

.track_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.88rem;
}

.track_table th,
.track_table td {
	padding: 10px 12px;
	text-align: left;
	border-bottom: 1px solid #e2e8f0;
}

.track_table th {
	background: #f8fafc;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #64748b;
}

.track_table tr:last-child td {
	border-bottom: none;
}

.page_card_title {
	margin: 0 0 8px 0;
	font-size: 1.15rem;
	font-weight: 800;
	color: #082654;
}

.page_card_sub {
	margin: 0 0 20px 0;
	font-size: 0.88rem;
	color: #64748b;
	line-height: 1.45;
}

.page_hint {
	margin: 20px 0 0 0;
	font-size: 0.88rem;
	color: #475569;
}

.page_hint--center {
	text-align: center;
}

.page_hint a {
	color: #0b3d91;
	font-weight: 700;
}

.page_benefits {
	margin: 0;
	padding: 0;
	list-style: none;
}

.page_benefits li {
	margin: 0 0 16px 0;
	padding-left: 0;
}

.page_benefits strong {
	display: block;
	font-size: 0.9rem;
	color: #0b3d91;
	margin-bottom: 4px;
}

.page_benefits span {
	font-size: 0.84rem;
	color: #64748b;
	line-height: 1.4;
}

.page_stat_strip {
	display: flex;
	gap: 20px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid rgba(11, 61, 145, 0.12);
}

.page_stat_num {
	display: block;
	font-size: 1.25rem;
	font-weight: 800;
	color: #0b3d91;
}

.page_stat_lab {
	font-size: 0.72rem;
	color: #64748b;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.gh_form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.gh_field label,
.gh_field_row label {
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #475569;
	margin-bottom: 6px;
}

.gh_field input,
.gh_field select,
.gh_field textarea {
	width: 100%;
	max-width: 100%;
	padding: 12px 14px;
	font-size: 1rem;
	font-family: inherit;
	border: 1px solid rgba(11, 61, 145, 0.2);
	border-radius: 10px;
	background: #fafafa;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.gh_field input:focus,
.gh_field select:focus,
.gh_field textarea:focus {
	outline: none;
	border-color: #0b3d91;
	box-shadow: 0 0 0 3px rgba(11, 61, 145, 0.15);
	background: #fff;
}

.gh_field textarea {
	resize: vertical;
	min-height: 120px;
}

.gh_field_row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.gh_row--split {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-size: 0.85rem;
}

.gh_check {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.85rem;
	color: #475569;
	cursor: pointer;
}

.gh_check--block {
	margin-top: 4px;
}

.gh_check input {
	width: auto;
}

.gh_link {
	color: #0b3d91;
	font-weight: 600;
}

.gh_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 24px;
	border-radius: 10px;
	font-size: 0.95rem;
	font-weight: 800;
	font-family: inherit;
	cursor: pointer;
	border: 2px solid transparent;
	transition: transform 0.1s ease, box-shadow 0.2s ease;
}

.gh_btn--primary {
	background: linear-gradient(180deg, #ffeb3b 0%, #ffc107 100%);
	color: #082654;
	border-color: #f9a825;
	box-shadow: 0 4px 14px rgba(11, 61, 145, 0.2);
}

.gh_btn--primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(11, 61, 145, 0.25);
}

.page_card--contact_aside {
	background: #fff;
	border: 1px solid rgba(11, 61, 145, 0.12);
	box-shadow: 0 8px 28px rgba(11, 61, 145, 0.08);
}

.contact_blocks {
	margin: 0;
	padding: 0;
	list-style: none;
}

.contact_blocks li {
	margin: 0 0 18px 0;
}

.contact_blocks_label {
	display: block;
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #64748b;
	margin-bottom: 4px;
}

.contact_blocks_value {
	font-size: 0.95rem;
	font-weight: 600;
	color: #0f172a;
	text-decoration: none;
}

a.contact_blocks_value {
	color: #0b3d91;
}

a.contact_blocks_value:hover {
	text-decoration: underline;
}

.contact_map_placeholder {
	margin-top: 24px;
	padding: 28px 16px;
	border-radius: 12px;
	background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
	border: 1px dashed rgba(11, 61, 145, 0.25);
	text-align: center;
	color: #0b3d91;
}

.contact_map_placeholder span {
	display: block;
	font-weight: 800;
	font-size: 0.95rem;
}

.contact_map_placeholder small {
	display: block;
	margin-top: 6px;
	font-size: 0.75rem;
	color: #64748b;
}

@media (max-width: 840px) {
	.page_card_grid,
	.page_card_grid--contact {
		grid-template-columns: 1fr;
	}

	.gh_field_row {
		grid-template-columns: 1fr;
	}
}

/* Product listing (home / filtered) */
#content_area .products_wrap {
	text-align: left;
	font-weight: normal;
	width: 100%;
	max-width: 100%;
}

#content_area .products_filter_note {
	margin: 0 0 16px 0;
	font-size: 14px;
}

#content_area .products_filter_note a {
	color: #0b3d91;
	font-weight: 600;
}

#content_area .products_filter_sep {
	color: rgba(8, 38, 84, 0.35);
	font-weight: 400;
	padding: 0 4px;
}

#content_area .products_empty {
	margin: 0;
	padding: 16px;
	background: rgba(255, 255, 255, 0.55);
	border-radius: 8px;
	font-size: 15px;
	line-height: 1.5;
}

#content_area .products_empty a {
	color: #0b3d91;
	font-weight: 600;
}

#content_area .products_grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 16px;
}

#content_area .product_card {
	background: #fff;
	border-radius: 14px;
	padding: 14px;
	border: 1px solid rgba(11, 61, 145, 0.1);
	box-shadow: 0 4px 16px rgba(11, 61, 145, 0.08);
	text-align: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#content_area .product_card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(11, 61, 145, 0.14);
}

#content_area .product_card_link {
	text-decoration: none;
	color: #111;
	display: block;
}

#content_area .product_thumb {
	display: block;
	width: 100%;
	height: 120px;
	object-fit: contain;
	margin: 0 auto 8px;
	background: #fff;
	border-radius: 4px;
}

#content_area .product_thumb--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	color: #666;
	border: 1px dashed #ccc;
}

#content_area .product_title {
	display: block;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.3;
}

#content_area .product_meta {
	margin: 6px 0 0 0;
	font-size: 11px;
	color: #444;
	line-height: 1.3;
}

#content_area .product_price {
	margin: 8px 0 0 0;
	font-size: 16px;
	font-weight: 700;
	color: #0b3d91;
}

#content_area .product_open_btn {
	margin-top: 10px;
	padding: 8px 12px;
	background: #0b3d91;
	color: #ffeb3b;
	border: 2px solid #ffc107;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}

#content_area .product_open_btn:hover {
	background: #1565c0;
	color: #fff;
	border-color: #ffeb3b;
}

#content_area .product_card_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-top: 10px;
}

#content_area .product_details_link {
	display: inline-block;
	padding: 8px 12px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	background: #fff;
	color: #0b3d91;
	border: 2px solid #0b3d91;
}

#content_area .product_details_link:hover {
	background: #0b3d91;
	color: #ffeb3b;
	border-color: #ffc107;
}

/* Product detail page (details.php) */
#content_area .product_detail {
	width: 100%;
	max-width: 720px;
	margin: 0 auto;
	text-align: left;
	font-weight: normal;
	background: rgba(255, 255, 255, 0.88);
	border-radius: 12px;
	padding: 20px 18px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
	box-sizing: border-box;
}

#content_area .product_detail h2 {
	font-size: 1.5rem;
	font-weight: 800;
	color: #111;
	margin: 0 0 14px 0;
	line-height: 1.25;
}

#content_area .product_detail_gallery {
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: flex-start;
	margin-bottom: 14px;
}

#content_area .product_detail_carousel {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	max-width: 400px;
}

#content_area .product_detail_nav {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border: none;
	border-radius: 50%;
	background: #fff;
	color: #0b3d91;
	font-size: 24px;
	line-height: 1;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.12);
	transition: transform 0.12s ease, box-shadow 0.15s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0 2px 0;
}

#content_area .product_detail_nav:hover {
	transform: scale(1.05);
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.16);
}

#content_area .product_detail_nav:focus-visible {
	outline: 3px solid #ffc107;
	outline-offset: 2px;
}

#content_area .product_detail_dots {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin: 10px 0 4px;
	max-width: 400px;
}

#content_area .product_detail_dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	border: none;
	padding: 0;
	background: #cbd5e1;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.12s ease;
}

#content_area .product_detail_dot.is-active {
	background: #0b3d91;
	transform: scale(1.2);
	box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.55);
}

#content_area .product_detail_gallery_main {
	flex: 1;
	min-width: 0;
	width: 100%;
	max-width: 400px;
	background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
	border-radius: 12px;
	padding: 12px;
	border: 1px solid rgba(11, 61, 145, 0.1);
	box-sizing: border-box;
}

#content_area .product_detail_thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

#content_area .product_detail_thumb {
	padding: 0;
	margin: 0;
	border: 2px solid #e2e8f0;
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
	line-height: 0;
}

#content_area .product_detail_thumb img {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: cover;
}

#content_area .product_detail_thumb:hover {
	border-color: #94a3b8;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
}

#content_area .product_detail_thumb.is-active {
	border-color: #0b3d91;
	box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.65);
}

#content_area .product_detail_thumb:focus-visible {
	outline: 3px solid #ffc107;
	outline-offset: 2px;
}

#content_area .product_detail_img {
	display: block;
	border-radius: 8px;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	object-fit: contain;
}

#content_area .product_detail_img--large {
	width: 100%;
	max-width: 400px;
	height: 300px;
}

#content_area .product_detail_img--small {
	width: 180px;
	height: 180px;
}

#content_area .product_detail_price {
	font-size: 1.35rem;
	font-weight: 800;
	color: #0b3d91;
	margin: 0 0 12px 0;
}

#content_area .product_detail_desc {
	font-size: 15px;
	line-height: 1.55;
	color: #222;
	margin: 0 0 18px 0;
}

#content_area .product_detail_desc p {
	margin: 0 0 0.75em 0;
}

#content_area .product_detail_desc p:last-child {
	margin-bottom: 0;
}

#content_area .product_detail_desc ul,
#content_area .product_detail_desc ol {
	margin: 0.5em 0 0.75em 1.25em;
	padding: 0;
	text-align: left;
	list-style-position: outside;
}

#content_area .product_detail_desc li {
	margin: 0.25em 0;
}

#content_area .product_detail_desc strong {
	font-weight: 700;
}

#content_area .product_detail_actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 8px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

#content_area .product_detail_back {
	float: none;
	font-weight: 700;
	color: #0b3d91;
	text-decoration: none;
}

#content_area .product_detail_back:hover {
	text-decoration: underline;
}

#content_area .product_detail_add_form {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

#content_area .product_detail_add_form input[type="number"] {
	width: 72px;
	padding: 8px;
	border-radius: 8px;
	border: 1px solid rgba(0, 0, 0, 0.16);
	font-size: 14px;
}

#content_area .product_detail_add_form button[type="submit"] {
	padding: 10px 16px;
	border: 0;
	border-radius: 8px;
	background: #1e7f2d;
	color: #fff;
	font-weight: 800;
	cursor: pointer;
}

#content_area .product_detail_add_form button[type="submit"]:hover:not(:disabled) {
	background: #239634;
}

#content_area .product_detail_add_form button[type="submit"]:disabled {
	opacity: 0.65;
	cursor: not-allowed;
}

#content_area .cart_flash {
	margin: 0 0 14px 0;
	padding: 10px 12px;
	border-radius: 8px;
	background: #d7f0d9;
	color: #164d1a;
	font-weight: 600;
}

/* Cart page */
#content_area .cart_page {
	width: 100%;
	font-family: Arial, Helvetica, sans-serif;
	text-align: left;
}

#content_area .cart_heading {
	font-size: 22px;
	margin: 0 0 16px 0;
	font-weight: 800;
	color: #111;
}

#content_area .cart_empty_msg {
	margin: 0 0 14px 0;
	font-size: 15px;
}

#content_area .cart_table {
	width: 100%;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 10px;
	border-collapse: collapse;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.88);
}

#content_area .cart_table thead th {
	background: rgba(11, 61, 145, 0.08);
	color: #0b3d91;
	font-weight: 800;
	font-size: 13px;
	padding: 12px 10px;
	text-align: left;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

#content_area .cart_table td {
	padding: 12px 10px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	font-size: 14px;
	vertical-align: middle;
}

#content_area .cart_table tbody tr:last-child td {
	border-bottom: 0;
}

#content_area .cart_th_price,
#content_area .cart_td_price,
#content_area .cart_th_total,
#content_area .cart_td_total {
	width: 140px;
}

#content_area .cart_th_qty,
#content_area .cart_td_qty {
	width: 130px;
}

#content_area .cart_th_remove,
#content_area .cart_td_remove {
	width: 140px;
}

#content_area .cart_product_cell {
	display: flex;
	align-items: center;
	gap: 12px;
}

#content_area .cart_product_thumb {
	width: 54px;
	height: 54px;
	object-fit: contain;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 8px;
}

#content_area .cart_product_name {
	font-weight: 700;
	color: #111;
}

#content_area .cart_qty_input {
	width: 90px;
	padding: 8px 8px;
	border-radius: 8px;
	border: 1px solid rgba(0, 0, 0, 0.16);
	font-size: 14px;
}

#content_area .cart_remove_label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}

#content_area .cart_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 14px;
	align-items: center;
}

#content_area .cart_button {
	padding: 10px 16px;
	border-radius: 10px;
	border: 0;
	background: #0b3d91;
	color: #fff;
	font-weight: 800;
	cursor: pointer;
}

#content_area .cart_button:hover {
	background: #0e4cae;
}

#content_area .cart_button--danger {
	background: #b42318;
}

#content_area .cart_button--danger:hover {
	background: #d03124;
}

#content_area .cart_button--ghost {
	background: rgba(0, 0, 0, 0.08);
	color: #111;
}

#content_area .cart_button--ghost:hover {
	background: rgba(0, 0, 0, 0.12);
}

#content_area .cart_summary {
	margin-top: 16px;
	background: rgba(255, 255, 255, 0.75);
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 12px;
	padding: 12px 14px;
	max-width: 420px;
}

#content_area .cart_summary_row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

#content_area .cart_summary_label {
	font-weight: 800;
	color: #111;
}

#content_area .cart_summary_value {
	font-weight: 900;
	color: #0b3d91;
	font-size: 18px;
}

/* —— Cart & checkout (storefront pro) —— */
#content_area .cart_page--pro {
	max-width: 1100px;
	margin: 0 auto;
}

#content_area .cart_page_header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

#content_area .cart_page_eyebrow {
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #64748b;
	margin: 0 0 6px 0;
}

#content_area .cart_page_lead {
	margin: 8px 0 0 0;
	font-size: 15px;
	color: #475569;
	line-height: 1.5;
	max-width: 520px;
}

#content_area .cart_checkout_cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 22px;
	border-radius: 12px;
	background: linear-gradient(135deg, #0b3d91 0%, #1565c0 100%);
	color: #fff !important;
	font-weight: 800;
	font-size: 14px;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(11, 61, 145, 0.28);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

#content_area .cart_checkout_cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 28px rgba(11, 61, 145, 0.35);
}

#content_area .cart_checkout_cta--block {
	width: 100%;
	box-sizing: border-box;
	margin-top: 14px;
}

#content_area .cart_empty_card {
	background: #fff;
	border: 1px solid rgba(11, 61, 145, 0.12);
	border-radius: 16px;
	padding: 32px 24px;
	text-align: center;
	box-shadow: 0 8px 32px rgba(15, 23, 42, 0.06);
}

#content_area .cart_link_btn {
	display: inline-block;
	margin-top: 12px;
	padding: 10px 20px;
	border-radius: 10px;
	background: #ffc107;
	color: #0b3d91 !important;
	font-weight: 800;
	text-decoration: none;
}

#content_area .cart_table_shell {
	background: #fff;
	border-radius: 16px;
	border: 1px solid rgba(11, 61, 145, 0.1);
	box-shadow: 0 10px 40px rgba(15, 23, 42, 0.06);
	overflow: hidden;
}

#content_area .cart_table--pro {
	border: none;
	border-radius: 0;
	background: transparent;
}

#content_area .cart_table--pro thead th {
	background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
	font-size: 12px;
	letter-spacing: 0.04em;
}

#content_area .cart_product_thumb--empty {
	display: inline-block;
	width: 54px;
	height: 54px;
	background: #f1f5f9;
	border-radius: 8px;
}

#content_area .cart_remove_btn {
	width: 36px;
	height: 36px;
	border: none;
	border-radius: 50%;
	padding: 0;
	background: #fff;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #dc2626;
	color: #dc2626;
	transition: background 0.15s ease, transform 0.12s ease;
}

#content_area .cart_remove_btn:hover {
	background: #fee2e2;
	transform: scale(1.06);
}

#content_area .cart_remove_icon::before {
	content: "";
	display: block;
	width: 12px;
	height: 2px;
	background: currentColor;
	border-radius: 1px;
}

#content_area .cart_sr_only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

#content_area .cart_th_remove {
	width: 56px;
	text-align: center;
}

#content_area .cart_td_remove {
	text-align: center;
}

#content_area .cart_footer_pro {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-top: 24px;
}

#content_area .cart_summary--pro {
	margin-top: 0;
	min-width: 280px;
	flex: 1;
	max-width: 400px;
	background: #fff;
	box-shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
	border: 1px solid rgba(11, 61, 145, 0.1);
	border-radius: 16px;
	padding: 20px 22px;
}

#content_area .cart_summary_note {
	margin: 10px 0 0 0;
	font-size: 12px;
	color: #64748b;
	line-height: 1.45;
}

#content_area .cart_clear_form {
	margin-top: 8px;
}

#content_area .checkout_layout {
	max-width: 1120px;
	margin: 0 auto;
	padding-bottom: 40px;
}

#content_area .checkout_layout--narrow {
	max-width: 640px;
}

#content_area .checkout_header {
	margin-bottom: 24px;
}

#content_area .checkout_alert {
	border-radius: 12px;
	padding: 14px 16px;
	margin-bottom: 20px;
	font-size: 14px;
}

#content_area .checkout_alert--err {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
}

#content_area .checkout_grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}

@media (min-width: 960px) {
	#content_area .checkout_grid {
		grid-template-columns: 1fr 360px;
		align-items: start;
	}
}

#content_area .checkout_panel {
	background: #fff;
	border: 1px solid rgba(11, 61, 145, 0.1);
	border-radius: 16px;
	padding: 24px 22px;
	box-shadow: 0 10px 36px rgba(15, 23, 42, 0.06);
}

#content_area .checkout_panel_title {
	margin: 0 0 18px 0;
	font-size: 1.05rem;
	font-weight: 800;
	color: #0f172a;
}

#content_area .checkout_form .checkout_field {
	margin-bottom: 16px;
}

#content_area .checkout_form label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: #475569;
	margin-bottom: 6px;
}

#content_area .checkout_form input[type="text"],
#content_area .checkout_form input[type="email"],
#content_area .checkout_form input[type="tel"],
#content_area .checkout_form input[type="password"],
#content_area .checkout_form select {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 11px 14px;
	border-radius: 10px;
	border: 1px solid #cbd5e1;
	font-size: 15px;
	font-family: inherit;
}

#content_area .checkout_form input:focus,
#content_area .checkout_form select:focus {
	outline: none;
	border-color: #0b3d91;
	box-shadow: 0 0 0 3px rgba(11, 61, 145, 0.15);
}

#content_area .checkout_field_row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

@media (min-width: 560px) {
	#content_area .checkout_field_row {
		grid-template-columns: 1fr 1fr;
	}
}

#content_area .checkout_subtitle {
	margin: 22px 0 12px 0;
	font-size: 14px;
	font-weight: 800;
	color: #0b3d91;
}

#content_area .checkout_check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	color: #334155;
	cursor: pointer;
	margin: 12px 0;
}

#content_area .checkout_check input {
	margin-top: 3px;
}

#content_area .checkout_account_box {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid #e2e8f0;
}

#content_area .checkout_account_fields {
	display: none;
	margin-top: 12px;
}

#content_area .checkout_account_fields.is-open {
	display: block;
}

#content_area .checkout_hint {
	font-size: 12px;
	color: #64748b;
	margin: 8px 0 0 0;
	line-height: 1.45;
}

#content_area .cart_checkout_submit {
	width: 100%;
	margin-top: 20px;
	padding: 14px 20px;
	font-size: 15px;
	border-radius: 12px;
}

#content_area .checkout_signed_in {
	font-size: 14px;
	color: #15803d;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: 10px;
	padding: 10px 12px;
	margin-bottom: 16px;
}

#content_area .checkout_lines {
	list-style: none;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #e2e8f0;
	padding-bottom: 12px;
	margin-bottom: 12px;
}

#content_area .checkout_line {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 13px;
	padding: 8px 0;
	color: #334155;
}

#content_area .checkout_line_name {
	font-weight: 600;
}

#content_area .checkout_line_price {
	font-weight: 700;
	color: #0f172a;
	white-space: nowrap;
}

#content_area .checkout_summary_total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 15px;
	margin-top: 8px;
}

#content_area .checkout_summary_total strong {
	font-size: 1.25rem;
	color: #0b3d91;
}

#content_area .checkout_summary_fine {
	font-size: 12px;
	color: #64748b;
	margin: 10px 0 0 0;
	line-height: 1.4;
}

#content_area .checkout_back_link {
	display: inline-block;
	margin-top: 16px;
	font-size: 14px;
	font-weight: 700;
	color: #0b3d91 !important;
}

#content_area .order_confirm_card {
	background: #fff;
	border-radius: 20px;
	border: 1px solid rgba(11, 61, 145, 0.1);
	box-shadow: 0 16px 48px rgba(15, 23, 42, 0.1);
	padding: clamp(24px, 4vw, 40px);
	text-align: center;
}

#content_area .order_confirm_badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #15803d;
	background: #dcfce7;
	padding: 6px 12px;
	border-radius: 999px;
	margin-bottom: 12px;
}

#content_area .order_confirm_lead {
	font-size: 16px;
	color: #475569;
	line-height: 1.55;
	margin: 12px 0 24px 0;
}

#content_area .order_confirm_meta {
	display: grid;
	gap: 16px;
	text-align: left;
	max-width: 360px;
	margin: 0 auto 24px auto;
	padding: 16px 18px;
	background: #f8fafc;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
}

#content_area .order_confirm_meta dt {
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #64748b;
	margin-bottom: 4px;
}

#content_area .order_confirm_meta dd {
	margin: 0;
	font-size: 16px;
	font-weight: 800;
	color: #0f172a;
}

#content_area .order_confirm_code {
	font-family: ui-monospace, monospace;
	font-size: 15px;
	background: #fff;
	padding: 4px 8px;
	border-radius: 6px;
	border: 1px solid #e2e8f0;
}

#content_area .order_confirm_note {
	font-size: 13px;
	color: #64748b;
	line-height: 1.5;
	margin: 0 0 24px 0;
}

#content_area .order_confirm_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

/* —— Quick view modal (premium GadgetHub) —— */
.product_modal {
	position: fixed;
	inset: 0;
	display: none;
	z-index: 100020;
}

.product_modal.is-open {
	display: block;
}

.product_modal.is-open .product_modal_backdrop {
	animation: product_modal_backdrop_in 0.35s ease forwards;
}

.product_modal.is-open .product_modal_dialog {
	animation: product_modal_dialog_in 0.42s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.product_modal_backdrop {
	position: absolute;
	inset: 0;
	background: rgba(8, 38, 84, 0.62);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	opacity: 0;
}

.product_modal_dialog {
	position: relative;
	max-width: 920px;
	width: calc(100% - clamp(20px, 4vw, 48px));
	margin: clamp(32px, 6vh, 72px) auto;
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	border-radius: 20px;
	padding: 0;
	box-sizing: border-box;
	border: 1px solid rgba(11, 61, 145, 0.12);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.8) inset,
		0 28px 80px rgba(8, 38, 84, 0.35),
		0 12px 32px rgba(0, 0, 0, 0.12);
	overflow: hidden;
	opacity: 0;
	transform: translateY(16px) scale(0.97);
}

.product_modal_dialog::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #0b3d91 0%, #1565c0 40%, #ffc107 100%);
	pointer-events: none;
	z-index: 2;
}

.product_modal_top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px clamp(18px, 3vw, 26px) 12px;
	border-bottom: 1px solid rgba(11, 61, 145, 0.08);
	background: rgba(255, 255, 255, 0.85);
}

.product_modal_badge {
	font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #0b3d91;
	padding: 6px 12px;
	border-radius: 999px;
	background: linear-gradient(180deg, #fff9e6 0%, #ffeb3b 100%);
	border: 1px solid rgba(255, 193, 7, 0.65);
	box-shadow: 0 2px 8px rgba(255, 193, 7, 0.25);
}

.product_modal_close {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	background: #fff;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.product_modal_close:hover {
	background: #f1f5f9;
	border-color: #cbd5e1;
	transform: scale(1.05);
}

.product_modal_close:focus-visible {
	outline: 3px solid #ffc107;
	outline-offset: 2px;
}

.product_modal_close_icon {
	display: block;
	width: 14px;
	height: 14px;
	background: linear-gradient(#64748b, #64748b) center/12px 2px no-repeat,
		linear-gradient(#64748b, #64748b) center/2px 12px no-repeat;
	transform: rotate(45deg);
	border-radius: 1px;
}

.product_modal_body {
	display: grid;
	grid-template-columns: minmax(260px, 380px) 1fr;
	gap: clamp(20px, 3vw, 32px);
	align-items: start;
	padding: clamp(18px, 3vw, 28px);
}

.product_modal_visual {
	position: relative;
}

.product_modal_carousel {
	position: relative;
	display: flex;
	align-items: center;
	gap: 6px;
	width: 100%;
}

.product_modal_nav {
	flex-shrink: 0;
	width: 38px;
	height: 38px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.96);
	color: #0b3d91;
	font-size: 26px;
	line-height: 1;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 2px 14px rgba(15, 23, 42, 0.14);
	transition: background 0.15s ease, transform 0.12s ease, box-shadow 0.15s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0 2px 0;
}

.product_modal_nav:hover {
	background: #fff;
	transform: scale(1.06);
	box-shadow: 0 4px 18px rgba(15, 23, 42, 0.18);
}

.product_modal_nav:focus-visible {
	outline: 3px solid #ffc107;
	outline-offset: 2px;
}

.product_modal_dots {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 12px;
	max-width: 100%;
}

.product_modal_dots[hidden] {
	display: none !important;
}

.product_modal_dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	border: none;
	padding: 0;
	background: #cbd5e1;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.12s ease;
}

.product_modal_dot:hover {
	background: #94a3b8;
}

.product_modal_dot.is-active {
	background: #0b3d91;
	transform: scale(1.2);
	box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.5);
}

.product_modal_image_wrap {
	position: relative;
	flex: 1;
	min-width: 0;
	background: linear-gradient(145deg, #f1f5f9 0%, #e2e8f0 50%, #f8fafc 100%);
	border-radius: 16px;
	padding: clamp(16px, 2.5vw, 24px);
	border: 1px solid rgba(11, 61, 145, 0.1);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
	overflow: hidden;
}

.product_modal_image_shine {
	position: absolute;
	inset: -40% -20%;
	background: linear-gradient(
		125deg,
		transparent 40%,
		rgba(255, 255, 255, 0.45) 48%,
		rgba(255, 255, 255, 0.15) 52%,
		transparent 60%
	);
	pointer-events: none;
	animation: product_modal_shine 4s ease-in-out infinite;
	opacity: 0.7;
}

.product_modal_image {
	width: 100%;
	height: clamp(220px, 32vh, 320px);
	object-fit: contain;
	display: block;
	position: relative;
	z-index: 1;
	filter: drop-shadow(0 12px 24px rgba(15, 23, 42, 0.12));
}

.product_modal_thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
	justify-content: center;
	max-width: 100%;
}

.product_modal_thumbs[hidden] {
	display: none !important;
}

.product_modal_thumb {
	padding: 0;
	margin: 0;
	border: 2px solid #e2e8f0;
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	line-height: 0;
}

.product_modal_thumb img {
	display: block;
	width: 56px;
	height: 56px;
	object-fit: cover;
}

.product_modal_thumb:hover {
	border-color: #94a3b8;
}

.product_modal_thumb.is-active {
	border-color: #0b3d91;
	box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.55);
}

.product_modal_thumb:focus-visible {
	outline: 3px solid #ffc107;
	outline-offset: 2px;
}

.product_modal_info {
	min-width: 0;
	padding-top: 4px;
}

.product_modal_info h3 {
	font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: clamp(1.15rem, 2.2vw, 1.45rem);
	font-weight: 800;
	margin: 0 0 10px 0;
	line-height: 1.25;
	color: #0f172a;
	letter-spacing: -0.02em;
}

.product_modal_meta {
	font-family: "Segoe UI", system-ui, sans-serif;
	font-size: 13px;
	color: #64748b;
	margin: 0 0 18px 0;
	line-height: 1.5;
	font-weight: 600;
}

.product_modal_price_block {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 18px;
	padding: 14px 16px;
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(11, 61, 145, 0.06) 0%, rgba(255, 235, 59, 0.12) 100%);
	border: 1px solid rgba(11, 61, 145, 0.12);
}

.product_modal_price_label {
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #475569;
}

.product_modal_price {
	font-family: "Segoe UI", system-ui, sans-serif;
	font-size: clamp(1.5rem, 3vw, 1.85rem);
	font-weight: 800;
	color: #0b3d91;
	margin: 0;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

.product_modal_desc_shell {
	margin-bottom: 20px;
}

.product_modal_desc_label {
	display: block;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #475569;
	margin-bottom: 8px;
}

.product_modal_desc {
	font-family: "Segoe UI", system-ui, sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: #334155;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 14px 16px;
	max-height: 220px;
	overflow-y: auto;
	box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04);
}

.product_modal_desc p {
	margin: 0 0 0.65em 0;
}

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

.product_modal_desc ul,
.product_modal_desc ol {
	margin: 0.5em 0;
	padding-left: 1.25em;
}

.product_modal_desc li {
	margin: 0.25em 0;
}

.product_modal_desc strong,
.product_modal_desc b {
	color: #0f172a;
}

.product_modal_cart {
	padding-top: 4px;
	border-top: 1px solid rgba(11, 61, 145, 0.08);
}

.modal_cart_form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 14px;
}

.modal_cart_qty {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.modal_cart_qty label {
	font-size: 12px;
	font-weight: 700;
	color: #475569;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.modal_cart_form input[type="number"] {
	width: 88px;
	padding: 11px 12px;
	border: 2px solid #e2e8f0;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 700;
	font-family: inherit;
	color: #0f172a;
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.modal_cart_form input[type="number"]:focus {
	outline: none;
	border-color: #0b3d91;
	box-shadow: 0 0 0 3px rgba(11, 61, 145, 0.15);
}

.product_modal_btn_cart {
	flex: 1;
	min-width: 180px;
	padding: 14px 22px;
	border: none;
	border-radius: 12px;
	font-family: "Segoe UI", system-ui, sans-serif;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
	color: #082654;
	background: linear-gradient(180deg, #ffeb3b 0%, #ffc107 100%);
	border: 2px solid rgba(255, 193, 7, 0.9);
	box-shadow: 0 4px 0 #b45309, 0 8px 24px rgba(180, 83, 9, 0.25);
	transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}

.product_modal_btn_cart:hover {
	transform: translateY(-2px);
	filter: brightness(1.03);
	box-shadow: 0 6px 0 #b45309, 0 14px 32px rgba(180, 83, 9, 0.3);
}

.product_modal_btn_cart:active {
	transform: translateY(1px);
	box-shadow: 0 2px 0 #b45309, 0 6px 16px rgba(180, 83, 9, 0.2);
}

.product_modal_btn_cart:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
	filter: grayscale(0.3);
}

.product_modal_cart_hint {
	margin: 12px 0 0 0;
	font-size: 12px;
	color: #64748b;
	font-weight: 500;
}

.modal_cart_form button[type="submit"]:disabled,
.modal_cart_form input[type="number"]:disabled {
	opacity: 0.65;
	cursor: not-allowed;
}

@keyframes product_modal_backdrop_in {
	to {
		opacity: 1;
	}
}

@keyframes product_modal_dialog_in {
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes product_modal_shine {
	0%,
	100% {
		transform: translateX(-20%) translateY(-10%) rotate(0deg);
	}
	50% {
		transform: translateX(10%) translateY(5%) rotate(0deg);
	}
}

@media (max-width: 740px) {
	.product_modal_body {
		grid-template-columns: 1fr;
	}

	.product_modal_image {
		height: 240px;
	}

	.modal_cart_form {
		flex-direction: column;
		align-items: stretch;
	}

	.product_modal_btn_cart {
		min-width: 0;
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.product_modal.is-open .product_modal_backdrop,
	.product_modal.is-open .product_modal_dialog {
		animation: none;
		opacity: 1;
		transform: none;
	}

	.product_modal_backdrop {
		opacity: 1;
	}

	.product_modal_dialog {
		opacity: 1;
		transform: none;
	}

	.product_modal_image_shine {
		animation: none;
		opacity: 0.3;
	}

	.product_modal_btn_cart:hover {
		transform: none;
	}
}

#sidebar {
	width: min(300px, 92vw);
	max-width: 300px;
	flex-shrink: 0;
	min-height: 200px;
	background: linear-gradient(180deg, #0a3378 0%, #0b3d91 55%, #082654 100%);
	align-self: stretch;
	text-align: left;
	line-height: normal;
	color: #fff;
	font-family: "Segoe UI", system-ui, sans-serif;
	font-weight: bold;
	box-sizing: border-box;
	padding: 14px 12px;
	overflow-y: auto;
	border-right: 4px solid #ffc107;
	box-shadow: 4px 0 18px rgba(8, 38, 84, 0.12);
}

#sidebar .sidebar_section {
	margin-bottom: 18px;
}

#sidebar .sidebar_heading {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 0 0 8px 0;
	padding-bottom: 8px;
	border-bottom: 2px solid #ffc107;
	color: #ffeb3b;
}

#sidebar .sidebar_list {
	margin: 0;
	padding: 0;
	list-style: none;
}

#sidebar .sidebar_list li {
	margin: 0;
	padding: 4px 0;
}

#sidebar .sidebar_list a.sidebar_link {
	display: block;
	color: #e8f0ff;
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	padding: 8px 10px;
	border-radius: 8px;
	transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
	border: 1px solid transparent;
}

#sidebar .sidebar_list a.sidebar_link:hover {
	background: rgba(255, 235, 59, 0.15);
	color: #ffeb3b;
	border-color: rgba(255, 235, 59, 0.2);
}

#sidebar .sidebar_list a.sidebar_link--active {
	background: linear-gradient(135deg, #ffeb3b 0%, #ffc107 100%);
	color: #082654;
	font-weight: 800;
	border-color: rgba(255, 255, 255, 0.35);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

#sidebar .sidebar_list a.sidebar_link--active:hover {
	color: #051a3d;
	background: linear-gradient(135deg, #fff176 0%, #ffca28 100%);
}

#sidebar .sidebar_list--nav li {
	padding: 6px 0;
}

#sidebar a.sidebar_nav_link {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: #e8f0ff;
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	padding: 10px 10px;
	border-radius: 10px;
	transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(0, 0, 0, 0.12);
}

#sidebar a.sidebar_nav_link:hover {
	background: rgba(255, 235, 59, 0.14);
	color: #ffeb3b;
	border-color: rgba(255, 235, 59, 0.28);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}

#sidebar a.sidebar_nav_link--active {
	background: linear-gradient(135deg, #ffeb3b 0%, #ffc107 100%);
	color: #082654;
	font-weight: 800;
	border-color: rgba(255, 255, 255, 0.45);
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.22);
}

#sidebar a.sidebar_nav_link--active .sidebar_nav_meta {
	color: rgba(8, 38, 84, 0.82);
}

#sidebar a.sidebar_nav_link--active .sidebar_nav_count {
	background: rgba(8, 38, 84, 0.12);
	color: #082654;
}

#sidebar .sidebar_nav_glyph {
	font-size: 1.25rem;
	line-height: 1;
	flex-shrink: 0;
	margin-top: 1px;
}

#sidebar .sidebar_nav_media {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 9px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 235, 59, 0.25);
}

#sidebar .sidebar_nav_media--initials {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.02em;
	color: #ffeb3b;
	background: rgba(8, 38, 84, 0.55);
}

#sidebar .sidebar_nav_logo {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #fff;
}

#sidebar .sidebar_nav_body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

#sidebar .sidebar_nav_top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

#sidebar .sidebar_nav_label {
	font-weight: 700;
	line-height: 1.2;
}

#sidebar .sidebar_nav_count {
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #ffeb3b;
	background: rgba(0, 0, 0, 0.2);
	padding: 3px 7px;
	border-radius: 999px;
	flex-shrink: 0;
}

#sidebar .sidebar_nav_meta {
	font-size: 11px;
	font-weight: 500;
	line-height: 1.35;
	color: rgba(227, 242, 253, 0.78);
}

#sidebar .sidebar_section--filters {
	margin-top: 8px;
	padding-top: 14px;
	border-top: 1px dashed rgba(255, 235, 59, 0.28);
}

#sidebar .sidebar_filters_intro {
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
	color: rgba(227, 242, 253, 0.75);
	margin: 0 0 12px 0;
}

#sidebar .sidebar_filters_form {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

#sidebar .sidebar_filter_label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #ffeb3b;
	margin-top: 4px;
}

#sidebar .sidebar_filter_input,
#sidebar .sidebar_filter_select {
	width: 100%;
	box-sizing: border-box;
	padding: 8px 10px;
	font-size: 13px;
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.96);
	color: #082654;
	font-family: inherit;
}

#sidebar .sidebar_filter_select {
	cursor: pointer;
}

#sidebar .sidebar_filter_actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 10px;
}

#sidebar .sidebar_filter_apply {
	flex: 1;
	min-width: 120px;
	padding: 10px 12px;
	font-size: 13px;
	font-weight: 800;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	background: linear-gradient(180deg, #ffeb3b 0%, #ffc107 100%);
	color: #082654;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

#sidebar .sidebar_filter_apply:hover {
	filter: brightness(1.05);
}

#sidebar .sidebar_filter_reset {
	font-size: 12px;
	font-weight: 700;
	color: #ffeb3b;
	text-decoration: underline;
	text-underline-offset: 2px;
}

#sidebar .sidebar_filter_reset:hover {
	color: #fff;
}

#sidebar .sidebar_filters_hint {
	font-size: 10px;
	margin: 10px 0 0 0;
	line-height: 1.4;
	color: rgba(227, 242, 253, 0.65);
}

#sidebar .sidebar_filters_hint strong {
	color: #ffeb3b;
}

.shop_filter_toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	margin: 12px 0 16px 0;
	padding: 14px 16px;
	background: linear-gradient(135deg, #fff 0%, #f5f9ff 100%);
	border: 1px solid rgba(11, 61, 145, 0.12);
	border-radius: 12px;
	box-shadow: 0 4px 18px rgba(8, 38, 84, 0.06);
}

.shop_filter_count {
	margin: 0;
	font-size: 14px;
	color: #0b3d91;
	font-weight: 600;
}

.shop_filter_count strong {
	font-size: 1.1em;
}

.shop_sort_nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 4px;
	font-size: 13px;
}

.shop_sort_link {
	color: #1565c0;
	text-decoration: none;
	font-weight: 700;
	padding: 6px 10px;
	border-radius: 8px;
	transition: background 0.15s ease, color 0.15s ease;
}

.shop_sort_link:hover {
	background: rgba(255, 193, 7, 0.35);
	color: #082654;
}

.shop_sort_link--active {
	background: linear-gradient(180deg, #ffeb3b 0%, #ffc107 100%);
	color: #082654;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.shop_sort_sep {
	color: rgba(11, 61, 145, 0.35);
	user-select: none;
}

.shop_active_filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px 0;
}

.shop_active_label {
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #0b3d91;
}

.shop_filter_chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	color: #082654;
	background: rgba(255, 235, 59, 0.45);
	border: 1px solid rgba(255, 193, 7, 0.85);
	border-radius: 999px;
	transition: background 0.15s ease, transform 0.1s ease;
}

.shop_filter_chip:hover {
	background: rgba(255, 235, 59, 0.75);
	transform: translateY(-1px);
}

.shop_filter_chip_x {
	font-size: 14px;
	line-height: 1;
	opacity: 0.85;
}

/* —— Professional site footer —— */
#footer.site-footer,
.site-footer {
	width: 100%;
	clear: both;
	background: linear-gradient(180deg, #051a3d 0%, #0b3d91 42%, #082654 100%);
	border-top: 4px solid #ffc107;
	box-sizing: border-box;
	color: #e3f2fd;
	font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
}

.site-footer_inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px clamp(16px, 4vw, 32px) 0;
	box-sizing: border-box;
}

.site-footer_grid {
	display: grid;
	grid-template-columns: 1.35fr repeat(3, 1fr);
	gap: 28px 32px;
	padding-bottom: 36px;
	border-bottom: 1px solid rgba(255, 235, 59, 0.22);
}

.site-footer_col--brand {
	padding-right: 12px;
}

.site-footer_brand_link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: #ffeb3b;
	font-weight: 800;
	font-size: 1.25rem;
	letter-spacing: -0.02em;
	margin-bottom: 12px;
	transition: opacity 0.2s ease;
}

.site-footer_brand_link:hover {
	opacity: 0.9;
}

.site-footer_logo {
	width: 52px;
	height: 52px;
	object-fit: contain;
	border-radius: 12px;
	border: 2px solid #ffc107;
	background: #fff;
	flex-shrink: 0;
}

.site-footer_desc {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.55;
	color: #b3d9ff;
	font-weight: 400;
	max-width: 280px;
}

.site-footer_heading {
	margin: 0 0 14px 0;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #ffeb3b;
}

.site-footer_list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer_list li {
	margin: 0 0 10px 0;
	font-size: 0.9rem;
	line-height: 1.4;
}

.site-footer_list a {
	color: #e3f2fd;
	text-decoration: none;
	font-weight: 500;
	border-bottom: 1px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.site-footer_list a:hover {
	color: #ffeb3b;
	border-bottom-color: rgba(255, 235, 59, 0.5);
}

.site-footer_list--contact .site-footer_label {
	display: block;
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(255, 235, 59, 0.85);
	margin-bottom: 2px;
}

.site-footer_list--contact li {
	margin-bottom: 14px;
}

.site-footer_social {
	margin: 18px 0 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.site-footer_social_link {
	font-size: 0.8rem;
	font-weight: 700;
	color: #0b3d91;
	background: #ffeb3b;
	padding: 6px 12px;
	border-radius: 6px;
	text-decoration: none;
	transition: background 0.15s ease, transform 0.1s ease;
}

.site-footer_social_link:hover {
	background: #ffc107;
	transform: translateY(-1px);
}

.site-footer_bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 0 28px;
}

.site-footer_copy {
	margin: 0;
	font-size: 0.8rem;
	color: rgba(227, 242, 253, 0.85);
	font-weight: 500;
}

.site-footer_legal {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
}

.site-footer_legal a {
	font-size: 0.78rem;
	color: #b3d9ff;
	text-decoration: none;
	font-weight: 600;
}

.site-footer_legal a:hover {
	color: #ffeb3b;
	text-decoration: underline;
}

@media (max-width: 900px) {
	.site-footer_grid {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer_col--brand {
		grid-column: 1 / -1;
		padding-right: 0;
	}

	.site-footer_desc {
		max-width: 100%;
	}
}

@media (max-width: 520px) {
	.site-footer_grid {
		grid-template-columns: 1fr;
	}

	.site-footer_bar {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 768px) {
	.site_header_inner {
		flex-direction: column;
		min-height: 0;
	}

	.site_header_brand {
		max-width: 100%;
	}

	.site_header_promo {
		min-height: 120px;
	}

	#sidebar {
		width: 100%;
		border-right: 0;
		border-bottom: 4px solid #ffc107;
	}

	.content_wrapper {
		flex-direction: column;
	}
}
