/* ============================================================
   BOOKING.CSS — booking form + live WhatsApp preview
   ============================================================ */

.booking{
  background:
    linear-gradient(rgba(23,14,10,.94), rgba(23,14,10,.95)),
    url("../../../img/gal-wedding.jpg") center/cover no-repeat;
  color:#fff;position:relative;overflow:hidden;
}
.booking::before{
  content:"";position:absolute;inset:0;opacity:.35;pointer-events:none;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(217,140,60,.10) 0 2px, transparent 3px),
    radial-gradient(circle at 85% 80%, rgba(217,140,60,.08) 0 2px, transparent 3px);
  background-size:36px 36px;
}
.booking .wrap{position:relative;}
.booking .eyebrow{color:var(--gold-light);}
.booking .eyebrow::after{background:linear-gradient(90deg,var(--gold-light),transparent);}
.booking h2{color:#fff;}

/* ---------- "Let's Feast Together" invitation frame ---------- */
.feast-head{max-width:640px;}
.feast-frame{
  position:relative;
  border:1px solid rgba(217,140,60,.45);
  border-radius:24px;
  padding:46px 44px 40px;
  background:
    radial-gradient(ellipse 70% 55% at 50% 8%, rgba(217,140,60,.12), transparent 65%),
    rgba(255,255,255,.03);
  box-shadow:inset 0 0 0 6px rgba(217,140,60,.06), 0 24px 60px rgba(0,0,0,.35);
}
.feast-frame::before{
  content:"";position:absolute;inset:10px;
  border:1px dashed rgba(217,140,60,.28);
  border-radius:16px;pointer-events:none;
}
/* corner ornaments */
.feast-frame::after{
  content:"";position:absolute;inset:-1px;pointer-events:none;
  border-radius:24px;
  background:
    linear-gradient(var(--saffron),var(--saffron)) top left/28px 3px,
    linear-gradient(var(--saffron),var(--saffron)) top left/3px 28px,
    linear-gradient(var(--saffron),var(--saffron)) top right/28px 3px,
    linear-gradient(var(--saffron),var(--saffron)) top right/3px 28px,
    linear-gradient(var(--saffron),var(--saffron)) bottom left/28px 3px,
    linear-gradient(var(--saffron),var(--saffron)) bottom left/3px 28px,
    linear-gradient(var(--saffron),var(--saffron)) bottom right/28px 3px,
    linear-gradient(var(--saffron),var(--saffron)) bottom right/3px 28px;
  background-repeat:no-repeat;
  filter:drop-shadow(0 0 6px rgba(217,140,60,.5));
}
.feast-frame h2{
  font-size:44px;line-height:1.12;margin-top:6px;
  background:linear-gradient(115deg,#fff 20%,var(--gold-light) 55%,var(--saffron) 85%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.feast-flourish{
  display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px;
  color:var(--saffron);
}
.feast-flourish span{width:64px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));}
.feast-flourish span:last-child{background:linear-gradient(90deg,var(--gold),transparent);}
.feast-flourish i{font-style:normal;font-size:13px;}
@media (max-width:560px){
  .feast-frame{padding:36px 22px 32px;}
  .feast-frame h2{font-size:34px;}
}
.book-grid{max-width:720px;margin:0 auto;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field{margin-bottom:18px;}
.field label{
  display:flex;align-items:center;gap:6px;
  font-size:12px;text-transform:uppercase;letter-spacing:.1em;
  color:rgba(255,255,255,.55);margin-bottom:8px;
}
.field label::before{content:"✦";color:var(--saffron);font-size:9px;}
.field input, .field select, .field textarea{
  width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(217,140,60,.25);
  color:#fff;padding:14px 15px;font-family:inherit;font-size:14.5px;border-radius:10px;
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.field input::placeholder, .field textarea::placeholder{color:rgba(255,255,255,.35);}
.field input:focus, .field select:focus, .field textarea:focus{
  border-color:var(--saffron);outline:none;box-shadow:0 0 0 3px rgba(217,140,60,.15);
}
.field select option{color:#2a201a;}
.field input.invalid, .field select.invalid, .field textarea.invalid{
  border-color:#ff6b6b;box-shadow:0 0 0 3px rgba(255,107,107,.18);
}
.field .err-msg{
  display:none;color:#ff8f8f;font-size:12px;margin-top:6px;letter-spacing:.02em;text-transform:none;
}
.field.invalid .err-msg{display:block;}
.send-wa-btn[disabled]{opacity:.65;cursor:wait;transform:none;box-shadow:none;}
.radio-group{display:flex;gap:10px;}
.radio-group label{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  background:rgba(255,255,255,.05);border:1px solid rgba(217,140,60,.25);padding:12px;
  font-size:13.5px;border-radius:10px;cursor:pointer;text-transform:none;letter-spacing:0;color:rgba(255,255,255,.85);
  transition:all .2s var(--ease);
}
.radio-group label:hover{border-color:var(--saffron);}
.radio-group label:has(input:checked){border-color:var(--saffron);background:rgba(217,140,60,.15);}
.radio-group input{width:auto;accent-color:var(--saffron);}

.send-wa-btn{width:100%;justify-content:center;margin-top:6px;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  .book-grid{grid-template-columns:1fr;}
  .field-row{grid-template-columns:1fr;}
}
