/* Beauty Touch — Sitewide mini-cart sidebar (slide-out drawer).
   Loaded on every front-end page (see inc/cart-sidebar.php). */

.btpk-cart-backdrop{ display:none; position:fixed; inset:0; background:rgba(24,19,26,0.45); z-index:205; }
.btpk-cart-backdrop.is-open{ display:block; }

.btpk-cart-sidebar{
	position:fixed; top:0; right:0; bottom:0; width:min(400px, 92vw); max-width:400px;
	background:#fff; z-index:210; display:flex; flex-direction:column;
	transform:translateX(100%); transition:transform .3s ease; box-shadow:-8px 0 30px rgba(0,0,0,.15);
	font-family:var(--font-sans); color:var(--btpk-ink); box-sizing:border-box;
}
.btpk-cart-sidebar *{ box-sizing:border-box; }
.btpk-cart-sidebar.is-open{ transform:translateX(0); }

.btpk-cart-sidebar-header{ display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid var(--btpk-pink-tint2); flex-shrink:0; }
.btpk-cart-sidebar-header h2{ font-family:var(--font-serif); font-size:18px; font-weight:700; margin:0; color:var(--btpk-ink); }
.btpk-cart-close{ width:32px; height:32px; border-radius:50%; border:1px solid var(--btpk-pink-tint2); background:#fff; cursor:pointer; font-size:14px; color:var(--btpk-ink); flex-shrink:0; }
.btpk-cart-close:hover{ color:var(--btpk-pink); border-color:var(--btpk-pink); }

.btpk-cart-sidebar-inner{ flex:1; overflow-y:auto; padding:20px 24px; display:flex; flex-direction:column; }

.btpk-cart-items{ display:flex; flex-direction:column; gap:18px; }
.btpk-cart-item{ display:flex; gap:14px; padding-bottom:18px; border-bottom:1px solid var(--btpk-pink-tint2); transition:opacity .15s; }
.btpk-cart-item.is-updating{ opacity:.5; pointer-events:none; }
.btpk-cart-item-media{ width:70px; height:70px; border-radius:8px; overflow:hidden; background:var(--btpk-pink-tint); flex-shrink:0; display:block; }
.btpk-cart-item-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.btpk-cart-item-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; }
.btpk-cart-item-name{ font-size:13.5px; font-weight:700; color:var(--btpk-ink); text-decoration:none; line-height:1.3; }
.btpk-cart-item-name:hover{ color:var(--btpk-pink); }
.btpk-cart-item-price{ font-size:13px; color:var(--btpk-gray); }
.btpk-cart-item-price ins{ text-decoration:none; }
.btpk-cart-item-price del{ color:#B7BAAC; margin-right:6px; }
.btpk-cart-item-row{ display:flex; align-items:center; justify-content:space-between; margin-top:4px; gap:10px; }
.btpk-cart-qty{ display:flex; align-items:center; border:1px solid var(--btpk-pink-tint2); border-radius:8px; overflow:hidden; flex-shrink:0; }
.btpk-cart-qty-btn{ width:26px; height:26px; background:#fff; border:none; font-size:14px; font-weight:700; color:var(--btpk-ink); cursor:pointer; font-family:var(--font-sans); }
.btpk-cart-qty-btn:hover{ background:var(--btpk-pink-tint); color:var(--btpk-pink); }
.btpk-cart-qty-val{ width:26px; text-align:center; font-size:13px; font-weight:700; }
.btpk-cart-remove{ background:none; border:none; font-size:11px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--btpk-gray); text-decoration:underline; cursor:pointer; font-family:var(--font-sans); white-space:nowrap; }
.btpk-cart-remove:hover{ color:var(--btpk-pink); }

.btpk-cart-empty{ flex:1; display:flex; align-items:center; justify-content:center; text-align:center; color:var(--btpk-gray); font-size:14px; padding:40px 0; }
.btpk-cart-empty p{ margin:0; }

.btpk-cart-subtotal-row{ display:flex; align-items:center; justify-content:space-between; padding-top:18px; margin-top:auto; font-size:15px; font-weight:800; color:var(--btpk-ink); }
.btpk-cart-actions{ display:flex; gap:10px; margin-top:16px; }
.btpk-cart-btn{ flex:1; text-align:center; padding:13px 16px; border-radius:24px; font-size:13px; font-weight:700; text-decoration:none; cursor:pointer; transition:all .2s; }
.btpk-cart-btn-outline{ background:#fff; border:1px solid var(--btpk-ink); color:var(--btpk-ink) !important; }
.btpk-cart-btn-outline:hover{ background:var(--btpk-ink); color:#fff !important; }
.btpk-cart-btn-solid{ background:var(--btpk-pink); border:1px solid var(--btpk-pink); color:#fff !important; }
.btpk-cart-btn-solid:hover{ background:var(--btpk-pink-dark); border-color:var(--btpk-pink-dark); }

@media (max-width: 480px){
	.btpk-cart-sidebar{ width:100vw; max-width:100vw; }
}
