/* Dunoara Café — Grand Opening Invitation
   Palette: cream #FBEDD1 · sand #E9BE88 · tan #D69F67 · brown #805026 · cocoa #3A2414 · night #1F140C */

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#FBEDD1;color:#3A2414;font-family:'Poppins','Noto Sans Gujarati',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.5}
*{box-sizing:border-box}
a{color:#805026}
a:hover{color:#D69F67}
::selection{background:#E9BE88;color:#3A2414}
img{display:block}
button{font-family:inherit}
[hidden]{display:none!important}

@keyframes kb{from{transform:scale(1.08)}to{transform:scale(1.18)}}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes bloom{from{opacity:0;transform:scale(.86);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes lineIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes glow{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(233,190,136,.45)}70%{box-shadow:0 0 0 18px rgba(233,190,136,0)}100%{box-shadow:0 0 0 0 rgba(233,190,136,0)}}
@keyframes wiggle{0%,100%{transform:rotate(0)}10%{transform:rotate(-1.6deg) translateY(-4px)}20%{transform:rotate(1.6deg)}30%{transform:rotate(-1.2deg) translateY(-2px)}40%{transform:rotate(1.2deg)}50%{transform:rotate(0)}}
@keyframes marqueeL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marqueeR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* Hero entrance animations stay frozen until the intro film has finished. */
.hero-anim{animation-play-state:paused}
body.intro-done .hero-anim{animation-play-state:running}

/* Hover states (were style-hover in the design source) */
.btn-start:hover{transform:scale(1.08);background:#FBEDD1}
.btn-enter:hover{transform:translateY(-3px) scale(1.04);background:#FBEDD1;box-shadow:0 18px 40px -14px rgba(233,190,136,.7)}
.btn-hint:hover{opacity:1;color:#E9BE88}
.lnk-solid:hover{background:#5A3A22;color:#FBEDD1;transform:translateY(-2px)}
.lnk-ghost:hover{background:#E9BE88;color:#3A2414;transform:translateY(-2px)}

/* Rolling countdown digits */
.digits{display:inline-flex;font-family:'Caprasimo',serif;line-height:1;font-variant-numeric:tabular-nums}
.digits-hero{font-size:clamp(34px,6.4vw,64px);color:#E9BE88}
.digits-cd{font-size:clamp(36px,8vw,84px);color:#FBEDD1}
.dwin{display:inline-block;height:1em;overflow:hidden;vertical-align:top}
.dcol{display:flex;flex-direction:column;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.dcol span{display:block;height:1em;line-height:1}

/* Gallery marquees */
.marquee-a{animation:marqueeL 58s linear infinite}
.marquee-b{animation:marqueeR 66s linear infinite}
.gal{flex:0 0 auto;border-radius:24px;overflow:hidden;background:#E9BE88}
.gal img{width:100%;height:100%;object-fit:cover}
.gal-a{height:clamp(160px,26vw,300px)}
.gal-b{height:clamp(130px,20vw,240px)}

/* Programme timeline */
.prog-item{position:relative;display:grid;grid-template-columns:22px 1fr;gap:22px;padding-bottom:34px}
.prog-last{padding-bottom:0}
.prog-dot{position:relative;display:flex;justify-content:center;padding-top:6px}
.prog-dot span{display:block;width:14px;height:14px;border-radius:999px;background:#D69F67;border:3px solid #FBEDD1;box-shadow:0 0 0 2px #D69F67}
.prog-body{display:flex;flex-direction:column;gap:10px;padding:22px 24px;border-radius:24px;background:rgba(233,190,136,.22);border:1px solid rgba(214,159,103,.45)}
.prog-time{align-self:flex-start;padding:8px 18px;border-radius:999px;background:#805026;color:#FBEDD1;font-family:'Caprasimo','Noto Serif Gujarati',serif;font-size:clamp(18px,2vw,22px);letter-spacing:.04em}
.prog-head{font-family:'Caprasimo','Noto Serif Gujarati',serif;font-size:clamp(19px,2vw,23px);color:#3A2414;line-height:1.15}
.prog-note{font-size:14px;font-weight:300;line-height:1.7;color:#5A3A22}

/* Countdown cells */
.cd-cell{display:flex;flex-direction:column;align-items:center;gap:8px;padding:clamp(16px,3vw,28px) 6px;border:1px solid rgba(233,190,136,.28);border-radius:24px 24px 999px 999px;background:rgba(251,237,209,.04)}
.cd-label{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:#D69F67;font-weight:500}

/* Scratch cards stop nudging once they have been touched or revealed */
.settled{animation:none!important}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .marquee-a,.marquee-b,#dateCard,#guestCard,.hero-anim{animation:none!important}
  .hero-anim{opacity:1!important;transform:none!important}
  .dcol{transition:none}
}
