.elementor-1343 .elementor-element.elementor-element-2ea97e9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:65px 65px;--row-gap:65px;--column-gap:65px;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-1343 .elementor-element.elementor-element-2ea97e9:not(.elementor-motion-effects-element-type-background), .elementor-1343 .elementor-element.elementor-element-2ea97e9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F1F1;}.elementor-1343 .elementor-element.elementor-element-eb9cd8e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1343 .elementor-element.elementor-element-f98bc67{text-align:center;}.elementor-1343 .elementor-element.elementor-element-f98bc67 .elementor-heading-title{font-size:16px;font-weight:400;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1.1em;letter-spacing:2px;word-spacing:0em;color:#212121;}.elementor-1343 .elementor-element.elementor-element-69b10cf{text-align:center;}.elementor-1343 .elementor-element.elementor-element-69b10cf .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:2.5vw;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1em;letter-spacing:-2px;word-spacing:0em;color:#222222;}.elementor-1343 .elementor-element.elementor-element-b4fd505{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1343 .elementor-element.elementor-element-2ea97e9{--width:100%;}.elementor-1343 .elementor-element.elementor-element-eb9cd8e{--content-width:650px;}}@media(max-width:1024px){.elementor-1343 .elementor-element.elementor-element-2ea97e9{--padding-top:10%;--padding-bottom:10%;--padding-left:2%;--padding-right:2%;}.elementor-1343 .elementor-element.elementor-element-69b10cf .elementor-heading-title{font-size:40px;}}@media(max-width:767px){.elementor-1343 .elementor-element.elementor-element-2ea97e9{--padding-top:20%;--padding-bottom:020%;--padding-left:5%;--padding-right:5%;}.elementor-1343 .elementor-element.elementor-element-f98bc67 .elementor-heading-title{font-size:13px;}.elementor-1343 .elementor-element.elementor-element-69b10cf > .elementor-widget-container{margin:4% 0% 0% 0%;}.elementor-1343 .elementor-element.elementor-element-69b10cf .elementor-heading-title{font-size:30px;}}/* Start custom CSS for html, class: .elementor-element-eaf662d *//* ====== Directorio de Especialistas (actualizado) ====== */
#directorio-salud{
  --color-primario: #01AEB7;
  --color-primario-2: #01959d;
  --color-texto: #0f172a;
  --color-muted: #64748b;
  --card-bg: #ffffff;
  --radius: 16px;
  --shadow: 0 10px 30px rgba(2, 6, 23, .08);
  --gap: 20px;
  font-family: "Playfair Display", serif;
  max-width: 100%;
  overflow-x: hidden; /* evita scroll lateral */
}

/* Controles */
#directorio-salud .dir-controls{
  display: grid;
  grid-template-columns: 1fr 260px auto; /* desktop */
  gap: var(--gap);
  align-items: center;
  margin-bottom: 20px;
  max-width: 100%;
}

#directorio-salud .dir-controls input[type="search"],
#directorio-salud .dir-controls select,
#directorio-salud #dir-reset{
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: .8rem 1rem;
  font-size: 16px;
  font-family: inherit;
  color: var(--color-texto);
  width: 100%;           /* fuerza ancho completo del control */
  box-sizing: border-box; /* evita overflow */
}

#directorio-salud #dir-reset{ cursor: pointer; }
#directorio-salud #dir-reset:hover{ background: #f8fafc; }

/* Tablet */
@media (max-width: 1024px){
  #directorio-salud .dir-controls{
    grid-template-columns: 1fr 1fr; /* 2 columnas */
  }
  #directorio-salud #dir-reset{
    grid-column: 1 / -1;   /* botón en fila aparte */
    justify-self: stretch; /* ancho completo */
  }
}

/* Mobile: cada filtro en su fila + botón abajo a ancho completo */
@media (max-width: 767px){
  #directorio-salud .dir-controls{
    grid-template-columns: 1fr; /* 1 columna */
  }
  #directorio-salud #dir-reset{
    grid-column: 1 / -1;
    width: 100%;
    justify-self: stretch;
  }
}

/* Grid */
#directorio-salud .dir-grid{
  display: grid;
  gap: var(--gap);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
}
@media (max-width: 1024px){
  #directorio-salud .dir-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px){
  #directorio-salud .dir-grid{ grid-template-columns: 1fr; }
}

/* Card + flip */
#directorio-salud .dir-card{
  perspective: 1200px;
  min-width: 0; /* evita overflow en grid */
}
#directorio-salud .flip{
  position: relative;
  transform-style: preserve-3d;
  transition: transform .6s;
  min-height: 100%;
}
#directorio-salud .dir-card.is-flipped .flip{ transform: rotateY(180deg); }

#directorio-salud .flip-face{
  background: var(--card-bg);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  display: grid;
  grid-template-rows: auto auto auto auto;
  min-width: 0;
}
#directorio-salud .flip-back{
  position: absolute; inset: 0;
  transform: rotateY(180deg);
  padding: 18px;
  display: grid; grid-template-rows: 1fr auto;
}

/* Imagen */
#directorio-salud .dir-photo{ aspect-ratio: 4/3; overflow: hidden; background:#f1f5f9; }
#directorio-salud .dir-photo img{ width: 100%; height: 100%; object-fit: cover; display:block; }

/* Texto */
#directorio-salud .dir-name{ font-size: 20px; font-weight: 700; margin: 14px 16px 4px; }
#directorio-salud .dir-spec{ margin: 0 16px 10px; color: var(--color-muted); font-size: 15px; }

/* Acciones (ACTUALIZADO: 2 filas, cada botón ancho completo) */
#directorio-salud .dir-actions{
  display: grid;
  grid-template-columns: 1fr;   /* una columna => botones en dos filas */
  row-gap: 10px;
  padding: 0 16px 16px;
  margin-top: auto;
  width: 100%;
  box-sizing: border-box;
}
#directorio-salud .btn{
  font-family: inherit;
  font-weight: 600;
  font-size: 14px;
  padding: .85rem 1.1rem;
  border-radius: 12px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;           /* ancho completo del botón */
  box-sizing: border-box; 
}
#directorio-salud .btn.reservar{
  background: linear-gradient(180deg, var(--color-primario), var(--color-primario-2));
  color: #fff;
  box-shadow: 0 6px 12px rgba(1,174,183,.35);
}
#directorio-salud .btn.reservar:hover{ filter: brightness(1.05); }
#directorio-salud .btn.secundario{
  background: #f1f5f9;
  color: #0f172a;
  border: 1px solid #e2e8f0;
}
#directorio-salud .btn.secundario:hover{ background: #e9eef5; }

/* Back face */
#directorio-salud .dir-desc{ color: var(--color-texto); font-size: 15px; line-height: 1.55; }

/* Estado vacío */
#directorio-salud .dir-empty{ margin-top: 12px; color: var(--color-muted); font-size: 14px; }

/* Extras anti-overflow */
#directorio-salud *{ max-width: 100%; }/* End custom CSS */