/* ==========================================================================
   TABLET RESPONSIVE (MAX-WIDTH: 991px)
   ========================================================================== */
@media (max-width: 991px) {
    .navbar-custom {
        padding: 0.5rem 0;
    }

    .navbar-custom .navbar-collapse {
        background-color: var(--color-white);
        padding: 1rem;
        border-radius: 8px;
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
        margin-top: 0.5rem;
    }

    .navbar-custom .nav-link {
        margin: 0.25rem 0;
        padding: 0.65rem 1rem !important;
    }

    .navbar-custom .nav-link.active {
        color: var(--color-white) !important;
        background-color: var(--color-primary);
    }

    .carousel-hero-img {
        height: 480px;
    }

    .carousel-title {
        font-size: 2.5rem;
    }

    .section-title {
        font-size: 1.85rem;
    }

    .section-padding {
        padding: 60px 0;
    }
}

/* ==========================================================================
   MOBILE RESPONSIVE (MAX-WIDTH: 767px)
   ========================================================================== */
@media (max-width: 767px) {
    .carousel-hero-img {
        height: 380px;
    }

    .carousel-title {
        font-size: 1.85rem;
        margin-bottom: 1rem;
    }

    .carousel-caption {
        text-align: center !important;
        left: 5% !important;
        right: 5% !important;
        width: 90% !important;
    }

    .carousel-caption .row {
        justify-content: center;
    }

    .carousel-default-hero {
        height: 350px;
    }

    .section-title {
        font-size: 1.6rem;
    }

    .bio-img-background {
        display: none;
    }

    .bio-img-placeholder {
        width: 100% !important;
        height: 320px !important;
    }

    .site-footer {
        text-align: center;
        padding: 50px 0 30px 0;
    }

    .footer-section-title::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .footer-social-icons {
        justify-content: center;
        margin-bottom: 1.5rem;
    }

    .footer-contact li {
        justify-content: center;
    }

    .card-message-content {
        padding: 2rem !important;
    }

    .quick-contact .col-md-5 {
        padding: 2.5rem !important;
        text-align: center;
    }

    .quick-contact .col-md-5 .d-flex {
        justify-content: center;
    }

    .quick-contact .col-md-7 {
        padding: 2.5rem !important;
    }

    .timeline-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .timeline-badge {
        margin-right: 0 !important;
        margin-bottom: 1rem;
    }
}

/* ==========================================================================
   MINI MOBILE RESPONSIVE (MAX-WIDTH: 480px)
   ========================================================================== */
@media (max-width: 480px) {
    .carousel-hero-img {
        height: 320px;
    }

    .carousel-title {
        font-size: 1.5rem;
    }

    .brand-title {
        font-size: 1.1rem;
    }
}

/* Timeline responsive */
@media (max-width: 991px) {
    .timeline-modern-wrapper {
        max-width: 720px;
        padding-left: 1rem;
    }

    .timeline-modern-wrapper::before {
        left: 32px;
    }

    .timeline-modern-item,
    .timeline-modern-item.timeline-left,
    .timeline-modern-item.timeline-right {
        width: 100%;
        left: 0;
        text-align: left;
        padding: 0 0 2rem 5rem;
    }

    .timeline-left .timeline-modern-marker,
    .timeline-right .timeline-modern-marker {
        left: 0;
        right: auto;
    }

    .timeline-modern-card::before,
    .timeline-left .timeline-modern-card::before,
    .timeline-right .timeline-modern-card::before {
        left: -9px;
        right: auto;
        transform: rotate(225deg);
    }
}

@media (max-width: 575px) {
    .timeline-modern-wrapper {
        padding-left: 0;
    }

    .timeline-modern-wrapper::before {
        left: 24px;
    }

    .timeline-modern-item,
    .timeline-modern-item.timeline-left,
    .timeline-modern-item.timeline-right {
        padding-left: 4rem;
        padding-bottom: 1.5rem;
    }

    .timeline-modern-marker {
        width: 50px;
        height: 50px;
        font-size: 0.75rem;
        border-width: 4px;
    }

    .timeline-modern-card {
        padding: 1.15rem;
        border-radius: 18px;
    }

    .timeline-title {
        font-size: 1rem;
    }

    .timeline-description {
        font-size: 0.92rem;
        line-height: 1.6;
    }
}