/* Villarabet Next Phase 13.6.3 — Story Viewer Responsive Hotfix
   Isolated to story viewer only. No feed/comment/ranking/media logic changes. */
body.social-modal-open{overflow:hidden!important;overscroll-behavior:none}

.story-viewer{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  z-index:9990!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  direction:rtl;
  isolation:isolate;
}
.story-viewer[hidden]{display:none!important}
.story-viewer-backdrop{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:rgba(7,10,9,.82)!important;
  border:0!important;
}
.story-viewer-stage{
  position:absolute!important;
  inset:50% auto auto 50%!important;
  transform:translate(-50%,-50%)!important;
  z-index:1!important;
  margin:0!important;
  padding:0!important;
  width:min(430px,92vw)!important;
  height:min(820px,92dvh)!important;
  max-width:none!important;
  max-height:none!important;
  background:#050806!important;
  border-radius:24px!important;
  overflow:hidden!important;
  color:#fff!important;
  box-shadow:0 24px 80px rgba(0,0,0,.45)!important;
}
.story-viewer-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  background:#050806!important;
  overflow:hidden!important;
}
.story-viewer-media img,
.story-viewer-media video{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#050806!important;
}
.story-viewer-stage:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  background:linear-gradient(to bottom,rgba(0,0,0,.32) 0,transparent 17%,transparent 66%,rgba(0,0,0,.50) 100%);
}
.story-progress{
  position:absolute!important;
  z-index:5!important;
  top:10px!important;
  left:14px!important;
  right:14px!important;
  height:3px!important;
  border-radius:4px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.34)!important;
}
.story-progress i{display:block;width:100%;height:100%;background:#fff;border-radius:inherit}
.story-viewer-stage header{
  position:absolute!important;
  z-index:6!important;
  top:22px!important;
  left:14px!important;
  right:14px!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  direction:rtl!important;
}
.story-profile-link{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  color:#fff!important;
  text-decoration:none!important;
  text-shadow:0 1px 8px rgba(0,0,0,.45)!important;
}
.story-profile-link b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.story-viewer-stage header .social-avatar.mini{width:38px!important;height:38px!important;flex:0 0 38px!important;border:2px solid rgba(255,255,255,.88)!important;background:#e8efea!important}
.story-viewer-stage header button#storyViewerClose{
  flex:0 0 44px!important;
  width:44px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:50%!important;
  background:rgba(19,25,22,.58)!important;
  color:#fff!important;
  font-size:31px!important;
  line-height:1!important;
  font-weight:300!important;
  backdrop-filter:blur(10px)!important;
}
.story-viewer-caption{
  position:absolute!important;
  z-index:6!important;
  right:18px!important;
  left:18px!important;
  bottom:84px!important;
  margin:0!important;
  padding:0!important;
  max-height:22vh!important;
  overflow:auto!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.9!important;
  text-shadow:0 1px 8px rgba(0,0,0,.65)!important;
}
.story-viewer-caption:empty{display:none!important}
.story-viewer-property{
  position:absolute!important;
  z-index:7!important;
  right:16px!important;
  left:16px!important;
  bottom:16px!important;
  min-height:50px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  padding:11px 16px!important;
  border:1px solid rgba(255,255,255,.52)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.94)!important;
  color:#145d47!important;
  font-weight:800!important;
  text-decoration:none!important;
  box-shadow:0 10px 30px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(14px)!important;
}
.story-viewer-property[hidden]{display:none!important}

/* Phone: true fullscreen story, independent from feed/container width. */
@media (max-width:699px){
  .story-viewer-stage{
    inset:0!important;
    transform:none!important;
    width:100vw!important;
    height:100dvh!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .story-viewer-stage header{
    top:max(18px,env(safe-area-inset-top))!important;
    left:14px!important;
    right:14px!important;
  }
  .story-progress{top:max(7px,calc(env(safe-area-inset-top) + 3px))!important}
  .story-viewer-caption{
    right:16px!important;
    left:16px!important;
    bottom:calc(84px + max(0px,env(safe-area-inset-bottom)))!important;
  }
  .story-viewer-property{
    right:14px!important;
    left:14px!important;
    bottom:max(14px,env(safe-area-inset-bottom))!important;
  }
}

/* Short landscape screens: keep controls accessible. */
@media (max-height:560px) and (orientation:landscape){
  .story-viewer-stage{width:min(360px,70vw)!important;height:96dvh!important;border-radius:16px!important}
  .story-viewer-caption{bottom:70px!important;max-height:18vh!important;font-size:12px!important}
  .story-viewer-property{min-height:42px!important;padding:8px 12px!important}
}

/* 16.6.6 — text-only Story fallback for backend-valid stories without media. */
.story-viewer-media.is-text-story{display:flex!important;align-items:center;justify-content:center;padding:clamp(28px,8vw,64px)!important;background:linear-gradient(145deg,#234E46 0%,#2f655a 58%,#C96A52 140%)!important}
.story-text-card{max-width:86%;color:#fff;font-size:clamp(24px,6vw,40px);line-height:1.75;font-weight:800;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:0 2px 16px rgba(0,0,0,.2)}
