
/* TMV Remates + Hipotecas (Marketing Suite) */
.tmv-rhm{ --bg1:#0b1220; --bg2:#0f1729; --card:rgba(255,255,255,.06); --line:rgba(255,255,255,.14);
  --txt:#e9eefc; --muted:#b8c4e6; --accent:#22c55e; --accent2:#4f8cff; --danger:#ff4d4d;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--txt);
}
.tmv-rhm .tmv-rhm-wrap{ max-width:1100px; margin:28px auto; padding:0 14px; }
.tmv-rhm .tmv-rhm-hero{
  border:1px solid var(--line); border-radius:22px; overflow:hidden;
  background:linear-gradient(180deg,var(--bg2),var(--bg1));
  padding:34px 22px; box-shadow:0 18px 50px rgba(0,0,0,.45);
}
.tmv-rhm .tmv-rhm-pill{
  display:inline-flex; gap:8px; align-items:center;
  padding:8px 12px; border-radius:999px; border:1px solid var(--line);
  background:rgba(255,255,255,.05); color:var(--muted); font-size:13px;
}
.tmv-rhm h1{ margin:14px 0 10px; font-size:34px; line-height:1.1; letter-spacing:-.02em; }
.tmv-rhm h2{ margin:0 0 10px; font-size:18px; }
.tmv-rhm p{ margin:0 0 12px; }
.tmv-rhm .tmv-rhm-sub{ color:var(--muted); font-size:16px; max-width:70ch; }
.tmv-rhm .tmv-rhm-cta{ display:flex; gap:10px; flex-wrap:wrap; margin:16px 0 6px; }
.tmv-rhm .tmv-rhm-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 16px; border-radius:14px; border:1px solid var(--line);
  text-decoration:none; color:var(--txt); background:rgba(255,255,255,.06);
  font-weight:700;
}
.tmv-rhm .tmv-rhm-btn:hover{ transform:translateY(-1px); transition:.15s ease; }
.tmv-rhm .tmv-rhm-primary{
  background:linear-gradient(180deg,rgba(34,197,94,.95),rgba(34,197,94,.7));
  border-color:rgba(34,197,94,.55);
}
.tmv-rhm .tmv-rhm-ghost{ background:rgba(255,255,255,.04); }
.tmv-rhm .tmv-rhm-trust{
  margin-top:16px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px; color:var(--muted); font-size:13px;
}
.tmv-rhm .tmv-rhm-grid2{
  margin-top:16px;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;
}
.tmv-rhm .tmv-rhm-card{
  border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.04);
  padding:18px 16px;
}
.tmv-rhm .tmv-rhm-highlight{
  background:linear-gradient(180deg,rgba(79,140,255,.12),rgba(255,255,255,.03));
  border-color:rgba(79,140,255,.35);
}
.tmv-rhm ul, .tmv-rhm ol{ margin:0; padding-left:18px; color:var(--muted); }
.tmv-rhm li{ margin:8px 0; }
.tmv-rhm code{ background:rgba(255,255,255,.08); padding:2px 6px; border-radius:8px; color:var(--txt); }
.tmv-rhm .tmv-rhm-split{
  margin-top:16px;
  display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:start;
}

/* Form */
.tmv-rhm-form{ border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.04); padding:18px 16px; }
.tmv-rhm-form h3{ margin:6px 0 4px; font-size:18px; }
.tmv-rhm-muted{ color:var(--muted); }
.tmv-rhm-form .tmv-rhm-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:10px; }
.tmv-rhm-form label span{ display:block; font-size:12px; color:var(--muted); margin:0 0 6px; }
.tmv-rhm-form input, .tmv-rhm-form textarea{
  width:100%; border-radius:14px; border:1px solid rgba(255,255,255,.18);
  background:rgba(10,15,27,.65); color:var(--txt); padding:12px 12px;
  outline:none;
}
.tmv-rhm-form input:focus, .tmv-rhm-form textarea:focus{ border-color:rgba(79,140,255,.65); box-shadow:0 0 0 3px rgba(79,140,255,.18); }
.tmv-rhm-form .tmv-rhm-full{ grid-column:1 / -1; }
.tmv-rhm-form .tmv-rhm-check{ display:flex; align-items:flex-start; gap:10px; }
.tmv-rhm-form .tmv-rhm-check input{ width:auto; margin-top:3px; }
.tmv-rhm-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.tmv-rhm-status{ margin-top:10px; font-weight:700; }
.tmv-rhm-status.tmv-ok{ color:rgba(34,197,94,.95); }
.tmv-rhm-status.tmv-err{ color:var(--danger); }
.tmv-rhm-fineprint{ margin-top:10px; font-size:12px; color:var(--muted); }

@media (max-width: 900px){
  .tmv-rhm h1{ font-size:28px; }
  .tmv-rhm .tmv-rhm-trust{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tmv-rhm .tmv-rhm-grid2{ grid-template-columns:1fr; }
  .tmv-rhm .tmv-rhm-split{ grid-template-columns:1fr; }
  .tmv-rhm-form .tmv-rhm-grid{ grid-template-columns:1fr; }
}


/* Tabs */
.tmv-rhm-tabs .tmv-rhm-tabbar{
  display:flex; gap:10px; flex-wrap:wrap;
  margin-top:16px;
}
.tmv-rhm-tabs .tmv-rhm-tab{
  cursor:pointer;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.05);
  color:var(--txt);
  font-weight:800;
}
.tmv-rhm-tabs .tmv-rhm-tab[aria-selected="true"]{
  background:linear-gradient(180deg,rgba(79,140,255,.28),rgba(255,255,255,.05));
  border-color:rgba(79,140,255,.55);
}
.tmv-rhm-tabs .tmv-rhm-panel{
  display:none;
  margin-top:16px;
}
.tmv-rhm-tabs .tmv-rhm-panel.is-active{ display:block; }

/* When embedded, reduce duplicated outer spacing */
.tmv-rhm-tabs .tmv-rhm-panel > .tmv-rhm{ padding-top:0; }


/* ===== TMV RHM HARD DARK OVERRIDE (fix iOS low-contrast) =====
   Algunos temas fuerzan fondos blancos dentro de secciones/blocks.
   Esto asegura el look premium oscuro y contraste alto.
*/
.tmv-rhm, .tmv-rhm *{
  -webkit-text-size-adjust: 100%;
}

.tmv-rhm{
  --bg1:#0b1220 !important;
  --bg2:#0f1729 !important;
  --card:rgba(255,255,255,.06) !important;
  --line:rgba(255,255,255,.14) !important;
  --txt:#e9eefc !important;
  --muted:#b8c4e6 !important;
}

/* Fuerza fondos oscuros incluso si el tema los pisa */
.tmv-rhm .tmv-rhm-hero,
.tmv-rhm .tmv-rhm-card,
.tmv-rhm .tmv-rhm-form{
  background: linear-gradient(180deg,var(--bg2),var(--bg1)) !important;
  color: var(--txt) !important;
  border-color: var(--line) !important;
}

/* Textos */
.tmv-rhm .tmv-rhm-pill,
.tmv-rhm .tmv-rhm-sub,
.tmv-rhm .tmv-rhm-muted,
.tmv-rhm p,
.tmv-rhm li,
.tmv-rhm ul,
.tmv-rhm ol,
.tmv-rhm .tmv-rhm-fineprint{
  color: var(--muted) !important;
}

.tmv-rhm h1,
.tmv-rhm h2,
.tmv-rhm h3{
  color: var(--txt) !important;
}

/* Inputs: fondo oscuro legible */
.tmv-rhm .tmv-rhm-form input,
.tmv-rhm .tmv-rhm-form textarea{
  background: rgba(10,15,27,.78) !important;
  color: var(--txt) !important;
  border-color: rgba(255,255,255,.20) !important;
}

/* Tabs: asegura contraste */
.tmv-rhm-tabs .tmv-rhm-tab{
  background: rgba(255,255,255,.06) !important;
  color: var(--txt) !important;
  border-color: rgba(255,255,255,.18) !important;
}
.tmv-rhm-tabs .tmv-rhm-tab[aria-selected="true"]{
  background: linear-gradient(180deg,rgba(79,140,255,.28),rgba(255,255,255,.06)) !important;
  border-color: rgba(79,140,255,.55) !important;
  color: var(--txt) !important;
}
