/* ============================================================
   assets/css/google-rating.css  —  Reputation Bar v3.1
   ============================================================ */

/* ── Wrapper link ─────────────────────────────────────────── */
.rep-bar-link {
    display: block;
    text-decoration: none;
    margin: 0 auto 28px;
    max-width: 840px;
    padding: 0 12px;
    box-sizing: border-box;
}

/* ── Outer card ───────────────────────────────────────────── */
.rep-bar-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.18s, border-color 0.18s;
}
.rep-bar-link:hover .rep-bar-card {
    box-shadow: 0 4px 18px rgba(0,0,0,0.1);
    border-color: #a5b4fc;
}

/* ── Score row: one column per configured platform ────────── */
/* The 1px grid gap over a grey background draws the dividers, so they stay
   correct when four cells wrap to two rows on a narrow screen (a border-left
   on .rep-bar-cell + .rep-bar-cell would mis-draw on the second row). */
.rep-bar-scores {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
}
.rep-bar-scores--1 { grid-template-columns: 1fr; }
.rep-bar-scores--2 { grid-template-columns: repeat(2, 1fr); }
.rep-bar-scores--3 { grid-template-columns: repeat(3, 1fr); }
.rep-bar-scores--4 { grid-template-columns: repeat(4, 1fr); }

/* Four across gets cramped below ~620px — wrap to a 2x2 block instead. */
@media (max-width: 620px) {
    .rep-bar-scores--3,
    .rep-bar-scores--4 { grid-template-columns: repeat(2, 1fr); }
}

/* ── Individual score cell ────────────────────────────────── */
.rep-bar-cell {
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px 12px 14px;
    gap: 6px;
    text-align: center;
}
/* ── Platform logo area ───────────────────────────────────── */
.rep-bar-platform {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 22px;
}
.rep-bar-platform svg {
    display: block;
    flex-shrink: 0;
}

/* ── Score number ─────────────────────────────────────────── */
.rep-bar-num {
    font-size: 1.7rem;
    font-weight: 900;
    color: #1a202c;
    line-height: 1;
    letter-spacing: -0.5px;
}

/* ── Stars (Google) / bubbles (Tripadvisor) ───────────────── */
.rep-bar-stars {
    display: flex;
    gap: 2px;
    justify-content: center;
    font-size: 0.75rem;
}
.rep-bar-stars .fa-star,
.rep-bar-stars .fa-star-half-alt { color: #f59e0b; }
.rep-bar-stars .far.fa-star       { color: #cbd5e1; }
/* Tripadvisor bubbles keep their own brand green */
.rep-bar-stars .fas.fa-circle,
.rep-bar-stars .fa-adjust         { color: #00AA6C; }
.rep-bar-stars .far.fa-circle     { color: #cbd5e1; }

/* ── Scale label ──────────────────────────────────────────── */
.rep-bar-scale {
    font-size: 0.68rem;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    line-height: 1;
}

/* ── Review count ─────────────────────────────────────────── */
.rep-bar-count {
    font-size: 0.7rem;
    color: #94a3b8;
    line-height: 1;
}

/* ── CTA footer ───────────────────────────────────────────── */
.rep-bar-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 11px 16px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #3b82f6;
    background: #f8fafc;
    transition: background 0.15s;
}
.rep-bar-link:hover .rep-bar-cta {
    background: #eff6ff;
}

/* ── Mobile ───────────────────────────────────────────────── */
@media (max-width: 420px) {
    .rep-bar-num   { font-size: 1.4rem; }
    .rep-bar-cell  { padding: 12px 8px; }
    .rep-bar-cta   { font-size: 0.78rem; }
}
