/**
 * TINGLE DIGITAL - Theme Overrides
 * Light Theme - Nova Paleta 2025
 *
 * @version 2.0.0
 */

/* ============================================
 * CRITICAL FIXES - HIGHEST PRIORITY
 * ============================================ */

/* Force header to stay fixed at top */
#masthead.site-header,
.site-header {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 9999 !important;
	background: rgba(255, 255, 255, 0.95) !important;
	backdrop-filter: blur(20px) !important;
	-webkit-backdrop-filter: blur(20px) !important;
}

/* Fix WordPress admin bar offset */
body.admin-bar #masthead.site-header,
body.admin-bar .site-header {
	top: 32px !important;
}

@media (max-width: 782px) {
	body.admin-bar #masthead.site-header,
	body.admin-bar .site-header {
		top: 46px !important;
	}
}

/* Fix logo size - more aggressive */
.site-branding img,
.site-branding .custom-logo,
.site-branding .custom-logo-link img,
.site-branding .site-logo,
#masthead .site-branding img {
	max-height: 45px !important;
	max-width: 200px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
}

.custom-logo-link {
	display: inline-flex !important;
	align-items: center !important;
}

.custom-logo-link img {
	max-height: 45px !important;
	width: auto !important;
}

/* Ensure menu toggle is above everything on mobile */
.menu-toggle {
	z-index: 10000 !important;
}

/* ============================================
 * MISSING UTILITIES
 * ============================================ */

.text-gradient {
	background: var(--gradient-coral-amber);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.text-muted {
	color: var(--text-tertiary);
}

/* ============================================
 * HERO SECTION FIXES
 * ============================================ */

.hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	overflow: visible !important;
	background: var(--light-primary);
	padding: var(--space-8);
	padding-top: 120px;
	box-sizing: border-box;
}

/* Admin bar offset for hero */
body.admin-bar .hero {
	padding-top: 152px;
}

.hero-content {
	position: relative;
	z-index: 10;
	text-align: center;
	max-width: 1000px;
	margin: 0 auto;
	width: 100%;
}

.hero-text {
	position: relative;
	z-index: 20;
}

/* Ensure headline text doesn't overflow */
.hero-headline {
	overflow: visible !important;
	word-wrap: break-word;
	hyphens: none;
}

.headline-line {
	display: block;
	overflow: visible !important;
}

/* Gradient Orbs in Hero */
.hero-gradient-orbs {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	pointer-events: none;
}

.hero-gradient-orbs .gradient-orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(100px);
	opacity: 0.2;
}

.hero-gradient-orbs .hero-orb-1 {
	width: 600px;
	height: 600px;
	background: var(--tingle-magenta);
	top: -20%;
	left: -10%;
	animation: orb-float-1 15s ease-in-out infinite;
}

.hero-gradient-orbs .hero-orb-2 {
	width: 500px;
	height: 500px;
	background: var(--tingle-coral);
	top: 10%;
	right: -15%;
	animation: orb-float-2 18s ease-in-out infinite;
}

.hero-gradient-orbs .hero-orb-3 {
	width: 400px;
	height: 400px;
	background: var(--tingle-turquoise);
	bottom: -10%;
	left: 40%;
	animation: orb-float-3 20s ease-in-out infinite;
}

@keyframes orb-float-1 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(50px, 30px) scale(1.1); }
}

@keyframes orb-float-2 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(-40px, 50px) scale(0.9); }
}

@keyframes orb-float-3 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(60px, -40px) scale(1.15); }
}

/* Blobs */
.hero-blobs {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	pointer-events: none;
}

.hero-blobs .blob {
	position: absolute;
	opacity: 0.08;
}

.hero-blobs .blob-1 {
	width: 500px;
	height: 500px;
	top: 5%;
	right: 5%;
	animation: blob-morph 15s ease-in-out infinite;
}

.hero-blobs .blob-2 {
	width: 400px;
	height: 400px;
	bottom: 10%;
	left: 5%;
	animation: blob-morph 18s ease-in-out infinite reverse;
}

@keyframes blob-morph {
	0%, 100% { transform: translate(0, 0) rotate(0deg) scale(1); }
	25% { transform: translate(20px, -20px) rotate(5deg) scale(1.05); }
	50% { transform: translate(-10px, 10px) rotate(-5deg) scale(0.95); }
	75% { transform: translate(15px, 15px) rotate(3deg) scale(1.02); }
}

/* Floating Shapes */
.hero-floating-shapes {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	pointer-events: none;
}

.floating-shape {
	position: absolute;
	opacity: 0.15;
}

.floating-shape svg {
	width: 100%;
	height: 100%;
}

.floating-shape.shape-1 {
	width: 60px;
	height: 60px;
	top: 15%;
	left: 10%;
	animation: float-rotate 15s ease-in-out infinite;
}

.floating-shape.shape-2 {
	width: 50px;
	height: 50px;
	top: 25%;
	right: 15%;
	animation: float-rotate 12s ease-in-out infinite reverse;
}

.floating-shape.shape-3 {
	width: 70px;
	height: 70px;
	bottom: 30%;
	left: 8%;
	animation: float-rotate 18s ease-in-out infinite;
	animation-delay: -5s;
}

.floating-shape.shape-4 {
	width: 55px;
	height: 55px;
	bottom: 20%;
	right: 12%;
	animation: float-rotate 14s ease-in-out infinite;
	animation-delay: -8s;
}

@keyframes float-rotate {
	0%, 100% { transform: translateY(0) rotate(0deg); }
	25% { transform: translateY(-20px) rotate(10deg); }
	50% { transform: translateY(-10px) rotate(-5deg); }
	75% { transform: translateY(-25px) rotate(5deg); }
}

/* Hero Headline */
.hero-headline {
	font-family: var(--font-display);
	font-size: var(--text-hero);
	font-weight: var(--font-bold);
	color: var(--tingle-brown);
	line-height: var(--leading-tight);
	margin: 0 0 var(--space-6);
}

.headline-line {
	display: block;
}

.headline-gradient {
	background: var(--gradient-tingle);
	background-size: 300% 300%;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	animation: aurora-shift 8s ease infinite;
}

@keyframes aurora-shift {
	0%, 100% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
}

/* Typed Text */
.typed-text {
	color: var(--tingle-coral);
	position: relative;
}

.typed-text::after {
	content: '|';
	position: absolute;
	right: -8px;
	color: var(--tingle-coral);
	animation: cursor-blink 0.8s infinite;
}

@keyframes cursor-blink {
	0%, 100% { opacity: 1; }
	50% { opacity: 0; }
}

/* Hero Subtitle */
.hero-subtitle {
	font-family: var(--font-body);
	font-size: var(--text-xl);
	color: var(--text-secondary);
	line-height: var(--leading-relaxed);
	max-width: 650px;
	margin: 0 auto var(--space-10);
}

/* Hero CTAs */
.hero-ctas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-4);
}

.hero-jingle-cta {
	display: flex;
	justify-content: center;
	margin-top: var(--space-5);
}

.hero-jingle-cta .btn {
	gap: var(--space-2);
}

.hero-jingle-cta .btn-icon {
	width: 18px;
	height: 18px;
}

/* Scroll Indicator */
.hero-scroll-indicator {
	position: absolute;
	bottom: var(--space-8);
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
}

.scroll-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-2);
	text-decoration: none;
	color: var(--text-secondary);
	transition: color var(--duration-normal) ease;
}

.scroll-link:hover {
	color: var(--tingle-brown);
}

.scroll-text {
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: var(--tracking-widest);
}

.scroll-mouse {
	width: 24px;
	height: 40px;
	border: 2px solid currentColor;
	border-radius: 12px;
	position: relative;
}

.scroll-wheel {
	position: absolute;
	top: 8px;
	left: 50%;
	transform: translateX(-50%);
	width: 4px;
	height: 8px;
	background: var(--tingle-coral);
	border-radius: 2px;
	animation: scroll-wheel 2s ease-in-out infinite;
}

@keyframes scroll-wheel {
	0%, 100% { transform: translateX(-50%) translateY(0); opacity: 1; }
	50% { transform: translateX(-50%) translateY(12px); opacity: 0.3; }
}

/* ============================================
 * SECTIONS
 * ============================================ */

.section {
	position: relative;
	padding: var(--space-24) 0;
}

.section-header {
	text-align: center;
	margin-bottom: var(--space-16);
}

.section-tag {
	display: inline-block;
	padding: var(--space-2) var(--space-4);
	background: rgba(255, 112, 76, 0.1);
	border: 1px solid rgba(255, 112, 76, 0.2);
	border-radius: var(--radius-full);
	font-size: var(--text-sm);
	font-weight: var(--font-medium);
	color: var(--tingle-coral);
	text-transform: uppercase;
	letter-spacing: var(--tracking-wide);
	margin-bottom: var(--space-4);
}

.section-title {
	font-family: var(--font-display);
	font-size: var(--text-4xl);
	font-weight: var(--font-bold);
	color: var(--tingle-brown);
	margin: 0 0 var(--space-4);
}

.section-subtitle {
	font-size: var(--text-lg);
	color: var(--text-secondary);
	max-width: 600px;
	margin: 0 auto;
}

/* ============================================
 * SERVICES GRID
 * ============================================ */

.services-section {
	background: var(--light-primary);
}

.services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-6);
}

@media (max-width: 1024px) {
	.services-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

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

.service-card {
	position: relative;
	padding: var(--space-8);
	background: white;
	border: 1px solid rgba(50, 30, 12, 0.08);
	border-radius: var(--radius-2xl);
	transition: transform var(--duration-normal) ease, box-shadow var(--duration-normal) ease;
	box-shadow: var(--shadow-sm);
}

.service-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--shadow-xl);
}

.service-card .card-shine {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: var(--radius-2xl);
	pointer-events: none;
	opacity: 0;
	transition: opacity var(--duration-normal) ease;
}

.service-card:hover .card-shine {
	opacity: 1;
}

.service-icon {
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--gradient-coral-amber);
	border-radius: var(--radius-lg);
	margin-bottom: var(--space-6);
}

.service-icon svg {
	width: 32px;
	height: 32px;
	stroke: white;
}

.service-title {
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: var(--font-semibold);
	color: var(--tingle-brown);
	margin: 0 0 var(--space-3);
}

.service-description {
	font-size: var(--text-base);
	color: var(--text-secondary);
	line-height: var(--leading-relaxed);
	margin: 0 0 var(--space-6);
}

.service-link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	color: var(--tingle-coral);
	font-weight: var(--font-medium);
	text-decoration: none;
	transition: gap var(--duration-fast) ease;
}

.service-link:hover {
	gap: var(--space-3);
}

.service-link svg {
	transition: transform var(--duration-fast) ease;
}

.service-link:hover svg {
	transform: translateX(4px);
}

/* ============================================
 * WAVE DIVIDERS
 * ============================================ */

.wave-divider {
	position: relative;
	width: 100%;
	overflow: hidden;
	line-height: 0;
}

.wave-divider svg {
	display: block;
	width: 100%;
	height: 80px;
}

/* ============================================
 * STATS SECTION
 * ============================================ */

.stats-section {
	background: var(--light-secondary);
	padding: var(--space-20) 0;
}

.stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--space-8);
	text-align: center;
}

@media (max-width: 768px) {
	.stats-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.stat-item {
	padding: var(--space-6);
}

.stat-number {
	font-family: var(--font-display);
	font-size: var(--text-5xl);
	font-weight: var(--font-bold);
	background: var(--gradient-coral-amber);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	display: inline;
}

.stat-suffix {
	font-family: var(--font-display);
	font-size: var(--text-3xl);
	font-weight: var(--font-bold);
	color: var(--tingle-coral);
	display: inline;
}

.stat-label {
	font-size: var(--text-base);
	color: var(--text-secondary);
	margin-top: var(--space-2);
}

/* ============================================
 * CLIENTS SECTION
 * ============================================ */

.clients-section {
	background: var(--light-primary);
	padding: var(--space-16) 0;
}

.clients-carousel {
	overflow: hidden;
	mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent);
	-webkit-mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent);
}

.clients-track {
	display: flex;
	gap: var(--space-12);
	animation: scroll-infinite 30s linear infinite;
}

@keyframes scroll-infinite {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.clients-carousel:hover .clients-track {
	animation-play-state: paused;
}

.client-logo {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-6) var(--space-8);
	background: white;
	border: 1px solid rgba(50, 30, 12, 0.08);
	border-radius: var(--radius-lg);
	min-width: 180px;
	transition: all var(--duration-normal) ease;
	box-shadow: var(--shadow-sm);
}

.client-logo:hover {
	background: white;
	border-color: var(--tingle-coral);
	box-shadow: var(--shadow-coral);
}

.client-name {
	font-family: var(--font-heading);
	font-size: var(--text-lg);
	font-weight: var(--font-bold);
	color: var(--text-secondary);
	transition: color var(--duration-normal) ease;
}

.client-logo:hover .client-name {
	color: var(--tingle-brown);
}

/* ============================================
 * TESTIMONIALS SECTION
 * ============================================ */

.testimonials-section {
	background: var(--light-secondary);
	padding: var(--space-24) 0;
}

.testimonials-slider {
	max-width: 1000px;
	margin: 0 auto;
}

.testimonials-track {
	display: flex;
	gap: var(--space-6);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding: var(--space-4);
}

.testimonials-track::-webkit-scrollbar {
	display: none;
}

.testimonial-card {
	flex: 0 0 calc(100% - var(--space-8));
	max-width: 400px;
	scroll-snap-align: center;
	padding: var(--space-8);
	background: white;
	border: 1px solid rgba(50, 30, 12, 0.08);
	border-radius: var(--radius-2xl);
	box-shadow: var(--shadow-md);
}

@media (min-width: 768px) {
	.testimonial-card {
		flex: 0 0 calc(50% - var(--space-4));
	}
}

@media (min-width: 1024px) {
	.testimonial-card {
		flex: 0 0 calc(33.333% - var(--space-4));
	}
}

.testimonial-quote {
	margin-bottom: var(--space-4);
}

.quote-icon {
	width: 40px;
	height: 40px;
	color: var(--tingle-coral);
	opacity: 0.3;
}

.testimonial-text {
	font-size: var(--text-base);
	color: var(--text-secondary);
	line-height: var(--leading-relaxed);
	margin: 0 0 var(--space-6);
	font-style: italic;
}

.testimonial-author {
	display: flex;
	align-items: center;
	gap: var(--space-3);
}

.author-avatar {
	width: 48px;
	height: 48px;
	background: var(--gradient-coral-amber);
	border-radius: var(--radius-full);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: var(--font-bold);
	color: white;
	font-size: var(--text-sm);
}

.author-info {
	display: flex;
	flex-direction: column;
}

.author-name {
	font-weight: var(--font-semibold);
	color: var(--tingle-brown);
}

.author-role {
	font-size: var(--text-sm);
	color: var(--text-tertiary);
}

.testimonials-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-4);
	margin-top: var(--space-8);
}

.testimonial-nav-btn {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: white;
	border: 1px solid rgba(50, 30, 12, 0.1);
	border-radius: var(--radius-full);
	color: var(--text-secondary);
	cursor: pointer;
	transition: all var(--duration-normal) ease;
}

.testimonial-nav-btn:hover {
	background: var(--tingle-coral);
	border-color: var(--tingle-coral);
	color: white;
}

.testimonial-nav-btn svg {
	width: 20px;
	height: 20px;
}

/* ============================================
 * CTA SECTION
 * ============================================ */

.cta-section {
	position: relative;
	background: var(--light-secondary);
	padding: var(--space-24) 0;
	overflow: hidden;
}

.cta-background {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
}

.cta-background .gradient-orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(120px);
	opacity: 0.15;
}

.cta-orb-1 {
	width: 500px;
	height: 500px;
	background: var(--tingle-coral);
	top: -200px;
	left: -100px;
}

.cta-orb-2 {
	width: 400px;
	height: 400px;
	background: var(--tingle-turquoise);
	bottom: -150px;
	right: -100px;
}

.cta-content {
	position: relative;
	z-index: 2;
	text-align: center;
	max-width: 700px;
	margin: 0 auto;
}

.cta-title {
	font-family: var(--font-display);
	font-size: var(--text-4xl);
	font-weight: var(--font-bold);
	color: var(--tingle-brown);
	margin: 0 0 var(--space-4);
}

.cta-subtitle {
	font-size: var(--text-lg);
	color: var(--text-secondary);
	margin: 0 0 var(--space-8);
}

.cta-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-4);
}

/* ============================================
 * BODY & MAIN STRUCTURE FIXES
 * ============================================ */

html, body {
	overflow-x: hidden;
}

body {
	background: var(--light-primary, #FFFFFF);
	color: var(--text-primary, #321E0C);
	min-height: 100vh;
}

.site {
	overflow-x: hidden;
}

.site-main {
	overflow: visible;
}

/* ============================================
 * RESPONSIVE FIXES
 * ============================================ */

@media (max-width: 768px) {
	.hero {
		padding: var(--space-4);
		padding-top: 100px;
		min-height: 100vh;
	}

	body.admin-bar .hero {
		padding-top: 146px;
	}

	.hero-headline {
		font-size: clamp(2rem, 8vw, 3.5rem);
		line-height: 1.2;
	}

	.hero-subtitle {
		font-size: var(--text-lg);
	}

	.hero-ctas {
		flex-direction: column;
		align-items: center;
	}

	.hero-ctas .btn {
		width: 100%;
		max-width: 300px;
		justify-content: center;
	}

	.floating-shape {
		display: none;
	}

	.section {
		padding: var(--space-16) 0;
	}

	.section-title {
		font-size: var(--text-3xl);
	}

	.cta-title {
		font-size: var(--text-3xl);
	}
}

@media (max-width: 480px) {
	.hero {
		padding-top: 90px;
	}

	.hero-headline {
		font-size: clamp(1.75rem, 7vw, 2.5rem);
	}
}

/* Mobile Menu - Force Display */
@media (max-width: 1024px) {
	.menu-toggle {
		display: flex !important;
		align-items: center;
		justify-content: center;
		padding: 8px;
	}
	
	.header-cta {
		display: none !important;
	}
	
	.primary-menu {
		display: none;
	}
	
	.main-navigation.toggled .primary-menu {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 24px;
	}
}

/* Hamburger Menu - Force Visibility */
@media (max-width: 1024px) {
	.menu-toggle {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 8px;
		background: transparent;
		border: none;
		cursor: pointer;
	}
	
	.hamburger {
		display: flex !important;
		flex-direction: column;
		gap: 6px;
		width: 28px;
	}
	
	.hamburger span {
		display: block !important;
		width: 100%;
		height: 3px;
		background-color: #321E0C !important;
		border-radius: 2px;
	}
}

/* Header Mobile Layout */
@media (max-width: 1024px) {
	.header-container {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
	}
	
	.site-branding {
		flex: 1;
	}
	
	.main-navigation {
		order: 2;
	}
	
	.menu-toggle {
		order: 1;
	}
}

/* FORCE MOBILE MENU - ULTRA SPECIFIC */
@media screen and (max-width: 1024px) {
	#masthead .header-container .main-navigation .menu-toggle,
	.site-header .menu-toggle,
	button.menu-toggle {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		position: relative !important;
		width: 44px !important;
		height: 44px !important;
		z-index: 9999 !important;
	}
	
	#masthead .hamburger,
	.menu-toggle .hamburger {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		flex-direction: column !important;
		gap: 5px !important;
		width: 24px !important;
	}
	
	#masthead .hamburger span,
	.menu-toggle .hamburger span {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 24px !important;
		height: 3px !important;
		background: #321E0C !important;
		border-radius: 2px !important;
	}
}

/* HERO SECONDARY BUTTONS - MOBILE ONLY (FINAL) */
.hero-ctas-secondary {
	display: none !important;
	visibility: hidden !important;
}

@media screen and (max-width: 1024px) {
	.hero-ctas-secondary {
		display: flex !important;
		visibility: visible !important;
		flex-direction: column;
		gap: 16px;
		justify-content: center;
		align-items: center;
		margin-top: 24px;
		width: 100%;
	}
	
	.hero-ctas-secondary .btn {
		width: 100%;
		max-width: 300px;
	}
	
	.hero-scroll-indicator {
		position: relative !important;
		margin-top: 32px !important;
	}
}

/* MOBILE HERO FIXES - FINAL OVERRIDE */
@media screen and (max-width: 1024px) {
	.hero .hero-scroll-indicator {
		position: static !important;
		transform: none !important;
		bottom: auto !important;
		margin-top: 40px !important;
		padding-bottom: 20px !important;
	}
	
	.hero .hero-content {
		padding-bottom: 0 !important;
	}
	
	.hero-ctas {
		flex-direction: column !important;
		align-items: center !important;
	}
	
	.hero-ctas .btn {
		width: 100% !important;
		max-width: 300px !important;
	}
}

/* DISABLE CUSTOM CURSOR */
.custom-cursor,
.custom-cursor-dot {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
}

body,
body.has-custom-cursor,
a, button, [role="button"] {
	cursor: auto !important;
}
