/* Balloon Studio uses the existing AeroPresent shell and shared ap-* controls. */
.ap-balloon-studio{--bs-ink:#0e3446;--bs-muted:#506977;--bs-action:#007b88;--bs-line:#dce8eb;min-height:60vh;padding:28px 0 72px;color:var(--bs-ink);background:#fff;font-family:var(--ap-font-family-base,"Manrope",sans-serif)}
.ap-balloon-studio [hidden]{display:none!important}
.ap-balloon-studio .ap-breadcrumbs{margin-bottom:26px}
.ap-balloon-studio h1{margin:0;font-size:clamp(28px,2.8vw,48px);font-weight:600;line-height:1.13;letter-spacing:-.045em}
.ap-bs-heading>p{max-width:760px;margin:16px 0 32px;color:var(--bs-muted);font-size:16px;line-height:1.6}
.ap-bs-workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:clamp(28px,4vw,64px)}
.ap-bs-preview,.ap-bs-palette{min-width:0}
.ap-bs-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.ap-bs-section-heading h2{margin:0;font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.025em}
.ap-bs-muted{color:var(--bs-muted);font-size:13px;line-height:1.5}
.ap-bs-section-heading>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px}
.ap-bs-scene-wrap{position:relative;min-height:420px;height:clamp(440px,43vw,680px);overflow:hidden;border-radius:6px;background:#f6f8f9;isolation:isolate}
.ap-bs-scene{position:absolute;inset:0;width:100%;height:100%}
.ap-bs-scene canvas{display:block;width:100%;height:100%;outline-offset:-4px;touch-action:none}
.ap-bs-scene-fallback,.ap-bs-scene .scene-fallback{position:absolute;inset:25%;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--bs-muted);font-size:14px;line-height:1.6}
.ap-bs-render-status{position:absolute;z-index:2;top:14px;left:14px;max-width:calc(100% - 28px);padding:7px 10px;border-radius:4px;background:rgba(255,255,255,.92);font-size:12px;pointer-events:none}
.ap-bs-scene-empty{position:absolute;inset:30% 16% auto;display:grid;gap:8px;text-align:center;pointer-events:none;color:var(--bs-ink)}
.ap-bs-scene-empty strong{font-size:22px;font-weight:600}.ap-bs-scene-empty span{font-size:14px}
.ap-bs-view-controls,.ap-bs-zoom-controls{position:absolute;z-index:2;display:flex;gap:3px;padding:3px;border-radius:6px;background:rgba(255,255,255,.94)}
.ap-bs-view-controls{left:14px;bottom:62px}.ap-bs-zoom-controls{right:14px;bottom:62px;flex-direction:column}
.ap-bs-view-controls button,.ap-bs-zoom-controls button,.ap-bs-shuffle{min-height:44px;border:0;border-radius:4px;background:transparent;color:var(--bs-ink);cursor:pointer;font:inherit;font-size:13px}
.ap-bs-view-controls button{padding:8px 10px}.ap-bs-zoom-controls button{width:40px;font-size:21px}
.ap-bs-view-controls [aria-pressed=true]{background:#edf7f6;color:var(--bs-action)}
.ap-bs-shuffle{position:absolute;z-index:2;bottom:12px;left:14px;padding:8px 12px;background:rgba(255,255,255,.94)}
.ap-bs-environment{display:flex;align-items:center;justify-content:space-between;gap:8px 18px;flex-wrap:wrap;margin-top:12px}
.ap-bs-switches{display:flex;flex-wrap:wrap;gap:4px}
.ap-bs-switches button{min-height:44px;padding:8px 10px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--bs-muted);font:inherit;font-size:12px;cursor:pointer}
.ap-bs-switches [aria-pressed=true]{color:var(--bs-action);border-bottom-color:var(--bs-action)}
.ap-bs-search{margin-bottom:15px}
.ap-bs-finishes{display:flex;flex-wrap:wrap;gap:2px 16px;border-bottom:1px solid var(--bs-line)}
.ap-bs-finishes button{min-height:44px;padding:10px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--bs-muted);font:inherit;font-size:14px;cursor:pointer}
.ap-bs-finishes [aria-selected=true]{color:var(--bs-action);border-bottom-color:var(--bs-action);font-weight:600}
.ap-bs-palette-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px;margin:14px 0;color:var(--bs-muted);font-size:12px}
.ap-bs-palette-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 12px;max-height:620px;padding:2px 4px 8px 2px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b7d6da transparent}
.ap-bs-color{position:relative;min-width:0;text-align:center}
.ap-bs-color-button{position:relative;display:flex;flex-direction:column;align-items:stretch;width:100%;min-height:130px;padding:8px;border:1px solid transparent;border-radius:6px;background:#f7f9fa;color:var(--bs-ink);font:inherit;cursor:pointer}
.ap-bs-color-button.is-selected{border-color:var(--bs-action);background:#edf7f6}
.ap-bs-color-button:disabled{opacity:.5;cursor:not-allowed}
.ap-bs-color-image{display:flex;align-items:center;justify-content:center;height:90px;margin:0 auto 8px;width:100%;overflow:hidden}
.ap-bs-color-image img{display:block;width:100%;height:100%;object-fit:contain}
.ap-bs-color-image.is-missing::after{content:"";width:48px;height:60px;border-radius:50%;background:var(--bs-swatch,#c9dce0)}
.ap-bs-color-name{display:block;min-height:2.8em;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.ap-bs-color-finish,.ap-bs-color-availability{display:block;margin-top:4px;font-size:11px;line-height:1.4;color:var(--bs-muted)}
.ap-bs-color-count{position:absolute;top:5px;right:5px;display:grid;place-items:center;min-width:24px;min-height:24px;padding:2px 5px;border-radius:50%;background:#fff;color:var(--bs-action);font-size:13px;font-weight:600}
.ap-bs-card-minus{position:absolute;top:5px;left:5px;z-index:1;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--bs-line);border-radius:50%;background:#fff;color:var(--bs-action);font:inherit;font-size:24px;line-height:1;cursor:pointer}.ap-bs-card-minus:disabled{opacity:.5;cursor:not-allowed}
.ap-bs-section-heading>.ap-bs-heading-actions{flex-shrink:0;align-items:center;gap:4px}.ap-bs-heading-actions .ap-button{min-height:40px}
.ap-bs-scene-placeholder{width:100%;flex:none}
.ap-bs-mini-preview{position:fixed;z-index:1080;right:20px;bottom:16px;width:170px;padding:0;border:1px solid #a8cbd1;border-radius:8px;background:#fff;color:var(--bs-ink);box-shadow:0 6px 24px rgba(14,52,70,.16);overflow:hidden;font:inherit;text-align:left;cursor:pointer}
.ap-bs-mini-preview canvas{display:block;width:100%;aspect-ratio:4/3;background:#f6f8f9}.ap-bs-mini-preview>span{display:grid;grid-template-columns:1fr auto;gap:3px 6px;padding:8px 10px;font-size:11px;line-height:1.35}.ap-bs-mini-preview strong{font-size:11px;font-weight:600}.ap-bs-mini-open{grid-column:1/-1;color:var(--bs-action)}
.ap-bs-scene-dialog{width:calc(100vw - 24px);height:calc(100dvh - 24px);max-width:none;max-height:none;margin:auto;padding:12px;border:0;border-radius:8px;background:#fff;color:var(--bs-ink);overflow:hidden;box-sizing:border-box}.ap-bs-scene-dialog[open]{display:flex;flex-direction:column;gap:10px}.ap-bs-scene-dialog::backdrop{background:rgba(14,52,70,.5)}
.ap-bs-scene-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}.ap-bs-scene-dialog-heading h2{margin:0;font-size:22px;font-weight:600}.ap-bs-scene-dialog-close{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:4px;background:#f3fbfc;color:var(--bs-ink);font:inherit;font-size:28px;cursor:pointer}.ap-bs-scene-dialog-body{flex:1;min-height:0}.ap-bs-scene-dialog-body .ap-bs-scene-wrap{height:100%;min-height:0}
.ap-bs-selection{margin-top:40px;padding-top:28px;border-top:1px solid var(--bs-line)}
.ap-bs-selection-row{display:grid;grid-template-columns:52px minmax(140px,1fr) 152px minmax(80px,.4fr) minmax(85px,.4fr) 36px;align-items:center;gap:16px;padding:18px 0;border-top:1px solid var(--bs-line)}
.ap-bs-selection-photo{width:48px;height:60px;object-fit:contain}
.ap-bs-selection-name{font-size:15px;font-weight:550;overflow-wrap:anywhere}.ap-bs-selection-finish{display:block;margin-top:5px;color:var(--bs-muted);font-size:12px}
.ap-bs-quantity{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;min-height:48px;border:1px solid #a8cbd1;border-radius:6px;background:#f3fbfc}
.ap-bs-quantity button,.ap-bs-quantity input{width:100%;min-width:0;min-height:46px;padding:0;border:0;background:transparent;color:var(--bs-ink);text-align:center;font:inherit;font-size:16px}
.ap-bs-quantity button{cursor:pointer}.ap-bs-quantity input{appearance:textfield;-moz-appearance:textfield;font-weight:600}.ap-bs-quantity input::-webkit-inner-spin-button,.ap-bs-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ap-bs-quantity input[aria-invalid=true]{outline:2px solid #a12b40;outline-offset:-2px}
.ap-bs-line-money{text-align:right;font-size:16px;font-weight:600;white-space:nowrap}.ap-bs-line-money small{display:block;margin-top:4px;color:var(--bs-muted);font-size:11px;font-weight:400}
.ap-bs-remove{min-width:36px;min-height:44px;padding:0;border:0;background:transparent;color:var(--bs-muted);font:inherit;font-size:22px;cursor:pointer}
.ap-bs-line-error{grid-column:2/-1;color:#a12b40;font-size:13px}
.ap-bs-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:24px 0 0;border-top:1px solid var(--bs-ink);background:#fff}
.ap-bs-summary-copy{display:grid;gap:5px;font-size:13px}.ap-bs-summary-copy strong{font-size:clamp(30px,3vw,48px);font-weight:650;letter-spacing:-.045em;line-height:1.2;white-space:nowrap}
.ap-bs-quote-status{min-height:1.5em;color:var(--bs-muted);font-size:12px}.ap-bs-summary-action{display:grid;gap:8px;min-width:260px;max-width:45%}.ap-bs-summary-action>span{color:var(--bs-muted);font-size:11px;text-align:center}
.ap-bs-buy{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:12px 28px;border:0;border-radius:6px;background:var(--bs-action);color:#fff;font:inherit;font-size:17px;font-weight:600;cursor:pointer}.ap-bs-buy:hover{background:#006570}.ap-bs-buy:disabled{background:#e9eff1;color:var(--bs-muted);cursor:not-allowed}
.ap-bs-empty{grid-column:1/-1;padding:28px 0;color:var(--bs-muted);font-size:14px;line-height:1.6}
.ap-bs-message,.ap-bs-error{padding:14px 16px;margin:0 0 20px;border:1px solid #bddcde;border-radius:6px;background:#f3fbfc;color:var(--bs-ink);font-size:14px;line-height:1.6}.ap-bs-error{margin:18px 0 10px;border-color:#e3c8cf;background:#fff6f7;color:#a12b40}
.ap-balloon-studio button:focus-visible,.ap-balloon-studio input:focus-visible{outline:2px solid var(--bs-action);outline-offset:3px}
@media(max-width:1199px){.ap-bs-palette-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ap-bs-selection-row{gap:12px;grid-template-columns:44px minmax(120px,1fr) 140px 90px 90px 32px}.ap-bs-workspace{gap:28px}}
@media(max-width:767px){.ap-bs-preview>.ap-bs-section-heading{align-items:flex-start;flex-wrap:wrap;gap:8px}.ap-bs-heading-actions{margin-left:auto}.ap-bs-mini-preview{right:12px;width:140px}.ap-bs-mini-preview>span{padding:6px 8px;font-size:10px}.ap-bs-mini-preview strong{font-size:10px}.ap-bs-scene-dialog{width:100vw;height:100dvh;margin:0;border-radius:0;padding:calc(8px + env(safe-area-inset-top,0px)) calc(8px + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px))}.ap-bs-scene-dialog-heading h2{font-size:20px}.ap-balloon-studio{padding:18px 0 32px}.ap-bs-heading>p{font-size:14px;margin-bottom:24px}.ap-bs-workspace{display:flex;flex-direction:column;gap:28px}.ap-bs-preview,.ap-bs-palette{width:100%}.ap-bs-section-heading h2{font-size:21px}.ap-bs-scene-wrap{height:390px;min-height:330px}.ap-bs-scene-empty{inset:32% 15% auto}.ap-bs-scene-empty strong{font-size:19px}.ap-bs-palette-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:510px;gap:14px 8px}.ap-bs-color-button{padding:5px}.ap-bs-color-image{height:72px}.ap-bs-selection{margin-top:28px}.ap-bs-selection-row{grid-template-columns:40px minmax(0,1fr) 128px 28px;gap:10px}.ap-bs-selection-photo{width:36px;height:48px}.ap-bs-selection-name{font-size:14px}.ap-bs-quantity{grid-template-columns:38px minmax(0,1fr) 38px}.ap-bs-line-money{grid-row:2;font-size:14px;text-align:left}.ap-bs-line-money[data-bs-unit]{grid-column:2}.ap-bs-line-money[data-bs-line-total]{grid-column:3}.ap-bs-remove{grid-column:4;grid-row:1;min-width:28px}.ap-bs-line-error{grid-column:2/-1}.ap-bs-summary{position:sticky;z-index:1090;bottom:var(--ap-mobile-bottom-nav-height,68px);gap:12px;padding:14px 0 12px;margin-top:20px;border-top-color:var(--bs-line)}.ap-bs-summary-copy{min-width:0;font-size:12px}.ap-bs-summary-copy strong{font-size:30px}.ap-bs-summary-action{min-width:142px;max-width:48%}.ap-bs-summary-action>span{font-size:10px;line-height:1.35}.ap-bs-buy{min-height:48px;padding:10px 18px;font-size:16px}.ap-bs-quote-status{font-size:11px}.ap-balloon-studio.is-keyboard-open .ap-bs-summary{position:static}.ap-bs-selection:focus-within .ap-bs-summary{scroll-margin-bottom:80px}}
@media(max-width:399px){.ap-bs-palette-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ap-bs-selection-row{grid-template-columns:30px minmax(0,1fr) 116px 24px;gap:8px}.ap-bs-quantity{grid-template-columns:34px minmax(0,1fr) 34px}.ap-bs-selection-photo{width:28px}.ap-bs-summary-action{min-width:120px}.ap-bs-summary-copy strong{font-size:27px}.ap-bs-view-controls button{font-size:12px;padding:8px}}
@media(prefers-reduced-motion:reduce){.ap-balloon-studio *{scroll-behavior:auto!important}}
