/* Beauty Touch — New Homepage (bnb layout). Path: assets/css/btpk-home.css
   Product cards + category circles reuse btpk-shop.css (loaded sitewide).
   Breakpoints match the Shop: tablet 901–1100px, mobile ≤900px. */

.btpk-home{ background:var(--btpk-pink-tint); color:var(--btpk-ink); font-family:var(--font-sans); overflow:hidden; }
.btpk-home *, .btpk-home *::before, .btpk-home *::after{ box-sizing:border-box; }

/* ---------- Generic slider (1 item per move, infinite) ---------- */
.btpk-hs{ position:relative; --gap:24px; }
.btpk-hs-viewport{ overflow:hidden; }
.btpk-hs-track{ display:flex; align-items:stretch; margin:0 calc(var(--gap) / -2); will-change:transform; }
.btpk-hs-slide{ flex:0 0 25%; min-width:0; padding:0 calc(var(--gap) / 2); display:flex; flex-direction:column; }
.btpk-hs-slide > *{ flex:1 1 auto; }
.btpk-hs-arrow{ position:absolute; top:45%; transform:translateY(-50%); z-index:4; width:44px; height:44px; border-radius:50%; border:none; background:#fff; color:var(--btpk-pink); box-shadow:0 4px 14px rgba(194,31,107,.18); font-size:20px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s, color .2s; }
.btpk-hs-arrow:hover{ background:var(--btpk-pink); color:#fff; }
.btpk-hs-prev{ left:-22px; }
.btpk-hs-next{ right:-22px; }
.btpk-hs.is-static .btpk-hs-arrow, .btpk-hs.is-static .btpk-hs-dots{ display:none; }
.btpk-hs-dots{ display:none; }

/* Banner sliders */
.btpk-hs-banner{ --gap:0px; }
.btpk-hs-banner .btpk-hs-slide{ flex-basis:100%; }
.btpk-hs-banner img{ display:block; width:100%; height:auto; }
.btpk-hs-banner picture{ display:block; }
.btpk-hs-banner .btpk-home-banner-link{ display:block; }
.btpk-hs-banner .btpk-hs-arrow{ top:50%; width:48px; height:48px; font-size:22px; }
.btpk-hs-banner .btpk-hs-prev{ left:24px; }
.btpk-hs-banner .btpk-hs-next{ right:24px; }
.btpk-hs-banner .btpk-hs-dots{ position:absolute; left:0; right:0; bottom:16px; display:flex; justify-content:center; gap:8px; z-index:3; }
.btpk-hs-dot{ width:10px; height:10px; border-radius:10px; border:none; padding:0; background:rgba(255,255,255,.9); box-shadow:0 1px 4px rgba(0,0,0,.2); cursor:pointer; transition:width .3s, background .3s; }
.btpk-hs-dot.is-active{ width:30px; background:var(--btpk-pink); }
.btpk-home-promo-wrap{ padding:0 90px; }

/* Category carousel — the look comes from btpk-shop.css */
.btpk-home-cats .btpk-hs{ --gap:0px; position:static; }
.btpk-home-cats .btpk-shop-carousel-wrap{ position:relative; }
.btpk-home-cats .btpk-hs-slide{ padding:0; }
.btpk-home-cats .btpk-hs-slide > *{ flex:0 0 auto; }
.btpk-home-cats .btpk-hs-arrow{ top:calc(50% - 22px); width:54px; height:54px; font-size:22px; }
.btpk-home-cats .btpk-hs-prev{ left:6px; }
.btpk-home-cats .btpk-hs-next{ right:6px; }

/* ---------- Sections ---------- */
.btpk-home-section{ padding:64px 0; }
.btpk-home-tint{ background:#F9DDEA; padding:72px 0; }
.btpk-home-inner{ padding:0 90px; }
.btpk-home-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding:0 90px; margin-bottom:28px; }
.btpk-home-h2{ font-family:var(--font-sans); font-size:38px; font-weight:600; letter-spacing:-.01em; line-height:1.15; color:var(--btpk-ink); margin:0; }
.btpk-home-h2.is-center{ text-align:center; padding:0 16px; margin-bottom:12px; }
.btpk-home-accent{ color:var(--btpk-pink); }
.btpk-home-eyebrow{ font-size:14px; font-weight:700; letter-spacing:.04em; color:var(--btpk-gray); margin-bottom:8px; }
.btpk-home-eyebrow.is-center{ text-align:center; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--btpk-pink); }
.btpk-home-link{ font-size:14px; font-weight:700; color:var(--btpk-pink); text-decoration:underline; text-underline-offset:4px; white-space:nowrap; }
.btpk-home-link:hover{ color:var(--btpk-pink-dark); }
.btpk-home-btn-pink{ background:var(--btpk-pink); color:#fff; padding:13px 26px; border-radius:24px; text-decoration:none; font-size:13.5px; font-weight:700; white-space:nowrap; transition:background .2s; }
.btpk-home-btn-pink:hover{ background:var(--btpk-pink-dark); color:#fff; }
.btpk-home-btn-dark{ display:block; margin-top:auto; text-align:center; background:var(--btpk-ink); color:#fff; padding:12px; border-radius:4px; font-size:13px; font-weight:700; text-decoration:none; }
.btpk-home-btn-dark:hover{ background:var(--btpk-pink); color:#fff; }
.btpk-home-stars{ color:var(--btpk-gold); font-size:15px; letter-spacing:2px; white-space:nowrap; }
.btpk-home-stars .is-off{ color:#E6D6DE; }

/* Product cards inside sliders/grids */
.btpk-home .btpk-shop-card{ background:#fff; }
.btpk-home-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 24px; }
.btpk-home-grid-item{ display:flex; min-width:0; }
.btpk-home-grid-item > .btpk-shop-card{ width:100%; }
.btpk-home-grid-item.is-hidden{ display:none; }

/* Reviews */
.btpk-home-summary{ display:flex; justify-content:center; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 28px; padding:0 16px; }
.btpk-home-summary .btpk-home-stars{ font-size:20px; }
.btpk-home-summary strong{ font-size:15px; }
.btpk-home-summary span:last-child{ font-size:14px; color:var(--btpk-gray); }
.btpk-home-review{ display:flex; flex-direction:column; gap:10px; height:100%; background:#fff; border:1px solid #E9CFDB; border-radius:12px; padding:22px; box-shadow:0 8px 22px rgba(194,31,107,.08); }
.btpk-home-review-title{ font-size:16px; font-weight:800; line-height:1.35; }
.btpk-home-review-quote{ margin:0; font-size:14px; line-height:1.65; color:#4A4E44; }
.btpk-home-review-spacer{ flex:1; }
.btpk-home-review-name{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:13.5px; }
.btpk-home-verified{ color:#2E7D4F; font-size:12px; font-weight:700; }
.btpk-home-review-product{ padding-top:12px; border-top:1px solid #F3DCE8; font-size:13px; font-weight:700; }
.btpk-home-review-product a{ color:var(--btpk-pink); text-decoration:none; }

/* Videos */
.btpk-hs-videos{ --gap:16px; }
.btpk-home-videos .btpk-home-h2{ margin-bottom:24px; }
.btpk-home-video{ display:flex; flex-direction:column; border-radius:12px; overflow:hidden; border:1px solid #E9CFDB; background:#fff; box-shadow:0 8px 22px rgba(194,31,107,.08); height:100%; }
.btpk-home-video-media{ position:relative; aspect-ratio:9/16; background:var(--btpk-ink-dark); cursor:pointer; }
.btpk-home-video-media img, .btpk-home-video-media video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.btpk-home-video-play{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:52px; height:52px; border-radius:50%; border:none; background:var(--btpk-pink); color:#fff; font-size:18px; padding-left:4px; cursor:pointer; box-shadow:0 6px 18px rgba(0,0,0,.25); }
.btpk-home-video-media.is-playing .btpk-home-video-play, .btpk-home-video-media.is-playing img{ display:none; }
.btpk-home-video-product{ display:flex; flex-direction:column; gap:2px; padding:10px 12px; }
.btpk-home-video-name{ font-size:12.5px; font-weight:800; color:var(--btpk-ink); text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.btpk-home-video-price{ font-size:12px; font-weight:700; color:var(--btpk-pink); }
.btpk-home-video-price del{ color:var(--btpk-gray); font-weight:500; margin-right:4px; }
.btpk-home-video-price ins{ text-decoration:none; }

/* Before & After */
.btpk-home-ba .btpk-home-h2{ margin-bottom:24px; }
.btpk-home-ba-card{ background:#fff; border-radius:14px; overflow:hidden; display:flex; flex-direction:column; height:100%; box-shadow:0 8px 24px rgba(0,0,0,.05); }
.btpk-home-ba-imgs{ display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.btpk-home-ba-imgs > div{ display:flex; flex-direction:column; }
.btpk-home-ba-imgs img{ width:100%; aspect-ratio:.82/1; object-fit:cover; display:block; }
.btpk-home-ba-imgs span{ text-align:center; font-size:12px; color:var(--btpk-gray); padding:8px 0; }
.btpk-home-ba-body{ padding:18px 18px 22px; display:flex; flex-direction:column; flex:1; }
.btpk-home-ba-title{ font-family:var(--font-serif); font-size:17px; font-weight:700; margin-bottom:8px; }
.btpk-home-ba-meta{ display:flex; align-items:center; gap:8px; margin-bottom:8px; font-size:12.5px; font-weight:600; color:var(--btpk-gray); }
.btpk-home-ba-meta .btpk-home-stars{ font-size:13px; letter-spacing:1px; }
.btpk-home-ba-desc{ font-size:13.5px; line-height:1.6; color:var(--btpk-gray); margin:0 0 16px; }

/* Best sellers tabs */
.btpk-home-head.has-eyebrow{ margin-bottom:24px; }
.btpk-home-tabs{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:28px; }
.btpk-home-tab{ padding:11px 22px; border-radius:20px; font-size:13.5px; font-weight:700; font-family:var(--font-sans); background:#fff; color:var(--btpk-ink); border:1px solid #E9CFDB; white-space:nowrap; cursor:pointer; transition:all .2s; }
.btpk-home-tab:hover{ border-color:var(--btpk-pink); color:var(--btpk-pink); }
.btpk-home-tab.is-active{ background:var(--btpk-pink); border-color:var(--btpk-pink); color:#fff; }

/* Instagram */
.btpk-hs-insta{ --gap:14px; }
.btpk-home-insta{ position:relative; display:block; aspect-ratio:1/1; border-radius:10px; overflow:hidden; background:#F9DDEA; }
.btpk-home-insta img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.btpk-home-insta:hover img{ transform:scale(1.05); }
.btpk-home-insta-icon{ position:absolute; top:8px; right:8px; width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; color:var(--btpk-pink); font-size:13px; font-weight:800; }

/* Newsletter */
.btpk-home-news{ padding:24px 90px 80px; }
.btpk-home-news-card{ display:flex; align-items:center; gap:48px; background:#fff; border:1px solid #E9CFDB; border-radius:16px; padding:48px 56px; box-shadow:0 12px 32px rgba(194,31,107,.10); }
.btpk-home-news-text, .btpk-home-news-form-col{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; gap:10px; }
.btpk-home-news-eyebrow{ display:flex; align-items:center; gap:10px; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--btpk-pink); }
.btpk-home-news-eyebrow span{ width:28px; height:2px; background:var(--btpk-pink); }
.btpk-home-news-text p{ margin:0; font-size:14.5px; line-height:1.6; color:#4A4E44; max-width:460px; }
.btpk-home-news-form{ display:flex; gap:10px; }
.btpk-home-news-form .btpk-newsletter-input{ flex:1; min-width:0; height:52px; padding:0 18px; border-radius:8px; border:1px solid #E9CFDB; background:var(--btpk-pink-tint); font-family:var(--font-sans); font-size:14px; color:var(--btpk-ink); outline:none; }
.btpk-home-news-form .btpk-newsletter-input:focus{ border-color:var(--btpk-pink); }
.btpk-home-news-form .btpk-newsletter-btn{ height:52px; background:var(--btpk-pink); color:#fff; border:none; padding:0 30px; border-radius:8px; font-size:14px; font-weight:700; font-family:var(--font-sans); cursor:pointer; white-space:nowrap; }
.btpk-home-news-form .btpk-newsletter-btn:hover{ background:var(--btpk-pink-dark); }
.btpk-home-news-success{ background:var(--btpk-pink-tint); border:1px solid #E9CFDB; border-radius:10px; padding:18px 20px; font-size:14.5px; font-weight:700; }
.btpk-home-news-privacy{ font-size:12.5px; color:var(--btpk-gray); }
.btpk-home-news .btpk-newsletter-error{ color:#B3261E; font-size:13px; }

/* ---------- Tablet ---------- */
@media (max-width: 1100px) and (min-width: 901px){
	.btpk-home-inner, .btpk-home-head{ padding-left:40px; padding-right:40px; }
	.btpk-home-promo-wrap{ padding:0 40px; }
	.btpk-home-news{ padding:24px 40px 72px; }
	.btpk-home-news-card{ padding:36px; gap:32px; }
	.btpk-home-h2{ font-size:32px; }
	.btpk-home-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 20px; }
	.btpk-hs{ --gap:20px; }
	.btpk-hs-prev{ left:-18px; } .btpk-hs-next{ right:-18px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 900px){
	.btpk-home-section{ padding:36px 0; }
	.btpk-home-tint{ padding:40px 0; }
	.btpk-home-inner, .btpk-home-head{ padding-left:16px; padding-right:16px; }
	.btpk-home-head{ margin-bottom:18px; }
	.btpk-home-head.has-eyebrow{ flex-direction:column; align-items:flex-start; gap:14px; }
	.btpk-home-h2{ font-size:26px; }
	.btpk-home-promo-wrap{ padding:0; }
	.btpk-home-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 14px; }
	.btpk-hs{ --gap:14px; }
	.btpk-hs-arrow{ width:32px; height:32px; font-size:15px; top:40%; }
	.btpk-hs-prev{ left:-12px; } .btpk-hs-next{ right:-12px; }
	.btpk-hs-banner .btpk-hs-arrow{ display:none; }
	.btpk-hs-banner .btpk-hs-dots{ bottom:10px; }
	.btpk-hs-dot{ width:8px; height:8px; } .btpk-hs-dot.is-active{ width:24px; }
	.btpk-home-cats .btpk-hs-arrow{ width:32px; height:32px; font-size:15px; top:calc(50% - 14px); }
	.btpk-home-cats .btpk-hs-prev{ left:2px; } .btpk-home-cats .btpk-hs-next{ right:2px; }
	.btpk-hs-videos{ --gap:10px; }
	.btpk-hs-insta{ --gap:8px; }
	.btpk-home-tabs{ flex-wrap:nowrap; overflow-x:auto; margin-bottom:18px; scrollbar-width:none; }
	.btpk-home-tab{ padding:9px 16px; font-size:12.5px; flex:none; }
	.btpk-home-news{ padding:16px 16px 48px; }
	.btpk-home-news-card{ flex-direction:column; align-items:stretch; gap:22px; padding:28px 20px; }
	.btpk-home-news-form{ flex-direction:column; }
}

/* Round category images on the homepage — forced, some Elementor/theme img rules override radius */
.btpk-home-cats .btpk-shop-carousel-media{ display:block !important; position:relative !important; width:72% !important; aspect-ratio:1/1 !important; border-radius:50% !important; overflow:hidden !important; margin:0 auto !important; }
.btpk-home-cats .btpk-shop-carousel-img{ position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; max-width:none !important; object-fit:cover !important; border-radius:50% !important; display:block !important; }
@media (max-width: 900px){ .btpk-home-cats .btpk-shop-carousel-media{ width:84% !important; } }
