/* All rules are scoped to the signup entry. No theme or billing settings change. */
body.gam-signup-entry-active {
  --gam-entry-height: 76px;
  padding-top: calc(var(--gam-original-padding, 0px) + var(--gam-entry-height)) !important;
}
#gam-signup-entry, #gam-signup-dialog, .gam-signup-chooser {
  --gam-signup-navy: #14243b;
  --gam-signup-orange: #ff6b35;
  --gam-signup-muted: #475569;
  box-sizing: border-box;
  font-family: inherit;
}
#gam-signup-entry *, #gam-signup-dialog *, .gam-signup-chooser * { box-sizing: border-box; }
#gam-signup-entry {
  position: fixed;
  inset: 0 0 auto;
  z-index: 99990;
  background: var(--gam-signup-navy);
  color: #fff;
  padding: 10px max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));
  border-bottom: 1px solid #344359;
  box-shadow: 0 3px 14px #14243b1a;
}
#gam-signup-entry .gam-signup-entry-inner {
  width: 100%; max-width: 1280px; margin: 0 auto;
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
#gam-signup-entry .gam-signup-entry-copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
#gam-signup-entry .gam-signup-entry-copy strong { font-size: 15px; line-height: 1.4; letter-spacing: .025em; color: #fff; }
#gam-signup-entry .gam-signup-entry-copy > span { font-size: 12px; line-height: 1.5; color: #e2e8f0; }
#gam-signup-entry .gam-signup-trigger {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 10px;
  flex: 0 0 auto; min-width: 112px; min-height: 48px; padding: 12px 18px;
  border: 2px solid transparent; border-radius: 12px; background: var(--gam-signup-orange);
  color: var(--gam-signup-navy) !important; font: inherit; font-size: 16px; line-height: 1.25;
  font-weight: 800; text-decoration: none !important; white-space: nowrap;
  cursor: pointer; touch-action: manipulation;
}
#gam-signup-entry .gam-signup-trigger:hover { background: #ff895b; }
#gam-signup-entry .gam-signup-trigger:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
html.gam-signup-open, html.gam-signup-open body { overflow: hidden !important; }
#gam-signup-dialog:not([open]) { display: none !important; }
#gam-signup-dialog[open] { display: block; }
#gam-signup-dialog {
  position: fixed; inset: 0; margin: auto; padding: 32px 20px 24px;
  width: calc(100% - 24px); max-width: 720px; height: fit-content;
  max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px);
  overflow-y: auto; overscroll-behavior: contain;
  border: 1px solid #dbe2ea; border-radius: 22px; background: #fff; color: #14243b;
  box-shadow: 0 24px 80px #07182a55;
}
#gam-signup-dialog::backdrop { background: #0b1729b8; }
#gam-signup-dialog .gam-signup-close {
  position: absolute; top: 10px; right: 10px; display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 44px; padding: 4px; margin: 0; border: 0;
  border-radius: 50%; background: #edf1f5; color: #14243b; font-size: 28px; line-height: 1;
  cursor: pointer; touch-action: manipulation;
}
#gam-signup-dialog .gam-signup-kicker, .gam-signup-chooser .gam-signup-kicker {
  margin: 10px 40px 10px 0; color: #475569; font-size: 11px; font-weight: 800; letter-spacing: .09em;
}
#gam-signup-dialog h2, .gam-signup-chooser h2 {
  margin: 0 28px 12px 0; padding: 0; color: #14243b; font-size: clamp(24px, 4vw, 32px); line-height: 1.2;
}
#gam-signup-dialog #gam-signup-description { margin: 0 0 22px; color: #475569; font-size: 16px; line-height: 1.6; }
#gam-signup-dialog .gam-signup-options { display: grid; grid-template-columns: 1fr; gap: 14px; }
#gam-signup-dialog .gam-signup-role {
  display: flex; flex-direction: column; gap: 10px; padding: 20px; min-width: 0;
  border: 2px solid #cbd5e1; border-radius: 16px; background: #fff; color: #14243b;
  text-decoration: none; line-height: 1.5; text-align: left; touch-action: manipulation;
}
#gam-signup-dialog .gam-signup-role:hover { border-color: #b33a11; background: #fff8f3; }
#gam-signup-dialog .gam-signup-role strong { font-size: 21px; line-height: 1.3; color: #14243b; }
#gam-signup-dialog .gam-signup-role > span:not(.gam-signup-icon):not(.gam-signup-role-cta) { color: #475569; font-size: 15px; }
#gam-signup-dialog .gam-signup-icon {
  display: flex; align-items: center; justify-content: center; width: 40px; height: 40px;
  border-radius: 11px; background: #fff0e8; color: #8e2d0b; font-size: 27px; line-height: 1;
}
#gam-signup-dialog .gam-signup-role-cta {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin-top: auto; min-height: 48px; padding-top: 8px; color: #14243b; font-size: 14px; font-weight: 800;
}
#gam-signup-dialog .gam-signup-note { margin: 18px 0 0; color: #475569; font-size: 13px; line-height: 1.6; }
#gam-signup-dialog :is(a, button):focus-visible, .gam-signup-chooser a:focus-visible {
  outline: 3px solid #14243b; outline-offset: 3px;
}
.gam-signup-chooser { max-width: 900px; margin-inline: auto; }
.gam-signup-chooser .wp-block-button__link { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }
@media (max-width: 359px) { #gam-signup-entry .gam-signup-entry-copy > span { max-width: 145px; font-size: 11px; } }
@media (min-width: 600px) {
  #gam-signup-dialog { padding: 38px 32px 28px; }
  #gam-signup-dialog .gam-signup-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #gam-signup-entry .gam-signup-entry-copy { flex-direction: row; gap: 18px; align-items: center; }
  #gam-signup-entry .gam-signup-entry-copy > span { font-size: 14px; }
}
@media (prefers-reduced-motion: no-preference) {
  #gam-signup-dialog[open] { animation: gam-signup-reveal .18s ease-out both; }
  .gam-signup-chooser { animation: gam-signup-reveal .18s ease-out both; }
  #gam-signup-entry .gam-signup-trigger, #gam-signup-dialog .gam-signup-role { transition: background-color .15s ease, border-color .15s ease; }
}
@keyframes gam-signup-reveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (forced-colors: active) {
  #gam-signup-entry .gam-signup-trigger, #gam-signup-dialog .gam-signup-role { border: 2px solid ButtonText; }
}
@media print { #gam-signup-entry, #gam-signup-dialog { display: none !important; } body.gam-signup-entry-active { padding-top: 0 !important; } }
