:root {
	--profit-black: #101010;
	--profit-ink: #202020;
	--profit-orange: #f15921;
	--profit-orange-dark: #c63d12;
	--profit-orange-soft: #fff0e9;
	--profit-cream: #f7f5ef;
	--profit-grey: #6c6c67;
	--profit-border: #deddd7;
	--profit-white: #fff;
	--profit-radius: 18px;
	--profit-shadow: 0 18px 50px rgba(16, 16, 16, .1);
	--profit-shell: min(1400px, calc(100% - 48px));
	--profit-commerce-shell: min(1240px, calc(100% - 40px));
}

.profit-shell {
	width: var(--profit-shell);
	margin-inline: auto;
}

.profit-skip-link {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 100000;
	padding: 10px 14px;
	background: var(--profit-white);
	color: var(--profit-black);
	transform: translateY(-160%);
}

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

.profit-announcement {
	position: relative;
	z-index: 10001;
	background: var(--profit-black);
	color: var(--profit-white);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.profit-announcement__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 34px;
}

.profit-announcement__support { color: var(--profit-orange); }

.profit-site-header {
	position: sticky;
	top: 0;
	z-index: 10000;
	background: rgba(255, 255, 255, .97);
	border-bottom: 1px solid rgba(16, 16, 16, .09);
	backdrop-filter: blur(14px);
}

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

.profit-site-header__inner {
	display: flex;
	align-items: center;
	min-height: 88px;
	gap: 32px;
}

.profit-logo {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	width: 205px;
	color: var(--profit-black);
}

.profit-logo__image {
	display: block;
	width: 100%;
	height: auto;
	max-height: 58px;
	object-fit: contain;
	object-position: left center;
}

.profit-logo__text { font-size: 28px; font-weight: 900; line-height: .85; }
.profit-logo__text small { display: block; margin-top: 8px; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }

.profit-desktop-nav { flex: 1 1 auto; }
.profit-nav-list,
.profit-nav-list ul { margin: 0; padding: 0; list-style: none; }
.profit-nav-list { display: flex; justify-content: center; align-items: center; gap: clamp(16px, 2vw, 34px); }
.profit-nav-list > li { position: relative; }
.profit-nav-list a { color: var(--profit-ink); font-size: 13px; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.profit-nav-list a:hover,
.profit-nav-list .current-menu-item > a { color: var(--profit-orange-dark); }
.profit-nav-list .sub-menu {
	position: absolute;
	top: calc(100% + 20px);
	left: -20px;
	display: none;
	min-width: 230px;
	padding: 12px;
	background: var(--profit-white);
	border: 1px solid var(--profit-border);
	border-radius: 10px;
	box-shadow: var(--profit-shadow);
}
.profit-nav-list li:hover > .sub-menu,
.profit-nav-list li:focus-within > .sub-menu { display: block; }
.profit-nav-list .sub-menu a { display: block; padding: 11px 12px; text-transform: none; }

.profit-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.profit-header-icon {
	position: relative;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	color: var(--profit-black);
	border: 1px solid var(--profit-border);
	border-radius: 50%;
}
.profit-header-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.profit-header-icon:hover { border-color: var(--profit-black); color: var(--profit-black); }
.profit-cart-count {
	position: absolute;
	top: -5px;
	right: -5px;
	display: grid;
	place-items: center;
	min-width: 19px;
	height: 19px;
	padding: 0 5px;
	background: var(--profit-orange);
	color: var(--profit-black);
	border: 2px solid var(--profit-white);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 900;
}

.profit-menu-toggle {
	display: none;
	align-items: center;
	gap: 10px;
	min-height: 42px;
	padding: 0 14px;
	background: var(--profit-black);
	color: var(--profit-white);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
}
.profit-menu-toggle__label { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.profit-menu-toggle__lines { display: grid; gap: 4px; }
.profit-menu-toggle__lines i { display: block; width: 16px; height: 1.5px; background: currentColor; }
.profit-mobile-menu { position: absolute; top: 100%; left: 0; width: 100%; background: var(--profit-white); border-top: 1px solid var(--profit-border); box-shadow: var(--profit-shadow); }
.profit-mobile-menu[hidden] { display: none; }
.profit-mobile-menu ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; margin: 0; padding: 18px 0 28px; list-style: none; }
.profit-mobile-menu a { display: block; padding: 14px 8px; color: var(--profit-ink); border-bottom: 1px solid #ecebe6; font-size: 15px; font-weight: 700; }

/* Custom global footer. */
.profit-site-footer {
	position: relative;
	z-index: 2;
	background: var(--profit-black);
	color: #c8c8c5;
}

.profit-site-footer a { color: inherit; }
.profit-site-footer a:hover { color: var(--profit-orange); }

.profit-site-footer__top {
	display: grid;
	grid-template-columns: minmax(250px, .8fr) minmax(500px, 1.7fr);
	gap: clamp(60px, 9vw, 150px);
	padding-top: clamp(70px, 8vw, 110px);
	padding-bottom: clamp(55px, 7vw, 90px);
}

.profit-site-footer__brand { max-width: 390px; }
.profit-footer-logo { display: inline-block; width: min(270px, 100%); margin-bottom: 25px; padding: 13px 17px; background: var(--profit-white); border-radius: 12px; }
.profit-footer-logo img { display: block; width: 100%; height: auto; }
.profit-footer-logo strong { color: var(--profit-white); font-size: 24px; }
.profit-site-footer__brand p { margin: 0 0 24px; color: #d2d2cf; font-size: 16px; line-height: 1.7; }
.profit-site-footer__brand > span,
.profit-footer-contact { display: block; margin-top: 8px; font-size: 14px; }
.profit-footer-contact { color: var(--profit-white) !important; font-weight: 750; }

.profit-site-footer__links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; }
.profit-site-footer__links h2 { margin: 0 0 23px; padding: 0; color: var(--profit-white); font-size: 13px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.profit-site-footer__links ul { margin: 0; padding: 0; list-style: none; }
.profit-site-footer__links li { margin: 0 0 12px; }
.profit-site-footer__links a { font-size: 14px; line-height: 1.45; }

.profit-site-footer__trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid #353532;
	border-bottom: 1px solid #353532;
}
.profit-site-footer__trust > div { padding: 28px 30px; border-right: 1px solid #353532; }
.profit-site-footer__trust > div:first-child { padding-left: 0; }
.profit-site-footer__trust > div:last-child { border-right: 0; }
.profit-site-footer__trust strong,
.profit-site-footer__trust span { display: block; }
.profit-site-footer__trust strong { margin-bottom: 6px; color: var(--profit-orange); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.profit-site-footer__trust span { color: #b9b9b5; font-size: 13px; }

.profit-site-footer__bottom { padding: 24px 0; background: #090909; }
.profit-site-footer__bottom .profit-shell { display: flex; justify-content: space-between; gap: 25px; }
.profit-site-footer__bottom p { margin: 0; color: #93938f; font-size: 12px; }

/* Defensive fallback for any Divi Theme Builder header/footer injected by a
 * plugin or saved layout. The normal child-theme shell no longer renders the
 * legacy Divi header, footer or widget markup at all. */
#main-footer,
.et-l--footer,
footer.et-l.et-l--footer { display: none !important; }

#top-header,
#main-header,
.et-l--header,
header.et-l.et-l--header { display: none !important; }
#page-container { padding-top: 0 !important; }

/* Give high-resolution desktop displays a fuller, more premium canvas while
 * retaining the approved laptop, tablet and mobile proportions. */
@media (min-width: 1500px) {
	:root {
		--profit-shell: min(1760px, calc(100% - 64px));
		--profit-commerce-shell: min(1500px, calc(100% - 64px));
	}
}

@media (max-width: 1100px) {
	.profit-site-header__inner { min-height: 78px; }
	.profit-logo { width: 175px; }
	.profit-desktop-nav { display: none; }
	.profit-header-actions { margin-left: auto; }
	.profit-menu-toggle { display: flex; }
	.profit-site-footer__top { grid-template-columns: 1fr; }
	.profit-site-footer__brand { max-width: 600px; }
}

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

@media (max-width: 640px) {
	:root { --profit-shell: min(100% - 28px, 1400px); }
	.profit-announcement__inner { justify-content: center; min-height: 30px; }
	.profit-announcement__support { display: none; }
	.profit-site-header__inner { min-height: 68px; gap: 10px; }
	.profit-logo { width: 145px; }
	.profit-header-actions { gap: 5px; }
	.profit-header-icon { width: 38px; height: 38px; }
	.profit-header-actions > .profit-header-icon:first-child { display: none; }
	.profit-menu-toggle { min-height: 38px; padding-inline: 12px; }
	.profit-menu-toggle__label { display: none; }
	.profit-mobile-menu ul { grid-template-columns: 1fr; }
	.profit-site-footer__links { grid-template-columns: 1fr 1fr; }
	.profit-site-footer__links > div:last-child { grid-column: 1 / -1; }
	.profit-site-footer__trust { grid-template-columns: 1fr; }
	.profit-site-footer__trust > div,
	.profit-site-footer__trust > div:first-child { padding: 20px 0; border-right: 0; border-bottom: 1px solid #353532; }
	.profit-site-footer__trust > div:last-child { border-bottom: 0; }
	.profit-site-footer__bottom .profit-shell { flex-direction: column; gap: 8px; }
}

/* v1.8.0: subtle, site-wide scroll reveals. JavaScript adds the state classes. */
.profit-motion-ready [data-profit-reveal] {
	opacity: 0;
	transform: translate3d(0, 26px, 0);
	transition:
		opacity .72s ease var(--profit-reveal-delay, 0ms),
		transform .78s cubic-bezier(.22, .61, .36, 1) var(--profit-reveal-delay, 0ms);
	will-change: opacity, transform;
}

.profit-motion-ready [data-profit-reveal="fade"] { transform: none; }

.profit-motion-ready [data-profit-reveal].is-profit-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	will-change: auto;
}

/* Small interaction cues make the global chrome feel responsive too. */
.profit-header-icon,
.profit-nav-list a,
.profit-site-footer a {
	transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.profit-header-icon:hover,
.profit-header-icon:focus-visible { transform: translateY(-2px); }

@media (prefers-reduced-motion: reduce) {
	.profit-motion-ready [data-profit-reveal],
	.profit-motion-ready [data-profit-reveal].is-profit-visible {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.profit-header-icon,
	.profit-nav-list a,
	.profit-site-footer a { transition: none; }
}
