/**
 * CodeLocker Connector — Price Card addon (frontend).
 *
 * All colors/border/radius come from per-product CSS custom properties
 * injected via wp_add_inline_style() on #clsc-pc-{product_id}.
 */

.clsc-pc {
	--clsc-pc-bg: #ffffff;
	--clsc-pc-text: #334155;
	--clsc-pc-heading: #160226;
	--clsc-pc-price: #5007AA;
	--clsc-pc-badge-bg: #F4EEFF;
	--clsc-pc-badge-text: #5007AA;
	--clsc-pc-popular-bg: #5007AA;
	--clsc-pc-popular-text: #ffffff;
	--clsc-pc-save-bg: #DCFCE7;
	--clsc-pc-save-text: #166534;
	--clsc-pc-btn-bg: #5007AA;
	--clsc-pc-btn-text: #ffffff;
	--clsc-pc-btn-hover-bg: #3F0588;
	--clsc-pc-btn-hover-text: #ffffff;
	--clsc-pc-card-hover-bg: #FAF7FF;
	--clsc-pc-card-hover-text: #334155;
	--clsc-pc-border-color: #E5E7EB;
	--clsc-pc-border-width: 1px;
	--clsc-pc-border-radius: 18px;
	--clsc-pc-tick: #16A34A;
	--clsc-pc-cross: #DC2626;
	--clsc-pc-tab-bg: #F1F5F9;
	--clsc-pc-tab-text: #334155;
	--clsc-pc-tab-active-bg: #5007AA;
	--clsc-pc-tab-active-text: #ffffff;

	margin: 24px 0;
	font-size: 15px;
	line-height: 1.5;
}

/* ── Tab toggle bar ─────────────────────────────────────────────── */

.clsc-pc__tabs {
	display: inline-flex;
	gap: 4px;
	margin: 0 auto 28px;
	padding: 4px;
	background: var(--clsc-pc-tab-bg);
	border-radius: 999px;
}

.clsc-pc {
	text-align: center;
}

.clsc-pc__tab {
	appearance: none;
	border: 0;
	cursor: pointer;
	padding: 9px 26px;
	border-radius: 999px;
	background: transparent;
	color: var(--clsc-pc-tab-text);
	font-weight: 600;
	font-size: 14px;
	transition: background .2s ease, color .2s ease;
}

.clsc-pc__tab:hover {
	color: var(--clsc-pc-tab-active-bg);
}

.clsc-pc__tab.is-active {
	background: var(--clsc-pc-tab-active-bg);
	color: var(--clsc-pc-tab-active-text);
}

/* ── Panels & grid ──────────────────────────────────────────────── */

.clsc-pc__panel {
	display: none;
}

.clsc-pc__panel.is-active {
	display: block;
}

.clsc-pc__grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	text-align: left;
}

.clsc-pc__grid--1 { grid-template-columns: minmax(0, 420px); justify-content: center; }
.clsc-pc__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.clsc-pc__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 1024px) {
	.clsc-pc__grid,
	.clsc-pc__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.clsc-pc__grid,
	.clsc-pc__grid--2,
	.clsc-pc__grid--4 { grid-template-columns: minmax(0, 1fr); }

	.clsc-pc__tabs {
		display: flex;
		overflow-x: auto;
	}
}

/* ── Card ───────────────────────────────────────────────────────── */

.clsc-pc__card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--clsc-pc-bg);
	color: var(--clsc-pc-text);
	border: var(--clsc-pc-border-width) solid var(--clsc-pc-border-color);
	border-radius: var(--clsc-pc-border-radius);
	padding: 30px 26px 26px;
	transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.clsc-pc__card:hover {
	background: var(--clsc-pc-card-hover-bg);
	color: var(--clsc-pc-card-hover-text);
	box-shadow: 0 18px 45px rgba(18, 0, 31, .10);
	transform: translateY(-3px);
}

.clsc-pc__card.is-popular {
	border-color: var(--clsc-pc-popular-bg);
	box-shadow: 0 8px 22px rgba(18, 0, 31, .06);
}

.clsc-pc__popular {
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--clsc-pc-popular-bg);
	color: var(--clsc-pc-popular-text);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 4px 14px;
	border-radius: 999px;
	white-space: nowrap;
}

.clsc-pc__badge {
	align-self: flex-start;
	background: var(--clsc-pc-badge-bg);
	color: var(--clsc-pc-badge-text);
	font-size: 12px;
	font-weight: 600;
	padding: 4px 12px;
	border-radius: 999px;
	margin-bottom: 14px;
}

.clsc-pc__title {
	margin: 0 0 12px;
	font-size: 20px;
	font-weight: 700;
	color: var(--clsc-pc-heading);
}

/* ── Pricing ────────────────────────────────────────────────────── */

.clsc-pc__pricing {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 18px;
}

.clsc-pc__price {
	font-size: 32px;
	font-weight: 800;
	color: var(--clsc-pc-price);
}

.clsc-pc__regular {
	font-size: 17px;
	opacity: .6;
}

.clsc-pc__save {
	background: var(--clsc-pc-save-bg);
	color: var(--clsc-pc-save-text);
	font-size: 12px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 999px;
}

/* ── Features ───────────────────────────────────────────────────── */

.clsc-pc__features {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	flex: 1 1 auto;
}

.clsc-pc__features li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 6px 0;
	margin: 0;
}

.clsc-pc__features li.is-cross {
	opacity: .65;
	text-decoration: line-through;
}

.clsc-pc__mark {
	flex: 0 0 auto;
	font-weight: 700;
	line-height: 1.5;
}

.clsc-pc__features li.is-tick .clsc-pc__mark { color: var(--clsc-pc-tick); }
.clsc-pc__features li.is-cross .clsc-pc__mark { color: var(--clsc-pc-cross); }

/* ── Button ─────────────────────────────────────────────────────── */

.clsc-pc__btn,
.clsc-pc__btn:visited {
	display: block;
	text-align: center;
	background: var(--clsc-pc-btn-bg) !important;
	color: var(--clsc-pc-btn-text) !important;
	font-weight: 700;
	text-decoration: none;
	padding: 13px 20px;
	border-radius: calc(var(--clsc-pc-border-radius) / 1.5);
	transition: background .2s ease, color .2s ease;
	margin-top: auto;
}

.clsc-pc__btn:hover,
.clsc-pc__btn:focus {
	background: var(--clsc-pc-btn-hover-bg) !important;
	color: var(--clsc-pc-btn-hover-text) !important;
	text-decoration: none;
}
