/* Page geometry and feature states; shared appearance lives in styles.css and families.css. */
.avatar-xxl { width: 100px; height: 100px; }
    @media (min-width: 768px) {
        .avatar-xxl { width: 140px; height: 140px; }
    }
    .line-clamp-3 {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .w-100-mobile { width: 100% !important; }
    @media (min-width: 576px) {
        .w-100-mobile { width: auto !important; }
    }
    
    @media (max-width: 767.98px) {
        .avatar-xxl { width: 80px; height: 80px; }
        .therapist-price-rating .h3 { font-size: 1.25rem; }
        .rating-stars { font-size: 0.8rem; }
    }
    
    /* Fix star alignment and ensure they stay in a row */
    .rating-stars {
        white-space: nowrap !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 0.5rem !important;
    }
    .stars-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 2px !important;
    }
    .stars-row i {
        display: inline-block !important;
        flex-shrink: 0 !important;
        width: auto !important;
    }
    
    h4, .h4, p, div, span {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }
    /* Collapsible filters: toggle is interactive only on mobile (forced open on
       desktop via .d-lg-block). Chevron rotates when expanded. */
    .filter-toggle-chevron { transition: transform 0.2s ease; }
    .filter-toggle[aria-expanded="true"] .filter-toggle-chevron { transform: rotate(180deg); }
    @media (min-width: 992px) {
        .filter-toggle { cursor: default; pointer-events: none; }
    }
