:root {
  --sisal-ink: #071119;
  --sisal-panel: #0d1a24;
  --sisal-panel-2: #132634;
  --sisal-line: rgba(157, 231, 229, .18);
  --sisal-text: #eaf3f5;
  --sisal-muted: #a9bdc4;
  --sisal-teal: #23d5cf;
  --sisal-teal-2: #70eee8;
  --sisal-navy: #092d54;
  --sisal-shadow: 0 24px 70px rgba(0, 0, 0, .32);
}

html { scroll-behavior: smooth; }
body {
  background: var(--sisal-ink) !important;
  color: var(--sisal-text) !important;
}
body, button, input, select, textarea { font-family: Inter, Arial, sans-serif !important; }

body :is(main, article, .site-main, .content-area) {
  background-color: var(--sisal-ink) !important;
  color: var(--sisal-text) !important;
}

/* Original Elementor templates contain late-loading white section rules. Keep
   page content on one explicit dark surface so light copy always has contrast. */
body main :is(section, article, .elementor-section, .elementor-container, .e-con, .elementor-column, .elementor-widget-wrap),
body .elementor-location-single :is(section, article, .elementor-section, .elementor-container, .e-con, .elementor-column, .elementor-widget-wrap) {
  background-color: transparent !important;
  color: var(--sisal-text) !important;
}
body main .elementor-widget:not(.elementor-widget-image):not(.elementor-widget-video) > .elementor-widget-container,
body .elementor-location-single .elementor-widget:not(.elementor-widget-image):not(.elementor-widget-video) > .elementor-widget-container {
  background-color: transparent !important;
}
body main :is(.ttwhy, .ttins, .ttcse, .tt-home-section, [class*="section"]),
body .elementor-location-single :is(.ttwhy, .ttins, .ttcse, [class*="section"]) {
  background-color: transparent !important;
  color: var(--sisal-text) !important;
}

body :is(.woocommerce div.product, .woocommerce ul.products li.product, .woocommerce-cart-form, .cart_totals, .shop_table, .product_meta, .elementor-accordion-item, .elementor-tab-content, .elementor-tab-title) {
  background-color: var(--sisal-panel) !important;
  color: var(--sisal-text) !important;
  border-color: var(--sisal-line) !important;
}

body .elementor-background-overlay {
  background-color: rgba(5, 12, 18, .68) !important;
  opacity: 1 !important;
}

body .elementor-widget:not(.elementor-widget-image):not(.elementor-widget-video) > .elementor-widget-container,
body :is(.woocommerce, .woocommerce-page, .woocommerce table, .woocommerce td, .woocommerce th, .woocommerce label, .woocommerce .price, .woocommerce .amount, .elementor-widget-text-editor, .elementor-icon-list-text, .elementor-accordion-title) {
  color: var(--sisal-text) !important;
}
body :is(main, article, .site-main, .content-area, .elementor-location-single) :is(p,span,li,dd,dt,strong,em,small,label,td,th) {
  color: var(--sisal-text) !important;
}
body :is(main, article, .site-main, .content-area, .elementor-location-single) a:not(.button):not(.elementor-button) {
  color: var(--sisal-teal-2) !important;
}

/* Preserve the original layout while shifting its palette into the Sisal identity. */
body :is(.elementor-section, .elementor-element, main, article, .site-main, .content-area) {
  --e-global-color-primary: var(--sisal-teal);
  --e-global-color-secondary: #90aeb9;
  --e-global-color-text: var(--sisal-text);
  --e-global-color-accent: var(--sisal-teal);
}

body :is(.elementor-section, .elementor-container, .elementor-widget-wrap, .site-main, article, .woocommerce, .product) {
  border-color: var(--sisal-line) !important;
}

body :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title,.woocommerce-loop-product__title) {
  color: var(--sisal-text) !important;
}
body :is(p,li,dd,dt,.elementor-widget-text-editor,.woocommerce-product-details__short-description) {
  color: var(--sisal-text) !important;
}
body a:not(.button):not(.elementor-button) { color: var(--sisal-teal-2); }
body a:not(.button):not(.elementor-button):hover { color: #fff; }

body > header.elementor-location-header,
body > .site-header {
  background: rgba(7, 17, 25, .96) !important;
  border-bottom: 1px solid var(--sisal-line) !important;
  backdrop-filter: blur(16px);
}
body > header.elementor-location-header header[data-id="0ca10a0"],
body > header.elementor-location-header section[data-id="76652fb"],
.sisal-custom-header {
  background: #071119 !important;
  border-bottom: 2px solid var(--sisal-teal) !important;
}
body > header.elementor-location-header .sisal-brand-logo,
.sisal-custom-header .sisal-brand-logo {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  filter: brightness(0) invert(1) !important;
}
.sisal-header-suppressed {
  display: none !important;
}

/* Elementor's responsive utility CSS is loaded from the legacy site and can
   arrive after the header markup. Enforce the intended header variant locally
   so the mobile and desktop logos can never appear together. */
@media (min-width: 768px) {
  html body > header.elementor-location-header > :is(
    section[data-id="f8a5905"],
    section[data-id="76652fb"]
  ) {
    display: none !important;
  }
}

@media (max-width: 767px) {
  html body > header.elementor-location-header > header[data-id="0ca10a0"] {
    display: none !important;
  }
}

/* Keep the complete header stacking context above page sections. A high
   z-index on the dropdown alone cannot escape a lower parent stacking
   context, which allowed the homepage hero overlay to cover the menu. */
body > header.elementor-location-header {
  position: relative !important;
  z-index: 500000 !important;
  isolation: isolate !important;
  overflow: visible !important;
}
body > header.elementor-location-header header[data-id="0ca10a0"],
body > header.elementor-location-header header[data-id="0ca10a0"] > .elementor-container,
body > header.elementor-location-header header[data-id="0ca10a0"] .elementor-column,
body > header.elementor-location-header header[data-id="0ca10a0"] .elementor-widget-wrap,
body > header.elementor-location-header header[data-id="0ca10a0"] .elementor-widget-container,
body > header.elementor-location-header header[data-id="0ca10a0"] [data-id="7796c94"],
body > header.elementor-location-header header[data-id="0ca10a0"] [data-id="7796c94"] > .elementor-widget-wrap,
body > header.elementor-location-header header[data-id="0ca10a0"] .elementor-element-2b4312c,
body > header.elementor-location-header header[data-id="0ca10a0"] .elementor-element-2b4312c > .elementor-widget-container,
body > header.elementor-location-header header[data-id="0ca10a0"] .e-n-menu,
body > header.elementor-location-header header[data-id="0ca10a0"] .e-n-menu-wrapper,
body > header.elementor-location-header header[data-id="0ca10a0"] .e-n-menu-heading,
body > header.elementor-location-header header[data-id="0ca10a0"] .e-n-menu-item {
  overflow: visible !important;
}
body > header.elementor-location-header header[data-id="0ca10a0"] {
  position: relative !important;
  z-index: 500000 !important;
}
body > header.elementor-location-header header[data-id="0ca10a0"] :is(.elementor-element-2b4312c,.e-n-menu-wrapper) {
  position: relative !important;
  z-index: 500000 !important;
}
body > header.elementor-location-header header[data-id="0ca10a0"] .elementor-element-862b986 {
  position: relative !important;
  z-index: 0 !important;
}
body > header.elementor-location-header header[data-id="0ca10a0"] .elementor-element-2b4312c {
  position: relative !important;
  z-index: 10 !important;
}
body > #content {
  position: relative;
  z-index: 0;
}
.sisal-brand-logo {
  display: block;
  width: min(190px, 44vw);
  max-height: 66px;
  object-fit: contain;
  height: auto;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  filter: brightness(0) invert(1);
}

header[data-id="0ca10a0"] > .elementor-container {
  display: grid !important;
  grid-template-columns: 158px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 70px !important;
}
header[data-id="0ca10a0"] {
  min-height: 70px !important;
  padding-block: 0 !important;
}
header[data-id="0ca10a0"] .elementor-column[data-id="bd2f76b"] {
  width: 158px !important;
  max-width: 158px !important;
  min-width: 0 !important;
}
header[data-id="0ca10a0"] .elementor-column[data-id="7796c94"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
header[data-id="0ca10a0"] .elementor-column[data-id="7796c94"] > .elementor-widget-wrap {
  padding-right: 0 !important;
}
header[data-id="0ca10a0"] .elementor-element-862b986,
header[data-id="0ca10a0"] .elementor-element-862b986 .elementor-widget-container,
header[data-id="0ca10a0"] .elementor-element-862b986 a {
  display: block !important;
  width: 148px !important;
  max-width: 148px !important;
  overflow: visible !important;
}
header[data-id="0ca10a0"] .elementor-element-862b986 img.sisal-brand-logo {
  width: 148px !important;
  max-width: 148px !important;
  max-height: 50px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
header :is([data-id="ttbaskd"], [data-id="ttbaskm"]) { display: none !important; }
header[data-id="0ca10a0"] .e-n-menu-heading {
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: clamp(2px, .55vw, 8px) !important;
}
header[data-id="0ca10a0"] .e-n-menu-title-container {
  padding: .4rem clamp(3px, .45vw, 7px) !important;
  color: var(--sisal-text) !important;
  font-size: .78rem !important;
  white-space: nowrap;
}
header[data-id="0ca10a0"] .e-n-menu-title-text {
  font-size: .78rem !important;
  line-height: 1.2 !important;
}
header[data-id="0ca10a0"] .e-n-menu-title-container:hover,
header[data-id="0ca10a0"] .e-n-menu-title-container:focus-visible,
header[data-id="0ca10a0"] .e-n-menu-title[data-sisal-open="true"] > .e-n-menu-title-container {
  color: var(--sisal-teal-2) !important;
  background: var(--sisal-panel-2) !important;
}
header[data-id="0ca10a0"] .e-n-menu-title-container:focus-visible {
  outline: 3px solid var(--sisal-teal) !important;
  outline-offset: 2px !important;
}
header[data-id="0ca10a0"] svg {
  fill: currentColor !important;
  color: var(--sisal-text) !important;
}
body button:is(.e-n-menu-dropdown-icon, .e-n-menu-toggle) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  color: inherit !important;
}
.e-n-menu-title[data-sisal-open="true"] + .e-n-menu-content {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.e-n-menu-title[data-sisal-open="true"] + .e-n-menu-content > .e-con {
  display: flex !important;
}

@media (min-width: 721px) {
  header[data-id="0ca10a0"] .e-n-menu-item:hover > .e-n-menu-content,
  header[data-id="0ca10a0"] .e-n-menu-item:focus-within > .e-n-menu-content {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  header[data-id="0ca10a0"] .e-n-menu-item:hover > .e-n-menu-content > .e-con,
  header[data-id="0ca10a0"] .e-n-menu-item:focus-within > .e-n-menu-content > .e-con {
    display: flex !important;
  }
}

/* The mega-menu must be a solid, continuous target. Elementor's transparent
   wrapper and title-to-panel spacing created an unreadable panel and a hover
   dead zone that closed the menu while the pointer moved into it. */
header[data-id="0ca10a0"] .e-n-menu {
  --n-menu-title-distance-from-content: 0px !important;
}
header[data-id="0ca10a0"] .e-n-menu-content {
  padding-block-start: 0 !important;
  margin-block-start: 0 !important;
  top: calc(100% - 1px) !important;
  z-index: 500001 !important;
  background: #fff !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  pointer-events: auto !important;
}
header[data-id="0ca10a0"] .e-n-menu-content > .e-con,
header[data-id="0ca10a0"] .e-n-menu-content > .e-con .e-con,
header[data-id="0ca10a0"] .e-n-menu-content > .e-con .elementor-widget-wrap,
header[data-id="0ca10a0"] .e-n-menu-content > .e-con .elementor-widget-container {
  background: #fff !important;
  background-image: none !important;
  color: #071119 !important;
  opacity: 1 !important;
}
header[data-id="0ca10a0"] .e-n-menu-content > .e-con {
  border: 1px solid #cdd8dc !important;
  border-top: 3px solid var(--sisal-teal) !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .58) !important;
}
header[data-id="0ca10a0"] .e-n-menu-content :is(a, p, span, h2, h3, h4, li, strong) {
  color: #071119 !important;
  background-color: transparent !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
/* Neutralise legacy animated-link masks inside the white panel. They were
   drawing a white band through the first link and looked like a logo overlap. */
header[data-id="0ca10a0"] .e-n-menu-content a {
  position: relative !important;
  z-index: 1 !important;
  display: inline !important;
  overflow: visible !important;
  color: #071119 !important;
  -webkit-text-fill-color: #071119 !important;
  background: transparent !important;
  background-image: none !important;
  filter: none !important;
  clip-path: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  transform: none !important;
  transition: color .15s ease, background-color .15s ease !important;
}
header[data-id="0ca10a0"] .e-n-menu-content a::before,
header[data-id="0ca10a0"] .e-n-menu-content a::after {
  content: none !important;
  display: none !important;
}
header[data-id="0ca10a0"] .e-n-menu-content a:hover,
header[data-id="0ca10a0"] .e-n-menu-content a:focus-visible {
  color: #075f63 !important;
  -webkit-text-fill-color: #075f63 !important;
  background: #e9f5f5 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* The separate mobile Elementor menu uses the older nav-menu widget. */
.elementor-location-header :is(.elementor-nav-menu--dropdown, .elementor-nav-menu--dropdown .sub-menu) {
  background: #fff !important;
  border-color: #cdd8dc !important;
}
.elementor-location-header .elementor-nav-menu--dropdown :is(a, .elementor-item, .elementor-sub-item) {
  background: #fff !important;
  color: #071119 !important;
}
.elementor-location-header .elementor-nav-menu--dropdown :is(a, .elementor-item, .elementor-sub-item):hover,
.elementor-location-header .elementor-nav-menu--dropdown :is(a, .elementor-item, .elementor-sub-item):focus-visible {
  background: #e9f5f5 !important;
  color: #075f63 !important;
}
.elementor-location-header section[data-id="76652fb"] {
  position: relative !important;
  z-index: 500000 !important;
  overflow: visible !important;
}
.elementor-location-header :is(.elementor-menu-toggle,.elementor-nav-menu--dropdown a):focus-visible {
  outline: 3px solid var(--sisal-teal) !important;
  outline-offset: 2px !important;
}
.woocommerce-product-gallery { opacity: 1 !important; }

/* Insights archives: the source template uses near-white sections and white
   post cards, while the Sisal theme supplies light copy. Put the complete
   archive family onto explicit dark surfaces. */
body:is(.blog,.archive) .elementor-location-archive,
body:is(.blog,.archive) .elementor-location-archive :is(.elementor-section,.elementor-container,.elementor-column,.elementor-widget-wrap) {
  background-color: transparent !important;
  color: var(--sisal-text) !important;
}
body:is(.blog,.archive) .elementor-6632 :is(h1,.tt-arch-stand p) {
  color: var(--sisal-text) !important;
}
body:is(.blog,.archive) .elementor-6632 .elementor-post__card {
  background: var(--sisal-panel) !important;
  color: var(--sisal-text) !important;
  border: 1px solid rgba(112,238,232,.28) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.28) !important;
}
body:is(.blog,.archive) .elementor-6632 .elementor-post__card:hover {
  background: var(--sisal-panel-2) !important;
  border-color: var(--sisal-teal) !important;
}
body:is(.blog,.archive) .elementor-6632 .elementor-post__title a,
body:is(.blog,.archive) .elementor-6632 .elementor-post__excerpt p {
  color: var(--sisal-text) !important;
}
body:is(.blog,.archive) .elementor-6632 .elementor-post__meta-data,
body:is(.blog,.archive) .elementor-6632 .elementor-post__meta-data span {
  color: var(--sisal-muted) !important;
}
body:is(.blog,.archive) .elementor-6632 :is(.elementor-post__read-more,.page-numbers) {
  color: var(--sisal-teal-2) !important;
}
body:is(.blog,.archive) .elementor-6632 .elementor-post__title a:hover,
body:is(.blog,.archive) .elementor-6632 .elementor-post__title a:focus-visible,
body:is(.blog,.archive) .elementor-6632 :is(.elementor-post__read-more,.page-numbers):hover,
body:is(.blog,.archive) .elementor-6632 :is(.elementor-post__read-more,.page-numbers):focus-visible {
  color: #fff !important;
}
body:is(.blog,.archive) .elementor-6632 .page-numbers.current {
  color: #fff !important;
  background: var(--sisal-panel-2) !important;
}
body:is(.blog,.archive) .elementor-6632 a:focus-visible {
  outline: 3px solid var(--sisal-teal);
  outline-offset: 3px;
}

/* Single insight/news articles share one template. Correct its low-contrast
   metadata, route cards, related articles and sharing controls. */
body .elementor-location-single .tt-eyebrow :is(.elementor-icon-list-text,a) {
  color: var(--sisal-teal-2) !important;
}
body .elementor-location-single .tt-meta :is(.elementor-icon-list-text,a) {
  color: var(--sisal-muted) !important;
}
body .elementor-location-single .tt-routes a {
  background: var(--sisal-panel) !important;
  color: var(--sisal-text) !important;
  border-color: var(--sisal-line) !important;
}
body .elementor-location-single .tt-routes a span {
  color: var(--sisal-muted) !important;
}
body .elementor-location-single .tt-routes a:hover,
body .elementor-location-single .tt-routes a:focus-visible {
  background: var(--sisal-panel-2) !important;
  color: #fff !important;
  border-color: var(--sisal-teal) !important;
}
body .elementor-location-single .tt-rel article {
  background: var(--sisal-panel) !important;
  padding: 18px !important;
  border: 1px solid var(--sisal-line) !important;
}
body .elementor-location-single .tt-rel .elementor-post__title a {
  color: var(--sisal-text) !important;
}
body .elementor-location-single .tt-rel .elementor-post__title a:hover,
body .elementor-location-single .tt-rel .elementor-post__title a:focus-visible,
body .elementor-location-single .tt-share .elementor-share-btn {
  color: var(--sisal-teal-2) !important;
}
body .elementor-location-single :is(.tt-routes a,.tt-rel a,.tt-share a):focus-visible {
  outline: 3px solid var(--sisal-teal);
  outline-offset: 3px;
}

/* Product, application, industry and credentials templates reuse pale cards.
   Their surfaces and their copy must switch together to avoid light-on-light. */
body main :is(
  .pr-card,.pr-bespoke,.pr-col,
  .lr-card,.lr-why li,.lr-faq details,.lr-contact,
  .bt-card,.bt-faq details,.bt-contact,.bt-feat figure,
  .tr-card,.tr-faq details,.tr-contact,.trv-v,
  .tt-buy .tt-card,
  .pp-grid3>div,.pp-tags li,.pp-vcard,.pp-jour>a,.pp-cta>div,.pp-lite
) {
  background: var(--sisal-panel) !important;
  color: var(--sisal-text) !important;
  border-color: var(--sisal-line) !important;
}
body main :is(
  .pr-card,.pr-bespoke,.pr-col,
  .lr-card,.lr-why li,.lr-faq details,.lr-contact,
  .bt-card,.bt-faq details,.bt-contact,.bt-feat figure,
  .tr-card,.tr-faq details,.tr-contact,.trv-v,
  .tt-buy .tt-card,
  .pp-grid3>div,.pp-tags li,.pp-vcard,.pp-jour>a,.pp-cta>div,.pp-lite
) :is(h1,h2,h3,h4,p,li,span,strong,summary,figcaption) {
  color: var(--sisal-text) !important;
}

/* Hundreds of imported product and application sections carry hard-coded
   white inline fills. Switch the section and card surface together so light
   copy can never sit on a pale background. */
body :is(main,.elementor-location-single) :is(.pp-sec,.pr-sec,.bt-sec,.tr-sec,.lr-sec,.fq-sec,.in-sec),
body :is(main,.elementor-location-single) :is(section,article,div,a,table,thead,tbody,tr,th,td,ul,li,span):not(.tt-ctm__box)[style*="background:#FAFBFC" i],
body :is(main,.elementor-location-single) :is(section,article,div,a,table,thead,tbody,tr,th,td,ul,li,span):not(.tt-ctm__box)[style*="background: #FAFBFC" i],
body :is(main,.elementor-location-single) :is(section,article,div,a,table,thead,tbody,tr,th,td,ul,li,span):not(.tt-ctm__box)[style*="background:#fff;" i],
body :is(main,.elementor-location-single) :is(section,article,div,a,table,thead,tbody,tr,th,td,ul,li,span):not(.tt-ctm__box)[style*="background: #fff;" i],
body :is(main,.elementor-location-single) :is(section,article,div,a,table,thead,tbody,tr,th,td,ul,li,span):not(.tt-ctm__box)[style*="background-color:#FAFBFC" i],
body :is(main,.elementor-location-single) :is(section,article,div,a,table,thead,tbody,tr,th,td,ul,li,span):not(.tt-ctm__box)[style*="background-color: #FAFBFC" i],
body :is(main,.elementor-location-single) :is(section,article,div,a,table,thead,tbody,tr,th,td,ul,li,span):not(.tt-ctm__box)[style*="background-color:#fff" i],
body :is(main,.elementor-location-single) :is(section,article,div,a,table,thead,tbody,tr,th,td,ul,li,span):not(.tt-ctm__box)[style*="background-color: #fff" i] {
  background: var(--sisal-panel) !important;
  color: var(--sisal-text) !important;
  border-color: var(--sisal-line) !important;
}
body :is(main,.elementor-location-single) :is(
  .pp-sec,.pr-sec,.bt-sec,.tr-sec,.lr-sec,.fq-sec,.in-sec,
  [style*="background:#FAFBFC" i],
  [style*="background: #FAFBFC" i],
  [style*="background:#fff;" i],
  [style*="background: #fff;" i],
  [style*="background-color:#FAFBFC" i],
  [style*="background-color: #FAFBFC" i],
  [style*="background-color:#fff" i],
  [style*="background-color: #fff" i]
) :is(h1,h2,h3,h4,p,li,span,strong,summary,figcaption) {
  color: var(--sisal-text) !important;
}
body :is(main,.elementor-location-single) :is(
  .pp-sec,.pr-sec,.bt-sec,.tr-sec,.lr-sec,.fq-sec,.in-sec,
  [style*="background:#FAFBFC" i],
  [style*="background: #FAFBFC" i],
  [style*="background:#fff;" i],
  [style*="background: #fff;" i],
  [style*="background-color:#FAFBFC" i],
  [style*="background-color: #FAFBFC" i],
  [style*="background-color:#fff" i],
  [style*="background-color: #fff" i]
) a {
  color: var(--sisal-teal-2) !important;
}
body main :is(.pr-card,.lr-card,.bt-card,.tr-card,.pp-jour>a,.pp-vcard):is(:hover,:focus-visible) {
  background: var(--sisal-panel-2) !important;
  border-color: var(--sisal-teal) !important;
  outline: 2px solid var(--sisal-teal);
  outline-offset: 2px;
}
body main :is(.pr-card,.lr-card,.bt-card,.tr-card,.pp-jour>a,.pp-lite) a:not(.pp-btn) {
  color: var(--sisal-teal-2) !important;
}
body main :is(.pr-card,.lr-card,.bt-card,.tr-card,.pp-jour>a,.pp-lite) a:not(.pp-btn):is(:hover,:focus-visible) {
  color: #fff !important;
  text-decoration: underline;
}
body main .pp .pp-det summary,
body main .pp :is(h1,h2,h3,h4,summary,.pp-lead,.pp-spec th) {
  color: var(--sisal-text) !important;
}
body main .pp :is(.pp-num,.pp-eyebrow,.pp-jgo,.pp-more),
body main .in-wrap .in-eyebrow {
  color: var(--sisal-teal-2) !important;
}
body main .pp .pp-dark { background: #050c12 !important; }
body main a.pp-btn,
body main :is(.pr-btn-o,.bt-btn,.tr-btn) {
  background: var(--sisal-teal) !important;
  color: #041014 !important;
  border: 1px solid var(--sisal-teal) !important;
}
body main :is(a.pp-btn,a.in-btn,.pr-btn-o,.bt-btn,.tr-btn):is(:hover,:focus-visible) {
  background: #fff !important;
  color: #041014 !important;
  outline: 3px solid var(--sisal-teal-2);
  outline-offset: 3px;
}
body main a.in-o { color: #071119 !important; }
body main .in-card:focus-visible {
  outline: 3px solid var(--sisal-teal-2) !important;
  outline-offset: 3px;
}

/* FAQ cards, glossary blocks and navigation use the same dark page palette. */
body main .fq :is(.fq-list,.fq-gloss>div,.fq-cal,.fq-nav a) {
  background: var(--sisal-panel) !important;
  border-color: var(--sisal-line) !important;
}
body main .fq :is(h1,h2,h3,h4,summary,.fq-lead,.fq-a b,.fq-a strong,p,li,.fq-a p,.fq-a li,.fq-note) {
  color: var(--sisal-text) !important;
}
body main .fq :is(.fq-eyebrow,.fq-a a,.fq-note a) {
  color: var(--sisal-teal-2) !important;
}
body main .elementor-element-d799921 :is(h2,label) {
  color: var(--sisal-text) !important;
}

/* WooCommerce product, catalogue and status components. */
.woocommerce .woocommerce-breadcrumb {
  padding: 12px 16px;
  background: var(--sisal-panel-2) !important;
  color: var(--sisal-muted) !important;
  border: 1px solid var(--sisal-line) !important;
}
.woocommerce .woocommerce-breadcrumb a,
.woocommerce :is(.stock,.product_meta) a {
  color: var(--sisal-teal-2) !important;
}
.woocommerce .woocommerce-breadcrumb a:is(:hover,:focus-visible) {
  color: #fff !important;
  text-decoration: underline;
}
.woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) {
  background: var(--sisal-panel-2) !important;
  color: var(--sisal-text) !important;
  border-color: var(--sisal-teal) !important;
}
.woocommerce .woocommerce-error { border-color: #ff9b9b !important; }
.woocommerce :is(.price del,.price del .amount,.stock,.sku_wrapper,.posted_in,.tagged_as,.product_meta) {
  color: var(--sisal-muted) !important;
  opacity: 1 !important;
}
.woocommerce :is(.price ins,.price ins .amount) { color: var(--sisal-teal-2) !important; }
.woocommerce span.onsale {
  background: var(--sisal-teal-2) !important;
  color: #041014 !important;
}
.woocommerce ul.products li.product { border: 1px solid var(--sisal-line) !important; }
.woocommerce ul.products li.product:is(:hover,:focus-within) {
  background: var(--sisal-panel-2) !important;
  border-color: var(--sisal-teal) !important;
}
.single-product .related.products,
.single-product .elementor-widget-woocommerce-product-related,
.single-product .elementor-widget-woocommerce-product-related > .elementor-widget-container {
  background: var(--sisal-ink) !important;
  color: var(--sisal-text) !important;
}
.single-product .related.products > h2 {
  color: var(--sisal-text) !important;
  margin-bottom: 24px !important;
}
.single-product .related.products ul.products li.product {
  background: var(--sisal-panel) !important;
  border: 1px solid var(--sisal-line) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
.single-product .related.products .woocommerce-loop-product__link {
  display: block !important;
  background: var(--sisal-panel) !important;
  color: var(--sisal-text) !important;
  padding: 0 16px 18px !important;
}
.single-product .related.products .woocommerce-loop-product__title {
  color: var(--sisal-text) !important;
}
.single-product .related.products :is(.price,.price .amount) {
  color: var(--sisal-teal-2) !important;
}
.single-product .related.products ul.products li.product:is(:hover,:focus-within),
.single-product .related.products ul.products li.product:is(:hover,:focus-within) .woocommerce-loop-product__link {
  background: var(--sisal-panel-2) !important;
  border-color: var(--sisal-teal) !important;
}
.woocommerce form.cart :is(label,.reset_variations) { color: var(--sisal-text) !important; }
.woocommerce form.cart select,
.woocommerce form.cart input.qty {
  background: #0b1822 !important;
  color: var(--sisal-text) !important;
  border: 1px solid #78909a !important;
}
.catalogue-kicker { color: var(--sisal-teal-2) !important; }
.catalogue-card:focus-within {
  border-color: var(--sisal-teal) !important;
  outline: 2px solid var(--sisal-teal);
  outline-offset: 2px;
}

/* Homepage insight cards and contact address: explicit dark surfaces prevent
   late white card rules from placing light copy on a light background. */
body.home main .ttins-card {
  background: var(--sisal-panel) !important;
  color: var(--sisal-text) !important;
  border: 1px solid rgba(112, 238, 232, .34) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .28) !important;
}
body.home main .ttins-card:hover,
body.home main .ttins-card:focus-visible {
  background: var(--sisal-panel-2) !important;
  border-color: var(--sisal-teal) !important;
}
body.home main .ttins-card :is(.ttins-title, .ttins-sum) {
  color: var(--sisal-text) !important;
}
body.home main .ttins-card .ttins-read {
  color: var(--sisal-teal-2) !important;
}
body.home main :is(.ttins-card,.ttins-res a):focus-visible {
  outline: 3px solid var(--sisal-teal) !important;
  outline-offset: 3px !important;
}
body.home #content address {
  display: inline-block;
  padding: 18px 22px !important;
  background: rgba(7, 17, 25, .94) !important;
  color: #fff !important;
  border: 1px solid rgba(112, 238, 232, .36) !important;
  border-left: 4px solid var(--sisal-teal) !important;
  border-radius: 9px;
  font-style: normal !important;
  font-weight: 650 !important;
  line-height: 1.7 !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .34);
}

/* About-page content originally mixed white cards with globally light type.
   Give every block one deliberate, high-contrast Sisal surface. */
body main .ab77,
body main .ab77cta {
  background: var(--sisal-ink) !important;
  color: var(--sisal-text) !important;
}
body main .ab77 :is(h1, h2, h3, p, .lead, .eyebrow, .ab77-stat),
body main .ab77cta :is(h1, h2, h3, p, span) {
  color: var(--sisal-text) !important;
}
body main .ab77 .eyebrow,
body main .ab77 .num {
  color: var(--sisal-teal-2) !important;
}
body main .ab77-grid {
  background: var(--sisal-line) !important;
  border-color: var(--sisal-line) !important;
}
body main .ab77-grid > div {
  background: var(--sisal-panel) !important;
}
body main .ab77-note,
body main .ab77-hist,
body main .ab77-cap,
body main .ab77-hero {
  background: var(--sisal-panel) !important;
}
body main .ab77cta {
  border-block: 1px solid var(--sisal-line) !important;
}
body main .elementor-element-ab77b2 .elementor-button {
  background: transparent !important;
  color: var(--sisal-teal-2) !important;
  border-color: var(--sisal-teal-2) !important;
}
body style { display: none !important; }
body main [data-id="ab77sty"] { display: none !important; }
body main section.ab77cta,
body main section.ab77cta > .elementor-container {
  background: #071119 !important;
  background-image: none !important;
}
body main section.ab77cta > .elementor-container {
  gap: 22px;
  padding: clamp(28px, 4vw, 52px) 0;
}
body main section.ab77cta .elementor-column > .elementor-widget-wrap {
  height: 100%;
  padding: clamp(24px, 3vw, 38px) !important;
  background: #0d1a24 !important;
  border: 1px solid rgba(112, 238, 232, .28) !important;
  border-radius: 10px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28);
}
body main section.ab77cta :is(h2, p, span) {
  color: #f4f8fa !important;
  -webkit-text-fill-color: #f4f8fa !important;
}
body main section.ab77cta .elementor-element-ab77b1 .elementor-button {
  background: #f26522 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 1px solid #f26522 !important;
}
body main section.ab77cta .elementor-element-ab77b1 .elementor-button:hover,
body main section.ab77cta .elementor-element-ab77b1 .elementor-button:focus-visible {
  background: #c94d08 !important;
  border-color: #c94d08 !important;
}
body main section.ab77cta .elementor-element-ab77b2 .elementor-button {
  background: transparent !important;
  color: #70eee8 !important;
  -webkit-text-fill-color: #70eee8 !important;
  border: 1px solid #70eee8 !important;
}
body main section.ab77cta .elementor-element-ab77b2 .elementor-button:hover,
body main section.ab77cta .elementor-element-ab77b2 .elementor-button:focus-visible {
  background: #70eee8 !important;
  color: #071119 !important;
  -webkit-text-fill-color: #071119 !important;
}

/* Shorter homepage: retain the strongest path from proposition to products,
   proof, practical guidance and contact; remove four repetitive long sections. */
body.home :is(
  [data-id="spb1000"],
  [data-id="cse1000"],
  [data-id="api1000"],
  [data-id="why1000"],
  [data-id="sla1000"],
  [data-id="64ca4df"],
  [data-id="ins1000"]
) {
  display: none !important;
}
body.home [data-id="02edea7"] {
  min-height: 0 !important;
  padding-block: clamp(42px, 6vw, 72px) !important;
}
body.home [data-id="ttp1000"] {
  padding-block: 28px !important;
}
body.home .ttexp,
body.home .ttpaper {
  padding-block: clamp(48px, 6vw, 68px) !important;
}
body.home .ttins-media {
  height: 170px !important;
}
body.home .ttins-body {
  padding: 18px 20px 20px !important;
}
body.home .elementor-element-94bd2cd {
  padding-block: clamp(44px, 6vw, 62px) !important;
}

body :is(.elementor-button,.button,input[type=submit],.wp-element-button,form.cart button,.elementor-form button) {
  background: var(--sisal-teal) !important;
  color: #041014 !important;
  border: 1px solid var(--sisal-teal) !important;
  border-radius: 7px !important;
  font-weight: 800 !important;
  letter-spacing: .025em;
  box-shadow: 0 10px 30px rgba(35,213,207,.12);
}
body :is(.elementor-button,.button,input[type=submit],.wp-element-button,form.cart button,.elementor-form button):hover {
  background: #fff !important;
  border-color: #fff !important;
}

body :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea) {
  background: #0b1822 !important;
  color: var(--sisal-text) !important;
  border: 1px solid rgba(169,189,196,.35) !important;
  border-radius: 7px !important;
}
body :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea):focus { outline: 2px solid var(--sisal-teal); outline-offset: 2px; }
body :is(input,select,textarea)::placeholder {
  color: #b9c9ce !important;
  opacity: 1 !important;
}
body select option {
  background: #0b1822;
  color: var(--sisal-text);
}
body :is(input,select,textarea):disabled {
  background: #17242d !important;
  color: #b9c9ce !important;
  opacity: 1 !important;
}
body .elementor-message-success { color: #a7f3d0 !important; }
body :is(.elementor-message-danger,.elementor-message-error) { color: #ffb4b4 !important; }

/* Imported form-specific CSS used dark labels on the dark Sisal surface.
   These final rules intentionally own the whole form colour context. */
body #content .elementor-widget-form:not(.elementor-element-ttctform) .elementor-field-group > label {
  color: var(--sisal-text) !important;
}
body #content .elementor-widget-form:not(.elementor-element-ttctform) .elementor-field-textual {
  background: #0b1822 !important;
  color: var(--sisal-text) !important;
  border-color: #78909a !important;
}
body #content .elementor-widget-form:not(.elementor-element-ttctform) button.elementor-button[type="submit"] {
  background: var(--sisal-teal) !important;
  color: #041014 !important;
  border-color: var(--sisal-teal) !important;
}
body #content .elementor-widget-form:not(.elementor-element-ttctform) button.elementor-button[type="submit"] .elementor-button-text {
  color: #041014 !important;
}
body :is(.elementor-button,.button,input[type=submit],.wp-element-button,form.cart button,.elementor-form button) :is(span,strong) {
  color: #041014 !important;
}
body :is(.elementor-button,.button,input[type=submit],.wp-element-button,form.cart button,.elementor-form button):is(:hover,:focus-visible) {
  background: #fff !important;
  color: #041014 !important;
  border-color: #fff !important;
  outline: 3px solid var(--sisal-teal-2) !important;
  outline-offset: 3px !important;
}
body :is(.elementor-button,.button,.wp-element-button,form.cart button,.elementor-form button) svg {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Shared enquiry modal deliberately remains a light dialog; restore a complete
   dark-copy context instead of inheriting the page's light text. */
body .tt-ctm__box {
  background: #fafbfc !important;
  color: #081434 !important;
}
body .tt-ctm__box :is(h1,h2,h3,p,.tt-ctm__lead,.tt-ctm__fb) {
  color: #081434 !important;
}
body .tt-ctm__box .elementor-field-group > label { color: #081434 !important; }
body .tt-ctm__box a {
  color: #075f63 !important;
  text-decoration: underline;
}
body .tt-ctm__box :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea) {
  background: #fff !important;
  color: #081434 !important;
  border-color: #667783 !important;
}
body .tt-ctm__box :is(input,textarea)::placeholder { color: #4e5d68 !important; }
body .tt-ctm__box .elementor-button[type=submit] {
  background: var(--sisal-teal) !important;
  color: #041014 !important;
  border-color: var(--sisal-teal) !important;
}
body .tt-ctm__box .elementor-button[type=submit]:is(:hover,:focus-visible) {
  background: #081434 !important;
  color: #fff !important;
}
body .tt-ctm__box .tt-ctm__x {
  background: #fff !important;
  color: #071119 !important;
  border-color: #667783 !important;
}

/* Cookie preferences are another intentional light dialog and must not inherit
   the dark page copy. */
body :is(.wcc-consent-container,.wcc-modal,.wcc-preference-center) {
  background: #fff !important;
  color: #212121 !important;
}
body :is(.wcc-consent-container,.wcc-modal,.wcc-preference-center) :is(h1,h2,h3,h4,p,li,strong,label) {
  color: #212121 !important;
}
body :is(.wcc-consent-container,.wcc-modal,.wcc-preference-center) a {
  color: #075f63 !important;
  text-decoration: underline;
}
body :is(.wcc-consent-container,.wcc-modal,.wcc-preference-center) :is(a,button,input):focus-visible {
  outline: 3px solid #075f63 !important;
  outline-offset: 3px !important;
}

/* Footer widgets come from Elementor and sometimes retain their source-page
   fills. Keep the complete footer on a consistent dark surface. */
.elementor-location-footer :is(section,.elementor-section,.elementor-container,.elementor-column,.elementor-widget-wrap,.elementor-widget-container) {
  background-color: transparent !important;
  color: var(--sisal-text) !important;
}
.elementor-location-footer :is(h1,h2,h3,h4,p,li,span,strong) { color: var(--sisal-text) !important; }
.elementor-location-footer a { color: var(--sisal-teal-2) !important; }
.elementor-location-footer a:is(:hover,:focus-visible) { color: #fff !important; }

/* Compact legal/footer bar. The imported template gives every legal link a
   full-width widget, creating a tall stack with large empty gaps. */
.elementor-location-footer [data-id="200bfcb7"] {
  padding: 18px 0 !important;
  min-height: 0 !important;
}
.elementor-location-footer [data-id="200bfcb7"] > .elementor-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px 32px !important;
  min-height: 0 !important;
}
.elementor-location-footer [data-id="163cafa6"] {
  width: auto !important;
  flex: 1 1 auto !important;
}
.elementor-location-footer [data-id="163cafa6"] > .elementor-widget-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 22px !important;
  padding: 0 !important;
}
.elementor-location-footer [data-id="163cafa6"] .elementor-widget {
  width: auto !important;
  margin: 0 !important;
}
.elementor-location-footer [data-id="200bfcb7"] :is(p,.elementor-heading-title) {
  margin: 0 !important;
  line-height: 1.45 !important;
}
.elementor-location-footer [data-id="6cfb85bb"] {
  width: auto !important;
  flex: 0 0 auto !important;
}
.elementor-location-footer [data-id="6cfb85bb"] > .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 4px !important;
  padding: 0 !important;
}
.elementor-location-footer [data-id="6cfb85bb"] .elementor-widget {
  margin: 0 !important;
}
@media (max-width: 767px) {
  .elementor-location-footer [data-id="200bfcb7"] > .elementor-container {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .elementor-location-footer [data-id="6cfb85bb"] > .elementor-widget-wrap {
    align-items: flex-start !important;
  }
}

body :is(a,.elementor-button,button,input,select,textarea):focus-visible {
  outline: 3px solid var(--sisal-teal-2) !important;
  outline-offset: 3px !important;
}
body :is(table,tbody,thead,tr,td,th) {
  background-color: transparent !important;
  color: var(--sisal-text) !important;
  border-color: var(--sisal-line) !important;
}

.sisal-rebrand-note {
  margin: 18px auto;
  padding: 18px 22px;
  max-width: 1180px;
  background: linear-gradient(135deg, rgba(35,213,207,.13), rgba(9,45,84,.55));
  border: 1px solid rgba(35,213,207,.38);
  border-radius: 12px;
  color: var(--sisal-text);
  box-shadow: var(--sisal-shadow);
}
.sisal-rebrand-note strong { color: var(--sisal-teal-2); }

.sisal-content-page {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(72px, 10vw, 130px) 0 90px;
}
.sisal-content-page .eyebrow {
  color: var(--sisal-teal-2) !important;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.sisal-content-page h1 {
  max-width: 920px;
  margin: .2em 0;
  font-size: clamp(2.5rem, 6vw, 5.6rem);
  line-height: .98;
}
.sisal-content-page .lede { max-width: 820px; font-size: clamp(1.05rem, 2vw, 1.3rem); line-height: 1.7; color: var(--sisal-muted) !important; }
.sisal-info-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; margin:42px 0; }
.sisal-info-card { padding:24px; background:var(--sisal-panel); border:1px solid var(--sisal-line); border-radius:14px; }
.sisal-info-card h2, .sisal-info-card h3 { margin-top:0; color:var(--sisal-teal-2) !important; }
.sisal-info-card p, .sisal-info-card li { line-height:1.65; }
.sisal-checklist { padding:clamp(24px,4vw,42px); margin:36px 0; background:linear-gradient(135deg,rgba(35,213,207,.1),rgba(9,45,84,.42)); border:1px solid var(--sisal-line); border-radius:16px; }
.sisal-checklist ul { columns:2; column-gap:42px; padding-left:1.2rem; }
.sisal-cta-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.sisal-custom-header .sisal-brand-logo { width:180px; }
.sisal-custom-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 14px clamp(20px, 5vw, 70px);
}
.sisal-custom-header nav { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:clamp(10px,1.6vw,22px); }
.sisal-custom-header nav a { color:var(--sisal-text) !important; font-weight:750; text-decoration:none; }

.sisal-floating-basket {
  position: fixed;
  z-index: 99999;
  right: 18px;
  bottom: 18px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px 16px;
  border-radius: 999px;
  color: #041014 !important;
  background: var(--sisal-teal) !important;
  box-shadow: 0 16px 45px rgba(0,0,0,.45);
  font-weight: 900;
  text-decoration: none;
}
.sisal-floating-basket span {
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  padding: 0 6px;
  border-radius: 999px;
  background: #071119;
  color: #fff;
}

.sisal-basket-shell {
  width: min(1050px, calc(100% - 32px));
  margin: 120px auto 70px;
  padding: clamp(22px, 4vw, 48px);
  background: var(--sisal-panel);
  border: 1px solid var(--sisal-line);
  border-radius: 18px;
  box-shadow: var(--sisal-shadow);
}
.sisal-basket-table { width: 100%; border-collapse: collapse; }
.sisal-basket-table th, .sisal-basket-table td {
  padding: 14px 10px;
  border-bottom: 1px solid var(--sisal-line);
  text-align: left;
  vertical-align: middle;
}
.sisal-basket-table input { width: 80px; }
.sisal-basket-summary { margin-top: 24px; text-align: right; }
.sisal-basket-summary strong { font-size: 1.35rem; color: var(--sisal-teal-2); }
.sisal-order-actions { display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap; margin-top:20px; }

.sisal-toast {
  position: fixed;
  z-index: 100000;
  left: 50%;
  bottom: 86px;
  transform: translateX(-50%);
  padding: 12px 18px;
  border-radius: 9px;
  background: #eef7f8;
  color: #06131c;
  box-shadow: var(--sisal-shadow);
  font-weight: 800;
}

a[href*="linkedin.com"], a[href*="instagram.com"], a[href*="youtube.com"], a[href*="ryleon.com"], a[href*="whatsapp" i], a[href*="wa.me" i], .e-fab-whatsapp { display: none !important; }

footer, .elementor-location-footer, .site-footer {
  background: #050c12 !important;
  border-top: 1px solid var(--sisal-line) !important;
}
footer [data-id="6363fc83"], footer [data-id="8d1eda3"], footer [data-id="bbc3bea"] { display: none !important; }
footer [data-id="5dfeb429"], footer [data-id="4ed8d499"] { width: 50% !important; }

@media (max-width: 1024px) and (min-width: 721px) {
  header[data-id="0ca10a0"] > .elementor-container {
    grid-template-columns: 142px minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  header[data-id="0ca10a0"] .elementor-column[data-id="bd2f76b"] {
    width: 142px !important;
    max-width: 142px !important;
  }
  header[data-id="0ca10a0"] .elementor-element-862b986,
  header[data-id="0ca10a0"] .elementor-element-862b986 .elementor-widget-container,
  header[data-id="0ca10a0"] .elementor-element-862b986 a,
  header[data-id="0ca10a0"] .elementor-element-862b986 img.sisal-brand-logo {
    width: 132px !important;
    max-width: 132px !important;
  }
  header[data-id="0ca10a0"] .e-n-menu-title-container { font-size: .72rem !important; padding-inline: 3px !important; }
  header[data-id="0ca10a0"] .e-n-menu-heading { gap: 4px !important; }
}

@media (max-width: 720px) {
  .sisal-brand-logo { width: min(150px, 44vw); max-width: 100%; max-height: 58px; }
  section[data-id="76652fb"] .elementor-element-c75c008,
  section[data-id="76652fb"] .elementor-element-c75c008 .elementor-widget-container,
  section[data-id="76652fb"] .elementor-element-c75c008 a,
  section[data-id="76652fb"] .elementor-element-c75c008 img.sisal-brand-logo {
    width: min(132px, 40vw) !important;
    max-width: min(132px, 40vw) !important;
    max-height: 52px !important;
    overflow: visible !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
  section[data-id="76652fb"] .menu-item-has-children[data-sisal-open="true"] > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .sisal-basket-table thead { display:none; }
  .sisal-basket-table tr { display:grid; padding:12px 0; }
  .sisal-basket-table td { border:0; padding:6px 0; }
  .woocommerce div.product table :is(th,td) { display:block; width:100% !important; }
  .sisal-floating-basket { right: 12px; bottom: 12px; }
  footer [data-id="5dfeb429"], footer [data-id="4ed8d499"] { width: 100% !important; }
  .sisal-checklist ul { columns:1; }
  .sisal-custom-header { align-items:flex-start; flex-direction:column; gap:12px; }
  .sisal-custom-header nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; font-size:.82rem; }
}

@media (max-width: 420px) {
  .sisal-floating-basket { padding: 10px; gap: 0; font-size: 0; bottom: max(10px, env(safe-area-inset-bottom)); }
  .sisal-floating-basket span { font-size: 12px; }
}

/* Replacement navigation. The cloned Elementor header is removed from the
   generated HTML, so there is only one logo and no inherited hover masks. */
.sisal-site-header {
  position: sticky;
  top: 0;
  z-index: 900000;
  width: 100%;
  overflow: visible;
  background: #071119;
  border-bottom: 2px solid var(--sisal-teal);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
.sisal-site-header__inner {
  position: relative;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  width: min(100%, 1500px);
  min-height: 70px;
  margin: 0 auto;
  padding: 8px clamp(18px, 3vw, 44px);
}
.sisal-site-brand,
.sisal-site-brand:hover,
.sisal-site-brand:focus {
  display: block;
  width: 180px;
  max-width: 100%;
  background: transparent !important;
}
.sisal-site-brand .sisal-brand-logo {
  display: block !important;
  width: 180px !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 52px !important;
  object-fit: contain;
  object-position: left center;
  filter: brightness(0) invert(1) !important;
}
.sisal-site-nav {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: clamp(2px, .55vw, 10px);
  min-width: 0;
}
.sisal-site-nav > a,
.sisal-site-nav-group > summary {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 46px;
  padding: 0 clamp(6px, .65vw, 12px);
  color: #70eee8 !important;
  background: transparent !important;
  font-size: clamp(.72rem, .75vw, .9rem);
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: none !important;
  cursor: pointer;
  list-style: none;
}
.sisal-site-nav-group > summary::-webkit-details-marker { display: none; }
.sisal-site-nav > a::before,
.sisal-site-nav > a::after,
.sisal-site-nav-group > summary::before,
.sisal-site-nav-group > summary::after,
.sisal-site-mega a::before,
.sisal-site-mega a::after {
  content: none !important;
  display: none !important;
}
.sisal-site-nav > a:hover,
.sisal-site-nav > a:focus-visible,
.sisal-site-nav-group[open] > summary,
.sisal-site-nav-group > summary:hover,
.sisal-site-nav-group > summary:focus-visible {
  color: #fff !important;
  background: #102432 !important;
}
.sisal-site-nav > a:focus-visible,
.sisal-site-nav-group > summary:focus-visible,
.sisal-site-mega a:focus-visible,
.sisal-site-menu-toggle:focus-visible {
  outline: 3px solid var(--sisal-teal);
  outline-offset: 2px;
}
.sisal-site-nav-group { position: static; }
.sisal-site-mega {
  position: absolute;
  top: 100%;
  right: clamp(18px, 3vw, 44px);
  left: clamp(18px, 3vw, 44px);
  display: none;
  gap: 30px;
  padding: 30px 34px 34px;
  color: #071119;
  background: #fff;
  border: 1px solid #cdd8dc;
  border-top: 3px solid var(--sisal-teal);
  box-shadow: 0 26px 70px rgba(0, 0, 0, .42);
}
.sisal-site-nav-group[open] > .sisal-site-mega { display: grid; }
.sisal-site-mega--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sisal-site-mega--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sisal-site-mega section {
  min-width: 0;
  margin: 0;
  padding: 0;
  background: #fff !important;
}
.sisal-site-mega h2 {
  margin: 0 0 13px;
  color: #133d61 !important;
  font-size: .76rem !important;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1.35;
  text-transform: uppercase;
}
.sisal-site-mega a {
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
  margin: 0 -8px 3px;
  padding: 8px;
  overflow: visible !important;
  color: #071119 !important;
  -webkit-text-fill-color: #071119 !important;
  background: transparent !important;
  background-image: none !important;
  font-size: .92rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none !important;
  text-shadow: none !important;
  filter: none !important;
  clip-path: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  transform: none !important;
}
.sisal-site-mega a:hover,
.sisal-site-mega a:focus-visible {
  color: #075f63 !important;
  -webkit-text-fill-color: #075f63 !important;
  background: #e9f5f5 !important;
}
.sisal-site-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 9px;
  justify-self: end;
  min-height: 44px;
  padding: 8px 12px;
  color: #fff !important;
  background: #102432 !important;
  border: 1px solid rgba(112, 238, 232, .5) !important;
  border-radius: 5px;
  font-weight: 800;
}

@media (max-width: 1100px) {
  .sisal-site-header__inner { grid-template-columns: minmax(0, 1fr) auto; min-height: 64px; }
  .sisal-site-brand { width: 160px; }
  .sisal-site-brand .sisal-brand-logo { width: 160px !important; max-height: 46px !important; }
  .sisal-site-menu-toggle { display: flex; }
  .sisal-site-nav {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    max-height: calc(100vh - 64px);
    padding: 12px 18px 22px;
    overflow-y: auto;
    flex-direction: column;
    align-items: stretch;
    background: #071119;
    border-top: 1px solid rgba(112, 238, 232, .32);
    box-shadow: 0 22px 42px rgba(0, 0, 0, .42);
  }
  .sisal-site-header[data-sisal-nav-open="true"] .sisal-site-nav { display: flex; }
  .sisal-site-nav > a,
  .sisal-site-nav-group > summary { justify-content: space-between; width: 100%; min-height: 48px; padding: 10px 12px; font-size: .96rem; }
  .sisal-site-mega {
    position: static;
    grid-template-columns: 1fr !important;
    gap: 22px;
    margin: 0 0 8px;
    padding: 22px;
    border-top-width: 2px;
    box-shadow: none;
  }
}

