:root{
  --bg:#f6f3ee;
  --card:#ffffff;
  --ink:#2c2924;
  --ink-soft:#6b655c;
  --line:#ece7df;
  --gold:#e6a817;
  --gold-soft:#f4c84a;
  --hl:#fff0a0;            /* 螢光筆黃 */
  --reply-bg:#f7f3ec;
  --reply-accent:#c9a24b;
  --tag-bg:#fbf4e6;
  --tag-ink:#a37718;
  --shadow:0 14px 40px -18px rgba(60,48,20,.28);
  --radius:20px;
  --font:"Noto Sans TC",system-ui,sans-serif;
  --serif:"Noto Serif TC",serif;
}

*{box-sizing:border-box;margin:0;padding:0;}

/*body{
  font-family:var(--font);
  background:
    radial-gradient(900px 500px at 85% -10%, #fdf6e4 0%, transparent 60%),
    radial-gradient(700px 500px at 0% 110%, #f1ece1 0%, transparent 55%),
    var(--bg);
  color:var(--ink);
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
}*/

/* ====== 外層容器：1200px、置中、RWD ====== */
.reviews{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  flex-direction:column;   /* 電腦一排一個 */
  gap:28px;
  margin-bottom: 5%;
}

/* ====== 單則評論卡片 ====== */
.review-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:30px 34px 28px;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease;
}
.review-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--gold-soft),var(--gold));
  opacity:.9;
}
.review-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 50px -18px rgba(60,48,20,.35);
}

/* ---- 卡片頭：頭像 + 名稱 + 星等 ---- */
.review-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}
.reviewer{display:flex;align-items:center;gap:13px;}
.avatar{
  width:50px;height:50px;border-radius:50%;
  flex-shrink:0;
  background:linear-gradient(145deg,#bfe0c4,#7fbf94);
  display:grid;place-items:center;
  box-shadow:inset 0 0 0 3px #fff,0 2px 8px rgba(0,0,0,.08);
  overflow:hidden;
}
.avatar svg{width:38px;height:38px;display:block;}
.reviewer-name{font-weight:700;font-size:1.05rem;letter-spacing:.5px;}

.stars{color:var(--gold);font-size:1.2rem;letter-spacing:2px;white-space:nowrap;line-height:1;}

/* ---- 重點標籤 ---- */
.review-tags{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-bottom:18px;
}
.tag{
  font-size:.84rem;
  font-weight:500;
  color:var(--tag-ink);
  background:var(--tag-bg);
  border:1px solid #f0e2c2;
  padding:5px 12px;
  border-radius:999px;
  transition:background .25s ease;
}
.tag:hover{background:#f6ebd2;}

/* ---- 評論內文 ---- */
.review-body p{margin-bottom:14px;font-size:.97rem;color:#3a352e;line-height: 29px;}
.review-body p:last-child{margin-bottom:0;}
/* 螢光筆重點(唯一強調樣式) */
mark{
  background:linear-gradient(transparent 55%,var(--hl) 55%);
  padding:0 2px;color:inherit;font-weight:800;font-size:.97rem
}

/* ---- 業主回覆 ---- */
.owner-reply{
  margin-top:20px;
  background:var(--reply-bg);
  border:1px solid #efe7d6;
  border-left:4px solid var(--reply-accent);
  border-radius:12px;
  padding:16px 18px;
}
.owner-reply-head{
  margin-bottom:8px;
}
.owner-reply-title{font-family:var(--serif);font-weight:700;font-size:.95rem;color:#7a5e23;}
.owner-reply p{font-size:.92rem;color:#5a5347;}
.owner-reply strong{color:#000;}
/* ---- 查看評論按鈕 ---- */
.review-btn{
  margin-top:22px;
  align-self:flex-start;
  display:inline-flex;align-items:center;gap:9px;
  font-size:.92rem;font-weight:700;
  color:var(--ink);
  background:#fff;
  border:1.5px solid var(--line);
  padding:11px 20px;
  border-radius:999px;
  cursor:pointer;
  text-decoration:none;
  transition:all .28s ease;
}
.review-btn:hover{
  border-color:var(--gold);
  background:linear-gradient(90deg,#fff8e6,#fff);
  box-shadow:0 6px 16px -6px rgba(230,168,23,.5);
  transform:translateY(-1px);
}
.review-btn svg{width:17px;height:17px;}

/* ====== RWD ====== */
@media (max-width:480px){
  /*body{padding:28px 14px;}*/
  .review-card{padding:24px 20px 22px;}
  .stars{font-size:1.05rem;}
  .review-head{flex-direction:column;align-items:flex-start;}
  .review-body p{line-height: 23px;}
}