/* photobooth BOOM Flowers — fresh lemon paper, botanical paintings and wedding lettering. */
body[data-booth-theme=boom-flowers]{--ss-display:'Cormorant Garamond',Georgia,serif;--ss-script:'Great Vibes',cursive;--ss-reading:Nunito,Arial,sans-serif;background:var(--paper);color:var(--ink)}
[data-booth-theme=boom-flowers]:before{opacity:.035}
.ff-botanical{object-fit:contain!important;filter:hue-rotate(var(--ff-hue,0deg));pointer-events:none;user-select:none;max-width:none;position:absolute}
[data-booth-theme=boom-flowers] #booth{max-width:none;isolation:isolate;overflow:hidden!important;background:radial-gradient(ellipse at 75% 35%,color-mix(in srgb,var(--highlight) 65%,transparent),transparent 57%),var(--paper);padding-top:35px}
[data-booth-theme=boom-flowers] .ss-intro{position:relative;z-index:5;padding:15px 0 20px;max-width:620px}
[data-booth-theme=boom-flowers] .ss-club-mark{font:600 10px/1.6 var(--sans);letter-spacing:.2em;color:var(--accent);gap:10px;max-width:none;margin-bottom:25px}
[data-booth-theme=boom-flowers] .ss-club-mark .wedding-icon{width:30px;height:30px}
[data-booth-theme=boom-flowers] #booth .ss-title{font:400 clamp(65px,6.1vw,104px)/.94 var(--ss-display);letter-spacing:-.045em;color:var(--ink);margin:0 0 30px;max-width:650px}
[data-booth-theme=boom-flowers] #booth .ss-title em{font:400 1.2em/.95 var(--ss-script);letter-spacing:0;color:var(--ink);padding:7px 8px 4px 0}
[data-booth-theme=boom-flowers] .ss-intro-copy{font:400 17px/1.8 var(--sans);max-width:420px;color:var(--ink);margin-bottom:25px}
[data-booth-theme=boom-flowers] .ss-admission{border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:15px 50px 15px 50px;padding:15px 23px;box-shadow:none;background:var(--surface);gap:16px}
[data-booth-theme=boom-flowers] .ss-admission .wedding-icon{width:48px;height:48px}.ss-admission p{white-space:normal}
[data-booth-theme=boom-flowers] .ss-admission b{font:400 32px/1.3 var(--ss-script);color:var(--ink);margin-top:3px}
[data-booth-theme=boom-flowers] .ss-intro-icons{display:none}
[data-booth-theme=boom-flowers] .ff-camera-status{min-height:48px;font:italic 21px/1.45 var(--ss-display);max-width:380px;margin:22px 0 0;color:var(--ink)}
[data-booth-theme=boom-flowers] .booth-scene{position:relative;z-index:3}
[data-booth-theme=boom-flowers] .booth-fit{width:420px;padding:6px 25px 45px}
[data-booth-theme=boom-flowers] #booth .ss-machine{border-radius:145px 145px 42px 42px;padding:15px 16px 12px;border:1px solid color-mix(in srgb,var(--accent) 65%,transparent);background:linear-gradient(110deg,var(--highlight),var(--surface) 30%,var(--highlight) 73%,var(--soft));box-shadow:inset 0 0 0 5px var(--surface),0 10px 0 color-mix(in srgb,var(--accent) 20%,transparent),0 30px 60px #294b3d26;overflow:visible}
[data-booth-theme=boom-flowers] .ss-machine-top{height:92px;border:0;border-radius:120px 120px 12px 12px;background:transparent;color:var(--ink);box-shadow:none;gap:15px;padding-top:15px}
[data-booth-theme=boom-flowers] .ss-machine-top b{font:400 48px/1.1 var(--ss-script);letter-spacing:0;max-width:85%;padding-block:8px}
[data-booth-theme=boom-flowers] #booth .tray{height:270px;background:linear-gradient(145deg,var(--surface),var(--paper));border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);box-shadow:inset 0 3px 13px #294b3d08;border-radius:24px;margin-top:5px}
[data-booth-theme=boom-flowers] .ss-curtain,[data-booth-theme=boom-flowers] .ss-print-window{display:none}
[data-booth-theme=boom-flowers] .ss-lens{transform:none;width:103px;height:103px;left:calc(50% - 51.5px);top:33px;background:repeating-conic-gradient(from 0deg,var(--highlight) 0 12deg,var(--surface) 12deg 24deg);border:9px solid var(--soft);box-shadow:0 0 0 1px var(--accent),inset 0 0 0 2px var(--accent),0 8px 15px #294b3d16}
[data-booth-theme=boom-flowers] .ss-lens i{background:radial-gradient(circle at 36% 32%,#f8ffff 0 3%,#698a72 7%,#234739 17%,#122d25 50%,#38604b 64%,#13271f 67%);width:57px;height:57px;left:14px;top:14px}
[data-booth-theme=boom-flowers] .ss-lens-caption{top:147px;font-size:9px;letter-spacing:.18em;color:var(--ink)}
[data-booth-theme=boom-flowers] .ss-output-label{top:184px;font-size:8px;letter-spacing:.11em;color:var(--ink);max-width:75%;margin:auto;line-height:1.4}
[data-booth-theme=boom-flowers] .slot{top:220px;left:35px;right:35px;background:var(--ink);height:9px;border-radius:10px;box-shadow:0 2px 0 var(--surface),0 4px 0 var(--highlight)}
[data-booth-theme=boom-flowers] .ss-side-panel{right:8px;top:172px;background:transparent;color:var(--accent);width:28px;font-size:19px}
[data-booth-theme=boom-flowers] .ss-side-panel small{font-size:5px;color:var(--ink)}
[data-booth-theme=boom-flowers] .ss-machine-base{font:500 7px/1.5 var(--sans);letter-spacing:.13em;gap:8px;color:var(--ink);padding:15px 3px 4px}
[data-booth-theme=boom-flowers] .ss-live-dot{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}
.ff-booth-bouquet{z-index:2;width:clamp(330px,33vw,580px);height:auto;bottom:-65px;max-height:94%;object-position:bottom}
.ff-bouquet-left{left:45%;transform:rotate(-19deg);transform-origin:bottom center}
.ff-bouquet-right{right:-7%;transform:scaleX(-1) rotate(-9deg);transform-origin:bottom center;z-index:4;width:clamp(290px,30vw,520px);bottom:-100px}
[data-booth-theme=boom-flowers] .booth-actions{z-index:7;background:transparent}
[data-booth-theme=boom-flowers] #booth #toGame{background:var(--surface);color:var(--ink);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:none;min-height:45px;padding:12px 20px;font:500 13px/1.4 var(--sans);max-width:calc(100% - 62px)}
[data-booth-theme=boom-flowers] #booth .machine-btn{background:radial-gradient(circle at 35% 28%,var(--surface),var(--highlight) 55%,var(--accent));border:1px solid var(--accent);box-shadow:0 3px 0 #294b3d15}
.ff-photo-flight{position:fixed;inset:0;pointer-events:none;overflow:clip;z-index:65}
.ff-flying-photo{position:absolute;left:var(--px);top:var(--py);width:var(--ps);padding:7px 7px 20px;margin:0;background:#fffef9;border-radius:5px;box-shadow:0 8px 24px #294b3d30;transform-origin:50% 12%;will-change:transform,opacity}
.ff-flying-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover;filter:none;border-radius:1px}
.ff-flying-photo figcaption{position:absolute;bottom:2px;left:4px;right:4px;font:13px/1.2 'Great Vibes',cursive;color:#294b3d;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ff-single-photo{animation:ff-single 1.3s cubic-bezier(.22,.65,.26,1) both}
.ff-burst-photo{animation:ff-spray 2.4s cubic-bezier(.15,.7,.25,1) both}
.ff-jammed{animation:ff-jam .16s linear infinite}.ff-blooming{animation:ff-pop .55s ease both}
@keyframes ff-single{0%{transform:translateY(-80px) scale(.8);opacity:0}12%{opacity:1}80%,100%{transform:translate(var(--dx),var(--dy)) rotate(var(--turn));opacity:1}}
@keyframes ff-spray{0%{transform:translateY(-30px) scale(.35);opacity:0}8%{opacity:1}70%,100%{transform:translate(var(--dx),var(--dy)) rotate(var(--spin));opacity:1}}
@keyframes ff-jam{0%,100%{transform:rotate(-.5deg) translateX(-1px)}50%{transform:rotate(.5deg) translateX(1px)}}
@keyframes ff-pop{0%,100%{transform:scale(1)}35%{transform:scale(1.035) rotate(-1deg)}70%{transform:scale(.985)}}
/* Fresh floral stationery replaces the cinema presentation throughout the long invitation. */
[data-booth-theme=boom-flowers] :is(.hero,.section,.footer){position:relative;isolation:isolate}
[data-booth-theme=boom-flowers] #invitation .hero{background:radial-gradient(ellipse at 50% 15%,var(--highlight),var(--paper) 70%);border-radius:0 0 100px 100px;padding:85px 40px 75px;overflow:hidden}
[data-booth-theme=boom-flowers] .ss-feature-label{font:500 10px/1.6 var(--sans);letter-spacing:.24em;color:var(--accent);margin-bottom:25px}
[data-booth-theme=boom-flowers] .hero h1{font:400 clamp(75px,9vw,140px)/1.02 var(--ss-script);letter-spacing:0;color:var(--ink);max-width:1000px;margin:0 auto 22px}
[data-booth-theme=boom-flowers] .hero-sub{font:italic 27px/1.5 var(--ss-display);max-width:620px}
.ff-hero-bouquet{width:min(39vw,600px);height:auto;z-index:-1;bottom:-130px;opacity:.92}.ff-hero-left{left:-10%;transform:rotate(15deg)}.ff-hero-right{right:-10%;transform:scaleX(-1) rotate(15deg)}
[data-booth-theme=boom-flowers] .collage{height:480px;max-width:830px;margin:35px auto 0}
[data-booth-theme=boom-flowers] .hero-photo{width:350px;height:370px;border-radius:150px 150px 12px 12px;padding:12px 12px 45px;left:12%;top:20px;transform:rotate(-7deg);background:var(--surface);box-shadow:0 12px 35px #294b3d21}
[data-booth-theme=boom-flowers] .hero-photo img{border-radius:140px 140px 3px 3px;filter:none}
[data-booth-theme=boom-flowers] .photo-note{font:400 32px/1.2 var(--ss-script);color:var(--ink)}
[data-booth-theme=boom-flowers] .collage .strip{top:50px;right:11%;width:235px;background:var(--surface);padding:10px 10px 38px;gap:0;transform:rotate(9deg);box-shadow:0 12px 30px #294b3d20;border-radius:5px;display:block}
[data-booth-theme=boom-flowers] .collage .strip img{display:none;filter:none;aspect-ratio:1;height:auto;width:100%}
[data-booth-theme=boom-flowers] .collage .strip img:first-child{display:block}
[data-booth-theme=boom-flowers] .collage .strip figcaption{font:400 24px/1.2 var(--ss-script);color:var(--ink);margin-top:5px}
[data-booth-theme=boom-flowers] .collage :is(.stamp,.collage-rings,.love-scribble,.ff-vinyl){display:none}
[data-booth-theme=boom-flowers] .section{padding:90px 8%;overflow:hidden}
[data-booth-theme=boom-flowers] .section h2{font:400 clamp(49px,5.6vw,82px)/1.05 var(--ss-display);letter-spacing:-.035em;max-width:850px;margin:0 auto 32px}
[data-booth-theme=boom-flowers] .section h2.script{font:400 clamp(58px,6.2vw,95px)/1.1 var(--ss-script);letter-spacing:0}
[data-booth-theme=boom-flowers] .intro-copy{font:400 23px/1.8 var(--ss-display);max-width:740px;margin:auto}
.ff-section-bouquet{width:300px;height:auto;bottom:-100px;right:-140px;opacity:.65;z-index:-1;transform:rotate(-18deg)}
[data-booth-theme=boom-flowers] .countdown{gap:14px;margin-top:45px}
[data-booth-theme=boom-flowers] .countdown>div{border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:65px 65px 16px 16px;background:var(--surface);box-shadow:none;padding:24px 16px;min-width:100px}
[data-booth-theme=boom-flowers] .countdown b{font:400 55px/1 var(--ss-display);color:var(--ink)}
[data-booth-theme=boom-flowers] .countdown span{font-size:9px;letter-spacing:.16em}
[data-booth-theme=boom-flowers] .ticket{border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:50px 15px 50px 15px;box-shadow:none;background:var(--surface)}
[data-booth-theme=boom-flowers] .ticket-main h2{font-weight:400;font-size:clamp(45px,5vw,67px);letter-spacing:-.03em}
[data-booth-theme=boom-flowers] .ticket-side{background:var(--highlight);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}
[data-booth-theme=boom-flowers] .ticket-side .script{font:400 64px/1.12 var(--ss-script)}
[data-booth-theme=boom-flowers] .detail h3,[data-booth-theme=boom-flowers] .little-details h3{font:400 36px/1.15 var(--ss-display);letter-spacing:-.02em}
[data-booth-theme=boom-flowers] .detail p,[data-booth-theme=boom-flowers] .little-details p{font:400 17px/1.75 var(--sans)}
[data-booth-theme=boom-flowers] .venue{background:var(--soft);color:var(--ink);border-radius:65px 65px 20px 20px;margin:0 6%;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
[data-booth-theme=boom-flowers] .venue a{color:var(--ink)}
[data-booth-theme=boom-flowers] .little-details article{border-radius:28px;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);background:var(--surface);box-shadow:none;rotate:0}
.ff-memories{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px!important;max-width:1100px;margin:40px auto 0}
[data-booth-theme=boom-flowers] .ff-memory{position:relative;width:100%;padding:10px 10px 20px;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:6px;rotate:-3deg;cursor:zoom-in;transition:transform .3s;box-shadow:0 9px 24px #294b3d12;transform:none}
[data-booth-theme=boom-flowers] .ff-memory:nth-child(even){rotate:3deg}.ff-memory:hover{transform:translateY(-7px)!important}
[data-booth-theme=boom-flowers] .ff-memory img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:none;border-radius:2px}
[data-booth-theme=boom-flowers] .ff-memory figcaption{font:400 30px/1.25 var(--ss-script);margin:13px 5px 0;text-align:center;overflow-wrap:anywhere}
.ff-lightbox{padding:12px;border:0;background:var(--surface,#fffef8);border-radius:14px;max-width:92vw;max-height:88dvh}.ff-lightbox::backdrop{background:#173127a8;backdrop-filter:blur(7px)}.ff-lightbox img{display:block;max-width:85vw;max-height:80dvh;object-fit:contain}.ff-lightbox button{position:absolute;right:10px;top:10px;background:var(--surface,#fffef8);border:0;border-radius:50%;width:44px;height:44px;font:30px Arial;color:var(--ink,#294b3d);cursor:pointer}
[data-booth-theme=boom-flowers] .rsvp-wrap{background:var(--highlight);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);box-shadow:none;border-radius:130px 130px 25px 25px;padding:80px 55px 55px}
[data-booth-theme=boom-flowers] .rsvp-wrap h2.script{font:400 85px/1.1 var(--ss-script);color:var(--ink)}
[data-booth-theme=boom-flowers] .faq summary{font:400 30px/1.4 var(--ss-display)}
[data-booth-theme=boom-flowers] .ss-phone{display:none}
[data-booth-theme=boom-flowers] .footer{background:var(--soft);color:var(--ink);border-radius:100px 100px 0 0;padding-top:70px;padding-bottom:130px;overflow:hidden}
.ff-footer-bouquet{height:350px;width:auto;bottom:-80px;left:-55px;transform:rotate(25deg);z-index:-1}
[data-booth-theme=boom-flowers] .footer .script{font:400 75px/1.2 var(--ss-script)}
[data-booth-theme=boom-flowers] .footer-art{gap:20px}.footer-art .ff-flower-icon{color:var(--accent)}
/* The same botanical mood continues through all questions, native RSVP and the shared album. */
[data-booth-theme=boom-flowers] #game{background:radial-gradient(ellipse at 50% 0,var(--highlight),transparent 65%),var(--paper)}
[data-booth-theme=boom-flowers] .gamecard{border-radius:150px 150px 28px 28px;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:0 12px 40px #294b3d12;padding:50px 65px 35px}
[data-booth-theme=boom-flowers] .gamecard:before{border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:inherit;inset:9px}
[data-booth-theme=boom-flowers] .ss-ticket-stub{border:0;font:500 9px/1.5 var(--sans);letter-spacing:.15em;color:var(--accent);margin-bottom:15px;padding-bottom:0}
[data-booth-theme=boom-flowers] .gamecard h2{font:400 clamp(38px,4.4vw,62px)/1.08 var(--ss-display);letter-spacing:-.025em;color:var(--ink)}
[data-booth-theme=boom-flowers] .game-art .wedding-icon{width:65px;height:65px}
[data-booth-theme=boom-flowers] .gamecard .progress{gap:7px}
[data-booth-theme=boom-flowers] .gamecard .progress i{border-radius:20px;background:var(--soft);border-color:transparent}
[data-booth-theme=boom-flowers] .gamecard .progress i.on{background:var(--accent)}
[data-booth-theme=boom-flowers] :is(.btn,.primary,.secondary){font-family:var(--sans);font-weight:500;border-radius:50px;border-color:var(--ink);background:var(--ink);color:var(--button-text);box-shadow:none;letter-spacing:0}
[data-booth-theme=boom-flowers] :is(.btn.light,.secondary){background:var(--surface);color:var(--ink);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}
[data-booth-theme=boom-flowers] .btn:hover{background:var(--soft);color:var(--ink)}
[data-booth-theme=boom-flowers] #choices .ss-pose-choice{border-radius:22px;background:var(--paper)}
[data-booth-theme=boom-flowers] .guest-form{background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:35px;padding:30px}
[data-booth-theme=boom-flowers] .fun-audio-controls button{background:var(--surface);color:var(--ink);border-color:color-mix(in srgb,var(--accent) 30%,transparent);border-radius:40px;box-shadow:0 4px 18px #294b3d08}
[data-booth-theme=boom-flowers] #fun-music-toggle[aria-pressed=true]{background:var(--ink);color:var(--surface)}
@media(max-width:1000px){[data-booth-theme=boom-flowers] #booth .ss-title{font-size:72px}.ff-bouquet-left{left:35%}.ff-bouquet-right{right:-13%}.ff-booth-bouquet{width:400px}}
@media(max-width:750px){
 [data-booth-theme=boom-flowers] #booth{padding:10px 18px 12px!important;gap:8px}
 [data-booth-theme=boom-flowers] .ss-intro{padding:0;text-align:center}
 [data-booth-theme=boom-flowers] .ss-club-mark{font-size:8px;margin-bottom:7px;justify-content:center}
 [data-booth-theme=boom-flowers] #booth .ss-title{font-size:clamp(43px,11.5vw,64px);line-height:.92;margin:0 0 7px;max-width:100%}
 [data-booth-theme=boom-flowers] #booth .ss-title em{font-size:1.17em;padding:6px 8px 2px 0;line-height:1}
 [data-booth-theme=boom-flowers] .ss-intro-copy{display:none}
 [data-booth-theme=boom-flowers] .ff-camera-status{font-size:17px;line-height:1.25;min-height:40px;max-width:295px;margin:8px auto 0}
 [data-booth-theme=boom-flowers] .booth-fit{padding:5px 25px 30px}
 .ff-booth-bouquet{width:220px;max-height:65%;bottom:-20px}.ff-bouquet-left{left:-12%;transform:rotate(-15deg)}.ff-bouquet-right{right:-15%;bottom:-10px;transform:scaleX(-1) rotate(-10deg);width:230px}
 [data-booth-theme=boom-flowers] .booth-actions{gap:10px;min-height:46px}
 [data-booth-theme=boom-flowers] #booth #toGame{font-size:12px;min-height:44px;max-width:calc(100% - 56px);padding:11px 16px}
 [data-booth-theme=boom-flowers] #invitation .hero{padding:48px 20px 30px;border-radius:0 0 45px 45px}
 [data-booth-theme=boom-flowers] .hero h1{font-size:clamp(60px,16vw,95px);line-height:1.1;margin-bottom:15px}
 [data-booth-theme=boom-flowers] .hero-sub{font-size:23px;line-height:1.45;max-width:320px}
 [data-booth-theme=boom-flowers] .ss-feature-label{font-size:8px;letter-spacing:.17em;margin-bottom:20px}
 .ff-hero-bouquet{width:250px;bottom:-25px;opacity:.8}.ff-hero-left{left:-145px}.ff-hero-right{right:-145px}
 [data-booth-theme=boom-flowers] .collage{height:330px;margin-top:25px}
 [data-booth-theme=boom-flowers] .hero-photo{width:64%;height:255px;left:4%;padding:8px 8px 35px;top:15px;border-radius:100px 100px 7px 7px}
 [data-booth-theme=boom-flowers] .hero-photo img{border-radius:95px 95px 2px 2px}
 [data-booth-theme=boom-flowers] .photo-note{font-size:22px}
 [data-booth-theme=boom-flowers] .collage .strip{width:45%;right:2%;top:65px;padding:7px 7px 25px}
 [data-booth-theme=boom-flowers] .collage .strip figcaption{font-size:17px}
 [data-booth-theme=boom-flowers] .section{padding:58px 23px}
 [data-booth-theme=boom-flowers] .section h2{font-size:47px;line-height:1.07;margin-bottom:25px}
 [data-booth-theme=boom-flowers] .section h2.script{font-size:58px;line-height:1.1}
 [data-booth-theme=boom-flowers] .intro-copy{font-size:22px;line-height:1.7}
 [data-booth-theme=boom-flowers] .countdown{gap:7px;margin-top:30px}
 [data-booth-theme=boom-flowers] .countdown>div{min-width:0;flex:1;padding:19px 6px;border-radius:40px 40px 12px 12px}
 [data-booth-theme=boom-flowers] .countdown b{font-size:39px}
 [data-booth-theme=boom-flowers] .countdown span{font-size:7px;letter-spacing:.08em}
 [data-booth-theme=boom-flowers] .ticket-main,[data-booth-theme=boom-flowers] .ticket-side{padding:30px 24px}
 [data-booth-theme=boom-flowers] .ticket-main h2{font-size:45px}
 [data-booth-theme=boom-flowers] .ticket-side .script{font-size:57px}
 [data-booth-theme=boom-flowers] .venue{margin:0 12px;border-radius:45px 45px 15px 15px}
 [data-booth-theme=boom-flowers] .detail h3,[data-booth-theme=boom-flowers] .little-details h3{font-size:30px}
 .ff-memories{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px!important;margin-top:25px}
 [data-booth-theme=boom-flowers] .ff-memory{padding:6px 6px 14px}
 [data-booth-theme=boom-flowers] .ff-memory figcaption{font-size:21px;margin:10px 0 0}
 [data-booth-theme=boom-flowers] .rsvp-wrap{padding:55px 24px 30px;border-radius:80px 80px 20px 20px}
 [data-booth-theme=boom-flowers] .rsvp-wrap h2.script{font-size:61px;line-height:1.12}
 [data-booth-theme=boom-flowers] .faq summary{font-size:26px}
 [data-booth-theme=boom-flowers] .footer{border-radius:60px 60px 0 0;padding-top:50px;padding-inline:20px}
 [data-booth-theme=boom-flowers] .footer .script{font-size:56px}
 .ff-footer-bouquet{height:250px;left:-75px;bottom:-25px;opacity:.65}
 [data-booth-theme=boom-flowers] .gamecard{border-radius:90px 90px 22px 22px;padding:35px 25px 25px}
 [data-booth-theme=boom-flowers] .gamecard h2{font-size:40px;line-height:1.08}
 [data-booth-theme=boom-flowers] .ss-ticket-stub{font-size:7px;margin-bottom:10px}
 [data-booth-theme=boom-flowers] .guest-form{padding:23px 18px;border-radius:25px}
 .ff-section-bouquet{width:230px;right:-150px;bottom:-60px}
}
@media(max-width:370px){[data-booth-theme=boom-flowers] .ss-club-mark{display:none}[data-booth-theme=boom-flowers] #booth .ss-title{font-size:44px}[data-booth-theme=boom-flowers] .ff-camera-status{font-size:16px;min-height:36px}.ff-booth-bouquet{width:200px}.ff-bouquet-left{left:-18%}.ff-bouquet-right{right:-18%}[data-booth-theme=boom-flowers] .section h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){.ff-flying-photo,.ff-jammed,.ff-blooming{animation:none!important}.ff-memory{transition:none!important}}

[data-booth-theme=boom-flowers] .hero-sub,[data-booth-theme=boom-flowers] .hero .date-line,[data-booth-theme=boom-flowers] .hero .eyebrow{color:var(--ink)}
[data-booth-theme=boom-flowers] #invitation h1:focus{outline:none}
[data-booth-theme=boom-flowers] .hero h1.script{font-family:var(--ss-script);font-weight:400;letter-spacing:0}
[data-booth-theme=boom-flowers] .venue :is(h2,.eyebrow,.script,.wedding-icon){color:var(--ink)}
.ff-botanical{animation:ff-breeze 7s ease-in-out infinite alternate;transform-origin:50% 100%}
@keyframes ff-breeze{from{translate:0 0;rotate:-.6deg}to{translate:0 -5px;rotate:.6deg}}
@media(prefers-reduced-motion:reduce){.ff-botanical{animation:none}}
/* Compact floating music orb; effect settings stay behind its small menu. */
[data-booth-theme=boom-flowers] .ff-orb-controls{position:fixed!important;top:max(14px,env(safe-area-inset-top))!important;right:max(14px,env(safe-area-inset-right))!important;bottom:auto!important;left:auto!important;display:block!important;width:44px;height:44px;max-width:44px;z-index:100}
[data-booth-theme=boom-flowers] .ff-orb-controls #fun-music-toggle{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;padding:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:var(--surface);color:var(--ink);box-shadow:0 4px 18px #294b3d14;position:relative;gap:0}
[data-booth-theme=boom-flowers] .ff-orb-controls #fun-music-toggle[hidden]{display:none}
[data-booth-theme=boom-flowers] .ff-orb-controls #fun-music-toggle[aria-pressed=true]{background:var(--ink);color:var(--surface);box-shadow:0 4px 20px #294b3d20}
[data-booth-theme=boom-flowers] .ff-orb-controls #fun-music-toggle[aria-busy=true]:after{content:'';position:absolute;inset:4px;border:1px solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;animation:ff-orb-spin 1s linear infinite}
[data-booth-theme=boom-flowers] .ff-orb-controls #ff-audio-menu{position:absolute;right:-4px;bottom:-3px;display:grid;place-items:center;width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;padding:0;background:var(--highlight);color:var(--ink);border:2px solid var(--surface);border-radius:50%;box-shadow:0 2px 5px #294b3d12}
[data-booth-theme=boom-flowers] .ff-orb-controls #fun-effects-toggle{display:none;position:absolute;right:0;top:54px;width:max-content;max-width:190px;min-height:40px;padding:10px 14px;background:var(--surface);color:var(--ink);font:500 13px/1.4 var(--sans);border-radius:20px;box-shadow:0 6px 22px #294b3d18;white-space:nowrap}
[data-booth-theme=boom-flowers] .ff-orb-controls.ff-audio-expanded #fun-effects-toggle{display:block}
[data-booth-theme=boom-flowers] .ff-orb-controls #fun-music-error{position:absolute;top:55px;right:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;width:220px;max-width:calc(100vw - 32px);font:13px/1.5 var(--sans);box-shadow:0 6px 22px #294b3d18}
[data-booth-theme=boom-flowers] .ff-orb-controls:has(#fun-music-toggle[hidden]) #ff-audio-menu{inset:0;width:44px;height:44px;min-height:44px;max-width:44px;border:1px solid var(--line);background:var(--surface)}
[data-booth-theme=boom-flowers] .sw-guest-nav{padding-right:82px}
[data-booth-theme=boom-flowers] .sw-preview-label{padding-right:75px}
.sw-screen-fit [data-booth-theme=boom-flowers] #sw-guest{margin-top:var(--sw-screen-top,0px)}
@keyframes ff-orb-spin{to{rotate:360deg}}
@media(max-width:750px){[data-booth-theme=boom-flowers] .sw-guest-nav{padding-left:18px;padding-right:76px;gap:12px}[data-booth-theme=boom-flowers] .sw-guest-nav>a{max-width:47%;font-size:23px}[data-booth-theme=boom-flowers] .sw-guest-nav div{gap:10px;flex-wrap:wrap;justify-content:flex-end}[data-booth-theme=boom-flowers] .sw-preview-label{padding-right:70px}}
@media(prefers-reduced-motion:reduce){[data-booth-theme=boom-flowers] .ff-orb-controls #fun-music-toggle:after{animation:none}}
/* Floral stationery: comfortable choices, clear focus and readable song fields. */
[data-booth-theme=boom-flowers] .gamecard{border-radius:36px;padding:32px 48px 28px;max-width:760px;background:linear-gradient(145deg,color-mix(in srgb,var(--highlight) 19%,var(--surface)),var(--surface) 55%);box-shadow:0 18px 50px #294b3d0d}
[data-booth-theme=boom-flowers] .gamecard:before{inset:8px;border-radius:28px;pointer-events:none}
[data-booth-theme=boom-flowers] .game-art{margin:0 auto 8px}
[data-booth-theme=boom-flowers] .ss-ticket-stub{font-size:10px;letter-spacing:.12em;margin-bottom:12px}
[data-booth-theme=boom-flowers] .gamecard h2{max-width:620px;margin:10px auto 24px;font-size:clamp(36px,4vw,54px);line-height:1.08;text-wrap:balance;outline:none}
[data-booth-theme=boom-flowers] #choices{gap:12px;max-width:560px;margin:18px auto 0;width:100%}
[data-booth-theme=boom-flowers] #choices>.btn{min-height:58px;padding:16px 22px;border-radius:18px;font-size:18px;line-height:1.35;white-space:normal;transition:background .16s,color .16s,border-color .16s}
[data-booth-theme=boom-flowers] #choices>.btn.light{background:var(--surface);border-color:color-mix(in srgb,var(--ink) 18%,transparent)}
[data-booth-theme=boom-flowers] #choices .btn.selected{background:var(--soft);color:var(--ink);border-color:var(--ink);box-shadow:inset 4px 0 var(--ink)}
[data-booth-theme=boom-flowers] #choices .ss-pose-choice{display:flex;align-items:center;text-align:left;gap:18px;font-size:18px}
[data-booth-theme=boom-flowers] #choices .ss-pose-choice svg{flex:0 0 42px;width:42px;height:42px}
[data-booth-theme=boom-flowers] #choices :is(button,input):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[data-booth-theme=boom-flowers] .lb-song{width:100%;display:grid;gap:14px;text-align:left}
[data-booth-theme=boom-flowers] .lb-song label{display:grid;gap:10px;font-size:17px;color:var(--ink);font-weight:600}
[data-booth-theme=boom-flowers] .lb-song input{width:100%;box-sizing:border-box;min-height:62px;border-radius:18px;border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);background:var(--surface);padding:17px 20px;font-size:18px;color:var(--ink);box-shadow:none}
[data-booth-theme=boom-flowers] .lb-song input::placeholder{color:color-mix(in srgb,var(--ink) 65%,transparent)}
[data-booth-theme=boom-flowers] #choices :is(.lb-song .btn,.lb-slider .btn){min-height:56px;font-size:17px;border-radius:18px}
[data-booth-theme=boom-flowers] #choices .lb-back{font-size:14px;padding:10px;min-height:40px}
[data-booth-theme=boom-flowers] #gameReply{min-height:24px;font-size:16px}
/* Keep large paintings static instead of compositing every bouquet continuously. */
[data-booth-theme=boom-flowers] .ff-botanical{animation:none!important}
.ff-photo-flight{contain:strict;pointer-events:none}.ff-flying-photo{backface-visibility:hidden}
@media(max-width:820px){
 [data-booth-theme=boom-flowers] .gamecard{padding:25px 23px 20px;border-radius:30px}
 [data-booth-theme=boom-flowers] .gamecard:before{border-radius:23px;inset:7px}
 .sw-screen-fit [data-booth-theme=boom-flowers] .gamecard h2{font-size:clamp(30px,8.5vw,42px);line-height:1.08;margin:10px auto 18px}
 .sw-screen-fit [data-booth-theme=boom-flowers] #choices{gap:10px;margin-top:12px}
 .sw-screen-fit [data-booth-theme=boom-flowers] #choices>.btn{min-height:50px;font-size:16px;line-height:1.3;padding:13px 16px;border-radius:16px}
 .sw-screen-fit [data-booth-theme=boom-flowers] #choices .ss-pose-choice{gap:12px;text-align:left}
 .sw-screen-fit [data-booth-theme=boom-flowers] .game-art .wedding-icon{height:44px;width:44px}
 .sw-screen-fit [data-booth-theme=boom-flowers] .ss-ticket-stub{font-size:9px;margin-bottom:9px;padding-bottom:0}
 [data-booth-theme=boom-flowers] .lb-song input{font-size:17px;min-height:56px;padding:14px 16px}
}

/* 1.5.7: keep labels readable in every answer state; let content determine card height. */
[data-booth-theme=boom-flowers] #choices .ss-pose-choice,
[data-booth-theme=boom-flowers] #choices .ss-pose-choice:is(:hover,:focus-visible,:active,:disabled){color:var(--ink);background:var(--surface);border-color:color-mix(in srgb,var(--ink) 30%,transparent);opacity:1;white-space:normal;overflow-wrap:anywhere;min-width:0;height:auto}
[data-booth-theme=boom-flowers] #choices .ss-pose-choice:hover{background:var(--soft)}
[data-booth-theme=boom-flowers] #choices :is(#lb-cheers,#lb-promise){width:min(100%,320px);max-width:100%;height:auto;min-height:170px;margin:0 auto;padding:20px;gap:12px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:24px;background:var(--surface);color:var(--ink);font-size:20px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box;flex-shrink:0}
[data-booth-theme=boom-flowers] #choices :is(#lb-cheers,#lb-promise) svg{width:64px;height:64px;flex:0 0 64px}
[data-booth-theme=boom-flowers] #choices :is(#lb-cheers,#lb-promise) span{display:block;max-width:100%;width:100%;min-width:0;line-height:1.4}
[data-booth-theme=boom-flowers] #choices .lb-back{flex-shrink:0;margin-top:8px}
[data-booth-theme=boom-flowers] #invitation .hero h1{width:100%;max-width:100%;padding:8px 14px;white-space:normal;overflow-wrap:anywhere;text-wrap:balance;line-height:1.18}
/* Captions participate in the photo frame's layout and wrap inside its paper margin. */
[data-booth-theme=boom-flowers] .collage .hero-photo{display:flex;flex-direction:column;height:auto;min-height:370px;padding:12px;gap:10px;left:5%;width:43%}
[data-booth-theme=boom-flowers] .collage .hero-photo img{width:100%;height:auto;aspect-ratio:1;flex:0 0 auto;object-fit:cover}
[data-booth-theme=boom-flowers] .collage .photo-note{position:static;inset:auto;transform:none;rotate:none;display:block;width:100%;max-width:100%;margin:0;padding:0 4px 8px;white-space:normal;overflow-wrap:anywhere;text-align:center;font-size:26px;line-height:1.35}
[data-booth-theme=boom-flowers] .collage .strip{right:5%;width:36%;padding:10px;top:70px}
[data-booth-theme=boom-flowers] .collage .strip figcaption{margin:8px 0 0;padding:0 4px 8px;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
[data-booth-theme=boom-flowers] .collage{height:auto;min-height:480px;display:flow-root}
@media(max-width:750px){
 [data-booth-theme=boom-flowers] #invitation .hero h1{font-size:clamp(48px,13vw,80px);padding-inline:12px}
 [data-booth-theme=boom-flowers] .collage{min-height:380px}
 [data-booth-theme=boom-flowers] .collage .hero-photo{width:52%;left:3%;min-height:0;top:15px;padding:8px;gap:8px}
 [data-booth-theme=boom-flowers] .collage .photo-note{font-size:21px;line-height:1.4}
 [data-booth-theme=boom-flowers] .collage .strip{width:40%;right:3%;top:90px;padding:7px}
 [data-booth-theme=boom-flowers] .collage .strip figcaption{font-size:19px}
 .sw-screen-fit [data-booth-theme=boom-flowers] #choices :is(#lb-cheers,#lb-promise){min-height:150px;font-size:18px;padding:16px}
}
/* Two real grid cells keep both captions clear of the neighbouring photograph. */
[data-booth-theme=boom-flowers] .collage{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:42px;padding:25px 34px 40px;min-height:0}
[data-booth-theme=boom-flowers] .collage .hero-photo{position:relative;left:auto;top:auto;width:100%;min-height:0;rotate:0deg;transform:rotate(-5deg);margin:0}
[data-booth-theme=boom-flowers] .collage .strip{position:relative;right:auto;top:auto;width:100%;rotate:0deg;transform:rotate(5deg);margin:60px 0 0}
@media(max-width:750px){
 [data-booth-theme=boom-flowers] .collage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:18px 12px 30px}
 [data-booth-theme=boom-flowers] .collage .hero-photo{transform:rotate(-3deg)}
 [data-booth-theme=boom-flowers] .collage .strip{transform:rotate(3deg);margin-top:45px}
}

@media(max-width:1024px){[data-booth-theme=boom-flowers]:not([data-flower-edition=rouge]) .booth-scene{padding-bottom:clamp(85px,16svh,145px);box-sizing:border-box}}
