/* MILU PDP + preços consistentes (card + detalhe) */

/* Fundo bege bem claro — ficha e listagem da loja */
body.single-product #main-content,
body.tax-product_cat #main-content,
body.tax-product_tag #main-content,
body.post-type-archive-product #main-content,
body.woocommerce-shop #main-content,
.cacto-pdp-main,
.cacto-shop-main {
  background-color: #fdfaf7 !important;
  background-image: none !important;
}

/* Foto + tags: mesmo padrão do card (relative + absolute) */
.cacto-pdp-photo-frame {
  position: relative !important;
  overflow: hidden !important;
  width: 100%;
  border-radius: 1rem;
  border: 1px solid rgba(229, 231, 235, 0.85);
  background: #fff;
  box-shadow: 0 8px 28px rgba(17, 17, 17, 0.1);
}
.cacto-pdp-photo-frame > .cacto-pdp-splide-main {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}
/* Track = superfície da foto (sem “cartão” interior) */
.cacto-pdp-photo-frame .cacto-pdp-splide-main .splide__track {
  margin: 0 !important;
  max-width: 100% !important;
  max-height: none !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #f3f4f6;
  overflow: hidden !important;
}
/* Como no card: imagem preenche o quadrado */
.cacto-pdp-photo-frame .cacto-pdp-splide-main .woocommerce-product-gallery__image,
.cacto-pdp-photo-frame .cacto-pdp-splide-main .cacto-pdp-slide-inner,
.cacto-pdp-photo-frame .cacto-pdp-splide-main .splide__slide {
  height: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.cacto-pdp-photo-frame .cacto-pdp-splide-main .cacto-pdp-slide-img,
.cacto-pdp-photo-frame .cacto-pdp-splide-main .wp-post-image {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}
.cacto-pdp-photo-frame > .product-tags,
.cacto-pdp-photo-frame > .cacto-pdp-gallery-tags,
.cacto-pdp-photo-frame .product-tags.cacto-pdp-gallery-tags {
  position: absolute !important;
  top: 0.5rem !important;
  left: 0.5rem !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 50 !important;
  width: auto !important;
  height: auto !important;
  max-width: calc(100% - 1rem);
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: flex-start;
  pointer-events: none;
}
@media (min-width: 768px) {
  .cacto-pdp-photo-frame > .product-tags,
  .cacto-pdp-photo-frame > .cacto-pdp-gallery-tags,
  .cacto-pdp-photo-frame .product-tags.cacto-pdp-gallery-tags {
    top: 0.625rem !important;
    left: 0.625rem !important;
    gap: 0.45rem;
  }
}
.cacto-pdp-photo-frame .product-tags .product-tag {
  pointer-events: auto;
}

/* Summary mais compacto + sombra */
.cacto-pdp-summary {
  box-shadow: 0 8px 28px rgba(17, 17, 17, 0.1) !important;
}
.cacto-pdp-summary form.cart,
.cacto-pdp-summary form.variations_form {
  display: flex;
  flex-direction: column;
  gap: 0.65rem !important;
  margin: 0 !important;
}
.cacto-pdp-summary .variations {
  margin: 0 !important;
}
.cacto-pdp-summary .variations td,
.cacto-pdp-summary .variations th {
  padding: 0 !important;
  border: 0 !important;
  display: block;
  width: 100%;
}
.cacto-pdp-summary .variations tr {
  margin: 0 !important;
}
.cacto-pdp-summary .single_variation_wrap,
.cacto-pdp-summary .woocommerce-variation-add-to-cart {
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.cacto-pdp-summary .quantity {
  margin: 0 !important;
}
.cacto-pdp-summary .milu-pdp-swatches-wrap {
  margin: 0 !important;
}
.cacto-pdp-summary .milu-pdp-swatches__heading {
  margin: 0 0 0.35rem;
}
.cacto-pdp-summary .milu-pdp-swatches {
  margin: 0 0 0.2rem !important;
}
.cacto-pdp-summary .milu-pdp-swatches__selected {
  margin: 0 0 0.35rem !important;
}

/* Preços pretos — cards e PDP */
.product-card .cacto-loop-price,
.product-card .cacto-loop-price .amount,
.product-card .cacto-loop-price .woocommerce-Price-amount,
.product-card .price,
.product-card .price .amount,
.cacto-loop-price,
.cacto-loop-price .amount,
.cacto-loop-price .woocommerce-Price-amount,
.cacto-pdp-price .cacto-loop-price,
.cacto-pdp-price .price,
.cacto-pdp-price .amount,
.cacto-pdp-price .woocommerce-Price-amount {
  color: #111 !important;
}
.product-card .cacto-loop-price del,
.product-card .price del,
.cacto-pdp-price del,
.cacto-pdp-price del .amount {
  color: #6b7280 !important;
}
.product-card .cacto-loop-price ins,
.cacto-pdp-price ins {
  text-decoration: none;
  color: #111 !important;
}

/* Preço hero — composto, simples e promoção (mesmo tamanho) */
.cacto-pdp-price {
  --cacto-price-size: clamp(1.5rem, 3vw, 1.875rem);
  --cacto-price-size-card: clamp(1.2rem, 2.5vw, 1.4rem);
}

/* Faixa de preço PDP + cards — compostos e simples alinhados */
.cacto-pdp-price--range .cacto-pdp-price-range {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  color: #111;
}
.cacto-pdp-price-range__label {
  display: block;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6b7280;
}
.cacto-pdp-price-range__amounts {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem;
  color: #111;
  font-size: var(--cacto-price-size) !important;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.product-card .cacto-pdp-price-range__amounts {
  font-size: var(--cacto-price-size-card) !important;
  gap: 0.35rem;
}
.cacto-pdp-price-range__sep {
  color: #111;
  font-weight: 600;
  opacity: 0.55;
}
.cacto-pdp-price--range .cacto-pdp-price-range .amount,
.cacto-pdp-price--range .cacto-pdp-price-range .woocommerce-Price-amount,
.cacto-pdp-price--range .cacto-pdp-price-range bdi {
  color: #111 !important;
  font-weight: 700 !important;
  font-size: inherit !important;
}

/* Simples em promoção: De / Por — preço final = mesmo tamanho do composto */
.cacto-pdp-price-sale {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  color: #111;
}
.cacto-pdp-price-sale__from {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem;
}
.cacto-pdp-price-sale__to {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem;
}
.cacto-pdp-price-sale__label {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6b7280;
}
.cacto-pdp-price-sale__old {
  font-size: 0.875rem;
  font-weight: 500;
  color: #6b7280 !important;
  text-decoration: line-through;
  font-variant-numeric: tabular-nums;
}
.cacto-pdp-price-sale__old .amount,
.cacto-pdp-price-sale__old .woocommerce-Price-amount,
.cacto-pdp-price-sale__old bdi {
  color: #6b7280 !important;
  font-weight: 500 !important;
  font-size: inherit !important;
}
.cacto-pdp-price-sale__current {
  font-size: var(--cacto-price-size) !important;
  font-weight: 700;
  color: #111 !important;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.cacto-pdp-price-sale__current .amount,
.cacto-pdp-price-sale__current .woocommerce-Price-amount,
.cacto-pdp-price-sale__current bdi {
  color: #111 !important;
  font-weight: 700 !important;
  font-size: inherit !important;
}
.product-card .cacto-pdp-price-sale {
  gap: 0.15rem;
}
.product-card .cacto-pdp-price-sale__current {
  font-size: var(--cacto-price-size-card) !important;
}

/* Simples sem promoção — mesmo peso visual do composto */
.cacto-pdp-price-simple {
  font-size: var(--cacto-price-size) !important;
  font-weight: 700;
  color: #111;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.cacto-pdp-price-simple .amount,
.cacto-pdp-price-simple .woocommerce-Price-amount,
.cacto-pdp-price-simple bdi {
  color: #111 !important;
  font-weight: 700 !important;
  font-size: inherit !important;
}
.product-card .cacto-pdp-price-simple {
  font-size: var(--cacto-price-size-card) !important;
}

.cacto-pdp-price--variation .cacto-pdp-price-simple,
.cacto-pdp-price--variation .cacto-loop-price,
.cacto-pdp-price--variation .price {
  color: #111 !important;
  font-size: var(--cacto-price-size) !important;
  font-weight: 700;
}
.cacto-pdp-price--variation .amount,
.cacto-pdp-price--variation .woocommerce-Price-amount,
.cacto-pdp-price--variation bdi {
  font-size: inherit !important;
  font-weight: 700 !important;
  color: #111 !important;
}

.cacto-pdp-summary .woocommerce-variation-price,
.cacto-pdp-summary .single_variation .woocommerce-variation-price {
  display: none !important;
}

.cacto-pdp-summary form.cart .variations th.milu-attr-label--color {
  display: none !important;
}
.milu-pdp-swatches-wrap {
  display: block;
  width: 100%;
  margin: 0.25rem 0 0.15rem;
}
.milu-pdp-swatches__heading {
  display: block;
  margin: 0 0 0.5rem;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cacto-muted, #6b7280);
  text-align: left;
}
.milu-pdp-swatches {
  margin: 0 0 0.35rem !important;
}
.milu-pdp-swatches__selected {
  margin: 0 0 0.45rem !important;
  text-align: left;
}
.cacto-pdp-summary .reset_variations {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--cactus-color, #f45b78);
  text-decoration: none;
}
.cacto-pdp-summary .reset_variations:hover {
  text-decoration: underline;
  color: var(--cactus-dark, #d64565);
}

/* Toggles Material / Medidas / Cuidados / Envio / Devoluções */
.cacto-pdp-info {
  margin-top: 0.35rem;
  border-top: 1px solid rgba(17, 17, 17, 0.1);
}
.cacto-pdp-info__item {
  border-bottom: 1px solid rgba(17, 17, 17, 0.1);
}
.cacto-pdp-info__summary {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  padding: 0.7rem 0;
  list-style: none;
  cursor: pointer;
  color: #111;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.3;
  user-select: none;
}
.cacto-pdp-info__summary::-webkit-details-marker {
  display: none;
}
.cacto-pdp-info__summary::marker {
  content: "";
}
.cacto-pdp-info__icon {
  display: inline-flex;
  flex-shrink: 0;
  width: 1.15rem;
  height: 1.15rem;
  align-items: center;
  justify-content: center;
  color: #111;
}
.cacto-pdp-info__icon svg {
  display: block;
}
.cacto-pdp-info__label {
  flex: 1 1 auto;
  min-width: 0;
}
.cacto-pdp-info__chevron {
  display: inline-flex;
  flex-shrink: 0;
  color: #111;
  transition: transform 0.2s ease;
}
.cacto-pdp-info__item[open] > .cacto-pdp-info__summary .cacto-pdp-info__chevron {
  transform: rotate(180deg);
}
.cacto-pdp-info__body {
  padding: 0 0 0.85rem 1.8rem;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: #3a3a3a;
}
.cacto-pdp-info__body p {
  margin: 0 0 0.5rem;
}
.cacto-pdp-info__body p:last-child {
  margin-bottom: 0;
}
