/* ==========================================================================
   Coloana Dublă – registrul contabil
   Hârtie verzuie cu linii fine, cerneală verde, dubla linie roșie a registrului
   (care desparte coloanele și dă numele firmei) folosită ca semn distinctiv.
   ========================================================================== */

:root {
	--cd-green: #1F4D3A;
	--cd-green-dark: #163829;
	--cd-ink: #18241E;
	--cd-text: #3A4A42;
	--cd-muted: #66766D;
	--cd-red: #B3261E;
	--cd-paper: #F6F8F5;
	--cd-white: #FFFFFF;
	--cd-rule: #D5E0D8;
	--cd-mint: #E6EEE8;

	--cd-serif: "Newsreader", Georgia, serif;
	--cd-sans: "Public Sans", system-ui, sans-serif;
	--cd-radius: 3px;
	--cd-line: 32px; /* distanța dintre liniile registrului */
}

body {
	background: var(--cd-paper);
	color: var(--cd-text);
	font-family: var(--cd-sans);
	font-size: 1.0625rem;
	line-height: 1.65;
	font-variant-numeric: tabular-nums;
}

h1, h2, h3, h4 {
	font-family: var(--cd-serif);
	color: var(--cd-ink);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.01em;
	text-wrap: balance;
}
h1 { font-size: clamp(2.6rem, 1.6rem + 3.6vw, 4.6rem); }
h2 { font-size: clamp(1.9rem, 1.4rem + 1.8vw, 2.9rem); }
h3 { font-size: 1.45rem; }

p { max-width: 64ch; }
a { color: var(--cd-green); text-underline-offset: 0.2em; }
a:hover { color: var(--cd-red); }

:focus-visible { outline: 3px solid var(--cd-red); outline-offset: 3px; }

.elementor-button { border-radius: var(--cd-radius); }
.cd-btn-line .elementor-button {
	background: transparent;
	color: var(--cd-green);
	box-shadow: inset 0 0 0 1.5px currentColor;
}
.cd-btn-line .elementor-button:hover { background: var(--cd-mint); }

/* ---------- Hârtie liniată: clasa „cd-ruled” pe un container ---------- */

.cd-ruled {
	background-color: var(--cd-white);
	background-image: repeating-linear-gradient(to bottom, transparent 0 calc(var(--cd-line) - 1px), var(--cd-rule) calc(var(--cd-line) - 1px) var(--cd-line));
}

/* ---------- Logo ---------- */

.cd-logo {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--cd-ink);
	font-family: var(--cd-serif);
	font-size: 1.5rem;
	font-weight: 700;
	text-decoration: none;
}
.cd-logo:hover { color: var(--cd-ink); }
.cd-logo__mark {
	width: 7px;
	height: 1.5em;
	border-left: 2px solid var(--cd-red);
	border-right: 2px solid var(--cd-red);
}
.cd-footer .cd-logo, .cd-footer .cd-logo:hover { color: var(--cd-white); }

/* ---------- Registrul din hero: [cd_ledger] ---------- */

.cd-ledger {
	width: 100%;
	border-collapse: collapse;
	background: var(--cd-white);
	border: 1px solid var(--cd-rule);
	font-size: 0.98rem;
	box-shadow: 0 1px 0 var(--cd-rule), 0 18px 40px -24px rgba(24, 36, 30, 0.35);
}
.cd-ledger caption {
	padding: 0 0 0.6rem;
	caption-side: top;
	text-align: left;
	font-size: 0.875rem;
	color: var(--cd-muted);
}
.cd-ledger th, .cd-ledger td {
	padding: 0.85rem 1.1rem;
	border-bottom: 1px solid var(--cd-rule);
	vertical-align: top;
	text-align: left;
}
/* Dubla linie roșie dintre coloane */
.cd-ledger th:first-child, .cd-ledger td:first-child {
	width: 44%;
	border-right: 6px double var(--cd-red);
	color: var(--cd-text);
}
.cd-ledger thead th {
	font-family: var(--cd-serif);
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--cd-ink);
	border-bottom: 2px solid var(--cd-ink);
}
.cd-ledger tbody td:last-child { color: var(--cd-ink); font-weight: 500; }
.cd-ledger tfoot td {
	border-top: 2px solid var(--cd-ink);
	border-bottom: 0;
	font-family: var(--cd-serif);
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--cd-green);
}
.cd-ledger tfoot td:first-child { color: var(--cd-ink); }

/* ---------- Termenul fiscal: [cd_deadline] ---------- */

.cd-deadline {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	max-width: none;
	margin: 0;
	padding: 0.9rem 1.2rem;
	background: var(--cd-mint);
	border-left: 6px double var(--cd-red);
}
.cd-deadline__date {
	flex: none;
	font-family: var(--cd-serif);
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--cd-ink);
}
.cd-deadline strong { color: var(--cd-green); white-space: nowrap; }

/* ---------- Servicii ca înregistrări în registru: „cd-entry” ---------- */

.cd-entry { border-top: 1px solid var(--cd-rule); }
.cd-entry:last-child { border-bottom: 1px solid var(--cd-rule); }
.cd-account {
	display: inline-block;
	font-family: var(--cd-serif);
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--cd-red);
	cursor: help;
	text-decoration: underline dotted rgba(179, 38, 30, 0.4);
	text-underline-offset: 0.25em;
}

.cd-list { margin: 0; padding: 0; list-style: none; }
.cd-list li { padding: 0.35em 0 0.35em 1.2em; position: relative; }
.cd-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.6em;
	width: 4px;
	height: 0.9em;
	border-left: 1.5px solid var(--cd-red);
	border-right: 1.5px solid var(--cd-red);
}

/* ---------- Pași: „cd-steps” / „cd-step” ---------- */

.cd-steps { counter-reset: cd-step; }
.cd-step { counter-increment: cd-step; border-top: 2px solid var(--cd-ink); padding-top: 1rem; }
.cd-step .elementor-heading-title::before {
	content: counter(cd-step) ".";
	margin-right: 0.4em;
	color: var(--cd-red);
}

/* ---------- Calculator: [cd_calculator] ---------- */

.cd-calc {
	display: grid;
	grid-template-columns: 1fr minmax(260px, 360px);
	grid-template-areas: "type result" "docs result" "staff result";
	gap: 1.6rem 3rem;
	padding: 2rem;
	background: var(--cd-white);
	border: 1px solid var(--cd-rule);
}
.cd-calc__field { margin: 0; padding: 0; border: 0; }
.cd-calc fieldset { grid-area: type; display: flex; flex-wrap: wrap; gap: 0.5rem 1.4rem; }
.cd-calc legend, .cd-calc__field > label {
	display: block;
	width: 100%;
	margin-bottom: 0.5rem;
	font-weight: 600;
	color: var(--cd-ink);
}
.cd-calc fieldset label { display: inline-flex; gap: 0.45rem; align-items: center; cursor: pointer; }
.cd-calc input[type="radio"] { accent-color: var(--cd-green); width: 1.1rem; height: 1.1rem; }
.cd-calc__range { display: flex; gap: 1rem; align-items: center; }
.cd-calc input[type="range"] { flex: 1; accent-color: var(--cd-green); }
.cd-calc output {
	min-width: 3ch;
	font-family: var(--cd-serif);
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--cd-ink);
	text-align: right;
}
.cd-calc__result {
	grid-area: result;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding: 1.5rem;
	background: var(--cd-green);
	color: #D5E3DA;
	border-radius: var(--cd-radius);
}
.cd-calc__result p { margin: 0; }
.cd-calc__label { font-size: 0.875rem; }
.cd-calc__price { font-family: var(--cd-serif); font-size: 1.3rem; color: #fff; }
.cd-calc__price span { font-size: 3rem; font-weight: 700; line-height: 1.1; }
.cd-calc__note { font-size: 0.8125rem; color: #B8CCBF; }
.cd-calc__cta {
	margin-top: auto;
	padding: 0.8rem 1rem;
	background: #fff;
	color: var(--cd-green);
	border-radius: var(--cd-radius);
	font-weight: 600;
	text-align: center;
	text-decoration: none;
}
.cd-calc__cta:hover { background: var(--cd-mint); color: var(--cd-green-dark); }
.cd-calc__docs  { grid-area: docs; }
.cd-calc__staff { grid-area: staff; }

@media (max-width: 767px) {
	.cd-calc { grid-template-columns: 1fr; grid-template-areas: "type" "docs" "staff" "result"; padding: 1.25rem; }
	.cd-deadline { flex-direction: column; gap: 0.2rem; }
}

/* ---------- Secțiunea verde: „cd-dark” ---------- */

.cd-dark { color: #C9D8CE; }
.cd-dark h1, .cd-dark h2, .cd-dark h3, .cd-dark .elementor-heading-title { color: #FFFFFF; }
.cd-dark .elementor-widget-text-editor { color: #C9D8CE; }
.cd-dark a:not(.elementor-button) { color: #FFFFFF; }

/* ---------- Footer ---------- */

.cd-footer .cd-list li::before { border-color: #8FB3A0; }
.cd-footer p { margin-bottom: 0.3em; }

/* ---------- Formular ---------- */

.elementor-form .elementor-field-textual {
	border: 1px solid var(--cd-rule);
	border-radius: var(--cd-radius);
	background: #fff;
}
.elementor-form .elementor-field-textual:focus { border-color: var(--cd-green); outline: none; box-shadow: 0 0 0 3px var(--cd-mint); }

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}

/* ---------- Echipa: inițiale în loc de fotografii (persoanele sunt fictive) ---------- */

.cd-initials {
	display: inline-grid;
	place-items: center;
	width: 72px;
	height: 72px;
	border: 1px solid var(--cd-rule);
	border-left: 6px double var(--cd-red);
	background: var(--cd-paper);
	font-family: var(--cd-serif);
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--cd-green);
}

.cd-form {
	background: var(--cd-white);
	border: 1px solid var(--cd-rule);
	border-left: 6px double var(--cd-red);
}
