/* ============================================================
   PAGE-HERO LUXE — Maio 2026
   Identidade Luz exclusiva. Elimina cortes de cor.
   Substitui visual de page-hero (sobre, ambientes, contato, depo, blog)
   ============================================================ */

/* ─── Override total ─── */
.page-hero{
  position:relative !important;
  height:auto !important;
  min-height:clamp(420px, 55vh, 540px) !important;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding-block:clamp(140px, 16vh, 200px) clamp(80px, 10vh, 120px) !important;
  overflow:hidden;
  isolation:isolate;
  background:transparent !important;
}

/* Background imagem (mask radial — não é cortado, dissolve) */
.page-hero .page-hero__bg{
  position:absolute !important;
  inset:0 !important;
  z-index:0;
}
.page-hero .page-hero__bg-img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 40% !important;
  filter:brightness(0.42) saturate(1.1) contrast(1.05) blur(2px) !important;
  /* Mask radial: imagem visível só no centro, dissolve nas bordas */
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 50%, #000 0%, rgba(0,0,0,.65) 50%, transparent 90%);
  mask-image:radial-gradient(ellipse 70% 80% at 50% 50%, #000 0%, rgba(0,0,0,.65) 50%, transparent 90%);
  transform:scale(1.05);
  animation:pageHeroDrift 30s ease-in-out infinite alternate;
}
@keyframes pageHeroDrift{
  0%   { transform:scale(1.05) translate3d(0,0,0); }
  100% { transform:scale(1.10) translate3d(-1%,-.5%,0); }
}

/* Overlay: gradient warm uniforme (mesma cor da próxima section — sem corte!) */
.page-hero .page-hero__overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:1;
  background:
    radial-gradient(80% 60% at 50% 50%, rgba(232,200,122,0.06) 0%, transparent 65%),
    radial-gradient(120% 90% at 50% 100%, rgba(16,9,4,0.95) 0%, transparent 60%),
    linear-gradient(180deg, rgba(10,6,4,.55) 0%, rgba(16,9,4,.20) 30%, rgba(16,9,4,.85) 100%) !important;
}

/* Atmosphere grid */
.page-hero::before{
  content:'';
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    repeating-linear-gradient(0deg, rgba(232,200,122,0.022) 0 1px, transparent 1px 100px),
    repeating-linear-gradient(90deg, rgba(232,200,122,0.022) 0 1px, transparent 1px 100px);
  mix-blend-mode:overlay;
}

/* Halo dourado central (assinatura visual Luz) — override section-transitions ::after */
.page-hero::after{
  content:'';
  position:absolute;
  inset:auto !important;
  top:50% !important;
  left:50% !important;
  width:520px !important;
  height:520px !important;
  transform:translate(-50%, -50%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(232,200,122,0.10) 0%, rgba(200,168,75,0.04) 35%, transparent 70%) !important;
  filter:blur(40px);
  z-index:1 !important;
  pointer-events:none;
  animation:pageHeroHaloPulse 6s ease-in-out infinite;
}
@keyframes pageHeroHaloPulse{
  0%,100%{ opacity:.7; transform:translate(-50%,-50%) scale(1); }
  50%    { opacity:1;  transform:translate(-50%,-50%) scale(1.08); }
}

/* ─── Content wrap ─── */
.page-hero .page-hero__content{
  position:relative !important;
  z-index:5 !important;
  width:min(1200px, 100% - 48px) !important;
  margin-inline:auto !important;
  display:flex;flex-direction:column;align-items:center;
  text-align:center !important;
  gap:clamp(20px, 3vw, 32px);
}

/* Breadcrumb refinado */
.page-hero .page-hero__breadcrumb{
  display:inline-flex !important;
  align-items:center;
  gap:10px !important;
  font-family:'DM Sans', sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.32em !important;
  text-transform:uppercase !important;
  color:rgba(232,200,122,.6) !important;
  margin:0 !important;
  padding:8px 18px;
  background:rgba(8,5,3,.45);
  border:1px solid rgba(232,200,122,.18);
  border-radius:999px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  opacity:0;
  animation:pageHeroFadeUp .9s cubic-bezier(.16,1,.3,1) .2s forwards;
}
.page-hero .page-hero__breadcrumb a{
  color:rgba(232,200,122,.6) !important;
  text-decoration:none;
  transition:color .3s ease;
}
.page-hero .page-hero__breadcrumb a:hover{ color:#e8c87a !important; }
.page-hero .page-hero__breadcrumb span{ color:rgba(232,200,122,.35) !important; }
.page-hero .page-hero__breadcrumb span[aria-current]{ color:#e8c87a !important; }

/* Decorative dot pre-titulo (assinatura Luz) */
.page-hero .page-hero__content::before{
  content:'';
  display:block;
  width:6px;height:6px;border-radius:50%;
  background:#e8c87a;
  box-shadow:0 0 12px #e8c87a, 0 0 32px #c8a84b;
  opacity:0;
  animation:pageHeroFadeUp .9s ease .55s forwards, pageHeroPulse 2.4s ease-in-out 1.4s infinite;
}

/* Título — Cormorant grande centralizado */
.page-hero .page-hero__title{
  font-family:'Cormorant Garamond', Georgia, serif !important;
  font-size:clamp(1.6rem, 5.4vw, 5rem) !important;
  font-weight:300 !important;
  line-height:1.05 !important;
  letter-spacing:-0.022em !important;
  color:#fff !important;
  margin:0 !important;
  max-width:none;
  white-space:nowrap;
  opacity:1;
  animation:none;
}

/* Reconstrução por caractere — efeito de chegada (2026-05-11) */
.page-hero__title.is-revealed .char,
.page-hero__title .char{
  display:inline-block;
  opacity:0;
  transform:
    translate(var(--ox, 0), var(--oy, 0))
    rotate(var(--r, 0deg))
    scale(var(--s, .6));
  filter:blur(10px);
  animation:charReassemble 1s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:var(--d, 0s);
  will-change:transform, filter, opacity;
}
@keyframes charReassemble{
  0%   { opacity:0;
         transform:translate(var(--ox), var(--oy)) rotate(var(--r)) scale(var(--s, .6));
         filter:blur(10px); }
  55%  { opacity:1; }
  100% { opacity:1; transform:translate(0,0) rotate(0) scale(1); filter:blur(0); }
}

/* Mobile pequeno: permite wrap se não couber */
@media (max-width: 480px){
  .page-hero .page-hero__title{
    white-space:normal;
    font-size:clamp(1.4rem, 7vw, 2.2rem) !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .page-hero__title .char{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}
.page-hero .page-hero__title em{
  font-style:italic !important;
  font-weight:400 !important;
  background:linear-gradient(120deg, #f3d684 0%, #c8a84b 50%, #f3d684 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;
  color:transparent !important;
  animation:pageHeroGoldShimmer 6s linear 2s infinite;
}

/* Linha decorativa abaixo do título */
.page-hero .page-hero__title::after{
  content:'';
  display:block;
  width:60px;height:1px;
  margin:clamp(20px, 3vw, 32px) auto 0;
  background:linear-gradient(90deg, transparent 0%, #c8a84b 50%, transparent 100%);
  animation:pageHeroLineGrow 1.2s cubic-bezier(.16,1,.3,1) 1.4s forwards;
  transform:scaleX(0);
  transform-origin:center;
}

/* Subtítulo opcional (fallback fica invisível se não tiver) */
.page-hero .page-hero__subtitle{
  font-family:'DM Sans', sans-serif !important;
  font-size:clamp(.95rem, 1.2vw, 1.1rem) !important;
  font-weight:400 !important;
  line-height:1.6 !important;
  color:rgba(255,237,215,.72) !important;
  max-width:520px;
  margin:0 !important;
  opacity:0;
  animation:pageHeroFadeUp 1.1s cubic-bezier(.16,1,.3,1) 1.0s forwards;
}

/* ─── Animações ─── */
@keyframes pageHeroFadeUp{
  from{ opacity:0; transform:translateY(18px); }
  to  { opacity:1; transform:translateY(0); }
}
@keyframes pageHeroPulse{
  0%,100%{ transform:scale(1);  opacity:1; }
  50%    { transform:scale(1.5);opacity:.5; }
}
@keyframes pageHeroGoldShimmer{
  0%   { background-position:0% 50%; }
  100% { background-position:200% 50%; }
}
@keyframes pageHeroLineGrow{
  from{ transform:scaleX(0); }
  to  { transform:scaleX(1); }
}

/* ─── Bottom transition: 100% smooth (mesma cor da próxima section) ─── */
/* Substitui o ::after gerado por section-transitions.css que era curto demais */
.page-hero{
  background:linear-gradient(180deg, #0a0604 0%, #0d0805 50%, #100904 100%) !important;
}

@media (prefers-reduced-motion: reduce){
  .page-hero .page-hero__bg-img,
  .page-hero::after,
  .page-hero .page-hero__title em,
  .page-hero .page-hero__title::after,
  .page-hero .page-hero__content::before{
    animation:none !important;
  }
  .page-hero .page-hero__breadcrumb,
  .page-hero .page-hero__title,
  .page-hero .page-hero__subtitle{
    opacity:1 !important;transform:none !important;
  }
  .page-hero .page-hero__title::after{ transform:scaleX(1); }
}

/* ─── Responsivo ─── */
@media (max-width: 760px){
  .page-hero{
    padding-block:clamp(120px, 14vh, 160px) clamp(60px, 8vh, 90px) !important;
    min-height:380px !important;
  }
  .page-hero::after{ width:340px;height:340px; }
}
