/* Owned extensions: bd-* never redefines Webflow layout or utility classes. */
#belgravia-site .bd-form-message { padding: 12px; margin-top: 12px; background: #fff5f7; color: #8d1537; font: inherit; font-size: 14px; line-height: 1.5; }
#belgravia-site [data-bd-heading-copy] {
  font-family: Montserrat, sans-serif;
}


/* Series page: the configurations list of the door card now holds every model and colour of the series. */
#belgravia-site .product-modification-list[data-bd-series] { flex-wrap: wrap; row-gap: 10px; }
#belgravia-site .product-modification-link[data-model]:hover { border-color: #c9c9c9; }
#belgravia-site .product-modification-link.is-current { border-color: #0a0a0a; }
/* Photo selector (series without configurator layers): model groups side by side, wrapping; a group with
   many colours takes the full row and wraps its own thumbnails. */
#belgravia-site [data-bd-series-groups] { flex-direction: row; flex-wrap: wrap; gap: 18px 22px; margin-right: 0; margin-bottom: 12px; align-items: flex-start; }
#belgravia-site [data-bd-series-groups] .bd-series-group { display: flex; flex-direction: column; gap: 8px; max-width: 100%; min-width: 0; }
#belgravia-site [data-bd-series-groups] .bd-series-group > .subtitle-extra-small { margin: 0; font-size: 12px; font-weight: 500; color: var(--dim-grey, #666565); }
#belgravia-site [data-bd-series-groups] .product-modification-link { display: block; width: 60px; height: 148px; }
#belgravia-site [data-bd-series-groups] .product-modification-img { width: 100%; height: 100%; object-fit: contain; }

/* Series configurator: stacked leaf + frame layers inside the existing product image wrapper. */
#belgravia-site .main-product-img-wrapper.is-layered > a.w-lightbox,
#belgravia-site .main-product-img-wrapper.is-layered > img.product-img { display: none; }
#belgravia-site .main-product-img-wrapper:not(.is-layered) > .bd-door-stage { display: none; }
#belgravia-site .bd-door-stage { position: relative; width: 100%; max-width: 360px; margin: 0 auto; aspect-ratio: 1200 / 2350; }
#belgravia-site .bd-door-stage img { position: absolute; max-width: none; display: block; }
#belgravia-site .bd-cfg { display: flex; flex-direction: column; gap: 22px; width: 100%; }
#belgravia-site .bd-cfg-row[hidden] { display: none; }
#belgravia-site .bd-cfg-label { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 10px; }
#belgravia-site .bd-cfg-label .subtitle-extra-small { margin: 0; }
#belgravia-site .bd-cfg-label .bd-cfg-value { color: var(--dim-grey, #666565); font-weight: 400; text-align: right; }
#belgravia-site .bd-cfg-models { flex-wrap: wrap; row-gap: 8px; }
#belgravia-site .bd-cfg-models .product-mofification-item { display: flex; flex-direction: column; align-items: center; }
#belgravia-site .bd-cfg-cap { font-size: 11px; color: var(--dim-grey, #666565); margin-top: 4px; }
#belgravia-site .product-modification-link.is-current { border-color: #0a0a0a; }
#belgravia-site .bd-swatches, #belgravia-site .bd-opts { display: flex; flex-wrap: wrap; gap: 8px; }
#belgravia-site .bd-swatch { width: 30px; height: 30px; border-radius: 50%; border: 1px solid #c9c9c9; background: var(--sw, #fff); padding: 0; cursor: pointer; outline-offset: 3px; }
#belgravia-site .bd-swatch.is-current { outline: 1px dashed #0a0a0a; }
#belgravia-site .bd-opt { border: 1px solid #c9c9c9; border-radius: 1005px; background: #fff; color: #0a0a0a; padding: 7px 14px; font: 500 12px/1.2 Montserrat, sans-serif; cursor: pointer; }
#belgravia-site .bd-opt:hover { border-color: #0a0a0a; }
#belgravia-site .bd-opt.is-current { background: #0a0a0a; border-color: #0a0a0a; color: #fff; }
#belgravia-site .bd-opt:disabled, #belgravia-site .bd-swatch:disabled { opacity: .35; cursor: default; }
#belgravia-site .bd-cfg-note { margin: 0; font-size: 12px; color: var(--dim-grey, #666565); }
#belgravia-site .bd-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 10px; }
#belgravia-site .bd-thumb { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 0; border: 0; background: none; cursor: pointer; font: 500 11px/1.25 Montserrat, sans-serif; color: var(--dim-grey, #666565); text-align: center; }
#belgravia-site .bd-thumb img { width: 100%; aspect-ratio: 1; object-fit: cover; border: 1px dashed transparent; background: #f7f7f7; transition: border-color .2s; }
#belgravia-site .bd-thumb:hover img { border-color: #c9c9c9; }
#belgravia-site .bd-thumb.is-current img { border-color: #0a0a0a; }
#belgravia-site .bd-thumb.is-current { color: #0a0a0a; }
#belgravia-site .bd-thumb:disabled { opacity: .35; cursor: default; }
#belgravia-site .bd-cfg-extra { border-top: 1px solid #ececec; padding-top: 18px; }
#belgravia-site .bd-extras { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 12px; }
#belgravia-site .bd-extra { display: flex; flex-direction: column; gap: 6px; text-decoration: none; font: 500 11px/1.3 Montserrat, sans-serif; color: var(--dim-grey, #666565); }
#belgravia-site .bd-extra img { width: 100%; aspect-ratio: 60 / 148; object-fit: contain; border: 1px dashed transparent; transition: border-color .2s; }
#belgravia-site .bd-extra:hover img { border-color: #c9c9c9; }
#belgravia-site .bd-extra.is-current img { border-color: #0a0a0a; }
#belgravia-site .bd-extra.is-current { color: #0a0a0a; }
/* Model thumbnails: one fixed box, so leaves and catalogue photos line up at the same size. */
#belgravia-site .bd-cfg-models .product-modification-link { display: block; width: 60px; height: 148px; }
#belgravia-site .bd-cfg-models .product-modification-img { width: 100%; height: 100%; object-fit: contain; }
#belgravia-site .bd-cfg-models .is-unavailable { opacity: .45; }
#belgravia-site .bd-door-stage img[hidden] { display: none; }
