/* רדיו על הגל 2027 – base layer: design tokens (handoff README "Design tokens"), day/night values, resets.
   Elementor's kit repeats the light values as global variables with the same names. RTL-safe (logical properties). */
:root, html[data-theme="light"] {
	--teal: #00C2CC;
	--deep: #00A3AD;
	--teal-ink: #086870;
	--foam: #DDF1EE;
	--paper: #F5F0E6;
	--surface: #FFFCF5;
	--sand: #E7DCC6;
	--ink: #121616;
	--muted: #585E5B;
	--line: rgba(18, 22, 22, .13);
	--tile-ink: #0F2A2E;
	--coral: #F07F4F;
	--on-accent: #121616;
	--on-accent-deep: #0B1213;
	--footer-text: #F5F0E6;
	--footer-muted: #B9C2C0;
	--font-display: 'Karantina', 'Assistant', sans-serif;
	--font-body: 'Assistant', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--container: 1240px;
	--gutter: clamp(16px, 4vw, 40px);
	--section-y: clamp(36px, 5vw, 64px);
	--hero-b: clamp(90px, 10vw, 130px);
	--gap: clamp(12px, 2vw, 24px);
	--r-hero: 32px;
	--r-card: 28px;
	--r-cover: 22px;
	--r-player: 24px;
	--r-thumb: 14px;
	--r-input: 14px;
	--r-pill: 999px;
	--shadow-cover: 0 14px 28px -18px rgba(6, 60, 66, .6);
	--shadow-big: 0 24px 48px -28px rgba(6, 60, 66, .7);
	--shadow-play: 0 6px 16px rgba(0, 0, 0, .25);
	--header-h: 76px;
	color-scheme: light;
}
html[data-theme="dark"] {
	--teal: #16C6CF;
	--deep: #0B8F97;
	--teal-ink: #6ADDE4;
	--foam: #112629;
	--paper: #0D1719;
	--surface: #142427;
	--sand: #2A3B3D;
	--ink: #EEEAE1;
	--muted: #9DA9A8;
	--line: rgba(238, 234, 225, .14);
	--tile-ink: #07292D;
	--coral: #F2895C;
	color-scheme: dark;
}
/* html.a11y-contrast: owned by a11y.css (agent core); nothing here. */

/* ---------- Elements ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); font-weight: 700; color: var(--ink); margin: 0 0 .4em; line-height: 1; overflow-wrap: anywhere; text-wrap: balance; }
h1 { font-size: clamp(64px, 10vw, 120px); line-height: .9; }
h2 { font-size: clamp(44px, 6vw, 64px); line-height: 1; }
h3 { font-size: clamp(28px, 3.4vw, 40px); }
h4, h5, h6 { font-family: var(--font-body); font-weight: 800; font-size: 19px; line-height: 1.3; }
p { margin: 0 0 1em; text-wrap: pretty; }
a { color: var(--teal-ink); text-decoration: none; }
a:hover { color: var(--ink); text-decoration: underline; }
strong, b { font-weight: 700; }
small { font-size: 14px; }
hr { border: 0; border-top: 1px solid var(--line); margin: 1.5em 0; }
blockquote { margin: 0 0 1em; padding-inline-start: 1em; border-inline-start: 3px solid var(--teal); color: var(--muted); }
ul, ol { padding-inline-start: 1.4em; margin: 0 0 1em; }
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
iframe { border: 0; max-width: 100%; }
::selection { background: var(--teal); color: var(--on-accent); }
:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.screen-reader-text, .ah-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ah-num, time { font-variant-numeric: tabular-nums; }

/* ---------- Tables ---------- */
table { border-collapse: collapse; border-spacing: 0; width: 100%; margin: 0 0 1em; }
th, td { padding: .5em .75em; text-align: start; vertical-align: top; border-bottom: 1px solid var(--line); }
th { font-weight: 700; }
caption { color: var(--muted); font-size: 14px; text-align: start; padding-bottom: .4em; }

/* ---------- Form elements (resets only; .ah-form and Elementor forms are styled in site.css) ---------- */
button, input, select, textarea { font: inherit; color: inherit; margin: 0; }
button { cursor: pointer; background: none; border: 0; padding: 0; color: inherit; -webkit-appearance: none; appearance: none; }
button:disabled { cursor: default; }
input, select, textarea { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-input); min-width: 0; }
textarea { resize: vertical; }
::placeholder { color: var(--muted); opacity: 1; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--teal); width: 1.1em; height: 1.1em; margin: 0; margin-inline-end: .4em; vertical-align: middle; border-radius: 4px; }
input[type="range"] { accent-color: var(--teal); background: none; border: 0; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
legend { padding: 0; }
label { cursor: pointer; }

/* ---------- Hello / Elementor neutralisation ---------- */
/* The kit's system typography carries the brand fonts; these keep Elementor's text widgets on the body font even where a
   stale kit CSS file (post-<kit>.css) is missing, and let our clamp() headings win over Hello's h1-h6 defaults. */
.elementor-widget-text-editor, .elementor-widget-theme-post-content, .elementor-widget-text-editor p { font-family: var(--font-body); }
.elementor-widget-heading .elementor-heading-title { font-family: var(--font-display); color: inherit; }
.elementor-heading-title { overflow-wrap: anywhere; }
.elementor a:hover { text-decoration: underline; }
.elementor-location-header, .elementor-location-footer { font-family: var(--font-body); }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
}
