:root{
  --primary-color: #0d1b2a;
  --secondary-color: #dd9830;
  --light-bg: #f5f8fb;
  --title-color: #121f36;
  --font-color: #1c2733;
  --white-color: #fff;
}
body{
	line-height: 25px;
	background: var(--white-color);
	font-size: 16px;
	color: var(--font-color);
	font-weight: 400;
	font-family: "Inter", sans-serif;
    font-weight: normal;
}
a {
    background: 0 0;
    -webkit-transition: all .2s ease 0s;
    -moz-transition: all .2s ease 0s;
    -o-transition: all .2s ease 0s;
    -ms-transition: all .2s ease 0s;
    transition: all .2s ease 0s;
    color: var(--primary-color);
	text-decoration:none;
}
a:focus, a:hover {
    text-decoration: none;
	color: var(--secondary-color);
}
h1, h2, h3, h4, h5, h6 {
    font-family: "Poppins", sans-serif;
    margin-top: 0;
	line-height: 1.1em;
	color:var(--title-color);
}
.header{
	background: rgba(255, 255, 255, .98);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(12, 33, 51, .06);
    box-shadow: 0 12px 32px rgba(16, 24, 40, .05);
}
.topbar{
	background:var(--primary-color);
}
.topbar a{
	color:var(--white-color);
}
.navbar-nav li{
	padding:7px;
}
.navbar-nav li a{
	font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.3px;
	color:var(--primary-color);
}
.navbar-nav li a:hover{
	color:var(--secondary-color);
}
.main-btn{
    border-radius: 999px;
    font-weight: 800;
    padding: .9rem 2.35rem;
	background: var(--secondary-color);
    border:1px solid var(--secondary-color);
    color: #1f2428;
	outline:none;
	display:inline-block;
	text-align: center;
}
.main-btn:hover{
	color:var(--white-color);
	background-color: #dd9830;
	border-color: #dd9830;
}
.sec-pad{
	padding:80px 0;
}
.hero-sec{
	position: relative;
    background: linear-gradient(90deg, rgba(5, 22, 35, .82), rgba(9, 37, 56, .68)), url(../images/hero-minibus-barcelona.webp) center / cover no-repeat;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.hero-inner{
	position:relative;
	z-index:11;
}
.hero-title {
    font-size: 70px;
    font-weight: 800;
	color:var(--white-color);
	line-height:1.1em;
}
.hero-btns{
	display:flex;
	margin-top: 30px;
}
.hero-btns .main-btn.hero-serv-btn{
	background: transparent;
    border: 1px solid #f8f9fa;
    color: #f8f9fa;
}
.hero-btns .main-btn.hero-serv-btn:hover{
	background: #f8f9fa;
    color: var(--primary-color);
}
.contact-form{
	background: rgba(255, 255, 255, .98);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(12, 33, 51, .06);
    box-shadow: 0 12px 32px rgba(16, 24, 40, .05);
	padding:35px;
	border-radius:20px;
	position:relative;
}
.form-title{
	font-size: 28px;
    font-weight: 700;
}
.form-input{
	margin-bottom:10px;
}
.form-input label, .form-check label {
    color: #222;
    margin-bottom: 5px;
    font-weight: 500;
}
.form-input input,
.form-input select {
    width: 100%;
    height: 45px;
    background: transparent;
    border: 1px solid var(--primary-color);
    border-radius: 6px;
    padding: 5px 15px;
    color: var(--font-color);
    outline: none;
}
.form-input textarea {
    width: 100%;
    height: 123px;
    background: transparent;
    border: 1px solid var(--primary-color);
    border-radius: 6px;
    padding: 5px 15px;
    color: var(--font-color);
	outline:none;
}

.form-input input:focus,
.form-input textarea:focus,
.form-input input,
.form-input textarea {
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
	box-shadow:none;
}
.error{
	color:#ff0000;
	margin-bottom:0;
	margin-top:2px;
	font-size:14px;
	display:none;
}
.step-2{
	display:none;
}
.form-btn .back-btn{
	background:var(--primary-color);
	color:var(--white-color);
	border-color:var(--primary-color);
}
.sec-title{
	font-size: 40px;
    font-weight: 700;
	line-height: 1.1em;
}
.light-bg{
	background: var(--light-bg);
}
.about-img{
	height:100%;
	background: var(--white-color);
	border-radius:20px;
}
.about-img img{
	height:100%;
	object-fit:cover;
	border-radius:20px;
}
.service-card{
	background:#fff;
	border-radius:20px;
	transition:0.4s;
}
.service-card:hover{
	box-shadow: 0 8px 30px -4px hsl(218 45% 20% / .15);
}
.serv-card-img img{
	border-top-left-radius:20px;
	border-top-right-radius:20px;
}
.serv-card-body{
	padding:20px;
}
.serv-card-body h3{
	font-size: 1.75rem;
	font-weight:700;
}
.serv-card-body a{
	font-size: 15px;
	font-weight:600;
}
.wcu-sec{
	position: relative;
   overflow: hidden;
   background: #0d1b2a;
}
.wcu-sec::after {
   content: "";
   position: absolute;
   top: 0;
   right: 0;
   width: 50%;
   height: 100%;
   background-image: url('../images/wcu-minibus-barcelona.webp');   /* <-- replace with your bus image */
   background-size: cover;
   background-position: center;
   z-index: 0;
}
 
/* optional dark gradient so text near the seam stays readable */
.wcu-sec::before {
   content: "";
   position: absolute;
   top: 0;
   right: 0;
   width: 50%;
   height: 100%;
   background: linear-gradient(to right, rgba(13,27,42,0.85) 0%, rgba(13,27,42,0) 35%);
   z-index: 1;
}
.wcu-sec .container{
	position:relative;
	z-index:111;
}
.wcu-content p{
    color: var(--white-color);
}
.wcu-img{
	height:100%;
}
.wcu-img img{
	height:100%;
	object-fit:cover;
}
.accordion-item{
	border:none;
	margin-bottom:10px;
}
.accordion-header{
	font-family:"Inter", sans-serif;
}
.accordion-button{
	border:1px solid var(--primary-color) !important;
	border-radius:20px !important;
	padding:12px 20px;
}
.accordion-button:not(.collapsed) {
    background-color: var(--primary-color) !important;
    color: var(--white-color);
	box-shadow:none;
}
.accordion-button:focus {
    box-shadow: none;
}
.accordion-button:not(.collapsed)::after {
    filter: brightness(30);
}
.accordion-body p{
	margin-bottom:0;
}
.footer{
	background:var(--primary-color);
}
.ft-logo a{
	display: inline-block;
    background: #fff;
    padding: 10px;
    border-radius: 20px;
}
.ftm-title{
	font-size: 22px;
    font-weight: 700;
    margin: 0;
    padding-bottom: 15px;
    color: var(--white-color);
}
.ftm-menu ul{
	padding:0;
	margin:0;
	list-style:none;
}
.ftm-menu ul li{
	padding:3.5px 0;
	position:relative;
	padding-left:15px;
	font-size:16px;
	font-weight:500;
}
.ftm-menu ul li:before{
	content: "\f105";
    font-family: FontAwesome;
    font-size: 14px;
    position: absolute;
    top: 3.5px;
    left: 0;
}
.ftm-widget-first .ftm-menu ul li:before{
	display:none;
}
.ftm-widget-first .ftm-menu ul li{
	padding-left:0;
}
.ftm-menu ul li a{
	color: #fff;
    transition: 0.4s;
	
}
.ftm-menu ul li:hover i,
.ftm-menu ul li:hover a{
	color:var(--secondary-color);
}
.ftm-widget-sec{
	border-left:1px solid var(--secondary-color);
}
.footer-bottom{
	background-color: #0b1223;
}
.footer-bottom p{
	padding: 8px 0;
    color: #fff;
	margin:0;
}
.float {
    position: fixed;
    bottom: 20px;
    right: 20px;
    color: #FFF;
    text-align: center;
    font-size: 30px;
    z-index: 100;
}
.page-inner{
	position: relative;
    background-color: var(--primary-color);
    padding: 80px 0;
}
.page-inner-content{
	position:relative;
	z-index:1;
}
.page-title {
    font-size: 60px;
    font-weight: 800;
	color:var(--white-color);
}
.page-img{
	height:100%;
}
.page-img img{
	border-radius:20px;
	height:100%;
	object-fit:cover;
}
.content-sec h2, .page-content h2{
	font-size: 25px;
    margin-bottom: 15px;
}
.content-sec a{
	color:var(--secondary-color);
}
.cta-sec{
	position: relative;
    background-color: var(--primary-color);
	border-bottom:1px solid var(--secondary-color);
	padding: 25px 0;
}
.cta-sec .sec-title{
	font-size:30px;
}
.list{
	padding-left:20px;
}
.list li{
	margin-bottom:5px;
}
.contact-list{
	list-style:none;
	padding:0;
}
.contact-list span{
	font-weight:bold;
	margin-right:5px;
}
.contact-list li a{
	text-decoration:none;
}
.g-map{
	height:350px;
}
@media (prefers-color-scheme: dark) {
  body {
    background-color: var(--white-color) !important;
    color: var(--font-color) !important;
  }
}
@media only screen and (max-width: 1199px) {
	.navbar-nav{
		padding-top:15px;
	}
	.navbar-nav li a{
		padding:2px 0;
	}
	.navbar-toggler{
		background-color: var(--secondary-color);
		border:none;
	}
	.navbar-toggler{
		border-radius: 0;
		padding: 6px;
	}
	.navbar-toggler:focus{
		box-shadow:none;
	}
	.navbar .top-btn.ms-3{
		margin-left:0 !important;
		margin-top:10px;
	}
	.hero-title{
		font-size: 60px;
	}
	.hero-btns{
		display:block;
	}
	.hero-btns .main-btn{
		display:block;
		text-align:center;
	}
	.hero-btns .main-btn.me-3{
		margin-right:0 !important;
		margin-bottom:12px;
	}
	.page-inner .hero-btns{
		display:flex;
	}
	.page-inner .hero-btns .main-btn.me-3{
		margin-right:15px !important;
		margin-bottom:0;
	}
}
@media only screen and (max-width: 991px) {
	.hero-title{
		font-size:50px;
	}
	.hero-btns{
		display:flex;
	}
	.hero-btns .main-btn.me-3 {
        margin-right: 10px !important;
        margin-bottom: 0;
    }
	.sec-pad{
		padding:60px 0;
	}
	.about-img.ps-2{
		padding-left:0 !important;
	}
	.mbl-down{
		order:2;
	}
	.form-input{
		margin-bottom: 10px;
	}
	.page-inner{
		padding:60px 0;
	}
	.page-title{
		font-size:45px;
	}
	.content-sec.pe-3{
		padding-right:0 !important;
	}
	.content-sec.ps-3{
		padding-left:0 !important;
	}
	.form-title{
		font-size:25px;
	}
	.cta-sec{
		text-align:center;
	}
	.cta-sec .sec-title{
		margin-bottom: 15px !important;
	}
	.cta-btns.text-end{
		text-align:center !important;
	}
	.ftm-widget-sec.ps-5{
		padding-left: calc(var(--bs-gutter-x) * .5) !important;
		border-left:none;
	}
}
@media only screen and (max-width: 767px) {
	.topbar{
		display:none;
	}
	.sec-pad {
		padding: 50px 0;
	}
	.hero-sec{
		padding-top: 50px;
        padding-bottom: 50px;
		height:auto;
	}
	.hero-btns{
		display:block;
	}
	.hero-btns .main-btn{
		display:block;
		text-align:center;
	}
	.hero-btns .main-btn.me-3{
		margin-right:0 !important;
		margin-bottom:12px;
	}
	.page-inner .hero-btns{
		display:block;
	}
	.page-inner .hero-btns .main-btn{
		display:block;
		text-align:center;
	}
	.page-inner  .hero-btns .main-btn.me-3{
		margin-right:0 !important;
		margin-bottom:12px;
	}
	.page-title {
        font-size: 35px;
		text-align: center;
    }
	.sec-title{
		font-size:30px;
	}
	.serv-card-body h3{
		font-size: 1.5rem;
	}
	.page-inner{
		height:auto;
		min-height:auto;
	}
	.page-inner .hero-title{
		font-size: 35px;
	}
	.contact-form{
		padding:20px;
	}
	.cta-sec{
		padding:50px 0;
	}
	.cta-inner{
		width:100%;
	}
	.wcu-sec::before{
		width:100%;
		background: linear-gradient(to right, rgba(13, 27, 42, 0.85) 100%, rgba(13, 27, 42, 0) 35%);
	}
	.wcu-sec::after{
		width:100%;
	}
}
@media only screen and (max-width: 500px) {
	.navbar-collapse {
		left: -100%;
		width: 85%;
	  }
	  .cta-sec .main-btn{
		  width:100%;
	  }
	  .cta-sec .main-btn.me-2{
		  margin-right:0 !important;
		  margin-bottom:10px;
	  }
	  .trust-content{
		  gap: 10px;
	  }
	  
}