/* ==========================================================================
   RESPONSIVE STYLES (media-style.css)
   ========================================================================== */

/* Large Tablets & Small Laptops (1024px and below) */
@media screen and (max-width: 1024px) {
    :root {
        --container-width: 100%;
    }

    .grid-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    /* Shift sidebar under the main content for better user flow on mobile */
    .grid-layout__sidebar {
        order: 2;
    }

    .grid-layout__content {
        order: 1;
    }

    .company-profile__top-section {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }

    .company-profile__video-box {
        width: 100%;
        max-width: 500px;
        height: 280px;
    }

    .company-profile__intro {
        width: 100%;
    }

    .footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .footer-certificates {
        grid-column: span 2;
    }
}

/* Medium Tablets & Smart Phones (768px and below) */
@media screen and (max-width: 768px) {
    /* Header Adaptations */
    .top-bar__container {
        flex-direction: column;
        padding: 10px 15px;
        gap: 10px;
        text-align: center;
    }

    .menu__list {
        justify-content: center;
        gap: 15px;
    }

    .main-header__container {
        flex-wrap: wrap;
        padding: 15px;
        position: relative;
    }

    .logo__link {
        font-size: 1.8rem;
    }

    .logo__pill {
        font-size: 0.8rem;
        padding: 2px 8px;
    }

    .phone-box__link {
        font-size: 1.4rem;
    }

    /* Search Box hidden on header or reflowed */
    .main-header__search {
        width: 100%;
        order: 4;
        margin-top: 15px;
    }

    .search-box__form {
        width: 100%;
    }

    .search-box__input {
        width: 100%;
    }

    /* Show Mobile Menu Toggle */
    .menu-toggle {
        display: flex;
        z-index: 100;
    }

    /* Navigation Menu Toggle Behavior */
    .nav-bar {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: var(--color-primary);
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-in-out;
        z-index: 99;
        border-bottom: 2px solid var(--color-accent);
    }

    .nav-bar--open {
        max-height: 300px;
        position: relative;
        top: 0;
    }

    .nav-bar__list {
        flex-direction: column;
        width: 100%;
    }

    .nav-bar__item {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    .nav-bar__link {
        padding: 15px 20px;
        font-size: 1rem;
    }

    .nav-bar__link:hover,
    .nav-bar__item--active .nav-bar__link {
        box-shadow: inset 4px 0 0 var(--color-accent);
        background-color: rgba(255, 255, 255, 0.05);
    }

    /* Sub-navigation List scrollable on mobile */
    .sub-nav__list {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 5px 0;
        -webkit-overflow-scrolling: touch;
        gap: 0;
    }

    .sub-nav__item {
        flex-shrink: 0;
    }

    .sub-nav__item::after {
        display: none !important;
    }

    .sub-nav__link {
        font-size: 0.8rem;
        padding: 10px 15px;
        white-space: nowrap;
    }

    /* Slider Adjustments */
    .slider__slides {
        height: 350px;
    }

    .slider__caption {
        left: 5%;
        right: 5%;
        bottom: 8%;
        padding: 15px;
    }

    .slider__title {
        font-size: 1.4rem;
    }

    .slider__text {
        font-size: 0.85rem;
    }

    .slider__arrow {
        width: 36px;
        height: 36px;
        font-size: 1.1rem;
    }

    .slider__arrow--prev {
        left: 10px;
    }

    .slider__arrow--next {
        right: 10px;
    }

    /* Services Grid and Product Catalog grids stack vertically */
    .services-block__list,
    .product-catalog__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }


    /* Footer structure goes to single column */
    .footer__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer-certificates {
        grid-column: span 1;
    }

    .bottom-bar__container {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 10px;
    }
}

/* Small Smart Phones (480px and below) */
@media screen and (max-width: 480px) {
    .main-header__container {
        flex-direction: column;
        gap: 10px;
        align-items: center;
    }

    /* Menu toggle moves to absolute top corner */
    .menu-toggle {
        position: absolute;
        top: 25px;
        right: 15px;
    }

    .phone-box__link {
        font-size: 1.3rem;
        margin-top: 5px;
    }

    .slider__slides {
        height: 280px;
    }

    .slider__caption {
        display: none; /* Hide descriptions on very small screens for clean visual */
    }

    .main-content {
        padding: 20px;
    }

    .main-content__title {
        font-size: 1.75rem;
    }

    .company-profile__video-box {
        height: 180px;
    }

    .company-profile__paragraph--highlight {
        font-size: 1.1rem;
    }

    .services-block {
        padding: 15px;
    }

    .services-block__footer {
        text-align: left;
    }

    .footer__container {
        padding: 40px 15px;
    }
}

/* Mobile Menu Animation states */
.menu-toggle--active span:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
}

.menu-toggle--active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle--active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}
