/* Fourth window: freezer reviews. This module owns the complete section styling. */
.freezer-reviews,
.freezer-reviews * {
  box-sizing: border-box;
}

.freezer-reviews {
  position: relative;
  isolation: isolate;
  background: #090105;
}

.freezer-reviews__stage {
  min-height: 100svh;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.freezer-reviews__artboard {
  position: relative;
  isolation: isolate;
  width: min(100%, 1920px);
  aspect-ratio: 1788 / 880;
  overflow: hidden;
  container-type: inline-size;
  background: #070104;
}

.freezer-reviews__backdrop,
.freezer-reviews__machine,
.freezer-reviews__freezer,
.freezer-reviews__headline,
.freezer-reviews__controls {
  position: absolute;
}

.freezer-reviews__backdrop {
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(ellipse at 57% 30%, rgba(92, 5, 41, 0.32), transparent 38%),
    linear-gradient(180deg, #0c0207 0%, #17030b 54%, #070104 100%);
}

/* No artificial frost/smoke above or below the freezer. */
.freezer-reviews__mist,
.freezer-reviews__frost,
.freezer-reviews__frost-canvas {
  display: none !important;
}

.freezer-reviews__artboard::before,
.freezer-reviews__artboard::after,
.freezer-reviews__backdrop::before,
.freezer-reviews__backdrop::after,
.freezer-reviews__freezer::before,
.freezer-reviews__freezer::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  background: none !important;
  filter: none !important;
  box-shadow: none !important;
}

.freezer-reviews__machine {
  inset: 0;
  z-index: 2;
  isolation: isolate;
  contain: paint;
}

.freezer-reviews__freezer {
  inset: 0;
  z-index: 3;
  pointer-events: none;
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Video windows live on their own plane between the scene background and the
   transparent freezer body. This prevents videos from painting over the frame. */
.freezer-reviews__slots {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.freezer-reviews__slot {
  position: absolute;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 1.05cqw;
  background: #090207;
  color: inherit;
  cursor: pointer;
  pointer-events: auto;
  overflow: hidden;
  outline: none;
  transition: opacity 260ms ease, visibility 260ms ease;
}

.freezer-reviews__slot--1 { left: 40.1566%; top: 29.0909%; width: 7.1588%; height: 40.4545%; }
.freezer-reviews__slot--2 { left: 49.3289%; top: 28.1818%; width: 7.774%; height: 43.4091%; }
.freezer-reviews__slot--3 { left: 59.34%; top: 27.5%; width: 8.1096%; height: 44.8864%; }
.freezer-reviews__slot--4 { left: 69.9664%; top: 26.4773%; width: 8.7248%; height: 46.4773%; }

.freezer-reviews__slot.is-empty {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.freezer-reviews__slot-card {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  overflow: hidden;
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 34%, rgba(89, 12, 51, 0.26), transparent 48%),
    #080105;
  box-shadow:
    inset 0 0 0 0.055cqw rgba(255, 226, 239, 0.11),
    inset 0 0 1.2cqw rgba(255, 69, 145, 0.07),
    0 0.8cqw 1.9cqw rgba(0, 0, 0, 0.34);
  transform-origin: center center;
  transition:
    transform 480ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 380ms ease,
    box-shadow 480ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 320ms ease;
  will-change: transform, opacity;
}

.freezer-reviews__slot:hover .freezer-reviews__slot-card,
.freezer-reviews__slot:focus-visible .freezer-reviews__slot-card {
  transform: perspective(80cqw) translateY(-0.25cqw) scale(1.016);
  filter: saturate(1.08) brightness(1.035);
  box-shadow:
    inset 0 0 0 0.065cqw rgba(255, 238, 246, 0.2),
    inset 0 0 1.7cqw rgba(255, 72, 151, 0.1),
    0 1.15cqw 2.25cqw rgba(0, 0, 0, 0.45),
    0 0 1.4cqw rgba(210, 30, 103, 0.11);
}

.freezer-reviews__slot:focus-visible {
  box-shadow: 0 0 0 0.13cqw rgba(255, 222, 236, 0.9);
}

.freezer-reviews__video {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  background: #090207;
  opacity: 0;
  transition: opacity 260ms ease;
}

.freezer-reviews__slot.has-poster .freezer-reviews__video {
  opacity: 0.94;
}

.freezer-reviews__slot.is-ready .freezer-reviews__video {
  opacity: 1;
}

.freezer-reviews__video-state {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  pointer-events: none;
  opacity: 0.75;
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 103, 170, 0.12), transparent 38%),
    linear-gradient(110deg, transparent 12%, rgba(255, 255, 255, 0.055) 46%, transparent 80%);
  background-size: 100% 100%, 220% 100%;
  animation: freezer-review-loading 1.8s linear infinite;
  transition: opacity 220ms ease;
}

.freezer-reviews__slot.is-ready .freezer-reviews__video-state,
.freezer-reviews__slot.is-error .freezer-reviews__video-state {
  opacity: 0;
  animation: none;
}

.freezer-reviews__play-badge {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2.1cqw;
  aspect-ratio: 1;
  border: 0.06cqw solid rgba(255, 255, 255, 0.31);
  border-radius: 50%;
  background: rgba(20, 6, 14, 0.37);
  box-shadow: 0 0.5cqw 1.1cqw rgba(0, 0, 0, 0.32);
  backdrop-filter: blur(0.18cqw);
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 3;
}

.freezer-reviews__play-badge::before {
  content: "";
  position: absolute;
  left: 53%;
  top: 50%;
  border-style: solid;
  border-width: 0.34cqw 0 0.34cqw 0.56cqw;
  border-color: transparent transparent transparent rgba(255, 255, 255, 0.93);
  transform: translate(-40%, -50%);
}

.freezer-reviews__frame {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: fill;
  pointer-events: none;
  user-select: none;
}

.freezer-reviews__headline {
  left: 5.5%;
  top: 9.1%;
  z-index: 7;
  width: 18.2%;
  height: 18.2%;
  pointer-events: none;
}

.freezer-reviews__headline-art {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: fill;
  filter:
    drop-shadow(0 0.28cqw 0.42cqw rgba(0, 0, 0, 0.48))
    drop-shadow(0 0 1.15cqw rgba(255, 226, 242, 0.08));
  user-select: none;
}

.freezer-reviews__title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Full-artboard interaction plane: each hit area can be edited independently. */
.freezer-reviews .freezer-reviews__controls {
  inset: 0 !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
  z-index: 8;
  pointer-events: none;
}

.freezer-reviews__arrow {
  position: absolute;
  top: 81.2%;
  width: 5.9%;
  height: 7.8%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: transparent;
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
  outline: none;
}

.freezer-reviews__arrow--prev { left: 44.8%; }
.freezer-reviews__arrow--next { left: 58.35%; }

.freezer-reviews__arrow::before {
  content: "";
  position: absolute;
  inset: 7%;
  border-radius: inherit;
  background: radial-gradient(circle, rgba(255, 217, 234, 0.12), rgba(255, 217, 234, 0.035) 48%, transparent 73%);
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 220ms ease, transform 220ms ease, box-shadow 220ms ease;
}

.freezer-reviews__arrow:hover::before,
.freezer-reviews__arrow:focus-visible::before {
  opacity: 1;
  transform: scale(1);
  box-shadow: 0 0 1.1cqw rgba(255, 97, 174, 0.19);
}

.freezer-reviews__arrow:focus-visible {
  box-shadow: 0 0 0 0.11cqw rgba(255, 223, 237, 0.84);
}

.freezer-reviews__arrow[disabled] {
  cursor: default;
  opacity: 0.45;
}

.freezer-reviews__arrow > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.freezer-reviews__dots {
  position: absolute;
  left: 51.4%;
  top: 82.8%;
  width: 6.7%;
  height: 4.6%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.1cqw;
  pointer-events: auto;
}

.freezer-reviews__dot {
  width: 0.7cqw;
  height: 0.7cqw;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 218, 236, 0.2);
  box-shadow: inset 0 0 0 0.055cqw rgba(255, 226, 240, 0.42);
  cursor: pointer;
  transition: transform 240ms ease, background-color 240ms ease, box-shadow 240ms ease, opacity 240ms ease;
}

.freezer-reviews__dot:hover,
.freezer-reviews__dot:focus-visible {
  background: rgba(255, 205, 229, 0.42);
  transform: scale(1.09);
  outline: none;
}

.freezer-reviews__dot.is-active {
  background: #ff5ba8;
  box-shadow:
    0 0 0.95cqw rgba(255, 77, 159, 0.5),
    0 0 0.15cqw rgba(255, 255, 255, 0.75);
  transform: scale(1.16);
}

.freezer-reviews__slots.is-transitioning .freezer-reviews__slot-card {
  pointer-events: none;
}

.freezer-reviews[data-shift="next"] .freezer-reviews__slot.is-leaving .freezer-reviews__slot-card {
  animation: freezer-review-leave-next 260ms ease both;
}

.freezer-reviews[data-shift="prev"] .freezer-reviews__slot.is-leaving .freezer-reviews__slot-card {
  animation: freezer-review-leave-prev 260ms ease both;
}

.freezer-reviews[data-shift="next"] .freezer-reviews__slot.is-entering .freezer-reviews__slot-card {
  animation: freezer-review-enter-next 520ms cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: var(--review-delay, 0ms);
}

.freezer-reviews[data-shift="prev"] .freezer-reviews__slot.is-entering .freezer-reviews__slot-card {
  animation: freezer-review-enter-prev 520ms cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: var(--review-delay, 0ms);
}

.freezer-reviews__modal {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: grid;
  place-items: center;
  padding: 3vw;
  background: rgba(5, 1, 4, 0.84);
  backdrop-filter: blur(0.55rem);
}

.freezer-reviews__modal[hidden] {
  display: none;
}

.freezer-reviews__modal-shell {
  position: relative;
  width: min(56vw, 82vh * 0.62);
  max-width: 460px;
}

.freezer-reviews__modal-video {
  width: 100%;
  max-height: 88vh;
  display: block;
  border-radius: 1.2rem;
  background: #000;
  box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, 0.5);
}

.freezer-reviews__modal-close {
  position: absolute;
  top: -1rem;
  right: -1rem;
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  background: rgba(58, 8, 30, 0.9);
  color: #fff;
  font: 400 1.8rem/1 Arial, sans-serif;
  cursor: pointer;
  box-shadow: 0 0.5rem 1.4rem rgba(0, 0, 0, 0.4);
}

html.is-review-modal-open,
html.is-review-modal-open body {
  overflow: hidden;
}

@keyframes freezer-review-loading {
  from { background-position: 0 0, 140% 0; }
  to { background-position: 0 0, -80% 0; }
}

@keyframes freezer-review-leave-next {
  to { opacity: 0; transform: translate3d(-0.9cqw, 0, 0) scale(0.975); }
}

@keyframes freezer-review-leave-prev {
  to { opacity: 0; transform: translate3d(0.9cqw, 0, 0) scale(0.975); }
}

@keyframes freezer-review-enter-next {
  from { opacity: 0; transform: translate3d(1.1cqw, 0, 0) scale(0.972); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes freezer-review-enter-prev {
  from { opacity: 0; transform: translate3d(-1.1cqw, 0, 0) scale(0.972); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@media (max-width: 900px) {
  .freezer-reviews__stage {
    min-height: auto;
  }

  .freezer-reviews__artboard {
    width: 100%;
  }
}

@media (max-width: 720px) {
  .freezer-reviews__artboard {
    aspect-ratio: 1788 / 880;
    min-width: 820px;
    transform-origin: top left;
  }

  .freezer-reviews__stage {
    overflow-x: auto;
    justify-content: start;
  }

  .freezer-reviews__headline {
    left: 5.5%;
    top: 9.1%;
    width: 18.2%;
    height: 18.2%;
  }

  .freezer-reviews__play-badge {
    width: 2.5cqw;
  }
}

@media (prefers-reduced-motion: reduce) {
  .freezer-reviews__slot-card,
  .freezer-reviews__video,
  .freezer-reviews__dot,
  .freezer-reviews__arrow::before {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}

/* === FRAMBINI ADMIN DIRECT COMMIT START === */
/* Generated by /?admin=1. This is real source CSS, not admin-overrides.css. */
:root { --frambini-admin-active: 1; }
@media (min-width: 901px) {
.freezer-reviews__backdrop { inset: auto !important; right: auto !important; bottom: auto !important; left: 0% !important; top: 0% !important; width: 100% !important; height: 100% !important; transform: rotate(0deg) !important; transform-origin: center center !important; }
.freezer-reviews__machine { inset: auto !important; right: auto !important; bottom: auto !important; left: 0% !important; top: 0% !important; width: 100% !important; height: 100% !important; transform: rotate(0deg) !important; transform-origin: center center !important; }
.freezer-reviews__frame { inset: auto !important; right: auto !important; bottom: auto !important; left: 0% !important; top: 0% !important; width: 100% !important; height: 100% !important; transform: rotate(0deg) !important; transform-origin: center center !important; }
.freezer-reviews__headline { inset: auto !important; right: auto !important; bottom: auto !important; left: 2.822% !important; top: 8.246% !important; width: 31.271% !important; height: 31.211% !important; transform: rotate(0deg) !important; transform-origin: center center !important; }
.freezer-reviews__headline-art { width: 100% !important; height: 100% !important; object-fit: fill !important; }
.freezer-reviews__arrow--prev { inset: auto !important; right: auto !important; bottom: auto !important; left: 46.585% !important; top: 82.48% !important; width: 2.908% !important; height: 5.666% !important; transform: rotate(0deg) !important; transform-origin: center center !important; }
.freezer-reviews__dots { inset: auto !important; right: auto !important; bottom: auto !important; left: 48.145% !important; top: 81.093% !important; width: 12.841% !important; height: 10.146% !important; transform: rotate(3.72deg) !important; transform-origin: center center !important; }
.freezer-reviews__arrow--next { inset: auto !important; right: auto !important; bottom: auto !important; left: 59.295% !important; top: 84.08% !important; width: 3.59% !important; height: 5.986% !important; transform: rotate(0deg) !important; transform-origin: center center !important; }
}
/* === FRAMBINI ADMIN DIRECT COMMIT END === */
