/* Ficha pública del producto: galería, disponibilidad y compra conservan su comportamiento. */
@media screen {
    #pv-producto.pv-product-page.documento {
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: #213a3c;
        font-size: 1rem;
        font-weight: 400;
    }
    #pv-producto .pv-product-container { max-width: 1320px; padding-inline: .75rem; }
    #pv-producto .pv-product-breadcrumb { margin: 0 0 1.75rem !important; font-size: .75rem; }
    #pv-producto .breadcrumb { gap: .25rem 0; margin-bottom: 0; line-height: 1.7; }
    #pv-producto .breadcrumb-item { overflow-wrap: anywhere; }
    #pv-producto .breadcrumb-item > a { color: #126e62; }
    #pv-producto .breadcrumb-item.active { color: #788a80; }
    #pv-producto .pv-product-layout > * { min-width: 0; }
    #pv-producto .product-gallery { position: relative; margin-bottom: 1rem; overflow: hidden; border: 1px solid #d8e1dd; border-radius: 22px; background: #fff; box-shadow: 0 6px 30px rgb(17 46 56 / 3%); }
    #pv-producto .main-image-container { position: relative; width: 100%; padding-top: 100%; overflow: hidden; background: #fff; }
    #pv-producto .main-image { position: absolute; inset: 0; width: 100%; height: 100%; padding: 1.5rem; object-fit: contain; transition: opacity .2s ease; }
    #pv-producto .image-caption { display: flex; align-items: center; justify-content: center; min-height: 47px; padding: .8rem 1rem; border-top: 1px solid #e7ece5; background: #f7faf5; color: #647573; font-size: .78rem; line-height: 1.6; text-align: center; overflow-wrap: anywhere; }
    #pv-producto .image-caption:empty { display: none; }
    #pv-producto .thumbnail-list { display: flex; gap: .75rem; overflow-x: auto; padding: .15rem .15rem .65rem; scrollbar-width: thin; scrollbar-color: #bdd0c4 transparent; }
    #pv-producto .thumbnail-item { flex: 0 0 76px; width: 76px; height: 76px; padding: .35rem; border: 1px solid #d8e1dd; border-radius: 12px; background: #fff; object-fit: contain; cursor: pointer; opacity: .72; transition: border-color .15s ease, opacity .15s ease; }
    #pv-producto .thumbnail-item:is(:hover, .active) { border: 2px solid #147d6f; opacity: 1; }
    #pv-producto .thumbnail-item:focus-visible { outline: 3px solid #64a898; outline-offset: 2px; opacity: 1; }
    #pv-producto .product-info { padding: 1.75rem; border: 1px solid #d8e1dd; border-radius: 22px; background: #fff; box-shadow: 0 6px 30px rgb(17 46 56 / 3%); }
    #pv-producto .badge-store { display: inline-flex; align-items: center; gap: .4rem; max-width: 100%; margin-bottom: 1.2rem; padding: .5rem .7rem; border: 1px solid #dce8dd; border-radius: 9px; background: #f1f7f0; color: #126e62; font-size: .74rem; font-weight: 600; line-height: 1.5; text-decoration: none; overflow-wrap: anywhere; }
    #pv-producto .badge-store:hover { border-color: #a9c8b7; background: #e9f3e9; }
    body.pv-publico #contenido-gestion #pv-producto .product-info > h1 { margin-bottom: 1.15rem !important; color: #213a3c !important; font-size: clamp(1.65rem, 2.4vw, 2.25rem); line-height: 1.25 !important; font-weight: 700; letter-spacing: -.04em; overflow-wrap: anywhere; }
    #pv-producto .pv-product-price-row { flex-wrap: wrap; gap: .3rem; padding-bottom: 1.4rem; margin-bottom: 1.4rem !important; border-bottom: 1px solid #e4ece5; }
    #pv-producto .price-tag.text-primary { color: #213a3c !important; font-size: clamp(1.9rem, 2.7vw, 2.7rem); font-weight: 700; line-height: 1.2; letter-spacing: -.045em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
    #pv-producto .pv-product-price-row > .text-muted { font-size: .82rem !important; }
    #pv-producto .pv-product-price-row > .badge { border: 1px solid #e2dbc4; border-radius: 8px; background: #f7f3e7 !important; color: #7c6844 !important; font-size: .8rem !important; }
    #pv-producto .pago-contra-entrega { display: flex; align-items: flex-start; gap: .65rem; margin-bottom: 1.4rem; color: #647573; font-size: .78rem; line-height: 1.7; }
    #pv-producto .pago-contra-entrega > i { color: #147d6f; font-size: 1.2rem !important; line-height: 1.35; }
    #pv-producto .pv-product-order { margin-bottom: 1.5rem; padding: 1.25rem; border: 1px solid #d5e4d8; border-radius: 15px; background: #f2f7ef; }
    #pv-producto .pv-product-order > .form-label { margin-bottom: .9rem; color: #344d4b !important; font-size: .75rem; font-weight: 650; letter-spacing: .02em; text-transform: none !important; }
    #pv-producto .qty-control { flex: 0 0 110px; width: 110px; max-width: 110px; margin: 0 0 .75rem; }
    #pv-producto .qty-control .form-control { min-height: 48px; border: 1px solid #cbdcd0 !important; border-radius: 10px !important; background: #fff; font-size: 1.05rem; font-weight: 600; text-align: center; box-shadow: none !important; }
    #pv-producto .qty-control .form-control:focus { border-color: #64a898 !important; box-shadow: 0 0 0 3px rgb(20 125 111 / 12%) !important; }
    #pv-producto .qty-control .form-control.is-invalid { border-color: #dc3545 !important; }
    #pv-producto .qty-control .form-control.is-invalid:focus { box-shadow: 0 0 0 3px rgb(220 53 69 / 15%) !important; }
    #pv-producto [id^="cantidad_cargada"] { padding-bottom: .75rem; color: #147d6f !important; font-size: .75rem; }
    #pv-producto [id^="cantidad_cargada"] > i { font-size: 1.1rem !important; }
    #pv-producto .pv-product-order > .small { margin-bottom: .65rem; color: #647573; font-size: .73rem; line-height: 1.75; }
    #pv-producto .btn { min-height: 44px; border-radius: 10px !important; font-size: .83rem; box-shadow: none !important; }
    #pv-producto #pv-agregar-producto { min-height: 49px; padding: .8rem 1rem !important; background: #147d6f; border-color: #147d6f; color: #fff; }
    #pv-producto #pv-agregar-producto:is(:hover, :focus) { background: #10695d; border-color: #10695d; }
    #pv-producto #pv-agregar-producto:disabled { background: #9aaea1; border-color: #9aaea1; color: #fff; }
    #pv-producto .pv-product-order > a { border-color: #b4cdbd; background: #fff; color: #126e62; }
    #pv-producto .pv-product-order > a:hover { border-color: #147d6f; background: #e9f2e6; }
    #pv-producto .pv-product-actions { margin: 0 0 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid #e4ece5; }
    #pv-producto .pv-product-actions > .d-grid { grid-template-columns: 1fr 1fr; gap: .65rem !important; }
    #pv-producto .pv-product-actions > .d-grid:has(> button.btn-outline-secondary) { grid-template-columns: 1fr; }
    #pv-producto .pv-product-actions > .d-grid > :first-child { grid-column: 1 / -1; min-height: 48px; }
    #pv-producto .pv-product-actions .btn-success { border-color: #b8d5c2; background: #edf6ee; color: #185e45 !important; }
    #pv-producto .pv-product-actions .btn-success:hover { border-color: #80b597; background: #dfefe1; }
    #pv-producto .pv-product-actions button.btn-primary { border-color: #c9d9cf; background: #fff; color: #126e62; }
    #pv-producto .pv-product-actions button.btn-primary:hover { border-color: #9cbea8; background: #f2f7ef; }
    #pv-producto .pv-product-actions .btn-outline-secondary { border-color: #c9d9cf; color: #526a60; }
    #pv-producto .pv-product-actions a.btn-primary { padding: .85rem !important; background: #147d6f; border-color: #147d6f; color: #fff; font-size: .95rem !important; }
    #pv-producto .description-box { color: #647573; font-size: .85rem; line-height: 1.85; overflow-wrap: anywhere; }
    #pv-producto .description-box > h2 { margin-bottom: .8rem !important; color: #213a3c !important; font-size: .95rem; font-weight: 650; }
    #pv-producto a:focus-visible, #pv-producto button:focus-visible { outline: 3px solid #64a898; outline-offset: 3px; }
    @media (max-width: 991.98px) {
        #pv-producto .product-info { padding: 1.5rem; }
        #pv-producto .main-image-container { padding-top: min(100%, 650px); }
    }
    @media (max-width: 575.98px) {
        #pv-producto .pv-product-breadcrumb { margin-bottom: 1.1rem !important; font-size: .68rem; }
        #pv-producto .product-gallery, #pv-producto .product-info { border-radius: 17px; }
        #pv-producto .main-image { padding: .85rem; }
        #pv-producto .product-info { padding: 1.2rem; }
        body.pv-publico #contenido-gestion #pv-producto .product-info > h1 { font-size: 1.65rem; }
        #pv-producto .price-tag.text-primary { font-size: 2rem; }
        #pv-producto .pv-product-order { padding: 1rem; }
        #pv-producto .pv-product-actions > .d-grid { grid-template-columns: 1fr; }
        #pv-producto .pv-product-actions > .d-grid > :first-child { grid-column: auto; }
        #pv-producto .thumbnail-item { flex-basis: 64px; width: 64px; height: 64px; }
    }
    @media (prefers-reduced-motion: reduce) {
        #pv-producto .main-image, #pv-producto .thumbnail-item { transition: none; }
    }
}
