/* Responsive rules separated from style.css for easier maintenance. */

@media (min-width: 992px) {

    .main-header .dropdown:hover > .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

}

@media (max-width: 991px) {

    .main-header .navbar {
        min-height: 70px;
        padding: 10px 0;
    }

    .main-logo {
        width: 140px;
    }


    /* COLLAPSE */

    .main-header .navbar-collapse {
        margin-top: 10px;
        padding: 8px 0 15px;

        border-top: 1px solid #eee;
    }


    /* NAV */

    .main-header .navbar-nav {
        align-items: stretch;
        gap: 0;
    }

    .main-header .nav-link {
        padding: 11px 5px !important;
    }

    .main-header .nav-link::before {
        display: none;
    }


    /* MOBILE DROPDOWN */

    .main-header .dropdown-menu {
        display: none;

        min-width: 100%;

        padding: 5px 10px;

        opacity: 1;
        visibility: visible;

        transform: none;

        box-shadow: none;
        background: #f8f8f8;
    }

    .main-header .dropdown-menu.show {
        display: block;
    }

    .main-header .dropdown-item {
        padding: 9px 15px;
    }


    /* CALL */

    .nav-button {
        margin: 12px 0 0;
    }

    .call-btn {
        width: 100%;
    }

}

@media (max-width: 480px) {

    .main-logo {
        width: 125px;
    }

    .main-header .navbar {
        min-height: 65px;
    }

}

@media (max-width: 991px) {

    .niconia-products {
        padding: 50px 0 60px;
    }


    .niconia-products-heading h2 {
        font-size: 38px;
    }


    .niconia-product-tabs {
        gap: 8px;
    }


    .niconia-product-tab {
        min-width: 150px;

        padding: 12px 18px;

        font-size: 15px;
    }


    .niconia-product-image {
        height: 270px;
    }


    .niconia-product-content h3 {
        font-size: 17px;
    }

}

@media (max-width: 767px) {

    .niconia-products {
        padding: 45px 15px 55px;
    }


    .niconia-products-heading {
        margin-bottom: 25px;
    }


    .niconia-products-heading h2 {
        font-size: 32px;
    }


    .niconia-products-line {
        width: 105px;

        height: 4px;

        margin-top: 15px;
    }


    .niconia-products-line::after {
        width: 6px;
        height: 4px;

        right: -8px;
    }


    /* =================================
       MOBILE CATEGORY BUTTONS
    ================================= */

    .niconia-product-tabs {
        display: grid;

        grid-template-columns: 1fr 1fr;

        gap: 7px;

        margin-bottom: 30px;
    }


    .niconia-product-tab {
        width: 100%;
        min-width: 0;

        padding: 11px 8px;

        font-size: 13px;
    }


    .niconia-product-tab:last-child {
        grid-column: 1 / -1;
    }


    /* =================================
       PRODUCT IMAGE
    ================================= */

    .niconia-product-image {
        height: 280px;
    }


    /* =================================
       PRODUCT TEXT
    ================================= */

    .niconia-product-content span {
        font-size: 13px;
    }


    .niconia-product-content h3 {
        font-size: 17px;
    }


    .niconia-product-button {
        min-width: 145px;

        padding: 10px 20px;

        font-size: 14px;
    }

}

@media (min-width: 992px) {
    .col-lg-2-4 {
        flex: 0 0 auto;
        width: 20%;
    }
}

@media (max-width: 1200px) {

    .contact-layout {
        column-gap: 60px;
    }

    .contact-left {
        padding-left: 0;
    }

    .contact-heading {
        font-size: 46px;
    }

    .contact-description {
        font-size: 17px;
    }

    .contact-tagline {
        font-size: 18px;
    }

}

@media (max-width: 991px) {

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

    .contact-layout {
        display: block;
    }

    .contact-left {
        padding: 0;
        margin-bottom: 40px;
    }

    .contact-heading {
        font-size: 42px;
    }

    .contact-right {
        width: 100%;
    }

}

@media (max-width: 767px) {

    .contact-section {
        padding: 45px 0 55px;
    }

    .contact-section .container {
        padding: 0 15px;
    }

    .contact-left {
        margin-bottom: 30px;
    }

    .contact-subheading {
        font-size: 13px;
        margin-bottom: 12px;
    }

    .contact-heading {
        font-size: 32px;
    }

    .contact-underline {
        margin-top: 20px;
        margin-bottom: 24px;
    }

    .contact-description {
        font-size: 13px;
        line-height: 1.7;
        margin-bottom: 20px;
    }

    .contact-tagline {
        font-size: 13px;
    }


    .contact-form-row {
        grid-template-columns: 1fr;

        row-gap: 12px;

        margin-bottom: 12px;
    }


    .contact-field input {
        height: 48px;

        padding: 0 14px;

        font-size: 13px;
    }


    .contact-message textarea {
        height: 140px;
        padding: 14px;

        font-size: 13px;
    }


    .contact-submit {
        width: 145px;
        height: 48px;

        margin-top: 18px;

        font-size: 13px;
        line-height: 48px;
    }

}

@media (max-width: 767px) {

    .about-hero {
        min-height: 145px;
    }

    .about-hero-content h1 {
        font-size: 27px;
    }

    .about-breadcrumb {
        font-size: 12px;
    }

}

@media (max-width: 991px) {

    .innovation-content h2 {
        font-size: 30px;
    }

}

@media (max-width: 767px) {

    .innovation-section {
        padding: 0 0 35px;
    }

    .innovation-content h2 {
        font-size: 28px;
    }

    .innovation-content p {
        font-size: 12px;
        line-height: 1.75;
    }

}

@media (max-width: 480px) {

    .innovation-content h2 {
        font-size: 25px;
    }

    .innovation-content p {
        font-size: 11px;
    }

}

@media (max-width: 991px) {

    .niconia-product-section {
        padding: 30px 0 45px;
    }

    .product-card {
        padding: 0 15px;
    }

    .product-image {
        height: 220px;
    }

}

@media (max-width: 767px) {

    .niconia-product-section {
        padding: 25px 0 40px;
    }

    .product-card {
        padding: 0 12px;
    }

    .product-box {
        padding-bottom: 25px;
    }

    .product-image {
        height: 180px;
    }

    .product-info span {
        font-size: 7px;
    }

    .product-info h3 {
        font-size: 8px;
    }

}

@media (max-width: 480px) {

    .product-card {
        padding: 0 8px;
    }

    .product-image {
        height: 145px;
    }

    .product-info h3 {
        font-size: 7px;
    }

    .product-btn {
        min-width: 58px;
        height: 18px;
        font-size: 6.5px;
    }

}

@media (max-width: 991px) {

    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 25px;
    }

    .gallery-item {
        height: 220px;
    }

}

@media (max-width: 767px) {

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    .gallery-item {
        height: 180px;
    }

}

@media (max-width: 480px) {

    .gallery-grid {
        gap: 12px;
    }

    .gallery-item {
        height: 150px;
    }

}

@media (max-width: 991px) {

    .contact-info-section {
        padding: 35px 0 55px;
    }

    .contact-info-grid {
        max-width: 92%;
        gap: 16px;
    }

    .contact-info-card,
    .contact-info-card.address-card {
        height: 150px;
        min-height: 150px;
    }

    .contact-card-link {
        min-height: 150px;
        padding: 15px;
    }

    .contact-info-card h3 {
        font-size: 19px;
    }

    .contact-info-card p {
        font-size: 11px;
    }

    .contact-info-card.address-card p {
        font-size: 10px;
    }

    .contact-info-card:hover {
        transform: scale(1.05);
    }
}

@media (max-width: 767px) {

    .contact-info-section {
        padding: 30px 0 50px;
    }

    .contact-info-grid {
        grid-template-columns: 1fr;

        max-width: 90%;

        gap: 15px;
    }

    .contact-info-card,
    .contact-info-card.address-card {
        width: 100%;

        height: 150px;
        min-height: 150px;
    }

    .contact-card-link {
        min-height: 150px;
        padding: 18px;
    }

    .contact-info-card:hover {
        transform: scale(1.03);
    }
}

@media (max-width: 480px) {

    .contact-info-grid {
        max-width: 94%;
        gap: 12px;
    }

    .contact-info-card,
    .contact-info-card.address-card {
        height: 140px;
        min-height: 140px;
    }

    .contact-card-link {
        min-height: 140px;
        padding: 15px;
    }

    .contact-icon {
        width: 42px;
        height: 42px;

        flex-basis: 42px;

        font-size: 17px;

        margin-bottom: 8px;
    }

    .contact-info-card h3 {
        font-size: 18px;
    }

    .contact-info-card p {
        font-size: 10px;
    }

    .contact-info-card.address-card p {
        font-size: 9px;
    }
}

@media (max-width: 991px) {

    .contact-map-section {
        padding-bottom: 55px;
    }

    .contact-map iframe {
        height: 350px;
    }

}

@media (max-width: 767px) {

    .contact-map-section {
        padding-bottom: 45px;
    }

    .contact-map {
        border-radius: 4px;
    }

    .contact-map iframe {
        height: 300px;
    }

}

@media (max-width: 480px) {

    .contact-map iframe {
        height: 260px;
    }

}

@media (max-width: 991px) {

    .product-detail-section {
        padding: 20px 0 60px;
    }

    .product-detail-section .container {
        max-width: 92%;
    }

    .product-main-row {
        min-height: 350px;
    }

    .product-main-image-wrap {
        height: 350px;
    }

    .product-main-image img {
        width: 290px;
        height: 330px;
    }

    .product-main-info {
        padding-left: 20px;
    }

    .related-products-grid {
        gap: 20px;
    }

    .related-product-image {
        height: 155px;
    }

}

@media (max-width: 767px) {

    .product-detail-section {
        padding: 15px 0 50px;
    }

    .product-detail-section .container {
        max-width: 92%;
    }

    .product-main-row {
        grid-template-columns: 1fr;

        min-height: auto;
    }

    .product-main-image-wrap {
        height: 330px;
    }

    .product-main-image img {
        width: 260px;
        height: 310px;
    }

    .product-search-icon {
        right: 15px;
        top: 15px;
    }

    .product-main-info {
        padding: 10px 0 0;
    }

    .product-main-info h1 {
        font-size: 18px;
    }

    .product-description {
        margin-top: 30px;
    }

    .product-description-content {
        padding-top: 22px;
    }

    .product-description-content > p,
    .product-features p {
        font-size: 10px;
    }

    .related-products {
        margin-top: 35px;
    }

    .related-title {
        font-size: 18px;
        margin-bottom: 18px;
    }

    .related-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 20px;
    }

    .related-product-image {
        height: 170px;
    }

}

@media (max-width: 480px) {

    .product-main-image-wrap {
        height: 290px;
    }

    .product-main-image img {
        width: 225px;
        height: 275px;
    }

    .product-breadcrumb {
        font-size: 9px;
    }

    .product-category {
        font-size: 9px;
    }

    .product-main-info h1 {
        font-size: 17px;
    }

    .product-short-desc {
        font-size: 10px;
    }

    .product-description-content h2 {
        font-size: 13px;
    }

    .related-products-grid {
        gap: 25px 12px;
    }

    .related-product-image {
        height: 145px;
    }

    .related-product-info span {
        font-size: 7px;
    }

    .related-product-info h3 {
        font-size: 9px;
    }

    .related-product-btn {
        min-width: 88px;
        height: 29px;

        padding: 0 12px;

        font-size: 8px;
    }

}


/* Shared responsive safeguards for all pages. */
img, video, iframe { max-width: 100%; }
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
