/* Evidelo PDP Flow V4 — identidade unificada para toda rota /produto/{slug}.
 * Camada visual sobre product-layout.css; não altera os dados do backend.
 * Estados vazios respeitam [hidden], sem simular avaliações ou descontos.
 */
.product-page {
  --product-brand:#1769ff;
  --product-accent:#185ed8;
  --product-ink:#10213e;
  --product-subtle:#53627a;
  --product-rule:#e2e9f3;
  --product-soft:#f5f8fe;
  --product-hero-text:#10213e;
  --product-hero-muted:#61718a;
  --product-hero-border:#e1e9f5;
  --product-radius:16px;
  background:#f5f8fc;
}
.product-page .wrap { width:min(1280px,calc(100% - 48px)); }
.product-page .product-hero {
  color:#10213e;
  background:linear-gradient(180deg,#fff 0%,#f9fbff 100%);
  padding:17px 0 26px;
  border-bottom:1px solid #e6ecf5;
}
.product-page .crumb { color:#728096; margin-bottom:18px; }
.product-page .crumb a { color:#185ed8; }
.product-page .crumb a:hover { color:#123e9f; }
.product-page .crumb strong { color:#526079; }
.product-page .crumb span { color:#9ba7ba; }
.product-page .hero-grid { grid-template-columns:minmax(0, 490px) minmax(0, 1fr); gap:30px; align-items:start; }
.product-page .product-hero__visual { min-width:0; gap:12px; }
.product-page .media {
  background:#fff;border:1px solid #e5ebf4;
  box-shadow:none;border-radius:18px;min-width:0;aspect-ratio:1/1;
}
.product-page .media img { padding:23px; }
.product-page .product-gallery__thumb {
  border:1px solid #e2e9f2;opacity:1;border-radius:10px;
  background:#fff;width:54px;height:54px;flex-basis:54px;
}
.product-page .product-gallery__thumb.is-active {
  border-color:#1769ff;box-shadow:0 0 0 1px #1769ff;
}
.product-page .product-hero__image-note { display:none; }
.product-page .product-hero__story {
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"intro intro" "verdict score" "buy buy";
  gap:13px 20px;
}
.product-page .product-hero__intro { gap:9px; }
.product-page .product-hero__kicker {
  color:#586b8d;text-transform:uppercase;font-size:11px;
  letter-spacing:.12em;font-weight:800;
}
.product-page .product-hero h1 {
  color:#10213e;max-width:30ch;
  font-size:clamp(1.55rem,2.7vw,2.45rem);
  line-height:1.15;letter-spacing:-.025em;
}
.product-page .name-specs { color:#53627a;font-size:13px; }
.product-page #subtitle { color:#53627a;font-size:14px; }
.product-page .product-hero__chips { gap:6px; }
.product-page .product-hero__chips .product-meta span,
.product-page .product-hero__chips .badge,
.product-page .family-chip {
  color:#315278;background:#edf4ff;border:1px solid #dbe8fb;
  padding:3px 10px;min-height:26px;font-size:11px;
}
.product-page .product-hero__chips .badge--preliminar {
  background:#fff5e5;border-color:#ffe6b5;color:#995b0d;
}
.product-page .product-hero__intro>.lede { color:#64748b;font-size:13.5px;line-height:1.55; }
.product-page .rating-row { color:#55647b; }
.product-page .product-hero__buy {
  grid-area:buy;display:grid;gap:12px;padding:18px 20px;
  border:1px solid #e0e8f4;border-radius:15px;
  background:#f8fbff;color:#10213e;box-shadow:none;
}
.product-page .product-hero__buy .product-buy__label {
  color:#62718a;font-size:11px;letter-spacing:.06em;
}
.product-page .product-hero__buy .price {
  color:#10213e;font-size:clamp(30px,3.1vw,40px);letter-spacing:-.04em;
}
.product-page .product-hero__buy #currentPriceSource { color:#687790;font-size:12px; }
.product-page .product-hero__buy .product-hero__commerce {
  grid-template-columns:minmax(0,1fr) minmax(0,205px);
  gap:7px 14px;align-items:center;
}
.product-page .product-hero__buy .product-hero__commerce > .product-buy__chips {
  grid-column:1;grid-row:auto;justify-content:flex-start;
}
.product-page .product-hero__buy .product-hero__commerce > .actions {
  display:flex;flex-direction:column;align-items:stretch;
  grid-column:2;grid-row:1 / span 5;gap:8px;margin:0;
}
.product-page .product-hero__buy .actions #ctaOfertas {
  order:0;width:100%;min-height:48px;border-radius:11px;
  background:#1769ff;color:#fff;border:0;font-size:14px;
  box-shadow:0 4px 12px rgb(23 105 255 / .17);
}
.product-page .product-hero__buy .actions #ctaOfertas:hover { background:#0656e6; }
.product-page .product-hero__buy .actions #compareProduct {
  order:1;min-height:40px;background:#fff;color:#1b57b2;
  border:1px solid #d6e4fa;border-radius:11px;
}
.product-page .product-hero__buy .actions #refreshPrice {
  order:2;min-height:30px;align-self:center;
  color:#536987;text-decoration:underline;font-size:12px;
}
.product-page .product-hero__buy .actions #refreshPriceStatus { order:3; }
.product-page .product-hero__buy .actions > .btn.subtle {
  order:4;min-height:35px;background:transparent;color:#315d9f;
  border:0;text-decoration:underline;
}
.product-page .product-hero__buy .disclosure {
  border-color:#e0e8f2;color:#748198;font-size:11px;
}
.product-page .hero-verdict {
  background:#eaf8ef;color:#19704a;box-shadow:none;
  border-radius:12px;font-size:13px;min-height:38px;
}
.product-page .hero-verdict__icon { background:#d7efdf; }
.product-page .hero-verdict[data-verdict="not_worth_it"] {
  background:#fff0ef;color:#ad302c;box-shadow:none;
}
.product-page .hero-verdict[data-verdict="better_alternative"] {
  background:#fff6e2;color:#85620b;box-shadow:none;
}
.product-page .product-hero .score {
  width:112px;height:112px;background:#f5f9ff;
}
.product-page .product-hero .score::before {
  background:conic-gradient(#1769ff calc(var(--score,0)*1%),#e7eef8 0);
}
.product-page .product-hero .score .v { color:#0d2c69;font-size:28px; }
.product-page .product-hero .score .k { color:#62718a;font-size:10px; }
.product-page .product-trust {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;margin-top:18px;border:1px solid #e1e9f5;
  border-radius:14px;background:#fff;box-shadow:0 2px 14px rgb(18 42 75 / .035);
  overflow:hidden;
}
.product-page .product-trust__item {
  min-width:0;display:flex;align-items:center;gap:11px;padding:16px 18px;
  border-right:1px solid #e8eef7;
}
.product-page .product-trust__item:last-child { border-right:0; }
.product-page .product-trust__icon {
  display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;
  background:#eaf2ff;border-radius:10px;color:#1769ff;font-size:16px;font-weight:800;
}
.product-page .product-trust strong { display:block;color:#213553;font-size:12px;line-height:1.35; }
.product-page .product-trust small { display:block;color:#748198;font-size:11px;line-height:1.4; }
.product-page .product-chapters { box-shadow:0 4px 14px rgb(13 45 79 / .035); }
.product-page .product-chapters a.is-active { background:#e9f1ff;color:#175bcb; }
.product-page .product-layout { padding-top:22px; }
.product-page .product-main { gap:20px; }
.product-page .section {
  padding:22px 25px;border-color:#e0e7f2;
  border-radius:16px;box-shadow:0 3px 16px rgb(26 49 85 / .045);
}
.product-page .section-heading__kicker { color:#1f6af0; }
.product-page .section-heading h2,.product-page .section h2 { font-size:clamp(19px,2vw,23px); }
.product-page #ofertas {
  border:1px solid #dce7fa;
  background:#fff;
}
.product-page .offer-comparison-summary {
  padding:12px 14px;border-radius:11px;background:#f2f7ff;border-color:#dce8fa;
}
.product-page .offer {
  border:1px solid #e2eaf5;border-radius:12px;
  background:#fff;padding:14px 16px;gap:8px 16px;
}
.product-page .offer--best { border-color:#a4d6bf;box-shadow:inset 3px 0 0 #20a76e; }
.product-page .offer .offer-price { color:#172d4f; }
.product-page .offer-actions .btn.primary {
  color:#fff;background:#1769ff;border-radius:10px;
}
.product-page .offers-pager__page[aria-current="page"] {
  background:#1769ff;color:white;border-color:#1769ff;
}
.product-page #resumo .verdict-panel { border:0;box-shadow:none;background:transparent; }
.product-page #resumo .decision-card { border-color:#e0e8f3;background:#fafdff; }
.product-page .decision-card__title { font-family:var(--product-display); }
.product-page .decision-card.decision-summary>div { border-left-color:#ffbf46; }
.product-page .decision-card.decision-summary>div:first-of-type { border-left-color:#21a86c; }
.product-page #preco .price-overview,
.product-page #reviewsSection .rating-big,
.product-page #knowSection .two { min-width:0; }
.product-page .review-card { border-color:#e5ecf7; }
.product-page .product-faq__items { display:grid;gap:9px; }
.product-page .product-faq__item {
  border:1px solid #e1eaf5;border-radius:11px;background:#fafcff;overflow:hidden;
}
.product-page .product-faq__item summary {
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;
  gap:15px;align-items:center;padding:14px 17px;
  font-size:14px;font-weight:650;color:#193250;
}
.product-page .product-faq__item summary::-webkit-details-marker {display:none;}
.product-page .product-faq__item summary::after {content:"+";font-size:20px;color:#1769ff;line-height:1;}
.product-page .product-faq__item[open] summary::after {content:"−";}
.product-page .product-faq__item p {
  margin:0;padding:0 17px 17px;font-size:13.5px;line-height:1.65;color:#53627a;
}
.product-page .product-next-step {
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:20px 24px;border:1px solid #d7e6ff;border-radius:15px;
  background:linear-gradient(110deg,#edf5ff,#f8fbff);
}
.product-page .product-next-step h2 { margin:0;font-size:17px;color:#153660; }
.product-page .product-next-step p { margin:4px 0 0;font-size:13px;color:#5c6c82; }
.product-page .product-next-step .btn { background:#1769ff;color:#fff;min-height:43px;border-color:#1769ff;white-space:nowrap; }
.product-page .verdict-sources { display:block; }
.product-page .verdict-sources>summary { cursor:pointer;font-size:15px;color:#174fbd;font-weight:700; }
.product-page .verdict-sources .evidence-list { max-height:460px;overflow:auto; }
.product-page .sticky-buy { border-radius:12px;background:#0c2042; }
.product-page .sticky-buy .btn.primary { background:#1769ff;color:#fff; }
.product-page a:focus-visible,
.product-page button:focus-visible,
.product-page summary:focus-visible { outline:3px solid #4b9cfe;outline-offset:3px; }
.product-page #ofertas,.product-page #resumo,.product-page #preco,
.product-page #reviewsSection,.product-page #knowSection,.product-page #alternativesSection,
.product-page #faqSection { scroll-margin-top:140px; }
@media(min-width:900px) {
  .product-page .product-hero__visual:has(#mediaThumbs:not([hidden])) {
    display:grid;grid-template-columns:65px minmax(0,1fr);
    grid-template-areas:"thumb media";gap:10px;align-items:start;
  }
  .product-page .product-hero__visual:has(#mediaThumbs:not([hidden])) .media { grid-area:media; }
  .product-page .product-hero__visual:has(#mediaThumbs:not([hidden])) #mediaThumbs {
    grid-area:thumb;display:flex;flex-direction:column;align-items:center;
    max-height:440px;overflow-y:auto;overflow-x:hidden;
    gap:8px;scrollbar-width:thin;padding:2px;
  }
}
@media(max-width:1023px) {
  .product-page .hero-grid { grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:22px; }
  .product-page .product-hero__story {
    grid-template-columns:1fr;
    grid-template-areas:"intro" "verdict" "score" "buy";
  }
  .product-page .product-hero__buy .product-hero__commerce {
    grid-template-columns:minmax(0,1fr);
  }
  .product-page .product-hero__buy .product-hero__commerce > .actions {
    grid-column:1;grid-row:auto;
  }
  .product-page .product-trust__item { padding:12px;gap:8px; }
  .product-page .product-trust small { display:none; }
}
@media(max-width:760px) {
  .product-page .wrap { width:min(100% - 28px,600px); }
  .product-page .product-hero { padding:12px 0 16px; }
  .product-page .crumb { gap:5px;margin-bottom:14px;font-size:11px; }
  .product-page .hero-grid { display:grid;grid-template-columns:minmax(0,1fr);gap:12px; }
  .product-page .product-hero__story { display:contents; }
  .product-page .hero-grid .product-hero__story > * { grid-area:auto;grid-column:1 / -1; }
  .product-page .product-hero__intro { order:1; }
  .product-page .product-hero__visual { order:2; }
  .product-page .hero-verdict { order:3; }
  .product-page .score-row { order:4; }
  .product-page .product-hero__buy { order:5; }
  .product-page .product-hero h1 { font-size:clamp(1.5rem,6vw,1.9rem);max-width:none; }
  .product-page .product-hero__visual .media { height:265px;aspect-ratio:auto; }
  .product-page .product-hero__visual .media img { padding:12px; }
  .product-page .product-gallery__thumbs { flex-wrap:nowrap; }
  .product-page .product-hero__buy { padding:14px 15px; }
  .product-page .product-hero__buy .product-hero__commerce {grid-template-columns:1fr;}
  .product-page .product-hero__buy .product-hero__commerce > .actions {
    grid-column:1;grid-row:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
  }
  .product-page .product-hero__buy .actions #ctaOfertas { grid-column:1 / -1; }
  .product-page .product-hero__buy .actions #compareProduct { grid-column:1 / -1; }
  .product-page .product-hero__buy .actions #refreshPrice,
  .product-page .product-hero__buy .actions #refreshPriceStatus { grid-column:1 / -1; }
  .product-page .product-hero__buy .actions >.btn.subtle { grid-column:auto; }
  .product-page .product-trust { grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px; }
  .product-page .product-trust__item { padding:12px; }
  .product-page .product-trust__item:nth-child(2) { border-right:0; }
  .product-page .product-trust__item:nth-child(-n+2) { border-bottom:1px solid #e8eef7; }
  .product-page .product-trust strong { font-size:11px; }
  .product-page .product-trust__icon { flex-basis:29px;width:29px;height:29px; }
  .product-page .product-chapters .wrap { min-height:44px; }
  .product-page .product-layout { padding-top:14px; }
  .product-page .section { padding:18px 15px; }
  .product-page .offer { gap:8px; }
  .product-page .product-next-step { flex-direction:column;align-items:stretch;padding:18px; }
  .product-page .product-next-step .btn { width:100%; }
  .product-page .sticky-buy {
    left:0;right:0;bottom:0;border-radius:14px 14px 0 0;
  }
}
@media(prefers-reduced-motion:reduce){
  .product-page .offer,.product-page .btn { transition:none; }
}
