.place-gallery{position:relative;margin:12px -2px 14px;overflow:hidden;border-radius:18px;background:#e9ece8}.place-gallery[hidden]{display:none}.gallery-track{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{position:relative;flex:0 0 100%;aspect-ratio:16/10;margin:0;scroll-snap-align:center;overflow:hidden;border-radius:18px;background:#dfe5e1}.gallery-slide img{width:100%;height:100%;display:block;object-fit:cover}.gallery-slide figcaption{position:absolute;right:0;bottom:0;left:0;padding:28px 13px 10px;background:linear-gradient(transparent,rgba(12,20,17,.72));color:#fff;font-size:11px}.gallery-count{position:absolute;right:10px;top:10px;padding:4px 8px;border-radius:999px;background:rgba(12,20,17,.66);color:#fff;font-size:10px;font-weight:800;backdrop-filter:blur(6px)}
.yacht-marker{position:relative;width:58px;height:88px;padding:0;border:0;background:transparent;filter:drop-shadow(0 5px 7px rgba(13,43,50,.28));cursor:pointer;transform-origin:center;transition:filter .2s ease}.yacht-marker:hover{filter:drop-shadow(0 7px 10px rgba(13,43,50,.42))}.yacht-marker img{width:100%;height:100%;display:block;object-fit:contain;transform:rotate(var(--yacht-heading,0deg));transition:transform .8s ease}.yacht-marker::after{content:'MM';position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);padding:2px 5px;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(28,70,61,.9);color:#fff;font:800 8px/1 system-ui,sans-serif;letter-spacing:.06em;box-shadow:0 2px 7px rgba(0,0,0,.18)}
.gallery-editor{margin:14px 0;padding:14px;border:1px solid #ddd5ca;border-radius:14px}.gallery-editor legend{padding:0 7px;font-weight:800}.admin-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.admin-photo{padding:8px;border-radius:12px;background:#f3f1ed}.admin-photo img{width:100%;aspect-ratio:16/10;display:block;object-fit:cover;border-radius:9px}.admin-photo input[type=text],.admin-photo input[type=number]{width:100%;margin-top:6px}.admin-photo label{font-size:12px}.gallery-editor .hint{font-size:12px}.form label small{display:block;margin-top:2px;color:#777;font-weight:400}
@media(max-width:600px){.yacht-marker{width:46px;height:70px}.place-gallery{margin-top:10px}.admin-gallery{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.yacht-marker img{transition:none}}
