/* ── spa-banner ───────────────────────────────────────────── */
.spa-banner {
  min-height: 560px;
  padding-top: 80px;
  background: url(/img/app/productie/hala-panorama.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
  display: flex;
  align-items: flex-end;
  padding-bottom: 64px; }

.spa-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(20, 10, 4, 0.52) 0%,
    rgba(20, 10, 4, 0.80) 100%
  ); }

.spa-banner .container { position: relative; z-index: 1; }

.spa-banner-supra {
  font-family: "DM Sans", sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #8A9E4A;
  margin-bottom: 14px; }

.spa-banner h1 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 52px;
  font-weight: 300;
  color: #fff;
  margin: 0 0 18px 0;
  line-height: 1.1em;
  max-width: 780px; }

.spa-banner-sub {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.78);
  max-width: 600px;
  line-height: 1.65em;
  margin: 0 0 30px 0; }

.spa-banner-price {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 30px; }

.spa-banner-price-nr {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 26px;
  font-weight: 500;
  color: #F7F2EB; }

.spa-banner-price-note {
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.65); }

/* ── spa-proof ────────────────────────────────────────────── */
.spa-proof {
  background: #2C1A0E;
  padding: 44px 0; }

.spa-proof-item {
  padding: 12px;
  text-align: center; }

.spa-proof-nr {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 44px;
  font-weight: 300;
  color: #F7F2EB;
  line-height: 1em;
  margin-bottom: 8px; }

.spa-proof-label {
  font-family: "DM Sans", sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #A89070; }

/* ── spa-section (override .section pentru densitatea paginii) ── */
.spa-section { padding: 80px 0; }

/* .row-grid din grid-ul custom foloseste float, nu flex, deci cardurile
   nu se intind egal pe inaltime by default -- fortam flex doar pe randul
   asta (>=768px, acolo unde col-sm-* au si ele regula de width). */
@media (min-width: 768px) {
  .spa-valori-row { display: flex; flex-wrap: wrap; }
}

.spa-doru-wrap { margin-bottom: 30px; }

/* ── spa-lead (formular de oferta) ───────────────────────── */
.spa-lead {
  background: #FDFAF6;
  border: 1px solid #EDE5D8;
  padding: 40px 44px 36px; }

.spa-lead-text {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  color: #7A6655;
  max-width: 560px;
  margin: 0 auto 30px; }

.spa-lead-form .form-group { margin-bottom: 16px; }

.spa-lead-form label {
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #3D2B1F;
  margin-bottom: 5px; }

/* randuri in care unele etichete trec pe 2 linii (ex. "Locația proiectului
   (județ)"): casetele se aliniaza jos, etichetele raman sus (doar pe
   desktop -- pe mobil campurile sunt unul sub altul) -- acelasi tipar ca
   #form1 .contact-row-align de pe pagina de Contact */
@media (min-width: 768px) {
  .spa-lead-form .contact-row-align {
    display: flex;
    flex-wrap: wrap; }
  .spa-lead-form .contact-row-align:before,
  .spa-lead-form .contact-row-align:after {
    display: none; }
  .spa-lead-form .contact-row-align > [class*="col-"] {
    display: flex; }
  .spa-lead-form .contact-row-align .form-group {
    display: flex;
    flex-direction: column;
    width: 100%; }
  .spa-lead-form .contact-row-align .form-group label {
    flex: 1 0 auto; } }

.spa-lead-disclaimer {
  font-family: "DM Sans", sans-serif;
  font-size: 11.5px;
  color: #A89070;
  margin: 14px 0 0;
  line-height: 1.5em; }

/* ── spa-valoare (card + cadran numerotat) ───────────────── */
.spa-valoare {
  padding: 40px 30px 34px;
  text-align: center;
  background: #FDFAF6;
  border: 1px solid #EDE5D8;
  transition: opacity 0.6s ease, transform 0.6s ease, box-shadow 0.35s ease; }

.spa-valoare.is-hidden {
  opacity: 0;
  transform: translateY(28px); }

.spa-valoare:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 40px rgba(44, 26, 14, 0.12); }

.spa-valoare-dial {
  width: 72px;
  height: 72px;
  margin: 0 auto 22px;
  border-radius: 50%;
  border: 2px solid #6B7A3A;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease, transform 0.3s ease; }

.spa-valoare-dial span {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 30px;
  font-weight: 500;
  color: #6B7A3A;
  transition: color 0.3s ease; }

.spa-valoare:hover .spa-valoare-dial {
  background: #6B7A3A;
  transform: scale(1.08); }

.spa-valoare:hover .spa-valoare-dial span { color: #F7F2EB; }

.spa-valoare h4 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 22px;
  font-weight: 400;
  color: #2C1A0E;
  margin: 0 0 12px 0; }

.spa-valoare p {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  color: #7A6655;
  line-height: 1.65em;
  margin: 0; }

@media (prefers-reduced-motion: reduce) {
  .spa-valoare,
  .spa-valoare-dial,
  .spa-valoare-dial span {
    transition: none !important; }
  .spa-valoare.is-hidden {
    opacity: 1;
    transform: none; } }

/* ── spa-caz (studiu de caz Moreni) ──────────────────────── */
.spa-caz {
  background: #2C1A0E url(/img/app/studiu-caz/header.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
  padding: 70px 0; }

.spa-caz::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(20, 10, 4, 0.72); }

.spa-caz .container { position: relative; z-index: 1; }

.spa-caz-supra {
  font-family: "DM Sans", sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #8A9E4A;
  margin: 0 0 12px 0; }

.spa-caz h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 32px;
  font-weight: 400;
  color: #fff;
  margin: 0 0 16px 0;
  line-height: 1.2em; }

.spa-caz p {
  font-family: "DM Sans", sans-serif;
  font-size: 14.5px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.7em;
  margin: 0 0 26px 0; }

/* ── spa-pas (mini pași proces) ───────────────────────────── */
.spa-pas {
  padding: 20px 16px;
  text-align: center; }

.spa-pas-nr {
  width: 40px;
  height: 40px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: #6B7A3A;
  color: #F7F2EB;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  font-weight: 600; }

.spa-pas h4 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 19px;
  font-weight: 400;
  color: #2C1A0E;
  margin: 0 0 8px 0; }

.spa-pas p {
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  color: #7A6655;
  line-height: 1.6em;
  margin: 0; }

/* ── responsive ───────────────────────────────────────────── */
@media (max-width: 767px) {
  .spa-banner { min-height: 460px; padding-bottom: 40px; }
  .spa-banner h1 { font-size: 32px; }
  .spa-banner-sub { font-size: 14px; }
  .spa-banner-price-nr { font-size: 21px; }
  .spa-proof-nr { font-size: 32px; }
  .spa-section { padding: 56px 0; }
  .spa-caz h2 { font-size: 25px; }
  .spa-pas { padding: 16px 10px; }
  .spa-lead { padding: 28px 22px 26px; } }

@media (min-width: 768px) and (max-width: 991px) {
  .spa-banner h1 { font-size: 38px; } }
