/* === LAT FIX v2: SMI Utility Classes + Doctor Card Design (Robust) === */

/* ── Utilidades de display / flex ───────────────────────────────────── */
.smi-d-flex{display:flex!important}
.smi-d-none{display:none!important}
.smi-d-block{display:block!important}
.smi-d-inline-flex{display:inline-flex!important}
.smi-flex-row-reverse{flex-direction:row-reverse!important}
.smi-flex-column{flex-direction:column!important}
.smi-flex-wrap{flex-wrap:wrap!important}
.smi-align-items-center{align-items:center!important}
.smi-align-items-start{align-items:flex-start!important}
.smi-align-items-end{align-items:flex-end!important}
.smi-align-content-center{align-content:center!important}
.smi-justify-content-center{justify-content:center!important}
.smi-justify-content-between{justify-content:space-between!important}
.smi-justify-content-end{justify-content:flex-end!important}
.smi-column-gap-xxxl{column-gap:var(--horizontal-space-xxxl,60px)}
.smi-column-gap-xxl{column-gap:var(--horizontal-space-xxl,48px)}
.smi-column-gap-xl{column-gap:var(--horizontal-space-xl,32px)}
.smi-column-gap-lg{column-gap:var(--horizontal-space-lg,24px)}

/* ── Utilidades de tamaño / posición ────────────────────────────────── */
.smi-w-100{width:100%!important}
.smi-h-100{height:100%!important}
.smi-h-auto{height:auto!important}
.smi-p-relative{position:relative!important}
.smi-p-absolute{position:absolute!important}
.smi-object-fit-cover{object-fit:cover!important}
.smi-lh-0{line-height:0!important}
.smi-overflow-hidden{overflow:hidden!important}

/* ── Utilidades de espaciado ─────────────────────────────────────────── */
.smi-mb-xxl{margin-bottom:var(--vertical-space-xxl,48px)}
.smi-mb-xl{margin-bottom:var(--vertical-space-xl,32px)}
.smi-mb-lg{margin-bottom:var(--vertical-space-lg,24px)}
.smi-mb-sm{margin-bottom:var(--vertical-space-sm,8px)}
.smi-mb-xxs{margin-bottom:var(--vertical-space-xxs,4px)}

/* ── Utilidades de texto ─────────────────────────────────────────────── */
.smi-text-sub{font-size:.875rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7}
.smi-text-md{font-size:1rem;line-height:1.6}
.smi-format-content p{margin:0 0 .75em}
.smi-format-content p:last-child{margin-bottom:0}
.smi-link-wrapper{}
.smi-heading-inner{}

/* ── Forma de la imagen ─────────────────────────────────────────────── */
.smi-media-wrapper.smi-round{border-radius:50%}
.smi-media-wrapper.smi-round img{border-radius:50%;display:block}
.smi-media-wrapper.smi-default{border-radius:var(--border-radius,8px)}
.smi-border{border:1px solid rgba(0,0,0,.08)}
.smi-shadow{box-shadow:0 4px 16px rgba(0,0,0,.10)}

/* ── Hover en imagen ────────────────────────────────────────────────── */
.smi-hover-image-zoom-in img{transition:transform .4s ease}
.smi-hover-image-zoom-in:hover img{transform:scale(1.05)}
.smi-hover-image-none img{transition:none}

/* ── Wrapper de botón ───────────────────────────────────────────────── */
.smi-button-wrapper{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}

/* ═══════════════════════════════════════════════════════════════════════
   LAT DOCTOR CARDS — Control de tamaño de imagen y layout proporcional
   ════════════════════════════════════════════════════════════════════ */

/* ── Centrado y ancho máximo del contenido de médicos en desktop ──── */
@media screen and (min-width: 768px) {
  .smi-section-timeline-2 .smi-miletones {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ── Centrado del título de ciudad ───────────────────────────────── */
.smi-section-timeline-2 .smi-heading-component {
  justify-content: center !important;
  text-align: center !important;
  width: 100%;
}
.smi-section-timeline-2 .smi-heading-component .smi-heading-inner {
  text-align: center !important;
}

/* Contenedor de cada entrada de médico: card con padding */
.smi-section-timeline-2 .smi-component-blocks-miletone-2 {
  background: #fff;
  border-radius: 16px;
  padding: 1.5rem 1.75rem;
  box-shadow: 0 2px 12px rgba(0,0,0,.07);
  border: 1px solid #f0f0f0;
  overflow: hidden;
}

/* IMAGEN: tamaño máximo fijo — evita que se agrande demasiado */
.smi-section-timeline-2 .miletone-style .smi-item-milestone .smi-media-wrapper {
  width: 200px !important;
  max-width: 200px !important;
  min-width: 160px !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
}

/* La imagen dentro del wrapper ocupa todo el círculo */
.smi-section-timeline-2 .miletone-style .smi-item-milestone .smi-media-wrapper img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  aspect-ratio: 1 / 1;
}

/* Contenido de texto: ocupa el espacio restante */
.smi-section-timeline-2 .miletone-style .smi-item-milestone .smi-content-wrapper {
  flex: 1 1 0 !important;
  min-width: 0;
}

/* Tablet: imagen un poco más pequeña */
@media screen and (min-width:768px) and (max-width:991.98px){
  .smi-section-timeline-2 .miletone-style .smi-item-milestone .smi-media-wrapper{
    width:160px!important;max-width:160px!important;min-width:130px!important
  }
}

/* Mobile: imagen completa pero con tamaño máximo razonable */
@media screen and (max-width:767.98px){
  .smi-section-timeline-2 .miletone-style .smi-item-milestone .smi-media-wrapper{
    width:160px!important;max-width:160px!important;min-width:140px!important;
    margin-left:auto;margin-right:auto
  }
  .smi-section-timeline-2 .smi-component-blocks-miletone-2{
    padding:1.25rem 1rem
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   BOTÓN INSTAGRAM — Gradiente oficial + icono SVG
   ════════════════════════════════════════════════════════════════════ */

/* Estilo base del botón de Instagram en la sección de médicos */
.smi-section-timeline-2 .smi-button--solid,
.smi-section-timeline-2 .smi-text-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: .45rem !important;
  padding: .5rem 1.1rem !important;
  border-radius: 50px !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  color: #fff !important;
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(188,24,136,.30) !important;
  transition: opacity .2s ease, transform .15s ease !important;
  white-space: nowrap;
}

.smi-section-timeline-2 .smi-button--solid:hover,
.smi-section-timeline-2 .smi-text-button:hover {
  opacity: .88 !important;
  transform: translateY(-1px) !important;
}

/* Icono SVG de Instagram inyectado via CSS ::before */
.smi-section-timeline-2 .smi-button--solid::before,
.smi-section-timeline-2 .smi-text-button::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' y1='6.5' x2='17.51' y2='6.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

/* === END LAT FIX v2 === */
smi-video-background{overflow:hidden;position:absolute;left:0;right:0;top:0;bottom:0}smi-video-background>*{width:100%;height:100%}smi-video-background .smi-placeholder-svg{object-fit:cover}smi-video-background .smi-cover-image{position:absolute;left:0;right:0;top:0;bottom:0;z-index:3}smi-video-background .smi-cover-image .smi-cover-image__img{object-fit:cover;width:100%;height:100%}smi-video-background .smi-upload-video video{width:100%;height:100%;object-fit:cover}smi-video-background .smi-cover-image+.smi-video-url{opacity:0}smi-video-background .smi-video-url .smi-youtube-thumbnail{width:100%;height:100%;object-fit:cover}smi-video-background .smi-video-url iframe{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none}smi-video-background .smi-video-url iframe{pointer-events:all}.smi-item-milestone-video .iconplay .smi-play-button-component{box-shadow:none}.smi-item-milestone-video .iconplay .__smi-icon svg path{fill:#fff;stroke:#fff}.smi-item-milestone .smi-video-ratio-auto smi-video-background{position:relative}.smi-item-milestone .smi-video-ratio-auto smi-video-background svg{position:relative}.smi-section-timeline-2 .smi-media-wrapper img{position:relative}@media screen and (min-width: 768px)and (max-width: 991.98px){.smi-section-timeline-2 .miletone-style .smi-item-milestone{column-gap:var(--horizontal-space-xxl, 48px)}}.smi-section-timeline-2 .miletone-style .smi-item-milestone .smi-media-wrapper{width:50%}.smi-section-timeline-2 .miletone-style .smi-item-milestone .smi-content-wrapper{width:50%}@media screen and (max-width: 767.98px){.smi-section-timeline-2 .miletone-style .smi-item-milestone{flex-direction:column;flex-wrap:wrap}.smi-section-timeline-2 .miletone-style .smi-item-milestone .smi-media-wrapper{width:100%;margin-bottom:var(--horizontal-space-lg, 24px)}.smi-section-timeline-2 .miletone-style .smi-item-milestone .smi-content-wrapper{width:100%}}.smi-section-timeline-2 .miletone-style .smi-item-milestone .smi-button-wrapper{text-align:var(--content-alignment)}.smi-section-timeline-2 .smi-miletones{position:relative}.smi-section-timeline-2 .smi-miletones .smi-heading-component{justify-content:var(--heading-alignment)}.smi-section-timeline-2 .smi-miletones .smi-heading-component .smi-heading-inner{margin-bottom:0px}.smi-section-timeline-2 .smi-miletones .smi-heading-component+.smi-button-wrapper{margin-top:var(--vertical-space-lg, 24px)}.smi-section-timeline-2 .smi-miletones .miletone-style{position:relative;padding-top:var(--horizontal-space-xxl, 36px);padding-bottom:var(--horizontal-space-xxl, 36px)}.smi-section-timeline-2 .smi-miletones .miletone-style:last-child{padding-bottom:0px}.smi-section-timeline-2 .smi-miletones .miletone-style .smi-block-type-text-gutter-item{padding-left:calc(var(--horizontal-space-xxl, 48px) + 17px + max(var(--container-gutter),50% - var(--container-max-width)/2));margin-top:var(--pods-item)}.smi-section-timeline-2 .smi-miletones .miletone-style:before{content:"";display:block;position:absolute;left:9px;top:0;width:0;height:100%;border-left:1px solid rgba(var(--color-foreground), 0.2)}.smi-section-timeline-2 .smi-miletones .miletone-style:after{content:"";display:block;position:absolute;left:9px;top:0;width:0;height:var(--heightLine, 0px);border-left:1px solid rgb(var(--color-foreground))}.smi-section-timeline-2 .smi-miletones .smi-component-blocks-miletone-2{position:relative;padding-left:calc(var(--horizontal-space-xxxl, 60px) + 17px)}.smi-section-timeline-2 .smi-miletones .smi-component-blocks-miletone-2:not(.first){margin-top:calc(var(--horizontal-space-xxxl, 60px))}@media screen and (min-width: 768px)and (max-width: 991.98px){.smi-section-timeline-2 .smi-miletones .smi-component-blocks-miletone-2{padding-left:calc(var(--horizontal-space-xxl, 48px) + 17px)}}@media screen and (max-width: 767.98px){.smi-section-timeline-2 .smi-miletones .smi-component-blocks-miletone-2{padding-left:calc(var(--horizontal-space-md, 16px) + 17px)}}.smi-section-timeline-2 .smi-miletones .smi-component-blocks-miletone-2>svg{content:"";display:block;position:absolute;top:20px;left:1px;width:17px;height:17px;border-radius:13px;z-index:2;-webkit-transition:all 200ms cubic-bezier(0.345, 0.6, 0.87, 1);-webkit-transition:all 200ms cubic-bezier(0.345, 0.6, 0.87, 1.65);-moz-transition:all 200ms cubic-bezier(0.345, 0.6, 0.87, 1.65);-o-transition:all 200ms cubic-bezier(0.345, 0.6, 0.87, 1.65);transition:all 200ms cubic-bezier(0.345, 0.6, 0.87, 1.65);-webkit-transition-timing-function:cubic-bezier(0.345, 0.6, 0.87, 1);-webkit-transition-timing-function:cubic-bezier(0.345, 0.6, 0.87, 1.65);-moz-transition-timing-function:cubic-bezier(0.345, 0.6, 0.87, 1.65);-o-transition-timing-function:cubic-bezier(0.345, 0.6, 0.87, 1.65);transition-timing-function:cubic-bezier(0.345, 0.6, 0.87, 1.65)}.smi-section-timeline-2 .smi-miletones .smi-component-blocks-miletone-2>svg circle{fill:rgb(var(--color-background));stroke:rgb(var(--color-foreground))}.smi-section-timeline-2 .smi-miletones .smi-component-blocks-miletone-2.active>svg circle{fill:rgb(var(--color-foreground))}.smi-section-timeline-2 .smi-miletones .smi-component-blocks-miletone-2 .iconplay{border-radius:100px;border:2px solid #fff;background:rgba(var(--color-foreground), 0.1);backdrop-filter:blur(1.5px);position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer}@media screen and (min-width: 768px){.smi-section-timeline-2 .smi-miletones.smi-timeline-style-3 .miletone-style:before,.smi-section-timeline-2 .smi-miletones.smi-timeline-style-3 .miletone-style:after,.smi-section-timeline-2 .smi-miletones.smi-timeline-style-4 .miletone-style:before,.smi-section-timeline-2 .smi-miletones.smi-timeline-style-4 .miletone-style:after,.smi-section-timeline-2 .smi-miletones.smi-timeline-style-5 .miletone-style:before,.smi-section-timeline-2 .smi-miletones.smi-timeline-style-5 .miletone-style:after{transform:translateX(-50%);left:50%}.smi-section-timeline-2 .smi-miletones.smi-timeline-style-3 .miletone-style .smi-item-milestone,.smi-section-timeline-2 .smi-miletones.smi-timeline-style-4 .miletone-style .smi-item-milestone,.smi-section-timeline-2 .smi-miletones.smi-timeline-style-5 .miletone-style .smi-item-milestone{column-gap:calc(var(--horizontal-space-xxxl, 60px)*2)}.smi-section-timeline-2 .smi-miletones.smi-timeline-style-3 .smi-component-blocks-miletone-2,.smi-section-timeline-2 .smi-miletones.smi-timeline-style-4 .smi-component-blocks-miletone-2,.smi-section-timeline-2 .smi-miletones.smi-timeline-style-5 .smi-component-blocks-miletone-2{padding-left:0px}.smi-section-timeline-2 .smi-miletones.smi-timeline-style-3 .smi-component-blocks-miletone-2>svg,.smi-section-timeline-2 .smi-miletones.smi-timeline-style-4 .smi-component-blocks-miletone-2>svg,.smi-section-timeline-2 .smi-miletones.smi-timeline-style-5 .smi-component-blocks-miletone-2>svg{transform:translateX(-50%);left:50%}}.smi-section-timeline-2 .smi-miletones .smi-text-detail-lg-item{margin-top:var(--vertical-space-lg, 24px);padding-bottom:var(--horizontal-space-xxl, 36px);line-height:var(--basico-item)}