/* Sunklick UI layer: brand font, logos, readable buttons. */
:root {
	--sk-font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--sk-navy: #0A1220;
	--sk-orange: #F99F1C;
	--sk-orange-deep: #F47D20;
	--sk-cyan: #00BFF3;
	--sk-btn-grad: linear-gradient(135deg, #FFB547 0%, #F47D20 100%);
}

/* Font: one premium family everywhere (icons excluded). */
body,
body:not(#sk) :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title, p, a, li, button, input, select, textarea, label, td, th, strong, em, small, blockquote, figcaption),
body:not(#sk) [style*='font-family'],
body:not(#sk) span:not(.star-rating):not(.star-rating *):not([class*='icon']):not([class*='dashicons']):not([class^='fa']):not([class*=' fa-']),
body:not(#sk) div:not(.star-rating):not([class*='icon']):not([class*='dashicons']) {
	font-family: var(--sk-font) !important;
}
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
body :is(h1, h2, h3) {
	letter-spacing: -0.02em;
}

/* Logos (aspect 361.6 x 79.38) */
.logo {
	flex-shrink: 0;
}
img.sk-logo {
	display: block !important;
	height: 46px !important;
	width: 210px !important;
	max-width: none !important;
}
img.sk-logo-footer {
	display: block !important;
	height: 52px !important;
	width: 237px !important;
	max-width: 100% !important;
	margin-bottom: 6px;
}
@media (max-width: 600px) {
	img.sk-logo {
		height: 36px !important;
		width: 164px !important;
	}
	img.sk-logo-footer {
		height: 44px !important;
		width: 200px !important;
	}
}

/* Primary buttons: dark text on brand orange, always readable. */
header a.signup-btn,
header a.signup-btn:visited,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.woocommerce .add_to_cart_button,
.woocommerce .checkout-button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.wc-block-components-button:not(.is-link),
.wp-element-button {
	background: var(--sk-btn-grad) !important;
	color: var(--sk-navy) !important;
	font-weight: 700 !important;
	border: 0 !important;
	border-radius: 999px !important;
	letter-spacing: 0.01em;
	box-shadow: 0 6px 20px -8px rgba(244, 125, 32, 0.6);
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}
header a.signup-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce .add_to_cart_button:hover,
.woocommerce .checkout-button:hover,
.wc-block-components-button:not(.is-link):hover,
.wp-element-button:hover {
	color: var(--sk-navy) !important;
	filter: brightness(1.06);
	transform: translateY(-1px);
	box-shadow: 0 10px 26px -8px rgba(244, 125, 32, 0.75);
}

/* Hero buttons: theme link colour was leaking into them. */
body:not(#sk) a.btn-primary,
body:not(#sk) a.btn-primary:visited,
body:not(#sk) a.btn-primary:hover {
	color: #FFFFFF !important;
	font-weight: 700;
}
body:not(#sk) a.btn-ghost,
body:not(#sk) a.btn-ghost:visited {
	color: #F4F1EA !important;
	font-weight: 600;
}
body:not(#sk) a.btn-ghost:hover {
	color: #FFB547 !important;
}

/* Footer payment badges were dark grey on navy. */
body:not(#sk) .payment-badges span {
	color: #E6ECF5 !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	font-weight: 600;
	letter-spacing: 0.02em;
}

/* Mobile header: one clean row. */
@media (max-width: 600px) {
	header .nav {
		padding: 10px 14px !important;
		flex-wrap: nowrap !important;
		gap: 10px !important;
	}
	header .nav-cart-price,
	header .login-link {
		display: none !important;
	}
	header .nav-icons {
		gap: 8px !important;
	}
	header .nav-icon-btn {
		width: 34px !important;
		height: 34px !important;
	}
	header a.signup-btn {
		padding: 8px 14px !important;
		font-size: 0.82rem !important;
		white-space: nowrap;
	}
	img.sk-logo {
		height: 32px !important;
		width: 146px !important;
	}
}

/* Page canvas */
body {
	background: #050B1A;
}
body.light-theme {
	background: #F5F7FB;
}

/* Site footer: self-contained so it looks right on every page. */
.elementor-location-footer footer {
	background: #050B1A;
	color: #93A8C7;
	font-size: 0.82rem;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 0;
	text-align: left;
}
.elementor-location-footer footer .wrap {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 28px;
}
.elementor-location-footer .footer-main {
	padding-top: 56px;
	padding-bottom: 32px;
}
.elementor-location-footer .footer-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
}
@media (min-width: 760px) {
	.elementor-location-footer .footer-grid {
		grid-template-columns: minmax(220px, 1.3fr) repeat(3, minmax(110px, 1fr));
		gap: 28px;
	}
}
@media (min-width: 1100px) {
	.elementor-location-footer .footer-grid {
		grid-template-columns: minmax(240px, 1.4fr) repeat(3, minmax(120px, 0.8fr)) minmax(220px, 1.2fr);
	}
}
.elementor-location-footer .footer-brand .logo {
	margin-bottom: 16px;
}
.elementor-location-footer .footer-brand p {
	color: #93A8C7;
	font-size: 0.88rem;
	line-height: 1.65;
	max-width: 46ch;
	margin: 0 0 18px;
}
.elementor-location-footer .footer-col h5,
.elementor-location-footer .footer-support h5 {
	font-size: 0.76rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #F4F1EA;
	margin: 0 0 16px;
	font-weight: 700;
}
.elementor-location-footer .footer-col a {
	display: block;
	color: #93A8C7 !important;
	font-size: 0.88rem;
	margin-bottom: 11px;
	text-decoration: none;
}
.elementor-location-footer .footer-col a:hover,
.elementor-location-footer .footer-bottom-links a:hover {
	color: #FFB547 !important;
}
.elementor-location-footer .footer-support p {
	color: #93A8C7;
	font-size: 0.86rem;
	line-height: 1.55;
	margin: 0 0 14px;
}
.elementor-location-footer .fs-phone {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #FFB547;
	font-weight: 700;
	font-size: 1.05rem;
	margin-bottom: 18px;
}
.elementor-location-footer .fs-phone a {
	color: inherit !important;
}
.elementor-location-footer .payment-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.elementor-location-footer .payment-badges span {
	border-radius: 6px;
	padding: 5px 10px;
	font-size: 0.72rem;
}
.elementor-location-footer .footer-socials {
	display: flex;
	gap: 10px;
}
.elementor-location-footer .footer-socials a {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: rgba(13, 30, 56, 0.7);
	border: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #F4F1EA;
	text-decoration: none;
}
.elementor-location-footer .footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 20px 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-size: 0.8rem;
	color: #93A8C7;
}
.elementor-location-footer .footer-bottom-links {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}
.elementor-location-footer .footer-bottom-links a {
	color: #93A8C7 !important;
	text-decoration: none;
}
@media (max-width: 600px) {
	.elementor-location-footer footer .wrap {
		padding: 0 18px;
	}
	.elementor-location-footer .footer-bottom {
		flex-direction: column;
		align-items: flex-start;
	}
}
/* Header: keep everything on one line at laptop widths. */
@media (max-width: 1440px) and (min-width: 901px) {
	header .nav {
		padding: 12px 20px !important;
		gap: 14px !important;
		flex-wrap: nowrap !important;
	}
	header .nav-links {
		gap: 16px !important;
		flex-wrap: nowrap !important;
	}
	header .nav-links a {
		font-size: 0.86rem !important;
		white-space: nowrap;
	}
	header .nav-icons {
		gap: 10px !important;
		flex-shrink: 0;
	}
	header .nav-cart-price {
		display: none !important;
	}
	img.sk-logo {
		height: 40px !important;
		width: 183px !important;
	}
}
@media (max-width: 1180px) and (min-width: 901px) {
	header .nav-links a:nth-child(5) {
		display: none;
	}
}