/* Variant AJAX and native details expansion must grow the containing list row.
   NOVA otherwise retains the height measured before the variant was selected. */
.product-wrapper:has(.vapor-product-safety) {
    height: auto !important;
}

.vapor-product-safety {
    overflow-wrap: anywhere;
}

.vapor-technical-facts {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 1rem;
}

.vapor-technical-facts dt,
.vapor-technical-facts dd {
    margin-bottom: .5rem;
    min-width: 0;
}

.vapor-product-safety-summary {
    white-space: normal;
    text-align: left;
}

/* A narrow two-column mobile tile cannot keep label text comfortably readable. */
@media (max-width: 575.98px) {
    #product-list .product-wrapper:has(.vapor-product-safety:not(.vapor-safety-compact)),
    #product-list .product-wrapper:has(.vapor-safety-compact[open]) {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* NOVA's implicit form submit control is not a second purchase CTA above the
   label. Keep the intended hidden control hidden for verified product forms. */
form:has(.vapor-product-safety) > .btn-hidden-default {
    display: none !important;
}

/* Device instructions stay available without stretching every catalogue row. */
.vapor-safety-compact {
    font-size: .875rem;
}
.vapor-safety-compact > summary {
    cursor: pointer;
    font-weight: 600;
    padding: .5rem 0;
}
.vapor-safety-compact[open] > summary {
    margin-bottom: .5rem;
}
.vapor-safety-compact > summary:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
