/* ===================================
   COLOR PALETTE
=================================== */

:root {

  --pumpkin-spice: #ff6700;
  --platinum: #ebebeb;
  --silver: #c0c0c0;
  --cornflower-ocean: #3a6ea5;
  --steel-azure: #004e98;

  --main-bg-color: var(--platinum);
  --text-color: var(--steel-azure);

  --navbar-bg: var(--steel-azure);
  --navbar-text: #ffffff;

  --card-bg: #ffffff;
  --card-text: var(--steel-azure);
  --card-border: var(--silver);

  --button-bg: var(--pumpkin-spice);
  --button-text: #ffffff;

  --footer-bg: var(--cornflower-ocean);
  --footer-text: #ffffff;

}


/* ===================================
   GLOBAL
=================================== */

body {

  background: var(--main-bg-color);
  color: var(--text-color);

  font-family: 'Noto Sans Tamil', sans-serif;

}


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

.custom-navbar {

    background: var(--navbar-bg);
    padding: 20px 0;

}
.navbar-brand {

    display: flex;
    justify-content: center;
    align-items: center;

}


.logo-img {

    width: 140px;
    height: 140px;

    object-fit: cover;

    transform: scale(1.05);

    border-radius: 100px;

    border: 4px solid white;

    padding: 6px;

    background: white;

    box-shadow: 0 4px 15px rgba(0,0,0,0.2);

}

.logo-title {

    color: white;
    font-weight: 700;
    font-size: 1.8rem;
    text-align: center;

}

.logo-subtitle {

  color: #dfefff;

}

.nav-link {

  color: white !important;
  font-weight: 500;

}

.nav-link:hover {

  color: var(--pumpkin-spice) !important;

}


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

.hero-section {

  padding: 60px 20px;

}

.hero-title {

  font-size: 2.2rem;
  font-weight: 800;

  color: var(--steel-azure);

}

.hero-text {

  font-size: 1rem;
  color: #555;

}


/* =========================
   BUS CARD
========================= */

.bus-card {

    background: white;

    padding: 22px;

    border-radius: 22px;

    box-shadow: 0 4px 15px rgba(0,0,0,0.08);

    border: 1px solid #e0e0e0;

}


/* Next Bus Text */

.next-bus-text {

    color: var(--steel-azure);

    font-weight: 700;

    font-size: 1rem;

}


/* Countdown Highlight */

.countdown {

    background: var(--pumpkin-spice);

    color: white;

    padding: 8px 16px;

    border-radius: 12px;

    font-size: 1.5rem;

    font-weight: 700;

}


/* Bus Number */

.bus-number {

    color: var(--pumpkin-spice);

    font-size: 2rem;

    font-weight: 800;

}


/* Route */

.route-text {

    color: var(--steel-azure);

    font-size: 1rem;

    font-weight: 600;

}


/* =========================
   INFO SLIDER
========================= */

.info-slider {

    height: 50px;

    overflow: hidden;

    background: white;

    border-bottom: 1px solid #ddd;

    position: relative;

}


/* Moving Container */

.info-track {

    display: flex;

    flex-direction: column;

    animation: verticalSlide 12s infinite;

}


/* =========================
   TOP INFO BAR
========================= */

.top-info-bar {

    width: 100%;

    overflow: hidden;

    background: white;

    border-bottom: 1px solid #ddd;

    padding: 12px 0;

}


/* Horizontal Moving */

.info-scroll {

    display: flex;

    width: max-content;

    animation: scrollLeft 20s linear infinite;

}
.copy-btn {

    border: none;

    background: var(--steel-azure);

    color: white;

    padding: 8px 12px;

    border-radius: 10px;

    font-size: 0.8rem;

    font-weight: 600;

    cursor: pointer;

    transition: 0.3s;

}

.copy-btn:hover {

    transform: scale(1.05);

}


.info-scroll:hover {

    animation-play-state: paused;

}
/* .info-scroll {

    display: flex;

    width: max-content;

    animation: scrollLeft 50s linear infinite;

} */
.info-scroll {
    display: flex;
    width: max-content;
    animation: marquee 30s linear infinite;
}

@keyframes marquee {
    0% {
        transform: translate3d(0,0,0);
    }
    100% {
        transform: translate3d(-50%,0,0);
    }
}

.hero-section{
    min-height: 80vh;
    background:
    linear-gradient(
        rgba(0,0,0,0.35),
        rgba(0,0,0,0.45)
    ),
    url('assets/images/elur-banner.png');

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media (max-width: 768px){

    .hero-section{
        min-height: 60vh;
        background-position: center center;
    }

    .hero-section h1{
        font-size: 2rem;
    }

    .hero-section p{
        font-size: 1rem;
    }
}





/* Each Box */

.info-box {

    display: flex;

    align-items: center;

    gap: 12px;

    background: var(--platinum);

    padding: 10px 18px;

    border-radius: 16px;

    margin-right: 18px;

    min-width: 220px;

    box-shadow: 0 2px 8px rgba(0,0,0,0.08);

}


/* Icon */

.info-icon {

    width: 45px;

    height: 45px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: var(--pumpkin-spice);

    color: white;

    border-radius: 12px;

    font-size: 1.2rem;

}


/* Text Area */

.info-content {

    display: flex;

    flex-direction: column;

}


/* Title */

.info-title {

    font-size: 0.9rem;

    font-weight: 700;

    color: var(--steel-azure);

}


/* Number */

.info-number {

    font-size: 0.95rem;

    font-weight: 600;

    color: #333;

}


/* Animation */

@keyframes scrollLeft {

    from {

        transform: translateX(100%);

    }

    to {

        transform: translateX(-100%);

    }

}


/* Mobile */

@media(max-width:768px){

    .info-box {

        min-width: 190px;

        padding: 8px 14px;

    }

}

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

.footer {

  background: var(--footer-bg);

  color: var(--footer-text);

  text-align: center;

  padding: 20px;

  margin-top: 40px;

}


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

@media(max-width:768px){

  .hero-title {

    font-size: 1.8rem;

  }

  .logo-title {

    font-size: 1.2rem;

  }
    .bus-number {

        font-size: 1.7rem;

    }

    .route-text {

        font-size: 0.9rem;

    }

}
/* =========================
   THEME TOGGLER
========================= */

.theme-toggler {

    position: fixed;

    top: 120px;

    right: -220px;

    background: white;

    width: 220px;

    padding: 20px;

    border-radius: 20px 0 0 20px;

    box-shadow: 0 5px 15px rgba(0,0,0,0.1);

    transition: 0.4s;

    z-index: 9999;

}


/* Active Open */

.theme-toggler.active {

    right: 0;

}


/* Gear Button */

.toggle-btn {

    position: absolute;

    top: 20px;

    left: -55px;

    width: 55px;

    height: 55px;

    background: white;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 12px 0 0 12px;

    cursor: pointer;

    box-shadow: 0 5px 15px rgba(0,0,0,0.1);

}


/* Gear Icon */

.toggle-btn i {

    font-size: 1.5rem;

    color: var(--pumpkin-spice);

    animation: rotate 3s linear infinite;

}


/* Rotation */

@keyframes rotate {

    100% {

        transform: rotate(360deg);

    }

}


/* Title */

.theme-toggler h3 {

    font-size: 1rem;

    margin-bottom: 15px;

    color: #333;

}


/* Color Buttons */

.buttons {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

}


/* Single Color */

.theme-btn {

    width: 40px;

    height: 40px;

    border-radius: 50%;

    cursor: pointer;

    border: 3px solid white;

    box-shadow: 0 2px 10px rgba(0,0,0,0.1);

    transition: 0.3s;

}

.theme-btn:hover {

    transform: scale(1.1);

}
/* =========================
   MOBILE THEME TOGGLER
========================= */

@media(max-width:768px){

    .theme-toggler{

        width: 180px;

        right: -180px;

        top: 100px;

        padding: 15px;

    }

    .theme-toggler.active{

        right: 0;

    }

    .toggle-btn{

        width: 45px;

        height: 45px;

        left: -45px;

    }

    .toggle-btn i{

        font-size: 1.2rem;

    }

    .theme-btn{

        width: 35px;

        height: 35px;

    }

}
.business-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: 0.3s;
}

.business-card:hover {
    transform: translateY(-5px);
}

.business-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}
.business-card{
    background: var(--card-bg);
    border-radius: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: 0.3s;
}
.image-link{
    display:block;
    text-decoration:none;
}

.business-empty-icon{
    font-size: 60px;
    color: #ffc107;
}
.owner-box {
    display: flex;
    align-items: center;
}

.owner-img {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #0d6efd;
}

.owner-info {
    margin-left: 10px;
}

.owner-info h5 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
}

.owner-info p {
    margin: 0;
    color: #666;
    font-size: 14px;
}

.whatsapp-btn {
    width: 50px;
    height: 50px;
    background: #25D366;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 24px;
    transition: 0.3s;
}

.whatsapp-btn:hover {
    background: #1ebe5d;
    color: white;
}

.business-image-box {
    width: 100%;
    height: 220px;
    overflow: hidden;
    border-radius: 15px;
}

.business-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.business-content {
    padding-top: 15px;
}

.business-content h2 {
    color: var(--pumpkin-spice);
    font-weight: 700;
    margin-bottom: 10px;
}

.business-content p {
    color: #555;
    font-size: 15px;
    line-height: 1.6;
}
.details-btn{
    width:50%;
    display:inline-block;
    text-align:center;
    text-decoration:none;
    border:none;
    padding:12px;
    border-radius:12px;
    background:var(--button-bg);
    color:var(--button-text);
    font-weight:700;
    transition:0.3s;
}
.details-btn-box{
    margin-top:20px;
    display:flex;
    justify-content:center;
}
.toggle-icon-btn{
    width:40px;
    height:40px;
    border:none;
    border-radius:50%;
    background:var(--button-bg);
    color:white;
    font-size:20px;
    transition:0.3s;
}




/* MOBILE */
@media(max-width:576px){

    .back-home-btn{
        width:90%;
        justify-content:center;
        padding:14px;
        font-size:16px;
    }

}

.toggle-icon-btn:hover{
    transform:scale(1.1);
}
.details-btn:hover{
    opacity:0.9;
    color:var(--button-text);
}
.card-link{
    text-decoration:none;
    display:block;
}

.card-link:hover{
    text-decoration:none;
}
.back-home-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
    background:#0d6efd;
    color:white;
    padding:10px 18px;
    border-radius:12px;
    font-weight:600;
    transition:0.3s;
}

.back-home-btn:hover{
    background:#084298;
    color:white;
}

.dweb-section{
    background: linear-gradient(
        135deg,
        #f8fbff,
        #eef5ff
    );
}

.service-card{
    height:100%;
    padding:30px;
    border-radius:20px;
    background:rgba(255,255,255,0.9);
    backdrop-filter:blur(10px);
    box-shadow:
        0 10px 25px rgba(0,0,0,0.08);

    transition:all 0.35s ease;
    border:1px solid rgba(255,255,255,0.5);
}

.service-card:hover{
    transform:translateY(-10px);
    box-shadow:
        0 20px 35px rgba(0,0,0,0.12);
}

.service-icon{
    width:70px;
    height:70px;
    line-height:70px;
    font-size:32px;
    text-align:center;
    border-radius:50%;
    background:linear-gradient(
        135deg,
        #0d6efd,
        #4da3ff
    );
    color:white;
    margin-bottom:20px;
}

.service-card h5{
    font-weight:700;
    margin-bottom:15px;
}

.service-card p{
    color:#666;
    margin-bottom:0;
}

.featured-card{
    background:linear-gradient(
        135deg,
        #0d6efd,
        #4da3ff
    );
    color:white;
    text-align:center;
}

.featured-card p{
    color:white;
}

.featured-card .btn{
    font-weight:600;
}

@media(max-width:768px){

    .service-card{
        padding:22px;
    }

    .service-icon{
        width:60px;
        height:60px;
        line-height:60px;
        font-size:28px;
    }
}

