/* Free gift pages */
.gf-hero{background:radial-gradient(120% 90% at 0% 0%,#3A2F27 0%,var(--lx-espresso) 45%,#201A16 100%);color:#E9DFD2;padding:clamp(40px,6vw,100px) 0;position:relative;overflow:hidden}
.gf-hero::after{content:"";position:absolute;right:-180px;top:-200px;width:560px;height:560px;border-radius:50%;border:1px solid rgba(217,185,131,.14)}
.gf-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center;position:relative;z-index:1}
.gf-hero .lx-kicker{color:#D9B983}
.gf-title{font-family:var(--lx-serif)!important;font-weight:400!important;font-size:clamp(42px,5vw,74px)!important;line-height:1!important;color:#FBF8F3!important;margin:4px 0 18px!important}
.gf-lede{font-size:17px;line-height:1.7;color:#C9BCAB;max-width:46ch}
.gf-steps{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:12px}
.gf-steps li{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:center;padding:14px 16px;border:1px solid rgba(217,185,131,.22);background:rgba(255,255,255,.03)}
.gf-steps span{width:40px;height:40px;border-radius:50%;border:1px solid rgba(217,185,131,.45);display:grid;place-items:center;font-family:var(--lx-serif);color:#D9B983}
.gf-steps b{display:block;color:#FBF8F3;font-weight:500}
.gf-steps div{font-size:13.5px;color:#BFB09C}
.gf-card{background:#FBF8F3;color:var(--lx-ink);padding:clamp(24px,3vw,42px);box-shadow:0 50px 80px -40px rgba(0,0,0,.6)}
.gf-channels{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gf-channels legend{font-size:13px;color:#5A5048;margin-bottom:8px;padding:0}
.gf-ch{position:relative;display:block!important;cursor:pointer}
.gf-ch input{position:absolute;opacity:0}
.gf-ch span{display:block;padding:12px 14px;border:1px solid var(--lx-line);background:#fff;font-size:14px;color:var(--lx-ink);transition:all .2s}
.gf-ch input:checked+span{border-color:var(--lx-ink);box-shadow:inset 0 0 0 1px var(--lx-ink)}
.gf-ch input:focus-visible+span{outline:2px solid var(--lx-brass)}
.gf-hint{font-size:12px;color:var(--lx-muted)}
.gf-gifts{padding:clamp(56px,7vw,100px) 0}
.gf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px}
.gf-item{display:flex;flex-direction:column;gap:10px;background:#FFFDF9;border:1px solid var(--lx-line);padding:14px 14px 18px;position:relative}
.gf-item h3{font-family:var(--lx-serif)!important;font-size:22px!important;font-weight:500!important;margin:4px 0 0!important}
.gf-item p{font-size:13.5px;color:var(--lx-muted);margin:0}
.gf-item-img{position:relative;aspect-ratio:1;overflow:hidden;background:var(--lx-stone)}
.gf-item-img img{width:100%;height:100%;object-fit:cover}
.gf-free{position:absolute;left:10px;top:10px;background:var(--lx-brass);color:#fff;padding:4px 10px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.gf-item.is-pick{cursor:pointer;transition:border-color .2s,box-shadow .2s}
.gf-item.is-pick input{position:absolute;opacity:0}
.gf-item.is-pick:has(input:checked){border-color:var(--lx-ink);box-shadow:inset 0 0 0 1px var(--lx-ink)}
.gf-tick{position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;background:var(--lx-ink);color:#fff;display:grid;place-items:center;opacity:0;transition:opacity .2s}
.gf-tick .ic{width:16px;height:16px}
.gf-item.is-pick:has(input:checked) .gf-tick{opacity:1}
.gf-left{color:var(--lx-oxblood);font-size:12px}
.gf-step{padding:clamp(34px,5vw,70px) 0 90px}
.gf-actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}
.gf-faq{padding:0 0 clamp(60px,8vw,110px)}
.gf-faq .em-h2{margin-bottom:20px!important}
.gf-faq details{border-top:1px solid var(--lx-line);padding:4px 0}
.gf-faq details:last-child{border-bottom:1px solid var(--lx-line)}
.gf-faq summary{cursor:pointer;list-style:none;padding:18px 0;font-family:var(--lx-serif);font-size:21px;display:flex;justify-content:space-between}
.gf-faq summary::after{content:"+";font-family:var(--lx-sans);font-weight:300}
.gf-faq details[open] summary::after{content:"–"}
.gf-faq p{color:#5A5048;margin:0 0 18px}
@media (max-width:900px){.gf-hero-grid{grid-template-columns:1fr}}
@media (max-width:767px){.gf-grid{grid-template-columns:1fr 1fr;gap:12px}.gf-item h3{font-size:18px!important}.gf-channels{grid-template-columns:1fr 1fr}}

/* Gift pricing. Brass is the signal for "free"; a price gets a quieter bordered badge, so the two
   never read as the same kind of thing at a glance. Price text is ink, not brass: brass passes
   contrast as a mark on ivory but not as text. */
.gf-free.is-paid{background:#FBF8F3;color:var(--lx-ink);border:1px solid var(--lx-ink);letter-spacing:.08em}
.gf-price{font-size:12.5px;color:var(--lx-muted);margin:0}
.gf-price small{display:block;margin-top:2px;opacity:.85}

/* A gift that cannot be sent on this order is dimmed rather than hidden: the customer should see
   what a larger order would have reached. */
.gf-item.is-off{opacity:.55}
.gf-item.is-off .gf-item-img{filter:saturate(.35)}
.gf-item.is-off,.gf-item.is-off *{cursor:not-allowed}
.gf-note{margin-top:22px;color:var(--lx-muted)}

.gf-actions.is-stack{flex-direction:column;margin-top:18px}
.gf-actions.is-stack .em-btn{width:100%}

/* Claims parked while we wait for an Etsy or Amazon order to reach us. */
.gf-held{border:1px solid var(--lx-line);background:#FFFDF9;padding:12px 14px;margin:0 0 16px}
.gf-held h3{font-family:var(--lx-serif);font-size:16px;font-weight:500;margin:0 0 6px}
.gf-held ul{list-style:none;padding:0;margin:0;display:grid;gap:5px;font-size:13px}
.gf-held b{font-weight:500}
.gf-held-ok{color:var(--lx-ink);font-weight:500}
.gf-held .em-muted{color:var(--lx-muted)}

@media (max-width:767px){.gf-price{font-size:12px}}
