/* MobiLux professional single-product options. Loaded only on product pages. */
body.single-product .product-stage,
body.single-product .product-stage .woocommerce-product-gallery__wrapper,
body.single-product .product-stage .flex-viewport,
body.single-product .product-stage .woocommerce-product-gallery__image,
body.single-product .product-stage .woocommerce-product-gallery__image > a{
  height:var(--mobilux-single-gallery-height,510px)!important;
  min-height:var(--mobilux-single-gallery-height,510px)!important;
}
body.single-product .product-stage .zoom-trigger{top:calc(var(--mobilux-single-gallery-height,510px) - 58px)!important}
body.single-product.mobilux-single-thumbs-off .product-stage .flex-control-thumbs{display:none!important}
body.single-product.mobilux-single-gallery-minimal .product-stage .woocommerce-product-gallery__wrapper,
body.single-product.mobilux-single-gallery-minimal .product-stage .flex-viewport{background:#fff!important;border-color:#eceef4!important;box-shadow:none!important}
body.single-product.mobilux-single-gallery-minimal .product-stage::before,
body.single-product.mobilux-single-gallery-minimal .product-stage::after,
body.single-product.mobilux-single-gallery-minimal .product-stage-glow{display:none!important}
body.single-product.mobilux-single-gallery-framed .product-stage .woocommerce-product-gallery__wrapper,
body.single-product.mobilux-single-gallery-framed .product-stage .flex-viewport{background:#fff!important;border:2px solid color-mix(in srgb,var(--ml-primary,#6f53ff) 16%,#e7e9f2)!important;box-shadow:inset 0 0 0 8px #fafaff,0 16px 42px rgba(32,28,75,.06)!important}
body.single-product.mobilux-single-detail-outline .product-detail-card{box-shadow:none!important;border-color:#dfe3ec!important}
body.single-product.mobilux-single-detail-flat .product-detail-card{box-shadow:none!important;border-color:transparent!important;background:transparent!important;overflow:visible!important}
body.single-product.mobilux-single-detail-flat .product-gallery-wrap{background:#fff;border:1px solid #e9ebf2;border-radius:24px}
body.single-product.mobilux-single-detail-flat .product-info-panel{background:#fff;border:1px solid #e9ebf2;border-radius:24px;margin:0 12px;height:calc(100% - 0px)}
@media(min-width:992px){
  body.single-product.mobilux-single-layout-gallery-end .product-detail-card>.row>.col-xl-6:first-child{order:2}
  body.single-product.mobilux-single-layout-gallery-end .product-detail-card>.row>.product-info-column{order:1}
  body.single-product.mobilux-single-layout-gallery-end .product-gallery-wrap{border-left:0;border-right:1px solid #e9ebf2}
}
body.single-product .mobile-product-buybar{bottom:var(--mobilux-single-buybar-offset,72px)!important}
body.single-product .mobilux-upsells ul.products{display:grid!important;grid-template-columns:repeat(var(--mobilux-upsell-columns,5),minmax(0,1fr))!important;gap:12px!important}
body.single-product .mobilux-related-slider-block.is-grid>ul.products{display:grid!important;grid-template-columns:repeat(var(--mobilux-related-columns,5),minmax(0,1fr))!important;gap:12px!important;overflow:visible!important;scroll-snap-type:none!important;padding-bottom:0!important}
body.single-product .mobilux-related-slider-block.is-grid>ul.products>li.product{width:auto!important;min-width:0!important;margin:0!important}
@media(max-width:1199.98px){
 body.single-product .mobilux-related-slider-block.is-grid>ul.products{grid-template-columns:repeat(min(4,var(--mobilux-related-columns,5)),minmax(0,1fr))!important}
 body.single-product .mobilux-upsells ul.products{grid-template-columns:repeat(min(4,var(--mobilux-upsell-columns,5)),minmax(0,1fr))!important}
}
@media(max-width:991.98px){
 body.single-product .mobilux-related-slider-block.is-grid>ul.products{grid-template-columns:repeat(min(3,var(--mobilux-related-columns,5)),minmax(0,1fr))!important}
 body.single-product .mobilux-related-slider-block.is-grid.columns-2>ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.single-product .mobilux-related-slider-block.is-grid.columns-1>ul.products{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:767.98px){
  body.single-product .product-stage,
  body.single-product .product-stage .woocommerce-product-gallery__wrapper,
  body.single-product .product-stage .flex-viewport,
  body.single-product .product-stage .woocommerce-product-gallery__image,
  body.single-product .product-stage .woocommerce-product-gallery__image > a{
    height:var(--mobilux-single-gallery-mobile-height,370px)!important;
    min-height:var(--mobilux-single-gallery-mobile-height,370px)!important;
  }
  body.single-product .product-stage .zoom-trigger{top:calc(var(--mobilux-single-gallery-mobile-height,370px) - 46px)!important}
  body.single-product .mobilux-related-slider-block.is-grid>ul.products{grid-template-columns:repeat(min(2,var(--mobilux-related-columns,5)),minmax(0,1fr))!important;gap:8px!important;margin:0!important;padding:0!important}
}
@media(max-width:420px){body.single-product .mobilux-related-slider-block.is-grid>ul.products{grid-template-columns:minmax(0,1fr)!important}}
body.single-product .mobilux-single-shipping-info{display:flex;align-items:flex-start;gap:11px;margin:18px 0 20px;padding:14px 16px;border:1px solid #e8ebf3;border-radius:15px;background:linear-gradient(135deg,#fff,#faf9ff)}
body.single-product .mobilux-single-shipping-info>span{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--ml-primary,#6f53ff) 9%,#fff);color:var(--ml-primary,#6f53ff);font-size:17px}
body.single-product .mobilux-single-shipping-info>div{display:grid;gap:3px;min-width:0}
body.single-product .mobilux-single-shipping-info strong{font-size:11px;font-weight:900;color:#252938}
body.single-product .mobilux-single-shipping-info small{font-size:9px;line-height:1.8;color:#7c8498}
body.single-product .service-strip-grid{
  display:grid!important;
  grid-template-columns:repeat(var(--mobilux-service-cols-desktop,4),minmax(0,1fr))!important;
  gap:1px!important;
  background:#e9ebf2!important;
  border:1px solid #e9ebf2!important;
  overflow:hidden;
}
body.single-product .service-strip-grid>.service-strip-item{
  min-width:0;
  background:#fff;
  padding:18px 16px;
  gap:11px;
  align-items:center;
  transition:background .18s ease,transform .18s ease;
}
body.single-product .service-strip-grid>.service-strip-item::after{display:none!important}
body.single-product .service-strip-grid>.service-strip-item:hover{background:#fbfaff}
body.single-product .service-strip-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:13px;
  background:linear-gradient(145deg,#f2efff,#f8f7ff);
  color:var(--ml-primary,#7357ff);
  display:grid;
  place-items:center;
  font-size:19px;
  box-shadow:inset 0 0 0 1px rgba(115,87,255,.06);
}
body.single-product .service-strip-copy{min-width:0;display:block}
body.single-product .service-strip-copy strong{display:block;margin:0 0 3px;font-size:12px;font-weight:900;color:#222838;white-space:normal;overflow-wrap:anywhere}
body.single-product .service-strip-copy small{display:block;font-size:9px;line-height:1.7;color:#8a91a4;white-space:normal;overflow-wrap:anywhere}
@media(max-width:1199.98px){
  body.single-product .service-strip-grid{grid-template-columns:repeat(var(--mobilux-service-cols-tablet,4),minmax(0,1fr))!important}
  body.single-product .service-strip-copy small{display:block}
}
@media(max-width:767.98px){
  body.single-product .service-strip-grid{grid-template-columns:repeat(var(--mobilux-service-cols-mobile,2),minmax(0,1fr))!important;border-radius:16px}
  body.single-product .service-strip-grid>.service-strip-item{padding:13px 10px;gap:8px}
  body.single-product .service-strip-icon{width:35px;height:35px;flex-basis:35px;border-radius:11px;font-size:15px}
  body.single-product .service-strip-copy strong{font-size:9px;line-height:1.5}
  body.single-product .service-strip-copy small{display:none}
}
@media(max-width:360px){
  body.single-product .service-strip-grid>.service-strip-item{padding-inline:8px}
  body.single-product .service-strip-icon{width:32px;height:32px;flex-basis:32px}
}
@media(max-width:991.98px){body.single-product .mobilux-upsells ul.products{grid-template-columns:repeat(min(3,var(--mobilux-upsell-columns,5)),minmax(0,1fr))!important}}
@media(max-width:767.98px){body.single-product .mobilux-upsells ul.products{grid-template-columns:repeat(min(2,var(--mobilux-upsell-columns,5)),minmax(0,1fr))!important;gap:8px!important}}
@media(max-width:420px){body.single-product .mobilux-upsells ul.products{grid-template-columns:minmax(0,1fr)!important}}


/* Product strengths / weaknesses. */
body.single-product .mobilux-product-pros-cons{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;margin:4px 0 0}.mobilux-procon-front-card{position:relative;padding:18px 18px 16px;border:1px solid #e8eaf1;border-radius:19px;background:#fff;overflow:hidden;box-shadow:0 10px 30px rgba(29,35,63,.045)}.mobilux-procon-front-card:only-child{grid-column:1/-1}.mobilux-procon-front-card::before{content:"";position:absolute;inset:0 0 auto;height:3px}.mobilux-procon-front-card.is-strength::before{background:linear-gradient(90deg,#18a86a,#71d9ae)}.mobilux-procon-front-card.is-weakness::before{background:linear-gradient(90deg,#de5871,#ff9cac)}.mobilux-procon-front-card header{display:flex;align-items:center;gap:11px;margin-bottom:13px}.mobilux-procon-front-card header>span{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:13px;font-size:18px}.mobilux-procon-front-card.is-strength header>span{background:#edf9f3;color:#168c5c}.mobilux-procon-front-card.is-weakness header>span{background:#fff0f3;color:#d84d68}.mobilux-procon-front-card header small{display:block;font-size:9px;font-weight:800;margin-bottom:2px}.mobilux-procon-front-card.is-strength header small{color:#168c5c}.mobilux-procon-front-card.is-weakness header small{color:#d84d68}.mobilux-procon-front-card header h3{margin:0!important;font-size:15px!important;font-weight:900!important;color:#202534!important}.mobilux-procon-front-card ul{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:8px}.mobilux-procon-front-card li{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:10px 11px;border-radius:12px;background:#fafbfc;color:#4f576a;font-size:12px;line-height:1.85}.mobilux-procon-front-card li i{flex:0 0 auto;margin-top:3px;font-size:13px}.mobilux-procon-front-card.is-strength li i{color:#1da86e}.mobilux-procon-front-card.is-weakness li i{color:#dc5971}.mobilux-procon-front-card li span{min-width:0}.mobilux-product-pros-cons + .feature-grid{margin-top:0}
@media(max-width:767.98px){body.single-product .mobilux-product-pros-cons{grid-template-columns:minmax(0,1fr);gap:9px}.mobilux-procon-front-card{padding:14px;border-radius:16px}.mobilux-procon-front-card header>span{width:38px;height:38px;flex-basis:38px;border-radius:11px}.mobilux-procon-front-card header h3{font-size:13px!important}.mobilux-procon-front-card li{font-size:10px;padding:9px 10px}}

body.single-product .product-overview .overview-content,body.single-product .product-overview .overview-copy,body.single-product .product-overview .mobilux-product-description{display:block!important;width:100%!important;max-width:100%!important;min-width:0;box-sizing:border-box}body.single-product .product-overview .mobilux-product-description>*{max-width:100%}body.single-product .product-overview .overview-content>.mobilux-product-pros-cons,body.single-product .product-overview .overview-content>.feature-grid{margin-top:24px}

@media(max-width:767.98px){body.single-product .mobilux-single-shipping-info{margin:14px 0 18px;padding:12px 14px}}

/* === MobiLux v1.0.11 — mobile gallery flow + product title typography ===
 * The gallery stage previously inherited a fixed height while the thumbnail
 * carousel lived inside the same stage. On narrow screens the thumbnails
 * therefore overflowed the stage and visually covered the title/summary below.
 * Keep only the media viewport fixed; let the outer stage grow with thumbnails.
 */
@media (max-width: 991.98px) {
  body.single-product .product-stage {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  body.single-product .product-stage > .woocommerce-product-gallery,
  body.single-product .product-stage .woocommerce-product-gallery {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
  }
  body.single-product .product-stage .mobilux-gallery-thumbs-shell {
    position: relative !important;
    inset: auto !important;
    clear: both;
    z-index: 5;
    margin-top: 10px !important;
    margin-bottom: 2px !important;
  }
  body.single-product .product-gallery-wrap {
    padding-bottom: 14px !important;
  }
  body.single-product .product-info-column {
    position: relative;
    z-index: 1;
  }
  body.single-product .product-info-panel {
    padding-top: 20px !important;
  }
  body.single-product .product-info-panel h1.product_title,
  body.single-product .product-info-panel .product_title.entry-title {
    max-width: 100%;
    margin: 0 0 9px !important;
    font-size: clamp(18px, 3.1vw, 23px) !important;
    line-height: 1.62 !important;
    font-weight: 900 !important;
    letter-spacing: -.18px;
    overflow-wrap: anywhere;
    word-break: normal;
    text-wrap: balance;
  }
}

@media (max-width: 767.98px) {
  body.single-product .product-gallery-wrap {
    padding: 10px 10px 16px !important;
  }
  body.single-product .product-stage .mobilux-gallery-thumbs-shell {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
  }
  body.single-product .product-info-panel {
    padding: 18px 15px 20px !important;
  }
  body.single-product .product-info-panel h1.product_title,
  body.single-product .product-info-panel .product_title.entry-title {
    font-size: clamp(17px, 4.45vw, 20px) !important;
    line-height: 1.58 !important;
    margin-bottom: 8px !important;
  }
}

@media (max-width: 420px) {
  body.single-product .product-info-panel h1.product_title,
  body.single-product .product-info-panel .product_title.entry-title {
    font-size: 17px !important;
    line-height: 1.58 !important;
    letter-spacing: -.12px;
  }
}

@media (max-width: 360px) {
  body.single-product .product-info-panel h1.product_title,
  body.single-product .product-info-panel .product_title.entry-title {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}

/* v1.5.0 — Commercial Single Product Builder */
body.single-product .product-stage .woocommerce-product-gallery__wrapper,
body.single-product .product-stage .flex-viewport,
body.single-product .product-stage .woocommerce-product-gallery__image,
body.single-product .product-stage .woocommerce-product-gallery__image>a{
  border-radius:var(--mobilux-single-gallery-radius,22px)!important;
  background:var(--mobilux-single-gallery-bg,#fff)!important;
}
body.single-product .product-stage .woocommerce-product-gallery__image img{
  object-fit:contain!important;
}
body.single-product.mobilux-single-image-fit-cover .product-stage .woocommerce-product-gallery__image img{
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;
}
@media(min-width:992px){
  body.single-product.mobilux-single-sticky-gallery .product-gallery-wrap{position:sticky;top:var(--mobilux-single-sticky-top,112px);align-self:flex-start;z-index:4}
  body.single-product.mobilux-single-sticky-summary .product-info-panel{position:sticky;top:var(--mobilux-single-sticky-top,112px);align-self:flex-start;z-index:3}
  body.single-product.mobilux-single-sticky-gallery .product-gallery-column,
  body.single-product.mobilux-single-sticky-summary .product-info-column{align-self:stretch}
  body.single-product.mobilux-single-thumbs-start .product-stage .woocommerce-product-gallery,
  body.single-product.mobilux-single-thumbs-end .product-stage .woocommerce-product-gallery{padding-inline-start:82px}
  body.single-product.mobilux-single-thumbs-end .product-stage .woocommerce-product-gallery{padding-inline-start:0;padding-inline-end:82px}
  body.single-product.mobilux-single-thumbs-start .mobilux-gallery-thumbs-shell,
  body.single-product.mobilux-single-thumbs-end .mobilux-gallery-thumbs-shell{position:absolute;inset-block:14px;inset-inline-start:10px;width:64px;z-index:7;display:flex;flex-direction:column;align-items:center;gap:7px}
  body.single-product.mobilux-single-thumbs-end .mobilux-gallery-thumbs-shell{inset-inline-start:auto;inset-inline-end:10px}
  body.single-product.mobilux-single-thumbs-start .mobilux-gallery-thumbs,
  body.single-product.mobilux-single-thumbs-end .mobilux-gallery-thumbs{display:flex!important;flex-direction:column!important;width:64px!important;max-height:calc(var(--mobilux-single-gallery-height,510px) - 86px);overflow-y:auto!important;overflow-x:hidden!important;scroll-snap-type:y proximity!important;gap:7px!important;padding:2px!important}
  body.single-product.mobilux-single-thumbs-start .mobilux-gallery-thumbs li,
  body.single-product.mobilux-single-thumbs-end .mobilux-gallery-thumbs li{width:58px!important;min-width:58px!important;flex:0 0 58px!important;margin:0!important;scroll-snap-align:start}
  body.single-product.mobilux-single-thumbs-start .mobilux-gallery-thumbs img,
  body.single-product.mobilux-single-thumbs-end .mobilux-gallery-thumbs img{width:58px!important;height:58px!important;object-fit:contain!important}
  body.single-product.mobilux-single-thumbs-start .mobilux-gallery-thumb-nav,
  body.single-product.mobilux-single-thumbs-end .mobilux-gallery-thumb-nav{width:32px!important;height:32px!important;min-height:32px!important;transform:rotate(90deg)}
}
body.single-product .mobilux-size-guide-entry{margin:12px 0 0}
body.single-product .mobilux-size-guide-trigger{width:100%;min-height:44px;padding:10px 13px;border:1px solid #e5e8f0;border-radius:13px;background:#fff;display:flex;align-items:center;gap:9px;color:#4d5568;font:inherit;font-size:11px;font-weight:900;cursor:pointer;transition:.18s}
body.single-product .mobilux-size-guide-trigger>i:first-child{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--ml-primary,#7357ff) 9%,#fff);color:var(--ml-primary,#7357ff);font-size:14px}
body.single-product .mobilux-size-guide-trigger>span{flex:1;text-align:right}
body.single-product .mobilux-size-guide-trigger:hover{border-color:color-mix(in srgb,var(--ml-primary,#7357ff) 30%,#e5e8f0);color:var(--ml-primary,#7357ff);transform:translateY(-1px)}
.mobilux-size-guide-modal[hidden]{display:none!important}.mobilux-size-guide-modal{position:fixed;inset:0;z-index:100070;display:grid;place-items:center;padding:20px;direction:rtl}.mobilux-size-guide-modal__backdrop{position:absolute;inset:0;background:rgba(15,20,34,.58);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.mobilux-size-guide-modal__dialog{position:relative;z-index:2;width:min(760px,94vw);max-height:88vh;overflow:auto;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:#fff;box-shadow:0 30px 100px rgba(17,23,42,.28);padding:24px;outline:0}.mobilux-size-guide-modal__close{position:absolute;top:14px;left:14px;width:40px;height:40px;border:1px solid #e7e9ef;border-radius:12px;background:#fff;color:#626a7b;display:grid;place-items:center;cursor:pointer}.mobilux-size-guide-modal__dialog>header{display:flex;align-items:center;gap:12px;padding-inline-start:48px;margin-bottom:18px}.mobilux-size-guide-modal__dialog>header>span{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:color-mix(in srgb,var(--ml-primary,#7357ff) 10%,#fff);color:var(--ml-primary,#7357ff);font-size:20px}.mobilux-size-guide-modal__dialog header small{display:block;color:#9a9faf;font-size:9px;font-weight:800}.mobilux-size-guide-modal__dialog header h2{margin:2px 0 0;font-size:20px;color:#202636}.mobilux-size-guide-modal__content{color:#5e6679;font-size:12px;line-height:2}.mobilux-size-guide-modal__content table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #e6e9f0;border-radius:14px}.mobilux-size-guide-modal__content th,.mobilux-size-guide-modal__content td{padding:10px;border-bottom:1px solid #eceef3;border-inline-end:1px solid #eceef3;text-align:center}.mobilux-size-guide-modal__content th{background:#f8f8fc;color:#3c4354;font-weight:900}
html.mobilux-size-guide-open,html.mobilux-size-guide-open body{overflow:hidden!important}
body.single-product.mobilux-single-buybar-glass .mobile-product-buybar{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(225,228,238,.86)!important;box-shadow:0 -10px 35px rgba(24,30,54,.1)!important}
body.single-product.mobilux-single-buybar-solid .mobile-product-buybar{background:#fff!important;border-top:1px solid #e6e9f0!important;box-shadow:0 -8px 24px rgba(24,30,54,.08)!important}
body.single-product.mobilux-single-buybar-minimal .mobile-product-buybar{background:#fff!important;border:0!important;box-shadow:none!important}
body.single-product .mobile-product-buybar:has(>button:first-child){grid-template-columns:1fr!important}
@media(max-width:767.98px){.mobilux-size-guide-modal{place-items:end center;padding:0}.mobilux-size-guide-modal__dialog{width:100%;max-height:88dvh;border-radius:24px 24px 0 0;padding:20px 14px 24px}.mobilux-size-guide-modal__dialog header h2{font-size:17px}.mobilux-size-guide-modal__content{font-size:11px}.mobilux-size-guide-modal__content{overflow-x:auto}}
