/**
 * Inoforest Design System — base stylesheet.
 *
 * Static, cache-friendly consumer of the design tokens. The functionality
 * plugin compiles Customizer / scheme values into CSS custom properties
 * (:root for the global design, body{} for scheme overrides); this file is
 * the only place the variables are applied to real elements.
 *
 * Every var() fallback below equals the token registry default, so an unset
 * token still renders the documented default. Selectors are deliberately
 * low-specificity: any theme rule, Elementor widget setting or custom CSS
 * overrides them.
 */

/* --- Body & typography ------------------------------------------------- */

body {
	background-color: var(--inoforest-color-background, #ffffff);
	color: var(--inoforest-color-text, #333333);
	font-family: var(--inoforest-font-body-family, inherit);
	font-weight: var(--inoforest-font-body-weight, 400);
	font-size: var(--inoforest-font-body-size, 16px);
	line-height: var(--inoforest-font-body-line-height, 1.6);
	letter-spacing: var(--inoforest-font-body-letter-spacing, normal);
}

h1, h2, h3, h4, h5, h6 {
	color: var(--inoforest-color-heading, #1a1a1a);
	font-family: var(--inoforest-font-heading-family, inherit);
	font-weight: var(--inoforest-font-heading-weight, 700);
	line-height: var(--inoforest-font-heading-line-height, 1.2);
	letter-spacing: var(--inoforest-font-heading-letter-spacing, normal);
}

h1 { font-size: var(--inoforest-h1-size, 2.5rem); }
h2 { font-size: var(--inoforest-h2-size, 2rem); }
h3 { font-size: var(--inoforest-h3-size, 1.75rem); }
h4 { font-size: var(--inoforest-h4-size, 1.5rem); }
h5 { font-size: var(--inoforest-h5-size, 1.25rem); }
h6 { font-size: var(--inoforest-h6-size, 1rem); }

a {
	color: var(--inoforest-color-link, var(--inoforest-color-primary, #007cba));
}

a:hover,
a:focus {
	color: var(--inoforest-color-link-hover, var(--inoforest-color-secondary, #666666));
}

/* --- Buttons ------------------------------------------------------------ */

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button,
.wp-block-button__link,
.elementor-button,
.inoforest-btn {
	background-color: var(--inoforest-btn-bg, var(--inoforest-color-primary, #007cba));
	color: var(--inoforest-btn-text, #ffffff);
	border: var(--inoforest-btn-border-width, 0px) solid var(--inoforest-btn-border-color, transparent);
	border-radius: var(--inoforest-btn-radius, 4px);
	padding: var(--inoforest-btn-padding, 12px 24px);
	font-family: var(--inoforest-btn-font-family, var(--inoforest-font-body-family, inherit));
	font-weight: var(--inoforest-btn-font-weight, 600);
	font-size: var(--inoforest-btn-font-size, 15px);
	text-transform: var(--inoforest-btn-text-transform, none);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
.button:hover,
.button:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.elementor-button:hover,
.elementor-button:focus,
.inoforest-btn:hover,
.inoforest-btn:focus {
	background-color: var(--inoforest-btn-bg-hover, var(--inoforest-color-secondary, #666666));
	color: var(--inoforest-btn-text-hover, var(--inoforest-btn-text, #ffffff));
}

/* --- Form inputs ---------------------------------------------------------- */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="time"],
textarea,
select {
	background-color: var(--inoforest-input-bg, #ffffff);
	color: var(--inoforest-input-text, var(--inoforest-color-text, #333333));
	border: var(--inoforest-input-border-width, 1px) solid var(--inoforest-input-border, var(--inoforest-color-border, #e0e0e0));
	border-radius: var(--inoforest-input-radius, 4px);
	padding: var(--inoforest-input-padding, 10px 14px);
	transition: border-color 0.2s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="datetime-local"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
textarea:focus,
select:focus {
	border-color: var(--inoforest-input-border-focus, var(--inoforest-color-primary, #007cba));
}

input::placeholder,
textarea::placeholder {
	color: var(--inoforest-input-placeholder, #999999);
	opacity: 1;
}

/* --- Content images ---------------------------------------------------------- */

.entry-content img,
.wp-block-image img,
.elementor-widget-image img,
.elementor-widget-theme-post-content img,
.inoforest-ds-img {
	border-radius: var(--inoforest-img-radius, 0px);
	border: var(--inoforest-img-border-width, 0px) solid var(--inoforest-img-border-color, var(--inoforest-color-border, #e0e0e0));
	box-shadow: var(--inoforest-img-shadow, none);
}
