/* =============== GLOBAL STYLES =============== */

/* DEBUGGING GRID */
/*section {
  border: 1px solid red !important;
}*/

html, body {
  overflow-x: hidden;
}



/* FORM HEADERS */
h4, h5 {
  font-weight: 600;
  color: #013d5f;
  margin-bottom: 1rem;
}

/* SPACING */
.form-group, .form-control {
  margin-bottom: 1.2rem;
}

.input-group > .form-control,
.input-group > .input-group-text {
  border-radius: 0.375rem !important; 
}

/* Valid */
.input-group.is-valid .form-control,
.input-group.is-valid .input-group-text {
  border-color: #198754 !important;
}
.input-group.is-valid .form-control:focus {
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}

/* Invalid */
.input-group.is-invalid .form-control,
.input-group.is-invalid .input-group-text {
  border-color: #dc3545 !important;
}
.input-group.is-invalid .form-control:focus {
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}





/* VALID STATE - doar inputuri normale, NU pentru switch */
.is-valid:not(.form-check-input) {
  border-color: #198754 !important;
  background-image: none !important;
  background-color: #fff !important;
}


/* === SWITCH === */
.form-switch .form-check-input {
  width: 2.5em;
  height: 1.25em;
  margin-left: -2.5em;
  background-color: #fff !important;
  border: 1px solid #0d6efd;
  background-image: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 1.25em;
  position: relative;
  cursor: pointer;
  transition: background-position 0.15s ease-in-out, background-color 0.15s ease-in-out;
}

.form-switch .form-check-input::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 0.85em;
  height: 0.85em;
  background-color: #0d6efd;
  border-radius: 50%;
  transition: transform 0.25s ease-in-out;
}

.form-switch .form-check-input:checked::before {
  transform: translateX(1.25em);
}

/* === Valid + checked: text label verde și bold === */
.form-switch .form-check-input.is-valid:checked + .form-check-label {
  color: #198754 !important;
  font-weight: bold !important;
}


/* Reset etichetă default când nu e bifat */
.form-switch .form-check-input:not(:checked) + .form-check-label {
  color: inherit !important;
  font-weight: normal !important;
}


/* INVALID STATE */
.is-invalid {
  border-color: #dc3545 !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23dc3545' class='bi bi-exclamation-circle' viewBox='0 0 16 16'%3e%3cpath d='M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z'/%3e%3cpath d='M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm.1-5.995a.905.905 0 0 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0l-.35-3.507z'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: 1.3em 1.3em;
  background-color: #fff !important;
  padding-right: 2.5rem;
}

/* FEEDBACK MESSAGES */
.invalid-feedback {
  display: none;
  font-size: 0.875rem;
  color: #dc3545;
  margin-top: 0.25rem;
}
input.is-invalid ~ .invalid-feedback,
select.is-invalid ~ .invalid-feedback,
textarea.is-invalid ~ .invalid-feedback {
  display: block;
}

/* RADIO BUTTONS CUSTOMIZATE (fără să afecteze switch) */
.form-check:not(.form-switch) input[type="radio"].form-check-input {
  appearance: radio;
  background-image: none !important;
  background-color: #fff !important;
  border: 1px solid #ccc !important;
  box-shadow: none !important;
  outline: none !important;
}
.form-check:not(.form-switch) input[type="radio"].form-check-input:checked {
  background-color: #0d6efd !important;
  border-color: #0d6efd !important;
}

/* RADIO LABEL */
.form-check-label {
  color: #000 !important;
  font-weight: normal;
}
.form-check-input:checked + .form-check-label {
  color: #198754 !important;
  font-weight: bold;
}

/* AUTOFILL CLEANUP */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  box-shadow: 0 0 0 1000px #fff inset !important;
  -webkit-text-fill-color: #000 !important;
}




/* =============== BUTTONS =============== */

.btn {
  /* Add general button styles if needed */
}

.custom-shadow-button {
  background-color: transparent;
  border: 2px solid white;
  color: rgb(241, 242, 237);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

.custom-shadow-button.shadow-wide-text {
  text-shadow: 2px 2px 6px rgba(255, 255, 255, 0.6);
  font-weight: bold;
}

.btn-bd-primary {
  --bd-violet-bg: #712cf9;
  --bd-violet-rgb: 112.520718, 44.062154, 249.437846;

  --bs-btn-font-weight: 600;
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: var(--bd-violet-bg);
  --bs-btn-border-color: var(--bd-violet-bg);
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #6528e0;
  --bs-btn-hover-border-color: #6528e0;
  --bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: #5a23c8;
  --bs-btn-active-border-color: #5a23c8;
}


/* =============== UTILITĂȚI =============== */

.scroll-button {
  filter: hue-rotate(180deg) saturate(3) brightness(1.1);
}

.border-primary {
  color: rgb(1, 61, 95);
}

.bd-placeholder-img {
  font-size: 1.125rem;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
}

.b-example-divider {
  width: 100%;
  height: 3rem;
  background-color: rgba(0, 0, 0, .1);
  border: solid rgba(0, 0, 0, .15);
  border-width: 1px 0;
  box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
}

.b-example-vr {
  flex-shrink: 0;
  width: 1.5rem;
  height: 100vh;
}

.bi {
  vertical-align: -.125em;
  fill: currentColor;
}

.bd-mode-toggle {
  z-index: 1500;
}

.bd-mode-toggle .dropdown-menu .active .bi {
  display: block !important;
}

.card.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-in;
}

.card.fade-in.show {
  opacity: 1;
  transform: translateY(0);
}

.card.fade-in.delay-1 { transition-delay: 0.1s; }
.card.fade-in.delay-2 { transition-delay: 0.2s; }
.card.fade-in.delay-3 { transition-delay: 0.3s; }
.card.fade-in.delay-4 { transition-delay: 0.4s; }
.card.fade-in.delay-5 { transition-delay: 0.5s; }
.card.fade-in.delay-6 { transition-delay: 0.6s; }
.card.fade-in.delay-7 { transition-delay: 0.7s; }
.card.fade-in.delay-8 { transition-delay: 0.8s; }
.card.fade-in.delay-9 { transition-delay: 0.9s; }


.visitor-counter-box {
  margin-top: 20px;
}
.visitor-counter-box i {
  color: grey;
}
.visitor-counter-box .count {
  font-size: 1rem;
}




/* =============== RESPONSIVE =============== */

@media (max-width: 978px) {
  .container {
    padding: 0;
    margin: 0;
  }

  .body {
    padding: 0;
  }
}

@media (min-width: 768px) {
  .bd-placeholder-img-lg {
    font-size: 3.5rem;
  }

  .navbar {
    min-height: 90px;
  }
}

@media (max-width: 768px) {
  .featurette-heading {
    font-size: 1.5rem;
    text-align: center;
    padding-top: 1rem;
  }

  .featurette .lead {
    font-size: 1rem;
    line-height: 1.7;
    text-align: justify;
    padding: 0 0.5rem;
  }

  .featurette img {
    max-width: 80%;
    height: auto;
    margin: 1rem auto;
  }

  .featurette .btn {
    display: block;
    margin: 1.5rem auto 0;
    text-align: center;
  }
}

/* Banner influencer - dimensiune exacta 1747x400 */
.infl-inner {
  width: 1747px;
  height: 400px;
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 24px;
  align-items: center;
  background: linear-gradient(180deg, #f6fff6 0%, #ffffff 70%);
  border-radius: 10px;
  padding: 20px 26px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  box-sizing: border-box;
  overflow: hidden;
}

/* LEFT text */
.infl-left { padding: 6px 12px; }
.kicker { color:#0b4a4f; font-weight:700; letter-spacing:1px; font-size:13px; margin-bottom:4px; }
.infl-title { font-family: "Playfair Display", serif; font-size:44px; color:#073a84; line-height:0.95; margin:0 0 6px 0; }
.infl-title .infl-sub { display:block; color:#36a200; font-size:28px; margin-top:6px; }
.infl-strap { font-size:16px; font-weight:600; margin:6px 0 10px; color:#111; }
.infl-desc { font-size:15px; color:#333; max-width:720px; margin-bottom:6px; }
.logo-price { max-height:48px; margin-top:8px; }

/* RIGHT visuals */
.infl-right { display:flex; align-items:center; justify-content:center; position:relative; }
.visuals { position:relative; width:100%; height:300px; display:flex; align-items:flex-end; justify-content:center; }
.man { position:relative; max-height:300px; z-index:3; width:auto; transform: translateY(0); box-shadow: 0 6px 18px rgba(0,0,0,0.06); }
.chart { position:absolute; right:24px; bottom:12px; max-width:320px; z-index:2; opacity:0.98; box-shadow: 0 6px 18px rgba(0,0,0,0.06); }

/* Make sure carousel  displays full banner area */
.carousel-item { min-height: 400px; display:flex; align-items:center; }

/* mobile fallback - scale down instead of reflowing (keeps proportions for export) */
@media (max-width: 992px){
  .infl-inner { transform: scale(0.8); transform-origin: top center; width:1747px; height:400px; }
}
