/* Coming Soon page — page-specific overrides
   Shared header/phone/footer/floating-button styles are in shared-components.css */

/* Override: position floating button bottom-left on this page */
.floating-phone-button {
  left: 10px;
  right: auto;
  bottom: 10px;
}
@media (max-width:768px) {
  .floating-phone-button {
    left: 10px;
    right: auto;
    bottom: 10px;
    width: 60px;
    height: 60px;
  }
  .floating-phone-button svg {
    width: 30px;
    height: 30px;
  }
}

/* Out-of-area hero */
.ooa-hero{
  min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;
  padding:4rem 1.5rem;background:linear-gradient(135deg,#0f172a 0%,#111827 100%)
}
.ooa-card{
  max-width:760px;margin:0 auto;background:rgba(255,255,255,.06);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:2rem 1.5rem
}
.ooa-title{font-size:2.25rem;line-height:1.2;font-weight:800;color:#fff;margin-bottom:1rem}
.ooa-sub{font-size:1.125rem;color:#d1d5db;line-height:1.6}
.ooa-badgelite{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;background:rgba(59,130,246,.15);color:#93c5fd;font-weight:600;font-size:.95rem}
.ooa-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:1.5rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;padding:.875rem 1.25rem;font-weight:700;transition:all .18s ease;text-decoration:none}
.btn-primary{background:#3B82F6;color:#fff}.btn-primary:hover{background:#2563eb}
.btn-muted{background:#111827;color:#e5e7eb;border:1px solid rgba(229,231,235,.15)}.btn-muted:hover{border-color:#fff;color:#fff}

/* Mini FAQ */
.faq{max-width:860px;margin:2.5rem auto 0;display:grid;gap:12px}
.faq-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:1rem 1.25rem;text-align:left}
.faq-item h3{color:#fff;font-weight:700;margin:0 0 .25rem;font-size:1.05rem}
.faq-item p{color:#d1d5db;margin:0}

/* Footer spacing tweak */
.site-footer .container{padding-top:2rem;padding-bottom:2rem}

/* Mobile menu + overlay (from signup mobile format) */
.mobile-menu { display:none; }
@media (max-width: 1024px){
  .nav { display:none; }
  .mobile-menu { border-top:1px solid #e5e7eb; background:#fff; }
  .mobile-menu.open { display:block; }
  .mobile-menu a { display:block; padding:12px 16px; border-bottom:1px solid #f1f5f9; color:#0f172a; text-decoration:none; }
  .mobile-menu a:hover { background:#f8fafc; }
  .mobile-subgroup { padding-left:12px; }
}
@media (min-width: 1025px){ .mobile-menu { display:none; } }

.mobile-menu-overlay { position:fixed; left:0; right:0; bottom:0; background:rgba(0,0,0,.5); display:none; opacity:0; transition:opacity .3s ease; z-index:39; }
.mobile-menu-overlay.active { display:block; opacity:1; }

/* Mobile industries: hidden until caret clicked (coming-soon specific) */
.mobile-menu .mobile-industries-list{ display:none; }
.mobile-menu .industries-heading.expanded + .mobile-industries-list{ display:block; }
.mobile-menu .industries-heading svg{ transition: transform .2s ease; }
.mobile-menu .industries-heading.expanded svg{ transform: rotate(180deg); }

/* Footer wrapping fixes for very narrow screens */
footer.site-footer .footer-legal{ white-space: normal; overflow-wrap: anywhere; word-break: break-word; line-height:1.4; }
@media (max-width: 360px){ footer.site-footer .footer-legal{ font-size:12px; } }

/* Footer layout hardening */
footer.site-footer .footer-bottom{ gap:.75rem 1rem; align-items:flex-start; }
footer.site-footer .footer-legal{ flex:1 1 100%; width:100%; display:block; }
@media (max-width:1024px){ footer.site-footer .footer-legal{ flex-basis:100%; } }

/* Mobile footer layout to match design */
@media (max-width: 768px){
  footer.site-footer{ background:#0f172a; color:#fff; }
  footer.site-footer .container{ max-width:80rem; margin:0 auto; padding:0 1rem; }
  footer.site-footer .footer-top{ flex-direction:column !important; align-items:center !important; gap:.75rem; }
  footer.site-footer .footer-top a img{ height:32px; width:auto; }
  footer.site-footer .footer-nav{ display:flex !important; flex-direction:column !important; align-items:center !important; gap:.5rem; }
  footer.site-footer .footer-nav a{ color:#fff !important; text-decoration:none; font-weight:700; }
  footer.site-footer .footer-bottom{ flex-direction:column !important; align-items:center !important; text-align:center !important; gap:.75rem; }
  footer.site-footer .footer-bottom::before{ content:''; display:block; width:100%; height:1px; background:rgba(255,255,255,.12); margin:.75rem 0; }
  footer.site-footer .footer-legal{ color:#94a3b8; font-size:12.5px; line-height:1.6; white-space:normal; overflow-wrap:anywhere; word-break:break-word; }
  footer.site-footer .footer-phone{ color:#fff !important; font-weight:700; }
  footer.site-footer .footer-phone svg{ width:16px; height:16px; }
}
