/* HerbalRom Specialist - stiluri shortcode [hr_specialist] (larg + compact).
   Clase prefixate cu .hr-spec-. Paleta: alb, gri deschis, accent verde inchis. */

.hr-spec-wrap {
	--hr-spec-accent: #14563f;
	--hr-spec-accent-dark: #0f4030;
	--hr-spec-border: #e2e6e3;
	--hr-spec-bg-soft: #f6f8f7;
	--hr-spec-text: #2b312e;
	--hr-spec-muted: #6b756f;

	box-sizing: border-box;
	max-width: 1100px;
	margin: 0 auto;
	padding: 8px 16px;
	color: var(--hr-spec-text);
	font-size: 16px;
	line-height: 1.6;
}

.hr-spec-wrap *,
.hr-spec-wrap *::before,
.hr-spec-wrap *::after { box-sizing: border-box; }

.hr-spec-profile,
.hr-spec-cards { margin-bottom: 48px; }

/* ---------- LARG: profil ---------- */
.hr-spec-profile {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 32px;
}
.hr-spec-profile-photo { flex: 0 0 40%; max-width: 40%; }
.hr-spec-profile-photo img { display: block; width: 100%; height: auto; border-radius: 8px; }
.hr-spec-profile-body { flex: 1 1 55%; min-width: 0; }
.hr-spec-name { margin: 0 0 4px; font-size: 28px; line-height: 1.25; color: var(--hr-spec-accent-dark); }
.hr-spec-subtitle { margin: 0 0 20px; font-size: 17px; color: var(--hr-spec-muted); }
.hr-spec-desc { margin: 0 0 24px; }
.hr-spec-desc a { color: var(--hr-spec-accent); text-decoration: underline; }

/* ---------- Trust points (comun larg + compact) ---------- */
.hr-spec-trust {
	display: flex;
	gap: 16px;
	margin: 0 0 4px;
}
.hr-spec-trust-item {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	text-align: center;
}
.hr-spec-trust-num {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.1;
	color: var(--hr-spec-accent);
}
.hr-spec-trust-label {
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.3;
	color: var(--hr-spec-muted);
}

/* ---------- LARG: carduri ---------- */
.hr-spec-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.hr-spec-card { display: flex; flex-direction: column; padding: 32px; background: #fff; border: 1px solid var(--hr-spec-border); border-radius: 8px; }
.hr-spec-card-title { margin: 0 0 12px; font-size: 20px; line-height: 1.3; color: var(--hr-spec-accent-dark); }
.hr-spec-price { margin: 0 0 12px; font-size: 30px; font-weight: 700; color: var(--hr-spec-accent); }
.hr-spec-card-text { margin: 0 0 24px; color: var(--hr-spec-text); }
.hr-spec-card .hr-spec-btn { margin-top: auto; }

/* ---------- Butoane ---------- */
.hr-spec-btn {
	display: inline-block;
	padding: 12px 24px;
	min-height: 48px;
	line-height: 24px;
	font-size: 16px;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	border-radius: 8px;
	border: 1px solid var(--hr-spec-accent);
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.hr-spec-btn-primary { background: var(--hr-spec-accent); color: #fff; }
.hr-spec-btn-primary:hover, .hr-spec-btn-primary:focus { background: var(--hr-spec-accent-dark); border-color: var(--hr-spec-accent-dark); color: #fff; }
.hr-spec-btn-outline { background: transparent; color: var(--hr-spec-accent); }
.hr-spec-btn-outline:hover, .hr-spec-btn-outline:focus { background: var(--hr-spec-bg-soft); color: var(--hr-spec-accent-dark); }
.hr-spec-btn-block { display: block; width: 100%; }

/* ---------- LARG: disclaimer ---------- */
.hr-spec-disclaimer p { margin: 0; font-size: 13px; color: var(--hr-spec-muted); text-align: center; }

/* ---------- LARG responsive ---------- */
@media (max-width: 768px) {
	.hr-spec-profile { flex-direction: column; align-items: stretch; gap: 24px; }
	.hr-spec-profile-photo, .hr-spec-profile-body { flex: 1 1 100%; max-width: 100%; }
	.hr-spec-cards { grid-template-columns: 1fr; }
	.hr-spec-card .hr-spec-btn { display: block; width: 100%; }
}

/* ======================================================================
   COMPACT: coloana ingusta (~33%), totul pe verticala
   ====================================================================== */
.hr-spec-compact {
	max-width: 420px;
	padding: 0;
	text-align: center;
}
.hr-spec-c-photo { margin: 0 auto 16px; width: 100%; max-width: 200px; }
.hr-spec-c-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 12px;
}
.hr-spec-c-name { margin: 0 0 2px; font-size: 20px; line-height: 1.2; color: var(--hr-spec-accent-dark); }
.hr-spec-c-subtitle { margin: 0 0 14px; font-size: 14px; color: var(--hr-spec-muted); }

/* trust points pe un rand, sub subtitlu */
.hr-spec-compact .hr-spec-trust { gap: 8px; margin: 0 0 14px; }
.hr-spec-compact .hr-spec-trust-num { font-size: 20px; }
.hr-spec-compact .hr-spec-trust-label { font-size: 11px; }

.hr-spec-c-desc { margin: 0 0 16px; font-size: 14px; line-height: 1.5; text-align: left; }
.hr-spec-c-desc a { color: var(--hr-spec-accent); text-decoration: underline; }

/* butoane stivuite vertical, 100% latime, min 48px */
.hr-spec-compact .hr-spec-btn { margin-bottom: 10px; }
.hr-spec-c-profilelink {
	display: inline-block;
	margin: 4px 0 12px;
	font-size: 13px;
	color: var(--hr-spec-accent);
	text-decoration: underline;
}
.hr-spec-c-disclaimer { margin: 0; font-size: 12px; line-height: 1.4; color: var(--hr-spec-muted); }

/* la latimi foarte mici, trust points nu ies din card */
@media (max-width: 360px) {
	.hr-spec-compact .hr-spec-trust-num { font-size: 18px; }
	.hr-spec-compact .hr-spec-trust-label { font-size: 10px; }
}
