/* Phases 10–13 — shared a11y + overlay demotion (non-home pages; homepage agent must link separately) */

.skip-link{
  position:absolute;
  left:12px;
  top:12px;
  z-index:10000;
  padding:.75rem 1rem;
  background:#07111f;
  color:#fff;
  font-weight:700;
  border-radius:10px;
  transform:translateY(-160%);
  transition:transform .2s ease;
}
.skip-link:focus,
.skip-link:focus-visible{
  transform:translateY(0);
  outline:3px solid #ed0000;
  outline-offset:2px;
}

:focus-visible{
  outline:3px solid #ed0000;
  outline-offset:2px;
}
:focus:not(:focus-visible){
  outline:none;
}

.hp-field{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

.form-status{
  min-height:1.4em;
  margin:12px 0 0;
  font-weight:600;
}
.form-status.is-error{color:#b42318}
.form-status.is-success{color:#067647}
.form-status.is-pending{color:#475467}
#setup-form.is-submitting [type="submit"],
#setup-form.is-submitted [type="submit"]{
  opacity:.72;
  cursor:not-allowed;
}
#setup-form .field.is-invalid input,
#setup-form .field.is-invalid select,
#setup-form .field.is-invalid textarea{
  border-color:#b42318;
}

/* Demote floating controls so they do not cover the first ~700px of content on mobile */
@media (max-width:980px){
  html body .floating-whatsapp,
  html body a.floating-whatsapp,
  html body .mobile-action-bar,
  html body .sticky-conversion-bar,
  html body [class*="elfsight"],
  html body [id*="elfsight"],
  html body iframe[src*="elfsight"],
  html body iframe[src*="reviews"],
  html body .google-reviews-widget,
  html body [data-widget="google-reviews"]{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
    opacity:0!important;
  }
  html body.is-past-hero-safe .floating-whatsapp,
  html body.is-past-hero-safe a.floating-whatsapp,
  html body.is-past-hero-safe .mobile-action-bar{
    display:flex!important;
    visibility:visible!important;
    pointer-events:auto!important;
    opacity:1!important;
  }
  html body.is-past-hero-safe .mobile-action-bar{
    /* Call-only bar stays secondary; never full-bleed over hero */
    left:auto!important;
    right:12px!important;
    bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    max-width:42%!important;
    z-index:40!important;
  }
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}

/* Consent banner (stub / non-home). Hidden until JS sets data-consent-needed */
.zatra-consent-banner[hidden]{display:none!important}
.zatra-consent-banner{
  position:fixed;
  left:12px;
  right:12px;
  bottom:calc(12px + env(safe-area-inset-bottom,0px));
  z-index:50;
  max-width:720px;
  margin:0 auto;
  padding:16px 18px;
  background:#07111f;
  color:#fff;
  border-radius:16px;
  box-shadow:0 16px 40px rgba(7,17,31,.28);
}
.zatra-consent-banner p{
  margin:0 0 12px;
  font-size:.95rem;
  line-height:1.45;
}
.zatra-consent-banner a{color:#fff;text-decoration:underline}
.zatra-consent-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.zatra-consent-actions button{
  border:0;
  border-radius:10px;
  padding:10px 14px;
  font-weight:700;
}
.zatra-consent-accept{background:#ed0000;color:#fff}
.zatra-consent-reject{background:#fff;color:#07111f}
.zatra-consent-prefs{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)!important}
