/* LinkShare Packages – Frontend */
.lsp-packages-wrap { margin: 1.5rem 0; }
.lsp-packages-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.5rem;
}
.lsp-package-card {
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,.06);
	display: flex;
	flex-direction: column;
}
.lsp-package-thumb img {
	width: 100%;
	height: 160px;
	object-fit: cover;
	display: block;
}
.lsp-package-body { padding: 1rem 1.15rem 1.25rem; flex: 1; display: flex; flex-direction: column; }
.lsp-package-title { margin: 0 0 .5rem; font-size: 1.1rem; line-height: 1.3; }
.lsp-package-excerpt { font-size: .9rem; color: #64748b; margin-bottom: .75rem; flex: 1; }
.lsp-package-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: .85rem; font-size: .9rem; }
.lsp-price { font-weight: 700; color: #0f766e; }
.lsp-slug { color: #94a3b8; font-size: .8rem; }

.lsp-btn {
	display: inline-block;
	padding: .55rem 1rem;
	border: none;
	border-radius: 8px;
	font-size: .9rem;
	font-weight: 600;
	cursor: pointer;
	text-align: center;
	transition: background .15s;
}
.lsp-btn-claim { background: #0f766e; color: #fff; width: 100%; }
.lsp-btn-claim:hover { background: #0d9488; }
.lsp-btn-claimed { background: #e2e8f0; color: #64748b; width: 100%; cursor: default; }
.lsp-btn-copy, .lsp-copy { background: #1e293b; color: #fff; margin-top: .4rem; margin-bottom: .8rem; }

.lsp-notice { padding: 1rem; background: #f1f5f9; border-radius: 8px; margin: 1rem 0; }

/* Modal */
.lsp-modal {
	position: fixed; inset: 0; background: rgba(15,23,42,.55);
	z-index: 99999; display: flex; align-items: center; justify-content: center;
	padding: 1rem;
}
.lsp-modal-content {
	background: #fff; border-radius: 14px; max-width: 520px; width: 100%;
	padding: 1.5rem; position: relative; box-shadow: 0 20px 40px rgba(0,0,0,.15);
}
.lsp-modal-close {
	position: absolute; top: .75rem; right: 1rem; font-size: 1.5rem;
	cursor: pointer; color: #64748b; line-height: 1;
}
.lsp-modal-content h3 { margin-top: 0; }
.lsp-modal-content label { display: block; font-weight: 600; margin: .75rem 0 .3rem; font-size: .85rem; }
.lsp-modal-content textarea,
.lsp-modal-content input[type="text"] {
	width: 100%; padding: .55rem .7rem; border: 1px solid #cbd5e1;
	border-radius: 8px; font-size: .9rem; box-sizing: border-box;
}
.lsp-share-instructions, .lsp-note { font-size: .85rem; color: #64748b; }

/* Dashboard */
.lsp-dashboard { margin: 1.5rem 0; }
.lsp-earnings-summary {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 1rem; margin-bottom: 1.75rem;
}
.lsp-earn-box {
	background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px;
	padding: 1rem; text-align: center;
}
.lsp-earn-label { display: block; font-size: .8rem; color: #64748b; margin-bottom: .25rem; }
.lsp-earn-value { font-size: 1.25rem; font-weight: 700; color: #0f766e; }
.lsp-claims-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.lsp-claims-table th, .lsp-claims-table td { padding: .65rem .75rem; border-bottom: 1px solid #e2e8f0; text-align: left; }
.lsp-claims-table th { background: #f1f5f9; font-weight: 600; }
.lsp-status-claimed { color: #b45309; }
.lsp-status-paid { color: #15803d; }

@media (max-width: 600px) {
	.lsp-packages-grid { grid-template-columns: 1fr; }
}
