/* Curavit Block — main stylesheet. Logical properties only (RTL-safe). Budget: ≤ 50 KB uncompressed. */
:root {
	--cur-navy: #1a3a6b;
	--cur-green: #278643;
	--cur-ink: #14233d;
	--cur-muted: #5a6878;
	--cur-surface: #fff;
	--cur-alt: #f0f4f9;
	--cur-line: #d9e1ec;
	--cur-focus: #f2a93b;
	--cur-error: #b42318;
	--cur-accent: var(--cur-navy);
	--cur-radius: 8px;
	--cur-gutter: clamp(1rem, 0.6rem + 1.6vw, 2rem);
	--cur-max: 1200px;
}
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
html[dir="rtl"] body { line-height: 1.7; }
body { margin: 0; font-variant-numeric: lining-nums; overflow-wrap: break-word; }
img { max-inline-size: 100%; block-size: auto; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--cur-focus);
	outline-offset: 2px;
	border-radius: 2px;
}
.screen-reader-text {
	position: absolute !important; inline-size: 1px; block-size: 1px; overflow: hidden;
	clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
.cur-skip {
	position: absolute; inset-inline-start: 1rem; inset-block-start: -100px; z-index: 100;
	background: var(--cur-navy); color: #fff; padding: 0.75rem 1rem; border-radius: var(--cur-radius);
}
.cur-skip:focus { inset-block-start: 0.5rem; }
.cur-main { padding-block: 2rem 4rem; min-block-size: 50vh; }
.cur-main:focus { outline: none; }
.cur-icon { flex: none; vertical-align: middle; }
html[dir="rtl"] .cur-icon--flip, html[dir="rtl"] .cur-btn .cur-icon { transform: scaleX(-1); }

/* Demo banner */
.cur-demo-banner {
	background: #fff4d6; color: #4a3500; border-block-end: 1px solid #e8c97a;
	padding: 0.5rem var(--cur-gutter); font-size: 0.875rem; text-align: center;
}

/* Header */
.cur-header { background: var(--cur-surface); border-block-end: 1px solid var(--cur-line); position: sticky; inset-block-start: 0; z-index: 50; }
.cur-header__inner {
	max-inline-size: var(--cur-max); margin-inline: auto; padding: 0.75rem var(--cur-gutter);
	display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
}
.cur-logo { font-weight: 700; font-size: 1.5rem; color: var(--cur-navy); text-decoration: none; letter-spacing: 0.01em; }
.cur-logo__word::after { content: ""; display: inline-block; inline-size: 0.45em; block-size: 0.45em; border-radius: 50%; background: var(--cur-green); margin-inline-start: 0.15em; }
.cur-nav { display: flex; align-items: center; gap: 1.25rem; flex: 1; flex-wrap: wrap; }
.cur-nav__list { display: flex; gap: 1.25rem; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
.cur-nav__list a { color: var(--cur-ink); text-decoration: none; font-weight: 500; padding-block: 0.5rem; display: inline-block; }
.cur-nav__list a:hover, .cur-nav__list a[aria-current="page"] { color: var(--cur-navy); box-shadow: inset 0 -2px 0 var(--cur-navy); }
.cur-nav__actions { display: flex; align-items: center; gap: 0.75rem; margin-inline-start: auto; flex-wrap: wrap; }
.cur-nav__audiences { display: none; }
.cur-link-secondary { color: var(--cur-green); font-weight: 600; }
.cur-enquiry-link { display: inline-flex; align-items: center; gap: 0.35rem; color: var(--cur-ink); text-decoration: none; }
.cur-count { min-inline-size: 1.5rem; padding: 0 0.4rem; border-radius: 999px; background: var(--cur-alt); border: 1px solid var(--cur-line); text-align: center; font-size: 0.8125rem; font-weight: 600; }
.cur-lang { font-weight: 600; text-decoration: none; padding: 0.4rem 0.6rem; border: 1px solid var(--cur-line); border-radius: var(--cur-radius); color: var(--cur-navy); }
.cur-menu-toggle { display: none; }

@media (max-width: 960px) {
	.js .cur-menu-toggle {
		display: inline-flex; align-items: center; gap: 0.4rem; margin-inline-start: auto;
		background: none; border: 1px solid var(--cur-line); border-radius: var(--cur-radius); padding: 0.5rem 0.75rem; font: inherit; color: var(--cur-ink); min-block-size: 44px; cursor: pointer;
	}
	.js .cur-nav { display: none; flex-basis: 100%; flex-direction: column; align-items: stretch; padding-block: 1rem; }
	.js .cur-nav.is-open { display: flex; }
	.cur-nav { flex-direction: column; align-items: stretch; flex-basis: 100%; }
	.cur-nav__audiences { display: grid; gap: 0.75rem; grid-template-columns: 1fr; }
	.cur-nav__list { flex-direction: column; gap: 0; }
	.cur-nav__list a { padding-block: 0.75rem; inline-size: 100%; border-block-end: 1px solid var(--cur-line); }
	.cur-nav__actions { margin-inline-start: 0; flex-direction: column; align-items: stretch; }
	.cur-nav__actions > * { text-align: center; justify-content: center; }
}
.cur-audience {
	display: flex; gap: 0.75rem; align-items: flex-start; padding: 1rem; border-radius: var(--cur-radius);
	border: 1px solid var(--cur-line); text-decoration: none; color: var(--cur-ink); background: var(--cur-alt);
}
.cur-audience strong { display: block; font-size: 1.125rem; color: var(--cur-navy); }
.cur-audience small { color: var(--cur-muted); font-size: 0.875rem; }
.cur-audience--where_to_buy strong { color: var(--cur-green); }

/* Buttons */
.cur-btn, .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-block-size: 44px;
	padding: 0.6rem 1.15rem; border-radius: var(--cur-radius); font: inherit; font-weight: 600; line-height: 1.2;
	text-decoration: none; cursor: pointer; border: 2px solid transparent; transition: background-color 0.15s, color 0.15s;
}
.cur-btn--primary { background: var(--cur-navy); color: #fff; }
.cur-btn--primary:hover { background: #12294d; color: #fff; }
.cur-btn--consumer { background: var(--cur-green); color: #fff; }
.cur-btn--consumer:hover { background: #1d6b34; color: #fff; }
.cur-btn--ghost { background: #fff; color: var(--cur-navy); border-color: var(--cur-navy); }
.cur-btn--ghost:hover { background: var(--cur-alt); }
.cur-btn[disabled], .cur-btn[aria-disabled="true"] { opacity: 0.6; cursor: not-allowed; }
.cur-linkbutton { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }

/* Badges, notices */
.cur-badge { display: inline-block; font-size: 0.8125rem; font-weight: 600; padding: 0.15rem 0.55rem; border-radius: 999px; background: color-mix(in srgb, var(--cur-accent) 14%, #fff); color: var(--cur-ink); border: 1px solid color-mix(in srgb, var(--cur-accent) 45%, #fff); }
.cur-badge--demo { background: #fff4d6; border-color: #e8c97a; color: #4a3500; }
.cur-notice { background: var(--cur-alt); border-inline-start: 4px solid var(--cur-navy); padding: 0.75rem 1rem; border-radius: 4px; color: var(--cur-ink); }
.cur-notice--market { border-color: var(--cur-focus); }
.cur-disclaimer { font-size: 0.875rem; color: var(--cur-muted); border-block-start: 1px solid var(--cur-line); padding-block-start: 0.75rem; }
.cur-status { font-size: 0.875rem; color: var(--cur-muted); font-style: italic; }

/* Catalog */
.cur-filters { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-end; background: var(--cur-alt); padding: 1rem; border-radius: var(--cur-radius); margin-block-end: 1rem; }
.cur-field { display: flex; flex-direction: column; gap: 0.35rem; min-inline-size: min(100%, 14rem); flex: 1; }
.cur-field label, .cur-label { font-weight: 600; font-size: 0.9375rem; }
.cur-field input, .cur-field select, .cur-field textarea {
	font: inherit; padding: 0.6rem 0.7rem; border: 1px solid #8a97a8; border-radius: 6px; background: #fff; color: var(--cur-ink); min-block-size: 44px; box-sizing: border-box; inline-size: 100%;
}
.cur-catalog__count { color: var(--cur-muted); font-weight: 500; }
.cur-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); }
.cur-card { border: 1px solid var(--cur-line); border-radius: var(--cur-radius); overflow: hidden; background: #fff; display: flex; flex-direction: column; border-block-start: 4px solid var(--cur-accent); }
.cur-card__img { aspect-ratio: 4 / 5; object-fit: cover; inline-size: 100%; background: var(--cur-alt); display: block; }
.cur-card__img--placeholder { background: linear-gradient(135deg, var(--cur-alt), color-mix(in srgb, var(--cur-accent) 20%, #fff)); aspect-ratio: 4 / 5; }
.cur-card__body { padding: 1rem; display: flex; flex-direction: column; gap: 0.5rem; }
.cur-card__title { margin: 0; font-size: 1.25rem; }
.cur-card__title a { color: var(--cur-navy); text-decoration: none; }
.cur-card__title a::after { content: ""; position: absolute; inset: 0; }
.cur-card { position: relative; }
.cur-card__text { margin: 0; color: var(--cur-muted); }

/* Product detail */
.cur-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 0.25rem; list-style: none; padding: 0; margin: 0 0 1.5rem; font-size: 0.875rem; }
.cur-breadcrumb li + li::before { content: "/"; margin-inline-end: 0.25rem; color: var(--cur-muted); }
.cur-product__top { display: grid; gap: 2rem; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; }
@media (max-width: 760px) { .cur-product__top { grid-template-columns: 1fr; } }
.cur-product__img { inline-size: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--cur-radius); border: 1px solid var(--cur-line); }
.cur-product__title { margin: 0.25rem 0 0.5rem; }
.cur-product__lead { font-size: 1.125rem; color: var(--cur-ink); }
.cur-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.cur-facts div { background: var(--cur-alt); padding: 0.6rem 0.8rem; border-radius: 6px; }
.cur-facts dt { font-size: 0.8125rem; color: var(--cur-muted); }
.cur-facts dd { margin: 0; font-weight: 600; }
.cur-product__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; margin-block: 1rem; }
.cur-product__actions .cur-notice { flex-basis: 100%; margin: 0; }
.cur-enquiry-add { display: inline; margin: 0; }

.cur-tabs { margin-block-start: 2.5rem; }
.cur-tabs__list { display: flex; gap: 0.25rem; border-block-end: 2px solid var(--cur-line); overflow-x: auto; }
.cur-tabs__list [role="tab"] {
	font: inherit; font-weight: 600; background: none; border: 0; padding: 0.75rem 1rem; min-block-size: 44px; color: var(--cur-muted);
	border-block-end: 3px solid transparent; margin-block-end: -2px; cursor: pointer; white-space: nowrap;
}
.cur-tabs__list [role="tab"][aria-selected="true"] { color: var(--cur-navy); border-block-end-color: var(--cur-navy); }
.cur-tabs__panel { padding-block: 1.5rem; }
.cur-tabs.is-enhanced .cur-tabs__heading { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
.cur-spec { border-collapse: collapse; inline-size: 100%; font-variant-numeric: tabular-nums; }
.cur-spec th, .cur-spec td { text-align: start; padding: 0.6rem 0.75rem; border-block-end: 1px solid var(--cur-line); vertical-align: top; }
.cur-spec th { inline-size: 40%; font-weight: 600; color: var(--cur-ink); }
.cur-docs { list-style: none; padding: 0; display: grid; gap: 0.5rem; }
.cur-doc { display: flex; gap: 0.75rem; align-items: center; border: 1px solid var(--cur-line); border-radius: 6px; padding: 0.75rem; }
.cur-doc small { display: block; color: var(--cur-muted); }

/* Proof */
.cur-proof { background: var(--cur-alt); border-radius: var(--cur-radius); padding: 1.25rem; }
.cur-proof__list, .cur-certs { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.cur-proof__list li { display: flex; gap: 0.5rem; align-items: flex-start; }
.cur-proof__empty { color: var(--cur-muted); margin: 0; }
.cur-cert { background: #fff; border: 1px solid var(--cur-line); border-radius: 6px; padding: 0.75rem; }
.cur-cert dl { margin: 0.5rem 0 0; display: grid; gap: 0.25rem; font-size: 0.875rem; }
.cur-cert dt { display: inline; color: var(--cur-muted); }
.cur-cert dd { display: inline; margin: 0 0 0 0.25rem; }

/* Sections from patterns */
.cur-hero { background: var(--cur-alt); border-radius: var(--cur-radius); padding: clamp(1.5rem, 1rem + 3vw, 3.5rem); }
.cur-hero h1 { margin-block-start: 0; }
.cur-section { margin-block: 3rem; }
.cur-router { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 0.75rem; }
.cur-steps { counter-reset: step; list-style: none; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
.cur-steps li { counter-increment: step; border: 1px solid var(--cur-line); border-radius: var(--cur-radius); padding: 1rem; }
.cur-steps li::before { content: counter(step); display: inline-grid; place-items: center; inline-size: 2rem; block-size: 2rem; border-radius: 50%; background: var(--cur-navy); color: #fff; font-weight: 700; margin-block-end: 0.5rem; }
.cur-prose > :first-child { margin-block-start: 0; }

/* Enquiry & forms */
.cur-form { display: grid; gap: 1.5rem; max-inline-size: 760px; }
.cur-form fieldset { border: 1px solid var(--cur-line); border-radius: var(--cur-radius); padding: 1.25rem; margin: 0; display: grid; gap: 1rem; }
.cur-form legend { font-weight: 700; font-size: 1.25rem; color: var(--cur-navy); padding-inline: 0.25rem; }
.js .cur-form[data-stepped] fieldset[data-step]:not(.is-current) { display: none; }
.cur-form .cur-field--check { flex-direction: row; align-items: flex-start; gap: 0.5rem; }
.cur-form .cur-field--check input { inline-size: 1.25rem; min-block-size: 1.25rem; margin-block-start: 0.2rem; }
.cur-hint { font-size: 0.875rem; color: var(--cur-muted); margin: 0; }
.cur-error { color: var(--cur-error); font-size: 0.875rem; font-weight: 600; margin: 0; }
.cur-field [aria-invalid="true"] { border-color: var(--cur-error); border-width: 2px; }
.cur-errors { border: 2px solid var(--cur-error); border-radius: var(--cur-radius); padding: 1rem; background: #fff5f4; }
.cur-errors h2 { font-size: 1.125rem; margin: 0 0 0.5rem; color: var(--cur-error); }
.cur-progress { display: flex; gap: 0.5rem; list-style: none; padding: 0; margin: 0; }
.cur-progress li { flex: 1; border-block-start: 4px solid var(--cur-line); padding-block-start: 0.4rem; font-size: 0.875rem; color: var(--cur-muted); }
.cur-progress li[aria-current="step"] { border-color: var(--cur-navy); color: var(--cur-navy); font-weight: 600; }
.cur-progress li.is-done { border-color: var(--cur-green); }
.cur-form__nav { display: flex; gap: 0.75rem; justify-content: space-between; flex-wrap: wrap; }
.cur-basket { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.75rem; }
.cur-basket li { display: grid; grid-template-columns: 1fr auto; gap: 0.5rem 1rem; align-items: end; border: 1px solid var(--cur-line); border-radius: 6px; padding: 0.75rem; }
.cur-basket .cur-field { min-inline-size: 0; }
.cur-hp { position: absolute !important; inset-inline-start: -10000px; inline-size: 1px; block-size: 1px; overflow: hidden; }
.cur-confirm { border: 2px solid var(--cur-green); border-radius: var(--cur-radius); padding: 1.25rem; background: #f1faf3; }

/* Footer */
.cur-footer { background: var(--cur-navy); color: #fff; margin-block-start: 3rem; }
.cur-footer__inner { max-inline-size: var(--cur-max); margin-inline: auto; padding: 2rem var(--cur-gutter); display: grid; gap: 1rem; }
.cur-footer a, .cur-footer .cur-linkbutton { color: #fff; }
.cur-footer__list { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin: 0; padding: 0; }
.cur-footer__list a, .cur-footer__list .cur-linkbutton { display: inline-block; padding-block: 0.5rem; }
.cur-footer__note, .cur-footer__copy { margin: 0; font-size: 0.875rem; color: #dbe4f0; }

/* Consent */
.cur-consent {
	position: fixed; inset-inline: 1rem; inset-block-end: 1rem; z-index: 90; max-inline-size: 34rem; margin-inline-start: auto;
	background: #fff; border: 1px solid var(--cur-line); border-radius: var(--cur-radius); box-shadow: 0 8px 28px rgb(20 35 61 / 0.18); padding: 1rem 1.25rem;
}
.cur-consent p { margin: 0 0 0.5rem; font-size: 0.9375rem; }
.cur-consent__actions { display: flex; gap: 0.5rem; flex-wrap: wrap; justify-content: flex-end; }

/* WordPress core block tweaks */
.wp-block-columns { gap: 1.5rem; }
.cur-page-title { margin-block-start: 0; }
table { max-inline-size: 100%; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
	.cur-header, .cur-footer, .cur-consent, .cur-demo-banner { display: none; }
}

/* Content headings (explicit scale: 44 / 32 / 24 / 20 px; Arabic gets more line height) */
h1, .wp-block-post-title { font-size: clamp(2rem, 1.4rem + 2.4vw, 2.75rem); line-height: 1.2; color: var(--cur-navy); margin-block: 0 1rem; }
h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem); line-height: 1.25; color: var(--cur-navy); margin-block: 2.5rem 0.75rem; }
h3 { font-size: 1.5rem; line-height: 1.3; color: var(--cur-navy); }
h4 { font-size: 1.25rem; }
html[dir="rtl"] :is(h1, h2, h3, h4) { line-height: 1.45; }
.cur-hero h1 { margin-block-start: 0; }

/* Core button variants used in page content */
.wp-block-button__link { background: var(--cur-navy); color: #fff; }
.wp-block-button__link:hover { background: #12294d; color: #fff; }
.cur-cta-consumer .wp-block-button__link { background: var(--cur-green); }
.cur-cta-consumer .wp-block-button__link:hover { background: #1d6b34; }
.is-style-outline .wp-block-button__link { background: #fff; color: var(--cur-navy); border: 2px solid var(--cur-navy); }
.is-style-outline .wp-block-button__link:hover { background: var(--cur-alt); }

/* Card badges sit on one line instead of stretching */
.cur-card__body { align-items: flex-start; }
.cur-card__body .cur-card__title, .cur-card__body .cur-card__text { align-self: stretch; }
