/* RIC360 Retail Premium UI/UX Layer — generated for master homologation */
:root{
  --ric360-ux-radius-sm:10px;
  --ric360-ux-radius-md:16px;
  --ric360-ux-radius-lg:24px;
  --ric360-ux-space-1:.375rem;
  --ric360-ux-space-2:.625rem;
  --ric360-ux-space-3:1rem;
  --ric360-ux-space-4:1.5rem;
  --ric360-ux-space-5:2rem;
  --ric360-ux-shadow-sm:0 8px 24px rgba(15,23,42,.06);
  --ric360-ux-shadow-md:0 18px 54px rgba(15,23,42,.10);
  --ric360-ux-focus:0 0 0 3px rgba(37,99,235,.28);
  --ric360-ux-ease:cubic-bezier(.2,.8,.2,1);
}
html{scroll-behavior:smooth;text-size-adjust:100%}
body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  font-synthesis:none;
}
button,input,select,textarea{font:inherit}
button,[role="button"],a,input,select,textarea{touch-action:manipulation}
button,[role="button"],a{transition:transform .18s var(--ric360-ux-ease),box-shadow .18s var(--ric360-ux-ease),opacity .18s var(--ric360-ux-ease)}
button:not(:disabled),[role="button"]:not([aria-disabled="true"]){cursor:pointer}
button:disabled,[aria-disabled="true"]{cursor:not-allowed;opacity:.58}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid currentColor;
  outline-offset:3px;
  box-shadow:var(--ric360-ux-focus);
}
:where(.card,[class*="card"],[class*="Card"]){
  border-radius:max(var(--ric360-ux-radius-md),inherit);
}
:where(.modal,[class*="modal"],[class*="Modal"],.drawer,[class*="drawer"]){
  overscroll-behavior:contain;
}
:where(input,select,textarea){
  min-height:44px;
  border-radius:var(--ric360-ux-radius-sm);
}
:where(button,[role="button"]){min-height:44px}
:where(img,video,svg){max-width:100%}
:where(img){height:auto}
[data-ric360-surface="premium"]{
  border-radius:var(--ric360-ux-radius-lg);
  box-shadow:var(--ric360-ux-shadow-sm);
}
[data-ric360-interactive="true"]:hover{
  transform:translateY(-1px);
  box-shadow:var(--ric360-ux-shadow-md);
}
[data-ric360-state="loading"]{cursor:progress}
[data-ric360-state="error"]{scroll-margin-top:1rem}
[data-ric360-live]{min-height:1em}
@media (max-width:768px){
  :where(.container,[class*="container"],[class*="Container"]){
    padding-inline:max(1rem,env(safe-area-inset-left));
  }
  :where(button,[role="button"]){min-height:46px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}
@media (prefers-contrast:more){
  :where(a,button,input,select,textarea,[tabindex]):focus-visible{
    outline-width:3px;
    box-shadow:none;
  }
}
