/* Shared photo navigation, loaded after every page-specific stylesheet. */
body.public-site :is(.editorial-page [data-service-ready] .service-carousel-arrow,.service-carousel-arrow,.image-dialog .image-navigation button,.event-detail .event-media-controls button,.event-media-controls button,.home-rail-arrows button,.country-arrow,.slider-controls [data-slide-prev],.slider-controls [data-slide-next]){
 box-sizing:border-box;flex-shrink:0;width:48px;height:48px;min-width:48px;min-height:48px;margin:0;padding:0;align-items:center;justify-content:center;border:1px solid #ffffff99;border-radius:50%;background:rgb(246 243 237 / .58);color:#20382b;box-shadow:0 2px 10px #1023192b;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);font-size:24px;font-weight:400;line-height:1;letter-spacing:0;text-align:center;text-shadow:none;cursor:pointer;transition:background-color .18s,border-color .18s,box-shadow .18s
}
body.public-site :is(.editorial-page [data-service-ready] .service-carousel-arrow,.service-carousel-arrow,.image-dialog .image-navigation button,.event-detail .event-media-controls button,.event-media-controls button,.home-rail-arrows button,.country-arrow,.slider-controls [data-slide-prev],.slider-controls [data-slide-next]):hover:not(:disabled){background:rgb(246 243 237 / .82);color:#20382b;border-color:#fff;box-shadow:0 3px 14px #10231938}
body.public-site :is(.editorial-page [data-service-ready] .service-carousel-arrow,.service-carousel-arrow,.image-dialog .image-navigation button,.event-detail .event-media-controls button,.event-media-controls button,.home-rail-arrows button,.country-arrow,.slider-controls [data-slide-prev],.slider-controls [data-slide-next]):focus-visible{outline:3px solid #20382b;outline-offset:1px;box-shadow:0 0 0 4px #f6f3edcc}
body.public-site :is(.editorial-page [data-service-ready] .service-carousel-arrow,.service-carousel-arrow,.image-dialog .image-navigation button,.event-detail .event-media-controls button,.event-media-controls button,.home-rail-arrows button,.country-arrow,.slider-controls [data-slide-prev],.slider-controls [data-slide-next]):disabled{opacity:.35;cursor:default}
body.public-site :is(.service-carousel-arrow,.country-arrow,.home-rail-arrows button)>svg{width:22px;height:22px}
body.public-site .image-dialog .image-navigation button>i{font-size:22px}
body.public-site [data-service-carousel] .service-carousel-arrow.is-previous{left:4px;right:auto}
body.public-site [data-service-carousel] .service-carousel-arrow.is-next{right:4px;left:auto}
body.public-site :is(.image-dialog .image-navigation,.event-detail .event-media-controls,.event-media-controls){padding-inline:4px}
@media(max-width:760px){
 body.public-site :is(.editorial-page [data-service-ready] .service-carousel-arrow,.service-carousel-arrow,.image-dialog .image-navigation button,.event-detail .event-media-controls button,.event-media-controls button,.home-rail-arrows button,.country-arrow,.slider-controls [data-slide-prev],.slider-controls [data-slide-next]){width:44px;height:44px;min-width:44px;min-height:44px}
}
@media(prefers-reduced-motion:reduce){
 body.public-site :is(.editorial-page [data-service-ready] .service-carousel-arrow,.service-carousel-arrow,.image-dialog .image-navigation button,.event-detail .event-media-controls button,.event-media-controls button,.home-rail-arrows button,.country-arrow,.slider-controls [data-slide-prev],.slider-controls [data-slide-next]){transition:none}
}
@media(forced-colors:active){
 body.public-site :is(.editorial-page [data-service-ready] .service-carousel-arrow,.service-carousel-arrow,.image-dialog .image-navigation button,.event-detail .event-media-controls button,.event-media-controls button,.home-rail-arrows button,.country-arrow,.slider-controls [data-slide-prev],.slider-controls [data-slide-next]){background:Canvas;color:ButtonText;border-color:ButtonText;backdrop-filter:none;-webkit-backdrop-filter:none}
}

/* Desktop keeps its overlay; mobile gives the complete photograph its own row. */
body.public-site .image-dialog .image-toolbar{display:contents}
body.public-site .image-dialog .image-view{position:relative}
body.public-site:has(.product-detail) .image-dialog .image-view{width:min(100%,68svh,720px);margin-inline:auto}
@media(max-height:500px){body.public-site:has(.product-detail) .image-dialog .image-view{width:min(100%,58svh,480px)}}
@media(max-width:760px){
 body.public-site .image-dialog{--viewer-viewport:100svh;--viewer-nav-space:52px;--viewer-caption-space:0px;--viewer-photo-limit:max(0px,calc(var(--viewer-viewport) - 84px - var(--viewer-nav-space) - var(--viewer-caption-space)))}
 body.public-site .image-dialog:has(.image-navigation[hidden]){--viewer-nav-space:0px}
 body.public-site .image-dialog:has(.image-caption:not([hidden])){--viewer-caption-space:calc(var(--viewer-viewport) * .08 + 8px)}
 body.public-site .image-dialog[open]{display:flex;flex-direction:column;gap:8px;box-sizing:border-box;width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(var(--viewer-viewport) - 16px);margin:auto;padding:8px;border:0;overflow:hidden}
 body.public-site .image-dialog .image-toolbar{display:flex;align-items:center;justify-content:flex-end;flex:0 0 44px;min-height:44px}
 body.public-site .image-dialog .image-toolbar>[data-image-close]{position:static;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;transform:none}
 body.public-site .image-dialog .image-toolbar>[data-image-close] svg{width:20px;height:20px}
 body.public-site .image-dialog .image-view,body.public-site:has(.product-detail) .image-dialog .image-view{display:flex;flex-direction:column;flex:0 1 auto;gap:8px;width:100%;min-height:0}
 body.public-site .image-dialog .image-view>.image-stage{flex:0 1 auto;width:100%;height:min(calc((100vw - 32px) * var(--image-stage-ratio,.6667)),var(--viewer-photo-limit));max-height:var(--viewer-photo-limit);min-height:0;margin:0;aspect-ratio:auto}
 body.public-site:has(.product-detail) .image-dialog .image-view>.image-stage[data-image-stage]{flex:0 0 auto;width:min(100%,var(--viewer-photo-limit));height:auto;aspect-ratio:1;margin-inline:auto}
 body.public-site .image-dialog .image-view>.image-navigation{position:static;inset:auto;flex:0 0 44px;gap:12px;height:44px;min-height:44px;padding:0;border:0;transform:none}
 body.public-site .image-dialog .image-navigation output{position:static;inset:auto;flex:1;padding:0;border-radius:0;background:transparent;color:#fff;text-align:center;font-size:13px;transform:none}
 body.public-site .image-dialog .image-caption{flex:0 0 auto;max-height:calc(var(--viewer-viewport) * .08);margin:0;padding:0 4px;overflow:auto}
 body.public-site .image-dialog [data-image-thumbnails]{display:none}
 body.public-site .image-dialog .image-error{justify-content:flex-start;overflow:auto}
 @supports(height:100dvh){body.public-site .image-dialog{--viewer-viewport:100dvh}}
}
