/* styles/gift.css — Gift Cards page. Matches the menu's design language
   (cream + terracotta, Helvetica Neue sans, refined letter-spacing).
   Murmure is used only for the large display title. No Outward block font. */
@font-face{font-family:"Murmure";src:url("../fonts/le-murmure.otf") format("opentype");
  font-weight:400;font-style:normal;font-display:swap;}

#giftPage{
  --cream:#f4eee2; --cream-2:#ece4d4; --red:#b23b2e; --red-deep:#8f2e23;
  --red-soft:rgba(178,59,46,.42); --ink:#2a241d; --muted:rgba(42,36,29,.55);
  --line:rgba(42,36,29,.14); --margin:clamp(20px,3vw,48px);
  --sans:"Helvetica Neue","Inter",Arial,sans-serif;
  background:var(--cream); color:var(--ink); font-family:var(--sans);
  min-height:100vh; -webkit-font-smoothing:antialiased;
}
#giftPage *{margin:0;padding:0;box-sizing:border-box;}

/* ---- top bar ---- */
#giftPage .g-top{display:flex;align-items:center;justify-content:space-between;
  padding:20px var(--margin);border-bottom:1px solid var(--line);}
#giftPage .g-top .g-logo img{height:30px;width:auto;display:block;}
#giftPage .g-top nav{display:flex;gap:26px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;}
#giftPage .g-top a{color:var(--red);text-decoration:none;}
#giftPage .g-top a:hover{opacity:.7;}

/* ---- two-column shell ---- */
#giftPage .gift-shell{max-width:1080px;margin:0 auto;
  padding:clamp(28px,5vw,64px) var(--margin);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,60px);align-items:start;}

/* ---- left: gift-card visual ---- */
#giftPage .gift-visual{position:sticky;top:32px;border-radius:20px;overflow:hidden;
  aspect-ratio:4/5;background:var(--cream-2);box-shadow:0 26px 60px rgba(42,36,29,.18);}
#giftPage .gift-visual .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
#giftPage .gift-visual .veil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(42,36,29,0) 40%,rgba(143,46,35,.86) 100%);}
#giftPage .gift-visual .brand{position:absolute;left:26px;right:26px;bottom:24px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;}
#giftPage .gift-visual .brand img{height:30px;filter:brightness(0) invert(1);}
#giftPage .gift-visual .brand span{color:var(--cream);font-size:12px;letter-spacing:.18em;text-transform:uppercase;}

/* ---- right: form panel ---- */
#giftPage .gift-panel h1{font-family:"Murmure",var(--sans);font-weight:400;
  font-size:clamp(30px,3.6vw,46px);line-height:1.05;color:var(--ink);margin-bottom:8px;}
#giftPage .gift-panel .lede{color:var(--muted);font-size:14px;line-height:1.55;margin-bottom:28px;max-width:46ch;}

#giftPage .fld{margin-bottom:24px;}
#giftPage .fld .lbl{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--red);margin-bottom:10px;}

/* tiers */
#giftPage .gift-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
#giftPage .tier{appearance:none;cursor:pointer;background:#fff;border:1px solid var(--red-soft);
  border-radius:12px;padding:18px 8px;text-align:center;color:var(--red);
  font-family:var(--sans);font-size:20px;font-weight:600;letter-spacing:.01em;
  transition:background .18s,border-color .18s,color .18s;}
#giftPage .tier:hover{border-color:var(--red);}
#giftPage .tier.is-active{background:var(--red);border-color:var(--red);color:var(--cream);}

/* inputs */
#giftPage .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
#giftPage .gift-panel input,#giftPage .gift-panel textarea{width:100%;background:#fff;
  border:1px solid var(--line);border-radius:10px;padding:13px 14px;color:var(--ink);
  font-family:var(--sans);font-size:15px;transition:border-color .2s;}
#giftPage .gift-panel input:focus,#giftPage .gift-panel textarea:focus{outline:none;border-color:var(--red);}
#giftPage .gift-panel input::placeholder,#giftPage .gift-panel textarea::placeholder{color:var(--muted);}
#giftPage .gift-panel textarea{resize:vertical;min-height:84px;line-height:1.5;}

/* CTA + terms */
#giftPage .gift-pay{width:100%;appearance:none;border:none;cursor:pointer;background:var(--red);
  color:var(--cream);font-family:var(--sans);font-size:14px;letter-spacing:.08em;text-transform:uppercase;
  padding:16px;border-radius:10px;transition:background .2s;margin-top:4px;}
#giftPage .gift-pay:hover{background:var(--red-deep);}
#giftPage .gift-terms{margin-top:18px;font-size:12px;color:var(--muted);line-height:1.6;}

/* ---- success / printable ---- */
#giftPage .gift-success{display:none;max-width:560px;margin:0 auto;
  padding:clamp(28px,5vw,64px) var(--margin);text-align:center;}
#giftPage .gift-success.show{display:block;}
#giftPage .gift-success h2{font-family:"Murmure",var(--sans);font-weight:400;font-size:32px;margin-bottom:10px;color:var(--ink);}
#giftPage .gift-success > p{color:var(--muted);font-size:14px;line-height:1.6;margin-bottom:18px;}
#giftPage .card-print{border:1px solid var(--red-soft);border-radius:16px;padding:28px;background:#fff;text-align:left;}
#giftPage .card-print .lab{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);}
#giftPage .card-print .amt{font-family:var(--sans);font-weight:600;font-size:40px;color:var(--ink);margin-top:6px;}
#giftPage .card-print .code{font-family:var(--sans);font-weight:600;font-size:22px;letter-spacing:.1em;margin-top:8px;color:var(--ink);}
#giftPage .card-print .note{margin-top:12px;font-size:12.5px;color:var(--muted);line-height:1.5;}
#giftPage .gift-success .gift-pay{max-width:240px;margin:18px auto 0;}

@media print{
  #giftPage .g-top,#giftPage .gift-success > p,#giftPage .gift-success .gift-pay{display:none!important;}
  #giftPage .card-print{border-color:#000;}
}

@media(max-width:760px){
  #giftPage .gift-shell{grid-template-columns:1fr;gap:24px;}
  #giftPage .gift-visual{position:static;aspect-ratio:16/10;}
  #giftPage .row2{grid-template-columns:1fr;}
}
