/**
 * Dawnsol base styles — scoped to avoid plugin conflicts.
 */

:root {
	--dawnsol-color-primary: #1a365d;
	--dawnsol-color-accent: #e53e3e;
	--dawnsol-color-text: #2d3748;
	--dawnsol-color-muted: #718096;
	--dawnsol-color-bg: #ffffff;
	--dawnsol-color-border: #e2e8f0;
	--dawnsol-color-green: #2f8364;
	--dawnsol-color-green-light: #3ecf9a;
	--dawnsol-color-green-mint: #eaf3f0;
	--dawnsol-color-green-dark: #06140f;
	--dawnsol-font-sans: "Inter", sans-serif;
	--dawnsol-container: 1280px;
	--dawnsol-main-heading-mobile: 32px;
	--dawnsol-main-heading-tablet: 42px;
	--dawnsol-main-heading-desktop: 56px;
	--dawnsol-section-heading-mobile: 28px;
	--dawnsol-section-heading-tablet: 36px;
	--dawnsol-section-heading-desktop: 46px;
	--dawnsol-btn-padding-y: 14px;
	--dawnsol-btn-padding-x: 26px;
	--dawnsol-btn-radius: 999px;
	--dawnsol-btn-font-size: 16px;
	--dawnsol-btn-font-weight: 700;
	--dawnsol-btn-primary-bg: #3ecf9a;
	--dawnsol-btn-primary-color: #06140f;
	--dawnsol-btn-primary-hover-fill: linear-gradient(135deg, #2f8364 0%, #06140f 100%);
	--dawnsol-btn-secondary-bg: rgba(255, 255, 255, 0.08);
	--dawnsol-btn-secondary-color: #ffffff;
	--dawnsol-btn-secondary-border: rgba(255, 255, 255, 0.35);
	--dawnsol-section-py: 80px;
	--dawnsol-section-py-tablet: 64px;
	--dawnsol-section-py-mobile: 48px;
	--dawnsol-container-gutter: 2rem;
	--dawnsol-radius-lg: 20px;
	--dawnsol-radius-pill: 999px;
	--dawnsol-gradient-brand: linear-gradient(135deg, #2f8364 0%, #3ecf9a 100%);
	--dawnsol-shadow-card: 0 10px 30px rgba(6, 20, 15, 0.06);
	--dawnsol-shadow-hover: 0 20px 50px rgba(6, 20, 15, 0.12);
	--dawnsol-transition: 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

html {
	scrollbar-width: thin;
	scrollbar-color: var(--dawnsol-color-green) var(--dawnsol-color-green-dark);
}

html::-webkit-scrollbar {
	width: 10px;
}

html::-webkit-scrollbar-track {
	background: var(--dawnsol-color-green-dark);
}

html::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, var(--dawnsol-color-green-light) 0%, var(--dawnsol-color-green) 100%);
	border-radius: 999px;
	border: 2px solid var(--dawnsol-color-green-dark);
}

html::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(180deg, var(--dawnsol-color-green-mint) 0%, var(--dawnsol-color-green-light) 100%);
}
h1 , h2 , h3 , h4 , h5 , h6 , p{
	font-family: var(--dawnsol-font-sans);
	margin: 0;
}
.site,
.site * {
	box-sizing: border-box;
}

body {
	font-family: var(--dawnsol-font-sans);
	font-size: var(--dawnsol-body-font-size, 16px);
	line-height: 1.6;
	color: var(--dawnsol-color-text);
	background-color: var(--dawnsol-color-bg);
}

.site a {
	color: var(--dawnsol-color-primary);
	text-decoration: none;
}

.container {
	width: min(100% - var(--dawnsol-container-gutter), var(--dawnsol-container));
	margin-inline: auto;
}

.site-main {
	min-width: 0;
}

.page-header {
	margin-bottom: 2rem;
}

.page-title,
.entry-title {
	margin-top: 0;
	line-height: 1.2;
}

.entry-meta,
.entry-footer {
	color: var(--dawnsol-color-muted);
	font-size: 0.9rem;
}

.entry-meta span + span::before,
.entry-footer span + span::before {
	content: " | ";
}

.post-thumbnail {
	margin-bottom: 1rem;
}

.read-more {
	display: inline-block;
	margin-top: 0.75rem;
	font-weight: 600;
}

.breadcrumbs {
	margin-bottom: 1.5rem;
	font-size: 0.9rem;
	color: var(--dawnsol-color-muted);
}

.search-form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.search-form .search-field {
	flex: 1 1 220px;
	min-height: 44px;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--dawnsol-color-border);
	border-radius: 4px;
}

.search-form .search-submit {
	min-height: 44px;
	padding: 0.5rem 1rem;
	border: 0;
	border-radius: 4px;
	background: var(--dawnsol-color-primary);
	color: #fff;
	cursor: pointer;
}

.dawnsol-cf7 {
	margin-block: 1rem;
}

/* WooCommerce spacing without overriding plugin components. */
.woocommerce .site-main {
	padding-block: 0;
}

.woocommerce .woocommerce-breadcrumb {
	margin-bottom: 1.5rem;
}

/* Elementor full-width pages keep theme content width neutral. */
body.dawnsol-elementor-page .entry-content > .elementor {
	max-width: none;
}

/* Gutenberg block compatibility */
.entry-content > .alignwide {
	max-width: var(--dawnsol-container);
}

.entry-content > .alignfull {
	max-width: none;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f7fafc;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

@media (min-width: 769px) {
	body.has-sidebar .site-content {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 2rem;
		align-items: start;
	}

	body.has-sidebar .widget-area {
		margin-top: 0;
	}
}
.main-heading {
	font-size: var(--dawnsol-main-heading-mobile, 32px);
	line-height: 1.15;
}

@media (min-width: 641px) {
	.main-heading {
		font-size: var(--dawnsol-main-heading-tablet, 42px);
	}
}

@media (min-width: 1025px) {
	.main-heading {
		font-size: var(--dawnsol-main-heading-desktop, 56px);
	}
}

/* Global responsive tokens */
@media (max-width: 1024px) {
	:root {
		--dawnsol-section-py: var(--dawnsol-section-py-tablet);
		--dawnsol-btn-font-size: 15px;
	}
}

@media (max-width: 768px) {
	:root {
		--dawnsol-section-py: 56px;
		--dawnsol-container-gutter: 1.5rem;
		--dawnsol-btn-padding-y: 12px;
		--dawnsol-btn-padding-x: 22px;
	}
}

@media (max-width: 640px) {
	:root {
		--dawnsol-section-py: var(--dawnsol-section-py-mobile);
		--dawnsol-container-gutter: 1.25rem;
		--dawnsol-btn-font-size: 14px;
	}
}