/* Navigation additions are separate from the established page layouts. */
.submenu-toggle {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px
}

.submenu-toggle>.icon {
  width:15px;
  height:15px;
  stroke-width:1.8;
  transform-origin:center;
  transition:transform .2s ease
}

.submenu-toggle[aria-expanded=true]>.icon {
  transform:rotate(180deg)
}

/* Servimat signature: clean logo + typography, following the MOVO reference. */
.topbar {
  padding-top:env(safe-area-inset-top)
}

.brand,.custom-logo-link {
  min-height:44px;
  display:flex;
  align-items:center
}

.site-header {
  top:env(safe-area-inset-top)
}

.admin-bar .site-header {
  top:calc(32px + env(safe-area-inset-top))
}

.servimat-watermark {
  position:fixed;
  z-index:90;
  left:22px;
  left:calc(22px + env(safe-area-inset-left));
  bottom:22px;
  bottom:calc(22px + env(safe-area-inset-bottom));
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  max-width:calc(100vw - 120px);
  min-height:44px;
  justify-content:center;
  padding:0;
  color:rgba(255,255,255,.82);
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  text-decoration:none;
  mix-blend-mode:difference;
  opacity:1;
  transform:translateY(0);
  transition:opacity .28s ease,transform .28s ease,color .24s ease,visibility .28s ease
}

.servimat-watermark::before,.servimat-watermark::after {
  display:none
}

.servimat-watermark-label {
  font-size:7px;
  font-weight:500;
  line-height:1;
  letter-spacing:.17em;
  text-transform:uppercase;
  white-space:nowrap
}

.servimat-watermark-brand {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px
}

.servimat-watermark-brand img {
  width:auto;
  height:25px;
  max-width:56px;
  flex:none;
  object-fit:contain;
  opacity:.88;
  transition:opacity .24s ease,transform .24s ease
}

.servimat-watermark-brand strong {
  font-size:10px;
  font-weight:600;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap
}

.servimat-watermark .icon {
  width:11px;
  height:11px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6
}

.servimat-watermark:hover,.servimat-watermark:focus-visible {
  color:#fff
}

.servimat-watermark:hover .servimat-watermark-brand img,.servimat-watermark:focus-visible .servimat-watermark-brand img {
  opacity:1;
  transform:translateY(-1px)
}

.servimat-watermark:focus-visible,.servimat-credit:focus-visible {
  outline-color:var(--yellow)
}

.servimat-watermark.is-hidden-at-footer {
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  pointer-events:none
}

/* Final footer credit keeps the same restrained MOVO proportions, without a box. */
.servimat-credit-row {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:9px;
  padding:15px 65px 22px 0;
  border:0;
  color:rgba(255,255,255,.42)
}

.servimat-credit-label,.servimat-credit-name {
  font-size:8px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap
}

.servimat-credit {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  flex:none;
  color:rgba(255,255,255,.42);
  background:transparent;
  border:0;
  box-shadow:none;
  text-decoration:none;
  transition:color .25s ease,opacity .25s ease
}

.servimat-credit-logo {
  width:auto;
  height:18px;
  max-width:42px;
  flex:none;
  object-fit:contain;
  opacity:.58;
  transition:opacity .25s ease,transform .25s ease
}

.servimat-credit .icon {
  width:11px;
  height:11px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6
}

.servimat-credit:hover,.servimat-credit:focus-visible {
  color:rgba(255,255,255,.9)
}

.servimat-credit:hover .servimat-credit-logo,.servimat-credit:focus-visible .servimat-credit-logo {
  opacity:1;
  transform:translateY(-1px)
}

.floating-whatsapp {
  right:calc(22px + env(safe-area-inset-right));
  bottom:calc(22px + env(safe-area-inset-bottom))
}

@media(max-width:1000px) {
  .nav-ready .site-navigation.is-open {
    max-height:calc(100vh - 125px);
    max-height:calc(100vh - 125px - env(safe-area-inset-top));
    max-height:calc(100dvh - 125px - env(safe-area-inset-top))
  }
}

@media(max-width:782px) {
  .admin-bar .site-header {
    top:calc(46px + env(safe-area-inset-top))
  }
}

@media(max-width:700px) {
  .header-whatsapp,.menu-toggle {
    min-width:44px;
    min-height:44px
  }

  .servimat-watermark {
    left:15px;
    left:calc(15px + env(safe-area-inset-left));
    bottom:15px;
    bottom:calc(15px + env(safe-area-inset-bottom));
    gap:3px;
    max-width:calc(100vw - 104px)
  }

  .servimat-watermark-label {
    font-size:6px;
    letter-spacing:.14em
  }

  .servimat-watermark-brand img {
    height:21px;
    max-width:48px
  }

  .servimat-watermark-brand strong {
    font-size:9px
  }

  .footer-bottom {
    padding-bottom:24px
  }

  .servimat-credit-row {
    justify-content:center;
    gap:7px;
    padding:15px 0 82px;
    padding-bottom:calc(82px + env(safe-area-inset-bottom));
    text-align:center
  }

  .servimat-credit {
    gap:7px
  }

  .servimat-credit-logo {
    height:17px;
    max-width:40px
  }

  .floating-whatsapp {
    right:17px;
    right:calc(17px + env(safe-area-inset-right));
    bottom:17px;
    bottom:calc(17px + env(safe-area-inset-bottom))
  }

  .footer-links li {
    margin-bottom:0
  }

  .footer-links a {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    padding-block:7px
  }
}

/* Keep the header usable on 320–380 px devices without wrapping the CTA below the logo. */
@media(max-width:380px) {
  .brand,.custom-logo-link {
    width:145px
  }

  .header-whatsapp {
    width:44px;
    padding:0;
    flex:0 0 44px
  }

  .header-whatsapp>span {
    display:none
  }

  .header-whatsapp .icon {
    width:20px;
    height:20px
  }
}

@media(prefers-reduced-motion:reduce) {
  .submenu-toggle>.icon,.servimat-watermark,.servimat-credit,.servimat-watermark-brand img,.servimat-credit-logo {
    transition:none
  }
}

@media(hover:none),(pointer:coarse) {
  .servimat-watermark:hover {
    color:rgba(255,255,255,.82)
  }

  .servimat-watermark:hover .servimat-watermark-brand img {
    opacity:.88;
    transform:none
  }

  .servimat-credit:hover .servimat-credit-logo {
    opacity:.58;
    transform:none
  }

  .servimat-credit:hover {
    color:rgba(255,255,255,.42)
  }
}

@media print {
  .servimat-watermark {
    display:none
  }
}
