/*
Theme Name: +Bienestar
Author: +Bienestar
Description: Sitio web de +Bienstar
Version: 1.1
Text Domain: bienestar
*/

* {
  	outline: 0;
	box-sizing: border-box;
}

:root {
  --scale-multiplier: 1.2;
}

@media (max-width: 600px) {
  :root {
 --scale-multiplier: 0.8125;
  }
}

ul {
    list-style: square;
}

.has-text-xs-font-size   { 
	font-size: calc(var(--wp--preset--font-size--text-xs)); 
	font-weight: 500 !important
}

.has-text-s-font-size    { 
	font-size: calc(var(--wp--preset--font-size--text-xs) * var(--scale-multiplier));
	font-weight: 500 !important
}

.has-text-m-base-font-size  { 
	font-size: calc(var(--wp--preset--font-size--text-m-base));
	line-height: 1.625;
}

h6, .has-text-l-font-size    { 
	font-size: calc(var(--wp--preset--font-size--text-m-base) * var(--scale-multiplier)); 
	line-height: 1.4
}

h5, .has-text-xl-font-size   { 
	font-size: calc(var(--wp--preset--font-size--text-l) * var(--scale-multiplier)) !important; 
  	line-height: 1.4;	
}

h4, .has-text-xxl-font-size  { 
	font-size: calc(var(--wp--preset--font-size--text-xl) * var(--scale-multiplier)) !important;
	line-height: 1.3;
}

h3, .has-text-xxxl-font-size { 
	font-size: calc(var(--wp--preset--font-size--text-xxl) * var(--scale-multiplier)) !important;
	line-height: 1.3;
}

h2, .has-text-xxxxl-font-size { 
	font-size: calc(var(--wp--preset--font-size--text-xxxl) * var(--scale-multiplier)) !important;
}

h1, .has-text-xxxxxl-font-size { 
	font-size: calc(var(--wp--preset--font-size--text-xxxxl) * var(--scale-multiplier)) !important;
}

.has-text-xxxxxxl-font-size { 
	font-size: calc(var(--wp--preset--font-size--text-xxxxxl) * var(--scale-multiplier)) !important; 
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  letter-spacing: 0.01em;
}

.contenedor {
  overflow: visible;
}

main {
  background: linear-gradient(0deg, #ffffff 0%, #f1f5f9 100%);
  background-repeat: no-repeat;
  background-size: 100% 193px;
}

.flex {
  display: flex;
}

.flex-col {
  flex-direction: column;
}

.flex-row {
  flex-direction: row;
}

.flex-wrap {
  flex-wrap: wrap;
}

.items-center {
  align-items: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-center {
  justify-content: center;
}

.grid {
  display: grid;
}

.grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
  .mobile-column-reverse {
    flex-direction: column-reverse;
  }
}

.max-width-946 {
	max-width: 946px !important
}

/* Header */
li.current-menu-item a,
li.wp-block-navigation-item:hover a {
  color: var(--wp--preset--color--blue-6) !important;
}

@media (max-width: 768px) {
  .wp-block-navigation-item__content {
    font-size: var(--wp--preset--font-size--text-xxl);
  }
}

/* Home */

.servicios-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
}

@media (max-width: 1024px) {
  .servicios-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .servicios-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 400px) {
  .servicios-grid {
    grid-template-columns: 1fr;
  }
}

.servicios-cards {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--60);
}



.servicio-card {
  background-color: #ffffff;
  padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--50)
    var(--wp--preset--spacing--50) var(--wp--preset--spacing--50);
  border-radius: 24px;
  gap: 36px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.servicios .servicio-card {
	border: 2px solid var(--wp--preset--color--gray-3);
}
@media (max-width: 768px) {
.servicio-card {
    flex-direction: column;
}
	}

.servicio-card__img {
  flex: 0 1 auto;
  min-width: 0;
}

.servicio-card__txt {
  flex: 1;
}

.servicio-icono {
  max-width: 160px;
}

.servicio-titulo {
  color: var(--wp--preset--color--blue-6);
  margin: 0;
  font-size: var(--wp--preset--font-size--text-xxxxl);
}

.servicio-texto {
  margin: 0;
  font-size: var(--wp--preset--font-size--text-l);
}

.btn {
  border-radius: 22px;
  background-color: var(--wp--preset--color--blue-4);
  color: #065b53;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.438rem 1.25rem;
  align-self: start;
  text-decoration: none;
  width: auto;
}

.btn:hover {
	background-color: var(--wp--preset--color--blue-3);
}

.home-hero {
	min-height: 396px
}

.home-hero__img {
  position: absolute;
  bottom: -56px !important;
  left: 50px;
}

@media (max-width: 1024px) {
  .home-hero__img {
    position: relative;
    bottom: 0 !important;
    left: 0;
  }
}

.btn-icono_llamada a {
  position: relative;
  padding-left: 50px !important;
}

.btn-icono_llamada a::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 0;
  background: url(assets/img/icono_llamada.svg) no-repeat center;
  width: 26px;
  height: 100%;
  bottom: 0;
  margin: auto;
}

.home-hero {
  position: relative;
}

.home-hero .wp-block-column {
  position: relative;
  z-index: 2;
}

.home-hero:after {
  content: "";
  position: absolute;
  width: 100%;
  max-width: 1006px;
  border-radius: 40px;
  height: 100%;
  background: linear-gradient(
    270deg,
    rgb(240, 255, 252) 0%,
    rgb(84, 237, 207) 100%
  );
  bottom: -56px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
}
.servicio-txt {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.servicio-txt p {
  margin: 0;
}

.home-carnet {
  position: relative;
	z-index: 1
}

.home-carnet .wp-block-column {
  position: relative;
  z-index: 2;
}

.home-carnet + .sombra {
  width: 100%;
  max-width: 1047px;
  border-radius: 0 0 28px 28px;
  height: 36px;
  background: linear-gradient(
    270deg,
    rgb(14, 225, 197) 0%,
    rgb(168, 250, 232) 100%
  );
	margin: 0;
}

.servicios-carnet + .sombra {
  max-width: 862px;
}

.btn-icono_whatsapp a {
  position: relative;
  padding-left: 50px !important;
}

.btn-icono_whatsapp a::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 0;
  background: url(assets/img/icono_whatsapp.svg) no-repeat center;
  width: 26px;
  height: 100%;
  bottom: 0;
  margin: auto;
}

.home-certificaciones {
  max-width: 946px !important;
}

/* Nosotros */

.swiper-wrapper {
    padding-bottom: 40px;
}

body .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
    background: var(--wp--preset--color--gray-5);
	opacity: 1 !important
}

body .swiper-pagination-bullet-active {
    background: var(--wp--preset--color--blue-5);
}

.certificados-grid {
    max-width: 100%;
    display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  justify-content: center;
  margin: 0 auto;
}

.certificado-card {
    gap: 2rem;
    background-color: #fff;
	padding: var(--wp--preset--spacing--spacing-xl);
	border-radius: 40px
}

.certificados, .video {
	 max-width: 1140px;
}

.certificados p {
	margin-top: 0
}

.certificados h2, .video h2 {
	text-align: center;
	margin-bottom: var(--wp--preset--spacing--spacing-xl);
}



.video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  justify-content: center;
  max-width: 1140px;
  margin: 0 auto;
}

.video-card {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  padding: 1.25rem 1.5rem 1.5rem 1.5rem;
  border: 2px solid var(--wp--preset--color--gray-3);
  border-radius: 24px;
}

.video-img {
  overflow: hidden;
}


.video-img img {
  border-radius: 8px;
  overflow: hidden;
	max-width: 100%
}

a.btn-ver-video {
  padding: 0.625rem 1.25rem;
  border: 2px solid var(--wp--preset--color--gray-4);
  border-radius: 24px;
  color: var(--wp--preset--color--gray-6);
  align-self: start;
  font-size: 1rem;
  text-decoration: none;
  margin-top: 1.125rem;
  width: auto;
}

.swiper .swiper-pagination {
  position: relative;
}

.swiper.staff-swiper {
  max-width: 100%;
}

.staff-card {
  text-align: center;
  border-radius: 40px;
  overflow: hidden;
  background-color: var(--wp--preset--color--gray-2);
}

.staff-foto {
  width: 100%;
  max-width: 180px;
  border-radius: 40px;
  overflow: hidden;
}

.staff-txt {
  padding: 0.875rem 0.75rem;
}

.staff-nombre {
	font-weight: 600 !important;
}

.staff-nombre,
.staff-cargo {
  margin: 0 0 6px 0
}

.certificado-pdf .btn {
    font-size: 1rem;
    padding: 0.625em 1.25em;
    display: inline-block;
}

/* Servicios */
.servicios-carnet {
  position: relative;
	max-width: 946px !important;
	justify-content: space-between
}

.servicios-carnet .wp-block-column {
  position: relative;
  z-index: 2;
}

.servicios-carnet:after {
  content: "";
  position: absolute;
  width: 100%;
  max-width: 862px;
  border-radius: 0 0 28px 28px;
  height: 36px;
  background: linear-gradient(
    270deg,
    rgb(14, 225, 197) 0%,
    rgb(168, 250, 232) 100%
  );
  bottom: -36px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}

/* Contacto */

.img-exterior {
  margin-top: -1.25rem !important;
}

.overflow-hidden {
  overflow: hidden;
}

.wpcf7 {
    width: 100%;
    max-width: 900px;
}

.wpcf7 p {
	margin: 0
}

@media (min-width: 1025px) {
	.form-asunto {
	 	grid-column: 1 / -1; /* Ocupa todo el ancho del grid principal */
	  	display: grid;
	  	grid-template-columns: 1fr 1fr; /* Dos columnas al 50% */
	  	gap: 1rem 4rem;
		min-height: 95px
	}

	.form-msj {
		display: grid;
		grid-template-columns: 1fr 1fr; /* Dos columnas al 50% */
		grid-template-rows: auto auto auto;
		gap: 1rem 4rem;
	}

	.form-msj p:nth-child(1) {
	  grid-column: 1;
	  grid-row: 1;
	}

	.form-msj p:nth-child(2) {
	  grid-column: 1;
	  grid-row: 2;
	}

	.form-msj p:nth-child(3) {
	  grid-column: 1;
	  grid-row: 3;
	}

	.form-msj p:nth-child(4) {
	  grid-column: 2;
	  grid-row: 1 / 4; /* ocupa desde la segunda fila hasta la cuarta (es decir, 2 filas) */
	  height: 100%;
	}

	.form-msj p {
	  display: flex;
	  flex-direction: column;
	}

}

/* Estilos CF7 base */
.wpcf7-form label {
  display: block;
  font-weight: 500;
  margin-bottom: 8px;
  color: #2c3e50;
  font-size: 0.95rem;
}

.wpcf7-form-control-wrap {
    position: relative;
    float: left;
    width: 100%;
    margin-top: 5px;
}

.wpcf7-form textarea {
	resize: none
}
/* Inputs */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select,
.wpcf7-form textarea,
.wpcf7-form input[type="file"] {
  width: 100%;
  padding: 0.7em 1em;
  border: 1px solid var(--wp--preset--color--gray-3);
  border-radius: 16px;
	font-family: inherit;
  font-size: 1rem;
}

/* Select destacado */
.wpcf7-form select {
  border: 2px solid var(--wp--preset--color--gray-6);
  background-color: var(--wp--preset--color--gray-2);
	border-radius: 16px
}

/* Botón */
.boton-enviar {
  display: block;
  width: 100%;
  max-width: 421px;
  margin: 2rem auto 0;
  background: var(--wp--preset--color--blue-4);
  border-radius: 30px;
  border: none;
  color: var(--wp--preset--color--blue-10);
  padding: 0.8rem 2rem;
  text-align: center;
	font-family: inherit;
  font-size: var(--wp--preset--font-size--text-l);
  cursor: pointer;
	font-weight: 500
}

.boton-enviar:hover {
	background-color: var(--wp--preset--color--blue-3);
}

/* Ocultar campo archivo por defecto */
.wpcf7-form .campo-archivo-container {
  display: none;
}

/* Layout en columnas si es necesario */
@media (min-width: 768px) {
/*
	.wpcf7-form {
    display: grid;
  	grid-template-columns: 1fr 1fr; 
  	grid-template-rows: repeat(3, 1fr);
    gap: 1rem 4rem;
	align-items: start;
  }
	
	*/
	

/*
.wpcf7 p:nth-child(3) {
  grid-row: 2;
  grid-column: 1;
}

.wpcf7 p:nth-child(4) {
  grid-row: 3;
  grid-column: 1;
}
	
		.wpcf7 p:nth-child(5) {
  grid-row: 4;
  grid-column: 1;
}
	
	.wpcf7 p:nth-child(6) {
  grid-row: 2 / 5; 
  grid-column: 2;
}
	
.wpcf7 p:nth-child(7) {
 grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr; 
}


  .boton-enviar {
    grid-column: 1 / -1;
  }
*/
  .wpcf7-form label {
    margin-bottom: 0.3rem;
	  float: left;
	  width: 100%
  }
}

.custom-upload-wrapper {
  display: block;
  margin-top: 1.7rem;
}

.wpcf7-form label.custom-upload {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.7em 1em;
  border: 1px solid var(--wp--preset--color--gray-3);
  border-radius: 16px;
font-family: inherit;
  font-size: 1rem;
  color: #334b66;
  cursor: pointer;
	position: relative;
  transition: 0.3s;
}

.wpcf7-form label.custom-upload:before {
 	content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url('assets/img/icono_adjunto.svg');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.wpcf7-form label.custom-upload:hover {

}

/* Ocultar el input real */
.upload-input {
  display: none;
}

/* Mostrar nombre del archivo */
.upload-filename {
  display: inline-block;
  margin-bottom: 0.5em;
  font-size: 0.9rem;
  color: #666;
}

ul.wp-block-social-links.has-large-icon-size li a {
    padding: .1em;
}
ul.wp-block-social-links.has-large-icon-size li svg {
	height: .9em;
    width: .9em
}

@media (min-width: 1025px) {
	.contacto-hero {
		max-height: 194px
	}
}

@media (max-width: 768px) {
.wpcf7 p {
        margin-bottom: 1rem;
        width: 100%;
        float: left;
}
	.form-row {
    grid-template-columns: 1fr;
}
    .img-mapa img {
        max-width: 150%;
        margin-left: -25%;
        width: 150% !important;
        height: auto !important;
}
	.contacto-hero {
		padding-bottom: var(--wp--preset--spacing--spacing-md) !important
	}
	.contacto-hero p, .contacto-hero h2 {
		text-align: center !important;
		width: 100%
	}
	
	}

.wpcf7 form .wpcf7-response-output {
    margin: 2em 0.5em 1em;
    padding: 0;
    border: 0;
}

/* Noticias */

.wp-block-query-pagination-numbers {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}

.page-numbers {
  color: var(--wp--preset--color--gray-5);
  font-size: var(--wp--preset--font-size--text-l);
  width: 36px;
  height: 36px;
  display: inline-block;
  border: 1.5px solid var(--wp--preset--color--gray-4);
  text-align: center;
  line-height: 36px;
  text-decoration: none;
  border-radius: 8px;
}

span.page-numbers.current {
  color: var(--wp--preset--color--gray-8);
  font-size: var(--wp--preset--font-size--text-l);
  border: 1.5px solid var(--wp--preset--color--gray-8);
}

a.wp-block-query-pagination-next,
a.wp-block-query-pagination-previous {
  color: var(--wp--preset--color--gray-6);
  font-size: var(--wp--preset--font-size--text-l);
  text-decoration: none;
}

/* Nota */

.breadcrumb {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: nowrap;
  overflow: hidden;
font-size: var(--wp--preset--font-size--text-s);
}

nav.breadcrumb a {
    color: var(--wp--preset--color--gray-5);
	font-size: var(--wp--preset--font-size--text-s);
}

nav.breadcrumb .current {
	color: var(--wp--preset--color--gray-7);
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
  max-width: 200px;
	font-weight: 700;
}

.single figure.wp-block-post-featured-image {
    border-radius: 8px;
    overflow: hidden;
}

div.heateor_sss_follow_ul a, div.heateor_sss_horizontal_sharing div.heateor_sss_sharing_ul a
 {
    margin: 2px 4px;
}

.notas-relacionadas {
  list-style: none;
  padding: 0;
  margin: var(--wp--preset--spacing--60) 0;
}

.notas-relacionadas li {
  margin-bottom: 0.5rem;
}

.notas-relacionadas img {
	border-radius: 4px
}
.notas-relacionadas a {
	color: var(--wp--preset--color--gray-5);
	font-size: var(--wp--preset--font-size--text-m-base) !important;
    text-decoration: none;
    display: flex;
	align-items: center;
	flex-wrap: wrap;
    flex-direction: row;
    gap: 1rem;
}

h4.nota-titulo {
	font-size: var(--wp--preset--font-size--text-m-base) !important;
    margin: 0;
    flex: 1;
}

/* Revert core styles at default breakpoint */

@media (min-width: 600px) {
  /* Keep hiding the expanded menu */
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(
      .is-menu-open
    ) {
    display: none;
  }

  /* Keep showing the button to open the menu */
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex;
  }
}

/* Apply core styles at custom breakpoint */

@media (min-width: 990px) {
  /* Show the expanded menu */
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(
      .is-menu-open
    ) {
    display: block;
  }

  /* Hide the button to open the menu */
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none;
  }
}

@media (min-width: 1025px) {
	.rrhh {
		max-height: 220px
	}
	.home-img-exterior {
	  margin-top: -6rem !important;
	}
}

div#videos-grid {
  max-width: 100%;
}

@media (max-width: 768px) {

	.has-text-align-right {
		text-align: center !important
	}
	
.home-hero .wp-block-column {
    padding-left: 0 !important;
    padding-right: 0 !important;
    
}
	.wp-block-buttons.is-content-justification-right {
    justify-content: center;
}
	.wp-container-core-social-links-is-layout-d445cf74 {
    justify-content: center;
}
	footer p {
		text-align: center !important
	}
	footer .wp-block-group {
    display: flex;
    flex-direction: row;
    justify-content: center;
}
}

footer {
	margin-top: 0
}

.btn-blanco:hover {
	color: var(--wp--preset--color--gray-7);
	font-weight: 600;
	text-decoration: none !important
}

ul.wp-block-social-links.has-large-icon-size li svg {
    height: .8em;
    width: .8em;
}

ul.wp-block-social-links.has-large-icon-size li a {
    padding: .25em;
}

ul.wp-block-social-links.has-large-icon-size li a {
    padding: .25em;
}

.wp-block-social-link:hover {
	 	background-color: var(--wp--preset--color--blue-3) !important;
    transform: none !important;
}


@media (max-width: 990px) {
	button.wp-block-navigation__responsive-container-open {
		position: relative;
		gap: 8px
	}

	button.wp-block-navigation__responsive-container-open:after {
		content: "Menú";
		font-size: 1.2rem
	}

	.wp-block-site-logo img {
		height: auto;
		max-width: 174px;
	}
	
	.home-hero {
    	margin-bottom: 3.5rem !important;
	}
	.home-hero:after {
		bottom: -40px;
	}	
	.home-salud-mental {
		padding: var(--wp--preset--spacing--spacing-xxl) !important
	}
	.home-servicios-enfermeria {
		padding-top: 2.5rem !important;
	}
	.home-carnet {
		padding: var(--wp--preset--spacing--spacing-xxl) !important
	}
    .home-carnet + .sombra {
        margin-bottom: 3rem !important;
        margin-top: -25px;
        height: 60px;
    }
	.home-carnet .wp-block-column, .servicios-carnet .wp-block-column {
		display: flex;
		justify-content: center;
	}	
	.home-certificaciones-container {
    	padding-bottom: 4.5rem !important
	}
	.banner-2cols {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.certificado-card {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: var(--wp--preset--spacing--spacing-md) var(--wp--preset--spacing--spacing-sm);
	}	
	.certificado-txt, certificado-texto {
    	align-items: center;
		text-align: center
	}
}	

.apagado {
	display: none !important
}