/* Compact safety-photo mosaic with shop-sized tiles and a partial blue wave on open. */
.safety-dialog .safety-gallery-block{padding:15px}
.safety-dialog .safety-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:360px;padding:2px;overflow:auto}
.safety-dialog .safety-gallery .album-thumb{width:100%;min-width:0;aspect-ratio:4/3;border:1px solid #d8e8ef;border-radius:9px}
.safety-dialog .safety-gallery .album-thumb img{width:100%;height:100%;object-fit:cover}
.safety-dialog .safety-gallery .album-thumb span{font-size:9px;padding:4px 7px}
@media(max-width:760px){.safety-dialog .safety-gallery{grid-template-columns:repeat(3,minmax(0,1fr));max-height:330px;gap:7px}}
@media(max-width:480px){.safety-dialog .safety-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-height:310px}}

/* A translucent tide rises over part of the panel when the safety dialog opens. */
.safety-dialog{position:relative;isolation:isolate;background:#f7fbfd}
.safety-dialog::before,.safety-dialog::after{content:"";position:absolute;z-index:0;left:-15%;width:130%;height:59%;bottom:-67%;pointer-events:none;opacity:0;clip-path:polygon(0 24%,8% 16%,16% 22%,25% 13%,34% 20%,43% 11%,52% 19%,61% 10%,70% 17%,80% 9%,90% 16%,100% 10%,100% 100%,0 100%)}
.safety-dialog::before{background:linear-gradient(180deg,rgba(61,184,221,.26),rgba(29,150,201,.18) 52%,rgba(18,124,184,.12));filter:blur(.3px)}
.safety-dialog::after{left:-22%;bottom:-72%;height:56%;background:linear-gradient(180deg,rgba(123,216,237,.17),rgba(49,167,210,.11));clip-path:polygon(0 27%,10% 19%,20% 25%,30% 15%,40% 23%,50% 14%,60% 22%,70% 13%,80% 21%,90% 12%,100% 20%,100% 100%,0 100%)}
.safety-dialog[open]::before{opacity:1;animation:safety-wave-rise 1.05s cubic-bezier(.2,.75,.22,1) .08s both,safety-wave-flow 5.6s ease-in-out 1.15s infinite alternate}
.safety-dialog[open]::after{opacity:1;animation:safety-wave-rise-soft 1.22s cubic-bezier(.2,.75,.22,1) .13s both,safety-wave-flow-soft 6.8s ease-in-out 1.4s infinite alternate}
.safety-dialog .safety-page{position:relative;z-index:1;background:transparent!important}
@keyframes safety-wave-rise{0%{transform:translateY(78%);opacity:0}65%{opacity:.9}100%{transform:translateY(0);opacity:1}}
@keyframes safety-wave-flow{0%{transform:translateX(-2%) translateY(0)}100%{transform:translateX(2%) translateY(-5px)}}
@keyframes safety-wave-rise-soft{0%{transform:translateY(86%);opacity:0}70%{opacity:.7}100%{transform:translateY(0);opacity:.76}}
@keyframes safety-wave-flow-soft{0%{transform:translateX(2%) translateY(0)}100%{transform:translateX(-2%) translateY(-7px)}}
@media(prefers-reduced-motion:reduce){.safety-dialog[open]::before,.safety-dialog[open]::after{animation:none!important;transform:translateY(0);opacity:.62}}
