/* Adapted from daisyUI's Footer with a form: columns + a joined input/button. */
.site-footer { padding:0 5.2%; background:#101222; color:#e9edf6; border-top:1px solid #303249; }
.site-footer .footer-shell { max-width:1200px; margin:auto; }
.site-footer .footer-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:34px 0; border-bottom:1px solid #303249; }
.site-footer .brand-dot { color:#b9b0ff; }
.site-footer .footer-intro p { margin:0; color:#aeb4ca; font-size:13px; }
.site-footer .footer { display:grid; grid-template-columns:1fr .8fr .65fr minmax(330px,1.7fr); gap:36px; padding:44px 0; align-items:start; }
.site-footer .footer nav { display:grid; justify-items:start; align-content:start; gap:12px; }
.site-footer .footer-title { margin:0 0 8px; color:#aeb4ca; font:500 10px/1.5 var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.site-footer .footer nav a { color:#e4e5ef; font-size:12px; line-height:1.6; }
.site-footer .footer-form-panel { min-width:0; }
.site-footer .footer-form-heading { margin:0 0 9px; color:#f4f3ff; font:500 25px/1.2 var(--display); letter-spacing:-.02em; }
.site-footer .footer-form-description { margin:0 0 18px; color:#b5b9cf; font-size:12px; line-height:1.7; }
.site-footer #footer-contact-form { margin:0; min-width:0; }
.site-footer #footer-contact-form > label { display:block; margin:0 0 8px; font-size:11px; font-weight:500; }
.site-footer .footer-join { display:flex; width:100%; align-items:stretch; border:1px solid #76718e; border-radius:8px; background:#191b30; }
.site-footer .footer-join:focus-within { border-color:#c9bfff; box-shadow:0 0 0 3px #b9b0ff25; }
.site-footer .footer-join input { flex:1; min-width:0; width:0; margin:0; padding:14px 12px; background:transparent; border:0; border-radius:8px 0 0 8px; color:#fff; font:400 13px/1.5 var(--sans); outline:none; }
.site-footer .footer-join input::placeholder { color:#a2a6bd; }
.site-footer .footer-join button { display:flex; align-items:center; justify-content:center; gap:9px; flex-shrink:0; margin:3px; padding:12px; border:0; border-radius:5px; background:#b9b0ff; color:#17162e; font:600 11px/1.5 var(--sans); transition:background .18s; }
.site-footer .footer-join button:hover:not(:disabled) { background:#d2cbff; }
.site-footer .footer-join button:disabled { opacity:.6; cursor:not-allowed; }
.site-footer .footer-join .direction-icon { width:16px; height:16px; }
.site-footer .footer-security { margin-top:12px; }
.site-footer #footer-verification-status { margin:0; color:#aaaec4; font-size:10px; line-height:1.6; }
.site-footer #footer-verify { padding:8px 11px; margin:8px 0; border:1px solid #a99be7; border-radius:5px; background:transparent; color:#d6ceff; font-size:11px; }
.site-footer #footer-turnstile:not(:empty) { margin-top:8px; }
.site-footer .footer-form-status { margin:12px 0 0; color:#b6eadb; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.site-footer .footer-form-status:empty { display:none; }
.site-footer .footer-form-status.error { color:#ffd6b6; }
.site-footer .footer-form-privacy,.site-footer .footer-form-alternative { color:#b5b9cf; font-size:10px; line-height:1.7; margin:12px 0 0; }
.site-footer .footer-form-privacy a,.site-footer .footer-form-alternative a { color:#ded7ff; text-decoration:underline; text-underline-offset:3px; }
.site-footer .footer-bottom { border-color:#303249; color:#aeb4ca; }
@media(max-width:1100px) {
  .site-footer .footer { grid-template-columns:1fr 1fr 1fr; gap:30px; }
  .site-footer .footer-form-panel { grid-column:1/-1; max-width:540px; width:100%; padding-top:26px; border-top:1px solid #303249; }
}
@media(max-width:600px) {
  .site-footer { padding:0 6%; }
  .site-footer .footer-intro { align-items:flex-start; flex-direction:column; gap:14px; padding:28px 0; }
  .site-footer .footer { grid-template-columns:1fr 1fr; gap:30px 20px; padding:32px 0; }
  .site-footer .footer-form-panel { grid-column:1/-1; }
  .site-footer .footer-join input { font-size:16px; padding:13px 10px; }
  .site-footer .footer-join button { padding:11px 9px; }
  .site-footer .footer-join button .direction-icon { display:none; }
  .site-footer .footer-form-heading { font-size:25px; }
}
