.gf-site .gf-hero {
  overflow: hidden;
}

/* On the home page, the hero sits behind the floating header. */
.gf-site.gf-header-hero-overlay {
  --gf-header-height: 82px;
}

.gf-site.gf-header-hero-overlay .gf-header[data-gf-header] {
  margin-bottom: calc(-1 * var(--gf-header-height));
  background: rgba(17, 19, 16, var(--gf-header-alpha, 0));
  box-shadow: 0 16px 40px rgba(0, 0, 0, var(--gf-header-shadow-alpha, 0));
  backdrop-filter: blur(var(--gf-header-blur, 0px));
  -webkit-backdrop-filter: blur(var(--gf-header-blur, 0px));
  transition: background-color .42s ease, box-shadow .42s ease, backdrop-filter .42s ease;
}

.gf-site.gf-header-hero-overlay .gf-header[data-gf-header]::after {
  opacity: var(--gf-header-divider-opacity, 0);
}

.gf-site .gf-header[data-gf-header] .gf-brand {
  position: relative;
  display: block;
  isolation: isolate;
}

.gf-site .gf-header[data-gf-header] .gf-brand img {
  position: relative;
  z-index: 1;
}

.gf-site.gf-header-hero-overlay .gf-header[data-gf-header] .gf-brand::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -16px -24px;
  background: radial-gradient(ellipse at 51% 50%, rgba(174, 218, 158, .38), rgba(174, 218, 158, .14) 43%, transparent 74%);
  filter: blur(10px);
  opacity: var(--gf-logo-glow-opacity, 1);
  pointer-events: none;
  transition: opacity .42s ease;
}

.gf-site .gf-header[data-gf-header] .gf-brand::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: #AEDA9E;
  -webkit-mask: url('images/gastrofaza-logo.webp') center / 100% 100% no-repeat;
  mask: url('images/gastrofaza-logo.webp') center / 100% 100% no-repeat;
  clip-path: inset(0 20% 0 48.5%);
  pointer-events: none;
}

.gf-site.gf-header-hero-overlay .gf-hero-grid {
  min-height: calc(670px + var(--gf-header-height));
}

@media (max-width: 1100px) {
  .gf-site.gf-header-hero-overlay .gf-hero-grid {
    min-height: calc(630px + var(--gf-header-height));
  }
}

@media (max-width: 900px) {
  .gf-site.gf-header-hero-overlay { --gf-header-height: 76px; }
  .gf-site.gf-header-hero-overlay .gf-hero-grid {
    min-height: 0;
    padding-top: calc(42px + var(--gf-header-height));
  }
}

@media (max-width: 520px) {
  .gf-site.gf-header-hero-overlay { --gf-header-height: 68px; }
  .gf-site.gf-header-hero-overlay .gf-hero-grid {
    padding-top: calc(34px + var(--gf-header-height));
  }
}

@media (prefers-reduced-motion: reduce) {
  .gf-site.gf-header-hero-overlay .gf-header[data-gf-header] {
    transition: none;
  }
  .gf-site.gf-header-hero-overlay .gf-header[data-gf-header] .gf-brand::before { transition: none; }
}

.gf-site .gf-hero::before {
  inset: -24px -48px;
  transform: translate3d(var(--gf-brick-x, 0px), var(--gf-brick-y, 0px), 0);
}

.gf-site .gf-hero.gf-hero-visible::before {
  will-change: transform;
}

.gf-site .gf-hero-pizza > img {
  position: relative;
  z-index: 1;
}

.gf-site .gf-hero-float {
  position: absolute;
  z-index: 2;
  display: block;
  pointer-events: none;
  user-select: none;
  animation-play-state: paused;
}

.gf-site .gf-hero.gf-hero-visible .gf-hero-float {
  animation-play-state: running;
  will-change: transform;
}

.gf-site .gf-hero-float img,
.gf-site .gf-hero-pizza .gf-hero-float img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  background: transparent;
  transform: none;
}

.gf-site .gf-hero-float--slice {
  top: 4%;
  right: 3%;
  width: 32%;
  animation: gf-slice-float 6.4s ease-in-out infinite;
}

.gf-site .gf-hero-pizza .gf-hero-float--slice img {
  filter: drop-shadow(0 20px 20px rgba(0, 0, 0, .42));
}

.gf-site .gf-hero:not(.gf-hero-visible) .gf-hero-float {
  animation-play-state: paused;
}

@keyframes gf-slice-float {
  0%, 100% { transform: translate3d(0, 2px, 0) rotate(-5deg); }
  50% { transform: translate3d(8px, -16px, 0) rotate(-9deg); }
}

.gf-burger-cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 52px;
  height: 52px;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-100px, -100px, 0);
  transition: opacity .15s ease;
}

.gf-burger-cursor::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: radial-gradient(circle at 32% 34%, rgba(226, 92, 28, .23), transparent 53%),
              radial-gradient(circle at 65% 65%, rgba(145, 204, 111, .21), transparent 65%);
  filter: blur(8px);
  transform: translate(-50%, -50%);
}

.gf-burger-cursor img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .3));
}

body.gf-home.gf-burger-cursor-on .gf-burger-cursor.is-visible {
  opacity: 1;
  will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
  body.gf-home.gf-burger-cursor-on,
  body.gf-home.gf-burger-cursor-on * {
    cursor: none !important;
  }

  body.gf-home.gf-burger-cursor-on :is(input, textarea, [contenteditable="true"]) {
    cursor: text !important;
  }
}

@media (max-width: 900px) {
  .gf-site .gf-hero-float--slice { top: 5%; right: 1%; width: 31%; }
}

@media (max-width: 520px) {
  .gf-site .gf-hero-float--slice { top: 6%; right: 2%; width: 33%; }
}

@media (hover: none), (pointer: coarse) {
  .gf-burger-cursor { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .gf-site .gf-hero::before { transform: none !important; }
  .gf-site .gf-hero-float { animation: none !important; }
  .gf-burger-cursor { transition: none; }
}

@media print {
  .gf-site .gf-hero-float,
  .gf-burger-cursor { display: none !important; }
}
