/* =========================================================================================================
   Mophys — estilos (hijo de Astra). Medidas copiadas de la web anterior hecha con Elementor (plantilla Bonne):
   caja de 1280 px con columnas de 10 px de margen interior, letras Fanwood Text (títulos) y Roboto (texto),
   verde #00A39C y morado #28235B. Puntos de corte de Elementor: tableta ≤1024 px, móvil ≤767 px.
   ========================================================================================================= */

/* 1 · Letras (servidas desde el tema) ------------------------------------------------------------------------ */
@font-face { font-family: "Fanwood Text"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/fanwood-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fanwood Text"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/fanwood-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Fanwood Text"; font-style: italic; font-weight: 400; font-display: swap; src: url(../fonts/fanwood-italic-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fanwood Text"; font-style: italic; font-weight: 400; font-display: swap; src: url(../fonts/fanwood-italic-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/roboto-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/roboto-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Roboto"; font-style: italic; font-weight: 100 900; font-display: swap; src: url(../fonts/roboto-italic-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Roboto"; font-style: italic; font-weight: 100 900; font-display: swap; src: url(../fonts/roboto-italic-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
	--m-verde: #00A39C;
	--m-morado: #28235B;
	--m-celeste: #6CCBD9;
	--m-azul-claro: #EDF1FC;
	--m-texto: #353C3D;
	--m-titulo: #1E293B;
	--m-blanco: #FFFFFF;
	--m-serif: "Fanwood Text", serif;
	--m-sans: "Roboto", sans-serif;
	--m-ancho: 1280px;
	/* Tamaños de los estilos globales del kit de Elementor (escritorio; abajo, tableta y móvil) */
	--m-t-cuerpo: 16px;   --m-lh-cuerpo: 24px;   /* b2ce6af */
	--m-t-menu: 15px;                            /* 520c191 */
	--m-t-franja: 13px;                          /* 112b6c4 */
	--m-t-pie-titulo: 18px;                      /* 7044a64 */
}
@media (max-width: 1024px) { :root { --m-t-cuerpo: 15px; --m-lh-cuerpo: 22.5px; --m-t-franja: 12px; --m-t-pie-titulo: 16px; } }
@media (max-width: 767px)  { :root { --m-t-cuerpo: 14px; --m-lh-cuerpo: 21px; --m-t-menu: 14px; --m-t-franja: 11px; --m-t-pie-titulo: 14px; } }

body { color: var(--m-texto); font-family: var(--m-sans); font-size: var(--m-t-cuerpo); line-height: var(--m-lh-cuerpo); background: #fff; }
.mophys-cab svg, .mophys-pie svg { fill: currentColor; }

/* Astra: sin márgenes propios (cada plantilla pone los suyos) */
#content > .ast-container { max-width: none !important; padding: 0 !important; display: block; }
#primary { margin: 0 !important; padding: 0 !important; }
.ast-header-break-point .main-header-bar, #ast-desktop-header, #ast-mobile-header { display: none !important; }

/* 2 · Cabecera: franja superior --------------------------------------------------------------------------------- */
.mophys-franja { background: var(--m-morado); }
.mophys-franja__in { max-width: var(--m-ancho); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 10px; box-sizing: border-box; }
.mophys-franja__datos { display: flex; flex-wrap: wrap; gap: 0 16px; margin: 0; padding: 0; list-style: none; }
.mophys-franja__datos a { display: flex; align-items: center; color: #fff; font: 300 var(--m-t-franja)/24px var(--m-sans); text-decoration: none; }
.mophys-franja__datos svg { width: 12px; height: 12px; flex: 0 0 12px; margin-right: 3px; }
.mophys-franja__datos span { padding-left: 5px; }
.mophys-franja__red { display: flex; justify-content: center; align-items: center; width: 24px; height: 24px; background: var(--m-verde); color: #fff; }
.mophys-franja__red svg { width: 12px; height: 12px; }
@media (max-width: 767px) {
	.mophys-franja__in { justify-content: center; }
	.mophys-franja__datos { justify-content: center; }
	.mophys-franja__datos a { line-height: 21px; }
	.mophys-franja__red { display: none; }
}

/* 3 · Cabecera: logo, menú y botón ---------------------------------------------------------------------------- */
.mophys-cab { display: contents; } /* la barra queda fija arriba al bajar en toda la página (como la cabecera «sticky» de Elementor) */
.mophys-barra { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; background: #fff; }
.mophys-barra__in { max-width: 1290px; margin: 0 auto; padding: 5px; box-sizing: border-box; display: flex; align-items: center; } /* caja de 1280 + 5 px a cada lado (por debajo de 1290 px queda el hueco de 5 px, como en Elementor) */
.mophys-barra__logo, .mophys-barra__menu, .mophys-barra__boton { padding: 10px; box-sizing: border-box; min-height: 72px; display: flex; align-items: center; }
.mophys-barra__logo { width: 15%; }
.mophys-barra__logo a { display: block; width: 100%; line-height: 0; }
.mophys-barra__img { display: block; width: 100%; height: auto; }
.mophys-barra__menu { width: 65%; justify-content: center; }
.mophys-barra__boton { width: 20%; justify-content: flex-end; }
.mophys-boton { display: inline-block; padding: 15px 30px; border-radius: 2px; background: var(--m-verde); color: #fff !important; font: 500 16px/16px var(--m-sans); text-decoration: none; transition: background .3s, transform .3s; }
.mophys-boton:hover, .mophys-boton:focus { background: var(--m-morado); color: #fff; transform: scale(1.1); } /* «crecer» de Elementor */

.mophys-menu-boton { display: none; }
.mophys-menu__lista { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
.mophys-menu__lista > li { position: relative; margin: 0 21px; }
.mophys-menu__lista a { display: flex; align-items: center; color: var(--m-morado); font: 500 var(--m-t-menu)/normal var(--m-sans); text-decoration: none; transition: color .3s; }
.mophys-menu__lista > li > a { padding: 16px 0; }
.mophys-menu__lista > li > a:hover, .mophys-menu__lista > li > a:focus, .mophys-menu__lista > li.current-menu-item > a,
.mophys-menu__lista > li:hover > a { color: var(--m-verde); }
.mophys-menu__flecha { display: inline-flex; align-items: center; margin: -10px 0; padding: 10px 0 10px 10px; line-height: 15px; }
.mophys-menu__flecha svg { width: 15px; height: 15px; fill: currentColor; }
.mophys-menu__lista .sub-menu { position: absolute; top: 100%; left: 0; z-index: 60; min-width: 156px; margin: 0; padding: 0; list-style: none; background: #fff;
	border-radius: 2px; box-shadow: 0 10px 30px rgba(0, 0, 0, .1); visibility: hidden; opacity: 0; transition: opacity .2s, visibility .2s; }
.mophys-menu__lista > li:hover > .sub-menu, .mophys-menu__lista > li:focus-within > .sub-menu { visibility: visible; opacity: 1; }
.mophys-menu__lista .sub-menu a { padding: 13px 20px; border-left: 8px solid transparent; line-height: 20px; white-space: nowrap; }
.mophys-menu__lista .sub-menu a:hover, .mophys-menu__lista .sub-menu a:focus, .mophys-menu__lista .sub-menu .current-menu-item > a { background: var(--m-verde); color: #fff; }

@media (max-width: 1024px) {
	.mophys-barra__in { padding: 5px; }
	.mophys-franja__datos a { line-height: 22.5px; }
	.mophys-barra__logo { width: 60%; }
	.mophys-barra__img { width: 40%; }
	.mophys-barra__menu { width: 9%; position: static; }
	.mophys-barra__boton { width: 31%; }
	.mophys-menu-boton { display: block; margin: 0 auto; padding: 7px; border: 0; border-radius: 2px; background: #fff; color: #33373D; line-height: 0; cursor: pointer; box-shadow: none !important; }
	.mophys-menu-boton svg { width: 28px; height: 28px; fill: currentColor; }
	.mophys-menu-boton:hover { background: var(--m-celeste); color: #fff; }
	.mophys-menu-boton__cerrar, .mophys-menu-abierto .mophys-menu-boton__abrir { display: none; }
	.mophys-menu-abierto .mophys-menu-boton__cerrar { display: block; }
	.mophys-menu { display: none; position: absolute; left: 0; right: 0; top: calc(50% + 31px); background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .1); } /* 10 px por debajo del botón */
	.mophys-menu-abierto .mophys-menu { display: block; }
	.mophys-menu__lista { flex-direction: column; align-items: stretch; }
	.mophys-menu__lista > li { margin: 0; }
	.mophys-menu__lista a, .mophys-menu__lista > li > a { justify-content: center; padding: 10px 20px; line-height: normal; }
	.mophys-menu__lista > li.current-menu-item > a, .mophys-menu__lista > li.mophys-sub-abierto > a { background: var(--m-verde); color: #fff; }
	.mophys-menu__lista > li:hover > a { color: var(--m-morado); }
	.mophys-menu__lista > li.current-menu-item:hover > a, .mophys-menu__lista > li.mophys-sub-abierto:hover > a { color: #fff; }
	.mophys-menu__lista .sub-menu { position: static; display: none; min-width: 0; visibility: visible; opacity: 1; box-shadow: none; border-radius: 0; }
	.mophys-menu__lista .mophys-sub-abierto > .sub-menu { display: block; }
	.mophys-menu__lista .sub-menu a { padding: 10px 20px; border-left: 0; line-height: normal; white-space: normal; }
	.mophys-menu__flecha { padding: 10px 0 10px 10px; }
}
@media (max-width: 921px) { .mophys-boton { padding: 14px 28px; font-size: 14.592px; line-height: 14.592px; } } /* Astra reduce la letra base por debajo de 922 px */
@media (max-width: 767px) {
	.mophys-menu__lista a, .mophys-menu__lista > li > a, .mophys-menu__lista .sub-menu a { padding: 14px 20px; }
	.mophys-franja__datos a { line-height: 21px; }
	.mophys-barra__in { padding: 5px; }
	.mophys-barra__logo { width: 80%; min-height: 63px; }
	.mophys-barra__img { width: 50%; }
	.mophys-barra__menu { width: 20%; min-height: 63px; }
	.mophys-barra__boton { display: none; }
}

/* 4 · Pie ------------------------------------------------------------------------------------------------------ */
.mophys-pie { background: #fff; }
.mophys-pie__in { max-width: var(--m-ancho); margin: 0 auto; padding: 10px; box-sizing: content-box; display: flex; } /* 1280 de contenido + 10 px (Elementor) */
.mophys-pie__col { width: 25%; padding: 10px; box-sizing: border-box; display: flex; flex-direction: column; gap: 20px; }
.mophys-pie__col--marca { width: 20%; }
.mophys-pie__logo { display: block; width: 40%; line-height: 0; }
.mophys-pie__logo img { width: 100%; height: auto; }
.mophys-pie__lema { margin: 0 0 28px; }
.mophys-pie__titulo { margin: 0 !important; padding: 0; color: var(--m-titulo); font: 700 var(--m-t-pie-titulo)/1.2 var(--m-sans) !important; }
.mophys-pie__lista { margin: 0; padding: 0; list-style: none; }
.mophys-pie__lista li { display: flex; align-items: flex-start; }
.mophys-pie__lista li + li { margin-top: 14px; }
.mophys-pie__lista a { display: flex; align-items: flex-start; color: var(--m-texto); text-decoration: none; }
.mophys-pie__lista a:hover { color: var(--m-verde); }
.mophys-pie__lista svg { width: 14px; height: 14px; flex: 0 0 14px; margin-right: 4px; margin-top: calc((var(--m-lh-cuerpo) - 14px) / 2); }
.mophys-pie__lista span { padding-left: 5px; }
.mophys-pie__mapa { display: block; width: 100%; height: 150px; border: 0; }
@media (max-width: 1024px) {
	.mophys-pie__in { flex-wrap: wrap; padding: 10px; }
	.mophys-pie__col, .mophys-pie__col--marca { width: 50%; }
}
@media (max-width: 767px) {
	.mophys-pie__in { flex-direction: column; padding: 20px 0; }
	.mophys-pie__col, .mophys-pie__col--marca { width: 100%; }
	.mophys-pie__lema { margin-bottom: 24.5px; }
}

/* 5 · Formularios (cada página ajusta el aspecto: portada, contacto, fichas) ------------------------------------ */
.mophys-form { display: flex; flex-wrap: wrap; }
.mophys-form__trampa { position: absolute; left: -9999px; }
.mophys-form__campo { margin: 0; box-sizing: border-box; }
.mophys-form__campo--50 { width: 50%; }
.mophys-form__campo--100 { width: 100%; }
.mophys-form__etiqueta { display: none; }
.mophys-form input, .mophys-form textarea { display: block; width: 100%; box-sizing: border-box; margin: 0; }
.mophys-form__boton { cursor: pointer; }
.mophys-form__aviso { width: 100%; margin: 10px 0 0; font-size: 15px; }
.mophys-form__legal { width: 100%; margin: 8px 0 0; font-size: 12px; line-height: 1.5; opacity: .75; }
.mophys-form__legal a { color: inherit; text-decoration: underline; }
@media (max-width: 767px) { .mophys-form__campo--50 { width: 100%; } }

/* 6 · Aviso de cookies (plugin cookie-law-info): en la web anterior los botones iban sin borde (lo quitaba el CSS de Elementor) */
.cky-btn { border-width: 0 !important; }

/* 7 · Texto de ayuda de los campos: el color del campo al 60 % (como en los formularios de Elementor) */
.mophys-form input::placeholder, .mophys-form textarea::placeholder { color: inherit; opacity: .6; }
