/* Ce Drept Am Engage — culorile și fonturile site-ului (mov închis #2A2248, mov #5A2A7A, lila #C6A0D6; Georgia + Poppins).
   Fără grid minmax() (LiteSpeed îl strică la minificare). */
.cda-sub, .cda-end, .cda-float, .cda-mbar, .cda-modal, .cda-contact {
	--cda-deep: #2A2248;
	--cda-purple: #5A2A7A;
	--cda-mid: #7D4B9B;
	--cda-lilac: #C6A0D6;
	--cda-text: #40335A;
	--cda-muted: #766C85;
	--cda-line: #E4DBEB;
	--cda-soft: #F5F4F6;
	--cda-tint: #F6F0FA;
	font-family: "Poppins", system-ui, sans-serif;
	box-sizing: border-box;
	text-align: left;
}
.cda-sub *, .cda-end *, .cda-float *, .cda-mbar *, .cda-modal *, .cda-contact * { box-sizing: border-box; }
.cda-ico { display: block; flex: 0 0 auto; }
.cda-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cda-hp { position: absolute !important; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Formular de abonare ---------- */
.cda-sub { color: var(--cda-text); }
.cda-sub--inline, .cda-sub--end {
	background: var(--cda-tint);
	border: 1px solid var(--cda-line);
	border-left: 4px solid var(--cda-purple);
	border-radius: 14px;
	padding: 26px 28px;
	margin: 36px 0;
}
.cda-sub--end { margin: 28px 0 0; }

.cda-sub__head { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 16px; }
.cda-sub__icon {
	flex: 0 0 46px; height: 46px; border-radius: 12px;
	background: var(--cda-purple); color: #fff;
	display: flex; align-items: center; justify-content: center;
}
.cda-sub__copy { flex: 1 1 auto; min-width: 0; }
.cda-sub .cda-sub__title {
	font-family: Georgia, "Times New Roman", serif; font-weight: 700;
	color: var(--cda-deep); font-size: 22px; line-height: 1.3; margin: 0 0 4px; text-align: left;
}
.cda-sub .cda-sub__text { font-size: 15px; line-height: 1.6; margin: 0; color: var(--cda-text); text-align: left; }

.cda-sub__form { margin: 0; }
.cda-sub__row { display: flex; flex-wrap: wrap; gap: 10px; }
.cda-sub .cda-sub__email {
	flex: 1 1 240px; min-width: 0; width: auto; height: 50px; margin: 0;
	padding: 0 16px; font: inherit; font-size: 15px; color: var(--cda-deep);
	background: #fff; border: 1px solid #CFC3DA; border-radius: 8px; box-shadow: none;
}
.cda-sub .cda-sub__email::placeholder { color: #A79DB4; }
.cda-sub .cda-sub__email:focus { outline: none; border-color: var(--cda-purple); box-shadow: 0 0 0 3px rgba(90, 42, 122, .18); }
.cda-sub .cda-sub__btn {
	flex: 0 0 auto; height: 50px; margin: 0; padding: 0 26px;
	font: inherit; font-size: 15px; font-weight: 500; line-height: 50px; letter-spacing: 0; text-transform: none;
	color: #fff; background: var(--cda-purple); border: 0; border-radius: 8px; cursor: pointer;
	transition: background .15s;
}
.cda-sub .cda-sub__btn:hover, .cda-sub .cda-sub__btn:focus { background: var(--cda-deep); color: #fff; }
.cda-sub .cda-sub__btn:focus-visible { outline: 2px solid var(--cda-lilac); outline-offset: 2px; }
.cda-sub .cda-sub__btn:disabled { opacity: .6; cursor: wait; }

.cda-sub .cda-sub__consent { font-size: 12.5px; line-height: 1.55; color: var(--cda-muted); margin: 12px 0 0; text-align: left; }
.cda-sub .cda-sub__consent a { color: var(--cda-purple); text-decoration: underline; }
.cda-sub .cda-sub__msg { font-size: 14px; margin: 10px 0 0; min-height: 0; text-align: left; }
.cda-sub .cda-sub__msg:empty { display: none; }
.cda-sub .cda-sub__msg.is-error { color: #B3261E; }
.cda-sub .cda-sub__msg.is-success {
	color: #1B5E44; background: #EAF6F0; border: 1px solid #BFE3D2; border-radius: 10px;
	padding: 14px 16px; font-size: 15px; font-weight: 500;
}
.cda-sub__form.is-done .cda-sub__row,
.cda-sub__form.is-done .cda-sub__consent { display: none !important; }

/* Coloana laterală: îngustă, câmpul și butonul unul sub altul. */
.cda-sub--sidebar .cda-sub__head { gap: 12px; align-items: center; margin-bottom: 14px; }
.cda-sub--sidebar .cda-sub__icon { flex-basis: 40px; height: 40px; border-radius: 10px; }
.cda-sub--sidebar .cda-sub__title { font-size: 19px; }
.cda-sub--sidebar .cda-sub__text { font-size: 13.5px; }
.cda-sub--sidebar .cda-sub__email,
.cda-sub--sidebar .cda-sub__btn { flex: 1 1 100%; height: 46px; line-height: 46px; }
.cda-sub--sidebar .cda-sub__consent { font-size: 12px; }

/* Footer: doar câmpul și butonul. */
.cda-sub--footer { max-width: 620px; margin: 0 auto; }
.cda-sub--footer .cda-sub__consent, .cda-sub--footer .cda-sub__msg { font-size: 12px; text-align: center; }

/* ---------- Final de articol: share ---------- */
.cda-end { margin: 44px 0 0; clear: both; }
.cda-end__share { padding: 26px 0 0; border-top: 1px solid var(--cda-line); }
.cda-end .cda-end__title { font-family: Georgia, "Times New Roman", serif; font-weight: 700; color: var(--cda-deep); font-size: 22px; line-height: 1.3; margin: 0 0 4px; text-align: left; }
.cda-end .cda-end__text { font-size: 15px; line-height: 1.6; color: var(--cda-text); margin: 0; text-align: left; }
.cda-end .cda-share { margin-top: 16px; }

.cda-share { display: flex; flex-wrap: wrap; gap: 10px; }
.cda-share .cda-share__btn {
	display: inline-flex; align-items: center; gap: 8px; margin: 0;
	height: 44px; padding: 0 16px; border-radius: 999px;
	font: inherit; font-family: "Poppins", system-ui, sans-serif; font-size: 14px; font-weight: 500; line-height: 1; letter-spacing: 0; text-transform: none;
	text-decoration: none !important; cursor: pointer; border: 1px solid transparent;
	color: #fff !important; transition: transform .15s, filter .15s, background .15s;
}
.cda-share .cda-share__btn:hover { transform: translateY(-1px); filter: brightness(1.08); }
.cda-share .cda-share__btn:focus-visible { outline: 2px solid var(--cda-purple, #5A2A7A); outline-offset: 2px; }
.cda-share .cda-share__btn--whatsapp { background: #128C4B; }
.cda-share .cda-share__btn--facebook { background: #1877F2; }
.cda-share .cda-share__btn--linkedin { background: #0A66C2; }
.cda-share .cda-share__btn--email { background: #2A2248; }
.cda-share .cda-share__btn--copy,
.cda-share .cda-share__btn--native { background: #fff; color: #2A2248 !important; border-color: #CFC3DA; }
.cda-share .cda-share__btn--copy:hover,
.cda-share .cda-share__btn--native:hover { background: #F6F0FA; filter: none; }
.cda-share .cda-share__btn--copy.is-copied { background: #EAF6F0; border-color: #BFE3D2; color: #1B5E44 !important; }
.cda-share .cda-share__btn[hidden] { display: none; }

/* Vechile butoane de share din șablon (Royal Addons), ca să nu apară de două ori. */
.cda-hide-old-share .elementor-inner-section:has(.elementor-widget-wpr-sharing-buttons) { display: none !important; }

/* ---------- Bara plutitoare, desktop ---------- */
.cda-float {
	position: fixed; left: 16px; top: 50%; z-index: 9980;
	transform: translate(-80px, -50%); opacity: 0; pointer-events: none;
	transition: transform .3s, opacity .3s;
	background: #fff; border: 1px solid var(--cda-line); border-radius: 999px;
	padding: 8px; box-shadow: 0 10px 30px rgba(42, 34, 72, .22);
}
.cda-float.is-visible { transform: translate(0, -50%); opacity: 1; pointer-events: auto; }
.cda-float .cda-share { flex-direction: column; gap: 6px; }
.cda-float .cda-share__btn { width: 44px; padding: 0; justify-content: center; }
.cda-float .cda-share__btn span { display: none; }
.cda-float .cda-share__btn--copy, .cda-float .cda-share__btn--native { border-color: transparent; }
@media (max-width: 1439px) { .cda-float { display: none; } }

/* ---------- Bara de jos, mobil ---------- */
.cda-mbar { display: none; }
@media (max-width: 767px) {
	.cda-mbar {
		display: flex; align-items: center; gap: 6px;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 9980;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		background: #fff; border-top: 1px solid var(--cda-line);
		box-shadow: 0 -8px 24px rgba(42, 34, 72, .14);
		transform: translateY(110%); transition: transform .3s;
	}
	.cda-mbar.is-visible { transform: translateY(0); }
	.cda-mbar .cda-share { flex: 1 1 auto; flex-wrap: nowrap; gap: 6px; }
	.cda-mbar .cda-share__btn { width: 44px; height: 44px; padding: 0; justify-content: center; }
	.cda-mbar .cda-share__btn span,
	.cda-mbar .cda-share__btn--linkedin,
	.cda-mbar .cda-share__btn--email { display: none; }
	.cda-mbar .cda-mbar__sub {
		flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; margin: 0;
		height: 44px; padding: 0 16px; border: 0; border-radius: 999px;
		background: var(--cda-purple); color: #fff; font: inherit; font-size: 14px; font-weight: 500; line-height: 1; letter-spacing: 0; text-transform: none; cursor: pointer;
	}
	.cda-is-subscribed .cda-mbar .cda-mbar__sub { display: none; }
	html.cda-mbar-on .wpr-stt-btn { bottom: 84px !important; }

	.cda-sub--inline, .cda-sub--end { padding: 22px 18px; }
	.cda-sub .cda-sub__btn { flex: 1 1 100%; }
	.cda-sub .cda-sub__title { font-size: 20px; }
}

/* ---------- Modal ---------- */
.cda-modal { position: fixed; inset: 0; z-index: 99990; display: flex; align-items: center; justify-content: center; padding: 16px; }
.cda-modal[hidden] { display: none; }
.cda-modal__backdrop { position: absolute; inset: 0; background: rgba(42, 34, 72, .68); }
.cda-modal__box {
	position: relative; width: 100%; max-width: 540px; max-height: calc(100vh - 32px); overflow: auto;
	background: #fff; border-radius: 20px; padding: 34px 32px 28px;
	box-shadow: 0 30px 80px rgba(20, 14, 40, .45);
	animation: cda-pop .25s ease-out;
}
.cda-modal .cda-modal__close {
	position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; margin: 0; padding: 0;
	border: 0; border-radius: 50%; background: var(--cda-soft); color: var(--cda-deep);
	font-size: 24px; line-height: 40px; cursor: pointer;
}
.cda-modal .cda-modal__close:hover { background: var(--cda-line); color: var(--cda-deep); }
.cda-modal .cda-sub__title { font-size: 25px; padding-right: 34px; }
html.cda-modal-open { overflow: hidden; }
@keyframes cda-pop { from { transform: translateY(12px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (max-width: 767px) {
	.cda-modal__box { padding: 28px 20px 22px; }
	.cda-modal .cda-sub__head { flex-direction: column; gap: 12px; }
	.cda-modal .cda-sub__title { font-size: 21px; }
}

@media (prefers-reduced-motion: reduce) {
	.cda-float, .cda-mbar, .cda-share .cda-share__btn { transition: none; }
	.cda-modal__box { animation: none; }
}

/* ---------- Tipografia articolelor ----------
   Șablonul de articol pune pe .wpr-post-content text mov de 14px, aliniat „justify", iar articolele
   sunt construite în Elementor. !important e necesar: Elementor pune stiluri per-element cu specificitate mare.
   Se aplică doar pe paginile de articol (body.cda-typo); casetele pluginului din interior sunt excluse. */
.cda-typo .wpr-post-content { --cda-deep: #2A2248; --cda-purple: #5A2A7A; --cda-mid: #7D4B9B; --cda-lilac: #C6A0D6; --cda-body: #40335A; text-align: left !important; }

.cda-typo .wpr-post-content :is(h2, h3, h4, h5, .elementor-heading-title):not(.cda-sub *):not(.cda-end *) {
	font-family: Georgia, "Times New Roman", serif !important;
	color: var(--cda-deep) !important;
	font-weight: 700 !important;
	text-align: left !important;
}
.cda-typo .wpr-post-content h2:not(.cda-sub *):not(.cda-end *),
.cda-typo .wpr-post-content h2.elementor-heading-title { font-size: 27px !important; line-height: 1.3 !important; margin: 40px 0 14px !important; }
.cda-typo .wpr-post-content h3:not(.cda-sub *):not(.cda-end *),
.cda-typo .wpr-post-content h3.elementor-heading-title { font-size: 22px !important; line-height: 1.35 !important; margin: 32px 0 12px !important; }
.cda-typo .wpr-post-content :is(h4, h5, h4.elementor-heading-title, h5.elementor-heading-title):not(.cda-sub *):not(.cda-end *) {
	font-size: 19px !important; line-height: 1.4 !important; margin: 26px 0 10px !important;
	color: var(--cda-purple) !important;
}
.cda-typo .wpr-post-content .elementor-widget:first-child :is(h2, h3):not(.cda-sub *):not(.cda-end *) { margin-top: 0 !important; }

.cda-typo .wpr-post-content :is(p, li, figcaption, td, th):not(.cda-sub *):not(.cda-end *) {
	font-family: "Poppins", system-ui, sans-serif !important;
	font-size: 16.5px !important;
	line-height: 1.8 !important;
	color: var(--cda-body) !important;
	text-align: left !important;
}
.cda-typo .wpr-post-content p:not(.cda-sub *):not(.cda-end *) { margin: 0 0 18px !important; }
.cda-typo .wpr-post-content :is(strong, b):not(.cda-sub *):not(.cda-end *) { color: var(--cda-deep) !important; font-weight: 600 !important; }
.cda-typo .wpr-post-content a:not(.cda-sub *):not(.cda-end *) {
	color: var(--cda-purple) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
.cda-typo .wpr-post-content a:not(.cda-sub *):not(.cda-end *):hover { color: var(--cda-deep) !important; }

/* Liste cu puncte mov */
.cda-typo .wpr-post-content ul:not(.cda-sub *):not(.cda-end *) { list-style: none !important; padding-left: 4px !important; margin: 0 0 20px !important; }
.cda-typo .wpr-post-content ul:not(.cda-sub *):not(.cda-end *) > li { position: relative; padding-left: 26px !important; margin: 0 0 8px !important; }
.cda-typo .wpr-post-content ul:not(.cda-sub *):not(.cda-end *) > li::before {
	content: ""; position: absolute; left: 4px; top: .72em;
	width: 8px; height: 8px; border-radius: 50%; background: var(--cda-mid);
}
.cda-typo .wpr-post-content ol:not(.cda-sub *):not(.cda-end *) { padding-left: 24px !important; margin: 0 0 20px !important; }
.cda-typo .wpr-post-content ol:not(.cda-sub *):not(.cda-end *) > li { margin: 0 0 8px !important; padding-left: 4px; }
.cda-typo .wpr-post-content ol:not(.cda-sub *):not(.cda-end *) > li::marker { color: var(--cda-purple); font-weight: 600; }

.cda-typo .wpr-post-content blockquote:not(.cda-sub *) {
	margin: 28px 0 !important; padding: 20px 24px !important;
	background: #F6F0FA; border: 0; border-left: 4px solid var(--cda-lilac); border-radius: 12px;
}
.cda-typo .wpr-post-content blockquote p { margin: 0 !important; color: var(--cda-deep) !important; font-style: normal; }

@media (max-width: 767px) {
	.cda-typo .wpr-post-content h2:not(.cda-sub *):not(.cda-end *),
	.cda-typo .wpr-post-content h2.elementor-heading-title { font-size: 23px !important; margin-top: 32px !important; }
	.cda-typo .wpr-post-content h3:not(.cda-sub *):not(.cda-end *),
	.cda-typo .wpr-post-content h3.elementor-heading-title { font-size: 20px !important; }
	.cda-typo .wpr-post-content :is(h4, h5):not(.cda-sub *):not(.cda-end *) { font-size: 18px !important; }
	.cda-typo .wpr-post-content :is(p, li, figcaption, td, th):not(.cda-sub *):not(.cda-end *) { font-size: 16px !important; line-height: 1.75 !important; }
}

/* ---------- Formularul de contact [cda_contact] ---------- */
.cda-contact { color: var(--cda-text); margin: 0; }
.cda-contact, .cda-contact * { text-align: left; }
.cda-contact__field { margin: 0 0 16px; }
.cda-contact .cda-contact__field label { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 500; line-height: 1.3; color: var(--cda-deep); }
.cda-contact label span[aria-hidden] { color: #B3261E; }
.cda-contact input[type="email"], .cda-contact select, .cda-contact textarea {
	display: block; width: 100%; margin: 0; padding: 12px 14px; font: inherit; font-size: 15px; line-height: 1.4; color: var(--cda-deep);
	background-color: #fff; border: 1px solid #CFC3DA; border-radius: 8px; box-shadow: none; transition: border-color .15s, box-shadow .15s;
}
.cda-contact input[type="email"], .cda-contact select { height: 48px; }
.cda-contact select { padding-top: 0; padding-bottom: 0; cursor: pointer; }
.cda-contact textarea { min-height: 150px; resize: vertical; }
.cda-contact input:focus, .cda-contact select:focus, .cda-contact textarea:focus { outline: none; border-color: var(--cda-purple); box-shadow: 0 0 0 3px rgba(90, 42, 122, .18); }
.cda-contact .is-invalid { border-color: #B3261E !important; box-shadow: 0 0 0 3px rgba(179, 38, 30, .12) !important; }
.cda-contact .cda-contact__hint { margin: 6px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--cda-muted); }

.cda-contact .cda-contact__check { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 12px; font-size: 13.5px; line-height: 1.5; color: var(--cda-text); cursor: pointer; }
.cda-contact .cda-contact__check input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--cda-purple); }
.cda-contact .cda-contact__check input.is-invalid { outline: 2px solid #B3261E; outline-offset: 2px; }
.cda-contact .cda-contact__check a { color: var(--cda-purple); text-decoration: underline; }

.cda-contact .cda-contact__btn {
	display: inline-flex; align-items: center; justify-content: center; min-width: 200px; height: 52px; margin: 8px 0 0; padding: 0 28px;
	border: 0; border-radius: 8px; background: var(--cda-purple); color: #fff; cursor: pointer;
	font: inherit; font-size: 16px; font-weight: 500; letter-spacing: 0; text-transform: none; transition: background .15s;
}
.cda-contact .cda-contact__btn:hover, .cda-contact .cda-contact__btn:focus { background: var(--cda-deep); color: #fff; }
.cda-contact .cda-contact__btn:disabled { opacity: .6; cursor: wait; }

.cda-contact .cda-contact__msg { margin: 12px 0 0; font-size: 14px; }
.cda-contact .cda-contact__msg:empty { display: none; }
.cda-contact .cda-contact__msg.is-error { color: #B3261E; }
.cda-contact .cda-contact__msg.is-success { color: #1B5E44; background: #EAF6F0; border: 1px solid #BFE3D2; border-radius: 10px; padding: 16px 18px; font-size: 15px; font-weight: 500; }
.cda-contact.is-done > *:not(.cda-contact__msg) { display: none !important; }
@media (max-width: 767px) { .cda-contact .cda-contact__btn { width: 100%; } }
