/* The invitation and wishes belong to the same wall; editorial content begins after it. */
.celebration-board{position:relative;padding:26px 28px 12px;border:8px solid #d8c6a4;border-radius:3px;background:radial-gradient(#b9b19b26 .6px,transparent .8px) 0 0/5px 5px,#eeebdf;box-shadow:inset 0 0 0 2px #faf5e8,0 4px 12px #62543e15;margin:25px 0 55px;min-width:0}
.celebration-board .invitation-hero.wall-invitation{margin:8px auto 24px;max-width:800px}
.celebration-board .wall-transition{margin:16px 5px 24px;font-size:28px}
.celebration-board .gift-notes{margin-bottom:25px}.celebration-board .add-wish-after{margin-bottom:15px}
.invitation-share.owner-toolbar{padding:18px 22px;margin:20px 0 12px}.owner-toolbar h2{font-size:27px;margin:0 0 10px}.owner-toolbar .share-buttons>*{font-size:14px;min-height:44px;padding:8px 12px}.owner-toolbar details{font-size:14px;margin-top:10px}.owner-toolbar [data-share-status]:empty{display:none}
.zkn-afterboard{padding-top:5px}.zkn-afterboard>.eyebrow{margin-bottom:10px}.zkn-afterboard .list-ideas{border-top:0;padding-top:8px}
.optional-notes{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;margin:35px 0}
.newsletter-note,.optional-notes .support-aside{position:relative;padding:27px 26px;background:#f8f7ed;border:1px solid #d7d0bb;box-shadow:2px 4px 8px #60584416;margin:0;min-width:0}
.newsletter-note:before{content:'';position:absolute;top:-9px;left:32px;width:55px;height:19px;background:#c4cbb29c;transform:rotate(-6deg)}
.newsletter-note h2{font-size:31px;line-height:1.12;margin:0 0 12px}.newsletter-note>p:not(.eyebrow){font-size:15px;line-height:1.6}.newsletter-note summary{cursor:pointer;font:24px/1.3 Notebook,cursive;padding:10px 0;min-height:44px}.newsletter-form{margin-top:18px}.newsletter-form label:not(.check){display:block;font-size:16px;margin:12px 0 6px}.newsletter-form input[type=email]{width:100%;min-width:0}.newsletter-form .check{display:flex;align-items:flex-start;gap:10px;font:14px/1.55 system-ui,sans-serif;margin:20px 0 12px;cursor:pointer}.newsletter-form .check input{flex:none;margin-top:3px}.newsletter-form .muted{font-size:13px;line-height:1.5}.newsletter-form button{font-size:15px}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gift-room{max-width:940px;margin:32px auto 45px;padding:18px;background:#eeebdf;border:6px solid #d8c6a4;border-radius:3px}
main .gift-room .gift-detail-note{transform:none;padding:32px 30px 40px;--note-paper:#fffaf0}
.gift-detail-note h1{font:44px/1.15 Notebook,cursive;margin:0 0 24px;overflow-wrap:anywhere}
.gift-detail-composition{display:flex;align-items:flex-start;gap:30px;margin:0 0 24px}
.gift-photo-frame{position:relative;flex:0 1 40%;width:40%;max-width:300px;margin:10px 0;padding:7px 7px 22px;background:#fffef9;box-shadow:2px 4px 8px #65583b24;transform:rotate(-.6deg)}
.gift-photo-frame:before{content:'';position:absolute;top:-8px;left:32%;width:58px;height:20px;background:#c3cdb299;transform:rotate(7deg)}
.gift-photo-frame .detail-photo{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;margin:0}
.gift-detail-copy{flex:1;min-width:0}.gift-detail-copy p{font-size:17px;line-height:1.6}.gift-detail-copy .button{font-size:16px;white-space:normal}
.reservation-note{position:relative;background:#eef0e3;padding:26px;border:1px solid #d0d5c2;margin-top:15px;box-shadow:1px 3px 6px #65583b12}
.reservation-note:before{content:'';position:absolute;right:25px;top:-8px;width:44px;height:18px;background:#d0bda687;transform:rotate(6deg)}
.reservation-note h2{font-size:32px;margin-bottom:10px}.reservation-note p{font-size:15px}.reservation-fields{padding:0;border:0;margin:0;min-width:0}.reservation-fields p{margin:16px 0}.reservation-fields label{display:block;margin-bottom:5px}.reservation-fields input{width:100%;max-width:100%;min-width:0}.reservation-fields .helptext{display:block;font-size:13px;color:#65705f;margin-top:5px}
main input[type=checkbox]{appearance:none;-webkit-appearance:none;width:23px;height:23px;min-width:23px;border:1.5px solid #81937a;border-radius:4px 2px 5px 3px;background:#fffdf4;box-shadow:1px 1px 0 #ccd1bf;vertical-align:middle;cursor:pointer;flex:none;padding:0}
main input[type=checkbox]:checked{background:#e2ead7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m4 12 5 6L21 5M5 11l4 6L20 5' fill='none' stroke='%23556f50' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px 22px no-repeat}
main input[type=radio]{accent-color:#73876a;min-width:20px;min-height:20px;cursor:pointer}
main input[type=checkbox]:focus-visible,main input[type=radio]:focus-visible{outline:2px solid #526b7b;outline-offset:4px}
main input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}
.idea-preview-open{display:block;text-align:left;width:100%;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;color:inherit;cursor:zoom-in}
.idea-preview-open>img{display:block;width:100%;height:145px;object-fit:contain;margin-bottom:12px}.idea-preview-open strong{display:block;font:23px/1.2 Notebook,cursive;margin:8px 0}.idea-preview-open>span{display:block;font:14px/1.4 system-ui,sans-serif}.idea-preview-open .idea-peek{font-size:13px;margin-top:12px;text-decoration:underline;text-underline-offset:4px}
.idea-pick{display:flex;gap:10px;align-items:center;min-height:48px;padding:8px 0;margin-top:14px;font:14px/1.4 system-ui,sans-serif;cursor:pointer}.idea-pick input{margin:0}
.idea-preview-dialog{position:fixed;inset:0;width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 40px);padding:32px 27px 25px;background:#fffaf0;color:#34423d;border:1px solid #cfc3a7;border-radius:4px;box-shadow:4px 8px 30px #302d2840;overflow:auto;box-sizing:border-box}
.idea-preview-dialog::backdrop{background:#333c365e;backdrop-filter:blur(2px)}
.idea-preview-dialog .dialog-close{position:absolute;right:10px;top:7px;min-width:44px;min-height:44px;font-size:28px;border:0;background:transparent;box-shadow:none;padding:0}.idea-preview-image{display:block;width:100%;height:210px;object-fit:contain;margin:8px auto 16px}.idea-preview-dialog h2{font-size:34px;margin-bottom:15px}.idea-preview-dialog p{font-size:16px;line-height:1.5}.idea-preview-dialog .muted{font-size:13px}.idea-preview-dialog .idea-pick{border-top:1px solid #ded5bf;margin-top:22px;padding-top:18px}.idea-preview-done{font-size:15px;min-height:44px;margin-top:10px}
@media(max-width:700px){.celebration-board{padding:20px 12px 8px;border-width:5px;margin-top:20px}.celebration-board .invitation-copy{padding:22px 15px}.celebration-board .postcard .postcard-kicker{font-size:19px}.celebration-board .postcard .invitation-copy h1{font-size:35px}.celebration-board .invitation-composition{gap:12px}.celebration-board .postcard .invitation-message>p{font-size:15px}.celebration-board .gift-notes{gap:22px 11px}.celebration-board .gift-note{padding-left:10px!important;padding-right:10px!important}.celebration-board .gift-actions{grid-template-columns:1fr!important;gap:0!important}.celebration-board .gift-actions a{min-height:36px!important}.celebration-board .wall-transition{font-size:25px}.optional-notes{grid-template-columns:1fr;gap:27px}.invitation-share.owner-toolbar{padding:20px 17px}.owner-toolbar .share-buttons>*{flex:1 1 120px;font-size:13px}.gift-room{padding:10px;border-width:5px}.gift-room .gift-detail-note{padding:27px 17px 32px!important}.gift-detail-note h1{font-size:35px}.gift-detail-composition{flex-direction:column;gap:13px}.gift-photo-frame{width:75%;max-width:240px;margin:5px auto 10px;flex:auto}.gift-detail-copy{width:100%}.gift-detail-copy p{font-size:16px}.reservation-note{padding:22px 16px}.reservation-note h2{font-size:29px}.reservation-note .notice{font-size:13px}.newsletter-note,.optional-notes .support-aside{padding:25px 20px}.idea-preview-dialog{padding:31px 21px 23px}.idea-preview-image{height:175px}}
@media(forced-colors:active){main input[type=checkbox]{appearance:auto;background:none;box-shadow:none}}
/* Leave a real paper margin below every action, including shorter mobile notes. */
.celebration-board .compact-gifts .gift-note{padding-bottom:38px!important}
.celebration-board .gift-note .gift-actions{flex-shrink:0;margin-bottom:0;align-items:flex-start}
.celebration-board .gift-note .gift-actions a{overflow-wrap:anywhere;max-width:100%;min-width:0;padding:5px 0;white-space:normal}
.celebration-board .gift-note .paper-doodle{width:30px;height:30px;bottom:5px;right:8px;pointer-events:none}
.gift-management{margin-top:22px;padding-top:18px;border-top:1px solid #dcd4c1}.gift-management p{font-size:15px}.gift-management-actions{display:flex;flex-wrap:wrap;gap:12px}.gift-management .quiet-action{font:15px/1.4 system-ui,sans-serif;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.gift-share{margin:22px 0 0;border-top:1px solid #ded6c5;padding-top:18px}.gift-share summary{font:23px/1.3 Notebook,cursive;cursor:pointer}.gift-share .share-buttons{display:flex;gap:10px;flex-wrap:wrap}.gift-share button{font-size:14px;min-height:44px}.gift-share p{font-size:14px}.gift-share [data-share-status]:empty{display:none}
.gift-action-note{max-width:640px;margin:30px auto}.gift-action-note .action-row{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:25px}.gift-action-note h1{overflow-wrap:anywhere}.gift-action-note .action-row button{white-space:normal}
/* Small handmade invitations, with room for text and a soft pencil wash. */
.friendly-note.paper-sheet{--note-paper:#fbf8ef;position:relative;padding:32px 26px 34px!important;min-width:0;isolation:isolate}
.friendly-note.paper-sheet.support-aside{--note-paper:#f7eee6}.friendly-note.paper-sheet.newsletter-note{--note-paper:#f0f2e8}.friendly-note.paper-sheet.receipt-email-note{--note-paper:#f3f0e5}
.friendly-note>.paper-stock{filter:drop-shadow(2px 5px 5px #75644a21)}
.friendly-note:before{content:'';position:absolute;width:57px;height:18px;left:27px;top:-7px;background:#bdc7aa85;transform:rotate(-7deg);pointer-events:none;z-index:1;clip-path:polygon(1% 5%,96% 0,100% 91%,2% 100%)}
.friendly-note.support-aside:before{left:auto;right:32px;background:#d2bca888;transform:rotate(9deg)}
.friendly-note:after{content:'';position:absolute;left:23px;right:23px;top:52px;height:53px;z-index:-1;background:repeating-linear-gradient(151deg,transparent 0 5px,#c9cda337 6px 8px,transparent 9px 13px);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 70%,transparent);transform:rotate(-1.5deg);pointer-events:none}
.friendly-note.support-aside:after{background:repeating-linear-gradient(151deg,transparent 0 5px,#d9b9a933 6px 8px,transparent 9px 13px)}
.friendly-note .eyebrow{font-size:11px;letter-spacing:.09em;margin:0 45px 16px 0;line-height:1.5}
.friendly-note h2{font:32px/1.14 Notebook,cursive;margin:0 0 15px;padding-right:8px;overflow-wrap:anywhere}
.friendly-note>p:not(.eyebrow){font:15px/1.6 system-ui,sans-serif;margin:0 0 16px}
.friendly-note summary{font:25px/1.25 Notebook,cursive;cursor:pointer;min-height:44px;padding:11px 0;color:#526a53;text-underline-offset:5px;transition:color .18s ease}
.friendly-note summary:hover{text-decoration:underline;color:#3b5544}.friendly-note summary:focus-visible{outline:2px solid #849a78;outline-offset:4px}
.friendly-note .note-scribble{position:absolute;top:15px;right:23px;font-size:29px;color:#8c9c7e;transform:rotate(9deg);opacity:.75;pointer-events:none}
.friendly-note .note-heart{position:absolute;top:10px;right:12px;width:56px;height:47px;transform:rotate(8deg);pointer-events:none}
.friendly-note .support-footnote{font-size:12px!important;color:#718069;margin:17px 0 0!important}.support-open{padding-top:12px}.support-open p{font:15px/1.6 system-ui,sans-serif}.support-open .muted{font-size:12px}
.support-choices{display:flex;gap:9px;flex-wrap:wrap}.support-choices a{min-height:44px;min-width:54px;justify-content:center;font:23px/1.2 Notebook,cursive;background:#fdf9ed;border:1px solid #cbbfa7;border-radius:3px 5px 2px 4px;box-shadow:1px 3px 0 #b7a99122;padding:7px 13px;transform:rotate(-1deg);transition:transform .15s ease,background .15s ease}.support-choices a:nth-child(even){transform:rotate(1deg)}.support-choices a:hover{background:#ecebd8;transform:translateY(-2px)}
.optional-notes.one-note{grid-template-columns:minmax(0,580px);justify-content:center}
.receipt-email-note .newsletter-form{margin-top:16px}.receipt-email-note input[type=email]{width:100%;box-sizing:border-box}
@media(max-width:700px){.friendly-note.paper-sheet{padding:30px 21px 32px!important}.friendly-note h2{font-size:30px}.friendly-note .eyebrow{margin-right:36px}.friendly-note .note-heart{width:50px;right:10px}}
@media(prefers-reduced-motion:reduce){.support-choices a,.friendly-note summary{transition:none}}

main [hidden]{display:none!important}
.friendly-note.paper-sheet{border:0;background:transparent;box-shadow:none}
