/* Section */
.cv-testimonials {
    max-width: 1100px;
    margin: 3rem auto;
    padding: 0 1rem;
}
.cv-testimonials h1 {
    margin-bottom: .5rem;
    font-weight: 800;
}
.cv-testimonials .subtitle {
    color: var(--brand-muted);
    margin-bottom: 1rem;
}

/* Bandeau d’intro avec CTA */
.tsti-hero {
    background: linear-gradient(180deg, #f9fbff 0%, #ffffff 100%);
    border: 1px solid var(--brand-border);
    border-radius: 1rem;
    padding: 1rem 1.15rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: 1.25rem;
    box-shadow: 0 8px 28px rgba(0,0,0,.04);
}
.tsti-hero .left {
    display: flex; align-items: center; gap: .75rem;
}
.tsti-hero .marker {
    width: 4px; height: 44px; border-radius: 4px;
    background: linear-gradient(180deg,
    color-mix(in srgb, var(--brand-primary) 75%, transparent),
    color-mix(in srgb, var(--brand-primary) 35%, transparent));
}
.tsti-hero .text {
    color: var(--brand-muted);
}
.tsti-cta {
    white-space: nowrap;
}

/* Grille: 1 par ligne */
.testi-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.1rem;
}
@media (min-width: 768px) { .testi-grid { grid-template-columns: 1fr; } }
@media (min-width: 1100px) { .testi-grid { grid-template-columns: 1fr; } }

/* Carte */
.testi-card {
    position: relative;
    background: var(--brand-surface);
    border: 1px solid var(--brand-border);
    border-radius: 1rem;
    padding: 1.15rem 1.2rem;
    box-shadow: 0 10px 30px rgba(0,0,0,.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
.testi-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(0,0,0,.08);
    border-color: color-mix(in srgb, var(--brand-primary) 22%, var(--brand-border));
    background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--brand-bg) 60%, #fff) 100%);
}
.testi-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg,
    color-mix(in srgb, var(--brand-primary) 80%, transparent),
    color-mix(in srgb, var(--brand-primary) 35%, transparent));
    border-radius: 1rem 0 0 1rem;
    opacity: .95;
}

/* En-tête */
.testi-head {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin-bottom: .55rem;
}
.testi-avatar {
    width: 48px; height: 48px;
    border-radius: 50%;
    overflow: hidden;
    flex: none;
    box-shadow: 0 0 0 3px #fff, 0 6px 18px rgba(0,0,0,.08);
}
.testi-info { line-height: 1.15; }
.testi-name {
    font-weight: 800;
    color: #172031;
    margin: 0;
}
.testi-role {
    font-size: .92rem;
    color: var(--brand-muted);
    margin: 0;
}

/* Entreprise */
.company {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}
.company-logo {
    max-height: 36px;   /* taille un peu plus généreuse */
    width: auto;
    height: auto;
    display: block;
    border-radius: 6px;
    object-fit: contain;
    box-shadow: 0 0 0 2px #fff, 0 3px 10px rgba(0,0,0,.06);
}
@media (min-width: 768px) { .company-logo { max-height: 40px; } }
.company-name {
    font-weight: 700;
    color: #2b2f33;
    font-size: .95rem;
}

/* Titre + contenu */
.testi-title {
    font-weight: 800;
    color: #172031;
    margin: .25rem 0 .2rem;
    letter-spacing: .2px;
}
.testi-quote {
    margin: .2rem 0 0;
    color: #475569;
    line-height: 1.6;
    position: relative;
    padding-left: 1.5rem;
    font-style: italic;
}
.testi-quote::before {
    content: "“";
    position: absolute;
    left: .2rem;
    top: -.1rem;
    font-size: 2rem;
    line-height: 1;
    color: color-mix(in srgb, var(--brand-primary) 45%, #0000);
}

/* Pied de carte */
.testi-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-top: .9rem;
}
.testi-meta {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .9rem;
    color: #3b4251;
    font-weight: 600;
}
.testi-meta i { color: var(--brand-primary); }

/* Accessibilité */
.testi-card:focus-within {
    outline: 3px solid rgba(91,141,239,.35);
    outline-offset: 2px;
}
