.gift-generator{background:#e9f0ef;scroll-margin-top:110px}.gift-preview-note{display:inline-block;background:#fff6e8;color:#725422;border:1px solid #ead7b5;border-radius:99px;padding:9px 16px;font-size:11px;margin:0 0 35px}.gift-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:9%;align-items:end;margin-bottom:45px}.gift-heading h2{font-size:clamp(40px,4.3vw,65px);line-height:1.12;margin-bottom:0}.gift-heading>p{font-size:16px;line-height:1.9}.gift-form fieldset{border:0;padding:0;margin:0 0 35px;min-width:0}.gift-form legend{font-weight:600;font-size:18px;line-height:1.5;margin-bottom:23px;padding:0}.gift-form legend>span{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:50%;border:1px solid #9bb5ba;margin-right:11px;font-size:11px;font-weight:400}.gift-design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gift-design{display:block;position:relative;cursor:pointer;min-width:0}.gift-design>input{position:absolute;left:18px;bottom:30px;opacity:0;width:1px;height:1px}.gift-design-image{display:block;padding:12px;background:#fff;border:2px solid transparent;border-bottom:0;border-radius:19px 19px 0 0;transition:border-color .2s}.gift-design-image img{display:block;width:100%;height:auto;aspect-ratio:842/595;object-fit:contain;border-radius:8px;box-shadow:0 5px 14px #123b5010;transition:transform .3s}.gift-design:hover img{transform:translateY(-3px)}.gift-design-caption{display:block;background:#fff;padding:15px 40px 20px 19px;border:2px solid transparent;border-top:0;border-radius:0 0 19px 19px;position:relative}.gift-design-caption strong{display:block;font-size:17px;font-weight:500}.gift-design-caption small{display:block;font-size:12px;line-height:1.7;margin-top:5px;color:#587782}.gift-design-caption i{position:absolute;right:17px;top:20px;width:23px;height:23px;display:grid;place-items:center;font:13px Arial,sans-serif;background:#e7eff0;border-radius:50%;color:transparent}.gift-design>input:checked~.gift-design-image,.gift-design>input:checked~.gift-design-caption{border-color:#175979}.gift-design>input:checked~.gift-design-caption i{color:#fff;background:#175979}.gift-design>input:focus-visible~.gift-design-image{outline:3px solid #175979;outline-offset:3px}.gift-form-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:7%;align-items:start;margin-top:50px}.gift-fields{background:#fff;padding:35px;border-radius:23px;min-width:0}.gift-form label:not(.gift-design){display:block;font-size:13px;line-height:1.65;color:#123b50}.gift-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gift-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.gift-form textarea{display:block;width:100%;min-width:0;min-height:49px;border:1px solid #cddcde;border-radius:10px;background:#fcfdfb;color:#123b50;padding:12px 14px;font:14px/1.5 var(--sans);margin:7px 0 19px;box-sizing:border-box}.gift-form input:focus,.gift-form textarea:focus{outline:2px solid #72a5b8;outline-offset:2px}.gift-form textarea{resize:vertical;margin-bottom:0}.gift-counter{display:block;text-align:right;font-size:10px;color:#6b8490;margin-top:6px}.gift-field-hint{font-size:12px;line-height:1.7;color:#5d7883;margin-top:-7px}.gift-form .gift-confirm{display:flex!important;align-items:start;gap:12px;cursor:pointer;font-size:12px!important}.gift-confirm input{margin:3px 0 0;flex:none;width:18px;height:18px;accent-color:#175979}.gift-privacy{font-size:11px;line-height:1.8;margin:20px 0}.gift-privacy a{color:#175979}.gift-submit{width:100%;cursor:pointer}.gift-submit:disabled{opacity:.65;cursor:wait}.gift-status{font-size:13px;line-height:1.8;margin-top:17px}.gift-status.is-error{color:#933d2c}.gift-summary{position:sticky;top:135px;padding:28px;background:#f4eddf;border-radius:23px;min-width:0}.gift-summary-image{margin:15px 0 23px}.gift-summary-image img{display:block;width:100%;height:auto;box-shadow:0 12px 30px #123b5015;border-radius:8px}.gift-summary dl{margin:0 0 20px}.gift-summary dl>div{display:grid;grid-template-columns:65px 1fr;gap:15px;border-bottom:1px solid #d3d9d1;padding:12px 0}.gift-summary dt{font-size:11px;color:#587782}.gift-summary dd{font:500 21px/1.3 var(--serif);margin:0;overflow-wrap:anywhere}.gift-summary>p{font-size:12px;line-height:1.8}.gift-summary-rule{padding-top:15px;margin-top:18px;border-top:1px solid #d3d9d1}.gift-summary-rule strong{font-size:12px}.gift-summary-rule p{font-size:11px;line-height:1.8;color:#587782}.gift-result{max-width:550px;width:calc(100% - 30px);border:0;border-radius:24px;padding:42px;background:#f8f5ee;color:#123b50;text-align:center;box-sizing:border-box}.gift-result::backdrop{background:#082c426e;backdrop-filter:blur(5px)}.gift-result h2{font-size:36px;line-height:1.15;margin:20px 0}.gift-result>p:not(.eyebrow){font-size:14px;line-height:1.8}.gift-result-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:27px;color:#123b50;cursor:pointer}.gift-result-mark{display:grid;place-items:center;width:55px;height:55px;background:#d8e9e4;color:#175979;border-radius:50%;margin:0 auto 18px;font-size:24px}.gift-result-actions{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:26px}.gift-result-actions .btn{width:100%}.gift-result-actions .text-link{font-size:12px}@media(max-width:1000px){.gift-heading{gap:5%}.gift-form-layout{gap:4%;grid-template-columns:1.1fr .9fr}.gift-fields{padding:25px}.gift-summary{padding:22px}.gift-fields-row{gap:13px}.gift-design-grid{gap:13px}.gift-design-caption{padding-left:14px}.gift-design-caption strong{font-size:15px}.gift-design-caption small{font-size:11px}}@media(max-width:760px){.gift-heading,.gift-form-layout{grid-template-columns:1fr;gap:24px}.gift-heading h2{font-size:42px}.gift-heading>p{font-size:15px}.gift-design-grid{grid-template-columns:1fr;gap:15px}.gift-design{display:grid;grid-template-columns:44% 56%;background:#fff;border:2px solid transparent;border-radius:15px;overflow:hidden}.gift-design:has(input:checked){border-color:#175979}.gift-design-image,.gift-design-caption{border:0!important;border-radius:0}.gift-design-image{padding:9px}.gift-design-caption{padding:20px 32px 15px 10px;align-self:center}.gift-design-caption i{right:10px;top:22px;width:20px;height:20px;font-size:11px}.gift-design-caption small{font-size:10px}.gift-form-layout{margin-top:35px}.gift-summary{position:static;grid-row:1;padding:20px}.gift-summary-image{max-width:280px;margin:15px auto}.gift-summary dl{display:none}.gift-summary-rule{display:none}.gift-summary>p{font-size:11px;margin-bottom:0}.gift-fields{padding:23px 20px}.gift-fields-row{grid-template-columns:1fr;gap:0}.gift-form legend{font-size:16px}.gift-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.gift-form textarea{font-size:16px}.gift-result{padding:35px 22px}.gift-result h2{font-size:31px}.gift-preview-note{font-size:10px;line-height:1.6;border-radius:12px}}
@media(prefers-reduced-motion:reduce){.gift-design-image img{transition:none}.gift-design:hover img{transform:none}}

.gift-result [hidden]{display:none!important}.gift-generator .gift-summary-image img,.gift-generator .gift-design-image img{aspect-ratio:842/595;border-radius:8px}.gift-design:focus-within{outline-offset:4px}
/* A guest's image stays complete inside the custom voucher panel. */
.gift-upload{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:30px;margin-top:24px;padding:26px;background:#fff;border:1px solid #bdd0cb;border-radius:20px;align-items:center}
.gift-upload>div{min-width:0}.gift-upload p{font-size:12px;line-height:1.7;margin-top:10px;overflow-wrap:anywhere}
.gift-upload input[type=file]{font-size:13px!important;min-width:0;max-width:100%;height:auto;white-space:normal;padding:12px!important;background:#f4f8f5!important;margin:10px 0!important}
.gift-upload input[type=file]::file-selector-button{border:0;border-radius:7px;padding:9px 12px;margin-right:10px;background:#175979;color:#fff;font:inherit;cursor:pointer}
.gift-upload .text-link{border:0;border-bottom:1px solid currentColor;background:transparent;padding:4px 0;font-size:11px;margin-top:10px}
.gift-upload-view{min-height:190px;border:1px dashed #b4cac2;border-radius:12px;padding:12px;background:#edf4f0;display:grid;place-items:center}
.gift-upload-view img{width:100%;height:230px;object-fit:contain;border-radius:0;aspect-ratio:auto;box-shadow:none}
.gift-upload-view span{font-size:12px;color:#628079;text-align:center}
.gift-upload .is-error{color:#933d2c}
.gift-summary-image{position:relative}
.gift-summary-image .gift-custom-image{position:absolute;left:6.06%;top:13.81%;width:21.55%;height:70.95%;object-fit:contain;background:#f8f2e8;padding:0;border-radius:0;aspect-ratio:auto;box-shadow:none}
@media(max-width:760px){.gift-upload{grid-template-columns:minmax(0,1fr);gap:18px;padding:19px}.gift-upload input[type=file]{font-size:16px!important}.gift-upload-view{min-height:150px}.gift-upload-view img{height:190px}.gift-upload input[type=file]::file-selector-button{display:block;margin:0 0 10px;max-width:100%}}

.gift-generator [hidden]{display:none!important}
