:root {
	--th777-bg: #140f0d;
	--th777-surface: #211815;
	--th777-surface-soft: #2a1f1a;
	--th777-text: #f8f1ed;
	--th777-muted: #d7c4bb;
	--th777-accent: #ff3b1f;
	--th777-accent-2: #ff6a00;
	--th777-border: rgba(255, 255, 255, 0.12);
	--th777-shadow: none;
	--th777-content-max: 1240px;
	--th777-gutter-x: clamp(12px, 2.4vw, 24px);
}

body {
	background:
		radial-gradient(circle at 8% 4%, rgba(255, 106, 0, 0.14), transparent 28%),
		radial-gradient(circle at 92% 0%, rgba(255, 59, 31, 0.14), transparent 26%),
		var(--th777-bg) !important;
	color: var(--th777-text);
}

.lv-site-header {
	background: rgba(19, 14, 12, 0.95) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
	box-shadow: none;
}

.lv-site-header #lv-nav-desktop a,
.lv-mobile-nav a {
	color: var(--th777-text) !important;
}

.lv-site-header #lv-nav-desktop a:hover,
.lv-site-header #lv-nav-desktop .current-menu-item > a,
.lv-mobile-nav a:hover {
	color: var(--th777-accent) !important;
}

.lv-site-header .lv-header-claim,
.kjl-header-btn--login {
	background: linear-gradient(135deg, var(--th777-accent), var(--th777-accent-2)) !important;
	border: 0 !important;
	color: #fff !important;
	box-shadow: none;
}

.lv-mobile-nav {
	background: #1b1411 !important;
}

/* unified site content width (prevent full-width stretch) */
.lv-site-header > .mx-auto.max-w-7xl,
#colophon > .mx-auto.max-w-7xl {
	max-width: var(--th777-content-max) !important;
	padding-left: var(--th777-gutter-x) !important;
	padding-right: var(--th777-gutter-x) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

#main-content.lv-home-refresh .kjl-page-wrap {
	max-width: calc(var(--th777-content-max) + (var(--th777-gutter-x) * 2));
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--th777-gutter-x);
	padding-right: var(--th777-gutter-x);
	box-sizing: border-box;
}

#main-content.lv-home-refresh .kjl-content-frame {
	max-width: var(--th777-content-max) !important;
	margin-left: auto;
	margin-right: auto;
}

#main-content.lv-home-refresh .kjl-content-inner {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* Subpage wrapper width restore (wrapper is outside #main-content) */
body.kjl-landing .kjl-page-wrap {
	max-width: calc(var(--th777-content-max) + (var(--th777-gutter-x) * 2)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--th777-gutter-x) !important;
	padding-right: var(--th777-gutter-x) !important;
	box-sizing: border-box;
}

body.kjl-landing .kjl-content-frame,
body.kjl-landing .kjl-content-frame--sub {
	max-width: var(--th777-content-max) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.kjl-landing .kjl-content-inner,
body.kjl-landing .kjl-content-inner--subpage {
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

#main-content.lv-layout-refresh {
	background: transparent !important;
	color: var(--th777-text);
}

#main-content.lv-layout-refresh h1,
#main-content.lv-layout-refresh h2,
#main-content.lv-layout-refresh h3,
#main-content.lv-layout-refresh h4,
#main-content.lv-layout-refresh h5,
#main-content.lv-layout-refresh h6 {
	color: #fff8f5 !important;
}

/* Typography hierarchy: clear difference between headings and body */
#main-content.lv-layout-refresh h1 {
	font-size: clamp(1.95rem, 3.8vw, 3rem) !important;
	line-height: 1.18 !important;
	font-weight: 800 !important;
	letter-spacing: -0.01em;
}

#main-content.lv-layout-refresh h2 {
	font-size: clamp(1.4rem, 2.7vw, 2.05rem) !important;
	line-height: 1.24 !important;
	font-weight: 750 !important;
}

#main-content.lv-layout-refresh h3 {
	font-size: clamp(1.12rem, 2.05vw, 1.45rem) !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
}

#main-content.lv-layout-refresh h4 {
	font-size: clamp(1rem, 1.7vw, 1.2rem) !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
}

#main-content.lv-layout-refresh p,
#main-content.lv-layout-refresh li,
#main-content.lv-layout-refresh blockquote,
#main-content.lv-layout-refresh dd,
#main-content.lv-layout-refresh dt {
	color: var(--th777-muted) !important;
	font-size: clamp(0.96rem, 1.08vw, 1.08rem) !important;
	line-height: 1.72 !important;
}

#main-content.lv-layout-refresh a {
	color: #ffd8c5 !important;
}

#main-content.lv-layout-refresh a:hover {
	color: var(--th777-accent) !important;
}

#main-content.lv-layout-refresh .btn-primary,
#main-content.lv-layout-refresh .btn-secondary {
	background: linear-gradient(135deg, var(--th777-accent), var(--th777-accent-2)) !important;
	color: #fff !important;
	border: 0 !important;
	clip-path: none;
	border-radius: 0.6rem;
}

#main-content.lv-layout-refresh .btn-secondary {
	background: transparent !important;
	border: 1px solid rgba(255, 255, 255, 0.28) !important;
}

#main-content.lv-layout-refresh .btn-secondary:hover {
	border-color: var(--th777-accent) !important;
}

/* Promos hero actions: fix hover color conflict */
#main-content.page.promos-page.lv-layout-refresh .hero-actions .btn {
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

#main-content.page.promos-page.lv-layout-refresh .hero-actions .btn.btn-primary {
	background: var(--th777-accent) !important;
	border: 1px solid var(--th777-accent) !important;
	color: #ffffff !important;
}

#main-content.page.promos-page.lv-layout-refresh .hero-actions .btn.btn-primary:hover,
#main-content.page.promos-page.lv-layout-refresh .hero-actions .btn.btn-primary:focus-visible {
	background: #d92d14 !important;
	border-color: #d92d14 !important;
	color: #ffffff !important;
}

#main-content.page.promos-page.lv-layout-refresh .hero-actions .btn.btn-secondary {
	background: transparent !important;
	border: 1px solid rgba(255, 255, 255, 0.45) !important;
	color: #ffe6da !important;
}

#main-content.page.promos-page.lv-layout-refresh .hero-actions .btn.btn-secondary:hover,
#main-content.page.promos-page.lv-layout-refresh .hero-actions .btn.btn-secondary:focus-visible {
	background: rgba(255, 59, 31, 0.14) !important;
	border-color: var(--th777-accent) !important;
	color: #ffffff !important;
}

/* Home refresh: larger visual changes */
#main-content.lv-home-refresh .kjl-content-frame {
	background: linear-gradient(180deg, #211815 0%, #1a1310 100%) !important;
	border-radius: 18px;
	border: 0;
	overflow: hidden;
}

#main-content.lv-home-refresh .kjl-content-inner {
	display: grid;
	gap: 1.45rem;
}

#main-content.lv-home-refresh .kjl-content-inner > section {
	background: linear-gradient(165deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01)) !important;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 1rem;
	padding: clamp(0.8rem, 1.6vw, 1.15rem) !important;
	box-shadow: none;
}

#main-content.lv-home-refresh .kjl-content-inner > section[aria-labelledby="mod-close-title"] {
	box-shadow: none;
}

#main-content.lv-home-refresh .jg-glass-card {
	background: rgba(255, 255, 255, 0.02) !important;
	border: 0;
	border-radius: 0.9rem;
	padding: 0.5rem !important;
	box-shadow: none !important;
}

#main-content.lv-home-refresh .jg-faq-item {
	border-bottom-color: rgba(255, 255, 255, 0.2);
}

/* Inner pages refresh: stronger layout cards and consistent sections */
#main-content.lv-inner-refresh {
	max-width: var(--th777-content-max);
	margin: 1.25rem auto 4rem !important;
	padding: 0 var(--th777-gutter-x) !important;
	display: grid;
	gap: 1.15rem;
	box-sizing: border-box;
}

@media (max-width: 768px) {
	#main-content.lv-inner-refresh {
		max-width: calc(100% - 1.25rem);
	}
}

#main-content.lv-inner-refresh section {
	background: linear-gradient(170deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015)) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	border-radius: 1rem !important;
	box-shadow: none !important;
	padding: clamp(0.78rem, 1.65vw, 1.08rem) !important;
	margin: 0 !important;
}

#main-content.lv-inner-refresh .hero {
	background:
		linear-gradient(140deg, rgba(255, 106, 0, 0.16), rgba(255, 59, 31, 0.08)),
		rgba(255, 255, 255, 0.03) !important;
	border-color: rgba(255, 106, 0, 0.5) !important;
}

#main-content.lv-inner-refresh .hero::after {
	background: linear-gradient(90deg, var(--th777-accent), var(--th777-accent-2), var(--th777-accent)) !important;
}

#main-content.lv-inner-refresh .lv-sec--cards > article,
#main-content.lv-inner-refresh .lv-sec--score > article,
#main-content.lv-inner-refresh .lv-sec--quotes blockquote {
	background: rgba(0, 0, 0, 0.18) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 0.8rem;
	box-shadow: none !important;
	padding: 0.5rem !important;
}

#main-content.lv-inner-refresh .lv-sec--steps ol li::before {
	background: linear-gradient(135deg, var(--th777-accent), var(--th777-accent-2));
	color: #fff;
	box-shadow: none;
}

#main-content.lv-inner-refresh .page-media-item {
	background: rgba(0, 0, 0, 0.22) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

#main-content.lv-inner-refresh .lv-sec > h2 {
	border-bottom-color: rgba(255, 255, 255, 0.14) !important;
	padding-bottom: 0.45rem;
	margin-bottom: 0.75rem;
}

#main-content.lv-inner-refresh .lv-sec--cards > article h3,
#main-content.lv-inner-refresh .lv-sec--score > article h3 {
	color: #fff5ef !important;
}

#main-content.lv-inner-refresh .lv-sec--quotes blockquote {
	border-left: 3px solid var(--th777-accent) !important;
}

/* Footer unified */
#colophon {
	background: #0f0b09 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
	margin-top: clamp(28px, 6vw, 64px) !important;
	padding-top: clamp(24px, 4vw, 42px) !important;
	padding-bottom: clamp(20px, 3.5vw, 34px) !important;
}

#colophon,
#colophon p,
#colophon a {
	color: #d8c7bf !important;
}

#colophon a:hover {
	color: var(--th777-accent) !important;
}

#colophon .kjl-footer-align {
	max-width: var(--th777-content-max) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--th777-gutter-x) !important;
	padding-right: var(--th777-gutter-x) !important;
	box-sizing: border-box;
}

#colophon .kjl-footer-blurb {
	max-width: 980px;
	margin: 0 auto;
}

#colophon .kjl-footer-blurb p {
	font-size: clamp(0.92rem, 1.05vw, 1rem) !important;
	line-height: 1.75 !important;
	margin: 0.35rem 0 !important;
}

#colophon .lv-footer-nav {
	margin-top: 0.7rem;
	margin-bottom: 0.55rem;
}

#colophon .lv-footer-menu {
	row-gap: 0.6rem !important;
	column-gap: 1rem !important;
}

#colophon .lv-footer-menu a,
#colophon .lv-footer-menu span {
	font-size: 0.92rem !important;
}

#colophon .kjl-footer-legal {
	margin-top: 0.65rem;
	padding-top: 0.75rem;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

#colophon .kjl-footer-legal__copy {
	font-size: 0.9rem !important;
}

#colophon .kjl-footer-legal__disclaimer {
	font-size: 0.86rem !important;
	color: #cdbab1 !important;
}

/* Category media mapping: image and text paired by meaning */
#main-content.lv-home-refresh .lv-category-media-grid {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 0.55rem;
	margin-top: 0.55rem;
}

#main-content.lv-home-refresh .lv-category-media-card {
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 0.6rem;
	padding: 0.55rem;
	box-shadow: none;
}

#main-content.lv-home-refresh .lv-category-media-card img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0.45rem;
}

#main-content.lv-home-refresh .lv-category-media-card h4 {
	margin: 0.5rem 0 0.2rem;
	color: #fff8f5 !important;
}

#main-content.lv-home-refresh .lv-category-media-card p {
	margin: 0;
}

@media (min-width: 768px) {
	#main-content.lv-home-refresh .lv-category-media-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Home two-column text/image layout (image right, vertically centered) */
#main-content.lv-home-refresh .lv-home-two-col {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem;
	align-items: center;
}

#main-content.lv-home-refresh .lv-home-two-col__media {
	margin: 0;
}

#main-content.lv-home-refresh .lv-home-two-col__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0.6rem;
}

@media (min-width: 992px) {
	#main-content.lv-home-refresh .lv-home-two-col {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 44%);
		gap: 1.1rem;
		align-items: center;
	}

	#main-content.lv-home-refresh .lv-home-two-col__copy {
		grid-column: 1;
	}

	#main-content.lv-home-refresh .lv-home-two-col__media {
		grid-column: 2;
		align-self: center;
	}
}

/* Design accent without shadow/background blocks */
#main-content.lv-layout-refresh section > h2:first-child {
	position: relative;
}

#main-content.lv-layout-refresh section > h2:first-child::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.18em;
	bottom: 0.18em;
	width: 3px;
	background: var(--th777-accent);
}

/* ------------------------------------------------------------------
   Global hard reset: remove ALL shadows site-wide
   ------------------------------------------------------------------ */
html body *,
html body *::before,
html body *::after {
	box-shadow: none !important;
	text-shadow: none !important;
	filter: none !important;
}

/* ------------------------------------------------------------------
   Hard reset: remove hidden background layers
   ------------------------------------------------------------------ */
#main-content.lv-layout-refresh,
#main-content.lv-layout-refresh .kjl-page-wrap,
#main-content.lv-layout-refresh .kjl-content-frame,
#main-content.lv-layout-refresh .kjl-content-inner,
#main-content.lv-layout-refresh section,
#main-content.lv-layout-refresh article,
#main-content.lv-layout-refresh figure,
#main-content.lv-layout-refresh .jg-glass-card,
#main-content.lv-layout-refresh .lv-category-media-card,
#main-content.lv-layout-refresh .page-media-item,
#main-content.lv-layout-refresh .lv-sec--cards > article,
#main-content.lv-layout-refresh .lv-sec--score > article,
#main-content.lv-layout-refresh .lv-sec--quotes blockquote,
#main-content.lv-layout-refresh .hero,
#main-content.lv-layout-refresh .jg-band,
#main-content.lv-layout-refresh .jg-band--electric,
#main-content.lv-layout-refresh .jg-band--dark,
#main-content.lv-layout-refresh .mobile-feature-split,
#main-content.lv-layout-refresh .mobile-feature-copy,
#main-content.lv-layout-refresh .mobile-feature-image,
#main-content.lv-layout-refresh .providers-image-block,
#main-content.lv-layout-refresh .faq-panel,
#main-content.lv-layout-refresh .jg-faq-answer {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}

#main-content.lv-layout-refresh::before,
#main-content.lv-layout-refresh::after,
#main-content.lv-layout-refresh *::before,
#main-content.lv-layout-refresh *::after {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}
