.rain{--paper:#f5f5ed;--ink:#244336;--panel:#e5eadd;--line:#8f9f8b;--rsvp:#d7e1d2}.rain .hero:before{content:'';position:absolute;inset:0;background:linear-gradient(125deg,transparent 40%,#d3dfce77 70%,#fff9);pointer-events:none}.rain .art-stage .atmosphere{border-radius:48% 48% 8px 8px;background:radial-gradient(ellipse,#c5d6bc66,transparent 70%);filter:blur(15px)}.rain .venue{border-radius:50% 50% 0 0 / 45px 45px 0 0}.rain .section-mark{padding-bottom:20px;border-bottom:1px solid var(--ink)}.rain .program-heading:after{content:'';display:block;width:80px;height:100px;border:1px solid var(--ink);border-radius:50% 50% 50% 0;transform:rotate(-30deg);margin:45px 0 0 22px}.rain .schedule-row:before{content:'';position:absolute;left:-13px;top:33px;width:6px;height:9px;border-radius:80% 0 80% 80%;background:var(--ink);transform:rotate(-35deg)}.rain .invitation-details{background:linear-gradient(120deg,#e5eadd,#f3f1e4)}
.bakery{--paper:#fff8e8;--ink:#71372e;--panel:#f6dfd8;--line:#ba8675;--rsvp:#f6e7bd}.bakery h1,.bakery h2{font-family:Nunito,Arial,sans-serif;letter-spacing:-.045em}.bakery h1{font-size:clamp(62px,7vw,100px);line-height:1.02}.bakery .hero{background:radial-gradient(ellipse at 75% 55%,#ffe7bd88,transparent 55%)}.bakery .hero:before{content:'';position:absolute;inset:0 0 auto;height:13px;background:repeating-linear-gradient(90deg,#a84b41 0 45px,#fff0d1 45px 90px);border-radius:0 0 8px 8px}.bakery .art-stage{transform-origin:50% 90%}.bakery .intro{border-top:2px dashed var(--line)}.bakery .section-mark{transform:rotate(-5deg);padding:16px;background:#f6e7bd;border:1px solid var(--line);max-width:190px;text-align:center;border-radius:6px}.bakery .program{background:linear-gradient(90deg,#fff8e8ed,#fff8e8ed),repeating-linear-gradient(0deg,#a84b41 0 20px,transparent 20px 40px),repeating-linear-gradient(90deg,#a84b41 0 20px,#fff8e8 20px 40px)}.bakery #schedule{background:#fffcf2;padding:10px 28px 20px;transform:rotate(1deg);box-shadow:3px 8px 0 #71372e15;border:1px solid var(--line)}.bakery .schedule-row{border-bottom-style:dashed}.bakery .invitation-details{border-top:2px dashed var(--line);border-bottom:2px dashed var(--line)}.bakery .closing-symbol{color:#a64032}.bakery .venue-accent{font-family:Nunito;font-size:23px}.bakery button,.bakery .rsvp summary{border-radius:12px}.bakery .gallery img{border-bottom-width:28px}
.summer{--paper:#fff7e8;--ink:#26485c;--panel:#f8d5ae;--line:#8b9c9a;--rsvp:#d6e8ec}.summer h1{font-size:clamp(58px,6.8vw,96px);line-height:1.06}.summer .hero{background:linear-gradient(155deg,#fff7e8 35%,#f8e8c9 100%)}.summer .hero:after{content:'';position:absolute;width:180px;height:180px;border:1px solid #b68554;border-radius:50%;right:-60px;top:55px}.summer .hero-foot{border-top:1px solid var(--line);padding-top:12px}.summer .intro{background:var(--rsvp);border:0}.summer .section-mark{writing-mode:vertical-rl;letter-spacing:.14em}.summer .venue{background:repeating-linear-gradient(90deg,#f8d5ae 0 70px,#fbe1bf 70px 140px)}.summer .venue-copy{background:#fff7e8;padding:42px;border-radius:80px 80px 8px 8px}.summer .program-heading:after{content:'☼';font:100px Georgia;color:#9b6032;display:block;margin-top:35px}.summer .schedule-row time{font-weight:bold}.summer .invitation-details{background:var(--paper);border-top:1px solid var(--line)}.summer .details-copy{border:1px solid var(--line);padding:50px 38px;transform:rotate(-1deg);box-shadow:9px 9px 0 #f8d5ae}.summer .closing-symbol{color:#9b6032}.summer .gallery img{border-color:#fffdfa;transform:rotate(-2deg)}.summer .gallery figure:nth-child(even) img{transform:rotate(2deg)}
@media(max-width:760px){.bakery h1{font-size:clamp(60px,15vw,82px)}.summer h1{font-size:clamp(56px,13.8vw,80px)}.summer .section-mark{writing-mode:horizontal-tb}.summer .venue-copy{padding:30px 18px}.summer .details-copy{padding:32px 20px}.rain .program-heading:after{width:45px;height:60px;margin-top:25px}.summer .program-heading:after{font-size:65px;margin-top:12px}.bakery #schedule{padding:6px 16px 14px}.bakery .section-mark{max-width:180px}}

/* Venue editor actions share one wrapping, centred row. */
.bakery .venue .photo-tools{display:none;justify-content:center;align-items:stretch;gap:12px;width:100%;margin-top:20px}
.bakery.editing .venue .photo-tools{display:flex!important}
.bakery .venue .photo-tools button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:0;padding:12px 18px;font-size:16px;line-height:1.4;text-align:center}
@media(max-width:400px){.bakery .venue .photo-tools{flex-direction:column;align-items:center}.bakery .venue .photo-tools button{width:min(100%,280px)}}
@media(max-width:400px){.bakery .toolbar .mobile-settings{font-size:0;width:44px;flex:0 0 44px;padding:8px}.bakery .toolbar .mobile-settings:before{content:'✎';font-size:20px}.bakery .toolbar{gap:8px}.bakery .toolbar #mode{padding-inline:10px}}
.bakery #photo-section{text-align:center}
.bakery #add-photo-inline{justify-content:center;margin:24px auto 0}

.bakery .bakery-closing-cookie{display:block;width:160px;height:160px;object-fit:contain;margin:0 auto 28px}
@media(max-width:760px){.bakery .bakery-closing-cookie{width:140px;height:140px;margin-bottom:24px}}

.summer .program-heading:after{display:none}
.summer .summer-plan-lemon{display:block;width:140px;height:105px;object-fit:contain;margin:24px 0 0}
@media(max-width:760px){.summer .summer-plan-lemon{width:120px;height:90px;margin-top:20px}}
.summer #photo-section{text-align:center}
.summer #add-photo-inline{justify-content:center;margin:24px auto 0}

.summer .summer-closing-lemonade{display:block;width:150px;height:180px;object-fit:contain;margin:0 auto 28px}
@media(max-width:760px){.summer .summer-closing-lemonade{width:130px;height:156px;margin-bottom:24px}}
.bakery .rsvp>.eyebrow{margin-inline:auto;text-align:center}

.bakery .details-subblock{max-width:740px;margin:40px auto 0;padding-top:32px;border-top:1px dashed var(--line);text-align:center;overflow:visible}
.bakery .details-subblock h3{font-family:Nunito,Arial,sans-serif;font-size:30px;font-weight:400;line-height:1.25;letter-spacing:-.025em;margin:0 0 20px}
.bakery .details-subblock p{font-size:19px;margin-inline:auto;line-height:1.65}
@media(max-width:760px){.bakery .details-subblock{margin-top:32px;padding-top:28px}.bakery .details-subblock h3{font-size:27px}.bakery .details-subblock p{font-size:18px}}
/* Keep the RSVP caption centred across its whole text column. */
.bakery .rsvp>.eyebrow{width:100%;max-width:none;margin-inline:0;text-align:center}
