body.product-active .vibe-page { max-width:1120px; margin:auto; }
body.product-active .vibe-page .prom-hero { padding:0 0 22px; margin-bottom:22px; }
body.product-active .vibe-page .prom-hero h1 { font-size:clamp(26px,3vw,36px); line-height:1.15; letter-spacing:-.04em; font-weight:650; }
body.product-active .vibe-page .prom-hero p { font-size:14px; }
.vibe-readiness { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px 24px; padding:24px; margin-bottom:24px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.vibe-readiness h2 { margin:7px 0; font-size:22px; letter-spacing:-.03em; }
.vibe-readiness p { margin:0; font-size:13px; color:var(--muted); line-height:1.6; }
.vibe-readiness ul { display:flex; flex-wrap:wrap; gap:10px 20px; padding:0; margin:0; list-style:none; grid-column:1; font-size:12px; color:var(--brand-strong); }
.vibe-readiness>.button { grid-column:2; grid-row:1 / span 2; align-self:center; }
body.product-active .vibe-page .prom-layout { grid-template-columns:minmax(0,1fr) 290px; gap:24px; }
body.product-active .vibe-page .prom-empty,body.product-active .vibe-page .prom-join-panel { min-height:240px; padding:28px; }
body.product-active .vibe-page .prom-panel { padding:18px; box-shadow:none; }
body.product-active .vibe-page .prom-panel h2 { font-size:16px; }
body.product-active .vibe-page .prom-request-row { padding-block:12px; }
body.product-active .vibe-page .vibe-card { display:block; max-width:620px; margin-inline:auto; padding:0; overflow:hidden; }
body.product-active .vibe-page .vibe-visual { aspect-ratio:4/5; min-height:0; max-height:650px; }
body.product-active .vibe-page .vibe-visual img { width:100%; height:100%; object-fit:cover; }
body.product-active .vibe-page .vibe-copy { padding:24px; }
.vibe-answer-card { margin:20px 0; padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
.vibe-answer-card small { font-size:12px; color:var(--muted); }
.vibe-answer-card p { margin:10px 0 0; font-size:20px; line-height:1.45; font-weight:500; overflow-wrap:anywhere; white-space:pre-wrap; }
.vibe-gallery { display:grid; gap:16px; }
.vibe-gallery img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:12px; }
.vibe-editor-section { padding:22px 0; border-bottom:1px solid var(--line); }
.vibe-editor-section h3 { font-size:17px; margin:0 0 8px; }
.vibe-editor-section>header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; }
.vibe-editor-section>header span,.vibe-editor-section p { font-size:12px; color:var(--muted); line-height:1.6; }
.vibe-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:16px 0; }
.vibe-photo-slot { position:relative; aspect-ratio:4/5; min-width:0; border:1px dashed #cbbdb4; border-radius:12px; background:var(--bg); overflow:hidden; }
.vibe-photo-slot img { width:100%; height:100%; object-fit:cover; }
.vibe-photo-slot>label { display:flex; height:100%; flex-direction:column; justify-content:center; align-items:center; gap:8px; cursor:pointer; font-size:12px; color:var(--muted); }
.vibe-photo-slot>label>span:first-child { font-size:26px; color:var(--brand); }
.vibe-photo-slot>div { position:absolute; left:4px; right:4px; bottom:4px; display:flex; justify-content:space-between; gap:3px; }
.vibe-photo-slot button { min-height:36px; border:0; padding:6px 8px; border-radius:7px; color:#292522; background:#fffffff0; font-size:10px; }
.vibe-photo-slot button:disabled { opacity:1; color:#a3362e; }
.vibe-prompt-fields fieldset { min-width:0; margin:16px 0; padding:16px; border:1px solid var(--line); border-radius:12px; }
.vibe-prompt-fields legend { padding:0 6px; font-size:12px; font-weight:600; }
.vibe-prompt-fields textarea { min-height:100px; padding:12px; }
.vibe-preferences { display:flex; flex-wrap:wrap; gap:12px; border:0; padding:0; margin:16px 0; }
.vibe-preferences legend { font-size:13px; font-weight:600; margin-bottom:12px; }
.vibe-preferences label { display:flex; align-items:center; gap:8px; min-height:44px; font-size:13px; }
#vibe-camera video { display:block; width:100%; max-height:320px; border-radius:12px; background:#292522; transform:scaleX(-1); }
#vibe-camera video[hidden] { display:none; }
.vibe-camera-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
body.product-active .vibe-settings .form-field input,body.product-active .vibe-settings .form-field select { font-size:14px; }
@media(max-width:800px) {
 body.product-active .vibe-page .prom-layout { grid-template-columns:minmax(0,1fr); }
 .vibe-readiness { grid-template-columns:minmax(0,1fr); padding:18px; }
 .vibe-readiness>.button { grid-column:1; grid-row:auto; justify-self:start; }
 body.product-active .vibe-page .prom-hero-action { display:none; }
 .vibe-photo-slot button { min-height:44px; padding-inline:5px; }
 .vibe-answer-card p { font-size:18px; }
}
.vibe-setup-progress { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:0 0 16px; }
.vibe-setup-progress span { padding:10px 2px; text-align:center; border-bottom:2px solid var(--line); font-size:11px; color:var(--muted); }
.vibe-setup-progress span.active { border-color:var(--brand); color:var(--brand-strong); font-weight:600; }
.vibe-setup-step[hidden] { display:none!important; }
.vibe-step-actions { display:flex; justify-content:space-between; gap:12px; padding-top:18px; }
.vibe-step-actions [hidden],.vibe-modal-actions [hidden] { display:none!important; }
.vibe-step-actions>[data-vibe-step-next] { margin-left:auto; }
.vibe-setup-step .vibe-editor-section { padding-top:8px; border-bottom:0; }

.vibe-settings select[multiple]{border-radius:10px!important;min-height:152px;padding:8px!important;background:#fff}.vibe-settings select[multiple] option{padding:7px 10px}.vibe-university-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.vibe-university-actions [role="status"]{margin-left:auto;color:#756d66;font-size:12px}

#vibe-camera {max-width:460px;margin:0 auto;width:100%;box-sizing:border-box}#vibe-camera>h3{font-size:22px;margin:0 0 8px}#vibe-camera>p{font-size:13px;line-height:1.5}#vibe-camera .consent-check{padding:12px;border-radius:10px;font-size:12px;line-height:1.5;gap:10px;margin:16px 0}#vibe-camera video{width:100%;height:250px;max-height:32vh;object-fit:contain;border-radius:12px;background:#242321}#vibe-camera .vibe-camera-guide{padding:10px 12px;background:#faf0ed;color:#9e342d;border-radius:8px;font-size:14px;font-weight:600;margin:12px 0}#vibe-camera[data-complete] .vibe-camera-guide{background:#eef6ef;color:#31673c}#vibe-camera .vibe-camera-actions{justify-content:center;margin-top:12px}#vibe-camera .vibe-camera-actions [hidden]{display:none!important}.vibe-settings:has(#vibe-camera:not([hidden])) .vibe-step-actions{padding-top:10px}.vibe-settings:has(.vibe-setup-step:last-of-type:not([hidden])) .prom-form-intro{display:none}

.vibe-settings[data-vibe-step="3"] .prom-form-intro{display:none}.vibe-settings[data-vibe-step="3"] .modal-actions{margin-top:12px;padding-top:12px}.vibe-settings[data-vibe-step="3"] .vibe-setup-progress{margin-bottom:10px}
