/* AI Compass Booking Gate. Light skin = agents microsite, dark skin = aicompass.com.au. */
.aic-gate {
  --g-bg: #FFFFFF; --g-fg: #030929; --g-fg2: #5A6577; --g-border: #D1D7E0; --g-focus: #E91E8C;
  --g-btn: #E91E8C; --g-btn-hover: #D4187E; --g-btn-fg: #FFFFFF; --g-error: #B3261E; --g-ok: #0E8A5F;
  --g-font: 'Plus Jakarta Sans', -apple-system, system-ui, sans-serif; --g-radius: 8px;
  font-family: var(--g-font); color: var(--g-fg); max-width: 720px; margin: 0 auto; box-sizing: border-box;
}
.aic-gate[data-theme="dark"] {
  --g-bg: rgba(255,255,255,0.03); --g-fg: #FFFFFF; --g-fg2: #A8B0BA; --g-border: rgba(255,255,255,0.12);
  --g-focus: #E31B23; --g-btn: #E31B23; --g-btn-hover: #FF2A33; --g-btn-fg: #FFFFFF; --g-error: #FF6B6B; --g-ok: #2BD67B;
  --g-font: 'Manrope', system-ui, sans-serif; --g-radius: 4px;
}
.aic-gate *, .aic-gate *::before, .aic-gate *::after { box-sizing: border-box; }
.aic-gate__form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.aic-gate__field { display: flex; flex-direction: column; gap: 7px; }
.aic-gate__field--wide { grid-column: 1 / -1; }
.aic-gate label { font-size: 13px; font-weight: 600; letter-spacing: .02em; color: var(--g-fg); }
.aic-gate label span { color: var(--g-focus); }
.aic-gate input, .aic-gate textarea {
  width: 100%; font: 400 15px/1.4 var(--g-font); color: var(--g-fg); background: var(--g-bg);
  border: 1px solid var(--g-border); border-radius: var(--g-radius); padding: 12px 14px;
  transition: border-color .15s, box-shadow .15s;
}
.aic-gate input::placeholder, .aic-gate textarea::placeholder { color: var(--g-fg2); opacity: .7; }
.aic-gate input:focus, .aic-gate textarea:focus { outline: none; border-color: var(--g-focus); box-shadow: 0 0 0 3px color-mix(in srgb, var(--g-focus) 20%, transparent); }
.aic-gate textarea { min-height: 110px; resize: vertical; }
.aic-gate__hp { position: absolute !important; left: -9999px !important; top: -9999px !important; height: 0; overflow: hidden; }
.aic-gate__turnstile { grid-column: 1 / -1; min-height: 65px; }
.aic-gate__actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.aic-gate__btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px; border: 0; border-radius: var(--g-radius);
  background: var(--g-btn); color: var(--g-btn-fg); font: 600 15px/1 var(--g-font); letter-spacing: .03em; cursor: pointer;
  transition: background .15s, transform .15s;
}
.aic-gate__btn:hover { background: var(--g-btn-hover); transform: translateY(-1px); }
.aic-gate__btn[disabled] { opacity: .6; cursor: progress; transform: none; }
.aic-gate__note { font-size: 13px; color: var(--g-fg2); margin: 0; }
.aic-gate__msg { grid-column: 1 / -1; font-size: 14px; line-height: 1.5; margin: 0; padding: 12px 14px; border-radius: var(--g-radius); display: none; }
.aic-gate__msg--error { display: block; color: var(--g-error); border: 1px solid color-mix(in srgb, var(--g-error) 40%, transparent); }
.aic-gate__msg--ok { display: block; color: var(--g-ok); border: 1px solid color-mix(in srgb, var(--g-ok) 40%, transparent); }
.aic-gate__embed { width: 100%; min-height: 700px; border-radius: var(--g-radius); overflow: hidden; }
.aic-gate__embed iframe { width: 100%; min-height: 700px; border: 0; display: block; }
.aic-gate__head { margin: 0 0 26px; }
.aic-gate__eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--g-focus); margin: 0 0 10px; }
.aic-gate__title { font: 700 24px/1.25 var(--g-font); color: var(--g-fg); margin: 0 0 10px; letter-spacing: -0.01em; }
.aic-gate__intro { margin: 0 0 14px; font-size: 15px; line-height: 1.55; color: var(--g-fg2); max-width: 720px; }
.aic-gate__strip { display: flex; flex-wrap: wrap; gap: 8px 10px; }
.aic-gate__strip span { font-size: 12px; font-weight: 600; color: var(--g-fg2); border: 1px solid var(--g-border); border-radius: 999px; padding: 5px 11px; }
.aic-gate[data-theme="dark"] .aic-gate__strip span { background: rgba(255,255,255,0.03); }
@media (max-width: 640px) { .aic-gate__title { font-size: 20px; } }
@media (max-width: 640px) { .aic-gate__form { grid-template-columns: 1fr; } }
