/* =========================================================================
   PDP Lamier (replica lelamier.com/products/lamier) — parte nativa do Focal.
   Medido em 1240 e 390 px. Blocos custom trazem o proprio CSS (template-parts/pdp/).
   Espacamento Focal entre blocos da coluna: 16px (wrapper .lpdp__block).
   ========================================================================= */

.lpdp { font-family: 'Poppins', sans-serif; color: #000; letter-spacing: normal; padding: 24px 0 36px; }
@media (min-width: 750px) { .lpdp { padding: 0; } }
.lpdp__container { padding: 0 12px; }
@media (min-width: 750px) { .lpdp__container { padding: 0 40px; } }

/* ===== Breadcrumb (so desktop, como na ref: hidden-phone) ===== */
.lpdp__breadcrumb { display: none; }
@media (min-width: 750px) {
  .lpdp__breadcrumb { display: block; padding: 26px 0; }
  .lpdp__breadcrumb-list { display: flex; flex-wrap: wrap; align-items: center; list-style: none; margin: 0; padding: 0; line-height: 20px; }
  .lpdp__breadcrumb-link { font-size: 13px; line-height: 20px; color: rgba(0, 0, 0, .7); text-decoration: none; }
  a.lpdp__breadcrumb-link:hover { color: #000; }
  .lpdp__breadcrumb-item + .lpdp__breadcrumb-item::before {
    content: ""; display: inline-block; width: 4px; height: 4px; margin: 0 12px 2px; border-radius: 50%;
    background: rgba(0, 0, 0, .7); vertical-align: middle;
  }
}

/* ===== Grade: galeria 533 | gap 59 | info 450 (em 1240) ===== */
.lpdp__grid { display: block; }
@media (min-width: 1000px) {
  .lpdp__grid {
    display: grid; grid-template-columns: minmax(0, 1fr) 450px; column-gap: 59px; align-items: start;
    padding: 0 44px 0 4.83vw;
  }
  .lpdp__media { position: sticky; top: 24px; }
}

/* ===== Galeria ===== */
.lpdp__slider {
  display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.lpdp__slider::-webkit-scrollbar { display: none; }
.lpdp__slide { flex: 0 0 100%; scroll-snap-align: start; aspect-ratio: 1 / 1; }
.lpdp__slide[hidden], .lpdp__thumb[hidden] { display: none; }
.lpdp__image { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 1000px) { .lpdp__slider { overflow: hidden; } }

.lpdp__nav { margin-top: 16px; }
.lpdp__thumbs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px; margin: -2px; }
.lpdp__thumbs::-webkit-scrollbar { display: none; }
.lpdp__thumb { flex: 0 0 auto; width: 69px; height: 68px; padding: 0; border: 0; background: none; cursor: pointer; }
.lpdp__thumb-inner { position: relative; display: block; width: 100%; height: 100%; padding: 2px; }
.lpdp__thumb-inner img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lpdp__thumb.is-active .lpdp__thumb-inner::after { content: ""; position: absolute; inset: 0; box-shadow: 0 0 0 2px #000; }
.lpdp__dots { display: none; }
@media (max-width: 749px) {
  .lpdp__nav { margin-top: 18px; }
  .lpdp__thumbs { gap: 0; }
  .lpdp__thumb { width: 80px; height: 80px; }
}

/* ===== Coluna de informacoes ===== */
.lpdp__info { display: flow-root; margin-top: 16px; }
@media (min-width: 1000px) { .lpdp__info { margin-top: 0; } }
.lpdp__info > .lpdp__block { margin-top: 16px; }
.lpdp__info > .lpdp__block:last-child { margin-top: 31px; }
.lpdp #lam-header { margin: 33px 0 0; }
@media (min-width: 750px) { .lpdp #lam-header { margin-top: 25px; } }
/* Cabecalhos transplantados dos outros produtos trazem margin-top:-40px inline (a ref compensa com o
   gap-eater do Focal); aqui o topo e fixado igual ao do Lamier. */
.lpdp #lam-header[style*="-40px"], .lpdp #lam-header-kit { margin-top: 33px !important; }
@media (min-width: 750px) { .lpdp #lam-header[style*="-40px"], .lpdp #lam-header-kit { margin-top: 25px !important; } }

/* Estrelas (replica Trustoo) */
.lpdp__stars { display: flex; align-items: center; min-height: 14px; margin-top: 6px; font-size: 0; }
.lpdp__star { position: relative; display: inline-block; width: 14px; height: 14px; margin-right: 2px; }
.lpdp__star-icon { display: block; width: 14px; height: 14px; }
.lpdp__star-icon path { fill: var(--star-color); }
.lpdp__star--part > .lpdp__star-icon path { fill: var(--nostar-color); }
.lpdp__star-fill { position: absolute; top: 0; left: 0; bottom: 0; overflow: hidden; }
.lpdp__star-fill .lpdp__star-icon path { fill: var(--star-color); }
.lpdp__stars-text { display: inline-block; margin: 2px 6px 0; font-size: 12px; line-height: 14px; color: #585858; }

/* Cores (replica Globo Swatch) */
.lpdp__swatches { margin: 10px 0 0; padding: 0 0 15px; border: 0; min-width: 0; }
.lpdp__legend { padding: 0; font-size: 14px; line-height: 21px; color: #000; }
.lpdp__swatch-list { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 10px 0 0; padding: 0; }
.lpdp__swatch-item { position: relative; }
.lpdp__swatch {
  display: block; width: 35px; height: 35px; padding: 0; border-radius: 50%; cursor: pointer;
  border: 1px solid #ddd;
}
.lpdp__swatch.is-selected { border-color: #1c1c1c; }
.lpdp__swatch-tip {
  position: absolute; left: 50%; bottom: calc(100% + 6px); transform: translateX(-50%);
  padding: 2px 8px; border-radius: 4px; background: #fff; color: #000; font-size: 14px; line-height: 20px;
  white-space: nowrap; box-shadow: 0 1px 4px rgba(0, 0, 0, .2); opacity: 0; pointer-events: none; transition: opacity .15s;
}
@media (hover: hover) { .lpdp__swatch-item:hover .lpdp__swatch-tip { opacity: 1; } }

/* Botao de compra */
.lpdp__form { margin-top: 24px; }
@media (min-width: 750px) { .lpdp__form { margin-top: 32px; } }
.lpdp__atc {
  display: block; width: 100%; height: 52px; padding: 0 35px; border: 0; border-radius: 0; cursor: pointer;
  background: #000; color: #fff; font-family: inherit; font-size: 13px; font-weight: 600; line-height: 52px;
  letter-spacing: 2px; text-transform: uppercase;
}
.lpdp__atc[disabled] { opacity: .6; cursor: progress; }
@media (max-width: 999px) { .lpdp__atc { height: 48px; line-height: 48px; font-size: 12px; } }

/* ===== Secoes abaixo do produto: ritmo Focal 48 / 80 ===== */
/* Altura de linha do corpo Focal (14/24 mobile, 15/26 desktop), herdada pelos blocos transplantados. */
.lpdp-page { line-height: 1.7143; }
@media (min-width: 1000px) { .lpdp-page { line-height: 1.7333; } }
.lpdp-sec { margin-top: 48px; }
@media (min-width: 1000px) { .lpdp-sec { margin-top: 80px; } }
.lpdp-sec > .lamier-featured--carousel { padding-top: 0; }
.lpdp-sec--liquid { display: flow-root; padding: 0 24px; }
@media (min-width: 750px) { .lpdp-sec--liquid { padding: 0 40px; } }
.lpdp-sec--avis .lamier-avis { margin: 0; }
.lpdp-sec--reviews .lam-reviews { margin-top: 0; }

/* Rich text (Focal content-box, texto a esquerda) */
.lpdp-sec--rich { padding: 0 24px; }
.lpdp-rich { font-size: 14px; line-height: 24px; color: #000; }
.lpdp-rich p { margin: 0; }
.lpdp-rich p + p { margin-top: 24px; }
@media (min-width: 750px) { .lpdp-sec--rich { padding: 0 40px; } }
/* Desktop: a ref desloca a caixa 4.83vw e mantem 100% de largura (texto passa da borda direita e e
   cortado pelo overflow-x do body) — reproduzido como esta. */
@media (min-width: 1000px) { .lpdp-rich { font-size: 15px; line-height: 26px; margin-left: 4.83vw; width: 100%; } }

/* Depoimentos na PDP: sem o titulo oculto da home → respiro superior 64 (desktop) */
.lpdp-sec--avis .lamier-avis { padding-top: 48px; }
@media (min-width: 1000px) { .lpdp-sec--avis .lamier-avis { padding-top: 64px; } }
