:root{
  --ft-red:#d00607;
  --ft-red-dark:#aa0000;
  --ft-blue:#204376;
  --ft-dark:#101828;
  --ft-text:#475467;
  --ft-muted:#667085;
  --ft-light:#f8fafc;
  --ft-soft:#fff1f1;
  --ft-border:#e7ebf0;
  --ft-shadow:0 14px 36px rgba(16,24,40,.08);
}

.ft-page{
  overflow:hidden;
  color:var(--ft-text);
  background:#fff;
}

.ft-page *,
.ft-page *::before,
.ft-page *::after{
  box-sizing:border-box;
}

.ft-page a{
  text-decoration:none;
}

.ft-section{
  padding:16px 0;
}


.ft-btn-2col{
    display:wrap;
}
.ft-section-light{
  background:var(--ft-light);
  border-top:1px solid #eef1f4;
  border-bottom:1px solid #eef1f4;
}

.ft-label{
  display:inline-flex;
  align-items:center;
  margin-bottom:13px;
  padding:8px 13px;
  border-radius:50px;
  background:var(--ft-soft);
  color:var(--ft-red);
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.ft-label i{
  margin-right:7px;
}

.ft-heading{
  max-width:880px;
  margin:0 auto 38px;
  text-align:center;
}

.ft-heading h2,
.ft-content-panel h2,
.ft-dark-cta h2{
  margin:0 0 13px;
  color:var(--ft-dark);
  font-size:38px;
  line-height:1.18;
  font-weight:950;
}

.ft-heading p{
  margin:0;
  font-size:16px;
  line-height:1.75;
}

.ft-btn-wrap{
  display:flex;
  
  margin:-5px;
}

.ft-btn-wrap-center{
  justify-content:center;
}

.ft-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:49px;
  margin:5px;
  padding:13px 21px;
  border:0;
  border-radius:9px;
  font-size:14px;
  font-weight:900;
  transition:.2s ease;
}

.ft-btn i{
  margin-left:8px;
}

.ft-btn:hover{
  transform:translateY(-2px);
  text-decoration:none;
}

.ft-btn-red{
  color:#fff;
  background:var(--ft-red);
  box-shadow:0 10px 22px rgba(208,6,7,.2);
}

.ft-btn-red:hover{
  color:#fff;
  background:var(--ft-red-dark);
}

.ft-btn-dark{
  color:#fff;
  background:var(--ft-dark);
}

.ft-btn-dark:hover{
  color:#fff;
  background:#000;
}

.ft-card{
  height:100%;
  padding:24px 21px;
  border:1px solid var(--ft-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 20px rgba(16,24,40,.05);
}

.ft-card-hover{
  transition:.22s ease;
}

.ft-card-hover:hover{
  transform:translateY(-4px);
  border-color:rgba(208,6,7,.2);
  box-shadow:var(--ft-shadow);
}

.ft-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:53px;
  height:53px;
  margin-bottom:16px;
  border-radius:50%;
  color:var(--ft-red);
  background:var(--ft-soft);
  font-size:21px;
}

.ft-icon-center{
  margin-left:auto;
  margin-right:auto;
}

.ft-card h3{
  margin:0 0 11px;
  color:var(--ft-dark);
  font-size:19px;
  line-height:1.32;
  font-weight:950;
}

.ft-card h4{
  margin:0 0 10px;
  color:var(--ft-dark);
  font-size:16px;
  line-height:1.35;
  font-weight:950;
}

.ft-card p{
  margin:0 0 13px;
  font-size:13px;
  line-height:1.68;
}

.ft-card p:last-child{
  margin-bottom:0;
}

.ft-list{
  margin:0;
  padding:0;
  list-style:none;
}

.ft-list li{
  position:relative;
  margin:8px 0;
  padding-left:21px;
  color:var(--ft-dark);
  font-size:13px;
  line-height:1.5;
  font-weight:760;
}

.ft-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--ft-red);
  font-weight:950;
}

.ft-number-list{
  margin:0;
  padding-left:20px;
}

.ft-number-list li{
  margin:8px 0;
  color:var(--ft-dark);
  font-size:13px;
  line-height:1.55;
  font-weight:760;
}


/* HERO */

.ft-hero{
  position:relative;
  overflow:hidden;
  padding:95px 0 45px;
  background:
    radial-gradient(circle at 8% 10%,rgba(208,6,7,.09),transparent 30%),
    radial-gradient(circle at 95% 90%,rgba(32,67,118,.08),transparent 28%),
    linear-gradient(180deg,#fff,#fbfcfd);
}

.ft-hero::after{
  content:"";
  position:absolute;
  top:70px;
  right:-155px;
  width:330px;
  height:330px;
  border:50px solid rgba(208,6,7,.035);
  border-radius:50%;
}

.ft-hero .container,
.ft-hero .row{
  position:relative;
  z-index:1;
}

.ft-breadcrumb{
  margin-bottom:20px;
  color:var(--ft-muted);
  font-size:12px;
}

.ft-breadcrumb a{
  color:var(--ft-red);
  font-weight:850;
}

.ft-breadcrumb span{
  margin:0 7px;
}

.ft-updated{
  display:inline-block;
  margin-bottom:15px;
  color:var(--ft-muted);
  font-size:12px;
  font-weight:800;
}

.ft-hero h1{
  max-width:780px;
  margin:0 0 18px;
  color:var(--ft-dark);
  font-size:41px;
  line-height:1.07;
  font-weight:950;
  letter-spacing:-1.3px;
}

.ft-hero h1 span{
  color:var(--ft-red);
}

.ft-hero p{
  max-width:780px;
  margin:0 0 13px;
  color:#536173;
  font-size:16px;
  line-height:1.72;
}

.ft-hero-actions{
  margin-top:20px;
  margin-bottom:23px;
}

.ft-hero-points{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
}

.ft-hero-point{
  padding:14px 12px;
  border:1px solid var(--ft-border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 7px 18px rgba(16,24,40,.04);
}

.ft-hero-point i{
  display:block;
  margin-bottom:7px;
  color:var(--ft-red);
}

.ft-hero-point strong{
  display:block;
  color:var(--ft-dark);
  font-size:13px;
  line-height:1.4;
  font-weight:950;
}


/* FORM */

.ft-form{
  padding:27px;
  border:1px solid #eef0f3;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--ft-shadow);
}

.ft-form h2{
  margin:0 0 8px;
  color:var(--ft-dark);
  text-align:center;
  font-size:20px;
  line-height:1.25;
  font-weight:950;
}

.ft-form-badge{
  display:block;
  margin-bottom:16px;
  padding:8px 10px;
  border-radius:50px;
  color:var(--ft-red);
  background:var(--ft-soft);
  text-align:center;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.ft-form input,
.ft-form select,
.ft-form textarea{
  width:100%;
  height:46px;
  margin-bottom:11px;
  padding:10px 12px;
  border:1px solid var(--ft-border);
  border-radius:8px;
  outline:none;
  background:#fff;
}

.ft-form textarea{
  min-height:80px;
  resize:vertical;
}

.ft-form input:focus,
.ft-form select:focus,
.ft-form textarea:focus{
  border-color:var(--ft-red);
  box-shadow:0 0 0 3px rgba(208,6,7,.08);
}

.ft-submit{
  width:100%;
  min-height:50px;
  border:0;
  border-radius:9px;
  color:#fff;
  background:var(--ft-red);
  font-weight:950;
}

.ft-form-note{
  margin:11px 0 0;
  color:var(--ft-muted);
  font-size:11px;
  line-height:1.5;
}


/* TRUST */

.ft-trust{
  position:relative;
  z-index:3;
  margin-top:-29px;
}

.ft-trust-box{
  padding:17px;
  border:1px solid var(--ft-border);
  border-radius:17px;
  background:#fff;
  box-shadow:var(--ft-shadow);
}

.ft-trust-item{
  display:flex;
  align-items:flex-start;
  height:100%;
  padding:9px;
}

.ft-trust-item i{
  margin-top:3px;
  margin-right:10px;
  color:var(--ft-red);
}

.ft-trust-item strong{
  display:block;
  color:var(--ft-dark);
  font-size:14px;
  font-weight:950;
}

.ft-trust-item span{
  display:block;
  color:var(--ft-muted);
  font-size:12px;
  line-height:1.45;
}


/* CONTENT PANELS */

.ft-content-panel{
  height:100%;
  padding:31px;
  border:1px solid var(--ft-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,40,.05);
}

.ft-content-panel p{
  margin:0 0 15px;
  font-size:15px;
  line-height:1.76;
}

.ft-dark-panel{
  height:100%;
  padding:29px;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(145deg,var(--ft-dark),var(--ft-blue));
  box-shadow:var(--ft-shadow);
}

.ft-dark-panel h3{
  margin:0 0 14px;
  color:#fff;
  font-size:24px;
  font-weight:950;
}

.ft-dark-panel p{
  color:rgba(255,255,255,.82);
  font-size:13px;
  line-height:1.68;
}

.ft-info-strip{
  margin-top:21px;
  padding:17px;
  border:1px solid var(--ft-border);
  border-radius:13px;
  color:var(--ft-dark);
  background:var(--ft-soft);
  text-align:center;
  font-size:13px;
  line-height:1.6;
  font-weight:900;
}


/* TOC */

.ft-toc{
  padding:24px;
  border:1px solid var(--ft-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 20px rgba(16,24,40,.05);
}

.ft-toc h3{
  margin:0 0 14px;
  color:var(--ft-dark);
  font-size:20px;
  font-weight:950;
}

.ft-toc-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:-5px;
  padding:0;
  list-style:none;
}

.ft-toc-list li{
  margin:5px;
}

.ft-toc-list a{
  display:block;
  height:100%;
  padding:11px 13px;
  border:1px solid var(--ft-border);
  border-radius:9px;
  color:var(--ft-dark);
  background:var(--ft-light);
  font-size:12px;
  line-height:1.45;
  font-weight:800;
}

.ft-toc-list a:hover{
  color:var(--ft-red);
  border-color:rgba(208,6,7,.2);
}


/* CTA BOX */

.ft-cta-box{
  margin-top:24px;
  padding:25px;
  border:1px solid rgba(208,6,7,.14);
  border-radius:16px;
  background:var(--ft-soft);
  text-align:center;
}

.ft-cta-box h3,
.ft-cta-box h4{
  margin:0 0 9px;
  color:var(--ft-dark);
  font-size:22px;
  font-weight:950;
}

.ft-cta-box p{
  max-width:850px;
  margin:0 auto 18px;
  font-size:14px;
  line-height:1.7;
}


/* PROCESS */

.ft-step{
  display:grid;
  grid-template-columns:55px minmax(0,1fr);
  gap:14px;
  height:100%;
}

.ft-step-number{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:50%;
  color:#fff;
  background:var(--ft-red);
  font-weight:950;
}

.ft-step h3{
  margin:0 0 7px;
}

.ft-step p{
  margin:0 0 7px;
}


/* DARK CTA */

.ft-dark-cta{
  padding:37px;
  border-radius:21px;
  color:#fff;
  background:
    radial-gradient(circle at 91% 18%,rgba(255,255,255,.12),transparent 25%),
    linear-gradient(135deg,var(--ft-dark),var(--ft-blue));
}

.ft-dark-cta h2{
  color:#fff;
}

.ft-dark-cta p{
  margin:0 0 13px;
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:1.72;
}


/* FAQ - BOOTSTRAP 4 */

.ft-faq .card{
  margin-bottom:12px;
  overflow:hidden;
  border:1px solid var(--ft-border);
  border-radius:10px;
  background:#fff;
  box-shadow:0 4px 12px rgba(16,24,40,.06);
}

.ft-faq .card:last-child{
  margin-bottom:0;
}

.ft-faq .card-header{
  padding:0;
  border:0;
  background:#fff;
}

.ft-faq .card-header h3{
  margin:0;
}

.ft-faq-btn{
  position:relative;
  display:block;
  width:100%;
  padding:17px 50px 17px 18px;
  border:0;
  outline:0;
  background:#fff;
  color:var(--ft-dark);
  cursor:pointer;
  text-align:left;
  font-size:15px;
  line-height:1.5;
  font-weight:900;
}

.ft-faq-btn:hover,
.ft-faq-btn:focus{
  outline:0;
  color:var(--ft-red);
  box-shadow:none;
}

.ft-faq-btn:not(.collapsed){
  color:var(--ft-red);
  background:var(--ft-soft);
}

.ft-faq-icon{
  position:absolute;
  top:50%;
  right:18px;
  transform:translateY(-50%);
  font-size:22px;
  line-height:1;
  font-weight:400;
  transition:transform .2s ease;
}

.ft-faq-btn:not(.collapsed) .ft-faq-icon{
  transform:translateY(-50%) rotate(45deg);
}

.ft-faq .card-body{
  padding:17px 18px;
  border-top:1px solid var(--ft-border);
  color:var(--ft-text);
  font-size:14px;
  line-height:1.75;
}


/* POPUP */

.ft-modal-flag{
  display:flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  margin:0 auto 15px;
  overflow:hidden;
  border-radius:50%;
  border:1px solid var(--ft-border);
  background:#fff;
}

.ft-modal-flag img{
  width:100%;
  height:100%;
  object-fit:cover;
}


/* FLOATING */

.ft-floating{
  position:fixed;
  top:55%;
  right:18px;
  z-index:999;
  display:flex;
  flex-direction:column;
  gap:10px;
  transform:translateY(-50%);
}

.ft-floating a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:10px;
  color:#fff;
  background:var(--ft-red);
  box-shadow:0 10px 24px rgba(208,6,7,.25);
}

.ft-mobile-bar{
  display:none;
}


@media(max-width:991px){
  .ft-hero h1{
    font-size:43px;
  }

  .ft-hero-points{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ft-form{
    max-width:680px;
    margin-top:21px;
  }
}

@media(max-width:767px){
  .ft-section{
    padding:8px 0;
  }

  .ft-hero{
    padding:75px 0 15px;
  }

  .ft-hero h1{
    font-size:29px;
    letter-spacing:-.6px;
  }

  .ft-heading h2,
  .ft-content-panel h2,
  .ft-dark-cta h2{
    font-size:22px;
  }

  .ft-hero-points{
    display:none;
  }

  .ft-trust{
    margin-top:0;
  }

  .ft-content-panel,
  .ft-dark-panel,
  .ft-dark-cta{
    padding:23px 18px;
  }

  .ft-toc-list{
    grid-template-columns:1fr;
  }

  .ft-step{
    grid-template-columns:47px minmax(0,1fr);
  }

  .ft-step-number{
    width:44px;
    height:44px;
  }

  .ft-btn-wrap{
    flex-direction:column;
    margin:0;
  }

  .ft-btn-wrap .ft-btn{
    width:100%;
    margin:5px 0;
  }

  .ft-floating{
    display:none;
  }

  .ft-mobile-bar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9999;
    display:grid;
    grid-template-columns:1fr 1fr;
    box-shadow:0 -8px 24px rgba(0,0,0,.15);
  }

  .ft-mobile-bar a{
    padding:14px 8px;
    color:#fff;
    text-align:center;
    font-size:14px;
    font-weight:950;
  }

  .ft-mobile-bar a:first-child{
    background:var(--ft-dark);
  }

  .ft-mobile-bar a:last-child{
    background:var(--ft-red);
  }

  body{
    padding-bottom:54px;
  }
}

.ft-btn-stack{
  flex-direction:column;
  margin:0;
}

.ft-btn-stack .ft-btn{
  width:100%;
  margin:0 0 10px;
  text-align:center;
}

.ft-btn-stack .ft-btn:last-child{
  margin-bottom:0;
}


/* =========================================================
   RECENT BULGARIA VISA APPOINTMENTS
========================================================= */

.ft-recent-appointments {
  background: #f8f9fb;
}


/* Gallery */
.ft-appointment-gallery {
  margin-top: 10px;
}


/* Appointment Card */
.ft-appointment-proof {
  position: relative;
  width: 100%;
  height: 100%;

  background: #ffffff;

  border: 1px solid #e6e9ee;
  border-radius: 16px;

  overflow: hidden;

  box-shadow:
    0 8px 30px rgba(0, 0, 0, 0.06);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}


/* Hover */
.ft-appointment-proof:hover {
  transform: translateY(-5px);

  border-color: #d8dce2;

  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.10);
}


/* Image Wrapper */
.ft-appointment-image {
  position: relative;

  width: 100%;

  background: #ffffff;

  overflow: hidden;
}


/* Appointment Screenshot */
.ft-appointment-image img {
  width: 100%;
  height: auto;

  display: block;

  object-fit: contain;

  transition: transform 0.35s ease;
}


/* Small Zoom on Hover */
.ft-appointment-proof:hover .ft-appointment-image img {
  transform: scale(1.01);
}


/* Confirmed Badge */
.ft-proof-badge {
  position: absolute;

  left: 18px;
  bottom: 18px;

  display: inline-flex;
  align-items: center;

  gap: 6px;

  padding: 9px 15px;

  background: rgba(255, 255, 255, 0.96);

  color: #123d61;

  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;

  border-radius: 50px;

  border: 1px solid rgba(0, 0, 0, 0.05);

  box-shadow:
    0 4px 18px rgba(0, 0, 0, 0.16);

  z-index: 2;
}


/* Green Check */
.ft-proof-badge i {
  color: #16a34a;

  font-size: 15px;
}


/* CTA */
.ft-recent-appointment-cta {
  margin-top: 15px;
}


/* Disclaimer */
.ft-proof-disclaimer {
  max-width: 900px;

  margin:
    22px auto
    0;

  padding: 0 15px;

  color: #777777;

  font-size: 12px;
  line-height: 1.6;
}




/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

  .ft-appointment-proof {
    border-radius: 14px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

  .ft-appointment-gallery {
    margin-top: 5px;
  }


  .ft-appointment-proof {
    border-radius: 12px;
  }


  .ft-proof-badge {
    left: 12px;
    bottom: 12px;

    padding: 7px 12px;

    font-size: 11px;
  }


  .ft-proof-badge i {
    font-size: 13px;
  }


  .ft-proof-disclaimer {
    margin-top: 15px;

    font-size: 11px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

  .ft-appointment-proof {
    border-radius: 10px;
  }


  .ft-proof-badge {
    left: 10px;
    bottom: 10px;

    padding: 6px 10px;

    font-size: 10px;
  }

}


.text-white li{
    color: #ffffff;
}
}
