/* Paper edges use physical pixels in celebration-wall.js, including very tall forms. */
.paper-sheet{position:relative;isolation:isolate;--note-paper:#fffdf5}
.paper-stock{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;pointer-events:none;filter:drop-shadow(1px 4px 4px #514b3517)}
.paper-stock .paper-fill{fill:var(--note-paper);stroke:#c1b99f;stroke-opacity:.5;stroke-width:.65;vector-effect:non-scaling-stroke}
main .paper-sheet.note,main .paper-sheet.reading-sheet,main .paper-sheet.invitation-share,main .paper-sheet.support-aside{background:transparent;border:0;box-shadow:none}
main .paper-sheet.reading-sheet{padding-top:34px;overflow:visible}
main .paper-sheet.note{--note-paper:#fffaf0;position:relative;transform:rotate(-.35deg);padding-bottom:36px}
main .paper-sheet.note[data-paper="1"]{--note-paper:#edf1ed;transform:rotate(.45deg)}
main .paper-sheet.note[data-paper="2"]{--note-paper:#fffefa;transform:rotate(-.25deg)}
main .paper-sheet.note[data-paper="3"]{--note-paper:#f1e5dd;transform:rotate(.35deg)}
main .paper-sheet.note[data-paper="4"]{--note-paper:#edf0df;transform:rotate(-.5deg)}
main .paper-sheet.note[data-paper="5"]{--note-paper:#f4edcf;transform:rotate(.25deg)}
main .paper-sheet.note:before{content:'';position:absolute;z-index:2;top:-8px;left:calc(50% - 27px);width:54px;height:20px;background:#bac7a89c;opacity:1;transform:rotate(-7deg);clip-path:polygon(1% 3%,100% 0,98% 100%,3% 94%)}
main .paper-sheet.note[data-paper="1"]:before,main .paper-sheet.note[data-paper="5"]:before{width:10px;height:10px;top:7px;left:22px;border-radius:50%;clip-path:none;background:radial-gradient(circle at 35% 30%,#fbf7e9 0 15%,#b69586 30%,#947c6a 80%);box-shadow:1px 2px 2px #4d49363b;transform:none}
main .paper-sheet.note[data-paper="2"]:before{left:auto;right:16px;background:#cfbfa489;width:43px;transform:rotate(18deg)}
main .paper-sheet.note[data-paper="3"]:before{left:18px;background:#b4c3cd88;width:40px;transform:rotate(8deg)}
main .paper-sheet.note[data-paper="3"]:after{content:'';position:absolute;right:14px;top:-7px;width:39px;height:18px;background:#d5c2af77;transform:rotate(-15deg);pointer-events:none}
main .paper-sheet.note[data-paper="4"]:before{left:auto;right:22px;width:9px;height:26px;top:-7px;border:1.5px solid #89938c;border-radius:8px;background:transparent;box-shadow:2px 1px 0 #f6f4e9;clip-path:none;transform:rotate(12deg)}
.paper-doodle{position:absolute;bottom:7px;right:9px;width:28px;height:28px;fill:none;stroke:#8b967d;stroke-width:1.2;opacity:.6;pointer-events:none}
.note-grid.gift-notes{align-items:start;gap:26px 20px;padding:8px 3px 12px}
.note-grid.compact-gifts .gift-note{padding:29px 16px 37px}
.note-grid.compact-gifts .gift-actions{flex-wrap:wrap;gap:6px 14px}
.note-grid.compact-gifts .gift-note .gift-price{margin-bottom:8px}
.note-grid.compact-gifts .gift-note .gift-main{overflow-wrap:anywhere}
.idea-carousel>.paper-sheet.note{margin-top:12px;margin-bottom:12px;padding-bottom:38px}
.paper-sheet input,.paper-sheet select,.paper-sheet textarea{box-sizing:border-box;max-width:100%;min-width:0}
.paper-sheet p,.paper-sheet label{overflow-wrap:anywhere}
.postcard{--theme-paper:#fffaf0;--theme-wash:#e4eadb;--theme-ink:#5a705d;--theme-line:#bbc5ac;--theme-bg:#eeece2;isolation:isolate;position:relative;color:#34423d;--note-paper:var(--theme-paper)}
.postcard[data-palette=rose]{--theme-wash:#ecd9d1;--theme-ink:#81645e;--theme-line:#cfb4a6}
.postcard[data-palette=sky]{--theme-wash:#dce7e8;--theme-ink:#587580;--theme-line:#aec4c8}
.postcard[data-palette=cream]{--theme-wash:#e9dfc6;--theme-ink:#7c6d51;--theme-line:#c8bc9e}
.postcard[data-palette=lavender]{--theme-wash:#e4daea;--theme-ink:#746580;--theme-line:#c2b4ca}
.invitation-hero.wall-invitation{display:block;padding:0;margin:30px auto 38px;max-width:900px;border:0;background:none;box-shadow:none}
.postcard>.paper-stock{filter:drop-shadow(2px 7px 7px #51462b20)}
.postcard .invitation-copy{position:relative;display:flow-root;padding:28px 40px 26px}
.postcard-heading{display:flex;align-items:center;gap:10px;margin-bottom:20px;min-width:0}
.postcard-heading>div{flex:1;min-width:0}
.postcard .postcard-kicker{font:23px/1.4 Notebook,cursive;margin:0 0 12px;color:var(--theme-ink)}
.postcard .invitation-copy h1,.postcard .invitation-copy h2.hand{font:clamp(38px,5vw,58px)/1.1 Notebook,cursive;margin:0;overflow-wrap:anywhere}
.postcard-art{display:block;flex:0 0 36%;width:36%;height:auto;max-width:260px;object-fit:contain;filter:drop-shadow(0 1px .3px #b5a59022)}
.postcard .invitation-composition{display:flex;align-items:center;gap:32px}
.postcard .invitation-message{flex:1;min-width:0;position:relative;padding:8px 0}
.postcard .invitation-message>p{font:18px/1.65 system-ui,sans-serif;margin:0 0 25px;white-space:pre-line;overflow-wrap:anywhere}
.postcard .invitation-details{display:flex;flex-wrap:wrap;gap:18px 28px;color:var(--theme-ink);font:15px/1.5 system-ui,sans-serif}
.postcard .invitation-details p{margin:0;overflow-wrap:anywhere}
.postcard .detail-label{display:block;font:22px/1.3 Notebook,cursive;color:var(--theme-ink);margin-bottom:3px}
.postcard .celebrant-photo{position:relative;flex:0 1 40%;width:40%;margin:4px 0;padding:7px 7px 22px;background:#fffef9;transform:rotate(.8deg);box-shadow:2px 4px 8px #52462d25}
.postcard .celebrant-photo img{display:block;width:100%;height:auto;max-height:290px;object-fit:contain}
.postcard .celebrant-photo:before{content:'';position:absolute;top:-8px;left:calc(50% - 30px);width:60px;height:21px;background:var(--theme-line);opacity:.6;transform:rotate(-6deg)}
.postcard .invitation-copy>p.postcard-signoff{font:25px/1.35 Notebook,cursive;color:var(--theme-ink);margin:28px 0 0}
.paper-fastener{position:absolute;pointer-events:none;background:var(--theme-line);opacity:.6;width:75px;height:24px;left:25px;top:-9px;transform:rotate(-7deg)}
.postcard[data-list-theme=gathering] .paper-fastener{left:auto;right:30px;transform:rotate(8deg)}
.postcard[data-list-theme=winter] .paper-fastener{background:#a9ba9d}
.postcard[data-list-theme=cats] .paper-fastener{background:#d2bda1}
.postcard .invitation-details{border-left:2px solid var(--theme-wash);padding-left:15px}
.wall-transition{display:flex;align-items:center;justify-content:space-between;margin:32px 4px 26px;font:26px/1.3 Notebook,cursive;color:#65745c}
.wall-transition:after{content:'';height:1px;flex:1;margin:0 25px;background:#d9d2c2;order:0}.wall-transition>span:last-child{order:1}
.invitation-share.paper-sheet{margin:35px 0;padding:28px 32px}
.invitation-share.paper-sheet:before{content:'';position:absolute;top:-7px;right:35px;width:62px;height:19px;background:#d8c7ac88;transform:rotate(5deg)}
.theme-picker{border:0;border-top:1px solid #ded6c4;padding:24px 0 0;margin:28px 0}
.theme-picker legend{font:30px/1.2 Notebook,cursive;padding:0 10px 0 0}
.theme-picker #id_theme{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.theme-picker #id_theme label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px;background:#faf8ef;border:1px solid #d9d2bf;border-radius:3px;font:15px/1.3 system-ui,sans-serif;cursor:pointer;margin:0;min-height:44px}
.theme-picker #id_theme label:has(input:checked){outline:2px solid #8b9b7b;outline-offset:2px;background:#f1f2e7}
.theme-picker #id_theme input{width:17px;height:17px;flex:none;margin:0}
.theme-choice-art{display:block;width:100%;height:78px;object-fit:contain}
.postcard.theme-live-preview{display:block;padding:0;margin:30px 0 12px;border:0;transform:none}
.theme-live-preview .invitation-copy{padding:26px 24px 24px}
.theme-live-preview .invitation-copy h2.hand{font-size:40px}
.theme-live-preview .celebrant-photo img{max-height:230px}
.theme-live-preview .invitation-message>p{font-size:16px}
.theme-live-preview [hidden]{display:none!important}
@media(max-width:700px){
 main .paper-sheet.reading-sheet{padding:26px 18px 28px}
 .postcard .invitation-copy{padding:24px 23px 23px}
 .postcard-heading{gap:4px;margin-bottom:22px;align-items:center}
 .postcard-art{flex-basis:42%;width:42%;max-height:125px}
 .postcard .postcard-kicker{font-size:20px;margin-bottom:10px}
 .postcard .invitation-copy h1,.postcard .invitation-copy h2.hand{font-size:38px;line-height:1.1}
 .postcard .invitation-composition{gap:16px;align-items:flex-start}
 .postcard .invitation-message>p{font-size:16px;line-height:1.55;margin-bottom:18px}
 .postcard .invitation-details{gap:14px;font-size:14px;padding-left:10px}
 .postcard .detail-label{font-size:20px}
 .postcard .celebrant-photo{flex-basis:43%;width:43%;padding:5px 5px 17px;margin:8px 0 0}
 .postcard .celebrant-photo img{max-height:215px}
 .postcard .celebrant-photo:before{width:44px;height:17px;left:calc(50% - 22px)}
 .postcard .invitation-copy>p.postcard-signoff{font-size:23px;margin-top:24px}
 .theme-picker{padding:22px 0 0}.theme-picker #id_theme{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .theme-picker #id_theme label{font-size:14px;padding:9px;gap:6px}.theme-choice-art{height:70px}
 .theme-live-preview .invitation-copy{padding:22px 16px}.theme-live-preview .invitation-copy h2.hand{font-size:32px}
 .theme-live-preview .invitation-message>p{font-size:14px}.theme-live-preview .invitation-details{font-size:13px}
 .note-grid.gift-notes{gap:26px 14px}.note-grid.compact-gifts .gift-note{padding:27px 12px 34px}
 .note-grid.compact-gifts .gift-summary h2{font-size:23px}
 .invitation-share.paper-sheet{padding:25px 20px}
}
@media(prefers-reduced-motion:reduce){.paper-sheet{scroll-behavior:auto}}

.current-photo{display:block;margin:10px 0;font-size:14px}.current-photo label{display:flex;gap:8px;align-items:center;margin:8px 0}.current-photo input[type=checkbox]{width:18px;height:18px;margin:0}
main .note-grid.compact-gifts{align-items:start;gap:26px 18px}
main .note-grid.compact-gifts .gift-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding-top:6px;margin-top:4px}
main .note-grid.compact-gifts .gift-actions a{font-size:13px;white-space:nowrap;min-height:44px}
.postcard time{white-space:nowrap}
@media(max-width:700px){main .note-grid.compact-gifts{gap:24px 14px}.note-grid.compact-gifts .gift-summary h2{font-size:22px}.note-grid.compact-gifts .gift-thumb{height:112px}.note-grid.compact-gifts .photo-square .gift-thumb{height:112px}.note-grid.compact-gifts .photo-portrait .gift-thumb{height:135px}}
.postcard .celebrant-photo{max-width:240px}
.postcard.theme-live-preview{max-width:760px;margin:30px auto 15px}
.theme-live-preview .celebrant-photo{max-width:190px}
.postcard .postcard-signoff:after{content:'';display:block;width:94px;height:5px;margin-top:6px;background:var(--theme-wash);opacity:.8;transform:rotate(-2deg);clip-path:polygon(0 25%,24% 2%,55% 30%,78% 0,100% 22%,94% 80%,63% 100%,31% 75%,0 90%)}
