/* SR-22 Insurance - Global Upgrade CSS - Part C (Responsive + Misc) */

/* ---- Footer upgrade ---- */
.site-footer{background:#0f1f3d;color:rgba(255,255,255,.7);padding:60px 0 0;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08);}
.footer-brand__logo{display:flex;align-items:center;gap:12px;margin-bottom:16px;text-decoration:none;}
.footer-logo-mark{width:44px;height:44px;background:linear-gradient(135deg,var(--color-primary-light),var(--color-accent));border-radius:10px;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1;flex-shrink:0;}
.footer-logo-mark .sr{color:white;font-weight:900;font-size:12px;font-family:var(--font-sans);}
.footer-logo-mark .t2{color:#fbbf24;font-weight:900;font-size:10px;font-family:var(--font-sans);}
.footer-brand-name{font-weight:800;color:white;font-size:.95rem;font-family:var(--font-sans);}
.footer-desc{font-size:.87rem;line-height:1.7;margin-bottom:20px;max-width:280px;}
.footer-social{display:flex;gap:10px;}
.footer-social a{width:36px;height:36px;background:rgba(255,255,255,.08);border-radius:8px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:.85rem;transition:all .2s;text-decoration:none;}
.footer-social a:hover{background:var(--color-primary-light);color:white;}
.footer-col h4{color:white;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;font-family:var(--font-sans);}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.footer-col ul li a{color:rgba(255,255,255,.6);font-size:.87rem;transition:color .2s;}
.footer-col ul li a:hover{color:white;}
.footer-newsletter p{font-size:.87rem;margin-bottom:14px;line-height:1.6;}
.footer-newsletter-form{display:flex;gap:8px;}
.footer-newsletter-input{flex:1;padding:11px 14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);color:white;font-size:.87rem;outline:none;font-family:var(--font-sans);}
.footer-newsletter-input::placeholder{color:rgba(255,255,255,.35);}
.footer-newsletter-input:focus{border-color:rgba(255,255,255,.4);}
.footer-newsletter-btn{padding:11px 18px;background:var(--color-accent);color:white;border:none;border-radius:var(--radius-sm);font-weight:700;font-size:.83rem;cursor:pointer;white-space:nowrap;font-family:var(--font-sans);transition:background .2s;}
.footer-newsletter-btn:hover{background:#d4521e;}
.footer-bottom{padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.footer-bottom p{font-size:.78rem;color:rgba(255,255,255,.4);margin:0;}
.footer-legal{display:flex;gap:20px;}
.footer-legal a{font-size:.78rem;color:rgba(255,255,255,.4);transition:color .2s;}
.footer-legal a:hover{color:rgba(255,255,255,.7);}

/* ---- Back to top ---- */
.back-to-top{position:fixed;bottom:28px;right:28px;width:46px;height:46px;background:var(--color-primary);color:white;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(26,58,107,.35);opacity:0;visibility:hidden;transform:translateY(12px);transition:all .28s ease;z-index:500;font-size:1rem;}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:var(--color-accent);transform:translateY(-2px);}

/* ---- Newsletter subscribe msg ---- */
.nl-msg{margin-top:10px;font-size:.82rem;font-weight:600;min-height:20px;}
.nl-msg.ok{color:#6ee7b7;}
.nl-msg.err{color:#fca5a5;}

/* ---- Footer Address Bar ---- */
.footer-address-bar{display:flex;gap:32px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06);flex-wrap:wrap;}
.footer-address-item{display:flex;align-items:center;gap:8px;font-size:.82rem;color:rgba(255,255,255,.55);}
.footer-address-item span{font-size:1rem;}
.footer-address-item a{color:rgba(255,255,255,.7);font-weight:600;transition:color .2s;}
.footer-address-item a:hover{color:white;}
@media(max-width:600px){.footer-address-bar{flex-direction:column;gap:10px;align-items:flex-start;}}

/* ---- Post card fix ---- */
.posts-grid--3{grid-template-columns:repeat(3,1fr);}

/* ---- Responsive ---- */
@media(max-width:1100px){
  .calc-grid{grid-template-columns:1fr;}
  .calc-result-card{position:static;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr;}
  .faq-grid{grid-template-columns:1fr;}
  .state-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}
  .posts-grid--3{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .footer-grid{grid-template-columns:1fr;gap:28px;}
  .footer-newsletter-form{flex-direction:column;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .state-toolbar-inner{flex-direction:column;align-items:stretch;}
  .state-search-input,.state-filter-select{width:100%;}
  .form-row{grid-template-columns:1fr;}
  .posts-grid--3{grid-template-columns:1fr;}
  .calc-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .hero-trust-bar{gap:14px;}
}
@media(max-width:480px){
  .faq-cats{gap:6px;}
  .faq-question{font-size:.88rem;padding:16px 18px;}
  .state-stats-bar{gap:20px;}
}
