/* Layout B. Native gallery dimensions, controls and mobile widget styles stay native. */
:root { --upv-product-layout-ready: 1; }

.upv-product-secondary { display: grid; gap: 20px; margin-top: 20px; min-width: 0; }
.upv-product-secondary > .widget-product-delivery-info { display: grid; gap: 12px; }
.upv-product-secondary .product-delivery { display: flex; align-items: center; gap: 8px; }
.upv-product-secondary .product-delivery .icon { font-size: 20px; flex-shrink: 0; }
.upv-product-secondary .product-delivery p { min-width: 0; overflow-wrap: anywhere; }
.upv-product-secondary > .tf-product-trust-seal {
    background: var(--bg); display: grid; place-items: center; gap: 16px;
    padding: 24px 15px; border-radius: 12px;
}
.upv-product-secondary .list-card { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.upv-product-secondary .card-item img { aspect-ratio: 50 / 32; }
.upv-product-secondary > .widget-payment-methods { max-width: 100%; overflow-wrap: anywhere; }
.upv-product-secondary :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* Keep the native dynamic header/admin-bar top offset; only opt out of sticky when too tall. */
.section-product-single .tf-product-media-wrap.upv-layout-static { position: static !important; }
.upv-product-layout-description { padding-top: 40px; }

@media (max-width: 767.98px) {
    .section-product-single .tf-product-media-wrap.upv-layout-gallery { position: static !important; }
}
