/* Hosting-only interaction states; original theme remains in site.css. */
.hosting-dialog:not([open]),[hidden]{display:none!important}
.hosting-dialog[open]{display:block;position:fixed;inset:0;margin:auto;transform:none;max-height:90vh;overflow:auto;border:1px solid var(--border);background:var(--background);color:var(--foreground);padding:24px;border-radius:6px;width:min(512px,calc(100% - 32px));height:fit-content}
.hosting-dialog::backdrop{background:var(--overlay)}
.hosting-dialog button[data-close]{position:absolute;right:14px;top:14px}
.nav-menu{display:none}.nav-group:hover .nav-menu,.nav-group:focus-within .nav-menu,.nav-group.is-open .nav-menu{display:block}
.mobile-nav.is-open{display:block}.mobile-nav a{display:block;padding:12px 24px}.mobile-nav summary{padding:12px 24px;cursor:pointer}
.hosting-dialog h2{font-size:28px;margin-bottom:14px}.hosting-dialog p{line-height:1.6}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Correções responsivas: modais centralizados e menu móvel fechado por padrão. */
.hosting-dialog[open] {
  position: fixed;
  inset: 0;
  margin: auto;
  transform: none;
  box-sizing: border-box;
  width: min(620px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 32px);
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.quote-dialog[open] {
  display: block;
  padding: 28px;
}
.quote-dialog[open] .quote-form {
  width: 100%;
  min-width: 0;
}
.quote-dialog[open] .quote-form > * { min-width: 0; }
.quote-dialog[open] textarea { min-height: 108px; }
.mobile-nav { display: none !important; }
.mobile-nav.is-open { display: grid !important; }
@media (max-width: 560px) {
  .hosting-dialog[open] {
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px);
    padding: 22px 18px;
  }
  .quote-dialog[open] h2 { padding-right: 28px; }
  .quote-dialog[open] .quote-form { gap: 12px; }
}


/* FIX DEFINITIVO DO MODAL DE COTACAO: centralizacao independente das classes utilitarias. */
dialog.hosting-dialog#quote-dialog[open] {
  display: block !important;
  position: fixed !important;
  inset: auto !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  box-sizing: border-box !important;
  width: min(620px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100dvh - 32px) !important;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}
dialog.hosting-dialog#quote-dialog::backdrop {
  background: rgba(20, 20, 32, .58);
}
@media (max-width: 560px) {
  dialog.hosting-dialog#quote-dialog[open] {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    padding: 22px 18px !important;
  }
}


/* Centralizacao global de TODAS as modais nativas do site.
   Regra intencionalmente global para corrigir cotacao, busca, contato, idioma e futuras modais. */
dialog[open] {
  display: block !important;
  position: fixed !important;
  inset: 50% auto auto 50% !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  box-sizing: border-box !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100vh - 32px) !important;
  max-height: calc(100dvh - 32px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}
dialog[open]::backdrop {
  background: rgba(20, 20, 32, .58);
}
@media (max-width: 560px) {
  dialog[open] {
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
  }
}


/* v20261111-5: centralizacao aplicada inline pelo site.js ao abrir qualquer dialog.
   Este bloco e um fallback global para todos os dialogs nativos. */
dialog[open] {
  position: fixed !important;
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  box-sizing: border-box !important;
  width: min(620px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100dvh - 32px) !important;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}
dialog[open]::backdrop { background: rgba(20, 20, 32, .58); }
@media (max-width: 560px) {
  dialog[open] { width: calc(100vw - 24px) !important; max-width: calc(100vw - 24px) !important; max-height: calc(100dvh - 24px) !important; }
}
