/*
Theme Name: Nirja Theme
Theme URI: https://example.com/nirja
Author: Nirja Theme
Author URI: https://example.com/
Description: Modern, responsive and elegant WordPress theme designed for hair, beauty, wellness, and creative lifestyle businesses. Fully compatible with Elementor, Header Footer Elementor, and Nirja Core v2.0.
Version: 2.2.3
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nirja
Tags: blog, custom-header, custom-menu, featured-images, full-width-template, theme-options, translation-ready, e-commerce, beauty, hair-salon
*/

/* Reset & Base Styles */
:root {
    --nirja-primary: #2b3992;
    --nirja-primary-dark: #1e2868;
    --nirja-secondary: #f7941d;
    --nirja-secondary-dark: #dc7e0c;
    --nirja-accent: #f7941d;
    --nirja-dark: #121212;
    --nirja-light: #ffffff;
    --nirja-card-bg: #ffffff;
    --nirja-text: #4a4a4a;
    --nirja-heading: #1a1a1a;
    --nirja-border: #e8e4df;
    --nirja-font-main: 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --nirja-font-heading: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --nirja-font-accent: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --nirja-container: 1200px;
    --nirja-radius: 8px;
    --nirja-transition: all 0.3s ease;
    --nirja-shadow: 0 4px 20px rgba(43, 57, 146, 0.08);
    --nj52-cream: #faf7f200;
    -nj52-cream: #faf7f200;
    --nj60-cream: #faf7f200;
    -nj60-cream: #faf7f200;
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    overflow-x: hidden;
    overflow-y: auto;
    max-width: 100%;
    width: 100%;
    height: auto;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: var(--nirja-font-main);
    font-size: 16px;
    line-height: 1.7;
    color: var(--nirja-text);
    background-color: #ffffff;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    position: relative;
}

p, li, input, textarea, select {
    font-family: var(--nirja-font-main);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--nirja-font-heading);
    color: var(--nirja-heading);
    line-height: 1.3;
    font-weight: 400;
    margin-bottom: 0.8rem;
    word-break: break-word;
    overflow-wrap: break-word;
}

.site-title,
.page-title,
.entry-title,
.widget-title,
.nirja-btn,
.button,
nav,
.menu-item,
.sub-title,
.subtitle {
    font-family: var(--nirja-font-heading);
}

h1 { font-size: clamp(2rem, 4vw, 2.5rem); }
h2 { font-size: clamp(1.6rem, 3.2vw, 2rem); }
h3 { font-size: clamp(1.3rem, 2.5vw, 1.5rem); }
h4 { font-size: clamp(1.1rem, 2vw, 1.25rem); }
h5 { font-size: 1.1rem; }
h6 { font-size: 1rem; }

a {
    color: var(--nirja-primary);
    text-decoration: none;
    transition: var(--nirja-transition);
}

a:hover {
    color: var(--nirja-secondary);
}

.nirja-btn,
.button,
button[type="submit"],
input[type="submit"] {
    background-color: var(--nirja-primary);
    color: #ffffff;
    transition: var(--nirja-transition);
}

.nirja-btn:hover,
.button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
    background-color: var(--nirja-secondary);
    color: #ffffff;
}

img, video, iframe {
    max-width: 100%;
    height: auto;
    display: block;
    box-sizing: border-box;
}

.nirja-container {
    width: 100%;
    max-width: var(--nirja-container);
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(15px, 3vw, 24px);
    padding-right: clamp(15px, 3vw, 24px);
    box-sizing: border-box;
}

/* Global Container & Elementor Safety */
#page, .site-wrapper, #content, .site-main, .entry-content,
.nirja-service-single-main, .nirja-full-width-content,
.elementor, .elementor-section-wrap, .elementor-section,
.elementor-container, .e-con, .e-con-inner, .e-flexbox, .e-grid {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.site-wrapper {
    overflow-x: clip !important;
    overflow-y: visible !important;
    width: 100% !important;
    height: auto !important;
}

@media (max-width: 991px) {
    .elementor-section.elementor-section-boxed > .elementor-container {
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

/* Mobile overflow fix */
@media (max-width: 767px) {
    body, html, .elementor-page {
        overflow-x: hidden !important;
        max-width: 100vw !important;
    }
    .elementor-section {
        max-width: 100vw !important;
    }
}

/* ==========================================================================
   GLOBAL COLOR OVERRIDE: NJ EDITOR & ICON LIST (#141415)
   ========================================================================== */
.nj-editor-desc,
.nj-editor-desc p,
.nj-editor-desc span,
.nj-editor-desc li,
.nj-editor-desc div,
.nj-editor-item-desc,
.nj-editor-item-title,
.nj-content-desc-only .nj-editor-item-desc,
.elementor-widget-icon-list .elementor-icon-list-item,
.elementor-widget-icon-list .elementor-icon-list-text,
.elementor-widget-icon-list .elementor-icon-list-item a,
.elementor-widget-icon-list .elementor-icon-list-item a span,
.elementor-icon-list-item .elementor-icon-list-text,
.elementor-icon-list-text,
.sc-physio-icon-list,
.sc-physio-icon-list p,
.sc-physio-icon-list span,
.sc-physio-icon-list div,
.sc-physio-icon-list li {
    color: #141415 !important;
}

/* Interactive Hover States Preservation */
.nj-editor-item:hover .nj-editor-item-title,
.nj-content-desc-only .nj-editor-item:hover .nj-editor-item-desc {
    color: #2b3992 !important;
}

.elementor-widget-icon-list .elementor-icon-list-item a:hover,
.elementor-widget-icon-list .elementor-icon-list-item a:hover .elementor-icon-list-text {
    color: #2b3992 !important;
}

/* Hide duplicate black page-header bar */
.nirja-page-header {
    display: none !important;
}

/* ==========================================================================
   NJ FOOTER QUICK LINKS - WHITE ANGLE ICON
   ========================================================================== */
.nj-footer-menu li,
.nj-footer-col-links1 ul li,
.nj-footer-col-links2 ul li,
.nj-footer-col .menu li {
    list-style: none !important;
    position: relative !important;
    padding-left: 18px !important;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.5;
}

.nj-footer-menu li::before,
.nj-footer-col-links1 ul li::before,
.nj-footer-col-links2 ul li::before,
.nj-footer-col .menu li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 7px !important;
    height: 11px !important;
    display: inline-block !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 11' fill='none'%3E%3Cpath d='M1 1L5.5 5.5L1 10' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    transition: transform 0.2s ease, opacity 0.2s ease !important;
    opacity: 0.95 !important;
}

@supports (mask: url()) or (-webkit-mask: url()) {
    .nj-footer-menu li::before,
    .nj-footer-col-links1 ul li::before,
    .nj-footer-col-links2 ul li::before,
    .nj-footer-col .menu li::before {
        background-color: #ffffff !important;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 11' fill='none'%3E%3Cpath d='M1 1L5.5 5.5L1 10' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center !important;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 11' fill='none'%3E%3Cpath d='M1 1L5.5 5.5L1 10' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center !important;
        -webkit-mask-size: contain !important;
        mask-size: contain !important;
        background-image: none !important;
    }
}

.nj-footer-menu li:hover::before,
.nj-footer-col-links1 ul li:hover::before,
.nj-footer-col-links2 ul li:hover::before,
.nj-footer-col .menu li:hover::before {
    transform: translateY(-50%) translateX(3px) !important;
    opacity: 1 !important;
}

/* Remove card numbers in NJ Section 3 */
.nj-sec3-s2-num-badge,
.nj-sec3-s3-num {
    display: none !important;
}

/* NJ Section 3 - Card Arrow Button Hover Background */
.nj-sec3-s2-box:hover .nj-sec3-s2-arrow-pill,
.nj-sec3-s2-arrow-pill:hover,
.nj-sec3-card:hover .nj-sec3-s2-arrow-pill,
.nj-sec3-s2-box:hover .nj-sec3-s2-action-circle,
.nj-sec3-s2-action-circle:hover,
.nj-sec3-card:hover .nj-sec3-s2-action-circle,
.nj-sec3-s3-card:hover .nj-sec3-s3-explore,
.nj-sec3-s3-explore:hover,
.nj-sec3-card:hover .nj-sec3-s3-explore {
    background: #f7941d !important;
    background-color: #f7941d !important;
    border-color: #f7941d !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(247, 148, 29, 0.45) !important;
}

/* Hide current page icon in page header breadcrumbs */
.nirja-breadcrumb-list .nj-bc-current-icon,
.nj-bc-current-icon,
.nj-bc-icon.nj-bc-current-icon {
    display: none !important;
}




