/* Fabric simulations are ordinary gallery slides; a small badge tells them apart from product photos. */
.balu-simulation-slide { position: relative; }
.balu-simulation-badge { position: absolute; left: 12px; bottom: 12px; padding: 4px 10px; border-radius: 999px; background: rgba(57, 55, 48, .82); color: #fff; font-size: 12px; line-height: 1.5; pointer-events: none; }
.thumbnails .balu-simulation-thumb { position: relative; }
.thumbnails .balu-simulation-thumb::after { content: "Simulação"; position: absolute; left: 3px; right: 3px; bottom: 3px; overflow: hidden; border-radius: 6px; background: rgba(57, 55, 48, .82); color: #fff; font-size: 8px; line-height: 1.6; text-align: center; white-space: nowrap; pointer-events: none; }
/* One-line shopper introduction; the numbered region titles carry the steps. */
.balu-configurator .balu-configurator-intro { margin: 0 0 14px; color: #625e58; font-size: 13px; line-height: 1.5; text-align: left; }
.balu-configurator .balu-configurator-intro strong { color: #393730; font-weight: 600; }
.balu-configurator .balu-step-number { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-right: 7px; border-radius: 50%; background: #393730; color: #fff; font-size: 11px; font-weight: 600; line-height: 1; vertical-align: 1px; }
/* Desktop: both regions side by side, title and chosen fabric on one line, swatches at their original 82px. */
@media (min-width: 992px) {
 .balu-configurator-form .balu-configurator[data-mode="two"] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 20px; }
 .balu-configurator-form .balu-configurator[data-mode="two"] > :not(.balu-fabric-region) { grid-column: 1 / -1; }
 .balu-configurator-form .balu-configurator .balu-fabric-region { min-width: 0; margin: 0 0 14px; }
 .balu-configurator-form .balu-configurator .balu-fabric-region legend { float: left; margin: 0 8px 8px 0; font-size: 14px; line-height: 22px; }
 .balu-configurator-form .balu-configurator .balu-region-selection { display: inline-block; min-height: 0; margin: 0 0 8px; font-size: 13px; line-height: 22px; }
 .balu-configurator-form .balu-configurator .balu-fabric-grid { clear: both; grid-template-columns: repeat(auto-fill, 82px); gap: 5px; max-width: none; }
 .balu-configurator-form .balu-configurator .balu-configuration-summary { margin: 0 0 6px; padding-top: 12px; }
}
/* "Always two regions" mode keeps a hidden mode radio; theme radio styles would otherwise show it. */
.balu-configurator input[name="balu_mode"][hidden] { display: none !important; }
/* Mobile: full-page loader while a fabric simulation loads (configurator.js). */
.balu-page-loading { position: fixed; inset: 0; z-index: 99999; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; background: rgba(255, 255, 255, .88); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); color: #393730; font-size: 14px; opacity: 0; transition: opacity .25s ease; }
.balu-page-loading.is-visible { opacity: 1; }
.balu-page-loading[hidden] { display: none; }
@media (min-width: 992px) { .balu-page-loading { display: none !important; } }
@media (max-width: 991px) { body.balu-configurable-product .images .balu-preview-loading { visibility: hidden; } }
