/* CSWP Promotional Spotlight: a reusable featured campaign surface. */
.hero-art.promo-hero{overflow:visible!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;align-self:center;min-width:0}
.promo-stage{perspective:1100px;padding:24px 18px 20px;isolation:isolate}
.promo-float{position:relative;aspect-ratio:1;transform-style:preserve-3d;border-radius:26px;box-shadow:18px 28px 45px #0007,0 0 0 1px #ffffff35;animation:cswp-promo-float 12s ease-in-out infinite;will-change:transform;background:#110e0a}
.promo-slide{position:absolute;inset:0;overflow:hidden;border-radius:inherit;opacity:0;transition:opacity 1600ms ease;pointer-events:none;background:#100d0b}
.promo-slide.is-current{opacity:1}
.promo-slide img{position:absolute;inset:0;width:100%;height:100%;border-radius:0!important;max-width:none;display:block}
.promo-image{object-fit:contain!important;z-index:1}
.promo-backdrop{object-fit:cover;filter:blur(16px) brightness(.45);transform:scale(1.08)}
.promo-float:after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid #ffffff30;box-shadow:inset 1px 1px 0 #ffffff33;pointer-events:none;z-index:3}
.promo-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:18px 12px 0;padding:16px 18px;background:#15121f88;border:1px solid #ffffff24;border-radius:20px;backdrop-filter:blur(14px)}
.promo-label{display:block;font:600 10px/1.3 -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.16em;color:#d9c4a1;margin-bottom:7px}
.promo-caption strong{font:650 20px/1.2 -apple-system,BlinkMacSystemFont,sans-serif;color:#fff;display:block}.promo-caption strong span{color:#c9c3ce;font-weight:450;font-size:15px}
.promo-controls,.promo-dots{display:flex;align-items:center;gap:4px}.promo-dots button{width:24px;height:36px;padding:0;border:0;border-radius:10px;background:transparent;cursor:pointer;display:grid;place-items:center}.promo-dots button:after{content:"";width:6px;height:6px;background:#ffffff65;border-radius:50%;transition:background .2s}.promo-dots button[aria-pressed=true]:after{background:#eed0a1;box-shadow:0 0 12px #b9955655}.promo-pause{height:36px;min-width:36px;background:#ffffff10;color:white;border:1px solid #ffffff25;border-radius:12px;cursor:pointer}.promo-controls button:focus-visible{outline:2px solid #eed0a1;outline-offset:2px}
@keyframes cswp-promo-float{0%,100%{transform:translate3d(-4px,-4px,0) rotateX(3deg) rotateY(-13deg) rotateZ(-1deg)}33%{transform:translate3d(4px,-10px,0) rotateX(-2deg) rotateY(-8deg) rotateZ(.6deg)}66%{transform:translate3d(0,5px,0) rotateX(2deg) rotateY(-16deg) rotateZ(-.6deg)}}
@media(max-width:760px){.promo-stage{padding:20px 12px}.promo-float{border-radius:22px}.promo-caption{margin:12px 4px 0;padding:14px;gap:8px}.promo-caption strong{font-size:18px}.promo-caption strong span{font-size:13px}.promo-dots button{width:20px}}
@media(prefers-reduced-motion:reduce){.promo-float{animation:none!important;transform:none!important;will-change:auto}.promo-slide{transition:none!important}}
.hero-art.promo-hero{height:auto!important;aspect-ratio:auto!important;max-width:520px;width:100%;min-height:0!important}
/* Controls stay on the left, clear of the existing booking bubble. */
.promo-caption{flex-direction:column;align-items:flex-start;gap:9px}.promo-controls{align-self:flex-start}
