/*
Theme Name: EuroStrong
Theme URI: https://localhost/
Author: EuroStrong
Description: EuroStrong Kasa için native WordPress block theme.
Version: 0.3.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: eurostrong
*/

:root {
	--es-container: 1280px;
	--es-reading: 760px;
	--es-gutter: clamp(1.25rem, 3vw, 3rem);
	--es-section: clamp(2.75rem, 5vw, 4.75rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
a { text-underline-offset: 0.18em; }
:where(a, button, input, textarea, select):focus-visible { outline: 3px solid #A86F32; outline-offset: 3px; }
.wp-site-blocks { overflow: clip; }

.es-site-header { position: relative; z-index: 20; border-bottom: 1px solid var(--wp--preset--color--border); }
.es-header-inner { min-height: 84px; gap: clamp(1rem, 2vw, 2.5rem); }
.es-brand { margin: 0; letter-spacing: -0.03em; white-space: nowrap; font-weight: 700; }
.es-brand a { color: var(--wp--preset--color--primary); text-decoration: none; }
.es-header-nav { margin-left: auto; font-size: 0.98rem; font-weight: 600; }
.es-header-nav .wp-block-navigation__container { gap: clamp(.8rem, 1.25vw, 1.35rem); }
.es-header-nav .wp-block-navigation-item__content { padding-block: 1rem; }
.es-header-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary-hover); }
.es-header-cta { margin-left: .25rem; }
.es-header-cta .wp-block-button__link { min-height: 46px; display: inline-flex; align-items: center; white-space: nowrap; }

.es-section { padding-block: var(--es-section); }
.es-eyebrow { margin-bottom: .8rem; letter-spacing: .13em; text-transform: uppercase; font-size: .78rem; line-height: 1.3; font-weight: 750; }
.es-lead { max-width: 620px; color: #d6dee4; font-size: clamp(1.125rem, 1.7vw, 1.45rem) !important; line-height: 1.55; }
.es-text-link { font-weight: 700; text-decoration: none; }
.es-text-link::after { content: " \2192"; }

.es-stock-strip { padding-block: 1rem; border-bottom: 1px solid var(--wp--preset--color--border); }
.es-stock-strip .alignwide { gap: 1rem 2rem; }
.es-stock-strip p { margin: 0; font-size: .93rem; }
.es-stock-note { color: var(--wp--preset--color--text-secondary); }
.es-stock-note strong { color: var(--wp--preset--color--primary); }

.es-hero { position: relative; padding-block: clamp(4.5rem, 8vw, 7.25rem); }
.es-hero-layout { position: relative; z-index: 1; gap: clamp(3rem, 7vw, 7rem); }
.es-hero-content { max-width: 790px; }
.es-hero-content > * { margin-block-start: 0; }
.es-hero h1 { max-width: 760px; margin-bottom: 1.25rem; text-wrap: balance; }
.es-hero .wp-block-buttons { margin-top: 1.9rem; gap: .8rem; }
.es-hero .is-style-outline .wp-block-button__link { border-color: rgba(255,255,255,.55); color: #fff; }
.es-technical-panel { position: relative; min-height: 285px; border: 1px solid rgba(255,255,255,.1); border-left-color: rgba(255,255,255,.18); }
.es-technical-panel::before,
.es-technical-panel::after { content: ""; position: absolute; pointer-events: none; }
.es-technical-panel::before {
	inset: 32px;
	border-top: 1px solid rgba(255,255,255,.14);
	border-bottom: 1px solid rgba(255,255,255,.14);
}
.es-technical-panel::after {
	width: 62px;
	height: 62px;
	right: -1px;
	top: -1px;
	border-top: 2px solid var(--wp--preset--color--accent);
	border-right: 2px solid var(--wp--preset--color--accent);
}

.es-approach { padding-block: clamp(2.25rem, 3.75vw, 3.5rem); border-bottom: 1px solid var(--wp--preset--color--border); }
.es-approach-grid { gap: clamp(2rem, 6vw, 6rem); }
.es-approach h2 { margin-bottom: 0; max-width: 420px; }
.es-approach-message { margin: 0; max-width: 650px; padding-left: clamp(1.5rem, 3vw, 3rem); border-left: 2px solid var(--wp--preset--color--accent); font-size: clamp(1.05rem, 1.5vw, 1.18rem) !important; line-height: 1.55; }

.es-rule-heading { margin-bottom: 2rem; padding-bottom: 1.15rem; border-bottom: 1px solid var(--wp--preset--color--border); }
.es-rule-heading h2, .es-rule-heading p { margin-block: 0; }
.es-card-grid { align-items: stretch; gap: 1.25rem; }
.es-card-grid > .wp-block-column {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 275px;
	padding: clamp(1.35rem, 2.2vw, 1.9rem);
	background: var(--wp--preset--color--surface-white);
	border: 1px solid var(--wp--preset--color--border);
	border-top: 3px solid var(--wp--preset--color--primary);
	border-radius: 4px;
	transition: border-color .18s ease, transform .18s ease;
}
.es-card-grid > .wp-block-column:hover { transform: translateY(-2px); border-top-color: var(--wp--preset--color--accent); }
.es-card-grid > .wp-block-column > :last-child { margin-top: auto; }
.es-card-grid h3 { margin: 1.35rem 0 .65rem; font-size: clamp(1.35rem, 2vw, 1.65rem); }
.es-card-grid h3 + p { margin-top: 0; }
.es-card-grid p:not(.es-card-index) { color: var(--wp--preset--color--text-secondary); }
.es-card-index { margin: 0; color: var(--wp--preset--color--accent); font-weight: 750; font-size: .78rem; letter-spacing: .12em; }

.es-chooser-layout { gap: clamp(2.5rem, 7vw, 7rem); }
.es-chooser-layout > .wp-block-column:first-child { padding-top: .25rem; }
.es-chooser-layout > .wp-block-column:first-child > p:not(.es-eyebrow) { color: var(--wp--preset--color--text-secondary); }
.es-criteria-grid { gap: 0; border-top: 1px solid var(--wp--preset--color--border); }
.es-criteria-grid > .wp-block-column + .wp-block-column { border-left: 1px solid var(--wp--preset--color--border); }
.es-criteria-grid .wp-block-list { margin: 0; padding: 0; list-style: none; }
.es-criteria-grid li { min-height: 108px; padding: 1.15rem 1.5rem; border-bottom: 1px solid var(--wp--preset--color--border); color: var(--wp--preset--color--text-secondary); }
.es-criteria-grid strong { color: var(--wp--preset--color--primary); font-size: 1.02rem; }

.es-model-heading { max-width: 780px; margin-left: 0 !important; margin-bottom: 2rem; }
.es-model-heading > p:last-child { color: var(--wp--preset--color--text-secondary); }
.es-spec-grid { gap: 0; border-top: 1px solid var(--wp--preset--color--border); border-left: 1px solid var(--wp--preset--color--border); }
.es-spec-grid p { margin: 0; min-height: 74px; padding: 1rem 1.15rem; display: flex; align-items: center; border-right: 1px solid var(--wp--preset--color--border); border-bottom: 1px solid var(--wp--preset--color--border); color: var(--wp--preset--color--primary); font-size: .92rem; font-weight: 650; }

.es-reasons-grid { gap: clamp(2.5rem, 6vw, 6rem); }
.es-reasons-grid > .wp-block-column:first-child { padding-top: 1.1rem; }
.es-feature-row { display: grid; grid-template-columns: 38px 1fr; align-items: start; gap: 1.1rem; padding-block: 1.15rem; border-top: 1px solid var(--wp--preset--color--border); }
.es-feature-row:last-child { border-bottom: 1px solid var(--wp--preset--color--border); }
.es-feature-row h3 { margin: 0 0 .35rem; font-size: 1.28rem; }
.es-feature-row p { margin-block: 0; color: var(--wp--preset--color--text-secondary); }
.es-feature-index { color: var(--wp--preset--color--accent) !important; font-size: .78rem; font-weight: 750; letter-spacing: .1em; }

.es-trust { padding-block: clamp(2.75rem, 4.5vw, 4.25rem); }
.es-trust-heading { max-width: 720px; margin-left: 0 !important; margin-bottom: 2rem; }
.es-trust-grid { gap: 0; border-top: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); }
.es-trust-grid > .wp-block-column { padding: 1.75rem clamp(1.25rem, 3vw, 2.5rem); border-left: 1px solid rgba(255,255,255,.22); }
.es-trust-grid > .wp-block-column:first-child { padding-left: 0; border-left: 0; }
.es-trust-grid > .wp-block-column:last-child { padding-right: 0; }
.es-trust-grid h3 { margin-block: .65rem .5rem; font-size: 1.25rem; }
.es-trust-grid p:last-child { margin: 0; color: #d6dee4; }
.es-trust-index { margin: 0; color: #c99a66; font-size: .78rem; font-weight: 750; letter-spacing: .12em; }

.es-use-grid { gap: 0; border-top: 1px solid var(--wp--preset--color--border); border-bottom: 1px solid var(--wp--preset--color--border); }
.es-use-grid > .wp-block-column { padding: 1.35rem clamp(1rem, 2.2vw, 2rem); border-left: 1px solid var(--wp--preset--color--border); }
.es-use-grid > .wp-block-column:first-child { padding-left: 0; border-left: 0; }
.es-use-grid > .wp-block-column:last-child { padding-right: 0; }
.es-use-grid h3 { margin: 0 0 .45rem; font-size: 1.15rem; }
.es-use-grid p { margin: 0; color: var(--wp--preset--color--text-secondary); font-size: .95rem; }

.es-faq-strip { padding-block: clamp(1.9rem, 3.25vw, 2.8rem); border-block: 1px solid var(--wp--preset--color--border); }
.es-faq-strip .alignwide { gap: 2rem; }
.es-faq-strip h2 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.es-faq-strip .wp-block-buttons { flex-shrink: 0; }
.es-cta-section { padding-block: clamp(2.75rem, 4.5vw, 4.25rem); }
.es-cta { max-width: 1120px; border-left: 4px solid var(--wp--preset--color--accent); }
.es-cta h2 { max-width: 680px; text-wrap: balance; }
.es-cta p { max-width: 650px; color: #d6dee4; }

.es-site-footer { margin-top: 0; padding-block: clamp(2.5rem, 4vw, 3.75rem) 1.25rem; }
.es-site-footer a { color: inherit; text-decoration: none; }
.es-site-footer a:hover { text-decoration: underline; }
.es-footer-grid { align-items: flex-start; gap: clamp(1.75rem, 4.5vw, 4.5rem); }
.es-footer-brand { margin: 0; font-size: 1.3rem; font-weight: 700; letter-spacing: -.02em; }
.es-footer-brand a { color: #fff; }
.es-footer-summary { max-width: 420px; color: #c4ced5; }
.es-site-footer .wp-block-list { margin: .8rem 0 0; padding: 0; list-style: none; }
.es-site-footer .wp-block-list li + li { margin-top: .55rem; }
.es-footer-bottom { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.16); color: #c4ced5; }
.es-footer-label { margin: 0; color: #c4ced5; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

@media (max-width: 1180px) {
	.es-header-inner { min-height: 74px; }
	.es-header-nav { font-size: .9rem; }
	.es-header-nav .wp-block-navigation__container { gap: .75rem; }
	.es-header-cta { display: none; }
}
@media (max-width: 781px) {
	.es-header-inner { min-height: 68px; }
	.es-header-nav { margin-left: auto; }
	.es-section { padding-block: 2.75rem; }
	.es-hero { padding-block: 3.75rem; }
	.es-hero-layout { gap: 2rem; }
	.es-hero-layout > .wp-block-column:last-child { display: none; }
	.es-approach-message { padding-left: 1.25rem; }
	.es-card-grid { gap: 1rem; }
	.es-card-grid > .wp-block-column { min-height: 240px; }
	.es-chooser-layout { gap: 2rem; }
	.es-criteria-grid > .wp-block-column + .wp-block-column { border-left: 0; }
	.es-criteria-grid li { min-height: auto; padding-inline: 0; }
	.es-feature-row { grid-template-columns: 34px 1fr; gap: .8rem; }
	.es-use-grid { border-bottom: 0; }
	.es-use-grid > .wp-block-column, .es-use-grid > .wp-block-column:first-child, .es-use-grid > .wp-block-column:last-child { padding: 1.15rem 0; border-left: 0; border-bottom: 1px solid var(--wp--preset--color--border); }
	.es-trust-grid { border-bottom: 0; }
	.es-trust-grid > .wp-block-column, .es-trust-grid > .wp-block-column:first-child, .es-trust-grid > .wp-block-column:last-child { padding: 1.5rem 0; border-left: 0; border-bottom: 1px solid rgba(255,255,255,.22); }
	.es-faq-strip .wp-block-group.alignwide { align-items: flex-start; }
	.es-cta-section { padding-block: 2.75rem; }
	.es-cta-grid { gap: 1.25rem; }
	.es-footer-grid { gap: 2.25rem; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Shared stock cards and product presentation. */
.es-product-page { padding-block: 36px 56px; }
.es-product-page .es-catalogue-container { width: 100%; max-width: 1280px; margin-inline: auto; }
.es-stock-products.es-section { padding-block: 32px; }
.es-stock-products .es-products-grid { max-width: none; }
.es-products-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-block: 24px; }
.es-product-card { display: grid; grid-template-columns: 40% minmax(0,1fr); border: 1px solid var(--wp--preset--color--border); background: #fff; color: var(--wp--preset--color--primary); min-width: 0; }
.es-product-image { align-self: center; display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 5; min-width: 0; padding: 16px; box-sizing: border-box; }
.es-product-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.es-product-body { padding: 20px 18px 20px 4px; min-width: 0; }
.es-product-body .es-eyebrow { margin: 0 0 5px; font-size: 11px; letter-spacing: .05em; }
.es-product-body h3 { margin: 0 0 8px; font-size: 24px; }
.es-product-body h3 a { text-decoration: none; }
.es-product-badge { display: block; font-size: 12px; line-height: 1.4; color: var(--wp--preset--color--text-secondary); }
.es-product-specs { margin: 14px 0; }
.es-product-specs > div { display: grid; grid-template-columns: 85px minmax(0,1fr); gap: 8px; padding-block: 5px; border-bottom: 1px solid #e3e7eb; }
.es-product-specs dt { color: var(--wp--preset--color--text-secondary); }
.es-product-specs dt, .es-product-specs dd { font-size: 12px; line-height: 1.5; }
.es-product-specs dd { margin: 0; overflow-wrap: anywhere; }
.es-product-price { margin: 10px 0 3px; font-size: clamp(24px,2.3vw,30px); font-weight: 750; line-height: 1.2; overflow-wrap: anywhere; }
.es-price-terms { margin: 0 0 8px; font-size: 11px; line-height: 1.5; color: var(--wp--preset--color--text-secondary); }
.es-product-stock { display: inline-block; margin: 0 10px 8px 0; padding: 2px 8px; background: #eef4ee; color: #28603c; font-size: 12px; font-weight: 600; }
.es-product-body > .es-text-link { display: block; width: fit-content; font-size: 13px; }
.es-catalogue-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 24px; }
.es-catalogue-nav a { padding: 8px 12px; border: 1px solid var(--wp--preset--color--border); font-size: 13px; text-decoration: none; background: #fff; }
.es-catalogue-nav a:hover { border-color: var(--wp--preset--color--accent); }
.es-catalogue-group { margin-top: 36px; }
.es-catalogue-group h2 { font-size: clamp(23px,2.5vw,32px); scroll-margin-top: 100px; }
.es-product-detail { display: grid; grid-template-columns: minmax(0,45fr) minmax(0,55fr); align-items: center; gap: 40px; }
.es-product-photo { background: #fff; padding: 24px; min-width: 0; }
.es-product-photo img { display: block; width: 100%; height: 480px; object-fit: contain; }
.es-product-summary { min-width: 0; }
.es-product-summary h1 { font-size: clamp(32px,4vw,52px); margin: 8px 0; }
.es-product-summary > p { margin-block: 8px; }
.es-product-category { font-size: 13px; }
.es-product-summary .es-product-price { font-size: clamp(34px,4vw,48px); margin-top: 24px; }
.es-product-summary .es-product-specs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 18px 0 24px; }
.es-product-summary .es-product-specs > div { display: block; padding: 10px 12px; background: #eaf0f3; border: 0; }
.es-product-summary .es-product-specs dd { margin-top: 4px; font-size: 14px; font-weight: 600; }
.es-product-contact { display: inline-block; text-decoration: none; }
.es-product-technical { margin-top: 40px; }
.es-product-technical h2, .es-related-products h2 { font-size: clamp(24px,3vw,32px); }
.es-product-technical .es-product-specs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 32px; }
.es-product-technical .es-product-specs > div { grid-template-columns: minmax(110px,1fr) minmax(0,2fr); padding-block: 10px; }
.es-product-technical dt, .es-product-technical dd { font-size: 14px; }
.es-product-notes { margin-top: 24px; padding: 20px 24px; border-left: 3px solid var(--wp--preset--color--accent); background: #eaf0f3; }
.es-product-notes h2 { margin: 0 0 10px; font-size: 18px; }
.es-product-notes ul { margin: 0; padding-left: 18px; font-size: 13px; }
.es-related-products { margin-top: 40px; }
.es-chooser.es-section { padding-block: 32px; }
.es-chooser .es-criteria-grid li { min-height: 0; padding-block: 12px; }
@media (min-width: 769px) and (max-width: 1100px) {
 .es-products-grid { grid-template-columns: minmax(0,1fr); }
 .es-product-image { max-height: 300px; width: 100%; }
 .es-product-detail { gap: 24px; }
 .es-product-photo { padding: 12px; }
 .es-product-photo img { height: 380px; }
}
@media (max-width: 768px) {
 .es-products-grid, .es-product-detail, .es-product-technical .es-product-specs { grid-template-columns: minmax(0,1fr); }
 .es-product-card { grid-template-columns: minmax(0,1fr); }
 .es-product-image { aspect-ratio: 4 / 3; width: 100%; max-height: 280px; padding: 20px; }
 .es-product-body { padding: 16px 20px 20px; }
 .es-product-body .es-product-specs > div { grid-template-columns: 95px minmax(0,1fr); }
 .es-product-photo img { height: 340px; }
 .es-product-detail { gap: 24px; }
 .es-stock-products.es-section { padding-block: 24px; }
 .es-product-page { padding-block: 24px 40px; }
}
.es-product-body > .es-text-link::after, .es-stock-products .es-text-link::after { content: none; }
@media (max-width: 1180px) {
 .es-site-header .es-header-cta { display: none; }
 .es-site-header .es-header-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
 .es-site-header .es-header-nav .wp-block-navigation__responsive-container-open { display: flex; }
}

/* Only the related-products grid uses three desktop columns. */
.es-related-products .es-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1100px) {
 .es-related-products .es-products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
 .es-related-products .es-products-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Optional technical support content, preserving the product hero. */
.es-product-support section, .es-fire-test { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--wp--preset--color--border); }
.es-product-support h2, .es-fire-test h2 { margin: 0 0 18px; font-size: clamp(22px,2.5vw,30px); }
.es-product-support h3 { font-size: 18px; margin: 0 0 10px; }
.es-support-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.es-product-support ul { margin: 0; padding-left: 20px; font-size: 14px; }
.es-product-support li + li { margin-top: 6px; }
.es-support-certificates ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 24px; }
.es-support-certificates li + li { margin: 0; }
.es-support-certificates li:last-child { font-size: 12px; color: var(--wp--preset--color--text-secondary); }
.es-support-capacity { align-items: center; }
.es-product-support figure, .es-fire-test figure { margin: 0; min-width: 0; }
.es-product-support img { display: block; width: 100%; height: 300px; object-fit: contain; }
.es-support-capacity p { font-size: 14px; }
.es-support-lock summary { cursor: pointer; font-size: 20px; font-weight: 650; color: var(--wp--preset--color--primary); }
.es-support-lock[open] summary { margin-bottom: 20px; }
.es-support-lock img { height: 220px; }
.es-fire-test img { display: block; width: 100%; height: auto; object-fit: contain; }
.es-fire-test figcaption { margin-top: 12px; font-size: 12px; color: var(--wp--preset--color--text-secondary); }
@media (max-width: 768px) {
 .es-support-columns, .es-support-certificates ul { grid-template-columns: minmax(0,1fr); }
 .es-product-support img { max-height: 300px; }
 .es-support-lock img { height: auto; }
}
.es-product-breadcrumb { margin-bottom: 24px; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.es-product-breadcrumb > span { margin-inline: 4px; }
.es-purchase-cta, .es-contact-context { margin-block: 28px; padding: 24px; border-left: 3px solid var(--wp--preset--color--accent); background: var(--wp--preset--color--surface-subtle); }
.es-purchase-cta h2 { margin-top: 0; font-size: clamp(22px,2.5vw,30px); }
.es-contact-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: 32px; }
.es-contact-layout h2 { font-size: 26px; }
.es-contact-form p { margin: 0 0 16px; }
.es-contact-form label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.es-contact-form input, .es-contact-form textarea { box-sizing: border-box; width: 100%; border: 1px solid #aab8c2; border-radius: 3px; background: #fff; color: #17324d; padding: 12px; font: inherit; }
.es-contact-form textarea { resize: vertical; }
.es-contact-form :focus-visible { outline: 2px solid #a86f32; outline-offset: 3px; }
.es-contact-form button { cursor: pointer; border: 0; }
.es-form-honey { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.es-form-errors { border-left: 3px solid #a12d22; padding: 12px; margin-bottom: 16px; }
.es-form-success { border-left: 3px solid #28603c; padding: 16px; background: #eef4ee; }
@media (max-width: 768px) { .es-contact-layout { grid-template-columns: minmax(0,1fr); } }

/* Why EuroStrong: editorial technical information and product-family links. */
.es-why-page { padding-block: 48px 64px; }
.es-why-intro { max-width: 900px; border-left: 3px solid var(--wp--preset--color--accent); padding-left: 24px; margin-bottom: 40px; }
.es-why-intro h1 { margin-top: 0; }
.es-why-intro p { font-size: 19px; color: var(--wp--preset--color--text-secondary); }
.es-why-features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 48px; }
.es-why-feature { margin: 0; padding-top: 20px; border-top: 1px solid var(--wp--preset--color--border); }
.es-why-feature h2 { font-size: 25px; margin: 0 0 14px; }
.es-why-feature p, .es-why-category p { color: var(--wp--preset--color--text-secondary); }
.es-why-section { margin-top: 48px; }
.es-why-section > h2, .es-why-cta h2 { font-size: clamp(25px,3vw,34px); }
.es-why-categories { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.es-why-category { background: #fff; border: 1px solid var(--wp--preset--color--border); padding: 24px; margin: 0; }
.es-why-category h3 { font-size: 21px; margin-top: 0; }
.es-why-category a { font-size: 14px; font-weight: 600; }
.es-why-cta { margin-top: 40px; padding: 32px; background: var(--wp--preset--color--surface-subtle); }
.es-why-cta h2 { margin-top: 0; }
.es-why-cta p { max-width: 900px; }
@media (max-width: 768px) {
 .es-why-page { padding-block: 28px 40px; }
 .es-why-features, .es-why-categories { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .es-why-intro { padding-left: 16px; }
 .es-why-intro p { font-size: 17px; }
 .es-why-cta { padding: 24px; }
}

/* Company profile: restrained typography and open editorial rows. */
.es-about-page { padding-block: 48px 64px; }
.es-about-intro { max-width: 900px; margin-bottom: 40px; }
.es-about-intro h1 { margin-top: 0; }
.es-about-intro p { font-size: 19px; color: var(--wp--preset--color--text-secondary); }
.es-about-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: 40px; padding-block: 28px; border-top: 1px solid var(--wp--preset--color--border); margin: 0; }
.es-about-row > h2 { margin: 0; font-size: clamp(24px,2.5vw,30px); }
.es-about-copy, .es-about-notes { margin: 0; min-width: 0; }
.es-about-copy > p:first-child { margin-top: 0; }
.es-about-copy p { max-width: 760px; }
.es-about-notes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.es-about-note { margin: 0; }
.es-about-note h3 { font-size: 18px; margin: 0 0 8px; }
.es-about-note p { margin: 0; font-size: 15px; color: var(--wp--preset--color--text-secondary); }
.es-about-cta { margin-top: 24px; padding: 28px 32px; background: var(--wp--preset--color--surface-subtle); border-left: 3px solid var(--wp--preset--color--accent); }
.es-about-cta h2 { margin-top: 0; font-size: 28px; }
@media (max-width: 768px) {
 .es-about-page { padding-block: 28px 40px; }
 .es-about-row, .es-about-notes { grid-template-columns: minmax(0,1fr); gap: 20px; }
 .es-about-intro p { font-size: 17px; }
 .es-about-cta { padding: 24px; }
}

/* FAQ: native disclosure controls remain usable without JavaScript. */
.es-faq-page { padding-block: 48px 64px; }
.es-faq-intro { max-width: 860px; margin-bottom: 40px; }
.es-faq-intro h1 { margin-top: 0; }
.es-faq-intro p { font-size: 19px; color: var(--wp--preset--color--text-secondary); }
.es-faq-group { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: 40px; padding-block: 28px; border-top: 1px solid var(--wp--preset--color--border); }
.es-faq-group h2 { margin: 0; font-size: clamp(23px,2.5vw,29px); }
.es-faq-questions { min-width: 0; }
.es-faq-item { border-bottom: 1px solid var(--wp--preset--color--border); }
.es-faq-item:last-child { border-bottom: 0; }
.es-faq-item summary { cursor: pointer; padding: 18px 16px; font-weight: 650; line-height: 1.55; color: var(--wp--preset--color--primary); overflow-wrap: anywhere; }
.es-faq-item summary::marker { color: var(--wp--preset--color--accent); }
.es-faq-item summary:hover, .es-faq-item[open] { background: var(--wp--preset--color--surface-subtle); }
.es-faq-item summary:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: -2px; }
.es-faq-answer { padding: 0 16px 20px; line-height: 1.75; overflow-wrap: anywhere; }
.es-faq-answer p { margin: 0; }
.es-faq-answer .es-faq-related { margin-top: 12px; font-size: 15px; }
.es-faq-related a { text-underline-offset: 4px; }
@media (max-width: 781px) {
 .es-faq-page { padding-block: 28px 40px; }
 .es-faq-intro { margin-bottom: 28px; }
 .es-faq-intro p { font-size: 17px; }
 .es-faq-group { grid-template-columns: minmax(0,1fr); gap: 16px; padding-block: 24px; }
 .es-faq-item summary { padding-inline: 12px; }
 .es-faq-answer { padding-inline: 12px; }
}

/* Product comparison: compact selection tray and horizontally scrollable table. */
body { padding-bottom: var(--es-compare-panel-height, 0px); }
.es-compare-toggle { display: block; margin-top: 16px; padding: 9px 12px; border: 1px solid var(--wp--preset--color--border); background: #fff; color: var(--wp--preset--color--primary); font: inherit; font-size: 14px; cursor: pointer; }
.es-compare-toggle[aria-pressed="true"] { border-color: var(--wp--preset--color--accent); background: var(--wp--preset--color--surface-subtle); }
.es-compare-toggle[hidden], .es-compare-panel[hidden] { display: none; }
.es-compare-panel { position: fixed; inset: auto 0 0; z-index: 30; padding: 12px var(--es-gutter); border-top: 2px solid var(--wp--preset--color--accent); background: #fff; color: var(--wp--preset--color--primary); }
.es-compare-panel-inner { max-width: 1280px; margin-inline: auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px 20px; }
.es-compare-count { margin: 0; font-size: 14px; font-weight: 650; }
.es-compare-selected { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0; list-style: none; }
.es-compare-selected button, .es-compare-clear { font: inherit; font-size: 13px; cursor: pointer; color: inherit; background: var(--wp--preset--color--surface-subtle); border: 1px solid var(--wp--preset--color--border); padding: 7px 10px; min-height: 36px; }
.es-compare-actions { display: flex; gap: 10px; align-items: center; }
.es-compare-go { font-size: 14px; padding: 10px 14px; cursor: pointer; }
.es-compare-go:disabled { opacity: .55; cursor: not-allowed; }
.es-compare-status { grid-column: 1 / -1; margin: 0; font-size: 12px; line-height: 1.4; }
.es-compare-page { padding-block: 40px 64px; }
.es-compare-page h1 { margin-top: 0; }
.es-compare-content { min-width: 0; }
.es-compare-empty { margin-block: 28px; padding: 28px; background: var(--wp--preset--color--surface-subtle); border-left: 3px solid var(--wp--preset--color--accent); }
.es-compare-empty > p:first-child { margin-top: 0; }
#es-compare-help { font-size: 14px; max-width: 850px; color: var(--wp--preset--color--text-secondary); }
.es-compare-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid var(--wp--preset--color--border); }
.es-compare-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.6; }
.es-compare-table th, .es-compare-table td { padding: 14px 18px; text-align: left; vertical-align: top; min-width: 220px; max-width: 280px; border-bottom: 1px solid var(--wp--preset--color--border); border-right: 1px solid var(--wp--preset--color--border); overflow-wrap: anywhere; }
.es-compare-table th:last-child, .es-compare-table td:last-child { border-right: 0; }
.es-compare-table th[scope="row"], .es-compare-table thead th:first-child { position: sticky; left: 0; z-index: 1; min-width: 200px; max-width: 220px; background: #f3f5f6; font-weight: 600; }
.es-compare-table thead th { background: #fff; font-weight: 400; }
.es-compare-section th { background: var(--wp--preset--color--primary); color: #fff; padding-block: 10px; font-weight: 650; }
.es-compare-model img { display: block; width: 100%; height: 155px; object-fit: contain; margin-bottom: 16px; }
.es-compare-model h2 { font-size: 22px; margin: 0 0 8px; }
.es-compare-model p { margin: 0 0 10px; }
.es-compare-model .es-product-price { font-size: 23px; }
.es-compare-category { font-size: 13px; min-height: 42px; }
.es-compare-remove { display: block; margin-top: 16px; font-size: 13px; }
@media (max-width: 1024px) {
 .es-compare-panel-inner { grid-template-columns: 1fr auto; }
 .es-compare-selected { grid-column: 1; }
 .es-compare-actions { grid-column: 2; grid-row: 1 / 3; }
}
@media (max-width: 600px) {
 .es-compare-panel { padding: 10px 16px max(10px, env(safe-area-inset-bottom)); }
 .es-compare-panel-inner { display: flex; flex-wrap: wrap; gap: 6px; }
 .es-compare-count, .es-compare-selected, .es-compare-actions, .es-compare-status { width: 100%; }
 .es-compare-selected { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }
 .es-compare-selected li { flex: 0 0 auto; }
 .es-compare-actions { justify-content: space-between; }
 .es-compare-go { font-size: 13px; }
 .es-compare-page { padding-block: 28px 40px; }
 .es-compare-table th[scope="row"], .es-compare-table thead th:first-child { position: static; min-width: 150px; }
 .es-compare-table th, .es-compare-table td { padding: 12px; min-width: 210px; }
 .es-compare-empty { padding: 20px; }
}

/* Real featured-image hero composition with an image-independent fallback. */
.es-hero-layout { gap: clamp(1.5rem, 3vw, 3rem); }
.es-hero-products { position: relative; height: clamp(320px, 34vw, 440px); width: 100%; isolation: isolate; background: radial-gradient(ellipse at 65% 55%, rgba(168,111,50,.16), transparent 68%); }
.es-hero-products::before { content: ""; position: absolute; inset: 12% 8% 8%; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(168,111,50,.4); transform: skewY(-8deg); z-index: -1; }
.es-hero-safe { position: absolute; object-fit: contain; visibility: hidden; filter: drop-shadow(0 12px 12px rgba(0,0,0,.2)); }
.es-hero-safe.is-loaded { visibility: visible; }
.es-hero-safe--tall { width: 70%; height: 92%; right: 0; top: 0; z-index: 1; }
.es-hero-safe--medium { width: 61%; height: 64%; left: 0; bottom: 6%; z-index: 2; }
.es-hero-safe--small { width: 49%; height: 43%; left: 25%; bottom: 0; z-index: 3; }
.es-compare-frame { position: relative; min-width: 0; max-width: 100%; }
.es-compare-swipe { display: none; }
@media (max-width: 781px) {
 .es-hero-layout > .wp-block-column:last-child { display: block; }
 .es-hero-products { height: 260px; max-width: 420px; margin-inline: auto; }
 .es-compare-swipe { display: block; margin: 16px 0 8px; font-size: 14px; font-weight: 650; color: var(--wp--preset--color--primary); }
 .es-compare-frame::after { content: ""; position: absolute; top: 1px; bottom: 1px; right: 1px; width: 14px; background: linear-gradient(to right, transparent, rgba(22,48,70,.16)); pointer-events: none; z-index: 2; }
 .es-compare-model img { height: 110px; margin-bottom: 8px; }
 .es-compare-model h2 { margin-bottom: 4px; font-size: 20px; }
 .es-compare-model p { margin-bottom: 6px; }
 .es-compare-category { min-height: 0; font-size: 12px; line-height: 1.4; }
 .es-compare-model .es-product-price { font-size: 23px; line-height: 1.4; }
 .es-compare-remove { margin-top: 8px; }
 .es-product-image { aspect-ratio: auto; height: 220px; max-height: 220px; padding: 12px; }
}
@media (max-width: 600px) {
 .es-hero { padding-block: 32px; }
 .es-hero-layout { gap: 20px; }
 .es-hero-products { height: 160px; max-width: 270px; }
 .es-hero-safe--medium { display: none; }
 .es-hero-safe--tall { width: 65%; height: 100%; right: 0; }
 .es-hero-safe--small { width: 58%; height: 70%; left: 0; }
 .es-product-image { height: 200px; max-height: 200px; padding: 10px; }
}
