/* === Footer ================================================= */
/* === Footer ============================================ */
.site-footer{background:linear-gradient(160deg,#003399,#002266);color:rgba(255,255,255,.85);padding:50px 0 30px;margin-top:0}
.footer-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.footer-info h4{font-size:1.05rem;color:#fff;margin:0 0 10px;font-weight:800;letter-spacing:.3px}
.footer-address{font-size:.88rem;margin:0 0 4px;opacity:.8}
.footer-contact{font-size:.88rem;margin:0 0 2px}
.footer-contact strong{color:#fff;font-weight:700}
.footer-form h4{font-size:1.05rem;color:#fff;margin:0 0 14px;font-weight:800}
.quote-form{display:flex;flex-direction:column;gap:10px}
.quote-form input{width:100%;padding:12px 14px;border-radius:8px;border:none;background:rgba(255,255,255,.15);color:#fff;font-size:.88rem;outline:none;transition:background .2s;box-sizing:border-box}
.quote-form input::placeholder{color:rgba(255,255,255,.5)}
.quote-form input:focus{background:rgba(255,255,255,.22)}
.quote-form button{width:100%;padding:12px;border-radius:8px;border:none;background:#fff;color:#D41A21;font-weight:700;font-size:.9rem;cursor:pointer;transition:transform .2s,box-shadow .2s}
.quote-form button:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.2)}




.footer-bottom{text-align:center;padding-top:20px;margin-top:24px;border-top:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.6);font-size:.82rem}
.footer-bottom a{color:rgba(255,255,255,.8)}

@media(max-width:700px){
  .footer-split{grid-template-columns:1fr;gap:30px}
  .footer-info{text-align:center}
}

.footer-msg{padding:8px 0;font-size:.85rem;font-weight:600}
.footer-msg-success{color:#4ade80}
.footer-msg-error{color:#f87171}

/* === Floating Contact Bar (Phone + Zalo) ====================== */
.floating-contact {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9998;
  display: flex;
  box-shadow: 0 -2px 16px rgba(0,0,0,.15);
}
.fc-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  text-decoration: none;
  transition: all .2s;
}
.fc-btn:hover {
  filter: brightness(1.1);
}
.fc-phone {
  background: linear-gradient(135deg, #E31E24, #D91A22);
  color: #fff;
}
.fc-zalo {
  background: linear-gradient(135deg, #1A53FF, #003399);
  color: #fff;
}
.fc-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  flex-shrink: 0;
}
.fc-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.fc-label {
  font-size: .7rem;
  font-weight: 500;
  opacity: .85;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.fc-num {
  font-size: .9rem;
  font-weight: 700;
}

/* Push back-to-top button above floating bar on mobile */
@media (max-width: 768px) {
  #backToTop {
    bottom: 70px !important;
  }
  body {
    padding-bottom: 64px;
  }
}
@media (min-width: 769px) {
  .floating-contact {
    display: none;
  }
}
