/* Beauty Touch — Cart page shortcode styles.
   Loaded only on the page containing [btpk_cart_page]. Fully separate
   from btpk-cart.css (the sitewide slide-out mini-cart sidebar) —
   different classes (btpk-cartpg-*), no shared rules, no collisions. */

body.woocommerce-cart, .btpk-cartpg{ background:transparent; }
.btpk-cartpg{ font-family:var(--font-sans); color:var(--btpk-ink); max-width:1200px; margin:0 auto; padding:clamp(16px, 4vw, 24px) clamp(16px, 4vw, 24px) clamp(56px, 9vw, 88px); box-sizing:border-box; }
.btpk-cartpg *{ box-sizing:border-box; }

/* Empty state */
.btpk-cartpg-empty{ background:#fff; border:1px solid var(--btpk-pink-tint2); border-radius:14px; padding:clamp(48px, 8vw, 72px) 24px; text-align:center; }
.btpk-cartpg-empty-icon{ font-size:44px; margin-bottom:16px; }
.btpk-cartpg-empty h2{ font-family:var(--font-serif); font-size:22px; font-weight:700; margin:0 0 10px; color:var(--btpk-ink); }
.btpk-cartpg-empty p{ font-size:14.5px; color:var(--btpk-gray); margin:0 0 28px; }
.btpk-cartpg-empty-btn{ display:inline-block; background:var(--btpk-pink); color:#fff; padding:14px 30px; border-radius:30px; text-decoration:none; font-size:14px; font-weight:700; }
.btpk-cartpg-empty-btn:hover{ background:var(--btpk-pink-dark); }

/* Two-column layout */
.btpk-cartpg-layout{ display:flex; flex-wrap:wrap; gap:clamp(20px, 3vw, 32px); align-items:flex-start; }
.btpk-cartpg-items-card{ flex:1 1 480px; min-width:280px; background:#fff; border:1px solid var(--btpk-pink-tint2); border-radius:14px; overflow:hidden; transition:opacity .15s; }
.btpk-cartpg-items-card.is-loading{ opacity:.55; pointer-events:none; }
.btpk-cartpg-summary{ flex:1 1 320px; min-width:280px; background:#fff; border:1px solid var(--btpk-pink-tint2); border-radius:14px; padding:24px; position:sticky; top:20px; transition:opacity .15s; }
.btpk-cartpg-summary.is-loading{ opacity:.55; pointer-events:none; }
.btpk-cartpg-summary h2{ font-family:var(--font-serif); font-size:18px; font-weight:700; color:var(--btpk-ink); margin:0 0 18px; }

/* Header row (desktop only) */
.btpk-cartpg-head-row{
	display:grid; grid-template-columns:2.6fr 1fr 1fr 1fr 40px; gap:16px; padding:16px 24px; background:var(--btpk-pink-tint);
	font-size:11.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--btpk-gray);
}

/* Item row */
.btpk-cartpg-row{ display:grid; grid-template-columns:2.6fr 1fr 1fr 1fr 40px; gap:16px; align-items:center; padding:20px 24px; border-top:1px solid var(--btpk-pink-tint2); }
.btpk-cartpg-product{ display:flex; align-items:center; gap:14px; min-width:0; }
.btpk-cartpg-thumb img{ width:64px; height:64px; object-fit:cover; border-radius:8px; background:var(--btpk-pink-tint); display:block; }
.btpk-cartpg-info{ min-width:0; }
.btpk-cartpg-name{ font-size:14px; font-weight:700; color:var(--btpk-ink); line-height:1.35; text-decoration:none; display:block; }
.btpk-cartpg-name:hover{ color:var(--btpk-pink); }
.btpk-cartpg-variation{ font-size:12px; color:var(--btpk-gray-light); margin-top:4px; }
.btpk-cartpg-variation dl{ margin:0; display:flex; flex-wrap:wrap; gap:4px; }
.btpk-cartpg-price-mobile{ display:none; font-size:13px; color:var(--btpk-gray); margin-top:4px; }
.btpk-cartpg-price{ font-size:13.5px; color:var(--btpk-gray); font-weight:600; }
.btpk-cartpg-subtotal{ font-size:14.5px; font-weight:800; color:var(--btpk-ink); }
.btpk-cartpg-remove{
	display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; margin:0 auto;
	background:var(--btpk-pink-tint); color:var(--btpk-gray); font-size:12px; border:none; cursor:pointer;
}
.btpk-cartpg-remove:hover{ background:var(--btpk-pink); color:#fff; }

/* Quantity stepper */
.btpk-cartpg-qty .btpk-qty-wrap{ display:inline-flex; align-items:center; border:1px solid var(--btpk-pink-tint2); border-radius:8px; overflow:hidden; background:#fff; }
.btpk-cartpg-qty .btpk-qty-btn{ width:28px; height:32px; background:#fff; border:none; font-size:14px; font-weight:700; color:var(--btpk-ink); cursor:pointer; font-family:var(--font-sans); }
.btpk-cartpg-qty .btpk-qty-btn:hover{ background:var(--btpk-pink-tint); color:var(--btpk-pink); }
.btpk-cartpg-qty .btpk-qty-val{ width:30px; display:inline-block; text-align:center; font-size:13px; font-weight:700; }

/* Coupon row */
.btpk-cartpg-coupon-row{ padding:18px 24px; border-top:1px solid var(--btpk-pink-tint2); }
.btpk-cartpg-coupon{ display:flex; gap:8px; flex-wrap:wrap; }
.btpk-cartpg-coupon-input{ flex:1 1 160px; min-width:140px; padding:11px 14px; border:1px solid var(--btpk-pink-tint2); border-radius:8px; font-size:13px; font-family:var(--font-sans); color:var(--btpk-ink); }
.btpk-cartpg-coupon-apply{ background:#18131A; color:#fff; border:none; border-radius:8px; padding:0 18px; font-size:12.5px; font-weight:700; cursor:pointer; font-family:var(--font-sans); white-space:nowrap; }
.btpk-cartpg-coupon-apply:hover{ background:var(--btpk-pink); }
.btpk-cartpg-coupon-apply.is-loading{ opacity:.6; pointer-events:none; }
.btpk-cartpg-notice-slot{ margin-top:10px; }
.btpk-cartpg-notice{ font-size:12.5px; padding:8px 12px; border-radius:8px; margin-top:8px; }
.btpk-cartpg-notice-error{ background:#FDEDED; color:#B23B3B; }
.btpk-cartpg-notice-success{ background:#EAF7EE; color:#2F8544; }
.btpk-cartpg-applied-coupon{ display:flex; align-items:center; justify-content:space-between; gap:10px; background:var(--btpk-pink-tint); border:1px dashed var(--btpk-pink); border-radius:8px; padding:10px 14px; font-size:13px; font-weight:700; color:var(--btpk-pink); margin-top:8px; }
.btpk-cartpg-coupon-remove{ background:none; border:none; font-size:12px; font-weight:700; color:var(--btpk-gray); text-decoration:underline; cursor:pointer; }
.btpk-cartpg-coupon-remove:hover{ color:var(--btpk-pink); }

.btpk-cartpg-continue{ display:inline-flex; align-items:center; gap:8px; padding:18px 24px; font-size:13.5px; font-weight:700; color:var(--btpk-ink); text-decoration:none; }
.btpk-cartpg-continue:hover{ color:var(--btpk-pink); }

/* Totals */
.btpk-cartpg-totals-rows{ display:flex; flex-direction:column; gap:12px; font-size:13.5px; padding-bottom:16px; border-bottom:1px solid var(--btpk-pink-tint2); }
.btpk-cartpg-totals-row{ display:flex; justify-content:space-between; color:var(--btpk-gray); }
.btpk-cartpg-totals-row span:last-child{ color:var(--btpk-ink); font-weight:600; }
.btpk-cartpg-discount-row{ color:#2F8544; }
.btpk-cartpg-discount-row span:last-child{ color:#2F8544; font-weight:700; }
.btpk-cartpg-total-row{ display:flex; justify-content:space-between; align-items:baseline; padding:16px 0 20px; }
.btpk-cartpg-total-row span:first-child{ font-size:15px; font-weight:700; color:var(--btpk-ink); }
.btpk-cartpg-total-amount{ font-size:22px; font-weight:800; color:var(--btpk-pink); }
.btpk-cartpg-checkout-btn{ display:block; text-align:center; background:var(--btpk-pink); color:#fff; padding:15px; border-radius:30px; text-decoration:none; font-size:14.5px; font-weight:700; }
.btpk-cartpg-checkout-btn:hover{ background:var(--btpk-pink-dark); }

/* Mobile: rows become cards */
@media (max-width: 700px){
	.btpk-cartpg-head-row{ display:none; }
	.btpk-cartpg-row{ grid-template-columns:1fr; gap:10px; position:relative; padding-right:44px; }
	.btpk-cartpg-price{ display:none; }
	.btpk-cartpg-price-mobile{ display:block; }
	.btpk-cartpg-remove{ position:absolute; top:20px; right:20px; }
	.btpk-cartpg-qty, .btpk-cartpg-subtotal{ display:flex; align-items:center; justify-content:space-between; }
	.btpk-cartpg-qty::before{ content:'Quantity'; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; color:var(--btpk-gray-light); }
	.btpk-cartpg-subtotal::before{ content:'Subtotal'; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; color:var(--btpk-gray-light); }
	.btpk-cartpg-summary{ position:static; }
}
