/*
Theme Name: Visaland
Author: ModinaTheme
Author URI: https://themeforest.net/user/modinatheme/
Description: Immigration & Visa Consulting HTML Template
Version: 1.1.0
*/

/*
=================================
|***    Table of contents:   ***|
=================================

1. General styles
2. Typography
3. Helpers
4. Preloader
5. Go up button
6. Header and navigation
7. Hero Section
8. About us
9. Services
10. Fun facts
11. Projects
12. Pricing
13. Testimonial
14. CTA
15. Team
16. Video Banner
17. Shop
18. Marquee
19. Blog
20. Footer

Main Style file-> assets/css/main.css 
*/

/* visa search page css */
    .bg-cover{
    width: 100%;
    background-image: linear-gradient(to bottom, #051322 16%, #15457c 100%), linear-gradient(to top, #ffccc7 119%, #f1b8a9 99%, #85657d 75%, #414157 51%, #0f1b2c 5%);
    background-size: 100% 535px;
    background-repeat: no-repeat;
    }
    .visa-container {
      max-width: 1200px;
      margin: auto;
      background: white;
      border-radius: 15px;
      padding: 25px;
      box-shadow: 0 0 10px rgba(0,0,0,0.2);
    }

    .heading {
      text-align: center;
      font-size: 20px;
      font-weight: bold;
      color: #004aad;
      margin-bottom: 25px;
    }

    .form-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 15px;
      justify-content: space-between;
    }

    .form-group {
      flex: 1 1 30%;
      display: flex;
      flex-direction: column;
      position: relative;
    }

    label {
      font-size: 13px;
      font-weight: 600;
      margin-bottom: 6px;
      color: #666;
    }

    .custom-select {
      position: relative;
      user-select: none;
    }

    .select-selected {
      padding: 12px;
      border: 2px solid #eee;
      border-radius: 12px;
      font-weight: bold;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .select-items {
      position: absolute;
      background-color: white;
      border: 1px solid #ddd;
      border-radius: 10px;
      z-index: 99;
      top: 100%;
      left: 0;
      right: 0;
      display: none;
      max-height: 250px;
      overflow-y: auto;
    }

    .select-items input {
      width: 100%;
      padding: 10px;
      border: none;
      border-bottom: 1px solid #ccc;
      box-sizing: border-box;
    }

    .select-item {
      padding: 10px;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .select-item:hover {
      background-color: #f0f0f0;
    }

    .select-flag {
      width: 24px;
      height: 16px;
      object-fit: cover;
      border: 1px solid #ccc;
    }

    input[type="date"] {
      font-size: 16px;
      padding: 12px;
      border: 2px solid #eee;
      border-radius: 12px;
      font-weight: 600;
    }

    input[disabled] {
      background-color: #f0f0f0;
      color: #aaa;
      cursor: not-allowed;
    }

    .bottom-note {
      display: flex;
      justify-content: space-between;
      margin-top: 15px;
      font-size: 14px;
      color: #555;
    }

    .note-blue {
      color: #5a00cc;
      font-weight: bold;
    }

    .search-btn {
      margin: 30px auto 0;
      display: block;
      background-color:#E20935;
      color: white;
      padding: 15px 40px;
      border: none;
      border-radius: 40px;
      font-size: 18px;
      font-weight: bold;
      cursor: pointer;
    }

    @media (max-width: 768px) {
      .form-group {
        flex: 1 1 100%;
      }

      .bottom-note {
        flex-direction: column;
        gap: 5px;
        align-items: center;
        text-align: center;
      }
    }
    input{
        color: black !important;
    }
/* ================================================= */
   .top-bar-search {
      background-color: #0d1b2a;
      padding: 20px;
      display: flex;
      flex-wrap: wrap;
      gap: 15px;
      justify-content: center;
    }

    .input-group-search {
      background: #1d3557;
      padding: 15px;
      border-radius: 8px;
      color: white;
      min-width: 200px;
    }

    .input-group-search label {
      font-size: 12px;
      color: #a0aec0;
      display: block;
      margin-bottom: 5px;
    }

    .input-group-search select,
    .input-group-search strong {
      font-size: 15px;
      padding: 6px;
      width: 100%;
      border-radius: 6px;
      border: none;
      background-color: #fff;
      color: #000;
      font-weight: 500;
    }

    .search-btn-search {
      background: linear-gradient(90deg, #1e90ff, #007bff);
      border: none;
      color: white;
      padding: 15px 30px;
      border-radius: 10px;
      font-size: 16px;
      font-weight: bold;
      cursor: pointer;
    }

    .container-fluid{
       display: flex;
       align-items: flex-start; /* Keep boxes aligned at the top */
       gap: 30px;
       padding: 30px;
       }
      .container{
        width:70%;
      
       }
    .card-details, .summary-box {
      gap: 30px;
      padding: 30px;
      background: white;
      border-radius: 20px;
      padding: 25px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }

.card-details {
  flex: 0 0 100%;
  background: white;
  border-radius: 20px;
  padding: 25px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  align-self: flex-start;
    }

    .card-details .info {
      max-width: 300px;
    }

    .card-details h2 {
      margin: 10px 0 0;
      font-size: 26px;
    }

    .card-details p {
      color: #555;
    }

    .card-details img {
      max-width: 300px;
      border-radius: 20px;
    }

    .summary-box {
  flex: 0 0 25%;
  position: sticky;
  top: 30px;
  align-self: flex-start;
  background: white;
  border-radius: 20px;
  padding: 25px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }

    .summary-box .why {
      background: #e7f1ff;
      padding: 15px;
      border-radius: 12px;
      margin-bottom: 20px;
    }

    .summary-box .why h4 {
      margin: 0 0 10px;
      color: #1e40af;
    }

    .summary-box ul {
      list-style: none;
      padding-left: 0;
    }

    .summary-box ul li {
      margin: 8px 0;
      font-size: 14px;
    }

    .summary-box .price {
      font-size: 22px;
      font-weight: bold;
    }

    .summary-box .fee {
      color: #888;
      font-size: 14px;
    }

    .gift {
      background: #e6fff5;
      padding: 10px;
      text-align: center;
      color: #009975;
      border-radius: 8px;
      margin: 15px 0;
    }

    .summary-box button {
      width: 100%;
      padding: 14px;
      background: #007bff;
      color: white;
      border: none;
      border-radius: 8px;
      font-size: 16px;
      font-weight: bold;
      cursor: pointer;
    }

    @media (max-width: 768px) {
     .container-fluid {
    flex-direction: column;
  }

  .card-details, .summary-box,.visa-process,.timeline {
    flex: 1 1 100%;
    position: static !important; /* 🔴 REMOVE sticky */
    top: auto !important;
  }

  .card-details img {
    margin-top: 20px;
    width: 100%;
    max-width: 100%;
  }
    }
    .visa-process {
    background: #fff;
    margin-top: 10px;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
    
  }

  .visa-process h2 {
    margin: 0;
    font-size: 26px;
  }

  .visa-process .subtitle {
    color: #888;
    margin-top: 5px;
    font-size: 16px;
  }

  .visa-box {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #ddd;
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .visa-left {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .visa-left h3 {
    font-size: 20px;
    margin: 0;
  }

  .visa-left p {
    color: #555;
    margin-bottom: 15px;
  }

  .documents-box {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 10px;
    border-left: 4px solid #007bff;
  }

  .documents-box h4 {
    margin-top: 0;
    font-size: 16px;
  }

  .documents-box ul {
    list-style: none;
    padding: 0;
    margin: 10px 0 0 0;
  }

  .documents-box ul li {
    margin-bottom: 10px;
    font-size: 15px;
    display: flex;
    align-items: center;
  }

  .visa-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    background: #f0f4ff;
    color: #1e3a8a;
    font-weight: bold;
    font-size: 13px;
    padding: 6px 10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 4px;
    
  }

  /* visa fees */
  .timeline {
    background: #fff;
    margin-top: 10px;
    padding: 45px;
    border-radius: 15px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);

    
    }

    .step {
      position: relative;
      margin-bottom: 30px;
    }

    .step-icon {
      position: absolute;
      left: -40px;
      top: 0;
      width: 30px;
      height: 30px;
      background-color: #eaf6ff;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .step-icon img {
      width: 16px;
      height: 16px;
    }

    .step-title {
      font-weight: 600;
      margin-bottom: 5px;
    }

    .step-description {
      color: #555;
      font-size: 14px;
      line-height: 1.6;
    }

  /* Responsive */
  @media (max-width: 600px) {
      .container, .visa-process,.timeline{
        width: 100%;
      
     }
    .visa-process {
      padding: 20px;
      margin: 20px;
    }

    .visa-box {
      flex-direction: column;
    }

    .visa-badge {
      top: 10px;
      right: 10px;
      font-size: 12px;
    }
        
  }
  .current{
    color: white !important;
  }


  /* ========================================== */
  /* get start page css */
  
    .header {
      padding: 30px;
    }

    .header h1 {
      margin: 0;
      font-size: 26px;
    }

    .subtext {
      color: #666;
      font-size: 15px;
      margin-top: 4px;
    }

    .progress-bar {
      width: 100%;
      background: #eee;
      height: 6px;
      border-radius: 4px;
      margin-top: 12px;
      margin-bottom: 15px;
      overflow: hidden;
    }

    .progress-fill {
      height: 100%;
      width: 25%;
      background: #76b7b2;
    }

    .step-label {
      font-weight: bold;
      font-size: 14px;
      color: #555;
    }

    .main {
      display: flex;
      justify-content: space-between;
      padding: 20px 30px;
    }

    .left-section {
      flex: 2;
      background: white;
      border-radius: 15px;
      padding: 25px;
      margin-right: 20px;
    }

    .left-section h2 {
      margin-bottom: 20px;
    }

    .add-traveller {
      display: flex;
      align-items: center;
      padding: 18px;
      border: 1px solid #ddd;
      border-radius: 25px;
      cursor: pointer;
      color: #007bff;
      font-weight: 500;
      font-size: 16px;
      max-width: 320px;
    }

    .add-traveller span {
      margin-left: 10px;
    }

    .right-section {
      flex: 1;
      background: white;
      border-radius: 15px;
      padding: 25px;
      max-width: 300px;
    }

    .right-section h3 {
      margin: 0 0 10px 0;
    }

    .summary-flag {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #e0f0ff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-left: auto;
    border: 1px solid #c8c2c2;
    }

    .summary-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .price {
      font-size: 22px;
      font-weight: bold;
      margin-top: 15px;
    }

    .service-fee {
      color: gray;
      font-size: 14px;
    }

    .continue-btn {
      width: 90%;
      padding: 16px;
      margin-top: 25px;
      background: #ccc;
      color: white;
      font-size: 17px;
      font-weight: bold;
      border: none;
      border-radius: 10px;
      cursor: not-allowed;
      text-align: center;
    }

    /* Slide Form */
    .slide-form {
      position: fixed;
      top: 0;
      right: -100%;
      width: 500px;
      height: 100%;
      background-color: #fff;
      box-shadow: -2px 0 10px rgba(0, 0, 0, 0.2);
      transition: right 0.4s ease;
      z-index: 9999;
      display: flex;
      flex-direction: column;
    }

    .slide-form.active {
      right: 0;
    }

    .slide-form .header {
      padding: 25px 25px 10px 25px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .slide-form .header h2 {
      margin: 0;
      font-size: 22px;
    }

    .slide-form .close-btn {
      font-size: 24px;
      background: none;
      border: none;
      cursor: pointer;
    }

    .slide-form .warning {
      margin: 0 25px;
      background-color: #fff3cd;
      color: #856404;
      padding: 12px 15px;
      border-radius: 12px;
      font-size: 14px;
      display: flex;
      align-items: center;
    }

    .slide-form .warning::before {
      content: "👤";
      margin-right: 8px;
    }

    .form-content {
      padding: 15px 25px;
      flex-grow: 1;
    }

    .form-content h3 {
      margin: 20px 0 5px;
      font-size: 18px;
    }

    .form-content p {
      color: #888;
      font-size: 13px;
    }

    .form-group {
      display: flex;
      gap: 10px;
      margin-top: 15px;
    }

    .form-group input,
    .form-group select {
      flex: 1;
      padding: 14px;
      font-size: 15px;
      border-radius: 10px;
      border: 1px solid #ddd;
      background-color: #f3f3f3;
    }

    .form-group input[type="date"] {
      color: black;
    }
    .select-flag {
      width: 24px;
      height: 16px;
      object-fit: cover;
      border: 1px solid #ccc;
    }

   .form-footer {
  background: #000;
  padding: 20px;
  text-align: center;
  box-sizing: border-box;
  width: 100%;
}


    .form-footer button {
      background-color: #007bff;
      border: none;
      padding: 12px 30px;
      border-radius: 8px;
      color: white;
      font-size: 16px;
      cursor: pointer;
    }
    @media (max-width: 768px) {
  .main {
    flex-direction: column;
    padding: 20px 15px;
  }

  .left-section,
  .right-section {
    max-width: 100%;
    margin-right: 0;
  }

  .slide-form {
    width: 100%;
    max-width: 100%;
  }
}

/* ==================================== */

/* get started page */

    .header {
      padding: 30px;
    }

    .header h1 {
      margin: 0;
      font-size: 26px;
    }

    .subtext {
      color: #666;
      font-size: 15px;
      margin-top: 4px;
    }

    .progress-bar {
      width: 100%;
      background: #eee;
      height: 6px;
      border-radius: 4px;
      margin-top: 12px;
      margin-bottom: 15px;
      overflow: hidden;
    }

    .progress-fill {
      height: 100%;
      width: 25%;
      background: #76b7b2;
    }

    .step-label {
      font-weight: bold;
      font-size: 14px;
      color: #555;
    }

    .main {
      display: flex;
      justify-content: space-between;
      padding: 20px 30px;
    }

    .left-section {
      flex: 2;
      background: #f5f5f5;
      border-radius: 15px;
      padding: 25px;
      margin-right: 20px;
    }

    .left-section h2 {
      margin-bottom: 20px;
    }

    .add-traveller {
      display: flex;
      align-items: center;
      padding: 18px;
      border: 1px solid #ddd;
      border-radius: 25px;
      cursor: pointer;
      color: #007bff;
      font-weight: 500;
      font-size: 16px;
      max-width: 320px;
    }

    .add-traveller span {
      margin-left: 10px;
    }

    .right-section {
      flex: 1;
      background:#f5f5f5;
      border-radius: 15px;
      padding: 25px;
      max-width: 300px;
    }

    .right-section h3 {
      margin: 0 0 10px 0;
    }

    .summary-flag {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #e0f0ff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-left: auto;
    border: 1px solid #c8c2c2;
    }

    .summary-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .price {
      font-size: 22px;
      font-weight: bold;
      margin-top: 15px;
    }

    .service-fee {
      color: gray;
      font-size: 14px;
    }

    .continue-btn {
      width: 90%;
      padding: 16px;
      margin-top: 25px;
      background: #ccc;
      color: white;
      font-size: 17px;
      font-weight: bold;
      border: none;
      border-radius: 10px;
      cursor: not-allowed;
      text-align: center;
    }

    /* Slide Form */
    .slide-form {
      position: fixed;
      top: 0;
      right: -100%;
      width: 500px;
      height: 100%;
      background-color: #fff;
      box-shadow: -2px 0 10px rgba(0, 0, 0, 0.2);
      transition: right 0.4s ease;
      z-index: 9999;
      display: flex;
      flex-direction: column;
    }

    .slide-form.active {
      right: 0;
    }

    .slide-form .header {
      padding: 25px 25px 10px 25px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .slide-form .header h2 {
      margin: 0;
      font-size: 22px;
    }

    .slide-form .close-btn {
      font-size: 24px;
      background: none;
      border: none;
      cursor: pointer;
    }

    .slide-form .warning {
      margin: 0 25px;
      background-color: #fff3cd;
      color: #856404;
      padding: 12px 15px;
      border-radius: 12px;
      font-size: 14px;
      display: flex;
      align-items: center;
    }

    .slide-form .warning::before {
      content: "👤";
      margin-right: 8px;
    }

    .form-content {
      padding: 15px 25px;
      flex-grow: 1;
    }

    .form-content h3 {
      margin: 20px 0 5px;
      font-size: 18px;
    }

    .form-content p {
      color: #888;
      font-size: 13px;
    }

    .form-group1 {
      display: flex;
      gap: 10px;
      margin-top: 15px;
    }

    .form-group1 input,
    .form-group1 select {
      flex: 1;
      padding: 14px;
      font-size: 15px;
      border-radius: 10px;
      border: 1px solid #ddd;
      background-color: #f3f3f3;
    }

    .form-group1 input[type="date"] {
      color: black;
    }
    .select-flag {
      width: 24px;
      height: 16px;
      object-fit: cover;
      border: 1px solid #ccc;
    }

   .form-footer {
  background: #000;
  padding: 20px;
  text-align: center;
  box-sizing: border-box;
  width: 100%;
}


    .form-footer button {
      background-color: #007bff;
      border: none;
      padding: 12px 30px;
      border-radius: 8px;
      color: white;
      font-size: 16px;
      cursor: pointer;
    }
    @media (max-width: 768px) {
  .main {
    flex-direction: column;
    padding: 20px 15px;
  }

  .left-section,
  .right-section {
    max-width: 100%;
    margin-right: 0;
  }

  .slide-form {
    width: 100%;
    max-width: 100%;
  }
}