
/* Mobile orientation lock — portrait touch devices only */
.rv-orientation-lock{
  display:none;
  position:fixed;
  inset:0;
  z-index:2147483647;
  background:
    radial-gradient(circle at 50% 38%, rgba(86,24,197,.18), transparent 34%),
    #0b0b0d;
  color:#fff;
  align-items:center;
  justify-content:center;
  padding:32px 26px;
  text-align:center;
  font-family:Inter,Arial,sans-serif;
  overscroll-behavior:none;
  touch-action:none;
}
.rv-orientation-lock__content{
  width:min(390px,100%);
  display:flex;
  flex-direction:column;
  align-items:center;
}
.rv-orientation-lock__icon{
  position:relative;
  width:184px;
  height:184px;
  margin:0 auto 34px;
}
.rv-orientation-phone{
  position:absolute;
  left:63px;
  top:43px;
  width:58px;
  height:98px;
  border:3px solid #fff;
  border-radius:13px;
  transform-origin:50% 50%;
  box-shadow:0 0 24px rgba(61,183,234,.16);
  animation:rv-orientation-turn 3.2s cubic-bezier(.34,1.56,.64,1) infinite;
}
.rv-orientation-phone::before{
  content:"";
  position:absolute;
  top:6px;
  left:50%;
  width:16px;
  height:2px;
  margin-left:-8px;
  border-radius:3px;
  background:rgba(255,255,255,.72);
}
.rv-orientation-phone::after{
  content:"";
  position:absolute;
  bottom:7px;
  left:50%;
  width:5px;
  height:5px;
  margin-left:-2.5px;
  border-radius:50%;
  background:#ecf63c;
  box-shadow:0 0 10px rgba(236,246,60,.5);
}
.rv-orientation-arrow{
  position:absolute;
  left:77px;
  top:77px;
  width:30px;
  height:30px;
  overflow:visible;
  transform-origin:50% 50%;
  animation:rv-orientation-turn 3.2s cubic-bezier(.34,1.56,.64,1) infinite;
}
.rv-orientation-arrow path{
  fill:none;
  stroke:#53c7f3;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(61,183,234,.35));
}
.rv-orientation-lock h2{
  margin:0;
  font-size:25px;
  line-height:1.15;
  letter-spacing:-.5px;
}
.rv-orientation-lock p{
  margin:12px 0 0;
  max-width:340px;
  color:#b8b8c1;
  font-size:15px;
  line-height:1.5;
}
.rv-orientation-lock strong{color:#fff}

@keyframes rv-orientation-turn{
  0%,16%{transform:rotate(0deg) scale(1);opacity:.76}
  34%{transform:rotate(96deg) scale(1.035);opacity:1}
  42%,70%{transform:rotate(90deg) scale(1);opacity:1}
  88%{transform:rotate(-6deg) scale(1.025);opacity:.9}
  96%,100%{transform:rotate(0deg) scale(1);opacity:.76}
}

.rv-mobile-portrait-lock,
.rv-mobile-portrait-lock body{
  overflow:hidden!important;
  overscroll-behavior:none;
}
.rv-mobile-portrait-lock .rv-orientation-lock{
  display:flex;
}
@media (prefers-reduced-motion:reduce){
  .rv-orientation-phone,.rv-orientation-arrow{animation:none}
  .rv-orientation-phone{transform:rotate(90deg)}
  .rv-orientation-arrow{opacity:1}
}
