/*
 * White UI theme layer.
 * Loaded after style.css so the dark theme stays intact and can be restored
 * by removing the enqueue in functions.php.
 */

:root {
	--bg: #f7faf8;
	--bg-soft: #eef5f1;
	--panel: #ffffff;
	--panel-2: #f4f8f6;
	--accent: #009e72;
	--accent-bright: #00795a;
	--accent-dark: #005f46;
	--accent-bg: rgba(0, 158, 114, 0.1);
	--ink: #24382f;
	--heading: #0a1f17;
	--muted: #5f756b;
	--line: #dce7e1;
	--shadow: 0 18px 44px rgba(12, 48, 34, 0.08);
	--glow: 0 10px 26px rgba(0, 122, 88, 0.2);
}

body {
	color: var(--ink);
	background: var(--bg);
}

a {
	color: #2f4a3f;
}

a:hover {
	color: var(--accent-bright);
}

::selection {
	background: #b9f0db;
	color: #063c2c;
}

/* ---------- Header ---------- */
.site-header {
	background: rgba(255, 255, 255, 0.9);
	border-bottom: 1px solid rgba(13, 49, 34, 0.08);
}

.site-header.is-scrolled {
	background: rgba(255, 255, 255, 0.97);
	box-shadow: 0 10px 30px rgba(12, 48, 34, 0.08);
}

.site-logo__text {
	color: var(--heading);
}

.site-nav__list a {
	color: #334a40;
}

.site-nav__list a:hover {
	color: var(--accent-bright);
}

.site-nav__list > .current-menu-item > a,
.site-nav__list > .current_page_item > a,
.site-nav__list > .current-menu-ancestor > a {
	color: var(--accent-bright);
}

.site-nav__sub-toggle {
	color: #72877c;
}

.site-nav__sub-toggle:hover,
.site-nav__list > .menu-item-has-children.is-open > .site-nav__sub-toggle,
.lang-switch.is-open .lang-switch__toggle,
.search-toggle:hover,
.search-toggle[aria-expanded="true"] {
	color: var(--heading);
}

@media (min-width: 901px) {
	.site-nav__list .sub-menu {
		background: #ffffff;
		border-color: var(--line);
		box-shadow: 0 18px 46px rgba(12, 48, 34, 0.14);
	}

	.site-nav__list .sub-menu a {
		color: var(--muted);
	}

	.site-nav__list .sub-menu a:hover {
		color: var(--heading);
		background: var(--accent-bg);
	}
}

.lang-switch__toggle {
	color: var(--muted);
}

.lang-switch__toggle:hover {
	color: var(--heading);
}

.lang-switch__list {
	background: #ffffff;
	border-color: var(--line);
	box-shadow: 0 12px 34px rgba(12, 48, 34, 0.14);
}

.lang-switch__list a {
	color: var(--muted);
}

.lang-switch__list a span {
	color: #7c9187;
}

.lang-switch__list a:hover {
	color: var(--heading);
	background: var(--accent-bg);
}

.search-toggle {
	color: var(--muted);
}

.search-toggle:hover,
.search-toggle[aria-expanded="true"] {
	background: var(--accent-bg);
}

.header-search {
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 18px 40px rgba(12, 48, 34, 0.12);
}

.header-search__form input[type="search"] {
	background: #ffffff;
	border-color: var(--line);
}

.header-search__form input[type="search"]::placeholder {
	color: #8ca197;
}

.nav-toggle {
	border-color: var(--line);
}

.nav-toggle span {
	background: var(--heading);
}

/* ---------- Buttons & chips ---------- */
.btn--primary {
	background: linear-gradient(135deg, #0aa277, #00795a);
	color: #ffffff;
	box-shadow: 0 10px 26px rgba(0, 122, 88, 0.22);
}

.btn--primary:hover {
	background: linear-gradient(135deg, #0cb584, #068a66);
	color: #ffffff;
	box-shadow: 0 12px 30px rgba(0, 122, 88, 0.28);
}

.btn--ghost {
	border-color: rgba(13, 49, 34, 0.22);
	color: var(--heading);
	background: transparent;
}

.btn--ghost:hover {
	border-color: var(--accent);
	color: var(--accent-bright);
	background: var(--accent-bg);
}

.btn--dark {
	background: #ffffff;
	border-color: var(--line);
	color: var(--heading);
}

.btn--dark:hover {
	border-color: var(--accent);
	color: var(--accent-bright);
}

.chip--navy {
	background: rgba(10, 31, 23, 0.06);
	color: #4d6258;
}

.link-more:hover,
.learn-more:hover,
.entry-content a:hover {
	color: var(--heading);
}

/* ---------- Hero (photo band keeps light type) ---------- */
.hero p.hero__slogan {
	color: #5ff0bf;
}

.hero .btn--ghost {
	border-color: rgba(255, 255, 255, 0.5);
	color: #ffffff;
	background: rgba(6, 11, 17, 0.25);
}

.hero .btn--ghost:hover {
	border-color: #7ff0c8;
	color: #7ff0c8;
	background: rgba(6, 11, 17, 0.42);
}

.hero__dot.is-active {
	background: #5ff0bf;
}

/* ---------- Section surfaces ---------- */
.feature-strip {
	background: #ffffff;
}

.feat__icon {
	background: #eff8f3;
	border-color: rgba(0, 158, 114, 0.22);
}

.card,
.agri-card,
.compliance-item,
.resource-download,
.kit-card,
.contact-card,
.contact-form-panel,
.contact-side__card,
.scene-card,
.commit-card,
.entry-card,
.faq-item,
.case-equipment,
.nda-statement,
.spec-nda-note,
.inquiry-dialog {
	background: #ffffff;
	border-color: var(--line);
}

.card:hover,
.contact-card:hover,
.resource-download:hover,
.scene-card:hover,
.entry-card:hover {
	box-shadow: var(--shadow);
}

.product-card__thumb {
	background:
		radial-gradient(circle at 70% 20%, rgba(0, 158, 114, 0.06), transparent 55%),
		#f4f8f6;
}

.single-product__ph {
	color: rgba(10, 31, 23, 0.32);
	background:
		radial-gradient(circle at 70% 20%, rgba(0, 158, 114, 0.1), transparent 55%),
		var(--panel-2);
}

.split p {
	color: var(--muted);
}

.about-intro__lead {
	color: var(--ink);
}

.kit-card__media {
	background: #eef5f1;
}

.kit-specs li {
	color: var(--muted);
}

.post-card__thumb,
.news-card__thumb--empty {
	background:
		radial-gradient(circle at 75% 15%, rgba(0, 158, 114, 0.1), transparent 50%),
		linear-gradient(135deg, #eef5f1, #e2efe8);
}

.stats {
	background: linear-gradient(90deg, #f1f8f4, #e6f3ec);
	color: var(--heading);
}

/* ---------- Inner page heads ---------- */
.page-head {
	background:
		radial-gradient(circle at 82% 0%, rgba(0, 158, 114, 0.1), transparent 45%),
		linear-gradient(120deg, #f5faf7, #e9f4ee);
	border-bottom: 1px solid var(--line);
	color: var(--ink);
}

.page-head h1 {
	color: var(--heading);
}

.page-head p {
	color: var(--muted);
}

/* Photo headers keep white type over the image */
.page-head--about,
.page-head--agri,
.page-head--news,
.page-head--contact {
	background: #0a141b;
}

.page-head--about h1,
.page-head--agri h1,
.page-head--news h1,
.page-head--contact h1 {
	color: #ffffff;
}

.page-head--about p,
.page-head--news p,
.page-head--contact p {
	color: #d7e4ed;
}

.page-head--agri .kicker {
	color: #6ff0c4;
}

/* ---------- CTA bands ---------- */
.cta-band {
	background:
		radial-gradient(circle at 18% 30%, rgba(0, 158, 114, 0.12), transparent 42%),
		radial-gradient(circle at 85% 80%, rgba(0, 158, 114, 0.08), transparent 45%),
		linear-gradient(120deg, #f1f9f5, #e5f3ec);
	border-top: 1px solid var(--line);
	color: var(--heading);
}

.cta-band h2 {
	color: var(--heading);
}

.cta-band p {
	color: var(--muted);
}

.cta-band--split {
	background: linear-gradient(120deg, #071019, #0d2434);
}

.cta-band--split h2 {
	color: #ffffff;
}

.cta-band--split p {
	color: #d7e4ed;
}

.case-cta {
	background:
		radial-gradient(circle at 80% 10%, rgba(0, 158, 114, 0.12), transparent 50%),
		linear-gradient(135deg, #f1f9f5, #e5f3ec);
}

.case-cta h2 {
	color: var(--heading);
}

.case-cta p {
	color: var(--muted);
}

/* ---------- Forms ---------- */
.se-form__context {
	background: var(--panel-2);
	border-color: var(--line);
}

.se-form input,
.se-form select,
.se-form textarea {
	background-color: #ffffff;
	border-color: #d8e4de;
	color: var(--heading);
}

.se-form input::placeholder,
.se-form textarea::placeholder {
	color: #8ca197;
}

.se-form select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f756b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

.se-form label .req {
	color: #c62828;
}

.se-form__consent input[type="checkbox"] {
	background: #ffffff;
}

.se-form__msg--ok {
	background: rgba(0, 158, 114, 0.08);
	color: #00795a;
	border-color: rgba(0, 158, 114, 0.3);
}

.se-form__msg--error {
	background: rgba(214, 69, 69, 0.08);
	color: #b42323;
	border-color: rgba(214, 69, 69, 0.3);
}

/* ---------- Contact ---------- */
.contact-card__value,
.contact-side__steps strong {
	color: var(--heading);
}

.contact-card__note--link {
	color: var(--accent-bright);
}

.contact-side__promises li,
.contact-factory-meta li {
	color: var(--ink);
}

/* ---------- Footer ---------- */
.site-footer {
	background: #ffffff;
	border-top: 1px solid var(--line);
	color: var(--muted);
}

.site-footer a {
	color: #40564c;
}

.site-footer a:hover {
	color: var(--accent-bright);
}

.site-footer .site-footer__heading {
	color: var(--heading);
}

.site-footer__blurb {
	color: var(--muted);
}

.social a svg {
	fill: var(--accent-bright);
}

.social a:hover {
	background: var(--accent-bg);
}

.social a:hover svg {
	fill: var(--accent-dark);
}

.site-footer__bottom {
	border-top-color: #e5eee9;
	color: var(--muted);
}

.site-footer__legal a {
	color: var(--muted);
}

.site-footer__legal a:hover {
	color: var(--accent-bright);
}

/* ---------- Typography, spacing and image presentation ---------- */
:root {
	--container: 1440px;
	--fs-sm: 0.875rem;
}

button, input, select, textarea {
	font-family: inherit;
}

.container {
	padding-inline: clamp(20px, 4vw, 64px);
}

.section {
	padding-block: clamp(60px, 6vw, 88px);
}

.section-head {
	margin-bottom: 40px;
}

.page-head h1 {
	max-width: 26ch;
	line-height: 1.16;
}

.page-head p {
	margin-top: 16px;
	line-height: 1.75;
}

.page-head .kicker {
	display: inline-block;
	margin-bottom: 12px;
	font-size: var(--fs-sm);
	font-weight: 600;
	letter-spacing: .1em;
}

.page-head--about .kicker,
.page-head--news .kicker,
.page-head--contact .kicker {
	color: #7cecc6;
}

.page-head__scene {
	filter: none;
}

.product-card, .news-card, .post-card, .kit-card {
	display: flex;
	flex-direction: column;
}

.product-card .card__body, .news-card .card__body, .post-card .card__body, .kit-card__body {
	flex: 1;
}

.news-card__more { margin-top: auto; padding-top: 12px; }

.card__body {
	padding: 24px;
	gap: 4px;
}

.card__title {
	line-height: 1.45;
	text-wrap: pretty;
}

.card__foot {
	flex-wrap: wrap;
	row-gap: 12px;
	padding-top: 16px;
}

.product-card__thumb,
.single-product__media {
	background: #ffffff;
}

.product-card__thumb img,
.single-product__media img {
	object-fit: contain;
	padding: clamp(16px, 2vw, 28px);
}

.single-product {
	align-items: start;
}

.single-product__summary,
.single-product__specs li > span,
.contact-card {
	min-width: 0;
}

.contact-card__value {
	overflow-wrap: anywhere;
	word-break: normal;
}

.btn {
	min-height: 48px;
	text-align: center;
}

.step p,
.compliance-item p,
.contact-side__steps p {
	font-size: var(--fs-md);
	line-height: 1.7;
}

@media (max-width: 600px) {
	.site-header__inner { gap: 12px; }
	.site-header__actions { gap: 10px; }
	.page-head { padding-block: 48px; }
	.page-head h1 { font-size: clamp(1.75rem, 7.5vw, 2.125rem); }
	.card__body { padding: 22px; }
	.section-head { margin-bottom: 32px; }
	.single-product { gap: 24px; padding-block: 32px; }
	.single-product__actions .btn { width: 100%; }
	.cta-band { padding-block: 56px; }
	.scheme-figure { padding: 4px; overflow: hidden; }
	.scheme-figure img { width: 100%; min-width: 0; max-width: 100%; }
}

.scheme-figure__zoom { display: block; cursor: zoom-in; }

.cta-band--split .cta-band__scene { filter: none; object-position: center; }
.cta-band--split::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(5, 19, 30, .85), rgba(5, 19, 30, .35) 65%, rgba(5, 19, 30, .15));
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	[data-se-steps] .step,
	[data-se-steps].is-visible .step {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Four scene images: keep subjects separate from copy and badges. */
.contact-factory-visual img {
	object-position: 70% center;
}
.page-head--team .page-head__scene { object-position: center 52%; }
.page-head--team .page-head__overlay {
	background: linear-gradient(90deg, rgba(6, 18, 29, .88), rgba(6, 18, 29, .64) 36%, transparent 66%);
}
.page-head--team h1 { max-width: 20ch; }
.page-head--team p { max-width: 54ch; }
.about-intro__visual--team .about-intro__visual-badge {
	position: static;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	border-radius: 0;
	padding: 18px 22px;
	background: #e8f4ee;
	color: #075b43;
	box-shadow: none;
}
.about-intro__visual--team img,
.about-compliance__visual img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.about-intro__visual--team:hover img,
.about-compliance__visual:hover img { transform: none; }
.about-compliance__visual { align-self: center; min-height: 0; aspect-ratio: 4 / 3; }
.about-compliance__visual img { height: 100%; }
.app-photo__overlay h2 { font-size: clamp(1.625rem, 2.2vw, 2rem); }
.app-photo__overlay p { max-width: 58ch; }

@media (max-width: 600px) {
	.page-head--team { padding: 0; }
	.page-head--team .page-head__scene {
		position: relative;
		inset: auto;
		height: 200px;
		object-position: right center;
	}
	.page-head--team .page-head__overlay { display: none; }
	.page-head--team .container { padding-block: 32px; }
	.app-photo__scene { aspect-ratio: 4 / 3; }
}

/* ---------- Mobile navigation ---------- */
@media (max-width: 900px) {
	.site-nav {
		background: rgba(255, 255, 255, 0.99);
		border-bottom: 1px solid var(--line);
		box-shadow: 0 18px 40px rgba(12, 48, 34, 0.12);
	}

	.site-nav__list > .menu-item-has-children.is-open > .site-nav__sub-toggle {
		color: var(--heading);
	}

	.site-nav__list .sub-menu a {
		color: var(--muted);
	}
}
