/*
Theme Name: Child-meandmyself
Theme URI: https://easyandweb.com/
Template: Divi
Author: EasyandWEB
Author URI: https://easyandweb.com/
Description: Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
Tags: responsive-layout,one-column,two-columns,three-columns,four-columns,left-sidebar,right-sidebar,custom-background,custom-colors,featured-images,full-width-template,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready
Version: 4.9.1.1792769824
Updated: 2026-10-27 12:00:00

*/

/* =====================================================================
   MEANDMYSELF — complementos al sistema visual de Divi
   Solo lo que no se puede resolver con los ajustes de los módulos.
   Las clases se asignan en Divi > Avanzado > Clase CSS.
   ===================================================================== */

/* ---- Base de lectura (rectificaciones 2026-10-26, p. 5) -------------- */
/* Las anclas (#tarifas, #formulario…) no quedan ocultas tras la cabecera fija. */
html { scroll-padding-top: 96px; }
/* Párrafos en peso regular (Divi pone 500 en body); las negritas sueltas, en peso medio. */
body { font-weight: 400; }
.et_pb_text strong, .et_pb_text b { font-weight: 500; }
.et_pb_text h1, .et_pb_text h2 { overflow-wrap: break-word; text-wrap: balance; }

/* ---- Cabecera global (.mm-header / .mm-header-row) ----------------- */
/* Logotipo, menú y botón en una sola línea en todos los tamaños. Fondo opaco (Divi > Fondo). */
.mm-header-row { display: flex !important; align-items: center; justify-content: space-between; position: relative; }
.mm-header-row > .et_pb_column { width: auto !important; margin: 0 !important; }
.mm-header-row > .et_pb_column:last-child { display: flex; align-items: center; justify-content: flex-end; gap: 28px; position: static; }
.mm-header-row .et_pb_text, .mm-header-row .et_pb_menu, .mm-header-row .et_pb_button_module_wrapper { margin-bottom: 0 !important; }
.mm-header .mm-menu .et-menu > li { padding-left: 10px; padding-right: 10px; }
.mm-header .mm-menu .et-menu > li > a { padding-bottom: 0 !important; }
.mm-header .mm-menu .et-menu-nav > ul ul { padding: 12px 0; border-top-width: 1px; box-shadow: 0 12px 32px rgba(0, 0, 0, .06); }
.mm-header .mm-menu .et-menu-nav > ul ul li a { padding: 8px 20px; width: 240px; font-size: 13px; }
/* El menú móvil se despliega bajo toda la cabecera. */
.mm-header .mm-menu,
.mm-header .mm-menu .et_pb_menu_inner_container,
.mm-header .mm-menu .et_pb_menu__wrap,
.mm-header .mm-menu .et_pb_menu__menu,
.mm-header .mm-menu .et_mobile_nav_menu,
.mm-header .mm-menu .mobile_nav { position: static !important; }
.mm-header .mm-menu .et_mobile_menu { top: 100%; left: 0; right: 0; border-top: 1px solid rgba(20, 20, 20, .1); box-shadow: 0 16px 32px rgba(0, 0, 0, .06); }
.mm-header .mm-menu .et_mobile_menu { width: auto; padding: 8px 0; background: #fdfcf9; }
.mm-header .mm-menu .et_mobile_menu li a { font-size: 16px; padding: 12px 5%; }
.mm-header .mm-menu .et_mobile_menu li li a { padding-left: calc(5% + 16px); font-size: 15px; }

/* ---- Botones en línea (.mm-btn-inline) ------------------------------ */
.et_pb_button_module_wrapper:has(> .mm-btn-inline) { display: inline-block; margin-right: 12px; }
.et_pb_button.mm-btn-inline { margin-bottom: 12px; }

/* ---- Tablas (.mm-tabla) dentro de módulos de texto ------------------- */
.mm-tabla { width: 100%; border-collapse: collapse; font-size: 16px; border: 0; }
.mm-tabla th { text-align: left; font-weight: 500; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: #6b665f; padding: 0 16px 14px 0; border-bottom: 1px solid #131313; }
.mm-tabla td { padding: 16px 16px 16px 0; border-bottom: 1px solid #e7e1d7; vertical-align: top; color: #46423e; }
.mm-tabla td:first-child { color: #131313; }
.mm-tabla td:last-child, .mm-tabla th:last-child { padding-right: 0; }
.et_pb_text_inner .mm-tabla { margin-bottom: 0; }
@media (max-width: 767px) {
	.mm-tabla thead { display: none; }
	.mm-tabla tr { display: block; padding: 14px 0; border-bottom: 1px solid #e7e1d7; }
	.mm-tabla td { display: block; padding: 2px 0; border: 0; }
}

/* ---- Pie (.mm-footer-links / .mm-underline) ------------------------- */
.mm-footer-links p { padding-bottom: 10px; }
.mm-footer-links a:hover { color: #131313 !important; }
.mm-underline a { border-bottom: 1px solid currentColor; padding-bottom: 2px; }

/* ---- Listas y textos legales ----------------------------------------- */
.et_pb_text ul { padding-left: 1.1em; }
.et_pb_text ul li { padding-bottom: .5em; }
.mm-legal h3 { padding-top: 1.2em; }
.mm-cronologia h3 { padding-top: 1.1em; padding-bottom: .25em; }
.mm-cronologia h3:first-child { padding-top: 0; }

/* ---- Formulario (.mm-form) -------------------------------------------- */
/* Divi oculta las etiquetas (display:none) y deja solo el placeholder: se muestran visibles y asociadas
   a cada campo. En las casillas, la etiqueta visible es el título de opciones (p. 21). */
.mm-form .input, .mm-form select { border: 1px solid #cfc7bb !important; padding: 14px 16px !important; }
.mm-form .input:focus, .mm-form select:focus { border-color: #131313 !important; outline: 2px solid #131313; outline-offset: 1px; }
.mm-form .et_pb_contact_field:not([data-type="checkbox"]) > .et_pb_contact_form_label {
	display: block; margin-bottom: 6px; font-size: 15px; font-weight: 500; color: #131313; line-height: 1.4;
}
.mm-form .et_pb_contact_field_options_title { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 500; color: #131313; }
.mm-form .et_contact_bottom_container { float: none; text-align: left; margin-top: 8px; padding-left: 3%; display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
/* Casilla de privacidad: el input real sigue en el árbol de accesibilidad y recibe el foco. */
.mm-form .et_pb_contact_field_checkbox { display: block; position: relative; }
.mm-form .et_pb_contact_field_checkbox input[type="checkbox"] {
	display: block !important; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; margin: 0; opacity: 0; cursor: pointer; z-index: 1;
}
.mm-form .et_pb_contact_field_checkbox label { display: block; font-size: 15px; line-height: 1.6; padding-left: 32px; }
.mm-form .et_pb_contact_field_checkbox label i { position: absolute; left: 0; top: 3px; width: 20px; height: 20px; margin: 0; background: #fff !important; border: 1px solid #6b665f !important; }
.mm-form .et_pb_contact_field_checkbox input:checked + label i:before { color: #131313 !important; }
.mm-form .et_pb_contact_field_checkbox input:focus-visible + label i { outline: 2px solid #131313; outline-offset: 2px; }
.mm-form .et_pb_contact_field_checkbox label a { text-decoration: underline; }
.mm-form .et_contact_error { border-color: #a4262c !important; }
.mm-form .et-pb-contact-message:not(:empty) { margin-bottom: 20px; padding: 14px 18px; border-left: 2px solid #131313; background: #f5f1ea; color: #131313; }
.mm-form .et_pb_contact_captcha_question { color: #131313; }
.mm-form .mm-captcha-label { width: 100%; font-size: 15px; font-weight: 500; color: #131313; }
.mm-form .et_pb_contact_right { float: none; margin: 0; }

/* ---- Accesibilidad ------------------------------------------------------ */
a:focus-visible, .et_pb_button:focus-visible { outline: 2px solid #131313; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
