/* ==========================================================================
   FOOTER
   ========================================================================== */

.cc-footer{
  background:var(--cc-charcoal);
  color:rgba(250,248,244,0.65);
  position:relative;
}

.cc-footer__top{
  padding-block:var(--space-2xl) var(--space-xl);
}

.cc-footer__grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:var(--space-xl);
}

@media (max-width:900px){
  .cc-footer__grid{ grid-template-columns:1fr 1fr; gap:var(--space-lg); }
}
@media (max-width:560px){
  .cc-footer__grid{ grid-template-columns:1fr; }
}

.cc-footer__brand .cc-logo__text{ color:var(--cc-cream); }
.cc-footer__brand .cc-logo__text span{ color:var(--cc-gold-bright); }

.cc-footer__brand p{
  margin-top:1rem;
  font-size:0.92rem;
  max-width:280px;
  line-height:1.6;
}

.cc-footer__social{
  display:flex;
  gap:0.7rem;
  margin-top:1.4rem;
}

.cc-footer__social a{
  width:38px; height:38px;
  border-radius:50%;
  border:1px solid var(--cc-border-dark);
  display:flex; align-items:center; justify-content:center;
  transition:background var(--dur-fast), border-color var(--dur-fast), transform var(--dur-fast);
}
.cc-footer__social a:hover{ background:var(--cc-gold); border-color:var(--cc-gold); transform:translateY(-3px); }
.cc-footer__social svg{ width:16px; height:16px; stroke:var(--cc-cream); }
.cc-footer__social a:hover svg{ stroke:var(--cc-charcoal); }

.cc-footer h4{
  font-family:var(--font-mono);
  font-size:0.78rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--cc-gold-bright);
  margin-bottom:1.2rem;
  font-weight:600;
}

.cc-footer__links{ display:flex; flex-direction:column; gap:0.75rem; }
.cc-footer__links a{ font-size:0.93rem; transition:color var(--dur-fast), padding-left var(--dur-fast); }
.cc-footer__links a:hover{ color:var(--cc-gold-bright); padding-left:4px; }

.cc-footer__contact-list{ display:flex; flex-direction:column; gap:0.9rem; font-size:0.92rem; }
.cc-footer__contact-list li{ display:flex; gap:0.7rem; align-items:flex-start; }
.cc-footer__contact-list svg{ width:16px; height:16px; stroke:var(--cc-gold-bright); flex-shrink:0; margin-top:0.15rem; }
.cc-footer__contact-list a:hover{ color:var(--cc-gold-bright); }

.cc-footer__bottom{
  border-top:1px solid var(--cc-border-dark);
  padding-block:1.4rem;
}

.cc-footer__bottom .container-cc{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:0.8rem;
  font-size:0.82rem;
}

.cc-footer__bottom-links{ display:flex; gap:1.4rem; }
.cc-footer__bottom-links a:hover{ color:var(--cc-gold-bright); }

/* ---- Back to top ---- */

.cc-back-to-top{
  position:fixed;
  bottom:1.8rem;
  right:1.8rem;
  width:48px; height:48px;
  border-radius:50%;
  background:var(--cc-gold);
  color:var(--cc-charcoal);
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-gold);
  z-index:900;
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
  transition:opacity var(--dur-med), transform var(--dur-med), background var(--dur-fast);
}
.cc-back-to-top.is-visible{ opacity:1; transform:translateY(0); pointer-events:auto; }
.cc-back-to-top:hover{ background:var(--cc-gold-bright); }
.cc-back-to-top svg{ width:20px; height:20px; }

/* ---- WhatsApp float ---- */

.cc-whatsapp-float{
  position:fixed;
  bottom:1.8rem;
  left:1.8rem;
  width:52px; height:52px;
  border-radius:50%;
  background:#25D366;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 28px rgba(37,211,102,0.45);
  z-index:900;
  animation:pulseWA 2.6s ease-in-out infinite;
}
.cc-whatsapp-float svg{ width:26px; height:26px; fill:#fff; }

@keyframes pulseWA{
  0%, 100%{ box-shadow:0 10px 28px rgba(37,211,102,0.45); }
  50%{ box-shadow:0 10px 28px rgba(37,211,102,0.45), 0 0 0 8px rgba(37,211,102,0.15); }
}

@media (max-width:560px){
  .cc-back-to-top{ width:42px; height:42px; bottom:1.2rem; right:1.2rem; }
  .cc-whatsapp-float{ width:46px; height:46px; bottom:1.2rem; left:1.2rem; }
}