/* =====================================================================
   コーワミラーショップ「お客様の声」 共通スタイル
   社内システム（jutyu_db/mirror_voice.py）が /reviews/css/voice.css として配置する。
   トップページの .index 用ルール（layout_master.css）を、商品ページと /reviews/ でも
   同じ見た目になるよう .kowa-voice に付け直したもの。見た目の調整はこのファイルで行う。
   ===================================================================== */

/* ---- 3件ボックス（トップページと同じ構造） ---- */
.kowa-voice { text-align: left; }
/* 商品ページ側の dl/dt/dd・h3 のルール（.area_06 dl dt {float:left;width:52%} 等）を打ち消す */
.kowa-voice .block_06__customerVoice dl,
.kowa-voice .block_06__customerVoice dl dt,
.kowa-voice .block_06__customerVoice dl dd {
  float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important;
  line-height: 1.4 !important; text-align: left !important; background: none;
}
.kowa-voice .block_06__customerVoice h3 { width: auto !important; margin: 0 0 5px !important; padding: 0 !important; border: none !important; text-align: left !important; color: #333; }
.kowa-voice .block_06__customerVoice p { padding: 0 !important; margin: 0 !important; font-size: 1.1rem; line-height: 1.6; text-align: left; }
.kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__evaluation { display: flex !important; align-items: center; gap: 0 5px; margin-bottom: 5px !important; }
.kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__evaluation dt { font-size: 1.0rem; font-weight: bold; color: #008eff; white-space: nowrap; }
.kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__evaluation dd ul { display: flex; align-items: center; gap: 0 2px; margin: 0; padding: 0; list-style: none; }
.kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__evaluation dd ul li { font-size: 1.3rem; font-weight: bold; line-height: 1.0; color: #ff7f00; margin-top: -3px; }
.kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__evaluation dd ul li.number { margin-top: 0; }
.kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__evaluation dd ul li img { height: 15px; width: auto; }
.kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__title { font-size: 1.4rem; font-weight: bold; letter-spacing: 0; line-height: 1.4; }
.kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__definition { display: flex !important; align-items: flex-start; gap: 0 5px; }
.kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__definition dt {
  font-size: 1.0rem; font-weight: bold; color: #fff; line-height: 1.3 !important;
  background: #7ed7f1; border-radius: 100px; padding: 2px 10px !important;
}
.kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__definition dd { font-size: 1.1rem; font-weight: bold; }
.kowa-voice .block_06__customerVoice__bottom__text { font-size: 1.1rem; }
.kowa-voice .block_06__customerVoice {
  border: 1px solid #aee0ef;
  box-shadow: 1px 0px 6px 0 #aee0ef;
  background: #fff;
  padding: 20px 15px 20px 20px;
}
.kowa-voice .block_06__customerVoice + .block_06__customerVoice { margin-top: 30px; }
.kowa-voice .block_06__customerVoice__top {
  display: flex; justify-content: flex-start; align-items: center;
  gap: 0 10px; margin-bottom: 15px;
}
.kowa-voice .block_06__customerVoice__top__text { position: relative; width: 100%; }
.kowa-voice .block_06__customerVoice__top__image img {
  width: 72px; height: 72px; object-fit: cover; border-radius: 6px;
}
.kowa-voice .block_06__customerVoice__bottom { display: flex; justify-content: flex-start; align-items: flex-start; gap: 0 25px; }
.kowa-voice .block_06__customerVoice__bottom__image { flex: 0 0 auto; }
.kowa-voice .block_06__customerVoice__bottom__image img {
  width: 160px; height: 160px; object-fit: cover; border-radius: 6px;
}
.kowa-voice .block_06__customerVoice__bottom__text { flex: 1 1 auto; min-width: 0; }
.kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__title a { color: inherit; text-decoration: none; }
.kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__title a:hover { text-decoration: underline; }
.kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__definition dd { word-break: break-all; }
.kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__definition dt { white-space: nowrap; }
.kowa-voice .kv-more { color: #0080ff; white-space: nowrap; margin-left: .5em; font-weight: bold; }
.kowa-voice .block_06__customerVoice p.kv-meta { font-size: 1.1rem; color: #666; margin-top: 8px !important; font-weight: normal; }
.kowa-voice .kv-meta .kv-product { margin-left: 1em; }
.kowa-voice .kv-meta a { color: #0080ff; }

/* 写真が無いレビュー：画像列を出さず本文を全幅に */
.kowa-voice .block_06__customerVoice.-noimage .block_06__customerVoice__bottom { display: block; }

/* 「もっと見る」ボタン（トップページ .block_06__btn と同じ） */
.kowa-voice .block_06__btn a {
  font-size: 1.2rem; font-weight: bold; color: #0080ff;
  display: flex; justify-content: center; align-items: center;
  width: 75%; height: 48px; border: 1px solid #0080ff; border-radius: 8px;
  margin: 30px auto 0; background: #fff; text-decoration: none;
}

/* ---- /reviews/ 一覧・1件ページ ---- */
.kv-page { padding: 20px 15px 40px; }
.kv-page .kv-title { text-align: center; margin-bottom: 15px; }
.kv-page .kv-title h2 { font-size: 1.8rem; font-weight: bold; }
.kv-page .kv-title .kv-sub { font-size: 1.1rem; font-weight: bold; color: #0080ff; display: flex; justify-content: center; align-items: center; gap: 0 3px; }
.kv-page .kv-title .kv-sub img { height: 18px; }
.kv-page .kv-title .kv-sub i { font-style: normal; font-size: 1.3rem; }
.kv-page .kv-title .kv-sub i.number { font-size: 1.6rem; }
.kv-page .kv-lead { font-size: 1.2rem; margin-bottom: 20px; }
.kv-summary { display: flex; justify-content: center; align-items: center; gap: 0 20px; margin-bottom: 20px; font-weight: bold; }
.kv-summary .kv-avg { font-size: 2.6rem; color: #ff7f00; line-height: 1; }
.kv-summary .kv-avg small { font-size: 1.2rem; color: #333; margin-left: 4px; }
.kv-summary .kv-stars { display: flex; gap: 0 2px; }
.kv-summary .kv-stars img { height: 18px; }
.kv-summary .kv-count { font-size: 1.3rem; }

/* 絞り込みヘッダー（全ページ共通）: 1段目 すべて/鏡/ガラス/アルポリ、2段目 種類別 */
.kv-filter { border: 1px solid #aee0ef; border-radius: 8px; background: #f4fbfe; padding: 10px 12px; margin-bottom: 20px; }
.kv-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.kv-tabs--2 { margin-top: 8px; padding-top: 8px; border-top: 1px dashed #aee0ef; }
.kv-tabs .kv-tabs__label { font-size: 1.0rem; font-weight: bold; color: #666; margin-right: 4px; white-space: nowrap; }
.kv-tabs--1 a { font-size: 1.2rem; }
.kv-tabs--2 a { border-color: #7ed7f1; color: #0080ff; }
.kv-tabs--2 a.-active { background: #7ed7f1; color: #fff; }
.kowa-voice .kv-site { color: #888; margin-left: .3em; }
.kv-tabs a {
  font-size: 1.1rem; font-weight: bold; color: #0080ff; text-decoration: none;
  border: 1px solid #0080ff; border-radius: 100px; padding: 4px 12px; background: #fff;
}
.kv-tabs a.-active { background: #0080ff; color: #fff; }
.kv-tabs a .kv-n { font-weight: normal; margin-left: 3px; opacity: .8; }

.kv-pager { display: flex; justify-content: center; align-items: center; gap: 0 6px; margin-top: 30px; }
.kv-pager a, .kv-pager span {
  display: inline-block; min-width: 34px; height: 34px; line-height: 32px; text-align: center;
  border: 1px solid #0080ff; border-radius: 6px; color: #0080ff; text-decoration: none; font-weight: bold; padding: 0 8px;
}
.kv-pager span.-current { background: #0080ff; color: #fff; }
.kv-pager span.-dots { border: none; }

/* 1件ページ */
.kv-single .block_06__customerVoice__bottom__text p { white-space: pre-wrap; }
.kv-single .block_06__customerVoice .block_06__customerVoice__top__text__definition { position: static !important; max-width: none !important; margin-top: 6px !important; }
.kv-single .block_06__customerVoice .block_06__customerVoice__top__text__definition dd { white-space: normal !important; overflow: visible !important; }
.kv-single .kv-photos { display: flex; flex-wrap: wrap; gap: 10px; margin: 15px 0; }
.kv-single .kv-photos a img { width: 100%; max-width: 420px; height: auto; border-radius: 6px; border: 1px solid #ddd; }
.kv-single .kv-photos a { display: block; width: calc(50% - 5px); }
.kv-single .kv-nav { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.kv-single .kv-nav a { color: #0080ff; font-weight: bold; text-decoration: none; }
.kv-single .kv-productlink { margin-top: 20px; padding: 12px 15px; background: #eef7ff; border-radius: 8px; font-size: 1.2rem; }
.kv-single .kv-productlink a { color: #0080ff; font-weight: bold; }
.kv-note { font-size: 1.0rem; color: #888; margin-top: 30px; }

@media screen and (min-width: 992px) {
  .kowa-voice .block_06__customerVoice { padding: 20px 25px; }
  /* PCでは「用途・目的」が右上に絶対配置される（layout_master.css）。長い文が星の行に重ならないよう幅を抑えて1行に */
  .kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__definition { max-width: 55%; }
  .kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__definition dd { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: normal; }
  .kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__title { padding-right: 0; }
  .kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__evaluation { gap: 0 10px; margin-bottom: 10px !important; }
  .kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__evaluation dt { font-size: 1.3rem; }
  .kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__evaluation dd ul li { font-size: 1.7rem; margin-top: -2px; }
  .kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__evaluation dd ul li.number { margin: -6px 0 0 10px; }
  .kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__title { font-size: 1.8rem; letter-spacing: 0.05em; margin-bottom: 0 !important; }
  .kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__definition { position: absolute; top: 0; right: 0; }
  .kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__definition dt { font-size: 1.3rem; }
  .kowa-voice .block_06__customerVoice .block_06__customerVoice__top__text__definition dd { font-size: 1.4rem; }
  .kowa-voice .block_06__customerVoice__bottom__text,
  .kowa-voice .block_06__customerVoice p { font-size: 1.3rem; letter-spacing: 0.05em; line-height: 1.6; }
  .kowa-voice .block_06__customerVoice__top__image img { width: 72px; height: 72px; }
  .kowa-voice .block_06__customerVoice__bottom__image img { width: 180px; height: 180px; }
  .kowa-voice .block_06__customerVoice p.kv-meta { font-size: 1.2rem; }
  .kowa-voice .block_06__btn a { font-size: 1.6rem; width: 300px; height: 46px; transition: .2s; }
  .kowa-voice .block_06__btn a:hover { background: #dfefff; }
  .kv-page { padding: 30px 0 60px; }
  .kv-page .kv-title h2 { font-size: 2.4rem; }
  .kv-page .kv-title .kv-sub { font-size: 1.5rem; }
  .kv-page .kv-title .kv-sub i { font-size: 1.8rem; }
  .kv-page .kv-title .kv-sub i.number { font-size: 2.2rem; }
  .kv-page .kv-lead { font-size: 1.5rem; letter-spacing: .05em; }
  .kv-summary .kv-avg { font-size: 3.2rem; }
  .kv-summary .kv-count { font-size: 1.5rem; }
  .kv-tabs a { font-size: 1.3rem; padding: 5px 16px; }
  .kv-tabs--1 a { font-size: 1.4rem; }
  .kv-filter { padding: 12px 16px; }
  .kv-single .kv-photos a { width: calc(33.333% - 7px); }
}
