/* ===========================
   GOOGLE FONT
=========================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ===========================
   ROOT COLORS
=========================== */

:root{

    --primary:#0F9D58;

    --secondary:#0A7C43;

    --dark:#101828;

    --light:#F8FAFC;

    --white:#ffffff;

    --text:#475467;

    --border:#E4E7EC;

    --shadow:0 20px 60px rgba(0,0,0,.08);

    --radius:22px;

}

/* ===========================
   RESET
=========================== */

*{

margin:0;

padding:0;

box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Poppins',sans-serif;

background:#F6F8FB;

color:var(--text);

overflow-x:hidden;

}

/* ===========================
   LINKS
=========================== */

a{

text-decoration:none;

transition:.3s;

}

img{

max-width:100%;

display:block;

}

/* ===========================
   NAVBAR
=========================== */

.navbar{

background:#fff;

padding:18px 0;

box-shadow:0 10px 30px rgba(0,0,0,.05);

}

/* Navbar Logo */
.navbar-brand{
    padding: 0;
    display: flex;
    align-items: center;
}

.logo-img{
    width: 5px;      /* தேவைக்கு 45px - 70px மாற்றலாம் */
    height: 55px;
    object-fit: contain;
    display: block;
}

/* Desktop */
@media (min-width:992px){
    .logo-img{
        width:60px;
        height:60px;
    }
}

/* Mobile */
@media (max-width:991px){
    .logo-img{
        width:45px;
        height:45px;
    }
}
.navbar-brand span{

color:var(--primary);

}

.nav-link{

font-size:16px;

font-weight:500;

margin-left:18px;

color:#333;

}

.nav-link:hover{

color:var(--primary);

}

.navbar .btn{

padding:12px 28px;

border-radius:50px;

font-weight:600;

}

/* ===========================
 HERO
=========================== */
/* Desktop Logo */
.logo-desktop{
    width:70px;
    height:70px;
    object-fit:contain;
    display:block;
}

/* Mobile Logo Hidden */
.logo-mobile{
    display:none;
}

/* Brand Name */
.brand-text{
    font-size:30px;
    line-height:1;
    font-weight:700;
}

/* ===========================
   Mobile
=========================== */
@media (max-width:991px){

    .logo-desktop{
        display:none;
    }

    .logo-mobile{
        display:block;
        width:45px;
        height:45px;
        object-fit:contain;
    }

    .brand-text{
        font-size:18px;
    }

}
/* ======================================
   HERO SECTION
====================================== */

.hero{
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;

    min-height: 720px;

    background: url("/static/images/banner4.png") no-repeat center center;
    background-size: cover;
}

/* White Overlay */

.hero-overlay{
    position: absolute;
    inset: 0;

    background: linear-gradient(
        90deg,
        rgba(255,255,255,.98) 0%,
        rgba(255,255,255,.92) 30%,
        rgba(255,255,255,.70) 45%,
        rgba(255,255,255,.20) 65%,
        rgba(255,255,255,0) 100%
    );

    z-index: 1;
}

.hero .container{
    position: relative;
    z-index: 2;
}

/* Heading */

.hero h1{
    font-size: 68px;
    font-weight: 800;
    line-height: 1.1;
    color: #111827;
}

.hero p{
    max-width: 620px;
    font-size: 20px;
    line-height: 34px;
    margin-top: 20px;
    color: #555;
}

/* Buttons */

.hero .btn{
    padding:16px 40px;
    border-radius:50px;
    font-weight:600;
}

/* Badge */

.badge{
    font-weight:600;
    padding:12px 24px;
    border-radius:50px;
    letter-spacing:.5px;
}

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

@media (max-width:991px){

    .hero{
        min-height:650px;
        background-position:65% center;
    }

    .hero h1{
        font-size:52px;
    }

    .hero p{
        font-size:18px;
        line-height:30px;
    }

    .hero .btn{
        padding:14px 30px;
    }

}

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

@media (max-width:768px){

    .hero{

        min-height:100vh;

        background-image:url("/static/images/mob.png");
        background-size:cover;
        background-position:center;
        background-repeat:no-repeat;

        padding:80px 0;
    }

    .hero-overlay{

        background:linear-gradient(
            rgba(255,255,255,.88),
            rgba(255,255,255,.72)
        );
    }

    .hero h1{

        font-size:38px;
        line-height:1.2;
        text-align:center;
    }

    .hero p{

        font-size:17px;
        line-height:28px;
        text-align:center;
        max-width:100%;
    }

    .hero .badge{

        display:table;
        margin:0 auto 20px;
    }

    .hero .d-flex{

        flex-direction:column;
        gap:15px !important;
    }

    .hero .btn{

        width:100%;
        padding:14px 20px;
    }
}

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

@media (max-width:768px){

    .hero{
        min-height:100vh;
        padding:90px 0 50px;

        background-image:url("/static/images/mob.png");
        background-repeat:no-repeat;
        background-position:center top;
        background-size:cover;

        display:flex;
        align-items:flex-start;
    }

    .hero-overlay{
        background:linear-gradient(
            rgba(255,255,255,.75),
            rgba(255,255,255,.45)
        );
    }

    .hero .container{
        width:100%;
    }

    .hero .row{
        justify-content:center;
    }

    .hero .col-lg-6{
        text-align:center;
    }

    .hero h1{
        font-size:34px;
        line-height:1.2;
        margin-bottom:15px;
    }

    .hero p{
        font-size:16px;
        line-height:28px;
        margin-bottom:25px;
        max-width:100%;
    }

    .hero .badge{
        display:inline-block;
        margin-bottom:20px;
    }

    .hero .d-flex{
        flex-direction:column;
        gap:15px !important;
    }

    .hero .btn{
        width:100%;
        padding:14px;
        font-size:16px;
    }
}
/* ===========================
 SHADOW CARD
=========================== */

.shadow-lg{

box-shadow:var(--shadow)!important;

border:none!important;

border-radius:var(--radius)!important;

}

/* ======================================
   BOOKING SECTION
====================================== */

.booking-section{

padding:80px 0;

margin-top:-70px;

position:relative;

z-index:99;

}

.booking-card{

background:rgba(255,255,255,.92);

backdrop-filter:blur(20px);

-webkit-backdrop-filter:blur(20px);

border-radius:28px;

padding:40px;

box-shadow:0 30px 70px rgba(0,0,0,.12);

border:1px solid rgba(255,255,255,.3);

}

.booking-card label{

font-weight:600;

margin-bottom:8px;

color:#222;

}

.booking-card .form-control,

.booking-card .form-select{

height:58px;

border-radius:16px;

border:1px solid #E5E7EB;

padding-left:18px;

font-size:15px;

box-shadow:none;

transition:.3s;

}

.booking-card .form-control:focus,

.booking-card .form-select:focus{

border-color:#0F9D58;

box-shadow:0 0 0 .25rem rgba(15,157,88,.12);

}

.booking-card button{

height:58px;

border-radius:16px;

font-weight:700;

font-size:17px;

}

/* ======================================
   VEHICLE SECTION
====================================== */

.card{
    background:#fff;
    border:1px solid #E8ECF3 !important;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
}

.card-img-top{
    height:220px;
    object-fit:contain;
    padding:25px;
    background:#F8FAFC;
    filter:brightness(1.08)
           contrast(1.12)
           saturate(1.05)
           drop-shadow(0 10px 18px rgba(0,0,0,.12));
}
.card:hover{

transform:translateY(-10px);

box-shadow:0 30px 60px rgba(0,0,0,.12);

}

.card img{

transition:.5s;

}

.card:hover img{

transform:scale(1.06);

}

.card-body{

padding:30px;

}

.card-body h4{

font-weight:700;

color:#111827;

}

.card-body ul{

margin:18px 0;

padding:0;

}

.card-body ul li{

list-style:none;

padding:8px 0;

font-size:15px;

color:#555;

}

.card-body h3{

font-size:32px;

font-weight:800;

color:#0F9D58;

}

.card .btn{

border-radius:50px;

padding:14px;

font-weight:600;

}

/* ======================================
   BADGES
====================================== */

.text-success{

color:#0F9D58!important;

}

.badge{

border-radius:30px;

padding:10px 18px;

font-size:13px;

}

/* ======================================
   ICON BOX
====================================== */

.bi{

transition:.3s;

}

.shadow:hover .bi{

transform:rotate(8deg) scale(1.1);

}

/* ======================================
   WHY CHOOSE US
====================================== */

.why-card{

background:#fff;

padding:35px;

border-radius:22px;

text-align:center;

transition:.35s;

}

.why-card:hover{

transform:translateY(-8px);

box-shadow:0 20px 50px rgba(0,0,0,.10);

}

.why-card i{

font-size:50px;

color:#0F9D58;

margin-bottom:18px;

}

/* ======================================
   POPULAR SEARCH
====================================== */

.popular-search .badge{

background:#fff;

color:#333;

padding:14px 22px;

font-weight:600;

border:1px solid #E5E7EB;

transition:.3s;

}

.popular-search .badge:hover{

background:#0F9D58;

color:#fff;

}

/* ======================================
   SECTION SPACING
====================================== */

section{

padding-top:80px;

padding-bottom:80px;

}

/* ======================================
   TESTIMONIAL SECTION
====================================== */

.testimonial-section{

background:#F8FAFC;

}

.testimonial-card{

background:#fff;

border-radius:24px;

padding:35px;

box-shadow:0 20px 50px rgba(0,0,0,.08);

transition:.35s;

height:100%;

}

.testimonial-card:hover{

transform:translateY(-10px);

box-shadow:0 30px 70px rgba(0,0,0,.12);

}

.testimonial-card img{

width:65px;

height:65px;

border-radius:50%;

object-fit:cover;

border:3px solid #0F9D58;

}

.testimonial-card h5{

font-weight:700;

margin-bottom:5px;

}

.testimonial-card p{

line-height:28px;

color:#667085;

}

/* ======================================
   FAQ
====================================== */

.accordion-item{

border:none;

margin-bottom:18px;

border-radius:20px!important;

overflow:hidden;

box-shadow:0 10px 30px rgba(0,0,0,.06);

}

.accordion-button{

padding:22px;

font-weight:600;

font-size:17px;

background:#fff;

box-shadow:none!important;

}

.accordion-button:not(.collapsed){

background:#0F9D58;

color:#fff;

}

.accordion-body{

padding:22px;

line-height:30px;

color:#555;

}

/* ======================================
   CTA SECTION
====================================== */

.cta-section{

background:linear-gradient(135deg,#0F9D58,#087443);

padding:90px 0;

color:#fff;

border-radius:30px;

}

.cta-section h2{

font-size:48px;

font-weight:800;

color:#fff;

}

.cta-section p{

font-size:18px;

opacity:.95;

}

.cta-section .btn{

padding:16px 40px;

border-radius:50px;

font-weight:700;

}

/* ======================================
   FOOTER
====================================== */

footer{

background:#0F172A;

color:#CBD5E1;

padding-top:70px;

}

footer h3,

footer h5{

color:#fff;

font-weight:700;

margin-bottom:20px;

}

footer ul{

padding:0;

}

footer ul li{

list-style:none;

margin-bottom:12px;

}

footer ul li a{

color:#CBD5E1;

transition:.3s;

}

footer ul li a:hover{

color:#0F9D58;

padding-left:8px;

}

footer .social a{

width:45px;

height:45px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:#1E293B;

color:#fff;

font-size:18px;

transition:.3s;

}

footer .social a:hover{

background:#0F9D58;

transform:translateY(-5px);

}

footer hr{

border-color:#334155;

margin:35px 0;

}

/* ======================================
   FLOAT BUTTONS
====================================== */

.whatsapp-btn{

position:fixed;

right:25px;

bottom:95px;

width:60px;

height:60px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:#25D366;

color:#fff;

font-size:30px;

box-shadow:0 15px 40px rgba(37,211,102,.4);

z-index:999;

animation:pulse 2s infinite;

}

.call-btn{

position:fixed;

right:25px;

bottom:20px;

width:60px;

height:60px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:#2563EB;

color:#fff;

font-size:26px;

box-shadow:0 15px 40px rgba(37,99,235,.4);

z-index:999;

animation:pulse 2s infinite;

}

@keyframes pulse{

0%{

transform:scale(1);

}

50%{

transform:scale(1.08);

}

100%{

transform:scale(1);

}

}

/* ======================================
   SCROLLBAR
====================================== */

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-thumb{

background:#0F9D58;

border-radius:20px;

}

::-webkit-scrollbar-track{

background:#E5E7EB;

}

/* ======================================
   SELECTION
====================================== */

::selection{

background:#0F9D58;

color:#fff;

}

/* ======================================
   LARGE DESKTOP (1400px)
====================================== */

@media (min-width:1400px){

.container{

max-width:1320px;

}

.hero h1{

font-size:68px;

}

.hero-car{

max-width:760px;

}

}

/* ======================================
   LAPTOP (1200px)
====================================== */

@media (max-width:1200px){

.hero h1{

font-size:54px;

}

.hero{

padding:80px 0;

}

.booking-card{

padding:30px;

}

}

/* ======================================
   TABLET (992px)
====================================== */

@media (max-width:992px){

.navbar{

padding:15px 0;

}

.navbar-brand{

font-size:28px;

}

.hero{

text-align:center;

padding:70px 0;

}

.hero h1{

font-size:46px;

}

.hero p{

margin:auto;

margin-top:20px;

}

.hero-car{

margin-top:40px;

max-width:500px;

}

.booking-section{

margin-top:0;

}

.booking-card{

padding:25px;

}

.card{

margin-bottom:20px;

}

footer{

text-align:center;

}

footer .social{

justify-content:center;

display:flex;

gap:12px;

}

}

/* ======================================
   MOBILE (768px)
====================================== */

@media (max-width:768px){

.hero{

padding:60px 0;

}

.hero h1{

font-size:38px;

line-height:1.3;

}

.hero p{

font-size:16px;

line-height:28px;

}

.hero .btn{

width:100%;

margin-bottom:12px;

}

.hero-car{

max-width:360px;

}

.booking-card{

padding:20px;

border-radius:20px;

}

.booking-card .row>div{

margin-bottom:15px;

}

.card-body{

padding:20px;

}

.card-body h3{

font-size:28px;

}

section{

padding:60px 0;

}

.cta-section{

text-align:center;

padding:60px 20px;

}

.cta-section h2{

font-size:34px;

}

footer{

padding-top:50px;

}

.whatsapp-btn,

.call-btn{

width:55px;

height:55px;

font-size:24px;

right:18px;

}

}

/* ======================================
   SMALL MOBILE (576px)
====================================== */

@media (max-width:576px){

.navbar-brand{

font-size:24px;

}

.hero h1{

font-size:32px;

}

.hero p{

font-size:15px;

}

.badge{

font-size:12px;

padding:8px 16px;

}

.hero-car{

max-width:300px;

}

.booking-card{

padding:18px;

}

.booking-card .form-control,

.booking-card .form-select{

height:50px;

font-size:14px;

}

.booking-card button{

height:50px;

font-size:15px;

}

.card{

border-radius:18px;

}

.card-body{

padding:18px;

}

.card-body h4{

font-size:22px;

}

.card-body h3{

font-size:24px;

}

.testimonial-card{

padding:22px;

}

.testimonial-card img{

width:55px;

height:55px;

}

.accordion-button{

font-size:15px;

padding:18px;

}

footer{

font-size:14px;

}

footer h3{

font-size:24px;

}

}

/* ======================================
   EXTRA SMALL MOBILE (375px)
====================================== */

@media (max-width:375px){

.hero h1{

font-size:28px;

}

.hero-car{

max-width:250px;

}

.booking-card{

padding:15px;

}

.card-body{

padding:15px;

}

.card-body h4{

font-size:20px;

}

.card-body h3{

font-size:22px;

}

.hero .btn{

padding:14px;

font-size:15px;

}

.whatsapp-btn,

.call-btn{

width:50px;

height:50px;

font-size:22px;

}

}

/* ===========================================
   PREMIUM GLASS EFFECT
=========================================== */

.glass{

background:rgba(255,255,255,.75);

backdrop-filter:blur(18px);

-webkit-backdrop-filter:blur(18px);

border:1px solid rgba(255,255,255,.35);

box-shadow:0 20px 60px rgba(0,0,0,.08);

border-radius:24px;

}

/* ===========================================
   PREMIUM GRADIENT BUTTON
=========================================== */

.btn-success{

background:linear-gradient(135deg,#16a34a,#22c55e);

border:none;

transition:.4s;

}

.btn-success:hover{

background:linear-gradient(135deg,#15803d,#16a34a);

transform:translateY(-4px);

box-shadow:0 18px 35px rgba(34,197,94,.35);

}

/* ===========================================
   CARD HOVER EFFECT
=========================================== */

.card{

overflow:hidden;

position:relative;

}

.card::before{

content:"";

position:absolute;

top:-100%;

left:-100%;

width:250%;

height:250%;

background:linear-gradient(

45deg,

transparent,

rgba(255,255,255,.25),

transparent

);

transform:rotate(25deg);

transition:1s;

}

.card:hover::before{

top:-20%;

left:-20%;

}

.card:hover{

transform:translateY(-10px);

}

/* ===========================================
   IMAGE ZOOM
=========================================== */

.card img{

transition:.5s;

}

.card:hover img{

transform:scale(1.08);

}

/* ===========================================
   ICON BOX
=========================================== */

.icon-box{

width:80px;

height:80px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:#fff;

box-shadow:0 15px 40px rgba(0,0,0,.08);

margin:auto;

transition:.4s;

}

.icon-box i{

font-size:34px;

color:#16a34a;

}

.icon-box:hover{

transform:rotate(12deg) scale(1.08);

}

/* ===========================================
   FLOATING LEAF ANIMATION
=========================================== */

.leaf{

position:absolute;

animation:leafMove 12s linear infinite;

opacity:.18;

}

@keyframes leafMove{

0%{

transform:translateY(-50px) rotate(0deg);

}

100%{

transform:translateY(120vh) rotate(360deg);

}

}

/* ===========================================
   BOOKING FORM
=========================================== */

.booking-card{

position:relative;

overflow:hidden;

}

.booking-card::after{

content:"";

position:absolute;

top:-100px;

right:-100px;

width:220px;

height:220px;

background:rgba(34,197,94,.08);

border-radius:50%;

}

/* ===========================================
   PRICE
=========================================== */

.price{

font-size:38px;

font-weight:800;

color:#16a34a;

}

.price small{

font-size:16px;

color:#777;

}

/* ===========================================
   ROUTE CARD
=========================================== */

.route-card{

background:#fff;

padding:20px;

border-radius:18px;

transition:.35s;

box-shadow:0 12px 35px rgba(0,0,0,.05);

}

.route-card:hover{

background:#16a34a;

color:#fff;

transform:translateY(-6px);

}

.route-card:hover h5,

.route-card:hover p{

color:#fff;

}

/* ===========================================
   BADGES
=========================================== */

.badge-premium{

background:#ECFDF3;

color:#16a34a;

padding:10px 20px;

border-radius:40px;

font-weight:600;

}

/* ===========================================
   SCROLL ANIMATION
=========================================== */

.fade-up{

opacity:0;

transform:translateY(40px);

transition:.8s;

}

.fade-up.show{

opacity:1;

transform:translateY(0);

}

/* ===========================================
   HERO BACKGROUND
=========================================== */

.hero{

position:relative;

overflow:hidden;

}

.hero::after{

content:"";

position:absolute;

width:500px;

height:500px;

background:#bbf7d0;

filter:blur(160px);

right:-180px;

top:-120px;

z-index:0;

opacity:.45;

}

.hero>*{

position:relative;

z-index:2;

}

/* ===========================================
   SHIMMER BUTTON
=========================================== */

.btn{

position:relative;

overflow:hidden;

}

.btn::before{

content:"";

position:absolute;

top:0;

left:-120%;

width:70%;

height:100%;

background:rgba(255,255,255,.35);

transform:skewX(-25deg);

transition:.7s;

}

.btn:hover::before{

left:130%;

}


/* ==========================================
   PREMIUM NAVBAR
========================================== */

.navbar{

transition:.35s;

}

.navbar.scrolled{

padding:10px 0;

background:rgba(255,255,255,.95);

backdrop-filter:blur(18px);

box-shadow:0 15px 40px rgba(0,0,0,.08);

}

/* ==========================================
   NAV LINK
========================================== */

.nav-link{

position:relative;

}

.nav-link::after{

content:"";

position:absolute;

bottom:-6px;

left:50%;

width:0;

height:3px;

background:#16a34a;

border-radius:30px;

transition:.35s;

transform:translateX(-50%);

}

.nav-link:hover::after{

width:80%;

}

/* ==========================================
   HERO BACKGROUND
========================================== */


/* ==========================================
   FLOATING CIRCLES
========================================== */

.circle{

position:absolute;

border-radius:50%;

background:rgba(34,197,94,.08);

animation:circleMove 12s linear infinite;

}

.circle1{

width:250px;

height:250px;

top:-80px;

right:-100px;

}

.circle2{

width:180px;

height:180px;

bottom:-80px;

left:-50px;

}

@keyframes circleMove{

0%{

transform:translateY(0);

}

50%{

transform:translateY(25px);

}

100%{

transform:translateY(0);

}

}

/* ==========================================
   CARD GLOW
========================================== */

.card:hover{

box-shadow:

0 15px 40px rgba(0,0,0,.08),

0 0 35px rgba(22,163,74,.18);

}

/* ==========================================
   ICON GLOW
========================================== */

.bi{

transition:.35s;

}

.card:hover .bi{

transform:scale(1.15);

color:#16a34a;

}

/* ==========================================
   INPUT ICON EFFECT
========================================== */

.form-control,

.form-select{

background:#fff;

}

.form-control:hover,

.form-select:hover{

border-color:#22c55e;

}

/* ==========================================
   TITLE ANIMATION
========================================== */

h1,h2,h3{

animation:titleFade 1s ease;

}

@keyframes titleFade{

from{

opacity:0;

transform:translateY(25px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/* ==========================================
   IMAGE SHADOW
========================================== */

.hero-car{

filter:drop-shadow(0 40px 40px rgba(0,0,0,.18));

}

/* ==========================================
   PREMIUM BADGE
========================================== */

.badge{

box-shadow:0 10px 20px rgba(34,197,94,.18);

}

/* ==========================================
   FOOTER
========================================== */

footer{

position:relative;

overflow:hidden;

}

footer::before{

content:"";

position:absolute;

width:450px;

height:450px;

background:#16a34a;

opacity:.05;

border-radius:50%;

right:-180px;

top:-180px;

}

/* ==========================================
   LOADER EFFECT
========================================== */

.loading{

width:50px;

height:50px;

border:5px solid #ddd;

border-top-color:#16a34a;

border-radius:50%;

animation:spin 1s linear infinite;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}
}
/* ==========================================
   PREMIUM SELECTION
========================================== */

::selection{

background:#16a34a;

color:#fff;

}

/* ==========================================
   HOVER SCALE
========================================== */

img{

transition:.5s;

}

img:hover{

transform:scale(1.03);

}


/* Booking Tabs */
.booking-tabs .btn{
    white-space: nowrap;
    font-size: 18px;
    padding: 14px 40px;
}

/* Mobile */
@media (max-width:768px){

    .booking-tabs{
        display:flex;
        width:100%;
    }

    .booking-tabs .btn{
        flex:1;
        padding:12px 8px;
        font-size:15px;
        white-space:nowrap;
    }

}

.booking-tabs{
    display:inline-flex;
}

.booking-tabs .btn{
    min-width:180px;
    padding:14px 30px;
    white-space:nowrap;
}

/* Mobile */
@media(max-width:768px){

    .booking-tabs{
        width:100%;
    }

    .booking-tabs .btn{
        flex:1;
        min-width:auto;
        padding:12px 10px;
        font-size:15px;
    }

}