/* WoodLand WordPress presentation layer. Loaded after Elementor and WooCommerce. */
@font-face {
  font-family: "Onest";
  src: url("fonts/onest-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-024F;
}
@font-face {
  font-family: "Onest";
  src: url("fonts/onest-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0400-052F;
}
@font-face {
  font-family: "Prata";
  src: url("fonts/prata-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0000-024F;
}
@font-face {
  font-family: "Prata";
  src: url("fonts/prata-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0400-052F;
}

:root {
  --woodland-ink: #25211e;
  --woodland-muted: #625b54;
  --woodland-paper: #ffffff;
  --woodland-warm: #f5f2ed;
  --woodland-line: #e5dfd7;
  --woodland-oak: #8a623b;
  --woodland-olive: #596f1f;
  --woodland-dark: #292521;
}

body:not(.wp-admin) {
  color: var(--woodland-ink);
  background: var(--woodland-paper);
  font-family: "Onest", "Segoe UI", sans-serif !important;
  font-size: 16px;
  line-height: 1.65;
}
body:not(.wp-admin) :is(button, input, select, textarea) { font-family: inherit; }
body:not(.wp-admin) :is(h1, h2, h3, .elementor-widget-heading .elementor-heading-title, .woocommerce-products-header__title, .product_title) {
  color: var(--woodland-ink);
  font-family: "Prata", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: -.025em;
  line-height: 1.2;
}
body:not(.wp-admin) :is(.elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-widget-button .elementor-button, .woocommerce-loop-product__title) {
  font-family: "Onest", "Segoe UI", sans-serif !important;
}
body:not(.wp-admin) :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--woodland-oak) !important;
  outline-offset: 3px;
}
body:not(.wp-admin) a { text-underline-offset: 3px; }
body:not(.wp-admin) :is(a, button) { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
body:not(.wp-admin) :is(a, button, input, select, textarea) { touch-action: manipulation; }
body:not(.wp-admin) :is(h1, h2, h3) { text-wrap: balance; }
body:not(.wp-admin) button:disabled { cursor: wait; opacity: .65; }
.wl-delivery-note { display: block; max-width: 34ch; margin-top: 8px; color: var(--woodland-muted); font-size: 12px; font-weight: 400; line-height: 1.45; }
.wl-footer .wl-footer__legal { margin-top: 20px; font-size: 12px; line-height: 1.8; }
.wl-footer .wl-footer__legal a, .wl-consent a { text-decoration: underline; text-underline-offset: 3px; }
.wl-legal-content { max-width: 76ch; margin: 0 auto; color: var(--woodland-muted); }
.wl-legal-content h2 { margin: 36px 0 12px; font-size: clamp(24px, 3vw, 32px); }
.wl-legal-content p, .wl-legal-content li { line-height: 1.7; }
.wl-legal-content ul { padding-left: 24px; }
body.page-id-3 .site-main, body.page-id-19006 .site-main { max-width: 900px; margin: 0 auto; padding: 48px 24px 88px; }
body.page:has(.wl-info-page) .site-main { max-width: 1280px; margin: 0 auto; padding: 48px 24px 88px; }
.wl-info-page { max-width: 1100px; color: var(--woodland-muted); }
.wl-info-page .wl-lead { max-width: 70ch; margin: 0 0 36px; font-size: clamp(18px, 2vw, 22px); line-height: 1.55; }
.wl-info-page h2 { margin: 48px 0 18px; font-size: clamp(28px, 3vw, 38px); }
.wl-info-page h3 { margin: 0 0 8px; font-family: "Onest", sans-serif !important; font-size: 18px; font-weight: 700 !important; }
.wl-info-grid .wl-info-card h2 { margin: 0 0 8px; font-family: "Onest", sans-serif !important; font-size: 18px; font-weight: 700 !important; line-height: 1.35; }
.wl-info-page p { line-height: 1.7; }
.wl-info-page .wl-cta-box { margin: 48px 0 0; padding: clamp(24px, 4vw, 42px); background: var(--woodland-warm); }
.wl-info-page .wl-cta-box h2 { margin-top: 0; }
.wl-info-page .wl-cta-box .wl-contact-form { margin-top: 24px; }
.wl-info-page .wl-text-link { color: var(--woodland-olive); font-weight: 700; text-decoration: underline; }
.wl-materials__section { margin-top: 48px; }
.wl-materials__section h2 { margin-bottom: 20px; }
.wl-materials__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.wl-material-card { min-width: 0; margin: 0; background: #fff; }
.wl-material-card img { display: block; width: 100%; aspect-ratio: 1.12; object-fit: cover; background: var(--woodland-warm); }
.wl-material-card figcaption { padding: 10px 2px; color: var(--woodland-ink); font-size: 14px; font-weight: 600; }
.wl-info-grid, .wl-dealer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.wl-info-card, .wl-dealer-card { padding: 26px; border: 1px solid var(--woodland-line); background: #fff; }
.wl-info-card p, .wl-dealer-card p { margin: 8px 0; }
.wl-dealer-card a { color: var(--woodland-olive); font-weight: 700; }
.wl-dealer-card .wl-dealer-card__city { display: block; margin-bottom: 8px; color: var(--woodland-oak); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.wl-steps { display: grid; gap: 0; margin: 24px 0; padding: 0; list-style: none; counter-reset: wl-step; }
.wl-steps li { display: grid; grid-template-columns: 56px 1fr; gap: 18px; padding: 22px 0; border-top: 1px solid var(--woodland-line); counter-increment: wl-step; }
.wl-steps li::before { content: counter(wl-step, decimal-leading-zero); color: var(--woodland-oak); font-family: "Prata", Georgia, serif; font-size: 28px; line-height: 1.2; }
.wl-steps li:last-child { border-bottom: 1px solid var(--woodland-line); }
.wl-steps li p { margin: 0; }
.wl-portfolio-grid { columns: 3 260px; column-gap: 20px; }
.wl-portfolio-card { display: inline-block; width: 100%; margin: 0 0 20px; break-inside: avoid; background: #fff; }
.wl-portfolio-card a { display: block; }
.wl-portfolio-card img { display: block; width: 100%; height: auto; }
.wl-portfolio-card figcaption { padding: 12px 14px; color: var(--woodland-muted); font-size: 13px; line-height: 1.45; }
.wl-portfolio-card a:focus-visible { outline: 3px solid var(--woodland-olive); outline-offset: 3px; }
.wl-lightbox { width: min(1100px, calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); padding: 0; border: 0; background: var(--woodland-dark); color: #fff; overscroll-behavior: contain; }
.wl-lightbox::backdrop { background: rgb(19 16 14 / 90%); }
.wl-lightbox__content { position: relative; padding: 54px 16px 14px; }
.wl-lightbox__viewer { display: grid; grid-template-columns: 52px minmax(0, 1fr) 52px; align-items: center; gap: 8px; }
.wl-lightbox__viewer figure { min-width: 0; margin: 0; text-align: center; }
.wl-lightbox__viewer img { display: block; width: 100%; max-height: calc(100vh - 176px); max-height: calc(100dvh - 176px); object-fit: contain; }
.wl-lightbox__viewer figcaption { min-height: 28px; padding: 8px 12px 0; color: #eee9e1; font-size: 13px; line-height: 1.4; }
.wl-lightbox :is(.wl-lightbox__close, .wl-lightbox__prev, .wl-lightbox__next) { display: grid; width: 48px; height: 48px; min-height: 48px; place-items: center; padding: 0; border: 1px solid rgb(255 255 255 / 50%); border-radius: 50%; background: rgb(255 255 255 / 8%); color: #fff; font-size: 34px; font-weight: 400; line-height: 1; }
.wl-lightbox :is(.wl-lightbox__close, .wl-lightbox__prev, .wl-lightbox__next):hover { border-color: var(--woodland-olive); background: var(--woodland-olive); color: #fff; }
.wl-lightbox :is(.wl-lightbox__prev, .wl-lightbox__next):disabled { opacity: .3; cursor: default; }
.wl-lightbox .wl-lightbox__close { position: absolute; top: 8px; right: 16px; }
.wl-lightbox__counter { display: block; margin-top: 4px; color: #eee9e1; font-size: 12px; text-align: center; }
.wl-lightbox :is(button, button:focus-visible) { outline-offset: 3px; }

.wl-skip-link {
  position: absolute;
  z-index: 300;
  top: -100px;
  left: 16px;
  padding: 12px 16px;
  background: var(--woodland-ink);
  color: #fff;
}
.wl-skip-link:focus { top: 12px; }
.wl-topbar {
  padding: 8px max(24px, calc((100vw - 1280px) / 2));
  background: var(--woodland-dark);
  color: #f5f2ed;
  font-size: 12px;
  letter-spacing: .02em;
}
.wl-topbar a { color: inherit; text-decoration: underline; }
.wl-header {
  position: relative;
  z-index: 130;
  gap: 24px;
  min-height: 94px;
  padding: 12px max(24px, calc((100vw - 1280px) / 2));
  border-bottom: 1px solid var(--woodland-line);
  background: #fff;
}
/* Elementor already centers its shortcode in a 1280px container. Do not apply
   viewport-based gutters a second time inside that constrained container. */
.elementor-shortcode > .wl-header,
.elementor-shortcode > .wl-topbar { padding-inline: 0; }
.wl-logo { flex: 0 0 auto; }
.wl-logo img { width: 76px; max-height: 70px; }
.wl-nav { min-width: 0; }
.wl-nav ul { gap: clamp(12px, 1.5vw, 26px); justify-content: flex-start; }
.wl-nav a,
.wl-catalog-dropdown__toggle,
.wl-cart { color: var(--woodland-ink) !important; font-size: 14px; font-weight: 600; }
.wl-nav a { white-space: nowrap; }
.wl-nav a:hover,
.wl-catalog-dropdown__toggle:hover,
.wl-cart:hover { color: var(--woodland-olive) !important; }
.wl-catalog-dropdown__menu { top: 100%; min-width: 560px; border-color: var(--woodland-line); }
.wl-catalog-dropdown__category { color: var(--woodland-ink) !important; }
.wl-catalog-dropdown__category:hover { color: var(--woodland-olive) !important; }
.wl-cart { white-space: nowrap; }
.wl-cart span { background: var(--woodland-olive); color: #fff; }
.wl-cart, .wl-catalog-dropdown__toggle { min-height: 44px; display: inline-flex; align-items: center; }
.wl-account-menu-item a { color: var(--woodland-olive) !important; }
.wl-account-menu-item a:focus-visible { outline: 2px solid var(--woodland-olive); outline-offset: 4px; }
.wl-checkout-consent { margin: 18px 0; padding: 16px; border: 1px solid var(--woodland-line); background: var(--woodland-warm); }
.wl-checkout-consent label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; line-height: 1.5; }
.wl-checkout-consent input { flex: 0 0 20px; width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--woodland-olive); }
.wl-checkout-consent a { color: var(--woodland-olive); text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-account .woocommerce { max-width: 1100px; margin-inline: auto; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--woodland-line); list-style: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation li::marker { content: ''; }
body.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; min-height: 48px; padding: 12px 16px; color: var(--woodland-ink); text-decoration: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation a:is(:hover, :focus-visible) { color: var(--woodland-olive); background: var(--woodland-warm); }
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: var(--woodland-olive); background: #edf2df; font-weight: 700; }
body.woocommerce-account .woocommerce-MyAccount-content { min-height: 260px; line-height: 1.65; }
body.woocommerce-account .woocommerce-MyAccount-content a { color: var(--woodland-olive); text-decoration: underline; text-underline-offset: 3px; }
.wl-mobile-shop,
.wl-menu-toggle { display: none; }
.wl-mobile-catalog { display: none; }
.wl-mobile-catalog__panel[hidden] { display: none !important; }

.wl-shop-categories { clear: both; margin: 0 0 38px; padding: 28px; background: var(--woodland-warm); }
.wl-shop-categories h2 { margin: 0 0 18px; font-size: clamp(25px, 3vw, 34px); }
.wl-shop-categories__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 24px; }
.wl-shop-categories__grid a { display: flex; min-height: 48px; align-items: center; padding: 8px 0; border-bottom: 1px solid #d6cfc5; color: var(--woodland-ink); font-weight: 600; }
.wl-shop-categories__grid a:hover { color: var(--woodland-olive); }

/* Elementor canvas pages remain editable while using the same grid as the store. */
.elementor-section:not(.elementor-inner-section) > .elementor-container { max-width: 1280px; }
.elementor-widget-heading h1.elementor-heading-title { font-size: clamp(40px, 4.6vw, 68px) !important; }
.elementor-widget-heading h2.elementor-heading-title { font-size: clamp(30px, 3vw, 44px) !important; }
.elementor-widget-heading h3.elementor-heading-title { font-size: clamp(22px, 2vw, 28px) !important; }
.elementor-widget-text-editor p { color: var(--woodland-muted) !important; line-height: 1.65; }

.wl-hero-grid { display: block !important; background: var(--woodland-warm); }
.wl-hero-grid > .elementor-container {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(32px, 5vw, 80px);
  min-height: 620px;
  padding: 48px 24px;
}
.wl-hero-grid > .elementor-container > .elementor-column { width: 100% !important; min-width: 0; }
.wl-hero-grid .elementor-widget-wrap { align-content: center; }
.wl-hero-grid .elementor-column:last-child .elementor-widget-wrap { position: relative; }
.wl-hero-grid .elementor-widget-heading h1 { max-width: 14ch; }
.wl-hero-grid .elementor-widget-text-editor { max-width: 56ch; font-size: 18px; }
.wl-hero-grid .wl-eyebrow { color: var(--woodland-oak) !important; font-size: 12px; font-weight: 700; letter-spacing: .16em; }
.wl-hero-grid .elementor-widget-image img {
  display: block;
  width: 100%;
  height: min(42vw, 560px);
  min-height: 420px;
  max-height: none;
  background: #eee9e1;
  object-fit: cover;
  object-position: center 59%;
}
.wl-hero-grid .elementor-widget-html:has(.wl-hero-promo) {
  position: absolute;
  z-index: 2;
  top: 18px;
  right: 18px;
  width: min(340px, calc(100% - 36px));
}
.wl-hero-promo {
  display: grid;
  gap: 6px;
  padding: 18px 20px;
  background: rgb(255 254 250 / 96%);
  box-shadow: 0 12px 36px rgb(36 31 24 / 17%);
  color: var(--woodland-ink) !important;
  text-decoration: none !important;
}
.wl-hero-promo__badge {
  justify-self: start;
  padding: 5px 10px;
  background: var(--woodland-olive);
  color: #fff;
  font: 700 12px/1.2 "Onest", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.wl-hero-promo strong { font: 400 clamp(18px, 2vw, 26px)/1.3 "Prata", Georgia, serif; }
.wl-promo-price { display: inline-block; white-space: nowrap; }
.wl-hero-promo small { color: var(--woodland-muted); font-size: 12px; line-height: 1.4; }
.wl-hero-promo:hover strong { color: var(--woodland-olive); }
.wl-hero-promo:focus-visible { outline: 3px solid var(--woodland-olive); outline-offset: 4px; }
.wl-hero-grid .elementor-widget-button { display: inline-flex; width: auto; margin: 8px 12px 0 0; }
.wl-hero-grid .elementor-widget-button .elementor-button,
.elementor-widget-button .elementor-button,
.woocommerce :is(a.button, button.button, input.button) {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  border: 1px solid var(--woodland-olive);
  border-radius: 3px;
  background: var(--woodland-olive) !important;
  color: #fff !important;
  font-size: 15px;
  font-weight: 650;
}
.wl-hero-grid .elementor-widget-button + .elementor-widget-button .elementor-button {
  border-color: var(--woodland-ink);
  background: transparent !important;
  color: var(--woodland-ink) !important;
}
.elementor-widget-button .elementor-button:hover,
.woocommerce :is(a.button, button.button, input.button):hover { border-color: var(--woodland-dark); background: var(--woodland-dark) !important; color: #fff !important; }

.wl-trust-strip { border-top: 1px solid var(--woodland-line); border-bottom: 1px solid var(--woodland-line); }
.wl-trust-strip > .elementor-container { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 24px; }
.wl-trust-strip .elementor-column { width: 100% !important; padding: 16px 24px; border-right: 1px solid var(--woodland-line); }
.wl-trust-strip .elementor-column:last-child { border: 0; }
.wl-trust-strip .elementor-widget-heading .elementor-heading-title { font-family: "Onest", sans-serif !important; font-size: 24px !important; font-weight: 700 !important; }
.wl-trust-strip .elementor-widget-text-editor p { margin: 0; font-size: 14px; }

.wl-category-section > .elementor-container,
.wl-products-grid > .elementor-container,
.wl-advantages > .elementor-container,
.wl-reviews > .elementor-container { padding: 0 24px; }
.wl-category-section .elementor-widget-heading,
.wl-products-grid .elementor-widget-heading { margin-bottom: 24px; }
.wl-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.wl-category-card { position: relative; display: block; min-width: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--woodland-warm); color: #fff !important; }
.wl-category-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.wl-category-card:hover img { transform: scale(1.04); }
.wl-category-card:focus-visible { outline: 3px solid var(--woodland-olive); outline-offset: 3px; }
.wl-category-card::after { content: ""; position: absolute; inset: 25% 0 0; background: linear-gradient(transparent, rgb(20 18 15 / 72%)); }
.wl-category-card span { position: absolute; z-index: 1; right: 24px; bottom: 20px; left: 24px; font-family: "Prata", Georgia, serif; font-size: clamp(22px, 2.4vw, 32px); line-height: 1.2; }

.wl-products-grid ul.products,
body.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 32px 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.wl-products-grid ul.products::before,
.wl-products-grid ul.products::after,
body.woocommerce-page ul.products::before,
body.woocommerce-page ul.products::after { display: none !important; }
.wl-products-grid ul.products li.product,
body.woocommerce-page ul.products li.product {
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left;
}
.wl-products-grid ul.products li.product a,
body.woocommerce-page ul.products li.product a { display: block; color: var(--woodland-ink) !important; }
.wl-products-grid ul.products li.product img,
body.woocommerce-page ul.products li.product img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  margin: 0 0 16px !important;
  background: var(--woodland-warm);
  object-fit: contain;
}
.wl-products-grid ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  padding: 0 !important;
  color: var(--woodland-ink);
  font-size: 16px !important;
  font-weight: 600;
  line-height: 1.4;
}
.wl-products-grid ul.products li.product .price,
body.woocommerce-page ul.products li.product .price { margin: 8px 0 0; color: var(--woodland-ink) !important; font-size: 15px; font-weight: 700; }
.wl-products-grid ul.products li.product:hover img,
body.woocommerce-page ul.products li.product:hover img { filter: brightness(.96); }

.wl-advantages,
.wl-benefits-grid,
.wl-reviews,
.wl-review-grid { display: block !important; }
.wl-benefits-grid > .elementor-container,
.wl-review-grid > .elementor-container { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.wl-benefits-grid .elementor-column,
.wl-review-grid .elementor-column { width: 100% !important; min-width: 0; }
.wl-benefits-grid .elementor-column { padding-top: 20px; border-top: 1px solid var(--woodland-line); }
.wl-benefits-grid .elementor-widget-heading h2 { font-size: 22px !important; }
.wl-review-grid .elementor-widget-image img { width: 100%; max-height: 290px; object-fit: contain; }
.wl-quiz { scroll-margin-top: 24px; }
.wl-quiz__progress { position: relative; padding-bottom: 16px; color: var(--woodland-oak); }
.wl-quiz__progress::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 4px; background: var(--woodland-line); }
.wl-quiz__progress-bar { position: absolute; z-index: 1; bottom: 0; left: 0; height: 4px; background: var(--woodland-olive); transition: width .2s ease; }
.wl-quiz__options label { min-height: 52px; }
.wl-quiz__options label:hover { border-color: var(--woodland-olive); }
.wl-quiz__contact :is(input, textarea) { width: 100%; }
.wl-quiz__contact input[type="checkbox"] { width: 20px; height: 20px; }
.wl-quiz-popups[hidden], .wl-quiz-teaser[hidden], .wl-quiz-dialog[hidden], .wl-quiz-dialog__form[hidden] { display: none !important; }
.wl-quiz-teaser { position: fixed; z-index: 120; bottom: 88px; width: min(270px, calc(50vw - 30px)); padding: 18px 18px 16px; border: 1px solid var(--woodland-line); background: #fffefa; box-shadow: 0 12px 36px rgb(36 31 24 / 18%); }
.wl-quiz-teaser--bed { left: 20px; }
.wl-quiz-teaser--catalog { right: 20px; }
.wl-quiz-teaser strong { display: block; padding-right: 26px; font: 400 19px/1.3 "Prata", Georgia, serif; }
.wl-quiz-teaser p { margin: 8px 0 14px; color: var(--woodland-muted); font-size: 13px; line-height: 1.4; }
.wl-quiz-teaser__close, .wl-quiz-dialog__close { position: absolute; top: 5px; right: 5px; display: grid; width: 44px; height: 44px; min-height: 44px; place-items: center; padding: 0; border: 0; background: transparent; color: var(--woodland-ink); font: 28px/1 Arial, sans-serif; }
.wl-quiz-teaser__close:hover, .wl-quiz-dialog__close:hover { background: var(--woodland-warm); color: var(--woodland-ink); }
.wl-quiz-teaser__action { width: 100%; min-height: 44px; background: var(--woodland-olive); color: #fff; }
.wl-quiz-dialog { position: fixed; z-index: 220; inset: 0; display: grid; place-items: center; padding: 16px; background: rgb(30 28 25 / 65%); }
.wl-quiz-dialog__panel { position: relative; width: min(780px, 100%); max-height: calc(100dvh - 32px); overflow: auto; overscroll-behavior: contain; padding: 28px; background: #fffefa; box-shadow: 0 20px 70px rgb(0 0 0 / 28%); }
.wl-quiz-dialog__panel > h2 { margin: 0 48px 20px 0; font-size: clamp(27px, 3vw, 38px); }
.wl-quiz-dialog .wl-quiz { max-width: none; margin: 0; padding: 0; border: 0; background: transparent; }
.wl-quiz-dialog-open { overflow: hidden; }
.wl-modal-open { overflow: hidden; }
.wl-quiz-teaser :is(button, a):focus-visible, .wl-quiz-dialog :is(button, a, input, textarea):focus-visible { outline: 3px solid var(--woodland-olive); outline-offset: 2px; }
.wl-contact-form small,
.wl-quick-form small { color: var(--woodland-muted); font-weight: 400; }
.wl-quick-form > label:not(.wl-consent) { display: grid; gap: 6px; font-size: 14px; }
.wl-quick-form > label:not(.wl-consent) :is(input, textarea) { box-sizing: border-box; width: 100%; }
.wl-consent { align-items: flex-start !important; gap: 10px !important; font-size: 14px !important; line-height: 1.5; cursor: pointer; }
.wl-consent input[type="checkbox"] { box-sizing: border-box; flex: 0 0 20px; width: 20px; height: 20px; min-height: 20px; margin: 2px 0 0; }
.wl-review-consent { margin: 16px 0; }
.wl-review-consent .wl-consent { display: flex; }
.wl-review-consent a { color: var(--woodland-olive); text-decoration: underline; text-underline-offset: 2px; }
.wl-modal__close { min-width: 44px; min-height: 44px; }
.wl-messengers { bottom: 24px; }

/* Native WooCommerce screens use the same shell as the Elementor pages. */
body.woocommerce-page .site-main { max-width: 1280px; margin: 0 auto; padding: 48px 24px 88px; }
body.woocommerce-page .woocommerce-breadcrumb { margin-bottom: 24px; color: var(--woodland-muted); font-size: 13px; }
body.woocommerce-page .woocommerce-breadcrumb a { color: var(--woodland-oak); }
body.woocommerce-page .woocommerce-products-header__title { margin: 0 0 24px; font-size: clamp(34px, 4vw, 52px); }
body.woocommerce-page .woocommerce-result-count { color: var(--woodland-muted); font-size: 14px; }
body.woocommerce-page .woocommerce-ordering select { min-height: 44px; border: 1px solid var(--woodland-line); background: #fff; color: var(--woodland-ink); }
body.woocommerce-page nav.woocommerce-pagination { margin-top: 48px; }
body.woocommerce-page nav.woocommerce-pagination ul { border: 0; display: flex; justify-content: center; gap: 8px; }
body.woocommerce-page nav.woocommerce-pagination ul li { border: 0; }
body.woocommerce-page nav.woocommerce-pagination ul li a,
body.woocommerce-page nav.woocommerce-pagination ul li span { min-width: 44px; min-height: 44px; display: grid; place-items: center; border: 1px solid var(--woodland-line); }
body.woocommerce-page nav.woocommerce-pagination ul li span.current { background: var(--woodland-dark); color: #fff; }
body.woocommerce-page .woocommerce-info { border-top-color: var(--woodland-olive); }
body.woocommerce-page .woocommerce-info::before { color: var(--woodland-olive); }

body.single-product div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 24px 64px; }
body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary { float: none !important; width: 100% !important; min-width: 0; margin: 0 !important; }
body.single-product div.product .summary { align-self: start; }
body.single-product div.product .product_title { font-size: clamp(32px, 3.5vw, 48px); }
body.single-product div.product .price { color: var(--woodland-ink); font-size: 28px; font-weight: 700; }
body.single-product div.product .woocommerce-product-details__short-description { color: var(--woodland-muted); }
body.single-product div.product form.variations_form table.variations,
body.single-product div.product form.variations_form table.variations tbody,
body.single-product div.product form.variations_form table.variations tr { display: block; width: 100%; }
body.single-product div.product form.variations_form table.variations :is(th, td) { display: block !important; width: 100% !important; padding: 4px 0; text-align: left; }
body.single-product div.product form.variations_form table.variations select { width: 100%; min-height: 48px; padding: 8px 12px; border: 1px solid var(--woodland-line); background: #fff; }
body.single-product div.product form.variations_form tr.wl-has-swatches select { position: absolute; width: 1px; height: 1px; min-height: 1px; opacity: 0; pointer-events: none; }
body.single-product div.product form.variations_form tr.wl-has-swatches.wl-custom-only select { position: static; width: 100%; height: auto; min-height: 48px; opacity: 1; pointer-events: auto; }
body.single-product div.product form.variations_form tr.wl-custom-only .wl-swatch-disclosure { display: none; }
.wl-swatch-disclosure { margin: 4px 0 12px; }
.wl-swatch-disclosure summary { display: flex; min-height: 56px; align-items: center; gap: 12px; padding: 10px 14px; border: 1px solid var(--woodland-line); border-radius: 3px; background: #fff; color: var(--woodland-ink); font-size: 14px; font-weight: 700; cursor: pointer; list-style: none; }
.wl-swatch-disclosure summary::-webkit-details-marker { display: none; }
.wl-swatch-disclosure summary::after { content: '⌄'; margin-left: auto; font-size: 24px; font-weight: 400; line-height: 1; }
.wl-swatch-disclosure[open] summary::after { transform: rotate(180deg); }
.wl-swatch-summary__thumb:empty { display: none; }
.wl-swatch-summary__thumb, .wl-swatch-summary__thumb img { display: block; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 2px; object-fit: cover; }
.wl-variation-swatches { display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: 10px; width: 100%; max-height: 440px; overflow-y: auto; padding: 12px; border: 1px solid var(--woodland-line); border-top: 0; background: #fff; }
body.single-product div.product form.variations_form .wl-swatch { display: flex; min-width: 0; min-height: 80px; flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px; overflow: hidden; padding: 6px; border: 1px solid var(--woodland-line); border-radius: 3px; background: #fff; color: var(--woodland-ink); text-align: center; white-space: normal; cursor: pointer; }
body.single-product div.product form.variations_form .wl-swatch--photo { min-height: 108px; }
body.single-product div.product form.variations_form .wl-swatch:hover { border-color: var(--woodland-olive); background: #fff; color: var(--woodland-ink); }
body.single-product div.product form.variations_form .wl-swatch.is-selected { border: 2px solid var(--woodland-olive); padding: 5px; background: #f2f5e9; }
body.single-product div.product form.variations_form .wl-swatch:disabled { opacity: .4; cursor: not-allowed; }
.wl-swatch__image { display: block; width: 62px; height: 62px; overflow: hidden; border-radius: 2px; }
.wl-swatch__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wl-swatch__label { display: block; width: 100%; max-width: 100%; overflow-wrap: anywhere; white-space: normal; font-size: 12px; font-weight: 600; line-height: 1.3; }
.wl-swatch-note { display: block; margin: 0 0 12px; color: var(--woodland-muted); font-size: 13px; line-height: 1.4; }
.wl-swatch-disclosure .wl-swatch-note { padding: 8px 12px 0; }
.wl-swatch-custom { display: block; margin: 4px 0 12px; color: var(--woodland-muted); font-size: 12px; line-height: 1.4; }
.wl-swatch-custom[hidden] { display: none !important; }
.wl-price-caption { display: block; margin-bottom: 4px; color: var(--woodland-muted); font-family: "Onest", sans-serif; font-size: 12px; font-weight: 500; line-height: 1.3; }
body.single-product div.product .single_add_to_cart_button { min-height: 52px; }
body.single-product div.product .wl-quick-order { margin: 16px 0 0; border-color: var(--woodland-ink); background: transparent; color: var(--woodland-ink); }
body.single-product div.product .wl-quick-order:hover { background: var(--woodland-dark); color: #fff; }
body.single-product div.product :is(.woocommerce-tabs, .related, .upsells) { grid-column: 1 / -1; }

.wl-footer { padding: 64px max(24px, calc((100vw - 1280px) / 2)); background: var(--woodland-dark); }
.wl-footer a:hover { color: #fff; text-decoration: underline; }
.wl-mobile-actions { display: none; }
.wl-option--city { flex-direction: column; align-items: stretch !important; }
.wl-option--city .wl-custom-city { width: 100%; min-width: 0; }
.wl-modal__content { overscroll-behavior: contain; }
.wl-modal__close { min-width: 44px; min-height: 44px; }

@media (max-width: 1200px) {
  .wl-header { gap: 16px; min-height: 76px; }
  .wl-catalog-dropdown { display: none; }
  .wl-menu-toggle { display: flex; flex: 0 0 44px; width: 44px; height: 44px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 8px; border: 1px solid var(--woodland-line); background: #fff; }
  body:not(.wp-admin) .wl-menu-toggle:is(:hover, :focus, :active, :focus-visible) { border-color: var(--woodland-olive) !important; background: var(--woodland-olive) !important; color: #fff !important; }
  body:not(.wp-admin) .wl-menu-toggle:is(:hover, :focus, :active, :focus-visible) span { background: #fff !important; }
  .wl-menu-toggle span { display: block; width: 20px; height: 2px; background: var(--woodland-ink); }
  .wl-nav { display: none; position: absolute; top: 100%; right: 0; left: 0; max-height: min(70vh, 550px); overflow-y: auto; padding: 16px 24px 24px; border-bottom: 1px solid var(--woodland-line); background: #fff; box-shadow: 0 16px 32px rgb(37 33 30 / 12%); }
  .wl-nav.is-open { display: block; }
  .wl-nav ul { display: block; overflow: visible; white-space: normal; }
  .wl-nav li { border-bottom: 1px solid var(--woodland-line); }
  .wl-nav a,
  .wl-mobile-shop { display: block; min-height: 48px; padding: 12px 0; font-size: 15px; }
  .wl-mobile-shop { border-bottom: 1px solid var(--woodland-line); }
  .wl-mobile-catalog { display: block; border-bottom: 1px solid var(--woodland-line); }
  .wl-mobile-catalog__toggle { display: flex !important; width: 100%; min-height: 52px; align-items: center; justify-content: space-between; padding: 10px 0 !important; border: 0 !important; background: transparent !important; color: var(--woodland-ink) !important; font-size: 16px !important; font-weight: 700 !important; text-align: left; }
  .wl-mobile-catalog__toggle span { font-size: 24px; line-height: 1; transition: transform .2s ease; }
  .wl-mobile-catalog__toggle[aria-expanded="true"] span { transform: rotate(180deg); }
  .wl-mobile-catalog__panel { padding: 4px 0 14px 16px; }
  .wl-mobile-catalog__links a { border-bottom: 1px solid var(--woodland-line); font-weight: 500; }
  .wl-mobile-catalog__all { color: var(--woodland-olive) !important; font-weight: 700; }
  .wl-cart { margin-left: auto; }
  .wl-hero-grid > .elementor-container { min-height: 0; }
}
@media (max-width: 800px) {
  .wl-hero-grid > .elementor-container { grid-template-columns: 1fr; gap: 24px; padding: 40px 20px; }
  .wl-hero-grid .elementor-widget-image img { min-height: 0; height: auto; aspect-ratio: 1.25; }
  .wl-hero-grid .elementor-widget-html:has(.wl-hero-promo) { top: 12px; right: 12px; width: min(310px, calc(100% - 24px)); }
  .wl-hero-promo { padding: 12px 14px; gap: 4px; }
  .wl-hero-promo strong { font-size: 17px; }
  .wl-products-grid ul.products,
  body.woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .wl-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wl-trust-strip > .elementor-container { gap: 8px; }
  .wl-trust-strip .elementor-column { padding: 12px; }
  .wl-benefits-grid > .elementor-container,
  .wl-review-grid > .elementor-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.single-product div.product { grid-template-columns: 1fr; gap: 24px; }
  .wl-materials__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wl-info-grid, .wl-dealer-grid { grid-template-columns: 1fr; }
  .wl-shop-categories__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
}
@media (max-width: 600px) {
  body:not(.wp-admin) { font-size: 16px; }
  .wl-topbar { padding: 7px 16px; font-size: 11px; }
  .wl-header { padding: 10px 16px; }
  .wl-logo img { width: 58px; }
  .wl-cart { font-size: 0 !important; }
  .wl-cart span { font-size: 12px; }
  .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(36px, 9vw, 46px) !important; }
  .elementor-widget-heading h2.elementor-heading-title { font-size: 30px !important; }
  .wl-hero-grid > .elementor-container { padding: 32px 16px 40px; }
  .wl-hero-grid .elementor-widget-text-editor { font-size: 16px; }
  .wl-hero-grid .elementor-widget-button { display: flex; width: 100%; margin-right: 0; }
  .wl-hero-grid .elementor-widget-button .elementor-button { width: 100%; }
  .wl-trust-strip > .elementor-container { grid-template-columns: 1fr; padding: 12px 16px; }
  .wl-trust-strip .elementor-column { padding: 14px 0; border-right: 0; border-bottom: 1px solid var(--woodland-line); }
  .wl-trust-strip .elementor-column:last-child { border: 0; }
  .wl-category-section > .elementor-container,
  .wl-products-grid > .elementor-container,
  .wl-advantages > .elementor-container,
  .wl-reviews > .elementor-container { padding: 0 16px; }
  .wl-category-grid { gap: 10px; }
  .wl-category-card { aspect-ratio: 1; }
  .wl-category-card span { right: 14px; bottom: 14px; left: 14px; font-size: 20px; }
  .wl-quiz-teaser { bottom: 88px; width: calc((100vw - 30px) / 2); padding: 12px; }
  .wl-quiz-teaser--bed { left: 10px; }
  .wl-quiz-teaser--catalog { right: 10px; }
  .wl-quiz-teaser strong { padding-right: 24px; font-size: 14px; }
  .wl-quiz-teaser p { margin: 5px 0 9px; font-size: 12px; }
  .wl-quiz-teaser__action { min-height: 44px; padding: 8px 6px; font-size: 12px; }
  .wl-quiz-teaser__close { top: 0; right: 0; width: 44px; height: 44px; }
  .wl-quiz-dialog { padding: 8px; }
  .wl-quiz-dialog__panel { max-height: calc(100dvh - 16px); padding: 18px; }
  .wl-products-grid ul.products,
  body.woocommerce-page ul.products { gap: 24px 12px !important; }
  .wl-benefits-grid > .elementor-container,
  .wl-review-grid > .elementor-container { grid-template-columns: 1fr; gap: 16px; }
  .wl-products-grid ul.products li.product .woocommerce-loop-product__title,
  body.woocommerce-page ul.products li.product .woocommerce-loop-product__title { font-size: 14px !important; }
  body.woocommerce-page .site-main { padding: 28px 16px 96px; }
  body.page:has(.wl-info-page) .site-main { padding: 28px 16px 96px; }
  .wl-materials__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .wl-portfolio-grid { columns: 1; }
  .wl-lightbox__content { padding: 54px 12px 14px; }
  .wl-lightbox__viewer { grid-template-columns: 1fr 1fr; gap: 8px 16px; }
  .wl-lightbox__viewer figure { grid-column: 1 / -1; grid-row: 1; }
  .wl-lightbox__viewer img { max-height: calc(100vh - 244px); max-height: calc(100dvh - 244px); }
  .wl-lightbox__prev { justify-self: end; }
  .wl-lightbox__next { justify-self: start; }
  .wl-material-card figcaption { font-size: 12px; }
  .wl-info-card, .wl-dealer-card { padding: 20px; }
  .wl-shop-categories { margin-bottom: 28px; padding: 20px 16px; }
  .wl-shop-categories__grid { gap: 2px 12px; }
  .wl-shop-categories__grid a { min-height: 52px; font-size: 14px; line-height: 1.35; }
  body.woocommerce-page .woocommerce-result-count,
  body.woocommerce-page .woocommerce-ordering { float: none; width: 100%; }
  body.woocommerce-page .woocommerce-ordering { margin-bottom: 24px; }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper :is(.form-row-first, .form-row-last) { float: none !important; width: 100% !important; }
  body.woocommerce-cart .woocommerce-cart-form td.actions .coupon { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 8px; width: 100%; padding-bottom: 8px; }
  body.woocommerce-cart .woocommerce-cart-form td.actions .coupon :is(input, button) { float: none !important; box-sizing: border-box; width: 100% !important; min-width: 0; max-width: none; min-height: 48px; margin: 0 !important; white-space: normal; }
  .wl-footer { padding: 40px 16px 100px; }
  .wl-messengers { display: none; }
  .wl-messengers { right: 12px; bottom: 86px; }
  .wl-messengers a { width: 44px; height: 44px; }
  body.post-type-archive-product .wl-messengers,
  body.tax-product_cat .wl-messengers,
  body.single-product .wl-messengers { display: none; }
  .wl-variation-swatches { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .wl-swatch-disclosure .wl-variation-swatches { max-height: 330px; }
  body.single-product .site-main { padding-bottom: 160px; }
  .wl-mobile-actions { position: fixed; z-index: 90; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr 1.3fr; gap: 8px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid var(--woodland-line); background: #fff; box-shadow: 0 -8px 24px rgb(37 33 30 / 10%); }
  .wl-mobile-price { grid-column: 1 / -1; min-height: 27px; color: var(--woodland-muted); font-size: 12px; text-align: center; }
  .wl-mobile-price span:first-child { margin-right: 8px; font-size: 11px; }
  .wl-mobile-price .price { color: var(--woodland-ink); font-size: 18px; font-weight: 700; }
  .wl-mobile-price .woocommerce-Price-amount { color: var(--woodland-ink); font-size: 18px; font-weight: 700; }
  .wl-mobile-actions :is(a, button) { display: flex; min-height: 48px; align-items: center; justify-content: center; padding: 8px 12px; border: 1px solid var(--woodland-olive); border-radius: 3px; font-size: 14px; font-weight: 700; text-align: center; }
  .wl-mobile-actions a { background: #fff; color: var(--woodland-olive); }
  .wl-mobile-actions :is(a:last-child, button) { background: var(--woodland-olive); color: #fff; }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.wp-admin) :is(a, button),
  .wl-category-card img,
  .wl-quiz__progress-bar { transition: none !important; }
}

/* One consistent green action style across quizzes, contact, quick order and checkout. */
body:not(.wp-admin) :is(
  form button[type="submit"],
  form input[type="submit"],
  .wl-quiz .wl-next,
  .wl-quiz-teaser__action,
  .wl-quick-order,
  .wl-form__success .wl-button
) {
  min-height: 48px;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--woodland-olive) !important;
  border-radius: 3px;
  background-color: var(--woodland-olive) !important;
  background-image: linear-gradient(110deg, #596f1f 0%, #596f1f 34%, #81973d 50%, #596f1f 66%, #596f1f 100%) !important;
  background-size: 240% 100% !important;
  background-position: 100% 0 !important;
  color: #fff !important;
  box-shadow: 0 2px 5px rgb(37 33 30 / 12%);
  cursor: pointer;
  transition: background-position .7s cubic-bezier(.18, .75, .2, 1), transform .22s ease-out, box-shadow .22s ease-out !important;
}
body:not(.wp-admin) :is(
  form button[type="submit"],
  form input[type="submit"],
  .wl-quiz .wl-next,
  .wl-quiz-teaser__action,
  .wl-quick-order,
  .wl-form__success .wl-button
):is(:hover, :focus-visible) {
  border-color: var(--woodland-olive) !important;
  background-position: 0 0 !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgb(89 111 31 / 22%);
  transform: translateY(-2px);
}
body:not(.wp-admin) :is(
  form button[type="submit"],
  form input[type="submit"],
  .wl-quiz .wl-next,
  .wl-quiz-teaser__action,
  .wl-quick-order
):active { transform: translateY(0); box-shadow: 0 2px 5px rgb(37 33 30 / 12%); }
body:not(.wp-admin) :is(
  form button[type="submit"],
  form input[type="submit"],
  .wl-quiz .wl-next,
  .wl-quiz-teaser__action,
  .wl-quick-order
):focus-visible { outline-color: var(--woodland-olive) !important; }
body:not(.wp-admin) .wl-quiz .wl-back {
  min-height: 48px;
  border: 1px solid var(--woodland-olive) !important;
  background: #f0f4e5 !important;
  color: var(--woodland-olive) !important;
}
body:not(.wp-admin) .wl-quiz .wl-back:is(:hover, :focus-visible) {
  background: #e2ebcf !important;
  border-color: var(--woodland-olive) !important;
  color: var(--woodland-olive) !important;
}
body:not(.wp-admin) form :is(input, select, textarea):focus {
  border-color: var(--woodland-olive) !important;
  box-shadow: 0 0 0 3px rgb(89 111 31 / 14%) !important;
}
body:not(.wp-admin) form :is(input, select, textarea):focus-visible { outline-color: var(--woodland-olive) !important; }
body:not(.wp-admin) form :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--woodland-olive); }
body:not(.wp-admin) :is(.wl-quiz-dialog__close, .wl-quiz-teaser__close, .wl-modal__close) {
  border: 0 !important;
  background: transparent !important;
  color: var(--woodland-ink) !important;
  box-shadow: none !important;
}
body:not(.wp-admin) :is(.wl-quiz-dialog__close, .wl-quiz-teaser__close, .wl-modal__close):is(:hover, :focus, :active, :focus-visible) {
  border: 0 !important;
  background: #edf2df !important;
  color: var(--woodland-olive) !important;
  outline-color: var(--woodland-olive) !important;
}

/* Motion is added by JS only when IntersectionObserver and motion preference allow it. */
@media (prefers-reduced-motion: no-preference) {
  .wl-motion-ready .wl-reveal {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
    transition: opacity .7s ease-out, transform .7s cubic-bezier(.2, .72, .24, 1);
  }
  .wl-motion-ready .wl-reveal.is-visible { opacity: 1; transform: none; }
  .wl-motion-ready .wl-category-card.wl-reveal:nth-child(4n + 2),
  .wl-motion-ready .wl-products-grid li.product.wl-reveal:nth-child(4n + 2) { transition-delay: 60ms; }
  .wl-motion-ready .wl-category-card.wl-reveal:nth-child(4n + 3),
  .wl-motion-ready .wl-products-grid li.product.wl-reveal:nth-child(4n + 3) { transition-delay: 120ms; }
  .wl-motion-ready .wl-category-card.wl-reveal:nth-child(4n + 4),
  .wl-motion-ready .wl-products-grid li.product.wl-reveal:nth-child(4n + 4) { transition-delay: 180ms; }
  .wl-quiz-teaser:not([hidden]) { animation: wl-teaser-rise .45s cubic-bezier(.2, .72, .24, 1) both; }
  @keyframes wl-teaser-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
  .wl-category-card img { transition: transform .6s cubic-bezier(.2, .72, .24, 1), filter .4s ease !important; }
  .wl-category-card:hover img { transform: scale(1.055); filter: brightness(1.06); }
  .wl-hero-promo, .wl-info-card, .wl-dealer-card, .wl-review-grid .elementor-column {
    transition: transform .28s ease-out, box-shadow .28s ease-out;
  }
  .wl-hero-promo:hover, .wl-info-card:hover, .wl-dealer-card:hover, .wl-review-grid .elementor-column:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgb(37 33 30 / 10%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .wl-motion-ready .wl-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  body:not(.wp-admin) :is(form button[type="submit"], form input[type="submit"], .wl-quiz .wl-next, .wl-quiz-teaser__action, .wl-quick-order) {
    background-image: none !important;
    transition: none !important;
  }
}
