html.agegate-lock, html.agegate-lock body { overflow: hidden !important; }

.agegate-overlay {
  position: fixed; inset: 0; z-index: 2147483000;
  display: flex; align-items: center; justify-content: center;
  padding: 16px; background: #272a33;
}
.agegate-modal {
  background: #fff; color: #222; width: 100%; max-width: 700px;
  padding: 40px 40px 36px; text-align: center;
  box-shadow: 0 10px 40px rgba(0,0,0,.35);
  max-height: calc(100vh - 32px); overflow-y: auto;
}
.agegate-title { font-size: 1.25rem; margin: 0 0 1.5rem; }
.agegate-text { font-size: 1rem; line-height: 1.45; }
.agegate-text p { margin: 0 0 1rem; }

.agegate-selects { display: flex; justify-content: center; gap: 4px; margin: 1.75rem 0; }
.agegate-selects select {
  width: 100px; height: 148px; padding: 0 8px;
  border: 1px solid #c8c8c8; background: #fff; color: #222;
  font-size: 1.6rem; text-align: center; text-align-last: center;
  cursor: pointer; border-radius: 0;
}
.agegate-selects select:focus { outline: 2px solid #888; outline-offset: 1px; }

.agegate-error { color: #c0392b; font-weight: 600; margin: 0 0 1rem; }
.agegate-btn {
  border: 0; color: #fff; padding: 12px 22px; font-size: 1rem; cursor: pointer;
  transition: opacity .2s;
}
.agegate-btn:hover { opacity: .85; }

@media (max-width: 480px) {
  .agegate-modal { padding: 28px 18px; }
  .agegate-selects select { width: 31%; height: 90px; font-size: 1.15rem; }
}
