/* V43 — bloqueio visual robusto para desktop e bloqueio total de zoom */

/* Bloqueio global de zoom e duplo toque */
html,
body,
.site,
.overlay,
.modal-overlay,
.modal-card,
.modal-body,
.modal-head,
.promo-visual,
.promo-visual img,
#promoLayer,
#promoLayer *,
#scratchLayer,
#scratchLayer *,
#retryLayer,
#retryLayer *,
#resultLayer,
#resultLayer * {
  touch-action: pan-y !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

*,
*::before,
*::after {
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

/* Elementos clicáveis */
button,
a,
.gold-btn,
.modal-close,
.gallery-heart,
.choice-card,
.bump-slide {
  touch-action: manipulation !important;
}

/* Canvas da raspadinha não deve navegar */
#scratchCanvas,
.scratch-canvas {
  touch-action: none !important;
}

/* Evita que o iOS faça zoom ao focar em campos de texto */
input,
select,
textarea,
.field,
#cepGateInput {
  font-size: 16px !important;
}

#desktopGuard {
  display: none;
}

@media (min-width: 769px) {
  html,
  body {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #020202 !important;
  }

  html.desktop-blocked body > *:not(#desktopGuard),
  body > *:not(#desktopGuard) {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #desktopGuard {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    display: flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    align-items: center !important;
    justify-content: center !important;
    background: #020202 !important;
    color: #fff !important;
    padding: 32px !important;
    box-sizing: border-box !important;
    font-family: Arial, Helvetica, sans-serif !important;
    text-align: center !important;
  }

  .desktop-guard-card {
    width: min(420px, calc(100vw - 48px));
    display: grid;
    justify-items: center;
    gap: 12px;
  }

  .desktop-guard-phone {
    width: 54px;
    height: 54px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 16px;
    display: grid;
    place-items: center;
    margin-bottom: 5px;
  }

  .desktop-guard-phone svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .desktop-guard-card strong {
    font-size: 21px;
    line-height: 1.15;
    letter-spacing: -.25px;
  }

  .desktop-guard-card span {
    max-width: 340px;
    color: rgba(255,255,255,.62);
    font-size: 12px;
    line-height: 1.55;
  }

  .desktop-guard-label {
    margin-top: 6px;
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    color: rgba(255,255,255,.5) !important;
    font-size: 9px !important;
    font-weight: 900;
    letter-spacing: 1.3px;
  }
}

/* JS também aplica a classe imediatamente, inclusive durante resize. */
html.desktop-blocked,
html.desktop-blocked body {
  background: #020202 !important;
  overflow: hidden !important;
}
