/* ==========================================================================
   Feeling Celebration Pro — Hero Slider
   Smooth fade + Ken-Burns zoom + staggered text animation.
   This is the SINGLE source of truth for the hero. (Do not duplicate in style.css)
   ========================================================================== */

.fc-hero-slider{
    position:relative;
    width:100%;
    height:700px;
    overflow:hidden;
    background:#1a1a1a;
}

/* Slides — cross-fade */
.fc-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    z-index:1;
    transition:opacity .9s ease;
    pointer-events:none;
}
.fc-slide.active{
    opacity:1;
    visibility:visible;
    z-index:10;
    pointer-events:auto;
}

/* Gradient fallback backgrounds (used when no Customizer image is set) */
.fc-slide-gradient-1{ background:linear-gradient(120deg,#2b2b2b 0%,#6b5518 100%); }
.fc-slide-gradient-2{ background:linear-gradient(120deg,#3a1c2b 0%,#7a2b46 100%); }
.fc-slide-gradient-3{ background:linear-gradient(120deg,#1e2a3a 0%,#2f4a6b 100%); }

/* Slide image with zoom animation */
.fc-slide img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1);
}
.fc-slide.active img{
    animation:fcZoomHero 7s ease forwards;
}
@keyframes fcZoomHero{
    from{ transform:scale(1); }
    to{ transform:scale(1.09); }
}

/* Slide background video (muted, autoplay, loop) — blurred until ready to play */
.fc-slide video.fc-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    filter:blur(16px);
    transform:scale(1.06);
    transition:filter .7s ease, transform .7s ease;
}
.fc-slide video.fc-video.is-ready{
    filter:blur(0);
    transform:scale(1);
}

/* <picture> wrapper must not affect layout — let the inner <img> fill the slide */
.fc-slide picture{ display:contents; }

/* Overlay for text contrast */
.fc-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,
        rgba(0,0,0,.58) 0%,
        rgba(0,0,0,.28) 45%,
        rgba(0,0,0,.05) 100%);
}

/* Content block (kept vertically centered; children animate) */
.fc-content{
    position:absolute;
    top:50%;
    left:7%;
    transform:translateY(-50%);
    max-width:560px;
    color:#fff;
    z-index:20;
}
.fc-content h1,
.fc-content p,
.fc-content .fc-btn{ opacity:0; }

/* Staggered text reveal — re-triggers every time a slide becomes active */
.fc-slide.active .fc-content h1{ animation:fcHeroIn .8s ease .20s both; }
.fc-slide.active .fc-content p{ animation:fcHeroIn .8s ease .40s both; }
.fc-slide.active .fc-content .fc-btn{ animation:fcHeroIn .8s ease .60s both; }
@keyframes fcHeroIn{
    from{ opacity:0; transform:translateY(28px); }
    to{ opacity:1; transform:translateY(0); }
}

.fc-content h1{
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:clamp(2.2rem,5vw,3.6rem);
    line-height:1.08;
    margin:0 0 18px;
    color:#fff;
}
.fc-content p{
    font-size:clamp(1rem,1.6vw,1.35rem);
    margin:0 0 30px;
    color:#f3f3f3;
}

.fc-btn{
    display:inline-block;
    padding:15px 40px;
    background:#D4AF37;
    color:#fff;
    border-radius:50px;
    text-decoration:none;
    font-weight:600;
    letter-spacing:.05em;
    transition:background-color .3s ease, transform .3s ease;
}
.fc-btn:hover{
    background:#b88d1b;
    color:#fff;
    transform:translateY(-3px);
}

/* Dots */
.fc-dots{
    position:absolute;
    bottom:30px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:10px;
    z-index:30;
}
.fc-dots span{
    width:12px;
    height:12px;
    border-radius:50%;
    background:#fff;
    opacity:.4;
    cursor:pointer;
    transition:opacity .3s ease, background-color .3s ease, transform .3s ease;
}
.fc-dots span:hover{ transform:scale(1.15); }
.fc-dots span.active{
    opacity:1;
    background:#D4AF37;
}

/* Responsive */
@media(max-width:768px){
    .fc-hero-slider{ height:460px; }
    .fc-content{ left:20px; right:20px; max-width:none; }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce){
    .fc-slide.active img{ animation:none; }
    .fc-slide.active .fc-content h1,
    .fc-slide.active .fc-content p,
    .fc-slide.active .fc-content .fc-btn{ animation:none; opacity:1; }
}
