
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Roboto:wght@400;500;600;700;800&display=swap');

:root{
  --rv-primary:#0D9488 !important;
  --rv-primary-hover:#0F766E !important;
  --rv-dark:#334155 !important;
  --rv-muted:#475569 !important;
  --rv-white:#FFFFFF !important;
  --rv-bg:#F8FAFC !important;
  --rv-soft:#F0FDFA !important;
  --rv-line:#E2E8F0 !important;
  --rv-danger:#B42318 !important;

  /* legacy aliases used by Clinical OS pages */
  --n:#334155 !important;
  --navy:#334155 !important;
  --t:#0D9488 !important;
  --teal:#0D9488 !important;
  --bg:#F8FAFC !important;
  --ln:#E2E8F0 !important;
  --line:#E2E8F0 !important;
  --m:#475569 !important;
  --muted:#475569 !important;
}

html,body{
  font-family:'Inter',Arial,sans-serif !important;
}
body{
  color:#334155 !important;
}
h1,h2,h3,h4,h5,h6,
.brand,.logo-text b,.font-display{
  font-family:'Roboto','Inter',Arial,sans-serif !important;
}
p,li,label,input,select,textarea,button,a,td,th,span{
  font-family:'Inter',Arial,sans-serif;
}

/* approved palette mapped over all legacy public-site colors */
.bg-ravba-teal,.bg-teal-500,.bg-teal-600,.bg-teal-700,
[class~="bg-[#1597a3]"],[class~="bg-[#0f8b8d]"]{
  background-color:#0D9488 !important;
}
.text-ravba-teal,.text-teal-400,.text-teal-500,.text-teal-600,.text-teal-700{
  color:#0D9488 !important;
}
.border-teal-400,.border-teal-500,.border-teal-600{
  border-color:#0D9488 !important;
}
.bg-ravba-navy,.bg-slate-800,.bg-slate-900{
  background-color:#334155 !important;
}
.text-ravba-navy,.text-slate-800,.text-slate-900{
  color:#334155 !important;
}
.text-slate-500,.text-slate-600,.text-slate-700,.text-gray-500,.text-gray-600,.text-gray-700{
  color:#475569 !important;
}
.hover\:bg-teal-500:hover,.hover\:bg-teal-600:hover,.hover\:bg-teal-700:hover{
  background-color:#0F766E !important;
}
.hover\:text-teal-600:hover,.hover\:text-teal-700:hover{
  color:#0D9488 !important;
}
.bg-teal-50,.bg-teal-100{
  background-color:#F0FDFA !important;
}

/* Clinical OS */
.side{
  background:#334155 !important;
}
.side .brand{
  color:#fff !important;
}
.side .sub,
.side small{
  color:#CCFBF1 !important;
}
.nav a{
  color:#E2E8F0 !important;
}
.nav a:hover,.nav a.on,.nav a.active{
  background:rgba(13,148,136,.25) !important;
  color:#fff !important;
}
.btn:not(.danger),
button.btn:not(.danger),
button[type="submit"]{
  background:#0D9488 !important;
  color:#fff !important;
}
.btn:hover:not(.danger),button.btn:hover:not(.danger),button[type="submit"]:hover{
  background:#0F766E !important;
}
.btn.alt{
  background:#F0FDFA !important;
  color:#0F766E !important;
  border:1px solid #99F6E4 !important;
}
.card{
  border-color:#E2E8F0 !important;
}
.status,.badge,.tag{
  background:#F0FDFA !important;
  color:#0F766E !important;
}
.muted{
  color:#475569 !important;
}
input:focus,select:focus,textarea:focus{
  border-color:#0D9488 !important;
  box-shadow:0 0 0 3px rgba(13,148,136,.12) !important;
}

/* Shared official brand blocks */
.rv-official-brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  min-width:0;
}
.rv-official-brand img{
  width:44px;
  height:44px;
  object-fit:contain;
  flex:0 0 auto;
}
.rv-official-brand .rv-name{
  display:block;
  font:700 14px/1.05 'Roboto','Inter',sans-serif;
  letter-spacing:.075em;
  color:#334155;
  white-space:nowrap;
}
.rv-official-brand .rv-tagline{
  display:block;
  margin-top:4px;
  font:500 8px/1 'Inter',sans-serif;
  letter-spacing:.22em;
  color:#0D9488;
  white-space:nowrap;
}
.side .rv-official-brand{
  margin:2px 7px 22px;
}
.side .rv-official-brand img{
  width:42px;height:42px;
}
.side .rv-official-brand .rv-name{color:#fff}
.side .rv-official-brand .rv-tagline{color:#99F6E4}

/* legacy image classes now receive the approved logo cleanly */
#site-nav img[alt*="RAVBA"],
#site-nav img[alt*="RABVA"]{
  object-fit:contain !important;
}

/* Specific legacy hard-coded elements */
.ravba-agenda{
  background:#0D9488 !important;
}
.ravba-agenda:hover{
  background:#0F766E !important;
}
.home-icon{
  background:#F0FDFA !important;
  color:#0D9488 !important;
}
.soft-section{
  background:#F8FAFC !important;
}
footer{
  background:#334155 !important;
}
footer .text-teal-400{
  color:#5EEAD4 !important;
}


/* V4.9.2 — horarios oficiales por disponibilidad médica */
.rv-hours-card{background:#fff;border:1px solid #E2E8F0;border-radius:18px;padding:18px;box-shadow:0 8px 28px rgba(51,65,85,.055)}
.rv-hours-title{font-family:Roboto,Inter,sans-serif;font-size:18px;font-weight:800;color:#334155;margin-bottom:10px}
.rv-hours-row{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:11px 0;border-top:1px solid #E2E8F0;font-family:Inter,sans-serif;font-size:12px;line-height:1.55;color:#475569}
.rv-hours-row:first-of-type{border-top:0}.rv-hours-row b{color:#0D9488}
@media(max-width:640px){.rv-hours-row{grid-template-columns:1fr;gap:3px}}
