
/* =========================================================
   ROSITAFOOD V110 — CINEMATIC COMMERCE POLISH
   Additive only. Structure and commerce flow stay unchanged.
   ========================================================= */

:root{
  --v110-glow-x:50%;
  --v110-glow-y:20%;
  --v110-rx:0deg;
  --v110-ry:0deg;
}

/* Ambient page light */
body.rosita-commerce-page{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at var(--v110-glow-x) var(--v110-glow-y),
      rgba(255,214,128,.13), transparent 28%),
    radial-gradient(circle at 88% 8%,rgba(214,35,66,.09),transparent 24%),
    linear-gradient(180deg,#fffaf2 0%,#fbf6ee 46%,#f8f1e6 100%);
}

body.rosita-commerce-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.55;
  background:
    linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.38) 48%,transparent 58%),
    radial-gradient(circle at 18% 18%,rgba(255,240,204,.12),transparent 30%);
  transform:translate3d(0,0,0);
}

/* Promo strip */
.rosita-promo-v108{
  position:relative;
  overflow:hidden;
  box-shadow:
    0 10px 28px rgba(98,10,28,.12),
    inset 0 1px rgba(255,255,255,.16);
}
.rosita-promo-v108::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    105deg,
    transparent 0 32%,
    rgba(255,255,255,.16) 45%,
    transparent 58%
  );
  transform:translateX(-120%);
  animation:v110PromoSheen 8s ease-in-out infinite;
}
@keyframes v110PromoSheen{
  0%,58%{transform:translateX(-120%)}
  78%,100%{transform:translateX(120%)}
}

/* Intro */
.rosita-commerce-intro{
  position:relative;
}
.rosita-commerce-intro h1{
  text-shadow:0 12px 32px rgba(84,48,28,.08);
}
.rosita-commerce-kicker{
  position:relative;
}
.rosita-commerce-kicker::before{
  content:"";
  display:inline-block;
  width:22px;
  height:1px;
  margin:0 9px 3px 0;
  vertical-align:middle;
  background:linear-gradient(90deg,#d31c3a,#f1ba55);
}
.rosita-commerce-live{
  box-shadow:
    0 10px 26px rgba(38,105,57,.08),
    inset 0 1px rgba(255,255,255,.85);
}
.rosita-commerce-live i{
  animation:v110LivePulse 2.4s ease-in-out infinite;
}
@keyframes v110LivePulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 5px rgba(54,167,85,.11)}
  50%{transform:scale(1.12);box-shadow:0 0 0 8px rgba(54,167,85,.06)}
}

/* Department navigation */
.rosita-commerce-departments{
  position:relative;
  overflow:hidden;
  box-shadow:
    0 18px 42px rgba(57,31,17,.09),
    inset 0 1px rgba(255,255,255,.95);
}
.rosita-commerce-departments::before{
  content:"";
  position:absolute;
  inset:-60% -20%;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 44%,rgba(255,228,173,.16) 50%,transparent 56%);
  transform:translateX(-60%);
  animation:v110NavLight 11s linear infinite;
}
@keyframes v110NavLight{
  from{transform:translateX(-60%)}
  to{transform:translateX(60%)}
}
.rosita-commerce-departments button{
  position:relative;
  z-index:1;
  transform:translateZ(0);
  transition:
    transform .22s cubic-bezier(.2,.7,.2,1),
    box-shadow .22s ease,
    background .22s ease,
    border-color .22s ease;
}
.rosita-commerce-departments button:hover{
  transform:translateY(-3px) scale(1.018);
  box-shadow:0 12px 26px rgba(105,55,28,.10);
}
.rosita-commerce-departments button.is-active{
  box-shadow:
    0 13px 30px rgba(177,22,49,.26),
    inset 0 1px rgba(255,255,255,.18);
}
.rosita-commerce-departments button.is-active::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:6px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#ffd67e,transparent);
  opacity:.9;
}

/* Catalog frame */
.rosita-commerce-catalog-frame{
  position:relative;
  overflow:hidden;
  transform:
    perspective(1500px)
    rotateX(var(--v110-rx))
    rotateY(var(--v110-ry));
  transform-origin:center;
  transition:transform .18s ease-out;
  box-shadow:
    0 26px 70px rgba(57,31,17,.11),
    inset 0 1px rgba(255,255,255,.92);
}
.rosita-commerce-catalog-frame::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at var(--v110-glow-x) var(--v110-glow-y),
      rgba(255,216,142,.13),transparent 26%);
}
.rosita-commerce-catalog-frame > *{
  position:relative;
  z-index:1;
}

/* Product cards */
.rosita-commerce-page .rosita-catalog-card{
  position:relative;
  overflow:hidden;
  transform:translateZ(0);
  transition:
    transform .23s cubic-bezier(.2,.7,.2,1),
    box-shadow .23s ease,
    border-color .23s ease;
}
.rosita-commerce-page .rosita-catalog-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:0;
  background:
    linear-gradient(118deg,transparent 0 42%,rgba(255,255,255,.30) 50%,transparent 58%);
  transform:translateX(-70%);
  transition:opacity .22s ease, transform .48s ease;
}
.rosita-commerce-page .rosita-catalog-card:hover{
  transform:translateY(-7px) scale(1.012);
  border-color:rgba(181,23,49,.13);
  box-shadow:
    0 25px 52px rgba(62,34,18,.15),
    0 4px 14px rgba(181,23,49,.04);
}
.rosita-commerce-page .rosita-catalog-card:hover::before{
  opacity:1;
  transform:translateX(70%);
}
.rosita-commerce-page .rosita-catalog-card-media{
  position:relative;
}
.rosita-commerce-page .rosita-catalog-card-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 55%,rgba(69,31,14,.05));
}
.rosita-commerce-page .rosita-catalog-card-image{
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
.rosita-commerce-page .rosita-catalog-card:hover .rosita-catalog-card-image{
  transform:scale(1.045);
  filter:saturate(1.06) contrast(1.02);
}
.rosita-commerce-page .rosita-catalog-card-placeholder span{
  transition:transform .28s ease,box-shadow .28s ease;
}
.rosita-commerce-page .rosita-catalog-card:hover .rosita-catalog-card-placeholder span{
  transform:scale(1.08) rotate(-2deg);
  box-shadow:0 16px 34px rgba(89,53,30,.14);
}

/* Price / status */
.rosita-commerce-page .rosita-catalog-card-bottom strong{
  text-shadow:0 7px 18px rgba(175,23,49,.08);
}
.rosita-commerce-page .rosita-catalog-status.is-available{
  box-shadow:inset 0 1px rgba(255,255,255,.8);
}

/* Add to cart buttons */
.rosita-commerce-page .rosita-catalog-add{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  box-shadow:0 10px 24px rgba(174,20,47,.15);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.rosita-commerce-page .rosita-catalog-add::after{
  content:"";
  position:absolute;
  inset:-40% -60%;
  z-index:-1;
  background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.30) 50%,transparent 60%);
  transform:translateX(-60%);
  transition:transform .45s ease;
}
.rosita-commerce-page .rosita-catalog-add:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(174,20,47,.23);
}
.rosita-commerce-page .rosita-catalog-add:hover::after{
  transform:translateX(60%);
}

/* Search */
.rosita-commerce-page .rosita-catalog-search input{
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.rosita-commerce-page .rosita-catalog-search input:focus{
  background:#fffefb;
  box-shadow:
    0 0 0 4px rgba(185,31,51,.08),
    0 12px 26px rgba(70,40,22,.06);
}

/* Floating cart */
.rosita-commerce-cart-v108{
  border:1px solid rgba(255,255,255,.07);
  box-shadow:
    0 22px 60px rgba(0,0,0,.30),
    inset 0 1px rgba(255,255,255,.07);
  animation:v110CartFloat 4.6s ease-in-out infinite;
}
@keyframes v110CartFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
.rosita-commerce-cart-v108 button{
  position:relative;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(184,23,50,.24);
}

/* Drawer */
.rosita-cart-panel-v108{
  animation:v110DrawerIn .28s cubic-bezier(.2,.75,.2,1);
}
@keyframes v110DrawerIn{
  from{transform:translateX(28px);opacity:.88}
  to{transform:translateX(0);opacity:1}
}

/* Footer cinematic separator */
body.rosita-commerce-page footer{
  position:relative;
}
body.rosita-commerce-page footer::before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(190,129,59,.35),transparent);
}

/* Pointer capable desktops only */
@media(pointer:fine) and (min-width:901px){
  body.rosita-commerce-page{
    cursor:default;
  }
}

/* Keep mobile efficient and calm */
@media(max-width:680px){
  body.rosita-commerce-page{
    background:
      radial-gradient(circle at 80% 0%,rgba(213,37,66,.055),transparent 22%),
      var(--rc-cream);
  }
  body.rosita-commerce-page::before{
    display:none;
  }
  .rosita-commerce-catalog-frame{
    transform:none!important;
  }
  .rosita-commerce-page .rosita-catalog-card:hover{
    transform:none;
  }
  .rosita-commerce-cart-v108{
    animation:none;
  }
  .rosita-promo-v108::after{
    display:none;
  }
}

/* Respect accessibility */
@media(prefers-reduced-motion:reduce){
  .rosita-promo-track-v108,
  .rosita-promo-v108::after,
  .rosita-commerce-live i,
  .rosita-commerce-departments::before,
  .rosita-commerce-cart-v108{
    animation:none!important;
  }
  .rosita-commerce-catalog-frame{
    transform:none!important;
  }
  .rosita-commerce-page .rosita-catalog-card,
  .rosita-commerce-page .rosita-catalog-card-image,
  .rosita-commerce-page .rosita-catalog-add{
    transition:none!important;
  }
}
