@charset "UTF-8";
.hero-section {
  display: flex;
  width: 100%;
  
  /* MODIFICARE: Adaugat umbra pentru a delimita sectiunea */
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  position: relative; /* Necesar pentru ca z-index sa functioneze */
  z-index: 1;         /* Asigura ca umbra este deasupra elementului urmator */
}

.hero-left {
  flex: 1.1;
  background-image: url("../images/gaini_cusca.png");
  background-size: cover;
  background-position: center;
  position: relative; 
  display: flex;
                
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  text-align: center;
  
  padding-bottom: 70px;
}

.hero-left::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(
                  to right,
                  rgba(0, 0, 0, 0.7),
                  rgba(0, 0, 0, 0.3)
                );
              }

.hero-text {
  position: relative;
  z-index: 2;
  max-width: 500px;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6);
}

.hero-text h1 {
  font-size: 3em;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 20px;
}

.hero-text p {
  font-size: 1.2em;
}
.hero-right {
  flex: 0.9; 
  display: flex; 
  flex-direction: column; 
  justify-content: flex-start; /* MODIFICARE: Aliniază conținutul sus */
  align-items: flex-start; 
  padding: 50px; 
  background-color: var(--color-white); 
}
.hero-right-content-wrapper {
  width: 100%; 
  max-width: 480px; 
  margin: 0;/* <--- CONȚINUTUL NU MAI ESTE FORȚAT SĂ FIE PE MIJLOC */
}

.form-block-with-line {
    /* dunga portocalie */
    padding-left: 28px;
    margin-bottom: 30px;
    top: 0px;
    box-shadow: 
        inset 4px 0 0 0 var(--color-saffron), /* Aceasta ramane la fel */
        /* MODIFICARE: Umbra are acum blur si este controlata mai fin */
        -5px 0 8px -3px rgba(0, 0, 0, 0.15);  

}
.form-block-with-line h2 {
  font-size: 2.2em;
  font-weight: 800;
  color: var(--color-deep-teal);
  margin-top: 0;
  margin-bottom: 15px;
  line-height: 1.3;
}

.form-block-with-line .subtitle {
  font-size: 1.1em;
  color: var(--text-light);
  margin-bottom: 30px;
}

.progress-container {
  margin-bottom: 30px;
}

.progress-bar-container {
  background-color: #e9ecef;
  border-radius: 10px;
  height: 20px;
  overflow: hidden;
}

@keyframes grow-progress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
.progress-bar {
  height: 100%;
  width: 82.12%;
  background-color: var(--color-saffron);
  border-radius: 10px;
  transform-origin: left;
  animation: grow-progress 1.5s cubic-bezier(0.25, 1, 0.5, 1);
}
.progress-text {
  font-weight: 700;
  color: var(--text-dark);
  margin-top: 10px;
  font-size: 1.1em;
  text-align: center;
}
.progress-text span {
  color: var(--text-light)
  font-weight: 400;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  margin-bottom: 25px;
}
.form-group {
  margin-bottom: 0;
}

.form-group input {
  width: 100%;
  border: none;
  background-color: transparent;
  border-bottom: 2px solid #ccc;
  padding: 10px 5px;
  font-family: "Public Sans", sans-serif;
  line-height: 1.7;
  color: var(--text-dark);
  transition: border-color 0.3s ease;
}

.form-group input:focus {
  outline: none;
  border-bottom-color: var(--color-saffron);
}

.form-group input::placeholder {
  font-family: "Public Sans", sans-serif; /* <<-- Am schimbat fontul */
  font-size: 1em; /* <<-- Am ajustat mărimea pentru noul font */
  color: #adb5bd;
  font-style: italic; /* <<-- Am adăugat stil italic pentru un aspect plăcut */
  opacity: 1; /* Asigură vizibilitatea pe toate browserele */
}

.button-wrapper {
  text-align: center;
}
.btn-submit-petition {
  display: inline-block;
  padding: 12px 30px;
  font-size: 1.5em;
  font-weight: 700;
  background-color: var(--color-coral-red);
  color: var(--color-white);
  border: none;
  border-radius: var(--border-radius-soft);
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
  margin-top: 18px;
}

.btn-submit-petition:hover {
  background-color: #e04c51;
  transform: translateY(-2px);
}

.checkbox-section {
  margin-top: 25px;
}

.checkbox-group {
  display: flex;
  align-items: flex-start;
  margin-bottom: 4px;
}

.checkbox-group label {
  font-size: 0.7em;
  color: var(--text-light);
  font-style: italic;
}
.checkbox-group input {
  margin-top: 4px;
  margin-right: 10px;
  width: auto;
}

/* ================================================= */
/*          STILUL FINAL VIBRANT PENTRU CARDURI      */
/* ================================================= */

/* 1. Definirea grilei cu 2 coloane egale */
section.info-boxes-section .info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; 
    gap: 30px;
}

/* 2. Stilul pentru TOATE cardurile info - efect de hover consistent */
section.info-boxes-section .info-box {
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    opacity: 1 !important; /* Asigură opacitate 100% */
}
section.info-boxes-section .info-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.15);
}

/* 3. Stilul VIBRANT pentru ambele carduri */
section.info-boxes-section .info-box-faq,
section.info-boxes-section .info-box-comunitate {
    background-color: #00a092; /* CULOAREA TA EXACTĂ, SOLIDĂ */
    color: white;
}

/* Asigură că textul și iconițele sunt albe */
section.info-boxes-section .info-box i,
section.info-boxes-section .info-box h3 {
    color: white;
}
section.info-boxes-section .info-box p {
    color: rgba(255, 255, 255, 0.9);
}

/* 4. Stiluri specifice pentru alinierea textului pe cardul "Comunitate" */
section.info-boxes-section .info-box.info-box-comunitate {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
section.info-boxes-section .info-box.info-box-comunitate .comunitate-text {
    padding: 30px;
}

/* 5. Regula pentru mobil (o singură coloană) */
@media (max-width: 768px) {
    section.info-boxes-section .info-grid {
        grid-template-columns: 1fr;
    }
}