/* Research-use entry. Presentation only: original copy, controls and consent stay intact. */
#age-gate {
  padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  background: radial-gradient(ellipse at 50% -12%, #8d263040, transparent 55%), #08090bf2;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  overscroll-behavior: contain;
}
#age-gate .age-gate-card {
  position: relative;
  width: min(640px, 100%);
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  margin: auto;
  padding: 26px 32px 24px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #653139 #111114;
  border: 1px solid #94545a66;
  border-top: 3px solid #ee3349;
  border-radius: 12px;
  color: #f5f2ea;
  background: radial-gradient(ellipse at 100% 0, #bd203120, transparent 48%), linear-gradient(160deg, #171519, #111114 56%);
  box-shadow: 0 28px 100px #000b, 0 0 0 1px #0009;
  text-align: start;
  isolation: isolate;
}
#age-gate .age-gate-mark {
  float: right;
  width: 54px;
  height: 54px;
  margin: 2px 0 14px 18px;
  padding: 8px;
  border: 1px solid #b449553d;
  border-radius: 10px;
  background: #a72a3612;
}
#age-gate .age-gate-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: none;
  opacity: 1;
}
#age-gate .age-gate-eyebrow {
  margin: 2px 0 10px;
  color: #ff7383;
  font: 600 10px/1.5 var(--mono, monospace);
  letter-spacing: .12em;
  text-transform: uppercase;
}
#age-gate .age-gate-title {
  margin: 0 0 16px;
  color: #f5f2ea;
  font-family: var(--display, sans-serif);
  font-size: clamp(29px, 3.2vw, 42px);
  font-weight: 650;
  line-height: 1.04;
  letter-spacing: -.055em;
  text-wrap: balance;
}
#age-gate .age-gate-copy { clear: both; }
#age-gate .age-gate-copy > p {
  margin: 0 0 16px;
  color: #bdbbc2;
  font-size: 13px;
  line-height: 1.65;
}
#age-gate .age-gate-terms {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
  border-top: 1px solid #ffffff24;
  counter-reset: gate-statement;
}
#age-gate .age-gate-terms li {
  position: relative;
  counter-increment: gate-statement;
  padding: 11px 0 11px 34px;
  border-bottom: 1px solid #ffffff14;
  color: #e8e5e0;
  font-size: 13px;
  line-height: 1.5;
}
#age-gate .age-gate-terms li::before {
  content: counter(gate-statement, decimal-leading-zero);
  position: absolute;
  top: 13px;
  left: 0;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: none;
  color: #ed6576;
  font: 500 10px/1.5 var(--mono, monospace);
  letter-spacing: .03em;
}
#age-gate .age-gate-terms strong { color: #fff9ee; font-weight: 650; }
#age-gate .gate-updates,
#age-gate .gate-updates-done {
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid #ffffff14;
  border-radius: 8px;
  background: #ffffff05;
  color: #c4c1c8;
}
#age-gate .gate-updates-head {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin: 0 0 10px;
  color: #f3efe7;
  font-size: 12px;
  line-height: 1.5;
}
#age-gate .gate-updates-head span { color: #b7b3bd; }
#age-gate .gate-updates-row { margin: 0 0 7px; }
#age-gate .gate-updates-field input {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #ffffff2b;
  border-radius: 2px;
  color: #f5f2ea;
  background: #090a0d;
  font-size: 16px;
  line-height: 1.4;
  box-shadow: none;
}
#age-gate .gate-updates-field input::placeholder { color: #a8a4b0; opacity: 1; }
#age-gate .gate-updates-consent {
  align-items: flex-start;
  min-height: 44px;
  margin: 5px 0 0;
  padding: 8px 0 4px;
  color: #c4c1c9;
  font-size: 12px;
  line-height: 1.5;
}
#age-gate .gate-updates-consent input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 1px 10px 0 0;
  accent-color: #dc2940;
  color-scheme: dark;
}
#age-gate [data-gate-updates-sms] .gate-updates-consent > span { color: #c4c1c9; font-size: 12px; }
#age-gate .gate-updates-note { margin: 0; color: #aca8b2; font-size: 11px; line-height: 1.5; }
#age-gate .gate-updates-note a { color: #e1dce2; text-underline-offset: 3px; }
#age-gate .gate-updates-error { margin: 8px 0 0; color: #ff8796; font-size: 12px; }
#age-gate .age-gate-actions { display: flex; gap: 10px; margin: 0; }
#age-gate .age-gate-actions .button {
  min-height: 48px;
  padding: 13px 18px;
  border-radius: 6px !important;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0;
  white-space: normal;
  box-shadow: none;
}
#age-gate .age-gate-actions .button-primary {
  flex: 1 1 260px;
  border: 1px solid #d52a40 !important;
  background: #cb2138 !important;
  color: #fff9f4 !important;
}
#age-gate .age-gate-actions .button-primary:hover { background: #df3048 !important; border-color: #ed465b !important; }
#age-gate .age-gate-actions .button-secondary {
  flex: 0 1 140px;
  border: 1px solid #ffffff30;
  background: #ffffff04;
  color: #e7e3df;
}
#age-gate .age-gate-actions .button-secondary:hover { background: #ffffff0d; border-color: #ffffff65; }
#age-gate .age-gate-note { margin: 12px 0 0; color: #aca8b3; font-size: 11px; line-height: 1.55; }
#age-gate .auto-language {
  width: 100%;
  margin: 0 0 20px;
  padding: 0 0 14px;
  border-bottom: 1px solid #ffffff14;
  color: #d1ccd4;
}
#age-gate .auto-language label { display: flex; justify-content: space-between; gap: 8px 16px; font-size: 11px !important; }
#age-gate .auto-language select {
  width: min(280px, 65%);
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 8px 28px 8px 12px;
  border: 1px solid #ffffff2b;
  border-radius: 2px;
  background: #090a0d;
  color: #e9e4df;
  font-size: 16px;
  color-scheme: dark;
}
#age-gate .auto-language-status { max-width: none; color: #c9c4ce; font-size: 11px; }
#age-gate .auto-language-retry { min-height: 36px; border-color: #803744; background: #36171f; color: #fff0f2; }
#age-gate :is(button, input, select, a):focus-visible { outline: 2px solid #ff7387; outline-offset: 3px; }
@media (max-width: 520px) {
  #age-gate { padding: max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom)); }
  #age-gate .age-gate-card {
    max-height: calc(100vh - 20px);
    max-height: calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    padding: 18px 20px;
  }
  #age-gate .age-gate-mark { width: 42px; height: 42px; margin-left: 12px; }
  #age-gate .age-gate-title { margin-bottom: 13px; font-size: 31px; }
  #age-gate .age-gate-eyebrow { font-size: 9px; letter-spacing: .08em; margin-bottom: 8px; }
  #age-gate .age-gate-copy > p { margin-bottom: 12px; font-size: 12px; line-height: 1.6; }
  #age-gate .age-gate-terms { margin-bottom: 14px; }
  #age-gate .age-gate-terms li { padding: 9px 0 9px 28px; font-size: 12px; }
  #age-gate .age-gate-terms li::before { top: 11px; }
  #age-gate .gate-updates { padding: 12px; margin-bottom: 14px; }
  #age-gate .auto-language { margin-bottom: 16px; padding-bottom: 12px; }
  #age-gate .auto-language select { width: 65%; font-size: 16px; }
  #age-gate .age-gate-actions { gap: 8px; }
  #age-gate .age-gate-actions .button-primary { flex-basis: 100%; }
  #age-gate .age-gate-actions .button-secondary { flex-basis: 100%; }
}
@media (max-height: 600px) and (min-width: 521px) {
  #age-gate .age-gate-card { padding-block: 18px; }
  #age-gate .auto-language { margin-bottom: 14px; padding-bottom: 10px; }
  #age-gate .age-gate-title { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  #age-gate .age-gate-card { animation: none; }
}
@media (forced-colors: active) {
  #age-gate .age-gate-card, #age-gate .gate-updates { border-color: CanvasText; }
  #age-gate .age-gate-terms li::before { color: CanvasText; }
}
/* Keep compact language row above the translation widget's mobile defaults. */
#age-gate .age-gate-card .auto-language label{display:flex;align-items:center}
#age-gate .age-gate-card .auto-language select{margin-top:0;width:min(280px,65%)}
