/* =========================================================
   MSV Product Layout Organizer v2.0.0
   Atua somente no topo da página de produto.
========================================================= */

body.single-product.msv-layout-v2 {
  --msvlo-bg:#020b18;
  --msvlo-panel:#071b3d;
  --msvlo-line:#205d9f;
  --msvlo-blue:#0c58c7;
  --msvlo-green:#0cad4a;
  --msvlo-red:#d91f26;
  --msvlo-yellow:#ffc526;
  background:var(--msvlo-bg)!important;
}

body.single-product.msv-layout-v2 .woocommerce-breadcrumb,
body.single-product.msv-layout-v2 .msvpa-trust-row {
  display:none!important;
}

body.single-product.msv-layout-v2 div.product {
  display:block!important;
  width:min(100%,1440px)!important;
  max-width:1440px!important;
  margin:0 auto!important;
  padding:18px 22px 30px!important;
  box-sizing:border-box!important;
}

body.single-product.msv-layout-v2 div.product::before,
body.single-product.msv-layout-v2 div.product::after { display:none!important; }

body.single-product.msv-layout-v2 div.product > .msvpg-gallery,
body.single-product.msv-layout-v2 div.product > .summary,
body.single-product.msv-layout-v2 div.product .summary {
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}

/* Promoção no topo */
body.single-product.msv-layout-v2 .msvlo-promo-banner {
  display:grid!important;
  grid-template-columns:1fr .9fr 1.25fr!important;
  gap:12px!important;
  margin:0 0 18px!important;
}

body.single-product.msv-layout-v2 .msvlo-promo-cell {
  min-height:86px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:13px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  box-shadow:0 10px 24px rgba(0,0,0,.24)!important;
}

body.single-product.msv-layout-v2 .msvlo-promo-label {
  flex-direction:column!important;
  background:linear-gradient(135deg,#ef231d,#9b0710)!important;
  color:#fff!important;
}
body.single-product.msv-layout-v2 .msvlo-promo-label strong {font-size:27px!important;line-height:1.05!important}
body.single-product.msv-layout-v2 .msvlo-promo-label small {font-size:15px!important;font-weight:900!important;color:#ffe12b!important;margin-top:6px!important}

body.single-product.msv-layout-v2 .msvlo-promo-price {
  gap:10px!important;
  background:linear-gradient(135deg,#cf1015,#87050a)!important;
  color:#fff!important;
}
body.single-product.msv-layout-v2 .msvlo-promo-price small {font-size:25px!important;font-weight:900!important}
body.single-product.msv-layout-v2 .msvlo-promo-price strong {font-size:55px!important;line-height:1!important}

body.single-product.msv-layout-v2 .msvlo-promo-time {
  flex-direction:column!important;
  background:linear-gradient(135deg,#ffcf36,#f2aa00)!important;
  color:#111!important;
}
body.single-product.msv-layout-v2 .msvlo-promo-time > small {font-size:16px!important;font-weight:900!important}
body.single-product.msv-layout-v2 .msvlo-promo-time > strong {font-size:37px!important;line-height:1.05!important;letter-spacing:2px!important}
body.single-product.msv-layout-v2 .msvlo-promo-time em {display:grid!important;grid-template-columns:repeat(3,1fr)!important;width:74%!important;font-style:normal!important;font-size:9px!important;font-weight:800!important;text-align:center!important}

/* Galeria num retângulo organizado */
body.single-product.msv-layout-v2 .msvpg-gallery {
  margin:0 0 16px!important;
  padding:18px!important;
  background:linear-gradient(145deg,#06162e,#071f43)!important;
  border:1px solid var(--msvlo-line)!important;
  border-radius:18px!important;
  box-sizing:border-box!important;
}
body.single-product.msv-layout-v2 .msvpg-strip {
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:14px!important;
  width:100%!important;
  overflow-x:auto!important;
  padding:0!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
}
body.single-product.msv-layout-v2 .msvpg-strip::-webkit-scrollbar{display:none!important}
body.single-product.msv-layout-v2 .msvpg-thumb {
  width:190px!important;
  height:190px!important;
  flex:0 0 190px!important;
  padding:3px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:2px solid rgba(255,255,255,.28)!important;
  overflow:hidden!important;
}
body.single-product.msv-layout-v2 .msvpg-thumb.is-active,
body.single-product.msv-layout-v2 .msvpg-thumb[aria-current="true"] {
  border-color:#248cff!important;
  box-shadow:0 0 0 3px rgba(36,140,255,.2)!important;
}
body.single-product.msv-layout-v2 .msvpg-thumb img {width:100%!important;height:100%!important;object-fit:cover!important;border-radius:12px!important}

/* Título e avaliação */
body.single-product.msv-layout-v2 h1.product_title,
body.single-product.msv-layout-v2 .product_title {
  width:100%!important;
  margin:0 0 7px!important;
  padding:0!important;
  color:#fff!important;
  font-size:clamp(34px,3.35vw,55px)!important;
  line-height:1.08!important;
  letter-spacing:-1px!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
body.single-product.msv-layout-v2 .msvlo-rating-row {
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 18px!important;
  color:#fff!important;
  font-size:20px!important;
}
body.single-product.msv-layout-v2 .msvlo-stars {font-size:29px!important;letter-spacing:2px!important;color:#ffbd00!important;line-height:1!important}
body.single-product.msv-layout-v2 .msvlo-rating-row strong {font-size:20px!important}

/* Cartão do preço */
body.single-product.msv-layout-v2 .msvpa-wrapper {width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.single-product.msv-layout-v2 .msvpa-offer-card {
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr)!important;
  align-items:center!important;
  gap:30px!important;
  width:100%!important;
  margin:0 0 14px!important;
  padding:24px 30px!important;
  background:#fff!important;
  border:1px solid #f0aaaa!important;
  border-radius:20px!important;
  box-sizing:border-box!important;
}
body.single-product.msv-layout-v2 .msvpa-offer-price {
  position:relative!important;
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  grid-template-areas:"old now" "old price" "old saving"!important;
  align-items:center!important;
  gap:2px 26px!important;
  min-width:0!important;
  margin:0!important;
  padding:0 26px 0 0!important;
  border-right:1px solid #d8dde4!important;
}
body.single-product.msv-layout-v2 .msvpa-offer-price span:first-of-type {grid-area:old!important;align-self:start!important;margin-top:8px!important}
body.single-product.msv-layout-v2 .msvpa-offer-price del {grid-area:old!important;align-self:center!important;margin-top:33px!important;font-size:27px!important;color:#c71920!important}
body.single-product.msv-layout-v2 .msvpa-offer-price span:nth-of-type(2) {grid-area:now!important;font-size:17px!important;color:#222!important}
body.single-product.msv-layout-v2 .msvpa-offer-price strong {grid-area:price!important;font-size:clamp(48px,5vw,76px)!important;line-height:.98!important;color:#09a941!important;white-space:nowrap!important}
body.single-product.msv-layout-v2 .msvpa-offer-price em {grid-area:saving!important;display:inline-flex!important;width:max-content!important;padding:7px 18px!important;border-radius:999px!important;background:linear-gradient(90deg,#ffa700,#ff7a00)!important;color:#fff!important;font-size:18px!important;font-weight:900!important;font-style:normal!important}
body.single-product.msv-layout-v2 .msvlo-stock-card {
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  padding:18px 20px!important;
  background:#fff0f0!important;
  border:1px solid #ffcaca!important;
  border-radius:14px!important;
  color:#d31920!important;
}
body.single-product.msv-layout-v2 .msvlo-stock-icon {font-size:30px!important}
body.single-product.msv-layout-v2 .msvlo-stock-card strong {display:block!important;font-size:18px!important;line-height:1.2!important}
body.single-product.msv-layout-v2 .msvlo-stock-card small {display:block!important;margin-top:5px!important;font-size:15px!important;color:#a62428!important}

/* Botões */
body.single-product.msv-layout-v2 .msvpa-actions {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  margin:0 0 16px!important;
}
body.single-product.msv-layout-v2 .msvpa-actions .msvpa-btn {
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  min-height:82px!important;
  margin:0!important;
  padding:13px 54px 13px 18px!important;
  border-radius:15px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
body.single-product.msv-layout-v2 .msvpa-actions .msvpa-btn span:not(.msvlo-btn-arrow) {font-size:clamp(16px,1.55vw,21px)!important;line-height:1.14!important}
body.single-product.msv-layout-v2 .msvpa-actions .msvpa-btn small {font-size:13px!important;line-height:1.2!important;margin-top:4px!important}
body.single-product.msv-layout-v2 .msvlo-btn-arrow {
  position:absolute!important;
  right:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.92)!important;
  color:#0a54a8!important;
  font-size:29px!important;
  font-weight:700!important;
  line-height:1!important;
}
body.single-product.msv-layout-v2 .msvpa-order .msvlo-btn-arrow {color:#0a963d!important}

body.single-product.msv-layout-v2 .woocommerce-tabs,
body.single-product.msv-layout-v2 .msv-saber-mais {margin-top:12px!important}

/* TABLET */
@media(max-width:1050px){
  body.single-product.msv-layout-v2 .msvpg-thumb{width:145px!important;height:145px!important;flex-basis:145px!important}
  body.single-product.msv-layout-v2 .msvpa-offer-price{grid-template-columns:160px 1fr!important}
  body.single-product.msv-layout-v2 .msvpa-actions{grid-template-columns:1fr!important;gap:10px!important}
}

/* TELEMÓVEL */
@media(max-width:768px){
  body.single-product.msv-layout-v2 div.product {padding:10px 0 26px!important}

  body.single-product.msv-layout-v2 .msvlo-promo-banner {
    grid-template-columns:1fr 1fr 1.12fr!important;
    gap:7px!important;
    margin:0 12px 12px!important;
  }
  body.single-product.msv-layout-v2 .msvlo-promo-cell {min-height:76px!important;border-radius:10px!important}
  body.single-product.msv-layout-v2 .msvlo-promo-label strong {font-size:15px!important}
  body.single-product.msv-layout-v2 .msvlo-promo-label small {font-size:9px!important;margin-top:4px!important}
  body.single-product.msv-layout-v2 .msvlo-promo-price {gap:5px!important}
  body.single-product.msv-layout-v2 .msvlo-promo-price small {font-size:14px!important}
  body.single-product.msv-layout-v2 .msvlo-promo-price strong {font-size:27px!important}
  body.single-product.msv-layout-v2 .msvlo-promo-time > small {font-size:9px!important}
  body.single-product.msv-layout-v2 .msvlo-promo-time > strong {font-size:19px!important;letter-spacing:.5px!important}
  body.single-product.msv-layout-v2 .msvlo-promo-time em {width:90%!important;font-size:6px!important}

  body.single-product.msv-layout-v2 .msvpg-gallery {margin:0 12px 14px!important;padding:10px!important;border-radius:14px!important}
  body.single-product.msv-layout-v2 .msvpg-strip {justify-content:flex-start!important;gap:8px!important}
  body.single-product.msv-layout-v2 .msvpg-thumb {width:94px!important;height:94px!important;flex:0 0 94px!important;border-radius:12px!important}

  body.single-product.msv-layout-v2 h1.product_title,
  body.single-product.msv-layout-v2 .product_title {
    width:auto!important;
    margin:0 18px 7px!important;
    font-size:28px!important;
    line-height:1.09!important;
    letter-spacing:-.45px!important;
  }
  body.single-product.msv-layout-v2 .msvlo-rating-row {margin:0 18px 14px!important;gap:7px!important;font-size:14px!important}
  body.single-product.msv-layout-v2 .msvlo-stars {font-size:21px!important;letter-spacing:0!important}
  body.single-product.msv-layout-v2 .msvlo-rating-row strong {font-size:14px!important}

  body.single-product.msv-layout-v2 .msvpa-wrapper {width:auto!important;margin:0 18px!important}
  body.single-product.msv-layout-v2 .msvpa-offer-card {
    grid-template-columns:1fr!important;
    gap:13px!important;
    padding:17px 16px!important;
    border-radius:17px!important;
  }
  body.single-product.msv-layout-v2 .msvpa-offer-price {
    grid-template-columns:120px minmax(0,1fr)!important;
    gap:0 12px!important;
    padding:0 0 13px!important;
    border-right:0!important;
    border-bottom:1px solid #d8dde4!important;
  }
  body.single-product.msv-layout-v2 .msvpa-offer-price span:first-of-type {font-size:13px!important;margin-top:4px!important}
  body.single-product.msv-layout-v2 .msvpa-offer-price del {font-size:18px!important;margin-top:23px!important}
  body.single-product.msv-layout-v2 .msvpa-offer-price span:nth-of-type(2) {font-size:13px!important}
  body.single-product.msv-layout-v2 .msvpa-offer-price strong {font-size:43px!important}
  body.single-product.msv-layout-v2 .msvpa-offer-price em {font-size:13px!important;padding:6px 11px!important}
  body.single-product.msv-layout-v2 .msvlo-stock-card {padding:12px 14px!important;gap:10px!important}
  body.single-product.msv-layout-v2 .msvlo-stock-icon {font-size:23px!important}
  body.single-product.msv-layout-v2 .msvlo-stock-card strong {font-size:14px!important}
  body.single-product.msv-layout-v2 .msvlo-stock-card small {font-size:12px!important}

  body.single-product.msv-layout-v2 .msvpa-actions {grid-template-columns:1fr!important;gap:9px!important;margin-bottom:13px!important}
  body.single-product.msv-layout-v2 .msvpa-actions .msvpa-btn {min-height:68px!important;padding:10px 46px 10px 12px!important;border-radius:14px!important}
  body.single-product.msv-layout-v2 .msvpa-actions .msvpa-btn span:not(.msvlo-btn-arrow) {font-size:17px!important}
  body.single-product.msv-layout-v2 .msvpa-actions .msvpa-btn small {font-size:12px!important}
  body.single-product.msv-layout-v2 .msvlo-btn-arrow {right:11px!important;width:30px!important;height:30px!important;font-size:25px!important}
}

@media(max-width:390px){
  body.single-product.msv-layout-v2 .msvlo-promo-label strong{font-size:13px!important}
  body.single-product.msv-layout-v2 .msvlo-promo-price strong{font-size:23px!important}
  body.single-product.msv-layout-v2 .msvlo-promo-time > strong{font-size:16px!important}
  body.single-product.msv-layout-v2 h1.product_title,
  body.single-product.msv-layout-v2 .product_title{font-size:25px!important}
  body.single-product.msv-layout-v2 .msvpa-offer-price strong{font-size:38px!important}
}

/* =========================================================
   v2.1.0 — MOBILE PRO / LARGURA REAL DA TELA
   Mantém o desenho aprovado no zoom normal e impede que
   contentores do tema deixem uma faixa vazia lateral.
========================================================= */

html.msvlo-mobile-pro,
html.msvlo-mobile-pro body.single-product{
  max-width:100%!important;
  overflow-x:hidden!important;
}

html.msvlo-mobile-pro body.single-product *,
html.msvlo-mobile-pro body.single-product *::before,
html.msvlo-mobile-pro body.single-product *::after{
  box-sizing:border-box!important;
}

/* A largura é atualizada pelo JavaScript conforme a área
   realmente visível do navegador. */
html.msvlo-mobile-pro body.single-product{
  --msvlo-visual-width:100vw;
}

@media (max-width:900px){
  html.msvlo-mobile-pro body.single-product #page,
  html.msvlo-mobile-pro body.single-product .site,
  html.msvlo-mobile-pro body.single-product .site-content,
  html.msvlo-mobile-pro body.single-product #content,
  html.msvlo-mobile-pro body.single-product #primary,
  html.msvlo-mobile-pro body.single-product .content-area,
  html.msvlo-mobile-pro body.single-product main,
  html.msvlo-mobile-pro body.single-product .site-main,
  html.msvlo-mobile-pro body.single-product .woocommerce,
  html.msvlo-mobile-pro body.single-product div.product{
    width:var(--msvlo-visual-width)!important;
    max-width:var(--msvlo-visual-width)!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  html.msvlo-mobile-pro body.single-product div.product{
    padding:10px 0 26px!important;
  }

  html.msvlo-mobile-pro body.single-product .msvlo-promo-banner,
  html.msvlo-mobile-pro body.single-product .msvpg-gallery,
  html.msvlo-mobile-pro body.single-product h1.product_title,
  html.msvlo-mobile-pro body.single-product .product_title,
  html.msvlo-mobile-pro body.single-product .msvlo-rating-row,
  html.msvlo-mobile-pro body.single-product .msvpa-wrapper{
    min-width:0!important;
    max-width:none!important;
  }

  /* Uma margem única em todos os blocos, para ficarem alinhados. */
  html.msvlo-mobile-pro body.single-product .msvlo-promo-banner{
    width:calc(var(--msvlo-visual-width) - 24px)!important;
    margin:0 12px 12px!important;
  }

  html.msvlo-mobile-pro body.single-product .msvpg-gallery{
    width:calc(var(--msvlo-visual-width) - 24px)!important;
    margin:0 12px 14px!important;
  }

  html.msvlo-mobile-pro body.single-product h1.product_title,
  html.msvlo-mobile-pro body.single-product .product_title,
  html.msvlo-mobile-pro body.single-product .msvlo-rating-row,
  html.msvlo-mobile-pro body.single-product .msvpa-wrapper{
    width:calc(var(--msvlo-visual-width) - 36px)!important;
    margin-left:18px!important;
    margin-right:18px!important;
  }

  html.msvlo-mobile-pro body.single-product .msvpa-offer-card,
  html.msvlo-mobile-pro body.single-product .msvpa-actions{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  /* Mantém a composição móvel mesmo quando o utilizador altera o zoom. */
  html.msvlo-mobile-pro body.single-product .msvlo-promo-banner{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.12fr)!important;
  }

  html.msvlo-mobile-pro body.single-product .msvpa-offer-card{
    grid-template-columns:1fr!important;
  }

  html.msvlo-mobile-pro body.single-product .msvpa-actions{
    grid-template-columns:1fr!important;
  }

  /* Evita que textos ou imagens criem largura invisível. */
  html.msvlo-mobile-pro body.single-product img,
  html.msvlo-mobile-pro body.single-product video,
  html.msvlo-mobile-pro body.single-product svg,
  html.msvlo-mobile-pro body.single-product canvas{
    max-width:100%!important;
  }

  html.msvlo-mobile-pro body.single-product .msvpg-strip{
    width:100%!important;
    max-width:100%!important;
    overscroll-behavior-x:contain!important;
  }

  html.msvlo-mobile-pro body.single-product .msvlo-promo-cell,
  html.msvlo-mobile-pro body.single-product .msvpa-offer-price,
  html.msvlo-mobile-pro body.single-product .msvlo-stock-card,
  html.msvlo-mobile-pro body.single-product .msvpa-btn{
    min-width:0!important;
  }

  /* Título equilibrado em telemóveis: sem ficar gigante nem estreito. */
  html.msvlo-mobile-pro body.single-product h1.product_title,
  html.msvlo-mobile-pro body.single-product .product_title{
    font-size:clamp(25px,7.2vw,32px)!important;
    line-height:1.08!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
}

/* =========================================================
   v2.2.0 — SECÇÕES FINAIS: KITS, COMPARAÇÃO, CTA E RODAPÉ
========================================================= */

/* Comparação e perguntas frequentes ocupam toda a largura útil */
body.single-product.msv-layout-v2 .msv-info-dupla{
  width:100%!important;
  max-width:1240px!important;
  margin:28px auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
}
body.single-product.msv-layout-v2 .msv-info-dupla .msv-bloco-info{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:20px!important;
}
body.single-product.msv-layout-v2 .msv-info-dupla .msv-bloco-info h2{
  margin:0 0 16px!important;
  font-size:24px!important;
  line-height:1.2!important;
}
body.single-product.msv-layout-v2 .msv-tabela{
  table-layout:fixed!important;
  font-size:14px!important;
}
body.single-product.msv-layout-v2 .msv-tabela th,
body.single-product.msv-layout-v2 .msv-tabela td{
  overflow-wrap:anywhere!important;
}

/* CTA final com os mesmos três botões do topo */
body.single-product.msv-layout-v2 .msv-cta-final{
  width:100%!important;
  max-width:1240px!important;
  margin:26px auto!important;
  padding:24px!important;
}
body.single-product.msv-layout-v2 .msv-cta-final .msvlo-final-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:20px!important;
}
body.single-product.msv-layout-v2 .msv-cta-final .msvpa-btn{
  width:100%!important;
  min-height:70px!important;
  margin:0!important;
  padding:10px 42px 10px 14px!important;
  position:relative!important;
}

/* Rodapé: organização semelhante ao desktop */
body.single-product.msv-layout-v2 .msv-footer-grid{
  max-width:1240px!important;
  margin:0 auto!important;
}

@media(max-width:900px){
  /* Kits em carrossel horizontal: o cliente desliza, sem quatro cartões gigantes na vertical */
  html.msvlo-mobile-pro body.single-product .msvpa-kits-section{
    width:var(--msvlo-visual-width)!important;
    max-width:var(--msvlo-visual-width)!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:22px 12px 24px!important;
    overflow:hidden!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kits-head{
    padding:0 8px!important;
    margin-bottom:14px!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kits-head h2{
    font-size:31px!important;
    line-height:1.08!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kits-head p{
    font-size:16px!important;
    line-height:1.35!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kits-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    padding:16px 10px 18px!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:10px!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    overscroll-behavior-x:contain!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kits-grid::-webkit-scrollbar{
    display:none!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kit-card{
    flex:0 0 min(84vw,360px)!important;
    width:min(84vw,360px)!important;
    max-width:min(84vw,360px)!important;
    min-height:auto!important;
    padding:18px 16px 16px!important;
    scroll-snap-align:start!important;
    transform:none!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kit-card h3{
    font-size:23px!important;
    margin:15px 0 4px!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kit-subtitle{
    font-size:16px!important;
    margin-bottom:10px!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kit-image-wrap{
    aspect-ratio:1.75/1!important;
    margin:10px 0 12px!important;
    min-height:0!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kit-image-wrap img,
  html.msvlo-mobile-pro body.single-product .msvpa-kit-card img{
    width:100%!important;
    height:100%!important;
    margin:0!important;
    object-fit:contain!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kit-card ul{
    min-height:0!important;
    margin:0 0 10px!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kit-card li{
    font-size:14px!important;
    margin:5px 0!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kit-price{
    margin-top:auto!important;
    padding-top:4px!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kit-price strong{
    font-size:31px!important;
  }
  html.msvlo-mobile-pro body.single-product .msvpa-kit-btn{
    min-height:54px!important;
    font-size:17px!important;
  }

  /* Comparação e FAQ também deslizam lateralmente no telemóvel, em vez de ficarem empilhadas */
  html.msvlo-mobile-pro body.single-product .msv-info-dupla{
    width:var(--msvlo-visual-width)!important;
    max-width:var(--msvlo-visual-width)!important;
    margin:22px 0!important;
    padding:0 12px 14px!important;
    display:flex!important;
    gap:12px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-info-dupla::-webkit-scrollbar{
    display:none!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-info-dupla .msv-bloco-info{
    flex:0 0 calc(var(--msvlo-visual-width) - 40px)!important;
    width:calc(var(--msvlo-visual-width) - 40px)!important;
    max-width:calc(var(--msvlo-visual-width) - 40px)!important;
    padding:16px!important;
    scroll-snap-align:start!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-info-dupla .msv-bloco-info h2{
    font-size:21px!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-tabela{
    font-size:12px!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-tabela th,
  html.msvlo-mobile-pro body.single-product .msv-tabela td{
    padding:8px 6px!important;
  }

  /* CTA final */
  html.msvlo-mobile-pro body.single-product .msv-cta-final{
    width:calc(var(--msvlo-visual-width) - 24px)!important;
    max-width:calc(var(--msvlo-visual-width) - 24px)!important;
    margin:20px 12px!important;
    padding:18px 14px!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-cta-final h2{
    font-size:25px!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-cta-final p{
    font-size:15px!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-cta-final .msvlo-final-actions{
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin-top:15px!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-cta-final .msvpa-btn{
    min-height:64px!important;
  }

  /* Rodapé em duas colunas, sem a longa coluna vertical */
  html.msvlo-mobile-pro body.single-product .msv-footer{
    padding:26px 18px 16px!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-footer-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:22px 18px!important;
    align-items:start!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-footer-col{
    min-width:0!important;
    text-align:left!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-footer-col:first-child,
  html.msvlo-mobile-pro body.single-product .msv-footer-col:last-child{
    grid-column:1 / -1!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-footer-col:first-child{
    text-align:center!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-footer-logo{
    width:210px!important;
    max-width:75%!important;
    margin:0 auto!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-footer h4{
    font-size:18px!important;
    margin-bottom:10px!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-footer p,
  html.msvlo-mobile-pro body.single-product .msv-footer a{
    font-size:14px!important;
    line-height:1.45!important;
    overflow-wrap:anywhere!important;
  }
  html.msvlo-mobile-pro body.single-product .msv-footer-bottom{
    margin-top:20px!important;
    font-size:13px!important;
  }
}

/* =========================================================
   v2.4.0 — ESTRUTURA DESKTOP REAL
   O JavaScript move as abas para fora da coluna .summary.
   Estas regras só atuam quando a estrutura já foi corrigida.
========================================================= */
@media (min-width:901px){
  body.single-product.msv-layout-v2 div.product > .woocommerce-tabs{
    display:block!important;
    float:none!important;
    clear:both!important;

    /* CORREÇÃO v2.4.1:
       quando div.product é grid/flex, a aba movida pelo JavaScript
       precisa atravessar todas as colunas, não ficar na coluna direita. */
    grid-column:1 / -1!important;
    grid-row:auto!important;
    justify-self:stretch!important;
    align-self:stretch!important;
    flex:0 0 100%!important;

    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:18px 0 0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  body.single-product.msv-layout-v2 div.product > .woocommerce-tabs .woocommerce-Tabs-panel--description{
    display:block!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  body.single-product.msv-layout-v2 div.product > .woocommerce-tabs .woocommerce-Tabs-panel--additional_information,
  body.single-product.msv-layout-v2 div.product > .woocommerce-tabs .woocommerce-Tabs-panel--reviews{
    display:none!important;
  }

  body.single-product.msv-layout-v2 div.product > .woocommerce-tabs .msv-info-dupla{
    display:grid!important;
    grid-template-columns:minmax(0,1.55fr) minmax(360px,.85fr)!important;
    gap:24px!important;
    align-items:start!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:30px 0 22px!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  body.single-product.msv-layout-v2 div.product > .woocommerce-tabs .msv-info-dupla > .msv-bloco-info{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  body.single-product.msv-layout-v2 div.product > .woocommerce-tabs .msv-tabela-wrapper,
  body.single-product.msv-layout-v2 div.product > .woocommerce-tabs .msv-tabela,
  body.single-product.msv-layout-v2 div.product > .woocommerce-tabs .msvss-table-wrap{
    width:100%!important;
    max-width:100%!important;
  }

  body.single-product.msv-layout-v2 div.product > .woocommerce-tabs .msvss-choice-box,
  body.single-product.msv-layout-v2 div.product > .woocommerce-tabs .msv-cta-final{
    display:block!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
}
