/* =========================
   Google Map 口コミ（読みやすさ最優先）
   ========================= */
.gm-reviews{
  --md-surface:#fff;
  --md-outline-variant:#e3e3e3;
  --md-on-surface:#1f1f1f;
  --md-on-surface-variant:#5f6368;
  --md-primary:#1a73e8;
  --md-star:#f4b400;

  max-width: 760px;              /* 少し広げる */
  margin: 24px auto;
  padding: 18px;                 /* 余白UP */
  border: 1px solid var(--md-outline-variant);
  border-radius: 16px;
  background: var(--md-surface);
  box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.06);

  color: var(--md-on-surface);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto,
               "Noto Sans JP", "Hiragino Kaku Gothic ProN",
               "Yu Gothic", Meiryo, sans-serif;

  font-size: 16px;             /* ★体感を変える一番効く */
}

/* Header */
.gm-reviews__header{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:10px;
  padding: 6px 6px 14px;
}

.gm-reviews__header strong{
  font-size: 1.35em;            /* 店舗名 */
  font-weight: 700;
  letter-spacing: .2px;
}

.gm-reviews__summary{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  font-size: 1.05em;
  color: var(--md-on-surface-variant);
}

/* List / Item */
.gm-reviews__list{ list-style:none; padding:0; margin:0; }

.gm-reviews__item{
  border-top:1px solid var(--md-outline-variant);
  padding: 16px 6px;             /* 余白UP */
}
.gm-reviews__item:first-child{ border-top:none; }

/* Hover: レイアウトが“ガクッ”と動くのが嫌なら margin/padding を変えない */
.gm-reviews__item:hover{
  background: rgba(26,115,232,.06);
  border-radius: 12px;
}

/* Meta line */
.gm-reviews__meta{
  display:flex;
  flex-wrap:wrap;
  gap: 12px;
  align-items:center;
  margin-bottom: 8px;
  font-size: 1em;               /* 名前・日付 */
  color: var(--md-on-surface-variant);
}
.gm-reviews__author{ color:var(--md-on-surface); font-weight:700; }
.gm-reviews__time{ color:var(--md-on-surface-variant); }

/* Body */
.gm-reviews__text{
  font-size: 1.08em;            /* 本文 */
  line-height: 1.9;
  color: var(--md-on-surface);
  white-space: pre-wrap;
}

/* Stars（ズレない版：幅=5文字分をemで固定） */
.gm-reviews__stars{
  position:relative;
  display:inline-block;
  width:5em;            /* ★×5の幅 */
  height:1em;
  line-height:1;
  font-size:1.25em;     /* ←サイズはここ！ */
  vertical-align:middle;
  --star-fill: 0%;
}

.gm-reviews__stars::before,
.gm-reviews__stars::after{
  content:"★★★★★";
  position:absolute;
  inset:0;
  white-space:nowrap;
  line-height:1;
}

.gm-reviews__stars::before{ color:#dadce0; }

.gm-reviews__stars::after{
  color: var(--md-star);
  overflow:hidden;
  width: var(--star-fill);
}

/* サマリーは「コンテナのfont-size」を上げるだけ */
.gm-reviews__stars--summary{
  font-size:1.35em;
}

/* 念のため安全化（変な値でも崩れない） */
.gm-reviews__stars{
  --star-fill: clamp(0%, var(--star-fill), 100%);
}

/* Rating number */
.gm-reviews__rating-num{
  margin-left: 6px;
  font-size: 1em;
  color: var(--md-on-surface-variant);
  font-variant-numeric: tabular-nums;
  vertical-align: middle;
}
.gm-reviews__count{
  margin-left: 6px;
  font-size: 1em;
  color: var(--md-on-surface-variant);
}

/* Links */
.gm-reviews a{ color: var(--md-primary); text-decoration:none; }
.gm-reviews a:hover{ text-decoration:underline; }

/* Mobile */
@media (max-width: 600px){
  .gm-reviews{
    margin: 16px;
    padding: 16px;
    border-radius: 14px;
    font-size: 16.5px; /* スマホでも下げない */
  }
  .gm-reviews__header strong{ font-size: 1.25em; }
  .gm-reviews__meta{ font-size: 1em; }
  .gm-reviews__text{ font-size: 1.08em; line-height: 1.95; }
}


