/* Launch plan surface: verified product candidates stay separate from the concept gallery. */
.announcement strong { margin-right: 16px; }
.hero-note { max-width: 410px; line-height: 1.8; }
.shop-notice { display: flex; gap: 14px; align-items: flex-start; margin: 34px 0 0; padding: 17px 20px; background: #e8ecdf; border: 1px solid #d2d9ca; border-radius: 4px; }
.notice-mark { color: #71925f; font-size: 10px; padding-top: 4px; }
.shop-notice strong { display: block; font-size: 12px; }
.shop-notice p { margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
.sale-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 920px; gap: 42px 28px; }
.sale-product .product-image { min-height: 420px; padding: 22px; }
.sale-product .product-image img { height: 370px; }
.gallery { border-top: 1px solid var(--line); }
.gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.product-price { font-family: var(--serif); font-size: 19px; margin: 4px 0 12px; }
.product-price small { font-family: sans-serif; color: var(--muted); font-size: 9px; }
.status-pill { display: inline-flex; align-items: center; width: fit-content; border-radius: 999px; padding: 4px 8px; font-size: 9px; line-height: 1; }
.status-pill.candidate { color: #315a3d; background: #dce8d8; }
.status-pill.concept { color: #6f7469; background: #e8e8df; }
.status-pill.later-pill { color: #7d7c71; background: #eeece4; }
.product-status { align-items: center; }
.product-status > span:last-child { color: var(--muted); }
.header-actions { display: flex; align-items: center; gap: 18px; }
.cart-nav { min-height: 44px; padding: 10px 13px; border: 1px solid var(--ink); border-radius: 999px; font-size: 11px; }
.cart-nav span { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 5px; border-radius: 50%; background: var(--green); color: #fff; font-size: 10px; }
.color-picker { border: 0; padding: 0; margin: 24px 0 12px; }
.color-picker legend { color: var(--muted); font-size: 10px; margin-bottom: 9px; }
.color-picker legend span { margin-left: 8px; font-size: 9px; }
.color-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.color-option { min-height: 62px; padding: 8px 5px; border: 1px solid var(--line); border-radius: 4px; display: grid; grid-template-columns: 18px 1fr; grid-template-rows: 1fr 1fr; align-items: center; text-align: left; column-gap: 7px; font-size: 10px; }
.color-option i { grid-row: 1 / span 2; width: 17px; height: 17px; border-radius: 50%; background: var(--swatch); border: 1px solid #b7bcaf; }
.color-option .swatch-gray { background: #777b78; }.color-option .swatch-orange { background: #e4773c; }.color-option .swatch-pine-green { background: #3f6547; }.color-option .swatch-misty-blue { background: #8daebb; }.color-option .swatch-dark-beige { background: #a98e70; }.color-option .swatch-white { background: #fff; }
.color-option.white { border-color: #b9beb4; }.color-option.selected { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); background: #eef1e8; }.color-option small { color: var(--muted); font-size: 8px; }
.quantity-picker { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 10px; }.quantity-picker > div { display: flex; align-items: center; border: 1px solid var(--line); border-radius: 4px; }.quantity-picker button { width: 42px; height: 42px; font-size: 19px; }.quantity-picker output { min-width: 28px; text-align: center; }.quantity-picker > span { color: var(--muted); margin-left: auto; }
.cart-content { padding: 54px 35px 35px; }.cart-content h2 { margin-bottom: 23px; }.cart-line { display: grid; grid-template-columns: 1fr auto 36px; align-items: center; gap: 12px; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 11px; }.cart-line div { display: flex; flex-direction: column; gap: 5px; }.cart-line div span, .cart-total small, .cart-note { color: var(--muted); font-size: 10px; }.cart-line > button { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; font-size: 19px; }.cart-total { display: grid; grid-template-columns: 1fr auto; gap: 7px; padding: 20px 0; font-size: 11px; }.cart-total strong { font-family: var(--serif); font-size: 20px; }.cart-total small { grid-column: 1 / -1; }.cart-note { line-height: 1.8; }.cart-content .primary { margin-top: 13px; width: 100%; justify-content: space-between; }.disabled-link { pointer-events: none; opacity: .5; }.empty-cart { color: var(--muted); padding: 20px 0; }
.checkout-main { max-width: 960px; }.checkout-lead { color: var(--muted); line-height: 2; }.checkout-card { margin-top: 28px; padding: 28px; border: 1px solid var(--line); border-radius: 6px; background: rgba(255,255,255,.18); }.checkout-card h2, .checkout-summary h2 { font-size: 23px; margin: 0 0 20px; }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }.form-grid label { display: grid; gap: 7px; color: var(--muted); font-size: 11px; }.form-grid label.full { grid-column: 1 / -1; }.form-grid input, .form-grid select { min-height: 46px; padding: 10px 12px; border: 1px solid #bdc7ba; border-radius: 4px; background: #fffdf6; color: var(--ink); }.check-line { display: flex; align-items: flex-start; gap: 9px; font-size: 12px; line-height: 1.8; }.check-line input { width: 20px; height: 20px; flex: 0 0 auto; }.terms-copy { color: var(--muted); font-size: 11px; line-height: 2; }.checkout-submit { margin-top: 28px; min-width: 250px; border: 0; }.checkout-summary { margin-top: 36px; }.summary-lines { border-top: 1px solid var(--line); }.summary-lines > div { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 12px; }.summary-total { font-size: 14px !important; }.summary-total strong { font-family: var(--serif); font-size: 23px; }.summary-note { color: var(--muted); font-size: 11px; }.payment-card { background: #fffdf6; }.form-error { margin-top: 20px; padding: 13px 16px; border: 1px solid #bb6d53; border-radius: 4px; color: #813e2a; background: #fff0ea; font-size: 12px; }
.size-guide { border-top: 1px solid var(--line); }
.size-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 9%; align-items: start; margin-top: 44px; }
.size-table-wrap { min-width: 0; }
.size-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.size-table th, .size-table td { padding: 17px 14px; border-bottom: 1px solid var(--line); text-align: left; }
.size-table thead th { padding-top: 0; color: var(--muted); font-size: 9px; font-weight: 400; letter-spacing: .1em; }
.size-table tbody th { font-family: var(--serif); font-size: 17px; font-weight: 500; }
.size-table tbody th small { font-family: sans-serif; color: var(--muted); font-size: 9px; font-weight: 400; }
.size-table tbody tr.later { color: var(--muted); }
.size-table td:nth-child(2) { font-family: var(--serif); font-size: 18px; }
.table-note { margin: 16px 0 0; color: var(--muted); font-size: 10px; line-height: 1.9; }
.measure-card { padding: 27px; background: #e8ecdf; border-radius: 4px; }
.measure-card h3 { font-family: var(--serif); font-size: 24px; line-height: 1.7; font-weight: 500; margin: 15px 0; }
.measure-card p { color: var(--muted); font-size: 11px; line-height: 2; }
.measure-lines { display: grid; grid-template-columns: auto 1fr; gap: 9px 10px; align-items: center; margin-top: 24px; color: var(--muted); font-size: 10px; }
.measure-lines i { display: block; height: 1px; background: #abb7a4; }
.process { border-top: 1px solid var(--line); }
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 44px; }
.process-grid article { padding: 25px 0; border-top: 1px solid #aeb8a8; }
.process-number { color: #71925f; font: italic 17px Georgia, serif; }
.process-grid h3 { font-family: var(--serif); font-weight: 500; font-size: 20px; margin: 17px 0 10px; }
.process-grid p { color: var(--muted); font-size: 11px; line-height: 2; margin: 0; max-width: 270px; }
.detail-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 18px; color: var(--muted); font-size: 10px; }
.size-picker { border: 0; padding: 0; margin: 24px 0 12px; }
.size-picker legend { color: var(--muted); font-size: 10px; margin-bottom: 9px; }
.size-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.size-option { padding: 12px 11px; border: 1px solid var(--line); border-radius: 4px; text-align: left; background: transparent; display: flex; flex-direction: column; gap: 4px; min-height: 58px; }
.size-option strong { font-size: 12px; font-weight: 500; }
.size-option span { font-family: var(--serif); font-size: 14px; }
.size-option.selected { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); background: #eef1e8; }
.spec-list { margin: 19px 0 0; font-size: 11px; }
.spec-list > div { display: grid; grid-template-columns: 56px 1fr; gap: 15px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.spec-list dt { color: var(--muted); }
.spec-list dd { margin: 0; line-height: 1.7; }
.spec-list dd strong { font-family: var(--serif); font-size: 17px; font-weight: 500; }
.spec-list small, .order-preview small { color: var(--muted); font-size: 9px; }
.order-preview { display: flex; justify-content: space-between; align-items: baseline; margin: 18px 0 12px; font-size: 10px; }
.order-preview strong { font-family: var(--serif); font-size: 20px; font-weight: 500; }
.detail-copy > .unavailable { width: 100%; }
.detail-copy .secondary { width: 100%; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.detail-notice-link { margin: 16px 0 0; color: var(--muted); font-size: 10px; line-height: 1.8; }
.detail-notice-link a, .store-footer a { text-decoration: underline; text-underline-offset: 3px; }
.notice-store { min-height: 100svh; }
.notice-store .store-header { flex: none; }
.notice-back { padding: 11px 15px; border: 1px solid #c9cec2; border-radius: 24px; font-size: 11px; }
.notice-main { width: min(820px, 86%); margin: 65px auto 80px; }
.notice-main > .eyebrow { color: #767b71; font-size: 9px; letter-spacing: .18em; }
.notice-main h1 { margin: 13px 0 8px; font-size: clamp(30px, 4vw, 43px); line-height: 1.5; }
.notice-lead { margin: 0; color: var(--muted); font-size: 12px; line-height: 2; }
.notice-items { margin-top: 43px; border-top: 1px solid var(--line); }
.notice-items section { padding: 24px 0; border-bottom: 1px solid var(--line); }
.notice-items h2 { margin: 0; font-size: 19px; }
.notice-items p { max-width: 690px; margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 2; }
.notice-return { display: inline-flex; gap: 28px; align-items: center; margin-top: 35px; padding: 16px 20px; border-radius: 3px; background: var(--green); color: white; font-size: 11px; }
.notice-return span { font-size: 18px; }
.notice-store .store-footer { justify-content: center; }
.notice-store .store-footer > span { font-size: 10px; }

@media(max-width:1000px) {
  .sale-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sale-product .product-image { min-height: 330px; }
  .sale-product .product-image img { height: 290px; }
  .size-layout { gap: 5%; }
}
@media(max-width:700px) {
  .announcement strong { margin-right: 5px; }
  .sale-grid, .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sale-product .product-image { min-height: 225px; padding: 10px 8px; }
  .sale-product .product-image img { height: 205px; }
  .shop-notice { margin-top: 25px; padding: 14px; }
  .shop-notice p { font-size: 10px; }
  .size-layout, .process-grid { grid-template-columns: 1fr; gap: 30px; }
  .size-table th, .size-table td { padding: 14px 8px; }
  .measure-card { padding: 22px; }
  .process-grid { margin-top: 30px; }
  .process-grid article { padding: 20px 0; }
  .detail-meta { margin-top: 12px; }
  .notice-main { margin: 42px auto 55px; }
  .notice-items { margin-top: 30px; }
  .notice-items section { padding: 20px 0; }
  .notice-items p { font-size: 11px; }
  .spec-list > div { grid-template-columns: 52px 1fr; }
  .header-actions { gap: 8px; }.cart-nav { font-size: 10px; padding: 8px 10px; }.cart-content { padding: 48px 23px 25px; }.color-options { grid-template-columns: repeat(2, 1fr); }.form-grid { grid-template-columns: 1fr; }.form-grid label.full { grid-column: auto; }.checkout-card { padding: 21px 17px; }.checkout-submit { width: 100%; justify-content: space-between; }
}

/* Full-page shelf storefront; checkout and product detail retain shared styles. */
.checkout-summary:empty { display: none; }
.shelf-store { background: #eeede8; color: #384138; min-height: 100svh; display: flex; flex-direction: column; }
.shelf-store .store-header { flex: none; height: 100px; padding: 0 5%; border: 0; background: transparent; }
.store-caption { font-size: 9px; letter-spacing: .16em; color: #73786b; }
.shelf-store .saved-nav { font-size: 11px; min-height: 44px; border-radius: 24px; padding: 0 12px; }
.shelf-store .saved-nav[aria-pressed="true"] { background: #dde2d6; }
.shelf-main { flex: 1; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.store-intro { width: 86%; max-width: 1200px; margin: 18px auto 12px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.store-intro .eyebrow { font-size: 8px; letter-spacing: .2em; color: #767b71; }
.store-intro h1 { font-size: clamp(26px, 3vw, 40px); line-height: 1.5; margin: 10px 0; letter-spacing: .12em; }
.store-intro p { font-size: 10px; line-height: 2; color: #767b71; }
.shelf-explorer { width: 100%; }
.shelf-viewport { display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; cursor: grab; touch-action: pan-x pan-y; }
.shelf-viewport::-webkit-scrollbar { display: none; }
.shelf-viewport.is-dragging { scroll-snap-type: none; cursor: grabbing; user-select: none; }
.shelf-viewport.is-dragging button { cursor: grabbing; }
.shelf-viewport[hidden] { display: none; }
.shelf-page { flex: 0 0 100%; min-width: 0; padding: 16px 8% 57px; scroll-snap-align: start; scroll-snap-stop: always; }
.display-shelf { position: relative; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 8%; padding: 0 6%; border-bottom: 9px solid #f8f7f3; }
.display-shelf::after { content: ''; position: absolute; pointer-events: none; left: 0; right: 0; bottom: -9px; height: 9px; box-shadow: 0 3px 2px #c6c5be, 0 15px 18px #85867b45, 0 30px 30px #686b5d22; }
.display-shelf + .display-shelf { margin-top: 58px; }
.shelf-pot { position: relative; min-width: 0; padding: 0; text-align: left; }
.shelf-image { display: flex; align-items: flex-end; justify-content: center; height: clamp(115px, 18vh, 225px); overflow: hidden; mix-blend-mode: multiply; }
.display-shelf:empty { min-height: clamp(115px, 18vh, 225px); }
.shelf-image img { height: 100%; width: 100%; object-fit: contain; transform: translateY(8px); transition: transform .35s cubic-bezier(.2,.7,.2,1); user-select: none; -webkit-user-drag: none; }
.shelf-pot:nth-child(2) .shelf-image img { height: 95%; }
.shelf-pot:nth-child(3) .shelf-image img { height: 90%; }
@media(hover:hover) { .shelf-pot:hover .shelf-image img { transform: translateY(1px) rotate(-2deg); } }
.shelf-pot:focus-visible .shelf-image img { transform: translateY(1px); }
.shelf-pot:focus-visible { outline-offset: 5px; }
.shelf-label { position: absolute; top: calc(100% + 21px); left: 0; right: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: 12px; white-space: nowrap; }
.shelf-label small { font: 9px sans-serif; color: #72776e; }
.shelf-label > span > small { margin-right: 10px; font-size: 8px; }
.saved-mark { display: inline-block; margin-left: 8px; font: 8px sans-serif; color: #637953; }
.shelf-navigation { width: 84%; max-width: 1200px; margin: 16px auto 20px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
#shelf-count { font: 11px Georgia,serif; letter-spacing: .12em; min-width: 140px; }
.shelf-pagination { display: flex; align-items: center; gap: 20px; }
.shelf-arrow { border: 1px solid #bec3b8; border-radius: 50%; width: 42px; height: 42px; font-size: 20px; transition: background .2s, opacity .2s; }
.shelf-arrow:hover:not(:disabled) { background: #dfe3d7; }
.shelf-arrow:disabled { opacity: .3; cursor: default; }
.shelf-dots { display: flex; align-items: center; }
.shelf-dots button { width: 25px; height: 44px; padding: 0; position: relative; }
.shelf-dots button::after { content: ''; display: block; width: 5px; height: 5px; border-radius: 50%; background: #bdc2b6; margin: auto; transition: width .3s, background .3s; }
.shelf-dots button[aria-current="true"]::after { width: 18px; border-radius: 5px; background: #52654a; }
.shelf-hint { font-size: 9px; color: #73786b; min-width: 140px; text-align: right; }
.shelf-store .store-footer { flex: none; margin: 0 5%; padding: 18px 0; border-top: 1px solid #d5d7cf; display: flex; align-items: center; justify-content: space-between; gap: 18px; font-size: 8px; color: #767b71; }
.store-footer .announcement { color: #53634b; background: transparent; border: 1px solid #bdc6b5; border-radius: 20px; padding: 6px 10px; font-size: 9px; letter-spacing: .05em; white-space: nowrap; }
.shelf-store .store-footer p { display: block; font-size: 8px; margin: 0; line-height: 1.8; }
.shelf-empty { min-height: 360px; text-align: center; padding: 90px 24px; }
.shelf-empty[hidden] { display: none; }
.shelf-empty p { font-family: var(--serif); font-size: 24px; margin-bottom: 30px; }
@media(max-width:700px) {
  .shelf-store .store-header { height: 88px; padding: 0 6%; gap: 12px; }
  .store-header .logo { font-size: 26px; }
  .store-caption { display: none; }
  .shelf-store .saved-label { display: inline; font-size: 9px; }
  .shelf-store .saved-nav { padding: 0 4px; gap: 5px; }
  .store-intro { margin-top: 12px; display: block; width: 86%; }
  .store-intro h1 { font-size: 29px; margin-top: 10px; }
  .store-intro p { font-size: 9px; margin: 6px 0 0; }
  .store-intro p br { display: none; }
  .shelf-page { padding: 14px 6% 58px; }
  .display-shelf { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12%; padding: 0 7%; border-bottom-width: 7px; }
  .display-shelf::after { bottom: -7px; height: 7px; }
  .display-shelf + .display-shelf { margin-top: 62px; }
  .shelf-image, .display-shelf:empty { height: clamp(115px, 18svh, 180px); min-height: 115px; }
  .shelf-image img { transform: translateY(6px); }
  .shelf-label { top: calc(100% + 17px); flex-direction: column; gap: 5px; font-size: 11px; }
  .shelf-label > span > small { margin-right: 6px; }
  .shelf-label small { font-size: 8px; }
  .saved-mark { font-size: 7px; margin-left: 4px; }
  .shelf-navigation { width: 88%; margin: 10px auto 16px; flex-wrap: wrap; gap: 2px; }
  #shelf-count { min-width: 0; font-size: 10px; }
  .shelf-pagination { gap: 6px; }
  .shelf-arrow { width: 34px; height: 34px; }
  .shelf-dots button { width: 18px; }
  .shelf-dots button[aria-current="true"]::after { width: 12px; }
  .shelf-hint { width: 100%; text-align: right; font-size: 8px; }
  .shelf-store .store-footer { margin: 0 6%; padding: 14px 0; flex-wrap: wrap; gap: 9px; }
  .shelf-store .store-footer p { order: 3; width: 100%; font-size: 7px; }
}
@media(prefers-reduced-motion:reduce) {
  .shelf-store *, .shelf-store *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* A stable stage makes the size ratio readable while options change. */
.detail-image.preview-pane { display: flex; flex-direction: column; justify-content: center; padding: 32px 24px 22px; gap: 24px; }
.preview-stage { width: 100%; height: 450px; display: flex; align-items: flex-end; justify-content: center; overflow: hidden; border: 1px solid #cbd1c5; border-radius: 8px; background: #dfe3d8; }
.preview-stage #detail-image { width: 100%; height: 100%; max-height: 450px; object-fit: contain; object-position: center bottom; transform-origin: center bottom; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.preview-caption { width: 100%; text-align: center; }
.preview-caption strong { font-size: 13px; font-weight: 500; letter-spacing: .05em; }
.preview-caption p { max-width: 310px; margin: 10px auto 0; font-size: 10px; color: #697162; line-height: 1.8; min-height: 36px; }
@media(max-width:700px) {
  .detail-image.preview-pane { gap: 14px; padding: 24px 20px 16px; }
  .preview-stage { height: 250px; }
  .preview-stage #detail-image { height: 250px; }
  .preview-caption p { font-size: 9px; min-height: 32px; }
}
@media(prefers-reduced-motion:reduce) { .preview-stage #detail-image { transition: none; } }
.preview-stage [hidden] { display: none !important; }
@media(min-width:701px) {
  .detail-image.preview-pane { align-self: start; position: sticky; top: 0; }
}
#product-dialog > .close { position: sticky; top: 12px; margin: 12px 15px -52px auto; display: block; z-index: 4; }

/* The shelf remains images; only the open detail owns a WebGL viewer. */
.preview-stage { position: relative; }
.preview-stage model-viewer { position: absolute; inset: 0; width: 100%; height: 100%; background: #dfe3d8; --poster-color: #dfe3d8; }
.preview-loading-cover { width:100%; height:100%; background:#dfe3d8; }
.preview-3d-controls { display:flex; flex-wrap:wrap; gap:6px; justify-content:center; }
.preview-3d-controls[hidden] { display:none; }
.preview-3d-controls button { font:inherit; font-size:12px; border:1px solid #b8bcae; border-radius:18px; background:transparent; padding:8px 12px; color:inherit; cursor:pointer; }
.preview-3d-controls button[aria-pressed="true"] { background:#dce4d6; }
.preview-3d-controls button:focus-visible { outline:2px solid #365c42; outline-offset:3px; }
.preview-3d-controls button[aria-expanded="true"] { background:#dce4d6; }
.preview-lighting { flex-basis:100%; min-width:0; padding:16px; margin-top:6px; border:1px solid #cbd1c5; border-radius:8px; background:#e2e7db; text-align:left; font-size:12px; }
.preview-light-intensity { display:grid; grid-template-columns:auto minmax(0,1fr) 42px; align-items:center; gap:12px; }
.preview-light-intensity input { width:100%; margin:0; accent-color:#365c42; cursor:pointer; }
.preview-light-intensity output { text-align:right; font-variant-numeric:tabular-nums; }
.preview-light-directions { display:flex; flex-wrap:wrap; gap:6px; border:0; padding:0; margin:16px 0 12px; min-width:0; }
.preview-light-directions legend { padding:0; margin-bottom:8px; }
.preview-lighting .preview-light-reset { border:0; border-radius:0; padding:4px 0; text-decoration:underline; text-underline-offset:3px; font-size:11px; }
.preview-pane .photo-gallery:empty { display:none; }
@media(min-width:701px) {
  .preview-pane:has(.preview-lighting:not([hidden])) { gap:12px; }
  .preview-pane:has(.preview-lighting:not([hidden])) .preview-stage { height:clamp(210px,30dvh,450px); }
}
