.site-mobile-controls {
  display: none;
}

.site-mobile-menu[hidden] {
  display: none !important;
}

.site-mobile-controls button,
.site-view-toggle {
  min-height: 40px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #123b5d;
  padding: 8px 11px;
  font: 600 14px/1.2 system-ui, sans-serif;
  cursor: pointer;
}

.site-view-toggle {
  display: none;
}

.site-mobile-menu {
  display: none;
}

@media (max-width: 767px) {
  .contact-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-layout > *,
  .contact-layout form,
  .contact-layout input,
  .contact-layout select,
  .contact-layout textarea {
    min-width: 0;
    max-width: 100%;
  }

  .contact-layout p {
    overflow-wrap: anywhere;
  }

  .site-mobile-controls {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
  }

  .site-mobile-menu:not([hidden]) {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 51;
    display: grid;
    width: 100%;
    max-height: calc(100dvh - 72px);
    overflow-y: auto;
    gap: 2px;
    padding: 10px 24px 18px;
    border-top: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 12px 18px #123b5d1a;
  }

  .site-mobile-link {
    display: block;
    padding: 12px 8px;
    color: #1f2937;
    font-weight: 600;
    text-decoration: none;
  }

  .site-mobile-link:hover,
  .site-mobile-link:focus-visible {
    color: #1769aa;
    background: #eff6ff;
    outline: none;
  }

  .site-view-toggle {
    display: inline-flex;
    align-items: center;
    margin: 8px;
  }

  nav a[href*="wa.me"] {
    gap: 0 !important;
    padding-right: 11px !important;
    padding-left: 11px !important;
    font-size: 0 !important;
  }

  nav a[href*="wa.me"] i {
    font-size: 19px;
  }
}

html[data-site-view="desktop"] .site-mobile-controls {
  display: none;
}

html[data-site-view="desktop"] .site-view-toggle {
  position: fixed;
  bottom: max(12px, env(safe-area-inset-bottom));
  left: max(12px, env(safe-area-inset-left));
  z-index: 60;
  display: inline-flex;
  align-items: center;
  box-shadow: 0 2px 12px #123b5d24;
}