/* =========================================================
   PooyaParto Landing — front-end styles
   ========================================================= */

.ppl-landing {
	--ppl-navy: #123a52;
	--ppl-navy-deep: #0c2a3d;
	--ppl-blue: #2f8fd1;
	--ppl-blue-soft: #eaf4fb;
	--ppl-ink: #1c3444;
	--ppl-muted: #5c7d8f;
	--ppl-white: #ffffff;
	--ppl-radius: 18px;
	--ppl-shadow: 0 18px 45px rgba(18, 58, 82, 0.14);
	--ppl-shadow-hover: 0 22px 55px rgba(18, 58, 82, 0.22);
	font-family: 'Vazirmatn', Tahoma, Arial, sans-serif;
	box-sizing: border-box;
}

.ppl-landing *,
.ppl-landing *::before,
.ppl-landing *::after {
	box-sizing: inherit;
}

.ppl-hero {
	position: relative;
	width: 100%;
	min-height: 640px;
	background-color: #f4f8fb;
	background-size: cover;
	background-position: left center;
	background-repeat: no-repeat;
	overflow: hidden;
	display: flex;
	align-items: center;
}

/* Soft light gradient so the right-hand side text stays legible
   over the horse illustration in the source artwork, and the
   whole thing feels bright & clinical rather than heavy. */
.ppl-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255,255,255,0.97) 0%, rgba(255,255,255,0.86) 34%, rgba(255,255,255,0.35) 58%, rgba(255,255,255,0.06) 78%);
	pointer-events: none;
}

.ppl-hero__container {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 72px 32px;
}

.ppl-hero__content {
	max-width: 620px;
}

.ppl-hero__eyebrow {
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .2px;
	color: var(--ppl-blue);
	background: var(--ppl-blue-soft);
	padding: 7px 16px;
	border-radius: 999px;
	margin-bottom: 18px;
}

.ppl-hero__title {
	margin: 0 0 10px;
	font-size: clamp(38px, 5vw, 58px);
	font-weight: 800;
	line-height: 1.1;
	color: var(--ppl-navy);
	letter-spacing: -0.5px;
}

.ppl-hero__subtitle {
	margin: 0 0 34px;
	font-size: 19px;
	font-weight: 500;
	line-height: 1.8;
	color: var(--ppl-ink);
	opacity: .82;
	max-width: 480px;
}

/* ---------------------------------------------------------
   Buttons grid
   --------------------------------------------------------- */
.ppl-buttons {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	max-width: 560px;
}

.ppl-btn {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px 18px;
	background: var(--ppl-white);
	border: 1px solid rgba(18, 58, 82, 0.08);
	border-radius: var(--ppl-radius);
	box-shadow: var(--ppl-shadow);
	text-decoration: none;
	color: var(--ppl-navy);
	font-weight: 600;
	font-size: 15.5px;
	line-height: 1.5;
	transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, border-color .22s ease;
	overflow: hidden;
}

.ppl-btn::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(47,143,209,0.10), rgba(47,143,209,0));
	opacity: 0;
	transition: opacity .22s ease;
}

.ppl-btn:hover {
	transform: translateY(-4px);
	box-shadow: var(--ppl-shadow-hover);
	border-color: rgba(47, 143, 209, 0.25);
}

.ppl-btn:hover::before {
	opacity: 1;
}

.ppl-btn:focus-visible {
	outline: 2px solid var(--ppl-blue);
	outline-offset: 3px;
}

.ppl-btn__icon {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--ppl-blue-soft);
	color: var(--ppl-blue);
}

.ppl-btn__icon svg {
	width: 22px;
	height: 22px;
}

.ppl-btn__label {
	position: relative;
	flex: 1 1 auto;
	z-index: 1;
}

.ppl-btn__arrow {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ppl-blue);
	opacity: 0;
	transform: translateX(6px);
	transition: opacity .22s ease, transform .22s ease;
}

.ppl-btn__arrow svg {
	width: 18px;
	height: 18px;
	transform: scaleX(-1); /* point toward text start in RTL */
}

.ppl-btn:hover .ppl-btn__arrow {
	opacity: 1;
	transform: translateX(0);
}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */
@media (max-width: 960px) {
	.ppl-hero {
		min-height: auto;
		background-position: center 30%;
	}
	.ppl-hero__overlay {
		background:
			linear-gradient(180deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.94) 42%, rgba(255,255,255,0.98) 100%);
	}
	.ppl-hero__container {
		padding: 220px 20px 48px;
	}
	.ppl-hero__content {
		max-width: 100%;
	}
}

@media (max-width: 560px) {
	.ppl-hero__container {
		padding: 190px 16px 40px;
	}
	.ppl-hero__title {
		font-size: 34px;
	}
	.ppl-hero__subtitle {
		font-size: 16px;
	}
	.ppl-buttons {
		grid-template-columns: 1fr;
	}
	.ppl-btn {
		padding: 16px;
	}
}

/* ---------------------------------------------------------
   Admin screen small helpers
   --------------------------------------------------------- */
.ppl-admin-wrap .ppl-buttons-table td,
.ppl-admin-wrap .ppl-buttons-table th {
	vertical-align: middle;
	padding: 10px 12px;
}
