/* ============================================================
   OUR AGENTS — CHUNK 7 CSS v1.1
   Cookie banner, final polish, accessibility
   ============================================================ */

/* ── COOKIE CONSENT BANNER ───────────────────────────────── */
.oa-cookie-banner {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 9998; /* below WhatsApp button z-index 998, above content */
  background: var(--oa-black);
  border-top: 3px solid var(--oa-green);
  padding: 14px clamp(16px, 4vw, 24px);
  box-shadow: 0 -4px 24px rgba(0,0,0,0.2);
  animation: oa-slide-up 0.4s ease;
}
@keyframes oa-slide-up {
  from { transform: translateY(100%); }
  to   { transform: translateY(0); }
}
.oa-cookie-banner__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.oa-cookie-banner__text { flex: 1; min-width: 220px; }
.oa-cookie-banner__text strong { display: block; color: white; font-size: 0.88rem; margin-bottom: 3px; }
.oa-cookie-banner__text p { color: rgba(255,255,255,0.7); font-size: 0.78rem; margin: 0; line-height: 1.5; }
.oa-cookie-banner__text a { color: var(--oa-green); text-decoration: underline; }
.oa-cookie-banner__actions { display: flex; gap: 9px; flex-shrink: 0; }

/* When cookie banner is visible, push WhatsApp button up */
body.has-cookie-banner .oa-whatsapp-float {
  bottom: calc(80px + 16px);
}
@supports (padding-bottom: env(safe-area-inset-bottom)) {
  body.has-cookie-banner .oa-whatsapp-float {
    bottom: calc(80px + 16px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 600px) {
  .oa-cookie-banner__inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  .oa-cookie-banner__actions { width: 100%; }
  .oa-cookie-banner__actions .oa-btn { flex: 1; justify-content: center; }
  .oa-cookie-banner { padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px)); }
}

/* ── GLOBAL POLISH ───────────────────────────────────────── */

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Focus styles — accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--oa-green);
  outline-offset: 3px;
  border-radius: 3px;
}

/* Selection colour */
::selection { background: rgba(17,118,112,0.2); color: var(--oa-black); }

/* Image lazy load fade */
img[loading="lazy"] { opacity: 0; transition: opacity 0.4s ease; }
img[loading="lazy"].loaded,
img.loaded { opacity: 1; }

/* Scroll margin for anchored sections */
[id] { scroll-margin-top: 84px; }
@media (max-width: 767px) { [id] { scroll-margin-top: 68px; } }

/* ── PRINT STYLES ────────────────────────────────────────── */
@media print {
  .oa-header,
  .oa-footer,
  .oa-cookie-banner,
  .oa-whatsapp-float,
  #wpadminbar { display: none !important; }
  body { padding-bottom: 0 !important; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 0.8em; color: #666; }
}

/* ── GLOBAL OVERFLOW PROTECTION ──────────────────────────── */
/* Belt-and-braces — catches any remaining overflow sources */
.oa-container,
.oa-prop-single__layout,
.oa-two-col-form,
.oa-contact-grid,
.oa-about-mission,
.oa-btp__inner,
.oa-why__inner,
.oa-recruit__inner {
  min-width: 0;
}

/* ── TAP TARGET SAFETY ───────────────────────────────────── */
/* Ensure all interactive elements meet 44px minimum tap target */
.oa-btn, button, [role="button"] { min-height: 44px; }
.oa-mobile-nav__link { min-height: 48px; display: flex; align-items: center; }
.oa-dropdown__link { min-height: 40px; display: flex; align-items: center; }

/* ── CARD EDGE BREATHING ROOM ────────────────────────────── */
@media (max-width: 400px) {
  .oa-prop-sidebar-card,
  .oa-form-card,
  .oa-review-card,
  .oa-valuation-card {
    padding: 16px;
  }
}
