/* Apenas na página de produto: hierarquia de compra e leitura dos detalhes. */
.single-product.za-commerce-layout div.product .summary.entry-summary { padding: clamp(20px, 3vw, 32px) !important; border: 1px solid var(--za-border); border-radius: 16px; background: var(--za-bg-surface); }
.single-product.za-commerce-layout .product_title { line-height: 1.3 !important; overflow-wrap: anywhere; }
.za-product-price-label { display: block; margin-top: 24px; color: var(--za-text-muted); font-size: .8rem; }
.single-product.za-commerce-layout .summary p.price { margin: 4px 0 20px !important; font-size: clamp(1.8rem, 3vw, 2.2rem) !important; }
.za-product-details-links { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0 0 12px; }
.za-product-details-links a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: .82rem; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.za-product-details-links a:hover { color: var(--za-primary-dark); }
.za-product-weight { font-size: .82rem; color: var(--za-text-muted); margin: 0 0 18px; }
.single-product.za-commerce-layout .summary .stock { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 6px; background: var(--za-accent-subtle); color: var(--za-primary); font-size: .85rem; }
.single-product.za-commerce-layout .summary .out-of-stock { background: #fbeeed; color: #8f2723; }
.single-product.za-commerce-layout .summary .available-on-backorder { background: #fff3d6; color: #704e16; }
.single-product.za-commerce-layout .summary .stock::before { display: none; }
.single-product.za-commerce-layout form.cart { padding: 20px 0 0; margin-top: 12px !important; border-top: 1px solid var(--za-border); }
.za-quantity-heading { flex: 0 0 100%; display: block; margin: 0; color: var(--za-primary); font-weight: 600; font-size: .85rem; }
.single-product.za-commerce-layout .summary .quantity.qty-custom-ready { width: auto; min-width: 146px; overflow: visible !important; }
.single-product.za-commerce-layout .summary .quantity.qty-custom-ready .qty-btn { width: 46px !important; flex: 0 0 46px; }
.single-product.za-commerce-layout .summary .quantity.qty-custom-ready .qty-btn:first-of-type { border-radius: 7px 0 0 7px; }
.single-product.za-commerce-layout .summary .quantity.qty-custom-ready .qty-btn:last-of-type { border-radius: 0 7px 7px 0; }
.single-product.za-commerce-layout .summary .quantity.qty-custom-ready .qty-btn:hover { background: var(--za-accent-subtle) !important; color: var(--za-primary) !important; }
.single-product.za-commerce-layout .summary .single_add_to_cart_button { height: auto !important; min-height: 50px; padding: 12px 20px !important; white-space: normal; line-height: 1.4; }
.single-product.za-commerce-layout .summary .single_add_to_cart_button.disabled,
.single-product.za-commerce-layout .summary .single_add_to_cart_button:disabled { opacity: .5; cursor: not-allowed !important; }
.single-product.za-commerce-layout .summary .variations th.label { width: auto; }
.single-product.za-commerce-layout .summary .variations select { font-size: 16px; min-height: 48px; }
.single-product.za-commerce-layout .summary .reset_variations { min-height: 44px; padding: 10px 0; text-decoration: underline; }
.za-product-alternatives { margin-top: 20px; }
.single-product .za-gallery-hint { padding: 16px; margin: 0; text-align: center; font-size: .85rem; color: var(--za-text-muted); }
.single-product.za-commerce-layout .woocommerce-product-gallery { align-self: start; }
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger { display: none !important; }
.single-product .woocommerce-product-gallery__image a { display: block; cursor: zoom-in; }
/* PhotoSwipe deve cobrir o cabeçalho sticky, a barra superior e a barra do WP. */
.single-product .pswp { z-index: 100100; }
.single-product.za-commerce-layout .woocommerce-product-gallery__image--placeholder img { width: 100%; max-height: 320px; object-fit: contain; }
.single-product.za-commerce-layout .woocommerce-product-gallery .flex-control-thumbs li img { padding: 4px; border: 2px solid transparent; border-radius: 8px; }
.single-product.za-commerce-layout .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { border-color: var(--za-primary); opacity: 1; }
.single-product.za-commerce-layout .woocommerce-tabs ul.tabs { flex-wrap: wrap; gap: 8px 24px !important; }
.single-product.za-commerce-layout .woocommerce-tabs ul.tabs li a { min-height: 48px; display: inline-flex; align-items: center; }
.single-product.za-commerce-layout .woocommerce-tabs .panel { max-width: 900px; line-height: 1.8; }
.single-product.za-commerce-layout .woocommerce-tabs .panel img { max-width: 100%; height: auto; }
.single-product.za-commerce-layout .woocommerce-tabs .panel table { display: block; max-width: 100%; overflow-x: auto; }
.single-product .comment-form :is(input:not([type="checkbox"]):not([type="hidden"]), textarea) { font-size: 16px; min-height: 48px; border: 1px solid var(--za-border); border-radius: 8px; box-shadow: none; }
.single-product .comment-form .stars a { min-width: 32px; min-height: 36px; }
.za-product-purchase-bar[hidden] { display: none; }
.za-product-purchase-bar { display: none; }
.single-product .summary form.cart, .single-product .woocommerce-tabs .panel { scroll-margin-top: var(--za-product-scroll-offset, 180px); }
@media (max-width: 768px) {
    .single-product.za-commerce-layout div.product { grid-template-columns: minmax(0, 1fr); }
    .single-product.za-commerce-layout div.product .woocommerce-product-gallery { grid-column: 1; grid-row: 1; width: 100%; }
    .single-product.za-commerce-layout .woocommerce-product-gallery__image--placeholder img { max-height: 220px; }
    .single-product.za-commerce-layout div.product .summary.entry-summary { grid-column: 1; grid-row: 2; margin-inline: 0 !important; }
    .single-product.za-commerce-layout div.product > .woocommerce-tabs { grid-row: 3; }
    .single-product.za-commerce-layout div.product > .related.products { grid-row: 4; }
    .single-product.za-commerce-layout .summary .quantity.qty-custom-ready input.qty { flex: none; }
    .single-product.za-commerce-layout .woocommerce-tabs ul.tabs { overflow: visible; }
    .single-product.za-commerce-layout .woocommerce-tabs ul.tabs li a { white-space: normal; }
    .single-product.za-commerce-layout .summary .variations :is(th, td) { display: block; width: 100%; text-align: left; }
    .single-product.za-has-product-bar #page { padding-bottom: 90px; }
    .za-product-purchase-bar { position: fixed; z-index: 999; bottom: calc(64px + env(safe-area-inset-bottom, 0px)); left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--za-border); background: #fff; box-shadow: 0 -4px 20px rgba(24, 78, 73, .08); }
    .za-product-purchase-bar > div { min-width: 0; flex: 1; }
    .za-bar-product-name { display: block; max-width: 220px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .75rem; color: var(--za-text-muted); }
    .za-bar-price { display: block; font-size: 1rem; font-weight: 700; color: var(--za-primary); }
    .za-bar-price .woocommerce-price-suffix { display: none; }
    .za-product-purchase-bar .button { flex: 0 0 auto; min-height: 48px; padding: 12px 16px; border-radius: 8px; background: var(--za-primary); color: #fff; font-size: .85rem; }
    .za-product-bar-visible .za-cart-feedback { bottom: calc(170px + env(safe-area-inset-bottom, 0px)); }
}
