
/* =========================================================
   REALBROKERS - Footer general profesional
   Logo original negro/rojo visible sobre tarjeta blanca.
   ========================================================= */

.rb-footer {
  --rb-red: #e10a0a;
  --rb-red-dark: #b80000;
  --rb-black: #0d0d0d;
  --rb-line: #2a2a2a;
  --rb-text: #ffffff;
  --rb-muted: #a8a8a8;

  margin-top: 70px;
  background:
    radial-gradient(circle at 12% 0%, rgba(225,10,10,.13), transparent 27%),
    linear-gradient(180deg,#111 0%,#080808 100%);
  color: var(--rb-text);
  border-top: 4px solid var(--rb-red);
  font-family: "Segoe UI", Arial, sans-serif;
}

.rb-footer * { box-sizing: border-box; }
.rb-footer a { text-decoration: none; }

.rb-footer-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 54px 24px 34px;
  display: grid;
  grid-template-columns: 1.35fr .9fr .9fr 1.15fr;
  gap: 38px;
}

.rb-footer-brand { min-width: 0; }

/* IMPORTANTE: sin brightness/invert.
   La caja blanca permite ver el logo negro/rojo original. */
.rb-footer-logo-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 16px;
  margin: 0 0 19px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.13);
}

.rb-footer-logo {
  display: block;
  width: 235px !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  object-fit: contain;
  filter: none !important;
  opacity: 1 !important;
}

.rb-footer-logo-fallback {
  display: none;
  font-size: 26px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .5px;
  color: #111;
}
.rb-footer-logo-fallback span { color: var(--rb-red); }

.rb-footer-description {
  max-width: 350px;
  margin: 0 0 22px;
  color: var(--rb-muted);
  font-size: 14px;
  line-height: 1.75;
}

.rb-footer-social { display:flex; flex-wrap:wrap; gap:10px; }
.rb-footer-social a {
  width:42px; height:42px;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #2d2d2d;
  border-radius:11px;
  background:#171717;
  color:#fff;
  font-size:17px;
  transition:.2s ease;
}
.rb-footer-social a:hover {
  transform:translateY(-2px);
  background:var(--rb-red);
  border-color:var(--rb-red);
}

.rb-footer-title {
  position:relative;
  margin:3px 0 20px;
  padding-bottom:12px;
  color:#fff;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1px;
}
.rb-footer-title::after {
  content:"";
  position:absolute;
  left:0; bottom:0;
  width:34px; height:3px;
  border-radius:99px;
  background:var(--rb-red);
}

.rb-footer-links { list-style:none; padding:0; margin:0; }
.rb-footer-links li { margin:0 0 11px; }
.rb-footer-links a {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--rb-muted);
  font-size:14px;
  line-height:1.5;
  transition:.2s ease;
}
.rb-footer-links a::before {
  content:"›";
  color:var(--rb-red);
  font-weight:900;
  font-size:18px;
}
.rb-footer-links a:hover { color:#fff; transform:translateX(3px); }

.rb-footer-contact { display:grid; gap:15px; }
.rb-footer-contact-item {
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
  align-items:start;
}
.rb-footer-contact-icon {
  width:38px; height:38px;
  display:flex; align-items:center; justify-content:center;
  border-radius:10px;
  background:rgba(225,10,10,.12);
  color:#ff3333;
  font-size:15px;
}
.rb-footer-contact-item small {
  display:block;
  margin-bottom:3px;
  color:#777;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.6px;
}
.rb-footer-contact-item a,
.rb-footer-contact-item span {
  color:#d5d5d5;
  font-size:13px;
  line-height:1.55;
}
.rb-footer-contact-item a:hover { color:#fff; }

.rb-footer-cta {
  max-width:1200px;
  margin:0 auto;
  padding:0 24px 34px;
}
.rb-footer-cta-inner {
  padding:21px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border:1px solid #292929;
  border-radius:16px;
  background:linear-gradient(90deg,rgba(225,10,10,.10),rgba(255,255,255,.025));
}
.rb-footer-cta-text strong {
  display:block; margin-bottom:4px; color:#fff; font-size:16px;
}
.rb-footer-cta-text span {
  color:var(--rb-muted); font-size:13px; line-height:1.5;
}
.rb-footer-cta-button {
  flex:0 0 auto;
  min-height:44px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:10px;
  background:var(--rb-red);
  color:#fff !important;
  font-size:13px;
  font-weight:800;
  transition:.2s ease;
}
.rb-footer-cta-button:hover {
  background:var(--rb-red-dark);
  transform:translateY(-1px);
}

.rb-footer-bottom {
  border-top:1px solid var(--rb-line);
  background:#080808;
}
.rb-footer-bottom-inner {
  max-width:1200px;
  min-height:66px;
  margin:0 auto;
  padding:18px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.rb-footer-copy { color:#777; font-size:12px; line-height:1.5; }
.rb-footer-legal { display:flex; flex-wrap:wrap; gap:15px; }
.rb-footer-legal a { color:#858585; font-size:12px; }
.rb-footer-legal a:hover { color:#fff; }

@media(max-width:960px) {
  .rb-footer-main { grid-template-columns:1.2fr 1fr; }
}
@media(max-width:640px) {
  .rb-footer { margin-top:50px; }
  .rb-footer-main {
    grid-template-columns:1fr;
    gap:31px;
    padding:42px 20px 28px;
  }
  .rb-footer-logo-wrap { width:100%; max-width:270px; }
  .rb-footer-logo { width:205px !important; }
  .rb-footer-cta { padding:0 20px 28px; }
  .rb-footer-cta-inner { align-items:stretch; flex-direction:column; }
  .rb-footer-cta-button { width:100%; }
  .rb-footer-bottom-inner {
    align-items:flex-start;
    flex-direction:column;
    padding:18px 20px;
  }
}
