/* Only configurable product pages: ordinary CE product widgets are untouched. */
.fmce-configured .ce-product-price-regular,.fmce-configured .ce-product-badge-sale,.fmce-configured .ce-product-price-unit,.fmce-configured .ce-product-price-pack{display:none!important}
.fm-product-layout:has(.fmce-configurator) .elementor-widget-product-price{visibility:hidden}
.fm-product-layout.fmce-price-ready .elementor-widget-product-price{visibility:visible}
.fmce-configured .elementor-widget-product-customization{display:none!important}
.fmce-native-name #configurator_block>h1,.fmce-native-description #configurator_block>[itemprop="description"]{display:none!important}
.fmce-native-price #configurator_block .dl-final-price{display:none!important}
.fmce-native-quantity #quantity-configurator,.fmce-native-quantity #quantity-configurator-label{display:none!important}
.fmce-native-purchase #form_add_configurator_to_cart>.configurator-add{display:none!important}
.fmce-native-purchase #form_add_configurator_to_cart>.configurator-qty:has(#quantity-configurator){margin:0}
.fmce-configured .elementor-widget-product-add-to-cart .fmce-button-disabled{opacity:.55;cursor:not-allowed}
.fmce-no-combinations .elementor-widget-product-variants{display:none!important}

/* Verified Classic/Flexbox label correction. */
#configurator_block .option_input .input-group-addon{flex:0 0 auto;width:auto;white-space:nowrap}
#configurator_block .option_input .input-group>.form-control{flex:1 1 0;width:0;min-width:0}

/* No price card or tax label before complete measurements and a positive current calculation. */
.fmce-configured:not(.fmce-price-ready) .elementor-widget-product-price{display:none!important}

#configurator_preview_buttons>.fmce-price-in-summary{width:100%;margin:0 0 14px;}

/* Product layout for phones. Only the top-level columns become full width. */
@media (max-width:767px){
 .fm-product-layout,.fm-product-details{padding:14px 10px!important;}
 .fm-product-layout>.elementor-container,.fm-product-details>.elementor-container{max-width:100%;min-width:0;}
 .fm-product-layout>.elementor-container>.elementor-row{display:flex;flex-wrap:wrap;}
 .fm-product-layout>.elementor-container>.elementor-row>.elementor-top-column{width:100%!important;max-width:100%;flex-basis:100%;}
 .fm-product-layout>.elementor-container>.elementor-row>.elementor-top-column>.elementor-column-wrap{padding:8px!important;}
 .fm-product-layout .elementor-widget-product-images{width:100%;max-width:380px;margin-left:auto;margin-right:auto;}
 .fm-product-layout .elementor-widget-product-images .elementor-main-swiper img{max-height:360px;object-fit:contain;}
 .fm-product-layout .elementor-widget-product-name .elementor-heading-title{font-size:24px!important;line-height:1.25!important;overflow-wrap:anywhere;}
 .fm-product-layout .elementor-widget-product-description-short p{font-size:15px;line-height:1.5;}
 .fm-product-layout #configurator_block{padding:14px 10px!important;}
 .fm-product-layout #configurator_block .step_group{padding-left:0;padding-bottom:14px;margin-bottom:18px;}
 .fm-product-layout #configurator_block .step_group>.row{margin-left:0;margin-right:0;}
 .fm-product-layout #configurator_block .step_group>.row>.col-xs-12{padding-left:0;padding-right:0;}
 .fm-product-layout #configurator_block .step_options>.row{margin-left:0;margin-right:0;}
 .fm-product-layout #configurator_block .option_input{width:100%!important;max-width:100%;flex:0 0 100%;padding:0 0 12px;}
 .fm-product-layout #configurator_block .option_input .input-group{display:flex;flex-wrap:nowrap;min-height:48px;}
 .fm-product-layout #configurator_block .option_input .input-group-addon{padding:12px 10px;font-size:15px;}
 .fm-product-layout #configurator_block .option_input input.form-control{min-width:0;min-height:48px;font-size:16px;}
 .fm-product-layout #configurator_block .option_input small{display:block;font-size:12px;line-height:1.4;margin-top:4px;}
 .fm-product-layout #configurator_block .option_block.colortexture{width:calc(33.333% - 8px);max-width:110px;min-width:0;margin-right:8px;margin-bottom:10px;}
 .fm-product-layout #configurator_block .option_block.colortexture .option_block_content{width:100%;height:auto;aspect-ratio:1;}
 .fm-product-layout #configurator_block .option_block.colortexture .option_img{width:100%;height:100%;aspect-ratio:1;box-sizing:border-box;}
 .fm-product-layout #configurator_block .option_block.colortexture img{width:100%;height:100%;object-fit:cover;}
 .fm-product-layout #configurator_block .option_block.custom{width:calc(50% - 8px);min-width:0;min-height:0;margin-right:8px;margin-bottom:12px;}
 .fm-product-layout #configurator_block .option_block.custom .option_block_content{width:100%;height:auto;}
 .fm-product-layout #configurator_block .option_block.custom .option_img{width:100%;}
 .fm-product-layout #configurator_block .option_block.custom .option_img img{width:100%;height:auto;max-height:170px;object-fit:contain;}
 .fm-product-layout #configurator_preview_container,.fm-product-layout #configurator_preview{position:static!important;float:none!important;left:auto!important;top:auto!important;width:100%!important;max-width:100%;box-sizing:border-box;}
 .fm-product-layout #configurator_preview{padding:14px!important;z-index:auto;}
 .fm-product-layout #configurator_preview>.row{margin:0;}
 .fm-product-layout #configurator_preview>.row>.col-lg-6{width:100%;max-width:100%;flex:0 0 100%;padding:0;}
 .fm-product-layout #configurator_preview_buttons{margin-top:14px;}
 .fm-product-layout #configurator_preview .ce-product-prices{max-width:100%;box-sizing:border-box;}
 .fm-product-layout .elementor-widget-product-add-to-cart .elementor-button{max-width:100%;font-size:17px;padding:16px 18px;white-space:normal;}
 .fm-product-details .nav-tabs{display:flex;flex-wrap:wrap;}
 .fm-product-details .nav-tabs .nav-link{font-size:15px;padding:10px;white-space:normal;}
 .fm-product-details .tab-content{overflow-wrap:anywhere;}
}

/* Native purchase controls in the summary, public configured products only. */
#configurator_preview_buttons > .fmce-control-in-summary {
  width:100%; max-width:100%; margin:0 0 12px!important;
  text-align:left;
}
#configurator_preview_buttons > .fmce-control-in-summary .elementor-widget-container {
  margin:0!important; padding:0!important;
}
#configurator_preview_buttons > .elementor-widget-product-quantity .ce-product-quantity {
  margin:0;
}
#configurator_preview_buttons > .elementor-widget-product-add-to-cart a.elementor-button {
  max-width:100%; box-sizing:border-box; white-space:normal;
}
@media(min-width:768px) {
  #configurator_preview > .row { display:flex; flex-wrap:wrap; }
  #configurator_preview > .row > .col-lg-6 { flex:0 0 50%; max-width:50%; min-width:0; }
}

/* Align the native purchase widgets on one center line. */
#configurator_preview_buttons > .fmce-price-in-summary,
#configurator_preview_buttons > .fmce-control-in-summary {
 text-align:center!important;
}
#configurator_preview_buttons > .fmce-price-in-summary .elementor-widget-container,
#configurator_preview_buttons > .fmce-control-in-summary .elementor-widget-container {
 display:flex; flex-direction:column; align-items:center; width:100%;
}
#configurator_preview_buttons .fmce-total-label {
 font-size:13px; line-height:1.4; font-weight:500; color:#54645b; margin-bottom:4px;
}
#configurator_preview_buttons .fmce-total-label[hidden] { display:none; }
