/**
 * Componentes da Página de Produto (PDP): buybox, quantidade, seções ricas, avaliações.
 * Carregado condicionalmente em alquilab_enqueue_assets() (functions.php).
 */

/* ==========================================================================
   8. Página de Produto (PDP) (.pdp-main)
   ========================================================================== */

.pdp-main {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 52px;
  align-items: start;
  margin: 32px 0 64px 0;
}

@media (max-width: 960px) {
  .pdp-main {
    grid-template-columns: 1fr;
    gap: 32px;
    margin: 16px 0 40px 0;
  }
}

/* Coluna da Galeria */
.pdp-gallery {
  position: relative;
}

.pdp-gallery .woocommerce-product-gallery {
  position: sticky;
  width: 100% !important;
}

.pdp-gallery .woocommerce-product-gallery__wrapper {
  margin: 0;
  border-radius: var(--r-card);
  border: 1px solid var(--line);
  background: #ffffff;
  overflow: hidden;
}

.pdp-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 10;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid var(--line);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.pdp-gallery .woocommerce-product-gallery__trigger:hover,
.pdp-gallery .woocommerce-product-gallery__trigger:focus-visible {
  transform: scale(1.06);
  color: var(--navy);
  border-color: var(--navy);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14);
}

.pdp-gallery .woocommerce-product-gallery__trigger svg {
  width: 18px;
  height: 18px;
  display: block;
  pointer-events: none;
}

.pdp-gallery .woocommerce-product-gallery__trigger img.emoji {
  display: none !important;
}

.pdp-gallery .woocommerce-product-gallery__wrapper img,
.pdp-gallery .flex-control-thumbs img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

.pdp-gallery .flex-control-thumbs {
  display: flex;
  gap: 10px;
  margin-top: 12px;
  padding: 0;
  list-style: none;
  overflow-x: auto;
}

.pdp-gallery .flex-control-thumbs li {
  width: 72px;
  height: 72px;
  border-radius: var(--r);
  border: 1.5px solid var(--line);
  background: #ffffff;
  overflow: hidden;
  cursor: pointer;
  flex-shrink: 0;
}

.pdp-gallery .flex-control-thumbs img.flex-active {
  border-color: var(--navy);
}

/* Coluna da Buybox */
.pdp-buybox {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px; /* espaçamento único entre os blocos; filhos diretos sem margem vertical */
}

.pdp-buybox .product_title,
.pdp-buybox h1 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--ink);
  margin: 0 0 8px 0;
}

@media (max-width: 768px) {

  .pdp-buybox .product_title,
  .pdp-buybox h1 {
    font-size: 24px;
  }
}

.pdp-subtitle {
  font-size: 15px;
  color: var(--muted);
  line-height: 1.45;
  margin: 0 0 16px 0;
}

.pdp-buybox .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-size: 13.5px;
}

.pdp-buybox .woocommerce-product-rating .star-rating {
  color: var(--gold);
}



.pdp-buybox .price-main {
  font-size: 24px;
  font-weight: 700;
  color: var(--ink);
}

.pdp-buybox .price-main del {
  font-size: 16px;
  color: var(--muted);
  font-weight: 400;
  margin-right: 8px;
}

.pdp-buybox .price-inst.price-inst--empty {
  display: none !important;
}

.pdp-buybox .woocommerce-product-details__short-description {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--ink-2);
  margin-bottom: 24px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 20px;
}

/* Formulário de Compra Nativo */
.pdp-buybox form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin: 20px 0;
}

/* ==========================================================================
   Controle Customizado de Quantidade (.quantity)
   Botão [-] à esquerda, Input centralizado, Botão [+] à direita
   ========================================================================== */
.quantity,
.woocommerce .quantity,
.pdp-buybox form.cart .quantity {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  background-color: var(--card) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--r-pill) !important;
  height: 48px !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
  vertical-align: middle;
}

.quantity:focus-within,
.woocommerce .quantity:focus-within,
.pdp-buybox form.cart .quantity:focus-within {
  border-color: var(--navy) !important;
  box-shadow: 0 0 0 3px var(--navy-soft) !important;
}

/* Botões Customizados de Menos (-) e Mais (+) */
.quantity .qty-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 48px !important;
  min-height: 48px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--muted) !important;
  cursor: pointer !important;
  outline: none !important;
  transition: color 0.15s ease, background-color 0.15s ease !important;
  flex-shrink: 0 !important;
  user-select: none !important;
}

.quantity .qty-btn:hover {
  color: var(--navy) !important;
  background-color: var(--soft) !important;
}

.quantity .qty-btn:active {
  background-color: var(--navy-soft) !important;
  color: var(--navy) !important;
}

.quantity .qty-btn:disabled,
.quantity .qty-btn[disabled] {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* Campo Numérico Central */
.quantity input.qty,
.woocommerce .quantity input.qty,
.pdp-buybox form.cart .quantity input.qty {
  width: 44px !important;
  min-width: 36px !important;
  height: 46px !important;
  line-height: 46px !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  text-align: center !important;
  font-family: var(--font-family) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  padding: 0 !important;
  margin: 0 !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

/* Eliminar completamente os botões e spinners nativos feios do navegador */
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Suporte a Dark Mode */
[data-theme='dark'] .quantity:focus-within,
[data-theme='dark'] .woocommerce .quantity:focus-within,
[data-theme='dark'] .pdp-buybox form.cart .quantity:focus-within {
  border-color: var(--link) !important;
  box-shadow: 0 0 0 3px rgba(142, 166, 255, 0.2) !important;
}

[data-theme='dark'] .quantity .qty-btn:hover {
  color: var(--link) !important;
  background-color: var(--soft) !important;
}

[data-theme='dark'] .quantity .qty-btn:active {
  background-color: rgba(142, 166, 255, 0.15) !important;
  color: var(--link) !important;
}

.pdp-buybox form.cart button.single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-family: var(--font-family) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border-radius: var(--r-pill) !important;
  background-color: var(--navy) !important;
  color: #ffffff !important;
  border: 1.5px solid var(--navy) !important;
  box-shadow: none !important;
  height: 48px !important;
  padding: 0 32px !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease, border-color 0.15s ease !important;
}

.pdp-buybox form.cart button.single_add_to_cart_button:hover {
  background-color: var(--navy-2) !important;
  border-color: var(--navy-2) !important;
  box-shadow: none !important;
}

.pdp-rx-action .btn {
  height: 48px;
  font-size: 15.5px;
}

/* ==========================================================================
   Página de Produto Oficial Farma Architecture & Design System v1.1
   ========================================================================== */

/* Legenda da imagem */
.description-above-product-image {
  font-size: 11.5px;
  color: var(--muted);
  text-align: center;
  margin-top: 10px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* Links Topo: Desejos e Compartilhar */
.product-addto-links {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.product-addto-links .action.towishlist {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: var(--card) !important;
  border: 1px solid var(--line) !important;
  color: var(--muted) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.product-addto-links .action.towishlist:hover,
.product-addto-links .action.towishlist.saved,
.product-addto-links .action.towishlist.active {
  color: var(--off) !important;
  border-color: #fca5a5 !important;
  background: #fef2f2 !important;
}

.product-addto-links .action.towishlist.saved svg,
.product-addto-links .action.towishlist.active svg {
  fill: var(--off) !important;
}

.product-share-container .action.share {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  border-radius: 50% !important;
  background: var(--card) !important;
  border: 1px solid var(--line) !important;
  color: var(--muted) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
}

.product-share-container .action.share:hover {
  color: var(--navy) !important;
  border-color: var(--navy) !important;
  background: var(--navy-soft) !important;
  transform: translateY(-1px);
}

/* Título e Estrelas */
.product-main-title {
  margin: 0;
  padding-right: 112px;
}

.product-main-title .page-title {
  margin: 0;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--ink);
  letter-spacing: -0.02em;
}

@media (max-width: 768px) {
  .product-main-title .page-title {
    font-size: 22px;
  }
}

.product-stars-avis-container {
  margin: 6px 0 0 0;
}

.NETREVIEWS_PRODUCT_STARS {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none !important;
  cursor: pointer;
}

.NETREVIEWS_PRODUCT_STARS .current-rate {
  font-size: 13.5px;
  font-weight: 800;
  color: var(--ink);
}

.netreviews_review_rate_and_stars {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.rate-stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.nr-star.coral {
  color: #ff6b4a;
  font-size: 14px;
  line-height: 1;
}

.netreviews_reviews_rate {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--muted);
}

.NETREVIEWS_PRODUCT_STARS:hover .netreviews_reviews_rate {
  color: var(--navy);
  text-decoration: underline;
}

/* SKU / Ref */
.product.attribute.sku {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--muted);
}

.product.attribute.sku .type {
  font-weight: 700;
  color: var(--ink-2);
}

.product.attribute.sku .value {
  font-weight: 600;
  font-family: monospace;
}

/* Resumo e Lead */
.product.attribute.overview {
  margin: 0;
}

.product.attribute.overview .value p:last-child {
  margin-bottom: 0;
}

.product.attribute.overview .value p {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--ink-2);
  margin: 0 0 6px 0;
}

/* Resumo: frase "Auxilia e contribui com" */
.overview-contributes {
  margin: 6px 0 0 0;
  color: var(--ink);
}

.overview-contributes strong {
  font-weight: 600;
}

/* Highlights Info (Qualidades Principais) */
.highlights-info {
  margin: 0;
}

.highlights-info-value-attr {
  list-style: disc;
  padding: 0 0 0 20px;
  margin: 0;
}

.highlights-info-value-attr li {
  display: list-item;
  list-style: disc;
  margin: 0 0 4px 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--ink);
}

.highlights-info-label-attr {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--muted);
  margin: 0 0 6px 0;
}

/* Tiers de Quantidade com Desconto */
.product-tier-wrapper {
  margin: 0;
}

.select-qty-label {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--muted);
  margin-bottom: 8px;
}

.prices-tier.items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 1fr;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

@media (max-width: 480px) {
  .prices-tier.items {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

.prices-tier .item {
  position: relative;
  display: flex;
}

.prices-tier .item input.radio-input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  display: none !important;
}

.prices-tier .item label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 14px 10px;
  flex: 1;
  min-height: 86px;
  border: 1.5px solid var(--line);
  border-radius: var(--r-panel);
  background: var(--card);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  box-sizing: border-box;
}

.prices-tier .item label:hover {
  border-color: var(--navy);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 30, 116, 0.08);
}

.prices-tier .item.active label,
.prices-tier .item input:checked + label {
  border-color: var(--navy);
  background: var(--navy-soft);
  color: var(--navy);
  box-shadow: 0 4px 16px rgba(0, 30, 116, 0.12);
}

.price-tier-amount {
  font-size: 16px;
  font-weight: 800;
  color: var(--buy-ink);
  margin-top: 4px;
}

.prices-tier .item.active .price-tier-amount {
  color: var(--navy);
}

.tier-each-label {
  font-size: 11px;
  font-weight: 500;
  color: var(--muted);
  margin-top: 2px;
}

.better-option {
  position: relative;
}

.badge-better {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: #e5232f;
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: var(--r-pill);
  white-space: nowrap;
}

/* Bloco de Preços Formatados */
.product-info-price {
  margin: 16px 0;
}

.product-info-price .price-box {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.product-info-price .price-regular {
  font-size: 15px;
  color: var(--muted);
  text-decoration: line-through;
}

.product-info-price .bdg-off {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: var(--r-pill);
  background: #fde8ea;
  color: #a5182a;
  font-size: 12px;
  font-weight: 700;
}

.product-info-price .price-final_price .price {
  font-size: 34px;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.pix-tag {
  flex-shrink: 0;
  color: var(--buy);
}

.price-box-installment-info {
  font-size: 13.5px;
  color: var(--muted);
  font-weight: 500;
  margin-top: 2px;
}

/* Box To Cart & Botão Adicionar */
.box-tocart {
  margin: 20px 0 16px 0;
}

/* Form de compra da PDP: preço e botões empilhados, sem somar gap + margens */
.pdp-buybox form.cart.pdp-add-to-cart-form {
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
  margin: 0;
}

.pdp-add-to-cart-form .product-info-price,
.pdp-add-to-cart-form .box-tocart {
  margin: 0;
}

.box-tocart .fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

.box-tocart .actions.has-3-items {
  display: flex;
  align-items: center;
  gap: 12px;
}

@media (max-width: 480px) {
  .box-tocart .actions.has-3-items {
    flex-direction: column;
    align-items: stretch;
  }
  .box-tocart .actions.has-3-items .quantity {
    width: 100% !important;
    justify-content: space-between !important;
  }
}

.box-tocart .single_add_to_cart_button {
  flex: 1;
  height: 50px !important;
  border-radius: var(--r-pill) !important;
  background-color: var(--navy) !important;
  border: 1.5px solid var(--navy) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.box-tocart .single_add_to_cart_button:hover {
  background-color: var(--navy-2) !important;
  border-color: var(--navy-2) !important;
  transform: translateY(-2px) !important;
  box-shadow: none !important;
}

/* Cashback (texto simples logo abaixo do preço) */
.cashback-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--seal-ink);
  margin-top: 2px;
}

.cashback-badge svg {
  flex-shrink: 0;
  color: var(--buy);
}

/* Calculadora de Frete */
.lof-shipping-estimate {
  margin: 0;
}

.lof-shipping-estimate .fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

.lof-shipping-estimate .field.postcode .label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 8px;
}

.find-postcode {
  font-size: 12px;
  font-weight: 500;
  color: var(--link);
  text-decoration: underline;
}

.find-postcode:hover {
  color: var(--navy);
}

.lof-shipping-estimate .control {
  display: flex;
  gap: 10px;
  align-items: center;
}

.input-text.lof-postcode {
  height: 46px !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--r) !important;
  padding: 0 16px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--card) !important;
  color: var(--ink) !important;
  flex: 1;
  max-width: 170px;
  outline: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.input-text.lof-postcode:focus {
  border-color: var(--navy) !important;
  box-shadow: 0 0 0 3px var(--navy-soft) !important;
}

.btn-calc-shipping {
  height: 46px !important;
  padding: 0 20px !important;
  border-radius: var(--r) !important;
  background: var(--navy) !important;
  color: #ffffff !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.15s ease !important;
}

.btn-calc-shipping:hover {
  background: var(--navy-2) !important;
}

.shipping-estimate-results {
  list-style: none;
  padding: 0;
  margin: 10px 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.shipping-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r);
  font-size: 13.5px;
}

.shipping-title {
  font-weight: 600;
  color: var(--ink);
}

.shipping-days {
  font-size: 12px;
  color: var(--muted);
  margin-left: 6px;
  font-weight: 400;
}

.shipping-price {
  font-weight: 700;
  color: var(--buy-ink);
}

/* Aviso de Frete Grátis (dentro da calculadora) */
.shipping-free-note {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  margin: 10px 0 0 0;
}

/* Mini Trust Farmacêutico */
.mini-trust-pdp {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 0;
}

@media (max-width: 540px) {
  .mini-trust-pdp {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

.mini-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--muted);
}

.mini-trust-item svg {
  color: var(--navy);
  flex-shrink: 0;
}

/* ==========================================================================
   Seções Ricas da PDP (Long Description Oficial Farma)
   ========================================================================== */

.product-full-description-area {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1.5px solid var(--line);
}

.pdp-section {
  margin-bottom: 56px;
}

.pdp-section-title {
  font-size: 24px;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.02em;
  margin: 0 0 20px 0;
  line-height: 1.3;
}

@media (max-width: 768px) {
  .pdp-section-title {
    font-size: 20px;
  }
}

.pdp-section-content p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--ink-2);
  margin: 0 0 16px 0;
}

/* Grid de Cards (Benefícios & Para Quem É Indicado) */
.pdp-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}

.pdp-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.pdp-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
  border-color: var(--navy);
}

.pdp-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--navy-soft);
  color: var(--navy);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}

.pdp-card-badge {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--seal-bg);
  color: var(--seal-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 14px;
  margin-bottom: 4px;
}

.pdp-card-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
  margin: 0;
}

.pdp-card-desc {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--muted);
  margin: 0;
}

/* Tabela de Composição Farmacêutica */
.composition-table-wrapper {
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  overflow: hidden;
  background: var(--card);
}

.composition-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.composition-table .table-headline {
  background: var(--navy);
  color: #ffffff;
  font-size: 14.5px;
  font-weight: 700;
  padding: 14px 20px;
  text-align: left;
}

.composition-table th {
  background: var(--soft);
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 12px 20px;
  border-bottom: 1px solid var(--line);
  text-align: left;
}

.composition-table td {
  padding: 14px 20px;
  border-bottom: 1px solid var(--line);
  color: var(--ink-2);
}

.composition-table tr:last-child td {
  border-bottom: none;
}

.composition-table .table-excipient td {
  font-style: italic;
  font-size: 12.5px;
  color: var(--muted);
  background: var(--soft);
}

/* Caixa de Posologia e Modo de Usar */
.pdp-use-box {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 22px 24px;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
}

.pdp-use-box svg {
  color: var(--navy);
  flex-shrink: 0;
  margin-top: 3px;
}

.pdp-use-box p {
  margin: 0 0 6px 0;
  font-size: 15px;
  color: var(--ink);
}

.pdp-use-box .use-tip {
  font-size: 13.5px;
  color: var(--muted);
  margin: 0;
  line-height: 1.5;
}

/* Linha do Tempo / O Que Esperar */
.pdp-timeline-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}

.timeline-card {
  background: var(--card);
  border: 1.5px solid var(--line);
  border-left: 4px solid var(--navy);
  border-radius: var(--r);
  padding: 20px 22px;
}

.timeline-period {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--navy);
  margin-bottom: 8px;
}

.timeline-desc {
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-2);
  margin: 0;
}

/* FAQ Acordeão */
.pdp-faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.faq-item {
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  background: var(--card);
  overflow: hidden;
  transition: border-color 0.2s ease;
}

.faq-item.is-open {
  border-color: var(--navy);
}

.faq-question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 24px !important;
  height: auto !important;
  min-height: 56px !important;
  background: transparent !important;
  border: 0 !important;
  font-family: var(--font-family) !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  cursor: pointer !important;
  text-align: left !important;
}

.faq-icon {
  color: var(--muted);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  flex-shrink: 0;
  margin-left: 14px;
}

.faq-item.is-open .faq-icon {
  transform: rotate(45deg);
  color: var(--navy);
}

.faq-answer {
  padding: 0 24px 20px 24px;
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--ink-2);
}

/* Advertências Legais ANVISA */
.warnings-box {
  padding: 22px 26px;
  background: var(--rx-bg);
  border: 1.5px solid var(--rx-line);
  border-radius: var(--r-card);
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--rx-ink);
}

.warning-highlight {
  margin-top: 14px;
  font-size: 13px;
  font-weight: 800;
  color: #a5182a;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* ==========================================================================
   Avaliações dos Clientes (NetReviews Style)
   ========================================================================== */
.product-review-avis-container {
  margin: 64px 0;
  padding: 36px 40px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  box-shadow: var(--shadow);
}

@media (max-width: 768px) {
  .product-review-avis-container {
    padding: 24px 20px;
  }
}

.netreviews_rating_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
  flex-wrap: wrap;
  gap: 14px;
}

.netreviews_logo_wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

.trust-badge-stars {
  color: #ff6b4a;
  font-size: 18px;
  letter-spacing: 2px;
}

.trust-title {
  font-size: 18px;
  font-weight: 800;
  color: var(--ink);
}

.netreviews_certification {
  font-size: 13px;
  color: var(--muted);
  font-weight: 500;
}

.netreviews_rating_content {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 40px;
  padding: 32px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
}

@media (max-width: 768px) {
  .netreviews_rating_content {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.netreviews_global_rating {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.netreviews_note_generale {
  font-size: 56px;
  font-weight: 800;
  line-height: 1;
  color: var(--ink);
  margin: 0 0 10px 0;
}

.netreviews_note_generale span {
  font-size: 20px;
  font-weight: 400;
  color: var(--muted);
}

.netreviews_bg_stars_big {
  font-size: 28px;
  color: #ff6b4a;
  margin-bottom: 8px;
  letter-spacing: 2px;
}

.netreviews_subtitle {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
}

.netreviews_rates_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.netreviews_rate_list_item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink);
}

.netreviews_rate_list_item .rate-num {
  width: 14px;
  text-align: right;
}

.netreviews_rate_list_item .rate-star {
  color: #ff6b4a;
  font-size: 14px;
}

.netreviews_rate_graph {
  flex: 1;
  height: 10px;
  background: var(--soft);
  border-radius: 99px;
  overflow: hidden;
  position: relative;
}

.netreviews_rate_percent {
  display: block;
  height: 100%;
  background: #ff6b4a;
  border-radius: 99px;
}

.netreviews_rate_list_item .rate-count {
  width: 30px;
  text-align: right;
  color: var(--muted);
  font-weight: 500;
  font-size: 12.5px;
}

.netreviews-reviews-list {
  padding-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.netreviews_review_part {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}

.netreviews_review_part:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.netreviews_customer_name {
  font-size: 14.5px;
  margin: 0 0 6px 0;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ink);
}

.netreviews_customer_name span {
  font-size: 12.5px;
  color: var(--muted);
  font-weight: 400;
}

.coral-stars {
  color: #ff6b4a;
  font-size: 15px;
  letter-spacing: 2px;
}

.netreviews_customer_review {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--ink-2);
  margin: 10px 0;
}

.netreviews_helpful_block {
  font-size: 12.5px;
  color: var(--muted);
  margin: 0;
}

.helpful-comment {
  color: var(--navy);
  text-decoration: none;
  font-weight: 600;
  transition: color 0.15s ease;
}

.helpful-comment:hover {
  text-decoration: underline;
}

.helpful-comment.voted {
  color: var(--buy-ink);
  pointer-events: none;
}

/* ==========================================================================
   Dark Mode Suporte Completo para PDP Oficial Farma
   ========================================================================== */
[data-theme='dark'] .prices-tier .item.active label,
[data-theme='dark'] .prices-tier .item input:checked + label {
  background: rgba(142, 166, 255, 0.12);
  border-color: var(--link);
  color: var(--link);
}

[data-theme='dark'] .prices-tier .item.active .price-tier-amount {
  color: var(--link);
}

[data-theme='dark'] .pdp-card-icon {
  background: rgba(142, 166, 255, 0.15);
  color: var(--link);
}

[data-theme='dark'] .mini-trust-item svg {
  color: var(--link);
}

[data-theme='dark'] .pdp-use-box svg {
  color: var(--link);
}

[data-theme='dark'] .timeline-card {
  border-left-color: var(--link);
}

[data-theme='dark'] .timeline-period {
  color: var(--link);
}

[data-theme='dark'] .faq-item.is-open {
  border-color: var(--link);
}

[data-theme='dark'] .faq-item.is-open .faq-icon {
  color: var(--link);
}

[data-theme='dark'] .composition-table .table-headline {
  background: #111a36;
}

[data-theme='dark'] .warnings-box {
  background: rgba(245, 158, 11, 0.1);
  border-color: rgba(245, 158, 11, 0.25);
  color: #fcd34d;
}

[data-theme='dark'] .cashback-badge {
  color: #86efac;
}
