/*
Theme Name:   EDM Centro Estético
Theme URI:    https://edmcentroestetico.com/
Description:  Tema hijo de Hello Elementor para EDM Centro Estético (Fuengirola). Colores, tipografías y ajustes de marca.
Author:       Marketing ON
Author URI:   https://marketingon.es/
Template:     hello-elementor
Version:      1.2.0
Requires at least: 6.0
Requires PHP: 7.4
License:      GNU General Public License v3 or later
License URI:  https://www.gnu.org/licenses/gpl-3.0.html
Text Domain:  edm-centro-estetico
*/

/* ---------- Colores de marca ---------- */
:root {
	--edm-crema: #F3EEE6;
	--edm-crema-claro: #FBF8F3;
	--edm-arena: #E6DCCD;
	--edm-linea: #DDD2C2;
	--edm-texto: #2F2A24;
	--edm-texto-suave: #4A4036;
	--edm-marron: #6B5A49;
	--edm-terracota: #A0522F;
	--edm-terracota-oscuro: #7A3E22;
	--edm-salvia: #59654A;
	--edm-fuente-texto: 'Jost', sans-serif;
	--edm-fuente-titulos: 'Cormorant Garamond', serif;
}

/* ---------- Base ---------- */
body {
	background-color: var(--edm-crema);
	color: var(--edm-texto);
	font-family: var(--edm-fuente-texto);
	font-weight: 300;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
	font-family: var(--edm-fuente-titulos);
	font-weight: 400;
	color: inherit;
}

a {
	color: var(--edm-terracota-oscuro);
}

a:hover,
a:focus {
	color: var(--edm-texto);
}

::selection {
	background: var(--edm-arena);
	color: var(--edm-texto);
}

/* Sustituye el rosa por defecto de Hello Elementor en botones y campos */
button,
[type="button"],
[type="submit"] {
	border-color: var(--edm-terracota);
	color: var(--edm-terracota);
}

button:hover,
button:focus,
[type="button"]:hover,
[type="button"]:focus,
[type="submit"]:hover,
[type="submit"]:focus {
	background-color: var(--edm-terracota);
	border-color: var(--edm-terracota);
	color: var(--edm-crema);
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--edm-terracota);
	outline: 2px solid var(--edm-terracota);
	outline-offset: 1px;
}

/* Imágenes nunca más anchas que su contenedor */
img {
	max-width: 100%;
	height: auto;
}

/* =========================================================
   Cabecera, pie, blog y artículos (plantillas del tema hijo)
   ========================================================= */
.edm-wrap { max-width: 1280px; margin: 0 auto; padding: 0 32px; box-sizing: border-box; }
.edm-wrap--texto { max-width: 820px; }

.edm-btn { display: inline-block; text-decoration: none; background: var(--edm-terracota); color: var(--edm-crema) !important; border: 1px solid var(--edm-terracota); padding: 13px 26px; border-radius: 999px; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 400; }
.edm-btn:hover { background: var(--edm-terracota-oscuro); border-color: var(--edm-terracota-oscuro); }
.edm-btn--linea { background: transparent; color: var(--edm-texto) !important; border-color: var(--edm-texto); }
.edm-btn--linea:hover { background: var(--edm-texto); color: var(--edm-crema) !important; }
.edm-ceja { margin: 0 0 12px; font-size: 12px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--edm-marron); }
.edm-titulo { margin: 0; font-family: var(--edm-fuente-titulos); font-weight: 400; font-size: 56px; line-height: 1.05; color: var(--edm-texto); }
.edm-enlace { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; }

.edm-header { border-bottom: 1px solid var(--edm-linea); background: var(--edm-crema); }
.edm-header__in { padding-top: 22px; padding-bottom: 22px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; }
.edm-header__logo img { display: block; height: 56px; width: auto; }
.edm-header__texto { display: none; font-family: var(--edm-fuente-titulos); font-size: 34px; letter-spacing: 0.08em; color: var(--edm-texto); }
.edm-header__nav { display: flex; flex-wrap: wrap; gap: 28px; font-size: 14px; letter-spacing: 0.06em; }
.edm-header__nav a { color: #3F4A33; text-decoration: none; }
.edm-header__nav a:hover { color: var(--edm-terracota); }

.edm-footer { background: var(--edm-texto); color: var(--edm-arena); font-size: 14px; }
.edm-footer a { color: var(--edm-arena); text-decoration: none; }
.edm-footer a:hover { color: #fff; }
.edm-footer__top { padding: 64px 0 40px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 32px; }
.edm-footer__marca { max-width: 340px; }
.edm-footer__marca img { display: block; height: 60px; width: auto; margin-bottom: 12px; }
.edm-footer__texto { display: none; font-family: var(--edm-fuente-titulos); font-size: 34px; color: var(--edm-crema); }
.edm-footer__marca p { margin: 0 0 12px; line-height: 1.6; }
.edm-footer__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 48px; align-content: start; }
.edm-footer__grupo { display: flex; flex-direction: column; gap: 10px; }
.edm-footer__titulo { margin: 0; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: #B3BBA4; }
.edm-footer__bottom { border-top: 1px solid var(--edm-texto-suave); padding: 24px 0 40px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; font-size: 12px; color: #CDBEAB; }
.edm-footer__legal { display: flex; flex-wrap: wrap; gap: 20px; }
.edm-footer__legal a { color: #CDBEAB; text-decoration: underline; }

.edm-blog { padding: 88px 0 112px; }
.edm-blog__cabecera { max-width: 760px; margin-bottom: 56px; }
.edm-blog__intro { margin: 18px 0 0; font-size: 18px; line-height: 1.7; color: var(--edm-texto-suave); }
.edm-blog__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 28px; }
.edm-tarjeta { background: var(--edm-crema-claro); border: 1px solid var(--edm-linea); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; }
.edm-tarjeta__img { display: block; aspect-ratio: 16 / 10; background: var(--edm-arena); overflow: hidden; }
.edm-tarjeta__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.edm-tarjeta:hover .edm-tarjeta__img img { transform: scale(1.03); }
.edm-tarjeta__txt { padding: 24px; display: flex; flex-direction: column; gap: 10px; flex-grow: 1; }
.edm-tarjeta__meta { margin: 0; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--edm-marron); }
.edm-tarjeta__titulo { margin: 0; font-family: var(--edm-fuente-titulos); font-weight: 500; font-size: 26px; line-height: 1.2; }
.edm-tarjeta__titulo a { color: var(--edm-texto); text-decoration: none; }
.edm-tarjeta__extracto { margin: 0; font-size: 15px; line-height: 1.6; color: var(--edm-texto-suave); flex-grow: 1; }
.edm-blog .navigation.pagination { margin-top: 48px; }
.edm-blog .nav-links { display: flex; gap: 12px; flex-wrap: wrap; }
.edm-blog .page-numbers { padding: 8px 14px; border: 1px solid var(--edm-linea); border-radius: 999px; text-decoration: none; color: var(--edm-texto); }
.edm-blog .page-numbers.current { background: var(--edm-texto); color: var(--edm-crema); }

.edm-articulo { padding: 64px 0 0; }
.edm-migas { margin: 0 0 22px; font-size: 13px; color: var(--edm-marron); }
.edm-migas a { color: var(--edm-marron); }
.edm-articulo .edm-titulo { font-size: 52px; }
.edm-articulo__meta { margin: 18px 0 0; font-size: 13px; letter-spacing: 0.08em; color: var(--edm-marron); }
.edm-articulo__img { margin-top: 40px; max-width: 1080px; }
.edm-articulo__img img { width: 100%; height: auto; max-height: 560px; object-fit: cover; border-radius: 8px; display: block; }
.edm-articulo__contenido { padding-top: 48px; padding-bottom: 24px; font-size: 18px; line-height: 1.8; color: var(--edm-texto-suave); }
.edm-articulo__contenido p { margin: 0 0 1.3em; }
.edm-articulo__contenido h2 { font-family: var(--edm-fuente-titulos); font-weight: 400; font-size: 38px; line-height: 1.15; color: var(--edm-texto); margin: 1.6em 0 0.5em; }
.edm-articulo__contenido h3 { font-family: var(--edm-fuente-titulos); font-weight: 500; font-size: 28px; line-height: 1.2; color: var(--edm-texto); margin: 1.4em 0 0.4em; }
.edm-articulo__contenido ul { margin: 0 0 1.4em; padding-left: 1.2em; }
.edm-articulo__contenido li { margin-bottom: 0.6em; }
.edm-articulo__contenido li::marker { color: var(--edm-terracota); }
.edm-articulo__contenido a { color: var(--edm-terracota-oscuro); text-decoration: underline; text-underline-offset: 3px; }
.edm-articulo__contenido .wp-block-button__link { text-decoration: none; padding: 15px 28px; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; }
.edm-caja { margin: 24px 0 88px; background: var(--edm-arena); border-radius: 8px; padding: 32px; }
.edm-caja__titulo { margin: 0 0 8px; font-family: var(--edm-fuente-titulos); font-size: 30px; color: var(--edm-texto); }
.edm-caja p { margin: 0 0 16px; font-size: 16px; line-height: 1.6; color: var(--edm-texto-suave); }
.edm-caja__botones { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 0 !important; }
.edm-mas { background: var(--edm-arena); padding: 72px 0 96px; }
.edm-mas .edm-tarjeta__titulo { font-size: 23px; }

@media (max-width: 760px) {
	.edm-wrap { padding: 0 20px; }
	.edm-header__nav { display: none; }
	.edm-header__logo img { height: 44px; }
	.edm-titulo, .edm-articulo .edm-titulo { font-size: 38px; }
	.edm-articulo__contenido { font-size: 17px; }
	.edm-articulo__contenido h2 { font-size: 30px; }
	.edm-blog { padding: 56px 0 72px; }
}

/* ---------- Menú: desplegable de Tratamientos y menú móvil (1.2) ---------- */
.edm-header { position: relative; z-index: 50; }
.edm-header__nav { align-items: center; }
.edm-header__acciones { display: flex; align-items: center; gap: 12px; }
.edm-sub { position: relative; }
.edm-sub__enlace { display: inline-flex; align-items: center; gap: 8px; padding: 8px 0; }
.edm-sub__flecha { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.edm-sub__menu { position: absolute; top: 100%; left: -20px; min-width: 260px; padding: 10px 0; background: var(--edm-crema-claro); border: 1px solid var(--edm-linea); border-radius: 8px; box-shadow: 0 14px 34px rgba(47, 42, 36, .10); display: flex; flex-direction: column; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; z-index: 60; }
.edm-sub:hover .edm-sub__menu, .edm-sub:focus-within .edm-sub__menu { opacity: 1; visibility: visible; transform: translateY(0); }
.edm-sub:hover .edm-sub__flecha, .edm-sub:focus-within .edm-sub__flecha { transform: translateY(1px) rotate(225deg); }
.edm-header__nav .edm-sub__menu a { padding: 9px 20px; font-size: 14px; letter-spacing: 0.02em; white-space: nowrap; }
.edm-header__nav .edm-sub__menu a:hover, .edm-header__nav .edm-sub__menu a:focus { background: var(--edm-crema); color: var(--edm-terracota); }
.edm-header__nav .edm-sub__menu .edm-sub__todos { margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--edm-linea); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--edm-terracota); }

.edm-movil { display: none; }
.edm-movil > summary { list-style: none; }
.edm-movil > summary::-webkit-details-marker { display: none; }
.edm-movil__boton { width: 44px; height: 44px; border: 1px solid var(--edm-linea); border-radius: 999px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; cursor: pointer; }
.edm-movil__boton span { display: block; width: 18px; height: 1.5px; background: var(--edm-texto); transition: transform .2s, opacity .2s; }
.edm-movil[open] .edm-movil__boton span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
.edm-movil[open] .edm-movil__boton span:nth-child(2) { opacity: 0; }
.edm-movil[open] .edm-movil__boton span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }
.edm-movil__panel { position: absolute; left: 0; right: 0; top: 100%; background: var(--edm-crema); border-bottom: 1px solid var(--edm-linea); box-shadow: 0 14px 30px rgba(47, 42, 36, .10); padding: 8px 20px 20px; display: flex; flex-direction: column; max-height: calc(100vh - 90px); overflow-y: auto; }
.edm-movil__panel a, .edm-movil__grupo > summary { display: block; padding: 14px 0; border-bottom: 1px solid var(--edm-linea); color: var(--edm-texto); text-decoration: none; font-size: 16px; letter-spacing: 0.04em; }
.edm-movil__grupo > summary { list-style: none; cursor: pointer; position: relative; }
.edm-movil__grupo > summary::-webkit-details-marker { display: none; }
.edm-movil__grupo > summary::after { content: ""; position: absolute; right: 4px; top: 50%; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
.edm-movil__grupo[open] > summary::after { transform: translateY(-30%) rotate(225deg); }
.edm-movil__sub { display: flex; flex-direction: column; padding: 4px 0 8px 14px; border-bottom: 1px solid var(--edm-linea); }
.edm-movil__panel .edm-movil__sub a { border-bottom: 0; padding: 10px 0; font-size: 15px; color: var(--edm-texto-suave); }
.edm-movil__panel .edm-movil__sub .edm-sub__todos { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--edm-terracota); }

@media (max-width: 760px) {
	.edm-header__in { flex-wrap: nowrap; gap: 12px; }
	.edm-movil { display: block; }
	.edm-header__acciones .edm-btn { padding: 11px 16px; font-size: 11px; letter-spacing: 0.1em; white-space: nowrap; }
}
@media (max-width: 360px) {
	.edm-header__logo img { height: 36px; }
	.edm-header__acciones .edm-btn { padding: 10px 12px; }
}
