/*
Theme Name: Nirja
Theme URI: 
Author: Antigravity
Author URI: 
Description: A highly secure custom WordPress theme.
Version: 1.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nirja
Tags: secure, custom
*/

/* Reset and basic styles */
body {
    margin: 0;
    font-family: 'Rubik', sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #ffffff;
}

.container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0px 0px;
}

/* Hide Default Page Title */
.entry-header { display: none !important; }

/* GLOBAL RESPONSIVENESS FIXES */

/* 1. Prevent horizontal scroll globally on html and body */
html, body { 
    overflow-x: hidden !important; 
    max-width: 100vw !important;
    width: 100%;
}

/* 2. Prevent any page wrappers from expanding past the viewport */
#page, .site, .elementor-page { 
    overflow-x: hidden !important; 
    width: 100%; 
    max-width: 100vw;
}

/* 3. Ensure images and media elements never exceed their containers */
img, svg, video, iframe, canvas { 
    max-width: 100% !important; 
    height: auto; 
}

/* 4. Apply universally reliable box-sizing to prevent padding from expanding widths */
*, *::before, *::after { 
    box-sizing: border-box !important; 
}

/* 5. Fix Bootstrap Rows from causing horizontal scrollbars when nested */
.row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ==========================================================================
   PRODUCT DETAILS SHOWCASE - DESKTOP FIXED 600x600 IMAGE & FIXED HEIGHT
   ========================================================================== */

@media (min-width: 992px) {
    /* Main container: 600px fixed height, aligned with logo (40px padding) */
    .single-nj_product .elementor-element.elementor-element-b5cb2ef,
    .single-nj_product .elementor-element.e-con.e-7abfc4f {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        height: 600px !important;
        min-height: 600px !important;
        max-height: 600px !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
        padding-inline-start: 40px !important;
        padding-inline-end: 40px !important;
        gap: 50px !important;
        box-sizing: border-box !important;
    }

    /* Left column: fixed 600x600 px */
    .single-nj_product .elementor-element.elementor-element-5e86384,
    .single-nj_product .elementor-element.e-con.e-76f092c {
        width: 600px !important;
        min-width: 600px !important;
        max-width: 600px !important;
        height: 600px !important;
        min-height: 600px !important;
        max-height: 600px !important;
        flex: 0 0 600px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }

    /* Image widget & Image: exactly 600x600 px */
    .single-nj_product .elementor-element.elementor-element-33b1184,
    .single-nj_product .elementor-element.elementor-element-33b1184 .elementor-widget-container,
    .single-nj_product .elementor-element.e-con.e-76f092c .elementor-widget-image,
    .single-nj_product .elementor-element.e-con.e-76f092c .elementor-widget-container {
        width: 600px !important;
        height: 600px !important;
        max-width: 600px !important;
        max-height: 600px !important;
        box-sizing: border-box !important;
    }

    .single-nj_product .elementor-element.elementor-element-33b1184 img,
    .single-nj_product .elementor-element.e-con.e-76f092c img {
        width: 600px !important;
        height: 600px !important;
        min-width: 600px !important;
        min-height: 600px !important;
        max-width: 600px !important;
        max-height: 600px !important;
        object-fit: cover !important;
        border-radius: 25px !important;
        display: block !important;
    }

    /* Right column: fixed 600px height with vertically centered content */
    .single-nj_product .elementor-element.elementor-element-076af34,
    .single-nj_product .elementor-element.e-con.e-3a6872f {
        height: 600px !important;
        min-height: 600px !important;
        max-height: 600px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: flex-start !important;
        flex: 1 1 auto !important;
        padding-left: 0 !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    /* If product also has a table widget inside the right column, allow auto height */
    .single-nj_product .elementor-element.e-con:has(.elementor-widget-nj-table-widget),
    .single-nj_product .elementor-element.e-con:has(.elementor-widget-nj-table-widget) > .e-con {
        height: auto !important;
        max-height: none !important;
    }

    /* Title */
    .single-nj_product .elementor-element.elementor-element-9006466,
    .single-nj_product .elementor-element.e-con.e-3a6872f .elementor-widget-heading {
        margin-bottom: 22px !important;
        width: 100% !important;
    }

    .single-nj_product .elementor-element.elementor-element-9006466 .elementor-heading-title,
    .single-nj_product .elementor-element.e-con.e-3a6872f .elementor-heading-title {
        font-family: 'Rubik', sans-serif !important;
        font-size: 36px !important;
        font-weight: 700 !important;
        color: #111827 !important;
        line-height: 1.25 !important;
        text-align: left !important;
        margin: 0 !important;
    }

    /* Text */
    .single-nj_product .elementor-element.elementor-element-c67cb3b,
    .single-nj_product .elementor-element.e-con.e-3a6872f .elementor-widget-text-editor {
        width: 100% !important;
        margin-bottom: 0 !important;
    }

    .single-nj_product .elementor-element.elementor-element-c67cb3b p,
    .single-nj_product .elementor-element.e-con.e-3a6872f .elementor-widget-text-editor p {
        font-family: 'Rubik', sans-serif !important;
        font-size: 16px !important;
        line-height: 1.85 !important;
        color: #4b5563 !important;
        text-align: justify !important;
        text-justify: inter-word;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ==========================================================================
   PRODUCT DETAILS SHOWCASE (IMAGE + TITLE + TEXT + TABLE) - MOBILE RESPONSIVE
   ========================================================================== */

@media (max-width: 991px) {
    /* Stack the main product container on tablet & mobile */
    .elementor .e-7abfc4f,
    .elementor-element.elementor-element-b5cb2ef,
    .single-nj_product .elementor-element.e-con:has(.elementor-widget-nj-table-widget) {
        flex-direction: column !important;
        flex-wrap: wrap !important;
        padding-inline-start: 24px !important;
        padding-inline-end: 24px !important;
        padding-top: 20px !important;
        padding-bottom: 30px !important;
        gap: 28px !important;
    }

    /* Left column (Image) */
    .elementor .e-76f092c,
    .elementor-element.elementor-element-5e86384,
    .single-nj_product .elementor-element.e-con:has(.elementor-widget-nj-table-widget) > .e-con:first-child {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .elementor .e-76f092c img,
    .elementor-element-33b1184 img {
        max-width: 540px !important;
        width: 100% !important;
        height: auto !important;
        display: block !important;
        margin: 0 auto !important;
        border-radius: 18px !important;
    }

    /* Right column (Content: Title + Paragraph + Table) */
    .elementor .e-3a6872f,
    .elementor-element.elementor-element-076af34,
    .single-nj_product .elementor-element.e-con:has(.elementor-widget-nj-table-widget) > .e-con:last-child {
        width: 100% !important;
        max-width: 100% !important;
        padding-inline: 0 !important;
    }
}

@media (max-width: 767px) {
    /* Mobile View: Clean container padding & spacing */
    .elementor .e-7abfc4f,
    .elementor-element.elementor-element-b5cb2ef,
    .single-nj_product .elementor-element.e-con:has(.elementor-widget-nj-table-widget) {
        padding-inline-start: 16px !important;
        padding-inline-end: 16px !important;
        padding-top: 15px !important;
        padding-bottom: 25px !important;
        gap: 20px !important;
    }

    /* Spacer above section */
    .elementor-element.elementor-element-fc19948 {
        --spacer-size: 20px !important;
    }

    /* Product Image */
    .elementor .e-76f092c img,
    .elementor-element-33b1184 img {
        max-width: 100% !important;
        border-radius: 14px !important;
    }

    /* Product Title Heading */
    .elementor-element.elementor-element-9006466 {
        padding-bottom: 10px !important;
        margin-bottom: 0 !important;
    }

    .elementor-element.elementor-element-9006466 .elementor-heading-title,
    .elementor .e-3a6872f .elementor-heading-title {
        font-size: 22px !important;
        line-height: 1.3 !important;
        text-align: left !important;
        font-weight: 700 !important;
    }

    /* Product Description Text */
    .elementor-element.elementor-element-c67cb3b,
    .elementor .e-3a6872f .elementor-widget-text-editor {
        font-size: 14px !important;
        line-height: 1.6 !important;
        text-align: justify !important;
        text-justify: inter-word;
        margin-bottom: 14px !important;
    }

    .elementor-element.elementor-element-c67cb3b p,
    .elementor .e-3a6872f .elementor-widget-text-editor p {
        text-align: justify !important;
        text-justify: inter-word;
        margin-bottom: 0 !important;
    }

    /* Ensure table wrapper and cells display all data without clipping */
    .elementor-widget-nj-table-widget {
        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-widget-nj-table-widget .nj-specification-wrapper {
        margin-top: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border-radius: 12px !important;
        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06) !important;
    }

    .elementor-widget-nj-table-widget .spec-table {
        width: 100% !important;
        min-width: 290px !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        table-layout: auto !important;
    }

    .elementor-widget-nj-table-widget .spec-table thead th {
        background: linear-gradient(135deg, #8b1e1e, #d23a2e) !important;
        color: #ffffff !important;
        font-size: 13.5px !important;
        font-weight: 700 !important;
        padding: 11px 13px !important;
        text-align: left !important;
        border-bottom: 2px solid #731717 !important;
    }

    .elementor-widget-nj-table-widget .spec-table thead th:first-child {
        width: 40% !important;
        border-right: 1px solid rgba(255, 255, 255, 0.15) !important;
    }

    .elementor-widget-nj-table-widget .spec-table thead th:last-child {
        width: 60% !important;
    }

    .elementor-widget-nj-table-widget .spec-table tbody td {
        padding: 11px 13px !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
        vertical-align: middle !important;
        border-bottom: 1px solid #eeeeee !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    .elementor-widget-nj-table-widget .spec-table tbody td:first-child {
        width: 40% !important;
        font-weight: 700 !important;
        color: #8b1e1e !important;
        background-color: #fff8f7 !important;
        border-right: 1px solid #f2e0de !important;
    }

    .elementor-widget-nj-table-widget .spec-table tbody td:last-child {
        width: 60% !important;
        font-weight: 500 !important;
        color: #333333 !important;
        background-color: #ffffff !important;
    }

    .elementor-widget-nj-table-widget .spec-table tbody tr:last-child td {
        border-bottom: 0 !important;
    }
}

@media (max-width: 480px) {
    .elementor-element.elementor-element-9006466 .elementor-heading-title,
    .elementor .e-3a6872f .elementor-heading-title {
        font-size: 20px !important;
    }

    .elementor-widget-nj-table-widget .spec-table thead th,
    .elementor-widget-nj-table-widget .spec-table tbody td {
        padding: 9px 10px !important;
        font-size: 12.5px !important;
    }

    .elementor-widget-nj-table-widget .spec-table thead th:first-child,
    .elementor-widget-nj-table-widget .spec-table tbody td:first-child {
        width: 42% !important;
    }

    .elementor-widget-nj-table-widget .spec-table thead th:last-child,
    .elementor-widget-nj-table-widget .spec-table tbody td:last-child {
        width: 58% !important;
    }
}

/* ==========================================================================
   CONTACT US PAGE - DESKTOP ALIGNMENT WITH LOGO
   ========================================================================== */

@media (min-width: 992px) {
    /* Align inner contact page content with the header logo (starts at 40px) */
    .page-id-270 .elementor-element-8e43fb9,
    .elementor-widget-nj-contact-widget {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .elementor-widget-nj-contact-widget .nj-contact-wrap {
        padding-left: 40px !important;
        padding-right: 40px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .elementor-widget-nj-contact-widget .nj-contact-left {
        padding-left: 0 !important;
        padding-right: 35px !important;
    }

    .elementor-widget-nj-contact-widget .nj-contact-right {
        padding-left: 35px !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 991px) {
    .elementor-widget-nj-contact-widget .nj-contact-wrap {
        padding-left: 20px !important;
        padding-right: 20px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .elementor-widget-nj-contact-widget .nj-contact-left,
    .elementor-widget-nj-contact-widget .nj-contact-right {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* ==========================================================================
   SINGLE POST PAGE - HERO BANNER & ALIGNMENT
   ========================================================================== */

/* 1. Top Hero Banner (Hidden) */
.nj-single-post-banner {
    display: none !important;
}

/* 2. Single Post Content Area Alignment */
.nj-single-post-wrapper {
    background-color: #fbfbfb;
    padding: 60px 0 90px 0;
    width: 100%;
    box-sizing: border-box;
}

.nj-single-post-container {
    width: 100%;
    max-width: 1200px !important;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

@media (min-width: 1400px) {
    .nj-single-post-container {
        max-width: 1280px !important;
    }
}

.nj-single-post-card {
    width: 100%;
    background: #ffffff;
    border-radius: 16px;
    padding: 45px 50px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
    border: 1px solid #f0f0f0;
    box-sizing: border-box;
}

/* Post Meta Info */
.nj-single-post-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    color: #6b7280;
    font-size: 14.5px;
    font-weight: 500;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f3f4f6;
    flex-wrap: wrap;
}

.nj-single-post-meta .meta-date,
.nj-single-post-meta .meta-cat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.nj-single-post-meta a {
    color: #EE0107;
    text-decoration: none;
    font-weight: 600;
}

.nj-single-post-meta a:hover {
    text-decoration: underline;
}

.nj-single-post-meta .meta-dot {
    color: #d1d5db;
}

/* Featured Image (Hidden on single post page) */
.nj-single-post-featured {
    display: none !important;
}

/* Content Body Alignment & Typography */
.nj-single-post-body {
    font-size: 17.5px;
    line-height: 1.85;
    color: #374151;
    font-family: 'Rubik', sans-serif;
}

.nj-single-post-body p {
    margin-bottom: 24px;
    color: #374151;
    line-height: 1.85;
    font-size: 17.5px;
}

.nj-single-post-body p:last-child {
    margin-bottom: 0;
}

.nj-single-post-body h2 {
    font-size: 26px;
    font-weight: 700;
    color: #111827;
    margin-top: 38px;
    margin-bottom: 18px;
    line-height: 1.35;
}

.nj-single-post-body h3 {
    font-size: 22px;
    font-weight: 700;
    color: #111827;
    margin-top: 32px;
    margin-bottom: 14px;
    line-height: 1.4;
}

.nj-single-post-body ul,
.nj-single-post-body ol {
    margin-bottom: 24px;
    padding-left: 28px;
}

.nj-single-post-body li {
    margin-bottom: 10px;
    line-height: 1.7;
}

/* Post Navigation & Footer */
.nj-single-post-footer {
    margin-top: 50px;
    padding-top: 32px;
    border-top: 1px solid #e5e7eb;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.nj-single-post-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 26px;
    background: #f3f4f6;
    color: #1f2937;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.25s ease;
}

.nj-single-post-back-btn:hover {
    background: #EE0107;
    color: #ffffff;
}

.nj-single-post-adjacent {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.nj-adjacent-card {
    display: flex;
    flex-direction: column;
    padding: 10px 18px;
    background: #fafafa;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    text-decoration: none;
    max-width: 220px;
    transition: all 0.2s ease;
}

.nj-adjacent-card:hover {
    border-color: #EE0107;
    background: #fff8f8;
}

.nj-adjacent-card .card-dir {
    font-size: 12px;
    text-transform: uppercase;
    color: #9ca3af;
    font-weight: 700;
}

.nj-adjacent-card .card-ttl {
    font-size: 13.5px;
    color: #1f2937;
    font-weight: 600;
    margin-top: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 767px) {
    .nj-single-post-wrapper {
        padding: 30px 0 50px 0;
    }
    .nj-single-post-container {
        padding: 0 16px;
    }
    .nj-single-post-card {
        padding: 24px 18px;
        border-radius: 12px;
    }
    .nj-single-post-body {
        font-size: 16px;
        line-height: 1.75;
    }
    .nj-single-post-body p {
        font-size: 16px;
        line-height: 1.75;
    }
    .nj-single-post-footer {
        flex-direction: column;
        align-items: stretch;
    }
    .nj-single-post-back-btn {
        justify-content: center;
    }
    .nj-single-post-adjacent {
        flex-direction: column;
    }
    .nj-adjacent-card {
        max-width: 100%;
    }
}

/* ==========================================================================
   MOBILE RESPONSIVE ENHANCEMENTS FOR NJ WIDGETS
   ========================================================================== */

@media (max-width: 767px) {
    /* 1. NJ Hero Slider - Height decreased 30% on mobile */
    .elementor-widget-nj-slider-widget .nj-slider-container,
    .nj-slider-container {
        min-height: 365px !important;
        height: 365px !important;
    }
    .nj-slide {
        padding: 15px 0 !important;
        box-sizing: border-box !important;
    }
    .nj-slide-content {
        padding: 0 20px !important;
        box-sizing: border-box !important;
    }
    .nj-slide-subtitle {
        font-size: 11.5px !important;
        line-height: 1.25 !important;
        letter-spacing: 0.5px !important;
        margin-bottom: 8px !important;
        padding-left: 6px !important;
        border-left-width: 2px !important;
        max-width: 100% !important;
    }
    .nj-slide-title {
        font-size: 21px !important;
        line-height: 1.2 !important;
        margin: 0 0 8px !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }
    .nj-slide-desc {
        font-size: 12px !important;
        line-height: 1.45 !important;
        margin: 0 0 12px !important;
        max-width: 95% !important;
    }
    .nj-slide-btn {
        display: inline-block !important;
        padding: 8px 20px !important;
        font-size: 11.5px !important;
        font-weight: 700 !important;
        letter-spacing: 0.5px !important;
        border-radius: 3px !important;
        position: relative !important;
        z-index: 5 !important;
        cursor: pointer !important;
    }
    .nj-slider-nav {
        right: 12px !important;
        bottom: 12px !important;
        gap: 6px !important;
        z-index: 10 !important;
    }
    .nj-slider-arrow {
        width: 32px !important;
        height: 32px !important;
        font-size: 11px !important;
        border-radius: 3px !important;
    }

    /* 2. NJ > Projects Slider/Grid - Heading 30% decrease */
    .nj-project-section-title {
        font-size: 42px !important;
        line-height: 1.25 !important;
    }
    .nj-project-title {
        font-size: 17px !important;
        line-height: 1.3 !important;
    }
    .nj-project-subtitle {
        font-size: 12px !important;
        margin-bottom: 5px !important;
    }
    .nj-project-content {
        padding: 25px 20px 20px 20px !important;
    }
    .nj-project-prev,
    .nj-project-next {
        width: 38px !important;
        height: 38px !important;
        font-size: 16px !important;
    }

    /* 3. NJ Blog - Heading 30% decrease */
    .nj-blog-section-title {
        font-size: 42px !important;
        line-height: 1.25 !important;
        margin-bottom: 25px !important;
    }
    .nj-blog-title {
        font-size: 16px !important;
        line-height: 1.35 !important;
        margin: 0 0 10px !important;
    }
    .nj-blog-content {
        padding: 20px 18px !important;
    }

    /* 4. NJ > Brand Slider - Title 30% decrease & Image size increase */
    .nj-brand-title {
        font-size: 42px !important;
        line-height: 1.25 !important;
        margin-bottom: 25px !important;
    }
    .nj-brand-wrapper {
        margin: 0 15px !important;
    }
    .nj-brand-wrapper .swiper-slide {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .nj-brand-wrapper .swiper-slide img {
        width: 92% !important;
        max-width: 325px !important;
        min-width: 230px !important;
        height: auto !important;
        margin: 0 auto !important;
        display: block !important;
    }
    .nj-brand-item-title {
        font-size: 15px !important;
        margin-top: 10px !important;
    }

    /* 5. NJ About Us - Image width increase 30% (from 80% to 100%) */
    .nj-about-img-box {
        width: 100% !important;
        max-width: 100% !important;
    }
    .nj-about-img-box img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
    }
    .nj-about-exp-box {
        right: 10px !important;
        bottom: 0 !important;
        padding: 18px 24px !important;
        min-width: 140px !important;
        margin: 0 !important;
    }
    .nj-about-exp-num {
        font-size: 32px !important;
    }
    .nj-about-exp-text {
        font-size: 13px !important;
    }
}

@media (max-width: 480px) {
    /* Fine-tuning for smaller phones */
    .elementor-widget-nj-slider-widget .nj-slider-container,
    .nj-slider-container {
        min-height: 350px !important;
        height: 350px !important;
    }
    .nj-slide-content {
        padding: 0 15px !important;
    }
    .nj-slide-subtitle {
        font-size: 11px !important;
        margin-bottom: 6px !important;
    }
    .nj-slide-title {
        font-size: 19px !important;
        line-height: 1.2 !important;
        margin: 0 0 6px !important;
    }
    .nj-slide-desc {
        font-size: 11.5px !important;
        line-height: 1.4 !important;
        margin: 0 0 10px !important;
    }
    .nj-slide-btn {
        padding: 7px 18px !important;
        font-size: 11px !important;
    }
    .nj-slider-arrow {
        width: 28px !important;
        height: 28px !important;
        font-size: 10px !important;
    }

    .nj-project-section-title {
        font-size: clamp(24px, 7vw, 36px) !important;
    }
    .nj-blog-section-title {
        font-size: clamp(24px, 7vw, 36px) !important;
    }
    .nj-brand-title {
        font-size: clamp(24px, 7vw, 36px) !important;
    }
    .nj-brand-wrapper .swiper-slide img {
        width: 95% !important;
        max-width: 290px !important;
        min-width: 210px !important;
    }
}

/* Footer Columns: About Us col-5, Quick Links col-2, Contact Us col-5 */
.nj-footer-col {
    min-width: 0 !important;
}
.nj-footer-col.col-about,
.nj-footer-col-about {
    flex: 0 0 41.666667% !important;
    max-width: 41.666667% !important;
    width: 41.666667% !important;
}
.nj-footer-col.col-links,
.nj-footer-col-links {
    flex: 0 0 16.666667% !important;
    max-width: 16.666667% !important;
    width: 16.666667% !important;
}
.nj-footer-col.col-contact,
.nj-footer-col-contact {
    flex: 0 0 41.666667% !important;
    max-width: 41.666667% !important;
    width: 41.666667% !important;
}

@media (max-width: 991px) {
    .nj-footer-col.col-about,
    .nj-footer-col-about {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }
    .nj-footer-col.col-links,
    .nj-footer-col-links {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }
    .nj-footer-col.col-contact,
    .nj-footer-col-contact {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

@media (max-width: 767px) {
    .nj-footer-col.col-about,
    .nj-footer-col-about,
    .nj-footer-col.col-links,
    .nj-footer-col-links,
    .nj-footer-col.col-contact,
    .nj-footer-col-contact {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* Footer Logo */
.nj-footer-logo img {
    max-width: 180px !important;
    height: 120px !important;
    object-fit: contain !important;
}

/* Footer Quick Links List Icon */
.nj-footer-nav ul li a {
    display: inline-flex !important;
    align-items: center !important;
}
.nj-footer-nav .nj-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    font-size: 12px;
    transition: transform 0.25s ease, color 0.25s ease;
}
.nj-footer-nav ul li a:hover .nj-link-icon {
    transform: translateX(4px);
}

/* Copyright Links */
.nj-copyright-text a {
    color: #fff !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    transition: opacity 0.3s ease !important;
}
.nj-copyright-text a:hover {
    opacity: 0.8 !important;
    color: #fff !important;
}

/* ==========================================================================
   GLOBAL TEXT EDITOR FONT STYLE (Matching Courogated Aluminium Sheet)
   ========================================================================== */
.elementor-widget-text-editor,
.elementor-widget-text-editor .elementor-widget-container,
.elementor-widget-text-editor .elementor-text-editor,
.elementor-widget-text-editor p,
.elementor-text-editor,
.elementor-text-editor > p,
.single-nj_product .elementor-widget-text-editor p,
.single-nj_product .entry-content > p,
.nj-single-post-body,
.nj-single-post-body p {
    font-family: 'Rubik', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.85 !important;
    font-weight: 400 !important;
    color: #4b5563 !important;
    text-align: justify !important;
    text-justify: inter-word !important;
    letter-spacing: normal !important;
    width: 100% !important;
    max-width: 100% !important;
}

.elementor-widget-text-editor p,
.elementor-text-editor > p,
.entry-content > p,
.nj-single-post-body p {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
}

.elementor-widget-text-editor p:last-child,
.elementor-text-editor > p:last-child,
.entry-content > p:last-child,
.nj-single-post-body p:last-child {
    margin-bottom: 0 !important;
}

.elementor-widget-text-editor strong,
.elementor-widget-text-editor b,
.elementor-text-editor strong,
.elementor-text-editor b,
.single-nj_product .elementor-widget-text-editor strong,
.single-nj_product .elementor-widget-text-editor b,
.nj-single-post-body strong,
.nj-single-post-body b {
    font-weight: 700 !important;
    color: #111827 !important;
}

/* ==========================================================================
   NJ SECTION 1 & NJ SECTION 2: FULL WIDTH & 45PX LEFT/RIGHT PADDING
   ========================================================================== */
.e-con:has(.elementor-widget-nj-section-1),
.e-con:has(.elementor-widget-nj-section-2),
.e-con:has(.applications-section),
.e-con:has(.advantages-section),
.elementor-element:has(.elementor-widget-nj-section-1),
.elementor-element:has(.elementor-widget-nj-section-2),
.elementor-element:has(.applications-section),
.elementor-element:has(.advantages-section),
.elementor-element.e-con:has(.elementor-widget-nj-section-1),
.elementor-element.e-con:has(.elementor-widget-nj-section-2),
.elementor-element.e-con.e-parent:has(.elementor-widget-nj-section-1),
.elementor-element.e-con.e-parent:has(.elementor-widget-nj-section-2) {
    width: 100% !important;
    max-width: 100% !important;
    --container-max-width: 100% !important;
    --content-width: 100% !important;
    padding-left: 45px !important;
    padding-right: 45px !important;
    --padding-left: 45px !important;
    --padding-right: 45px !important;
    padding-inline-start: 45px !important;
    padding-inline-end: 45px !important;
    box-sizing: border-box !important;
}

.elementor-widget-nj-section-1,
.elementor-widget-nj-section-2,
.elementor-widget-nj-section-1 .elementor-widget-container,
.elementor-widget-nj-section-2 .elementor-widget-container,
.elementor-widget-nj-section-1 .insulation-info,
.elementor-widget-nj-section-2 .insulation-info,
.insulation-info:has(.applications-section),
.insulation-info:has(.advantages-section),
.insulation-section.applications-section,
.insulation-section.advantages-section,
.applications-section,
.advantages-section {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

@media (min-width: 1400px) {
    .e-con:has(.elementor-widget-nj-section-1),
    .e-con:has(.elementor-widget-nj-section-2),
    .e-con:has(.applications-section),
    .e-con:has(.advantages-section),
    .elementor-widget-nj-section-1,
    .elementor-widget-nj-section-2,
    .elementor-widget-nj-section-1 .insulation-info,
    .elementor-widget-nj-section-2 .insulation-info,
    .elementor-widget-nj-section-1 .applications-section,
    .elementor-widget-nj-section-2 .advantages-section {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (min-width: 1920px) {
    .e-con:has(.elementor-widget-nj-section-1),
    .e-con:has(.elementor-widget-nj-section-2),
    .e-con:has(.applications-section),
    .e-con:has(.advantages-section),
    .elementor-widget-nj-section-1,
    .elementor-widget-nj-section-2,
    .elementor-widget-nj-section-1 .insulation-info,
    .elementor-widget-nj-section-2 .insulation-info,
    .elementor-widget-nj-section-1 .applications-section,
    .elementor-widget-nj-section-2 .advantages-section {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 767px) {
    .e-con:has(.elementor-widget-nj-section-1),
    .e-con:has(.elementor-widget-nj-section-2),
    .e-con:has(.applications-section),
    .e-con:has(.advantages-section),
    .elementor-element:has(.elementor-widget-nj-section-1),
    .elementor-element:has(.elementor-widget-nj-section-2),
    .elementor-element:has(.applications-section),
    .elementor-element:has(.advantages-section),
    .elementor-element.e-con:has(.elementor-widget-nj-section-1),
    .elementor-element.e-con:has(.elementor-widget-nj-section-2),
    .elementor-element.e-con.e-parent:has(.elementor-widget-nj-section-1),
    .elementor-element.e-con.e-parent:has(.elementor-widget-nj-section-2) {
        padding-left: 5px !important;
        padding-right: 5px !important;
        --padding-left: 5px !important;
        --padding-right: 5px !important;
        padding-inline-start: 5px !important;
        padding-inline-end: 5px !important;
    }
}

/* NJ Section 1: Applications List title font color set white */
.elementor-widget-nj-section-1 .applications-header .section-title,
.elementor-widget-nj-section-1 .applications-section .section-title,
.elementor-widget-nj-section-1 .application-box strong,
.elementor-widget-nj-section-1 .application-content strong,
.applications-section .applications-header .section-title,
.applications-section .section-title,
.applications-list .application-box strong,
.applications-list .application-content strong,
.applications-section .application-box strong {
    color: #ffffff !important;
}

.applications-section:not(.style_2):not(.style-2) .application-box:hover strong {
    color: #5d0909 !important;
}

.applications-section.style_2 .application-box:hover strong,
.applications-section.style-2 .application-box:hover strong {
    color: #ffffff !important;
}

/* ==========================================================================
   NJ PRODUCT GRID: CATEGORY CENTERED
   ========================================================================== */
.nj-product-grid .nj-product-category,
.nj-product-grid .nj-product-content p,
.nj-product-card .nj-product-category,
.nj-product-card p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    width: 100% !important;
}

@media (max-width: 767px) {
    .elementor-widget-text-editor,
    .elementor-widget-text-editor .elementor-widget-container,
    .elementor-widget-text-editor p,
    .elementor-text-editor,
    .elementor-text-editor p,
    .single-nj_product .elementor-widget-text-editor p,
    .nj-single-post-body p {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
}


/* NJ Call Out: Flexbox container padding 10 to 0 */
.e-con:has(.elementor-widget-nj-callout),
.e-con:has(.insulation-callout),
.elementor-element:has(.elementor-widget-nj-callout),
.elementor-element:has(.insulation-callout),
.elementor-element.e-con:has(.elementor-widget-nj-callout) {
    padding: 0 !important;
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
}

.elementor-widget-nj-callout,
.elementor-widget-nj-callout .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}






/* Custom fix for footer contact items white lines */
.nj-contact-item, .nj-contact-item *, .nj-contact-info .nj-contact-item { border: none !important; border-bottom: none !important; box-shadow: none !important; text-decoration: none !important; }


/* What is Insulation Page - Mobile Image Full Width */
@media (max-width: 767px) {
    .elementor-1779 .elementor-element.elementor-element-11a63cf img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }
}

/* What is Insulation Page - Icon List 3 Columns to 1 Column on Mobile */
@media (max-width: 767px) {
    .elementor-1779 .elementor-element-fe0913a {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
    }
    .elementor-1779 .elementor-element-fe0913a > .e-con {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        margin-bottom: 10px;
    }
    /* Prevent icon squishing */
    .elementor-1779 .elementor-icon-list-icon {
        flex-shrink: 0 !important;
        min-width: 14px !important;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .elementor-1779 .elementor-icon-list-icon svg {
        width: 14px !important;
        height: 14px !important;
    }
}
