/* Photobooth surfaces: editable geometry, semantic controls and font-independent vectors. */
.pb-ref-guest .pb-flow-scene,.pb-flow-scene.pb-envelope{position:relative;box-sizing:content-box;width:100%;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden;color:var(--flow-scene-ink,var(--pb-ink));isolation:isolate}
.pb-flow-scene[hidden]{display:none!important}
.pb-flow-board{position:relative;transform-origin:top left;isolation:isolate}
.pb-flow-board:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(ellipse at 90% 5%,color-mix(in srgb,var(--pb-accent) 10%,transparent),transparent 45%),radial-gradient(ellipse at 0% 80%,color-mix(in srgb,var(--flow-scene-ink) 4%,transparent),transparent 50%)}
.pb-flow-decoration{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.pb-flow-control{position:absolute;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:0;background:transparent!important;border:0!important;box-shadow:none!important}
.pb-flow-control>*{max-width:100%;margin:0!important;box-sizing:border-box;color:inherit!important;font-family:inherit!important;font-size:inherit!important;line-height:1.4;text-transform:none;letter-spacing:normal}
.pb-flow-control .pb-symbol,.pb-refined .pb-symbol{display:block;width:22px;height:22px;flex:0 0 22px;pointer-events:none;fill:none;stroke:currentColor}
.pb-action-label{min-width:0;overflow-wrap:anywhere;pointer-events:none}
#pb-app .pb-flow-control>button,#pb-app .pb-flow-control>label.pb-btn,body.pb-refined dialog.pb-flow-scene .pb-flow-control>button{position:static!important;display:flex!important;gap:12px;align-items:center;justify-content:center;width:100%!important;height:100%!important;min-height:0!important;padding:12px 20px!important;border:0!important;border-radius:var(--flow-radius)!important;background:var(--flow-fill)!important;color:var(--flow-ink)!important;font:inherit!important;line-height:1.25!important;letter-spacing:.01em;text-decoration:none!important;transform:none!important;box-shadow:0 8px 24px #0000000b!important;transition:filter .18s ease,box-shadow .18s ease,opacity .18s ease;cursor:pointer}
#pb-app .pb-flow-control[data-ui=primary]>button,#pb-app .pb-flow-control[data-ui=primary]>label{font-weight:600!important}
#pb-app .pb-flow-control[data-ui=secondary]>button,#pb-app .pb-flow-control[data-ui=secondary]>label,body.pb-refined dialog .pb-flow-control[data-ui=secondary]>button{background:color-mix(in srgb,var(--flow-ink) 6%,transparent)!important;color:var(--flow-ink)!important;border:1px solid color-mix(in srgb,var(--flow-ink) 24%,transparent)!important;box-shadow:none!important}
#pb-app .pb-flow-control[data-ui=text]>button,body.pb-refined dialog .pb-flow-control[data-ui=text]>button{background:transparent!important;border:0!important;box-shadow:none!important;padding:6px!important;font-size:17px!important;opacity:.84}
#pb-app .pb-flow-control[data-ui=icon]>button,body.pb-refined dialog .pb-flow-control[data-ui=icon]>button{border-radius:50%!important;background:color-mix(in srgb,var(--flow-ink) 9%,transparent)!important;border:1px solid color-mix(in srgb,var(--flow-ink) 9%,transparent)!important;box-shadow:none!important;padding:0!important;min-width:var(--flow-min-hit,44px)!important;min-height:var(--flow-min-hit,44px)!important;aspect-ratio:1;flex-shrink:0}
#pb-app .pb-flow-control[data-ui=custom]>button,body.pb-refined dialog .pb-flow-control[data-ui=custom]>button{border:var(--flow-border) solid var(--flow-ink)!important}
#pb-app .pb-flow-control>button:hover,body.pb-refined dialog .pb-flow-control>button:hover{filter:brightness(1.06);box-shadow:0 10px 30px #00000012!important}
#pb-app .pb-flow-control>button:active,body.pb-refined dialog .pb-flow-control>button:active{filter:brightness(.96)}
.pb-flow-control [hidden],.pb-flow-control>button[hidden]{display:none!important}
.pb-refined :is(button,a,input,select):focus-visible{outline:2px solid var(--pb-accent)!important;outline-offset:4px!important}
.pb-refined button:disabled{cursor:wait;opacity:.5}
.pb-flow-control>label:not(.pb-btn){position:static;width:100%;display:block!important;height:auto}
.pb-flow-control input[type=text]{position:static;width:100%!important;height:64px!important;padding:12px 22px!important;color:var(--flow-ink)!important;background:color-mix(in srgb,var(--flow-ink) 6%,transparent)!important;font:inherit!important;letter-spacing:.02em!important;border:1px solid color-mix(in srgb,var(--flow-ink) 22%,transparent)!important;border-radius:var(--flow-radius)!important;text-align:inherit!important;caret-color:var(--flow-ink)!important;-webkit-text-fill-color:var(--flow-ink)!important;opacity:1!important;box-shadow:inset 0 1px 4px #00000003;transition:border-color .2s,box-shadow .2s}
.pb-flow-control input[type=text]:focus{border-color:var(--pb-accent)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--pb-accent) 12%,transparent)!important}
.pb-flow-control input::placeholder{color:inherit;opacity:.58}
.pb-flow-control>canvas{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain;display:block;filter:drop-shadow(0 12px 18px #00000012)}
.pb-flow-control>p{position:static!important;font:inherit!important;color:inherit!important;width:100%;text-align:inherit!important;opacity:.78}
.pb-flow-control[data-flow-role=frame_picker]>div{width:100%;height:100%;display:flex;flex-direction:column;gap:14px}
.pb-flow-control .pb-format-tabs{position:static!important;flex-shrink:0;display:flex;gap:8px;justify-content:center;min-height:0}
.pb-flow-control .pb-format-tabs:empty{display:none!important}
.pb-flow-control .pb-frame-grid{position:static!important;inset:auto!important;display:flex!important;width:100%!important;flex:1;min-height:0;padding:0!important;gap:0!important;overflow-x:auto!important;overflow-y:hidden;scroll-snap-type:x mandatory;align-items:stretch;scrollbar-width:none}
.pb-flow-control .pb-frame-grid::-webkit-scrollbar{display:none}
.pb-flow-control .pb-frame-choice{flex:0 0 100%!important;min-width:100%!important;padding:12px 38px!important;display:flex!important;align-items:center;justify-content:center;scroll-snap-align:center;border:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;transition:opacity .2s}
.pb-flow-control .pb-frame-choice canvas{width:100%!important;height:100%!important;object-fit:contain;max-height:none!important;filter:drop-shadow(0 14px 22px #00000020)}
#pb-app .pb-flow-control .pb-frame-dots{position:static!important;display:flex;justify-content:center;gap:2px;flex-shrink:0;min-height:44px}
#pb-app .pb-flow-control .pb-frame-dots button{width:44px;height:44px;min-height:44px;min-width:44px;border:0;border-radius:50%;background:transparent;padding:0;display:grid;place-items:center;color:var(--flow-ink)}
#pb-app .pb-flow-control .pb-frame-dots button:before{content:none}
#pb-app .pb-flow-control .pb-frame-dots button:after{content:'';width:6px;height:6px;border-radius:9px;background:currentColor;opacity:.3;transition:width .2s,opacity .2s}
#pb-app .pb-flow-control .pb-frame-dots button[aria-pressed=true]:after{width:22px;opacity:1}
.pb-flow-control .pb-voice-box{width:100%;height:100%;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;border:1px solid color-mix(in srgb,var(--flow-ink) 13%,transparent)!important;border-radius:var(--flow-radius)!important;padding:22px!important;background:color-mix(in srgb,var(--flow-ink) 4%,transparent)!important;box-shadow:0 16px 48px #00000005}
.pb-flow-control .pb-voice-box p,.pb-flow-control .pb-voice-box label{margin:0;font-family:ArsyPBSans,Arial,sans-serif!important;font-size:16px;color:inherit}
#pb-app .pb-flow-control .pb-voice-box .pb-record-dial{width:120px;height:120px;flex-shrink:0;margin:0 auto 8px;color:var(--flow-ink)!important;background:conic-gradient(var(--pb-accent) var(--pb-record-progress),color-mix(in srgb,var(--flow-ink) 12%,transparent) 0);box-shadow:0 0 0 12px color-mix(in srgb,var(--flow-ink) 2%,transparent)}
#pb-app .pb-flow-control .pb-record-dial:before{inset:2px;background:var(--flow-scene-bg,var(--flow-fill))}
#pb-app .pb-flow-control .pb-record-dial>svg{width:29px;height:29px;stroke-width:1.4}
#pb-app .pb-flow-control .pb-record-dial>strong{font:400 30px/1.1 ArsyPBSans,Arial,sans-serif;letter-spacing:1px}
#pb-app .pb-flow-control .pb-voice-box .pb-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0!important;border-radius:999px!important;color:var(--flow-scene-bg)!important;background:var(--flow-ink)!important;font:500 16px/1.3 ArsyPBSans,Arial,sans-serif!important;padding:13px 21px;min-height:48px;box-shadow:0 6px 20px #00000008}
.pb-flow-control .pb-voice-review{gap:20px}
.pb-flow-control .pb-voice-review .pb-link{display:flex;align-items:center;gap:7px;color:inherit!important;text-decoration:none;font:14px ArsyPBSans,Arial,sans-serif!important;opacity:.8}
.pb-flow-control .pb-voice-review .pb-symbol{width:17px;height:17px;flex-basis:17px}
#pb-app .pb-flow-control .pb-record-wave{height:24px;margin:0;color:var(--flow-ink)}
.pb-flow-control .pb-record-wave i{border-radius:8px}
.pb-flow-control audio{width:100%;height:40px;border-radius:999px}
.pb-flow-control[data-flow-role=upload_status]>div{width:100%;font-size:14px}
.pb-flow-control progress{width:100%;height:5px;overflow:hidden;border:0;border-radius:99px;accent-color:var(--pb-accent);background:color-mix(in srgb,var(--flow-ink) 12%,transparent)}
.pb-flow-control progress::-webkit-progress-bar{border-radius:99px;background:color-mix(in srgb,var(--flow-ink) 12%,transparent)}
.pb-flow-control progress::-webkit-progress-value{border-radius:99px;background:var(--pb-accent)}
.pb-flow-control .pb-gallery{position:static!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:18px;width:100%;height:100%;overflow:auto;padding:10px 4px!important;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--flow-ink) 20%,transparent) transparent}
#pb-app .pb-flow-control .pb-gallery-item{position:static;margin:0!important;align-self:start;overflow:hidden;border:0!important;border-radius:18px!important;padding:0!important;background:color-mix(in srgb,var(--flow-ink) 5%,var(--flow-scene-bg))!important;color:var(--flow-ink)!important;box-shadow:0 8px 24px #00000009!important;text-align:left;transition:box-shadow .2s}
.pb-flow-control .pb-gallery-item img{width:100%;height:auto;object-fit:contain}
.pb-flow-control .pb-gallery-item span,.pb-flow-control .pb-gallery-item small{font:14px/1.5 ArsyPBSans,Arial,sans-serif!important;text-transform:none!important;padding:12px;display:block;overflow-wrap:anywhere;color:inherit!important}
.pb-flow-control .pb-gallery-item small{font-size:11px!important;border-top:1px solid color-mix(in srgb,var(--flow-ink) 8%,transparent);padding-top:7px;opacity:.62}
.pb-flow-control .pb-empty{grid-column:1/-1;font-size:18px;padding:35px 18px;border:0;background:transparent!important;text-align:center}
.pb-flow-control .pb-empty [data-empty-art]{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 24px;border-radius:50%;background:color-mix(in srgb,var(--flow-ink) 7%,transparent)}
.pb-flow-control .pb-empty .pb-symbol{width:32px;height:32px}
.pb-flow-control .pb-empty p{font:15px/1.7 ArsyPBSans,Arial,sans-serif}
.pb-refined input[type=checkbox]{color:inherit;appearance:none;-webkit-appearance:none;position:relative;display:inline-block;vertical-align:middle;width:22px;height:22px;min-width:22px;margin:0 10px 0 0!important;border:1.5px solid color-mix(in srgb,currentColor 45%,transparent);border-radius:50%;background:transparent;flex-shrink:0;cursor:pointer;transition:background .18s}
.pb-refined input[type=checkbox]:checked{background:var(--pb-accent);border-color:var(--pb-accent)}
.pb-refined input[type=checkbox]:checked:after{content:'';position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.pb-flow-control[data-flow-role=photo_consent]>label{font:15px/1.7 ArsyPBSans,Arial,sans-serif!important;text-align:left;cursor:pointer;padding:8px 10px;border-radius:16px}
.pb-flow-control [data-audio-consent-wrap]{font:13px/1.6 ArsyPBSans,Arial,sans-serif!important;text-align:left;cursor:pointer}
body.pb-refined .pb-flow-scene.pb-camera-modal,body.pb-refined .pb-flow-scene.pb-crop-modal{padding:0!important;border:1px solid #ffffff12!important;border-radius:30px!important;margin:auto!important;width:min(506px,calc(100vw - 20px))!important;max-width:none!important;max-height:calc(100dvh - 20px)!important;overflow-y:auto!important;overflow-x:hidden!important;inset:0!important;color:var(--flow-scene-ink);box-shadow:0 30px 100px #00000038;scrollbar-width:thin;scrollbar-color:#ffffff30 transparent}
body.pb-refined .pb-flow-scene.pb-camera-modal[open],body.pb-refined .pb-flow-scene.pb-crop-modal[open]{display:block!important}
body.pb-refined dialog::backdrop{background:#101e27b8;backdrop-filter:blur(12px)}
.pb-flow-control .pb-viewfinder{position:relative!important;margin:auto!important;max-width:100%;max-height:100%;border-radius:24px!important;background:#101710;overflow:hidden;padding:0!important;box-shadow:0 14px 36px #00000012}
.pb-flow-control .pb-viewfinder video{width:100%!important;height:100%!important;object-fit:cover}
.pb-flow-control .pb-viewfinder [data-countdown]{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:#0002;font:500 64px ArsyPBSans,Arial,sans-serif;text-shadow:0 1px 15px #000}
body.pb-refined .pb-flow-control[data-flow-role=camera_shot]>div{width:100%;height:100%;display:grid;place-items:center;border:0!important;border-radius:999px!important;background:color-mix(in srgb,var(--flow-ink) 7%,transparent);color:var(--flow-ink)!important;font:16px ArsyPBSans,Arial,sans-serif}
body.pb-refined dialog .pb-flow-control[data-ui=shutter]>button{position:relative!important;width:100%!important;height:100%!important;border:2px solid var(--flow-ink)!important;border-radius:50%!important;background:transparent!important;padding:0!important;font-size:0!important;box-shadow:none!important;isolation:isolate}
body.pb-refined dialog .pb-flow-control[data-ui=shutter]>button:before{content:'';position:absolute;inset:7px;border-radius:50%;background:var(--flow-fill);transition:inset .15s}
body.pb-refined dialog .pb-flow-control[data-ui=shutter]>button:active:before{inset:11px}
.pb-flow-control[data-flow-role=camera_delay]>label{display:flex!important;align-items:center;justify-content:center;gap:9px;font:15px ArsyPBSans,Arial,sans-serif!important}
.pb-flow-control[data-flow-role=camera_delay] select{font:inherit;color:inherit;background:color-mix(in srgb,var(--flow-ink) 5%,transparent);border:0;border-radius:999px;padding:10px 26px 10px 14px;margin-left:0;max-width:175px;cursor:pointer}
.pb-flow-control[data-flow-role=camera_delay] select option{color:var(--flow-ink);background:var(--flow-scene-bg)}
.pb-flow-control[data-flow-role=crop_canvas]>canvas{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain;border-radius:20px;filter:none}
.pb-flow-control[data-flow-role=crop_zoom]>label{font:15px ArsyPBSans,Arial,sans-serif!important;text-align:left}
.pb-flow-control input[type=range]{appearance:none;-webkit-appearance:none;display:block;width:100%;height:5px;margin-top:20px;border:0;border-radius:99px;background:color-mix(in srgb,var(--flow-ink) 18%,transparent);accent-color:var(--pb-accent);cursor:pointer}
.pb-flow-control input[type=range]::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border-radius:50%;border:3px solid var(--flow-scene-bg);background:var(--pb-accent);box-shadow:0 0 0 1px var(--pb-accent)}
.pb-flow-control input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;border:2px solid var(--flow-scene-bg);background:var(--pb-accent)}
.pb-flow-control .pb-filter-tabs{display:flex;gap:8px;flex-wrap:wrap;width:100%;justify-content:center}
body.pb-refined .pb-flow-control .pb-filter-tabs button{font:14px ArsyPBSans,Arial,sans-serif;min-height:44px;padding:10px 16px;border-radius:999px;color:var(--flow-ink);background:color-mix(in srgb,var(--flow-ink) 5%,transparent);border:1px solid transparent;box-shadow:none;transition:background .2s}
body.pb-refined .pb-flow-control .pb-filter-tabs button[aria-pressed=true]{border-color:color-mix(in srgb,var(--pb-accent) 70%,transparent);background:color-mix(in srgb,var(--pb-accent) 13%,transparent);outline:0}
.pb-flow-scene.pb-envelope{position:absolute!important;inset:0;z-index:100;transition:opacity .5s}
.pb-flow-scene.pb-envelope.pb-opening{opacity:0;pointer-events:none}
body.pb-refined .pb-ref-guest .pb-language{position:absolute!important;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom));right:12px;border:1px solid #ffffff10;background:color-mix(in srgb,var(--pb-primary) 15%,transparent);border-radius:999px;padding:2px 8px;backdrop-filter:blur(10px);z-index:30}
body.pb-refined .pb-ref-guest .pb-language select{font:11px ArsyPBSans,Arial,sans-serif!important;min-height:32px;width:90px;border:0!important;border-radius:999px!important}
body.pb-refined .pb-notice{position:fixed;bottom:max(65px,calc(env(safe-area-inset-bottom) + 60px));left:50%;transform:translateX(-50%);width:min(430px,calc(100vw - 36px));z-index:150;padding:14px 20px!important;border:1px solid #ffffff22!important;border-radius:20px!important;background:#fbf7ee!important;color:#253b34!important;font:14px/1.6 ArsyPBSans,Arial,sans-serif!important;box-shadow:0 12px 40px #0000001a;backdrop-filter:blur(12px)}
body.pb-refined .pb-lightbox{border:0;border-radius:28px;padding:24px;background:var(--pb-paper);color:var(--pb-primary);box-shadow:0 25px 100px #0004;max-width:min(506px,calc(100vw - 24px))}
body.pb-refined .pb-lightbox>.pb-icon-btn{width:44px;height:44px;display:grid;place-items:center;float:right;border:0;border-radius:50%;background:color-mix(in srgb,var(--pb-primary) 7%,transparent)}
body.pb-refined .pb-lightbox img{border-radius:16px;margin:12px auto 20px;max-height:65dvh}
body.pb-refined .pb-lightbox .pb-btn{display:flex;gap:10px;align-items:center;justify-content:center;border-radius:999px;font:15px ArsyPBSans,Arial,sans-serif!important}
body.pb-refined .pb-cover{overflow:hidden;border-radius:0 0 28px 28px}
body.pb-refined .pb-cover-action{border-radius:999px!important}
@media(prefers-reduced-motion:reduce){body.pb-refined *,body.pb-refined *:before,body.pb-refined *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Editor chrome follows the website palette; the canvas retains the event artwork. */
.pb-flow-editor{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:16px 24px;background:var(--nvi-site-surface,#f7f4ec);border-block:1px solid var(--nvi-site-line,#d9d4c7)}
.pb-flow-editor label{display:flex;align-items:center;gap:12px;font-size:14px}.pb-flow-editor select{min-width:220px;min-height:44px}.pb-flow-editor p{margin:0;font-size:13px;flex:1;min-width:200px}
.pb-flow-copy label{display:block;margin:12px 0;font-size:12px}.pb-flow-copy textarea{display:block;width:100%;min-height:58px;margin-top:6px;font:inherit}

/* The transformed board cannot shift sideways when a field receives focus. */
.pb-flow-viewport{position:relative;width:100%;height:100%;overflow:clip;isolation:isolate}
body.pb-refined #pb-app [hidden],body.pb-refined dialog.pb-flow-scene [hidden]{display:none!important}
#pb-app .pb-flow-control .pb-voice-box>*{flex-shrink:0}
#pb-app .pb-flow-control .pb-voice-box audio{height:40px!important;min-height:40px;flex-shrink:0!important}
#pb-app .pb-flow-control .pb-voice-box>.pb-actions:not(:has(button:not([hidden]))),#pb-app .pb-flow-control .pb-voice-review:not(:has(button:not([hidden]))){display:none}
.pb-flow-control[data-flow-role=success_status]{gap:10px}
.pb-flow-control[data-flow-role=success_status]>.pb-symbol{width:24px;height:24px;flex-basis:24px;opacity:.85}
/* Dialog canvas rules must not compress the decorative scene behind its controls. */
.pb-flow-board>canvas.pb-flow-decoration{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:fill!important;filter:none!important;border:0!important;border-radius:0!important;background:transparent!important;pointer-events:none}
