
/* RIC360 Retail Advanced Responsive & Mobile Commerce v2.13 */
:root{
  --ric360-mobile-edge:max(1rem,env(safe-area-inset-left));
  --ric360-mobile-bottom:max(.75rem,env(safe-area-inset-bottom));
}

[data-ric360-responsive-grid]{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:clamp(.75rem,2vw,1.5rem);
}

[data-ric360-mobile-action-bar]{
  display:flex;
  align-items:center;
  gap:.75rem;
}

[data-ric360-touch-control]{
  min-width:44px;
  min-height:44px;
}

[data-ric360-primary-mobile-action]{
  min-height:48px;
}

[data-ric360-horizontal-rail]{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(220px,80vw);
  gap:1rem;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:inline proximity;
  scrollbar-width:thin;
}

[data-ric360-horizontal-rail] > *{
  scroll-snap-align:start;
}

[data-ric360-mobile-summary]{
  display:grid;
  gap:.625rem;
}

@media(max-width:768px){
  body{
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
  }

  [data-ric360-mobile-action-bar]{
    position:sticky;
    bottom:0;
    z-index:40;
    padding:.75rem var(--ric360-mobile-edge) var(--ric360-mobile-bottom);
    backdrop-filter:blur(14px);
  }

  [data-ric360-mobile-action-bar] > *{
    flex:1 1 auto;
  }

  [data-ric360-responsive-grid]{
    grid-template-columns:1fr;
  }

  [data-ric360-mobile-filter-panel]{
    max-height:min(82vh,720px);
    overflow:auto;
    overscroll-behavior:contain;
  }

  [data-ric360-mobile-summary][data-collapsible="true"]{
    gap:.5rem;
  }
}

@media(min-width:769px) and (max-width:1100px){
  [data-ric360-responsive-grid]{
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  }
}

@media(pointer:coarse){
  :where(button,[role="button"],input,select,textarea,a[data-action]){
    min-height:44px;
  }
}

@media(orientation:landscape) and (max-height:600px){
  [data-ric360-mobile-action-bar]{
    position:relative;
  }
}
