/* SANDS mobile UX: compact navigation utilities, installable PWA and touch-aware service cards. */
.sands-mobile-menu-only{display:none!important}
.sands-pwa-install-dialog[hidden]{display:none!important}

@media (max-width:992px){
  html,body{touch-action:pan-x pan-y}

  /* Language lives only inside the hamburger menu on mobile. */
  header .menu_side_area > .sands-language-switcher{display:none!important}
  .sands-mobile-menu-only{display:block!important}

  #mainmenu .sands-mobile-language-nav{
    display:block!important;
    width:100%!important;
    margin:6px 0 0!important;
    padding:14px 0 4px!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
    border-bottom:0!important;
  }
  #mainmenu .sands-mobile-language-nav__panel{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  #mainmenu .sands-mobile-language-nav__header{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    margin:0 0 10px!important;
    padding:0!important;
    color:rgba(255,255,255,.72)!important;
  }
  #mainmenu .sands-mobile-language-nav__icon{
    flex:0 0 32px;
    width:32px;
    height:32px;
    display:grid!important;
    place-items:center;
    border-radius:10px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:13px;
  }
  #mainmenu .sands-mobile-language-nav__header strong{
    margin:0!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:600!important;
    line-height:1.3!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }
  #mainmenu .sands-mobile-language-nav__choices{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px!important;
    width:100%!important;
  }
  #mainmenu .sands-mobile-language-nav__choice{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    min-height:44px!important;
    margin:0!important;
    padding:10px 12px!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.035)!important;
    color:rgba(255,255,255,.78)!important;
    text-decoration:none!important;
    line-height:1.25!important;
  }
  #mainmenu .sands-mobile-language-nav__choice span{
    display:block!important;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:inherit!important;
    font-size:12px!important;
    font-weight:500!important;
  }
  #mainmenu .sands-mobile-language-nav__choice small{
    display:inline-grid!important;
    place-items:center;
    min-width:28px;
    height:24px;
    margin:0!important;
    padding:0 6px!important;
    border-radius:8px;
    background:rgba(255,255,255,.08);
    color:rgba(255,255,255,.6)!important;
    font-size:9px!important;
    font-weight:700!important;
    letter-spacing:.05em!important;
  }
  #mainmenu .sands-mobile-language-nav__choice.is-active{
    border-color:rgba(255,255,255,.28)!important;
    background:rgba(255,255,255,.10)!important;
    color:#fff!important;
  }
  #mainmenu .sands-mobile-language-nav__choice.is-active small{
    background:var(--primary-color)!important;
    color:#fff!important;
  }

  /* PWA entry remains a standard compact menu utility. */
  #mainmenu .sands-mobile-pwa-nav{
    position:relative;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  #mainmenu .sands-mobile-pwa-nav__action{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    min-height:52px;
    padding:10px 42px 10px 0!important;
    color:#fff!important;
    text-decoration:none!important;
  }
  html[dir="rtl"] #mainmenu .sands-mobile-pwa-nav__action{padding:10px 0 10px 42px!important}
  .sands-mobile-nav-icon{
    flex:0 0 34px;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:rgba(255,255,255,.08);
    color:var(--primary-color);
    font-size:14px;
  }
  .sands-mobile-nav-copy{
    min-width:0;
    display:flex;
    flex:1 1 auto;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    text-align:start;
  }
  .sands-mobile-nav-copy strong{font-size:14px;font-weight:600;color:inherit}
  .sands-mobile-nav-copy small{font-size:10px;letter-spacing:.08em;color:rgba(255,255,255,.52);text-transform:uppercase}

  /* Keep the approved vertical service-card layout. On touch devices the image stays clear until the user taps a card. */
  .sands-nano-service-card,
  .sands-ppf-service-card,
  .sands-detailing-service-card{
    transform:none!important;
    -webkit-tap-highlight-color:transparent;
  }
  .sands-nano-service-card .hover-op-1,
  .sands-ppf-service-card .hover-op-1,
  .sands-detailing-service-card .hover-op-1{
    opacity:0!important;
    pointer-events:none!important;
  }
  .sands-nano-service-card .hover-op-0,
  .sands-ppf-service-card .hover-op-0,
  .sands-detailing-service-card .hover-op-0{
    opacity:1!important;
  }
  .sands-nano-service-card .hover-mt-40,
  .sands-ppf-service-card .hover-mt-40,
  .sands-detailing-service-card .hover-mt-40{
    margin-top:40px!important;
  }
  .sands-nano-service-card.is-touch-active .hover-op-1,
  .sands-ppf-service-card.is-touch-active .hover-op-1,
  .sands-detailing-service-card.is-touch-active .hover-op-1{
    opacity:1!important;
    pointer-events:auto!important;
  }
  .sands-nano-service-card.is-touch-active .hover-op-0,
  .sands-ppf-service-card.is-touch-active .hover-op-0,
  .sands-detailing-service-card.is-touch-active .hover-op-0{
    opacity:0!important;
  }
  .sands-nano-service-card.is-touch-active .hover-mt-40,
  .sands-ppf-service-card.is-touch-active .hover-mt-40,
  .sands-detailing-service-card.is-touch-active .hover-mt-40{
    margin-top:0!important;
  }
  .sands-nano-service-card > img,
  .sands-ppf-service-card > img,
  .sands-detailing-service-card > img{
    filter:none!important;
  }

  #mainmenu .sands-mobile-menu-only a.menu-item .sands-mobile-nav-icon{display:grid!important}
  #mainmenu .sands-mobile-menu-only a.menu-item .sands-mobile-nav-copy{display:flex!important}
  #mainmenu .sands-mobile-menu-only a.menu-item .sands-mobile-nav-copy strong,
  #mainmenu .sands-mobile-menu-only a.menu-item .sands-mobile-nav-copy small{display:inline!important}
  .sands-mobile-pwa-nav[hidden]{display:none!important}
}

@media (max-width:430px){
  #mainmenu .sands-mobile-language-nav__choices{grid-template-columns:1fr 1fr}
  #mainmenu .sands-mobile-language-nav__choice{padding-inline:10px!important}
}

.sands-pwa-install-dialog{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:end center;
  padding:18px;
}
.sands-pwa-install-dialog__backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(8px);
}
.sands-pwa-install-dialog__panel{
  position:relative;
  z-index:1;
  width:min(100%,430px);
  padding:28px 24px calc(24px + env(safe-area-inset-bottom));
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:#171717;
  color:#fff;
  text-align:center;
  box-shadow:0 24px 70px rgba(0,0,0,.42);
}
.sands-pwa-install-dialog__icon{
  width:58px;
  height:58px;
  margin:0 auto 14px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:rgba(255,0,38,.12);
  color:var(--primary-color);
  font-size:22px;
}
.sands-pwa-install-dialog__panel h2{margin:0 0 8px;font-size:24px}
.sands-pwa-install-dialog__panel p{margin:0 auto 20px;max-width:330px;color:rgba(255,255,255,.72);line-height:1.7}
.sands-pwa-dialog-open{overflow:hidden}

body.sands-theme-light .sands-pwa-install-dialog__panel{
  background:#fff;
  color:#151515;
  border-color:rgba(0,0,0,.08);
}
body.sands-theme-light .sands-pwa-install-dialog__panel p{color:#666}

@media (max-width:992px){
  #mainmenu .sands-mobile-menu-only a.menu-item .sands-mobile-nav-icon{display:grid!important}
  #mainmenu .sands-mobile-menu-only a.menu-item .sands-mobile-nav-copy{display:flex!important}
  #mainmenu .sands-mobile-menu-only a.menu-item .sands-mobile-nav-copy strong,
  #mainmenu .sands-mobile-menu-only a.menu-item .sands-mobile-nav-copy small,
  #mainmenu .sands-mobile-language-nav__menu a.menu-item > span,
  #mainmenu .sands-mobile-language-nav__menu a.menu-item > small{display:inline!important}
  .sands-mobile-pwa-nav[hidden]{display:none!important}
}


/* v0.1.85 — Prevent sticky mobile hover from activating service-card blur while scrolling. */
@media (max-width:992px){
  body .hover.sands-nano-service-card:not(.is-touch-active) .hover-op-1,
  body .hover.sands-ppf-service-card:not(.is-touch-active) .hover-op-1,
  body .hover.sands-detailing-service-card:not(.is-touch-active) .hover-op-1,
  body .hover.sands-nano-service-card:not(.is-touch-active):hover .hover-op-1,
  body .hover.sands-ppf-service-card:not(.is-touch-active):hover .hover-op-1,
  body .hover.sands-detailing-service-card:not(.is-touch-active):hover .hover-op-1{
    opacity:0!important;
    pointer-events:none!important;
  }

  body .hover.sands-nano-service-card:not(.is-touch-active) .hover-op-0,
  body .hover.sands-ppf-service-card:not(.is-touch-active) .hover-op-0,
  body .hover.sands-detailing-service-card:not(.is-touch-active) .hover-op-0,
  body .hover.sands-nano-service-card:not(.is-touch-active):hover .hover-op-0,
  body .hover.sands-ppf-service-card:not(.is-touch-active):hover .hover-op-0,
  body .hover.sands-detailing-service-card:not(.is-touch-active):hover .hover-op-0{
    opacity:1!important;
  }

  body .hover.sands-nano-service-card:not(.is-touch-active) .hover-mt-40,
  body .hover.sands-ppf-service-card:not(.is-touch-active) .hover-mt-40,
  body .hover.sands-detailing-service-card:not(.is-touch-active) .hover-mt-40,
  body .hover.sands-nano-service-card:not(.is-touch-active):hover .hover-mt-40,
  body .hover.sands-ppf-service-card:not(.is-touch-active):hover .hover-mt-40,
  body .hover.sands-detailing-service-card:not(.is-touch-active):hover .hover-mt-40{
    margin-top:40px!important;
  }

  body .hover.sands-nano-service-card:not(.is-touch-active) .bg-blur,
  body .hover.sands-ppf-service-card:not(.is-touch-active) .bg-blur,
  body .hover.sands-detailing-service-card:not(.is-touch-active) .bg-blur,
  body .hover.sands-nano-service-card:not(.is-touch-active):hover .bg-blur,
  body .hover.sands-ppf-service-card:not(.is-touch-active):hover .bg-blur,
  body .hover.sands-detailing-service-card:not(.is-touch-active):hover .bg-blur{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
  }

  body .hover.sands-nano-service-card:not(.is-touch-active) > img,
  body .hover.sands-ppf-service-card:not(.is-touch-active) > img,
  body .hover.sands-detailing-service-card:not(.is-touch-active) > img,
  body .hover.sands-nano-service-card:not(.is-touch-active):hover > img,
  body .hover.sands-ppf-service-card:not(.is-touch-active):hover > img,
  body .hover.sands-detailing-service-card:not(.is-touch-active):hover > img{
    filter:none!important;
    transform:none!important;
  }

  body .hover.sands-nano-service-card.is-touch-active .hover-op-1,
  body .hover.sands-ppf-service-card.is-touch-active .hover-op-1,
  body .hover.sands-detailing-service-card.is-touch-active .hover-op-1{
    opacity:1!important;
    pointer-events:auto!important;
  }
  body .hover.sands-nano-service-card.is-touch-active .hover-op-0,
  body .hover.sands-ppf-service-card.is-touch-active .hover-op-0,
  body .hover.sands-detailing-service-card.is-touch-active .hover-op-0{
    opacity:0!important;
  }
  body .hover.sands-nano-service-card.is-touch-active .hover-mt-40,
  body .hover.sands-ppf-service-card.is-touch-active .hover-mt-40,
  body .hover.sands-detailing-service-card.is-touch-active .hover-mt-40{
    margin-top:0!important;
  }
}

/* v0.1.99 — Mobile hamburger cleanup: no install entry; languages open as a stacked dropdown. */
@media (max-width:992px){
  #mainmenu .sands-mobile-pwa-nav,
  #mainmenu [data-sands-pwa-menu-item]{display:none!important}

  #mainmenu .sands-mobile-language-nav{
    display:block!important;
    width:100%!important;
    margin:6px 0 0!important;
    padding:12px 0 4px!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
    border-bottom:0!important;
  }
  #mainmenu .sands-mobile-language-dropdown{
    position:relative;
    display:block!important;
    width:100%!important;
    margin:0!important;
  }
  #mainmenu .sands-mobile-language-dropdown__toggle{
    width:100%!important;
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    gap:11px!important;
    margin:0!important;
    padding:8px 10px!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.035)!important;
    color:#fff!important;
    text-align:start!important;
    cursor:pointer;
  }
  #mainmenu .sands-mobile-language-dropdown__copy{
    min-width:0;
    display:flex!important;
    flex:1 1 auto;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
  }
  html[dir="rtl"] #mainmenu .sands-mobile-language-dropdown__copy{align-items:flex-end}
  #mainmenu .sands-mobile-language-dropdown__copy strong{
    display:block!important;
    margin:0!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:600!important;
    line-height:1.3!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }
  #mainmenu .sands-mobile-language-dropdown__copy small{
    display:block!important;
    margin:0!important;
    color:rgba(255,255,255,.58)!important;
    font-size:10px!important;
    font-weight:500!important;
    line-height:1.3!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }
  #mainmenu .sands-mobile-language-dropdown__chevron{
    flex:0 0 8px;
    width:8px;
    height:8px;
    border-inline-end:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg);
    transition:transform .18s ease;
    color:rgba(255,255,255,.7);
    margin-inline:6px 4px;
  }
  #mainmenu .sands-mobile-language-dropdown.is-open .sands-mobile-language-dropdown__chevron{
    transform:rotate(225deg) translate(-2px,-2px);
  }
  #mainmenu .sands-mobile-language-dropdown__menu{
    display:none!important;
    width:100%!important;
    margin:8px 0 0!important;
    padding:0!important;
  }
  #mainmenu .sands-mobile-language-dropdown.is-open .sands-mobile-language-dropdown__menu{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  #mainmenu .sands-mobile-language-dropdown__item{
    width:100%!important;
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin:0!important;
    padding:10px 12px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.025)!important;
    color:rgba(255,255,255,.78)!important;
    text-decoration:none!important;
    line-height:1.3!important;
  }
  #mainmenu .sands-mobile-language-dropdown__item > span{
    display:block!important;
    min-width:0;
    color:inherit!important;
    font-size:12px!important;
    font-weight:500!important;
  }
  #mainmenu .sands-mobile-language-dropdown__item > small{
    display:inline-grid!important;
    place-items:center;
    min-width:30px;
    height:24px;
    margin:0!important;
    padding:0 6px!important;
    border-radius:8px;
    background:rgba(255,255,255,.08);
    color:rgba(255,255,255,.62)!important;
    font-size:9px!important;
    font-weight:700!important;
    letter-spacing:.05em!important;
  }
  #mainmenu .sands-mobile-language-dropdown__item.is-active{
    border-color:rgba(255,255,255,.28)!important;
    background:rgba(255,255,255,.09)!important;
    color:#fff!important;
  }
  #mainmenu .sands-mobile-language-dropdown__item.is-active > small{
    background:var(--primary-color)!important;
    color:#fff!important;
  }
}
