/* v1_clean_build — Highline Contractors design system */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Montserrat:wght@500;700;800;900&display=swap');

:root {
  --navy: #0a192f;
  --navy-800: #112240;
  --gold: #D4AF37;
  --gold-500: #C5A028;
  --slate: #f8fafc;
  --slate-800: #1e293b;
}

body {
  background-color: #fff;
  color: var(--slate-800);
  font-family: 'Inter', sans-serif;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 { font-family: 'Montserrat', sans-serif; }

@keyframes goldPulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.7); }
  70% { transform: scale(1.02); box-shadow: 0 0 0 12px rgba(212, 175, 55, 0); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(212, 175, 55, 0); }
}

.cta-pulse { animation: goldPulse 2s infinite; }
html { scroll-behavior: smooth; }

*:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

/* Sticky mobile CTA bar (gold) — shown only on mobile */
.sticky-mobile-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(135deg, #D4AF37 0%, #B08D1E 100%);
  color: #0a192f;
  padding: 14px 16px;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
  font-weight: 700;
  font-size: 1rem;
}
.sticky-mobile-cta a {
  color: #0a192f;
  text-decoration: none;
}
@media (min-width: 768px) {
  .sticky-mobile-cta { display: none !important; }
}
/* On handyman page, hide sticky CTA so mini-cart bar is the only bottom bar */
body.page-handyman .sticky-mobile-cta { display: none !important; }

/* Accordion */
.accordion-panel { overflow: hidden; transition: max-height 0.25s ease; max-height: 0; }
.accordion-panel.open { max-height: 30rem; }
.accordion-trigger { cursor: pointer; }

/* Modal overlay */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 25, 47, 0.85);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.modal-overlay.hidden { display: none; }

/* Lightbox: clickable gallery images */
.zoomable { cursor: pointer; }

/* Circular avatar (e.g. Matt headshot) */
.avatar-circle { border-radius: 50%; object-fit: cover; }

/* Footer compact: horizontal on desktop, centered, balanced */
.footer-compact {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  gap: 24px;
  flex-direction: column;
  padding: 2rem 1.5rem;
}
@media (min-width: 768px) {
  .footer-compact {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
}
.footer-contact {
  text-align: center;
}
.footer-contact a { color: inherit; text-decoration: none; }
@media (min-width: 768px) { .footer-compact .footer-contact { text-align: left; } }
.footer-areas {
  text-align: center;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  font-size: 12px;
  line-height: 1.6;
}
@media (min-width: 768px) { .footer-areas { font-size: 13px; } }
.footer-social {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.footer-links a { display: inline-block; }
.footer-small { font-size: 0.875rem; }

/* Typography legibility: avoid tiny fonts for older users */
body { font-size: 1rem; }
p, .text-sm { font-size: 0.9375rem; }
@media (min-width: 768px) {
  p, .text-sm { font-size: 1rem; }
}

/* Unified footer: centered, responsive */
.footer-unified .footer-areas,
.footer-unified-block .footer-areas { font-size: 12px; line-height: 1.6; }
@media (min-width: 768px) {
  .footer-unified .footer-areas,
  .footer-unified-block .footer-areas { font-size: 13px; }
}
.footer-unified-block .footer-areas { text-align: center; max-width: 900px; margin-left: auto; margin-right: auto; }

/* Equal Housing logo: white container so black logo is visible on dark/slate */
.equal-housing-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  padding: 6px 10px;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
.equal-housing-wrap img { height: 28px; width: auto; max-width: 80px; object-fit: contain; }
/* Do NOT use invert on equal-housing when inside white wrap — logo stays dark for contrast */

/* Before/After pill tags */
.tag-before { background: #0a192f; color: #fff; padding: 4px 12px; border-radius: 9999px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; }
.tag-after { background: #D4AF37; color: #0a192f; padding: 4px 12px; border-radius: 9999px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; }

/* LeadConnector chat widget: push above mini-cart bar on mobile */
@media (max-width: 767px) {
  iframe[src*="leadconnector"] { bottom: 90px !important; }
}

/* Disable chat widget on mobile only */
@media (max-width: 767px) {
  iframe[src*="leadconnector"],
  iframe[src*="leadconnectorhq"],
  iframe[src*="widgets.leadconnectorhq.com"] {
    display: none !important;
  }
}
