/**
 * VisualCasino Demo Landing Page Styles
 * Extends the Safience theme design system
 */

/* ===== Banner ===== */
.vc_demo_bnr {
  margin-top: 5px;
  position: relative;
  margin-bottom: 0;
}

.vc_demo_bnr .custom_container {
  background: linear-gradient(135deg, #08091b 0%, #012d51 40%, #0229df 100%);
  min-height: 600px;
  display: flex;
  align-items: center;
}

.vc_demo_bnr_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><radialGradient id="g" cx="50%" cy="50%" r="50%"><stop offset="0%" stop-color="%23448ed7" stop-opacity="0.15"/><stop offset="100%" stop-color="transparent"/></radialGradient></defs><circle cx="20" cy="30" r="40" fill="url(%23g)"/><circle cx="80" cy="70" r="35" fill="url(%23g)"/></svg>') center / cover no-repeat;
  pointer-events: none;
}

.vc_demo_bnr_txt {
  padding: 180px 50px 80px;
  position: relative;
  z-index: 1;
}

.vc_demo_bnr_content {
  max-width: 750px;
}

.vc_demo_badge {
  display: inline-block;
  padding: 8px 20px;
  background: rgba(68, 142, 215, 0.2);
  border: 1px solid rgba(68, 142, 215, 0.4);
  border-radius: 48px;
  color: #448ed7;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 24px;
  font-family: var(--secondary-font);
}

.vc_demo_bnr_content h1 {
  color: var(--white-color);
  font-size: 64px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -2.5px;
  margin-bottom: 20px;
  font-family: var(--body-font);
}

.vc_demo_bnr_content h3 {
  color: rgba(255, 255, 255, 0.8);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.4px;
  margin-bottom: 36px;
  max-width: 600px;
  font-family: var(--secondary-font);
}

.vc_demo_bnr_content .custom_btn {
  font-size: 18px;
  height: 60px;
  padding: 0 36px;
}

.vc_demo_bnr_content .custom_btn i {
  font-size: 14px;
}

/* ===== Value Props ===== */
.vc_demo_value_sec {
  padding: 80px 0;
  background: var(--white-color);
}

.vc_demo_value_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.vc_demo_value_card {
  padding: 36px 30px;
  border-radius: 20px;
  background: var(--background-color);
  transition: var(--transetion);
  border: 1px solid transparent;
}

.vc_demo_value_card:hover {
  border-color: rgba(2, 41, 223, 0.15);
  box-shadow: 0 8px 30px rgba(2, 41, 223, 0.08);
  transform: translateY(-4px);
}

.vc_demo_value_icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: radial-gradient(130.51% 130.51% at 0% 100%,
    rgba(68, 142, 215, 1) 29%,
    rgba(0, 37, 224, 1) 70%,
    rgba(35, 93, 202, 1) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.vc_demo_value_icon i {
  color: var(--white-color);
  font-size: 22px;
}

.vc_demo_value_card h4 {
  color: var(--secondary-color);
  font-family: var(--body-font);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.5px;
  margin-bottom: 12px;
}

.vc_demo_value_card p {
  color: var(--text-color);
  font-family: var(--secondary-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: -0.2px;
}

/* ===== Stats Section ===== */
.vc_demo_stats_sec {
  padding: 60px 0;
  background: var(--dark-blue-color);
}

.vc_demo_stats_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  text-align: center;
}

.vc_demo_stat h2 {
  color: var(--white-color);
  font-family: var(--body-font);
  font-size: 56px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -2px;
  margin-bottom: 8px;
}

.vc_demo_stat p {
  color: rgba(255, 255, 255, 0.6);
  font-family: var(--secondary-font);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

/* ===== How It Works ===== */
.vc_demo_how_sec {
  padding: 80px 0;
  background: var(--white-color);
}

.vc_demo_how_sec .title {
  text-align: center;
  margin-bottom: 60px;
}

.vc_demo_how_sec .title h3 {
  color: var(--secondary-color);
  font-family: var(--body-font);
  font-size: 40px;
  font-weight: 600;
  letter-spacing: -1.6px;
}

.vc_demo_how_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.vc_demo_how_step {
  text-align: center;
  padding: 30px 20px;
  position: relative;
}

.vc_demo_step_num {
  font-family: var(--body-font);
  font-size: 60px;
  font-weight: 800;
  color: rgba(2, 41, 223, 0.08);
  line-height: 1;
  margin-bottom: 16px;
}

.vc_demo_how_step h5 {
  color: var(--secondary-color);
  font-family: var(--body-font);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.4px;
  margin-bottom: 12px;
}

.vc_demo_how_step p {
  color: var(--text-color);
  font-family: var(--secondary-font);
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: -0.2px;
}

/* ===== Demo Form Section ===== */
.vc_demo_form_sec {
  padding: 80px 0;
  background: var(--background-color);
  margin-bottom: 0;
}

.vc_demo_form_layout {
  display: flex;
  gap: 50px;
  align-items: flex-start;
}

.vc_demo_form_info {
  flex: 0 0 45%;
  max-width: 45%;
  padding-top: 20px;
}

.vc_demo_form_info .title {
  margin-bottom: 24px;
}

.vc_demo_form_info .title h6 {
  color: var(--primary-color);
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 12px;
  font-family: var(--secondary-font);
}

.vc_demo_form_info .title h2 {
  color: var(--secondary-color);
  font-family: var(--body-font);
  font-size: 36px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -1.2px;
}

.vc_demo_form_info > p {
  color: var(--text-color);
  font-family: var(--secondary-font);
  font-size: 17px;
  line-height: 1.7;
  letter-spacing: -0.2px;
  margin-bottom: 30px;
}

.vc_demo_checklist {
  list-style: none;
  margin-bottom: 36px;
}

.vc_demo_checklist li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  color: var(--text-color);
  font-family: var(--secondary-font);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.2px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.vc_demo_checklist li:last-child {
  border-bottom: none;
}

.vc_demo_checklist li i {
  color: var(--primary-color);
  font-size: 14px;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(2, 41, 223, 0.08);
  border-radius: 50%;
}

.vc_demo_trust_badges {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.vc_demo_trust_badges span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: var(--white-color);
  border-radius: 8px;
  font-family: var(--secondary-font);
  font-size: 14px;
  font-weight: 600;
  color: var(--secondary-color);
  border: 1px solid rgba(1, 45, 81, 0.1);
}

.vc_demo_trust_badges span i {
  color: var(--primary-color);
  font-size: 14px;
}

/* ===== Form Wrapper ===== */
.vc_demo_form_wrap {
  flex: 1;
  min-width: 0;
}

.vc_demo_form {
  display: flex;
  gap: 20px 12px;
  flex-wrap: wrap;
  padding: 40px;
  background: var(--white-color);
  border-radius: 24px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.vc_demo_form .form_wrp {
  width: 100%;
}

.vc_demo_form .form_wrp.w_half {
  width: calc(50% - 6px);
}

.vc_demo_form .form_wrp label {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--secondary-color);
  font-family: var(--secondary-font);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.2px;
}

.vc_demo_form .form_wrp input,
.vc_demo_form .form_wrp select,
.vc_demo_form .form_wrp textarea {
  height: 52px;
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  color: var(--text-color);
  border-radius: 10px;
  background: var(--background-color);
  padding: 10px 16px;
  font-size: 15px;
  font-weight: 500;
  font-family: var(--secondary-font);
  line-height: 1.5;
  letter-spacing: -0.2px;
  transition: var(--transetion);
}

.vc_demo_form .form_wrp textarea {
  height: auto;
  min-height: 100px;
  resize: vertical;
}

.vc_demo_form .form_wrp select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2333343f"><path d="M7 10l5 5 5-5z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 20px;
  padding-right: 40px;
}

.vc_demo_form .form_wrp input:focus,
.vc_demo_form .form_wrp select:focus,
.vc_demo_form .form_wrp textarea:focus {
  border-color: var(--primary-color);
  outline: none;
  box-shadow: 0 0 0 3px rgba(2, 41, 223, 0.08);
}

.vc_demo_form .form_wrp input::placeholder,
.vc_demo_form .form_wrp textarea::placeholder {
  color: rgba(104, 128, 132, 1);
  font-size: 14px;
}

.custom_btn_wrap {
  margin-top: 8px;
}

.vc_demo_submit_btn {
  width: 100%;
  cursor: pointer;
}

.vc_demo_submit_btn i {
  font-size: 14px;
}

.vc_demo_form_note {
  width: 100%;
}

.vc_demo_form_note p {
  color: rgba(104, 128, 132, 1);
  font-family: var(--secondary-font);
  font-size: 13px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.vc_demo_form_note p i {
  color: rgba(104, 128, 132, 0.6);
  font-size: 12px;
}

/* ===== Success State ===== */
.vc_demo_form_success {
  padding: 40px;
  background: var(--white-color);
  border-radius: 24px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.vc_demo_success_inner {
  text-align: center;
  padding: 60px 40px;
}

.vc_demo_success_inner i {
  font-size: 64px;
  color: #10b981;
  margin-bottom: 24px;
}

.vc_demo_success_inner h3 {
  color: var(--secondary-color);
  font-family: var(--body-font);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.8px;
  margin-bottom: 16px;
}

.vc_demo_success_inner p {
  color: var(--text-color);
  font-family: var(--secondary-font);
  font-size: 17px;
  line-height: 1.7;
  max-width: 400px;
  margin: 0 auto;
}

/* ===== Responsive ===== */
@media (max-width: 1399px) {
  .vc_demo_bnr_content h1 {
    font-size: 52px;
  }
}

@media (max-width: 1199px) {
  .vc_demo_form_layout {
    flex-direction: column;
  }

  .vc_demo_form_info {
    flex: none;
    max-width: 100%;
  }

  .vc_demo_how_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 991px) {
  .vc_demo_value_grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .vc_demo_stats_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 30px;
  }

  .vc_demo_bnr_txt {
    padding: 150px 30px 60px;
  }

  .vc_demo_bnr_content h1 {
    font-size: 44px;
  }

  .vc_demo_bnr_content h3 {
    font-size: 18px;
  }
}

@media (max-width: 767px) {
  .vc_demo_value_grid {
    grid-template-columns: 1fr;
  }

  .vc_demo_stats_grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .vc_demo_how_grid {
    grid-template-columns: 1fr;
  }

  .vc_demo_form {
    padding: 24px;
  }

  .vc_demo_form .form_wrp.w_half {
    width: 100%;
  }

  .vc_demo_bnr_content h1 {
    font-size: 36px;
    letter-spacing: -1.5px;
  }

  .vc_demo_stat h2 {
    font-size: 40px;
  }

  .vc_demo_trust_badges {
    flex-direction: column;
    gap: 10px;
  }

  .vc_demo_form_info .title h2 {
    font-size: 28px;
  }
}
