/* E-Therm: aanvullingen op theme.json. Houd dit bestand klein. */

html { scroll-behavior: smooth; scroll-padding-top: 88px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Header */
.etherm-header { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--wp--preset--color--line); }
.admin-bar .etherm-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .etherm-header { top: 0; position: relative; } }
.etherm-header .wp-block-site-logo img { height: auto; }
.etherm-header .wp-block-navigation-item__content { padding: .35em 0; border-bottom: 2px solid transparent; }
.etherm-header .wp-block-navigation-item__content:hover,
.etherm-header .wp-block-navigation-item__content:focus-visible { border-bottom-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--ink); }
.etherm-header .etherm-cta .wp-block-button__link { padding: .6em 1.1em; font-size: .8125rem; }

/* Hero */
.etherm-hero { position: relative; overflow: hidden; background:
	radial-gradient(60% 70% at 85% 45%, rgba(243,146,33,.14), transparent 70%),
	radial-gradient(40% 50% at 10% 100%, rgba(114,177,70,.10), transparent 70%),
	linear-gradient(180deg, #FBFBFA 0%, var(--wp--preset--color--surface) 100%); }
.etherm-hero h1 { letter-spacing: -.01em; text-wrap: balance; margin-top: .25rem; }
.etherm-hero .etherm-hero__lead { text-wrap: pretty; max-width: 36rem; }
.etherm-hero__img { margin: 0; }
.etherm-hero__img img { width: 100%; height: auto; aspect-ratio: 1200 / 708; }
.etherm-hero__trust { color: var(--wp--preset--color--muted); margin-top: var(--wp--preset--spacing--40); padding-left: 1.6rem; position: relative; }
.etherm-hero__trust::before { content: ""; position: absolute; left: 0; top: .2em; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: var(--wp--preset--color--secondary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 70% no-repeat; }
.is-style-outline-dark .wp-block-button__link { background: transparent; color: var(--wp--preset--color--ink); border: 2px solid var(--wp--preset--color--ink); padding-top: calc(.85em - 2px); padding-bottom: calc(.85em - 2px); }
.is-style-outline-dark .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: #fff; }
@media (max-width: 781px) { .etherm-hero__art { order: -1; max-width: 300px; margin-inline: auto; } }

/* Section kicker */
.etherm-kicker { text-transform: uppercase; letter-spacing: .12em; font-weight: 700; font-size: .8125rem; color: var(--wp--preset--color--secondary); margin-bottom: .25rem; }
.etherm-rule { width: 56px; height: 3px; background: var(--wp--preset--color--primary); border: 0; margin-inline: auto; opacity: 1; }

/* Features */
.etherm-feature { text-align: center; }
.etherm-feature .wp-block-image { margin-inline: auto; }
.etherm-feature .wp-block-image img { width: 64px; height: 64px; padding: 16px; box-sizing: border-box; border-radius: 50%; background: var(--wp--preset--color--primary); transition: transform .2s ease; }
.etherm-feature:hover .wp-block-image img { transform: translateY(-3px); }

/* Service cards */
.etherm-card { background: #fff; border-radius: 12px; box-shadow: var(--wp--preset--shadow--card); height: 100%; display: flex; flex-direction: column; transition: box-shadow .2s ease, transform .2s ease; }
.etherm-card:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(31,42,48,.06), 0 14px 32px rgba(31,42,48,.10); }
.etherm-card .wp-block-image img { height: 120px; width: auto; max-width: 100%; object-fit: contain; }
.etherm-card > .wp-block-details { margin-top: auto; }
.etherm-grid-services { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: var(--wp--preset--spacing--40); }

/* Details / "Meer info" */
.wp-block-details summary, .etherm-more summary { cursor: pointer; font-family: var(--wp--preset--font-family--heading); font-weight: 700; color: var(--wp--preset--color--primary-dark); list-style: none; display: inline-flex; align-items: center; gap: .4em; }
.wp-block-details summary::-webkit-details-marker, .etherm-more summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after, .etherm-more summary::after { content: ""; width: .5em; height: .5em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s ease; }
.wp-block-details[open] summary::after, .etherm-more[open] summary::after { transform: rotate(-135deg) translateY(-2px); }
.wp-block-details ul { padding-left: 1.1em; }
.wp-block-details li::marker { color: var(--wp--preset--color--secondary); }

/* Partners */
.etherm-partners .wp-block-image img { max-height: 72px; width: auto; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; }
.etherm-partners .wp-block-image a:hover img, .etherm-partners .wp-block-image img:hover { filter: none; opacity: 1; }

/* Contact */
.etherm-contact-card { background: #fff; border-radius: 12px; box-shadow: var(--wp--preset--shadow--card); }
.etherm-contact-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .9rem; }
.etherm-contact-list strong { display: block; font-family: var(--wp--preset--font-family--heading); font-size: .8125rem; text-transform: uppercase; letter-spacing: .08em; color: var(--wp--preset--color--muted); }

/* WPForms: in lijn met thema */
.wpforms-container .wpforms-field input, .wpforms-container .wpforms-field textarea, .wpforms-container .wpforms-field select { border-radius: 6px !important; border-color: var(--wp--preset--color--line) !important; font-family: inherit !important; }
.wpforms-container .wpforms-field input:focus, .wpforms-container .wpforms-field textarea:focus { border-color: var(--wp--preset--color--primary) !important; box-shadow: 0 0 0 3px rgba(243,146,33,.2) !important; }
.wpforms-container button[type=submit] { background: var(--wp--preset--color--primary) !important; color: var(--wp--preset--color--ink) !important; border: 0 !important; border-radius: 6px !important; font-family: var(--wp--preset--font-family--heading) !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .04em; padding: .85em 1.6em !important; height: auto !important; }
.wpforms-container button[type=submit]:hover { background: var(--wp--preset--color--ink) !important; color: #fff !important; }

/* Footer */
.etherm-footer a { color: inherit; text-decoration: none; }
.etherm-footer a:hover { color: var(--wp--preset--color--primary); }

/* Focus */
:where(a, button, summary, input, textarea):focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 2px; }
.etherm-footer__rule { border: 0; border-top: 1px solid rgba(255,255,255,.15); opacity: 1; }
.etherm-header .etherm-cta .wp-block-button__link { white-space: nowrap; }
@media (max-width: 600px) {
	.etherm-header .etherm-logo img { width: 140px !important; }
	.etherm-header .etherm-cta .wp-block-button__link { padding: .55em .8em; font-size: .75rem; letter-spacing: .02em; }
	.etherm-partners .wp-block-group.alignwide { gap: 2rem 2.5rem !important; }
	.etherm-partners .wp-block-image img { max-height: 52px; }
}
@media (min-width: 600px) { .etherm-header .etherm-cta { order: 2; } }
.etherm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; padding-top: 4rem; }
.etherm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 1.25rem; }
.etherm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.5rem; font-weight: 700; }
/* Vaste verhoudingen tegen layout shift (thema-afbeeldingen hebben geen width/height) */
.etherm-header .etherm-logo img { aspect-ratio: 480 / 155; }
.etherm-feature .wp-block-image img { aspect-ratio: 1; }
