/* Forest & stone over the existing Astra / Elementor site. No layout replacement. */
body.first-original-site {
  --first-forest:#1f5147; --first-stone:#f3f1eb; --first-ink:#1e302c;
  --first-muted:#59655f; --first-border:#d9dfd8;
  --first-gutter:clamp(16px,2vw,32px);
  --first-content-width:calc(100vw - 2 * var(--first-gutter));
  --e-global-color-primary:var(--first-forest); --e-global-color-accent:var(--first-forest);
  --ast-global-color-0:var(--first-forest); --ast-global-color-1:#153f36;
  --ast-global-color-2:var(--first-ink); --ast-global-color-3:var(--first-muted);
  background:#fff; color:var(--first-ink);
}
.first-original-site :is(a,button,input,select,textarea):focus-visible {
  outline:3px solid #ad8956 !important; outline-offset:4px;
}
.first-original-site :is(button,a.elementor-button,a.elementskit-btn,input[type=submit]) {
  transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.first-original-site .elementor-699 .elementor-element.elementor-element-c569ecc {
  background:var(--first-forest) !important;
}
.first-original-site .elementor-699 .elementor-element-c569ecc :is(p,strong,a,span,i) { color:#fff !important; }
.first-original-site .elementor-699 .elementor-element-c569ecc :is(svg,svg path) { fill:#fff !important; }
.first-original-site .elementor-699 .elementor-element-c569ecc a:hover { text-decoration:underline; text-underline-offset:4px; }
.first-original-site .elementskit-navbar-nav > li > a { color:var(--first-ink) !important; }
.first-original-site .elementskit-navbar-nav > li:is(.current-menu-item,.active) > a,
.first-original-site .elementskit-navbar-nav > li > a:is(:hover,:focus-visible),
.first-original-site .elementskit-megamenu-panel :is(a:hover,.ekit-heading--subtitle) { color:var(--first-forest) !important; }
.first-original-site .elementskit-megamenu-panel { border-bottom:3px solid var(--first-forest); box-shadow:0 12px 30px #1e302c14; }
.first-original-site .elementskit-megamenu-panel .ekit-heading--subtitle::before { background-color:var(--first-forest) !important; }
@media(min-width:1025px) {
  /* ElementsKit's full-window panel otherwise extends past the right edge
     after a viewport change. Keep it inside the navigation container. */
  .first-original-site .elementskit-megamenu-panel { width:100% !important; max-width:100%; left:0 !important; }
  .first-original-site .elementskit-megamenu-panel .elementor-container { max-width:100%; }
}
.first-original-site .elementskit-navbar-nav > li:focus-within > .elementskit-megamenu-panel { opacity:1; visibility:visible; top:100%; }
.first-original-site .elementor-heading-title,
.first-original-site .shopengine-product-title :is(h1,h2),
.first-original-site .woocommerce-loop-product__title { color:var(--first-forest) !important; }
.first-original-site .elementor-widget-shopengine-product-categories .shopengine-cats :is(.product-cats-label,.product-cats-links a) { color:var(--first-forest) !important; }
.first-original-site .elementor-widget-shopengine-product-categories .product-cats-links a:hover { text-decoration:underline; text-underline-offset:3px; }
.first-original-site .elementor-widget-text-editor { color:var(--first-muted); }
.first-original-site .elementor-divider-separator { border-color:var(--first-forest) !important; }
.first-original-site .elementor-966 .elementor-divider-separator { border-color:#ffffff44 !important; }
.first-original-site :is(.elementor-button,.elementskit-btn,.woocommerce a.button,.woocommerce button.button,.wpcf7-submit) {
  background:var(--first-forest) !important; color:#fff !important; border-color:var(--first-forest) !important;
}
.first-original-site :is(.elementor-button,.elementskit-btn,.woocommerce a.button,.woocommerce button.button,.wpcf7-submit):hover {
  background:#153f36 !important; box-shadow:0 3px 12px #1f514724;
}
.first-original-site .elementor-1055 > .elementor-section,
.first-original-site .elementor-1068 > .elementor-section { background:var(--first-stone) !important; }
.first-original-site .elementor-1055 .elementor-widget-image img {
  filter:brightness(0) saturate(100%) invert(28%) sepia(25%) saturate(836%) hue-rotate(116deg) brightness(91%) contrast(90%);
}
/* Also cover a cached blue logo before the UX script swaps its URL. */
.first-original-site :is(#masthead,#colophon) img[src*="/FDS.svg"] {
  filter:brightness(0) saturate(100%) invert(28%) sepia(25%) saturate(836%) hue-rotate(116deg) brightness(91%) contrast(90%);
}
/* A fluid page width should not enlarge the brand mark on a wide monitor. */
.first-original-site #masthead img:is([src*="/FDS.svg"],[src*="/first-logo-forest.svg"]) { max-width:180px; }
.first-original-site #colophon img:is([src*="/FDS.svg"],[src*="/first-logo-forest.svg"]) { max-width:150px; }
/* Keep the three original information cards, including their hover states. */
.first-original-site .elementor-1068 .elementor-element-1842d72 > .elementor-widget-wrap,
.first-original-site .elementor-1068 :is(.elementor-element-666749e,.elementor-element-bd848c4):hover > .elementor-widget-wrap { background:var(--first-forest) !important; }
.first-original-site .elementor-1068 :is(.elementor-element-666749e,.elementor-element-bd848c4) > .elementor-widget-wrap { border-color:var(--first-forest) !important; }
.first-original-site .elementor-1068 .elementor-element-1842d72 :is(.elementor-heading-title,.elementor-widget-text-editor,a,span),
.first-original-site .elementor-1068 :is(.elementor-element-666749e,.elementor-element-bd848c4):hover :is(.elementor-heading-title,.elementor-widget-text-editor,a,span) { color:#fff !important; }
/* The imported custom CSS colours every descendant blue on hover. Match its
   ID specificity, then give the card a single forest background. */
.first-original-site .elementor-1068 #mybloCcounter:is(:hover,:focus-within) * {
  background-color:transparent !important; color:#fff !important;
}
.first-original-site .elementor-1068 #mybloCcounter:is(:hover,:focus-within) > .elementor-widget-wrap {
  background-color:var(--first-forest) !important;
}
.first-original-site #ast-scroll-top { background-color:var(--first-forest); color:#fff; }
.first-catalogue-tools { background:var(--first-stone); border-block:1px solid var(--first-border); padding:12px max(20px,calc((100% - 1160px)/2)); }
.first-catalogue-tools form { display:flex; align-items:end; gap:14px; margin:0; }
.first-catalogue-tools label { display:flex; flex-direction:column; gap:5px; flex:1; min-width:0; font-size:12px; font-weight:600; color:var(--first-ink); }
.first-catalogue-tools :is(input[type=search],select) { width:100%; min-height:44px; padding:8px 12px; border:1px solid var(--first-border); border-radius:4px; background:#fff; color:var(--first-ink); font-size:14px; font-family:inherit; }
.first-catalogue-tools button { min-height:44px; padding:10px 22px; border:1px solid var(--first-forest); border-radius:4px; background:var(--first-forest); color:#fff; font-size:14px; }
.first-catalogue-reset { align-self:center; white-space:nowrap; color:var(--first-forest); font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.first-catalogue-context { margin:12px 0 0; color:var(--first-forest); font-size:15px; }
.first-product-info { display:flex; flex-direction:column; gap:5px; margin:6px 0 12px; color:var(--first-muted); font-size:12px; line-height:1.5; }
.first-product-reference { font-weight:600; color:var(--first-ink); }
.first-product-category { overflow-wrap:anywhere; }
.first-original-site .elementor-966 > .elementor-section { background:var(--first-forest) !important; }
.first-original-site .elementor-966 .elementor-element-5861b8d img { background:var(--first-stone); padding:8px; border-radius:4px; }
.first-original-site .elementor-966 :is(.elementor-heading-title,.elementor-widget-text-editor,.elementor-icon-list-text,a) { color:#fff !important; }
.first-original-site .elementor-966 .elementskit-btn { border:1px solid #ffffff99 !important; }
.first-original-site .sp-wcsp-cat-name a { color:var(--first-ink) !important; }
.first-original-site .sp-wcsp-cat-item:hover .sp-wcsp-cat-name a { color:var(--first-forest) !important; }
.first-original-site :is(.sp-wcsp-button-prev,.sp-wcsp-button-next):hover,
.first-original-site .swiper-pagination-bullet-active { background:var(--first-forest) !important; border-color:var(--first-forest) !important; }
.first-original-site .woocommerce :is(input,textarea,select),.first-original-site .wpcf7 :is(input:not([type=submit]),textarea,select) {
  border:1px solid var(--first-border); border-radius:5px; background:#fff; color:var(--first-ink); min-height:44px;
}
.first-original-site .woocommerce nav.woocommerce-pagination ul li :is(a:focus,a:hover,span.current) { background:var(--first-stone); color:var(--first-forest); }
/* Existing Depicter slider remains the production renderer. */
.first-original-site .depicter-section-background { background:var(--first-stone) !important; }
.first-original-site .depicter-text-layer h2 { color:var(--first-ink) !important; }
.first-original-site .depicter-text-layer h3 { color:var(--first-muted) !important; }
.first-original-site .depicter-button-layer .depicter-element { background:var(--first-forest) !important; color:#fff !important; }
/* Local read-only export fallback: same four slide images, labels and links. */
.first-original-site .first-legacy-hero { position:relative; width:100%; margin:0; background:var(--first-stone); }
.first-legacy-hero .first-hero-slide[hidden] { display:none; }
.first-legacy-hero .first-hero-slide { max-width:var(--first-content-width); min-height:clamp(360px,37vw,500px); margin:auto; padding:clamp(24px,3vw,38px) 64px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(20px,3vw,40px); align-items:center; }
.first-legacy-hero .first-hero-copy h3 { font-size:22px; font-weight:400; color:var(--first-muted); margin:0 0 24px; }
.first-legacy-hero .first-hero-copy h2 { font-size:clamp(28px,3vw,40px); line-height:1.22; font-weight:600; color:var(--first-ink); margin:0 0 28px; overflow-wrap:break-word; }
.first-legacy-hero .first-hero-copy a { display:inline-flex; width:230px; min-height:45px; align-items:center; justify-content:center; border-radius:24px; font-size:14px; background:var(--first-forest); color:white; }
.first-legacy-hero picture { display:block; width:100%; }
.first-legacy-hero picture img { display:block; width:100%; max-width:527px; height:auto; object-fit:contain; margin:auto; }
.first-legacy-hero .first-hero-arrow { position:absolute; top:50%; transform:translateY(-50%); padding:0; width:44px; height:44px; border:2px solid #89978e; border-radius:50%; background:transparent; color:var(--first-ink); font:28px/1 sans-serif; }
.first-legacy-hero .first-hero-prev { left:max(8px,calc((100% - var(--first-content-width))/2)); }
.first-legacy-hero .first-hero-next { right:max(8px,calc((100% - var(--first-content-width))/2)); }
.first-legacy-hero .first-hero-pause { position:absolute; right:24px; bottom:12px; padding:5px 10px; background:transparent; color:var(--first-muted); border:1px solid var(--first-border); border-radius:20px; font:12px sans-serif; }
.first-original-site .first-hero-arrow:hover { background:#fff; border-color:var(--first-forest); }
@media(max-width:1024px) {
  .first-legacy-hero .first-hero-slide { padding:30px 60px; gap:24px; }
  .first-original-site .elementskit-menu-container a { min-height:44px; }
  .first-original-site .elementskit-menu-container { max-width:min(350px,calc(100vw - 24px)) !important; }
  .first-original-site .elementskit-menu-close { min-width:44px; min-height:44px; }
  .first-original-site.admin-bar .elementskit-menu-close { top:68px !important; }
}
@media(max-width:767px) {
  .first-catalogue-tools form { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .first-catalogue-tools label:first-of-type { grid-column:1 / -1; }
  .first-catalogue-tools button { align-self:end; }
  .first-catalogue-reset { grid-column:1 / -1; }
  .first-legacy-hero .first-hero-slide { min-height:0; padding:24px 52px 52px; grid-template-columns:1fr; gap:16px; text-align:center; }
  .first-legacy-hero picture { order:-1; max-width:311px; margin:auto; }
  .first-legacy-hero .first-hero-copy h3 { font-size:18px; margin-bottom:12px; }
  .first-legacy-hero .first-hero-copy h2 { font-size:clamp(24px,6vw,28px); margin-bottom:22px; }
  .first-legacy-hero .first-hero-copy a { width:auto; max-width:100%; padding:10px 22px; }
  .first-legacy-hero .first-hero-arrow { top:clamp(100px,32vw,145px); width:44px; height:44px; }
  .first-legacy-hero .first-hero-prev { left:8px; }
  .first-legacy-hero .first-hero-next { right:8px; }
  .first-original-site .elementor-widget-text-editor { overflow-wrap:break-word; }
}
@media(prefers-reduced-motion:reduce) {
  .first-original-site *, .first-original-site *::before,.first-original-site *::after { scroll-behavior:auto !important; transition:none !important; animation-duration:.01ms !important; }
}
.first-original-site .first-legacy-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:24px 0 40px}
.first-original-site .first-legacy-gallery--masonry{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.first-original-site .first-legacy-gallery-image{display:block;min-width:0;align-self:start}
.first-original-site .first-legacy-gallery-image img{display:block;width:100%;height:auto}
@media(max-width:760px){.first-original-site .first-legacy-gallery,.first-original-site .first-legacy-gallery--masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:400px){.first-original-site .first-legacy-gallery{grid-template-columns:1fr}.first-original-site .first-legacy-gallery--masonry{grid-template-columns:repeat(2,minmax(0,1fr))}}

.first-commercial-info { display:flex; flex-direction:column; gap:4px; margin:8px 0; font-size:13px; color:var(--first-forest,#1F5147); }
.first-price-ht { font-weight:600; }

/* ShopEngine's bottom gallery arrows must not cover the thumbnail strip. */
.first-original-site .shopengine-product-image .flex-direction-nav :is(.flex-next,.flex-prev)::before{
  height:44px!important;width:44px!important;top:40%!important;border-radius:50%;
}
/* Related-product arrows belong inside the slider, including on tablets. */
.first-original-site .product-slider .slick-next { right:0 !important; left:auto !important; }
.first-original-site .product-slider .slick-prev { left:0 !important; right:auto !important; }

/* Fluid gutters and natural content heights; keep the existing section order. */
.first-original-site :is(.elementor-column,.elementor-widget,.elementor-widget-container) { min-width:0; }
.first-original-site :is(.elementor-heading-title,.elementor-widget-text-editor,.first-hero-copy) { overflow-wrap:break-word; }
.first-original-site .elementor > .elementor-section-boxed > .elementor-container {
  width:calc(100% - 2 * var(--first-gutter)); max-width:var(--first-content-width); padding-inline:0;
}
.first-original-site .first-catalogue-tools { padding-inline:max(var(--first-gutter),calc((100% - var(--first-content-width))/2)); }
.first-original-site .elementor-1048 > .elementor-section:has(.first-legacy-hero) > .elementor-container {
  width:100%; max-width:none; padding:0;
}
.first-original-site .elementor-1048 > .elementor-section:has(.first-legacy-hero) > .elementor-container > .elementor-column > .elementor-widget-wrap {
  padding:0;
}
.first-original-site .elementor-1068 > .elementor-section > .elementor-container {
  /* This template is already inside the page gutter. Avoid applying it twice. */
  width:100%; max-width:none;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2vw,24px);
  padding:clamp(16px,2vw,24px);
}
.first-original-site .elementor-1068 .elementor-top-column { width:100%; }
.first-original-site .elementor-1068 .elementor-top-column > .elementor-widget-wrap { padding:0 !important; }
.first-original-site .elementor-1068 :is(.elementor-inner-section,.elementor-inner-section > .elementor-container,.elementor-inner-column) { height:100%; }
.first-original-site .elementor-1068 .elementor-inner-section > .elementor-container { padding:0; }
.first-original-site .elementor-1068 .elementor-inner-column > .elementor-widget-wrap { padding:clamp(20px,2.2vw,30px) !important; align-content:start; }
.first-original-site .elementor-1068 .elementor-widget-text-editor { text-align:start !important; line-height:1.7; }
.first-original-site .elementor-1055 > .elementor-section > .elementor-container {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px;
}
.first-original-site .elementor-1055 .elementor-top-column { width:100%; }
.first-original-site .elementor-1055 .elementor-widget-image { width:72px; max-width:100%; }
.first-original-site .elementor-1055 .elementor-widget-heading > .elementor-widget-container { margin-top:12px; }
.first-original-site .elementor-1055 .elementor-widget-image img { width:72px; height:72px; object-fit:contain; }
@media(max-width:1024px) {
  .first-original-site .elementor-1068 > .elementor-section > .elementor-container { grid-template-columns:1fr; }
  .first-original-site .elementor-1055 > .elementor-section > .elementor-container { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .first-original-site #masthead .elementor-699 .elementor-element-c569ecc :is(.elementor-element-595c22a,.elementor-element-a9e6dfe) { width:100%; max-width:100%; }
}
@media(max-width:767px) {
  .first-original-site .elementor-1055 .elementor-top-column > .elementor-widget-wrap { margin:16px 0; padding:0; }
  .first-original-site .elementor-1055 .elementor-heading-title { font-size:16px; line-height:1.45; }
  .first-original-site .elementor-1055 .elementor-widget-image { width:60px; }
  .first-original-site .elementor-1055 .elementor-widget-image img { width:60px; height:60px; }
  .first-original-site .elementor-1068 > .elementor-section > .elementor-container { width:100%; }
  .first-original-site .elementor-1048 :is(.elementor-widget-heading,.elementor-widget-text-editor) { text-align:start !important; }
  .first-original-site .elementor-1048 .elementor-widget-heading .elementor-heading-title { line-height:1.4; }
  .first-original-site .elementor-1048 .elementor-element-95219c9 .elementor-column > .elementor-widget-wrap { padding:12px; }
  .first-original-site .first-catalogue-tools form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .first-original-site .first-catalogue-tools button { padding-inline:12px; }
}
@media(max-width:360px) {
  .first-original-site .first-catalogue-tools form { grid-template-columns:minmax(0,1fr); }
  .first-original-site .first-catalogue-reset { white-space:normal; }
}

/* Live catalogue navigation uses the same families as customer results. */
.first-category-menu{background:#fff;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:24px;max-height:70vh;overflow:auto;color:var(--first-ink,#20332d)}
.first-category-menu section{min-width:0}
.first-category-menu h2{font-size:15px;line-height:1.4;margin:0 0 10px;color:var(--first-forest,#1f5147)}
.first-category-menu a{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:6px 0;color:#38564e;font-size:14px;line-height:1.5;text-transform:none;white-space:normal}
.first-category-menu h2 a{font-size:15px;font-weight:700}
.first-category-menu a:hover,.first-category-menu a:focus-visible{color:#1f5147;text-decoration:underline}
.first-menu-count{font-size:12px;color:#687a72;flex-shrink:0}
@media(max-width:1024px){.first-category-menu{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:18px;max-height:65vh}}
@media(max-width:540px){.first-category-menu{grid-template-columns:1fr}}

.first-original-site .elementskit-submenu-indicator{color:#1f5147!important}

/* Customer languages follow the same fluid width as the catalogue. */
.first-original-site .first-language-switcher{display:flex;justify-content:flex-end;gap:6px;padding:8px clamp(16px,2vw,38px);border-top:1px solid var(--first-border,#dce3de);background:var(--first-stone,#F3F1EB)}
.first-original-site .first-language-switcher a{color:#1F5147;padding:4px 12px;border:1px solid transparent;border-radius:6px;font-size:14px;line-height:1.5}
.first-original-site .first-language-switcher a[aria-current]{border-color:#1F5147;font-weight:700}
.first-original-site .first-language-switcher a:focus-visible{outline:3px solid #AD8956;outline-offset:2px}
