/* Beauty Touch — Customer Reviews page styles.
   Loaded only on the page containing [btpk_reviews_page]. */

.btpk-reviews-filter-btn{ padding:9px 18px; border-radius:20px; border:1px solid rgba(255,255,255,0.35); background:rgba(255,255,255,0.12); color:#fff; font-size:13px; font-weight:700; cursor:pointer; font-family:var(--font-sans); transition:all .15s; }
.btpk-reviews-filter-btn.is-active{ border-color:#fff; background:#fff; color:#C21F6B; }

.btpk-reviews-grid{ columns:2; column-gap:24px; }
.btpk-review-card{ break-inside:avoid; margin-bottom:20px; background:#fff; border:1px solid var(--btpk-pink-tint2); border-radius:14px; overflow:hidden; }
.btpk-review-media{ position:relative; width:100%; aspect-ratio:4/3; min-height:280px; background:var(--btpk-pink-tint); }
.btpk-review-media img, .btpk-review-media video{ width:100%; height:100%; object-fit:cover; display:block; }
.btpk-review-media:not(.btpk-review-media-embed):not(.btpk-review-media-selfvideo) img{ cursor:zoom-in; }
.btpk-review-lightbox{ position:fixed; inset:0; background:rgba(0,0,0,0.88); z-index:9999; display:flex; align-items:center; justify-content:center; padding:16px; }
.btpk-review-lightbox img{ max-width:min(100%, 900px); max-height:94vh; width:auto; height:auto; object-fit:contain; border-radius:6px; }
.btpk-review-lightbox-close{ position:fixed; top:20px; right:24px; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.15); color:#fff; border:none; font-size:18px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.btpk-review-lightbox-close:hover{ background:rgba(255,255,255,0.3); }
.btpk-review-media-selfvideo.is-playing video{ object-fit:contain; background:#000; }
.btpk-review-play-overlay{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,0.15); border:none; padding:0; cursor:pointer; }
.btpk-review-media-selfvideo.is-playing .btpk-review-play-overlay{ background:none; opacity:0; transition:opacity .15s; }
.btpk-review-media-selfvideo.is-playing:hover .btpk-review-play-overlay{ opacity:1; background:rgba(0,0,0,0.15); }
.btpk-review-play-btn{ width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,0.92); display:flex; align-items:center; justify-content:center; position:relative; }
.btpk-review-play-btn::after{ content:''; position:absolute; left:56%; top:50%; transform:translate(-50%,-50%); border-style:solid; border-width:10px 0 10px 16px; border-color:transparent transparent transparent #18131A; }
.btpk-review-media-selfvideo.is-playing .btpk-review-play-btn::after{ left:50%; border-style:none; border-width:0; width:5px; height:16px; border-left:5px solid #18131A; border-right:5px solid #18131A; content:''; }
.btpk-review-embed-poster{ width:100%; height:100%; object-fit:cover; display:block; }
.btpk-review-embed-poster-blank{ width:100%; height:100%; }
.btpk-review-embed-wrap{ position:absolute; inset:0; background:#000; overflow:hidden; }
.btpk-review-embed-wrap iframe, .btpk-review-embed-wrap blockquote, .btpk-review-embed-wrap .fb-video{ width:100% !important; height:100% !important; }
.btpk-review-embed-close{ position:absolute; top:8px; right:8px; width:26px; height:26px; border-radius:50%; background:rgba(0,0,0,0.6); color:#fff; border:none; font-size:12px; cursor:pointer; z-index:2; display:flex; align-items:center; justify-content:center; }
.btpk-review-badge{ position:absolute; top:10px; left:10px; display:flex; align-items:center; gap:5px; color:#fff; font-size:10.5px; font-weight:800; letter-spacing:0.03em; text-transform:uppercase; padding:5px 10px; border-radius:5px; }
.btpk-review-body{ padding:18px 20px; }
.btpk-review-stars{ color:var(--btpk-gold); font-size:14px; margin-bottom:10px; }
.btpk-review-text{ font-size:13.5px; color:#4A4E44; line-height:1.65; margin:0 0 14px; }
.btpk-review-footer{ display:flex; align-items:center; gap:10px; }
.btpk-review-avatar{ width:34px; height:34px; border-radius:50%; background:var(--btpk-pink-tint); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:var(--btpk-pink); flex-shrink:0; }
.btpk-review-name{ font-size:13px; font-weight:700; color:var(--btpk-ink); }
.btpk-review-product{ font-size:11.5px; color:var(--btpk-gray); text-decoration:none; }
.btpk-review-product:hover{ color:var(--btpk-pink); text-decoration:underline; }
.btpk-reviews-load-more{ background:#fff; color:#C21F6B; border:none; padding:13px 30px; border-radius:22px; font-size:13.5px; font-weight:700; cursor:pointer; font-family:var(--font-sans); }
.btpk-reviews-load-more:hover{ background:var(--btpk-gold); color:#18131A; }
.btpk-reviews-load-more.is-loading{ opacity:.6; pointer-events:none; }

.btpk-timeline-product-btn{ padding:10px 20px; border-radius:20px; border:1px solid var(--btpk-pink-tint2); background:#fff; color:var(--btpk-ink); font-size:13.5px; font-weight:700; cursor:pointer; font-family:var(--font-sans); white-space:nowrap; flex-shrink:0; }
.btpk-timeline-product-btn.is-active{ border-color:#C21F6B; background:#C21F6B; color:#fff; }
.btpk-timeline-switcher-wrap{ display:flex; align-items:center; gap:8px; max-width:1200px; margin:28px auto 40px; padding:0 clamp(16px, 4vw, 24px); }
.btpk-timeline-switcher{ display:flex; gap:10px; overflow-x:auto; scroll-behavior:smooth; flex:1; padding-bottom:6px; scrollbar-width:none; -ms-overflow-style:none; }
.btpk-timeline-switcher::-webkit-scrollbar{ display:none; }
.btpk-timeline-arrow{ flex-shrink:0; width:34px; height:34px; border-radius:50%; border:1px solid var(--btpk-pink-tint2); background:#fff; color:var(--btpk-ink); font-size:18px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.btpk-timeline-arrow:hover{ background:#C21F6B; color:#fff; border-color:#C21F6B; }

@media (max-width: 900px){
	.btpk-reviews-grid{ columns:1; }
	.btpk-timeline-panel > div{ grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width: 560px){
	.btpk-reviews-grid{ columns:1; }
	.btpk-review-media{ min-height:0; }
}
