/* Gift flow (option B) for the main checkout. Hearth palette, mobile first. */
.gf-check { display: flex; align-items: flex-start; gap: 0.65rem; padding: 0.8rem 0.9rem; border: 1px solid rgba(58,34,20,0.22); border-radius: 12px; background: #fffaf2; cursor: pointer; margin: 0 0 1.1rem; transition: border-color 0.15s ease, background 0.15s ease; }
.gf-check:has(input:checked) { border-color: #3a2214; background: #fff; box-shadow: inset 0 0 0 1px #3a2214; }
.gf-check input { margin: 0.18rem 0 0; width: 18px; height: 18px; accent-color: #3a2214; flex: none; }
.gf-check-txt { display: flex; flex-direction: column; gap: 0.1rem; }
.gf-check-t { font-weight: 600; color: #2c241c; font-size: 1rem; }
.gf-check-d { color: #4a3626; font-size: 0.93rem; line-height: 1.35; }
.gf-fields { margin: -0.35rem 0 1.2rem; padding: 0.95rem 0.9rem 0.4rem; border-left: 2px solid rgba(154,74,34,0.35); background: rgba(255,250,242,0.6); border-radius: 0 10px 10px 0; }
.gf-fields[hidden], .gf-panel[hidden] { display: none !important; }
.gf-field { margin: 0 0 0.95rem; }
.gf-field .sh-quiet-label .gf-opt { text-transform: none; letter-spacing: 0.02em; }
.gf-note { width: 100%; box-sizing: border-box; font-family: var(--font); font-size: 1.08rem; color: var(--walnut); background: #fff; border: 1px solid rgba(58,34,20,0.24); border-radius: 10px; padding: 0.6rem 0.7rem; min-height: 92px; resize: vertical; line-height: 1.4; }
.gf-note:focus { outline: none; border-color: var(--terra); box-shadow: 0 0 0 1px var(--terra); }
.gf-count { margin: 0.3rem 0 0; text-align: right; font-family: "Courier Prime", monospace; font-size: 0.7rem; color: var(--fine); }
.gf-err { margin: 0.35rem 0 0; color: #9e3236; font-size: 0.9rem; }
.gf-sub { margin: 0 0 0.9rem; padding: 0.6rem 0.75rem; }
.gf-sub .gf-check-t { font-weight: 500; font-size: 0.97rem; }
.gf-ship { margin: 0 0 1rem; padding: 0.7rem 0.85rem; border-radius: 10px; background: rgba(233,205,187,0.35); color: #4a3626; font-size: 0.95rem; line-height: 1.4; }
.gf-sum { margin: 0.2rem 0 0.9rem; color: #4a3626; font-size: 1rem; line-height: 1.4; }
.gf-sum strong { color: #2c241c; font-weight: 600; }
.gf-who { border: 0; margin: 0 0 1.2rem; padding: 0; min-width: 0; }
.gf-who .sh-f-opt { padding: 0.95rem 0.95rem; }
.gf-hint { margin: -0.6rem 0 1.1rem; color: rgba(58,34,20,0.66); font-size: 0.9rem; line-height: 1.4; }
.gf-card { margin: 0 0 1rem; }
.gf-card .gf-check { margin-bottom: 0; }
.gf-card .gf-fields { margin: 0.6rem 0 0; }
body.gf-gift .sh-quiet-swap, body.gf-gift #sh-f-lmp-wrap { display: none !important; }
body.gf-gift #sh-f-next1 { margin-top: 1.4rem; }
/* Lead capture (name + email before payment) */
.lc-fields { margin: 0.2rem 0 0.9rem; }
.lc-field { margin: 0 0 0.75rem; }
.lc-help { margin: -0.2rem 0 0; }
.lc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
