/* Static conversion helpers. Keeps the visual effects without React/Next.js. */
html{scroll-behavior:smooth}

/* WOW-style scroll reveal (original animate.css keyframes are already bundled locally). */
.wow{visibility:hidden}
.wow.animated{visibility:visible;animation-fill-mode:both}
@media (prefers-reduced-motion:reduce){
  .wow{visibility:visible!important;animation:none!important}
  [data-bottom-top],[data-top-bottom]{transform:none!important}
}

/* Static mobile navigation */
@media(max-width:1199px){
  #W3Menu{transition:.3s ease}
  #W3Menu.static-open{left:0!important;transform:translateX(0)!important;visibility:visible!important;opacity:1!important;display:block!important}
  .menu-close.static-open{display:block!important;opacity:1!important;visibility:visible!important}
  .header-nav .sub-menu,.header-nav .mega-menu{display:none}
  .header-nav li.static-sub-open>.sub-menu,.header-nav li.static-sub-open>.mega-menu{display:block!important}
}

/* Generic offcanvas support without Bootstrap JS */
.dz-offcanvas{transition:transform .3s ease,visibility .3s ease!important}
.dz-offcanvas.static-show{visibility:visible!important;transform:none!important;display:block!important;z-index:1050}
.static-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1040}

/* Accordion support */
.accordion-collapse{display:none}
.accordion-collapse.show{display:block}

/* Service cards */
.dz-flex-item{cursor:pointer}
.dz-flex-item.static-active{z-index:2}

/* Lightweight modal used by product Quick View buttons */
.static-modal{position:fixed;inset:0;z-index:1080;display:none;align-items:center;justify-content:center;padding:20px}
.static-modal.show{display:flex}
.static-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.static-modal-dialog{position:relative;z-index:1;width:min(900px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 25px 80px rgba(0,0,0,.25)}
.static-modal-close{position:absolute;right:14px;top:10px;z-index:3;border:0;background:#fff;width:40px;height:40px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 3px 15px rgba(0,0,0,.12)}
.static-modal-body{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:34px}
.static-modal-body img{width:100%;height:auto;display:block;border-radius:12px}
@media(max-width:767px){.static-modal-body{grid-template-columns:1fr;padding:24px}}

/* Simple static before/after support if an after image is available later. */
.static-compare{position:relative;overflow:hidden;touch-action:none;user-select:none}
.static-compare>img{display:block;width:100%;height:auto}
.static-compare .static-compare-after{position:absolute;inset:0;width:50%;overflow:hidden}
.static-compare .static-compare-after img{width:200%;max-width:none;height:100%;object-fit:cover}
.static-compare-handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.12);transform:translateX(-50%);cursor:ew-resize}
.static-compare-handle:after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111;font-size:18px;box-shadow:0 4px 18px rgba(0,0,0,.2)}

/* v3 restored original-style interactions */
.dz-accordion .accordion-button::after{transition:transform .35s ease,opacity .35s ease,color .35s ease!important;transform:rotate(45deg)!important;transform-origin:center}
.dz-accordion .accordion-button.collapsed::after{transform:rotate(0deg)!important}
.accordion-collapse{display:block!important}
.static-filter-hidden{display:none!important}
.static-filter-pop{animation:staticFilterPop .3s ease both}
@keyframes staticFilterPop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.before-after-slider{touch-action:none;cursor:ew-resize;overflow:hidden}
.before-after-slider__first-photo-container img,.before-after-slider__second-photo-container img{display:block;height:auto}
.before-after-slider__second-photo-container{left:0;height:100%;overflow:hidden}
.before-after-slider__delimiter{z-index:5;cursor:ew-resize;transform:translateX(-50%);touch-action:none}
.before-after-slider__delimiter:focus{outline:2px solid var(--bs-primary);outline-offset:3px}
