/* MiKO Reward Store V6 — mobile detail sheet + paired grid polish */
body.miko-rshop-route .rstore-v3.detail-open::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:1580;
  background:rgba(4,18,40,.58);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}

/* mobile paired grid: keep 2 columns down to 351px */
@media (max-width:520px){
  body.miko-rshop-route .rstore-v3 .rstore-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-card{
    border-radius:13px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-card-body{
    padding:9px!important;
    min-height:154px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-card-body>b{
    min-height:34px!important;
    font-size:12px!important;
    line-height:1.35!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-card-body>small{
    min-height:32px!important;
    margin-top:3px!important;
    font-size:9.5px!important;
    line-height:1.45!important;
  }
  body.miko-rshop-route .rstore-v3 .exchange-box{
    margin:7px 0!important;
    padding:7px!important;
    min-height:48px!important;
  }
  body.miko-rshop-route .rstore-v3 .exchange-box>em{font-size:8px!important}
  body.miko-rshop-route .rstore-v3 .exchange-box>strong{
    font-size:11px!important;
    line-height:1.25!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-exchange-btn{
    position:relative!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr) 20px!important;
    align-items:center!important;
    gap:7px!important;
    min-height:40px!important;
    padding:5px 9px!important;
    border:1px solid rgba(255,255,255,.35)!important;
    border-radius:10px!important;
    background:linear-gradient(100deg,#13a8f2 0%,#1388ed 48%,#126fe1 100%)!important;
    color:#fff!important;
    font-size:11px!important;
    font-weight:950!important;
    text-align:center!important;
    box-shadow:0 8px 18px rgba(16,128,225,.22),inset 0 1px 0 rgba(255,255,255,.22)!important;
    transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-exchange-btn::before{
    content:""!important;
    position:absolute!important;
    top:-55%!important;
    left:-35%!important;
    width:28%!important;
    height:210%!important;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent)!important;
    transform:rotate(18deg)!important;
    animation:rstoreExchangeShine 3.2s ease-in-out infinite!important;
    pointer-events:none!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-exchange-btn:hover{
    transform:translateY(-2px)!important;
    filter:saturate(1.08)!important;
    box-shadow:0 12px 24px rgba(16,128,225,.30),inset 0 1px 0 rgba(255,255,255,.25)!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-exchange-icon{
    position:relative!important;
    z-index:1!important;
    width:28px!important;
    height:28px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.16)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 4px 10px rgba(0,45,110,.12)!important;
    font-style:normal!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-exchange-icon .rstore-svg{
    width:16px!important;
    height:16px!important;
    color:#fff!important;
    stroke-width:2!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-exchange-btn>span{
    position:relative!important;
    z-index:1!important;
    color:#fff!important;
    font-size:inherit!important;
    font-weight:950!important;
    line-height:1!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-exchange-arrow{
    position:relative!important;
    z-index:1!important;
    display:grid!important;
    place-items:center!important;
    width:20px!important;
    height:20px!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.13)!important;
    color:#fff!important;
    font-style:normal!important;
    font-size:13px!important;
    font-weight:900!important;
    transition:transform .18s ease!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-card-pick:hover .rstore-exchange-arrow{
    transform:translateX(3px)!important;
  }
  @keyframes rstoreExchangeShine{
    0%,68%{left:-40%;opacity:0}
    76%{opacity:1}
    100%{left:125%;opacity:0}
  }
  body.miko-rshop-route .rstore-v3 .rstore-card .tag{
    font-size:8px!important;
    padding:4px 7px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-card .fav{
    width:29px!important;
    height:29px!important;
    right:8px!important;
    top:8px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-card .fav .rstore-svg{
    width:16px!important;
    height:16px!important;
  }
}
@media (max-width:350px){
  body.miko-rshop-route .rstore-v3 .rstore-grid{
    grid-template-columns:1fr!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-card-body{
    min-height:0!important;
  }
}

/* detail sheet */
@media (max-width:1020px){
  body.miko-rshop-route .rstore-v3 .rstore-detail-panel{
    z-index:1600!important;
  }
}
@media (max-width:780px){
  body.miko-rshop-route .rstore-v3 .rstore-detail-panel{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    top:auto!important;
    width:auto!important;
    max-height:88vh!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,#0e356f 0%,#092552 100%)!important;
    box-shadow:0 28px 80px rgba(1,16,42,.48)!important;
    transform:translateY(calc(100% + 30px))!important;
    transition:transform .24s cubic-bezier(.2,.8,.2,1)!important;
    overscroll-behavior:contain!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-panel.is-open{
    transform:translateY(0)!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-panel::before{
    content:"";
    display:block!important;
    position:sticky!important;
    top:0!important;
    z-index:5!important;
    width:46px!important;
    height:5px!important;
    margin:9px auto 0!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.34)!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail{
    padding:8px 14px 18px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail>header{
    position:sticky!important;
    top:0!important;
    z-index:6!important;
    min-height:52px!important;
    margin:0 -4px 9px!important;
    padding:7px 0 6px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    background:linear-gradient(180deg,rgba(14,53,111,.98),rgba(14,53,111,.9))!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail>header b{
    font-size:18px!important;
    line-height:1.25!important;
    color:#fff!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail>header button{
    appearance:none!important;
    -webkit-appearance:none!important;
    flex:0 0 38px!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.09)!important;
    color:#fff!important;
    display:grid!important;
    place-items:center!important;
    font-size:25px!important;
    font-weight:300!important;
    line-height:1!important;
    box-shadow:none!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail>header button:active{
    transform:scale(.95)!important;
    background:rgba(255,255,255,.16)!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-media{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    border-radius:16px!important;
    overflow:hidden!important;
    background:#143d76!important;
    box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    display:block!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail h2{
    margin:14px 0 5px!important;
    color:#fff!important;
    font-size:20px!important;
    line-height:1.3!important;
    font-weight:950!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail>p{
    margin:0!important;
    color:#c9d8eb!important;
    font-size:13px!important;
    line-height:1.6!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-req{
    margin-top:13px!important;
    padding:12px!important;
    border:1px solid rgba(255,255,255,.13)!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.055)!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-req>small{
    display:block!important;
    margin-bottom:8px!important;
    color:#a9c9eb!important;
    font-size:11px!important;
    font-weight:900!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-mix-row,
  body.miko-rshop-route .rstore-v3 .rstore-nft-row{
    min-height:54px!important;
    padding:8px 0!important;
    gap:9px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-mix-row b,
  body.miko-rshop-route .rstore-v3 .rstore-nft-row b{
    font-size:12px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-mix-row small,
  body.miko-rshop-route .rstore-v3 .rstore-nft-row small{
    font-size:10px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-nft-row img,
  body.miko-rshop-route .rstore-v3 .rstore-nft-row .noimg{
    width:44px!important;
    height:44px!important;
    border-radius:9px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-summary{
    margin-top:10px!important;
    padding:10px 12px!important;
    border-radius:11px!important;
    background:rgba(255,255,255,.06)!important;
    color:#d9e8f8!important;
    font-size:12px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-action{
    min-height:48px!important;
    margin-top:12px!important;
    border-radius:12px!important;
    font-size:15px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-stock{
    margin-top:8px!important;
    padding-bottom:2px!important;
    font-size:11px!important;
  }
}

/* make success/confirm modal close controls consistent */
@media (max-width:780px){
  body.miko-rshop-route .rstore-modal .x,
  body.miko-rshop-route .rstore-success .x{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    padding:0!important;
    margin:0!important;
    border-radius:50%!important;
    display:grid!important;
    place-items:center!important;
    line-height:1!important;
    font-size:24px!important;
  }
}

/* V6.1 — interactive detail experience */
body.miko-rshop-route .rstore-v3 .rstore-detail-panel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
body.miko-rshop-route .rstore-v3 .rstore-detail-panel::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:30;
  pointer-events:none;
  border-radius:inherit;
  padding:1px;
  background:conic-gradient(from 210deg,transparent 0 18%,rgba(62,190,255,.95) 27%,rgba(142,101,255,.9) 38%,transparent 51% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:0;
}
body.miko-rshop-route .rstore-v3 .rstore-detail-panel.is-refreshing::after,
body.miko-rshop-route .rstore-v3 .rstore-detail-panel.is-open::after{
  animation:mikoDetailTrace 1.05s ease-out both;
}
@keyframes mikoDetailTrace{
  0%{opacity:0;transform:scale(.985);filter:drop-shadow(0 0 0 rgba(70,190,255,0))}
  22%{opacity:1}
  62%{opacity:.9;filter:drop-shadow(0 0 14px rgba(70,190,255,.48))}
  100%{opacity:0;transform:scale(1);filter:drop-shadow(0 0 0 rgba(70,190,255,0))}
}

body.miko-rshop-route .rstore-v3 .rstore-detail.detail-enter{
  animation:mikoDetailEnter .42s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes mikoDetailEnter{
  from{opacity:.18;transform:translateY(10px) scale(.985);filter:blur(2px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}

body.miko-rshop-route .rstore-v3 .rstore-detail>header{
  overflow:hidden;
}
body.miko-rshop-route .rstore-v3 .rstore-detail>header::after{
  content:"";
  position:absolute;
  left:-35%;
  bottom:0;
  width:35%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#63dcff,#9b7bff,transparent);
  opacity:.85;
}
body.miko-rshop-route .rstore-v3 .rstore-detail-panel.is-refreshing .rstore-detail>header::after,
body.miko-rshop-route .rstore-v3 .rstore-detail-panel.is-open .rstore-detail>header::after{
  animation:mikoHeaderSweep 1.15s ease-out both;
}
@keyframes mikoHeaderSweep{to{left:105%}}

body.miko-rshop-route .rstore-v3 .rstore-detail-kicker{
  display:flex;
  align-items:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  margin:13px 0 7px;
  padding:5px 9px;
  border:1px solid rgba(112,205,255,.26);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(57,174,255,.13),rgba(128,94,255,.12));
  color:#8fdcff;
  font-size:9px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.miko-rshop-route .rstore-v3 .rstore-detail-kicker::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#63dcff;
  box-shadow:0 0 0 5px rgba(99,220,255,.09),0 0 14px rgba(99,220,255,.7);
  animation:mikoDetailPulse 1.8s ease-in-out infinite;
}
@keyframes mikoDetailPulse{50%{transform:scale(.72);opacity:.6}}

body.miko-rshop-route .rstore-v3 .rstore-detail-chips{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:12px 0 4px;
}
body.miko-rshop-route .rstore-v3 .rstore-detail-chip{
  min-width:0;
  padding:9px 8px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:11px;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
body.miko-rshop-route .rstore-v3 .rstore-detail-chip:hover{
  transform:translateY(-2px);
  border-color:rgba(108,207,255,.28);
  background:linear-gradient(145deg,rgba(78,177,255,.12),rgba(132,93,255,.08));
}
body.miko-rshop-route .rstore-v3 .rstore-detail-chip small{
  display:block;
  overflow:hidden;
  color:#8faac9;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.04em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.miko-rshop-route .rstore-v3 .rstore-detail-chip b{
  display:block;
  overflow:hidden;
  margin-top:2px;
  color:#fff;
  font-size:11px;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.miko-rshop-route .rstore-v3 .rstore-detail-chip.is-ready b{color:#77efbb}

body.miko-rshop-route .rstore-v3 .rstore-detail-progress{
  margin-top:10px;
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  background:rgba(3,20,50,.22);
}
body.miko-rshop-route .rstore-v3 .rstore-detail-progress>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#bbcee4;
  font-size:10px;
  font-weight:800;
}
body.miko-rshop-route .rstore-v3 .rstore-detail-progress>div b{color:#fff;font-size:11px}
body.miko-rshop-route .rstore-v3 .rstore-detail-progress>span{
  display:block;
  height:6px;
  margin-top:8px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.1);
}
body.miko-rshop-route .rstore-v3 .rstore-detail-progress>span i{
  display:block;
  width:var(--miko-detail-progress,0%);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#31c8ff,#6b8cff 52%,#a77bff);
  box-shadow:0 0 16px rgba(65,196,255,.45);
  transform-origin:left center;
  animation:mikoProgressGrow .72s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes mikoProgressGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}

body.miko-rshop-route .rstore-v3 .rstore-detail-media{
  isolation:isolate;
  transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease;
}
body.miko-rshop-route .rstore-v3 .rstore-detail-media::before{
  content:"";
  position:absolute;
  inset:-35%;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(112deg,transparent 38%,rgba(255,255,255,.24) 49%,transparent 60%);
  transform:translateX(-70%) rotate(2deg);
  opacity:0;
}
body.miko-rshop-route .rstore-v3 .rstore-detail-panel.is-refreshing .rstore-detail-media::before,
body.miko-rshop-route .rstore-v3 .rstore-detail-panel.is-open .rstore-detail-media::before{
  animation:mikoMediaShine .9s .08s ease-out both;
}
@keyframes mikoMediaShine{
  15%{opacity:.75}
  100%{opacity:0;transform:translateX(70%) rotate(2deg)}
}
body.miko-rshop-route .rstore-v3 .rstore-detail-media img{
  transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .35s ease;
}
@media (hover:hover){
  body.miko-rshop-route .rstore-v3 .rstore-detail-media:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 44px rgba(0,15,45,.28)!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-media:hover img{
    transform:scale(1.035);
    filter:saturate(1.06) contrast(1.02);
  }
  body.miko-rshop-route .rstore-v3 .rstore-mix-row,
  body.miko-rshop-route .rstore-v3 .rstore-nft-row{
    transition:transform .2s ease,background .2s ease,border-color .2s ease;
  }
  body.miko-rshop-route .rstore-v3 .rstore-mix-row:hover,
  body.miko-rshop-route .rstore-v3 .rstore-nft-row:hover{
    transform:translateX(3px);
    background:rgba(80,181,255,.055);
  }
}

body.miko-rshop-route .rstore-v3 .rstore-detail-action{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease!important;
}
body.miko-rshop-route .rstore-v3 .rstore-detail-action::after{
  content:"";
  position:absolute;
  top:-80%;
  bottom:-80%;
  left:-34%;
  width:22%;
  z-index:-1;
  background:rgba(255,255,255,.24);
  transform:rotate(17deg);
  transition:left .55s ease;
}
body.miko-rshop-route .rstore-v3 .rstore-detail-action:not(:disabled):hover{
  transform:translateY(-2px);
  filter:saturate(1.08);
  box-shadow:0 12px 28px rgba(28,132,255,.28);
}
body.miko-rshop-route .rstore-v3 .rstore-detail-action:not(:disabled):hover::after{left:120%}
body.miko-rshop-route .rstore-v3 .rstore-detail-action:not(:disabled):active{transform:translateY(0) scale(.985)}

@media (min-width:1021px){
  body.miko-rshop-route .rstore-v3 .rstore-detail-panel{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    align-self:start!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    max-height:none!important;
    height:auto!important;
    margin:50px 0 0!important;
    overflow:hidden!important;
    border:1px solid rgba(57,151,255,.13);
    background:
      radial-gradient(circle at 90% 4%,rgba(82,91,255,.10),transparent 34%),
      radial-gradient(circle at 4% 94%,rgba(31,197,255,.08),transparent 30%),
      linear-gradient(180deg,#fff 0%,#f8fbff 100%);
    box-shadow:0 18px 42px rgba(12,43,84,.08);
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-kicker{
    color:#1d76c7;
    border-color:rgba(30,126,210,.15);
    background:linear-gradient(135deg,rgba(43,161,255,.08),rgba(122,91,255,.06));
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-kicker::before{background:#258fe2}
  body.miko-rshop-route .rstore-v3 .rstore-detail-chip{
    border-color:#e3ecf6;
    background:linear-gradient(145deg,#fff,#f5f9fd);
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-chip small{color:#74879e}
  body.miko-rshop-route .rstore-v3 .rstore-detail-chip b{color:#17314f}
  body.miko-rshop-route .rstore-v3 .rstore-detail-progress{
    border-color:#e4edf7;
    background:#f7faff;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-progress>div{color:#657d98}
  body.miko-rshop-route .rstore-v3 .rstore-detail-progress>div b{color:#17314f}
}

@media (max-width:420px){
  body.miko-rshop-route .rstore-v3 .rstore-detail-chips{grid-template-columns:1fr 1fr}
  body.miko-rshop-route .rstore-v3 .rstore-detail-chip:last-child{grid-column:1/-1}
}

@media (prefers-reduced-motion:reduce){
  body.miko-rshop-route .rstore-v3 .rstore-detail-panel::after,
  body.miko-rshop-route .rstore-v3 .rstore-detail>header::after,
  body.miko-rshop-route .rstore-v3 .rstore-detail-kicker::before,
  body.miko-rshop-route .rstore-v3 .rstore-detail-progress>span i,
  body.miko-rshop-route .rstore-v3 .rstore-detail-media::before,
  body.miko-rshop-route .rstore-v3 .rstore-detail.detail-enter{
    animation:none!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-media,
  body.miko-rshop-route .rstore-v3 .rstore-detail-media img,
  body.miko-rshop-route .rstore-v3 .rstore-detail-action,
  body.miko-rshop-route .rstore-v3 .rstore-detail-chip{
    transition:none!important;
  }
}

/* Mobile detail: keep the reward detail in-flow under the selected card, never floating over products. */
@media (max-width:780px){
  body.miko-rshop-route .rstore-v3 .rstore-detail-panel{
    display:none!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:100%!important;
    max-height:none!important;
    min-height:0!important;
    margin:10px 0 4px!important;
    grid-column:1/-1!important;
    overflow:visible!important;
    border-radius:18px!important;
    transform:none!important;
    transition:none!important;
    box-shadow:0 14px 30px rgba(6,35,80,.16)!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-panel.is-open{
    display:block!important;
    transform:none!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-panel::before{
    display:none!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail{
    padding:10px 12px 14px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail>header{
    position:relative!important;
    top:auto!important;
    margin:0 0 9px!important;
    padding:0 0 8px!important;
    background:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-media{
    aspect-ratio:1.35/1!important;
    max-height:340px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-chips{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:520px){
  body.miko-rshop-route .rstore-v3 .rstore-detail-panel{
    margin:8px 0 2px!important;
    border-radius:16px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-media{
    aspect-ratio:1.18/1!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-chips{
    grid-template-columns:1fr 1fr!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-detail-chip:last-child{
    grid-column:1/-1!important;
  }
}

/* Filter sidebar visual refresh */
body.miko-rshop-route .rstore-v3 .rstore-filter-side{
  gap:12px!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-box{
  border:1px solid #dbe8f4!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
  box-shadow:0 10px 26px rgba(16,63,112,.07)!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-box>header{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:58px!important;
  padding:10px 12px!important;
  background:linear-gradient(135deg,#f8fbff,#eef7ff)!important;
  border-bottom:1px solid #e5eef7!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-box>header>span:last-child{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-box>header b{
  color:#15395f!important;
  font-size:11px!important;
  line-height:1.15!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-box>header small{
  margin-top:3px!important;
  color:#7a90a8!important;
  font-size:6.5px!important;
  line-height:1.2!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-head-icon{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:11px!important;
  color:#fff!important;
  background:linear-gradient(145deg,#1aa6ff,#2971e9)!important;
  box-shadow:0 7px 16px rgba(29,126,224,.18)!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-methods .rstore-filter-head-icon{
  background:linear-gradient(145deg,#ffb82c,#ff8d24)!important;
  box-shadow:0 7px 16px rgba(255,149,33,.18)!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-head-icon .rstore-svg{
  width:17px!important;
  height:17px!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-categories>button{
  position:relative!important;
  min-height:44px!important;
  padding:4px 10px!important;
  transition:background .18s ease,transform .18s ease!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-categories>button:hover{
  transform:translateX(2px)!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-label>i{
  width:27px!important;
  height:27px!important;
  flex:0 0 27px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:9px!important;
  background:#eef7ff!important;
  color:#1678d3!important;
  font-style:normal!important;
  transition:transform .18s ease,background .18s ease!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-label>i .rstore-svg{
  width:14px!important;
  height:14px!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-categories>button:hover .rstore-filter-label>i,
body.miko-rshop-route .rstore-v3 .rstore-filter-categories>button.active .rstore-filter-label>i{
  transform:scale(1.08)!important;
  background:#dff0ff!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-count{
  display:grid!important;
  place-items:center!important;
  min-width:27px!important;
  height:22px!important;
  padding:0 7px!important;
  border-radius:999px!important;
  background:#f2f6fa!important;
  color:#607b97!important;
  font-size:7px!important;
  box-shadow:inset 0 0 0 1px #e2eaf2!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-categories>button.active .rstore-filter-count,
body.miko-rshop-route .rstore-v3 .rstore-filter-categories>button:hover .rstore-filter-count{
  background:#fff!important;
  color:#0c76d5!important;
  box-shadow:inset 0 0 0 1px #c9e4ff!important;
}

body.miko-rshop-route .rstore-v3 .rstore-filter-methods>label{
  position:relative!important;
  min-height:43px!important;
  padding:5px 10px!important;
  gap:8px!important;
  border-bottom:1px solid #eef3f8!important;
  transition:background .18s ease,transform .18s ease!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-methods>label:last-child{
  border-bottom:0!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-methods>label:hover{
  background:#f7fbff!important;
  transform:translateX(2px)!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-methods input{
  flex:0 0 16px!important;
  width:16px!important;
  height:16px!important;
  border-radius:5px!important;
}
body.miko-rshop-route .rstore-v3 .rstore-method-icon{
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:9px!important;
  background:linear-gradient(145deg,#fff7dc,#ffedb4)!important;
  color:#c98400!important;
  font-style:normal!important;
}
body.miko-rshop-route .rstore-v3 .rstore-method-icon .rstore-svg{
  width:14px!important;
  height:14px!important;
}
body.miko-rshop-route .rstore-v3 .rstore-filter-methods>label>span{
  min-width:0!important;
  color:#526b84!important;
  font-size:8px!important;
  font-weight:850!important;
  line-height:1.25!important;
}

body.miko-rshop-route .rstore-v3 .rstore-guide{
  min-height:158px!important;
  border:1px solid rgba(77,150,255,.24)!important;
  border-radius:17px!important;
  background:
    radial-gradient(circle at 84% 22%,rgba(91,205,255,.38),transparent 24%),
    radial-gradient(circle at 15% 92%,rgba(91,79,255,.24),transparent 28%),
    linear-gradient(145deg,#114d9a,#172f78)!important;
  box-shadow:0 14px 30px rgba(14,57,122,.18)!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
body.miko-rshop-route .rstore-v3 .rstore-guide:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 18px 38px rgba(14,57,122,.24)!important;
}
body.miko-rshop-route .rstore-v3 .rstore-guide>small{
  position:relative!important;
  z-index:2!important;
  margin-bottom:5px!important;
  color:#8fd7ff!important;
  font-size:6.5px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
body.miko-rshop-route .rstore-v3 .rstore-guide b{
  position:relative!important;
  z-index:2!important;
  color:#fff!important;
  text-shadow:0 2px 8px rgba(0,0,0,.18)!important;
}
body.miko-rshop-route .rstore-v3 .rstore-guide>span:last-child{
  position:relative!important;
  z-index:2!important;
  align-items:center!important;
  gap:5px!important;
}
body.miko-rshop-route .rstore-v3 .rstore-guide>span:last-child .rstore-svg{
  width:11px!important;
  height:11px!important;
}
body.miko-rshop-route .rstore-v3 .rstore-guide-orb{
  position:absolute!important;
  z-index:0!important;
  display:block!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.07)!important;
  pointer-events:none!important;
}
body.miko-rshop-route .rstore-v3 .rstore-guide-orb.orb-one{
  width:72px!important;
  height:72px!important;
  right:-22px!important;
  bottom:-18px!important;
}
body.miko-rshop-route .rstore-v3 .rstore-guide-orb.orb-two{
  width:34px!important;
  height:34px!important;
  left:18px!important;
  top:20px!important;
  background:rgba(111,214,255,.10)!important;
}
body.miko-rshop-route .rstore-v3 .rstore-guide .guide-mark{
  z-index:2!important;
  animation:rstoreGuideFloat 3.2s ease-in-out infinite!important;
}
@keyframes rstoreGuideFloat{
  0%,100%{transform:rotate(10deg) translateY(0)}
  50%{transform:rotate(5deg) translateY(-5px)}
}
@media(prefers-reduced-motion:reduce){
  body.miko-rshop-route .rstore-v3 .rstore-guide .guide-mark{animation:none!important}
}

/* Search button clarity — CSS-drawn magnifier avoids missing/warped SVG icons. */
body.miko-rshop-route .rstore-v3 .rstore-search-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:auto!important;
  min-width:82px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 12px!important;
  border:1px solid #cfe0ef!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,#ffffff,#f4f9ff)!important;
  color:#174d7d!important;
  box-shadow:0 5px 14px rgba(20,75,126,.08)!important;
  cursor:pointer!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}
body.miko-rshop-route .rstore-v3 .rstore-search-toggle:hover{
  transform:translateY(-1px)!important;
  border-color:#9dcaee!important;
  background:linear-gradient(145deg,#f2f9ff,#ffffff)!important;
  color:#0b70c7!important;
  box-shadow:0 8px 18px rgba(20,97,165,.13)!important;
}
body.miko-rshop-route .rstore-v3 .rstore-search-icon{
  position:relative!important;
  display:block!important;
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
}
body.miko-rshop-route .rstore-v3 .rstore-search-icon::before{
  content:""!important;
  position:absolute!important;
  left:1px!important;
  top:1px!important;
  width:11px!important;
  height:11px!important;
  border:2.2px solid currentColor!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
}
body.miko-rshop-route .rstore-v3 .rstore-search-icon::after{
  content:""!important;
  position:absolute!important;
  width:7px!important;
  height:2.2px!important;
  right:0!important;
  bottom:2px!important;
  border-radius:999px!important;
  background:currentColor!important;
  transform:rotate(45deg)!important;
  transform-origin:center!important;
}
body.miko-rshop-route .rstore-v3 .rstore-search-label{
  display:inline-block!important;
  color:inherit!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
body.miko-rshop-route .rstore-v3 .rstore-search-toggle:focus-visible{
  outline:2px solid #57b2f4!important;
  outline-offset:2px!important;
}

@media (max-width:1180px) and (min-width:781px){
  body.miko-rshop-route .rstore-v3 .rstore-search-toggle{
    min-width:42px!important;
    width:42px!important;
    padding:0!important;
    border-radius:12px!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-search-label{display:none!important}
}

/* Header menu clarity — tablet/mobile use one obvious menu button + labeled popover. */
body.miko-rshop-route .rstore-v3 .rstore-menu-label{
  display:none;
}
@media (max-width:1020px){
  body.miko-rshop-route .rstore-v3 .rstore-mainnav{
    display:none!important;
    position:absolute!important;
    top:calc(100% + 8px)!important;
    right:14px!important;
    left:auto!important;
    width:min(420px,calc(100vw - 28px))!important;
    padding:10px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    overflow:visible!important;
    border:1px solid #d9e7f4!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 18px 44px rgba(10,44,88,.18)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    z-index:2600!important;
  }
  body.miko-rshop-route .rstore-v3.menu-open .rstore-mainnav{
    display:grid!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-mainnav a{
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    padding:0 11px!important;
    justify-content:flex-start!important;
    gap:9px!important;
    border:1px solid #edf2f7!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#294764!important;
    font-size:10px!important;
    box-shadow:0 4px 10px rgba(18,65,112,.04)!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-mainnav a span{
    display:inline!important;
    color:inherit!important;
    font-size:10px!important;
    font-weight:900!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-mainnav a .rstore-svg{
    display:block!important;
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    flex:0 0 19px!important;
    color:#2478c9!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    opacity:1!important;
    overflow:visible!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-mainnav a.active{
    border-color:transparent!important;
    background:linear-gradient(145deg,#249ef4,#1676dc)!important;
    color:#fff!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-mainnav a.active .rstore-svg{
    color:#fff!important;
  }

  body.miko-rshop-route .rstore-v3 .rstore-actions button.rstore-menu-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    width:auto!important;
    min-width:72px!important;
    max-width:none!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    padding:0 10px!important;
    border:1px solid #bcd8f3!important;
    border-radius:12px!important;
    background:linear-gradient(145deg,#eef7ff,#ffffff)!important;
    color:#135f9f!important;
    box-shadow:0 6px 15px rgba(15,86,151,.10)!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-actions button.rstore-menu-toggle:hover,
  body.miko-rshop-route .rstore-v3.menu-open .rstore-actions button.rstore-menu-toggle{
    border-color:#91c8f3!important;
    background:linear-gradient(145deg,#e1f2ff,#f7fbff)!important;
    color:#0872cc!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-menu-bars{
    display:flex!important;
    width:22px!important;
    height:16px!important;
    min-width:22px!important;
    flex:0 0 22px!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    align-items:stretch!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-menu-bars i{
    display:block!important;
    width:100%!important;
    height:2.5px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:#135f9f!important;
    box-shadow:none!important;
    opacity:1!important;
    transform:none!important;
  }
  body.miko-rshop-route .rstore-v3.menu-open .rstore-menu-bars i,
  body.miko-rshop-route .rstore-v3 .rstore-menu-toggle:hover .rstore-menu-bars i{
    background:#0872cc!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-menu-label{
    display:inline!important;
    color:inherit!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:950!important;
    white-space:nowrap!important;
  }
}

@media (max-width:430px){
  body.miko-rshop-route .rstore-v3 .rstore-actions button.rstore-menu-toggle{
    width:42px!important;
    min-width:42px!important;
    padding:0!important;
    border-radius:50%!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-menu-label{
    display:none!important;
  }
  body.miko-rshop-route .rstore-v3 .rstore-mainnav{
    right:8px!important;
    width:calc(100vw - 16px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Clean close button for reward detail — CSS-drawn X avoids font/glyph distortion. */
body.miko-rshop-route .rstore-v3 .rstore-detail>header button{
  position:relative!important;
  display:block!important;
  flex:0 0 36px!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.06))!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 5px 13px rgba(0,19,54,.14)!important;
  cursor:pointer!important;
  overflow:hidden!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
body.miko-rshop-route .rstore-v3 .rstore-detail>header button::before,
body.miko-rshop-route .rstore-v3 .rstore-detail>header button::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:14px!important;
  height:2px!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 0 7px rgba(255,255,255,.18)!important;
  transform-origin:center!important;
  pointer-events:none!important;
}
body.miko-rshop-route .rstore-v3 .rstore-detail>header button::before{
  transform:translate(-50%,-50%) rotate(45deg)!important;
}
body.miko-rshop-route .rstore-v3 .rstore-detail>header button::after{
  transform:translate(-50%,-50%) rotate(-45deg)!important;
}
body.miko-rshop-route .rstore-v3 .rstore-detail>header button:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(116,205,255,.38)!important;
  background:linear-gradient(145deg,rgba(45,151,242,.30),rgba(255,255,255,.10))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 7px 16px rgba(0,27,68,.18)!important;
}
body.miko-rshop-route .rstore-v3 .rstore-detail>header button:active{
  transform:scale(.94)!important;
}
body.miko-rshop-route .rstore-v3 .rstore-detail>header button:focus-visible{
  outline:2px solid #76d7ff!important;
  outline-offset:2px!important;
}
