/* Core Overrides */

body {
  font-family: 'Montserrat', sans-serif;
  color: #4A4A4A;
  background-color: #ffffff;
}

.text-purple {
  color: #2D3192 !important;
}

.font-weight-black {
  font-weight: 900;
}

/* 1. HERO SECTION */

.hero-section {
  background: #E5E2FF;
  border-bottom-left-radius: 40px;
  border-bottom-right-radius: 40px;
}

.hero-title {
  color: #2D3192;
  font-size: 3rem;
  line-height: 1.1;
}

.text-highlight {
  color: #F4B234;
}

.main-hero-img {
  max-height: 380px;
  object-fit: contain;
}

.btn-purple-cta {
  background-color: #2D3192;
  color: #ffffff !important;
  border-radius: 30px;
  padding: 12px 30px;
  font-size: 0.95rem;
  box-shadow: 0 4px 15px rgba(45, 49, 146, 0.3);
}

.activeaza-card {
  background-color: #5C52A3;
  border: 3px solid #ffffff;
}

.badge-item {
  background: rgba(255, 255, 255, 0.15);
  padding: 10px 15px;
  border-radius: 25px;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 1px;
}

/* 2. CUM FUNCTIONEAZA */

.cum-functioneaza {
  background: #E5E2FF;
  padding: 80px 0 !important;
}

.cum-functioneaza .step-card {
  background: #ffffff;
  height: 100%;
  position: relative;
  border: 1px solid #E2E2FF;
  border: 1px solid #BB9DEE !important;
  border-radius: 32px !important;
  padding: 35px !important;
}

.step-deco-icon img {
  width: 164px;
  opacity: 1;
}

/* 3. SECTIUNEA SOARE VIDEO */

.video-section {
  background: linear-gradient(180deg, #E5E2FF 0%, #F7C440 100%);
  padding-bottom: 5rem !important;
}

#primary .video-wrapper {
  background-color: #2D3192;
  /* Culoarea placeholder din design */
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
  border-radius: 32px !important;
  overflow: hidden !important;
}

/* 4. DE CE VARA ESTE MOMENTUL POTRIVIT */

#primary .de-ce-vara {
  background-color: #F7C440;
  padding-bottom: 0 !important;
}

main .bg-white-trans {
  border: 1px solid #9048FF;
  background: #E5E2FF;
  border-radius: 32px !important;
}

.space-list li {
  font-size: 0.95rem;
  color: #2D3192;
  font-size: 16px;
}

/* 5 & 10. CONFIGURARE ZONE FORMULARE */

#formular-contact {
  padding: 80px 0 !important
}

.programeaza-form {
  background: #43398E;
  border: 0;
}

#primary .form-card-container {
  background-color: #E5E2FF;
  max-width: 850px;
  border: 1px solid #9048FF;
  border-radius: 32px !important;
}

/* 6. DE CE SA ALEGI DENT ESTET 4 KIDS */

main .de-ce-alegi {
  background: linear-gradient(180deg, #F6F8FA 0%, #F7C440 100%);
  padding: 80px 0 !important;
}

.purple-feature-card.rounded-lg {
  background-color: #43398E;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid #AFE6CF !important;
  border-radius: 32px !important;
  padding: 25px;
}

.purple-feature-card p {
  margin: 10px 0;
  color: #E5E2FF;
  font-family: Montserrat;
  font-weight: 400;
  font-style: Regular;
  font-size: 20px;
  leading-trim: NONE;
  line-height: 1.3;
  letter-spacing: 0%;
}

.card-img-placeholder {
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.card-img-placeholder img {
  max-width: 100%;
  height: auto;
  width: 100%;
}

/* 7. CE SPUN PARINTII */

#primary .ce-spun-parintii {
    background: linear-gradient(180deg, #F6C648 0%, #AFE6CF 100%);
    padding: 80px 0 20px !important;

}

.avatar-ph {
  width: 80px;
  height: 80px;
  border-radius: 0;
}

.stars {
  font-size: 20px;
}

.avatar-ph img {
  width: 100%;
}

#primary .testimonial-item {
  border-radius: 32px !important;
  height: 100%;
}

.testimonial-item .align-items-center {
  gap: 15px;
}

.testimonial-item strong.text-purple {
  font-family: Montserrat;
  font-weight: 800;
  font-style: ExtraBold;
  font-size: 32px;
  leading-trim: NONE;
  line-height: 100%;
  letter-spacing: 0%;
  color: #4141D6;
}

.testimonial-item p {
  font-family: Montserrat;
  font-weight: 400;
  font-style: Regular;
  font-size: 16px;
  leading-trim: NONE;
  line-height: 160%;
  letter-spacing: 0%;
}

/* 8. CTA CU IMAGINE FUNDAL COLAC */

.cta-adventure {
    background: url('./images-campanie/cover_fetita.jpg') center center / cover no-repeat;
    min-height: 700px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;

}

#primary .cta-banner-box {
  background: #43398E;
  border-radius: 42px !important;
  max-width: 1500px !important;
  min-height: 200px;
  padding: 50px !important;
}

.cta-banner-box h3 {
  font-family: Montserrat;
  font-weight: 700;
  font-style: Bold;
  font-size: 40px;
  margin: 0 0 10px !important;
  line-height: 100%;
  letter-spacing: 0%;
}

#primary .cta-banner-box p {
  color: #fff;
  opacity: .8;
  font-family: Montserrat;
  font-weight: 400;
  font-style: Regular;
  font-size: 20px;
  leading-trim: NONE;
  line-height: 100%;
  letter-spacing: 0%;
  text-align: left;
}

#primary .btn-yellow-cta {
  background-color: #F7C440;
  color: #2D3192 !important;
  border-radius: 25px;
  padding: 20px 40px;
  font-family: Montserrat;
  font-weight: 700;
  font-style: Bold;
  font-size: 24px;
  leading-trim: NONE;
  line-height: 100%;
  letter-spacing: 0%;
}

/* 9. INTREBARI FRECVENTE */

.intrebari-frecvente .accordion-custom {
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.intrebari-frecvente {
  background: #AFE6CF;
  padding: 50px 0 !important;
}

.intrebari-frecvente .btn-link span {}

.card-header {}

button[aria-expanded="true"] .arrow-indicator {
  transform: rotate(180deg);
}

.intrebari-frecvente .btn-link {
  text-decoration: none !important;
  color: #4141D6 !important;
  font-family: Montserrat;
  font-size: 20px;
  padding: 0 !important;
  line-height: 140%;
  letter-spacing: 0%;
  background: transparent !important;
  height: auto;
  width: 100%;
  white-space: normal;
}

.intrebari-frecvente .btn-link:focus {
  box-shadow: none;
}

.arrow-indicator {
  font-size: 22px;
  color: #2D3192;
}

/* FOOTER */

.footer-section {
  background-color: #43398E;
  border: 0 !important;
}

/* Responsiveness */

@media (max-width: 767.98px) {
  .hero-title {
    font-size: 2.2rem;
    text-align: center;
  }
  .hero-section {
    text-align: center;
  }
  .activeaza-card {
    margin-top: 2rem;
  }
}

.step-number {
  font-family: Montserrat;
  font-weight: 700;
  font-style: Bold;
  font-size: 24px;
  leading-trim: NONE;
  line-height: 130%;
  letter-spacing: 0%;
  display: flex;
  align-items: center;
  gap: 20px;
  color: #BB9DEE;
}

.step-number img {
  margin: 0 !important;
}

.cum-functioneaza p {
  font-family: Montserrat;
  font-weight: 400;
  font-size: 18px;
  line-height: 160%;
  letter-spacing: 0%;
  text-align: left;
  margin-bottom: 30px;
}

.paragraf_custom {
  font-family: Montserrat;
  font-weight: 400;
  font-style: Regular;
  font-size: 22px;
  leading-trim: NONE;
  line-height: 160%;
  letter-spacing: 0%;
  color: #43398E
}

.cum-functioneaza h2 {
  margin: 10px 0 !important;
  text-align: left !important;
}

.sun-icon {
  margin-bottom: 20px;
}

.de-ce-vara h2 {
  font-size: 32px;
}

.de-ce-vara ul li {
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 10px 0;
  margin: 0 !important;
}

.de-ce-alegi h4 {
  font-family: Montserrat;
  font-weight: 800;
  font-style: ExtraBold;
  font-size: 24px;
  leading-trim: NONE;
  line-height: 1.2;
  letter-spacing: 0%;
  color: #AFE6CF;
  margin: 0 !important;
}

.card-top {
  padding: 0 !important
}

.ce-spun-parintii h2,
.intrebari-frecvente h2,
.de-ce-alegi h2 {
  position: relative;
  font-size: 40px;
  margin-bottom: 50px !important;
}

.intrebari-frecvente h2:after,
.de-ce-alegi h2:after {
  content: '';
  background: #82CEBC;
  width: 33%;
  height: 8px;
  position: absolute;
  bottom: -24px;
  left: 0;
  right: 0;
  margin: 0 auto;
  max-width: 120px;
}

.card.rounded-lg {
  border-radius: 24px !important
}

.card-body,
.collapse.show,
.collapse * {
  font-family: Montserrat;
  font-size: 16px !important;
  line-height: 160%;
  letter-spacing: 0%;
}

.footer-logo img {
  max-width: 300px !important;
}

.social-links img {
  max-height: 50px;
}

.footer-text {
  display: flex;
  justify-content: space-between;
  padding: 20px 0 0;
  border-top: 1px solid #F7F1E1;
  margin: 40px 0 0
}

.footer-text * {
  font-family: Montserrat;
  font-weight: 400;
  font-style: Regular;
  font-size: 16px;
  leading-trim: NONE;
  line-height: 16px;
  letter-spacing: 0%;
  color: #F7F1E1;
}

/* ==========================================================================
   STILIZARE FORMULAR CALDERA - STRUCTURĂ NOUĂ HTML
   ========================================================================== */

/* Containerul principal al formularului */

#primary .caldera-grid {
  background-color: #E5E2FF !important;
  border-radius: 20px !important;
  padding: 0px !important;
  max-width: 1000px;
  margin: 0 auto;
  font-family: 'Montserrat', sans-serif !important;
}

/* Alinierea pe două coloane mari stânga/dreapta */

#primary .caldera-grid #CF6a5a6044cf3ea_1-row-1 {
  display: flex !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}

#primary .caldera-grid #CF6a5a6044cf3ea_1-row-1 .col-sm-6 {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  padding: 0 15px !important;
  display: flex !important;
  flex-direction: column !important;
}

/* --- ORDONARE ȘI REARANJARE CÂMPURI CONFORM DESIGN --- */

/* --- STILIZARE INPUTURI, SELECT ȘI TEXTAREA --- */

#primary .caldera-grid .form-group {
  margin-bottom: 15px !important;
}

#primary .caldera-grid textarea.form-control::placeholder,
#primary .caldera-grid input.form-control::placeholder {
  color: #2D3192 !important;
}

.radio label {
  font-size: 18px !important;
}

#fld_5320007_1-wrap>div {
  display: flex;
}

.last_row div {
  width: 100%;
}

#fld_1949848_1 {
  height: auto;
  max-height: 104px;
}

@media screen and (min-width:767px) {
  div[data-field-wrapper="fld_8732545"] {
    padding-top: 57px;
  }
}

@media screen and (min-width:992px) {
  div[data-field-wrapper="fld_8732545"] {
    padding-top: 37px;
  }
}

#primary .caldera-grid .form-control {
  background-color: #F6F4FF !important;
  border: 1px solid #B0A9E2 !important;
  /* Bordură fină ca în design */
  border-radius: 8px !important;
  height: 50px !important;
  color: #2D3192 !important;
  font-size: 16px;
  padding-left: 18px !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
  padding: 10px !important;
  height: auto !important;
}

#primary .caldera-grid .form-control:focus {
  border-color: #8F49FF !important;
  background-color: #ffffff !important;
}

/* Săgeată personalizată pentru Dropdown Clinică */

#primary .caldera-grid select.form-control {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232D3192'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  background-size: 22px !important;
}

/* Casetă Mesaj (Textarea) */

#primary .caldera-grid textarea.form-control {
  height: 125px !important;
  resize: none !important;
}

/* Culoare text sugestiv (Placeholder) */

#primary .caldera-grid .form-control::placeholder {
  color: #A49FCE !important;
}

/* --- OPȚIUNI RADIO (Pacient Nou / Existent) --- */

#primary .caldera-grid .radio {
  display: inline-block !important;
  margin-right: 25px !important;
  margin-top: 5px !important;
  margin-bottom: -5px !important;
}

#primary .caldera-grid .radio label {
  font-weight: 700 !important;
  color: #2D3192 !important;
  font-size: 14px !important;
  cursor: pointer;
  display: flex;
  align-items: center;
}

/* Transformare butoane radio native în cercuri custom */

#primary #primary .caldera-grid .radio input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 15px;
  height: 15px;
  border: 1px solid #2D3192;
  border-radius: 50%;
  margin-right: 10px !important;
  display: inline-grid;
  place-content: center;
  cursor: pointer;
  background-color: #ffffff;
}

#primary #primary .caldera-grid .radio input[type="radio"]::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: scale(0);
  transition: 0.1s transform ease-in-out;
  background-color: #2D3192;
}

#primary .caldera-grid .radio input[type="radio"]:checked::before {
  transform: scale(1);
}

#primary #primary .caldera-grid .form-group input[type=checkbox] {
  max-width: 16px;
  max-height: 16px;
  width: 16px !important;
  height: 16px !important;
  margin-right: 2px !important;
}

#primary input[type=checkbox]:after {
  display: none;
}

#primary input[type=radio]:after {
  max-width: 7px;
  max-height: 7px;
  width: 7px !important;
  height: 7px !important;
  top: 5px;
  left: 5px;
}

@media screen and (min-width:992px) {
  #primary .caldera-grid .col-sm-12 {
    padding: 0 22px;
  }
}

/* --- CASUȚE CHECKBOX & TEXT LEGAL --- */

#primary .caldera-grid #CF6a5a6044cf3ea_1-row-2 {
  margin-top: 0px !important;
}

#primary .caldera-grid .checkbox {
  margin-bottom: 12px !important;
}

#primary .caldera-grid .checkbox label {
  font-size: 16px;
  color: #4A4587 !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

#primary .caldera-grid .checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-right: 12px !important;
  accent-color: #2D3192;
  border-radius: 4px;
  margin-right: 0 !important;
}

/* Suprascriere link-uri din checkbox care aveau stiluri inline gresite */

#primary .caldera-grid .checkbox label a,
#primary .caldera-grid .checkbox label a strong {
  color: #2F80ED !important;
  /* Culoare vizibilă cyan/albastru */
  text-decoration: underline !important;
}

/* --- ZONA DE EM/NOTE ȘI BUTON SUBMIT (CENTRAT) --- */

#primary .caldera-grid #CF6a5a6044cf3ea_1-row-3 .col-sm-12 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  /* Centrează conținutul complet */
  text-align: center;
  margin-top: 15px;
}

#primary .caldera-grid .last_row p {
  font-size: 16px;
  color: #55508F !important;
  line-height: 1.5 !important;
  width: 100%;
  text-align: left !important;
  /* Textele cu steluță rămân aliniate la stânga */
  margin-bottom: 30px !important;
  width: 100% !important;
}

/* Stilul butonului cu noul gradient cerut */

#primary .caldera-grid #fld_6841711_1-wrap {
  position: relative;
  display: inline-block;
}

#primary .caldera-grid .btn[type="submit"],
#primary .caldera-grid input[type="submit"] {
  background: linear-gradient(90deg, #8F49FF 0%, #05F8FF 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 15px 50px;
  /* Spațiu mai mare în stânga pentru săgeată */
  font-weight: 700 !important;
  font-size: 20px;
  letter-spacing: 1px !important;
  cursor: pointer !important;
  box-shadow: 0 6px 20px rgba(143, 73, 255, 0.35) !important;
  transition: all 0.2s ease-in-out !important;
}

/* Generarea săgeții albe "→" direct în fața textului din buton */

#primary .caldera-grid #fld_6841711_1-wrap::before {
  content: "→" !important;
  color: #ffffff !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  position: absolute;
  left: 45px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  pointer-events: none;
  display: none;
}

#primary .caldera-grid input[type="submit"]:hover {
  transform: scale(1.03) !important;
  box-shadow: 0 8px 25px rgba(5, 248, 255, 0.45) !important;
}

#fld_6841711_2{
  margin: 0 auto;
  display: table;
}
/* --- RESPONSIVE TABLETĂ & MOBIL --- */

@media (max-width: 767.98px) {
  #primary .caldera-grid {
    padding: 0 !important;
  }
  #primary .caldera-grid #CF6a5a6044cf3ea_1-row-1 .col-sm-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  #primary .caldera-grid input[type="submit"] {
    width: 100% !important;
    padding-left: 50px !important;
  }
  #primary .caldera-grid #fld_6841711_1-wrap::before {
    left: 25px;
  }
}

@media screen and (min-width:1600px) {
  .de-ce-alegi h4 {
    font-size: 36px;
  }
  .programeaza-form h2,
  #formular-contact h2,
  .de-ce-vara h2 {
    font-size: 64px;
  }
  .cum-functioneaza h2 {
    font-family: Montserrat;
    font-weight: 800;
    font-style: ExtraBold;
    font-size: 56px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: left;
  }
  #primary .container {
    max-width: 1620px;
  }
  .de-ce-vara .mb-md-0 {
    padding-right: 0 !important;
  }
}

@media screen and (max-width: 1599px) {
  .space-list img{
    max-width: 60px;
  }
  .footer-text * {
    font-size: 16px !important;
  }
  .step-number img {
    max-width: 50px;
  }
  .step-number {
    font-size: 20px
  }
  .step-deco-icon img {
    max-width: 110px;
  }
  .programeaza-form h2,
  #formular-contact h2,
  .cum-functioneaza h2 {
    font-size: 36px
  }
  .paragraf_custom {
    font-size: 20px;
  }
  .step-card {
    padding: 30px !important;
  }
  .sun-icon {
    max-width: 60px;
  }
  .space-list li {
    font-size: 16px;
  }
  .testimonial-item strong.text-purple {
    font-size: 24px;
  }
  .cta-banner-box h3 {
    font-size: 24px;
  }
  .cta-banner-box p {
    font-size: 16px;
  }
  #primary .btn-yellow-cta {
    font-size: 16px;
    padding: 20px
  }
}

@media screen and (max-width:991px) {
  #primary .btn-yellow-cta {
    margin: 0;
    padding: 10px 20px;
  }
  .de-ce-alegi .row .col-md-4 {
    width: 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .cta-banner-box h3 {
    font-size: 16px;
  }
  .cta-banner-box p {
    font-size: 12px;
  }
  .de-ce-alegi p {
    font-size: 20px;
  }
  .testimonial-item strong.text-purple {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .site-main {
    overflow: hidden
  }
  .de-ce-alegi h2 span {
    display: block;
  }
  .de-ce-alegi h4 {
    font-size: 18px;
  }
  .de-ce-alegi p {
    font-size: 15px;
  }
  .programeaza-form h2,
  #formular-contact h2 {
    font-size: 30px;
    text-align: center;
  }
  .de-ce-vara h2 {
    font-size: 32px;
    text-align: center;
  }
  .cum-functioneaza h2 {
    font-size: 32px;
    text-align: center !important;
  }
  .paragraf_custom {
    font-size: 16px !important;
    text-align: center !important;
  }
  .step-number img {
    max-width: 32px;
  }
  .step-number {
    font-size: 24px;
    align-items: center;
    justify-content: center;
  }
  .cum-functioneaza p.small br {
    display: none;
  }
  .cum-functioneaza p.small {
    font-size: 16px;
    text-align: center;
  }
  .step-deco-icon img {
    max-width: 55px;
  }
  .step-card {
    padding: 20px !important;
  }
  .sun-icon {
    max-width: 38px;
  }
  .cta-banner-box h3 {
    font-size: 20px !important;
    text-align: center !important;
  }
  .cta-banner-box p {
    font-size: 11px;
    margin: 0;
  }
  .cta-adventure {
    min-height: 440px;
  }
  .cta-adventure {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .cta-banner-box {
    padding: 20px !important;
    min-height: 0;
    margin-top: 100px;
    align-items: center !important;
  }
}

#primary .caldera-grid a strong,
#primary .caldera-grid a {
  color: #2910D5 !important;
  font-weight: normal !important
}

input[type="checkbox"],
input[type="radio"] {
  width: 18px;
  height: 18px;
  margin-right: 5px !important;
}

@media screen and (max-width:991px) and (min-width:767px) {
  #primary .de-ce-vara .col-md-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  #primary .de-ce-vara .col-md-6 .img-fluid {
    max-width: 33vw;
    margin-top: 50px;
  }
  .ce-spun-parintii .col-md-4 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .cta-banner-box h3 {
    text-align: left !important;
  }
  #primary .cta-banner-box {
    padding: 30px !important;
    min-height: 0
  }
}

@media screen and (max-width: 767px) {
  #primary .ce-spun-parintii {
    padding: 0 0 30px !important;
  }
  #primary .cta-banner-box {
    padding: 20px !important;
    min-height: 0;
  }
  .cta-banner-box {
    padding: 10px !important;
  }
  .cta-banner-box h3 {
    margin: 0 !important;
    text-align: center !important;
  }
  #primary .cta-banner-box p {
    font-size: 16px;
    margin: 10px 0 10px;
    text-align: center;
  }
  .de-ce-alegi .row .col-md-4 {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  #primary .cta-adventure {
    min-height: 200px;
    padding-bottom: 0 !important;
  }
  .cta-banner-box a {
    font-size: 11px;
    padding: 5px 10px;
  }
  .ce-spun-parintii h2,
  .intrebari-frecvente h2,
  .de-ce-alegi h2 {
    font-size: 32px;
  }
  .cum-functioneaza .step-card {
    padding: 20px !important
  }
  .word_block {
    display: block;
  }
  main .de-ce-alegi {
    padding: 30px 0 !important;
  }
  .footer-text {
    flex-direction: column-reverse;
    gap: 10px;
  }
}