.lib-gift-page{max-inline-size:1000px;margin-inline:auto;padding-block:24px;padding-inline:var(--gutter);text-align:start}
.lib-gift-page .lib-h1{margin-block:0;font:600 34px/1.1 var(--font-head);color:var(--navy);overflow-wrap:anywhere;text-wrap:balance}
.lib-gift-page .lib-eb{margin-block:0 8px;color:var(--bronze);font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.lib-gift-page .lib-lede{max-inline-size:38em;font-size:17px;margin-block:16px;line-height:1.5}
.lib-gift-price{font-size:22px;font-weight:700;color:var(--navy);margin-block:20px}
.lib-gift-grid{display:grid;gap:20px;align-items:start}
.lib-gift-page [data-gift-form]{padding:20px;min-inline-size:0}
.lib-gift-page .lib-inp{inline-size:100%;min-inline-size:0;min-block-size:48px}
.lib-gift-page textarea.lib-inp{block-size:120px;padding-block:10px;resize:vertical}
.lib-gift-preview{overflow-wrap:anywhere;min-inline-size:0;min-block-size:190px;padding:0 20px 18px;border:2px solid var(--gold);background:var(--cream);overflow:hidden}
.lib-gift-preview .lib-gift-band{margin-block:0 20px;margin-inline:-20px;padding-block:9px;padding-inline:20px;background:var(--navy);color:var(--cream);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.lib-gift-preview [data-preview-name]{margin-block:0 12px;font:600 27px/1.2 var(--font-head);color:var(--navy)}
.lib-gift-preview [data-preview-message]{margin-block:0 16px;white-space:pre-wrap;font-style:italic;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.lib-gift-preview [data-preview-message]:empty{display:none}
.lib-gift-preview [data-preview-date]{margin-block:0;font-size:13px;color:var(--mut)}
.lib-gift-page button{margin-block-start:16px;min-block-size:44px}
.lib-gift-page button:disabled{opacity:.65;cursor:default}
.lib-gift-page [aria-invalid=true]{border-color:var(--err);border-width:2px}
.lib-gift-page .lib-err{color:var(--err);line-height:1.5}
.lib-gift-page .lib-err:empty{margin-block:0}
.lib-gift-page [data-gift-submit],.lib-gift-page [data-year-add],.lib-gift-page [data-checkout-link]{inline-size:100%}
.lib-gift-added{border-color:var(--ok)}
.lib-gift-added p{margin-block:0 16px;font-weight:700;color:var(--ok)}
.lib-gift-added [data-gift-another]{display:flex}
.lib-gift-section{margin-block:36px}
.lib-gift-section ol{list-style:none;counter-reset:gift-step;padding:0;margin-block:18px 0;display:grid;gap:16px}
.lib-gift-section ol li{counter-increment:gift-step;position:relative;padding-inline-start:48px;min-block-size:34px;margin:0}
.lib-gift-section ol li::before{content:counter(gift-step);position:absolute;inset-inline-start:0;inset-block-start:0;display:grid;place-items:center;inline-size:32px;block-size:32px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:700}
.lib-gift-page details{border-block-end:1px solid var(--line);padding-block:8px}
.lib-gift-page summary{position:relative;min-block-size:44px;display:flex;align-items:center;padding-inline-end:36px;cursor:pointer;font-weight:700;list-style:none;color:var(--navy)}
.lib-gift-page summary::-webkit-details-marker{display:none}
.lib-gift-page summary::before,.lib-gift-page summary::after{content:"";position:absolute;inset-inline-end:8px;inset-block-start:21px;inline-size:14px;block-size:2px;background:currentColor}
.lib-gift-page summary::after{transform:rotate(90deg)}
.lib-gift-page details[open] summary::after{display:none}
.lib-gift-page details p{margin-block:4px 12px;max-inline-size:48em;line-height:1.6}
.lib-gift-facts{list-style:none;display:grid;gap:14px;padding:0;margin-block:24px}
.lib-gift-facts li{display:flex;align-items:start;gap:10px}
.lib-gift-facts .lib-ic{color:var(--bronze);margin-block-start:2px}
.lib-gift-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.lib-gift-page :focus-visible,.lib-gift-links :focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.lib-gift-page[data-redeem-root]{max-inline-size:650px}
[data-redeem-root] form{margin-block-start:24px}
[data-redeem-root] input[name=code]{font-size:clamp(1rem,5.2vw,1.5rem);letter-spacing:.12em;text-align:center;text-transform:uppercase;block-size:44px;min-block-size:44px;padding-inline:8px}
@media(max-width:480px){[data-redeem-root] input[name=code]{letter-spacing:.04em}}
[data-redeem-message]:empty{display:none}
[data-redeem-message]{padding:16px;border:1px solid var(--line);border-radius:var(--r);background:#fff;line-height:1.6}
[data-state=success] [data-redeem-message]{border-color:var(--ok);color:var(--ok)}
[data-state=error] [data-redeem-message]{border-color:var(--err);color:var(--err)}
@media(min-width:900px){
.lib-gift-page{padding-block:44px}
.lib-gift-page .lib-h1{font-size:50px}
.lib-gift-page .lib-lede{font-size:19px}
.lib-gift-grid{grid-template-columns:1fr 1fr;gap:32px}
.lib-gift-grid [data-gift-form],.lib-gift-grid [data-gift-added]{grid-column:1;grid-row:1}
.lib-gift-preview{grid-column:2;grid-row:1;position:sticky;inset-block-start:24px}
.lib-gift-page [data-gift-form]{padding:26px}
.lib-gift-page [data-year-add]{inline-size:auto}
.lib-gift-section{margin-block:44px}
}
@media(prefers-reduced-motion:reduce){.lib-gift-page *{animation:none;transition:none;scroll-behavior:auto}}
