.spotlight-panel{width:100%;max-width:390px;min-width:0;margin:12px auto;align-self:start;grid-column:1/-1;font-family:var(--font-body,Inter,Arial,sans-serif)}
.spotlight-stage{position:relative;isolation:isolate;aspect-ratio:1;overflow:hidden;border-radius:12px;background:var(--surface,#182227);color:#f2f7f6;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.spotlight-stage [hidden]{display:none!important}.spotlight-frame{position:absolute;inset:0;margin:0;min-width:0}.spotlight-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.spotlight-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(rgb(8 20 23/.4),transparent 38%,rgb(8 20 23/.95));pointer-events:none}
.spotlight-edge{position:absolute;inset:0 0 auto;z-index:4;display:flex;justify-content:space-between;pointer-events:none}.spotlight-edge>span{padding:6px 9px;font-size:0.75rem;font-weight:500;line-height:1.4;background:rgb(14 28 31/.85);color:#edf5f3}.spotlight-edge>span:first-child{border-radius:0 0 7px 0}.spotlight-edge>span:last-child{border-radius:0 0 0 7px}
.spotlight-progress{position:absolute;top:38px;left:12px;right:12px;z-index:4;display:flex;gap:4px}.spotlight-progress progress{flex:1;min-width:0;height:3px;appearance:none;border:0;background:#617273}.spotlight-progress progress::-webkit-progress-bar{background:#617273}.spotlight-progress progress::-webkit-progress-value{background:#edf5f3}
.spotlight-copy{position:absolute;bottom:74px;left:16px;right:16px;z-index:2;pointer-events:none}.spotlight-panel .spotlight-copy h2{font-family:inherit;font-size:clamp(1.0625rem,5vw,1.3125rem);font-weight:600;line-height:1.25;letter-spacing:-.02em;margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spotlight-panel .spotlight-copy p{margin:7px 0 0;font-size:0.75rem;line-height:1.5;color:#e3edeb;overflow-wrap:anywhere}
.spotlight-invitation{background:#173e43}.spotlight-invitation>img{inset:24% auto auto 38%;width:24%;height:24%;object-fit:contain}
.spotlight-pause{position:absolute;right:6px;top:45px;z-index:5;width:44px;height:44px;padding:13px;display:grid;place-items:center;border:0;border-radius:50%;background:rgb(15 29 32/.65);color:#fff;cursor:pointer}.spotlight-pause svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.spotlight-controls{position:absolute;bottom:7px;left:12px;right:12px;z-index:4;display:flex;align-items:center;gap:0;min-height:44px}.spotlight-controls>div{flex:1;min-width:0}.spotlight-controls small{display:block;color:#edf5f3;font-size:0.6875rem}.spotlight-controls a{font-family:inherit;color:#fff;text-decoration:none;min-height:44px;display:flex;align-items:center;font-size:0.8125rem;font-weight:500;padding:5px}.spotlight-controls .spotlight-book{font-size:0.75rem;padding:0;min-height:28px}.spotlight-controls button{min-width:44px;min-height:44px;padding:6px;border:0;background:none;color:#edf5f3;font-size:20px;cursor:pointer}.spotlight-stage :is(a,button):focus-visible{outline:2px solid #edf5f3;outline-offset:-2px;border-radius:6px}
@media(min-width:861px){.spotlight-category{display:none}.spotlight-detail{max-width:100%;margin-top:16px}.spotlight-panel{max-width:360px}}
@media(prefers-reduced-motion:reduce){.spotlight-panel *{scroll-behavior:auto}}
.spotlight-booking-list{display:grid;gap:8px;max-width:640px;margin:16px 0}.spotlight-booking-ad{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:10px;color:var(--text-primary);text-decoration:none}.spotlight-booking-ad strong{font-size:0.875rem;font-weight:500;overflow-wrap:anywhere}.spotlight-booking-ad span{font-size:0.75rem;color:var(--text-secondary);flex-shrink:0}
.home-spotlight .spotlight-panel{margin:12px auto 0}.spotlight-category{grid-column:1/-1;min-width:0}.spotlight-creative-editor{max-width:560px;margin:16px 0}.spotlight-creative-editor h2{font-size:1.0625rem}.spotlight-creative-editor label{display:grid;gap:6px;margin:12px 0;font-size:0.875rem}.spotlight-creative-editor p{font-size:0.8125rem;line-height:1.5}

.spotlight-edge>span:last-child{margin-left:auto}.spotlight-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spotlight-controls a{min-width:0;overflow-wrap:anywhere;line-height:1.25}
.ad-detail-after-content{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;align-items:start}.ad-detail-after-content>.spotlight-detail{grid-column:2;grid-row:1}.ad-detail-after-content>.ad-related-section{grid-column:1;grid-row:1;min-width:0}@media(max-width:900px){.ad-detail-after-content{grid-template-columns:minmax(0,1fr)}.ad-detail-after-content>.spotlight-detail,.ad-detail-after-content>.ad-related-section{grid-column:1;grid-row:auto}}

.spotlight-copy{bottom:calc(var(--spotlight-controls-height,47px) + 27px)}.spotlight-copy p{-webkit-line-clamp:1}
.spotlight-creative-review{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px 14px;padding:14px;margin:12px 0;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.spotlight-creative-review>img{grid-row:1/3;width:120px;height:120px;object-fit:contain}.spotlight-creative-review>strong{font-size:.875rem;font-weight:500;overflow-wrap:anywhere}.spotlight-creative-review>form{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.spotlight-creative-review label{flex-basis:100%;font-size:.8125rem}.spotlight-creative-review input{margin:4px 0 0}.spotlight-creative-review button{min-height:44px}@media(max-width:480px){.spotlight-creative-review{grid-template-columns:minmax(0,1fr)}.spotlight-creative-review>img{grid-row:auto}}
.spotlight-timer{position:absolute;z-index:5;right:54px;top:57px;min-width:24px;text-align:center;font-size:.75rem;line-height:20px;font-weight:400;color:#edf5f3;background:rgb(15 29 32/.65);border-radius:5px;padding:0 3px;font-variant-numeric:tabular-nums;pointer-events:none}

/* Branded invitations keep the full photo; a soft matte fills its unused frame. */
.spotlight-invitation-photo::before{content:"";position:absolute;inset:-12%;background-image:var(--spotlight-invite-image);background-size:cover;background-position:center;filter:blur(16px);opacity:.4;pointer-events:none}
.spotlight-invitation-photo>img{inset:0;width:100%;height:100%;object-fit:contain;object-position:center top}
.spotlight-invitation-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(8,18,20,.3) 55%,rgba(8,18,20,.96) 85%);pointer-events:none}
