/* EVA DIAM hero — same 3D carousel as the demo, gold / black only. */

.edy-hero {
  --edy-bg: #070708;
  --edy-gold: #e4c66a;
  --edy-gold-2: #c9a227;
  --edy-gold-3: #f3d57a;
  --edy-text: #f4f1ea;
  --edy-muted: #9a9aa3;
  --edy-hair: rgba(201, 162, 39, 0.35);
  --edy-serif: Montserrat, system-ui, sans-serif;
  --edy-sans: Montserrat, system-ui, sans-serif;
  --edy-ease: cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: 620px;
  height: 78vh;
  height: 78dvh;
  overflow: hidden;
  background: var(--edh-bg, var(--edy-bg));
  color: var(--edh-text, var(--edy-text));
  font-family: var(--edh-sans, var(--edy-sans));
  isolation: isolate;
  box-sizing: border-box;
  transition: background-color 650ms var(--edy-ease);
}

body.admin-bar .edy-hero {
  min-height: 580px;
  height: calc(78vh - 32px);
  height: calc(78dvh - 32px);
}

.elementor-section:has(.edy-hero),
.elementor-container:has(.edy-hero),
.elementor-element:has(.edy-hero),
.elementor-widget:has(.edy-hero),
.elementor-widget-container:has(.edy-hero),
.elementor-shortcode:has(.edy-hero) {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important;
}

.elementor-widget-shortcode .edy-hero,
.elementor-shortcode .edy-hero,
.elementor-widget-container > .edy-hero {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

body.edh-site:has(.edy-hero) .site-main,
body.edh-site:has(.edy-hero) #content,
body.edh-site:has(.edy-hero) .page-content {
  padding-top: 0;
}

.edy-hero *,
.edy-hero *::before,
.edy-hero *::after {
  box-sizing: border-box;
}

.edy-hero__grain {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.28;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
}

.edy-hero__ghost {
  --edy-ghost-len: 5;
  position: absolute;
  left: 0;
  right: 0;
  top: auto;
  bottom: 128px;
  height: auto;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  z-index: 4;
  pointer-events: none;
  user-select: none;
  overflow: hidden;
  padding: 0 12px;
  font-family: var(--edh-sans, var(--edy-sans));
  font-size: clamp(18px, 2.2vw, 28px);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
  color: #f4f1ea;
  opacity: 0.28;
  transition: opacity 280ms var(--edy-ease);
}

.edy-hero__stage {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(var(--edh-nav-h, 72px) + 4px);
  bottom: 118px;
  z-index: 3;
  overflow: visible;
}

.edy-hero__item {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 340px;
  height: 400px;
  transform: translate(-50%, -50%);
  cursor: pointer;
  will-change: transform, filter, opacity, left, top, width, height;
  transition:
    transform 650ms var(--edy-ease),
    filter 650ms var(--edy-ease),
    opacity 650ms var(--edy-ease),
    left 650ms var(--edy-ease),
    top 650ms var(--edy-ease),
    width 650ms var(--edy-ease),
    height 650ms var(--edy-ease);
}

.edy-hero__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}

.edy-hero__copy {
  position: absolute;
  left: max(1rem, env(safe-area-inset-left, 0px));
  bottom: max(1.1rem, env(safe-area-inset-bottom, 0px));
  z-index: 60;
  max-width: min(36rem, 86vw);
  --edy-enter: 1.15s cubic-bezier(0.16, 1, 0.3, 1);
}

.edy-hero__kicker {
  margin: 0 0 8px;
  font-family: var(--edh-sans, var(--edy-sans));
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.3;
  color: var(--edh-gold-t, var(--edy-gold));
}

.edy-hero__title {
  position: relative;
  margin: 0 0 8px;
  padding-bottom: 12px;
  font-family: var(--edh-sans, var(--edy-sans));
  font-size: clamp(1.85rem, 3.6vw, 2.75rem);
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--edh-text, var(--edy-text));
  line-height: 1.15;
}

.edy-hero__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 42px;
  height: 1px;
  background: linear-gradient(90deg, var(--edy-gold-2), var(--edy-gold-3), transparent);
  transform: scaleX(0);
  transform-origin: left center;
  opacity: 0;
}

.edy-hero__desc {
  display: none;
  margin: 0 0 18px;
  font-size: clamp(13px, 1.15vw, 16px);
  font-weight: 400;
  line-height: 1.55;
  color: var(--edh-muted, var(--edy-muted));
}

.edy-hero__kicker,
.edy-hero__title,
.edy-hero__desc {
  opacity: 0;
  transform: translate3d(-48px, 0, 0);
  clip-path: inset(0 110% 0 -12px);
  will-change: transform, opacity, clip-path;
  transition:
    opacity var(--edy-enter),
    transform var(--edy-enter),
    clip-path var(--edy-enter);
}

.edy-hero.is-ready .edy-hero__kicker,
.edy-hero.is-ready .edy-hero__title,
.edy-hero.is-ready .edy-hero__desc {
  opacity: 1;
  transform: none;
  clip-path: inset(0 -8% 0 -12px);
}

.edy-hero.is-ready .edy-hero__kicker {
  transition-delay: 140ms;
}

.edy-hero.is-ready .edy-hero__title {
  transition-delay: 280ms;
}

.edy-hero.is-ready .edy-hero__title::after {
  transform: scaleX(1);
  opacity: 1;
  transition: transform 900ms cubic-bezier(0.16, 1, 0.3, 1), opacity 600ms ease;
  transition-delay: 620ms;
}

.edy-hero.is-ready .edy-hero__desc {
  transition-delay: 460ms;
}

.edy-hero.is-copy-out .edy-hero__kicker,
.edy-hero.is-copy-out .edy-hero__title,
.edy-hero.is-copy-out .edy-hero__desc {
  opacity: 0;
  transform: translate3d(-48px, 0, 0);
  clip-path: inset(0 110% 0 -12px);
  transition-duration: 380ms;
  transition-delay: 0ms;
}

.edy-hero.is-copy-out .edy-hero__title::after {
  transform: scaleX(0);
  opacity: 0;
  transition-duration: 280ms;
  transition-delay: 0ms;
}

.edy-hero__nav {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 2px;
}

.edy-hero__btn {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 50%;
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid rgba(201, 162, 39, 0.55) !important;
  color: #e4c66a !important;
  box-shadow: none !important;
  outline: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.edy-hero__btn:hover {
  background: linear-gradient(135deg, #8c6a1a 0%, #c9a227 40%, #f3d57a 52%, #c9a227 100%) !important;
  border-color: #c9a227 !important;
  color: #070708 !important;
}

.edy-hero__btn:focus,
.edy-hero__btn:focus-visible {
  background: transparent !important;
  border-color: #f3d57a !important;
  color: #e4c66a !important;
  box-shadow: 0 0 0 2px rgba(201, 162, 39, 0.35) !important;
}

.edy-hero__btn:hover:focus,
.edy-hero__btn:hover:focus-visible {
  background: linear-gradient(135deg, #8c6a1a 0%, #c9a227 40%, #f3d57a 52%, #c9a227 100%) !important;
  color: #070708 !important;
}

.edy-hero__btn svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}

@media (min-width: 640px) {
  .edy-hero__copy {
    left: max(3.5rem, env(safe-area-inset-left, 0px), var(--edh-pad, 80px));
    bottom: max(2.4rem, env(safe-area-inset-bottom, 0px));
  }

  .edy-hero__desc {
    display: block;
  }

  .edy-hero__title {
    margin-bottom: 10px;
  }

  .edy-hero__btn {
    width: 46px;
    height: 46px;
  }

  .edy-hero__btn svg {
    width: 17px;
    height: 17px;
  }
}

@media (max-width: 639px) {
  .edy-hero {
    min-height: 0;
    height: min(520px, 64vh);
    height: min(520px, 64dvh);
  }

  .edy-hero__ghost {
    bottom: 122px;
    font-size: 16px;
    letter-spacing: 0.04em;
    opacity: 0.32;
    transform: none;
  }

  .edy-hero__stage {
    top: calc(var(--edh-nav-h, 56px) + 2px);
    bottom: 108px;
  }

  .edy-hero__item {
    width: 240px;
    height: 292px;
  }

  .edy-hero__copy {
    left: max(1rem, env(safe-area-inset-left, 0px));
    bottom: max(0.85rem, env(safe-area-inset-bottom, 0px));
  }

  .edy-hero__title {
    font-size: clamp(1.55rem, 8vw, 2.05rem);
    margin-bottom: 8px;
    padding-bottom: 10px;
  }

  .edy-hero__nav {
    gap: 12px;
  }

  .edy-hero__btn {
    width: 40px;
    height: 40px;
  }
}

.elementor-editor-active .edy-hero,
.elementor-editor-preview .edy-hero {
  min-height: 620px;
  height: 78vh;
  width: 100vw !important;
  max-width: 100vw !important;
}

@media (prefers-reduced-motion: reduce) {
  .edy-hero__kicker,
  .edy-hero__title,
  .edy-hero__desc,
  .edy-hero.is-copy-out .edy-hero__kicker,
  .edy-hero.is-copy-out .edy-hero__title,
  .edy-hero.is-copy-out .edy-hero__desc {
    opacity: 1;
    transform: none;
    clip-path: none;
    transition: none;
  }

  .edy-hero__title::after {
    transform: scaleX(1);
    opacity: 1;
    transition: none;
  }
}
