/* ============================================================
   PDP v2 — port do design "18-PDP-Produto" (claude.ai/design).
   Escopo .pdv (header/footer do tema ficam intactos).
   Medidas copiadas 1:1 do design; tokens --mp-* são os do arquivo.
   ============================================================ */

.pdv {
  --mp-yellow: #FFE600;
  --mp-blue: #3483FA;
  --mp-blue-hover: #2968C8;
  --mp-blue-soft: #E3EDFB;
  --mp-blue-soft-hover: #D3E3F9;
  --mp-green: #00A650;
  --mp-green-bg: #EBFAEE;
  --mp-bg: #EDEDED;
  --mp-surface: #F5F5F5;
  --mp-card: #FFFFFF;
  --mp-border: rgba(0, 0, 0, .10);
  --mp-ink: rgba(0, 0, 0, .90);
  --mp-ink-2: rgba(0, 0, 0, .55);
  --mp-ink-3: rgba(0, 0, 0, .25);
  --mp-red: #F23D4F;
  --mp-urg: #C22536;
  --mp-navy: #14375F;
  --mp-radius: 6px;
  --mp-radius-lg: 8px;
  --mp-shadow-card: 0 1px 2px rgba(0, 0, 0, .10), 0 1px 8px rgba(0, 0, 0, .04);
  --mp-font: "Proxima Nova", -apple-system, "Helvetica Neue", Roboto, Arial, sans-serif;
  --mp-ease: cubic-bezier(.2, 0, 0, 1);

  display: block;
  width: 100%;
  background: var(--mp-bg);
  color: var(--mp-ink);
  font-family: var(--mp-font);
  font-size: 14px;
  line-height: normal;
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
.pdv *, .pdv *::before, .pdv *::after { box-sizing: border-box; }
/* Resets com :where() — especificidade de uma classe, então as regras de componente abaixo vencem
   pela ordem, e as regras genéricas do tema (button, a, h1…) perdem. */
.pdv :where(a) { color: var(--mp-blue); text-decoration: none; font-family: var(--mp-font); }
.pdv :where(a):hover { color: var(--mp-blue-hover); text-decoration: none; }
.pdv :where(button, input, select, textarea) { font-family: var(--mp-font); letter-spacing: normal; text-transform: none; }
.pdv :where(button) { margin: 0; line-height: normal; box-shadow: none; min-height: 0; font-weight: inherit; font-size: inherit; color: inherit; }
.pdv :where(input)::placeholder { color: var(--mp-ink-3); }
.pdv :where(h1, h2, h3, h4) { font-family: var(--mp-font); letter-spacing: normal; color: var(--mp-ink); text-transform: none; }
.pdv :where(img) { max-width: 100%; }
.pdv [hidden] { display: none !important; }
.pdv :where(strong, b) { font-weight: 700; }
.pdv .pdv-tnum { font-variant-numeric: tabular-nums; }
.pdv .pdv-green { color: var(--mp-green); }
.pdv .pdv-nowrap { white-space: nowrap; }
.pdv :focus-visible { outline: 2px solid var(--mp-blue); outline-offset: 2px; }

@keyframes pdv-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }

/* ─── Faixa "oferta do dia" ─────────────────────────────────── */
.pdv-fomo { background: #F4731C; }
.pdv-fomo__in {
  max-width: 1312px; margin: 0 auto; padding: 8px 16px; /* design: 1280 content-box + 2×16 */
  display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap;
  font-size: 13px; color: #FFFFFF; font-weight: 700; letter-spacing: .4px; text-align: center;
}
.pdv-fomo__sep { opacity: .6; font-weight: 400; }

/* ─── Breadcrumb ────────────────────────────────────────────── */
.pdv-crumbs {
  max-width: 1232px; margin: 0 auto; padding: 16px 16px 0; /* 1200 content-box + 2×16 */
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-size: 13px; color: var(--mp-ink-2);
}
.pdv-crumbs__here { font-weight: 600; color: var(--mp-ink); }

/* ─── Container ─────────────────────────────────────────────── */
.pdv-wrap {
  max-width: 1232px; margin: 0 auto; padding: 12px 16px 40px;
  display: flex; flex-direction: column; gap: 16px;
}
/* O rodapé do tema segue colado na PDP (o design não tem faixa bege entre os dois). */
.pdv + .lcf, .pdv + .mo-footer-a { margin-top: 0; }

.pdv-card { background: var(--mp-card); border-radius: var(--mp-radius-lg); box-shadow: var(--mp-shadow-card); }
.pdv-notices:empty { display: none; }
.pdv-notices .woocommerce-message,
.pdv-notices .woocommerce-error,
.pdv-notices .woocommerce-info {
  margin: 0; padding: 12px 16px; border: 0; border-radius: var(--mp-radius-lg);
  background: var(--mp-card); box-shadow: var(--mp-shadow-card); font-size: 14px; list-style: none;
}
.pdv-notices .woocommerce-error { box-shadow: inset 3px 0 0 var(--mp-red), var(--mp-shadow-card); }

/* ─── Card principal ────────────────────────────────────────── */
.pdv-main { padding: 24px; display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; position: relative; }

/* Galeria */
.pdv-gal { flex: 1.2 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.pdv-gal__main {
  position: relative; display: block; width: 100%; aspect-ratio: 1 / 1; min-height: 280px;
  padding: 0; border: 0; border-radius: 8px; background: #FFFFFF; cursor: zoom-in; overflow: hidden;
}
.pdv-gal__main::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1);
}
.pdv-gal__main img { width: 100%; height: 100%; object-fit: contain; display: block; }
.pdv-gal__thumbs { display: flex; gap: 10px; flex-wrap: wrap; }
.pdv-gal__thumb {
  position: relative; width: 64px; height: 64px; flex: none; padding: 0; border: 0; border-radius: 6px;
  background: #FFFFFF; cursor: pointer; overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1);
  transition-property: box-shadow, scale; transition-duration: .15s; transition-timing-function: var(--mp-ease);
}
.pdv-gal__thumb img { width: 100%; height: 100%; object-fit: contain; display: block; pointer-events: none; }
.pdv-gal__thumb::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); transition: box-shadow .15s var(--mp-ease); }
.pdv-gal__thumb:hover::after { box-shadow: inset 0 0 0 1px var(--mp-ink-3); }
.pdv-gal__thumb.is-active::after { box-shadow: inset 0 0 0 2px var(--mp-blue); }
.pdv-gal__thumb:active { scale: .96; }
.pdv-gal__more {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  background: rgba(20, 55, 95, .72); color: #FFFFFF; font-size: 15px; font-weight: 700;
}

.pdv-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.pdv-pill { background: var(--mp-surface); border-radius: 999px; padding: 6px 12px; font-size: 13px; font-weight: 600; }

/* Bloco de garantias */
.pdv-assure { border-radius: var(--mp-radius-lg); box-shadow: inset 0 0 0 1px var(--mp-border); overflow: hidden; margin-top: 4px; }
/* O bloco é impresso duas vezes: embaixo da galeria (desktop) e no fim da coluna de compra, depois
   das vantagens (layout empilhado). O corte é o mesmo ponto em que as duas colunas deixam de caber lado a lado
   (340 + 320 + 32 de gap + 48 de padding + 32 do container = 772px); acima dele as colunas nunca
   quebram, então o bloco nunca fica no lugar errado por causa da largura da barra de rolagem. */
.pdv-assure--buy { display: none; }
@media (min-width: 772px) {
  .pdv-main { flex-wrap: nowrap; }
}
@media (max-width: 771.98px) {
  .pdv-assure--gal { display: none; }
  .pdv-assure--buy { display: block; }
}
.pdv-assure__gar {
  width: 100%; border: 0; border-bottom: 1px solid var(--mp-border); background: var(--mp-green-bg);
  padding: 16px; display: flex; gap: 14px; align-items: flex-start; cursor: pointer; text-align: left;
  color: var(--mp-ink); transition: filter .15s;
}
.pdv-assure__gar:hover { filter: brightness(.97); background: var(--mp-green-bg); }
.pdv-assure__shield { width: 40px; height: 40px; flex: none; border-radius: 50%; background: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.pdv-assure__txt { flex: 1; min-width: 0; font-size: 13px; color: var(--mp-ink-2); display: block; }
.pdv-assure__tags { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pdv-tag { display: inline-block; background: var(--mp-ink); color: var(--mp-card); font-size: 11px; font-weight: 700; letter-spacing: .5px; padding: 3px 8px; border-radius: 4px; line-height: normal; }
.pdv-assure__money { display: inline-block; background: #FFFFFF; color: var(--mp-green); font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.pdv-assure__h { display: block; font-size: 15px; font-weight: 600; color: var(--mp-ink); margin-top: 6px; }
.pdv-assure__p { display: block; margin-top: 4px; text-wrap: pretty; }
.pdv-assure__link { color: var(--mp-blue); font-weight: 600; }
.pdv-assure__row {
  width: 100%; display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 0;
  background: transparent; cursor: pointer; text-align: left; color: var(--mp-ink);
  transition: background-color .15s;
}
.pdv-assure__row + .pdv-assure__row { border-top: 1px solid var(--mp-border); }
.pdv-assure__row:hover { background: var(--mp-surface); }
.pdv-assure__ic { width: 40px; height: 40px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; }
.pdv-assure__ic--blue { background: #E9F0FA; }
.pdv-assure__ic--green { background: var(--mp-green-bg); }
.pdv-assure__body { flex: 1; min-width: 0; }
.pdv-assure__t { display: block; font-size: 14px; font-weight: 700; color: var(--mp-ink); }
.pdv-assure__lvl { color: #1FA85C; }
.pdv-assure__s { display: block; font-size: 13px; color: var(--mp-ink-2); margin-top: 1px; }
.pdv-assure__chev { color: var(--mp-ink-3); font-size: 20px; flex: none; }

/* Coluna de compra */
.pdv-buy { flex: 1 1 320px; max-width: 460px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.pdv-buy__top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pdv-buy__rank { font-size: 13px; }
.pdv-buy__ref { font-size: 12px; color: var(--mp-ink-3); }
.pdv .pdv-buy__title { font-size: 22px; font-weight: 600; line-height: 1.3; margin: 0; text-wrap: balance; }
.pdv-buy__title-var { color: var(--mp-ink-2); font-weight: 400; }
.pdv-buy__rating { display: flex; align-items: center; gap: 8px; font-size: 14px; flex-wrap: wrap; }
.pdv-buy__avg { font-weight: 600; }
.pdv-stars { letter-spacing: 2px; line-height: 1; }
.pdv-stars__on { color: var(--mp-blue); }
.pdv-stars__off { color: var(--mp-ink-3); }
.pdv-buy__stars { font-size: 15px; }
.pdv-buy__dot { color: var(--mp-ink-3); }
.pdv-buy__sold { color: var(--mp-ink-2); }

/* Urgência */
.pdv-urg {
  border-radius: var(--mp-radius-lg); background: #FDF1F2; box-shadow: inset 0 0 0 1px rgba(242, 61, 79, .25);
  padding: 14px 16px; display: flex; flex-direction: column; gap: 10px;
}
.pdv-urg__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 13px; }
.pdv-urg__hot { color: var(--mp-urg); font-weight: 700; }
.pdv-urg__cd { color: var(--mp-ink-2); }
.pdv-urg__cd strong { color: var(--mp-ink); font-variant-numeric: tabular-nums; }
.pdv-urg__bar { height: 8px; border-radius: 999px; background: rgba(0, 0, 0, .08); overflow: hidden; }
.pdv-urg__bar > div { height: 100%; border-radius: 999px; background: var(--mp-red); transition: width .4s ease; }
.pdv-urg__txt { font-size: 13px; color: var(--mp-ink); }
.pdv-urg__em { color: var(--mp-urg); }

/* Preço */
.pdv-price { display: flex; flex-direction: column; gap: 14px; margin: 6px 0 2px; }
.pdv-price__was { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 15px; }
.pdv-price__del { color: var(--mp-ink-2); font-weight: 700; text-decoration: line-through; font-variant-numeric: tabular-nums; }
.pdv-price__off { background: var(--mp-green); color: #FFFFFF; font-size: 14px; font-weight: 800; padding: 4px 12px; border-radius: 8px; }
.pdv-price__save { color: var(--mp-green); font-weight: 700; font-variant-numeric: tabular-nums; }
.pdv-price__big { display: flex; align-items: flex-start; gap: 6px; color: var(--mp-navy); line-height: 1; }
.pdv-price__cur { font-size: 20px; font-weight: 700; margin-top: 8px; }
.pdv-price__int { font-size: 56px; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -1px; }
.pdv-price__dec { font-size: 26px; font-weight: 800; margin-top: 4px; }

.pdv-ladder { border-radius: 14px; overflow: hidden; box-shadow: 0 2px 12px rgba(0, 0, 0, .12); }
.pdv-ladder__pix { background: linear-gradient(105deg, #0B5A2E, #00A650); padding: 16px 18px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.pdv-ladder__card { background: #FFFFFF; padding: 15px 18px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; box-shadow: inset 0 1px 0 var(--mp-border); }
.pdv-ladder__ic { width: 46px; height: 46px; flex: none; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.pdv-ladder__ic--pix { background: rgba(255, 255, 255, .16); }
.pdv-ladder__ic--card { background: #E9F0FA; }
.pdv-ladder__mid { flex: 1; min-width: 150px; }
.pdv-ladder__pix-t { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pdv-ladder__pix-h { font-size: 17px; font-weight: 700; color: #FFFFFF; }
.pdv-ladder__pix-badge { background: #D7F5E2; color: #0B5A2E; font-size: 12px; font-weight: 800; padding: 3px 10px; border-radius: 999px; }
.pdv-ladder__pix-s { display: block; font-size: 13px; color: rgba(255, 255, 255, .82); margin-top: 3px; }
.pdv-ladder__pix-v { text-align: right; color: #FFFFFF; flex: none; }
.pdv-ladder__pix-cur { display: block; font-size: 12px; font-weight: 700; opacity: .8; }
.pdv-ladder__pix-n { display: block; font-size: 27px; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.pdv-ladder__card-t { display: block; font-size: 15px; font-weight: 700; color: var(--mp-ink); }
.pdv .pdv-ladder__card-link { font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; min-height: 26px; }
.pdv-ladder__card-v { text-align: right; flex: none; }
.pdv-ladder__card-n { display: block; font-size: 19px; font-weight: 800; color: var(--mp-navy); font-variant-numeric: tabular-nums; }
.pdv-ladder__card-tot { display: block; font-size: 12px; color: var(--mp-ink-2); font-variant-numeric: tabular-nums; }

.pdv-fin .pdp-buy__fin { margin: 0; }
/* Textos alternativos da escada de pagamento: .pdv-d (layout largo) × .pdv-m (compacto). */
.pdv .pdv-m { display: none; }
.pdv-ladder__card-s { display: block; }

/* Escada compacta (celular): grade ícone | texto | valor, duas linhas por forma de pagamento.
   Linha 1 = nome + valor alinhados à direita; linha 2 = detalhe ocupando texto+valor.
   Nada quebra para baixo do ícone e os valores das duas linhas ficam na mesma coluna. */
@media (max-width: 560px) {
  .pdv .pdv-d { display: none; }
  .pdv .pdv-m { display: inline; }
  .pdv-ladder { border-radius: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, .08), 0 2px 10px rgba(0, 0, 0, .08); }
  .pdv-ladder__pix, .pdv-ladder__card {
    display: grid; grid-template-columns: 32px minmax(0, 1fr) auto;
    grid-template-areas: "ic t v" "ic s s";
    column-gap: 12px; row-gap: 2px; align-items: baseline; padding: 12px 14px;
  }
  .pdv-ladder__ic { grid-area: ic; align-self: center; width: 32px; height: 32px; border-radius: 9px; }
  .pdv-ladder__ic svg { width: 18px; height: 18px; }
  .pdv-ladder__mid { display: contents; }
  .pdv-ladder__pix-t, .pdv-ladder__card-t { grid-area: t; min-width: 0; }
  .pdv-ladder__pix-s, .pdv-ladder__card-s { grid-area: s; min-width: 0; margin-top: 0; font-size: 12px; }
  .pdv-ladder__pix-h, .pdv-ladder__card-t { font-size: 15px; font-weight: 700; line-height: 1.25; }
  .pdv-ladder__pix-s { display: flex; align-items: center; gap: 6px; color: rgba(255, 255, 255, .85); }
  .pdv-ladder__pix-badge { font-size: 11px; padding: 2px 8px; }
  .pdv-ladder__pix-v, .pdv-ladder__card-v { grid-area: v; text-align: right; white-space: nowrap; }
  .pdv-ladder__pix-v { display: flex; align-items: baseline; gap: 3px; }
  .pdv-ladder__pix-cur { display: inline; font-size: 11px; }
  .pdv-ladder__pix-n { display: inline; font-size: 20px; }
  .pdv-ladder__card-n { font-size: 15px; }
  /* Valores de 5+ dígitos (máquinas): encolhe valor e título para caberem na mesma linha em 360px. */
  .pdv-ladder--long .pdv-ladder__pix-n { font-size: 16px; }
  .pdv-ladder--long .pdv-ladder__pix-h { font-size: 14px; }
  .pdv-ladder__pix-h { white-space: nowrap; }
  .pdv-ladder__card-tot { display: none; } /* igual ao preço grande logo acima (sem juros) */
  .pdv-ladder__card-s { color: var(--mp-ink-2); }
  .pdv .pdv-ladder__card-link { display: inline-block; min-height: 0; font-size: 12px; padding: 10px 0; margin: -10px 0; } /* alvo de toque de ~40px sem mexer no layout */
}


/* Entrega / retirada (inc/pdp-delivery.php). Verde só para "grátis"; frete pago em tinta. */
.pdv-deliv {
  display: flex; flex-direction: column; gap: 2px;
  transition-property: opacity; transition-duration: .15s; transition-timing-function: var(--mp-ease);
}
.pdv-deliv[aria-busy="true"] { opacity: .6; transition-delay: .12s; } /* cotação rápida não pisca */
.pdv-deliv__t { font-size: 17px; font-weight: 700; color: var(--mp-green); text-wrap: pretty; }
.pdv-deliv__t--ink { color: var(--mp-ink); }
.pdv .pdv-deliv > a { font-size: 15px; min-height: 28px; display: inline-flex; align-items: center; align-self: flex-start; }
.pdv-deliv__pk { font-size: 16px; line-height: 1.4; text-wrap: pretty; }
.pdv-deliv__near { font-size: 14px; color: var(--mp-ink-2); text-wrap: pretty; }
.pdv-deliv__near strong { color: var(--mp-ink); }
.pdv-deliv__est strong { font-weight: 600; }

/* Linha do local: "Enviar para Campinas 13050-060 Alterar". O ícone fica no centro da 1ª linha. */
.pdv .pdv-deliv__loc { display: flex; align-items: flex-start; gap: 6px; margin: 8px 0 0; font-size: 14px; line-height: 20px; color: var(--mp-ink-2); }
.pdv-deliv__pin { flex: none; margin-top: 3px; }
.pdv-deliv__loc-t { min-width: 0; text-wrap: pretty; }
.pdv-deliv__loc strong { color: var(--mp-ink); font-weight: 600; }
.pdv-deliv__loc .pdv-nowrap { white-space: nowrap; } /* o CEP nunca quebra no hífen ("20040-" / "020") */
/* Botão com cara de link. Seletores (0,2,0) vencem o botão do Blocksy (altura mínima, padding, sombra
   borrada no ::before e o "sobe 3px" do hover). O ::after dá ~40px de alvo sem mudar a altura da linha
   (a margem de 8px da linha evita encostar no alvo do link de cima). */
.pdv .pdv-deliv__change {
  position: relative; display: inline-block; min-height: 0; margin: 0 0 0 2px; padding: 0; border: 0; border-radius: 4px;
  background: none; box-shadow: none; color: var(--mp-blue); font: inherit; font-weight: 600; line-height: inherit;
  letter-spacing: normal; text-transform: none; vertical-align: baseline; cursor: pointer; -webkit-tap-highlight-color: transparent;
  --theme-button-shadow: none; --theme-button-transform: none;
  transition-property: color, scale; transition-duration: .15s; transition-timing-function: var(--mp-ease);
}
.pdv .pdv-deliv__change::before { display: none; }
.pdv .pdv-deliv__change::after { content: ""; position: absolute; inset: -10px -8px; }
.pdv .pdv-deliv__change:hover { color: var(--mp-blue-hover); background: none; transform: none; }
.pdv .pdv-deliv__change:active { scale: .96; }

/* Com local salvo no navegador (html.lc-geo-known, posto pelo boot do "Enviar para"), as linhas
   nacionais esperam invisíveis, com o espaço reservado, até a cotação chegar (o JS tira .lc-geo-wait).
   A animação é a rede de segurança se o JS falhar: em 2,5 s elas aparecem de qualquer jeito. */
html.lc-geo-known .pdv-deliv.lc-geo-wait > * { visibility: hidden; animation: pdv-geo-reveal 0s linear 2.5s forwards; }
@keyframes pdv-geo-reveal { to { visibility: visible; } }
@media (prefers-reduced-motion: reduce) {
  .pdv-deliv, .pdv .pdv-deliv__change { transition: none; }
  .pdv .pdv-deliv__change:active { scale: none; }
}

/* Estoque + quantidade */
.pdv-stock { display: flex; flex-direction: column; gap: 3px; }
.pdv-stock__t { font-size: 16px; font-weight: 700; }
.pdv-stock__t--out { color: var(--mp-urg); }
.pdv-stock__s { font-size: 14px; color: var(--mp-ink-2); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.pdv-stock__full { display: inline-flex; align-items: center; gap: 2px; color: #00A650; font-weight: 800; font-style: italic; letter-spacing: 1px; font-size: 14px; }

.pdv-var { display: flex; flex-direction: column; gap: 12px; margin: 8px 0 4px; }
.pdv-var__label { font-size: 14px; color: var(--mp-ink-2); margin-bottom: 8px; }
.pdv-var__label strong { color: var(--mp-ink); }
.pdv-var__opts { display: flex; gap: 8px; flex-wrap: wrap; }
.pdv-var__opt {
  min-height: 40px; padding: 0 14px; border: 0; border-radius: var(--mp-radius); background: #FFFFFF;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18); font-size: 14px; color: var(--mp-ink); cursor: pointer;
  transition-property: box-shadow, color, scale; transition-duration: .15s; transition-timing-function: var(--mp-ease);
}
.pdv-var__opt:hover { box-shadow: inset 0 0 0 1px var(--mp-blue); }
.pdv-var__opt[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--mp-blue); color: var(--mp-blue); font-weight: 600; }
.pdv-var__opt.is-unavailable { color: var(--mp-ink-3); text-decoration: line-through; }
.pdv-var__opt:active { scale: .96; }
.pdv-var__status { font-size: 13px; color: var(--mp-urg); font-weight: 600; }

.pdv-qty { position: relative; margin-top: 4px; }
.pdv-qty__btn {
  border: 0; background: transparent; padding: 0; min-height: 36px; display: flex; align-items: center; gap: 8px;
  font-size: 16px; cursor: pointer; color: var(--mp-ink); flex-wrap: wrap; text-align: left;
}
.pdv-qty__btn:hover, .pdv-qty__btn:focus { background: transparent; color: var(--mp-ink); }
.pdv-qty__btn svg { transition: rotate .15s var(--mp-ease); }
.pdv-qty__btn[aria-expanded="true"] svg { rotate: 180deg; }
.pdv-qty__avail { font-size: 14px; color: var(--mp-ink-2); }
.pdv-qty__menu {
  position: absolute; top: 40px; left: 0; z-index: 20; background: #FFFFFF; border-radius: 8px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .22); min-width: 220px; overflow: hidden; padding: 6px 0;
}
.pdv-qty__opt {
  display: block; width: 100%; border: 0; background: transparent; text-align: left; padding: 11px 16px;
  font-size: 15px; cursor: pointer; color: var(--mp-ink); transition: background-color .12s;
}
.pdv-qty__opt:hover { background: var(--mp-surface); color: var(--mp-ink); }
.pdv-qty__opt.is-on { background: var(--mp-blue-soft); box-shadow: inset 3px 0 0 var(--mp-blue); }
.pdv-qty__custom { display: flex; align-items: center; gap: 10px; margin-top: 6px; font-size: 14px; color: var(--mp-ink-2); }
.pdv-qty__custom input {
  width: 96px; height: 40px; padding: 0 12px; font-size: 15px; border: 0; border-radius: var(--mp-radius);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18); background: #FFFFFF; font-variant-numeric: tabular-nums; outline: none;
}
.pdv-qty__custom input:focus { box-shadow: inset 0 0 0 2px var(--mp-blue); }

.pdv-multi { font-size: 14px; background: var(--mp-green-bg); border-radius: var(--mp-radius); padding: 8px 12px; }

/* CTAs */
.pdv-ctas, .pdv-ctas__form { display: flex; flex-direction: column; gap: 8px; }
.pdv-ctas__form { margin: 0; }
.pdv .pdv-btn {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; padding: 0 16px;
  border: 0; border-radius: var(--mp-radius); font-size: 16px; font-weight: 600; cursor: pointer; text-decoration: none;
  transition-property: background-color, scale; transition-duration: .18s; transition-timing-function: var(--mp-ease);
}
.pdv .pdv-btn--buy { background: var(--mp-blue); color: #FFFFFF; }
.pdv .pdv-btn--buy:hover { background: var(--mp-blue-hover); color: #FFFFFF; }
.pdv .pdv-btn--soft { background: var(--mp-blue-soft); color: var(--mp-blue); }
.pdv .pdv-btn--soft:hover { background: var(--mp-blue-soft-hover); color: var(--mp-blue); }
.pdv .pdv-btn:active { scale: .96; }
.pdv .pdv-btn.is-loading { opacity: .7; pointer-events: none; }

.pdv .pdv-btn-soft {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: var(--mp-radius);
  background: var(--mp-blue-soft); color: var(--mp-blue); font-size: 14px; font-weight: 600; cursor: pointer; text-decoration: none;
  transition-property: background-color, scale; transition-duration: .18s; transition-timing-function: var(--mp-ease);
}
.pdv .pdv-btn-soft:hover { background: var(--mp-blue-soft-hover); color: var(--mp-blue); }
.pdv .pdv-btn-soft:active { scale: .96; }

.pdv-policy { display: flex; flex-direction: column; gap: 14px; margin-top: 8px; }
.pdv-policy__row { display: flex; gap: 14px; align-items: flex-start; }
.pdv-policy__row svg { flex: none; margin-top: 1px; }
.pdv-policy__row > span { font-size: 14px; color: var(--mp-ink-2); line-height: 1.5; text-wrap: pretty; }
.pdv-policy__row a { font-size: 14px; }
.pdv .pdv-wa { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; font-size: 14px; color: var(--mp-green); font-weight: 600; }
.pdv .pdv-wa:hover { color: #008A43; }

.pdv-checks { display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: var(--mp-ink-2); }
.pdv-checks__row { display: flex; align-items: center; gap: 8px; min-height: 26px; }
.pdv-checks__row svg { flex: none; }
.pdv-checks strong { color: var(--mp-ink); }

/* Vantagens (grade de 2 colunas, ícones de traço — sem emoji) */
.pdv-perks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.pdv-perks__it { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; background: var(--mp-surface); min-width: 0; }
.pdv-perks__ic { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #FFFFFF; color: var(--mp-navy); box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.pdv-perks__tx { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.pdv-perks__tx strong { font-size: 13px; color: var(--mp-ink); }
.pdv-perks__tx span { font-size: 12px; color: var(--mp-ink-2); }
@media (max-width: 380px) { .pdv-perks { grid-template-columns: 1fr; } }

/* Sinais de urgência reais (vendas e estoque do produto) */
.pdv-hot { display: flex; flex-wrap: wrap; gap: 8px; }
.pdv-hot__it { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border-radius: 999px; background: #FFF1E6; color: #B5470B; font-size: 13px; }
.pdv-hot__it strong { color: #B5470B; }
.pdv-hot__it--stock { background: #FDECEE; color: var(--mp-urg); font-weight: 700; }

.pdv-live { border-top: 1px solid var(--mp-border); padding-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.pdv-live__view { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--mp-ink-2); }
.pdv-live__view strong { color: var(--mp-ink); }
.pdv-live__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mp-green); animation: pdv-pulse 1.6s ease-in-out infinite; flex: none; }
.pdv-live__buyers { display: flex; flex-direction: column; gap: 4px; min-height: 38px; }
.pdv-live__buyer { font-size: 13px; color: var(--mp-ink-2); transition: opacity .3s ease; }
.pdv-live__buyer.is-out { opacity: 0; }
/* Avisos da cotação de máquinas (caminhão dedicado, descarga) no bloco de entrega. */
.pdv-cep__note { display: block; margin-top: 4px; font-size: 12px; line-height: 1.45; color: var(--mp-ink-2); text-wrap: pretty; }

/* ─── Descrição + ficha ─────────────────────────────────────── */
.pdv-info { padding: 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 32px; }
.pdv-info__col { min-width: 0; }
.pdv .pdv-h2 { font-size: 18px; font-weight: 600; margin: 0 0 12px; line-height: normal; }
.pdv .pdv-h2--flush { margin: 0; }
.pdv .pdv-h2--out { margin: 4px 0 12px; }
.pdv-desc { display: flex; flex-direction: column; gap: 10px; }
.pdv-desc__text {
  font-size: 14px; line-height: 1.6; color: var(--mp-ink-2); display: flex; flex-direction: column; gap: 10px;
  max-height: 246px; overflow: hidden; position: relative; overflow-wrap: anywhere; /* 11 linhas */
}
.pdv-desc__text.is-clamped { -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.pdv-desc__text.is-open { max-height: none; -webkit-mask-image: none; mask-image: none; }
.pdv-desc__text > * { margin: 0; text-wrap: pretty; }
.pdv-desc__text strong, .pdv-desc__text b { color: var(--mp-ink); }
.pdv-desc__text h2, .pdv-desc__text h3, .pdv-desc__text h4 { font-size: 15px; font-weight: 700; color: var(--mp-ink); margin: 4px 0 0; line-height: 1.4; }
.pdv-desc__text ul, .pdv-desc__text ol { padding-left: 18px; }
.pdv-desc__text li + li { margin-top: 4px; }
.pdv-desc__text img { height: auto; border-radius: 6px; }
.pdv-desc__text table { border-collapse: collapse; width: 100%; }
.pdv-desc__text td, .pdv-desc__text th { padding: 6px 8px; border-bottom: 1px solid var(--mp-border); text-align: left; }
.pdv .pdv-desc__more { align-self: flex-start; border: 0; background: transparent; padding: 0; min-height: 28px; font-size: 14px; font-weight: 600; color: var(--mp-blue); cursor: pointer; }
.pdv .pdv-desc__more:hover { color: var(--mp-blue-hover); background: transparent; }
.pdv .pdv-desc__ficha { align-self: flex-start; min-height: 44px; padding: 0 18px; text-align: left; }

.pdv-specs { font-size: 14px; border-radius: var(--mp-radius); overflow: hidden; }
.pdv-specs__row { display: flex; justify-content: space-between; gap: 16px; padding: 10px 14px; }
.pdv-specs__row:nth-child(odd) { background: var(--mp-surface); }
.pdv-specs__row > span { color: var(--mp-ink-2); }
.pdv-specs__row > strong { text-align: right; text-wrap: pretty; }
.pdv-specs--boxed { box-shadow: inset 0 0 0 1px var(--mp-border); }
.pdv-specs--boxed .pdv-specs__row { padding: 11px 14px; }

/* ─── Manuais e documentos (inc/product-documents.php) ─────── */
.pdv-docs { padding: 24px; scroll-margin-top: 90px; }
.pdv .lc-docs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 8px; }
.pdv .lc-docs__it {
  display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 10px 14px;
  border-radius: var(--mp-radius); box-shadow: inset 0 0 0 1px var(--mp-border);
  color: var(--mp-ink); text-decoration: none; transition-property: background-color; transition-duration: .15s; transition-timing-function: var(--mp-ease);
}
.pdv .lc-docs__it:hover { background: var(--mp-surface); color: var(--mp-ink); }
.pdv .lc-docs__it:focus-visible { outline: 2px solid var(--mp-blue); outline-offset: 2px; }
.pdv .lc-docs__ic { flex: none; font-size: 10px; font-weight: 700; letter-spacing: .04em; line-height: 1; padding: 6px 6px 5px; border-radius: 4px; background: #FDECEE; color: var(--mp-urg); }
.pdv .lc-docs__tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pdv .lc-docs__t { font-size: 14px; font-weight: 600; line-height: 1.3; text-wrap: pretty; }
.pdv .lc-docs__m { font-size: 12px; color: var(--mp-ink-2); font-variant-numeric: tabular-nums; }
.pdv .lc-docs__go { flex: none; color: var(--mp-ink-3); transition-property: color; transition-duration: .15s; transition-timing-function: var(--mp-ease); }
.pdv .lc-docs__it:hover .lc-docs__go { color: var(--mp-blue); }
.pdv .lc-docs__note { margin: 12px 0 0; font-size: 12px; color: var(--mp-ink-2); }

/* ─── Avaliações ───────────────────────────────────────────── */
.pdv-reviews { padding: 24px; display: flex; flex-wrap: wrap; gap: 32px; scroll-margin-top: 90px; }
.pdv-reviews__side { flex: 0 1 280px; min-width: 240px; display: flex; flex-direction: column; gap: 14px; }
.pdv-reviews__main { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.pdv-score { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.pdv-score__n { font-size: 52px; font-weight: 800; color: var(--mp-blue); line-height: 1; }
.pdv-score__stars { font-size: 17px; }
.pdv-score__stars .pdv-stars__off { color: var(--mp-ink-3); }
.pdv-score__c { font-size: 13px; color: var(--mp-ink-2); margin-top: 2px; }
.pdv-chip-green { align-self: flex-start; background: var(--mp-green-bg); color: var(--mp-green); font-size: 13px; font-weight: 700; padding: 5px 12px; border-radius: 999px; }
.pdv-dist { display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: var(--mp-ink-2); }
.pdv-dist__row { display: flex; align-items: center; gap: 8px; }
.pdv-dist__k { width: 16px; flex: none; white-space: nowrap; }
.pdv-dist__bar { flex: 1; height: 7px; border-radius: 999px; background: var(--mp-surface); overflow: hidden; }
.pdv-dist__bar > span { display: block; height: 100%; background: var(--mp-blue); border-radius: 999px; }
.pdv-dist__v { width: 30px; flex: none; text-align: right; font-variant-numeric: tabular-nums; }
.pdv-sum { background: var(--mp-surface); border-radius: var(--mp-radius-lg); padding: 12px 14px; }
.pdv-sum__t { font-size: 13px; font-weight: 700; margin-bottom: 4px; }
.pdv-sum__p { font-size: 13px; line-height: 1.55; color: var(--mp-ink-2); text-wrap: pretty; }
.pdv-praise__t { font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.pdv-praise { display: flex; flex-wrap: wrap; gap: 8px; }
.pdv-praise__chip { background: var(--mp-surface); font-size: 12px; font-weight: 600; padding: 5px 11px; border-radius: 999px; }
.pdv-praise__chip > span { color: var(--mp-ink-3); }

.pdv-rphotos__t { font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.pdv-rphotos { display: flex; gap: 8px; flex-wrap: wrap; }
.pdv-rphotos__it, .pdv-rv__photo {
  position: relative; flex: none; padding: 0; border: 0; overflow: hidden; cursor: zoom-in; background: var(--mp-surface);
  transition: scale .15s var(--mp-ease);
}
.pdv-rphotos__it { width: 76px; height: 76px; border-radius: 8px; }
.pdv-rv__photo { width: 60px; height: 60px; border-radius: 6px; }
.pdv-rphotos__it::after, .pdv-rv__photo::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); pointer-events: none; }
.pdv-rphotos__it img, .pdv-rv__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pdv-rphotos__it:active, .pdv-rv__photo:active { scale: .96; }
.pdv .pdv-rphotos__more {
  width: 76px; height: 76px; border: 0; border-radius: 8px; background: var(--mp-surface); display: flex; align-items: center;
  justify-content: center; font-size: 13px; font-weight: 700; color: var(--mp-blue); cursor: pointer;
}
.pdv .pdv-rphotos__more:hover { background: #EBEBEB; color: var(--mp-blue); }

.pdv-rvlist { display: flex; flex-direction: column; gap: 16px; }
.pdv-rv { border-top: 1px solid var(--mp-border); padding-top: 16px; display: flex; gap: 12px; }
.pdv-rv__avatar { width: 42px; height: 42px; flex: none; border-radius: 50%; color: #FFFFFF; font-size: 14px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.pdv-rv__body { flex: 1; min-width: 0; }
.pdv-rv__meta { display: flex; align-items: center; gap: 8px; font-size: 13px; flex-wrap: wrap; }
.pdv-rv__meta strong { font-size: 14px; }
.pdv-rv__ok { color: var(--mp-green); font-weight: 600; }
.pdv-rv__when { color: var(--mp-ink-3); }
.pdv-rv__stars { font-size: 14px; margin-top: 2px; }
.pdv-rv__text { margin: 6px 0 0; font-size: 14px; line-height: 1.55; text-wrap: pretty; overflow-wrap: anywhere; }
.pdv-rv__photos { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.pdv .pdv-rv__useful {
  margin-top: 10px; display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 14px; border: 0;
  border-radius: 999px; font-size: 13px; font-weight: 600; cursor: pointer; background: var(--mp-surface); color: var(--mp-ink-2);
  transition-property: background-color, color, scale; transition-duration: .15s; transition-timing-function: var(--mp-ease);
}
.pdv .pdv-rv__useful:hover { background: #EBEBEB; color: var(--mp-ink-2); }
.pdv .pdv-rv__useful[aria-pressed="true"] { background: var(--mp-blue-soft); color: var(--mp-blue); }
.pdv .pdv-rv__useful:active { scale: .96; }
.pdv .pdv-rvmore { display: flex; width: 100%; min-height: 44px; }

/* ─── Compre junto ─────────────────────────────────────────── */
.pdv-together__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.pdv-tcard { padding: 16px; display: flex; flex-direction: column; gap: 8px; transition: box-shadow .18s; }
.pdv-tcard:hover { box-shadow: 0 4px 16px rgba(0, 0, 0, .14); }
.pdv-tcard__img { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; border-radius: 6px; overflow: hidden; background: #FFFFFF; }
.pdv-tcard__img::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); pointer-events: none; }
.pdv-tcard__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.pdv .pdv-tcard__name {
  font-size: 14px; line-height: 1.4; min-height: 38px; color: var(--mp-ink);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.pdv .pdv-tcard__name:hover { color: var(--mp-blue); }
.pdv-tcard__price { font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; }
.pdv-tcard__pix { font-size: 13px; color: var(--mp-green); font-weight: 600; }
.pdv .pdv-tcard__add { display: flex; min-height: 40px; margin-top: auto; }

/* ─── Selos ────────────────────────────────────────────────── */
.pdv-seals { padding: 20px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; font-size: 13px; }
.pdv-seals__it { display: flex; gap: 10px; align-items: flex-start; }
.pdv-seals__it svg { flex: none; }
.pdv-seals__it > span { color: var(--mp-ink-2); text-wrap: pretty; }
.pdv-seals__it strong { color: var(--mp-ink); }

/* ─── Modais ───────────────────────────────────────────────── */
.pdv-modal {
  position: fixed; inset: 0; z-index: 99990; background: rgba(13, 36, 64, .55);
  display: flex; align-items: center; justify-content: center; padding: 20px;
  font-family: var(--mp-font); color: var(--mp-ink);
  animation: pdv-fade .18s var(--mp-ease);
}
.pdv-modal .pdv-dialog { animation: pdv-rise .22s var(--mp-ease); }
@keyframes pdv-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes pdv-rise { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
@media (prefers-reduced-motion: reduce) { .pdv-modal, .pdv-modal .pdv-dialog { animation: none; } }

.pdv-dialog { position: relative; background: #FFFFFF; border-radius: 12px; width: 100%; max-height: 85vh; overflow: auto; box-shadow: 0 24px 64px rgba(0, 0, 0, .30); overscroll-behavior: contain; }
.pdv-dialog--ficha { max-width: 880px; }
.pdv-dialog--loja { max-width: 480px; max-height: 88vh; }
.pdv-dialog--pag { max-width: 600px; }
.pdv-dialog--gar { max-width: 560px; }
.pdv-dialog--dev { max-width: 640px; padding: 30px 32px 36px; }
.pdv-dialog__head {
  position: sticky; top: 0; z-index: 1; background: #FFFFFF; display: flex; justify-content: space-between; align-items: center;
  gap: 12px; padding: 16px 24px; border-bottom: 1px solid var(--mp-border);
}
.pdv-dialog__title { font-size: 18px; font-weight: 700; }
.pdv .pdv-dialog__x {
  width: 38px; height: 38px; flex: none; border: 0; border-radius: 8px; background: var(--mp-surface); font-size: 16px;
  cursor: pointer; color: var(--mp-ink-2); padding: 0; display: flex; align-items: center; justify-content: center;
  transition-property: background-color, scale; transition-duration: .15s;
}
.pdv .pdv-dialog__x:hover { background: #E6E6E6; color: var(--mp-ink-2); }
.pdv .pdv-dialog__x:active { scale: .96; }
.pdv .pdv-dialog__x--float { position: absolute; top: 10px; right: 10px; z-index: 2; width: 36px; height: 36px; border-radius: 50%; background: #FFFFFF; box-shadow: 0 1px 4px rgba(0, 0, 0, .18); font-size: 15px; }
.pdv .pdv-dialog__x--float:hover { background: #FFFFFF; }
.pdv .pdv-dialog__x--blue { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; background: transparent; font-size: 18px; color: var(--mp-blue); }
.pdv .pdv-dialog__x--blue:hover { background: var(--mp-surface); color: var(--mp-blue); }
.pdv-dialog__body { padding: 20px 24px 24px; display: flex; flex-direction: column; gap: 16px; }

/* Ficha */
.pdv-ficha { padding: 20px 24px 24px; display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.pdv-ficha__main { flex: 1.4 1 320px; min-width: 0; }
.pdv-ficha__ref { background: #E9F0FA; border-radius: 8px; padding: 12px 16px; margin-bottom: 14px; }
.pdv-ficha__ref-k { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; color: var(--mp-ink-2); }
.pdv-ficha__ref-v { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 16px; font-weight: 700; color: var(--mp-navy); margin-top: 2px; }
.pdv-ficha__box { flex: 1 1 250px; min-width: 0; background: #E9F0FA; border-radius: 10px; padding: 18px 20px; }
.pdv-ficha__box-t { font-size: 15px; font-weight: 700; color: var(--mp-navy); margin-bottom: 10px; }
.pdv-ficha__list { display: flex; flex-direction: column; gap: 8px; font-size: 14px; color: var(--mp-ink); }
.pdv-ficha__foot { border-top: 1px solid rgba(20, 55, 95, .15); margin-top: 14px; padding-top: 12px; font-size: 13px; color: var(--mp-ink-2); display: flex; flex-direction: column; gap: 6px; }

/* Loja */
.pdv-loja__cover { height: 110px; border-radius: 12px 12px 0 0; background: linear-gradient(120deg, #0D2440, #1C4B8B 60%, #2A61A5); }
.pdv-loja__body { padding: 0 20px 24px; }
.pdv-loja__logo {
  width: 96px; height: 96px; border-radius: 50%; background: #FFFFFF; margin-top: -48px; position: relative;
  box-shadow: 0 0 0 4px #FFFFFF, 0 1px 4px rgba(0, 0, 0, .18); display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.pdv-loja__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; }
.pdv-loja__name { font-size: 24px; font-weight: 600; letter-spacing: -.2px; }
.pdv .pdv-loja__follow {
  flex: none; border-radius: 6px; background: var(--mp-blue-soft); color: var(--mp-blue); font-size: 15px; font-weight: 600; padding: 10px 18px;
  transition-property: background-color, scale; transition-duration: .15s;
}
.pdv .pdv-loja__follow:hover { background: var(--mp-blue-soft-hover); color: var(--mp-blue); }
.pdv .pdv-loja__follow:active { scale: .96; }
.pdv-loja__sub { display: flex; align-items: center; gap: 6px; font-size: 15px; color: var(--mp-ink-2); margin-top: 6px; }
.pdv-loja__sub svg { flex: none; }
.pdv-loja__nums { display: flex; gap: 18px; font-size: 15px; color: var(--mp-ink-2); margin-top: 10px; flex-wrap: wrap; }
.pdv-loja__nums strong { color: var(--mp-ink); }
.pdv-loja__lvl { display: flex; gap: 12px; align-items: flex-start; margin-top: 22px; }
.pdv-loja__lvl svg { flex: none; margin-top: 2px; }
.pdv-loja__lvl-t { display: block; font-size: 19px; font-weight: 600; color: #00A650; }
.pdv-loja__lvl-s { display: block; font-size: 15px; color: var(--mp-ink-2); margin-top: 2px; }
.pdv-thermo { display: flex; gap: 5px; margin-top: 18px; }
.pdv-thermo > span { flex: 1; height: 10px; border-radius: 2px; }
.pdv-loja__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 22px; text-align: center; align-items: start; }
.pdv-loja__grid-n { font-size: 20px; font-weight: 700; min-height: 30px; display: flex; align-items: center; justify-content: center; }
.pdv-loja__grid-ic { min-height: 30px; display: flex; align-items: center; justify-content: center; position: relative; }
.pdv-loja__grid-ok { position: absolute; margin-left: 22px; margin-top: 10px; }
.pdv-loja__grid-k { font-size: 15px; color: var(--mp-ink-2); margin-top: 6px; text-wrap: balance; }

/* Pagamento */
.pdv-pay { display: flex; gap: 12px; align-items: flex-start; border-radius: var(--mp-radius-lg); box-shadow: inset 0 0 0 1px var(--mp-border); padding: 14px 16px; }
.pdv-pay--on { box-shadow: inset 0 0 0 1.5px var(--mp-green); }
.pdv-pay__ic { width: 40px; height: 40px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; }
.pdv-pay__ic--green { background: var(--mp-green-bg); }
.pdv-pay__ic--blue { background: #E9F0FA; }
.pdv-pay__ic--violet { background: #F3EBFC; }
.pdv-pay__txt { min-width: 0; font-size: 13px; color: var(--mp-ink-2); }
.pdv-pay__t { font-size: 15px; font-weight: 700; color: var(--mp-ink); }
.pdv-pay__badge { background: var(--mp-green-bg); color: var(--mp-green); font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; margin-left: 6px; }
.pdv-pay__p { display: block; margin-top: 4px; text-wrap: pretty; }
.pdv-pay__p strong { color: var(--mp-ink); }
.pdv-pay__brands { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.pdv-pay__brands > span { background: var(--mp-surface); font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 4px; color: var(--mp-ink); }
.pdv-note { background: var(--mp-surface); border-radius: var(--mp-radius); padding: 10px 14px; font-size: 13px; color: var(--mp-ink-2); text-wrap: pretty; }
.pdv-note strong { color: var(--mp-ink); }

/* Garantia */
.pdv-gar__lead { font-size: 14px; color: var(--mp-ink-2); text-wrap: pretty; }
.pdv-gar__lead strong { color: var(--mp-ink); }
.pdv-step { display: flex; gap: 12px; align-items: flex-start; }
.pdv-step__n { width: 32px; height: 32px; flex: none; border-radius: 50%; background: var(--mp-green-bg); color: var(--mp-green); font-weight: 800; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.pdv-step > span:last-child { font-size: 14px; color: var(--mp-ink-2); text-wrap: pretty; }
.pdv-step strong { color: var(--mp-ink); }
.pdv-dialog--gar .pdv-note { padding: 12px 14px; }

/* Devolução */
.pdv .pdv-dev__h { font-size: 22px; font-weight: 700; margin: 0; padding-right: 44px; line-height: 1.35; text-wrap: balance; }
.pdv-dev__list { display: flex; flex-direction: column; gap: 24px; margin-top: 32px; }
.pdv-dev__it { display: flex; gap: 20px; align-items: center; }
.pdv-dev__it svg { flex: none; }
.pdv-dev__it > span { font-size: 15px; color: var(--mp-ink); line-height: 1.5; text-wrap: pretty; }

/* Lightbox */
.pdv-modal--lb { background: rgba(10, 18, 30, .92); padding: 0; }
.pdv-lb { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 56px 72px; }
.pdv-lb__img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px; background: #FFFFFF; }
.pdv .pdv-lb__x, .pdv .pdv-lb__nav {
  position: absolute; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #FFFFFF; cursor: pointer;
  display: flex; align-items: center; justify-content: center; padding: 0; transition-property: background-color, scale; transition-duration: .15s;
}
.pdv .pdv-lb__x { top: 14px; right: 14px; width: 44px; height: 44px; font-size: 18px; }
.pdv .pdv-lb__nav { top: 50%; translate: 0 -50%; width: 48px; height: 48px; font-size: 28px; line-height: 1; }
.pdv .pdv-lb__nav--prev { left: 14px; }
.pdv .pdv-lb__nav--next { right: 14px; }
.pdv .pdv-lb__x:hover, .pdv .pdv-lb__nav:hover { background: rgba(255, 255, 255, .22); color: #FFFFFF; }
.pdv .pdv-lb__x:active, .pdv .pdv-lb__nav:active { scale: .96; }
.pdv-lb__count { position: absolute; bottom: 16px; left: 50%; translate: -50% 0; color: rgba(255, 255, 255, .8); font-size: 13px; font-weight: 600; }

/* ─── Mobile ───────────────────────────────────────────────
   O layout do design já é fluido (flex-wrap/auto-fit); aqui só o que ele não cobre. */
@media (max-width: 720px) {
  .pdv-lb { padding: 56px 8px; }
  .pdv .pdv-lb__nav { top: auto; bottom: 8px; translate: none; }
  .pdv-dialog--dev { padding: 24px 20px 28px; }
}

/* ─── Mercado Pago (logo oficial, assets/img/payment/mercado-pago-*.svg) ─── */
.pdv .pdv-mp { display: inline-block; width: auto; height: 20px; vertical-align: -5px; margin-left: 2px; }
.pdv .pdv-mp--lg { display: block; height: 34px; margin: 0 0 -4px; vertical-align: 0; }
.pdv .pdv-note--mp { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.pdv .pdv-note--mp .pdv-mp { flex: none; height: 24px; vertical-align: 0; }

/* ─── Confirmação "adicionado ao carrinho" ──────────────────── */
.pdv-toast {
  position: fixed; z-index: 99995; right: 24px; top: 24px; max-width: min(420px, calc(100vw - 32px));
  display: flex; align-items: center; gap: 12px; padding: 12px 14px 12px 12px; border-radius: 10px;
  background: #FFFFFF; color: var(--mp-ink); font-size: 14px; font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .10), 0 8px 28px rgba(0, 0, 0, .16);
  opacity: 0; translate: 0 -8px; pointer-events: none;
  transition-property: opacity, translate; transition-duration: .2s; transition-timing-function: var(--mp-ease);
}
.pdv-toast.is-on { opacity: 1; translate: 0 0; pointer-events: auto; }
.pdv-toast__ic { width: 28px; height: 28px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--mp-green-bg); color: var(--mp-green); font-weight: 800; }
.pdv-toast.is-error .pdv-toast__ic { background: #FDF1F2; color: var(--mp-urg); }
.pdv-toast__txt { flex: 1; min-width: 0; text-wrap: pretty; }
.pdv .pdv-toast__cta { flex: none; display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border-radius: var(--mp-radius); background: var(--mp-blue-soft); color: var(--mp-blue); font-size: 13px; font-weight: 600; transition-property: background-color, scale; transition-duration: .15s; }
.pdv .pdv-toast__cta:hover { background: var(--mp-blue-soft-hover); color: var(--mp-blue); }
.pdv .pdv-toast__cta:active { scale: .96; }
@media (max-width: 720px) {
  .pdv-toast { left: 16px; right: 16px; top: auto; bottom: calc(var(--mo-tabbar-h, 64px) + 16px + env(safe-area-inset-bottom)); max-width: none; translate: 0 8px; }
}
@media (prefers-reduced-motion: reduce) { .pdv-toast { transition: none; } }
