/* ==========================================================
   EcoBen Store: design tokens + base (reset and typography).
   Replaces Hello Elementor's reset.css (switched off in Theme\Hello):
   EcoBen brand, Outfit only, bold green headings, white surfaces,
   soft green shadows. Brand colours (--eb-primary*, --eb-accent*) come
   from the active palette (printed inline after this file).
   ========================================================== */
:root{
	/* Brand (overridden by palette) */
	--eb-primary:#008000;       /* headings, prices, links */
	--eb-primary-soft:#006B00;  /* hover */
	--eb-primary-deep:#1A2E1A;  /* dark surfaces, strong text */
	--eb-accent:#53A825;        /* buttons, badges, highlights */
	--eb-accent-deep:#3F8A1A;   /* accent hover */

	/* Neutrals */
	--eb-tint:#F3F9F0;          /* light green section background */
	--eb-cream:#F7F8F6;
	--eb-cream-warm:#EEF5EA;
	--eb-paper:#FFFFFF;
	--eb-ink:#333333;
	--eb-ink-strong:#1A2E1A;
	--eb-ink-soft:#4B5563;
	--eb-ink-faint:#6B7280;
	--eb-line:#E5E7EB;
	--eb-gold:#F5A623;
	--eb-danger:#C62828;
	--eb-success:#2E7D32;

	/* Type: Outfit everywhere (display = same family, heavier weight) */
	--eb-font:'Outfit',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
	--eb-font-display:var(--eb-font);
	--eb-tracking:-.3px;

	/* Shape and rhythm */
	--eb-radius-s:8px;
	--eb-radius:10px;
	--eb-radius-card:14px;
	--eb-radius-l:20px;
	--eb-container:1240px;
	--eb-gutter:24px;
	--eb-section:72px;          /* vertical space between page sections */
	--eb-shadow:0 3px 14px rgb(0 128 0 / .08);
	--eb-shadow-hover:0 10px 28px rgb(0 128 0 / .14);
	--eb-ease:cubic-bezier(.2,.7,.3,1);
}
@media (max-width:1024px){ :root{ --eb-gutter:20px; --eb-section:56px; } }
@media (max-width:560px){ :root{ --eb-gutter:16px; --eb-section:44px; } }

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; scrollbar-gutter:stable; }
body{
	margin:0;
	font:400 16px/1.6 var(--eb-font);
	color:var(--eb-ink);
	background:var(--eb-paper);
	letter-spacing:var(--eb-tracking);
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	overflow-x:clip;
	-webkit-tap-highlight-color:transparent;
}
img,svg,video{ max-width:100%; height:auto; }
img{ border-style:none; }
p{ margin:0 0 1em; }
b,strong{ font-weight:700; }
small{ font-size:85%; }
hr{ border:0; border-top:1px solid var(--eb-line); margin:24px 0; }
[hidden],template{ display:none !important; }

h1,h2,h3,h4,h5,h6{ font-family:var(--eb-font); font-weight:700; letter-spacing:var(--eb-tracking); color:var(--eb-ink-strong); line-height:1.2; margin:0 0 .6em; }
h1{ font-size:clamp(30px,4vw,44px); }
h2{ font-size:clamp(24px,3vw,34px); color:var(--eb-primary); }
h3{ font-size:20px; }
h4{ font-size:17px; }

a{ color:var(--eb-primary); text-decoration:none; background:transparent; }
a:hover{ color:var(--eb-accent-deep); }

/* Form controls inherit the brand font; components style them further. */
button,input,select,textarea,optgroup{ font:inherit; letter-spacing:inherit; color:inherit; margin:0; }
button,[type=button],[type=submit],[type=reset]{ -webkit-appearance:button; appearance:button; cursor:pointer; }
button:disabled,[type=submit]:disabled{ cursor:not-allowed; }
label{ cursor:pointer; }
textarea{ resize:vertical; overflow:auto; }
fieldset{ border:0; margin:0; padding:0; min-width:0; }
summary{ cursor:pointer; }
table{ border-collapse:collapse; width:100%; }

input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],input[type=url],input[type=date],select,textarea{
	width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--eb-line); border-radius:var(--eb-radius);
	background:var(--eb-paper); color:var(--eb-ink); font-size:16px; line-height:1.4; transition:border-color .15s,box-shadow .15s;
}
input:focus,select:focus,textarea:focus{ outline:0; border-color:var(--eb-primary); box-shadow:0 0 0 1px var(--eb-primary); }
:focus-visible{ outline:2px solid var(--eb-accent); outline-offset:2px; }
:focus:not(:focus-visible){ outline:none; }

/* ---------- Page container ---------- */
/* Hello leaves content unboxed: every main area shares the header's container. */
.site-main,
main#content{ max-width:var(--eb-container); margin-inline:auto; padding-inline:var(--eb-gutter); }
.page-content > :first-child{ margin-top:0; }
.page-header .entry-title{ margin:40px 0 24px; }

.screen-reader-text{
	border:0; clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0;
	position:absolute !important; width:1px; word-wrap:normal !important;
}
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
