/* Allow saved and legacy text to wrap within flex/grid tracks. */
main, main section, main article, main form, main fieldset,
main div, .site-footer div, .cart-item-details {
    min-width: 0;
}
main, .site-footer, .cart-item-details {
    overflow-wrap: anywhere;
}
main input, main select, main textarea, main img {
    max-width: 100%;
}
.dashboard-row, .booking-row, .subscription-row {
    gap: 1rem;
}
.dashboard-row > *, .booking-row > *, .subscription-row > * {
    min-width: 0;
}
.admin-table td { overflow-wrap: anywhere; white-space: normal; }
.review-details { max-width: 32rem; min-width: 10rem; }
.review-details summary { cursor: pointer; }
.review-details p { white-space: pre-wrap; }
.testimonial-track { grid-auto-columns: min(300px, 100%); }
.testimonial-card { min-width: 0; max-width: none; padding: 20px; }
.testimonial-card blockquote {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
    overflow-wrap: anywhere;
}
@media (max-width: 600px) {
    .dashboard-row, .booking-row, .subscription-row { flex-wrap: wrap; }
    .subscription-actions { width: 100%; }
}
.review-table { table-layout: fixed; width: 100%; min-width: 0; }
.review-table td:first-child strong { white-space: normal; overflow-wrap: anywhere; }
.review-table .review-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
.review-table .review-details { min-width: 0; }
.review-table td, .review-table form { min-width: 0; }
.review-table, .review-table tbody, .review-table td { display: block; }
.review-table thead { display: none; }
.review-table tr {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 1rem;
    border: 1px solid #ddd;
}
.review-table td { border: 0; padding: 1rem; }
.review-table td::before {
    content: attr(data-label);
    display: block;
    font-weight: 700;
    margin-bottom: .35rem;
}
.review-table td:first-child { grid-column: 1 / -1; }
.review-table td[data-label="Moderation"],
.review-table td[data-label="Testimonial"] { grid-column: span 2; }
.review-table .review-details { max-width: none; }
.review-table .review-details[open] { max-height: 22rem; overflow: auto; }
.review-table .decision-actions { flex-wrap: wrap; }
@media (max-width: 600px) {
    .review-table tr { grid-template-columns: 1fr; }
    .review-table td[data-label] { grid-column: 1; }
}
.email-change-shell { padding: 3rem 1rem; background: var(--white); }
.email-change-panel { max-width: 40rem; margin: auto; padding: 2rem; border: 1px solid #ddd; border-radius: 1rem; }
.email-change-panel h1 { font-family: var(--heading-font, sans-serif), sans-serif; margin: 0 0 1.5rem; }
.email-change-panel form { display: grid; gap: 1rem; margin: 1.5rem 0; }
.email-change-panel label { display: block; margin-bottom: .5rem; }
.email-change-panel input { width: 100%; min-height: 44px; padding: .75rem; }
.email-change-panel button { padding: .9rem; background: var(--lime); color: white; border: 0; border-radius: .5rem; cursor: pointer; }
.subscription-form input[type="number"], .subscription-actions input[type="number"] {
    display: block; min-height: 44px; width: 7rem; padding: .6rem; margin-top: .5rem;
}
