/**
 * Omega Led Light — layout fixes for mobile, tablet, laptop, and large screens
 * Loaded after main.css
 */

html {
    overflow-x: hidden;
}

body,
.main {
    overflow-x: hidden;
    max-width: 100%;
}

/* Breadcrumbs: wrap on narrow screens */
.page-header.breadcrumb-wrap .breadcrumb {
    flex-wrap: wrap;
    row-gap: 0.25rem;
    word-break: break-word;
}

/* Fluid page titles (policy pages, about, contact) */
.page-content .container h1 {
    font-size: clamp(1.5rem, 2.2vw + 1rem, 2.25rem);
    line-height: 1.25;
    word-wrap: break-word;
}

.page-content .container h3 {
    font-size: clamp(1.05rem, 1vw + 0.85rem, 1.25rem);
}

/* Images in main content: never wider than viewport */
.page-content img,
.main .banner-img img,
.main .product-img-scale img {
    max-width: 100%;
    height: auto;
}

/* Home: category banners — override fixed inline dimensions on small/medium screens */
.popular-categories .banner-img.style-6 img {
    width: 100%;
    height: auto;
    min-height: 160px;
    object-fit: cover;
}

/* Mobile header: center logo inside slide-out menu */
@media (max-width: 767.98px) {
    .mobile-header-logo {
        text-align: center;
    }

    .mobile-header-logo a,
    .mobile-header-logo img {
        display: inline-block;
    }
}

@media (min-width: 768px) {
    .popular-categories .banner-img.style-6 img {
        min-height: 200px;
    }
}

/*
 * Home page "Our Products" override cards:
 * The Blade template has a large hardcoded product grid inside each tab.
 * We insert curated cards with `.home-products-override-row` and hide the original rows.
 */
#featured-categories .tab-pane .row.product-grid-4:not(.home-products-override-row) {
    display: none !important;
}

@media (min-width: 1200px) {
    .popular-categories .banner-img.style-6 img {
        min-height: 220px;
    }
}

/*
 * Footer grid: Nest theme uses .footer-link-widget:not(:last-child){ margin-right:50px }
 * for siblings inside .footer-link-cover. We wrap widgets inside Bootstrap cols so each
 * widget is :last-child of its column — no extra margin. Belt-and-suspenders if markup changes:
 */
footer.main .footer-mid .row > [class*="col-"] .footer-link-widget,
footer.main .footer-mid .row > [class*="col-"] .footer-link-widget:not(:last-child) {
    margin-right: 0 !important;
    float: none !important;
}

footer.main .footer-mid .row > [class*="col-"] {
    min-width: 0;
}

footer.main .footer-mid .footer-list {
    min-width: 0;
    max-width: 100%;
}

@media only screen and (max-width: 768px) {
    footer.main .footer-mid .widget-about {
        min-width: 0 !important;
    }
}

/* Footer: long emails / addresses wrap instead of forcing horizontal scroll */
footer.main .footer-list li,
footer.main .footer-list a {
    word-break: break-word;
    overflow-wrap: anywhere;
}

footer.main .widget-about .logo img {
    max-width: min(150px, 100%);
    height: auto;
}

/* Footer feature strip: comfortable tap targets on phones */
footer.main .featured .banner-left-icon {
    padding: 0.5rem 0;
}

@media (max-width: 767.98px) {
    footer.main .featured .icon-box-title {
        font-size: 0.95rem;
    }

    footer.main .featured .banner-text p {
        font-size: 0.8rem;
    }
}

/* Contact: image column / spacing */
@media (max-width: 991.98px) {
    .page-content .contact-from-area {
        padding-left: 0;
        padding-right: 0;
    }
}

@media (max-width: 991.98px) {
    .page-content .pl-25,
    .page-content .pr-30,
    .page-content .pl-30 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Tables or wide product grids inside .main */
.main table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Leaflet map height scales on narrow screens */
#map-panes.leaflet-map {
    min-height: 220px;
    height: 45vw;
    max-height: 400px;
}

@media (min-width: 768px) {
    #map-panes.leaflet-map {
        height: 360px;
    }
}

/*
 * Header + browser zoom: template uses lg (992px) for desktop nav; zooming in shrinks the
 * layout viewport so the menu switched to mobile. We use md (768px) in the Blade header.
 * Nest theme also hides .hotline and li.hot-deals below 1024px — restore when desktop nav shows.
 */
@media (min-width: 768px) {
    /* Single row: logo + centered menu + phone on the right */
    .header-area.header-style-5 .header-bottom .header-wrap {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        column-gap: 12px;
    }

    .header-area.header-style-5 .logo.logo-width-1 {
        flex: 0 0 auto;
    }

    .header-area.header-style-5 .header-bottom .header-nav {
        flex: 1 1 auto;
        min-width: 0;
        display: flex;
        justify-content: flex-start; /* menu block starts near logo */
    }

    .header-area .main-menu.main-menu-padding-1 > nav > ul {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start; /* menu items align to the left */
    }

    .header-area .main-menu.main-menu-padding-1 > nav > ul > li {
        padding-inline: 8px;
        white-space: nowrap;
    }

    /* Remove extra gap before Home item so menu stays on one line */
    .header-area .main-menu.main-menu-padding-1 > nav > ul > li.hot-deals {
        padding-left: 0 !important;
        padding-right: 8px !important;
    }

    .header-area .main-menu.main-menu-padding-1 > nav > ul > li > a {
        font-size: 14px;
    }

    .header-area.header-style-5 .header-bottom .hotline {
        flex: 0 0 auto;
        display: flex !important;
        align-items: center;
        white-space: nowrap;
    }
}

