/**********************************
    COLOR VARIABLES
***********************************/
:root {
    --background: #0456d5;
    --background-to: #1e5276;
    --heading: #4ab6ca;
    --white: #fff;
    --para: #4c4c4c;
    --bg-light: #3ed2e8;
    --bg-light-to: #9febf6;
}

/***********************************
        THEME CSS
***********************************/
.tbvc-projects-section,
.tbvc-process-section,
.tbvc-need-section,
.tbvc-website-deve-section,
.tbvc-globe-section,
.tbvc-testimonials,
.tbvc-brand-section,
.tbvc-faq-section {
    padding: 60px 0;
}

p {
    font-size: 18px;
    margin: 15px 0;
    color: var(--para);
}

/**********************************
        BUTTON
***********************************/
.btn-demo {
    background: var(--background);
    color: var(--white);
    border-radius: 50px;
    padding: 8px 18px;
    transition: 0.5s ease;
    font-weight: 500;
    font-size: 18px;
}

.btn-demo-to {
    background: var(--heading);
    color: var(--white);
    border-radius: 50px;
    padding: 8px 18px;
    transition: 0.5s ease;
    font-weight: 500;
    font-size: 18px;
}

.btn-demo-to:hover {
    background: var(--background);
    color: var(--white);
    border: 1px solid var(--white);
}

.btn-demo:hover,
.btn:first-child:active {
    background: var(--heading);
    color: var(--white);
    border: 1px solid var(--white);
}

/**********************************
        HEADINGS
***********************************/
.tbvc-heading-sec h2 {
    font-size: 48px;
    font-weight: 700;
    color: var(--heading);
}

.tbvc-heading-sec h3 {
    font-size: 24px;
    font-weight: 600;
    color: var(--heading);
}

/**********************************
        NAV LINKS
***********************************/
.offcanvas-body .nav-link {
    color: var(--heading);
    font-weight: 500;
    font-size: 18px;
    transition: 0.5s ease;
}

.offcanvas-body .nav-link:hover,
.navbar-nav .nav-link.show {
    color: var(--background);
}

/**********************************
        DROPDOWN
***********************************/
.dropdown-menu {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.dropdown-menu.show {
    opacity: 1;
    transform: translateY(0);
}

.dropdown-toggle::after {
    transition: transform 0.3s ease;
}

.dropdown.show .dropdown-toggle::after {
    transform: rotate(180deg);
}

.dropdown-menu-header.dropdown-menu {
    box-shadow: none;
    border: 1px solid var(--heading);
    padding: 0;
}

.dropdown-menu-header.dropdown-menu .dropdown-item {
    color: var(--heading);
    font-weight: 500;
}

.dropdown-menu-header.dropdown-menu .dropdown-item:hover {
    color: var(--white);
    background-color: var(--background);
    border-radius: 5px;
}

/**********************************
        HERO / BANNER SECTION
***********************************/
.tbvc-banner-wrapper {
    height: 800px;
    background-image: url('/image/home/banner-img.png');
    background-repeat: no-repeat;
    background-position: center right;
    background-size: cover;
}

/**********************************
        SERVICE SECTION
***********************************/
.tbvc-service-form {
    height: 800px;
    background-color: var(--background);
    position: relative;
    overflow: hidden;
}

.tbvc-service-form-to {
    height: 800px;
    background-color: var(--background-to);
    position: relative;
    overflow: hidden;
}

/* Background Image Overlay */
.tbvc-service-form::before,
.tbvc-service-form-to::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('/image/home/1111.webp') no-repeat center center;
    background-size: contain;
    opacity: 1;
    z-index: 1;
    pointer-events: none;
}

/**********************************
        FORM
***********************************/
.form-box {
    background: var(--heading);
    border-radius: 12px;
    margin-left: 50px;
}

.form-control::placeholder,
.form-select {
    color: var(--heading);
    opacity: 1;
}

.form-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%234ab6ca' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
}

/**********************************
        OUR PAST PROJECTS
***********************************/
.project-card {
    background: var(--white);
    border-radius: 14px;
    overflow: hidden;
    height: 100%;
    border: 5px solid var(--heading);
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    transition: 0.4s ease;
}

.project-card:hover {
    transform: translateY(-8px);
}

.project-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.project-content {
    padding: 20px;
    text-align: center;
}

/**********************************
        OUR PROCESS SECTION
***********************************/
.tbvc-process-section {
    background: var(--heading);
}

.process-box {
    background: var(--white);
    padding: 40px 30px;
    border-radius: 16px;
}

.process-icon {
    width: 80px;
    height: 80px;
    background: var(--heading);
    color: var(--background);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    font-size: 32px;
}

/**********************************
        EVERYTHING YOU NEED
***********************************/
.need-box {
    background: var(--heading);
    padding: 30px;
    border-radius: 50px;
    gap: 20px;
}

.need-icon {
    width: 60px;
    height: 60px;
    background: var(--white);
    color: var(--background);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    flex-shrink: 0;
}

/**********************************
        WEBSITE DEVELOPMENT
***********************************/
.tbvc-website-deve-section {
    background-color: var(--heading);
}

.need-box-to {
    background: var(--bg-light);
    padding: 30px;
    border-radius: 50px;
    gap: 20px;
}

.need-icon-to {
    width: 60px;
    height: 60px;
    background: var(--bg-light-to);
    color: var(--background);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    flex-shrink: 0;
}

/**********************************
        GLOBE SECTION
***********************************/

.globe-list li {
    margin-bottom: 10px;
    font-size: 18px;
    color: var(--para);
}

.globe-list li svg {
    color: var(--heading);
}

/**********************************
        TESTIMONIALS
***********************************/
.tbvc-testimonials {
    background-color: var(--heading);
}

.tbvc-testimonials .card,
.review-bar {
    background: var(--bg-light);
    border-radius: 30px;
}

.tbvc-testimonials .card p {
    font-size: 16px;
    height: 100px;
    overflow: auto;
}

.tbvc-testimonials .owl-carousel .owl-item img {
    width: unset;
    border: 5px solid var(--bg-light-to);
}

/**********************************
        TRUSTED BRANDS
***********************************/
.brand-item {
    background: var(--heading);
    border-radius: 50px;
    padding: 14px 30px;
    margin: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: 0.3s ease;
}

.brand-item span {
    color: var(--white);
    font-size: 20px;
    font-weight: 600;
    white-space: nowrap;
}

.brand-item:hover {
    background: var(--background);
    transform: translateY(-3px);
}

/**********************************
        FAQ SECTION
***********************************/
.accordion-item {
    border: none;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.05);
}

.accordion-button {
    font-weight: 600;
    font-size: 18px;
    color: var(--heading);
}

.accordion-button::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%234ab6ca' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
}

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
}

.accordion-button:not(.collapsed) {
    background: var(--heading);
    color: var(--white);
}

.accordion-body {
    background-color: var(--bg-light-to);
}

.accordion-button:focus {
    box-shadow: none;
}

/**********************************
        FOOTER
***********************************/
.tbvc-footer {
    background: var(--background);
}

.footer-title {
    font-weight: 600;
    position: relative;
}

.footer-title::after {
    content: '';
    width: 40px;
    height: 2px;
    background: var(--heading);
    display: block;
    margin-top: 6px;
}

.tbvc-footer p {
    color: var(--white);
}

.footer-link {
    color: var(--white);
    text-decoration: none;
    font-size: 14px;
}

.footer-link:hover {
    color: var(--heading);
}


/* ===============================
   FLOATING FIXED BUTTONS
================================ */
.scroll-top-btn,
.whatsapp-float {
    position: fixed;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    transition: all 0.3s ease;
}

/* ===============================
   Scroll To Top (RIGHT)
================================ */
.scroll-top-btn {
    right: 25px;
    bottom: 25px;
    border: none;
    background: var(--bg-light);
    color: var(--white);
    font-size: 18px;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
}

.scroll-top-btn.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scroll-top-btn:hover {
    background: var(--bg-light-to);
}

/* ===============================
   WhatsApp (LEFT)
================================ */
.whatsapp-float {
    left: 25px;
    bottom: 25px;
    background: #25D366;
    color: #fff;
    font-size: 26px;
    text-decoration: none;
    box-shadow: 0 8px 25px rgba(0,0,0,0.2);
}

.whatsapp-float:hover {
    transform: scale(1.1);
    color: #fff;
}