/*
Theme Name: Evesta
Theme URI: https://example.com/evesta
Author: Evesta
Author URI: https://example.com
Description: Evesta - Design Without Limits. A lightweight, multipurpose WordPress theme with a visual Customizer-driven header and footer builder, a global design system (colours, typography, spacing, buttons), responsive layout controls, and first-class compatibility with the block editor and major page builders. Built to stay fast and out of the way when no builder is installed.
Version: 1.11.0
Requires at least: 6.3
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: evesta
Tags: multipurpose, blog, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, rtl-language-support, full-width-template, block-styles, wide-blocks, accessibility-ready, editor-style, footer-widgets, left-sidebar, right-sidebar, custom-colors, theme-options

Evesta is free software, licensed under the GPL. Use it, modify it, share it.
*/

/* =========================================================================
   Evesta base stylesheet.
   Design tokens (the --evesta-* custom properties this file consumes) are
   emitted at runtime by inc/dynamic-css.php from the theme settings, with
   fallbacks declared here so the theme renders sensibly before/without them.
   ========================================================================= */

:root {
	--evesta-palette1: #2563eb; /* primary / accent */
	--evesta-palette2: #1e40af; /* primary alt */
	--evesta-palette3: #0f172a; /* strongest text */
	--evesta-palette4: #1e293b; /* strong text */
	--evesta-palette5: #475569; /* body text */
	--evesta-palette6: #cbd5e1; /* borders */
	--evesta-palette7: #e2e8f0; /* subtle surface */
	--evesta-palette8: #f8fafc; /* surface */
	--evesta-palette9: #ffffff; /* base background */

	--evesta-color-text: var(--evesta-palette5);
	--evesta-color-heading: var(--evesta-palette3);
	--evesta-color-link: var(--evesta-palette1);
	--evesta-color-link-hover: var(--evesta-palette2);
	--evesta-color-bg: var(--evesta-palette9);
	--evesta-color-border: var(--evesta-palette6);

	--evesta-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--evesta-font-heading: var(--evesta-font-body);
	--evesta-font-size-base: 1rem;
	--evesta-line-height-base: 1.65;
	--evesta-font-weight-heading: 700;
	--evesta-line-height-heading: 1.25;
	--evesta-letter-spacing-heading: 0;

	--evesta-h1: 2.5rem;
	--evesta-h2: 2rem;
	--evesta-h3: 1.6rem;
	--evesta-h4: 1.3rem;
	--evesta-h5: 1.1rem;
	--evesta-h6: 1rem;

	--evesta-content-width: 1140px;
	--evesta-wide-width: 1340px;
	--evesta-container-padding: 2rem;
	--evesta-spacing: 1.5rem;

	--evesta-radius: 6px;
	--evesta-border-width: 1px;
	--evesta-shadow: 0 1px 3px rgba(15, 23, 42, 0.08), 0 1px 2px rgba(15, 23, 42, 0.06);
	/* Overlay scrim (off-canvas / modal backdrop) and a neutral translucent
	   hairline that reads on both light and dark surfaces. */
	--evesta-overlay: rgba(2, 6, 23, 0.5);
	--evesta-divider: rgba(128, 128, 128, 0.22);

	--evesta-btn-bg: var(--evesta-palette1);
	--evesta-btn-color: #ffffff;
	--evesta-btn-bg-hover: var(--evesta-palette2);
	--evesta-btn-color-hover: #ffffff;
	--evesta-btn-radius: var(--evesta-radius);
	--evesta-btn-padding-y: 0.65em;
	--evesta-btn-padding-x: 1.4em;
	--evesta-btn-font-weight: 600;
}

/* ---- Reset / normalise ------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}
body {
	margin: 0;
	font-family: var(--evesta-font-body);
	font-size: var(--evesta-font-size-base);
	line-height: var(--evesta-line-height-base);
	color: var(--evesta-color-text);
	background-color: var(--evesta-color-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-wrap: break-word;
}
h1, h2, h3, h4, h5, h6 {
	margin: 0 0 0.6em;
	font-family: var(--evesta-font-heading);
	font-weight: var(--evesta-font-weight-heading);
	line-height: var(--evesta-line-height-heading);
	letter-spacing: var(--evesta-letter-spacing-heading);
	color: var(--evesta-color-heading);
}
h1 { font-size: var(--evesta-h1); }
h2 { font-size: var(--evesta-h2); }
h3 { font-size: var(--evesta-h3); }
h4 { font-size: var(--evesta-h4); }
h5 { font-size: var(--evesta-h5); }
h6 { font-size: var(--evesta-h6); }
p, ul, ol, dl, blockquote, pre, table, figure { margin: 0 0 var(--evesta-spacing); }
a { color: var(--evesta-color-link); text-decoration: underline; text-underline-offset: 2px; transition: color 0.15s ease; }
a:hover, a:focus { color: var(--evesta-color-link-hover); }
img, svg, video, iframe, embed, object { max-width: 100%; height: auto; }
img { vertical-align: middle; }
figure { max-width: 100%; }
blockquote { padding-left: 1rem; border-left: 4px solid var(--evesta-palette1); color: var(--evesta-color-heading); }
code, kbd, pre, samp { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.9em; }
pre { padding: 1rem; overflow: auto; background: var(--evesta-palette8); border-radius: var(--evesta-radius); }
hr { border: 0; border-top: var(--evesta-border-width) solid var(--evesta-color-border); margin: var(--evesta-spacing) 0; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 0.5rem 0.75rem; border: var(--evesta-border-width) solid var(--evesta-color-border); text-align: left; }

/* ---- Accessibility ----------------------------------------------------- */
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; padding: 0; overflow: hidden;
	position: absolute !important; word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: var(--evesta-color-bg); clip: auto; clip-path: none; color: var(--evesta-color-heading);
	display: block; height: auto; width: auto; left: 6px; top: 6px;
	padding: 12px 20px; z-index: 100000; border-radius: var(--evesta-radius);
	box-shadow: var(--evesta-shadow); text-decoration: none;
}
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 6px; top: 6px; }
:focus-visible { outline: 2px solid var(--evesta-palette1); outline-offset: 2px; }
a:focus:not(:focus-visible) { outline: none; }

/* ---- Layout ------------------------------------------------------------ */
.evesta-container {
	width: 100%;
	max-width: var(--evesta-content-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--evesta-container-padding);
	padding-right: var(--evesta-container-padding);
}
.evesta-container--wide { max-width: var(--evesta-wide-width); }
.evesta-container--full { max-width: none; }
.evesta-site { display: flex; flex-direction: column; min-height: 100vh; }
.evesta-content-area { flex: 1 0 auto; padding-top: calc(var(--evesta-spacing) * 2); padding-bottom: calc(var(--evesta-spacing) * 2); }

.evesta-layout { display: grid; gap: calc(var(--evesta-spacing) * 2); grid-template-columns: 1fr; }
.evesta-layout--right-sidebar { grid-template-columns: minmax(0, 1fr); }
.evesta-layout--left-sidebar { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) {
	.evesta-layout--right-sidebar { grid-template-columns: minmax(0, 1fr) 320px; }
	.evesta-layout--left-sidebar { grid-template-columns: 320px minmax(0, 1fr); }
	.evesta-layout--left-sidebar .evesta-primary { order: 2; }
	.evesta-layout--left-sidebar .evesta-sidebar { order: 1; }
}
.evesta-content-width--narrow .evesta-primary { max-width: 720px; margin-left: auto; margin-right: auto; }

/* ---- Buttons ----------------------------------------------------------- */
.evesta-button,
button, input[type="submit"], input[type="button"], input[type="reset"],
.wp-block-button__link {
	display: inline-block;
	padding: var(--evesta-btn-padding-y) var(--evesta-btn-padding-x);
	font-weight: var(--evesta-btn-font-weight);
	font-family: inherit;
	line-height: 1.2;
	color: var(--evesta-btn-color);
	background-color: var(--evesta-btn-bg);
	border: var(--evesta-border-width) solid transparent;
	border-radius: var(--evesta-btn-radius);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.evesta-button:hover, .evesta-button:focus,
button:hover, input[type="submit"]:hover,
.wp-block-button__link:hover {
	color: var(--evesta-btn-color-hover);
	background-color: var(--evesta-btn-bg-hover);
}
.evesta-button--outline {
	color: var(--evesta-btn-bg); background-color: transparent; border-color: var(--evesta-btn-bg);
}
.evesta-button--outline:hover { color: var(--evesta-btn-color); background-color: var(--evesta-btn-bg); }

/* ---- Forms ------------------------------------------------------------- */
input[type="text"], input[type="email"], input[type="url"], input[type="password"],
input[type="search"], input[type="number"], input[type="tel"], input[type="date"],
textarea, select {
	width: 100%;
	max-width: 100%;
	padding: 0.6em 0.8em;
	font-family: inherit;
	font-size: 1rem;
	color: var(--evesta-color-heading);
	background-color: var(--evesta-color-bg);
	border: var(--evesta-border-width) solid var(--evesta-color-border);
	border-radius: var(--evesta-radius);
}
input:focus, textarea:focus, select:focus { border-color: var(--evesta-palette1); outline: 2px solid transparent; box-shadow: 0 0 0 2px color-mix(in srgb, var(--evesta-palette1) 30%, transparent); }
label { font-weight: 600; color: var(--evesta-color-heading); }

/* ---- Alignment helpers (block editor) ---------------------------------- */
.alignwide { max-width: var(--evesta-wide-width); margin-left: auto; margin-right: auto; }
.alignfull { max-width: none; }
.alignleft { float: left; margin: 0 var(--evesta-spacing) var(--evesta-spacing) 0; }
.alignright { float: right; margin: 0 0 var(--evesta-spacing) var(--evesta-spacing); }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption-text, .wp-element-caption { font-size: 0.875rem; color: var(--evesta-palette5); text-align: center; }
.sticky, .bypostauthor { display: block; }

/* ---- Entries ----------------------------------------------------------- */
.evesta-entry { margin-bottom: calc(var(--evesta-spacing) * 2.5); }
.evesta-entry__title { margin-bottom: 0.3em; }
.evesta-entry__title a { color: inherit; text-decoration: none; }
.evesta-entry__title a:hover { color: var(--evesta-color-link); }
.evesta-entry__meta { font-size: 0.875rem; color: var(--evesta-palette5); margin-bottom: var(--evesta-spacing); display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; }
.evesta-entry__meta a { color: inherit; }
.evesta-entry__thumb { margin-bottom: var(--evesta-spacing); }
.evesta-entry__thumb img { width: 100%; border-radius: var(--evesta-radius); }
.evesta-entry__footer { margin-top: var(--evesta-spacing); font-size: 0.875rem; }
.evesta-read-more { font-weight: 600; text-decoration: none; }

/* ---- Pagination -------------------------------------------------------- */
.evesta-pagination { margin: calc(var(--evesta-spacing) * 2) 0; }
.evesta-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 2.5rem; height: 2.5rem; padding: 0 0.5rem; margin: 0 0.15rem;
	border: var(--evesta-border-width) solid var(--evesta-color-border);
	border-radius: var(--evesta-radius); text-decoration: none; color: var(--evesta-color-heading);
}
.evesta-pagination .page-numbers.current,
.evesta-pagination .page-numbers:hover { background: var(--evesta-palette1); color: var(--evesta-btn-color); border-color: var(--evesta-palette1); }

/* ---- Comments ---------------------------------------------------------- */
.evesta-comments { margin-top: calc(var(--evesta-spacing) * 2); }
.evesta-comments .comment-list { list-style: none; margin: 0; padding: 0; }
.evesta-comments .children { list-style: none; margin: 0 0 0 1.5rem; padding: 0; }
.evesta-comments .comment-body { padding: var(--evesta-spacing) 0; border-bottom: var(--evesta-border-width) solid var(--evesta-color-border); }
.evesta-comments .comment-author img { border-radius: 50%; margin-right: 0.5rem; }

/* ---- Widgets ----------------------------------------------------------- */
.evesta-widget { margin-bottom: calc(var(--evesta-spacing) * 2); }
.evesta-widget .widget-title, .evesta-widget-title { font-size: var(--evesta-h5); margin-bottom: var(--evesta-spacing); }
.evesta-widget ul { list-style: none; margin: 0; padding: 0; }
.evesta-widget ul li { padding: 0.35rem 0; }
/* Dividers between widget list items: sidebar only by default. Footer widget
   dividers are controlled by the footer "Widget item dividers" setting. */
.evesta-sidebar .evesta-widget ul li { border-bottom: var(--evesta-border-width) solid var(--evesta-palette7); }

/* Header/footer builder component styles live in assets/css/builder.css */
