/**
 * Starter Adult Shop — Points & Rewards Styles
 * Dark mode default, light mode via body.sas-light
 */

/* ===== My Account Points Tab ===== */
.sas-points-account {
	max-width: 700px;
}

.sas-points-account__balance {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	padding: 1.5rem;
	background: var(--sas-card, rgba(255,255,255,.05));
	border: 1px solid var(--sas-border, rgba(255,255,255,.1));
	border-radius: 12px;
	margin-bottom: 1.5rem;
}

.sas-points-account__icon { font-size: 2.5rem; }

.sas-points-account__total {
	font-size: 2rem;
	font-weight: 700;
	color: #e8628a;
	line-height: 1;
}

.sas-points-account__label {
	font-size: .85rem;
	color: var(--sas-text2, rgba(255,255,255,.6));
	margin-top: .2rem;
}

.sas-points-account__redeem-info {
	font-size: .9rem;
	color: var(--sas-text2, rgba(255,255,255,.6));
	margin-bottom: 1.5rem;
	padding: .75rem 1rem;
	background: var(--sas-card, rgba(255,255,255,.03));
	border-radius: 8px;
	border-left: 3px solid #e8628a;
}

/* Referral */
.sas-points-account__referral {
	padding: 1.5rem;
	background: var(--sas-card, rgba(255,255,255,.05));
	border: 1px solid var(--sas-border, rgba(255,255,255,.1));
	border-radius: 12px;
	margin-bottom: 1.5rem;
}

.sas-points-account__referral h3 {
	margin: 0 0 .5rem;
	font-size: 1rem;
	color: var(--sas-text, #fff);
}

.sas-points-account__referral p {
	font-size: .85rem;
	color: var(--sas-text2, rgba(255,255,255,.6));
	margin: 0 0 .75rem;
}

.sas-points-account__ref-row {
	display: flex;
	gap: .5rem;
}

.sas-points-account__ref-input {
	flex: 1;
	padding: .5rem .75rem;
	background: var(--sas-input-bg, rgba(255,255,255,.08));
	border: 1px solid var(--sas-border, rgba(255,255,255,.15));
	border-radius: 6px;
	color: var(--sas-text, #fff);
	font-size: .85rem;
}

.sas-points-account__ref-copy {
	padding: .5rem 1rem;
	background: #e8628a;
	color: #fff;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	font-size: .85rem;
	transition: opacity .2s;
}

.sas-points-account__ref-copy:hover { opacity: .85; }

.sas-points-account__ref-code {
	font-size: .8rem;
	color: var(--sas-text3, rgba(255,255,255,.4));
	margin: .5rem 0 0;
}

/* History Table */
.sas-points-account__history h3 {
	font-size: 1rem;
	margin: 0 0 .75rem;
	color: var(--sas-text, #fff);
}

.sas-points-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .85rem;
}

.sas-points-table th,
.sas-points-table td {
	padding: .6rem .75rem;
	text-align: left;
	border-bottom: 1px solid var(--sas-border, rgba(255,255,255,.08));
	color: var(--sas-text2, rgba(255,255,255,.7));
}

.sas-points-table th {
	color: var(--sas-text, #fff);
	font-weight: 600;
}

.sas-points-table__delta { font-weight: 700; text-align: right; }
.sas-points-table__delta--positive { color: #4ade80; }
.sas-points-table__delta--negative { color: #f87171; }

/* ===== Checkout Redemption ===== */
.sas-points-checkout {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem;
	padding: 1rem 1.25rem;
	background: var(--sas-card, rgba(255,255,255,.05));
	border: 1px solid var(--sas-border, rgba(255,255,255,.1));
	border-radius: 10px;
	margin-bottom: 1.5rem;
}

.sas-points-checkout__icon { font-size: 1.4rem; }

.sas-points-checkout__text {
	flex: 1;
	font-size: .9rem;
	color: var(--sas-text2, rgba(255,255,255,.7));
}

.sas-points-checkout__controls {
	display: flex;
	gap: .5rem;
}

.sas-points-checkout__controls input {
	width: 130px;
	padding: .45rem .75rem;
	background: var(--sas-input-bg, rgba(255,255,255,.08));
	border: 1px solid var(--sas-border, rgba(255,255,255,.15));
	border-radius: 6px;
	color: var(--sas-text, #fff);
	font-size: .85rem;
}

.sas-points-checkout__controls button {
	padding: .45rem 1rem;
	background: #e8628a;
	color: #fff;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	font-size: .85rem;
	transition: opacity .2s;
}

.sas-points-checkout__controls button:hover { opacity: .85; }

.sas-points-checkout__msg {
	width: 100%;
	font-size: .85rem;
}

.sas-points-checkout__msg.success { color: #4ade80; }
.sas-points-checkout__msg.error   { color: #f87171; }

/* ===== Share Button ===== */
.sas-share-wrap { display: inline-flex; flex-direction: column; gap: .4rem; }

.sas-share-btn {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .45rem .9rem;
	background: transparent;
	border: 1px solid var(--sas-border, rgba(255,255,255,.2));
	border-radius: 6px;
	color: var(--sas-text2, rgba(255,255,255,.7));
	cursor: pointer;
	font-size: .85rem;
	transition: border-color .2s, color .2s;
}

.sas-share-btn:hover { border-color: #e8628a; color: #e8628a; }
.sas-share-btn:disabled { opacity: .5; cursor: not-allowed; }

.sas-share-msg { font-size: .8rem; }
.sas-share-msg--success { color: #4ade80; }
.sas-share-msg--error   { color: #f87171; }

/* ===== Light Mode ===== */
body.sas-light .sas-points-account__balance,
body.sas-light .sas-points-account__referral,
body.sas-light .sas-points-checkout {
	background: #fff;
	border-color: #f0dce4;
}

body.sas-light .sas-points-account__label,
body.sas-light .sas-points-account__redeem-info,
body.sas-light .sas-points-account__referral p,
body.sas-light .sas-points-checkout__text { color: #5a4a62; }

body.sas-light .sas-points-account__ref-input,
body.sas-light .sas-points-checkout__controls input {
	background: #f9f0f4;
	border-color: #e0c8d4;
	color: #2d2235;
}

body.sas-light .sas-points-table th { color: #2d2235; }
body.sas-light .sas-points-table td { color: #5a4a62; }
body.sas-light .sas-points-table th,
body.sas-light .sas-points-table td { border-color: #f0dce4; }

body.sas-light .sas-share-btn { border-color: #d4b0c0; color: #5a4a62; }
body.sas-light .sas-share-btn:hover { border-color: #e8628a; color: #e8628a; }

/* ===== Share button position variants ===== */
/* after_add_to_cart: sits below the cart form */
.woocommerce-variation-add-to-cart + .sas-share-wrap,
form.cart + .sas-share-wrap {
	margin-top: .75rem;
}

/* after_title: sits below the product title */
.product_title + .sas-share-wrap {
	margin-bottom: 1rem;
}

/* after_summary: sits below the short description block */
.woocommerce-product-details__short-description + .sas-share-wrap {
	margin-top: .5rem;
}

/* Guest state: hide share button for non-logged-in users (handled server-side too) */
.sas-share-wrap--guest { display: none; }

/* ===== Share Picker (fallback for browsers without navigator.share) ===== */
#sas-share-picker {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sas-share-picker__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10, 6, 16, .75);
	backdrop-filter: blur(4px);
}
.sas-share-picker__box {
	position: relative;
	background: linear-gradient(180deg, #1a1028, #150d20);
	border: 1px solid rgba(232, 98, 138, .2);
	border-radius: 18px;
	padding: 2rem 1.75rem 1.75rem;
	width: 90%;
	max-width: 340px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .5);
	text-align: center;
}
.sas-share-picker__close {
	position: absolute;
	top: .75rem;
	right: .75rem;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .1);
	color: rgba(255, 255, 255, .6);
	font-size: 1.1rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	line-height: 1;
	transition: background .2s;
}
.sas-share-picker__close:hover { background: #e8628a; color: #fff; border-color: #e8628a; }
.sas-share-picker__title {
	font-family: 'Playfair Display', serif;
	font-size: 1.1rem;
	color: #fff;
	margin: 0 0 1.25rem;
}
.sas-share-picker__channels {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .6rem;
}
.sas-share-picker__ch {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .4rem;
	padding: .85rem .5rem;
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(232, 98, 138, .12);
	border-radius: 12px;
	color: rgba(255, 255, 255, .7);
	font-size: .78rem;
	font-family: 'Inter', sans-serif;
	cursor: pointer;
	transition: background .2s, border-color .2s, color .2s;
}
.sas-share-picker__ch:hover {
	background: rgba(232, 98, 138, .1);
	border-color: rgba(232, 98, 138, .4);
	color: #fff;
}
.sas-share-picker__ch-icon { font-size: 1.4rem; line-height: 1; }

/* Light mode */
body.sas-light .sas-share-picker__box {
	background: #fff;
	border-color: #f0dce4;
	box-shadow: 0 16px 50px rgba(45, 34, 53, .15);
}
body.sas-light .sas-share-picker__title { color: #2d2235; }
body.sas-light .sas-share-picker__ch {
	background: #f9f0f4;
	border-color: #e0c8d4;
	color: #5a4a62;
}
body.sas-light .sas-share-picker__ch:hover {
	background: rgba(232, 98, 138, .08);
	border-color: #e8628a;
	color: #2d2235;
}
body.sas-light .sas-share-picker__close {
	background: rgba(45, 34, 53, .06);
	border-color: rgba(45, 34, 53, .1);
	color: #5a4a62;
}
