@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

@font-face {
    font-family: 'FashionFetish';
    src: url('fonts/FashionFetish.woff2') format('woff2'),
        url('fonts/FashionFetish.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.title-fashion {
  font-family: 'FashionFetish';
}

.white {
  color: #fff;
}

.green {
  color: #aec31d;
}

.darkgreen {
  color: #757b41;
}

.semibold {
  font-weight: 600;
}

.black {
  font-weight: 700;
}

.section-div {
  padding-top: 50px;
  padding-bottom: 20px;
}

.section-bottom {
  padding-bottom: 50px;
}

.mt-20 {
  margin-top: 20px;
}

.mt-40 {
  margin-top: 40px;
}

.back-light-green {
  background: #f1f3f0;
}

body{
  font-family: "Poppins", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

h1, h2, h3, h4, h5 {
  font-family: "Poppins", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

strong, .bold{
  font-weight: 600;
}

.LV_valid_field,
input.LV_valid_field:hover,
input.LV_valid_field:active,
textarea.LV_valid_field:hover,
textarea.LV_valid_field:active,
.fieldWithErrors input.LV_valid_field,
.fieldWithErrors textarea.LV_valid_field {
  border: 2px solid #00CC00 !important;
}

.LV_invalid_field,
input.LV_invalid_field:hover,
input.LV_invalid_field:active,
textarea.LV_invalid_field:hover,
textarea.LV_invalid_field:active,
.fieldWithErrors input.LV_invalid_field,
.fieldWithErrors textarea.LV_invalid_field {
  border: 2px solid #CC0000 !important;
}

.centered {
  margin: 0 auto;
  display: block;
}

.btnclick {
  cursor: pointer;
}

.padd-0 {
  padding: 0 !important;
}

.cbp-spmenu {
  background: #fff;
  position: fixed;
}


.cbp-spmenu h3 {
  color: #233050;
  font-size: 1.9em;
  padding: 0px;
  margin: 0;
  font-weight: 300;
  background: rgb(255 255 255 / 30%);
}

.cbp-spmenu a {
  display: block;
  color: #757b41;
  font-size: 10px;
  text-align: center;
}

.cell-menu {
  border-bottom: 1px solid #6fa5a64d;
}

.cbp-spmenu-vertical {
  width: 100%;
  height: 100%;
  top: 0;
  z-index: 1000;
}

.cbp-spmenu-vertical a {
  padding: 8px 20px;
  font-weight: 600;
  font-size: 20px;
}

.cbp-spmenu-vertical a:first-child {
  border-bottom: 0px solid #000301;
  padding: 11px;
}

.cbp-spmenu-right {
  right: -100%;
}

.cbp-spmenu-right.cbp-spmenu-open {
  right: 0px;
}
.cbp-spmenu,
.cbp-spmenu-push {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.cbp-spmenu-push-toright {
  left: 240px;
}

#showRight {
  float: right;
}

#showRight, #nav-icon2, #nav-icon3, #nav-icon4 {
  border: 1px solid #afc31c;
  border-radius: 4px;
  background: #f5f6e3;
  width: 39px;
  height: 37px;
  position: relative;
  margin: 6px auto;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
  margin-top: 0px;
  margin-bottom: 0px;
  padding: 22px;
}

#showRight span, #nav-icon3 span, #nav-icon4 span {
  display: block;
  position: absolute;
  height: 4px;
  width: 63%;
  background: #6b6f3c;
  border-radius: 9px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
  margin: 0 auto;
  display: block;
  text-align: center;
  margin-left: 8px;
}

#showRight span:nth-child(1) {
  top: 10px;
}

#showRight span:nth-child(2) {
  top: 20px;
}

#showRight span:nth-child(3) {
  top: 30px;
}

#showRight.open span:nth-child(1) {
  top: 18px;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
}

#showRight.open span:nth-child(2) {
  opacity: 0;
  left: -60px;
}

#showRight.open span:nth-child(3) {
  top: 18px;
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
@media screen and (max-width: 55.1875em){

  .cbp-spmenu-horizontal {
    font-size: 75%;
    height: 110px;
  }

  .cbp-spmenu-top {
    top: -110px;
  }

  .cbp-spmenu-bottom {
    bottom: -110px;
  }

}

@media screen and (max-height: 26.375em){

  .cbp-spmenu-vertical {
    font-size: 90%;
    width: 246px;
  }

  .cbp-spmenu-left,
  .cbp-spmenu-push-toleft {
    left: -190px;
  }

  .cbp-spmenu-right {
    right: -190px;
  }

  .cbp-spmenu-push-toright {
    left: 190px;
  }
}

.close-menu {
  text-align: right;
      margin-top: 12px;
          float: right;
    width: 44px;
    margin-top: 10px;

}

.close-menu i {
  font-size: 38px;

}

.div-shadow {
  box-shadow: 0px 5px 15px -4px rgba(66,66,66,0.75);
  -webkit-box-shadow: 0px 5px 15px -4px rgba(66,66,66,0.75);
  -moz-box-shadow: 0px 5px 15px -4px rgba(66,66,66,0.75);
}

/*-------------- Header ------------------ */

header {
  padding-top: 10px;
  padding-bottom: 10px;
  box-shadow: 0px 5px 15px -4px rgba(66,66,66,0.75);
  -webkit-box-shadow: 0px 5px 15px -4px rgba(66,66,66,0.75);
  -moz-box-shadow: 0px 5px 15px -4px rgba(66,66,66,0.75);
}

.menu-header {
  font-weight: 500;
  text-transform: uppercase;
}

.menu-header a{
  color: #757b41;
}

.active-link {
  font-weight: 700;
}

.contacto-header-link {
  background: #aec31d;
}

.contacto-header-link a{
  color: #fff;
  font-weight: 700;
}

/*------- Home --------*/
.icono-grinba {
  width: 80px;
}

.card-especialidad {
  background: #F2F2F2;
  border-radius: 20px;
  padding:  0px 30px 25px;
  text-align: center;
  position: relative;
  
  border: 1px solid #aec31d; /* opcional */
}

/* Alternado */
.card-especialidad.bg-light {
  background: #fff;
}

.card-especialidad.bg-green {
  background: #f4f6e3;
}

/* Imagen tipo círculo cortado */


.card-img img {
  width: 84%;
  height: 100%;
  object-fit: cover;
}

/* Títulos */
.card-especialidad h3 {
  font-size: 22px;
  font-weight: 600;
  color: #6B6F3B;
  margin-bottom: 15px;
}

/* Texto */
.card-especialidad p {
  font-size: 16px;
  color: #555;
  line-height: 1.5;
}

/* Transiciones base */
.card-especialidad {
  transition: all 0.35s ease;
  cursor: pointer;
}

/* Hover principal */
.card-especialidad:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 35px rgba(0,0,0,0.12);
}

/* Cambio sutil de fondo */
.card-especialidad.bg-light:hover {
  background: #EAEAEA;
}

.card-especialidad.bg-green:hover {
  background: #d3dab8;
}

/* Imagen animada */
.card-img img {
  transition: transform 0.4s ease;
}

.card-especialidad:hover .card-img img {
  
}

/* Opcional: efecto en título */
.card-especialidad h3 {
  transition: color 0.3s ease;
}

.card-especialidad:hover h3 {
  color: #757b41;
}

.title-especialidad-home {
  margin-top: 30px;
  margin-bottom: 40px;
}

.logo-especialidad {
  margin: 0 auto;
  display: block;
  max-width: 120px;
  margin-top: 35%;
}

.redes {
  margin-top: 40px;
  position: relative;
}

/* ITEM */
.red-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
  padding: 20px;
}

/* ICONOS */
.red-item img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  margin-bottom: 15px;
  transition: transform 0.35s ease;
}

/* TEXTO */
.red-item p {
  font-size: 20px;
  font-weight: 600;
  color: #3B3838;
  margin: 0;
  transition: color 0.3s ease;
}

/* HOVER */
.red-item:hover {
  transform: translateY(-6px);
}

.red-item:hover img {
  transform: scale(1.1);
}

.red-item:hover p {
  color: #757b41;
}

.red-item:hover {
  border-radius: 16px;
}


.hero {
  background-image: url('img/grinba_fotofinal.jpg');
  background-size: cover;
  background-position: center;
  height: 900px;

  display: flex;
  align-items: flex-end; /* 👈 esto baja todo */
  justify-content: center;
}

/* Contenido */
.hero-content {
  text-align: center;
  padding: 40px 20px;
  max-width: 900px;
  margin-bottom: 70px;
}

/* Texto */
.hero h2 {
  color: #fff;
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 20px;
}

/* Botón */
.btn {
  display: inline-block;
  background: #aec31d;
  color: #fff;
  padding: 12px 30px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
}

.btn:hover, .btn-white:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

.btn-white {
    display: inline-block;
    background: #fff;
    color: #aec31d;
    padding: 12px 30px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}


/*------- Nosotros ----*/
/* CONTENEDOR */
.especialistas {
  margin-top: 80px;
}

/* CARD */
.especialista {
  position: relative;
}

/* IMAGEN */
.img-wrap {
  width: 200px;
  overflow: hidden;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}


/* BLOQUE VERDE */
.info-top {
  background: #aec31d;
  color: #fff;
  text-align: center;
  padding:80px 15px 15px;
  margin-top: -60px;
  position: relative;
  z-index: 1;
}

.info-top h3 {
  font-size: 16px;
  font-weight: 700;
  margin: 0;
}

.info-top span {
  font-size: 13px;
  display: block;
  margin-top: 5px;
}

/* BLOQUE GRIS */
.info-bottom {
  background: #F2F2F2;
  padding: 20px;
  font-size: 14px;
  color: #333;
}

.grid-masonry {
  margin: 0 auto;
}

.grid-item {
  width: 48%;
  margin-bottom: 30px;
}

.grid-item.last {
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 640px) {
  .grid-item {
    width: 100%;
  }
}

.especialista .info-bottom strong {
  font-style: italic;
  color: #757b41;
}

.bottom-nosotros {
  background: url('img/nosotros_contacto.jpg')100% 100% no-repeat;
  background-size: cover;
  padding-top: 120px;
  padding-bottom: 120px;
}


/*----- Servicios ------*/
.servicio-block {
    padding: 60px 0;
    background: #f1f3f0;
    color: #3c3c3b;
}


.servicio-block:nth-child(even) {
    background: #fff;
}

.servicio-img {
    text-align: center;
}

.servicio-img img {
    width: 220px;
    height: 220px;
}

.servicio-block h2 {
    color: #757b41;
    font-weight: 600;
    margin-bottom: 20px;
}

.servicio-desc ul {
  color: #3c3c3b;
    margin-left: 20px;
}

.servicio-desc ul li::marker {
    color: #aec31d; /* verde como tu diseño */
}

.bottom-servicios {
  background: url('img/servicios_contacto.jpg')100% 100% no-repeat;
  background-size: cover;
  padding-top: 260px;
  padding-bottom: 30px;
}

/*---- Esquema md bariatrico -----*/

.info-beneficios p{
 font-weight: 600;
 text-align: justify;
}

.info-beneficios ul {
  font-weight: 600;
  text-align: justify;
}

.info-beneficios ul li::marker {
    color: #aec31d; /* verde como tu diseño */
}

.info-beneficios ul li {
  margin-bottom: 20px;
}

.bottom-esquema {
  background: url('img/quiero_sabermas.jpg')100% 100% no-repeat;
  background-size: cover;
  padding-top: 120px;
  padding-bottom: 120px;
}

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 1.1rem;
  line-height: 1;
  color: #3c3c3b;
  font-weight: 600;
  line-height: 1.5rem;
  border: 3px solid #aec31d;
  margin-bottom: 16px;
}

:last-child:not(.is-active) > .accordion-title {
    border-bottom: 3px solid #aec31d;
    border-radius: 0;
}

.accordion-content {
    display: none;
    padding: 1rem;
    border: 1px solid #e6e6e6 !important;
    border-bottom: 0;
    background-color: #fefefe;
    color: #0a0a0a;
    margin-top: -16px;
    margin-bottom: 15px;
}

.accordion-title:hover {
  color: #aec31d !important;
}

.accordion-title:hover, .accordion-title:focus {
    background-color: #ebebeb;
    color: #aec31d !important;
}

.accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+';
    color: #aec31d;
}

.title-trabajar {
  margin-top: 60px;
  margin-bottom: 30px;
}

/* Fondo general */
.contacto {
    padding: 60px 0;
}

/* Labels */
.form-estilo label {
    font-weight: 600;
    margin-top: 15px;
    display: block;
    color: #333;
}

/* Inputs, selects, textarea */
.form-estilo input[type="text"],
.form-estilo input[type="email"],
.form-estilo select,
.form-estilo textarea {
    width: 100%;
    background: #e1eadb; /* verde clarito */
    border: none;
    border-radius: 25px;
    padding: 7px 18px;
    margin-top: 5px;
    outline: none;
}

/* Altura textarea */
.form-estilo textarea {
    min-height: 120px;
    resize: none;
}

/* Placeholder */
.form-estilo ::placeholder {
    color: #555;
}

/* Radios (opcional estilo) */
.form-estilo input[type="radio"] {
    margin-right: 8px;
}

/* Botón */
.btn-enviar {
    background: #a6bf16;
    color: #fff;
    border: none;
    padding: 12px 30px;
    border-radius: 25px;
    font-weight: bold;
    margin-top: 20px;
    cursor: pointer;
}

.btn-enviar:hover {
    opacity: 0.9;
}

/* Contenedor horizontal */
.contacto-opciones {
    display: flex;
    gap: 30px;
    margin-top: 10px;
}

/* Label completo clickable */
.radio-custom {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
}

/* Columna izquierda */
.contacto-info {
    padding-right: 40px;
}

/* Títulos */
.contacto-info h2 {
    color: #6b7d3b;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.3;
}

.contacto-info h3 {
    color: #6b7d3b;
    font-weight: 600;
    margin-top: 15px;
}

.contacto-info .cta {
    font-weight: 700;
}

/* Logo */
.logo-contacto {
    margin: 40px 0 20px;
}

.logo-contacto img {
    max-width: 220px;
}

/* Datos */
.datos-contacto {
    margin-top: 20px;
}

/* Teléfono */
.telefono {
    font-size: 18px;
    margin-bottom: 10px;
}

.telefono .icono {
    color: #a6bf16;
    margin-right: 10px;
}

/* Correo */
.correo {
    font-size: 18px;
    color: #333;
}

.logo-contacto {
  margin-top: 60px;
}

.datos-contacto {
  margin-top: 60px;
}

.datos-contacto a {
  color: #3c3c3b;
}

.icono img {
  width: 25px;
  margin-top: -5px;
}

/*----- Footer ----*/
.icon {
  width: 15px;
}

footer {
  background: #f6f6f6;
}

footer ul {
  margin-left: 6px;
  list-style-type: none;
  font-weight: 500;
}

footer, footer a {
  color: #3c3c3b;
  font-size: 13px;
    font-weight: 500;
}

.logo-footer {
  width: 80%;
}

/* LÍNEAS DIVISORIAS */
@media screen and (min-width: 640px) {
  .redes .cell {
    position: relative;
  }

  .redes .cell:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 20%;
    height: 60%;
    width: 2px;
    background: #9DBA2F; /* verde */
  }


}

@media screen and (max-width: 640px) {
  .bg-green-small {
    background: #f4f6e3 !important;
  }
  .section-div {
    padding-top: 35px;
    padding-bottom: 5px;
  }
  .hero {
    background-image: url(img/grinba_fotofinal.jpg);
    background-size: cover;
    background-position: center;
    height: 500px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
  .hero h2 {
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    margin-bottom: 20px;
  }
  .hero-content {
    text-align: center;
    padding: 40px 20px;
    max-width: 900px;
    margin-bottom: 0px;
  }
  .icono-elegir {
    margin: 0 auto;
    display: block;
    max-width: 55px;
    margin-bottom: -16px;
  } 
  .text-center-small {
    text-align: center;
    margin-top: 10px;
  }
  .servicio-block {
    padding: 20px 0;
  }
  .bottom-servicios {
    background: url(img/servicios_contacto.jpg) 100% 100% no-repeat;
    background-size: cover;
    padding-top: 33px;
    padding-bottom: 30px;
    background-position-x: -165px;
  }
  .imagen-beneficios {
    max-width: 163px;
    margin: 0 auto;
    display: block;
    margin-top: -49px;
  }
  .bottom-esquema {
    background: url(img/quiero_sabermas.jpg) 100% 100% no-repeat;
    background-size: cover;
    padding-top: 33px;
    padding-bottom: 17px;
  }
  .title-trabajar {
    margin-top: 0px;
    margin-bottom: 10px;
  }
  .btn {
    display: inline-block;
    background: #aec31d;
    color: #fff;
    padding: 12px 14px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
  }
  .contacto {
    padding: 0px 0;
  }
  .logo-contacto {
    margin-top: 20px;
  }
  .datos-contacto {
    margin-top: 20px;
  }
}
