.avis-page {
    width: min(1040px, calc(100% - 28px));
    margin: 2rem auto 3rem;
}

.avis-page-head {
    margin-bottom: 1.4rem;
}

.avis-page-head h1 {
    color: #4b134f;
    margin-bottom: 0.45rem;
}

.avis-page-head p {
    color: #5f5365;
    margin: 0;
    max-width: 720px;
}

.avis-list {
    display: grid;
    gap: 1rem;
}

.avis-card {
    background: #fff8f2;
    border: 1px solid #f0dfd1;
    border-radius: 10px;
    box-shadow: 0 8px 22px rgba(75, 19, 79, 0.06);
    padding: 1.15rem;
}

.avis-card-head {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.avis-card-head div {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.55rem;
}

.avis-card-head strong {
    color: #4b134f;
}

.avis-card-head span {
    color: #5f5365;
}

.avis-stars {
    color: #cfc2c9;
    flex: 0 0 auto;
    white-space: nowrap;
}

.avis-stars .is-on {
    color: #b7831f;
}

.avis-card p,
.avis-empty p {
    color: #3d3441;
    line-height: 1.6;
    margin: 0;
}

.avis-empty {
    background: #ffffff;
    border: 1px solid #eadfea;
    border-radius: 10px;
    padding: 1.2rem;
}

@media (max-width: 640px) {
    .avis-page {
        width: min(100% - 20px, 100%);
        margin-top: 1.2rem;
    }

    .avis-card-head {
        flex-direction: column;
        gap: 0.45rem;
    }
}
