/* Xovos TTB 5.8.15 — OSHP/OP Google xarita va rasmli hover */
.health-map-panel,.health-place-info{overflow:visible!important}
.health-map{position:relative;background:#eef4f8;box-shadow:inset 0 0 0 1px rgba(15,120,173,.08)}
.health-map-iframe{opacity:1!important;visibility:visible!important;transition:none!important;background:#eef4f8}
.selected-map-btn{position:relative;overflow:hidden;box-shadow:0 14px 30px rgba(15,120,173,.18);transition:transform .24s ease,box-shadow .24s ease}
.selected-map-btn:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,120,173,.25)}
.selected-map-btn:after{content:"";position:absolute;inset:-120% auto -120% -28%;width:22%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:oshpMapShine 4.8s ease-in-out infinite;pointer-events:none}
@keyframes oshpMapShine{0%,62%{left:-28%}82%,100%{left:115%}}

.oshp-route-guide{margin-top:16px;border:1px solid rgba(15,120,173,.15);border-radius:18px;background:linear-gradient(180deg,#fff,#f6fbff);overflow:hidden;box-shadow:0 14px 36px rgba(34,83,116,.10)}
.oshp-route-guide-media{position:relative;overflow:hidden;aspect-ratio:16/8.2;background:#f7fbff}
.oshp-route-guide-media img{width:100%;height:100%;display:block;object-fit:contain;opacity:1!important;visibility:visible!important;animation:oshpRouteFloat 7s ease-in-out infinite;transform-origin:center center}
@keyframes oshpRouteFloat{0%,100%{transform:scale(1.01) translate3d(0,0,0)}50%{transform:scale(1.035) translate3d(0,-4px,0)}}
.oshp-route-guide-badge{position:absolute;left:12px;bottom:12px;padding:8px 12px;border-radius:999px;background:rgba(2,46,77,.84);color:#fff;font-size:12px;font-weight:900;box-shadow:0 8px 20px rgba(2,46,77,.2);backdrop-filter:blur(8px)}
.oshp-route-guide-caption{padding:12px 14px 14px;color:#395166;font-size:12.5px;line-height:1.55;font-weight:650}

.oshp-map-marquee{margin-top:12px;overflow:hidden;border-radius:13px;border:1px solid rgba(15,120,173,.16);background:linear-gradient(90deg,#eef9ff,#fff,#eef9ff);min-height:42px;display:flex;align-items:center;white-space:nowrap}
.oshp-map-marquee-track{display:inline-block;min-width:max-content;padding:0 18px;color:#075985;font-size:13px;font-weight:850;animation:oshpMarqueeLTR 20s linear infinite;will-change:transform}
@keyframes oshpMarqueeLTR{from{transform:translateX(-100%)}to{transform:translateX(115%)}}
.oshp-map-marquee:hover .oshp-map-marquee-track{animation-play-state:paused}

.map-places-list{padding-top:8px;padding-bottom:118px!important;scroll-padding-bottom:118px}
.map-place-item{position:relative;overflow:visible!important;isolation:isolate}
.map-place-hover-preview{position:absolute;left:50%;bottom:calc(100% + 10px);width:210px;transform:translate(-50%,10px) scale(.95);opacity:0;visibility:hidden;pointer-events:none;z-index:80;padding:8px;border-radius:14px;background:rgba(255,255,255,.98);border:1px solid rgba(15,120,173,.18);box-shadow:0 20px 45px rgba(15,23,42,.22);transition:opacity .18s ease,transform .22s ease,visibility .18s ease;text-align:left}
.map-place-hover-preview:after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;background:#fff;border-right:1px solid rgba(15,120,173,.18);border-bottom:1px solid rgba(15,120,173,.18);transform:translateX(-50%) rotate(45deg)}
.map-place-hover-preview img{width:100%;height:86px;object-fit:contain;padding:5px;border-radius:10px;background:#eef4f8;display:block}
.map-place-hover-preview b{display:block!important;margin-top:8px;font-size:12px!important;line-height:1.35;color:#0f2940!important}
.map-place-hover-preview small{display:block;margin-top:5px;color:#64748b;font-size:10.5px;line-height:1.35}
.map-place-item:hover{z-index:81}
.map-place-item:hover .map-place-hover-preview,.map-place-item.active:focus-visible .map-place-hover-preview{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}

@media (max-width:1200px){.oshp-route-guide-media{aspect-ratio:16/7}.map-places-list{padding-bottom:108px!important}}
@media (max-width:768px){
  .oshp-route-guide-media{aspect-ratio:16/10}
  .oshp-route-guide-caption{font-size:12px}
  .oshp-map-marquee-track{font-size:12px;animation-duration:17s}
  .map-places-list{padding-bottom:12px!important}
  .map-place-hover-preview{display:none!important}
}
@media (prefers-reduced-motion:reduce){.oshp-route-guide-media img,.oshp-map-marquee-track,.selected-map-btn:after{animation:none!important}.map-place-hover-preview{transition:none!important}}

/* Floating hover preview: horizontal list overflow cannot clip it */
.map-place-hover-preview{display:none!important}
.oshp-floating-preview{position:fixed;z-index:99999;width:200px;padding:9px;border-radius:15px;background:rgba(255,255,255,.985);border:1px solid rgba(15,120,173,.2);box-shadow:0 22px 55px rgba(15,23,42,.25);opacity:0;visibility:hidden;transform:translateY(8px) scale(.96);transition:opacity .16s ease,transform .2s ease,visibility .16s ease;pointer-events:none}
.oshp-floating-preview.is-show{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.oshp-floating-preview img{width:100%;height:88px;display:block;object-fit:contain;padding:5px;border-radius:10px;background:#eef4f8}
.oshp-floating-preview b{display:block;margin-top:8px;color:#102a43;font-size:12.5px;line-height:1.35}
.oshp-floating-preview small{display:block;margin-top:5px;color:#64748b;font-size:10.5px;line-height:1.35}
@media(max-width:780px){.oshp-floating-preview{display:none!important}}

/* =========================================================
   Xovos TTB 5.8.20 — OSHP/OP xarita layout overflow fix
   Sabab: gorizontal muassasalar ro'yxatining min-content eni
   grid ustunini kengaytirib, o'ng ma'lumot panelini ekrandan
   tashqariga surib yuborishi mumkin edi.
   ========================================================= */

/* Grid ichidagi elementlar kontent sabab kengayib ketmasin */
.map-row{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;
  gap:20px!important;
  align-items:stretch!important;
}
.map-row > *,
.map-row > .map-panel,
.map-row > .map-info,
.health-map-panel,
.health-place-info{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Hover preview endi body ichida fixed bo'lgani uchun panelni visible
   qilish shart emas. Bu gorizontal overflow muammosini ham yopadi. */
.health-map-panel,
.health-place-info{
  overflow:hidden!important;
}

.health-map-panel{
  width:100%!important;
  padding:18px!important;
  display:block!important;
}
.health-place-info{
  width:100%!important;
  padding:22px!important;
  align-self:stretch!important;
}
.health-place-info h3{
  font-size:clamp(20px,1.6vw,26px)!important;
  line-height:1.25!important;
  overflow-wrap:anywhere;
}
.health-place-info .info-row{
  min-width:0!important;
}
.health-place-info .info-row span,
.health-place-info .info-row strong{
  min-width:0!important;
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Xarita va qidiruv konteyneri parent enidan chiqmasin */
.map-search-box,
.health-map,
.map-list-head,
.map-places-list{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.health-map{
  overflow:hidden!important;
}
.health-map iframe,
.health-map-iframe{
  width:100%!important;
  max-width:100%!important;
}

/* 17 ta muassasa kartasi faqat o'z qatori ichida scroll bo'ladi.
   Ular butun sahifa enini kengaytirmaydi. */
.map-places-list{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable;
  padding:8px 2px 10px!important;
}
.map-place-item{
  flex:0 0 clamp(185px,18vw,220px)!important;
  width:clamp(185px,18vw,220px)!important;
  min-width:0!important;
  max-width:220px!important;
  box-sizing:border-box!important;
}
.map-place-item strong,
.map-place-item span{
  overflow-wrap:anywhere;
}

/* Yo'nalish rasmi o'ng panel eniga mos. Tabiiy rasm eni gridni
   kengaytira olmaydi. */
.oshp-route-guide{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.oshp-route-guide-media{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.oshp-route-guide-media img{
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
}
.oshp-map-marquee{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

/* 1200px dan pastda eski style.css map-row'ni bitta ustunga o'tkazar edi.
   Desktop/noutbukda yonma-yon ko'rinishni 930px gacha saqlaymiz. */
@media (min-width:931px) and (max-width:1200px){
  .map-row{
    grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr)!important;
    gap:16px!important;
  }
  .health-map-panel{padding:14px!important}
  .health-place-info{padding:16px!important}
  .health-map{height:330px!important}
  .info-row{gap:10px!important;padding:10px 0!important}
  .health-place-info .info-row span{font-size:14px!important}
  .health-place-info .info-row strong{font-size:12px!important}
  .oshp-route-guide-media{aspect-ratio:16/7.2!important}
  .oshp-route-guide-caption{padding:9px 11px 11px!important;font-size:11.5px!important}
  .oshp-map-marquee{min-height:38px!important}
  .oshp-map-marquee-track{font-size:11.5px!important}
}

/* Planshet/mobile: bitta ustun, hech qanday yon overflow yo'q */
@media (max-width:930px){
  .map-row{
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
  }
  .health-map-panel,
  .health-place-info{
    width:100%!important;
    max-width:100%!important;
  }
  .health-place-info{padding:18px!important}
  .map-place-item{
    flex-basis:190px!important;
    width:190px!important;
    max-width:190px!important;
  }
}

@media (max-width:560px){
  .health-map-panel{padding:10px!important}
  .health-place-info{padding:14px!important}
  .health-map{height:300px!important;min-height:300px!important}
  .map-place-item{
    flex-basis:174px!important;
    width:174px!important;
    max-width:174px!important;
    padding:9px 10px!important;
  }
  .oshp-route-guide-media{aspect-ratio:16/9!important}
}
