/* ==========================================================================
   Samyukta Wedding Show — "Coming to Chennai" launch teaser
   Extends styles.css — same tokens (colors, type, radius, shadow), new
   components only: giant hero word, countdown timer, minimal footer.
   ========================================================================== */

/* ---------- header tagline: tight leading when it wraps on narrow screens ---------- */
.brand small{line-height:1.1;}

/* ---------- hero: giant word treatment ---------- */
.hero-content .eyebrow{color:var(--gold-300);}
.hero-giant-word{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(4.5rem,15vw,9.5rem);line-height:.82;
  color:var(--gold-400);letter-spacing:-.03em;margin-bottom:6px;
}
.hero h1.show-name{font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--white);margin-bottom:18px;font-weight:800;letter-spacing:-.01em;}
.hero .date-venue{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-size:1.05rem;color:rgba(255,255,255,.88);margin-bottom:36px;font-weight:500;
}
.hero .date-venue .sep{opacity:.5;}

/* ---------- countdown ---------- */
.countdown-grid{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-bottom:28px;}
.countdown-box{
  background:var(--white);border:1px solid var(--border-card);border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);padding:28px 14px;width:140px;text-align:center;
  transition:all .3s var(--ease);
}
.countdown-box:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.countdown-box strong{
  display:block;font-family:var(--font-display);font-weight:800;font-size:2.8rem;
  color:var(--maroon-700);line-height:1;font-variant-numeric:tabular-nums;
}
.countdown-box span{display:block;margin-top:10px;font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-500);font-weight:700;}
.countdown-note{text-align:center;color:var(--ink-500);font-size:.92rem;}
.countdown-note a{color:var(--maroon-700);font-weight:700;text-decoration:underline;text-underline-offset:3px;}

/* ---------- simple icon tiles (What to Expect) ---------- */
.tile-card{
  background:var(--white);border:1px solid var(--border-card);border-radius:var(--radius-md);
  padding:32px 28px;box-shadow:var(--shadow-sm);transition:all .3s var(--ease);text-align:center;
}
.tile-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.tile-icon{
  width:52px;height:52px;border-radius:14px;margin:0 auto 18px;
  background:var(--maroon-700);color:var(--white);display:grid;place-items:center;
}
.tile-card h3{font-size:1.1rem;color:var(--maroon-900);margin-bottom:10px;}
.tile-card p{color:var(--ink-500);font-size:.92rem;}

/* ---------- venue card ---------- */
.venue-wrap{max-width:820px;margin:0 auto;}
.venue-photo{
  border-radius:var(--radius-lg);overflow:hidden;margin-bottom:24px;
  box-shadow:var(--shadow-sm);border:1px solid var(--border-card);
}
.venue-photo img{width:100%;display:block;}

/* ---------- notify form (trimmed) ---------- */
.notify-form{max-width:480px;margin:0 auto;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);padding:40px;backdrop-filter:blur(6px);}
.notify-form .form-field label{color:rgba(249,236,231,.85);}
.notify-form .form-field input,
.notify-form .form-field select{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:var(--white);}
.notify-form .form-field input::placeholder{color:rgba(255,255,255,.45);}
.notify-form .form-field input:focus,
.notify-form .form-field select:focus{background:rgba(255,255,255,.12);border-color:var(--gold-400);}
.notify-form .form-field select option{color:var(--ink-900);}
.notify-form .form-note{color:rgba(249,236,231,.6);}
.notify-form .form-success h4{color:var(--white);}
.notify-form .form-success p{color:rgba(249,236,231,.75);}

/* ---------- "The Show" banner: photo behind the headline with a white fade ---------- */
.show-section{padding-top:0;}
.show-banner{position:relative;overflow:hidden;padding:130px 0 100px;margin-bottom:28px;}
.show-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;}
.show-banner-fade{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, var(--cream-50) 0%, rgba(250,250,250,0) 30%),
    linear-gradient(0deg, var(--cream-100) 0%, rgba(244,244,245,0) 30%),
    radial-gradient(ellipse 80% 95% at 50% 50%, rgba(255,255,255,.84) 0%, rgba(255,255,255,.62) 65%, rgba(255,255,255,.38) 100%);
}
.show-banner-content{position:relative;z-index:2;}
.show-banner .section-head{margin-bottom:0;}
.show-banner .section-sub{color:var(--ink-700);}

/* ---------- pull quote ---------- */
.pull-quote{
  text-align:center;font-family:var(--font-display);font-style:italic;font-weight:700;
  font-size:clamp(1.25rem,2.4vw,1.7rem);color:var(--maroon-900);max-width:640px;
  margin:0 auto;line-height:1.45;
}

/* ---------- gallery: full-width scrolling strips + viewer ---------- */
.gallery-section{--g-h:300px;--g-gap:16px;background:var(--cream-100);padding:0 0 110px;overflow:hidden;}
.gallery-section .section-head{margin-bottom:36px;}
.gallery-title{font-size:1.7rem;color:var(--maroon-900);}
.gallery-rows{display:flex;flex-direction:column;gap:var(--g-gap);}
.gallery-row{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
}
.gallery-track{
  display:flex;gap:var(--g-gap);width:max-content;padding-right:var(--g-gap);
  animation:gallery-scroll var(--g-dur,90s) linear infinite;will-change:transform;
}
.gallery-row-reverse .gallery-track{animation-direction:reverse;}
@keyframes gallery-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.gallery-row:hover .gallery-track,
.gallery-track:focus-within,
body.lb-open .gallery-track{animation-play-state:paused;}

.g-item{
  flex:0 0 auto;height:var(--g-h);padding:0;border:0;background:var(--border-card);
  border-radius:var(--radius-md);overflow:hidden;cursor:zoom-in;position:relative;
}
.g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease);}
.g-item:hover img,.g-item:focus-visible img{transform:scale(1.06);}
.g-item:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px;}

.lightbox{
  position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;
  background:rgba(14,7,9,.96);
}
.lightbox.is-open{display:flex;}
body.lb-open{overflow:hidden;}
.lb-stage{flex:1;height:100%;display:flex;align-items:center;justify-content:center;padding:64px 12px;min-width:0;}
.lb-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;transition:opacity .25s var(--ease);}
.lightbox.is-loading .lb-img{opacity:.25;}
.lb-close,.lb-nav{
  position:absolute;z-index:2;width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.12);color:var(--white);display:grid;place-items:center;
  transition:background-color .25s var(--ease);
}
.lb-close:hover,.lb-nav:hover{background:rgba(255,255,255,.26);}
.lb-close{top:18px;right:18px;}
.lb-nav{top:50%;transform:translateY(-50%);}
.lb-prev{left:18px;}
.lb-next{right:18px;}
.lb-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.75);font-size:.85rem;font-weight:600;letter-spacing:1px;}

@media (max-width:640px){
  .gallery-section{--g-h:210px;--g-gap:12px;padding-bottom:80px;}
  .lb-stage{padding:64px 0;}
  .lb-nav{width:40px;height:40px;background:rgba(255,255,255,.16);}
  .lb-prev{left:8px;}
  .lb-next{right:8px;}
}
@media (prefers-reduced-motion:reduce){
  .gallery-row{overflow-x:auto;-webkit-mask-image:none;mask-image:none;}
  .gallery-track{animation:none;}
  .g-dup{display:none;}
}

/* ---------- minimal footer ---------- */
.mini-footer{background:var(--maroon-900);padding:50px 0 28px;color:rgba(249,236,231,.75);}
.mini-footer .mf-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:24px;}
.mini-footer .brand{color:var(--white);}
.mini-footer .back-link{font-size:.85rem;font-weight:600;color:rgba(249,236,231,.8);display:inline-flex;align-items:center;gap:6px;}
.mini-footer .back-link:hover{color:var(--gold-300);}
.mini-footer .mf-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.8rem;color:rgba(249,236,231,.55);}

@media (max-width:640px){
  .countdown-box{width:calc(50% - 9px);padding:22px 10px;}
  .countdown-box strong{font-size:2.2rem;}
  .notify-form{padding:28px 22px;}
}
