/* Casa Verde Baterii 2026: page-specific layout on top of despre.css. */
/* One centered reading column for the whole page (the contact footer keeps the site width). */
.cv-page > .page-padding > .container-large { max-width: 64rem; }
.cv-page ::selection { background: #b2f182; color: #24292e; }
.cv-page a:focus-visible { outline: 2px solid #1f7a30; outline-offset: 3px; border-radius: .25rem; }
.cv-text a, .cv-hero a:not(.button), .cv-note a, .cv-sources a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: #8ddf64;
  text-decoration-thickness: .2em;
  text-underline-offset: .18em;
}

.cv-hero { padding: 3rem 0 2.5rem; }
.cv-hero h1 { margin: 0 0 1.5rem; text-wrap: balance; }
.cv-eyebrow { margin: 0 0 1rem; font-weight: 500; color: #1f7a30; letter-spacing: .02em; }
.cv-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }

.cv-section { padding-top: 4rem; }
.cv-section h2 { margin: 0 0 1.25rem; scroll-margin-top: 2rem; }
.cv-section > .container-large > p, .cv-intro { max-width: 48rem; font-size: 1.125rem; line-height: 1.6; margin: 0 0 1.5rem; }

/* Calendar: date column plus description, hairline rows. */
.cv-timeline { margin: 0; padding: 0; list-style: none; border-top: 1px solid #dde1e4; }
.cv-timeline li {
  display: grid;
  grid-template-columns: minmax(0, 16rem) minmax(0, 1fr);
  gap: .25rem 2rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid #dde1e4;
}
.cv-timeline .cv-when { font-weight: 600; font-variant-numeric: tabular-nums; }
.cv-timeline .cv-what { line-height: 1.5; }
.cv-timeline li.is-key .cv-when { color: #1f7a30; }
.cv-timeline li.is-key { box-shadow: inset .3rem 0 0 #8ddf64; padding-left: 1rem; }

/* Scoring cards and the formula line. */
.cv-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; max-width: 64rem; }
.cv-cards.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cv-cards.is-three .cv-points { font-size: 1.55rem; }
.cv-card .cv-formula { font-size: .9rem; }
.cv-card {
  padding: 1.75rem 2rem;
  border: 1px solid #e1e4e8;
  border-top: .3rem solid #8ddf64;
  border-radius: .5rem;
  background: #fff;
}
.cv-card h3 { margin: 0 0 .5rem; font-size: 1.25rem; font-weight: 500; }
.cv-card .cv-points { margin: 0 0 .75rem; font-size: 2rem; font-weight: 600; line-height: 1.1; }
.cv-card p { margin: 0; line-height: 1.55; }
.cv-card p + p { margin-top: .6rem; }
.cv-formula { font-variant-numeric: tabular-nums; color: #586069; }
.cv-example {
  max-width: 64rem;
  margin-top: 1.5rem;
  padding: 1.25rem 1.5rem;
  border-radius: .5rem;
  background: #f3f5f2;
  line-height: 1.55;
}
.cv-example p { margin: 0; }
.cv-example p + p { margin-top: .5rem; }

/* Callout for the draft order still in consultation. */
.cv-note {
  max-width: 64rem;
  margin-top: 1.5rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid #f0d58a;
  border-left: .3rem solid #d4a72c;
  border-radius: .5rem;
  background: #fffbea;
  line-height: 1.55;
}
.cv-note h3 { margin: 0 0 .5rem; font-size: 1.125rem; font-weight: 600; }
.cv-note p { margin: 0; }
.cv-note p + p, .cv-note ul + p { margin-top: .6rem; }
.cv-note ul { margin: .6rem 0 0; padding-left: 1.25rem; }
.cv-note li + li { margin-top: .3rem; }

/* Score calculator. Hidden without JavaScript. */
.cv-calc { max-width: 64rem; margin-top: 2rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #e1e4e8; border-radius: 1rem; background: #fff; box-shadow: 0 .75rem 2rem -1.25rem rgba(36, 41, 46, .18); }
.cv-calc[hidden] { display: none; }
.cv-calc h3 { margin: 0 0 .5rem; font-size: 1.5rem; font-weight: 500; }
.cv-calc-intro { margin: 0 0 1.25rem; color: #586069; line-height: 1.5; }
.cv-calc-inputs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.cv-calc-field label { display: block; min-height: 2.6em; margin-bottom: .35rem; font-weight: 600; font-size: .95rem; line-height: 1.3; }
.cv-calc-field input, .cv-calc-field select { width: 100%; margin: 0; font-variant-numeric: tabular-nums; }
.cv-calc-field small { display: block; margin-top: .35rem; color: #586069; font-size: .85rem; }
.cv-calc-results { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid #e1e4e8; }
.cv-calc-money { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0 0 1rem; }
.cv-calc-money dt { color: #586069; font-size: .9rem; }
.cv-calc-money dd { margin: .2rem 0 0; font-size: 1.5rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.cv-calc-scores { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.cv-calc-score { padding: 1.25rem 1.5rem; border-radius: .5rem; background: #f6f8f5; }
.cv-calc-score.is-current { background: #eaf8e1; box-shadow: inset 0 .3rem 0 #8ddf64; }
.cv-calc-score p { margin: 0; }
.cv-calc-label { font-weight: 600; }
.cv-calc-total { margin: .35rem 0 !important; font-size: 2.75rem; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; }
.cv-calc-total small { font-size: 1rem; font-weight: 400; color: #586069; }
.cv-calc-parts { color: #3b4249; font-size: .95rem; line-height: 1.5; font-variant-numeric: tabular-nums; }
.cv-calc-message { margin: 1rem 0 0; line-height: 1.5; }
.cv-calc.is-invalid .cv-calc-money, .cv-calc.is-invalid .cv-calc-scores { opacity: .35; }

/* Two-column lists (eligibility, what is funded). */
.cv-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; max-width: 64rem; }
.cv-box { padding: 1.75rem 2rem; border: 1px solid #e1e4e8; border-radius: .5rem; background: #fff; }
.cv-box h3 { margin: 0 0 .75rem; font-size: 1.25rem; font-weight: 500; }
.cv-box ul, .cv-docs { margin: 0; padding-left: 1.25rem; line-height: 1.55; }
.cv-box li + li, .cv-docs li + li { margin-top: .5rem; }
.cv-box.is-warning { border-top: .3rem solid #d4a72c; }
.cv-docs { max-width: 52rem; }
.cv-docs li::marker { color: #1f7a30; font-weight: 600; }

/* Steps. */
.cv-steps { margin: 0; padding: 0; list-style: none; counter-reset: cv-step; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.cv-steps li { counter-increment: cv-step; padding: 1.5rem; border: 1px solid #e1e4e8; border-radius: .5rem; background: #fff; line-height: 1.5; }
.cv-steps li::before {
  content: counter(cv-step);
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: .75rem;
  border-radius: 50%;
  background: #8ddf64;
  color: #1a3d12;
  font-weight: 600;
}
.cv-steps strong { display: block; margin-bottom: .35rem; font-weight: 600; }

/* Packages placeholder. */
.cv-soon { max-width: 64rem; padding: 1.75rem 2rem; border: 1px dashed #b7bec5; border-radius: .5rem; background: #fff; line-height: 1.55; }
.cv-soon p { margin: 0; }
.cv-soon p + p { margin-top: .6rem; }

/* Form panel. */
.cv-form-panel { padding: clamp(1.25rem, 4vw, 2.5rem); border: 1px solid #e1e4e8; border-radius: 1rem; background: #fff; box-shadow: 0 .75rem 2rem -1.25rem rgba(36, 41, 46, .18); }
.cv-form-panel h2 { margin-top: 0; }
.cv-form-panel .enquiry-group { grid-column: 1 / -1; margin: .75rem 0 0; padding-top: 1rem; border-top: 1px solid #e1e4e8; font-weight: 600; font-size: 1.05rem; }

.cv-faq { max-width: 64rem; }
.cv-sources { margin: 0; padding: 0 0 5rem; color: #586069; font-size: .95rem; line-height: 1.6; }
.cv-sources p { margin: 0; }
.cv-sources p + p { margin-top: .6rem; }

@media screen and (max-width: 991px) {
  .cv-cards, .cv-cards.is-three, .cv-split { grid-template-columns: 1fr; }
  .cv-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cv-calc-inputs, .cv-calc-money { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 767px) {
  .cv-hero { padding-top: 2rem; }
  .cv-section { padding-top: 3rem; }
  .cv-timeline li { grid-template-columns: 1fr; }
  .cv-card, .cv-box, .cv-soon { padding: 1.25rem; }
  .cv-steps { grid-template-columns: 1fr; }
  .cv-card .cv-points { font-size: 1.6rem; }
  .cv-calc-inputs, .cv-calc-money, .cv-calc-scores { grid-template-columns: 1fr; }
  .cv-calc-field label { min-height: 0; }
}
