/*==================================================
REYAAN TRAVELS
COMMON SERVICE CSS
Version : 1.0
==================================================*/


/*==================================================
RESET
==================================================*/

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Poppins',sans-serif;
background:#ffffff;
color:#222;
line-height:1.7;
overflow-x:hidden;
}

img{
max-width:100%;
display:block;
}

a{
text-decoration:none;
transition:.3s;
}

ul{
list-style:none;
}

.container{
width:100%;
max-width:1400px;
margin:auto;
padding:0 20px;
}

/*==================================================
COMMON SECTION
==================================================*/

section{
padding:90px 0;
position:relative;
}

.section-heading{
text-align:center;
margin-bottom:60px;
}

.section-heading span{

display:inline-block;

padding:8px 20px;

background:#edf4ff;

color:#0B56C5;

font-weight:700;

border-radius:30px;

font-size:14px;

letter-spacing:1px;

margin-bottom:15px;

text-transform:uppercase;

}

.section-heading h2{

font-size:48px;

font-weight:700;

color:#0B56C5;

margin-bottom:20px;

}

.section-heading p{

max-width:760px;

margin:auto;

font-size:18px;

color:#666;

}

/*==================================================
BUTTONS
==================================================*/

.btn-primary{

display:inline-flex;

align-items:center;

justify-content:center;

padding:16px 38px;

background:#FFB400;

color:#000;

font-weight:700;

border-radius:10px;

transition:.35s;

}

.btn-primary:hover{

background:#ffcb32;

transform:translateY(-4px);

}

.btn-whatsapp{

display:inline-flex;

align-items:center;

justify-content:center;

padding:16px 38px;

background:#25D366;

color:#fff;

font-weight:700;

border-radius:10px;

transition:.35s;

}

.btn-whatsapp:hover{

background:#1fb85a;

transform:translateY(-4px);

}

/*==================================================
COMMON HERO
==================================================*/

.service-hero{

position:relative;

min-height:760px;

display:flex;

align-items:center;

overflow:hidden;

}

.service-overlay{

width:100%;

background:rgba(3,34,86,.70);

min-height:760px;

display:flex;

align-items:center;

}

.service-container{

display:grid;

grid-template-columns:1fr 560px;

gap:70px;

align-items:center;

}

/*==================================================
LEFT CONTENT
==================================================*/

.service-content{

color:#fff;

}

.service-badge{

display:inline-block;

padding:10px 22px;

background:rgba(255,255,255,.12);

border-radius:40px;

margin-bottom:20px;

font-size:15px;

}

.service-content h1{

font-size:62px;

line-height:1.1;

margin-bottom:25px;

font-weight:700;

}

.service-content p{

font-size:22px;

margin-bottom:30px;

max-width:650px;

}

.hero-features{

margin-bottom:35px;

}

.hero-features li{

padding:8px 0;

font-size:18px;

}

.hero-buttons{

display:flex;

gap:18px;

flex-wrap:wrap;

}

/*==================================================
COMMON FORM
==================================================*/

.service-form{

background:#fff;

padding:35px;

border-radius:22px;

box-shadow:0 25px 60px rgba(0,0,0,.15);

}

.service-form h2{

text-align:center;

font-size:34px;

color:#0B56C5;

margin-bottom:25px;

}

.form-row{

display:grid;

grid-template-columns:1fr 1fr;

gap:15px;

margin-bottom:15px;

}

.service-form label{

display:block;

font-weight:600;

margin-bottom:6px;

color:#444;

font-size:14px;

}

.service-form input,
.service-form select{

width:100%;

height:55px;

padding:0 15px;

border:1px solid #ddd;

border-radius:10px;

font-size:15px;

transition:.3s;

}

.service-form input:focus,
.service-form select:focus{

border-color:#0B56C5;

outline:none;

}

.service-form button{

width:100%;

height:60px;

background:#0B56C5;

color:#fff;

font-size:18px;

font-weight:700;

border:none;

border-radius:10px;

cursor:pointer;

margin-top:10px;

transition:.3s;

}

.service-form button:hover{

background:#073d93;

}

/*==================================================
TRIP TABS
==================================================*/

.trip-tabs{
display:flex;
gap:10px;
margin-bottom:25px;
}

.trip-tabs label{
flex:1;
text-align:center;
padding:14px 10px;
background:#f4f8ff;
border:2px solid #d9e6ff;
border-radius:10px;
font-weight:600;
cursor:pointer;
transition:.3s;
color:#333;
}

.trip-tabs label:hover{
background:#0B56C5;
color:#fff;
border-color:#0B56C5;
}

.trip-tabs input{
display:none;
}

.trip-active{
background:#0B56C5 !important;
color:#fff !important;
border-color:#0B56C5 !important;
}

/*==================================================
SERVICE GRID
==================================================*/

.service-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
}

.service-card{
background:#fff;
padding:35px 25px;
border-radius:20px;
text-align:center;
box-shadow:0 10px 35px rgba(0,0,0,.08);
transition:.35s;
}

.service-card:hover{
transform:translateY(-10px);
box-shadow:0 20px 45px rgba(0,0,0,.15);
}

.service-icon{
width:80px;
height:80px;
margin:auto;
margin-bottom:20px;
border-radius:50%;
background:#edf4ff;
display:flex;
align-items:center;
justify-content:center;
font-size:38px;
color:#0B56C5;
}

.service-card h3{
font-size:24px;
color:#0B56C5;
margin-bottom:15px;
}

.service-card p{
font-size:16px;
color:#666;
line-height:1.8;
}

/*==================================================
AIRLINES
==================================================*/

.airlines-section{
background:#f8fbff;
}

.airline-grid{
display:grid;
grid-template-columns:repeat(6,1fr);
gap:25px;
align-items:center;
}

.airline-box{
background:#fff;
padding:25px;
border-radius:18px;
display:flex;
align-items:center;
justify-content:center;
height:130px;
box-shadow:0 8px 25px rgba(0,0,0,.08);
transition:.3s;
}

.airline-box:hover{
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.airline-box img{
max-height:55px;
width:auto;
}

/*==================================================
POPULAR ROUTES
==================================================*/

.route-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.route-card{
background:#fff;
padding:30px;
border-radius:18px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
transition:.35s;
border-left:5px solid #0B56C5;
}

.route-card:hover{
transform:translateY(-8px);
box-shadow:0 18px 40px rgba(0,0,0,.12);
}

.route-card h3{
font-size:24px;
color:#0B56C5;
margin-bottom:12px;
}

.route-card p{
color:#666;
}

/*==================================================
FEATURE GRID
==================================================*/

.feature-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
}

.feature-box{
background:#fff;
padding:35px;
border-radius:18px;
text-align:center;
box-shadow:0 10px 30px rgba(0,0,0,.08);
transition:.35s;
}

.feature-box:hover{
background:#0B56C5;
color:#fff;
transform:translateY(-8px);
}

.feature-box:hover h3,
.feature-box:hover p{
color:#fff;
}

.feature-box h3{
font-size:22px;
color:#0B56C5;
margin-bottom:15px;
}

.feature-box p{
color:#666;
line-height:1.8;
}

/*==================================================
DESTINATION GRID
==================================================*/

.destination-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.destination-card{
background:#fff;
overflow:hidden;
border-radius:20px;
box-shadow:0 10px 35px rgba(0,0,0,.08);
transition:.35s;
}

.destination-card:hover{
transform:translateY(-10px);
box-shadow:0 20px 45px rgba(0,0,0,.15);
}

.destination-card img{
width:100%;
height:240px;
object-fit:cover;
transition:.5s;
}

.destination-card:hover img{
transform:scale(1.08);
}

.destination-card h3{
padding:20px 20px 8px;
font-size:24px;
color:#0B56C5;
}

.destination-card p{
padding:0 20px 25px;
color:#666;
}

/*==================================================
COMMON ANIMATION
==================================================*/

.service-card,
.route-card,
.destination-card,
.airline-box,
.feature-box{
transition:all .35s ease;
}
/*==================================================
BOOKING PROCESS
==================================================*/

.booking-process{
    background:#f8fbff;
}

.process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.process-card{
    background:#fff;
    border-radius:20px;
    padding:40px 30px;
    text-align:center;
    position:relative;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
}

.process-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 45px rgba(0,0,0,.15);
}

.process-number{
    width:70px;
    height:70px;
    margin:0 auto 20px;
    border-radius:50%;
    background:#0B56C5;
    color:#fff;
    font-size:28px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
}

.process-card h3{
    color:#0B56C5;
    font-size:24px;
    margin-bottom:15px;
}

.process-card p{
    color:#666;
    line-height:1.8;
}

/*==================================================
SPECIAL OFFERS
==================================================*/

.flight-offers{
    background:#fff;
}

.offer-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.offer-card{
    background:linear-gradient(135deg,#0B56C5,#083b87);
    color:#fff;
    border-radius:20px;
    padding:35px;
    transition:.35s;
}

.offer-card:hover{
    transform:translateY(-10px);
}

.offer-card h3{
    font-size:28px;
    margin-bottom:15px;
}

.offer-card p{
    margin-bottom:25px;
    line-height:1.8;
}

.offer-btn{
    display:inline-block;
    background:#FFB400;
    color:#000;
    padding:14px 28px;
    border-radius:8px;
    font-weight:700;
}

.offer-btn:hover{
    background:#ffd04d;
}

/*==================================================
STATISTICS
==================================================*/

.flight-stats{
    background:#0B56C5;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.stat-box{
    text-align:center;
    color:#fff;
}

.stat-box h2{
    font-size:52px;
    margin-bottom:10px;
}

.stat-box p{
    font-size:18px;
}

/*==================================================
REVIEWS
==================================================*/

.review-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.review-card{
    background:#fff;
    border-radius:20px;
    padding:35px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
}

.review-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 45px rgba(0,0,0,.15);
}

.stars{
    color:#FFB400;
    font-size:22px;
    margin-bottom:18px;
}

.review-card p{
    color:#666;
    line-height:1.8;
}

.review-card h4{
    margin-top:20px;
    color:#0B56C5;
}

.review-card span{
    color:#999;
    font-size:14px;
}

/*==================================================
WHY REYAAN
==================================================*/

.why-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.why-box{
    background:#fff;
    padding:35px;
    text-align:center;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
}

.why-box:hover{
    background:#0B56C5;
    color:#fff;
    transform:translateY(-10px);
}

.why-icon{
    width:80px;
    height:80px;
    margin:0 auto 20px;
    border-radius:50%;
    background:#edf4ff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:38px;
}

.why-box:hover .why-icon{
    background:#fff;
}

.why-box h3{
    color:#0B56C5;
    margin-bottom:15px;
}

.why-box:hover h3,
.why-box:hover p{
    color:#fff;
}

/*==================================================
COMMON SECTION BACKGROUND
==================================================*/

.bg-light{
    background:#f8fbff;
}

.bg-white{
    background:#fff;
}

.bg-primary{
    background:#0B56C5;
    color:#fff;
}
/*==================================================
FAQ
==================================================*/

.flight-faq,
.hotel-faq,
.taxi-faq,
.bus-faq,
.rail-faq,
.cruise-faq{
    background:#f8fbff;
}

.faq-item{
    background:#fff;
    margin-bottom:20px;
    padding:28px 30px;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
}

.faq-item:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 40px rgba(0,0,0,.12);
}

.faq-item h3{
    color:#0B56C5;
    font-size:22px;
    margin-bottom:12px;
}

.faq-item p{
    color:#666;
    line-height:1.8;
}

/*==================================================
CTA SECTION
==================================================*/

.flight-cta,
.hotel-cta,
.taxi-cta,
.bus-cta,
.rail-cta,
.cruise-cta{

    background:linear-gradient(135deg,#0B56C5,#06357b);
    text-align:center;
    color:#fff;

}

.flight-cta h2,
.hotel-cta h2,
.taxi-cta h2,
.bus-cta h2,
.rail-cta h2,
.cruise-cta h2{

    font-size:50px;
    margin-bottom:20px;

}

.flight-cta p,
.hotel-cta p,
.taxi-cta p,
.bus-cta p,
.rail-cta p,
.cruise-cta p{

    max-width:700px;
    margin:auto;
    margin-bottom:35px;
    font-size:20px;

}

.flight-cta .hero-buttons,
.hotel-cta .hero-buttons,
.taxi-cta .hero-buttons,
.bus-cta .hero-buttons,
.rail-cta .hero-buttons,
.cruise-cta .hero-buttons{

    justify-content:center;

}

/*==================================================
NEWSLETTER
==================================================*/

.newsletter{
    background:#ffffff;
}

.newsletter-box{

    max-width:900px;
    margin:auto;
    background:#0B56C5;
    border-radius:20px;
    padding:60px;
    text-align:center;
    color:#fff;

}

.newsletter-box h2{

    font-size:42px;
    margin-bottom:15px;

}

.newsletter-box p{

    margin-bottom:30px;
    font-size:18px;

}

.newsletter-form{

    display:flex;
    gap:15px;

}

.newsletter-form input{

    flex:1;
    height:60px;
    border:none;
    border-radius:10px;
    padding:0 20px;
    font-size:16px;

}

.newsletter-form button{

    width:220px;
    border:none;
    background:#FFB400;
    color:#000;
    border-radius:10px;
    font-weight:700;
    cursor:pointer;

}

.newsletter-form button:hover{

    background:#ffd04d;

}

/*==================================================
PARTNER LOGOS
==================================================*/

.travel-partners{

    background:#f8fbff;

}

.partner-grid{

    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:25px;

}

.partner-box{

    background:#fff;
    border-radius:18px;
    padding:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;

}

.partner-box:hover{

    transform:translateY(-8px);

}

.partner-box img{

    max-height:55px;
    width:auto;

}

/*==================================================
CALL STRIP
==================================================*/

.flight-call-strip{

    padding:50px 0;

}

.call-strip{

    background:#0B56C5;
    color:#fff;
    padding:40px 50px;
    border-radius:20px;

    display:flex;
    justify-content:space-between;
    align-items:center;

}

.call-strip h2{

    font-size:38px;
    margin-bottom:10px;

}

.call-strip p{

    font-size:18px;

}

/*==================================================
FINAL CTA
==================================================*/

.final-flight-cta{

    background:#083b87;
    text-align:center;
    color:#fff;

}

.final-flight-cta h2{

    font-size:52px;
    margin-bottom:20px;

}

.final-flight-cta p{

    max-width:700px;
    margin:auto;
    margin-bottom:35px;
    font-size:20px;

}

/*==================================================
COMMON HOVER EFFECT
==================================================*/

.service-card,
.feature-box,
.route-card,
.offer-card,
.review-card,
.partner-box,
.destination-card,
.process-card,
.why-box{

    transition:all .35s ease;

}

.service-card:hover,
.feature-box:hover,
.route-card:hover,
.offer-card:hover,
.review-card:hover,
.partner-box:hover,
.destination-card:hover,
.process-card:hover,
.why-box:hover{

    transform:translateY(-10px);

}
/*==================================================
RESPONSIVE - LARGE DEVICES
==================================================*/

@media(max-width:1200px){

.service-container{
grid-template-columns:1fr 480px;
gap:40px;
}

.service-content h1{
font-size:52px;
}

.airline-grid{
grid-template-columns:repeat(3,1fr);
}

.partner-grid{
grid-template-columns:repeat(3,1fr);
}

.service-grid,
.feature-grid,
.why-grid,
.process-grid{
grid-template-columns:repeat(2,1fr);
}

.route-grid,
.destination-grid,
.offer-grid,
.review-grid{
grid-template-columns:repeat(2,1fr);
}

}

/*==================================================
TABLET
==================================================*/

@media(max-width:991px){

section{
padding:70px 0;
}

.service-container{
grid-template-columns:1fr;
gap:50px;
}

.service-content{
text-align:center;
}

.service-content h1{
font-size:44px;
}

.service-content p{
font-size:18px;
margin:auto auto 30px;
}

.hero-features{
display:inline-block;
text-align:left;
}

.hero-buttons{
justify-content:center;
}

.service-form{
max-width:700px;
margin:auto;
}

.call-strip{
flex-direction:column;
text-align:center;
gap:25px;
}

.newsletter-box{
padding:40px;
}

.newsletter-form{
flex-direction:column;
}

.newsletter-form button{
width:100%;
height:60px;
}

.flight-cta h2,
.hotel-cta h2,
.taxi-cta h2,
.bus-cta h2,
.rail-cta h2,
.cruise-cta h2,
.final-flight-cta h2{
font-size:40px;
}

}

/*==================================================
MOBILE
==================================================*/

@media(max-width:768px){

section{
padding:60px 0;
}

.service-overlay{
padding:80px 0;
min-height:auto;
}

.service-hero{
min-height:auto;
}

.section-heading{
margin-bottom:40px;
}

.section-heading h2{
font-size:30px;
line-height:1.3;
}

.section-heading p{
font-size:16px;
}

.service-content h1{
font-size:34px;
}

.service-content p{
font-size:17px;
}

.hero-buttons{
flex-direction:column;
}

.btn-primary,
.btn-whatsapp{
width:100%;
}

.trip-tabs{
flex-direction:column;
}

.form-row{
grid-template-columns:1fr;
}

.service-grid,
.feature-grid,
.why-grid,
.process-grid,
.route-grid,
.destination-grid,
.offer-grid,
.review-grid,
.airline-grid,
.partner-grid{
grid-template-columns:1fr;
}

.destination-card img{
height:220px;
}

.service-form{
padding:25px;
}

.newsletter-box{
padding:30px 20px;
}

.newsletter-box h2{
font-size:28px;
}

.newsletter-box p{
font-size:16px;
}

.call-strip{
padding:30px;
}

.call-strip h2{
font-size:28px;
}

.call-strip p{
font-size:16px;
}

.flight-cta h2,
.hotel-cta h2,
.taxi-cta h2,
.bus-cta h2,
.rail-cta h2,
.cruise-cta h2,
.final-flight-cta h2{
font-size:30px;
}

.flight-cta p,
.hotel-cta p,
.taxi-cta p,
.bus-cta p,
.rail-cta p,
.cruise-cta p,
.final-flight-cta p{
font-size:16px;
}

}

/*==================================================
SMALL MOBILE
==================================================*/

@media(max-width:480px){

.container{
padding:0 15px;
}

.service-content h1{
font-size:28px;
}

.service-badge{
font-size:13px;
padding:8px 16px;
}

.hero-features li{
font-size:16px;
}

.service-form{
padding:20px;
border-radius:16px;
}

.service-form h2{
font-size:26px;
}

.service-form input,
.service-form select,
.service-form button{
height:52px;
}

.section-heading h2{
font-size:26px;
}

.section-heading span{
font-size:12px;
}

.process-number{
width:60px;
height:60px;
font-size:22px;
}

.service-icon,
.why-icon{
width:70px;
height:70px;
font-size:32px;
}

}

/*==================================================
COMMON ANIMATIONS
==================================================*/

.fade-up{
animation:fadeUp .8s ease both;
}

.fade-left{
animation:fadeLeft .8s ease both;
}

.fade-right{
animation:fadeRight .8s ease both;
}

.zoom-in{
animation:zoomIn .8s ease both;
}

@keyframes fadeUp{

from{
opacity:0;
transform:translateY(40px);
}

to{
opacity:1;
transform:translateY(0);
}

}

@keyframes fadeLeft{

from{
opacity:0;
transform:translateX(-40px);
}

to{
opacity:1;
transform:translateX(0);
}

}

@keyframes fadeRight{

from{
opacity:0;
transform:translateX(40px);
}

to{
opacity:1;
transform:translateX(0);
}

}

@keyframes zoomIn{

from{
opacity:0;
transform:scale(.9);
}

to{
opacity:1;
transform:scale(1);
}

}

/*==================================================
CUSTOM SCROLLBAR
==================================================*/

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#f1f1f1;
}

::-webkit-scrollbar-thumb{
background:#0B56C5;
border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
background:#083b87;
}