/* AM Reviews — v1.0.5 — All Management */

.am-reviews-widget *, .am-reviews-widget *::before, .am-reviews-widget *::after { box-sizing: border-box; }
.am-reviews-widget { font-family: inherit; max-width: 100%; }

/* ── HEADER commun ── */
.am-reviews-header {
    display: flex; align-items: center; gap: 16px;
    padding: 18px 22px; border-radius: 10px; margin-bottom: 20px;
}
.am-reviews-header__logo svg    { width: 36px; height: 36px; flex-shrink: 0; }
.am-reviews-header__info        { display: flex; flex-direction: column; gap: 5px; }
.am-reviews-header__rating-row  { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.am-reviews-header__score       { font-size: 28px; font-weight: 800; line-height: 1; }
.am-reviews-header__name        { font-size: 15px; font-weight: 700; }
.am-reviews-header__count       { font-size: 13px; }

/* ── ÉTOILES ── */
.am-reviews-stars               { display: inline-flex; align-items: center; gap: 2px; }
.am-star                        { width: 18px; height: 18px; flex-shrink: 0; }
.am-star--full polygon          { fill: #FBBC04; stroke: #FBBC04; stroke-width: 1; }
.am-star--half polygon          { stroke: none; }

/* ── WRAPPER + NAV ── */
.am-reviews-track-wrapper       { display: flex; align-items: center; gap: 8px; width: 100%; }

/* ── TRACK : scroll natif + snap ── */
.am-reviews-track {
    display: flex;
    gap: 16px;
    flex: 1;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;       /* Firefox */
    -ms-overflow-style: none;    /* IE */
    scroll-behavior: smooth;
}
.am-reviews-track::-webkit-scrollbar { display: none; }

/* ── CARDS : 3 visibles desktop, 2 tablette, 1 mobile ── */
.am-reviews-card {
    scroll-snap-align: start;
    flex: 0 0 calc(33.333% - 11px);
    display: flex; flex-direction: column; gap: 10px;
    border-radius: 10px; padding: 18px;
}

@media (max-width: 1023px) {
    .am-reviews-card { flex: 0 0 calc(50% - 8px); }
}
@media (max-width: 767px) {
    .am-reviews-card { flex: 0 0 calc(100% - 0px); }
    .am-reviews-nav  { display: none; }
    .am-reviews-header { padding: 14px 16px; }
    .am-reviews-header__score { font-size: 22px; }
}

/* ── NAV BUTTONS ── */
.am-reviews-nav {
    flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%;
    font-size: 22px; line-height: 1; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: border-color .15s, color .15s; padding: 0;
}
.am-reviews-nav:disabled { opacity: .3; cursor: default; }

/* ── CARD CONTENU ── */
.am-reviews-card__header        { display: flex; align-items: flex-start; gap: 10px; }
.am-reviews-card__avatar        { width: 40px; height: 40px; border-radius: 50%; overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.am-reviews-card__avatar img    { width: 100%; height: 100%; object-fit: cover; display: block; }
.am-reviews-card__avatar-initials { font-size: 17px; font-weight: 700; text-transform: uppercase; }
.am-reviews-card__meta          { flex: 1; min-width: 0; }
.am-reviews-card__name          { font-size: 14px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.am-reviews-card__date          { font-size: 11px; margin-top: 3px; }
.am-reviews-card__google-icon   { flex-shrink: 0; opacity: .8; }
.am-reviews-card__google-icon svg { width: 16px; height: 16px; }
.am-reviews-card__stars .am-star  { width: 15px; height: 15px; }
.am-reviews-card__text          { font-size: 13px; line-height: 1.6; }
.am-reviews-card__text--empty   { font-style: italic; opacity: .6; }
.am-reviews-read-more, .am-reviews-read-less { background: none; border: none; font-size: 12px; cursor: pointer; padding: 0 0 0 4px; font-family: inherit; }
.am-reviews-read-more:hover, .am-reviews-read-less:hover { text-decoration: underline; }

/* ── BOUTON ── */
.am-reviews-footer              { display: flex; justify-content: center; margin-top: 24px; }
.am-reviews-btn                 { display: inline-flex; align-items: center; gap: 10px; padding: 11px 26px; border-radius: 6px; font-size: 13px; font-weight: 700; font-family: inherit; text-decoration: none; cursor: pointer; letter-spacing: .04em; transition: background .15s, border-color .15s, color .15s; }
.am-reviews-btn svg             { width: 16px; height: 16px; flex-shrink: 0; }
@media (max-width: 767px) { .am-reviews-footer { margin-top: 16px; } .am-reviews-btn { width: 100%; justify-content: center; } }

.am-reviews-error               { color: #c5221f; background: #fce8e6; padding: 10px 14px; border-radius: 8px; font-size: 13px; }
.am-reviews-empty               { font-size: 14px; text-align: center; padding: 20px 0; opacity: .6; }

/* ================================================================
   THEME LIGHT
   ================================================================ */
.amr-light .am-reviews-header           { background: #f8f9fa; border: 1px solid #e0e0e0; }
.amr-light .am-reviews-header__name     { color: #202124; }
.amr-light .am-reviews-header__score    { color: #202124; }
.amr-light .am-reviews-header__count    { color: #70757a; }
.amr-light .am-reviews-nav              { border: 1px solid #e0e0e0; background: #fff; color: #70757a; }
.amr-light .am-reviews-nav:hover        { border-color: #FBBC04; color: #FBBC04; }
.amr-light .am-reviews-card            { background: #fff; border: 1px solid #e0e0e0; }
.amr-light .am-reviews-card:hover      { border-color: #FBBC04; }
.amr-light .am-reviews-card__avatar    { background: #e8f0fe; border: 1px solid #e0e0e0; }
.amr-light .am-reviews-card__avatar-initials { color: #1a73e8; }
.amr-light .am-reviews-card__name      { color: #202124; }
.amr-light .am-reviews-card__date      { color: #70757a; }
.amr-light .am-reviews-card__text      { color: #3c4043; }
.amr-light .am-reviews-read-more, .amr-light .am-reviews-read-less { color: #1a73e8; }
.amr-light .am-reviews-btn             { border: 1px solid #dadce0; background: #fff; color: #1a73e8; }
.amr-light .am-reviews-btn:hover       { background: #FBBC04; border-color: #FBBC04; color: #111; text-decoration: none; }
.amr-light .am-star--empty polygon     { fill: #dadce0; stroke: #dadce0; }

/* ================================================================
   THEME DARK
   ================================================================ */
.amr-dark .am-reviews-header           { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); }
.amr-dark .am-reviews-header__name     { color: #fff; }
.amr-dark .am-reviews-header__score    { color: #FBBC04; }
.amr-dark .am-reviews-header__count    { color: rgba(255,255,255,.5); }
.amr-dark .am-reviews-nav              { border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.06); color: #fff; }
.amr-dark .am-reviews-nav:hover        { border-color: #FBBC04; color: #FBBC04; background: rgba(251,188,4,.1); }
.amr-dark .am-reviews-card            { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); }
.amr-dark .am-reviews-card:hover      { border-color: rgba(251,188,4,.5); }
.amr-dark .am-reviews-card__avatar    { background: rgba(251,188,4,.12); border: 1px solid rgba(251,188,4,.25); }
.amr-dark .am-reviews-card__avatar-initials { color: #FBBC04; }
.amr-dark .am-reviews-card__name      { color: #fff; }
.amr-dark .am-reviews-card__date      { color: rgba(255,255,255,.45); }
.amr-dark .am-reviews-card__text      { color: rgba(255,255,255,.75); font-style: italic; }
.amr-dark .am-reviews-read-more, .amr-dark .am-reviews-read-less { color: #FBBC04; }
.amr-dark .am-reviews-btn             { border: 1px solid rgba(255,255,255,.25); background: transparent; color: #fff; }
.amr-dark .am-reviews-btn:hover       { background: #FBBC04; border-color: #FBBC04; color: #111; text-decoration: none; }
.amr-dark .am-star--empty polygon     { fill: rgba(255,255,255,.2); stroke: rgba(255,255,255,.2); }
