* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
}

body {
    background: #f8f9fa;
    color: #333;
}

.navbar {
    background: #111;
    padding: 15px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.navbar a {
    color: #fff;
    text-decoration: none;
    margin-left: 20px;
}

.navbar a:hover {
    color: #4CAF50;
}

.hero {
    padding: 80px 20px;
    text-align: center;
    background: linear-gradient(to right, #4CAF50, #2e7d32);
    color: white;
}

.hero img {
    width: 120px;
    border-radius: 20px;
    margin-bottom: 20px;
}

.btn {
    background: white;
    color: #2e7d32;
    padding: 12px 25px;
    border-radius: 5px;
    text-decoration: none;
    display: inline-block;
    margin-top: 20px;
}

.section {
    padding: 60px 20px;
    max-width: 1100px;
    margin: auto;
}

.screenshots {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
}

.screenshots img {
    width: 250px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}






/* ================= GENERAL SECTION ================= */
.section {
    padding: 40px 20px;
    margin: 0 auto;
    max-width: 800px;
}

/* Section titles */
.section h2,
.section h3,
.section h4 {
    text-align: center;
    margin-bottom: 20px;
    color: #333;
}

/* ================= SCORE BOX ================= */
.score-box {
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 20px;
    max-width: 300px;
    margin: 0 auto 30px auto;
    background: #fff;
}

.score-box h3 {
    margin: 0;
    font-size: 28px;
    color: #222;
}

.score-box p {
    margin: 5px 0 10px 0;
    color: #555;
}

.score-box .stars {
    font-size: 20px;
}

.score-box .stars .filled {
    color: gold;
}

.score-box .stars .empty {
    color: #ccc;
}

/* ================= COMMENTS LIST ================= */
.comments-list {
    max-width: 600px;
    margin: 0 auto;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px;
    background: #f9f9f9;
    height: 300px;
    overflow-y: auto;
}

.comment-item {
    border-bottom: 1px solid #eee;
    padding: 10px 5px;
    margin-bottom: 5px;
}

.comment-item strong {
    display: block;
    margin-bottom: 5px;
    color: #222;
}

.comment-item .stars {
    font-size: 16px;
}

.comment-item .stars .filled {
    color: gold;
}

.comment-item .stars .empty {
    color: #ccc;
}

.comment-item p {
    margin: 5px 0 0 0;
    color: #333;
}

/* ================= FORM STYLING ================= */
form {
    max-width: 600px;
    margin: 0 auto;
}

form .form-control {
    width: 100%;
    padding: 10px 12px;
    margin-bottom: 10px;
    border-radius: 6px;
    border: 1px solid #ccc;
    box-sizing: border-box;
    font-size: 14px;
    resize: vertical;
}

form textarea.form-control {
    min-height: 80px;
}

form button {
    display: inline-block;
    padding: 10px 20px;
    border: none;
    background: #28a745; /* Bootstrap green */
    color: #fff;
    border-radius: 6px;
    cursor: pointer;
    font-size: 16px;
    transition: background 0.3s ease;
}

form button:hover {
    background: #218838;
}

/* ================= RESPONSIVE ================= */
@media (max-width: 768px) {
    .section {
        padding: 30px 15px;
    }

    .score-box {
        max-width: 100%;
    }

    .comments-list {
        max-width: 100%;
        height: 250px;
    }

    form {
        max-width: 100%;
    }
}










footer {
    background: #111;
    color: white;
    text-align: center;
    padding: 20px;
    margin-top: 40px;
}

@media(max-width: 768px) {
    .navbar {
        flex-direction: column;
    }
}



/* Circle Image */
.testimonial-img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

/* Testimonial Card */
.testimonial-card {
    border: none;
    border-radius: 15px;
    transition: all 0.4s ease;
    
    /* Animation Initial State */
    opacity: 0;
    transform: translateY(50px);
}

/* Hover Effect */
.testimonial-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.15);
}

/* Scroll Animation Active */
.testimonial-card.show {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.8s ease;
}

/* 
.testimonial-img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.testimonial-card {
    border: none;
    border-radius: 15px;
    padding: 40px;
    max-width: 600px;
    margin: auto;
}
*/




.split-section {
    padding: 100px 0;
    background: #0a0522;
}

.split-card {
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.08);
}

.split-content {
    display: flex;
    align-items: stretch;
}

/* Two sides */
.left-side,
.right-side {
    flex: 1;
    padding: 60px;
}

/* Divider line */
.left-side {
    border-right: 2px solid #eaeaea;
}

/* LEFT HEADING */
.animated-heading {
    font-size: 32px;
    font-weight: bold;
    position: relative;
    display: inline-block;
    margin-bottom: 20px;
}

/* Underline animation */
.animated-heading::after {
    content: "";
    width: 0;
    height: 3px;
    background: #000;
    position: absolute;
    left: 0;
    bottom: -8px;
    transition: 0.6s ease;
}

.swiper-slide-active .animated-heading::after {
    width: 100%;
}






/* Subtitle */
.subtitle {
    color: #777;
    margin-bottom: 15px;
}

/* RIGHT SIDE */
.right-side h4 {
    margin-bottom: 20px;
}

.right-side img {
    width: 100%;
    border-radius: 12px;
    margin-bottom: 20px;
}

/* Sub heading block under image */
.image-subtext {
    background: #000;
    color: #fff;
    padding: 15px;
    border-radius: 10px;
    font-weight: 500;
    margin-bottom: 15px;

    opacity: 0;
    transform: translateX(80px) translateY(40px);
    transition: 0.8s ease;
}

/* Extra text */
.extra-text {
    opacity: 0;
    transform: translateX(-80px) translateY(-40px);
    transition: 0.8s ease;
}

/* When slide active */
.swiper-slide-active .image-subtext {
    opacity: 1;
    transform: translateX(0) translateY(0);
}

.swiper-slide-active .extra-text {
    opacity: 1;
    transform: translateX(0) translateY(0);
}

/* Arrows */
.swiper-button-next,
.swiper-button-prev {
    color: #000;
}

/* Responsive */
@media(max-width:768px){
    .split-content {
        flex-direction: column;
    }

    .left-side {
        border-right: none;
        border-bottom: 2px solid #eaeaea;
    }
}







.eclipse-flat-section {
    position: relative;
    width: 100%;
    height: 200px;
    background: radial-gradient(circle at center, #1c1c1c 0%, #000 70%);
    overflow: hidden;
}

/* Dark overlay */
.overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(6px);
}

/* Container animations */
.fade-up {
    opacity: 0;
    transform: translateY(40px);
    animation: fadeUp 1.2s ease forwards;
}

.fade-up-delay {
    opacity: 0;
    transform: translateY(40px);
    animation: fadeUp 1.2s ease forwards;
    animation-delay: 0.5s;
}

@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Map container */
#map-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.map-image {
    width: 60%;
    max-width: 1200px;
    opacity: 0.85;
}

/* Canvas overlay for lights */
#map-lights {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}







/* ================= APP CARDS ================= */
.app-card {
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    text-align: center;

    /* NEW THEME */
    background: #0a0622;
    border: 1px solid rgba(255,255,255,0.08);
    color: #fff;
    transition: 0.3s ease;
}

.app-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.5);
}

.app-card img {
    height: 70px;
    object-fit: contain;
    margin: 0 auto;
}

.app-card small {
    min-height: 40px;
    display: block;
    color: #aaa;
}

/* ================= FLEX GRID FIX ================= */
.row-cols-2 > .col, 
.row-cols-md-3 > .col, 
.row-cols-lg-5 > .col {
    display: flex;
    flex: 1 0 auto;
}

.row-cols-2 > .col .app-card,
.row-cols-md-3 > .col .app-card,
.row-cols-lg-5 > .col .app-card {
    flex: 1 1 auto;
}

/* ================= TOOLTIP ================= */
.custom-tooltip {
    position: absolute;
    background: #560b63; /* BRAND COLOR */
    color: #fff;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 12px;
    display: none;
    z-index: 9999;
    pointer-events: none;
}

/* ================= FLEX LAYOUT ================= */
.app-layout {
    display: flex;
    width: 100%;
    gap: 5%;
    box-sizing: border-box;
}

/* ================= MAIN APPS ================= */
.main-apps {
    width: 60%;
}

/* ================= SIDEBAR ================= */
.sidebar-widget .sidebar-box {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ================= BUTTON THEME ================= */
.btn,
.sidebar-btn,
button {
    background: #560b63 !important;
    border: none !important;
    color: #fff !important;
    transition: 0.3s ease;
}

.btn:hover,
.sidebar-btn:hover,
button:hover {
    background: #6d1380 !important;
}

/* ================= LINKS AS BUTTONS ================= */
a.btn {
    background: #560b63 !important;
    color: #fff !important;
}

a.btn:hover {
    background: #6d1380 !important;
}



.card {
    background: #560b63;
    color: #ffffff; /* ensures text is readable */
    border-radius: 12px;
    padding: 20px;
}

/* ================= SECTION BACKGROUND ================= */
.app-wrapper {
    padding-left: 5%;
    padding-right: 5%;
    box-sizing: border-box;

    /* NEW GLOBAL BG */
    background: #560b63;
}

/* ================= RESPONSIVE ================= */
@media (max-width: 992px) {

    .app-layout {
        flex-direction: column;
        gap: 15px;
    }

    .left-sidebar,
    .main-apps,
    .right-sidebar {
        width: 100%;
        margin-bottom: 15px;
    }

    .app-wrapper {
        padding-left: 15px;
        padding-right: 15px;
        background: #560b63;
    }

    .sidebar-widget {
        margin-bottom: 20px;
    }
}





/* ===== ALL APPS LAYOUT ===== */
.app-layout {
    display: flex;
    gap: 5%;
    width: 100%;
}

.main-apps {
    width: 60%;
}

.right-sidebar {
    width: 15%;
}

.app-wrapper {
    padding-left: 5%;
    padding-right: 5%;
}

/* ===== CATEGORY SIDEBAR ===== */
.sidebar-box {
    background: #6f5fad03;
    padding: 15px;
    border-radius: 10px;
    border: 1px solid #3b1b5100;
}

.category-link {
    display: block;
    padding: 8px 10px;
    margin-bottom: 5px;
    border-radius: 6px;
    text-decoration: none;
    color: #333;
    transition: 0.3s ease;
}

.category-link:hover {
    background: #28a745;
    color: #fff;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 992px) {

    .app-layout {
        flex-direction: column;
        gap: 20px;
    }

    .main-apps,
    .right-sidebar {
        width: 100%;
    }

    .app-wrapper {
        padding-left: 15px;
        padding-right: 15px;
    }
}


/* =========================
   TOP BAR FIX
========================= */
.top-filter-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px;
    background:#fff;
    border-radius:12px;
    box-shadow:0 2px 10px rgba(0,0,0,0.05);
    margin-bottom:15px;
}

/* SEARCH BOX */
.search-box{
    flex:1;
    min-width:220px;
    position:relative; /* IMPORTANT */
}

/* =========================
   FLOATING DROPDOWN FIX
========================= */
.suggestions-box{
    position:absolute;
    top:100%;
    left:0;
    right:0;

    background:#fff;
    border:1px solid #ddd;
    border-radius:10px;

    z-index:9999;

    max-height:250px;
    overflow-y:auto;

    display:none;

    box-shadow:0 5px 15px rgba(0,0,0,0.15);
}

/* EACH ITEM */
.suggest-item{
    padding:10px;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:10px;
}

.suggest-item:hover{
    background:#f1f1f1;
}

/* ICON FIX (PREVENT BIG IMAGES) */
.suggest-item img{
    width:28px;
    height:28px;
    object-fit:contain;
}

/* FILTER BUTTONS */
.filter-buttons{
    display:flex;
    gap:8px;
    flex-shrink:0;
}

.filter-buttons .btn{
    border-radius:8px;
    white-space:nowrap;
}

/* =========================
   MOBILE RESPONSIVE
========================= */
@media (max-width:768px){

    .top-filter-bar{
        flex-direction:column;
        align-items:stretch;
    }

    .filter-buttons{
        width:100%;
    }

    .filter-buttons .btn{
        flex:1;
    }
}

