/* =========================================================
   PDP FV layout
   ========================================================= */

body.single-product .pdp{
  max-width:none;
  padding-inline:clamp(16px, 2vw, 32px);
}

.pdp-fv{
  display:grid;
  grid-template-columns:minmax(0, 1.12fr) minmax(420px, 0.88fr);
  gap:clamp(72px, 7vw, 160px);
  align-items:start;
  width:calc(100vw - 48px);
  max-width:none;
  margin-left:calc(50% - 50vw + 24px);
  margin-right:calc(50% - 50vw + 24px);
}

.pdp-fv__media,
.pdp-fv__info{
  min-width:0;
}

.pdp-fv__media .pdp-gallery,
.pdp-fv__media .woocommerce-product-gallery{
  max-width:none;
  width:100%;
  margin:0;
}

.pdp-fv__info{
  max-width:none;
  width:100%;
  padding-right:clamp(8px, 1.6vw, 28px);
}

.pdp-fv__head{
  display:grid;
  gap:12px;
  margin-bottom:12px;
}

.pdp-fv-title-area{
  display:grid;
  gap:10px;
}

.pdp-fv-lead{
  margin:0;
  font-size:var(--fs-15, 15px);
  line-height:1.8;
  color:var(--c-fg-muted, #6b7280);
}

.pdp-fv__head .pdp-code-top{
  display:block;
  width:100%;
  text-align:right;
  font-size:var(--fs-xs);
  color:var(--c-fg-muted);
  margin:0;
}

.pdp-fv__body{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}

.pdp-fv > #pdp-price-slot,
.pdp-fv__info > #pdp-price-slot{
  margin:0 0 24px;
}

.pdp-fv__info > #pdp-price-slot .price{
  display:inline-flex;
  align-items:flex-end;
  gap:10px;
  margin:0;
  font-size:clamp(28px, 2.6vw, 38px);
  font-weight:500;
  line-height:1;
  letter-spacing:.01em;
  color:#111;
}

.pdp-fv__info > #pdp-price-slot .woocommerce-Price-amount{
  line-height:1;
}

.pdp-fv__info > #pdp-price-slot .price-tax-note{
  font-size:13px;
  line-height:1.2;
  color:var(--c-fg-muted, #6b7280);
  margin-left:0;
  margin-bottom:3px;
}

.pdp-fv__body > #pdp-price-slot,
.pdp-fv__body > .price{
  order:1;
}

.pdp-fv__body .single_variation_wrap,
.pdp-fv__body .single_variation{
  display:contents;
  order:2;
}

.pdp-fv__body .myro-auto-variant-switches,
.pdp-fv__body form.variations_form{
  order:2;
  display:contents;
}

.pdp-fv__body .variations{
  order:2;
}

.pdp-fv__body > .price,
.pdp-fv__body .woocommerce-variation-price,
.pdp-fv__body .single_variation .price{
  order:1;
  margin-bottom:var(--space-3);
}

.pdp-fv__body .pdp-assembly-service{
  order:3;
}

.pdp-fv__body > #myro-cta{
  order:4;
}

.pdp-fv__body .woocommerce-variation-add-to-cart{
  order:4;
  display:contents;
}

.pdp-fv__body .woocommerce-variation-add-to-cart .quantity{
  order:4;
}

.pdp-fv__body .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  order:4;
}

.pdp-fv__body form.cart{
  display:contents;
  order:4;
}

.pdp-fv__body form.cart .quantity{
  order:4;
}

.pdp-fv__body form.cart .single_add_to_cart_button{
  order:4;
  align-self:start;
}

.pdp-fv__body > .pdp-guides{
  order:5;
}

.pdp-fv__body > .pdp-shipGuide,
.pdp-fv__body > .pdp-guide-links{
  order:6;
}

.pdp-fv__body .woocommerce-product-rating{
  order:90;
}

.pdp-fv__body .woocommerce-product-details__short-description{
  order:91;
}

.pdp-fv__body .product_meta{
  order:99;
}

.pdp-fv__body .quantity{
  margin:.25rem 0;
}

@media (max-width:1023px){
  body.single-product .pdp{
    padding-inline:16px;
  }

  .pdp-fv{
    grid-template-columns:1fr;
    gap:20px;
    width:100%;
    margin-left:0;
    margin-right:0;
  }

  body.single-product div.product,
  body.single-product .pdp,
  body.single-product .pdp-fv,
  body.single-product .pdp-fv__media,
  body.single-product .pdp-fv__info,
  body.single-product .pdp__media,
  body.single-product .pdp__summary,
  body.single-product .summary,
  body.single-product .entry-summary{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
  }

  body.single-product .woocommerce div.product div.images,
  body.single-product .woocommerce div.product div.summary{
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    margin-right:0 !important;
    margin-left:0 !important;
    clear:both;
  }

  body.single-product .woocommerce-product-gallery,
  body.single-product .woocommerce-product-gallery__wrapper,
  body.single-product .woocommerce-product-gallery__image,
  body.single-product .woocommerce-product-gallery__image a,
  body.single-product .woocommerce-product-gallery__image img{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
  }
}

@media (max-width:767px){
  html,
  body{
    overflow-x:hidden;
    overflow-x:clip;
  }

  body.single-product .site-content,
  body.single-product main.site-content,
  body.single-product .woocommerce,
  body.single-product div.product,
  body.single-product .pdp,
  body.single-product .pdp-fv,
  body.single-product .pdp-section{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    overflow-x:clip;
  }

  body.single-product .woocommerce div.product div.images,
  body.single-product .woocommerce div.product div.summary{
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    margin-right:0 !important;
    margin-left:0 !important;
    clear:both;
  }

  body.single-product div.product,
  body.single-product .pdp,
  body.single-product .pdp-fv,
  body.single-product .pdp-fv__media,
  body.single-product .pdp-fv__info,
  body.single-product .pdp__media,
  body.single-product .pdp__summary,
  body.single-product .summary,
  body.single-product .entry-summary,
  body.single-product .woocommerce-product-gallery,
  body.single-product .woocommerce-product-gallery__wrapper,
  body.single-product .woocommerce-product-gallery__image{
    box-sizing:border-box;
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  body.single-product .pdp{
    padding-inline:12px;
  }

  .pdp-fv{
    grid-template-columns:1fr;
    gap:20px;
    width:100%;
    margin-left:0;
    margin-right:0;
  }

  .pdp-fv__media .pdp-gallery,
  .pdp-fv__media .woocommerce-product-gallery{
    max-width:none;
  }

  .pdp-gallery,
  .pdp-gallery__layout,
  .pdp-gallery__main{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .pdp-fv__info{
    max-width:none;
    padding-right:0;
  }

  .pdp-fv__head{
    margin-bottom:16px;
    gap:10px;
  }

  .pdp-fv__info > #pdp-price-slot{
    margin-bottom:20px;
  }

  .pdp-fv__info > #pdp-price-slot .price{
    font-size:clamp(24px, 7vw, 30px);
    gap:8px;
  }

  .pdp-fv__body{
    gap:16px;
  }
}
