/* Easitor AI - Frontend Styles */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

:root {
	--easitor-font: 'Inter', system-ui, -apple-system, sans-serif;
}

/* ============================================
   THEME PROTECTION STYLES
   Ensures theme header/footer are never hidden
   ============================================ */

/* Protect theme header and footer from AI content interference */
body>header,
body>.site-header,
body>#masthead,
body>.header,
body>nav,
body>.navigation,
body>footer,
body>.site-footer,
body>#colophon,
body>.footer,
#wpadminbar {
	position: relative !important;
	z-index: 1000 !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Ensure AI content doesn't use fixed/absolute positioning that could cover theme elements */
.easitor-ai-generated,
.easitor-ai-generated * {
	position: static !important;
}

/* Allow relative positioning within AI content */
.easitor-ai-generated [style*="relative"],
.easitor-ai-generated .hero,
.easitor-ai-generated .hero__overlay,
.easitor-ai-generated .pricing-card__badge,
.easitor-ai-generated .slider button,
.easitor-ai-generated .countdown {
	position: relative !important;
}

/* Prevent AI content from using viewport height that pushes footer off-screen */
.easitor-ai-generated section,
.easitor-ai-generated .hero,
.easitor-ai-generated header:not(:first-child) {
	min-height: auto !important;
	height: auto !important;
}

/* First hero section can have min-height but not 100vh to leave room for theme header */
.easitor-ai-generated>section:first-child,
.easitor-ai-generated>header:first-child,
.easitor-ai-generated>.hero:first-child {
	min-height: 70vh !important;
	max-height: none !important;
}

/* ============================================
   LAYOUT CONTAINER STYLES
   ============================================ */

.easitor-layout {
	font-family: var(--easitor-font);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.easitor-ai-layout {
	width: 100%;
	overflow-x: hidden;
}

/* Reset for AI-generated content */
.easitor-ai-generated {
	width: 100%;
	overflow-x: hidden;
}

.easitor-ai-generated *,
.easitor-ai-generated *::before,
.easitor-ai-generated *::after {
	box-sizing: border-box;
}

.easitor-ai-generated img {
	max-width: 100%;
	height: auto;
	display: block;
}

.easitor-ai-generated a {
	text-decoration: none;
	transition: all 0.3s ease;
}

.easitor-ai-generated button {
	cursor: pointer;
	font-family: inherit;
}

/* Section defaults */
.easitor-section {
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

.easitor-row {
	display: flex;
	flex-wrap: wrap;
}

.easitor-column {
	display: flex;
	flex-direction: column;
	min-width: 0;
	box-sizing: border-box;
}

.easitor-block {
	width: 100%;
}

/* Canvas template */
.easitor-theme-canvas,
.easitor-canvas-main,
.easitor-canvas-content {
	width: 100%;
}

.easitor-canvas-content {
	margin: 0 auto;
}

/* Hide embedded styles from display */
.easitor-ai-generated>style {
	display: none;
}

/* ============================================
   RESPONSIVE STYLES
   ============================================ */

@media (max-width: 768px) {
	.easitor-column {
		flex-basis: 100% !important;
		max-width: 100% !important;
	}

	.easitor-ai-generated h1 {
		font-size: 2rem !important;
	}

	.easitor-ai-generated h2 {
		font-size: 1.5rem !important;
	}

	/* Reduce hero height on mobile */
	.easitor-ai-generated>section:first-child,
	.easitor-ai-generated>header:first-child,
	.easitor-ai-generated>.hero:first-child {
		min-height: 50vh !important;
	}
}

/* ============================================
   PRINT STYLES
   ============================================ */

@media print {
	.easitor-ai-generated {
		background: white !important;
		color: black !important;
	}

	.easitor-ai-generated a {
		text-decoration: underline;
	}
}