.thumb img,.thumb video{width:100%;height:100%;object-fit:cover}

#cart[open]{position:fixed;inset:0 0 0 auto;margin:0;width:min(480px,94vw);height:100dvh;max-height:none;border-radius:24px 0 0 24px;padding:22px;overflow:auto}
#cart .dialog-head{position:sticky;top:-22px;z-index:2;background:var(--panel);padding:18px 0 12px}

@media(max-width:600px){
  #cart[open]{width:96vw;border-radius:20px 0 0 20px}
}

.upload-status{grid-column:1/-1;padding:12px 14px;border-radius:12px;background:#ffffff0b;color:#cbd7e9}
.upload-status.selected{border:1px solid #20d6c755}
.upload-status.sending{display:grid;gap:9px}
.upload-stage{display:flex;align-items:center;justify-content:space-between;gap:16px}
.upload-percent{font-weight:800;color:var(--cyan);white-space:nowrap}
.upload-detail{min-height:1.2em;color:var(--muted)}
.upload-status progress{width:100%;accent-color:var(--cyan)}
.upload-status.processing progress{animation:upload-pulse .8s ease-in-out infinite alternate}
.upload-status.error{background:#ff547022;color:#ffd9df}
@keyframes upload-pulse{from{opacity:.45}to{opacity:1}}

[data-fal-status="queued"],[data-fal-status="processing"]{animation:upload-pulse .8s ease-in-out infinite alternate}

.voice-recorder{grid-column:1/-1;margin-top:8px;padding:12px;border:1px solid #20d6c744;border-radius:14px;background:#07182788}
.voice-recorder-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.voice-recorder button{margin:0;padding:9px 12px}
.voice-record-start{color:var(--cyan)}
.voice-record-stop{color:#ff879b}
.voice-record-timer{font-variant-numeric:tabular-nums;letter-spacing:.08em}
.voice-record-state{margin:8px 0 0;color:var(--muted)}
.voice-record-state.error{color:#ff9bac}
.voice-record-preview{display:block;width:100%;margin-top:10px;height:42px}
.current-voiceover{display:grid;gap:8px;color:#cbd7e9;font-weight:650}
.current-voiceover audio{width:100%;height:42px}
.voice-recorder.recording{border-color:#ff547099}
.voice-recorder.recording .voice-record-start,.voice-recorder.recording .voice-record-timer{animation:voice-record-pulse .8s ease-in-out infinite alternate}
@keyframes voice-record-pulse{from{opacity:.55}to{opacity:1}}

.dimension-prices-editor{display:grid;gap:12px;border:1px solid #ffffff18;border-radius:15px;padding:16px}
.dimension-price-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(120px,1fr) auto;align-items:end;gap:10px;margin-bottom:10px}
.dimension-price-row button{padding:11px 14px;background:#7c2637}
.dimension-prices-editor>[data-add-dimension]{justify-self:start}
@media(max-width:650px){.dimension-price-row{grid-template-columns:1fr auto}.dimension-price-row label:first-child{grid-column:1/-1}}
.allergen-editor{border:1px solid #ffffff18;border-radius:15px;padding:16px}.allergen-editor>p{color:var(--muted)}
.allergen-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.allergen-checks .check{margin:0;padding:9px;border-radius:10px;background:#ffffff0a}
.property-video-manager{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.property-video-manager legend{grid-column:1/-1}
.property-video-manager label{padding:10px;border-radius:12px;background:#ffffff0a}.property-video-manager video{width:100%;height:120px;object-fit:cover;border-radius:9px}.property-video-manager input{width:auto}
