body {
  /* Reseteo de estilos */
}
body .elementor-widget-html {
  line-height: 0;
  font-size: 0;
}
body .elementor-widget-text-editor > p:last-child,
body .elementor-widget-text-editor > .elementor-widget-container > p:last-child {
  margin: 0;
}

/* Cuerpo editorial: unifica Elementor, ACF y entradas sin alterar la home ni componentes UI */
body .dato-acf.elementor-widget-text-editor p,
body .dato-acf.elementor-widget-text-editor li,
body .elementor-widget-theme-post-content p,
body .elementor-widget-theme-post-content li,
body:not(.home) .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor p {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}

/* La tarjeta Top Doctors conserva la composición tipográfica definida en Elementor. */
body:not(.home) .elementor[data-elementor-type="wp-page"] .elementor-40191 .elementor-element.elementor-element-b0796a7 p {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

/* Listados editoriales de la plantilla de tratamientos: igualan el párrafo estándar */
body.page-template-tratamientos .elementor-widget-text-editor li {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}

body .dato-acf.elementor-widget-text-editor p,
body .elementor-widget-theme-post-content p,
body:not(.home) .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor p {
  margin-top: 0;
  margin-bottom: 1em;
}

body .dato-acf.elementor-widget-text-editor > p:last-child,
body .dato-acf.elementor-widget-text-editor > .elementor-widget-container > p:last-child,
body .elementor-widget-theme-post-content > p:last-child,
body .elementor-widget-theme-post-content > .elementor-widget-container > p:last-child,
body:not(.home) .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor > p:last-child,
body:not(.home) .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor > .elementor-widget-container > p:last-child {
  margin-bottom: 0;
}

/* La descripción secundaria del hero conserva exactamente la tipografía del subtítulo superior. */
body .elementor-41686 .elementor-element.elementor-element-91488cb,
body .elementor-41686 .elementor-element.elementor-element-91488cb p,
body .elementor-41686 .elementor-element.elementor-element-91488cb span {
  font-family: "DM Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.3 !important;
  color: #FFFFFF !important;
}

/* H2 editoriales: misma jerarquía en ACF, contenido nativo y plantillas compartidas. */
body .elementor .elementor-element.elementor-widget-theme-post-content h2,
body .elementor-41686 .elementor-element.elementor-widget-text-editor h2,
body .elementor-39919 .elementor-element.elementor-widget-text-editor h2,
body .elementor-40677 .elementor-element.elementor-widget-text-editor h2,
body .elementor-40489 .elementor-element.elementor-widget-text-editor h2 {
  font-family: "Cormorant Garamond", sans-serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 1;
  color: #0C2340;
  margin: 1.35em 0 0.55em;
}

body .elementor-widget-theme-post-content > .elementor-widget-container > h2:first-child,
body .elementor-widget-text-editor > .elementor-widget-container > h2:first-child {
  margin-top: 0;
}

body .elementor-widget-theme-post-content h3 {
  font-size: 26px;
  line-height: 1.25;
  margin: 1.2em 0 0.5em;
}

body .elementor-widget-theme-post-content h4 {
  font-size: 22px;
  line-height: 1.3;
  margin: 1.1em 0 0.45em;
}

body .elementor-widget-theme-post-content > :first-child {
  margin-top: 0;
}

@media (max-width: 767px) {
  body .elementor .elementor-element.elementor-widget-theme-post-content h2,
  body .elementor-41686 .elementor-element.elementor-widget-text-editor h2,
  body .elementor-39919 .elementor-element.elementor-widget-text-editor h2,
  body .elementor-40677 .elementor-element.elementor-widget-text-editor h2,
  body .elementor-40489 .elementor-element.elementor-widget-text-editor h2 {
    font-size: 26px;
    line-height: 1;
    margin-top: 1.2em;
  }

  body .elementor-widget-theme-post-content h3 {
    font-size: 22px;
    line-height: 1.25;
    margin-top: 1.1em;
  }

  body .elementor-widget-theme-post-content h4 {
    font-size: 19px;
    line-height: 1.3;
    margin-top: 1em;
  }
}

/* Ritmo tipográfico para campos WYSIWYG/ACF renderizados por Elementor */
body .dato-acf.elementor-widget-text-editor ol,
body .dato-acf.elementor-widget-text-editor ul {
  line-height: 1.4;
}

body .dato-acf.elementor-widget-text-editor li {
  line-height: inherit;
}

body .dato-acf.elementor-widget-text-editor li + li {
  margin-top: 0.5em;
}

body .dato-acf.elementor-widget-text-editor li > p {
  margin-bottom: 0.5em;
}

body .dato-acf.elementor-widget-text-editor li > p:last-child {
  margin-bottom: 0;
}

body .dato-acf.elementor-widget-text-editor li > ol,
body .dato-acf.elementor-widget-text-editor li > ul {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

body .dato-acf.elementor-widget-text-editor h3,
body .dato-acf.elementor-widget-text-editor h4,
body .dato-acf.elementor-widget-text-editor h5,
body .dato-acf.elementor-widget-text-editor h6 {
  margin-bottom: 0.35em;
}

/* Enlaces editoriales dentro de campos dinámicos: texto, no CTA */
body .dato-acf.elementor-widget-text-editor a:not(.elementor-button) {
  display: inline;
  padding: 0;
  background: transparent;
  color: #E6AE64;
  border-radius: 0;
  box-shadow: none;
  font-size: inherit;
  line-height: inherit;
  font-weight: 700;
  text-decoration: none;
  transform: none;
  transition: color 0.25s ease, text-decoration-color 0.25s ease;
}

body .dato-acf.elementor-widget-text-editor a:not(.elementor-button):hover {
  background: transparent;
  color: #0C2340;
  box-shadow: none;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
  transform: none;
}

body .dato-acf.elementor-widget-text-editor a:not(.elementor-button):focus-visible {
  outline: 2px solid #E6AE64;
  outline-offset: 2px;
}

/*Estilos alinear iconos botón*/
.pedir-cita a.elementor-button svg{
  transform: translateY(-1px);
}

/*Cambiar color iconos   header al hacer hover*/
.pedir-cita a.elementor-button:hover svg{
  fill: var(--e-global-color-primary);
  stroke: var(--e-global-color-primary);
}

.boton-llamar:hover svg *,
.boton-llamar:hover svg{
 fill: #FFFFFF;
  stroke: #FFFFFF;
}

.iconos-footer a:hover svg *{
  fill: var(--e-global-color-text);
  stroke: var(--e-global-color-text);
  transition: color 0.25s ease-in-out;
}

.iconos-footer-2 a:hover svg *{
  fill: white;
  
  transition: color 0.25s ease-in-out;
}


.boton-sabermas:hover{
  background-color: #FFFFFF;
  opacity: 80%;
  border-radius: 10px;
}

.boton-sabermas:hover svg *,
.boton-sabermas:hover svg{
  fill: var(--e-global-color-primary);
  stroke: var(--e-global-color-primary);
}

.formulario-footer .elementor-button:hover svg *{
  fill: #FFFF;
  stroke: #FFFF;
}

.icono-wsp .elementor-icon:hover svg,
.icono-wsp .elementor-icon:hover svg *{
  stroke: #fff !important;
}

.icono-wsp .elementor-social-icon:hover{
  background-color: var(--e-global-color-primary) !important;
}

.icono-wsp-white .elementor-social-icon:hover{
  background-color: #fff !important;
}

.icono-buscar .elementor-icon:hover svg,
.icono-buscar .elementor-icon:hover svg *{
  fill: #fff !important;
}

.icono-buscar .elementor-social-icon:hover{
  background-color: var(--e-global-color-primary) !important;
}

/*Estilos personalizados para tarjetas de Tratamientos en página de inicio*/

.caja-tratamiento {
  overflow: hidden;
  transition: background-color 0.5s ease;
}

.caja-tratamiento > .elementor-element,
.caja-tratamiento .elementor-widget-wrap > .elementor-element,
.caja-tratamiento .elementor-icon-list-item,
.caja-tratamiento .elementor-heading-title,
.caja-tratamiento .elementor-widget-container > span {
  transition:
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.35s ease,
    color 0.5s ease,
    fill 0.5s ease,
    stroke 0.5s ease;
  will-change: transform;
}

.caja-tratamiento:hover{
  background-color: var(--e-global-color-primary);
}

.caja-tratamiento:hover > .elementor-element,
.caja-tratamiento:hover .elementor-widget-wrap > .elementor-element,
.caja-tratamiento:hover .elementor-icon-list-item,
.caja-tratamiento:hover .elementor-heading-title,
.caja-tratamiento:hover .elementor-widget-container > span {
  transform: translateY(5px);
}

.caja-tratamiento:hover span{
  color: white !important;
}

.caja-tratamiento:hover h3{
  color: white !important;
}

.caja-tratamiento:hover .elementor-icon-list-icon,
.caja-tratamiento:hover .elementor-icon-list-icon i,
.caja-tratamiento:hover .elementor-icon-list-icon svg,
.caja-tratamiento:hover .elementor-icon-list-icon svg *,
.caja-tratamiento:hover .elementor-icon-list-icon svg path {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

/* icono-trat solo fill */
.caja-tratamiento:hover .icono-trat,
.caja-tratamiento:hover .icono-trat svg,
.caja-tratamiento:hover .icono-trat svg * {
  fill: var(--e-global-color-text) !important;
  stroke: none !important;
}

/* icono-trat-2 solo stroke */
.caja-tratamiento:hover .icono-trat-2,
.caja-tratamiento:hover .icono-trat-2 svg,
.caja-tratamiento:hover .icono-trat-2 svg * {
  stroke: var(--e-global-color-text) !important;
  fill: none !important;
}



/* icono-trat-chupete */
.caja-tratamiento:hover .icono-trat-chupete,
.caja-tratamiento:hover .icono-trat-chupete svg,
.caja-tratamiento:hover .icono-trat-chupete svg * {
  stroke: var(--e-global-color-text) !important;
}



/* Modificación de widget de listado de iconos */
.caja-tratamiento .elementor-widget-icon-list .elementor-icon-list-item,
.caja-tratamiento .elementor-widget-icon-list .elementor-icon-list-item > a,
.caja-tratamiento .elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text {
  cursor: pointer;
}

.caja-tratamiento .elementor-widget-icon-list .elementor-icon-list-item:hover .elementor-icon-list-text,
.caja-tratamiento .elementor-widget-icon-list .elementor-icon-list-item:hover a,
.caja-tratamiento .elementor-widget-icon-list .elementor-icon-list-item:hover span {
  color: #E6AE64 !important;
}

.caja-tratamiento .elementor-widget-icon-list .elementor-icon-list-item:hover .elementor-icon-list-icon,
.caja-tratamiento .elementor-widget-icon-list .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.caja-tratamiento .elementor-widget-icon-list .elementor-icon-list-item:hover .elementor-icon-list-icon svg,
.caja-tratamiento .elementor-widget-icon-list .elementor-icon-list-item:hover .elementor-icon-list-icon svg *,
.caja-tratamiento .elementor-widget-icon-list .elementor-icon-list-item:hover .elementor-icon-list-icon svg path {
  color: #E6AE64 !important;
  fill: #E6AE64 !important;
  stroke: #E6AE64 !important;
}

 
/*ANIMACIONES Y ESTILOS PARA LA PARTE DE NUESTROS CENTROS DE UROLOGÍA*/

.caja-centro{
	position: relative;
	overflow: hidden;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.caja-centro:hover{
  border-radius: 20px;
}

.caja-centro::before{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(12, 35, 64, 0) 0%,
		rgba(12, 35, 64, 0.45) 60%,
		rgba(12, 35, 64, 0.85) 100%
	);
	opacity: 0;
	transition: opacity 0.3s ease-out;
	z-index: 1;
	pointer-events: none;
}

/* Elementos */
.logo-centro,
.titulo-centro,
.listado-centro{
	position: absolute;
	z-index: 2;
	will-change: transform, opacity;
}

/* LOGO */
.logo-centro{
	top: 20px;
	right: 20px;
	opacity: 0;
	transform: translateY(-70px);
	transition:
		opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

/* TÍTULO */
.titulo-centro{
	transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

/* LISTADO */
.listado-centro{
	opacity: 0;
	transform: translateY(80px);
	transition:
		opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

/* HOVER */
.caja-centro:hover::before{
	opacity: 1;
  border-radius: 20px;
}

.caja-centro:hover .logo-centro{
	opacity: 1;
	transform: translateY(0);
}

.caja-centro:hover .titulo-centro{
	transform: translateY(-75px);
}

.caja-centro:hover .listado-centro{
	opacity: 1;
	transform: translateY(0);
}

/* HOME - SLIDER NOTICIAS */

.elementor-element-37ad317 .swiper {
  overflow: hidden !important;
  padding-bottom: 65px !important;

  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 40px,
    #000 calc(100% - 40px),
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 40px,
    #000 calc(100% - 40px),
    transparent 100%
  );
}

.elementor-element-37ad317 .e-loop-item > .elementor {
  margin-bottom: 35px;
}


.titulo-que-es .elementor-heading-title{
	line-height:1.1;
}

.titulo-que-es .titulo-dorado{
	display:block !important;
	font-family:'Anton', sans-serif !important;
	font-size:clamp(42px, 6vw, 80px) !important;
	color:#E6AE64 !important;
	line-height:1 !important;
	margin-bottom:10px;
}

.titulo-que-es .titulo-azul{
	display:block;
	font-family:'Cormorant Garamond', serif;
	font-size:clamp(24px, 3vw, 42px);
	color:#0C2340;
	line-height:1.1;
}

/*Título tecnologías en tratamientos*/

.titulo-trat-tec .titulo-trat-tec-destacado {
    display: inline-block;
    font-family: "Cormorant Garamond", serif;
    font-size: 0.6em;
    color: #0C2340;
    font-weight: 400;
    line-height: 1.1;
}

.titulo-trat-diag .titulo-trat-diag-destacado {
    display: inline-block;
    font-family: "Cormorant Garamond", serif;
    font-size: 0.6em;
    color: #0C2340;
    font-weight: 400;
    line-height: 1.1;
}

.cta-blog {
  border: 1px solid var(--e-global-color-primary);
  border-radius: 8px;
  background: transparent;
  color: var(--e-global-color-primary);
  font-family: "DM Sans", sans-serif;
  padding: 15px 15px 13px 15px;
  width: max-content;
  font-weight: 600;
  transition: background-color 200ms ease;
}

.cta-blog:hover {
  background-color: var(--e-global-color-primary);
  color: #fff;
}


/*Estilos para la tabla de las tecnologías*/

/* TABLA COMPARATIVA ACF - ESTILO TECNOLOGÍA */

.acf-tabla-comparativa {
  width: 100%;
  overflow-x: auto;
  margin: 30px 0;
  background: transparent;
  border-radius: 14px;
}

.acf-tabla-comparativa table {
  width: 100%;
  min-width: 780px;
  border-collapse: separate;
  border-spacing: 0;
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  line-height: 1.25;
  color: #0C2340;
  overflow: hidden;
  border-radius: 14px;
}

/* Cabecera general */
.acf-tabla-comparativa thead th {
  padding: 26px 24px;
  background: #FBF6F2;
  color: #0C2340;
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid #E6AE64;
}

/* Primera celda de cabecera */
.acf-tabla-comparativa thead th:first-child {
  width: 48%;
  background: #E6AE64;
  color: #0C2340;
  font-family: "Cormorant Garamond", serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.1;
  text-align: left;
  border-top-left-radius: 14px;
}

/* Última cabecera */
.acf-tabla-comparativa thead th:last-child {
  border-top-right-radius: 14px;
}

/* Separador vertical azul */
.acf-tabla-comparativa thead th:nth-child(2),
.acf-tabla-comparativa tbody td:nth-child(2) {
  border-right: 1px solid #0C2340;
}

/* Cuerpo */
.acf-tabla-comparativa tbody td {
  padding: 26px 24px;
  background: #FBF6F2;
  color: #0C2340;
  border-bottom: 1px solid #E6AE64;
  vertical-align: middle;
  transition:
    background-color 0.25s ease,
    color 0.25s ease;
}

/* Primera columna */
.acf-tabla-comparativa tbody td:first-child {
  width: 48%;
  background: #FFFFFF;
  color: #0C2340;
  font-weight: 600;
  text-align: left;
  letter-spacing: 0.2px;
}

/* Columnas comparativas */
.acf-tabla-comparativa tbody td:nth-child(2),
.acf-tabla-comparativa tbody td:nth-child(3) {
  width: 26%;
  color: #0C2340;
  font-weight: 600;
  text-align: center;
}

/* Hover */
.acf-tabla-comparativa tbody tr:hover td {
  background: rgba(230, 174, 100, 0.16);
  color: #0C2340;
}

.acf-tabla-comparativa tbody tr:hover td:first-child {
  background: rgba(230, 174, 100, 0.22);
}

/* Bordes redondeados inferiores */
.acf-tabla-comparativa tbody tr:last-child td {
  border-bottom: none;
}

.acf-tabla-comparativa tbody tr:last-child td:first-child {
  border-bottom-left-radius: 14px;
}

.acf-tabla-comparativa tbody tr:last-child td:last-child {
  border-bottom-right-radius: 14px;
}

/* Responsive */
@media (max-width: 767px) {
  .acf-tabla-comparativa table {
    min-width: 720px;
    font-size: 14px;
  }

  .acf-tabla-comparativa thead th,
  .acf-tabla-comparativa tbody td {
    padding: 20px 16px;
  }

  .acf-tabla-comparativa thead th:first-child {
    font-size: 16px;
  }
}