.fsg-gifts{--fsg-accent:var(--fss-brand,#6e3043);--fsg-border:#e7e2e3;--fsg-soft:#fafaf8;color:#292629;width:100%;clear:both;margin:24px 0;font-family:inherit;font-size:16px;line-height:1.5}
.fsg-gifts *{box-sizing:border-box}.fsg-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.fsg-heading h3{margin:0;font-size:22px}.fsg-heading>span,.fsg-help{font-size:13px;color:#656168}.fsg-help{margin:8px 0 16px}
.fsg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fsg-card{min-width:0}.fsg-gifts button{font:inherit;cursor:pointer}.fsg-gifts button:focus-visible,.fsg-gifts input:focus-visible{outline:3px solid var(--fsg-accent);outline-offset:3px}
.fsg-gifts .fsg-open{display:flex;flex-direction:column;align-items:stretch;width:100%;text-align:left;background:transparent;color:inherit;border:1px solid var(--fsg-border);border-radius:6px;padding:8px;min-height:44px;box-shadow:none;white-space:normal}
.fsg-open img,.fsg-placeholder{width:100%;aspect-ratio:1;object-fit:cover;border-radius:3px}.fsg-placeholder{display:flex;align-items:center;justify-content:center;background:var(--fsg-soft);font-size:32px;color:var(--fsg-accent)}.fsg-title{font-weight:600;margin-top:8px;overflow-wrap:anywhere}.fsg-choice-status{font-size:13px;margin-top:4px;color:var(--fsg-accent)}.fsg-summary{font-size:12px;display:block;margin:6px 0;overflow-wrap:anywhere}.fsg-card.is-selected .fsg-open{border-color:var(--fsg-accent);background:#fcf5f7}
.fsg-gifts .fsg-dialog{position:fixed;inset:0;width:min(680px,calc(100vw - 32px));max-width:none;max-height:85dvh;overflow:auto;padding:24px;border:0;border-radius:10px;background:#fff;color:#292629;margin:auto;box-shadow:0 12px 60px #0003}.fsg-dialog:not([open]){display:none!important}.fsg-dialog::backdrop{background:#17121788}.fsg-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.fsg-dialog-head h3{margin:0;font-size:24px}
.fsg-gifts .fsg-close{background:transparent;border:1px solid var(--fsg-border);color:#292629;width:44px;min-height:44px;font-size:26px;padding:0;border-radius:50%;flex-shrink:0}.fsg-dialog>p{font-size:14px}.fsg-options{display:grid;gap:12px}.fsg-option{display:grid;grid-template-columns:24px 76px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--fsg-border);border-radius:6px;cursor:pointer;min-height:64px}
.fsg-option:has(input:checked){border-color:var(--fsg-accent);background:#fcf5f7}.fsg-option input{width:20px;height:20px;margin:0;accent-color:var(--fsg-accent)}.fsg-option img{width:76px;height:76px;object-fit:cover}.fsg-option:not(:has(img)){grid-template-columns:24px 1fr}.fsg-option strong{display:block}.fsg-option-description{display:block;font-size:14px;white-space:pre-line;overflow-wrap:anywhere}.fsg-option-price{display:block;margin-top:6px;font-weight:600}
.fsg-option.is-unavailable{opacity:.65;cursor:not-allowed}
.fsg-dialog-actions{display:flex;gap:12px;justify-content:space-between;position:sticky;bottom:-24px;background:#fff;padding:16px 0 0}.fsg-gifts .fsg-clear,.fsg-gifts .fsg-done{min-height:44px;border:1px solid var(--fsg-border);border-radius:4px;padding:10px 20px;background:#fff;color:#292629}.fsg-gifts .fsg-done{background:var(--fsg-accent);border-color:var(--fsg-accent);color:#fff;min-width:120px}
.fsg-error,.fsg-dialog-error{color:#a12636;font-size:14px;margin:8px 0}.fsg-error:empty,.fsg-dialog-error:empty{display:none}.fsg-totals{margin-top:16px;padding:14px 0;border-top:1px solid var(--fsg-border);border-bottom:1px solid var(--fsg-border);display:grid;gap:6px}.fsg-totals>span{display:flex;justify-content:space-between;gap:16px}.fsg-totals strong{font-weight:600}
@media(max-width:767px){.fsg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fsg-gifts .fsg-dialog{inset:auto 0 0;width:100%;margin:0;max-height:90dvh;border-radius:16px 16px 0 0;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.fsg-dialog-actions{bottom:-20px;padding-bottom:env(safe-area-inset-bottom)}.fsg-option{grid-template-columns:22px 60px 1fr;gap:10px;padding:10px}.fsg-option img{width:60px;height:60px}.fsg-open img,.fsg-placeholder{max-height:140px}}

.fss-product-page .fsg-heading h3{font-size:16px}.fss-product-page .fsg-title{font-size:13px}.fss-product-page .fsg-choice-status{font-size:11px}

/* 0.4.5: emphasis on gift choices and the actual computed total. */
.fss-product-page .fsg-heading h3{font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:400;color:#302b2d}
.fss-product-page .fsg-title{font-size:14px;line-height:1.4;color:#302b2d}
.fss-product-page .fsg-choice-status{font-size:12px;line-height:1.5}
.fss-product-page .fsg-card.is-selected .fsg-open{border-color:#653247;box-shadow:inset 0 0 0 1px #653247;background:#f5e9ee}
.fss-product-page .fsg-totals{margin-top:22px;padding:18px 0 12px;border-bottom:0;gap:12px}
.fss-product-page .fsg-totals>span:first-child{font-size:13px;color:#62585e}
.fss-product-page .fsg-totals>span:last-child{align-items:center;font-size:17px;color:#302b2d}
.fss-product-page .fsg-total{font:400 30px/1.3 Georgia,'Times New Roman',serif;color:#653247;text-align:right;overflow-wrap:anywhere}
@media(max-width:767px){.fss-product-page .fsg-heading h3{font-size:21px}.fss-product-page .fsg-total{font-size:27px}}
