*{

margin:0;
padding:0;
box-sizing:border-box;

font-family:'Poppins',sans-serif;

}



.container{

max-width:1250px;

margin:auto;

padding-left:60px;
padding-right:60px;

}



/* HERO */

.contact-hero{

height:300px;

background:
linear-gradient(
90deg,
rgba(43,124,255,0.75),
rgba(99,193,50,0.75)
),
url("phone.jpg");

background-size:cover;
background-position:center;

display:flex;
align-items:center;
justify-content:center;

text-align:center;

color:white;

}



.contact-hero h1{

font-size:46px;
font-weight:700;

margin-top:10px;

}



.hero-text{

max-width:700px;

margin:auto;

margin-top:10px;

line-height:1.6;

}



/* CONTACT SECTION */

.contact-section{

padding:80px 0;

background:#f5f6f7;

}



/* TOP INFO */

.top-info{

display:flex;

justify-content:space-between;

align-items:flex-start;

margin-bottom:40px;

}



.left-title h2{

font-size:38px;

margin-top:10px;

}



.left-title span{

border-bottom:4px solid #63c132;

}



.desc{

color:#666;

margin-top:10px;

max-width:420px;

}



.info-boxes{

display:flex;

gap:50px;

}



.info h4{

margin-bottom:6px;

}



/* MAP + FORM */

.map-form-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:40px;

margin-top:30px;

}



/* MAP */

.map-box iframe{

width:100%;
height:420px;

border:none;

border-radius:6px;

}



/* FORM */

.form-box label{

font-size:14px;

margin-top:12px;

display:block;

}



.form-box input,
.form-box textarea{

width:100%;

padding:12px;

margin-top:6px;

border:1px solid #ddd;

border-radius:4px;

}



.submit-btn{

margin-top:20px;

background:#2b7cff;

color:white;

border:none;

padding:12px 22px;

cursor:pointer;

transition:0.3s;

}



.submit-btn:hover{

background:#1a5fd1;

transform:translateY(-2px);

}




/* SUBSCRIBE BANNER */

.subscribe-banner {

background:
linear-gradient(
90deg,
#2b7cff,
#63c132
);

padding:80px 0;

color:white;

margin-top:60px;

}



.subscribe-inner {

max-width:1250px;

margin:auto;

padding-left:60px;
padding-right:60px;

display:flex;

justify-content:space-between;

align-items:center;

}



.subscribe-text h2 {

font-size:42px;

margin-top:10px;

}



.sub-desc {

max-width:500px;

margin-top:10px;

line-height:1.6;

}



.subscribe-box {

margin-top:20px;

display:flex;

}



.subscribe-box input {

padding:12px;

width:260px;

border:none;

}



.subscribe-box button {

background:#1a5fd1;

color:white;

border:none;

padding:12px 22px;

cursor:pointer;

transition:0.3s;

}



.subscribe-box button:hover {

background:#0e4cb0;

}



.subscribe-graphic img {

height:160px;

animation: planeMove 6s linear infinite;

}



/* PLANE ANIMATION */

@keyframes planeMove {

0% {

transform: translateX(0);

}

50% {

transform: translateX(20px);

}

100% {

transform: translateX(0);

}

}

/* FOOTER */

.footer {

background:#f7f7f7;

padding:60px 0;

margin-top:60px;

}

.footer-grid {

display:grid;

grid-template-columns:repeat(6,1fr);

gap:30px;

width:90%;

margin:auto;

font-size:14px;

}

.footer h4 {

margin-bottom:15px;

font-size:16px;

}

.footer ul {

list-style:none;

}

.footer li {

margin-bottom:8px;

color:#777;

cursor:pointer;

}

.footer input {

width:100%;

padding:10px;

margin-top:10px;

margin-bottom:10px;

border:1px solid #ddd;

}

.subscribe-btn {

background:#2b7cff;

color:white;

border:none;

padding:10px 20px;

cursor:pointer;

}



.bottom-footer {

margin-top:40px;

text-align:center;

font-size:13px;

color:#777;

border-top:1px solid #ddd;

padding-top:20px;

}



/* RESPONSIVE */

@media(max-width:992px){

.map-form-grid {

grid-template-columns:1fr;

}



.subscribe-inner {

flex-direction:column;

text-align:center;

}



.footer-grid {

grid-template-columns:repeat(3,1fr);

}

}



@media(max-width:600px){

.footer-grid {

grid-template-columns:repeat(2,1fr);

}

}

/* HEADER */

.header {

background:white;

box-shadow:0 2px 10px rgba(0,0,0,0.1);

position:fixed;

width:100%;

z-index:1000;

}

.header-flex {

display:flex;

justify-content:space-between;

align-items:center;

padding:15px 0;

}

.nav a {

margin-left:25px;

text-decoration:none;

color:#333;

font-weight:500;

}

.nav .active {

color:#2b7cff;

border-bottom:2px solid #2b7cff;

}


/* FORM CONTAINER */

.travel-form {

background: white;

padding: 40px;

border-radius: 8px;

box-shadow: 0 10px 30px rgba(0,0,0,0.1);

max-width: 700px;

margin: auto;

}



/* TITLE */

.travel-form h2 {

text-align: center;

font-size: 28px;

margin-bottom: 10px;

}



.form-subtext {

text-align: center;

color: #666;

margin-bottom: 25px;

}



/* INPUTS */

.travel-form label {

display: block;

margin-bottom: 6px;

font-weight: 500;

}



.travel-form input[type="text"],
.travel-form input[type="date"] {

width: 100%;

padding: 12px;

border: 1px solid #ddd;

border-radius: 6px;

margin-bottom: 18px;

}



/* ROW */

.row {

display: flex;

gap: 20px;

}



.field {

flex: 1;

}



/* COUNTER */

.counter {

display: flex;

align-items: center;

gap: 8px;

}



.counter button {

width: 35px;

height: 35px;

border: none;

background: #eee;

cursor: pointer;

font-size: 18px;

border-radius: 5px;

}



.counter input {

width: 50px;

text-align: center;

}



/* CHECKBOX */

.checkbox-row {

display: flex;

gap: 30px;

margin: 20px 0;

}



/* RATING */

.rating {

text-align: center;

margin-top: 10px;

}



.stars span {

font-size: 24px;

color: #ccc;

cursor: pointer;

margin: 0 4px;

transition: 0.3s;

}



.stars span.active {

color: gold;

}



/* BUTTON */

.next-btn {

width: 100%;

background: #f7a600;

color: black;

font-weight: 600;

padding: 14px;

border: none;

border-radius: 6px;

margin-top: 25px;

cursor: pointer;

transition: 0.3s;

}



.next-btn:hover {

background: #e69400;

transform: translateY(-2px);

}



/* RESPONSIVE */

@media(max-width:768px){

.row {

flex-direction: column;

}

}