@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

:root {
    --bg-main-blue: #346b9d;    /* Website Body Blue */
    --nav-dark-blue: #245388;   /* Header & Nav Blue */
    --topbar-red: #d32f2f;      /* Topbar & Accent Red */
    --text-dark: #1a1a1a;       /* Strong Dark Text for P and Body */
}

html, body {
    width: 100%;
    overflow-x: hidden; /* Fixes mobile horizontal scroll */
}

body {
    background-color: var(--bg-main-blue);
    font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    color: var(--text-dark);
    position: relative;
    -webkit-font-smoothing: antialiased;
    font-size: 0.95rem;
}

p, .card-text, ol li, ul li {
    color: var(--text-dark) !important;
    font-weight: 500;
    line-height: 1.6;
    font-size: 0.95rem;
}

/* Reduced Hero Section Paragraph font-size */
.hero-text {
    font-size: 0.95rem;
    color: #444444 !important;
}

.watermark-overlay {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-30deg);
    font-size: 8vw;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.08);
    white-space: nowrap;
    pointer-events: none;
    z-index: 1;
    user-select: none;
}

.main-wrapper {
    position: relative;
    z-index: 2;
    overflow-x: hidden;
}

.top-bar {
    background-color: var(--topbar-red);
}

.custom-navbar {
    background-color: var(--nav-dark-blue);
}

.custom-navbar .nav-link {
    color: #ffffff !important;
    padding: 0.8rem 1rem !important;
    font-weight: 500;
    transition: opacity 0.2s ease;
}

.custom-navbar .nav-link:hover,
.custom-navbar .nav-link.active {
    opacity: 0.85;
}

/* Bulletproof Dropdown Menu Styling */
.dropdown-menu {
    min-width: 320px;
    margin-top: 0px !important;
    border-radius: 6px;
    background-color: #ffffff;
}

@media (min-width: 992px) {
    /* Desktop Dropdown Hover */
    .custom-dropdown:hover .dropdown-menu {
        display: block;
    }
}

.dropdown-item {
    white-space: normal !important;
    padding: 10px 16px;
    font-size: 0.9rem;
    color: #333333 !important;
}

.dropdown-item:hover, .dropdown-item:focus {
    background-color: #f8f9fa;
    color: var(--nav-dark-blue) !important;
}

.navbar-dark-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.hero-section {
    position: relative;
}

.card {
    border: none;
}

/* Footer Visibility Fix */
.footer-section .footer-text, 
.footer-section p, 
.footer-section li, 
.footer-section span {
    color: #f0f0f0 !important;
}

.footer-section .footer-link {
    color: #d1d1d1 !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-section .footer-link:hover {
    color: #ffffff !important;
    text-decoration: underline;
}

/* Responsive Mobile Adjustments & Horizontal Scroll Fix */
@media (max-width: 768px) {
    .watermark-overlay {
        font-size: 12vw;
    }

    .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .card-body {
        padding: 1rem !important;
    }

    .card-header {
        font-size: 0.95rem;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    ol {
        padding-left: 1rem !important;
    }

    .hero-text {
        font-size: 0.9rem;
    }
}

/* Modal Overlay & Z-Index Fix */
.modal-backdrop {
    z-index: 1050 !important;
}

.modal {
    z-index: 1055 !important;
}

.modal-dialog {
    z-index: 1060 !important;
}

/* Make backdrop click-to-close clean */
.modal-content {
    pointer-events: auto;
}



/* Badge Mobile Responsiveness Fix */
.badge {
    white-space: normal !important; /* টেক্সট যাতে স্ক্রিনের বাইরে না যায় */
    word-break: break-word;
    max-width: 100%;
}

@media (max-width: 576px) {
    .badge.fs-6 {
        font-size: 0.85rem !important; /* মোবাইলে ফন্ট সাইজ সামঞ্জস্যপূর্ণ করা */
        padding: 6px 12px !important;
    }
}








/* Floating Left Bottom Call & WhatsApp Buttons */
.floating-contact-buttons {
    position: fixed;
    bottom: 25px;
    left: 20px;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.float-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 22px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease, background-color 0.3s ease;
    text-decoration: none;
}

.float-btn:hover {
    transform: scale(1.1);
    color: #fff;
}

.float-whatsapp {
    background-color: #25d366;
}

.float-whatsapp:hover {
    background-color: #20ba5a;
}

.float-call {
    background-color: #245388;
}

.float-call:hover {
    background-color: #1a3e68;
}