/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

body {
  font-family: var(--font-body);
  font-size: var(--body);
  font-weight: var(--regular);
  line-height: 1.25em;
  color: var(--c-negro-clinica);
}

.elementor-widget-container>p:last-child {
  margin-bottom: 0;
}

.txt-white {
  color: var(--c-blanco) !important;
}

a {
  text-decoration: none;
}

.b-radius-1,
.b-radius-1.elementor-widget-image img,
.b-radius-1.elementor-widget-heading>.elementor-widget-container {
  border-radius: var(--b-radius-1) !important;
}

.b-radius-2,
.b-radius-2.elementor-widget-image img,
.b-radius-2>.elementor-widget-container {
  border-radius: var(--b-radius-2) !important;
}

.f-blur {
  backdrop-filter: blur(10px);
}

.clicable a:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
}

.clicable .elementor-element {
  position: static;
}

/* Encabezados */

.tit h1,
.single-post h1 {
  font-size: var(--title-extra-large);
  line-height: 1.25em;
}

.tit h2,
.privacy-policy h2,
.single-post h2 {
  font-weight: var(--regular);
  font-size: var(--title-medium);
  line-height: 1.25em;
}

.tit h3,
.privacy-policy h3,
.single-post h3 {
  font-weight: var(--regular);
  font-size: var(--title-small);
  line-height: 1.25em;
}

.tit p {
  font-weight: var(--regular);
  font-size: var(--title-small);
  line-height: 1.25em;
  font-weight: var(--regular);
}

.subtit p {
  font-weight: var(--regular);
  font-size: var(--title-xs);
  line-height: 1.25em;
}

.subtit.small p {
  font-size: var(--title-xxs);
}

.tit-img .elementor-heading-title img {
  display: inline;
  max-width: 55% !important;
  width: 100%;
  margin-bottom: -19px;
}

/* Botones */

.btn-norm a,
.e-loop__load-more>a {
  padding: 12px 20px;
  background: var(--c-azul-principal-1);
  border: 1px solid var(--c-azul-principal-1);
  border-radius: 50px;
  color: var(--c-blanco-clinica);
  font-weight: var(--bold);
  font-size: var(--body);
  transition: var(--all-transition);
}

.btn-norm.btn-blanco a {
  background: var(--c-blanco-clinica);
  color: var(--c-azul-principal-1);
}

.btn-norm a .elementor-button-text {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 5px;
}

.btn-norm a .elementor-button-text>span {
  display: inline-block;
  margin-top: -3px;
}

.btn-norm a:hover,
.e-loop__load-more>a:hover {
  cursor: pointer;
  background-color: transparent;
  color: var(--c-azul-principal-1);
}

.btn-norm.btn-blanco a:hover {
  background-color: var(--c-azul-principal-1);
  color: var(--c-blanco-clinica);
}

.icon-link .elementor-icon {
  overflow: hidden;
  position: relative;
}

.icon-link .elementor-icon::before {
  content: "";
  position: absolute;
  left: -25px;
  display: block;
  height: 20px;
  width: 20px;
  background-image: url("/wp-content/uploads/2025/05/flecha-blanca.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  transition: var(--all-transition);
}

.icon-link:hover .elementor-icon::before {
  transform: translateX(31px);
}

.icon-link .elementor-icon svg {
  transition: var(--all-transition);
}

.icon-link:hover .elementor-icon svg {
  transform: translateX(31px);
}

.elementor-icon-list-items>li>a .elementor-icon-list-icon {
  padding: 2px !important;
  background-color: var(--c-azul-principal-1);
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 20px;
  width: 100%;
  height: 20px;
  margin-top: -5px;
  overflow: hidden;
  position: relative;
}

.elementor-icon-list-items>li>a .elementor-icon-list-icon svg {
  margin: 0 !important;
  transition: var(--all-transition) !important;
}

.elementor-icon-list-items>li>a .elementor-icon-list-icon::before {
  content: "";
  position: absolute;
  left: -11px;
  display: block;
  height: 10px;
  width: 10px;
  background-image: url("/wp-content/uploads/2025/05/flecha-blanca.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  transition: var(--all-transition);
}

.elementor-icon-list-items>li>a:hover .elementor-icon-list-icon::before {
  transform: translateX(16px);
}

.elementor-icon-list-items>li>a:hover .elementor-icon-list-icon svg {
  transform: translateX(16px);
}


/* Sección de tratamientos */

.s-tratamientos .elementor-cta__bg-overlay {
  /* Bloque "Nuestros tratamientos dentales" */
  background: linear-gradient(180deg,
      rgba(0, 0, 0, 0) 64.89%,
      rgba(0, 0, 0, 0.6) 91.05%) !important;
}

.s-tratamientos .elementor-cta__content {
  flex-direction: row-reverse;
  justify-content: space-between;
}

.s-tratamientos .elementor-cta__content>.elementor-cta__icon {
  flex: 0 0 10%;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  position: relative;
  max-width: 30px;
}

.s-tratamientos .elementor-cta__content>.elementor-cta__title {
  flex: 0 0 80%;
  font-size: var(--title-xs);
}

.s-tratamientos a.elementor-cta .elementor-cta__content>.elementor-cta__icon::before {
  content: "";
  position: absolute;
  left: -25px;
  display: block;
  height: 25px;
  width: 25px;
  background-image: url("/wp-content/uploads/2025/05/flecha-blanca.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  transition: var(--all-transition);
}

.s-tratamientos a.elementor-cta:hover .elementor-cta__content>.elementor-cta__icon::before {
  transform: translateX(25px);
}

.s-tratamientos a.elementor-cta .elementor-cta__content>.elementor-cta__icon .elementor-icon {
  transition: var(--all-transition);
}

.s-tratamientos a.elementor-cta:hover .elementor-cta__content>.elementor-cta__icon .elementor-icon {
  transform: translateX(30px);
}

/* Sección de tratamientos con descripción */

.s-tratamientos.s-tratamientos-descr .elementor-cta__bg-overlay {
  background: linear-gradient(180deg,
      rgba(0, 0, 0, 0) 20%,
      rgba(0, 0, 0, 0.6) 80%) !important;
}

.s-tratamientos-descr .elementor-cta__content {
  row-gap: 20px;
}

/* Seccion de tratamientos sin enlace */

.s-tratamientos div.elementor-cta .elementor-cta__content>.elementor-cta__title {
  flex: 0 0 100%;
}

/* Seccioon de contenedores en carrusel */

.s-carrusel .elementor-swiper-button {
  top: -100px !important;
  background-color: var(--c-azul-principal-1);
  border: 1px solid var(--c-azul-principal-1) !important;
  border-radius: 100%;
  height: 50px;
  width: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.s-carrusel .elementor-swiper-button:hover {
  background-color: transparent;
}

.s-carrusel .elementor-swiper-button-prev svg {
  transform: rotate(-180deg);
}

.s-carrusel .elementor-swiper-button:hover svg path {
  stroke: var(--c-azul-principal-1) !important;
}

.s-carrusel.elementor-widget-image-carousel .elementor-swiper-button {
  top: -60px !important;
}

.s-carrusel.elementor-widget-image-carousel .elementor-swiper-button-prev {
  left: auto !important;
  right: 80px !important;
}


/* Reseñas */

.widget-resenas .ti-widget.ti-goog .ti-review-header:before {
  display: none !important;
}

.widget-resenas .ti-widget.ti-goog.ti-disable-font .ti-widget-container .ti-review-item {
  background-color: var(--c-blanco) !important;
  border-radius: var(--b-radius-2) !important;
  padding: 20px !important;
}

.widget-resenas .ti-widget.ti-goog .ti-review-item>.ti-inner {
  background-color: var(--c-blanco) !important;
  border-radius: var(--b-radius-2) !important;
  display: grid !important;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(4, auto);
  color: var(--c-negro-clinica) !important;
}

.widget-resenas .ti-widget.ti-goog .ti-review-item>.ti-inner>.ti-stars {
  grid-area: 1 / 1 / 2 / 2;
}

.widget-resenas .ti-widget.ti-goog .ti-review-item>.ti-inner>.ti-review-text-container.ti-review-content {
  grid-area: 2 / 1 / 3 / 2;
  color: var(--c-negro-clinica) !important;
}

.widget-resenas .ti-widget.ti-goog .ti-review-item>.ti-inner>.ti-read-more {
  grid-area: 3 / 1 / 4 / 2;
}

.widget-resenas .ti-widget.ti-goog .ti-read-more span:hover,
.widget-resenas .ti-widget.ti-goog .ti-read-more span {
  opacity: 1 !important;
  text-decoration: none !important;
  color: var(--c-azul-principal-1) !important;
}

.widget-resenas .ti-widget.ti-goog .ti-review-item>.ti-inner>.ti-review-header {
  grid-area: 4 / 1 / 5 / 2;
}

.widget-resenas .ti-widget.ti-goog .ti-review-item>.ti-inner>.ti-review-header {
  margin-top: 20px !important;
}

.widget-resenas .ti-widget.ti-goog .ti-review-item>.ti-inner,
.widget-resenas .ti-widget.ti-goog .ti-widget-container .ti-name,
.widget-resenas .ti-widget.ti-goog .ti-widget-container .ti-date,
.widget-resenas .ti-widget.ti-goog .ti-read-more span {
  color: var(--c-azul-principal-1) !important;
  font-family: var(--font-body) !important;
}

/* Contacto */

.g-maps,
.g-maps * {
  height: 100%;
}

/* Página de clínica */

.clin-jaen .elementor-cta__bg {
  background-position: 90% 50% !important;
}

/* Blog */

.single-post .type-post {
  padding: 60px 20px 60px;
}

.single-post .featured-image {
  margin-bottom: 40px !important;
}

.single-post .featured-image img {
  width: 100%;
  max-height: 500px;
  object-fit: cover;
  object-position: 50% 15%;
    border-radius: var(--b-radius-2);

    
}


.single-post .entry-header {
  margin-bottom: 40px;
}

.single-post footer.entry-meta {
  padding: 40px 0px 0px;
}

.single-post footer .post-navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.single-post footer .post-navigation > div {
  flex: 0 0 48%;
}

.single-post footer .post-navigation > div.nav-next {
    display: flex;
    flex-direction: row-reverse;
    column-gap: .6em;
}

/* ----- RESPONSIVE ------ */

@media screen and (max-width: 1024px) {

  /* Sección de tratamientos con descripción */

  .s-tratamientos .elementor-cta__content>.elementor-cta__title br {
    display: none;
  }

  /* Seccioon de contenedores en carrusel */

  .s-carrusel .elementor-swiper-button {
    top: -75px !important;
    height: 40px;
    width: 40px;
  }

  .s-carrusel.elementor-widget-image-carousel .elementor-swiper-button {
    top: -35px !important;
  }

  /* Contacto */

  .g-maps,
  .g-maps * {
    min-height: 350px;
  }
}

@media screen and (max-width: 600px) {

  .subtit p {
    font-weight: var(--medium);
  }

  /* Sección de tratamientos con descripción */

  .s-tratamientos.s-tratamientos-descr .elementor-cta__bg-overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 0%) !important;
  }

  /* Seccion de contenedores en carrusel */

  .s-carrusel .elementor-swiper-button {
    top: -65px !important;
    height: 40px;
    width: 40px;
  }

  .s-carrusel.elementor-widget-image-carousel .elementor-swiper-button-prev {
    right: 65px !important;
  }

  
  /* Blog */

  .single-post footer .post-navigation {
    flex-direction: column;
    row-gap: 20px;
  }

  /* Informacion legal */

  .privacy-policy table {
    display: block;
    overflow: scroll;
  }
}