/* Parnova public site – on top of Bootstrap 5 (RTL), same colors as the user panel */

:root {
	--ps-primary: #2456a6;
	--ps-primary-dark: #1b417d;
	--ps-primary-soft: #e8eef9;
	--ps-bg: #f4f6fb;
	--ps-border: #e3e7ef;
	--ps-text: #1f2937;
	--ps-muted: #6b7280;
	--ps-header-height: 72px;

	--bs-primary: var(--ps-primary);
	--bs-primary-rgb: 36, 86, 166;
	--bs-link-color: var(--ps-primary);
	--bs-link-color-rgb: 36, 86, 166;
	--bs-link-hover-color: var(--ps-primary-dark);
	--bs-body-font-family: IRANSans, Tahoma, sans-serif;
	--bs-body-color: var(--ps-text);
	--bs-border-radius: .6rem;
	--bs-border-radius-lg: .9rem;
}

html, body { min-height: 100%; }
body {
	background: #fff;
	font-family: var(--bs-body-font-family);
	font-size: .95rem;
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.ps-main { flex: 1; }

.btn-primary {
	--bs-btn-bg: var(--ps-primary);
	--bs-btn-border-color: var(--ps-primary);
	--bs-btn-hover-bg: var(--ps-primary-dark);
	--bs-btn-hover-border-color: var(--ps-primary-dark);
	--bs-btn-active-bg: var(--ps-primary-dark);
	--bs-btn-active-border-color: var(--ps-primary-dark);
}
.btn-outline-primary {
	--bs-btn-color: var(--ps-primary);
	--bs-btn-border-color: var(--ps-primary);
	--bs-btn-hover-bg: var(--ps-primary);
	--bs-btn-hover-border-color: var(--ps-primary);
	--bs-btn-active-bg: var(--ps-primary);
	--bs-btn-active-border-color: var(--ps-primary);
}
.btn { font-weight: 500; }

/* ---------- header ---------- */
.ps-header { background: rgba(255, 255, 255, .97); border-bottom: 1px solid var(--ps-border); backdrop-filter: blur(4px); }
.ps-header .navbar { min-height: var(--ps-header-height); }
.ps-logo { height: 42px; width: auto; }
.ps-header .nav-link { color: var(--ps-text); font-weight: 500; padding: .5rem .9rem !important; border-radius: .5rem; display: flex; align-items: center; gap: .6rem; }
.ps-header .nav-link:hover { background: var(--ps-bg); }
.ps-header .nav-link.active { color: var(--ps-primary); background: var(--ps-primary-soft); }
.ps-header .navbar-toggler:focus { box-shadow: none; }
@media (max-width: 991.98px) {
	.ps-header .navbar-collapse { border-top: 1px solid var(--ps-border); margin-top: .5rem; padding-top: .5rem; }
	.ps-header .dropdown-menu { position: static !important; transform: none !important; border: 0; box-shadow: none !important; background: var(--ps-bg); }
}

/* ---------- hero ---------- */
.ps-hero { background: linear-gradient(160deg, #eaf0fa 0%, var(--ps-bg) 60%); padding: 3rem 0; }
.ps-hero-title { font-size: clamp(1.6rem, 4vw, 2.4rem); font-weight: 700; color: var(--ps-primary); margin-bottom: 1rem; }
.ps-hero-lead { font-size: 1.05rem; color: var(--ps-muted); margin-bottom: 1.5rem; }
.ps-hero-media { border-radius: var(--bs-border-radius-lg); overflow: hidden; box-shadow: 0 10px 30px rgba(36, 86, 166, .12); background: #dcebf0; aspect-ratio: 16 / 9; }
.ps-hero-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 575.98px) { .ps-hero { padding: 1.5rem 0 2rem; } }

/* ---------- sections ---------- */
.ps-section { padding: 3rem 0; }
.ps-section-alt { background: var(--ps-bg); }
.ps-section-title { font-size: 1.35rem; font-weight: 700; margin-bottom: 1.5rem; display: flex; align-items: center; gap: .6rem; }
.ps-section-title::before { content: ""; width: 6px; height: 1.4em; border-radius: 3px; background: var(--ps-primary); }
.ps-narrow { max-width: 820px; }
@media (max-width: 575.98px) { .ps-section { padding: 2rem 0; } }

.card { border-color: var(--ps-border); border-radius: var(--bs-border-radius-lg); }
.card-header { background: #fff; border-bottom-color: var(--ps-border); font-weight: 500; padding: .9rem 1.25rem; }
.card-header:first-child { border-radius: var(--bs-border-radius-lg) var(--bs-border-radius-lg) 0 0; }
.list-group-item { border-color: var(--ps-border); padding: .7rem 1.25rem; }

.ps-service { height: 100%; border: 1px solid var(--ps-border); border-radius: var(--bs-border-radius-lg); padding: 1.25rem 1rem; text-align: center; transition: box-shadow .15s, transform .15s; }
.ps-service:hover { box-shadow: 0 6px 18px rgba(36, 86, 166, .12); transform: translateY(-2px); }
.ps-service i { font-size: 1.8rem; color: var(--ps-primary); display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 1rem; background: var(--ps-primary-soft); margin-bottom: .75rem; }
.ps-service-name { font-weight: 700; }
.ps-service-en { color: var(--ps-muted); font-size: .8rem; direction: ltr; }

.ps-quote { margin: 0; }
.ps-quote blockquote { text-align: justify; line-height: 1.9; font-size: .95rem; }
.ps-quote figcaption { font-weight: 700; color: var(--ps-primary); }
.ps-quote-photo { max-width: 180px; width: 100%; border-radius: 50%; aspect-ratio: 1; object-fit: cover; }

.ps-account-icon { width: 48px; height: 48px; border-radius: .75rem; display: grid; place-items: center; font-size: 1.4rem; background: var(--ps-primary-soft); color: var(--ps-primary); margin-bottom: .75rem; }

.ps-kv { display: grid; grid-template-columns: minmax(130px, 35%) 1fr; margin: 0; }
.ps-kv dt, .ps-kv dd { padding: .8rem 1.25rem; margin: 0; border-bottom: 1px solid var(--ps-border); }
.ps-kv dt { color: var(--ps-muted); font-weight: 400; }
.ps-kv dt:last-of-type, .ps-kv dd:last-of-type { border-bottom: 0; }
@media (max-width: 575.98px) {
	.ps-kv { grid-template-columns: 1fr; }
	.ps-kv dt { border-bottom: 0; padding-bottom: 0; font-size: .85rem; }
	.ps-kv dd { padding-top: .2rem; }
}

.ps-empty { text-align: center; color: var(--ps-muted); padding: 3rem 1rem; }
.ps-empty i { font-size: 2.5rem; display: block; margin-bottom: .75rem; color: #c3cad6; }

/* ---------- footer ---------- */
.ps-footer { background: #17233a; color: #c7cfdd; padding: 2.5rem 0 1rem; font-size: .9rem; }
.ps-footer a { color: #e6ebf3; text-decoration: none; }
.ps-footer a:hover { color: #fff; text-decoration: underline; }
.ps-footer li { margin-bottom: .4rem; }
.ps-footer-logo { height: 40px; width: auto; background: #fff; border-radius: .5rem; padding: .35rem .6rem; }
.ps-footer-title { font-size: 1rem; font-weight: 700; color: #fff; margin-bottom: .75rem; }
.ps-enamad img { background: #fff; border-radius: .5rem; padding: .25rem; }
.ps-copyright { border-top: 1px solid rgba(255, 255, 255, .12); margin-top: 2rem; padding-top: 1rem; text-align: center; font-size: .8rem; color: #94a0b4; }
