/* ============================================================
   Ficha de produto - estrutura portada do AstroJerseys,
   com a paleta escura/cyan do Lusovape.
   ============================================================ */

/* ---------- 1. Duas colunas: 56% galeria / 40% compra ---------- */
@media (min-width:922px){
  body.single-product .site-page--product{
    max-width:1500px !important;
    padding-left:40px !important;
    padding-right:40px !important;
  }
  body.single-product .woocommerce div.product,
  body.single-product div.product{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    gap:40px !important;
  }
  body.single-product div.product .pdp-gallery{
    flex:0 0 56% !important;
    width:56% !important;
    max-width:56% !important;
    position:sticky;
    top:104px;
  }
  body.single-product div.product div.summary{
    flex:1 1 40% !important;
    width:40% !important;
    max-width:520px !important;
    margin:0 !important;
  }
  body.single-product div.product .woocommerce-tabs,
  body.single-product div.product .lv-pdp-accordions,
  body.single-product div.product .related.products{
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
  }
}
@media (min-width:1400px){
  body.single-product .site-page--product{padding-left:48px !important;padding-right:48px !important}
}

/* ---------- 2. Bloco de titulo ---------- */
.lv-pdp-info{margin:0 0 20px}
.lv-pdp-eyebrow{
  display:block;font-family:var(--font-body);font-size:15px;font-weight:700;
  line-height:1.3;color:var(--cyan,#00e5ff);margin:0 0 8px;letter-spacing:.02em;
}
body.single-product .lv-pdp-info .product_title{
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  font-size:clamp(26px,2.4vw,32px) !important;line-height:1.08 !important;
  letter-spacing:.02em;margin:0 !important;color:var(--ghost);
}
.lv-pdp-subtitle{
  display:block;font-family:var(--font-body);font-size:18px;font-weight:400;
  line-height:1.4;color:var(--slate,#8a93ab);margin:8px 0 0;
}
body.single-product .lv-pdp-info .price{margin:20px 0 4px !important;font-size:22px !important}
body.single-product .lv-pdp-info .price del{display:none !important}
body.single-product .lv-pdp-info .price ins{text-decoration:none !important}

/* ---------- 3. Cabecalho do selector ---------- */
.pdp-picker{margin:26px 0 0}
.lv-pick-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;margin:0 0 12px;
}
body.single-product .lv-pick-head .pdp-picker__label{
  font-family:var(--font-body);font-size:16px;font-weight:700;color:var(--ghost);
  text-transform:none;letter-spacing:0;margin:0;
}
.lv-pick-link{
  font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--ghost);
  text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;cursor:pointer;
  background:none;border-left:0;border-right:0;border-top:0;
}
.lv-pick-link:hover{color:var(--cyan,#00e5ff)}

/* ---------- 4. Caixa de compra ---------- */
body.single-product form.cart .woocommerce-variation-add-to-cart{
  display:flex !important;flex-direction:column !important;gap:12px !important;align-items:stretch !important;
}
body.single-product form.cart .quantity{order:1}
body.single-product form.cart .single_add_to_cart_button{
  order:2 !important;display:flex !important;align-items:center !important;justify-content:center !important;
  width:100% !important;min-height:56px !important;height:56px !important;
  padding:0 24px !important;border-radius:999px !important;margin:0 !important;
}
body.single-product form.cart .wishlist-btn--single{
  order:3 !important;display:flex !important;align-items:center !important;justify-content:center !important;
  gap:10px !important;width:100% !important;min-height:56px !important;
  padding:16px 24px !important;margin:0 !important;
  background:transparent !important;color:var(--ghost) !important;
  border:1px solid var(--line) !important;border-radius:999px !important;
  font-family:var(--font-body) !important;font-size:15px !important;font-weight:600 !important;cursor:pointer;
  transition:border-color .18s ease;
}
body.single-product form.cart .wishlist-btn--single:hover{border-color:var(--cyan,#00e5ff) !important}

.lv-pdp-pay{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;
  width:100%;margin:18px 0 0;padding:0;order:5;
}
.lv-pdp-pay img{
  height:20px;width:auto;max-width:none;display:block;flex:none;
  border-radius:4px;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.1);padding:2px 4px;
}
.lv-pdp-pay__nota{
  width:100%;text-align:center;font-family:var(--font-body);font-size:12px;
  color:var(--slate,#8a93ab);margin:10px 0 0;
}

/* ---------- 5. Acordeoes ---------- */
.lv-pdp-accordions{margin:56px 0 0;border-top:1px solid var(--line)}
.lv-acc{border-bottom:1px solid var(--line)}
.lv-acc__trigger{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  width:100%;min-height:60px;padding:18px 0;margin:0;
  background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--font-body);font-size:16px;font-weight:700;color:var(--ghost);
}
.lv-acc__trigger:hover{color:var(--cyan,#00e5ff)}
.lv-acc__sinal{position:relative;width:14px;height:14px;flex:0 0 auto}
.lv-acc__sinal::before,.lv-acc__sinal::after{
  content:"";position:absolute;background:currentColor;transition:transform .2s ease,opacity .2s ease;
}
.lv-acc__sinal::before{left:0;top:6px;width:14px;height:2px}
.lv-acc__sinal::after{left:6px;top:0;width:2px;height:14px}
.lv-acc.is-open .lv-acc__sinal::after{transform:scaleY(0);opacity:0}
.lv-acc__painel{display:none;padding:0 0 26px}
.lv-acc.is-open .lv-acc__painel{display:block}
.lv-acc__painel,
.lv-acc__painel p,
.lv-acc__painel li{font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--slate,#8a93ab)}
.lv-acc__painel p{margin:0 0 12px}
.lv-acc__painel p:last-child{margin-bottom:0}
.lv-acc__painel ul{margin:0;padding-left:18px}
.lv-acc__painel table{width:100%;border-collapse:collapse;font-size:14px}
.lv-acc__painel th,.lv-acc__painel td{
  text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);color:var(--slate,#8a93ab);
}
.lv-acc__painel th{color:var(--ghost);font-weight:600;width:40%}

/* ---------- 6. Barra fixa de compra (telemovel) ---------- */
.lv-sticky-buy{
  position:fixed;left:0;right:0;bottom:0;z-index:900;
  display:flex;align-items:center;gap:14px;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:rgba(5,7,12,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-top:1px solid var(--line);
  transform:translateY(110%);transition:transform .25s ease;
}
.lv-sticky-buy.is-visivel{transform:translateY(0)}
.lv-sticky-buy__info{flex:1 1 auto;min-width:0;display:grid;gap:2px}
.lv-sticky-buy__nome{
  font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--ghost);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.lv-sticky-buy__preco{font-family:var(--font-body);font-size:14px;font-weight:700;color:var(--cyan,#00e5ff)}
.lv-sticky-buy__btn{
  flex:0 0 auto;min-height:48px;padding:0 26px;border:0;border-radius:999px;cursor:pointer;
  background:var(--cyan,#00e5ff);color:#04121a;
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:14px;
}
.lv-sticky-buy__btn:disabled{opacity:.4;cursor:not-allowed}
@media (min-width:922px){.lv-sticky-buy{display:none}}
@media (prefers-reduced-motion: reduce){.lv-sticky-buy{transition:none}}

/* ---------- 7. Telemovel: titulo acima da galeria ---------- */
@media (max-width:921px){
  body.single-product div.product{display:flex !important;flex-direction:column !important;align-items:stretch !important}
  body.single-product div.product div.summary{display:contents !important}
  body.single-product div.product .pdp-gallery{order:0 !important;width:100% !important;max-width:100% !important}
  body.single-product div.product .lv-pdp-info{order:-1 !important;margin-top:8px !important}
  body.single-product .lv-pdp-info .product_title{font-size:26px !important}
  .lv-pdp-subtitle{font-size:17px}
  body.single-product .lv-pdp-info .price{font-size:20px !important}
  .lv-pdp-accordions{margin-top:40px}
  body.single-product .site-page--product{padding-bottom:96px}
}

/* os blocos de largura total nao devem encolher para o tamanho do conteudo */
.lv-pdp-accordions,
.lv-pdp-info{width:100%}
