/* Ventana «Solicitar acceso al diagnóstico» (1.2.0). Colores y tipografías de la marca. */
.mm-diag-abierta { overflow: hidden; }
.mm-diag { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.mm-diag[hidden] { display: none; }
.mm-diag__fondo { position: absolute; inset: 0; background: rgba(17, 17, 17, .72); backdrop-filter: blur(3px); }
.mm-diag__caja { position: relative; width: 100%; max-width: 540px; max-height: calc(100vh - 40px); overflow-y: auto; background: #fff; border-radius: 28px; padding: 40px 36px 30px; box-shadow: 0 30px 80px rgba(0, 0, 0, .35); color: #111; font-family: var(--wp--preset--font-family--texto, Inter, system-ui, sans-serif); animation: mm-diag-entra .22s ease-out; }
@keyframes mm-diag-entra { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
.mm-diag__cerrar { position: absolute; top: 14px; right: 16px; width: 40px; height: 40px; border: 0; border-radius: 999px; background: #f6f1ea; color: #111; font-size: 24px; line-height: 1; cursor: pointer; }
.mm-diag__cerrar:hover { background: #eba06e; }
.mm-diag__eyebrow { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #b8743f; }
.mm-diag__titulo { margin: 10px 0 0; font-family: var(--wp--preset--font-family--titular, "Space Grotesk", Inter, sans-serif); font-weight: 700; letter-spacing: -.035em; font-size: 30px; line-height: 1.05; }
.mm-diag__servicio { display: inline-block; margin: 12px 0 0; padding: 5px 12px; border-radius: 999px; background: #111; color: #eba06e; font-size: 13px; font-weight: 600; }
.mm-diag__texto { margin: 14px 0 0; font-size: 15px; line-height: 1.55; color: #5e5a55; }
.mm-diag__campos { display: grid; gap: 14px; margin-top: 22px; }
.mm-diag__label { display: grid; gap: 6px; font-size: 14px; font-weight: 600; }
.mm-diag .wpcf7-form-control-wrap { display: block; }
.mm-diag input[type="text"], .mm-diag input[type="tel"] { width: 100%; box-sizing: border-box; padding: 14px 16px; border: 1.5px solid #e3ddd4; border-radius: 14px; background: #fff; font: inherit; font-size: 16px; font-weight: 400; color: #111; transition: border-color .15s, box-shadow .15s; }
.mm-diag input[type="text"]:focus, .mm-diag input[type="tel"]:focus { outline: none; border-color: #111; box-shadow: 0 0 0 4px rgba(235, 160, 110, .35); }
.mm-diag .wpcf7-acceptance { font-size: 13px; color: #5e5a55; }
.mm-diag .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.mm-diag .wpcf7-acceptance input { margin-right: 6px; accent-color: #111; }
.mm-diag .wpcf7-acceptance a { color: #111; text-decoration: underline; }
.mm-diag__enviar, .mm-diag input.wpcf7-submit { width: 100%; padding: 16px 22px; border: 0; border-radius: 999px; background: #111; color: #fff; font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; transition: background .15s; }
.mm-diag input.wpcf7-submit:hover { background: #000; }
.mm-diag input.wpcf7-submit:disabled { opacity: .5; cursor: not-allowed; }
.mm-diag .wpcf7-spinner { display: block; margin: 8px auto 0; }
.mm-diag .wpcf7-not-valid-tip { margin-top: 4px; font-size: 13px; color: #b42318; }
.mm-diag .wpcf7-response-output { margin: 16px 0 0 !important; padding: 14px 16px !important; border-radius: 14px; border: 0 !important; background: #f6f1ea; font-size: 14px; line-height: 1.5; }
.mm-diag .wpcf7 form.sent .wpcf7-response-output { background: #111; color: #fff; font-size: 16px; }
.mm-diag--enviada .mm-diag__campos, .mm-diag--enviada .mm-diag__texto { display: none; }
.mm-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.mm-diag__alt { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid #e3ddd4; font-size: 14px; color: #5e5a55; text-align: center; }
.mm-diag__alt a { color: #111; font-weight: 700; text-decoration: underline; text-decoration-color: #eba06e; text-underline-offset: 3px; }
@media (max-width: 600px) {
	.mm-diag { align-items: flex-end; padding: 0; }
	.mm-diag__caja { max-width: none; max-height: 92vh; border-radius: 24px 24px 0 0; padding: 32px 22px 26px; }
	.mm-diag__titulo { font-size: 26px; }
}

/* 1.2.1: Contact Form 7 mete los campos en un <p> con <br>; se reparten en rejilla y sin saltos. */
.mm-diag__campos > p { display: grid; gap: 14px; margin: 0; }
.mm-diag__campos br { display: none; }
.mm-diag__campos .wpcf7-acceptance { margin-top: 2px; }

/* 1.6.0: el campo de email, igual que los demás (16 px: el iPhone no amplía la página al escribir). */
.mm-diag input[type="email"] { width: 100%; box-sizing: border-box; padding: 14px 16px; border: 1.5px solid #e3ddd4; border-radius: 14px; background: #fff; font: inherit; font-size: 16px; font-weight: 400; color: #111; transition: border-color .15s, box-shadow .15s; }
.mm-diag input[type="email"]:focus { outline: none; border-color: #111; box-shadow: 0 0 0 4px rgba(235, 160, 110, .35); }
