/* ============================================================
   Google 評論卡片（移植自 ihairtransplantclinic，版型/色系一致）
   全部 scoped 在 .reviews 底下；色票變數也只作用於 .reviews，不影響全站
   ============================================================ */
.reviews{
	--card:#fff;--ink:#2c2924;--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;
	--serif:"Noto Serif TC",serif;
	max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:28px;margin-bottom:5%;
}
.reviews .reviews-h1{font-family:"Noto Sans TC",serif;font-weight:700;font-size:clamp(1.7rem,2vw + 1rem,2.25rem)!important;line-height:1.45;text-align:center}
.reviews .reviews-empty{text-align:center;color:#999;padding:40px 0}

/* 卡片 */
.reviews .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}
.reviews .review-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--gold-soft),var(--gold));opacity:.9}
.reviews .review-card:hover{transform:translateY(-3px);box-shadow:0 22px 50px -18px rgba(60,48,20,.35)}
.reviews .review-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.reviews .reviewer{display:flex;align-items:center;gap:13px}
.reviews .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}
.reviews .avatar.alt{background:linear-gradient(145deg,#bcd4f0,#7fa8d9)}
.reviews .avatar svg{width:38px;height:38px;display:block}
.reviews .reviewer-name{font-weight:700;font-size:1.05rem;letter-spacing:.5px}
.reviews .stars{color:var(--gold);font-size:1.2rem;letter-spacing:2px;white-space:nowrap;line-height:1}
.reviews .review-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.reviews .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}
.reviews .tag:hover{background:#f6ebd2}
.reviews .review-body p{margin-bottom:14px;font-size:.97rem;color:#3a352e;line-height:29px}
.reviews .review-body p:last-child{margin-bottom:0}
/* 螢光標記：下半部半透明螢光筆效果（後台有指定顏色時，inline style 會蓋過成實色） */
.reviews mark{background:linear-gradient(transparent 55%,var(--hl) 55%);padding:0 2px;color:inherit;font-weight:800;font-size:.97rem}

/* 業主回覆（預設收合兩行，可展開） */
.reviews .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}
.reviews .owner-reply-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:0}
.reviews .owner-reply-title{font-family:var(--serif);font-weight:700;font-size:.95rem;color:#7a5e23}
.reviews .owner-reply p{font-size:.92rem;color:#5a5347}
.reviews .owner-reply strong{color:#000}
.reviews .owner-reply-toggle{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--reply-accent);border-radius:999px;padding:5px 12px;font-size:14px;font-weight:700;color:#7a5e23;cursor:pointer;flex:0 0 auto;transition:background .25s ease,color .25s ease}
.reviews .owner-reply-toggle span{font-size:14px!important}
.reviews .owner-reply-toggle:hover{background:var(--reply-accent);color:#fff}
.reviews .owner-reply-toggle-icon{width:14px;height:14px;transition:transform .3s ease}
.reviews .owner-reply.open .owner-reply-toggle-icon{transform:rotate(180deg)}
.reviews .owner-reply-body{position:relative;overflow:hidden;max-height:3.4em;margin-top:8px;transition:max-height .3s ease}
.reviews .owner-reply-body::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.2em;background:linear-gradient(180deg,rgba(247,243,236,0),var(--reply-bg));pointer-events:none;transition:opacity .3s ease}
.reviews .owner-reply.open .owner-reply-body::after{opacity:0}

/* 查看 Google 評論按鈕 */
.reviews .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}
.reviews .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)}
.reviews .review-btn svg{width:17px;height:17px}

/* 實際照片 */
.reviews .review-photos{margin-top:18px}
.reviews .review-photos-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.reviews .review-photos-title{font-size:13.5px;font-weight:600;color:#5a6b7b;letter-spacing:.02em}
.reviews .photos-expand-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid #e2e8f0;background:#fff;color:#5a6b7b;font-size:12.5px;padding:5px 11px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}
.reviews .photos-expand-btn:hover{background:#f1f5f9;color:#2d3748}
.reviews .photos-expand-btn svg{width:14px;height:14px}
.reviews .photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:8px}
.reviews .photo-thumb{position:relative;display:block;width:100%;aspect-ratio:1 / 1;padding:0;border:0;border-radius:10px;overflow:hidden;cursor:pointer;background:#eef2f6;-webkit-tap-highlight-color:transparent}
.reviews .photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.reviews .photo-thumb:hover img{transform:scale(1.05)}
.reviews .photo-thumb::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .2s ease}
.reviews .photo-thumb:hover::after{background:rgba(0,0,0,.06)}

/* 燈箱 */
.reviews .lightbox[hidden]{display:none}
.reviews .lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center}
.reviews .lightbox-backdrop{position:absolute;inset:0;background:rgba(10,12,16,.92);backdrop-filter:blur(2px)}
.reviews .lightbox-stage{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;max-width:92vw;max-height:86vh}
.reviews .lightbox-img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.5);user-select:none;cursor:zoom-in}
.reviews .lightbox.zoom-on .lightbox-stage{overflow:auto;max-width:100vw;max-height:100vh}
.reviews .lightbox-img.zoomed{max-width:none;max-height:none;cursor:zoom-out;border-radius:0}
.reviews .lightbox-close,.reviews .lightbox-prev,.reviews .lightbox-next{position:absolute;z-index:2;background:rgba(255,255,255,.14);border:0;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;-webkit-tap-highlight-color:transparent}
.reviews .lightbox-close{top:16px;right:16px;width:44px;height:44px;border-radius:50%;font-size:24px;line-height:1}
.reviews .lightbox-prev,.reviews .lightbox-next{top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;font-size:30px;line-height:1}
.reviews .lightbox-prev{left:16px}
.reviews .lightbox-next{right:16px}
.reviews .lightbox-close:hover,.reviews .lightbox-prev:hover,.reviews .lightbox-next:hover{background:rgba(255,255,255,.28)}
.reviews .lightbox-counter{position:absolute;z-index:2;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;font-size:13px;letter-spacing:.05em;background:rgba(0,0,0,.42);padding:5px 12px;border-radius:999px}

@media (max-width:560px){
	.reviews .owner-reply-toggle{padding:4px 10px}
	.reviews .owner-reply-toggle span{font-size:12px!important}
}
@media (max-width:480px){
	.reviews .review-card{padding:24px 20px 22px;margin:0 4%}
	.reviews .stars{font-size:1.05rem}
	.reviews .review-head{flex-direction:column;align-items:flex-start}
	.reviews .review-body p{line-height:23px}
	.reviews .photo-grid{grid-template-columns:repeat(3,1fr);gap:6px}
	.reviews .lightbox-img{max-width:96vw;max-height:80vh}
	.reviews .lightbox-prev,.reviews .lightbox-next{width:40px;height:40px;font-size:26px}
	.reviews .lightbox-prev{left:8px}
	.reviews .lightbox-next{right:8px}
	.reviews .lightbox-close{top:10px;right:10px;width:40px;height:40px}
	.reviews .lightbox-counter{bottom:12px}
}
@media (prefers-reduced-motion:reduce){
	.reviews .owner-reply-body,.reviews .owner-reply-body::after,.reviews .owner-reply-toggle,.reviews .owner-reply-toggle-icon{transition:none}
}
