@font-face{font-family:'PhotoUpload Comic';src:url('../fonts/ComicNeue-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
/* base.css intentionally zooms normal desktop pages to 90% at >=900px.
   A fullscreen slideshow must always occupy the real viewport. */
html{zoom:1!important;font-size:100%!important}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
.client-slideshow-page{background:#090c0b;color:#fff}
.client-slideshow{position:fixed;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#090c0b}
.slideshow-stage{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden}

/* Opening presentation */
.slideshow-opening{position:absolute;z-index:3;inset:0;display:grid;place-items:center;padding:clamp(18px,4vmin,54px);overflow:hidden;text-align:center;color:var(--theme-text,var(--ink));background:var(--theme-surface,#fff);opacity:1;transition:opacity var(--opening-transition-duration,2200ms) cubic-bezier(.22,.61,.36,1);will-change:opacity}
.slideshow-opening.is-leaving{opacity:0;pointer-events:none}
.slideshow-opening[hidden]{display:none}
.slideshow-opening-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.slideshow-opening-overlay{position:absolute;inset:0;background:rgba(0,0,0,.52)}
.slideshow-opening-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;width:min(1120px,92vw);max-height:100%;margin:auto;text-align:center}
.client-slideshow-tv-display .slideshow-opening-content{justify-content:center;width:min(1120px,90vw);height:auto;max-height:100%;gap:clamp(14px,2vh,24px)}
.client-slideshow-tv-display .slideshow-brand-logo,
.client-slideshow-tv-display .slideshow-presented-by,
.client-slideshow-tv-display .slideshow-subtitle,
.client-slideshow-tv-display .slideshow-date{margin:0}
.slideshow-opening.has-cover{color:#fff}
.slideshow-opening.has-cover .slideshow-presented-by,.slideshow-opening.has-cover .slideshow-date{color:rgba(255,255,255,.88)}
.slideshow-opening.has-cover h1,.slideshow-opening.has-cover .slideshow-subtitle{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.slideshow-brand-logo{display:block;max-width:min(230px,34vw);max-height:clamp(54px,14vmin,100px);margin:0 0 clamp(10px,2.4vmin,28px);object-fit:contain}
.slideshow-presented-by{margin:0 0 clamp(8px,1.8vmin,16px);color:var(--theme-primary,var(--brand));font-size:clamp(.72rem,min(1.6vw,2.4vh),1.05rem);font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.slideshow-presented-by span{font-weight:600}
.slideshow-opening h1{max-width:1100px;margin:0;font-family:'Fraunces',Georgia,serif;font-size:clamp(2.2rem,min(7.8vw,10.8vh),6.8rem);font-weight:600;line-height:.96;letter-spacing:-.045em;text-align:center}
.slideshow-subtitle{margin:clamp(8px,1.8vmin,14px) 0 0;font-family:'Fraunces',Georgia,serif;font-size:clamp(1rem,min(2.5vw,3.8vh),1.8rem);font-style:italic;text-align:center}
.slideshow-date{margin:clamp(10px,2vmin,20px) 0 0;color:var(--theme-muted,var(--muted));font-size:clamp(.82rem,min(1.7vw,2.7vh),1.2rem);font-weight:750;letter-spacing:.08em;text-align:center}

/* Media stage: the primary asset is always fully visible. */
.slideshow-media{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:#000}
.slideshow-media[hidden]{display:none}
.slideshow-media.background-black{background:#000}
.slideshow-media.background-white{background:#fff}
.slideshow-media.background-theme{background:var(--theme-surface,#fff)}
.slideshow-media.background-custom{background:var(--slideshow-background-colour,#000)}
.slideshow-media.background-blur{background:#000}
.slideshow-media-layer{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.slideshow-media-layer.is-previous{z-index:1}
.slideshow-media-layer.is-current{z-index:2}
.slideshow-media-backdrop{position:absolute!important;z-index:0!important;inset:-6%!important;width:112%!important;height:112%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;filter:blur(34px) brightness(.58) saturate(.92);transform:scale(1.04);opacity:.95}
.slideshow-media-main{position:relative!important;z-index:1!important;display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;transform-origin:center center}
.slideshow-photo-main{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;background-position:center center!important;background-repeat:no-repeat!important;background-size:contain!important;transform-origin:center center;pointer-events:none}
.client-slideshow-tv-display .slideshow-media-main{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center center!important}
.client-slideshow-tv-display video.slideshow-media-main{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center center!important;background:#000;pointer-events:none}
.client-slideshow-tv-display video::-webkit-media-controls,
.client-slideshow-tv-display video::-webkit-media-controls-enclosure,
.client-slideshow-tv-display video::-webkit-media-controls-panel,
.client-slideshow-tv-display video::-webkit-media-controls-overlay-play-button{display:none!important}
.slideshow-media-layer.is-current.is-video-loading{opacity:0!important}
.slideshow-media-layer.is-current:not(.slideshow-wall-layer):not(.transition-none):not(.is-transitioning-in){opacity:0}
.slideshow-media-layer.is-current.transition-none{animation:none}
.slideshow-media-layer.is-current.is-transitioning-in.transition-fade{animation:slideshow-crossfade var(--slide-transition-duration,800ms) ease both}
.slideshow-media-layer.is-current.is-transitioning-in.transition-slide{animation:slideshow-slide-in var(--slide-transition-duration,800ms) cubic-bezier(.2,.7,.2,1) both}
.slideshow-media-layer.is-current.is-transitioning-in.transition-kenburns{animation:slideshow-crossfade var(--slide-transition-duration,800ms) ease both}
.slideshow-media-layer.is-previous.is-transitioning-out{animation:slideshow-outgoing-fade var(--slide-transition-duration,800ms) ease both}
.slideshow-media-main.kenburns-motion{animation-duration:var(--kenburns-duration,8s);animation-timing-function:cubic-bezier(.2,.7,.2,1);animation-fill-mode:both;will-change:transform}
.slideshow-media-main.kenburns-zoom-in{animation-name:slideshow-kenburns-zoom-in}
.slideshow-media-main.kenburns-pan-right-zoom-out{animation-name:slideshow-kenburns-pan-right-zoom-out}
.slideshow-media-main.kenburns-diagonal-left-up-zoom-in{animation-name:slideshow-kenburns-diagonal-left-up-zoom-in}
.slideshow-media-main.kenburns-zoom-out{animation-name:slideshow-kenburns-zoom-out}
.slideshow-media-main.kenburns-pan-left-zoom-in{animation-name:slideshow-kenburns-pan-left-zoom-in}
.slideshow-media-main.kenburns-diagonal-right-down-zoom-out{animation-name:slideshow-kenburns-diagonal-right-down-zoom-out}
.slideshow-caption{position:absolute;z-index:4;left:50%;bottom:clamp(18px,4vh,44px);transform:translateX(-50%);width:max-content;max-width:min(820px,84vw);padding:10px 16px;border:1px solid rgba(255,255,255,.18);border-radius:14px;color:#fff;background:rgba(5,10,9,.68);box-shadow:0 8px 30px rgba(0,0,0,.26);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:clamp(.82rem,1.35vw,1.08rem);font-weight:650;line-height:1.4;text-align:center;text-wrap:balance;pointer-events:none}
.slideshow-caption[hidden]{display:none!important}
.client-slideshow-tv-display .slideshow-caption{bottom:92px;max-width:min(900px,80vw);font-size:clamp(.9rem,1.6vw,1.2rem)}
@media(max-width:760px){.slideshow-caption{bottom:18px;max-width:calc(100vw - 34px);padding:9px 13px;border-radius:12px}.client-slideshow-tv-display .slideshow-caption{bottom:84px;max-width:calc(100vw - 32px)}}
@keyframes slideshow-crossfade{from{opacity:0}to{opacity:1}}
@keyframes slideshow-outgoing-fade{from{opacity:1}to{opacity:0}}
@keyframes slideshow-slide-in{from{opacity:0;transform:translateX(3%)}to{opacity:1;transform:translateX(0)}}
@keyframes slideshow-kenburns-zoom-in{from{transform:scale(1.015) translate(0,0)}to{transform:scale(1.105) translate(-.8%,-.5%)}}
@keyframes slideshow-kenburns-pan-right-zoom-out{from{transform:scale(1.105) translate(-3.2%,.6%)}to{transform:scale(1.06) translate(3.2%,-.4%)}}
@keyframes slideshow-kenburns-diagonal-left-up-zoom-in{from{transform:scale(1.025) translate(2.5%,2.1%)}to{transform:scale(1.105) translate(-2.5%,-2.1%)}}
@keyframes slideshow-kenburns-zoom-out{from{transform:scale(1.11) translate(.8%,.5%)}to{transform:scale(1.02) translate(0,0)}}
@keyframes slideshow-kenburns-pan-left-zoom-in{from{transform:scale(1.055) translate(3.2%,.5%)}to{transform:scale(1.095) translate(-3.2%,-.4%)}}
@keyframes slideshow-kenburns-diagonal-right-down-zoom-out{from{transform:scale(1.105) translate(-2.5%,-2.1%)}to{transform:scale(1.035) translate(2.5%,2.1%)}}

.slideshow-empty{position:absolute;inset:0;display:grid;place-content:center;gap:8px;padding:30px;text-align:center;background:#090c0b}
.slideshow-empty[hidden]{display:none}
.slideshow-empty strong{font-family:'Fraunces',Georgia,serif;font-size:clamp(2rem,6vw,4rem)}
.slideshow-empty span{color:rgba(255,255,255,.68)}
.slideshow-start{position:absolute;z-index:5;display:grid;place-items:center;gap:7px;min-width:190px;padding:22px 28px;border:1px solid rgba(255,255,255,.35);border-radius:22px;color:#fff;background:rgba(8,18,15,.82);box-shadow:0 18px 50px rgba(0,0,0,.28);backdrop-filter:blur(14px);font:inherit;cursor:pointer}
.slideshow-start span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#102f27;background:#fff;font-size:1.35rem}
.slideshow-start strong{font-size:1rem}.slideshow-start small{color:rgba(255,255,255,.72)}
.slideshow-start[hidden]{display:none}
.slideshow-progress{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:6;padding:6px 10px;border-radius:999px;color:rgba(255,255,255,.82);background:rgba(0,0,0,.42);font-size:.78rem;backdrop-filter:blur(8px)}
.slideshow-progress:empty{display:none}

.slideshow-controls{z-index:7;display:flex;align-items:center;justify-content:center;gap:8px;min-height:66px;padding:9px max(12px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid rgba(255,255,255,.12);background:rgba(8,13,12,.94);transition:transform .25s,opacity .25s}
.slideshow-controls.is-idle{transform:translateY(100%);opacity:0;pointer-events:none}
.client-slideshow-tv-display .client-slideshow{display:block}
.client-slideshow-tv-display .slideshow-stage{position:absolute;inset:0}
.client-slideshow-tv-display .slideshow-controls{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:9;width:max-content;max-width:calc(100% - 36px);min-height:0;gap:5px;padding:6px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(7,12,11,.72);backdrop-filter:blur(16px);transform:translateX(-50%);box-shadow:0 10px 32px rgba(0,0,0,.24);opacity:1;visibility:visible;transition:opacity .32s ease,visibility 0s linear}
.client-slideshow-tv-display .slideshow-controls.is-idle{transform:translateX(-50%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease,visibility 0s linear .32s}
.client-slideshow-tv-display .slideshow-controls button{display:grid;place-items:center;width:46px;min-width:46px;height:46px;min-height:46px;padding:0;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.08);font-size:1rem;box-shadow:none}
.client-slideshow-tv-display .slideshow-controls button:hover,.client-slideshow-tv-display .slideshow-controls button:focus-visible{background:rgba(255,255,255,.18)}
.client-slideshow-tv-display .slideshow-controls .slideshow-play{color:#101614;background:rgba(255,255,255,.94)}
.client-slideshow-tv-display .slideshow-controls .slideshow-text-control{width:46px;min-width:46px;padding:0;font-size:1.15rem}
.client-slideshow-tv-display .slideshow-video-time{min-width:58px;padding:0 7px;color:rgba(255,255,255,.84);font-size:.72rem;font-weight:800;text-align:center;white-space:nowrap}.client-slideshow-tv-display .slideshow-video-time[hidden]{display:none}
@media(min-width:900px) and (min-height:721px){
 .client-slideshow-tv-display .slideshow-opening-content{width:min(1180px,90vw);height:auto}
 .client-slideshow-tv-display .slideshow-brand-logo{max-width:min(260px,28vw);max-height:clamp(90px,12vh,130px)}
 .client-slideshow-tv-display .slideshow-opening h1{font-size:clamp(3rem,min(6.4vw,9.2vh),6.8rem)}
}
@media(max-height:720px){
 .slideshow-opening{padding:14px 24px}
 .client-slideshow-tv-display .slideshow-opening-content{justify-content:center;height:auto;gap:clamp(12px,2vh,18px)}

 .slideshow-brand-logo{max-width:180px;max-height:72px;margin-bottom:10px}
 .slideshow-presented-by{margin-bottom:7px}
 .slideshow-opening h1{font-size:clamp(2rem,min(6.7vw,9vh),4.6rem)}
 .slideshow-subtitle{margin-top:7px}
 .slideshow-date{margin-top:9px}
}
.slideshow-controls button,.slideshow-controls select,.slideshow-exit{min-height:40px;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;background:rgba(255,255,255,.08);font:inherit;font-size:.82rem;font-weight:750}
.slideshow-extra-controls,.slideshow-settings-grid{display:contents}
.slideshow-settings-toggle,.slideshow-mobile-settings-header{display:none}
.slideshow-controls button{min-width:44px;padding:8px 12px;cursor:pointer}
.slideshow-controls button:hover,.slideshow-controls button:focus-visible,.slideshow-controls button[aria-pressed="true"]{background:rgba(255,255,255,.18)}
.slideshow-icon-control{display:grid;place-items:center}
.slideshow-icon-control svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.slideshow-play{display:grid;place-items:center;font-size:1rem!important}.slideshow-play svg{display:block;width:21px;height:21px;fill:currentColor;pointer-events:none}
.slideshow-text-control{white-space:nowrap}
.slideshow-control-field{display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.72);font-size:.74rem;font-weight:750}
.slideshow-control-field select{min-width:66px;padding:7px 24px 7px 9px;color:#fff!important;background-color:#18201e!important;border-color:rgba(255,255,255,.24)!important;color-scheme:dark}
.slideshow-control-field select option{color:#fff;background:#18201e}
.slideshow-volume input{width:100px}
.slideshow-exit{display:inline-flex;align-items:center;padding:8px 13px;text-decoration:none}
@media(min-width:761px){
 .slideshow-settings-toggle{display:grid;place-items:center}
 .slideshow-extra-controls{position:fixed;z-index:12;left:50%;bottom:calc(80px + env(safe-area-inset-bottom));display:none;width:min(650px,calc(100vw - 28px));max-height:min(60vh,440px);overflow:auto;gap:10px;padding:14px;border:1px solid rgba(255,255,255,.16);border-radius:17px;background:rgba(8,13,12,.97);box-shadow:0 16px 48px rgba(0,0,0,.42);backdrop-filter:blur(16px);transform:translateX(-50%)}
 .slideshow-extra-controls.is-open{display:grid}
 .slideshow-mobile-settings-header{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff;font-size:.82rem}
 .slideshow-mobile-settings-header button{width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border-radius:50%;font-size:1.2rem}
 .slideshow-settings-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
 .slideshow-settings-grid .slideshow-control-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:rgba(255,255,255,.06)}
 .slideshow-settings-grid .slideshow-control-field select,.slideshow-settings-grid .slideshow-volume input,.slideshow-settings-grid .slideshow-text-control{width:100%;min-width:0}
 .slideshow-setting-speed,.slideshow-setting-music,.slideshow-setting-shuffle,.slideshow-setting-video,.slideshow-setting-captions,.slideshow-setting-source{grid-column:span 3}
 .slideshow-settings-grid .slideshow-setting-source{grid-column:span 3}
}
@media(max-width:760px){
 .slideshow-controls{position:relative;justify-content:center;gap:5px;overflow:visible;padding-inline:7px}
 .slideshow-controls>button,.slideshow-controls>.slideshow-exit{flex:0 0 auto}
 .slideshow-controls>[data-slideshow-prev],.slideshow-controls>[data-slideshow-next],.slideshow-controls>.slideshow-play,.slideshow-fullscreen-main,.slideshow-settings-toggle{width:44px;min-width:44px;height:44px;min-height:44px;padding:8px}
 .slideshow-controls .slideshow-icon-control svg{width:19px;height:19px}
 .slideshow-settings-toggle{display:grid;place-items:center}
 .slideshow-exit{min-width:50px;min-height:44px;justify-content:center;padding-inline:9px}
 .slideshow-extra-controls{
   position:fixed;
   z-index:12;
   left:10px;
   right:10px;
   bottom:calc(72px + env(safe-area-inset-bottom));
   display:none;
   gap:8px;
   padding:11px;
   border:1px solid rgba(255,255,255,.16);
   border-radius:16px;
   background:rgba(8,13,12,.96);
   box-shadow:0 14px 40px rgba(0,0,0,.42);
   backdrop-filter:blur(16px)
 }
 .slideshow-extra-controls.is-open{display:grid}
 .slideshow-mobile-settings-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:1px 1px 5px;color:#fff;font-size:.78rem}
 .slideshow-mobile-settings-header button{width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border-radius:50%;font-size:1.2rem}
 .slideshow-settings-grid{
   display:grid;
   grid-template-columns:repeat(6,minmax(0,1fr));
   grid-template-rows:repeat(2,minmax(50px,auto));
   grid-auto-flow:row;
   gap:8px
 }
 .slideshow-settings-grid .slideshow-control-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:8px 9px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:rgba(255,255,255,.06)}
 .slideshow-settings-grid .slideshow-control-field span{display:block;color:rgba(255,255,255,.72);font-size:.68rem}
 .slideshow-settings-grid .slideshow-control-field select{width:100%;min-width:0}
 .slideshow-settings-grid .slideshow-volume input{width:100%;min-width:0}
 .slideshow-settings-grid .slideshow-text-control{width:100%;min-width:0}
 .slideshow-setting-speed{grid-column:span 2}
 .slideshow-setting-music{grid-column:span 4}
 .slideshow-setting-video,.slideshow-setting-captions{grid-column:span 3}
 .slideshow-setting-shuffle{grid-column:span 2}
 .slideshow-settings-grid:has(.slideshow-setting-shuffle) .slideshow-setting-speed{grid-column:span 2}
 .slideshow-settings-grid:has(.slideshow-setting-shuffle) .slideshow-setting-music{grid-column:span 2}
 .slideshow-settings-grid:not(:has(.slideshow-setting-music)) .slideshow-setting-speed,
 .slideshow-settings-grid:not(:has(.slideshow-setting-music)) .slideshow-setting-shuffle{grid-column:span 3}
 .slideshow-settings-grid:not(:has(.slideshow-setting-speed)) .slideshow-setting-music{grid-column:span 6}
 .slideshow-opening{padding:24px}
 .slideshow-brand-logo{max-width:190px;max-height:80px;margin-bottom:24px}
}


/* Event slideshow social/live effects share the Delivery slideshow stage. */
.slideshow-heart-layer{position:absolute;z-index:6;inset:0;overflow:hidden;pointer-events:none}
.slideshow-heart-layer span{position:absolute;left:var(--heart-x,50%);bottom:-34px;color:#ff6f91;font-size:clamp(20px,3.2vmin,34px);text-shadow:0 2px 9px #0005;opacity:0;animation:slideshow-heart-float 3.6s ease-out var(--heart-delay,0s) both}
@keyframes slideshow-heart-float{0%{opacity:0;transform:translate(-50%,0) scale(.72)}12%{opacity:.92}70%{opacity:.8}100%{opacity:0;transform:translate(calc(-50% + var(--heart-drift,0px)),-68vh) scale(1.15)}}
.slideshow-media-layer.is-current.is-transitioning-in.transition-pop{animation:slideshow-pop-in var(--slide-transition-duration,800ms) cubic-bezier(.2,.85,.2,1.12) both}
.slideshow-media-layer.is-current.is-transitioning-in.transition-bounce{animation:slideshow-bounce-in var(--slide-transition-duration,800ms) cubic-bezier(.18,.9,.32,1.24) both}
.slideshow-media-layer.live-new-pop{animation:slideshow-pop-in var(--slide-transition-duration,800ms) cubic-bezier(.2,.85,.2,1.12) both!important}
.slideshow-media-layer.live-new-bounce{animation:slideshow-bounce-in var(--slide-transition-duration,800ms) cubic-bezier(.18,.9,.32,1.24) both!important}
@keyframes slideshow-pop-in{0%{opacity:0;transform:scale(.86)}70%{opacity:1;transform:scale(1.025)}100%{opacity:1;transform:scale(1)}}
@keyframes slideshow-bounce-in{0%{opacity:0;transform:translateY(8%) scale(.94)}55%{opacity:1;transform:translateY(-1.6%) scale(1.01)}75%{transform:translateY(.7%) scale(1)}100%{transform:none}}
.slideshow-caption.caption-effect-pop{animation:slideshow-caption-pop .5s .16s ease both}
.slideshow-caption.caption-effect-typewriter{overflow:hidden;white-space:nowrap;animation:slideshow-caption-type 1.4s steps(28,end) .15s both}
@keyframes slideshow-caption-pop{from{opacity:0;transform:translate(-50%,12px) scale(.94)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes slideshow-caption-type{from{max-width:0;opacity:.2}to{max-width:min(820px,84vw);opacity:1}}
/* DEMO PARITY: Demo Story Wall QR pages must keep the same 16:9,
 * no-stretch poster geometry and per-page overlay positions as this real
 * slideshow. After editing these selectors, check the QR pages at
 * /demo/story-wall/ in standard, mobile and fullscreen modes.
 * Regression guard: scripts/demo-gallery-parity-qa.js. */
.slideshow-live-holding{position:absolute;z-index:5;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;padding:clamp(24px,5vw,60px);color:var(--theme-text,#173f35);background:var(--theme-surface,#fff);text-align:center}
.slideshow-live-holding[hidden]{display:none}
.slideshow-live-qr{width:min(36vh,280px);height:min(36vh,280px);padding:12px;border-radius:20px;background:#fff;box-shadow:0 18px 52px #0002}
.slideshow-live-qr canvas,.slideshow-live-qr img{display:block;width:100%!important;height:100%!important}
.slideshow-live-eyebrow{margin:4px 0 0;color:var(--theme-primary,#1d6150);font-size:.76rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.slideshow-live-holding h2{max-width:760px;margin:0;font-family:'Fraunces',Georgia,serif;font-size:clamp(2rem,6vw,4.6rem);line-height:1.02}
.slideshow-live-holding>p:not(.slideshow-live-eyebrow){max-width:640px;margin:0;color:var(--theme-muted,#62706a);font-size:clamp(.9rem,2vw,1.15rem);line-height:1.45}
.slideshow-live-holding small{max-width:90vw;color:var(--theme-muted,#62706a);font-size:.72rem;word-break:break-all}
.slideshow-setting-source{min-width:150px}
@media(max-width:760px){
 .slideshow-settings-grid .slideshow-setting-source{grid-column:span 3}
 .slideshow-live-qr{width:min(46vw,230px);height:min(46vw,230px)}
 .slideshow-caption.caption-effect-typewriter{white-space:normal;animation:slideshow-caption-pop .5s .16s ease both}
}


/* Live Event presentation: stable TV controls, one image at a time, fixed PhotoUpload poster artwork. */
.live-event-slideshow-page{--live-card-gap:clamp(18px,2.6vw,46px)}
.live-event-slideshow-page .slideshow-opening{display:none!important}
.live-event-slideshow-page .slideshow-media-layer{overflow:visible}
.live-event-slideshow-page .slideshow-photo-main,
.live-event-slideshow-page.client-slideshow-tv-display video.slideshow-media-main,
.live-event-slideshow-page video.slideshow-media-main{
 top:var(--live-card-gap)!important;
 right:var(--live-card-gap)!important;
 bottom:var(--live-card-gap)!important;
 left:var(--live-card-gap)!important;
 width:auto!important;
 height:auto!important;
 max-width:none!important;
 max-height:none!important;
 border-radius:clamp(18px,2vw,32px);
 overflow:hidden;
 box-shadow:0 24px 72px rgba(0,0,0,.34);
 background-color:#090d0c
}
.live-event-slideshow-page .slideshow-photo-main{background-size:contain!important}
@keyframes liveFloatLeft{from{opacity:0;transform:translate(-8vw,1.5vh) scale(.94)}to{opacity:1;transform:none}}
@keyframes liveFloatRight{from{opacity:0;transform:translate(8vw,-1vh) scale(.94)}to{opacity:1;transform:none}}
@keyframes liveFloatTop{from{opacity:0;transform:translateY(-8vh) scale(.96)}to{opacity:1;transform:none}}
@keyframes liveFloatBottom{from{opacity:0;transform:translateY(8vh) scale(.96)}to{opacity:1;transform:none}}
@keyframes liveFloatTopLeft{from{opacity:0;transform:translate(-6vw,-6vh) scale(.93)}to{opacity:1;transform:none}}
@keyframes liveFloatBottomRight{from{opacity:0;transform:translate(6vw,6vh) scale(.93)}to{opacity:1;transform:none}}
.live-event-slideshow-page .live-float-left{animation:liveFloatLeft .9s cubic-bezier(.16,.84,.2,1.02) both}
.live-event-slideshow-page .live-float-right{animation:liveFloatRight .9s cubic-bezier(.16,.84,.2,1.02) both}
.live-event-slideshow-page .live-float-top{animation:liveFloatTop .9s cubic-bezier(.16,.84,.2,1.02) both}
.live-event-slideshow-page .live-float-bottom{animation:liveFloatBottom .9s cubic-bezier(.16,.84,.2,1.02) both}
.live-event-slideshow-page .live-float-top-left{animation:liveFloatTopLeft .9s cubic-bezier(.16,.84,.2,1.02) both}
.live-event-slideshow-page .live-float-bottom-right{animation:liveFloatBottomRight .9s cubic-bezier(.16,.84,.2,1.02) both}

/* Reuse the Event Gallery's Fun speech-bubble language rather than the dark Delivery caption. */
.live-event-slideshow-page .slideshow-fun-caption{
 left:clamp(34px,5vw,82px);
 bottom:clamp(92px,10vh,128px);
 transform:none;
 width:max-content;
 max-width:min(500px,38cqw);
 padding:13px 19px 15px;
 border:0;
 border-radius:21px;
 color:#34292b;
 background:rgba(255,255,255,.97);
 box-shadow:0 14px 36px rgba(0,0,0,.18);
 text-align:left;
 font:italic 650 clamp(.95rem,1.45vw,1.28rem)/1.3 'DM Sans',system-ui,sans-serif;
 backdrop-filter:blur(12px);
 -webkit-backdrop-filter:blur(12px)
}
.live-event-slideshow-page .slideshow-fun-caption.caption-right{left:auto;right:5%;}
.live-event-slideshow-page .slideshow-fun-caption.caption-left-raised{bottom:23%;}
.live-event-slideshow-page .slideshow-fun-caption.caption-right-raised{left:auto;right:5%;bottom:23%;}
.live-event-slideshow-page .slideshow-fun-caption.caption-right::after,
.live-event-slideshow-page .slideshow-fun-caption.caption-right-raised::after{left:auto;right:25px}
.live-event-slideshow-page .slideshow-fun-caption-text{display:inline;white-space:normal;overflow-wrap:anywhere}
.live-event-slideshow-page .slideshow-fun-caption.caption-long{max-width:min(650px,46cqw);font-size:clamp(.83rem,1.13cqw,1.08rem)}
.live-event-slideshow-page .slideshow-fun-caption.shared-only{max-width:max-content;padding:10px 16px}
.live-event-slideshow-page .slideshow-fun-caption.shared-only .slideshow-fun-caption-shared{margin:0}
.live-event-slideshow-page .slideshow-fun-caption::after{
 content:'';
 position:absolute;
 left:25px;
 bottom:-10px;
 border:11px solid transparent;
 border-top-color:rgba(255,255,255,.97);
 border-bottom:0
}
.slideshow-fun-caption-shared{display:block;margin:0 0 5px;color:var(--theme-primary,#1d6150);font:850 .72em/1.1 'DM Sans',system-ui,sans-serif;font-style:normal;letter-spacing:.035em}
.slideshow-fun-caption-decor{display:inline;margin-left:5px;color:var(--theme-accent,#c79b53);font-style:normal;font-weight:900}
.slideshow-fun-caption.fun-dash .slideshow-fun-caption-decor::before{content:'///'}
.slideshow-fun-caption.fun-heart .slideshow-fun-caption-decor::before{content:'♡'}
.slideshow-fun-caption.fun-sparkle .slideshow-fun-caption-decor::before{content:'✦'}
.slideshow-fun-caption.fun-smile .slideshow-fun-caption-decor::before{content:'☺'}
.slideshow-fun-caption.fun-cheer .slideshow-fun-caption-decor::before{content:'⟡ ⟡'}
.slideshow-fun-caption.caption-effect-float{animation:liveCaptionFloat .68s .16s cubic-bezier(.16,.86,.22,1.16) both}
@keyframes liveCaptionFloat{from{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:none}}

/* Heart movement copied from the approved TV concept. */
.live-event-slideshow-page .slideshow-heart-layer span{
 bottom:-30px;
 font-size:var(--heart-size,26px);
 color:#ff7094;
 filter:drop-shadow(0 6px 8px rgba(0,0,0,.2));
 animation:liveHeartRise 2.9s ease-out var(--heart-delay,0s) both
}
@keyframes liveHeartRise{0%{opacity:0;transform:translate(-50%,0) scale(.7)}14%{opacity:.96}100%{opacity:0;transform:translate(calc(-50% + var(--heart-drift,0px)),-90vh) scale(1.12)}}

/* Fixed QR poster artwork. The underlying design never changes; dynamic fields sit over its QR/brand slots. */
.slideshow-live-holding{z-index:12;inset:0;display:block;padding:0;background:#fff;overflow:hidden}
.slideshow-live-holding[hidden]{display:none!important}
.slideshow-live-holding.live-poster-enter{
 animation:livePosterEnter .82s cubic-bezier(.22,.61,.36,1) both;
 transform-origin:center center;
 will-change:opacity,transform,filter
}
@keyframes livePosterEnter{
 0%{opacity:0;transform:scale(.982);filter:blur(7px)}
 45%{opacity:.72;filter:blur(2px)}
 100%{opacity:1;transform:scale(1);filter:blur(0)}
}
.slideshow-live-holding.live-poster-exit{
 animation:livePosterExit .68s cubic-bezier(.4,0,.2,1) both;
 transform-origin:center center;
 will-change:opacity,transform,filter
}
@keyframes livePosterExit{
 0%{opacity:1;transform:scale(1);filter:blur(0)}
 55%{opacity:.7;filter:blur(1.5px)}
 100%{opacity:0;transform:scale(.986);filter:blur(6px)}
}
@media(prefers-reduced-motion:reduce){
 .slideshow-live-holding.live-poster-enter,
 .slideshow-live-holding.live-poster-exit{animation:none}
}
.live-poster-page{position:absolute;inset:0;overflow:hidden;background:#fff}
.live-poster-page[hidden]{display:none!important}
.live-poster-art{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;object-position:center;pointer-events:none}

.live-poster-qr-overlay{position:absolute;z-index:3;display:grid;place-items:center;padding:.7vw;border-radius:1.5vw;background:#fff;box-shadow:0 12px 34px rgba(24,45,38,.12)}
.live-poster-page-1 .live-poster-qr-overlay{left:50%;top:66.7%;width:18%;aspect-ratio:1;transform:translate(-50%,-50%)}
.live-poster-page-2 .live-poster-qr-overlay{left:78.9%;top:42.2%;width:18.9%;aspect-ratio:1;transform:translate(-50%,-50%)}
.live-poster-page-3 .live-poster-qr-overlay{left:78.2%;top:43.5%;width:18.3%;aspect-ratio:1;transform:translate(-50%,-50%)}
.live-poster-qr-overlay .slideshow-live-qr{width:100%;height:100%;padding:0;border-radius:.5vw;background:#fff;box-shadow:none}
.live-poster-qr-overlay .slideshow-live-qr canvas,.live-poster-qr-overlay .slideshow-live-qr img{display:block;width:100%!important;height:100%!important}

.live-poster-brand-overlay{position:absolute;z-index:4;display:flex;align-items:center;gap:12px;min-height:8%;padding:.6% 1.15%;border-radius:1vw;background:rgba(255,255,255,.965);box-shadow:0 4px 20px rgba(40,54,49,.06);color:#102f27}
.live-poster-brand-overlay img{display:block;max-width:76px;max-height:52px;object-fit:contain;border-radius:10px}
/* Logo only (the name is part of the logo): give a wide wordmark room instead of a small square. */
.live-poster-brand-overlay.is-logo-only img{max-width:220px;border-radius:0}
.live-poster-brand-overlay strong{max-width:360px;font-size:clamp(16px,1.45vw,28px);font-weight:850;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-poster-page-1 .live-poster-brand-overlay{left:50%;top:3.2%;transform:translateX(-50%)}
.live-poster-page-2 .live-poster-brand-overlay,.live-poster-page-3 .live-poster-brand-overlay{left:15.2%;top:3.4%}

.live-poster-event-name{position:absolute;z-index:4;right:2.4%;top:2.4%;max-width:30%;padding:.55% 1%;border-radius:999px;color:#173f35;background:rgba(255,255,255,.9);box-shadow:0 5px 18px rgba(0,0,0,.06);font-size:clamp(11px,.9vw,17px);font-weight:800;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-poster-page-1 .live-poster-event-name{top:auto;right:auto;left:2.4%;bottom:2.4%}

@media(max-aspect-ratio:4/3){
 .live-poster-page{background:#fff}
 .live-poster-art{background-size:auto 100%;background-position:center!important}
 .live-poster-qr-overlay{width:min(30vw,250px)!important;left:50%!important;top:62%!important;transform:translate(-50%,-50%)!important}
 .live-poster-brand-overlay{left:50%!important;top:3%!important;transform:translateX(-50%)!important}
 .live-poster-event-name{top:auto;bottom:2%;left:50%;right:auto;transform:translateX(-50%);max-width:80%}
}

/* Classic Live Event screens keep one 16:9 coordinate space so QR poster artwork
   and overlays remain aligned. Story Wall itself should use the whole display. */
.live-event-slideshow-page .client-slideshow{
 inset:auto;left:50%;top:50%;
 width:min(100vw,177.77778vh);height:min(100vh,56.25vw);
 transform:translate(-50%,-50%);aspect-ratio:16/9;
 container-type:inline-size;
}
.live-story-wall-page .client-slideshow{
 inset:0;left:0;top:0;width:auto;height:auto;
 transform:none;aspect-ratio:auto;
}
.live-story-wall-page .slideshow-live-holding{background:var(--wall-background,#000)}
.live-story-wall-page .live-poster-page{
 inset:auto;left:50%;top:50%;
 width:min(100vw,177.77778vh);height:min(100vh,56.25vw);
 transform:translate(-50%,-50%);aspect-ratio:16/9;
 container-type:inline-size;
}
.live-event-slideshow-page .slideshow-stage{position:absolute;inset:0}
.live-event-slideshow-page .slideshow-progress{display:none}
.live-event-slideshow-page .slideshow-live-holding{background:#fdfcf9}
.live-event-slideshow-page .slideshow-controls{z-index:20}
.live-event-slideshow-page .slideshow-live-holding{pointer-events:none}
.live-event-slideshow-page .live-poster-art{background-size:100% 100%;background-position:center!important}
.live-event-slideshow-page .live-poster-page-1 .live-poster-art{background-image:url('/assets/live-event-posters/general-green-gold-1.webp')}
.live-event-slideshow-page .live-poster-page-2 .live-poster-art{background-image:url('/assets/live-event-posters/general-green-gold-2.webp')}
.live-event-slideshow-page .live-poster-page-3 .live-poster-art{background-image:url('/assets/live-event-posters/general-green-gold-3.webp')}
.live-event-slideshow-page .live-poster-qr-overlay{
 display:block;transform:none!important;aspect-ratio:1;
 padding:0;border-radius:0;background:transparent;box-shadow:none;
}
.live-event-slideshow-page .live-poster-page-1 .live-poster-qr-overlay{left:42.1%!important;top:51.6%!important;width:15.9%!important}
.live-event-slideshow-page .live-poster-page-2 .live-poster-qr-overlay{left:67.3%!important;top:30.7%!important;width:20.2%!important}
.live-event-slideshow-page .live-poster-page-3 .live-poster-qr-overlay{left:61.3%!important;top:27.2%!important;width:22.4%!important}
.live-event-slideshow-page .live-poster-qr-overlay .slideshow-live-qr{border-radius:0}
.live-event-slideshow-page .live-poster-brand-overlay{
 display:flex;align-items:center;gap:1cqw;min-height:0;
 padding:0;border-radius:0;background:transparent;box-shadow:none;
 max-width:43%;color:#08392e;
}
.live-event-slideshow-page .live-poster-brand-overlay img{width:5.1cqw;height:5.1cqw;max-width:none;max-height:none;border-radius:1.1cqw}
.live-event-slideshow-page .live-poster-brand-overlay.is-logo-only img{width:auto;max-width:24cqw;height:5.1cqw;object-fit:contain;border-radius:0}
.live-event-slideshow-page .live-poster-brand-overlay strong{
 max-width:none;font:750 2.1cqw/1.05 'DM Sans',system-ui,sans-serif;
 white-space:normal;overflow:hidden;overflow-wrap:anywhere;
}
.live-event-slideshow-page .live-poster-page-1 .live-poster-brand-overlay{top:6.7%!important;left:50%!important;transform:translateX(-50%)!important;justify-content:center;max-width:65%}
.live-event-slideshow-page .live-poster-page-2 .live-poster-brand-overlay,
.live-event-slideshow-page .live-poster-page-3 .live-poster-brand-overlay{
 left:50%!important;transform:translateX(-50%)!important;
 justify-content:center;max-width:65%;max-height:12%;overflow:hidden;padding:0;
 border-radius:0;background:transparent;box-shadow:none;
}
.live-event-slideshow-page .live-poster-page-2 .live-poster-brand-overlay{top:9.4%!important}
.live-event-slideshow-page .live-poster-page-3 .live-poster-brand-overlay{top:3.2%!important}
.live-event-slideshow-page .live-poster-event-name{
 right:auto;bottom:auto;transform:none;display:grid;place-items:center;
 max-width:none;padding:0;border-radius:0;background:transparent;box-shadow:none;
 color:var(--poster-overlay-colour,#08392E);font:650 var(--poster-event-font,3cqw)/.99 'Fraunces',Georgia,serif;
 letter-spacing:-.035em;text-align:center;text-wrap:balance;
 white-space:normal;overflow:hidden;overflow-wrap:normal;
}
.live-event-slideshow-page .live-poster-page-1 .live-poster-event-name{left:9%;top:17.8%;width:82%;height:16.5%;--poster-event-font:5.3cqw;white-space:nowrap}
/* One row only: a long name shrinks to fit rather than wrapping onto a second line. */
.live-event-slideshow-page .live-poster-page-1 .live-poster-event-name span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-event-slideshow-page .live-poster-page-2 .live-poster-event-name{
 left:15%;top:auto;bottom:9.1%;width:70%;height:5%;--poster-event-font:1.8cqw;
 display:flex;align-items:center;justify-content:center;gap:1.3cqw;
 color:var(--poster-overlay-colour,#08392E);font:700 var(--poster-event-font,1.8cqw)/1.1 'DM Sans',system-ui,sans-serif;
 letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;
}
.live-event-slideshow-page .live-poster-page-2 .live-poster-event-name span{
 min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.live-event-slideshow-page .slideshow-fun-caption-shared{color:#124d3e}
.live-event-slideshow-page .slideshow-fun-caption-decor{color:#c7963e}
.live-event-slideshow-page .slideshow-live-category{
 position:absolute;z-index:5;left:4%;top:4%;max-width:42%;
 padding:.55cqw 1.05cqw;border-radius:999px;
 color:var(--live-category-text,#17382f);background:var(--live-category-colour,var(--theme-accent,#c49a5f));
 box-shadow:0 8px 28px rgba(0,0,0,.2);
 font:750 clamp(13px,1.25cqw,24px)/1.15 'DM Sans',system-ui,sans-serif;
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* Attribution without a caption sits directly on the image; only real captions use speech bubbles. */
.live-event-slideshow-page .slideshow-fun-caption.slideshow-shared-label{bottom:clamp(38px,5vh,72px);max-width:max-content;padding:8px 13px;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:rgba(9,30,26,.56);box-shadow:0 4px 16px rgba(0,0,0,.14);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.live-event-slideshow-page .slideshow-shared-label .slideshow-fun-caption-shared{color:#fff;font:600 clamp(.8rem,1.05vw,1rem)/1.2 'DM Sans',system-ui,sans-serif;letter-spacing:0}
.live-event-slideshow-page .slideshow-shared-label::after{display:none}


/* A compact centred attribution on the single-image Live Event layout. */
.live-event-slideshow-page .slideshow-caption.slideshow-shared-label{
 left:50%;right:auto;bottom:clamp(35px,7vh,82px);transform:translateX(-50%);
 width:max-content;max-width:min(460px,70vw);padding:8px 13px;
 border:1px solid rgba(255,255,255,.24);border-radius:9px;
 color:#fff;background:rgba(8,24,21,.58);box-shadow:0 5px 16px rgba(0,0,0,.2);
 backdrop-filter:blur(9px);font:600 clamp(.8rem,1.1vw,1rem)/1.2 'DM Sans',system-ui,sans-serif;
 text-align:center;animation:none
}
.live-event-slideshow-page .slideshow-shared-label .slideshow-fun-caption-shared{display:block;margin:0;color:#fff;font:inherit}
.live-event-slideshow-page .slideshow-shared-label::after{display:none}
.live-event-slideshow-page .slideshow-fun-caption{box-sizing:border-box;width:fit-content;max-width:min(440px,40cqw);padding:10px 14px;line-height:1.23}
.live-event-slideshow-page .slideshow-fun-caption-text{display:block;max-width:100%;white-space:normal}
.live-event-slideshow-page .slideshow-fun-caption.caption-long{max-width:min(500px,45cqw)}

/* Independent Story Wall columns are positioned by the playback loop. */
.live-event-slideshow-page .slideshow-wall-layer{
 display:grid;grid-template-columns:repeat(var(--wall-columns,5),minmax(0,1fr));
 gap:var(--wall-gap,clamp(6px,.65vw,12px));padding:var(--wall-gap,clamp(6px,.65vw,12px));
 box-sizing:border-box;background:var(--wall-background,#07382f);overflow:hidden;
 place-items:stretch;align-content:stretch
}
.live-event-slideshow-page .slideshow-wall-column{width:100%;height:100%;min-width:0;overflow:hidden}
.live-event-slideshow-page .slideshow-wall-track{
 display:flex;width:100%;flex-direction:column;gap:var(--wall-gap,clamp(6px,.65vw,12px));
 will-change:transform;backface-visibility:hidden;transform:translateZ(0)
}
.live-event-slideshow-page .slideshow-wall-tile{
 position:relative;flex:none;min-height:0;overflow:hidden;
 border-radius:5px;background:rgba(255,255,255,.08);
 contain:layout paint style
}
.live-event-slideshow-page .slideshow-wall-photo{
 display:block;width:100%;aspect-ratio:4 / 3;
 object-fit:contain;object-position:center;background:rgba(0,0,0,.22)
}
.live-event-slideshow-page .slideshow-wall-tile video{
 display:block;width:100%;aspect-ratio:4 / 3;object-fit:contain;background:rgba(0,0,0,.22);
 position:relative;z-index:1
}
.live-event-slideshow-page .slideshow-wall-video-poster{
 position:absolute;inset:0;z-index:1;display:block;width:100%;height:auto;
 object-fit:contain;object-position:center;background:var(--wall-background,#07382f);
 opacity:0;pointer-events:none;transition:opacity .16s ease
}
.live-event-slideshow-page .slideshow-wall-tile.video-fallback-visible .slideshow-wall-video-poster{opacity:1;z-index:2}
.live-event-slideshow-page .slideshow-wall-tile.video-fallback-visible video{visibility:hidden}
.live-event-slideshow-page .slideshow-wall-tile .slideshow-wall-attribution,
.live-event-slideshow-page .slideshow-wall-tile .slideshow-wall-category,
.live-event-slideshow-page .slideshow-wall-tile .slideshow-wall-heart-count{z-index:3}
.live-event-slideshow-page .slideshow-wall-tile .slideshow-wall-floating-heart{z-index:4}
.live-event-slideshow-page .slideshow-wall-attribution{
 position:absolute;bottom:6px;left:6px;right:auto;
 box-sizing:border-box;max-width:calc(100% - 12px);max-height:45%;
 padding:5px 7px;border-radius:6px;overflow:hidden;
 color:#fff;background:rgba(8,29,26,.7);
 box-shadow:0 2px 9px rgba(0,0,0,.12);
 backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
 font:600 clamp(9px,.78vw,13px)/1.2 'DM Sans',system-ui,sans-serif
}
.live-event-slideshow-page .slideshow-wall-attribution.has-caption{
 max-height:55%;padding:6px 8px;
 color:#173d33;background:rgba(255,255,255,.93)
}
.live-event-slideshow-page .slideshow-wall-by{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-event-slideshow-page .slideshow-wall-caption-text{
 display:-webkit-box;margin-top:3px;
 overflow:hidden;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;
 font:italic 500 clamp(10px,.9vw,15px)/1.25 'DM Sans',system-ui,sans-serif
}
.live-event-slideshow-page .slideshow-wall-layer.hide-captions .slideshow-wall-caption-text,
.live-event-slideshow-page .slideshow-wall-layer.hide-contributor-name .slideshow-wall-by,
.live-event-slideshow-page .slideshow-wall-layer.hide-categories .slideshow-wall-category{display:none}
.live-event-slideshow-page .slideshow-wall-layer.hide-captions.hide-contributor-name .slideshow-wall-attribution{display:none}
.live-event-slideshow-page .slideshow-wall-layer.hide-captions .slideshow-wall-attribution.has-caption{max-height:45%;padding:5px 7px;color:#fff;background:rgba(8,29,26,.7)}
.live-event-slideshow-page .slideshow-wall-layer.many-columns .slideshow-wall-attribution.has-caption{max-height:32%;padding:4px 5px}
.live-event-slideshow-page .slideshow-wall-layer.many-columns .slideshow-wall-caption-text{-webkit-line-clamp:1;margin-top:2px}
/* Only the opted-in Story Wall moves attribution below media. */
/* On-image Story Wall captions retain the playful accents and point toward the photo. */
.live-event-slideshow-page .slideshow-wall-layer:not(.attribution-below) .slideshow-wall-attribution.has-caption::before{
  pointer-events:none;
  content:'';position:absolute;top:-5px;left:15px;width:10px;height:10px;
  background:rgba(255,255,255,.93);transform:rotate(45deg);border-radius:1px
}
.live-event-slideshow-page .slideshow-wall-layer:not(.attribution-below) .slideshow-wall-attribution.has-caption{overflow:visible}
.live-event-slideshow-page .slideshow-wall-layer:not(.attribution-below).hide-captions .slideshow-wall-attribution.has-caption::before{display:none}
.live-event-slideshow-page .slideshow-wall-layer.hide-captions .slideshow-fun-caption-decor{display:none}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below .slideshow-wall-attribution{text-align:center}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below .slideshow-wall-attribution::before{left:calc(50% - 5px)}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below .slideshow-fun-caption-decor{display:none}

.live-event-slideshow-page .slideshow-wall-layer.attribution-below .slideshow-wall-attribution,
.live-event-slideshow-page .slideshow-wall-layer.attribution-below .slideshow-wall-attribution.has-caption,
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.many-columns .slideshow-wall-attribution.has-caption{
  position:relative;bottom:auto;left:auto;right:auto;display:block;
  width:100%;max-width:none;max-height:none;margin:0;
  padding:5px 6px;border-radius:0 0 5px 5px;overflow:visible;
  color:#173d33;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.15);
  backdrop-filter:none;-webkit-backdrop-filter:none;
  font:500 clamp(9px,.68vw,12px)/1.2 'DM Sans',system-ui,sans-serif
}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below .slideshow-wall-attribution::before{
  content:'';position:absolute;top:-5px;left:16px;width:10px;height:10px;
  background:#fff;transform:rotate(45deg);border-radius:1px
}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below .slideshow-wall-caption-text,
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.many-columns .slideshow-wall-caption-text{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  margin-top:2px;overflow:hidden;overflow-wrap:anywhere;
  font:500 clamp(9px,.72vw,12px)/1.2 'DM Sans',system-ui,sans-serif
}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-captions .slideshow-wall-caption-text{display:none}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below .slideshow-wall-by{color:#65756f;font-size:clamp(8px,.62vw,11px)}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-captions .slideshow-wall-attribution.has-caption{
  max-height:none;padding:5px 6px;color:#173d33;background:#fff
}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-contributor-name .slideshow-wall-attribution:not(.has-caption){display:none}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-contributor-name .slideshow-wall-attribution.has-caption{
  padding:5px 6px;color:#173d33;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.15)
}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-contributor-name .slideshow-wall-attribution::before{display:none}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-contributor-name .slideshow-wall-caption-text{margin-top:0}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-captions.hide-contributor-name .slideshow-wall-attribution{display:none}
.live-event-slideshow-page .slideshow-fun-caption-shared[hidden],
.live-event-slideshow-page .slideshow-fun-caption-text[hidden],
.live-event-slideshow-page .slideshow-live-category[hidden]{display:none}
.live-event-slideshow-page .slideshow-wall-category{
 position:absolute;top:5px;left:5px;max-width:85%;overflow:hidden;
 text-overflow:ellipsis;white-space:nowrap;padding:3px 6px;border-radius:3px;
 color:var(--live-category-text,#17382f);background:var(--live-category-colour,var(--theme-accent,#c49a5f));
 font:600 clamp(.5rem,.7vw,.72rem)/1.1 'DM Sans',system-ui,sans-serif
}

.live-event-slideshow-page .slideshow-wall-heart-count{
 position:absolute;top:5px;right:5px;z-index:2;
 padding:3px 6px;border-radius:6px;pointer-events:none;
 color:#a91f58;background:rgba(255,255,255,.92);
 font:700 clamp(9px,.8vw,13px)/1.1 'DM Sans',system-ui,sans-serif
}
/* Hearts rise from the lower middle of a photo, one after another, with a soft sway, and fade out near the top. */
.live-event-slideshow-page .slideshow-wall-floating-heart{
 position:absolute;left:var(--wall-heart-x,50%);bottom:14%;z-index:3;
 width:clamp(14px,1.25vw,24px);aspect-ratio:24/22;color:#ff6f96;pointer-events:none;
 filter:drop-shadow(0 1px 3px rgba(0,0,0,.45));opacity:0;
 animation:slideshow-wall-heart-rise var(--wall-heart-duration,2.8s) cubic-bezier(.22,.61,.36,1) var(--wall-heart-delay,0s) both
}
.live-event-slideshow-page .slideshow-wall-floating-heart svg{display:block;width:100%;height:100%;fill:currentColor}
@keyframes slideshow-wall-heart-rise{
 0%{opacity:0;transform:translate(-50%,0) scale(calc(var(--wall-heart-scale,1) * .5))}
 15%{opacity:.95;transform:translate(-50%,calc(var(--wall-heart-rise,120px) * -.12)) scale(var(--wall-heart-scale,1))}
 50%{transform:translate(calc(-50% + var(--wall-heart-drift,0px)),calc(var(--wall-heart-rise,120px) * -.55)) scale(var(--wall-heart-scale,1))}
 72%{opacity:.8}
 100%{opacity:0;transform:translate(calc(-50% - var(--wall-heart-drift,0px) * .4),calc(var(--wall-heart-rise,120px) * -1)) scale(calc(var(--wall-heart-scale,1) * .9))}
}
/* A new like gives the count a small bounce. */
.live-event-slideshow-page .slideshow-wall-heart-count.is-bumped{animation:slideshow-wall-heart-bump .6s ease-out}
@keyframes slideshow-wall-heart-bump{0%{transform:scale(1)}35%{transform:scale(1.22)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){
 .live-event-slideshow-page .slideshow-wall-floating-heart{display:none}
}

/* Carry the selected Story Wall colour through the 16:9 letterbox and media. */
.live-story-wall-page,.live-story-wall-page .client-slideshow,.live-story-wall-page .slideshow-stage,.live-story-wall-page .slideshow-media,.live-story-wall-page .slideshow-media.background-black{background:var(--wall-background,#07382f)}
.live-story-wall-page .slideshow-wall-photo,.live-story-wall-page .slideshow-wall-tile video{background-color:var(--wall-background,#07382f)}

.live-event-slideshow-page .slideshow-wall-layer.is-gapless .slideshow-wall-tile{border-radius:0}

/* The image is a real img so failed media is detectable and the attribution can follow its fitted bounds. */
.slideshow-media-layer img.slideshow-photo-main{object-fit:contain!important;object-position:center center!important;background:none!important}
.live-event-slideshow-page .slideshow-caption.slideshow-shared-label{z-index:3}

/* In below-image mode, a name without a visible caption stays on the photo. */
.live-event-slideshow-page .slideshow-wall-layer.attribution-below:not(.hide-contributor-name) .slideshow-wall-attribution:not(.has-caption),
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-captions:not(.hide-contributor-name) .slideshow-wall-attribution.has-caption{
  position:absolute;bottom:6px;left:6px;right:auto;display:block;
  width:auto;max-width:calc(100% - 12px);max-height:45%;
  padding:5px 7px;border-radius:6px;overflow:hidden;text-align:left;
  color:#fff;background:rgba(8,29,26,.7);
  box-shadow:0 2px 9px rgba(0,0,0,.12);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  font:600 clamp(9px,.78vw,13px)/1.2 'DM Sans',system-ui,sans-serif
}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below:not(.hide-contributor-name) .slideshow-wall-attribution:not(.has-caption)::before,
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-captions:not(.hide-contributor-name) .slideshow-wall-attribution.has-caption::before{display:none}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below:not(.hide-contributor-name) .slideshow-wall-attribution:not(.has-caption) .slideshow-wall-by,
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-captions:not(.hide-contributor-name) .slideshow-wall-attribution.has-caption .slideshow-wall-by{color:#fff;font-size:inherit}

/* Reserve the empty strip for controls beneath the Classic Slideshow image. */
.live-event-slideshow-page:not(.live-story-wall-page){--live-card-bottom-gap:clamp(70px,9vh,100px)}
.live-event-slideshow-page:not(.live-story-wall-page) .slideshow-photo-main,
.live-event-slideshow-page:not(.live-story-wall-page) video.slideshow-media-main{top:0!important;bottom:var(--live-card-bottom-gap)!important}
.live-event-slideshow-page .slideshow-media-layer.is-current.is-photo-loading{opacity:0!important}
.live-event-slideshow-page .slideshow-fun-caption.is-name-only,
.live-event-slideshow-page .slideshow-caption.slideshow-shared-label{
 width:max-content;max-width:calc(100% - 24px);padding:7px 12px;border:0;border-radius:7px;
 color:#fff;background:rgba(8,29,26,.78);box-shadow:0 2px 9px rgba(0,0,0,.18);
 font:650 clamp(10px,.85vw,14px)/1.2 'DM Sans',system-ui,sans-serif;
 text-align:center;animation:none!important;transform:translateX(-50%)
}
.live-event-slideshow-page .slideshow-fun-caption.is-name-only::after,
.live-event-slideshow-page .slideshow-caption.slideshow-shared-label::after{display:none}
.live-event-slideshow-page .slideshow-fun-caption.is-name-only .slideshow-fun-caption-shared,
.live-event-slideshow-page .slideshow-caption.slideshow-shared-label .slideshow-fun-caption-shared{
 margin:0;color:#fff;font:inherit;letter-spacing:0
}
.live-event-slideshow-page .slideshow-fun-caption.fun-cheer .slideshow-fun-caption-decor::before{content:'✧ ✧'}

/* Gently reduce Story Wall labels as additional columns narrow each tile. */
.live-event-slideshow-page .slideshow-wall-attribution{font-size:clamp(8px,calc(.78vw * var(--wall-label-scale,1)),13px)}
.live-event-slideshow-page .slideshow-wall-attribution.has-caption .slideshow-wall-caption-text{font-size:clamp(9px,calc(.9vw * var(--wall-label-scale,1)),15px)}
.live-event-slideshow-page .slideshow-wall-category{font-size:clamp(.46rem,calc(.7vw * var(--wall-label-scale,1)),.72rem)}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below .slideshow-wall-attribution{font-size:clamp(8px,calc(.68vw * var(--wall-label-scale,1)),12px)}

.live-event-slideshow-page .slideshow-wall-layer.attribution-below:not(.hide-contributor-name) .slideshow-wall-attribution:not(.has-caption),
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-captions:not(.hide-contributor-name) .slideshow-wall-attribution.has-caption{font-size:clamp(8px,calc(.78vw * var(--wall-label-scale,1)),13px)}

/* Story Wall captions dock under the photo; text follows the width of each column. */
.live-event-slideshow-page .slideshow-wall-column{container-type:inline-size}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below .slideshow-wall-attribution.has-caption,
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.many-columns .slideshow-wall-attribution.has-caption,
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-contributor-name .slideshow-wall-attribution.has-caption{
  position:relative;bottom:auto;left:auto;right:auto;width:100%;max-width:none;max-height:none;
  padding:clamp(3px,1.5cqi,8px) clamp(4px,2cqi,10px);border-radius:0 0 5px 5px;
  color:#111;background:#fff;box-shadow:none;text-align:left;overflow:hidden;
  backdrop-filter:none;-webkit-backdrop-filter:none
}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below .slideshow-wall-attribution.has-caption::before{display:none}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below .slideshow-wall-attribution.has-caption .slideshow-wall-by{
  display:block;color:#555;font:italic 400 clamp(6px,3.6cqi,12px)/1.2 'DM Sans',system-ui,sans-serif
}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below .slideshow-wall-attribution.has-caption .slideshow-wall-caption-text,
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.many-columns .slideshow-wall-attribution.has-caption .slideshow-wall-caption-text{
  display:block;margin-top:2px;color:#111;overflow:visible;overflow-wrap:anywhere;
  -webkit-line-clamp:unset;font:400 clamp(7px,4.7cqi,15px)/1.22 'PhotoUpload Comic',system-ui,sans-serif
}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-contributor-name .slideshow-wall-attribution.has-caption .slideshow-wall-caption-text{margin-top:0}
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-captions .slideshow-wall-attribution.has-caption .slideshow-wall-caption-text{display:none}

.live-event-slideshow-page .slideshow-wall-attribution{backdrop-filter:none;-webkit-backdrop-filter:none}
.live-story-wall-page,.live-story-wall-page .client-slideshow,.live-story-wall-page .slideshow-stage,.live-story-wall-page .slideshow-media,.live-story-wall-page .slideshow-media.background-black,
.live-story-wall-page .slideshow-wall-photo,.live-story-wall-page .slideshow-wall-tile video{background-color:var(--wall-background,#000000)}

.live-event-slideshow-page .slideshow-wall-layer.attribution-below:not(.hide-contributor-name) .slideshow-wall-attribution:not(.has-caption),
.live-event-slideshow-page .slideshow-wall-layer.attribution-below.hide-captions:not(.hide-contributor-name) .slideshow-wall-attribution.has-caption{
  font-size:clamp(6px,4.2cqi,13px)
}
.live-event-slideshow-page .slideshow-wall-category{font-size:clamp(6px,3.7cqi,12px)}


/* Modern slideshow chrome — shared by every standard gallery slideshow and demo. */
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls{
 position:absolute;left:50%;bottom:max(14px,env(safe-area-inset-bottom));z-index:10;
 width:max-content;max-width:calc(100vw - 24px);min-height:0;gap:5px;
 padding:7px;border:1px solid rgba(255,255,255,.15);border-radius:999px;
 background:rgba(9,16,14,.72);box-shadow:0 16px 44px rgba(0,0,0,.34);
 backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);
 transform:translateX(-50%);transition:transform .25s ease,opacity .25s ease,background .2s ease
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls.is-idle{
 transform:translate(-50%,16px);opacity:0;pointer-events:none
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>button,
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>.slideshow-exit{
 width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:1px solid transparent;
 border-radius:50%;color:rgba(255,255,255,.92);background:rgba(255,255,255,.07);
 box-shadow:none;display:grid;place-items:center;transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>button:hover,
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>button:focus-visible,
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>.slideshow-exit:hover,
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>.slideshow-exit:focus-visible{
 color:#fff;background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.16);outline:none;transform:translateY(-1px)
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>.slideshow-play{
 width:52px;min-width:52px;height:52px;min-height:52px;margin:-4px 2px;
 color:#173f35;background:#f7f1e4;border-color:rgba(255,255,255,.35);
 box-shadow:0 7px 22px rgba(0,0,0,.28)
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>.slideshow-play:hover,
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>.slideshow-play:focus-visible{
 color:#123c33;background:#fff8ea;transform:translateY(-1px) scale(1.025)
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-toggle[aria-expanded="true"]{
 color:#173f35;background:#e8c982;border-color:#f5deb0
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>.slideshow-exit{
 width:auto;min-width:58px;padding:0 14px;border-radius:999px;text-decoration:none;font-size:.76rem;font-weight:700
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-progress{
 top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));
 padding:7px 11px;border:1px solid rgba(255,255,255,.1);background:rgba(8,13,12,.48);
 box-shadow:0 8px 20px rgba(0,0,0,.15);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-extra-controls{
 position:fixed;z-index:12;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));
 display:none;width:min(360px,calc(100vw - 18px));max-height:min(52dvh,380px);overflow:auto;
 padding:0;border:1px solid rgba(255,255,255,.15);border-radius:18px;
 background:rgba(12,20,17,.92);box-shadow:0 24px 64px rgba(0,0,0,.44);
 backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%);
 transform:translateX(-50%)
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-extra-controls.is-open{display:block}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-mobile-settings-header{
 position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;
 min-height:44px;padding:9px 11px;border-bottom:1px solid rgba(255,255,255,.1);
 color:#fff;background:rgba(12,20,17,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-mobile-settings-header strong{
 font:650 .84rem/1.2 'DM Sans',system-ui,sans-serif;letter-spacing:-.01em
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-mobile-settings-header button{
 width:28px;min-width:28px;height:28px;min-height:28px;padding:0;border:1px solid rgba(255,255,255,.12);
 border-radius:50%;color:#fff;background:rgba(255,255,255,.07);font-size:1.25rem;font-weight:400
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-grid{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:9px
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-grid .slideshow-control-field,
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-grid .slideshow-text-control{
 min-width:0;min-height:40px;margin:0;padding:7px 9px;border:1px solid rgba(255,255,255,.1);
 border-radius:11px;color:#fff;background:rgba(255,255,255,.045);box-shadow:none
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-grid .slideshow-control-field{
 display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-grid .slideshow-control-field span{
 color:rgba(255,255,255,.62);font-size:.62rem;font-weight:750;letter-spacing:.035em;text-transform:uppercase
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-grid .slideshow-control-field select{
 width:100%;min-width:0;min-height:26px;padding:2px 22px 2px 0;border:0!important;border-radius:0!important;
 color:#fff!important;background-color:transparent!important;font-size:.76rem;font-weight:700;box-shadow:none!important
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-grid .slideshow-volume input{
 width:100%;min-width:0;margin:0;accent-color:#e4be70
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-grid .slideshow-text-control{
 width:100%;display:flex;align-items:center;justify-content:flex-start;gap:7px;font-size:.74rem;font-weight:700;text-align:left
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-grid .slideshow-text-control::before{
 content:'';display:grid;place-items:center;flex:0 0 16px;width:16px;height:16px;border:1px solid rgba(255,255,255,.34);
 border-radius:4px;background:rgba(255,255,255,.04);color:#173f35;font-size:.67rem;font-weight:900
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-grid .slideshow-text-control[aria-pressed="true"]{
 color:#fff;background:rgba(228,190,112,.14);border-color:rgba(228,190,112,.42)
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-grid .slideshow-text-control[aria-pressed="true"]::before{
 content:'✓';color:#173f35;background:#e4be70;border-color:#e4be70
}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-setting-music,
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-setting-source{grid-column:1/-1}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-setting-music{grid-template-columns:auto minmax(0,1fr)}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-setting-source{grid-template-columns:auto minmax(0,1fr)}
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-setting-speed,
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-setting-shuffle,
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-setting-video,
.client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-setting-captions{grid-column:auto}
@media(max-width:760px){
 .client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls{
  bottom:max(10px,env(safe-area-inset-bottom));max-width:calc(100vw - 14px);gap:3px;padding:6px
 }
 .client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>button{
  width:41px;min-width:41px;height:41px;min-height:41px
 }
 .client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>.slideshow-play{
  width:48px;min-width:48px;height:48px;min-height:48px;margin:-4px 1px
 }
 .client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>.slideshow-exit{
  width:auto;min-width:50px;padding-inline:11px;font-size:.7rem
 }
 .client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-extra-controls{
  left:50%;right:auto;bottom:calc(68px + env(safe-area-inset-bottom));width:min(350px,calc(100vw - 14px));
  max-height:min(48dvh,360px);border-radius:17px;transform:translateX(-50%)
 }
 .client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-grid{gap:6px;padding:8px}
 .client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-grid .slideshow-control-field,
 .client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-settings-grid .slideshow-text-control{
  min-height:38px;padding:6px 8px;border-radius:10px
 }
 .client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-mobile-settings-header{min-height:42px;padding:8px 10px}
}
@media(max-width:380px){
 .client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls{max-width:calc(100vw - 8px);padding:5px}
 .client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>button{width:38px;min-width:38px;height:38px;min-height:38px}
 .client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>.slideshow-play{width:45px;min-width:45px;height:45px;min-height:45px}
 .client-slideshow-page:not(.client-slideshow-tv-display) .slideshow-controls>.slideshow-exit{min-width:46px;padding-inline:8px}
}

/* Live displays use their own control bar on every screen size. */
.client-slideshow-tv-display.live-event-slideshow-page .slideshow-settings-toggle{display:grid;place-items:center}
.client-slideshow-tv-display.live-event-slideshow-page .slideshow-extra-controls{
 position:absolute;z-index:30;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%);
 display:none;width:min(360px,calc(100vw - 28px));max-height:60vh;overflow:auto;
 box-sizing:border-box;padding:12px;border:1px solid rgba(255,255,255,.18);
 border-radius:16px;background:rgba(8,13,12,.97);color:#fff;box-shadow:0 16px 48px #0006
}
.client-slideshow-tv-display.live-event-slideshow-page .slideshow-extra-controls.is-open{display:block}
.client-slideshow-tv-display.live-event-slideshow-page .slideshow-mobile-settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.client-slideshow-tv-display.live-event-slideshow-page .slideshow-mobile-settings-header button{width:32px;min-width:32px;height:32px;padding:0}
.client-slideshow-tv-display.live-event-slideshow-page .slideshow-settings-grid{display:grid;grid-template-columns:1fr;gap:8px}
.client-slideshow-tv-display.live-event-slideshow-page .slideshow-settings-grid>*{grid-column:1!important;min-width:0}
.client-slideshow-tv-display.live-event-slideshow-page .slideshow-control-field{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px;padding:6px}
.client-slideshow-tv-display.live-event-slideshow-page .slideshow-control-field select{width:100%;min-width:0}

/* Poster overlay text uses the fixed colour assigned to each poster set. */
.live-event-slideshow-page .live-poster-brand-overlay,
.live-event-slideshow-page .live-poster-event-name{
 color:var(--poster-overlay-colour,#08392E);
 text-shadow:var(--poster-overlay-shadow,none)
}
.live-event-slideshow-page .live-poster-brand-overlay strong,
.live-event-slideshow-page .live-poster-event-name span{color:inherit}
.live-event-slideshow-page .live-poster-brand-overlay strong{position:relative}
.live-event-slideshow-page .live-poster-raster-text{
 position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;
 pointer-events:none;opacity:1!important;filter:none!important;mix-blend-mode:normal!important;
 forced-color-adjust:none
}

/* Keep live settings in two compact rows, including on landscape phones. */
.live-event-slideshow-page .slideshow-extra-controls .slideshow-settings-grid{
 grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0
}
.live-event-slideshow-page .slideshow-extra-controls .slideshow-settings-grid>*{
 grid-column:auto!important;min-width:0
}
.live-event-slideshow-page .slideshow-extra-controls .slideshow-control-field{
 display:grid;grid-template-columns:1fr;gap:3px;min-height:0;padding:8px 10px;
 border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.05)
}
.live-event-slideshow-page .slideshow-extra-controls .slideshow-control-field span{
 font-size:12px;line-height:16px;color:rgba(255,255,255,.7)
}
.live-event-slideshow-page .slideshow-extra-controls .slideshow-control-field select{
 width:100%;min-width:0;min-height:28px;height:28px;padding:2px 22px 2px 0;
 border:0!important;border-radius:0!important;background-color:transparent!important;
 color:#fff!important;font-size:14px;line-height:20px;box-shadow:none!important
}
.live-event-slideshow-page .slideshow-extra-controls .slideshow-setting-columns,
.live-event-slideshow-page .slideshow-extra-controls .slideshow-setting-wall-speed,
.live-event-slideshow-page .slideshow-extra-controls .slideshow-setting-speed{order:0}
.live-event-slideshow-page .slideshow-extra-controls .slideshow-text-control{
 order:1;display:flex;align-items:center;justify-content:center;gap:7px;
 width:100%;min-width:0;min-height:36px;height:36px;margin:0;padding:6px 10px;
 border:1px solid rgba(255,255,255,.2);border-radius:10px;
 background:rgba(255,255,255,.06);color:#fff;font-size:14px;line-height:20px
}
.live-event-slideshow-page .slideshow-extra-controls .slideshow-text-control[aria-pressed="true"]{
 background:rgba(228,190,112,.2);border-color:#e4be70
}
.live-event-slideshow-page .slideshow-extra-controls .slideshow-setting-source{order:2;grid-column:1/-1!important}
.live-event-slideshow-page .slideshow-extra-controls [data-slideshow-settings-result]{
 order:3;grid-column:1/-1!important;margin:0;font-size:12px;line-height:16px
}
.live-event-slideshow-page .slideshow-extra-controls [data-slideshow-settings-result]:empty{display:none}
.client-slideshow-tv-display.live-event-slideshow-page .slideshow-mobile-settings-header{
 min-height:28px;margin-bottom:8px;font-size:14px
}
.client-slideshow-tv-display.live-event-slideshow-page .slideshow-mobile-settings-header button{
 min-height:28px;height:28px;font-size:20px;line-height:1
}

/* Smart-TV Story Wall performance: avoid costly per-tile backdrop compositing. */
.client-slideshow-tv-display.live-story-wall-page .slideshow-wall-attribution,
.client-slideshow-tv-display.live-story-wall-page .slideshow-wall-attribution.has-caption{
 backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important
}
.client-slideshow-tv-display.live-story-wall-page .slideshow-wall-floating-heart{
 filter:none
}

/* TV and projector displays: their graphics chips struggle with live blur over moving photos, so
   labels use solid backgrounds and the poster fades without a blur. Phones and laptops keep the glass. */
.client-slideshow-tv-display *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.client-slideshow-tv-display.live-event-slideshow-page .slideshow-wall-attribution{background:rgba(8,29,26,.88)}
/* Guest captions keep their white bubble; only the dark labels get the solid background. */
.client-slideshow-tv-display .slideshow-caption:not(.slideshow-fun-caption){background:rgba(5,10,9,.86)}
.client-slideshow-tv-display.live-event-slideshow-page .slideshow-caption.slideshow-shared-label,
.client-slideshow-tv-display.live-event-slideshow-page .slideshow-fun-caption.is-name-only{background:rgba(9,30,26,.86)}
.client-slideshow-tv-display .slideshow-live-holding.live-poster-enter{animation-name:livePosterEnterTv;will-change:opacity,transform}
.client-slideshow-tv-display .slideshow-live-holding.live-poster-exit{animation-name:livePosterExitTv;will-change:opacity,transform}
@keyframes livePosterEnterTv{0%{opacity:0;transform:scale(.982)}100%{opacity:1;transform:scale(1)}}
@keyframes livePosterExitTv{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.986)}}

/* Guests' written messages (no photo): a quote card in the gallery theme's colours, on the
   Story Wall (.slideshow-wall-message) and one at a time (.slideshow-message-slide). */
.live-event-slideshow-page .slideshow-message-card{
 position:relative;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:.7em;overflow:hidden;
 color:#f7f0e3;background:color-mix(in srgb,var(--theme-primary-dark,#22302b) 55%,#151413);
 border:1px solid rgba(255,255,255,.06)
}
.live-event-slideshow-page .slideshow-message-mark{
 position:absolute;top:-.1em;right:.12em;pointer-events:none;
 color:color-mix(in srgb,var(--theme-accent,#d8b67c) 34%,transparent);
 font:400 6em/1 var(--theme-heading-font,var(--poster-event-font,Georgia,serif))
}
.live-event-slideshow-page .slideshow-message-text{
 position:relative;margin:0;overflow-wrap:anywhere;white-space:pre-line;
 font-family:var(--theme-heading-font,var(--poster-event-font,Georgia,serif));line-height:1.3
}
.live-event-slideshow-page .slideshow-message-by{
 position:relative;color:var(--theme-accent,#d8b67c);font:700 .78em/1.2 'DM Sans',system-ui,sans-serif;letter-spacing:.03em
}
.live-event-slideshow-page .slideshow-message-by[hidden],
.live-event-slideshow-page .slideshow-wall-layer.hide-contributor-name .slideshow-message-by{display:none}
.live-event-slideshow-page .slideshow-wall-message{
 min-height:clamp(150px,15vw,300px);padding:clamp(14px,1.5vw,28px) clamp(14px,1.4vw,26px);font-size:clamp(12px,1.05vw,20px)
}
.live-event-slideshow-page .slideshow-wall-message .slideshow-message-text{
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:9;overflow:hidden;font-size:1.32em
}
.live-event-slideshow-page .slideshow-wall-message.is-long .slideshow-message-text{font-size:1.08em}
.live-event-slideshow-page .slideshow-wall-layer.many-columns .slideshow-wall-message{font-size:clamp(10px,.8vw,15px)}
.live-event-slideshow-page .slideshow-media-layer.is-message{display:flex;align-items:center;justify-content:center}
.live-event-slideshow-page .slideshow-message-slide{
 width:min(1100px,calc(100% - 2 * var(--live-card-gap,40px)));max-height:calc(100% - var(--live-card-bottom-gap,90px));
 margin:auto;padding:clamp(28px,5vw,90px) clamp(28px,6vw,110px);border-radius:clamp(14px,1.6vw,28px);
 font-size:clamp(16px,1.6vw,30px);box-shadow:0 30px 80px rgba(0,0,0,.35)
}
.live-event-slideshow-page .slideshow-message-slide .slideshow-message-text{font-size:clamp(1.6em,2.6vw,2.6em)}
.live-event-slideshow-page .slideshow-message-slide.is-long .slideshow-message-text{font-size:clamp(1.25em,1.9vw,1.9em)}
.live-event-slideshow-page .slideshow-message-slide .slideshow-message-mark{font-size:12em}
.live-event-slideshow-page .slideshow-message-slide .slideshow-message-by{font-size:.95em}
