/* Elite Store — central media/overflow safety layer.
   Loaded last so uploaded media can never enlarge its card or the viewport. */
html,body{width:100%;max-width:100%;overflow-x:clip}
body,main,section,article,aside,header,footer,nav,div,form,fieldset,table{min-width:0}
img,svg,video,canvas,iframe{max-width:100%}
img,video{display:block;height:auto}
figure{max-width:100%;margin-inline:0;overflow:hidden}

/* Uploaded catalogue media is photographic and fills its intentional crop. */
[data-catalog-image],.prod-img img,.home-category-image img,
.slider-frame img,.slide img{width:100%;height:100%;object-fit:cover;object-position:center;max-inline-size:100%}
.prod-img,.home-category-image,.slider-frame,.slider-viewport,.slide{max-width:100%;min-width:0;overflow:hidden}
.slider-track{max-width:none;min-width:0}
.slide,.slide>a{min-width:100%;max-width:100%;overflow:hidden}
.slide>a{display:block;height:100%}

/* Logos and machine-readable codes must be fully visible, never cropped. */
.es-method-media img,.invoice-pay__qr img,img[alt="QR"],img[alt*="رمز"],
img[src*="qr" i]{object-fit:contain;max-width:100%;height:auto}

/* Admin/user uploaded previews stay within their cards, including legacy inline sizes. */
.adm-main img,.container img{max-inline-size:100%}
.adm-main a:has(>img),.container a:has(>img){max-width:100%;min-width:0;overflow:hidden}

/* Luna credit: intentionally no card, frame, background, crop, or shadow. */
.drawer-credit.drawer-luna{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:100%;max-width:100%;gap:.38rem;margin-top:auto;padding:.7rem .25rem .45rem;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;overflow:hidden;text-align:center
}
.drawer-luna-logo{
  display:block;width:auto!important;height:auto!important;max-width:min(7.5rem,58%)!important;
  max-height:4.5rem;object-fit:contain!important;object-position:center;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important
}
.drawer-luna span{max-width:100%;font-size:.72rem;line-height:1.5;overflow-wrap:anywhere}

/* Stable, clipped and seamless RTL announcement ticker. */
.announcement-bar{
  display:flex;align-items:center;gap:.65rem;width:100%;max-width:100%;min-height:2.75rem;
  padding:.42rem .65rem;overflow:hidden;white-space:nowrap;contain:layout paint
}
.announcement-icon{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:.65rem}
.announcement-icon svg{width:17px;height:17px}
.announcement-window{position:relative;flex:1 1 auto;min-width:0;overflow:hidden;direction:ltr;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.announcement-track{
  display:flex!important;align-items:center;width:max-content!important;min-width:0!important;
  direction:ltr;animation:announcement-flow var(--announcement-duration,24s) linear infinite!important;
  will-change:transform;transform:translate3d(0,0,0);backface-visibility:hidden
}
.announcement-track span{
  flex:0 0 auto!important;min-width:max(100%,20rem)!important;max-width:none;
  padding:.25rem 2.5rem!important;direction:rtl;text-align:center;line-height:1.65
}
@keyframes announcement-flow{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (hover:hover){.announcement-bar:hover .announcement-track{animation-play-state:paused!important}}
@media (prefers-reduced-motion:reduce){
  .announcement-window{-webkit-mask-image:none;mask-image:none;overflow:auto;scrollbar-width:none}
  .announcement-track{width:100%!important;animation:none!important;transform:none!important}
  .announcement-track span{min-width:100%!important;padding-inline:.5rem!important;white-space:normal}
  .announcement-track span[aria-hidden="true"]{display:none}
}
@media (max-width:480px){
  .announcement-bar{min-height:2.6rem;gap:.45rem;padding:.35rem .5rem;font-size:.72rem}
  .announcement-icon{width:1.8rem;height:1.8rem;flex-basis:1.8rem}
  .announcement-track span{padding-inline:1.5rem!important}
  .drawer-luna-logo{max-width:min(6.5rem,52%)!important;max-height:4rem}
}
