/*
 * ECT Shopfront Studio — product-page customer cakes only.
 * Intentionally tiny: keeps the full Shopfront Studio stylesheet off
 * WooCommerce single-product pages while preserving this optional strip.
 */
.ectsf-customer-cakes,
.ectsf-customer-cakes *{box-sizing:border-box}
.ectsf-customer-cakes{
  --ectsf-pink-deep:#68417b;
  --ectsf-muted:#6f6571;
  --ectsf-line:#eadfe6;
  overflow:hidden;
  padding:45px 0 40px;
  background:linear-gradient(180deg,#fff 0%,#fff9fc 100%);
}
.ectsf-customer-cakes--product{
  width:100vw;
  max-width:none;
  margin:55px 0 0 calc(50% - 50vw);
  padding:38px 0 34px;
  border-top:1px solid var(--ectsf-line);
}
.ectsf-customer-cakes>header{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto 22px;
  text-align:center;
}
.ectsf-customer-cakes .ectsf-kicker{
  display:block;
  color:var(--ectsf-pink-deep);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  line-height:1.2;
  text-transform:uppercase;
}
.ectsf-customer-cakes h2{
  margin:6px 0;
  font-size:clamp(28px,3vw,42px);
}
.ectsf-customer-cakes header p{
  margin:0;
  color:var(--ectsf-muted);
  font-size:14px;
}
.ectsf-cakes-window{overflow:hidden}
.ectsf-cakes-track{
  display:flex;
  width:max-content;
  gap:12px;
  animation:ectsf-cakes-loop var(--ectsf-cakes-speed,34s) linear infinite;
  will-change:transform;
}
.ectsf-cakes-window:hover .ectsf-cakes-track,
.ectsf-cakes-window:focus-within .ectsf-cakes-track{animation-play-state:paused}
.ectsf-cakes-copy{display:flex;gap:12px}
.ectsf-cake-card{
  position:relative;
  display:block;
  flex:0 0 clamp(145px,14vw,220px);
  overflow:hidden;
  aspect-ratio:1/1;
  border-radius:18px;
  background:#f3edf1;
  box-shadow:0 8px 24px rgba(72,38,59,.08);
  color:#fff;
}
.ectsf-cake-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
}
.ectsf-cake-card:hover img{transform:scale(1.035)}
.ectsf-cake-card small{
  position:absolute;
  right:8px;
  bottom:8px;
  left:8px;
  padding:7px 9px;
  border-radius:9px;
  background:rgba(44,29,39,.7);
  font-size:9px;
  font-weight:700;
  line-height:1.25;
}
@keyframes ectsf-cakes-loop{to{transform:translateX(calc(-50% - 6px))}}
@media(max-width:768px){
  .ectsf-customer-cakes{padding:34px 0 31px}
  .ectsf-customer-cakes>header{width:calc(100% - 28px);margin-bottom:17px}
  .ectsf-customer-cakes h2{font-size:29px}
  .ectsf-customer-cakes header p{font-size:12px}
  .ectsf-cakes-track,.ectsf-cakes-copy{gap:8px}
  .ectsf-cake-card{flex-basis:132px;border-radius:14px}
}
@media(prefers-reduced-motion:reduce){
  .ectsf-cakes-window{overflow-x:auto}
  .ectsf-cakes-track{animation:none!important}
  .ectsf-cakes-copy{display:none}
}
