/* =============================================================
   地域記事 PC院カード 新デザイン (Figma: 事故治療ナビ 8522-7133)
   対象: 通常院(非サブスク)の PC 表示のみ (tmp/region-card.php)。
   SP / サブスク院は既存の .p-city-clinic-list__card を使う。
   ============================================================= */
.p-rcard,
.p-rcard * {
  box-sizing: border-box;
}

/* コンテナ: 既存 .p-city-clinic-list__card の見た目を上書き(JS用にクラスは残すため .card.rcard で確実に勝たせる) */
.p-city-clinic-list__card.p-rcard {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  margin: 0 0 20px;
  padding: 24px 20px;
  background: #fff;
  border: 1px solid #dfdfdf;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  list-style: none;
  overflow: visible;
}
.p-city-clinic-list__card.p-rcard::before {
  content: none;
}

/* ---- ヘッダー: 治療内容 + 症状ピル + ★評価 ---- */
.p-rcard__head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.p-rcard__label {
  flex: 0 0 auto;
  padding: 4px 8px;
  background: #e6e5e5;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  color: #333;
  white-space: nowrap;
}
.p-rcard__symptoms {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.p-rcard__symptom {
  padding: 4px 8px;
  border: 1px solid #ff7a00;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  color: #ff7a00;
  white-space: nowrap;
}
.p-rcard__rating-link {
  margin-left: auto;
  text-decoration: none;
  color: inherit;
}
.p-rcard__rating {
  display: inline-flex;
  align-items: flex-end;
  gap: 8px;
  margin-left: auto;
}
.p-rcard__rating-link .p-rcard__rating {
  margin-left: 0;
}
.p-rcard__stars {
  position: relative;
  display: inline-block;
  height: 20px;
  font-size: 20px;
  line-height: 1;
  white-space: nowrap;
}
.p-rcard__stars-gray {
  color: #d8d8d8;
}
.p-rcard__stars-gold {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  color: #ffa727;
  white-space: nowrap;
}
.p-rcard__rating-num {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  color: #dc2a2a;
}

/* ---- 院名 ---- */
.p-rcard__name {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  color: #333;
}
.p-rcard__name a {
  color: inherit;
  text-decoration: none;
}
.p-rcard__name a:hover {
  text-decoration: underline;
}

/* ---- 写真3枚 ---- */
.p-rcard__photos {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-rcard__photo {
  flex: 1 1 0;
  min-width: 0;
  aspect-ratio: 205 / 127;
  border-radius: 8px;
  overflow: hidden;
}
.p-rcard__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---- セクション見出しバー ---- */
.p-rcard__section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.p-rcard__barhead {
  margin: 0;
  padding: 8px 12px;
  background: #fff2e4;
  border-left: 2px solid #faa268;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  color: #333;
}

/* ---- 基本情報 上段: 特徴 + 地図 ---- */
.p-rcard__info-top {
  display: flex;
  gap: 12px;
  align-items: stretch;
}
.p-rcard__features {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-rcard__feature {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px;
  background: #fff1e2;
  border-radius: 4px;
}
.p-rcard__feature-ico {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
}
.p-rcard__feature-text {
  font-size: 13px;
  line-height: 1.3;
  color: #333;
}
.p-rcard__map {
  flex: 1 1 0;
  min-width: 0;
  border-radius: 8px;
  overflow: hidden;
}
.p-rcard__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 152px;
  border: 0;
}
.p-rcard__info-top.is-nomap .p-rcard__features {
  flex-basis: 100%;
}

/* ---- 基本情報 下段: 診療時間 + タグ/住所 ---- */
.p-rcard__info-bottom {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.p-rcard__cal-wrap {
  flex: 1 1 0;
  min-width: 0;
}
.p-rcard__cal {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 12px;
  table-layout: fixed;
}
.p-rcard__cal thead th {
  padding: 6px 2px;
  background: #fce1c6;
  color: #555;
  font-weight: 500;
  text-align: center;
}
.p-rcard__cal-time {
  width: 90px;
}
.p-rcard__cal thead th.p-rcard__cal-time {
  letter-spacing: 1px;
}
.p-rcard__cal tbody th,
.p-rcard__cal tbody td {
  padding: 8px 2px;
  border: 1px solid #fce1c6;
  text-align: center;
  vertical-align: middle;
}
.p-rcard__cal tbody th.p-rcard__cal-time {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #333;
  white-space: nowrap;
}
.p-rcard__cal .is-o {
  color: #faa268;
  font-weight: 900;
}
.p-rcard__cal .is-x {
  color: #585858;
  font-weight: 900;
}
.p-rcard__cal-note {
  margin: 6px 0 0;
  font-size: 11px;
  line-height: 1.4;
  color: #7e7e7e;
}
.p-rcard__meta {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.p-rcard__tags {
  display: flex;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-rcard__tag {
  flex: 1 1 0;
  min-width: 0;
  padding: 4px 8px;
  background: #faa268;
  border-radius: 3px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}
.p-rcard__addr {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0;
}
.p-rcard__addr-ico {
  flex: 0 0 auto;
  width: 22px;
  height: 20px;
  margin-top: 1px;
}
.p-rcard__addr-text {
  flex: 1 1 0;
  min-width: 0;
  font-size: 14px;
  line-height: 1.3;
  color: #333;
}
.p-rcard__addr-ref {
  color: #333;
}

/* ---- 口コミ 3枚 ---- */
.p-rcard__voices {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-rcard__voice {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 12px 16px;
  border: 1px solid #ffe3d1;
  border-radius: 8px;
}
.p-rcard__voice-head {
  display: flex;
  align-items: center;
  gap: 8px;
}
.p-rcard__voice-face {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}
.p-rcard__voice-meta {
  font-size: 11px;
  color: #666;
  line-height: 1.3;
}
.p-rcard__voice-text {
  margin: 0;
  font-size: 12px;
  line-height: 1.3;
  color: #333;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* CTA(cta-soudan)はコンポーネント側CSSで表示。
   デザイン(8522-7133)はPCで電話/LINEを横並び。cta-soudan.css は地域記事
   (.p-city-clinic-list__card)を縦並び・max-width:468px に絞っているため、
   両クラス(.card.rcard)でより高い詳細度にして横並び・全幅に上書きする。 */
.p-city-clinic-list__card.p-rcard .c-cta {
  margin-top: 0;
  max-width: none;
}
.p-city-clinic-list__card.p-rcard .c-cta__btns {
  flex-direction: row;
  gap: 8px;
}
.p-city-clinic-list__card.p-rcard .c-cta__btn {
  flex: 1 1 0;
  min-width: 0;
  max-width: none;
}
