/* v60 navigation, content hierarchy and responsive polish. */
:root {
  --v60-navy: #0f1729;
  --v60-orange: #e8542c;
  --v60-orange-dark: #cf4320;
  --v60-orange-soft: #fff1eb;
  --v60-warm: #f8f7f3;
  --v60-line: rgba(15, 23, 41, 0.11);
  --v60-shadow: 0 14px 38px rgba(15, 23, 41, 0.09);
}

/* Grout colour picker */
#page-shop .grout-colour-control{position:relative;margin:16px 0 8px}
#page-shop .grout-colour-trigger{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #c9d1dc;border-radius:16px;background:#fff;color:var(--v60-navy,#0f1729);text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}
#page-shop .grout-colour-trigger:hover,#page-shop .grout-colour-trigger:focus-visible{border-color:var(--v60-orange,#e8542c);background:#fff8f4;box-shadow:0 5px 16px rgba(15,23,41,.08);outline:none}
#page-shop .grout-colour-trigger-dot{width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:#e9edf2;border:2px solid #c6ccd5;box-shadow:inset 0 -3px 5px rgba(0,0,0,.12)}
#page-shop .grout-colour-trigger-text{display:flex;flex-direction:column;gap:2px;flex:1}
#page-shop .grout-colour-trigger-text strong{font-size:.84rem}
#page-shop .grout-colour-trigger-text small{font-size:.72rem;color:var(--v60-grey,#687386)}
#page-shop .grout-colour-trigger-chevron{font-size:1.1rem;color:var(--v60-grey,#687386)}
#page-shop .grout-colour-popover{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:60;background:#fff;border:1px solid #c9d1dc;border-radius:20px;padding:14px;box-shadow:0 18px 44px rgba(15,23,41,.18)}
#page-shop .grout-colour-popover[hidden]{display:none}
#page-shop .grout-colour-popover-head{display:flex;align-items:center;justify-content:space-between;font-size:.82rem}
#page-shop .grout-colour-popover-close{width:28px;height:28px;border:0;border-radius:50%;background:#f4f6f8;color:var(--v60-navy,#0f1729);font-size:1.15rem;line-height:1;cursor:pointer}
#page-shop .grout-popup-swatches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px;max-height:300px;overflow:auto;padding:2px}
#page-shop .grout-popup-swatches .sw{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;width:auto;height:auto;min-width:0;padding:4px 2px;border:2px solid transparent;border-radius:10px;background:transparent!important;box-shadow:none;transform:none;cursor:pointer;color:var(--v60-navy,#0f1729)}
#page-shop .grout-popup-swatches .sw:hover{transform:none;background:#fff8f4!important}
#page-shop .grout-popup-swatches .sw.selected{border-color:var(--v60-orange,#e8542c);transform:none;background:#fff8f4!important}
#page-shop .grout-popup-swatches .sw-dot{display:block;width:28px;height:28px;border-radius:50%;background:var(--swatch-color);border:2px solid rgba(15,23,41,.12);box-shadow:inset 0 -3px 5px rgba(0,0,0,.14)}
#page-shop .grout-popup-swatches .sw-name{font-size:.62rem;line-height:1.1;text-align:center;color:var(--v60-navy,#0f1729)}
#page-shop .selected-colour-label{font-size:.68rem;color:var(--v60-grey,#687386);margin-top:5px}
@media (max-width:560px){#page-shop .grout-colour-popover{position:fixed;left:12px;right:12px;top:50%;transform:translateY(-50%);max-height:min(78vh,560px);overflow:auto}#page-shop .grout-popup-swatches{max-height:none;grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Desktop picker must use the whole viewport, never a narrow card column. */
@media (min-width:561px){
  body:has(.grout-colour-popover.is-open){overflow:hidden}
  body:has(.grout-colour-popover.is-open)::before{content:"";position:fixed;inset:0;z-index:99998;background:rgba(15,23,41,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .grout-colour-popover.is-open{z-index:99999}
  .grout-colour-popover.is-open .grout-popup-swatches{display:grid}
  #page-shop .grout-colour-popover{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-height:none!important;overflow:auto!important;margin:0!important;left:0!important;right:0!important;top:0!important;border-radius:0!important;padding:clamp(80px,10vh,130px) clamp(28px,8vw,140px) 70px!important;background:rgba(248,247,243,.98)!important;box-shadow:none!important}
  #page-shop .grout-colour-popover-head{max-width:1120px;margin:0 auto 28px;padding-bottom:18px;border-bottom:1px solid rgba(15,23,41,.12);font-size:clamp(1.05rem,1.8vw,1.35rem)}
  #page-shop .grout-popup-swatches{max-width:1120px;margin:0 auto;grid-template-columns:repeat(8,minmax(92px,1fr));gap:18px;max-height:none!important;overflow:visible!important}
  #page-shop .grout-popup-swatches .sw{padding:12px 8px;gap:9px;border-radius:16px;background:#fff!important;border:1px solid rgba(15,23,41,.12);box-shadow:0 5px 16px rgba(15,23,41,.06)}
  #page-shop .grout-popup-swatches .sw-dot{width:56px;height:56px}
  #page-shop .grout-popup-swatches .sw-name{font-size:.76rem;line-height:1.2;max-width:100px}
}

/* The desktop picker is moved to body while open; keep its full-screen styles
   independent of the original shop-card parent selector. */
@media (min-width:561px){
  body > .grout-colour-popover{position:fixed!important;inset:0!important;z-index:99999!important;width:100vw!important;height:100vh!important;display:block!important;overflow:auto!important;padding:clamp(80px,10vh,130px) clamp(28px,8vw,140px) 70px!important;background:rgba(248,247,243,.98)!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  body > .grout-colour-popover[hidden]{display:none!important}
  body > .grout-colour-popover .grout-colour-popover-head{position:relative;max-width:1120px;margin:0 auto 28px;padding-bottom:18px;border-bottom:1px solid rgba(15,23,41,.12);display:flex;align-items:center;justify-content:space-between;font-size:clamp(1.05rem,1.8vw,1.35rem)}
  body > .grout-colour-popover .grout-colour-popover-close{width:42px;height:42px;font-size:1.5rem;background:#fff;border:1px solid #c9d1dc;box-shadow:0 5px 15px rgba(15,23,41,.08)}
  body > .grout-colour-popover .grout-popup-swatches{position:relative;display:grid;max-width:1120px;margin:0 auto;grid-template-columns:repeat(8,minmax(92px,1fr));gap:18px;max-height:none!important;overflow:visible!important;padding:4px}
  body > .grout-colour-popover .grout-popup-swatches .sw{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:9px;min-width:0;width:auto;height:auto;padding:12px 8px;border-radius:16px;background:#fff!important;border:1px solid rgba(15,23,41,.12);box-shadow:0 5px 16px rgba(15,23,41,.06);transform:none}
  body > .grout-colour-popover .grout-popup-swatches .sw:hover,body > .grout-colour-popover .grout-popup-swatches .sw.selected{transform:translateY(-3px);border-color:var(--v60-orange,#e8542c);background:#fff8f4!important;box-shadow:0 10px 22px rgba(232,84,44,.15)}
  body > .grout-colour-popover .grout-popup-swatches .sw-dot{display:block;width:56px;height:56px;border-radius:50%;background:var(--swatch-color);border:2px solid rgba(15,23,41,.12);box-shadow:inset 0 -3px 5px rgba(0,0,0,.14)}
body > .grout-colour-popover .grout-popup-swatches .sw-name{font-size:.76rem;line-height:1.2;max-width:100px;text-align:center;color:var(--v60-navy,#0f1729)}
}

/* Mobile colour picker after JavaScript moves it directly under body. */
@media (max-width:560px){
  body.grout-picker-open{overflow:hidden!important;touch-action:none}
  body.grout-picker-open::before{content:"";position:fixed;inset:0;z-index:99998;background:rgba(15,23,41,.42);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
  body > .grout-colour-popover{position:fixed!important;left:12px!important;right:12px!important;top:50%!important;bottom:auto!important;z-index:99999!important;width:auto!important;max-width:none!important;max-height:min(82dvh,620px)!important;margin:0!important;padding:16px!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;transform:translateY(-50%)!important;background:#fff!important;border:1px solid #c9d1dc!important;border-radius:22px!important;box-shadow:0 28px 70px rgba(15,23,41,.32)!important;color:var(--v60-navy,#0f1729)!important;overscroll-behavior:contain;touch-action:pan-y}
  body > .grout-colour-popover[hidden]{display:none!important}
  body > .grout-colour-popover .grout-colour-popover-head{display:flex!important;align-items:center!important;justify-content:space-between!important;flex:0 0 auto!important;padding:0 0 12px!important;border-bottom:1px solid rgba(15,23,41,.12)!important;font-size:.95rem!important}
  body > .grout-colour-popover .grout-colour-popover-close{width:38px!important;height:38px!important;flex:0 0 38px!important;border:1px solid #d7dce3!important;border-radius:50%!important;background:#f4f6f8!important;color:var(--v60-navy,#0f1729)!important;font-size:1.35rem!important;touch-action:manipulation}
  body > .grout-colour-popover .grout-popup-swatches{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;min-height:0!important;max-height:none!important;margin:12px 0 0!important;padding:2px 2px 10px!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-y!important}
  body > .grout-colour-popover .grout-popup-swatches .sw{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;min-width:0!important;min-height:72px!important;width:auto!important;height:auto!important;padding:8px 3px!important;border:1px solid rgba(15,23,41,.12)!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important;color:var(--v60-navy,#0f1729)!important;cursor:pointer!important;transform:none!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent}
  body > .grout-colour-popover .grout-popup-swatches .sw:active,body > .grout-colour-popover .grout-popup-swatches .sw.selected{border-color:var(--v60-orange,#e8542c)!important;background:#fff8f4!important}
  body > .grout-colour-popover .grout-popup-swatches .sw-dot{display:block!important;width:34px!important;height:34px!important;flex:0 0 34px!important;border-radius:50%!important;background:var(--swatch-color)!important;border:2px solid rgba(15,23,41,.12)!important;box-shadow:inset 0 -3px 5px rgba(0,0,0,.14)!important;pointer-events:none!important}
  body > .grout-colour-popover .grout-popup-swatches .sw-name{display:block!important;max-width:100%!important;font-size:.62rem!important;line-height:1.12!important;text-align:center!important;color:var(--v60-navy,#0f1729)!important;pointer-events:none!important}
}

/* Cart table: remove the accidental dark header strip. */
#page-cart .cart-table-wrap,
#page-cart .cart-table-wrap table,
#page-cart .cart-table-wrap thead,
#page-cart .cart-table-wrap tbody{background:#fff!important}
#page-cart .cart-table-wrap thead{color:var(--v60-navy,#0f1729)!important}
#page-cart .cart-table-wrap th{background:#fff!important;color:var(--v60-navy,#0f1729)!important;border-top:0!important;box-shadow:none!important}
#page-cart .cart-table thead{display:none!important}

/* Desktop: give the picker enough breathing room for readable shade labels. */
@media (min-width:561px){
  #page-shop .grout-colour-popover{position:fixed;inset:0;left:0;right:0;top:0;width:100vw;height:100vh;max-height:none;overflow:auto;z-index:100000;border:0;border-radius:0;padding:clamp(80px,10vh,130px) clamp(28px,8vw,140px) 70px;background:rgba(248,247,243,.98);box-shadow:none}
  #page-shop .grout-colour-popover::before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% 0%,rgba(232,84,44,.08),transparent 42%);pointer-events:none}
  #page-shop .grout-colour-popover-head{position:relative;max-width:1120px;margin:0 auto 28px;font-size:clamp(1.05rem,1.8vw,1.35rem);padding-bottom:18px;border-bottom:1px solid rgba(15,23,41,.12)}
  #page-shop .grout-colour-popover-close{width:42px;height:42px;font-size:1.5rem;background:#fff;border:1px solid #c9d1dc;box-shadow:0 5px 15px rgba(15,23,41,.08)}
  #page-shop .grout-popup-swatches{position:relative;max-width:1120px;margin:0 auto;grid-template-columns:repeat(8,minmax(92px,1fr));gap:18px;max-height:none;overflow:visible;padding:4px}
  #page-shop .grout-popup-swatches .sw{padding:12px 8px;gap:9px;border-radius:16px;background:#fff!important;border:1px solid rgba(15,23,41,.12);box-shadow:0 5px 16px rgba(15,23,41,.06);transition:border-color .2s,box-shadow .2s,transform .2s}
  #page-shop .grout-popup-swatches .sw:hover,#page-shop .grout-popup-swatches .sw.selected{transform:translateY(-3px);border-color:var(--v60-orange,#e8542c);background:#fff8f4!important;box-shadow:0 10px 22px rgba(232,84,44,.15)}
  #page-shop .grout-popup-swatches .sw-dot{width:56px;height:56px}
  #page-shop .grout-popup-swatches .sw-name{font-size:.76rem;line-height:1.2;max-width:100px}
  #page-shop #shopcard-grout{overflow:visible}
  #page-shop #shopcard-grout .body{position:relative;overflow:visible}
  #page-shop .grout-colour-popover{left:-10px;right:-10px;width:auto;padding:18px 20px;border-radius:22px}
  #page-shop .grout-popup-swatches{grid-template-columns:repeat(6,minmax(74px,1fr));gap:14px;max-height:360px}
  #page-shop .grout-popup-swatches .sw{padding:7px 4px;gap:7px;border-radius:12px}
  #page-shop .grout-popup-swatches .sw-dot{width:38px;height:38px}
  #page-shop .grout-popup-swatches .sw-name{font-size:.7rem;line-height:1.2;max-width:76px}
}

/* Review summary should float directly on the section, without a card shell. */
body .ltg-home-modern .rs-summary,
body #reviews .rs-summary {
  width:auto !important;
  max-width:none !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* Mobile stability pass for navigation and dense homepage sections. */
@media (max-width: 900px) {
  header #navlinks.mobile-open .nav-dropdown-menu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
  }
  header #navlinks.mobile-open .nav-dropdown.open .nav-dropdown-menu {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  header #navlinks.mobile-open .nav-dropdown.open .nav-dd-caret {
    transform: rotate(180deg) !important;
  }
  header #navlinks.mobile-open .nav-dropdown-menu a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(15,23,41,.10) !important;
    background: #fff !important;
    color: var(--v60-navy) !important;
    -webkit-text-fill-color: var(--v60-navy) !important;
    opacity: 1 !important;
  }
  header #navlinks.mobile-open .navlinks-shop-mobile,
  header #navlinks.mobile-open .navlinks-shop-mobile:link,
  header #navlinks.mobile-open .navlinks-shop-mobile:visited {
    background: var(--v60-navy) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
  }
  header #navlinks.mobile-open .navlinks-contact-mobile,
  header #navlinks.mobile-open .navlinks-contact-mobile:link,
  header #navlinks.mobile-open .navlinks-contact-mobile:visited {
    background: var(--v60-orange) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
  }
  #page-home .hero .hero-actions .btn-shop,
  #page-home .hero .hero-actions .btn-shop:link,
  #page-home .hero .hero-actions .btn-shop:visited {
    opacity: 1 !important;
    background: #fff !important;
    color: var(--v60-navy) !important;
    -webkit-text-fill-color: var(--v60-navy) !important;
    border: 1px solid rgba(15,23,41,.16) !important;
  }
  #page-home .hero .hero-badges {
    width: 100% !important;
    max-width: none !important;
    justify-content: flex-start !important;
    gap: 8px 12px !important;
  }
  #page-home .hero .hero-product-stage { min-height: 300px !important; }
  #page-home .hero .hero-selector,
  #page-home .hero .hero-rail {
    width: calc(100% - 16px) !important;
    margin-inline: 8px !important;
  }
  #page-home .facility-row { display: block !important; }
  #page-home .facility-row .facility-quote,
  #page-home .facility-quote {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 22px 0 0 !important;
    padding: 20px !important;
    text-align: left !important;
    background: #fff7f3 !important;
    border: 1px solid rgba(232,84,44,.22) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
  }
  #page-home .facility-row .facility-quote .fq-mark,
  #page-home .facility-quote .fq-mark {
    position: static !important;
    display: block !important;
    margin-bottom: 4px !important;
    font-size: 2rem !important;
    line-height: 1 !important;
  }
  #page-home .facility-row .facility-quote p,
  #page-home .facility-quote p {
    margin: 0 !important;
    color: var(--v60-navy) !important;
    font-size: .98rem !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }
  .ltg-home-modern .obj-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    background: transparent !important;
  }
  .ltg-home-modern .obj-grid .obj-card {
    display: grid !important;
    grid-template-columns: 52px minmax(0,1fr) !important;
    grid-template-areas: "icon title" "icon copy" !important;
    column-gap: 14px !important;
    align-items: start !important;
    min-height: 0 !important;
    padding: 18px !important;
  }
  .ltg-home-modern .obj-grid .obj-card-icon { grid-area: icon !important; margin: 0 !important; }
  .ltg-home-modern .obj-grid .obj-card h4 {
    grid-area: title !important;
    min-width: 0 !important;
    margin: 2px 0 5px !important;
    overflow-wrap: anywhere !important;
  }
  .ltg-home-modern .obj-grid .obj-card p {
    grid-area: copy !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow-wrap: anywhere !important;
  }
}

/* ================================================================
   Site-wide motion polish
   Progressive enhancement only: content stays visible if JavaScript is off.
   ================================================================ */
html.v60-motion-ready .v60-motion-item {
  opacity: 0;
  transform: translate3d(0, 24px, 0) scale(.985);
  filter: blur(3px);
  transition:
    opacity 680ms cubic-bezier(.22, 1, .36, 1),
    transform 760ms cubic-bezier(.22, 1, .36, 1),
    filter 560ms ease;
  transition-delay: var(--v60-motion-delay, 0ms);
  will-change: opacity, transform, filter;
}

html.v60-motion-ready .v60-motion-item[data-v60-motion="left"] {
  transform: translate3d(-28px, 16px, 0) scale(.99);
}

html.v60-motion-ready .v60-motion-item[data-v60-motion="right"] {
  transform: translate3d(28px, 16px, 0) scale(.99);
}

html.v60-motion-ready .v60-motion-item.v60-motion-in {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  will-change: auto;
}

html.v60-motion-ready body.app-loaded header nav {
  animation: v60HeaderSettle 620ms cubic-bezier(.22, 1, .36, 1) both;
}

html.v60-motion-ready body.app-loaded :is(
  .page-hero-bar-label,
  .shop-hero .tag-pill,
  .contact-page-hero .tag-pill,
  .admin-hub-head .tag-pill
) {
  animation: v60LabelSettle 680ms cubic-bezier(.22, 1, .36, 1) 90ms both;
}

html.v60-motion-ready .prod-panel.active {
  animation: v60ProductPanelIn 520ms cubic-bezier(.22, 1, .36, 1) both;
}

html.v60-motion-ready .prod-panel.active .prod-bag img {
  animation: v60ProductBagIn 680ms cubic-bezier(.22, 1, .36, 1) 60ms both;
}

html.v60-motion-ready .hero-main-bag .bag-slide.is-active {
  animation: v60HeroProductIn 760ms cubic-bezier(.22, 1, .36, 1) both;
}

@media (hover: hover) and (pointer: fine) {
  body :is(
    .admin-hub-card,
    .shop-card,
    .contact-card,
    .store-card,
    .order-card,
    .payment-card,
    .rs-card
  ) {
    transition:
      transform 280ms cubic-bezier(.22, 1, .36, 1),
      border-color 240ms ease,
      box-shadow 280ms ease !important;
  }

  body :is(
    .admin-hub-card,
    .shop-card,
    .contact-card,
    .store-card,
    .order-card,
    .payment-card,
    .rs-card
  ):hover {
    transform: translate3d(0, -5px, 0);
  }

  body :is(.btn,.nav-cta,.shop-add,.auth-submit-btn,.place-order-btn,.hero-prod-opt):active {
    transform: translate3d(0, 1px, 0) scale(.985) !important;
    transition-duration: 90ms !important;
  }
}

@keyframes v60HeaderSettle {
  from { opacity: 0; transform: translate3d(0, -12px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes v60LabelSettle {
  from { opacity: 0; transform: translate3d(0, 16px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes v60ProductPanelIn {
  from { opacity: 0; transform: translate3d(0, 14px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes v60ProductBagIn {
  from { opacity: 0; transform: translate3d(0, 18px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes v60HeroProductIn {
  from { opacity: 0; transform: translate3d(0, 12px, 0) scale(.96); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@media (max-width: 760px) {
  html.v60-motion-ready .v60-motion-item,
  html.v60-motion-ready .v60-motion-item[data-v60-motion="left"],
  html.v60-motion-ready .v60-motion-item[data-v60-motion="right"] {
    transform: translate3d(0, 16px, 0) scale(.99);
    filter: none;
    transition-duration: 520ms;
  }

  html.v60-motion-ready .v60-motion-item.v60-motion-in {
    transform: translate3d(0, 0, 0) scale(1);
  }
}

/* The navbar already provides the Shop action; remove the redundant floating CTA site-wide. */
html body #floatShopBtn,
html body #floatShopBtn.show {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html .v60-motion-item,
  html .v60-motion-item.v60-motion-in {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
  }

  html body.app-loaded header nav,
  html .prod-panel.active,
  html .prod-panel.active .prod-bag img,
  html .hero-main-bag .bag-slide.is-active {
    animation: none !important;
  }
}

/* ========================================================================
   Shared site shell — approved Contact/Shop navigation and floating actions
   ======================================================================== */
html body header,
html body header.header-hide,
html body header.header-show{
  position:fixed!important;
  inset:0 0 auto!important;
  width:100%!important;
  min-height:75px!important;
  margin:0!important;
  transform:none!important;
  translate:none!important;
  background:rgba(255,255,255,.97)!important;
  border-top:3px solid #ef512c!important;
  border-bottom:1px solid #e3e5e8!important;
  box-shadow:0 8px 24px rgba(17,24,39,.07)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  z-index:1000!important;
}
html body header nav{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  height:72px!important;
  min-height:72px!important;
  margin:auto!important;
  padding:0!important;
}
html body header .brand{color:#111827!important;font-family:var(--font-head)!important;font-weight:700!important}
html body header .brand img{width:35px!important;height:44px!important;object-fit:contain!important}
html body header .brand .sub{color:#7d8594!important}
html body header .navlinks{gap:4px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
html body header .navlinks>a,
html body header .nav-dropdown-trigger{
  min-width:0!important;
  min-height:40px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  margin:0!important;
  padding:10px 12px!important;
  color:#3f4757!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  line-height:20px!important;
  white-space:nowrap!important;
  transition:color .2s ease!important;
}
html body header .navlinks>a:hover,
html body header .nav-dropdown-trigger:hover,
html body header .navlinks>a.active,
html body header .nav-dropdown-trigger.active{
  margin:0!important;
  padding:10px 12px!important;
  color:#ef512c!important;
  background:transparent!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
}
html body header .navlinks>a:hover::before,
html body header .nav-dropdown-trigger:hover::before{transform:none!important}
html body header .nav-dd-caret{
  width:6px!important;
  height:6px!important;
  flex:0 0 6px!important;
  display:inline-block!important;
  margin:-3px 0 0!important;
  overflow:hidden!important;
  border:0!important;
  border-right:1.5px solid currentColor!important;
  border-bottom:1.5px solid currentColor!important;
  background:none!important;
  font-size:0!important;
  line-height:0!important;
  opacity:.8!important;
  transform:rotate(45deg)!important;
  transition:transform .2s ease!important;
}
html body header .nav-dropdown.open .nav-dd-caret,
html body header .nav-dropdown-trigger[aria-expanded="true"] .nav-dd-caret{transform:rotate(225deg) translate(-2px,-2px)!important}
html body header .navlinks>a.active::after,
html body header .nav-dropdown-trigger.active::after{height:2px!important;background:#ef512c!important}
html body header .nav-dropdown-menu{top:calc(100% + 14px)!important;min-width:190px!important;padding:8px!important;border:1px solid #e3e5e8!important;border-radius:12px!important;background:#fff!important;box-shadow:0 18px 46px rgba(17,24,39,.12)!important}
html body header .nav-dropdown-menu a{border:0!important;border-radius:8px!important;color:#111827!important}
html body header .nav-dropdown-menu a:hover{color:#df4521!important;background:#fff4ef!important}
html body header :is(.profile-icon-btn,.cart-icon-wrap,.nav-ref-btn){border:1px solid #e3e5e8!important;background:#fff!important;color:#111827!important;box-shadow:none!important}
html body header .nav-shop-btn{border:1px solid #f3b39f!important;background:#fff7f3!important;color:#df4521!important;box-shadow:none!important}
html body header .nav-cta{border-radius:8px!important;background:#ef512c!important;box-shadow:0 12px 25px rgba(239,81,44,.20)!important}
html body #site{padding-top:75px!important}

/* One floating-action design across every page. */
html body #floatShopBtn,
html body #floatShopBtn.show,
html body #floatRefBtn,
html body #floatRefBtn.show{
  position:fixed!important;
  right:22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:46px!important;
  padding:12px 19px!important;
  border-radius:10px!important;
  font-family:var(--font-body)!important;
  font-size:.84rem!important;
  font-weight:700!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease!important;
  z-index:800!important;
}
html body #floatShopBtn,
html body #floatShopBtn.show{bottom:18px!important;border:1px solid #ef512c!important;background:#ef512c!important;color:#fff!important;box-shadow:0 14px 35px rgba(239,81,44,.28)!important;opacity:1!important;visibility:visible!important;transform:none!important}
html body #floatShopBtn:hover{background:#df4521!important;transform:translateY(-2px)!important;box-shadow:0 18px 38px rgba(239,81,44,.34)!important}
html body #floatRefBtn{bottom:76px!important;border:1px solid #e3e5e8!important;background:#fff!important;color:#111827!important;box-shadow:0 14px 35px rgba(17,24,39,.14)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(8px)!important}
html body #floatRefBtn.show{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
html body #floatRefBtn:hover{color:#df4521!important;border-color:#f3b39f!important;transform:translateY(-2px)!important;box-shadow:0 18px 38px rgba(17,24,39,.18)!important}
html body :is(#floatShopBtn,#floatRefBtn) svg{width:16px!important;height:16px!important;flex:0 0 16px!important}

/* Home and the management pages used to apply a later, wider header theme.
   This selector has matching page-theme specificity so the approved shell is
   geometrically identical everywhere. */
html body.ltg-home-modern header nav,
html body:not(.ltg-home-modern) header nav,
html body header.header-shrink nav{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  height:72px!important;
  min-height:72px!important;
  margin:0 auto!important;
  padding:0!important;
  gap:22px!important;
}
html body.ltg-home-modern header,
html body:not(.ltg-home-modern) header,
html body header.header-shrink{
  min-height:75px!important;
}

@media (max-width:760px){
  html body header nav,
  html body.ltg-home-modern header nav,
  html body:not(.ltg-home-modern) header nav,
  html body header.header-shrink nav{width:calc(100% - 20px)!important;max-width:none!important;height:66px!important;min-height:66px!important;padding:0!important}
  html body header .brand img{width:31px!important;height:38px!important}
  html body header .navlinks{top:65px!important;left:0!important;right:0!important;width:100%!important;padding:12px!important;border:1px solid #e3e5e8!important;border-radius:0 0 16px 16px!important;background:#fff!important;box-shadow:0 22px 40px rgba(17,24,39,.15)!important}
  html body header .navlinks>a,
  html body header .nav-dropdown-trigger{min-height:48px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:0 10px!important}
  html body header .navlinks>a:hover,
  html body header .nav-dropdown-trigger:hover{padding:0 10px!important}
  html body header .navlinks>a.active::after,
  html body header .nav-dropdown-trigger.active::after{display:none!important}
  html body header .navburger{border:1px solid #f1b09b!important;border-radius:10px!important;background:#fff7f3!important}
  html body #site{padding-top:69px!important}
  html body #floatShopBtn,
  html body #floatShopBtn.show{right:12px!important;bottom:10px!important}
  html body #floatRefBtn,
  html body #floatRefBtn.show{right:12px!important;bottom:66px!important}
}

/* Navbar SHOP is the only Shop CTA; suppress the redundant floating control. */
html body #floatShopBtn,
html body #floatShopBtn.show { display:none !important; }

/* Ref dashboard: keep the complete heading below the sticky navigation. */
body #page-admin .admin-hub {
  padding-top: 190px !important;
}

body #page-admin .admin-hub-head .tag-pill {
  position: static !important;
  transform: none !important;
  margin: 0 0 16px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #e8542c !important;
}

/* Record Payment: make the filter and ref selector clear and stable. */
body #page-payment .payment-filter-toggle {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  width: auto;
  margin: 2px 0 10px;
  padding: 9px 13px;
  border: 1px solid #cbd3dd;
  border-radius: 12px;
  background: #fff;
  color: #162033;
  font-family: var(--font-body);
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
}

body #page-payment .payment-filter-toggle input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: #e8542c;
}

body #page-payment .payment-ref-name-row,
body #page-payment .payment-ref-name-row select {
  width: 100%;
}

body #page-payment .payment-ref-name-row select {
  flex: 1 1 100%;
  min-width: 0;
}

body #page-payment .payment-order-card {
  border: 1px solid #cbd3dd;
  border-radius: 14px;
  padding: 12px 14px;
  margin-bottom: 9px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(15, 23, 41, .05);
}

body #page-payment .payment-order-card:not(.is-paid) {
  cursor: pointer;
}

body #page-payment .payment-order-card:not(.is-paid):hover {
  border-color: #e8542c;
  background: #fff9f6;
}

body #page-payment .payment-order-card.is-paid {
  opacity: .7;
}

/* Repair the legacy customer-list bullet without depending on the
   mis-encoded character stored in the original minified stylesheet. */
body .customer-cols div::before {
  content: "\25CF" !important;
}

/* Give every management tool a distinct, restrained operational colour. */
body #page-admin .admin-hub-card {
  --tool-color: #e8542c;
  --tool-rgb: 232, 84, 44;
  border-color: rgba(var(--tool-rgb), 0.2) !important;
  background: linear-gradient(145deg, rgba(var(--tool-rgb), 0.055), #fff 38%) !important;
}

body #page-admin .admin-hub-card.ahc-orders { --tool-color:#2563eb; --tool-rgb:37,99,235; }
body #page-admin .admin-hub-card.ahc-payment { --tool-color:#16a36a; --tool-rgb:22,163,106; }
body #page-admin .admin-hub-card.ahc-stores { --tool-color:#7c3aed; --tool-rgb:124,58,237; }
body #page-admin .admin-hub-card.ahc-reviews { --tool-color:#e49a0a; --tool-rgb:228,154,10; }
body #page-admin .admin-hub-card.ahc-byref { --tool-color:#0891b2; --tool-rgb:8,145,178; }
body #page-admin .admin-hub-card.ahc-cancel { --tool-color:#dc3f4d; --tool-rgb:220,63,77; }

body #page-admin .admin-hub-card .ahc-icon {
  color: #fff !important;
  background: var(--tool-color) !important;
  box-shadow: 0 10px 24px rgba(var(--tool-rgb), 0.28) !important;
}

body #page-admin .admin-hub-card .ahc-go {
  color: var(--tool-color) !important;
}

body #page-admin .admin-hub-card:hover {
  border-color: rgba(var(--tool-rgb), 0.46) !important;
  box-shadow: 0 20px 42px rgba(var(--tool-rgb), 0.15) !important;
}

/* Keep the company photo manager in the same card system as the other Ref tools. */
body #page-admin a.admin-hub-card.ahc-company-photos {
  text-decoration: none;
  color: inherit;
}
body #page-admin a.admin-hub-card.ahc-company-photos .ahc-icon {
  background: var(--tool-color, #e8542c) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(239, 81, 44, .24) !important;
}

@media (max-width: 900px) {
  body #page-admin .admin-hub {
    padding-top: 130px !important;
  }
}
@media (max-width: 430px) {
  #page-home .hero .hero-rail {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    padding: 10px !important;
  }
  #page-home .hero .hr-item { min-height: 132px !important; padding: 12px 8px !important; }
}

/* Professional contact page: image-led layout with plain, readable details. */
#page-contact .contact-professional{padding:76px 0 90px!important;background:#fff!important}
#page-contact .contact-professional-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(42px,6vw,82px);align-items:center}
#page-contact .contact-feature-image{position:relative;min-height:580px;margin:0;overflow:hidden;border-radius:30px;background:#e9e4dc;box-shadow:0 22px 50px rgba(15,23,41,.14)}
#page-contact .contact-feature-image img{width:100%;height:100%;min-height:580px;display:block;object-fit:cover}
#page-contact .contact-feature-image figcaption{position:absolute;left:22px;bottom:20px;padding:9px 13px;border-radius:12px;background:rgba(15,23,41,.82);color:#fff;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(8px)}
#page-contact .contact-details{max-width:560px}
#page-contact .contact-kicker{margin:0 0 12px;color:#e8542c;font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
#page-contact .contact-details h2{margin:0 0 16px;color:#0f1729;font-family:var(--font-head);font-size:clamp(2rem,3.2vw,3rem);letter-spacing:-.035em;line-height:1.05}
#page-contact .contact-intro{max-width:52ch;margin:0 0 34px;color:#5b6472;font-size:1rem;line-height:1.7}
#page-contact .contact-detail-list{margin:0;border-top:1px solid #cbd1da}
#page-contact .contact-detail-list>div{display:grid;grid-template-columns:minmax(135px,.78fr) minmax(0,1.22fr);gap:24px;padding:18px 0;border-bottom:1px solid #cbd1da}
#page-contact .contact-detail-list dt{color:#747d8d;font-family:var(--font-mono);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
#page-contact .contact-detail-list dd{margin:0;color:#0f1729;font-weight:650;line-height:1.55}
#page-contact .contact-detail-list a{color:inherit;text-decoration:none}
#page-contact .contact-detail-list a:hover,#page-contact .contact-detail-list a:focus-visible{color:#e8542c}
#page-contact .contact-actions{display:flex;align-items:center;gap:22px;margin-top:30px}
#page-contact .contact-primary-action{padding:14px 22px!important;border:1px solid #e8542c!important;background:#e8542c!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 10px 24px rgba(232,84,44,.22)}
#page-contact .contact-text-action,#page-contact .contact-social-link{color:#0f1729;font-weight:700;text-decoration-color:rgba(15,23,41,.35);text-underline-offset:5px}
#page-contact .contact-text-action:hover,#page-contact .contact-social-link:hover{color:#e8542c}
#page-contact .contact-social-link{display:inline-block;margin-top:28px;font-size:.86rem}
@media(max-width:900px){#page-contact .contact-professional-grid{grid-template-columns:1fr}#page-contact .contact-feature-image,#page-contact .contact-feature-image img{min-height:clamp(340px,60vw,520px)}#page-contact .contact-details{max-width:none}}
@media(max-width:560px){#page-contact .contact-professional{padding:44px 0 64px!important}#page-contact .contact-feature-image{border-radius:24px}#page-contact .contact-detail-list>div{grid-template-columns:1fr;gap:7px;padding:16px 0}#page-contact .contact-actions{align-items:stretch;flex-direction:column;gap:16px}#page-contact .contact-primary-action,#page-contact .contact-text-action{width:100%;text-align:center}}

/* Hero product tray: keep the first tile clear of the tray's outer curve. */
.hero .hero-range {
  box-sizing: border-box !important;
  padding: 12px !important;
  gap: 8px !important;
}

.hero .hero-range .hr-item,
.hero .hero-range .hr-item:first-child,
.hero .hero-range .hr-item:last-child {
  box-sizing: border-box !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  border-radius: 18px !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  background: rgba(255,255,255,.56) !important;
  box-shadow: none !important;
}

.hero .hero-range .hr-item.is-active,
.hero .hero-range .hr-item[aria-selected="true"] {
  border: 2px solid #0f1729 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 8px 18px rgba(15,23,41,.1) !important;
}

/* Existing company mark in the quiet upper-left part of the hero. */
.hero-corner-logo {
  position: absolute;
  z-index: 5;
  top: 112px;
  left: clamp(42px, 5vw, 96px);
  width: 146px;
  height: 146px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 30px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 14px 34px rgba(15,23,41,.08);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.hero-corner-logo img {
  width: 126px;
  height: 126px;
  object-fit: contain;
  border-radius: 20px;
  display: block;
  filter: drop-shadow(0 7px 10px rgba(15,23,41,.16));
}

@media (max-width: 1500px) {
  .hero-corner-logo {
    left: 24px;
    width: 112px;
    height: 112px;
    border-radius: 25px;
  }

  .hero-corner-logo img {
    width: 96px;
    height: 96px;
    border-radius: 17px;
  }
}

@media (max-width: 1180px) {
  .hero-corner-logo {
    display: none;
  }
}

/* Heritage-style labels used by the product pages and homepage hero. */
#page-adhesive .page-hero-bar-label,
#page-grout .page-hero-bar-label,
.ltg-home-modern .hero-copy .eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: fit-content !important;
  padding: 8px 15px !important;
  border: 1px solid rgba(188, 135, 28, 0.68) !important;
  border-radius: 999px !important;
  background: #0f1729 !important;
  color: #d6a638 !important;
  -webkit-text-fill-color: #d6a638 !important;
  box-shadow: 0 8px 20px rgba(15, 23, 41, 0.16) !important;
  font-family: var(--font-mono) !important;
  font-size: 0.69rem !important;
  font-weight: 700 !important;
  letter-spacing: 2.1px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#page-adhesive .page-hero-bar-label::before,
#page-grout .page-hero-bar-label::before,
.ltg-home-modern .hero-copy .eyebrow::before {
  content: "" !important;
  display: block !important;
  width: 6px !important;
  height: 6px !important;
  flex: 0 0 6px !important;
  border-radius: 50% !important;
  background: var(--v60-orange) !important;
  box-shadow: 0 0 0 3px rgba(232, 84, 44, 0.10) !important;
}

/* Product-range choices: identifiable at rest, clearly highlighted on interaction. */
.ltg-home-modern .home-products .home-prod-card {
  border: 2px solid rgba(15, 23, 41, 0.26) !important;
  box-shadow: 0 12px 30px rgba(15, 23, 41, 0.11) !important;
  transition: transform 240ms ease,
              border-color 240ms ease,
              box-shadow 240ms ease !important;
}

.ltg-home-modern .home-products .home-prod-card:hover {
  border-color: var(--v60-orange) !important;
  box-shadow: 0 22px 48px rgba(232, 84, 44, 0.24),
              0 0 0 3px rgba(232, 84, 44, 0.16) !important;
  transform: translateY(-6px) !important;
}

.ltg-home-modern .home-products .home-prod-card:focus-visible {
  outline: 3px solid rgba(232, 84, 44, 0.34) !important;
  outline-offset: 4px;
  border-color: var(--v60-orange) !important;
}

/* Kadawatha plant gallery: editorial header and a more deliberate image rhythm. */
.ltg-home-modern #company .section-head:has(+ #plantGallery) {
  max-width: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  grid-template-rows: auto auto;
  column-gap: 64px;
  align-items: end;
  margin: 64px 0 34px !important;
  padding: 0 0 28px !important;
  border-bottom: 1px solid rgba(15, 23, 41, 0.14);
}

.ltg-home-modern #company .section-head:has(+ #plantGallery) .tag-pill,
.ltg-home-modern #company .section-head:has(+ #plantGallery) h2 {
  grid-column: 1;
  justify-self: start;
}

.ltg-home-modern #company .section-head:has(+ #plantGallery) h2 {
  margin-bottom: 0 !important;
  font-size: clamp(2.45rem, 4vw, 4rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
}

.ltg-home-modern #company .section-head:has(+ #plantGallery) p {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  max-width: 42ch;
  margin: 0 !important;
  padding: 4px 0 4px 24px;
  border-left: 3px solid var(--v60-orange);
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

.ltg-home-modern #plantGallery.gallery-parallax {
  margin-top: 0 !important;
  gap: 12px !important;
  overflow: visible !important;
}

.ltg-home-modern #plantGallery figure {
  position: relative;
  border: 1px solid rgba(15, 23, 41, 0.17);
  box-shadow: 0 12px 30px rgba(15, 23, 41, 0.09);
  transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}

.ltg-home-modern #plantGallery figure::after {
  content: "";
  position: absolute;
  inset: auto 14px 12px 14px;
  height: 3px;
  border-radius: 3px;
  background: var(--v60-orange);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 260ms ease;
  pointer-events: none;
}

.ltg-home-modern #plantGallery figure:hover {
  z-index: 2;
  transform: translateY(-6px);
  border-color: rgba(232, 84, 44, 0.72);
  box-shadow: 0 22px 46px rgba(15, 23, 41, 0.16);
}

.ltg-home-modern #plantGallery figure:hover::after {
  transform: scaleX(1);
}

.ltg-home-modern #plantGallery figure:hover img {
  transform: scale(1.045) !important;
}

/* Vision, mission and objective panels: strong rectangular card boundaries. */
.ltg-home-modern .vision-grid .vm-card,
.ltg-home-modern .obj-grid .obj-card {
  position: relative;
  overflow: hidden;
  border: 2px solid rgba(15, 23, 41, 0.28) !important;
  border-radius: 9px !important;
  box-shadow: 0 12px 28px rgba(15, 23, 41, 0.09) !important;
  transition: transform 240ms ease,
              border-color 240ms ease,
              box-shadow 240ms ease !important;
}

.ltg-home-modern .vision-grid .vm-card::before,
.ltg-home-modern .obj-grid .obj-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: var(--v60-orange);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 240ms ease;
}

.ltg-home-modern .vision-grid .vm-card:hover,
.ltg-home-modern .obj-grid .obj-card:hover {
  border-color: var(--v60-orange) !important;
  box-shadow: 0 20px 42px rgba(232, 84, 44, 0.18) !important;
  transform: translateY(-5px) !important;
}

.ltg-home-modern .vision-grid .vm-card:hover::before,
.ltg-home-modern .obj-grid .obj-card:hover::before {
  transform: scaleX(1);
}

/* Company profile: use unmistakable rectangular boundaries instead of faint pills. */
.ltg-home-modern #company .company-grid > div {
  border: 2px solid rgba(15, 23, 41, 0.34) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(15, 23, 41, 0.09) !important;
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease !important;
}

.ltg-home-modern #company .company-grid > div:hover {
  border-color: var(--v60-orange) !important;
  box-shadow: 0 20px 42px rgba(232, 84, 44, 0.17) !important;
  transform: translateY(-4px) !important;
}

.ltg-home-modern #company .clients-row {
  gap: 10px !important;
}

.ltg-home-modern #company .client-chip {
  border: 2px solid rgba(232, 84, 44, 0.72) !important;
  border-radius: 4px !important;
  background: #fff7f3 !important;
  color: var(--v60-orange-dark) !important;
  padding: 9px 14px !important;
  box-shadow: none !important;
  transition: color 200ms ease, background 200ms ease, transform 200ms ease !important;
}

.ltg-home-modern #company .client-chip:hover {
  background: var(--v60-orange) !important;
  color: #fff !important;
  transform: translateY(-2px);
}

.ltg-home-modern #company .customer-cols {
  gap: 12px !important;
}

.ltg-home-modern #company .customer-cols > div {
  min-height: 54px;
  padding: 14px 16px !important;
  border: 2px solid rgba(15, 23, 41, 0.30) !important;
  border-radius: 5px !important;
  background: #fff !important;
  box-shadow: 0 7px 18px rgba(15, 23, 41, 0.06);
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.ltg-home-modern #company .customer-cols > div:hover {
  border-color: var(--v60-orange) !important;
  box-shadow: 0 12px 26px rgba(232, 84, 44, 0.15);
  transform: translateY(-3px);
}

@media (min-width: 1100px) {
  .ltg-home-modern #plantGallery.gallery-parallax {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .ltg-home-modern #plantGallery .gallery-row {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    will-change: transform;
  }

  .ltg-home-modern #plantGallery figure {
    width: auto !important;
    height: 220px !important;
    aspect-ratio: auto !important;
  }

  .ltg-home-modern #plantGallery .gallery-row-top figure:nth-of-type(1) { grid-column: span 4; }
  .ltg-home-modern #plantGallery .gallery-row-top figure:nth-of-type(2),
  .ltg-home-modern #plantGallery .gallery-row-top figure:nth-of-type(4) { grid-column: span 3; }
  .ltg-home-modern #plantGallery .gallery-row-top figure:nth-of-type(3) { grid-column: span 2; }

  .ltg-home-modern #plantGallery .gallery-row-bottom figure:nth-of-type(1),
  .ltg-home-modern #plantGallery .gallery-row-bottom figure:nth-of-type(3) { grid-column: span 3; }
  .ltg-home-modern #plantGallery .gallery-row-bottom figure:nth-of-type(2) { grid-column: span 2; }
  .ltg-home-modern #plantGallery .gallery-row-bottom figure:nth-of-type(4) { grid-column: span 4; }
}

@media (max-width: 760px) {
  .ltg-home-modern #company .section-head:has(+ #plantGallery) {
    display: block !important;
    margin-top: 44px !important;
    padding-bottom: 22px !important;
  }

  .ltg-home-modern #company .section-head:has(+ #plantGallery) h2 {
    font-size: clamp(2rem, 10vw, 2.75rem) !important;
  }

  .ltg-home-modern #company .section-head:has(+ #plantGallery) p {
    max-width: none;
    margin-top: 18px !important;
    padding-left: 16px;
  }

  .ltg-home-modern #plantGallery figure:hover {
    transform: none;
  }
}

/* Contact label visibility — ID-level specificity is required to beat the
   legacy section:not(...) padding rule. */
#page-contact > section.contact-page-hero {
  display: block !important;
  box-sizing: border-box !important;
  padding: 128px 20px 62px !important;
  min-height: 330px !important;
  overflow: visible !important;
}

#page-contact > section.contact-page-hero > .container {
  display: block !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  inset: auto !important;
  transform: none !important;
}

#page-contact > section.contact-page-hero .tag-pill {
  display: table !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  inset: auto !important;
  transform: none !important;
  margin: 0 auto 18px !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#page-contact > section.contact-page-hero h1 {
  margin: 0 0 12px !important;
}

@media (max-width: 760px) {
  #page-contact > section.contact-page-hero {
    padding: 108px 18px 48px !important;
    min-height: 290px !important;
  }
}

/* Reviews heading: keep the title dark; orange is an accent, not the title colour. */
.reviews-section .rs-head h1,
.reviews-section .rs-head h2,
.rs-head h1,
.rs-head h2 {
  color: var(--v60-navy) !important;
  -webkit-text-fill-color: var(--v60-navy) !important;
  background: none !important;
  text-shadow: none !important;
  filter: none !important;
}

/* Keep the review label readable when global gradient-text rules are active. */
.reviews-section .rs-head .tag-pill {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: var(--v60-orange) !important;
  background-image: none !important;
  text-shadow: none !important;
}

/* Header: a visible, composed navigation surface on large screens. */
header,
.ltg-home-modern header {
  background: rgba(255, 255, 255, 0.97) !important;
  border-top: 3px solid var(--v60-orange) !important;
  border-bottom: 1px solid var(--v60-line) !important;
  box-shadow: 0 8px 28px rgba(15, 23, 41, 0.08) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
}

header nav,
.ltg-home-modern header nav {
  width: 100% !important;
  max-width: 1240px !important;
  min-height: 76px !important;
  margin: 0 auto !important;
  padding: 10px 28px !important;
  gap: 22px !important;
}

header .brand {
  flex: 0 1 auto !important;
  gap: 11px !important;
  color: var(--v60-navy) !important;
  cursor: pointer;
  border-radius: 12px;
  outline-offset: 5px;
}

header .brand img {
  width: auto !important;
  height: 42px !important;
  flex: 0 0 auto !important;
}

header .brand > div {
  font-size: 1.03rem !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

header .brand .sub {
  margin-top: 4px !important;
  color: #6b7280 !important;
  font-size: 0.54rem !important;
  letter-spacing: 1.75px !important;
}

header .navlinks {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 5px !important;
  background: var(--v60-warm) !important;
  border: 1px solid rgba(15, 23, 41, 0.07) !important;
  border-radius: 14px !important;
}

header .navlinks > a,
header .nav-dropdown-trigger {
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 9px 13px !important;
  border-radius: 10px !important;
  color: #3f4858 !important;
  font-weight: 650 !important;
  opacity: 1 !important;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease !important;
}

header .navlinks > a::after,
header .nav-dropdown-trigger::after {
  display: none !important;
}

header .navlinks > a:hover,
header .nav-dropdown-trigger:hover {
  color: var(--v60-orange-dark) !important;
  background: var(--v60-orange-soft) !important;
}

header .navlinks > a:active,
header .nav-dropdown-trigger:active {
  transform: scale(0.98) !important;
}

header .navlinks > a.active,
.ltg-home-modern header .navlinks > a.active {
  color: var(--v60-orange-dark) !important;
  -webkit-text-fill-color: var(--v60-orange-dark) !important;
  background: transparent !important;
  box-shadow: inset 0 -2px 0 var(--v60-orange) !important;
}

header .navlinks > a.navlinks-shop-mobile,
header .navlinks > a.navlinks-contact-mobile,
header .navlinks > .navlinks-account-mobile {
  display: none !important;
}

header .nav-actions {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin-left: auto !important;
}

header .profile-icon-btn,
header .cart-icon-wrap,
header .nav-ref-btn {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border: 1px solid var(--v60-line) !important;
  background: #fff !important;
  box-shadow: 0 5px 14px rgba(15, 23, 41, 0.05) !important;
}

header .nav-shop-btn {
  min-height: 42px !important;
  padding: 0 16px !important;
  background: var(--v60-orange-soft) !important;
  color: var(--v60-orange-dark) !important;
  border: 1px solid rgba(232, 84, 44, 0.22) !important;
  box-shadow: none !important;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease !important;
}

header .nav-cta {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 19px !important;
  background: var(--v60-orange) !important;
  color: #fff !important;
  border: 1px solid var(--v60-orange) !important;
  box-shadow: 0 9px 20px rgba(232, 84, 44, 0.24) !important;
}

header .nav-shop-btn:hover,
header .nav-cta:hover,
header .profile-icon-btn:hover,
header .cart-icon-wrap:hover {
  transform: translateY(-2px) !important;
}

header .nav-shop-btn:hover {
  transform: none !important;
  background: #fff !important;
  color: var(--v60-orange-dark) !important;
  -webkit-text-fill-color: var(--v60-orange-dark) !important;
  border-color: var(--v60-orange) !important;
  box-shadow: inset 0 -2px 0 var(--v60-orange) !important;
}

header .nav-shop-btn:active {
  transform: none !important;
}

header.header-shrink nav {
  min-height: 68px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

header.header-shrink .brand img {
  height: 37px !important;
}

/* Stronger proof rectangles on the adhesive page. */
#page-adhesive #specs .growth-banner {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 86px minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: center !important;
  padding: 26px 30px 26px 34px !important;
  overflow: hidden !important;
  background: linear-gradient(110deg, #fff 0%, #fff8f4 100%) !important;
  border: 1px solid rgba(232, 84, 44, 0.28) !important;
  border-left: 7px solid var(--v60-orange) !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 38px rgba(232, 84, 44, 0.11) !important;
}

#page-adhesive #specs .growth-banner::after {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  right: -86px;
  top: -112px;
  border-radius: 50%;
  background: rgba(232, 84, 44, 0.08);
  pointer-events: none;
}

#page-adhesive #specs .growth-banner .big {
  width: 78px !important;
  height: 78px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  border-radius: 16px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: var(--v60-orange) !important;
  box-shadow: 0 10px 22px rgba(232, 84, 44, 0.22) !important;
  font-size: 2.5rem !important;
}

#page-adhesive #specs .growth-banner .txt p {
  max-width: 72ch !important;
  margin-top: 4px !important;
}

#page-adhesive #excellence .stat-row {
  gap: 14px !important;
}

#page-adhesive #excellence .stat-box {
  min-height: 142px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  padding: 25px 22px 22px !important;
  text-align: left !important;
  overflow: hidden !important;
  background: linear-gradient(145deg, #fff 0%, #fff8f4 100%) !important;
  border: 1px solid rgba(232, 84, 44, 0.24) !important;
  border-top: 5px solid var(--v60-orange) !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 28px rgba(15, 23, 41, 0.07) !important;
}

#page-adhesive #excellence .stat-box::before {
  top: -45px !important;
  right: -45px !important;
  width: 110px !important;
  height: 110px !important;
  background: var(--v60-orange) !important;
  opacity: 0.09 !important;
}

#page-adhesive #excellence .stat-box .n {
  color: var(--v60-navy) !important;
  -webkit-text-fill-color: var(--v60-navy) !important;
  font-size: clamp(1.65rem, 3vw, 2.1rem) !important;
  line-height: 1 !important;
}

#page-adhesive #excellence .stat-box .l {
  margin-top: 10px !important;
  color: var(--v60-orange-dark) !important;
  -webkit-text-fill-color: var(--v60-orange-dark) !important;
  font-size: 0.64rem !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

#page-adhesive #excellence .stat-box:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(232, 84, 44, 0.46) !important;
  box-shadow: 0 18px 34px rgba(232, 84, 44, 0.13) !important;
}

/* Keyboard and touch polish. */
header a:focus-visible,
header button:focus-visible,
.brand:focus-visible,
.btn:focus-visible,
.stat-box:focus-visible {
  outline: 3px solid rgba(232, 84, 44, 0.42) !important;
  outline-offset: 3px !important;
}

section[id] {
  scroll-margin-top: 86px;
}

/* Shop masthead must always clear the fixed navigation bar. */
#page-shop .shop-hero {
  position: relative !important;
  z-index: 1 !important;
  min-height: 310px !important;
  display: grid !important;
  align-items: center !important;
  padding: 132px 0 58px !important;
  overflow: visible !important;
}

#page-shop .shop-hero .container {
  position: relative !important;
  z-index: 2 !important;
  padding-top: 0 !important;
  overflow: visible !important;
}

#page-shop .shop-hero .tag-pill,
#page-shop .shop-hero h1,
#page-shop .shop-hero p {
  position: relative !important;
  z-index: 3 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

#page-shop .shop-hero h1 {
  margin: 0 auto 12px !important;
  color: var(--v60-navy) !important;
  -webkit-text-fill-color: var(--v60-navy) !important;
  line-height: 1.1 !important;
  text-wrap: balance;
}

/* Mobile navigation: compact bar, clean drawer, mutually exclusive auth state. */
@media (max-width: 900px) {
  header,
  .ltg-home-modern header {
    border-top-width: 3px !important;
  }

  header nav,
  .ltg-home-modern header nav,
  header.header-shrink nav {
    min-height: 68px !important;
    height: 68px !important;
    padding: 7px 12px !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
  }

  header .brand {
    min-width: 0 !important;
    gap: 8px !important;
  }

  header .brand img,
  header.header-shrink .brand img {
    width: auto !important;
    height: 35px !important;
  }

  header .brand > div {
    min-width: 0 !important;
    max-width: min(44vw, 190px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 0.88rem !important;
  }

  header .brand .sub {
    display: block !important;
    margin-top: 3px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 0.46rem !important;
    letter-spacing: 1.25px !important;
  }

  header .nav-actions {
    order: 2 !important;
    gap: 7px !important;
    margin-left: auto !important;
  }

  header .profile-auth-wrap,
  header .account-pill,
  header .nav-shop-btn,
  header .nav-cta,
  header .nav-ref-btn {
    display: none !important;
  }

  header .cart-icon-wrap {
    display: inline-flex !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    margin: 0 !important;
    order: 1 !important;
  }

  header .navburger {
    order: 3 !important;
    display: inline-flex !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    margin: 0 !important;
    padding: 10px !important;
    gap: 5px !important;
    border: 1px solid rgba(232, 84, 44, 0.24) !important;
    border-radius: 12px !important;
    background: var(--v60-orange-soft) !important;
  }

  header .navburger span {
    width: 20px !important;
    height: 2px !important;
    background: var(--v60-navy) !important;
  }

  header .navburger.is-open {
    background: var(--v60-orange) !important;
  }

  header .navburger.is-open span {
    background: #fff !important;
  }

  header .navlinks,
  header #navlinks:not(.mobile-open) {
    display: none !important;
  }

  header #navlinks.mobile-open {
    position: fixed !important;
    inset: 68px 10px auto 10px !important;
    z-index: 520 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 7px !important;
    width: auto !important;
    max-height: calc(100dvh - 80px) !important;
    padding: 13px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    background: rgba(255, 255, 255, 0.99) !important;
    border: 1px solid var(--v60-line) !important;
    border-top: 4px solid var(--v60-orange) !important;
    border-radius: 0 0 20px 20px !important;
    box-shadow: 0 24px 55px rgba(15, 23, 41, 0.18) !important;
    animation: v60MenuIn 180ms ease-out both;
  }

  header #navlinks.mobile-open > a,
  header #navlinks.mobile-open .nav-dropdown-trigger {
    width: 100% !important;
    min-height: 46px !important;
    justify-content: space-between !important;
    padding: 11px 13px !important;
    border: 1px solid rgba(15, 23, 41, 0.08) !important;
    border-radius: 11px !important;
    background: var(--v60-warm) !important;
    color: var(--v60-navy) !important;
  }

  header #navlinks.mobile-open > a.active {
    background: var(--v60-orange-soft) !important;
    color: var(--v60-orange-dark) !important;
  }

  .ltg-home-modern header #navlinks.mobile-open > a.active,
  header #navlinks.mobile-open > a.active {
    display: flex !important;
    align-items: center !important;
    background: var(--v60-orange-soft) !important;
    color: var(--v60-orange-dark) !important;
    -webkit-text-fill-color: var(--v60-orange-dark) !important;
  }

  header #navlinks.mobile-open .nav-dropdown {
    width: 100% !important;
  }

  header #navlinks.mobile-open .nav-dropdown-menu {
    position: static !important;
    width: 100% !important;
    margin-top: 6px !important;
    padding: 6px !important;
    border: 1px solid rgba(15, 23, 41, 0.08) !important;
    border-radius: 11px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  header #navlinks.mobile-open .nav-dropdown-menu a {
    min-height: 42px !important;
    padding: 10px 12px !important;
    border-radius: 8px !important;
  }

  header #navlinks.mobile-open .navlinks-shop-mobile,
  header #navlinks.mobile-open .navlinks-contact-mobile {
    display: flex !important;
    justify-content: center !important;
    color: #fff !important;
    border-color: transparent !important;
  }

  header #navlinks.mobile-open .navlinks-shop-mobile {
    background: var(--v60-navy) !important;
  }

  header #navlinks.mobile-open .navlinks-contact-mobile {
    background: var(--v60-orange) !important;
  }

  header #navlinks.mobile-open .navlinks-account-mobile {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
    padding: 11px 0 0 !important;
    border-top: 1px solid var(--v60-line) !important;
  }

  header #navlinks.mobile-open .navlinks-account-mobile a {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid rgba(15, 23, 41, 0.12) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--v60-navy) !important;
  }

  header #navlinks.mobile-open .navlinks-account-mobile.js-hidden,
  header #navlinks.mobile-open .navlinks-account-mobile[hidden],
  .navlinks-account-mobile.js-hidden,
  .navlinks-account-mobile[hidden] {
    display: none !important;
  }

  body.mobile-nav-open {
    overflow: hidden !important;
    touch-action: none;
  }

  #page-shop .shop-hero {
    min-height: 278px !important;
    padding: 112px 0 46px !important;
  }

  #page-shop .shop-hero h1 {
    font-size: clamp(2rem, 8.5vw, 2.8rem) !important;
  }

  #page-adhesive #excellence .stat-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #page-adhesive #excellence .stat-box {
    min-height: 132px !important;
  }

  section:not(.hero):not(.hero-stats-bar) {
    padding-top: 54px !important;
    padding-bottom: 58px !important;
  }
}

@media (max-width: 560px) {
  header nav,
  .ltg-home-modern header nav,
  header.header-shrink nav {
    padding-left: 9px !important;
    padding-right: 9px !important;
  }

  header .brand > div {
    max-width: 42vw !important;
    font-size: 0.82rem !important;
  }

  header .brand .sub {
    letter-spacing: 0.95px !important;
  }

  header #navlinks.mobile-open {
    left: 7px !important;
    right: 7px !important;
  }

  #page-adhesive #specs .growth-banner {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 15px !important;
    padding: 21px 18px 21px 20px !important;
    border-left-width: 5px !important;
  }

  #page-adhesive #specs .growth-banner .big {
    width: 60px !important;
    height: 60px !important;
    border-radius: 13px !important;
    font-size: 1.9rem !important;
  }

  #page-adhesive #specs .growth-banner .txt p {
    font-size: 0.84rem !important;
    line-height: 1.55 !important;
  }

  #page-adhesive #specs .growth-banner .yrs {
    font-size: 0.61rem !important;
    line-height: 1.45 !important;
  }

  #page-adhesive #excellence .stat-row {
    gap: 10px !important;
  }

  #page-adhesive #excellence .stat-box {
    min-height: 122px !important;
    padding: 20px 15px 17px !important;
    border-top-width: 4px !important;
  }

  #page-adhesive #excellence .stat-box .n {
    font-size: 1.5rem !important;
  }

  #page-adhesive #excellence .stat-box .l {
    font-size: 0.56rem !important;
    letter-spacing: 0.55px !important;
  }

  .rs-head h1,
  .rs-head h2 {
    font-size: clamp(1.85rem, 9.5vw, 2.5rem) !important;
  }

  #page-shop .shop-hero {
    min-height: 258px !important;
    padding: 104px 0 38px !important;
  }
}

/* Desktop hero clearance: keep the information rail off the product podium. */
@media (min-width: 1200px) {
  .ltg-home-modern .hero-copy {
    transform: translateX(-40px) !important;
  }

  .ltg-home-modern .hero-range,
  .ltg-home-modern .hero-stats-bar {
    transform: translate(-40px, -32px) !important;
  }

  .ltg-home-modern .hero-certs {
    max-width: none !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    white-space: nowrap;
  }
}

@media (min-width: 1500px) {
  .ltg-home-modern .hero-copy {
    transform: translateX(-72px) !important;
  }


  .ltg-home-modern .hero-range,
  .ltg-home-modern .hero-stats-bar {
    transform: translate(-72px, -54px) !important;
  }
}

@keyframes v60MenuIn {
  from { opacity: 0; transform: translateY(-8px) scale(0.99); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  header #navlinks.mobile-open,
  header *,
  #page-adhesive #excellence .stat-box {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}

/* Final visibility safeguard for the dark heritage capsules. */
body.ltg-home-modern .hero-copy .eyebrow,
body #page-adhesive .page-hero-bar .page-hero-bar-label,
body #page-grout .page-hero-bar .page-hero-bar-label {
  opacity: 1 !important;
  visibility: visible !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background-color: #0f1729 !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  text-shadow: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* Adhesive variants: restrained professional segmented navigation. */
#page-adhesive #products .prod-tabs {
  display: inline-flex !important;
  align-items: stretch !important;
  gap: 4px !important;
  max-width: 100%;
  margin: 0 0 42px !important;
  padding: 5px !important;
  overflow-x: auto;
  border: 1px solid rgba(15, 23, 41, 0.16) !important;
  border-radius: 9px !important;
  background: #efeee9 !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 41, 0.05) !important;
  scrollbar-width: none;
}

#page-adhesive #products .prod-tabs::-webkit-scrollbar {
  display: none;
}

#page-adhesive #products .prod-tab {
  position: relative;
  flex: 0 0 auto;
  min-height: 46px;
  padding: 12px 19px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: transparent !important;
  color: #4f5a6b !important;
  -webkit-text-fill-color: #4f5a6b !important;
  box-shadow: none !important;
  font-family: var(--font-body) !important;
  font-size: 0.88rem !important;
  font-weight: 650 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  transition: color 200ms ease, background 200ms ease, transform 200ms ease !important;
}

#page-adhesive #products .prod-tab:hover:not(.active) {
  background: rgba(255, 255, 255, 0.72) !important;
  color: var(--v60-navy) !important;
  -webkit-text-fill-color: var(--v60-navy) !important;
}

#page-adhesive #products .prod-tab.active {
  background: var(--v60-navy) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 7px 18px rgba(15, 23, 41, 0.20) !important;
}

#page-adhesive #products .prod-tab.active::after {
  content: "";
  position: absolute;
  right: 12px;
  bottom: 6px;
  left: 12px;
  height: 2px;
  border-radius: 2px;
  background: var(--v60-orange);
}

#page-adhesive #products .prod-tab:focus-visible {
  outline: 3px solid rgba(232, 84, 44, 0.35) !important;
  outline-offset: 2px;
}

@media (max-width: 620px) {
  #page-adhesive #products .prod-tabs {
    display: flex !important;
    width: 100%;
    margin-bottom: 30px !important;
  }

  #page-adhesive #products .prod-tab {
    min-width: max-content;
  }
}

/* Product-colour variant tabs: selected state follows the actual bag colour. */
#page-adhesive #products .prod-tabs {
  gap: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#page-adhesive #products .prod-tab {
  min-height: 48px;
  padding: 13px 20px !important;
  border: 1.5px solid rgba(15, 23, 41, 0.24) !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: var(--v60-navy) !important;
  -webkit-text-fill-color: var(--v60-navy) !important;
  box-shadow: 0 5px 14px rgba(15, 23, 41, 0.06) !important;
  transition: none !important;
}

#page-adhesive #products .prod-tab:hover:not(.active) {
  border-color: rgba(15, 23, 41, 0.52) !important;
  background: #fff !important;
  transform: none !important;
}

#page-adhesive #products .prod-tab.active[data-tab="p1"] {
  border-color: #d9aa05 !important;
  background: #f5c518 !important;
  color: #241d00 !important;
  -webkit-text-fill-color: #241d00 !important;
  box-shadow: 0 10px 24px rgba(245, 197, 24, 0.30) !important;
}

#page-adhesive #products .prod-tab.active[data-tab="p2"] {
  border-color: #156f43 !important;
  background: #178b53 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 10px 24px rgba(23, 139, 83, 0.27) !important;
}

#page-adhesive #products .prod-tab.active[data-tab="p3"] {
  border-color: #154f98 !important;
  background: #1767bc !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 10px 24px rgba(23, 103, 188, 0.27) !important;
}

#page-adhesive #products .prod-tab.active::after {
  display: none !important;
}

/* Mortar instruction numbers: solid product yellow with clear white numerals. */
#page-adhesive #p1 .steps li::before {
  box-sizing: border-box !important;
  border: 2px solid #e1b000 !important;
  background: #e1b000 !important;
  background-image: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 4px 10px rgba(225, 176, 0, 0.2) !important;
}

/* Product pricing beneath each adhesive bag. */
#page-adhesive .products .prod-bag {
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}

#page-adhesive .product-price-card {
  width: min(15rem, 82%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(15, 23, 41, 0.16);
  border-left: 4px solid var(--navy);
  border-radius: 0.65rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 26px rgba(15, 23, 41, 0.08);
}

#page-adhesive #p1 .product-price-card { border-left-color: #e1b000; }
#page-adhesive #p2 .product-price-card { border-left-color: #2e8b4f; }
#page-adhesive #p3 .product-price-card { border-left-color: #2e6fe8; }

#page-adhesive .product-price-label {
  color: var(--grey) !important;
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

#page-adhesive .product-price-card strong {
  color: var(--navy) !important;
  font-family: var(--font-head);
  font-size: 1.35rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  white-space: nowrap;
}

#page-adhesive .product-price-card strong small {
  color: var(--grey) !important;
  font-family: var(--font-mono);
  font-size: 0.58rem;
  letter-spacing: 0.08em;
}

@media (max-width: 900px) {
  #page-adhesive .product-price-card {
    width: min(17rem, 90%);
  }
}

/* Shared light footer: readable on every page while retaining the brand accent. */
footer {
  background: #fff !important;
  color: var(--navy) !important;
  border-top: 2px solid #c8ced8 !important;
  box-shadow: 0 -8px 24px rgba(15, 23, 41, 0.07) !important;
}

footer .foot-brand span {
  color: var(--navy) !important;
}

footer p,
footer .foot-col div,
footer .foot-col a {
  color: #566174 !important;
}

footer .foot-col h2 {
  color: var(--orange) !important;
}

footer .foot-col a {
  text-decoration-color: transparent;
  text-underline-offset: 0.22em;
  transition: color 180ms ease, text-decoration-color 180ms ease;
}

footer .foot-col a:hover,
footer .foot-col a:focus-visible,
footer .foot-legal-links a:hover,
footer .foot-legal-links a:focus-visible {
  color: var(--orange) !important;
  text-decoration-color: currentColor;
}

footer .foot-bottom {
  color: #697386 !important;
  border-top-color: rgba(15, 23, 41, 0.14) !important;
}

footer .foot-legal-links a {
  color: #566174 !important;
}

/* Technical specification table: stronger structure and scanability. */
#page-adhesive .spec-table-wrap {
  overflow: hidden;
  border: 2px solid #c8ced8 !important;
  border-radius: 0.75rem !important;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 41, 0.08);
}

#page-adhesive table.spec {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

#page-adhesive table.spec thead th {
  background: #0f1729 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-right: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-bottom: 2px solid #e8542c !important;
}

#page-adhesive table.spec thead th:last-child {
  border-right: 0 !important;
}

#page-adhesive table.spec tbody td {
  background: #fff !important;
  border-right: 1px solid #d8dde5 !important;
  border-bottom: 1px solid #d8dde5 !important;
}

#page-adhesive table.spec tbody tr:nth-child(even) td {
  background: #f4f5f7 !important;
}

#page-adhesive table.spec tbody td:first-child {
  color: var(--navy) !important;
  -webkit-text-fill-color: var(--navy) !important;
  font-weight: 700;
  background: #f8f3ef !important;
}

#page-adhesive table.spec tbody tr:nth-child(even) td:first-child {
  background: #f1e9e3 !important;
}

#page-adhesive table.spec tbody td:last-child {
  border-right: 0 !important;
}

#page-adhesive table.spec tbody tr:last-child td {
  border-bottom: 0 !important;
}

/* Facility cards: keep the original parallax and place labels directly over
   the photography instead of showing a pale standalone caption block. */
.facility-row .facility-strip-grid {
  height: 340px !important;
  align-items: center !important;
  overflow: visible !important;
}

.facility-row .facility-panel,
.facility-row .facility-panel:nth-child(n) {
  position: relative !important;
  height: 300px !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.facility-row .facility-panel .fp-img-wrap {
  position: absolute !important;
  inset: -12% 0 !important;
  width: auto !important;
  height: auto !important;
}

.facility-row .facility-panel .fp-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  animation: none !important;
  filter: brightness(.94) saturate(1.04) !important;
}

.facility-row .facility-panel .fp-label {
  position: absolute !important;
  inset: auto 0 0 !important;
  z-index: 3 !important;
  padding: 34px 10px 12px !important;
  background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 41, .76) 54%, rgba(15, 23, 41, .94) 100%) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.facility-row .facility-panel .fp-sub {
  color: rgba(255, 255, 255, .78) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .78) !important;
}

.contact-page-hero {
  box-sizing: border-box !important;
  padding: 148px 20px 62px !important;
  min-height: 320px !important;
  overflow: visible !important;
}

.contact-page-hero .container {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
}

.contact-page-hero .tag-pill {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  margin: 0 auto 18px !important;
}

.contact-page-hero h1 {
  margin: 0 0 12px !important;
}

@media (max-width: 760px) {
  .facility-row .facility-strip-grid {
    height: auto !important;
  }

  .facility-row .facility-panel,
  .facility-row .facility-panel:nth-child(n) {
    height: 280px !important;
    transform: none !important;
  }

  .contact-page-hero {
    padding: 118px 18px 50px !important;
    min-height: 285px !important;
  }
}

/* Final hero CTA contrast guard. */
#page-home .hero .hero-actions .btn-shop,
#page-home .hero .hero-actions a.btn-shop:link,
#page-home .hero .hero-actions a.btn-shop:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 120px !important;
  min-height: 48px !important;
  padding: 13px 24px !important;
  border: 2px solid #e8542c !important;
  border-radius: 16px !important;
  background: #e8542c !important;
  background-image: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: 0 10px 24px rgba(232,84,44,.26) !important;
}

#page-home .hero .hero-actions .btn-shop:hover,
#page-home .hero .hero-actions .btn-shop:focus-visible {
  border-color: #d94824 !important;
  background: #d94824 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 14px 30px rgba(232,84,44,.34) !important;
}

/* Desktop navigation: clean text links with Products dropdown attached below. */
@media (min-width: 901px) {
  header .navlinks,
  header #navlinks {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 30px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  header .navlinks > a,
  header .nav-dropdown-trigger,
  header .navlinks > a:hover,
  header .nav-dropdown-trigger:hover,
  header .navlinks > a.active,
  header .nav-dropdown-trigger.active {
    padding: 8px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  header .nav-dropdown {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  /* Invisible bridge keeps hover active while moving into the menu. */
  header .nav-dropdown::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 100%;
    left: -8px;
    width: calc(100% + 16px);
    height: 14px;
  }

  header .nav-dropdown-menu {
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: auto !important;
    min-width: 152px !important;
    padding: 8px !important;
    border: 1px solid #cbd1da !important;
    border-radius: 16px !important;
    background: #fff !important;
    transform: translateY(-5px) !important;
    transform-origin: top left !important;
    box-shadow: 0 16px 34px rgba(15,23,41,.14) !important;
  }

  header .nav-dropdown:hover .nav-dropdown-menu,
  header .nav-dropdown:focus-within .nav-dropdown-menu,
  header .nav-dropdown.open .nav-dropdown-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  header .nav-dropdown:hover .nav-dd-caret,
  header .nav-dropdown:focus-within .nav-dd-caret,
  header .nav-dropdown.open .nav-dd-caret {
    transform: rotate(180deg) !important;
  }

  header .nav-dropdown-menu a {
    padding: 11px 13px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  header .nav-dropdown-menu a:hover,
  header .nav-dropdown-menu a:focus-visible {
    background: #fff0ea !important;
    color: #e8542c !important;
    -webkit-text-fill-color: #e8542c !important;
  }
}

/* Readability reset for panels that formerly used dark backgrounds. */
body :is(.vm-card,.obj-card,.feature-card,.stat-box,.flagship-box,.growth-banner) {
  color: var(--v60-navy) !important;
}
body :is(.vm-card,.obj-card,.feature-card,.flagship-box,.growth-banner) :is(h2,h3,h4,strong,b,.v) {
  color: var(--v60-navy) !important;
  -webkit-text-fill-color: var(--v60-navy) !important;
}
body :is(.vm-card,.obj-card,.feature-card,.flagship-box,.growth-banner) :is(p,.txt,.l,.k) {
  color: var(--v60-muted) !important;
  -webkit-text-fill-color: var(--v60-muted) !important;
}
body .stat-box .n,
body .growth-banner .big,
body .growth-banner .yrs,
body .flagship-box .lbl {
  color: var(--v60-orange) !important;
  -webkit-text-fill-color: var(--v60-orange) !important;
}
body .stat-box .l {
  color: var(--v60-muted) !important;
  -webkit-text-fill-color: var(--v60-muted) !important;
}

/* Final mobile overrides — intentionally last in the cascade. */
@media (max-width: 900px) {
  body header #navlinks.mobile-open .nav-dropdown-menu { display:none!important; opacity:0!important; visibility:hidden!important; pointer-events:none!important; transform:none!important; }
  body header #navlinks.mobile-open .nav-dropdown.open .nav-dropdown-menu { display:grid!important; grid-template-columns:1fr 1fr!important; gap:6px!important; opacity:1!important; visibility:visible!important; pointer-events:auto!important; }
  body header #navlinks.mobile-open .nav-dropdown.open .nav-dd-caret { transform:rotate(180deg)!important; }
  body header #navlinks.mobile-open .nav-dropdown-menu a { display:flex!important; align-items:center!important; justify-content:center!important; border:1px solid rgba(15,23,41,.1)!important; background:#fff!important; color:var(--v60-navy)!important; -webkit-text-fill-color:var(--v60-navy)!important; opacity:1!important; }
  body header #navlinks.mobile-open .navlinks-shop-mobile, body header #navlinks.mobile-open .navlinks-shop-mobile:link, body header #navlinks.mobile-open .navlinks-shop-mobile:visited { background:var(--v60-navy)!important; color:#fff!important; -webkit-text-fill-color:#fff!important; opacity:1!important; }
  body header #navlinks.mobile-open .navlinks-contact-mobile, body header #navlinks.mobile-open .navlinks-contact-mobile:link, body header #navlinks.mobile-open .navlinks-contact-mobile:visited { background:var(--v60-orange)!important; color:#fff!important; -webkit-text-fill-color:#fff!important; opacity:1!important; }
  body #page-home .hero .hero-actions .btn-shop, body #page-home .hero .hero-actions .btn-shop:link, body #page-home .hero .hero-actions .btn-shop:visited { opacity:1!important; background:#fff!important; color:var(--v60-navy)!important; -webkit-text-fill-color:var(--v60-navy)!important; border:1px solid rgba(15,23,41,.16)!important; }
  body #page-home .hero .hero-badges { width:100%!important; max-width:none!important; justify-content:flex-start!important; gap:8px 12px!important; }
  body #page-home .hero .hero-product-stage { min-height:300px!important; }
  body #page-home .hero .hero-selector, body #page-home .hero .hero-rail { width:calc(100% - 16px)!important; margin-inline:8px!important; }
  body #page-home .facility-row { display:block!important; }
  body #page-home .facility-row .facility-quote, body #page-home .facility-quote { position:relative!important; inset:auto!important; width:100%!important; max-width:none!important; margin:22px 0 0!important; padding:20px!important; text-align:left!important; background:#fff7f3!important; border:1px solid rgba(232,84,44,.22)!important; border-radius:18px!important; box-shadow:none!important; }
  body #page-home .facility-row .facility-quote .fq-mark, body #page-home .facility-quote .fq-mark { position:static!important; display:block!important; margin-bottom:4px!important; font-size:2rem!important; line-height:1!important; }
  body #page-home .facility-row .facility-quote p, body #page-home .facility-quote p { margin:0!important; color:var(--v60-navy)!important; font-size:.98rem!important; line-height:1.55!important; text-align:left!important; }
  body.ltg-home-modern .obj-grid { grid-template-columns:1fr!important; gap:12px!important; background:transparent!important; }
  body.ltg-home-modern .obj-grid .obj-card { display:grid!important; grid-template-columns:52px minmax(0,1fr)!important; grid-template-areas:"icon title" "icon copy"!important; column-gap:14px!important; align-items:start!important; min-height:0!important; padding:18px!important; }
  body.ltg-home-modern .obj-grid .obj-card-icon { grid-area:icon!important; margin:0!important; }
  body.ltg-home-modern .obj-grid .obj-card h4 { grid-area:title!important; min-width:0!important; margin:2px 0 5px!important; overflow-wrap:anywhere!important; }
  body.ltg-home-modern .obj-grid .obj-card p { grid-area:copy!important; min-width:0!important; margin:0!important; overflow-wrap:anywhere!important; }
}
@media (max-width:430px) {
  body #page-home .hero .hero-rail { grid-template-columns:1fr 1fr!important; gap:8px!important; padding:10px!important; }
  body #page-home .hero .hr-item { min-height:132px!important; padding:12px 8px!important; }
}

/* Mobile follow-up: sticky navigation, swipeable specs, clean active item,
   and a full-width vertical facility gallery. */
@media (max-width:900px) {
  body header,
  body header.header-hide,
  body header.header-shrink {
    position:fixed!important;
    top:0!important;
    transform:none!important;
    visibility:visible!important;
    opacity:1!important;
  }
  body header #navlinks.mobile-open > a::after,
  body header #navlinks.mobile-open > a.active::after,
  body header #navlinks.mobile-open > a:hover::after {
    content:none!important;
    display:none!important;
    width:0!important;
  }
  body header #navlinks.mobile-open > a.active {
    border-color:rgba(232,84,44,.22)!important;
    box-shadow:none!important;
  }
  body #page-adhesive #specs .spec-table-wrap {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x pan-y!important;
    scrollbar-width:thin!important;
    scrollbar-color:var(--v60-orange) #e9edf2!important;
  }
  body #page-adhesive #specs .spec-table-wrap::-webkit-scrollbar { height:7px!important; }
  body #page-adhesive #specs .spec-table-wrap::-webkit-scrollbar-track { background:#e9edf2!important; border-radius:20px!important; }
  body #page-adhesive #specs .spec-table-wrap::-webkit-scrollbar-thumb { background:var(--v60-orange)!important; border-radius:20px!important; }
  body #page-adhesive #specs .spec-table-wrap table,
  body #page-adhesive #specs table.spec {
    width:max-content!important;
    min-width:760px!important;
    table-layout:auto!important;
  }
  body #page-home .facility-row .facility-strip-grid {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    width:100%!important;
    height:auto!important;
    overflow:visible!important;
  }
  body #page-home .facility-row .facility-panel,
  body #page-home .facility-row .facility-panel:nth-child(n) {
    width:100%!important;
    height:230px!important;
    min-height:230px!important;
    margin:0!important;
    transform:none!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  body #page-home .facility-row .facility-panel .fp-img-wrap,
  body #page-home .facility-row .facility-panel .fp-img-wrap img {
    width:100%!important;
    height:100%!important;
  }
  body #page-home .facility-row .facility-panel .fp-img-wrap img {
    object-fit:cover!important;
  }
}

/* Unified content-surface system: review-card softness without changing
   buttons, navigation, tabs, chips, or floating controls. */
:root {
  --content-radius: 26px;
  --content-border: rgba(15,23,41,.09);
  --content-shadow: 0 16px 38px rgba(15,23,41,.075);
  --content-shadow-hover: 0 22px 46px rgba(15,23,41,.11);
}

body :is(
  .vm-card,
  .obj-card,
  .feature-card,
  .stat-box,
  .flagship-box,
  .growth-banner,
  .shop-card,
  .contact-card,
  .auth-card,
  .rs-card,
  .rs-empty-box,
  .product-price-card,
  .cart-summary,
  .order-summary-box,
  .spec-table-wrap,
  .company-grid > *,
  .facility-quote
) {
  border: 1px solid var(--content-border) !important;
  border-radius: var(--content-radius) !important;
  box-shadow: var(--content-shadow) !important;
  background: #fff !important;
}

body :is(.vm-card,.obj-card,.feature-card,.stat-box,.flagship-box)::before {
  border-radius: var(--content-radius) var(--content-radius) 0 0 !important;
}

body :is(
  .vm-card,
  .obj-card,
  .feature-card,
  .stat-box,
  .flagship-box,
  .shop-card,
  .contact-card,
  .rs-card,
  .company-grid > *
):hover {
  border-color: rgba(232,84,44,.22) !important;
  box-shadow: var(--content-shadow-hover) !important;
}

body .customer-cols > div {
  border: 1px solid var(--content-border) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(15,23,41,.055) !important;
  padding: 14px 16px !important;
}

body .clients-row .client-chip {
  border: 1px solid rgba(232,84,44,.18) !important;
  border-radius: 16px !important;
  background: #fff7f3 !important;
  color: var(--v60-orange-dark) !important;
  box-shadow: none !important;
}

body .spec-table-wrap table :is(th:first-child,td:first-child) {
  border-left: 0 !important;
}

body .spec-table-wrap table :is(th:last-child,td:last-child) {
  border-right: 0 !important;
}

@media (max-width:900px) {
  :root { --content-radius: 22px; }
  body .customer-cols > div { border-radius: 16px !important; }
}

body.ltg-home-modern .home-image-section {
  scroll-margin-top: 86px;
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  background-color: #f6f3ed !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

body.ltg-home-modern .home-image-section > .container {
  position: relative;
  z-index: 2;
}

body.ltg-home-modern .home-image-atmosphere {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

body.ltg-home-modern .home-image-section--conditions {
  min-height: 650px;
  display: flex;
  align-items: center;
  padding: 108px 0 124px !important;
  background-image: url("images/generated-home/real-site-conditions.webp") !important;
  background-position: center 58% !important;
}

body.ltg-home-modern #excellence.home-image-section--conditions {
  background-image: url("images/generated-home/real-site-conditions.webp") !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center 58% !important;
  background-attachment: scroll !important;
}

body.ltg-home-modern .home-image-section--conditions .home-image-atmosphere {
  background:
    linear-gradient(90deg, rgba(250,248,244,.96) 0%, rgba(250,248,244,.91) 39%, rgba(250,248,244,.59) 66%, rgba(15,23,41,.18) 100%),
    linear-gradient(180deg, rgba(255,255,255,.2), rgba(244,238,227,.18));
}

body.ltg-home-modern .home-image-section--conditions .section-head {
  max-width: 640px !important;
  margin: 0 0 40px !important;
  text-align: left !important;
}

body.ltg-home-modern .home-image-section--conditions .section-head h2,
body.ltg-home-modern .home-image-section--conditions .section-head p {
  max-width: 590px;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.ltg-home-modern .home-image-section--conditions .home-why-grid {
  width: min(820px, 74%);
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 1px !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 24px !important;
  background: rgba(205,207,204,.7) !important;
  box-shadow: 0 28px 70px rgba(15,23,41,.16) !important;
  backdrop-filter: blur(18px) saturate(118%);
  -webkit-backdrop-filter: blur(18px) saturate(118%);
}

body.ltg-home-modern .home-image-section--conditions .hwy-card {
  min-height: 190px !important;
  padding: 30px 32px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(255,255,255,.89) !important;
  box-shadow: none !important;
}

body.ltg-home-modern .home-image-section--conditions .hwy-card:hover {
  background: rgba(255,250,247,.97) !important;
  transform: none !important;
}

body.ltg-home-modern .home-values {
  min-height: 790px;
  display: flex;
  align-items: center;
  padding: 112px 0 132px !important;
  background-image: url("images/generated-home/stronger-sri-lanka.webp") !important;
  background-position: center 53% !important;
}

body.ltg-home-modern .home-image-section--values .home-image-atmosphere {
  background:
    linear-gradient(90deg, rgba(244,238,227,.35) 0%, rgba(244,238,227,.88) 34%, rgba(244,238,227,.93) 68%, rgba(244,238,227,.42) 100%),
    linear-gradient(180deg, rgba(255,255,255,.26), rgba(244,238,227,.12));
}

body.ltg-home-modern .home-values .section-head {
  max-width: 650px !important;
  margin-bottom: 38px !important;
}

body.ltg-home-modern .home-values .vision-grid {
  gap: 16px !important;
  margin-bottom: 18px !important;
}

body.ltg-home-modern .home-values .vm-card,
body.ltg-home-modern .home-values .obj-card {
  border: 1px solid rgba(255,255,255,.75) !important;
  background: rgba(255,255,255,.86) !important;
  box-shadow: 0 22px 52px rgba(15,23,41,.12) !important;
  backdrop-filter: blur(17px) saturate(112%);
  -webkit-backdrop-filter: blur(17px) saturate(112%);
}

body.ltg-home-modern .home-values .vm-card {
  min-height: 185px !important;
  padding: 32px 34px !important;
}

body.ltg-home-modern .home-values .obj-grid {
  gap: 12px !important;
}

body.ltg-home-modern .home-values .obj-card {
  min-height: 214px !important;
  padding: 25px 24px !important;
}

body.ltg-home-modern .home-values .vm-card:hover,
body.ltg-home-modern .home-values .obj-card:hover {
  background: rgba(255,255,255,.95) !important;
}

@media (max-width:900px) {
  body.ltg-home-modern .home-image-section--conditions,
  body.ltg-home-modern .home-values {
    min-height: 0;
    padding: 82px 0 96px !important;
    background-attachment: scroll !important;
  }

  body.ltg-home-modern .home-image-section--conditions {
    background-position: 63% center !important;
  }

  body.ltg-home-modern .home-image-section--conditions .home-image-atmosphere {
    background: linear-gradient(180deg, rgba(250,248,244,.91) 0%, rgba(250,248,244,.84) 56%, rgba(250,248,244,.65) 100%);
  }

  body.ltg-home-modern .home-image-section--conditions .home-why-grid {
    width: 100%;
    grid-template-columns: 1fr 1fr !important;
  }

  body.ltg-home-modern .home-image-section--conditions .hwy-card {
    min-height: 176px !important;
    padding: 24px !important;
  }

  body.ltg-home-modern .home-image-section--values {
    background-position: 39% center !important;
  }

  body.ltg-home-modern .home-image-section--values .home-image-atmosphere {
    background: rgba(244,238,227,.79);
  }
}

@media (max-width:600px) {
  body.ltg-home-modern .home-image-section--conditions,
  body.ltg-home-modern .home-values {
    padding: 72px 0 84px !important;
  }

  body.ltg-home-modern .home-image-section--conditions .section-head {
    margin-bottom: 28px !important;
  }

  body.ltg-home-modern .home-image-section--conditions .home-why-grid {
    grid-template-columns: 1fr !important;
    border-radius: 20px !important;
  }

  body.ltg-home-modern .home-image-section--conditions .hwy-card {
    min-height: 0 !important;
    padding: 23px 22px !important;
  }

  body.ltg-home-modern .home-values .vm-card,
  body.ltg-home-modern .home-values .obj-card {
    background: rgba(255,255,255,.91) !important;
  }
}
/* Keep the desktop Products flyout clean: global nav underline rules must not
   draw a black divider through submenu items. */
@media (min-width: 901px) {
  body header #navlinks .nav-dropdown-menu a::after,
  body header #navlinks .nav-dropdown-menu a:hover::after,
  body header #navlinks .nav-dropdown-menu a:focus-visible::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
  }
}

/* ========================================================================
   Final shared navigation shell
   Contact and Shop established this desktop treatment. Keep the same
   geometry and interaction on every app page, regardless of page theme.
   ======================================================================== */
html body header,
html body header.header-hide,
html body header.header-show,
html body header.header-shrink {
  position: fixed !important;
  inset: 0 0 auto !important;
  top: 0 !important;
  width: 100% !important;
  min-height: 75px !important;
  margin: 0 !important;
  transform: none !important;
  translate: none !important;
  background: rgba(255,255,255,.96) !important;
  border-top: 3px solid #ef512c !important;
  border-bottom: 1px solid rgba(17,24,39,.11) !important;
  box-shadow: 0 10px 30px rgba(17,24,39,.07) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  z-index: 1000 !important;
}

html body header nav,
html body header.header-shrink nav,
html body.ltg-home-modern header nav,
html body:not(.ltg-home-modern) header nav {
  width: min(1180px,calc(100% - 40px)) !important;
  max-width: 1180px !important;
  height: 72px !important;
  min-height: 72px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 22px !important;
}

html body header .brand {
  color: #111827 !important;
  font-family: var(--font-head) !important;
  font-weight: 700 !important;
}

html body header .brand img,
html body header.header-shrink .brand img {
  width: 35px !important;
  height: 44px !important;
  object-fit: contain !important;
}

html body header .brand .sub { color: #7d8594 !important; }

html body header .navlinks {
  gap: 4px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body header .navlinks > a,
html body header .nav-dropdown-trigger {
  min-width: 0 !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  color: #3f4757 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  translate: none !important;
  scale: 1 !important;
  line-height: 20px !important;
  white-space: nowrap !important;
  transition: color .2s ease !important;
}

html body header .navlinks > a:hover,
html body header .nav-dropdown-trigger:hover,
html body header .navlinks > a.active,
html body header .nav-dropdown-trigger.active {
  margin: 0 !important;
  padding: 10px 12px !important;
  color: #ef512c !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  translate: none !important;
  scale: 1 !important;
}

html body header .navlinks > a:hover::before,
html body header .nav-dropdown-trigger:hover::before { transform: none !important; }

html body header .navlinks > a.active::after,
html body header .nav-dropdown-trigger.active::after {
  display: block !important;
  height: 2px !important;
  background: #ef512c !important;
}

html body header .nav-dropdown-menu {
  top: calc(100% + 14px) !important;
  min-width: 190px !important;
  padding: 8px !important;
  border: 1px solid #d7d9dc !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 22px 60px rgba(17,24,39,.09) !important;
}

html body header .nav-dropdown-menu a {
  border: 0 !important;
  border-radius: 8px !important;
  color: #111827 !important;
}

html body header .nav-dropdown-menu a:hover {
  color: #c93d20 !important;
  background: #fff4ef !important;
}

html body header :is(.profile-icon-btn,.cart-icon-wrap,.nav-ref-btn) {
  border: 1px solid #d7d9dc !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: none !important;
}

html body header .nav-shop-btn {
  border: 1px solid #f3b39f !important;
  background: #fff7f3 !important;
  color: #c93d20 !important;
  box-shadow: none !important;
  transform: none !important;
}

html body header .nav-shop-btn:hover {
  border-color: #f3b39f !important;
  background: #fff7f3 !important;
  color: #c93d20 !important;
  box-shadow: none !important;
  transform: none !important;
}

html body header .nav-cta {
  border-radius: 8px !important;
  background: #ef512c !important;
  box-shadow: 0 12px 25px rgba(239,81,44,.2) !important;
}

html body #site { padding-top: 75px !important; }

@media (max-width: 900px) {
  html body.ltg-home-modern #excellence.home-image-section--conditions {
    background-image: url("images/generated-home/real-site-conditions.webp") !important;
    background-size: auto 100% !important;
    background-position: 18% center !important;
    background-repeat: no-repeat !important;
  }

  html body.ltg-home-modern #company-values.home-image-section--values {
    background-image: url("images/generated-home/stronger-sri-lanka.webp") !important;
    background-size: auto 100% !important;
    background-position: 8% center !important;
    background-repeat: no-repeat !important;
  }

  html body.ltg-home-modern .home-image-section--conditions .home-image-atmosphere {
    background: linear-gradient(180deg,rgba(250,248,244,.69) 0%,rgba(250,248,244,.54) 50%,rgba(250,248,244,.66) 100%) !important;
  }

  html body.ltg-home-modern .home-image-section--values .home-image-atmosphere {
    background: linear-gradient(180deg,rgba(244,238,227,.54),rgba(244,238,227,.66)) !important;
  }
}

@media (max-width: 760px) {
  html body header nav,
  html body header.header-shrink nav,
  html body.ltg-home-modern header nav,
  html body:not(.ltg-home-modern) header nav {
    width: calc(100% - 20px) !important;
    max-width: none !important;
    height: 66px !important;
    min-height: 66px !important;
    padding: 0 !important;
  }

  html body header .brand img,
  html body header.header-shrink .brand img {
    width: 31px !important;
    height: 38px !important;
  }

  html body header .navlinks {
    top: 65px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    padding: 12px !important;
    border: 1px solid #d7d9dc !important;
    border-radius: 0 0 16px 16px !important;
    background: #fff !important;
    box-shadow: 0 22px 40px rgba(17,24,39,.15) !important;
  }

  html body header .navlinks > a,
  html body header .nav-dropdown-trigger,
  html body header .navlinks > a:hover,
  html body header .nav-dropdown-trigger:hover {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 10px !important;
  }

  html body header .navlinks > a.active::after,
  html body header .nav-dropdown-trigger.active::after { display: none !important; }

  html body header .navburger {
    border: 1px solid #f1b09b !important;
    border-radius: 10px !important;
    background: #fff7f3 !important;
  }

  html body #site { padding-top: 69px !important; }
}

/* The Home theme used selectors with an extra class, so it could still win
   over the shared shell above. Match that specificity and keep Home exactly
   aligned with the approved Contact/Shop navigation. */
html body.ltg-home-modern header .navlinks > a,
html body.ltg-home-modern header .nav-dropdown-trigger {
  margin: 0 !important;
  padding: 10px 12px !important;
  color: #3f4757 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  translate: none !important;
  scale: 1 !important;
}

html body.ltg-home-modern header .navlinks > a:hover,
html body.ltg-home-modern header .nav-dropdown-trigger:hover,
html body.ltg-home-modern header .navlinks > a.active,
html body.ltg-home-modern header .nav-dropdown-trigger.active {
  margin: 0 !important;
  padding: 10px 12px !important;
  color: #ef512c !important;
  -webkit-text-fill-color: #ef512c !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  translate: none !important;
  scale: 1 !important;
}

html body.ltg-home-modern header .navlinks > a.active::after,
html body.ltg-home-modern header .nav-dropdown-trigger.active::after {
  display: block !important;
  bottom: -4px !important;
  height: 2px !important;
  background: #ef512c !important;
}

html body.ltg-home-modern header .nav-shop-btn,
html body.ltg-home-modern header .nav-shop-btn:hover,
html body.ltg-home-modern header .nav-shop-btn:active {
  border: 1px solid #f3b39f !important;
  background: #fff7f3 !important;
  background-image: none !important;
  color: #c93d20 !important;
  -webkit-text-fill-color: #c93d20 !important;
  box-shadow: none !important;
  transform: none !important;
}

html body.ltg-home-modern header .nav-cta,
html body.ltg-home-modern header .nav-cta:hover,
html body.ltg-home-modern header .nav-cta:active {
  border: 1px solid #e8542c !important;
  border-radius: 8px !important;
  background: #ef512c !important;
  background-image: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 12px 25px rgba(239,81,44,.2) !important;
}

@media (max-width: 760px) {
  html body.ltg-home-modern header .navlinks > a,
  html body.ltg-home-modern header .nav-dropdown-trigger,
  html body.ltg-home-modern header .navlinks > a:hover,
  html body.ltg-home-modern header .nav-dropdown-trigger:hover,
  html body.ltg-home-modern header .navlinks > a.active,
  html body.ltg-home-modern header .nav-dropdown-trigger.active {
    min-height: 48px !important;
    justify-content: flex-start !important;
    padding: 0 10px !important;
  }

  html body.ltg-home-modern header .navlinks > a.active::after,
  html body.ltg-home-modern header .nav-dropdown-trigger.active::after {
    display: none !important;
  }
}

/* Keep the review totals visually open: only the individual review cards use
   a card surface. */
html body .ltg-home-modern #reviews .rs-summary,
html body #reviews .rs-summary {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* CSS caret avoids character-encoding corruption in deployed HTML. */
body header .nav-dd-caret {
  width: 6px !important;
  height: 6px !important;
  display: inline-block !important;
  border-right: 1.5px solid currentColor !important;
  border-bottom: 1.5px solid currentColor !important;
  transform: rotate(45deg) translateY(-1px) !important;
  transform-origin: center !important;
  opacity: 0.72 !important;
}

body header .nav-dropdown.open .nav-dd-caret,
body header .nav-dropdown:hover .nav-dd-caret,
body header .nav-dropdown:focus-within .nav-dd-caret {
  transform: rotate(225deg) translate(-1px, -1px) !important;
}

/* On phones the carousel controls sit beneath the bag instead of crossing its
   transparent lower edge. */
@media (max-width: 900px) {
  html body .ltg-home-modern .hero-podium-stage .bag-dots,
  html body .hero-podium-stage .bag-dots {
    left: 50% !important;
    top: auto !important;
    bottom: 7px !important;
    transform: translateX(-50%) !important;
    padding: 6px 10px !important;
    gap: 8px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    box-shadow: 0 5px 16px rgba(15, 23, 41, 0.09) !important;
    backdrop-filter: blur(7px);
  }

  html body .hero-podium-stage .hero-main-bag {
    padding-bottom: 38px !important;
  }
}

/* One consistent scroll reveal across public pages, account pages and footer.
   Keep backdrop blur on navigation and dialogs: only content filters change. */
html body .reveal-el,
html.v60-motion-ready body .v60-motion-item {
  filter:none !important;
  transition:opacity .3s ease-out,transform .3s ease-out !important;
  transition-delay:0s !important;
  will-change:opacity,transform !important;
}
html body .reveal-el:not(.in),
html.v60-motion-ready body .v60-motion-item:not(.v60-motion-in) {
  transform:translate3d(0,20px,0) !important;
}
html body .reveal-el.in,
html.v60-motion-ready body .v60-motion-item.v60-motion-in {
  transform:none !important;
  will-change:auto !important;
}
@media(prefers-reduced-motion:reduce) {
  html body .reveal-el:not(.in), html body .reveal-el.in,
  html.v60-motion-ready body .v60-motion-item:not(.v60-motion-in),
  html.v60-motion-ready body .v60-motion-item.v60-motion-in {
    opacity:1 !important; transform:none !important; transition:none !important;
  }
}

/* Homepage reveals should remain visible and deliberate as each section is
   reached, rather than completing off-screen during initial page load. */
html body.ltg-home-modern .reveal-el {
  opacity: 0;
  transform: translate3d(0, 38px, 0) scale(.985);
  filter: blur(3px);
  transition:
    opacity 720ms cubic-bezier(.22, 1, .36, 1),
    transform 820ms cubic-bezier(.22, 1, .36, 1),
    filter 600ms ease;
  will-change: opacity, transform, filter;
}

html body.ltg-home-modern .reveal-el.in {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  will-change: auto;
}

html body.ltg-home-modern .home-prod-grid .reveal-el:nth-child(odd),
html body.ltg-home-modern .vision-grid .reveal-el:nth-child(odd),
html body.ltg-home-modern .obj-grid .reveal-el:nth-child(odd) {
  transform: translate3d(-32px, 24px, 0) scale(.99);
}

html body.ltg-home-modern .home-prod-grid .reveal-el:nth-child(even),
html body.ltg-home-modern .vision-grid .reveal-el:nth-child(even),
html body.ltg-home-modern .obj-grid .reveal-el:nth-child(even) {
  transform: translate3d(32px, 24px, 0) scale(.99);
}

html body.ltg-home-modern :is(
  .home-prod-grid,
  .vision-grid,
  .obj-grid
) .reveal-el.in {
  transform: translate3d(0, 0, 0) scale(1);
}

@media (max-width: 760px) {
  html body.ltg-home-modern .reveal-el,
  html body.ltg-home-modern .home-prod-grid .reveal-el:nth-child(n),
  html body.ltg-home-modern .vision-grid .reveal-el:nth-child(n),
  html body.ltg-home-modern .obj-grid .reveal-el:nth-child(n) {
    transform: translate3d(0, 22px, 0) scale(.99);
    filter: none;
  }

  html body.ltg-home-modern .reveal-el.in {
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.ltg-home-modern .reveal-el,
  html body.ltg-home-modern .reveal-el.in {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

/* Localized Kadawatha gallery heading: long Sinhala and Tamil wording must
   remain inside the editorial header instead of crossing into its summary. */
@media (min-width: 1100px) {
  html:lang(si) body.ltg-home-modern #company .section-head:has(+ #plantGallery),
  html:lang(ta) body.ltg-home-modern #company .section-head:has(+ #plantGallery) {
    grid-template-columns: minmax(0, 1.42fr) minmax(240px, .58fr) !important;
    column-gap: clamp(30px, 3vw, 48px) !important;
  }

  html:lang(si) body.ltg-home-modern #company .section-head:has(+ #plantGallery) h2,
  html:lang(ta) body.ltg-home-modern #company .section-head:has(+ #plantGallery) h2 {
    min-width: 0;
    max-width: 100%;
    font-size: clamp(2.35rem, 3vw, 3.3rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.025em !important;
    overflow-wrap: anywhere;
  }

  html:lang(si) body.ltg-home-modern #company .section-head:has(+ #plantGallery) p,
  html:lang(ta) body.ltg-home-modern #company .section-head:has(+ #plantGallery) p {
    min-width: 0;
    padding-left: 18px !important;
  }
}

@media (min-width: 761px) and (max-width: 1099px) {
  html:lang(si) body.ltg-home-modern #company .section-head:has(+ #plantGallery),
  html:lang(ta) body.ltg-home-modern #company .section-head:has(+ #plantGallery) {
    display: block !important;
  }

  html:lang(si) body.ltg-home-modern #company .section-head:has(+ #plantGallery) h2,
  html:lang(ta) body.ltg-home-modern #company .section-head:has(+ #plantGallery) h2 {
    max-width: 18ch;
    font-size: clamp(2.25rem, 5.8vw, 3.25rem) !important;
    line-height: 1.12 !important;
    overflow-wrap: anywhere;
  }

  html:lang(si) body.ltg-home-modern #company .section-head:has(+ #plantGallery) p,
  html:lang(ta) body.ltg-home-modern #company .section-head:has(+ #plantGallery) p {
    max-width: 48ch;
    margin-top: 20px !important;
    padding-left: 18px !important;
  }
}

@media (max-width: 760px) {
  html:lang(si) body.ltg-home-modern #company .section-head:has(+ #plantGallery) h2,
  html:lang(ta) body.ltg-home-modern #company .section-head:has(+ #plantGallery) h2 {
    max-width: 100%;
    font-size: clamp(1.9rem, 8.8vw, 2.45rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.02em !important;
    overflow-wrap: anywhere;
  }

  html:lang(si) body.ltg-home-modern #company .section-head:has(+ #plantGallery) .tag-pill,
  html:lang(ta) body.ltg-home-modern #company .section-head:has(+ #plantGallery) .tag-pill {
    max-width: 100%;
    white-space: normal;
    line-height: 1.35;
  }
}
