/* Phivia Studio · v1.12.0 — apresentação premium da página individual
   Carrega exclusivamente em produtos com a página Phivia ativa.
   Respeita a paleta e tipografia configuráveis no painel do plugin. */

body.phivia-studio-product-page div.product.phivia-studio-product {
  isolation:isolate;
}

/* Mais equilíbrio entre foto e painel de compra. */
body.phivia-studio-product-page div.product.phivia-studio-product .phivia-product-top {
  grid-template-columns: minmax(0,1.06fr) minmax(0,.94fr) !important;
  align-items:start;
  row-gap:32px;
}
body.phivia-studio-product-page div.product.phivia-studio-product .summary {
  overflow:visible;
}
body.phivia-studio-product-page div.product.phivia-studio-product .product_title {
  font-family:var(--phivia-font-heading,"Manrope",sans-serif) !important;
  font-size:clamp(28px,2.9vw,39px) !important;
  line-height:1.13 !important;
  letter-spacing:-.038em !important;
  margin-bottom:14px !important;
}
body.phivia-studio-product-page div.product.phivia-studio-product p.price {
  margin:12px 0 24px !important;
}
body.phivia-studio-product-page div.product.phivia-studio-product .phivia-price-box {
  gap:6px;
}
body.phivia-studio-product-page div.product.phivia-studio-product .phivia-price-total {
  font-size:clamp(32px,3.1vw,42px) !important;
  font-weight:700 !important;
  letter-spacing:-.045em;
}
body.phivia-studio-product-page div.product.phivia-studio-product .phivia-price-meta {
  font-size:13px !important;
  line-height:1.6;
}

/* Galeria: fotografia principal generosa e tiras verticais de miniaturas.
   Com apenas uma foto, ocupa a largura inteira sem coluna vazia. */
body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery {
  width:100% !important;
  max-width:100% !important;
  min-width:0;
  position:relative;
}
@media (min-width:981px) {
  body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery:has(> .flex-control-thumbs) {
    display:grid !important;
    grid-template-columns:74px minmax(0,1fr) !important;
    align-items:start;
    gap:14px !important;
  }
  body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery:not(:has(> .flex-control-thumbs)) {
    display:block !important;
  }
  body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery > .flex-control-thumbs {
    grid-column:1;
    grid-row:1;
    display:flex !important;
    flex-direction:column !important;
    width:74px !important;
    gap:10px !important;
    max-height:620px;
    margin:0 !important;
    padding:0 3px 0 0 !important;
    box-sizing:border-box;
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:var(--phivia-accent-soft,#E2B0FF) transparent;
  }
  body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery > .flex-control-thumbs li {
    width:100% !important;
    flex:0 0 auto;
  }
  body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery > .flex-viewport,
  body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    grid-column:2;
    grid-row:1;
    min-width:0;
  }
}
body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
  display:block;
  overflow:hidden;
  border-radius:16px !important;
  background:var(--phivia-surface,#fff) !important;
}
body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit:contain;
  border-radius:16px !important;
}
body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery .flex-control-thumbs img {
  width:100%;
  aspect-ratio:1 / 1;
  height:auto !important;
  object-fit:cover;
  border:2px solid transparent !important;
  border-radius:10px !important;
  background:var(--phivia-surface,#fff);
  box-sizing:border-box;
  opacity:.75;
  transition:opacity .2s ease,border-color .2s ease,transform .2s ease;
  cursor:pointer;
}
body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  opacity:1 !important;
  border-color:var(--phivia-accent,#432444) !important;
}
body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  z-index:9 !important;
  right:16px !important;
  left:auto !important;
  top:16px !important;
  background:var(--phivia-surface,#fff) !important;
  border:1px solid var(--phivia-border,#E8E1E8);
  box-shadow:0 6px 22px rgba(17,19,21,.08);
}
/* Sobreposição discreta de navegação, sem competir com a fotografia. */
body.phivia-studio-product-page div.product.phivia-studio-product .phivia-gallery-controls {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  margin-top:12px;
  min-height:38px;
  grid-column:2;
  grid-row:2;
}
body.phivia-studio-product-page .phivia-gallery-counter {
  display:inline-flex;
  align-items:center;
  min-width:54px;
  font:600 12px/1.3 var(--phivia-font-body,"Manrope",sans-serif);
  color:var(--phivia-muted,#777);
  justify-content:center;
}
body.phivia-studio-product-page .phivia-gallery-arrow {
  display:inline-grid;
  place-items:center;
  border:1px solid var(--phivia-border,#DDD5DE);
  background:var(--phivia-surface,#fff);
  color:var(--phivia-text,#432444);
  border-radius:12px;
  width:38px;
  height:38px;
  padding:0;
  cursor:pointer;
  font:500 21px/1 var(--phivia-font-body,"Manrope",sans-serif);
  transition:border-color .2s, background .2s;
}
body.phivia-studio-product-page .phivia-gallery-arrow:hover {
  background:var(--phivia-accent-soft,#E2B0FF);
  border-color:var(--phivia-accent,#432444);
}
body.phivia-studio-product-page .phivia-gallery-arrow:focus-visible,
body.phivia-studio-product-page .woocommerce-product-gallery .flex-control-thumbs img:focus-visible {
  outline:2px solid var(--phivia-accent,#432444);
  outline-offset:2px;
}

/* Kits: valor total e valor por unidade são sempre legíveis. */
body.phivia-studio-product-page div.product.phivia-studio-product .phivia-tier-group {
  margin:0;
}
body.phivia-studio-product-page div.product.phivia-studio-product .phivia-tier-buttons {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:9px !important;
  margin-top:6px;
}
html body.phivia-studio-product-page div.product.phivia-studio-product button.phivia-tier {
  position:relative;
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  min-height:93px;
  padding:14px 10px 12px !important;
  border-radius:13px !important;
  transition:box-shadow .2s,border-color .2s, transform .2s;
  text-align:left !important;
}
html body.phivia-studio-product-page div.product.phivia-studio-product button.phivia-tier:hover {
  transform:translateY(-1px);
}
html body.phivia-studio-product-page div.product.phivia-studio-product button.phivia-tier strong {
  font-size:14px !important;
  line-height:1.35 !important;
  white-space:nowrap;
}
html body.phivia-studio-product-page div.product.phivia-studio-product button.phivia-tier .phivia-tier-unit {
  font-size:11px !important;
  line-height:1.4;
  white-space:nowrap;
  margin-top:5px;
}
html body.phivia-studio-product-page div.product.phivia-studio-product button.phivia-tier .phivia-tier-package {
  display:block;
  font-size:13px !important;
  line-height:1.4;
  font-weight:700;
  margin-top:7px;
  color:inherit !important;
  white-space:nowrap;
}
body.phivia-studio-product-page div.product.phivia-studio-product .phivia-tier-value-tag {
  display:inline-flex;
  align-self:flex-start;
  margin:7px 0 0;
  padding:3px 6px;
  border-radius:6px;
  color:var(--phivia-qty-selected-text,#432444);
  background:color-mix(in srgb,var(--phivia-accent-soft,#E2B0FF) 47%,#fff);
  font:700 9px/1.3 var(--phivia-font-body,"Manrope",sans-serif);
}

/* Personalização em etapas simples, sem perder os inputs do WooCommerce. */
body.phivia-studio-product-page div.product.phivia-studio-product .phivia-customization-panel {
  display:block;
  width:100%;
  min-width:0;
  border:1px solid var(--phivia-general-border,#E5DCE6);
  border-radius:16px;
  background:var(--phivia-surface,#fff);
  overflow:hidden;
  box-sizing:border-box;
}
body.phivia-studio-product-page div.product.phivia-studio-product .phivia-customization-summary {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:2px 12px;
  padding:17px 18px;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
body.phivia-studio-product-page .phivia-customization-summary::-webkit-details-marker {display:none;}
body.phivia-studio-product-page .phivia-customization-title {
  font-size:14px;
  font-weight:700;
  line-height:1.3;
  color:var(--phivia-title-color,#432444);
}
body.phivia-studio-product-page .phivia-customization-hint {
  grid-column:1;
  font-size:11px;
  line-height:1.4;
  color:var(--phivia-muted-text,#777);
}
body.phivia-studio-product-page .phivia-customization-chevron {
  grid-column:2;
  grid-row:1 / 3;
  width:10px;
  height:10px;
  border-right:2px solid var(--phivia-accent,#432444);
  border-bottom:2px solid var(--phivia-accent,#432444);
  transform:translate(-3px,-3px) rotate(45deg);
  transition:transform .2s;
}
body.phivia-studio-product-page details[open] > .phivia-customization-summary .phivia-customization-chevron {
  transform:translate(-3px,2px) rotate(225deg);
}
body.phivia-studio-product-page .phivia-customization-summary:focus-visible {
  outline:2px solid var(--phivia-accent,#432444);
  outline-offset:-3px;
}
body.phivia-studio-product-page .phivia-customization-content {
  display:flex;
  flex-direction:column;
  gap:19px;
  border-top:1px solid var(--phivia-general-border,#E5DCE6);
  padding:18px;
  min-width:0;
}
body.phivia-studio-product-page .phivia-customization-content .phivia-field-group {
  margin:0;
  min-width:0;
}

/* Resumo dinâmico do pedido, antes de finalizar. */
body.phivia-studio-product-page div.product.phivia-studio-product .phivia-purchase-summary {
  display:grid;
  gap:12px;
  border:1px solid var(--phivia-border,#E5DCE6);
  border-radius:16px;
  padding:17px 19px;
  background:color-mix(in srgb,var(--phivia-surface,#fff) 85%,var(--phivia-page-bg,#F7F5F2));
  margin:0;
}
body.phivia-studio-product-page .phivia-summary-heading,
body.phivia-studio-product-page .phivia-summary-line,
body.phivia-studio-product-page .phivia-summary-total {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
}
body.phivia-studio-product-page .phivia-summary-heading strong {
  font-size:13px;
  color:var(--phivia-title-color,#432444);
}
body.phivia-studio-product-page .phivia-summary-heading span {
  font-size:10px;
  color:var(--phivia-muted-text,#777);
}
body.phivia-studio-product-page .phivia-summary-line {
  font-size:12px;
  color:var(--phivia-muted-text,#777);
}
body.phivia-studio-product-page .phivia-summary-line strong {
  font-size:12px;
  font-weight:700;
  color:var(--phivia-text,#432444);
  white-space:nowrap;
}
body.phivia-studio-product-page .phivia-summary-addon[hidden] {
  display:none !important;
}
body.phivia-studio-product-page .phivia-summary-total {
  margin-top:2px;
  padding-top:12px;
  border-top:1px solid var(--phivia-border,#E5DCE6);
  color:var(--phivia-title-color,#432444);
  font-size:13px;
  font-weight:700;
}
body.phivia-studio-product-page .phivia-summary-total strong {
  color:var(--phivia-price-color,#432444);
  font-size:21px;
  line-height:1.2;
  letter-spacing:-.025em;
}
body.phivia-studio-product-page .phivia-purchase-summary .woocommerce-Price-amount {
  color:inherit;
}
body.phivia-studio-product-page div.product.phivia-studio-product .phivia-production-time {
  border-radius:12px;
  padding:11px 14px;
  margin:0 0 3px;
  font-size:12px;
}
body.phivia-studio-product-page div.product.phivia-studio-product form.cart .single_add_to_cart_button {
  border-radius:14px !important;
  min-height:55px !important;
  font-size:14px !important;
}

@media (max-width:1100px) {
  body.phivia-studio-product-page div.product.phivia-studio-product .phivia-product-top {
    grid-template-columns:1fr !important;
    row-gap:34px;
  }
  body.phivia-studio-product-page div.product.phivia-studio-product .summary {
    position:static !important;
  }
}
@media (max-width:980px) {
  body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery {
    display:block !important;
  }
  body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery > .flex-control-thumbs {
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:9px !important;
    width:100%;
    margin-top:12px !important;
  }
  body.phivia-studio-product-page div.product.phivia-studio-product .woocommerce-product-gallery > .flex-control-thumbs li {
    width:auto !important;
  }
  body.phivia-studio-product-page div.product.phivia-studio-product .phivia-gallery-controls {
    justify-content:center;
    margin:9px 0 0;
  }
}
@media (max-width:560px) {
  body.phivia-studio-product-page div.product.phivia-studio-product .product_title {
    font-size:28px !important;
    line-height:1.15 !important;
  }
  body.phivia-studio-product-page div.product.phivia-studio-product .phivia-tier-buttons {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }
  html body.phivia-studio-product-page div.product.phivia-studio-product button.phivia-tier {
    min-height:87px;
    padding:12px 13px !important;
  }
  body.phivia-studio-product-page div.product.phivia-studio-product .phivia-customization-summary {
    padding:15px;
  }
  body.phivia-studio-product-page div.product.phivia-studio-product .phivia-customization-content {
    padding:15px;
  }
  body.phivia-studio-product-page div.product.phivia-studio-product .phivia-purchase-summary {
    padding:15px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.phivia-studio-product-page .phivia-gallery-arrow,
  body.phivia-studio-product-page .woocommerce-product-gallery .flex-control-thumbs img,
  body.phivia-studio-product-page button.phivia-tier,
  body.phivia-studio-product-page .phivia-customization-chevron {transition:none !important;}
}
