/* Redes sociales — estilos específicos */
.section-redes { padding: 56px 0; }
.section-redes .section-head { margin-bottom: 28px; }
.redes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.red-card {
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.02));
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.04);
  transition: transform .22s ease, box-shadow .22s ease;
  text-decoration: none;
  color: inherit;
}
.red-card:focus,
.red-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(0,0,0,0.28); }
.red-top-line { height: 6px; width: 100%; }
.red-card-header { display:flex; align-items:center; gap:12px; padding:14px; }
.red-icon { width:56px; height:56px; border-radius:12px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.2rem; }
.badge-oficial { margin-left:auto; background:rgba(255,255,255,0.06); padding:6px 10px; border-radius:999px; font-size:.76rem; font-weight:700; }
.red-body { padding: 0 14px 14px 14px; }
.red-body h3 { margin:6px 0; font-size:1.05rem; }
.red-handle { display:block; font-size:.85rem; color: #cfcfcf; margin-bottom:8px; }
.red-body p { margin:0; font-size:.92rem; color: rgba(255,255,255,0.75); }
.red-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 14px; border-top:1px solid rgba(255,255,255,0.03); }
.red-footer i { color: rgba(255,255,255,0.9); }

/* Banner WhatsApp */
.redes-wa-banner { margin-top:22px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; background: linear-gradient(90deg, rgba(37,211,102,0.06), rgba(0,0,0,0.03)); border-radius:12px; }
.redes-wa-left { display:flex; align-items:center; gap:12px; }
.redes-wa-icon { width:56px; height:56px; border-radius:12px; display:flex; align-items:center; justify-content:center; background: #25D366; color:#fff; font-size:1.5rem; }
.btn-wa-main { display:inline-flex; align-items:center; gap:10px; padding:10px 14px; background:#25D366; color:#fff; border-radius:10px; text-decoration:none; font-weight:700; }

@media (max-width: 900px) {
  .redes-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 520px) {
  .redes-grid { grid-template-columns: 1fr; }
  .red-card { flex-direction:row; align-items:center; }
  .red-card-header { padding:12px; }
  .red-body { padding:10px 12px; }
  .red-icon { width:48px; height:48px; }
  .red-top-line { display:none; }
  .redes-wa-banner { flex-direction:column; align-items:flex-start; }
}
