/* Concepta Pricing Packages — Frontend Styles */

:root{
	--cp-green:#1bf600;
	--cp-green-dark:#14b800;
	--cp-grey:#242426;
	--cp-grey-soft:#4a4a4d;
	--cp-border:#e6e6e6;
	--cp-muted:#7a7a7c;
}

/* ---------- Grid ---------- */
.cp-pricing-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:26px;
	max-width:1200px;
	margin:0 auto;
	padding:20px;
	font-family:'Poppins',sans-serif;
}

/* ---------- Scroll animation (fade + rise) ---------- */
.cp-animate{
	opacity:0;
	transform:translateY(40px);
	transition:opacity .6s ease, transform .6s ease;
}
.cp-animate.cp-in-view{
	opacity:1;
	transform:translateY(0);
}
@media (prefers-reduced-motion: reduce){
	.cp-animate{opacity:1; transform:none; transition:none;}
}

/* ---------- Card ---------- */
.cp-card{
	background:#fff;
	border:1px solid var(--cp-border);
	border-radius:14px;
	padding:32px 28px;
	position:relative;
	display:flex;
	flex-direction:column;
	transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.cp-card:hover{
	transform:translateY(-6px);
	box-shadow:0 30px 50px -25px rgba(0,0,0,.18);
	border-color:var(--cp-green);
}

.cp-card--featured{
	background:var(--cp-green);
	border-color:var(--cp-green);
	color:var(--cp-grey);
	box-shadow:0 25px 50px -20px rgba(27,246,0,.45);
}

.cp-card__title{
	font-family:'Montserrat',sans-serif;
	font-size:20px;
	font-weight:800;
	color:inherit;
	margin:0 0 8px;
}

.cp-card__old-price{
	color:#b6b6b6;
	text-decoration:line-through;
	font-size:14px;
	margin-bottom:2px;
}
.cp-card--featured .cp-card__old-price{ color:rgba(36,36,38,.5); }

.cp-card__price{
	font-family:'Montserrat',sans-serif;
	font-size:38px;
	font-weight:900;
	color:var(--cp-grey);
	margin-bottom:12px;
}
.cp-card--featured .cp-card__price{ color:var(--cp-grey); }

.cp-card__desc{
	font-size:14px;
	color:var(--cp-muted);
	margin-bottom:18px;
	line-height:1.6;
}
.cp-card--featured .cp-card__desc{ color:rgba(36,36,38,.8); }
.cp-card__desc p{margin:0;}

.cp-card__features{
	list-style:none;
	margin:0 0 26px;
	padding:0;
	flex-grow:1;
}
.cp-card__features li{
	display:flex;
	align-items:flex-start;
	gap:10px;
	font-size:14px;
	color:var(--cp-grey);
	margin-bottom:10px;
	line-height:1.4;
}
.cp-card--featured .cp-card__features li{ color:var(--cp-grey); }
.cp-check{
	color:var(--cp-green-dark);
	font-weight:900;
	flex-shrink:0;
}
.cp-card--featured .cp-check{ color:var(--cp-grey); }

.cp-order-btn{
	font-family:'Montserrat',sans-serif;
	font-weight:700;
	font-size:14px;
	letter-spacing:.5px;
	text-transform:uppercase;
	background:transparent;
	color:var(--cp-grey);
	border:2px solid var(--cp-grey);
	border-radius:30px;
	padding:14px 20px;
	cursor:pointer;
	transition:background .25s ease, color .25s ease, transform .2s ease;
}
.cp-order-btn:hover{
	background:var(--cp-green);
	border-color:var(--cp-green);
	color:var(--cp-grey);
	transform:translateY(-2px);
}
.cp-card--featured .cp-order-btn{
	background:var(--cp-grey);
	border-color:var(--cp-grey);
	color:#fff;
}
.cp-card--featured .cp-order-btn:hover{
	background:#000;
}

.cp-card__meta{
	display:flex;
	justify-content:space-between;
	gap:10px;
	margin-top:22px;
	padding-top:18px;
	border-top:1px solid var(--cp-border);
	font-size:12.5px;
}
.cp-card--featured .cp-card__meta{ border-top-color:rgba(36,36,38,.2); }
.cp-card__meta-label{
	display:block;
	color:var(--cp-muted);
	margin-bottom:4px;
}
.cp-card--featured .cp-card__meta-label{ color:rgba(36,36,38,.7); }
.cp-card__meta strong, .cp-card__meta a{
	display:block;
	color:var(--cp-grey);
	font-weight:600;
	text-decoration:none;
}
.cp-card__meta-right{ text-align:right; }
.cp-card--featured .cp-card__meta strong,
.cp-card--featured .cp-card__meta a{ color:var(--cp-grey); }

/* ---------- Modal ---------- */
.cp-modal-overlay{
	position:fixed;
	inset:0;
	background:rgba(20,20,20,.72);
	display:none;
	align-items:center;
	justify-content:center;
	z-index:99999;
	padding:20px;
	opacity:0;
	transition:opacity .3s ease;
}
.cp-modal-overlay.cp-open{
	display:flex;
	opacity:1;
}
.cp-modal{
	background:var(--cp-grey);
	color:#fff;
	width:100%;
	max-width:760px;
	border-radius:18px;
	display:grid;
	grid-template-columns:1.3fr 1fr;
	overflow:hidden;
	position:relative;
	transform:translateY(30px) scale(.97);
	transition:transform .35s ease;
}
.cp-modal-overlay.cp-open .cp-modal{
	transform:translateY(0) scale(1);
}
.cp-modal__close{
	position:absolute;
	top:16px;
	right:16px;
	width:34px;
	height:34px;
	border-radius:50%;
	border:1px solid rgba(255,255,255,.4);
	background:transparent;
	color:#fff;
	font-size:20px;
	cursor:pointer;
	line-height:1;
	z-index:2;
}
.cp-modal__close:hover{ background:var(--cp-green); border-color:var(--cp-green); color:var(--cp-grey); }

.cp-modal__form-col{ padding:44px 38px; }
.cp-modal__eyebrow{ font-family:'Montserrat',sans-serif; font-size:14px; color:#c7c8c8; margin-bottom:6px; }
.cp-modal__eyebrow strong{ color:var(--cp-green); }
.cp-modal__title{
	font-family:'Montserrat',sans-serif;
	font-size:26px;
	font-weight:800;
	margin:0 0 24px;
}

.cp-modal__field{ margin-bottom:14px; }
.cp-modal__field input{
	width:100%;
	padding:14px 16px;
	border-radius:30px;
	border:none;
	font-family:'Poppins',sans-serif;
	font-size:14px;
	background:#fff;
	color:var(--cp-grey);
}
.cp-modal__field input:focus{ outline:2px solid var(--cp-green); }
.cp-modal__field--phone{ display:flex; gap:8px; }
.cp-modal__field--phone select{
	border:none;
	border-radius:30px;
	padding:0 10px;
	background:#fff;
	color:var(--cp-grey);
	font-size:13px;
}
.cp-modal__field--phone input{ flex:1; }

.cp-modal__submit{
	width:100%;
	background:var(--cp-green);
	color:var(--cp-grey);
	border:none;
	border-radius:30px;
	padding:15px;
	font-family:'Montserrat',sans-serif;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.5px;
	font-size:14px;
	cursor:pointer;
	transition:background .25s ease;
	margin-top:6px;
}
.cp-modal__submit:hover{ background:var(--cp-green-dark); }
.cp-modal__submit:disabled{ opacity:.6; cursor:not-allowed; }

.cp-modal__response{
	margin-top:14px;
	font-size:13.5px;
	min-height:18px;
}
.cp-modal__response.cp-success{ color:var(--cp-green); }
.cp-modal__response.cp-error{ color:#ff6b6b; }

.cp-modal__package-col{
	background:var(--cp-green);
	color:var(--cp-grey);
	padding:44px 30px;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.cp-modal__package-label{
	font-family:'Montserrat',sans-serif;
	font-weight:700;
	font-size:13px;
	text-transform:uppercase;
	letter-spacing:1px;
	border-bottom:2px solid rgba(36,36,38,.3);
	padding-bottom:12px;
	margin-bottom:16px;
}
.cp-modal__package-name{
	font-family:'Montserrat',sans-serif;
	font-weight:800;
	font-size:19px;
	margin-bottom:6px;
}
.cp-modal__package-price{
	font-family:'Montserrat',sans-serif;
	font-weight:900;
	font-size:24px;
}

/* ---------- Responsive ---------- */
@media (max-width:960px){
	.cp-pricing-grid{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:680px){
	.cp-pricing-grid{
		grid-template-columns:1fr; /* single column on mobile */
		gap:20px;
		padding:16px;
	}
	.cp-modal{ grid-template-columns:1fr; max-height:90vh; overflow-y:auto; }
	.cp-modal__package-col{ order:-1; padding:28px 24px; }
	.cp-modal__form-col{ padding:32px 24px; }
	.cp-card{ padding:26px 22px; }
	.cp-card__price{ font-size:32px; }
	.cp-card__meta{ flex-direction:column; gap:14px; }
	.cp-card__meta-right{ text-align:left; }
}
