/*
 * premium-tools.css — styles for the [lt_premium_tools] page.
 * Loaded only when the shortcode is present. Depends on frame.css.
 */

/* ── Wrapper ─────────────────────────────────────────────────────────────── */
.lt-pt-wrap {
	max-width: 860px;
	margin: 0 auto;
	padding: 24px 16px 48px;
}

/* ── Tokens-exhausted notice ─────────────────────────────────────────────── */
.lt-pt-notice {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 20px;
	border-radius: 12px;
	margin-bottom: 24px;
	font-size: .9rem;
	font-weight: 600;
	line-height: 1.5;
}
.lt-pt-notice--tokens {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	color: #9a3412;
}
.lt-pt-notice__icon {
	font-size: 1.3rem;
	color: #ea580c;
	flex-shrink: 0;
}
.lt-pt-notice__text { flex: 1; }

.lt-dark .lt-pt-notice--tokens {
	background: #431407;
	border-color: #9a3412;
	color: #fdba74;
}

/* ── Header ──────────────────────────────────────────────────────────────── */
.lt-pt-header {
	text-align: center;
	margin-bottom: 32px;
}
.lt-pt-header__icon {
	width: 64px;
	height: 64px;
	border-radius: 18px;
	background: linear-gradient(135deg, #d97706, #f59e0b);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	margin-bottom: 14px;
	box-shadow: 0 4px 16px rgba(217,119,6,.35);
}
.lt-pt-header__title {
	margin: 0 0 6px;
	font-size: 1.45rem;
	font-weight: 800;
	color: #1e293b;
}
.lt-dark .lt-pt-header__title { color: #f1f5f9; }
.lt-pt-header__sub {
	margin: 0;
	font-size: .88rem;
	color: #64748b;
}
.lt-dark .lt-pt-header__sub { color: #94a3b8; }

/* ── Plans grid ──────────────────────────────────────────────────────────── */
.lt-pt-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 20px;
	margin-bottom: 32px;
}

/* ── Plan card ───────────────────────────────────────────────────────────── */
.lt-pt-plan-card {
	position: relative;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 24px 22px 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	transition: box-shadow .2s, transform .2s, border-color .2s;
}
.lt-pt-plan-card:hover {
	box-shadow: 0 8px 28px rgba(0,0,0,.1);
	transform: translateY(-3px);
}
.lt-dark .lt-pt-plan-card {
	background: #1e293b;
	border-color: rgba(255,255,255,.08);
}

/* Bundle highlight */
.lt-pt-plan-card--bundle {
	border-color: #d97706;
	box-shadow: 0 0 0 2px rgba(217,119,6,.15);
}
.lt-dark .lt-pt-plan-card--bundle { border-color: #d97706; }

/* Best value badge */
.lt-pt-plan-badge {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background: linear-gradient(135deg, #d97706, #f59e0b);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 12px;
	border-radius: 20px;
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 5px;
}

/* Type chip */
.lt-pt-plan-type {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #6366f1;
	background: #ede9fe;
	display: inline-flex;
	padding: 2px 8px;
	border-radius: 20px;
	align-self: flex-start;
}
.lt-dark .lt-pt-plan-type { background: rgba(99,102,241,.2); color: #a5b4fc; }

/* Plan name */
.lt-pt-plan-name {
	font-size: 1.1rem;
	font-weight: 700;
	color: #1e293b;
	line-height: 1.3;
}
.lt-dark .lt-pt-plan-name { color: #f1f5f9; }

/* Price */
.lt-pt-plan-price {
	display: flex;
	align-items: baseline;
	gap: 4px;
	color: #1e293b;
	font-size: 1.7rem;
	font-weight: 800;
}
.lt-dark .lt-pt-plan-price { color: #f1f5f9; }
.lt-pt-plan-currency { font-size: 1.1rem; font-weight: 700; }
.lt-pt-plan-dur { font-size: .78rem; font-weight: 500; color: #64748b; }
.lt-dark .lt-pt-plan-dur { color: #94a3b8; }

/* Description */
.lt-pt-plan-desc {
	margin: 0;
	font-size: .82rem;
	color: #64748b;
	line-height: 1.55;
}
.lt-dark .lt-pt-plan-desc { color: #94a3b8; }

/* Tools included */
.lt-pt-plan-includes {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: .82rem;
	color: #16a34a;
	padding: 8px 10px;
	background: #f0fdf4;
	border-radius: 8px;
	line-height: 1.5;
}
.lt-dark .lt-pt-plan-includes { background: rgba(22,163,74,.1); color: #4ade80; }

.lt-pt-plan-tools-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.lt-pt-plan-tools-list li::before {
	content: '✓ ';
	font-weight: 700;
}

/* No product fallback */
.lt-pt-plan-no-product {
	margin: 0;
	font-size: .8rem;
	color: #94a3b8;
	text-align: center;
}

/* ── CTA buttons ─────────────────────────────────────────────────────────── */
.lt-pt-plan-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: auto;
	padding-top: 4px;
}

.lt-pt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 11px 18px;
	border-radius: 10px;
	font-size: .88rem;
	font-weight: 700;
	text-decoration: none;
	transition: opacity .15s, transform .15s, box-shadow .15s;
}
.lt-pt-btn:hover {
	opacity: .9;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0,0,0,.12);
}

.lt-pt-btn--primary {
	background: #4f46e5;
	color: #fff;
}
.lt-pt-plan-card--bundle .lt-pt-btn--primary {
	background: linear-gradient(135deg, #d97706, #f59e0b);
}

.lt-pt-btn--secondary {
	background: #f1f5f9;
	color: #1e293b;
	border: 1px solid #e2e8f0;
}
.lt-dark .lt-pt-btn--secondary {
	background: rgba(255,255,255,.07);
	color: #f1f5f9;
	border-color: rgba(255,255,255,.1);
}

/* ── Cart button states (loading / success / error) ─────────────────────── */
.lt-pt-cart-btn { cursor: pointer; border: 1px solid #e2e8f0; }
.lt-dark .lt-pt-cart-btn { border-color: rgba(255,255,255,.1); }

.lt-pt-cart-btn--loading {
	opacity: .7;
	cursor: wait;
}
.lt-pt-cart-btn--success {
	background: #16a34a !important;
	border-color: #16a34a !important;
	color: #fff !important;
}
.lt-pt-cart-btn--error {
	background: #dc2626 !important;
	border-color: #dc2626 !important;
	color: #fff !important;
}

/* ── Toast notification ──────────────────────────────────────────────────── */
.lt-pt-toast {
	position: fixed;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%) translateY(20px);
	background: #1e293b;
	color: #fff;
	padding: 12px 22px;
	border-radius: 40px;
	font-size: .88rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 8px;
	z-index: 9999;
	opacity: 0;
	transition: opacity .25s, transform .25s;
	pointer-events: none;
	white-space: nowrap;
	box-shadow: 0 6px 24px rgba(0,0,0,.25);
}
.lt-pt-toast i { color: #4ade80; }
.lt-pt-toast--visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* ── Empty state ─────────────────────────────────────────────────────────── */
.lt-pt-empty {
	text-align: center;
	color: #94a3b8;
	padding: 40px 20px;
	font-size: .9rem;
}

/* ── Footer / back link ──────────────────────────────────────────────────── */
.lt-pt-footer { text-align: center; }
.lt-pt-back {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #64748b;
	font-size: .85rem;
	text-decoration: none;
	padding: 8px 14px;
	border-radius: 8px;
	transition: background .15s;
}
.lt-pt-back:hover { background: rgba(0,0,0,.05); color: #4f46e5; text-decoration: none; }
.lt-dark .lt-pt-back { color: #94a3b8; }
.lt-dark .lt-pt-back:hover { background: rgba(255,255,255,.06); color: #a5b4fc; }
