/*!
 * MV Uniformity v7.28.0 — Tipografía, botones, enlaces y espaciados consistentes
 * Unifica la apariencia de todos los textos y controles en la plataforma sin
 * tocar la lógica de autenticación ni de funcionalidades.
 */

/* ===== Variables tipográficas globales ===== */
:root{
  --mv-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --mv-font-heading: 'Poppins', 'Inter', sans-serif;
  --mv-fs-base: 16px;
  --mv-fs-sm: 14px;
  --mv-fs-xs: 12px;
  --mv-fs-lg: 18px;
  --mv-fs-h1: clamp(28px, 4vw, 44px);
  --mv-fs-h2: clamp(24px, 3vw, 34px);
  --mv-fs-h3: clamp(20px, 2.4vw, 26px);
  --mv-fs-h4: 18px;
  --mv-lh-body: 1.6;
  --mv-lh-heading: 1.25;
  --mv-color-text: #1a1a1a;
  --mv-color-muted: #5b6470;
  --mv-color-primary: #1E8C45;
  --mv-color-accent: #A3295A;
  --mv-radius: 12px;
}

/* ===== Base ===== */
body,
.mv-app,
.entry-content,
.page-content,
.site-content{
  font-family: var(--mv-font-body) !important;
  font-size: var(--mv-fs-base);
  line-height: var(--mv-lh-body);
  color: var(--mv-color-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ===== Encabezados ===== */
h1, h2, h3, h4, h5, h6,
.mv-title, .mv-heading, .entry-title, .page-title{
  font-family: var(--mv-font-heading) !important;
  font-weight: 700;
  line-height: var(--mv-lh-heading);
  color: var(--mv-color-text);
  margin: 0 0 .6em;
  letter-spacing: -0.01em;
}
h1, .entry-title.h1, .page-title{ font-size: var(--mv-fs-h1); font-weight: 800; }
h2{ font-size: var(--mv-fs-h2); }
h3{ font-size: var(--mv-fs-h3); }
h4{ font-size: var(--mv-fs-h4); }

/* ===== Párrafos y listas ===== */
p, li, dd, dt, label, figcaption{
  font-family: var(--mv-font-body);
  font-size: var(--mv-fs-base);
  line-height: var(--mv-lh-body);
}
p{ margin: 0 0 1em; }

small, .mv-small{ font-size: var(--mv-fs-sm); color: var(--mv-color-muted); }

/* ===== Enlaces ===== */
a{
  color: var(--mv-color-primary);
  text-decoration: none;
  transition: color .15s ease, opacity .15s ease;
}
a:hover, a:focus{ color: var(--mv-color-accent); text-decoration: underline; }
a:focus-visible{ outline: 2px solid var(--mv-color-primary); outline-offset: 2px; border-radius: 4px; }

/* ===== Botones uniformes ===== */
.mv-btn,
.button,
button.mv-button,
input[type="submit"].mv-submit,
.wp-block-button__link{
  font-family: var(--mv-font-heading) !important;
  font-weight: 600;
  font-size: var(--mv-fs-sm);
  line-height: 1;
  padding: 12px 22px;
  border-radius: var(--mv-radius);
  border: 1px solid transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: transform .12s ease, box-shadow .15s ease, background .15s ease;
}
.mv-btn:active, .button:active{ transform: translateY(1px); }
.mv-btn-primary, .button.primary, .wp-block-button__link{
  background: var(--mv-color-primary);
  color: #fff;
}
.mv-btn-primary:hover{ background: #196f37; color:#fff; }
.mv-btn-accent{ background: var(--mv-color-accent); color:#fff; }
.mv-btn-outline{
  background: transparent;
  color: var(--mv-color-primary);
  border-color: var(--mv-color-primary);
}
.mv-btn-outline:hover{ background: var(--mv-color-primary); color:#fff; }

/* ===== Inputs ===== */
input[type="text"], input[type="email"], input[type="password"],
input[type="tel"], input[type="number"], input[type="search"],
input[type="url"], select, textarea{
  font-family: var(--mv-font-body);
  font-size: var(--mv-fs-base);
  line-height: 1.4;
  padding: 11px 14px;
  border: 1px solid #d8dde3;
  border-radius: var(--mv-radius);
  background: #fff;
  color: var(--mv-color-text);
  transition: border-color .15s ease, box-shadow .15s ease;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
input:focus, select:focus, textarea:focus{
  outline: none;
  border-color: var(--mv-color-primary);
  box-shadow: 0 0 0 3px rgba(30,140,69,.15);
}
label{ font-weight: 600; font-size: var(--mv-fs-sm); display:block; margin-bottom:6px; }

/* ===== Tarjetas y contenedores ===== */
.mv-card, .card, .listing-card{
  background:#fff;
  border:1px solid #eceff3;
  border-radius: var(--mv-radius);
  padding: 18px;
}

/* ===== Mensajes ===== */
.mv-alert, .notice{
  padding: 12px 16px;
  border-radius: var(--mv-radius);
  font-size: var(--mv-fs-sm);
  border-left: 4px solid var(--mv-color-primary);
  background:#f4fbf6;
  margin: 12px 0;
}
.mv-alert-error{ border-left-color:#c0392b; background:#fdecea; }
.mv-alert-warn{ border-left-color:#d99100; background:#fff8e6; }

/* ===== Espaciado consistente entre secciones ===== */
.mv-section, section.mv-section{
  padding: clamp(36px, 6vw, 72px) clamp(16px, 4vw, 32px);
}

/* ===== RTL (árabe) ===== */
html[dir="rtl"] body{ text-align: right; }
html[dir="rtl"] .mv-btn{ flex-direction: row-reverse; }

/* ===== Móvil ===== */
@media (max-width: 640px){
  :root{ --mv-fs-base: 15px; }
  .mv-btn, .button{ padding: 11px 18px; width: auto; }
  .mv-section{ padding: 32px 16px; }
}
