/**
 * Podo Child — shared design-system primitives (podologas.lt redesign)
 *
 * Navy / royal-blue clinical aesthetic. Each homepage section is built as a
 * self-contained HTML widget that reuses these `.ps-*` primitives plus its
 * own scoped layout rules.
 */

:root {
	--ps-blue:        #1B2BA8;
	--ps-blue-dark:   #0C1E7A;
	--ps-accent:      #2740E0;
	--ps-navy:        #15205A;
	--ps-ink:         #0D0D0D;
	--ps-body:        #5B5B5B;
	--ps-muted:       #8A8A90;
	--ps-bg:          #F7F7F6;
	--ps-lav:         #EDF0FC;
	--ps-line:        #ECECEC;
	--ps-gold:        #F5A623;
	--ps-on-dark:     #C7CEEA;
	--ps-maxw:        1280px;
}

/* ---- layout ---- */
.ps { font-family: 'Manrope', sans-serif; }
.ps *, .ps *::before, .ps *::after { box-sizing: border-box; }
.ps-container { max-width: var(--ps-maxw); margin: 0 auto;}
.ps-section { padding: 92px 0; }
.ps-section--tight { padding: 56px 0; }

/* ---- section head ---- */
.ps-eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	color: var(--ps-accent); font-size: 13px; font-weight: 600;
	letter-spacing: .14em; text-transform: uppercase;
}
.ps-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--ps-accent); display: inline-block; }
.ps-eyebrow.is-light { color: #fff; }
.ps-eyebrow.is-light::before { background: #fff; }
.ps-h2 {
	font-size: 46px; line-height: 1.08; font-weight: 500; color: var(--ps-ink);
	letter-spacing: -.015em; margin: 16px 0 0; padding-bottom: 25px;
}
.ps-h2.is-dark, .ps-h3.is-dark { color: #fff; }
.ps-h3 { font-size: 26px; line-height: 1.2; font-weight: 600; color: var(--ps-ink); margin: 0; letter-spacing: -.01em; }
.ps-lead { font-size: 18px; line-height: 1.6; color: var(--ps-body); margin: 0; }
.ps-lead.is-dark { color: var(--ps-on-dark); }
.ps-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.ps-head-row .ps-lead { max-width: 360px; }

/* ---- buttons ---- */
.ps-btn {
	display: inline-flex; align-items: center; gap: 10px; cursor: pointer;
	background: var(--ps-blue); color: #fff; font-size: 16px; font-weight: 600;
	padding: 15px 26px; border-radius: 10px; text-decoration: none;
	border: 1.5px solid var(--ps-blue); transition: .2s ease; line-height: 1;
}
.ps-btn:hover { background: var(--ps-blue-dark); border-color: var(--ps-blue-dark); color: #fff; }
.ps-btn--outline { background: #fff; color: var(--ps-blue); border-color: #D7DBF1; }
.ps-btn--outline:hover { background: #fff; color: var(--ps-blue-dark); border-color: var(--ps-blue); }
.ps-btn--white { background: #fff; color: var(--ps-navy); border-color: #fff; }
.ps-btn--white:hover { background: #EEF1FC; color: var(--ps-navy); border-color: #EEF1FC; }
.ps-btn--ghost-dark { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); }
.ps-btn--ghost-dark:hover { background: rgba(255,255,255,.1); color: #fff; }
.ps-btn .ps-i { font-size: 16px; line-height: 1; }

/* ---- pills / chips ---- */
.ps-pill {
	display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .1em;
	text-transform: uppercase; padding: 6px 12px; border-radius: 999px;
	background: var(--ps-lav); color: var(--ps-accent);
}
.ps-pill--blue { background: var(--ps-blue); color: #fff; }
.ps-pill--light { background: rgba(255,255,255,.14); color: #fff; }
.ps-pill--white { background: #fff; color: var(--ps-navy); }

/* ---- cards ---- */
.ps-card { background: #fff; border: 1px solid var(--ps-line); border-radius: 16px; }
.ps-card--navy { background: var(--ps-navy); color: #fff; border-color: transparent; }
.ps-card--soft { background: var(--ps-bg); border-color: transparent; }

/* ---- icon badge ---- */
.ps-badge {
	width: 40px; height: 40px; border-radius: 10px; display: inline-flex;
	align-items: center; justify-content: center; background: var(--ps-lav);
	color: var(--ps-accent); font-size: 18px; flex: none;
}
.ps-badge--navy { background: rgba(255,255,255,.12); color: #fff; }

/* ---- stars ---- */
.ps-stars { color: var(--ps-gold); letter-spacing: 2px; font-size: 15px; }

/* ---- generic image placeholder (no copyrighted assets) ---- */
.ps-photo {
	background: linear-gradient(135deg, #2F49E8 0%, #1B2BA8 100%);
	border-radius: 16px; position: relative; overflow: hidden;
	display: flex; align-items: center; justify-content: center;
	color: rgba(255,255,255,.6); font-size: 40px; min-height: 220px;
}

/* ---- backgrounds ---- */
.ps-bg-light { background: var(--ps-bg); }
.ps-bg-lav   { background: var(--ps-lav); }
.ps-bg-navy  { background: var(--ps-navy); color: #fff; }
.ps-rounded-wrap { border-radius: 28px; }

/* ---- responsive ---- */
@media (max-width: 1024px) {
	.ps-h2 { font-size: 38px; }
	.ps-section { padding: 64px 0; }
}
@media (max-width: 782px) {
	.ps-container { padding: 0 22px; }
	.ps-h2 { font-size: 30px; }
	.ps-head-row { flex-direction: column; align-items: flex-start; gap: 16px; }
	.ps-head-row .ps-lead { max-width: none; }
}
