
:root{
  --gocce-ease:cubic-bezier(.16,1,.3,1);
}

/* =======================
   TOP SCROLL PROGRESS
   ======================= */
#gocce-exp-progress{
  position:fixed;
  left:0;
  top:0;
  z-index:2147483000;
  width:100%;
  height:3px;
  pointer-events:none;
}

#gocce-exp-progress span{
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg,#191613,#8d5b3d,#c99067);
  box-shadow:0 0 8px rgba(141,91,61,.25);
  transition:width .08s linear;
}

/* =======================
   SCROLL REVEAL
   ======================= */
.gocce-exp-reveal{
  opacity:0;
  transform:translate3d(0,34px,0);
  transition:
    opacity .70s ease,
    transform .82s var(--gocce-ease);
  will-change:opacity,transform;
}

.gocce-exp-reveal.gocce-exp-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}

/* =======================
   PRODUCT CARDS
   ======================= */
.woocommerce ul.products li.product,
.wc-block-grid__product{
  transition:
    transform .45s var(--gocce-ease),
    filter .35s ease!important;
  transform-origin:center center;
}

@media (hover:hover) and (pointer:fine){
  .woocommerce ul.products li.product:hover,
  .wc-block-grid__product:hover{
    transform:translate3d(0,-10px,0);
  }

  .woocommerce ul.products li.product img,
  .wc-block-grid__product img{
    transition:
      transform .55s var(--gocce-ease),
      filter .40s ease!important;
  }

  .woocommerce ul.products li.product:hover img,
  .wc-block-grid__product:hover img{
    transform:scale(1.055);
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .price,
  .wc-block-grid__product-title,
  .wc-block-grid__product-price{
    transition:
      transform .42s var(--gocce-ease),
      letter-spacing .38s ease!important;
  }

  .woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
  .woocommerce ul.products li.product:hover .price,
  .wc-block-grid__product:hover .wc-block-grid__product-title,
  .wc-block-grid__product:hover .wc-block-grid__product-price{
    transform:translateY(-4px);
  }
}

/* =======================
   COLLECTION / CATEGORY CARDS
   ======================= */
.gocce-exp-collection-card{
  transition:
    transform .50s var(--gocce-ease),
    box-shadow .45s ease!important;
  transform-origin:center center;
}

@media (hover:hover) and (pointer:fine){
  .gocce-exp-collection-card:hover{
    transform:translate3d(0,-12px,0) scale(1.012);
    box-shadow:0 24px 60px rgba(36,25,18,.10)!important;
  }

  .gocce-exp-collection-card img{
    transition:transform .65s var(--gocce-ease)!important;
  }

  .gocce-exp-collection-card:hover img{
    transform:scale(1.045);
  }
}

/* =======================
   BUTTONS
   ======================= */
.gocce-exp-button{
  position:relative!important;
  overflow:hidden!important;
  transition:
    transform .26s var(--gocce-ease),
    box-shadow .28s ease!important;
}

.gocce-exp-button::after{
  content:"";
  position:absolute;
  top:-80%;
  left:-45%;
  width:38%;
  height:260%;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.32),
    transparent
  );
  transform:rotate(16deg) translateX(-220%);
  transition:transform .58s var(--gocce-ease);
  pointer-events:none;
}

@media (hover:hover) and (pointer:fine){
  .gocce-exp-button:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(20,15,12,.12);
  }

  .gocce-exp-button:hover::after{
    transform:rotate(16deg) translateX(520%);
  }
}

/* =======================
   CURSOR GLOW - DESKTOP ONLY
   ======================= */
#gocce-exp-cursor-glow{
  position:fixed;
  z-index:1;
  width:240px;
  height:240px;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-50%,-50%,0);
  background:
    radial-gradient(
      circle,
      rgba(171,111,74,.095) 0%,
      rgba(171,111,74,.050) 34%,
      rgba(171,111,74,0) 70%
    );
  transition:opacity .24s ease;
  will-change:left,top;
}

body.gocce-exp-cursor-active #gocce-exp-cursor-glow{
  opacity:1;
}

/* =======================
   ADD TO CART TOAST
   ======================= */
#gocce-exp-toast{
  position:fixed;
  right:22px;
  bottom:24px;
  z-index:2147483200;
  display:flex;
  align-items:center;
  gap:11px;
  min-width:240px;
  max-width:calc(100vw - 30px);
  padding:13px 15px;
  border-radius:15px;
  background:#171411;
  color:#fff;
  box-shadow:0 20px 50px rgba(0,0,0,.20);
  opacity:0;
  pointer-events:none;
  transform:translate3d(0,25px,0) scale(.97);
  transition:
    opacity .28s ease,
    transform .42s var(--gocce-ease);
}

#gocce-exp-toast.gocce-exp-toast-show{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

.gocce-exp-toast-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  background:#a46b48;
  color:#fff;
  font-weight:900;
}

.gocce-exp-toast-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.gocce-exp-toast-copy small{
  color:rgba(255,255,255,.52);
  font-size:7px;
  letter-spacing:.15em;
  font-weight:850;
}

.gocce-exp-toast-copy strong{
  font-size:12px;
  font-weight:800;
}

/* =======================
   MOBILE
   ======================= */
@media(max-width:767px){
  #gocce-exp-cursor-glow{
    display:none!important;
  }

  #gocce-exp-progress{
    height:2px;
  }

  .gocce-exp-reveal{
    transform:translate3d(0,22px,0);
    transition-duration:.58s;
  }

  .woocommerce ul.products li.product,
  .wc-block-grid__product,
  .gocce-exp-collection-card{
    transform:none!important;
  }

  #gocce-exp-toast{
    left:12px;
    right:12px;
    bottom:88px;
    min-width:0;
    width:auto;
  }
}

@media(prefers-reduced-motion:reduce){
  .gocce-exp-reveal,
  .woocommerce ul.products li.product,
  .wc-block-grid__product,
  .gocce-exp-collection-card,
  .gocce-exp-button,
  #gocce-exp-toast{
    transition:none!important;
    transform:none!important;
  }
}
