/* Functional baseline. Theme Foundation may refine colours and spacing. */
.muqpro-service-form{display:grid;gap:12px;margin:16px 0}
.muqpro-service-field{display:grid;gap:6px}
.muqpro-service-field input,.muqpro-service-field select{width:100%;box-sizing:border-box}

/* Quantity on the first Product Detail stage. */
.muqpro-detail-quantity{display:grid;grid-template-columns:auto minmax(90px,140px);align-items:center;gap:12px;margin:14px 0}
.muqpro-detail-quantity label{font-weight:800}
.muqpro-detail-quantity input{width:100%;min-height:44px;padding:8px 12px;border:1px solid rgba(231,185,79,.45);border-radius:10px;background:#071a37;color:#fff;box-sizing:border-box}
body.single-product.muqpro-service-product-page form.cart .quantity{display:flex!important;visibility:visible!important;opacity:1!important}

/* Video modes. Standard stays 16:9; Shorts becomes a centered 9:16 player. */
.muqpro-detail-video-dialog--shorts{width:min(100%,430px)!important}
.muqpro-detail-video-dialog--shorts .muqpro-detail-video-embed{width:min(100%,360px);margin-inline:auto;aspect-ratio:9/16!important}
.muqpro-detail-video-dialog--standard .muqpro-detail-video-embed{aspect-ratio:16/9!important}
.muqpro-detail-video-close-bottom{display:flex;width:100%;min-height:46px;align-items:center;justify-content:center;margin-top:14px;padding:10px 16px;border:1px solid rgba(231,185,79,.55);border-radius:10px;background:transparent;color:#ffdc83;font-weight:900;cursor:pointer}

/* Product notice popup. */
body.muqpro-notice-modal-open{overflow:hidden}
.muqpro-detail-notice-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px}
.muqpro-detail-notice-modal[hidden]{display:none!important}
.muqpro-detail-notice-backdrop{position:absolute;inset:0;background:rgba(2,12,29,.86);backdrop-filter:blur(5px)}
.muqpro-detail-notice-dialog{position:relative;z-index:1;width:min(100%,560px);max-height:min(80vh,680px);overflow:auto;padding:22px;border:1px solid rgba(231,185,79,.45);border-radius:16px;background:linear-gradient(160deg,#13325e,#081d3d);box-shadow:0 24px 80px rgba(0,0,0,.55);outline:none}
.muqpro-detail-notice-dialog h2{margin:0 0 14px;color:#ffdc83;font-size:1.15rem;font-weight:950;text-align:center}
.muqpro-detail-notice-message{color:#f4f7fb;line-height:1.65}
.muqpro-detail-notice-message p:first-child{margin-top:0}
.muqpro-detail-notice-close{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;margin-top:18px;padding:10px 16px;border:1px solid rgba(231,185,79,.65);border-radius:10px;background:#f5c542;color:#071a37;font-weight:950;cursor:pointer}
@media(max-width:760px){
  .muqpro-detail-quantity{grid-template-columns:1fr;gap:7px;margin:10px 0}
  .muqpro-detail-video-dialog--shorts{width:min(100%,390px)!important;padding:14px!important}
  .muqpro-detail-video-dialog--shorts .muqpro-detail-video-embed{width:min(100%,300px)}
  .muqpro-detail-notice-dialog{padding:18px 15px;border-radius:14px}
}

/* v1.1.3 stable, swipe-safe video popup. */
body.muqpro-video-modal-open{overflow:hidden;overscroll-behavior:none}
.muqpro-detail-video-modal{touch-action:pan-x pan-y}
.muqpro-detail-video-dialog{max-height:88dvh;overflow:auto;overscroll-behavior:contain}
.muqpro-detail-video-embed iframe{display:block;width:100%;height:100%;border:0}
.muqpro-detail-video-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.muqpro-detail-video-actions .muqpro-detail-video-close-bottom{margin-top:0}
.muqpro-detail-video-zoom{display:flex;min-height:46px;align-items:center;justify-content:center;padding:10px 16px;border:1px solid rgba(231,185,79,.55);border-radius:10px;background:transparent;color:#ffdc83;font-weight:900;cursor:pointer}
.muqpro-detail-video-dialog--shorts{width:min(92vw,390px)!important}
.muqpro-detail-video-dialog--shorts .muqpro-detail-video-embed{width:min(68vw,300px);max-height:60dvh;margin-inline:auto;aspect-ratio:9/16!important}
.muqpro-detail-video-dialog--standard{width:min(92vw,760px)!important}
.muqpro-detail-video-dialog--standard .muqpro-detail-video-embed{width:100%;aspect-ratio:16/9!important}
.muqpro-detail-video-dialog--shorts.is-zoomed{width:min(96vw,470px)!important}
.muqpro-detail-video-dialog--shorts.is-zoomed .muqpro-detail-video-embed{width:min(78vw,360px);max-height:70dvh}
.muqpro-detail-video-dialog--standard.is-zoomed{width:min(96vw,980px)!important}
@media(max-width:520px){
 .muqpro-detail-video-dialog{max-height:84dvh!important;padding:13px!important}
 .muqpro-detail-video-dialog--shorts .muqpro-detail-video-embed{width:min(62vw,280px);max-height:55dvh}
 .muqpro-detail-video-dialog--shorts.is-zoomed .muqpro-detail-video-embed{width:min(76vw,340px);max-height:66dvh}
 .muqpro-detail-video-actions{grid-template-columns:1fr}
}


/* v1.1.4: tighter Shorts player and faster perceived opening. */
.muqpro-detail-video-dialog--shorts{
  width:min(94vw,410px)!important;
  padding:10px!important;
}
.muqpro-detail-video-dialog--shorts h2{
  margin:0 40px 8px 6px!important;
  font-size:1rem!important;
  line-height:1.25!important;
}
.muqpro-detail-video-dialog--shorts .muqpro-detail-video-embed{
  width:auto!important;
  height:min(64dvh,620px)!important;
  max-width:100%!important;
  max-height:none!important;
  margin:0 auto!important;
  aspect-ratio:9/16!important;
  overflow:hidden;
  border-radius:10px;
  background:#000;
}
.muqpro-detail-video-dialog--shorts .muqpro-detail-video-actions{
  margin-top:10px!important;
}
.muqpro-detail-video-dialog--shorts.is-zoomed{
  width:min(96vw,450px)!important;
}
.muqpro-detail-video-dialog--shorts.is-zoomed .muqpro-detail-video-embed{
  height:min(72dvh,700px)!important;
  width:auto!important;
  max-height:none!important;
}
@media(max-width:520px){
  .muqpro-detail-video-dialog--shorts{
    width:94vw!important;
    max-height:88dvh!important;
    padding:9px!important;
  }
  .muqpro-detail-video-dialog--shorts .muqpro-detail-video-embed{
    height:min(62dvh,590px)!important;
    width:auto!important;
  }
  .muqpro-detail-video-dialog--shorts.is-zoomed .muqpro-detail-video-embed{
    height:min(70dvh,660px)!important;
  }
}

/* v1.1.5: compact mobile quantity stepper and unified green trust row. */
.muqpro-detail-quantity{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  margin:12px 0;
  padding:7px 8px 7px 13px;
  border:1px solid rgba(231,185,79,.48);
  border-radius:10px;
  background:#071a37;
}
.muqpro-detail-quantity label{
  flex:1 1 auto;
  margin:0;
  font-weight:800;
  line-height:1.2;
}
.muqpro-detail-quantity-control{
  display:grid;
  grid-template-columns:42px minmax(46px,58px) 42px;
  align-items:center;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid rgba(231,185,79,.42);
  border-radius:8px;
  background:rgba(2,15,34,.55);
}
.muqpro-detail-quantity input{
  width:100%;
  min-width:0;
  min-height:40px;
  padding:0 4px;
  border:0!important;
  border-inline:1px solid rgba(231,185,79,.28)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff;
  font-weight:900;
  text-align:center;
  box-shadow:none!important;
  appearance:textfield;
  -moz-appearance:textfield;
}
.muqpro-detail-quantity input::-webkit-outer-spin-button,
.muqpro-detail-quantity input::-webkit-inner-spin-button{
  margin:0;
  -webkit-appearance:none;
}
.muqpro-detail-quantity-button{
  display:grid;
  place-items:center;
  width:42px;
  min-height:40px;
  padding:0;
  border:0;
  background:transparent;
  color:#ffdc83;
  font-size:22px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  touch-action:manipulation;
}
.muqpro-detail-quantity-button:active{background:rgba(231,185,79,.16)}
.muqpro-detail-quantity-button:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:760px){
  .muqpro-detail-quantity{display:flex!important;grid-template-columns:none!important;gap:9px!important;margin:10px 0!important}
  body.single-product .muqpro-trust-row-v173{align-items:center!important;gap:4px!important}
  body.single-product .muqpro-trust-row-v173-item,
  body.single-product .muqpro-trust-row-v173 .muqpro-instant-delivery-v173{
    flex:1 1 0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0 2px!important;
    color:#62dda5!important;
    font-size:9.5px!important;
    font-weight:850!important;
    line-height:1.25!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  body.single-product .muqpro-trust-row-v173 .muqpro-instant-delivery-v173::before{margin-right:3px!important;color:#62dda5!important}
}


/* v1.1.6: force all four mobile trust labels into one green flex row,
   overriding the Theme Foundation three-column grid and standalone delivery rules. */
@media (max-width:760px){
  body.single-product.muqpro-full-product-detail-page .muqpro-trust-row-v173{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    grid-template-columns:none!important;
    width:100%!important;
    gap:2px!important;
    margin:0!important;
    padding:9px 2px 6px!important;
  }
  body.single-product.muqpro-full-product-detail-page .muqpro-trust-row-v173 > .muqpro-trust-row-v173-item,
  body.single-product.muqpro-full-product-detail-page .muqpro-trust-row-v173 > .muqpro-instant-delivery-v173{
    order:initial!important;
    grid-column:auto!important;
    grid-row:auto!important;
    flex:1 1 25%!important;
    width:auto!important;
    min-width:0!important;
    max-width:25%!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0 1px!important;
    color:#62dda5!important;
    -webkit-text-fill-color:#62dda5!important;
    font-size:9px!important;
    font-weight:850!important;
    line-height:1.15!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  body.single-product.muqpro-full-product-detail-page .muqpro-trust-row-v173 > .muqpro-instant-delivery-v173::before{
    margin-right:2px!important;
    color:#62dda5!important;
    -webkit-text-fill-color:#62dda5!important;
  }
}


/* v1.1.7: professional compact trust box on mobile. */
@media (max-width:760px){
  body.single-product.muqpro-full-product-detail-page .muqpro-trust-row-v173{
    display:grid!important;
    grid-template-columns:repeat(4,max-content)!important;
    align-items:center!important;
    justify-content:center!important;
    column-gap:11px!important;
    row-gap:0!important;
    width:100%!important;
    margin:8px 0 12px!important;
    padding:9px 10px!important;
    border:1px solid rgba(98,221,165,.34)!important;
    border-radius:9px!important;
    background:rgba(7,26,55,.72)!important;
    box-sizing:border-box!important;
  }
  body.single-product.muqpro-full-product-detail-page .muqpro-trust-row-v173 > .muqpro-trust-row-v173-item,
  body.single-product.muqpro-full-product-detail-page .muqpro-trust-row-v173 > .muqpro-instant-delivery-v173{
    flex:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
    color:#62dda5!important;
    -webkit-text-fill-color:#62dda5!important;
    font-size:9px!important;
    font-weight:800!important;
    line-height:1!important;
    letter-spacing:0!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  body.single-product.muqpro-full-product-detail-page .muqpro-trust-row-v173 > .muqpro-instant-delivery-v173::before{
    margin-right:3px!important;
    color:#62dda5!important;
    -webkit-text-fill-color:#62dda5!important;
  }
}
@media (max-width:390px){
  body.single-product.muqpro-full-product-detail-page .muqpro-trust-row-v173{
    column-gap:7px!important;
    padding-inline:7px!important;
  }
  body.single-product.muqpro-full-product-detail-page .muqpro-trust-row-v173 > .muqpro-trust-row-v173-item,
  body.single-product.muqpro-full-product-detail-page .muqpro-trust-row-v173 > .muqpro-instant-delivery-v173{
    font-size:8.4px!important;
  }
}


/* v1.1.8: rebuild the four benefits as one real mobile component.
   This no longer depends on the Theme Foundation trust-row markup. */
@media (max-width:760px){
  body.single-product .muqpro-trust-row-v173[data-muqpro-unified="yes"],
  body.single-product .muqpro-instant-delivery-v173[hidden]{
    display:none!important;
  }
  body.single-product .muqpro-unified-trust-bar{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    width:100%!important;
    margin:8px 0 12px!important;
    padding:8px 5px!important;
    border:1px solid rgba(98,221,165,.42)!important;
    border-radius:9px!important;
    background:rgba(7,26,55,.78)!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  body.single-product .muqpro-unified-trust-item{
    position:relative!important;
    display:flex!important;
    flex:0 1 auto!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    margin:0!important;
    padding:0 8px!important;
    color:#62dda5!important;
    -webkit-text-fill-color:#62dda5!important;
    font-size:9px!important;
    font-weight:800!important;
    line-height:1.2!important;
    letter-spacing:0!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  body.single-product .muqpro-unified-trust-item + .muqpro-unified-trust-item::before{
    content:"";
    position:absolute;
    left:0;
    top:18%;
    bottom:18%;
    width:1px;
    background:rgba(98,221,165,.28);
  }
}
@media (max-width:390px){
  body.single-product .muqpro-unified-trust-bar{padding-inline:3px!important}
  body.single-product .muqpro-unified-trust-item{padding-inline:5px!important;font-size:8.2px!important}
}


/* v1.1.9: one authoritative benefits bar, positioned before Quantity. */
.muqpro-service-benefits{display:none}
@media (max-width:760px){
  /* Remove all legacy copies supplied by the theme or earlier plugin builds. */
  body.single-product .muqpro-trust-row-v173,
  body.single-product .muqpro-instant-delivery-v173,
  body.single-product .muqpro-unified-trust-bar{
    display:none!important;
  }

  body.single-product .muqpro-service-benefits{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:center!important;
    width:100%!important;
    min-height:38px!important;
    margin:12px 0 8px!important;
    padding:0 6px!important;
    border:1px solid rgba(98,221,165,.48)!important;
    border-radius:9px!important;
    background:rgba(7,26,55,.82)!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  body.single-product .muqpro-service-benefit{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    min-height:36px!important;
    margin:0!important;
    padding:0 4px!important;
    color:#62dda5!important;
    -webkit-text-fill-color:#62dda5!important;
    font-size:10px!important;
    font-weight:850!important;
    line-height:1.05!important;
    letter-spacing:0!important;
    text-align:center!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }
  body.single-product .muqpro-service-benefit + .muqpro-service-benefit::before{
    content:"";
    position:absolute;
    left:0;
    top:25%;
    bottom:25%;
    width:1px;
    background:rgba(98,221,165,.28);
  }
  body.single-product .muqpro-service-benefits + .muqpro-detail-quantity{
    margin-top:0!important;
  }
}
@media (max-width:390px){
  body.single-product .muqpro-service-benefit{
    padding-inline:2px!important;
    font-size:9.2px!important;
  }
}

/* v1.1.11: detail-image links and a full-width single-image layout. */
.muqpro-detail-image-gallery--single{
  grid-template-columns:minmax(0,1fr)!important;
}
.muqpro-detail-image-gallery--single .muqpro-detail-image{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:none!important;
}
.muqpro-detail-image-gallery--single .muqpro-detail-image img,
.muqpro-detail-image-gallery--single .muqpro-detail-image-link{
  display:block!important;
  width:100%!important;
}
.muqpro-detail-image-link{
  text-decoration:none!important;
}


/* v1.4.56 — direct One-Time purchase form stays locked behind eligibility gate. */
body.muqpro-one-time-gate-locked form.cart .muqpro-service-form--purchase,
body.muqpro-one-time-gate-locked form.cart .single_add_to_cart_button,
body.muqpro-one-time-gate-locked form.cart button[type="submit"] {
    visibility: hidden !important;
    pointer-events: none !important;
}

/* v1.6.25 — desktop-only product heading collision guard.
 * The Theme Foundation owns the visual card; Shop Core only guarantees that the
 * product image can never cover a long product title on the Purchase Form.
 * Mobile behavior is deliberately left unchanged. */
@media (min-width: 761px) {
  body.single-product.muqpro-service-product .product .summary,
  body.single-product.muqpro-service-product div.product .summary {
    min-width: 0;
  }

  body.single-product.muqpro-service-product .product .summary .product_title,
  body.single-product.muqpro-service-product div.product .summary .product_title,
  body.single-product.muqpro-service-product .product .summary h1,
  body.single-product.muqpro-service-product div.product .summary h1 {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    white-space: normal;
  }

  /* Theme/custom MuqPro product-head rows commonly place thumbnail + title in
     one flex/grid row.  Never let the text cell shrink behind the thumbnail. */
  body.single-product.muqpro-service-product [class*="product-head"],
  body.single-product.muqpro-service-product [class*="product-summary"],
  body.single-product.muqpro-service-product [class*="purchase-product"] {
    min-width: 0;
  }
  body.single-product.muqpro-service-product [class*="product-head"] img,
  body.single-product.muqpro-service-product [class*="product-summary"] img,
  body.single-product.muqpro-service-product [class*="purchase-product"] img {
    flex: 0 0 auto;
  }
  body.single-product.muqpro-service-product [class*="product-head"] h1,
  body.single-product.muqpro-service-product [class*="product-head"] h2,
  body.single-product.muqpro-service-product [class*="product-head"] h3,
  body.single-product.muqpro-service-product [class*="product-head"] strong,
  body.single-product.muqpro-service-product [class*="product-summary"] h1,
  body.single-product.muqpro-service-product [class*="product-summary"] h2,
  body.single-product.muqpro-service-product [class*="product-summary"] h3,
  body.single-product.muqpro-service-product [class*="product-summary"] strong,
  body.single-product.muqpro-service-product [class*="purchase-product"] h1,
  body.single-product.muqpro-service-product [class*="purchase-product"] h2,
  body.single-product.muqpro-service-product [class*="purchase-product"] h3,
  body.single-product.muqpro-service-product [class*="purchase-product"] strong {
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
  }
}
