/* =====================================================================
   Capa de marca · Dra. Patricia Díaz Ortega (LogroSEO)
   Tipografías (Nunito Sans en UI y títulos, Lora en texto), logotipo
   tipográfico, consultas, formulario de cita y ajustes de tono médico.
   ===================================================================== */
:root { --mv-ui: "Nunito Sans", "Segoe UI", Arial, sans-serif; --mv-serif: "Lora", Georgia, serif; }
body { font-family: var(--mv-serif); }
h1, h2, h3, h4, h5, .mv-eyebrow, .mv-btn, .mv-header, .wp-block-navigation, .mv-topbar, .mv-footer h2,
.mv-header-cta, .mv-cta-actions a, .mv-form label, .mv-form-submit, .mv-more, .mv-card h3, .mv-crumbs,
.mv-callbar, .mv-cita legend, .mv-q__t, .mv-opt, .mv-cita__nav button, .mv-cita__steps, .mv-legalbar,
.mv-ck, .mv-pmeta, .mv-toc, .mv-sidecta, .mv-sidesvc, .mv-tipbox b, .mv-answer b, .mv-ctabox b, table { font-family: var(--mv-ui); }
h1 { letter-spacing: -.01em; }
.mv-eyebrow { color: var(--mv-blue); }
.mv-eyebrow::after { background: var(--mv-blue-light); }

/* Logotipo tipográfico */
.mv-logo--txt { display: inline-flex; flex-direction: column; gap: .15rem; line-height: 1.05; text-decoration: none; padding: 5px 0; }
.mv-logo--txt .mv-logo__n { font-family: var(--mv-ui); font-weight: 800; font-size: 1.22rem; color: var(--mv-navy); letter-spacing: -.01em; }
.mv-logo--txt .mv-logo__s { font-family: var(--mv-ui); font-weight: 700; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mv-blue); }
.mv-footer .mv-logo--txt { margin-bottom: 1rem; }
.mv-footer .mv-logo--txt .mv-logo__n { color: #fff; }
.mv-footer .mv-logo--txt .mv-logo__s { color: var(--mv-cyan); }
.mv-mtop .mv-logo__n { font-family: var(--mv-ui); font-size: 1rem; letter-spacing: 0; text-transform: none; color: #fff; font-weight: 800; }
@media (max-width: 782px) { .mv-logo--txt .mv-logo__n { font-size: 1.02rem; } .mv-logo--txt .mv-logo__s { font-size: .6rem; } }

/* Redes (E-E-A-T) */
.mv-social { display: flex; flex-wrap: wrap; gap: .5rem; }
.mv-social a { font-family: var(--mv-ui); font-size: .8rem; font-weight: 700; padding: .35rem .75rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.25); text-decoration: none; }
.mv-social a:hover { background: rgba(255,255,255,.1); }

/* Consultas */
.mv-clinics { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 1.4rem; }
.mv-clinic { background: #fff; border: 1px solid var(--mv-line); border-radius: 16px; padding: 1.6rem; box-shadow: var(--mv-shadow); }
.mv-clinic h3 { margin: .6rem 0 .5rem; }
.mv-clinic address { font-style: normal; margin-bottom: .6rem; }
.mv-clinic p { display: flex; gap: .5rem; align-items: flex-start; color: var(--mv-muted); }
.mv-clinic p svg { width: 18px; height: 18px; flex: none; margin-top: .25rem; color: var(--mv-blue); }
.mv-clinic .mv-icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 14px; background: #EAF6F2; color: var(--mv-blue); }
.mv-clinic .mv-icon svg { width: 26px; height: 26px; }
.mv-zones-more { margin-top: 1.6rem; }

/* Formulario de cita */
.mv-cita { max-width: 760px; margin-inline: auto; position: relative; }
.mv-cita fieldset { border: 0; padding: 0; margin: 0 0 1.4rem; min-width: 0; }
.mv-cita legend { font-size: 1.35rem; font-weight: 800; color: var(--mv-navy); margin-bottom: 1rem; padding: 0; outline: none; }
.mv-cita legend small { display: block; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mv-blue); font-weight: 800; margin-bottom: .3rem; }
.mv-cita .mv-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mv-cita__steps, .mv-cita__bar, .mv-cita__nav { display: none; }
.mv-cita.is-js .mv-cita__steps { display: flex; gap: .4rem; list-style: none; padding: 0; margin: 0 0 .6rem; font-size: .72rem; font-weight: 700; color: var(--mv-muted); }
.mv-cita.is-js .mv-cita__steps li { flex: 1; text-align: center; }
.mv-cita.is-js .mv-cita__steps li.is-on { color: var(--mv-blue); }
.mv-cita.is-js .mv-cita__bar { display: block; height: 6px; background: var(--mv-bg-alt); border-radius: 999px; overflow: hidden; margin-bottom: 1.6rem; }
.mv-cita.is-js .mv-cita__bar span { display: block; height: 100%; width: 20%; background: linear-gradient(90deg, var(--mv-blue), var(--mv-blue-light)); transition: width .35s ease; }
.mv-cita.is-js .mv-cita__nav { display: flex; justify-content: space-between; gap: 1rem; }
.mv-cita__nav button { font: inherit; font-family: var(--mv-ui); font-weight: 800; border-radius: 999px; padding: .85rem 1.6rem; cursor: pointer; border: 0; }
.mv-cita__next { background: var(--mv-blue); color: #fff; margin-left: auto; }
.mv-cita__next:hover { background: var(--mv-navy); }
.mv-cita__next:disabled { opacity: .45; cursor: not-allowed; }
.mv-cita__prev { background: transparent; color: var(--mv-navy); box-shadow: inset 0 0 0 2px var(--mv-line); }
.mv-opts { display: grid; gap: .6rem; }
.mv-opts.is-inline { grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); }
.mv-opt { display: flex !important; align-items: center; gap: .7rem; margin: 0 !important; padding: .85rem 1rem; border: 1.5px solid var(--mv-line); border-radius: 12px; cursor: pointer; font-weight: 600 !important; color: var(--mv-text) !important; background: #fff; transition: border-color .2s, background .2s; }
.mv-opt:hover { border-color: var(--mv-blue-light); }
.mv-opt input { accent-color: var(--mv-blue); width: 18px; height: 18px; flex: none; margin: 0; }
.mv-opt:has(input:checked) { border-color: var(--mv-blue); background: #EAF6F2; }
.mv-q { margin-bottom: 1.3rem; }
.mv-q__t { font-weight: 700; color: var(--mv-navy); margin-bottom: .6rem !important; }
.mv-step__hint { color: var(--mv-muted); font-size: .92rem; }
.mv-cita .is-invalid > .mv-q__t, .mv-cita p.is-invalid label { color: #A4262C; }
.mv-cita .is-invalid .mv-opt, .mv-cita p.is-invalid input { border-color: #A4262C; }
.mv-cita .mv-step.is-invalid .mv-check label { color: #A4262C; }
.mv-cita__stop { margin-top: .8rem; padding: 1rem 1.2rem; background: #FFF6E5; border-left: 4px solid #C98A00; border-radius: 8px; }
.mv-cita__notice { display: flex; gap: 1rem; align-items: flex-start; padding: 1.2rem 1.3rem; background: var(--mv-bg-alt); border: 1px solid var(--mv-line); border-radius: 14px; margin-bottom: 1rem; }
.mv-cita__notice svg { width: 30px; height: 30px; flex: none; color: var(--mv-blue); }
.mv-cita__notice p { margin: 0; }
.mv-check label { display: flex !important; gap: .6rem; align-items: flex-start; font-weight: 600 !important; }
.mv-check input { margin-top: .3rem; accent-color: var(--mv-blue); width: 18px; height: 18px; flex: none; }
.mv-cita .mv-form-note { font-size: .78rem; color: var(--mv-muted); }
.mv-form-msg.is-ok { background: #EAF6F2; border-left: 4px solid var(--mv-blue); padding: 1rem 1.2rem; border-radius: 8px; }

/* CTA y botones en tono marca (degradado verde + aro, nunca planos) */
.mv-header-cta { background: linear-gradient(135deg, var(--mv-blue) 0%, var(--mv-navy) 100%); color: #fff !important; border-radius: 999px; }
.mv-header-cta:hover { background: var(--mv-navy); }
.mv-callbar a.is-primary { width: 100%; justify-content: center; }

/* Cabecera oscura: logotipo en claro */
.mv-header .mv-logo--txt .mv-logo__n { color: #fff; }
.mv-header .mv-logo--txt .mv-logo__s { color: var(--mv-cyan); }
@media (max-width: 782px) { .mv-header .mv-logo--txt .mv-logo__s { display: none; } .mv-header .mv-logo--txt .mv-logo__n { font-size: .98rem; max-width: 9.5rem; } }
.mv-ck [hidden] { display: none !important; }

/* Huecos pendientes: amarillos solo para usuarios identificados */
body:not(.logged-in) .mv-todo { background: none; color: inherit; font-weight: inherit; padding: 0; }

/* Retratos: que nunca se corte la cara (encuadre alto) */
.mv-hs__img img, .mv-hc > img, .mv-pic, .mv-tl2 img, .mv-zz img, .mv-tabs__p img { object-position: 50% 18%; }
/* Contraste: el menta solo sobre fondos oscuros */
.mv-tl2 b, .mv-x:not(.is-navy):not(.is-deep) .mv-n { color: var(--mv-blue); }
