/* Saved native Uni CPO image choices. No generated/replacement DOM is required. */
body.mdb-native-cpo .product #uni_cpo_options .mdb-native-range,
body.mdb-specialty-curtain .product #uni_cpo_options .mdb-native-range { display:flex; flex-wrap:wrap; gap:12px; }
body .product #uni_cpo_options .mdb-native-range > .uni-cpo-module-radio-label { flex:0 0 100%; }
body .product #uni_cpo_options .mdb-native-range > label.uni-cpo-option-label { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; display:flex!important; flex-direction:column; height:auto!important; overflow:hidden; box-sizing:border-box; border:1px solid #bcc7c8!important; }
body .product #uni_cpo_options .mdb-native-range.mdb-native-range .uni-cpo-option-label__image-wrap { display:block; flex:0 0 auto!important; width:100%; height:auto!important; min-height:0!important; padding:0!important; }
body .product #uni_cpo_options .mdb-native-range.mdb-native-range .uni-cpo-option-label__image-wrap img { display:block; width:100%!important; height:76px!important; max-height:none!important; max-width:none!important; object-fit:fill!important; aspect-ratio:auto!important; padding:0!important; margin:0; }
body .product #uni_cpo_options .mdb-native-range .uni-cpo-option-label__description { display:block; padding:0 14px 12px; font-size:12px; font-weight:400; }

/* One continuous native label boundary encloses the strip, title and count. */
body .product #uni_cpo_options .mdb-native-range > input:checked + label.uni-cpo-option-label { border:1px solid #444e60!important; outline:1px solid #444e60; outline-offset:-1px; box-shadow:none!important; }
body .product #uni_cpo_options .mdb-native-range .uni-cpo-option-label__description { flex:0 0 auto; margin:0; padding:10px 14px 12px; }

/* The native name and saved colour count share one caption row. The image
   wrapper keeps its native data-tip caption; no content is moved or rewritten. */
body .product #uni_cpo_options .mdb-native-range > label.uni-cpo-option-label { display:grid!important; grid-template-columns:minmax(0,1fr) auto; align-items:center; }
body .product #uni_cpo_options .mdb-native-range.mdb-native-range .uni-cpo-option-label__image-wrap { display:contents!important; }
body .product #uni_cpo_options .mdb-native-range.mdb-native-range .uni-cpo-option-label__image-wrap img { grid-column:1 / -1; grid-row:1; }
body .product #uni_cpo_options .mdb-native-range.mdb-native-range .uni-cpo-option-label__image-wrap::after { grid-column:1; grid-row:2; width:auto!important; min-height:0!important; padding:12px 14px!important; text-align:left!important; line-height:1.5; }
body .product #uni_cpo_options .mdb-native-range .uni-cpo-option-label__description { grid-column:2; grid-row:2; padding:12px 14px 12px 8px; text-align:right; white-space:nowrap; line-height:1.5; }

/* Saved classes belong only to fabric/material colours and Roller fabric type.
   Keep the native field/label display rules: conditional and selective choices
   remain authoritative. Inline card widths allow for native markup whitespace. */
@media (max-width: 700px) {
 body.mdb-native-cpo .product #uni_cpo_options .uni-module-radio:is(.mdb-native-colour-swatch,.mdb-native-fabric-type):not(.mdb-native-range):not(.mdb-range-module) > label.uni-cpo-option-label {
  box-sizing: border-box; width: calc(33.333% - .65rem) !important; min-width: 0; max-width: none !important;
  margin: .25rem .35rem .25rem 0 !important; vertical-align: top;
 }
 body.mdb-native-cpo .product #uni_cpo_options .uni-module-radio-image-mode:is(.mdb-native-colour-swatch,.mdb-native-fabric-type):not(.mdb-native-range):not(.mdb-range-module) > label.uni-cpo-option-label { padding: 0 !important; }
 /* Curtain image choices already use flex with two 12px column gaps.
    Keep the native flex/hidden states and avoid adding inline-card margins. */
 body.mdb-native-cpo:is(.mdb-specialty-curtain,.mdb-imported-curtain) .product #uni_cpo_options .mdb-curtain-option.uni-module-radio-image-mode:is(.mdb-native-colour-swatch,.mdb-native-fabric-type):not(.mdb-native-range):not(.mdb-range-module) > label.uni-cpo-option-label { width: calc((100% - 24px)/3) !important; margin: 0 !important; }
 /* Text-mode fabric choices already use the native 16px flex gutter. */
 body.mdb-native-cpo .product #uni_cpo_options .uni-module-radio-text-mode:is(.mdb-native-colour-swatch,.mdb-native-fabric-type):not(.mdb-native-range):not(.mdb-range-module) > label.uni-cpo-option-label { width: calc((100% - 32px)/3) !important; margin: 0 !important; }
 body.mdb-native-cpo .product #uni_cpo_options .uni-module-radio:is(.mdb-native-colour-swatch,.mdb-native-fabric-type):not(.mdb-native-range):not(.mdb-range-module) .uni-cpo-option-label__image-wrap {
  width: 100% !important; height: auto !important; min-height: 0 !important; padding: 0 !important; box-sizing: border-box;
 }
 body.mdb-native-cpo .product #uni_cpo_options .uni-module-radio:is(.mdb-native-colour-swatch,.mdb-native-fabric-type):not(.mdb-native-range):not(.mdb-range-module) img.uni-cpo-option-label__image {
  width: 100% !important; max-width: 150px !important; height: auto !important; max-height: none !important;
  aspect-ratio: auto !important; object-fit: contain !important; margin: 0 auto !important; padding: 0 !important;
 }
 body.mdb-native-cpo .product #uni_cpo_options .uni-module-radio:is(.mdb-native-colour-swatch,.mdb-native-fabric-type):not(.mdb-native-range):not(.mdb-range-module) .uni-cpo-option-label__image-wrap::after {
  width: 100% !important; box-sizing: border-box; white-space: normal; overflow-wrap: anywhere;
 }
}
