:root {
    --gift-bg: #050505;
    --gift-panel: #0d0c0a;
    --gift-panel-soft: #15120d;
    --gift-line: #3e372b;
    --gift-line-bright: #756131;
    --gift-gold: #ddc578;
    --gift-gold-soft: #f1dfaa;
    --gift-ink: #f5f2ec;
    --gift-muted: #aaa39a;
}

.gift-page { min-height:70vh; overflow:hidden; background:var(--gift-bg); color:var(--gift-ink); }
.gift-preview-note { position:relative; z-index:20; border-bottom:1px solid #7a6328; background:#261f0d; padding:.75rem 1rem; color:#eadba9; font-size:.8rem; text-align:center; }
.gift-preview-note--inline { margin-bottom:1.2rem; border:1px solid #7a6328; border-radius:.55rem; text-align:left; }
.gift-preview-badge { display:inline-flex; margin:.55rem 0 0; border:1px solid #806b35; border-radius:999px; background:rgb(10 9 7 / .7); padding:.28rem .55rem; color:#e8d58f; font-size:.62rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.gift-page a { text-underline-offset:.2em; }
.gift-shell { width:min(100% - clamp(2rem,6vw,7rem),1280px); margin-inline:auto; }
.gift-eyebrow { color:var(--gift-gold); font-size:.74rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.gift-button { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; border:1px solid var(--gift-gold); border-radius:999px; background:var(--gift-gold); padding:.82rem 1.35rem; color:#090806; font-weight:800; line-height:1.2; text-decoration:none; transition:background .2s,border-color .2s,color .2s,transform .2s; }
.gift-button:hover,.gift-button:focus-visible { border-color:var(--gift-gold-soft); background:var(--gift-gold-soft); outline:none; transform:translateY(-1px); }
.gift-button--quiet { background:transparent; color:var(--gift-gold-soft); }
.gift-button--quiet:hover,.gift-button--quiet:focus-visible { background:#201b11; color:#fff1c7; }
.gift-text-link { color:var(--gift-gold); font-weight:750; text-decoration:none; }
.gift-text-link:hover,.gift-text-link:focus-visible { color:var(--gift-gold-soft); outline:none; }

.gift-hero { position:relative; isolation:isolate; min-height:clamp(520px,72vw,760px); display:flex; align-items:flex-end; background:#090a0c url('/images/social-share-default.jpg') center 42%/cover no-repeat; }
.gift-hero::before { position:absolute; z-index:-1; inset:0; content:''; background:linear-gradient(90deg,rgb(0 0 0 / .94) 0%,rgb(0 0 0 / .68) 42%,rgb(0 0 0 / .2) 70%),linear-gradient(0deg,#050505 0%,transparent 42%); }
.gift-hero__content { width:min(100% - clamp(2rem,8vw,9rem),1280px); margin:0 auto; padding:clamp(7rem,14vw,11rem) 0 clamp(4rem,8vw,7rem); }
.gift-hero h1 { max-width:13ch; margin:.7rem 0 0; font-family:var(--font-display); font-size:clamp(2.7rem,6.5vw,6.2rem); font-weight:400; line-height:.98; text-shadow:0 5px 25px #000; }
.gift-hero__lead { max-width:42rem; margin:1.45rem 0 0; color:#d6d1ca; font-size:clamp(1.04rem,1.6vw,1.3rem); line-height:1.7; }
.gift-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 1rem; margin-top:2rem; }
.gift-hero__note { color:#bdb6ad; font-size:.85rem; }

.gift-assurance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--gift-line); border-bottom:1px solid var(--gift-line); }
.gift-assurance>div { display:grid; grid-template-columns:2.7rem 1fr; gap:.9rem; padding:1.5rem clamp(1rem,3vw,2rem); }
.gift-assurance>div+div { border-left:1px solid var(--gift-line); }
.gift-assurance span { display:grid; width:2.45rem; height:2.45rem; place-items:center; border:1px solid var(--gift-line-bright); border-radius:50%; color:var(--gift-gold); font-size:1rem; }
.gift-assurance strong,.gift-assurance small { display:block; }
.gift-assurance strong { color:#eeeae4; font-size:.91rem; }
.gift-assurance small { margin-top:.2rem; color:var(--gift-muted); font-size:.78rem; line-height:1.45; }

.gift-catalog { padding:clamp(4.5rem,9vw,8rem) 0; }
.gift-section+.gift-section { margin-top:clamp(4.5rem,9vw,8rem); border-top:1px solid #2b2823; padding-top:clamp(4.5rem,9vw,8rem); }
.gift-section__heading { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:2rem; }
.gift-section__heading h2 { margin:.4rem 0 0; font-family:var(--font-display); font-size:clamp(1.8rem,3.5vw,3rem); font-weight:400; line-height:1.1; }
.gift-section__heading p:last-child { max-width:37rem; color:var(--gift-muted); line-height:1.65; }
.gift-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.gift-card { position:relative; overflow:hidden; border:1px solid #34302a; border-radius:.85rem; background:var(--gift-panel); transition:border-color .2s,transform .2s; }
.gift-card:hover { border-color:var(--gift-line-bright); transform:translateY(-3px); }
.gift-card__visual { position:relative; min-height:12rem; overflow:hidden; background:radial-gradient(circle at 50% 32%,#493d22,#0d0b08 65%); }
.gift-card__visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.72; }
.gift-card__visual::after { position:absolute; inset:0; content:''; background:linear-gradient(0deg,var(--gift-panel),transparent 72%); }
.gift-card__sigil { position:absolute; z-index:1; top:50%; left:50%; display:grid; width:5.5rem; height:5.5rem; place-items:center; border:1px solid rgb(221 197 120 / .58); border-radius:50%; color:var(--gift-gold-soft); font-family:var(--font-display); font-size:2.15rem; transform:translate(-50%,-50%); box-shadow:0 0 0 .5rem rgb(221 197 120 / .05),0 0 2.5rem rgb(221 197 120 / .15); }
.gift-card__body { display:flex; min-height:17rem; flex-direction:column; padding:1.5rem; }
.gift-card__meta { color:var(--gift-gold); font-size:.72rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.gift-card h3 { margin:.55rem 0 .7rem; color:#f5f2ec; font-family:var(--font-display); font-size:clamp(1.25rem,2vw,1.75rem); font-weight:400; line-height:1.2; }
.gift-card__description { color:#b8b2aa; font-size:.93rem; line-height:1.62; }
.gift-card__facts { display:flex; flex-wrap:wrap; gap:.45rem .8rem; margin:.35rem 0 0; color:#a39c93; font-size:.78rem; }
.gift-card__facts span+span::before { margin-right:.8rem; color:#655a42; content:'·'; }
.gift-card__footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1.5rem; }
.gift-card__price { color:#eee9df; font-size:1.12rem; font-weight:800; }
.gift-empty { grid-column:1/-1; border:1px dashed #403a32; border-radius:.8rem; padding:2rem; color:#8f8981; text-align:center; }
.gift-premium-card { display:grid; grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr); overflow:hidden; border:1px solid #4a402a; border-radius:1rem; background:linear-gradient(135deg,#17130c,#090807); }
.gift-premium-card__art { position:relative; min-height:25rem; overflow:hidden; background:url('/images/social-share-default.jpg') 58% center/cover no-repeat; }
.gift-premium-card__art::after { position:absolute; inset:0; content:''; background:linear-gradient(90deg,transparent 38%,#100d09),linear-gradient(0deg,rgb(0 0 0 / .45),transparent); }
.gift-premium-card__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,4.5rem); }
.gift-premium-card h2 { margin:.55rem 0 1rem; font-family:var(--font-display); font-size:clamp(2rem,4vw,3.8rem); font-weight:400; line-height:1.08; }
.gift-premium-card p { max-width:42rem; color:#bbb4aa; line-height:1.7; }
.gift-premium-card__footer { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; margin-top:1.8rem; }
.gift-premium-card__price { color:var(--gift-gold-soft); font-size:1.5rem; font-weight:800; }

.gift-paylater { display:flex; align-items:flex-start; gap:.9rem; border:1px solid #3a4f63; border-radius:.65rem; background:#0b151e; padding:1rem 1.15rem; color:#c9dae8; font-size:.84rem; line-height:1.55; }
.gift-paylater svg { width:1.45rem; flex:none; color:#80b5db; }
.gift-paylater strong { color:#eef7ff; }
.gift-paylater a { color:#a8d8f8; }

.gift-checkout { padding:clamp(3rem,7vw,6.5rem) 0; }
.gift-back { display:inline-flex; color:#aaa39a; font-size:.86rem; text-decoration:none; }
.gift-back:hover { color:var(--gift-gold); }
.gift-checkout__header { max-width:50rem; margin-top:1.4rem; }
.gift-checkout__header h1,.gift-account__header h1 { margin:.45rem 0 0; font-family:var(--font-display); font-size:clamp(2.2rem,5vw,4.4rem); font-weight:400; line-height:1.06; }
.gift-checkout__header>p:last-child,.gift-account__header>p:last-child { margin-top:1rem; color:var(--gift-muted); line-height:1.65; }
.gift-checkout__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(19rem,25rem); align-items:start; gap:clamp(1.5rem,4vw,3.5rem); margin-top:2.5rem; }
.gift-form { display:grid; gap:1.2rem; }
.gift-form__section { border:1px solid #34302b; border-radius:.8rem; background:#0b0a09; padding:clamp(1.35rem,3vw,2.2rem); }
.gift-form__heading { display:grid; grid-template-columns:2.2rem 1fr; gap:.85rem; align-items:start; }
.gift-form__number { display:grid; width:2.1rem; height:2.1rem; place-items:center; border:1px solid #766331; border-radius:50%; color:var(--gift-gold); font-size:.78rem; font-weight:800; }
.gift-form__heading h2 { font-family:var(--font-display); font-size:clamp(1.25rem,2.2vw,1.8rem); font-weight:400; }
.gift-form__heading p { margin-top:.28rem; color:#8f8981; font-size:.84rem; line-height:1.5; }
.gift-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.5rem; }
.gift-field { display:grid; gap:.45rem; color:#ded9d2; font-size:.83rem; font-weight:700; }
.gift-field--wide { grid-column:1/-1; }
.gift-field input,.gift-field textarea { width:100%; border:1px solid #46413a; border-radius:.5rem; background:#050505; padding:.78rem .85rem; color:#f3efe9; font:inherit; font-weight:400; }
.gift-field textarea { min-height:7.5rem; resize:vertical; }
.gift-field input:focus,.gift-field textarea:focus { border-color:var(--gift-gold); outline:2px solid rgb(221 197 120 / .13); }
.gift-field small { color:#807a73; font-weight:400; line-height:1.45; }
.gift-form__error { border:1px solid #773d3d; border-radius:.6rem; background:#2a1111; padding:1rem; color:#ffd4d4; }
.gift-terms { display:flex; align-items:flex-start; gap:.7rem; border:1px solid #39352f; border-radius:.6rem; background:#0c0b0a; padding:1rem; color:#b8b1a8; font-size:.82rem; line-height:1.55; }
.gift-terms input { margin-top:.2rem; accent-color:#d8bd71; }
.gift-submit { width:100%; padding:1rem 1.4rem; font-size:.96rem; cursor:pointer; }
.gift-submit:disabled { border-color:#514936; background:#29251d; color:#8f887c; cursor:not-allowed; transform:none; }
.gift-order-card { position:sticky; top:7rem; overflow:hidden; border:1px solid #4a402c; border-radius:.9rem; background:#11100d; }
.gift-order-card__art { position:relative; height:12rem; background:url('/images/social-share-default.jpg') center/cover no-repeat; }
.gift-order-card__art::after { position:absolute; inset:0; content:''; background:linear-gradient(0deg,#11100d,transparent 70%); }
.gift-order-card__art span { position:absolute; z-index:1; bottom:1rem; left:1.2rem; color:var(--gift-gold); font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.gift-order-card__body { padding:1.35rem; }
.gift-order-card h2 { font-family:var(--font-display); font-size:1.45rem; font-weight:400; line-height:1.25; }
.gift-order-card__price { margin-top:1rem; color:var(--gift-gold-soft); font-size:1.45rem; font-weight:800; }
.gift-order-card ul { display:grid; gap:.65rem; margin:1.25rem 0 0; padding:1.1rem 0 0; border-top:1px solid #302c25; color:#aaa39b; font-size:.8rem; list-style:none; }
.gift-order-card li { display:flex; gap:.55rem; }
.gift-order-card li::before { color:var(--gift-gold); content:'✦'; }

.gift-claim { display:grid; min-height:clamp(620px,78vh,840px); place-items:center; padding:clamp(3rem,8vw,7rem) 1rem; background:radial-gradient(circle at 50% 22%,#272014 0%,#090807 48%,#050505 74%); }
.gift-ticket { position:relative; width:min(100%,52rem); overflow:hidden; border:1px solid #786534; border-radius:1rem; background:#0d0b08; box-shadow:0 2rem 6rem rgb(0 0 0 / .5); text-align:center; }
.gift-ticket::before,.gift-ticket::after { position:absolute; top:11.2rem; width:2.1rem; height:2.1rem; border:1px solid #786534; border-radius:50%; background:#090807; content:''; }
.gift-ticket::before { left:-1.1rem; }.gift-ticket::after { right:-1.1rem; }
.gift-ticket__top { min-height:12.2rem; padding:2.4rem 2rem 3rem; background:linear-gradient(rgb(0 0 0 / .45),rgb(0 0 0 / .76)),url('/images/social-share-default.jpg') center 44%/cover; }
.gift-ticket__top h1 { max-width:17ch; margin:.6rem auto 0; font-family:var(--font-display); font-size:clamp(1.8rem,4.7vw,3.25rem); font-weight:400; line-height:1.1; text-shadow:0 3px 16px #000; }
.gift-ticket__body { padding:clamp(2rem,5vw,3.2rem); }
.gift-ticket__from { color:#c4bdb4; font-size:1rem; }
.gift-ticket blockquote { max-width:39rem; margin:1.5rem auto 0; border-left:2px solid var(--gift-gold); padding:.3rem 0 .3rem 1.2rem; color:#ddd4c9; font-family:Georgia,serif; font-size:1.03rem; font-style:italic; line-height:1.65; text-align:left; }
.gift-code { max-width:31rem; margin:1.8rem auto 0; border:1px solid #4b4231; border-radius:.65rem; background:#070605; padding:1rem; }
.gift-code span,.gift-code strong { display:block; }
.gift-code span { color:#817a70; font-size:.67rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.gift-code strong { margin-top:.45rem; color:var(--gift-gold-soft); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:clamp(1.08rem,3.6vw,1.65rem); letter-spacing:.08em; overflow-wrap:anywhere; }
.gift-ticket__expires { margin-top:1rem; color:#817a72; font-size:.78rem; }
.gift-ticket__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem; margin-top:1.6rem; }

.gift-account { padding:clamp(3rem,7vw,6.5rem) 0; }
.gift-account__header { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; }
.gift-account__columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.5rem,4vw,3rem); margin-top:3rem; }
.gift-account__column h2 { font-family:var(--font-display); font-size:1.65rem; font-weight:400; }
.gift-account__list { display:grid; gap:.85rem; margin-top:1.1rem; }
.gift-account-card { border:1px solid #35312b; border-radius:.7rem; background:#0b0a09; padding:1.2rem; }
.gift-account-card__top { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.gift-account-card h3 { font-family:var(--font-display); font-size:1.1rem; font-weight:400; line-height:1.3; }
.gift-account-card__price { color:var(--gift-gold-soft); font-size:.9rem; font-weight:800; white-space:nowrap; }
.gift-account-card__meta { margin-top:.4rem; color:#8f8981; font-size:.78rem; }
.gift-status { display:inline-flex; margin-top:.8rem; border:1px solid #4b4230; border-radius:999px; padding:.28rem .55rem; color:#c8b574; font-size:.65rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.gift-account-card__action { display:inline-flex; margin-top:1rem; color:var(--gift-gold); font-size:.82rem; font-weight:800; text-decoration:none; }
.gift-account-card__action:hover { color:var(--gift-gold-soft); }
.gift-account__empty { border:1px dashed #39352f; border-radius:.7rem; padding:1.5rem; color:#77716a; font-size:.88rem; }

.gift-promo { position:relative; isolation:isolate; overflow:hidden; border-top:1px solid #363127; border-bottom:1px solid #363127; background:#090908; color:#f4f1ea; }
.gift-promo::before { position:absolute; z-index:-2; inset:0; background:url('/images/social-share-default.jpg') 50% 44%/cover no-repeat; content:''; opacity:.42; }
.gift-promo::after { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#070706 0%,rgb(7 7 6 / .88) 46%,rgb(7 7 6 / .35)); content:''; }
.gift-promo__inner { width:min(100% - 3rem,1120px); min-height:21rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-inline:auto; padding:clamp(3rem,7vw,5.5rem) 0; }
.gift-promo__copy { max-width:42rem; }
.gift-promo h2 { margin:.55rem 0 1rem; font-family:var(--font-display); font-size:clamp(2rem,4vw,3.7rem); font-weight:400; line-height:1.08; text-shadow:0 3px 16px #000; }
.gift-promo__copy>p:last-of-type { max-width:37rem; color:#cbc5bd; line-height:1.7; }
.gift-promo__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; margin-top:1.5rem; }
.gift-promo__aside { display:grid; width:min(100%,19rem); flex:none; gap:.65rem; border:1px solid rgb(221 197 120 / .45); border-radius:.75rem; background:rgb(5 5 5 / .72); padding:1.35rem; backdrop-filter:blur(4px); }
.gift-promo__aside span { color:#aaa39a; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.gift-promo__aside strong { color:var(--gift-gold-soft); font-family:var(--font-display); font-size:1.22rem; font-weight:400; }
.gift-promo__aside small { color:#979088; line-height:1.5; }
.gift-promo--contained { width:min(100% - clamp(2.25rem,5vw,7.5rem),1280px); margin:clamp(4rem,8vw,7rem) auto; border:1px solid #40392b; border-radius:.9rem; }
.gift-promo--contained .gift-promo__inner { width:auto; min-height:18rem; padding:clamp(2.2rem,5vw,4rem); }
.gift-promo--compact .gift-promo__inner { min-height:16rem; }

@media(max-width:900px){
    .gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .gift-checkout__layout{grid-template-columns:1fr}
    .gift-order-card{position:static;grid-row:1}
    .gift-order-card__art{height:9rem}
    .gift-promo__aside{display:none}
}
@media(max-width:700px){
    .gift-hero{min-height:620px;background-position:62% center}
    .gift-hero::before{background:linear-gradient(0deg,#050505 0%,rgb(0 0 0 / .64) 58%,rgb(0 0 0 / .45))}
    .gift-assurance{grid-template-columns:1fr}
    .gift-assurance>div+div{border-top:1px solid var(--gift-line);border-left:0}
    .gift-section__heading,.gift-account__header{align-items:flex-start;flex-direction:column}
    .gift-grid,.gift-form__grid,.gift-account__columns{grid-template-columns:1fr}
    .gift-field--wide{grid-column:auto}
    .gift-premium-card{grid-template-columns:1fr}
    .gift-premium-card__art{min-height:14rem}
    .gift-premium-card__art::after{background:linear-gradient(0deg,#100d09,transparent 72%)}
    .gift-promo__inner{align-items:flex-start;flex-direction:column}
    .gift-promo--contained{width:min(100% - 1.5rem,1280px)}
}
@media(prefers-reduced-motion:reduce){.gift-button,.gift-card{transition:none}.gift-card:hover,.gift-button:hover{transform:none}}
