/* =========================================================
   NT24 PREMIUM LUXURY STYLES - HOMEPAGE OVERRIDES
   ========================================================= */
body.page-id-18 .header-main, body.page-id-55 .header-main, body.page-id-15 , body.page-id-649 .header-main { background-color: transparent !important; }

/* --- GLOBAL SECTION RESET --- */
body.page-id-18 .section {
    overflow: hidden !important;
}

/* --- TYPOGRAPHY & HEADINGS --- */
.nt-heading {
    margin-bottom: 40px;
}
.nt-heading .nt-subtitle {
    display: block;
    font-family: 'VNF-Futura', sans-serif;
    font-size: 0.72em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 4px;
    color: #C4A882;
    margin-bottom: 12px;
}
.nt-heading .nt-title {
    font-family: 'VNF-Futura', sans-serif;
    font-size: 2.8em;
    font-weight: 700;
    line-height: 1.2;
    color: #1a1a1a;
    margin: 0 0 16px;
}
.nt-heading .nt-desc {
    font-size: 1.05em;
    max-width: 600px;
}
.nt-heading.text-center .nt-desc {
    margin: 0 auto;
}

/* Dark Mode Headings */
.nt-dark-mode .nt-title {
    color: #ffffff;
}
.nt-dark-mode .nt-desc {
    color: rgba(255, 255, 255, 0.6);
}

/* --- BUTTONS --- */
.nt-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 36px !important;
    font-family: 'VNF-Futura', sans-serif !important;
    font-size: 0.8em !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    transition: all 0.4s ease !important;
    border: none !important;
}
.nt-btn-outline {
    background: transparent !important;
    border: 1.5px solid #C4A882 !important;
    color: #C4A882 !important;
}
.nt-btn-outline:hover {
    background: #C4A882 !important;
    color: #ffffff !important;
}
.nt-btn-white {
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: #ffffff !important;
    margin-top: 40px !important;
}
.nt-btn-white:hover {
    background: #ffffff !important;
    color: #1a1a1a !important;
}

/* --- ABOUT SECTION --- */
.nt-stats-row {
    margin-bottom: 36px;
    padding-top: 24px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}
.nt-stat .nt-stat-num {
    font-family: 'VNF-Futura', sans-serif;
    font-size: 2.6em;
    color: #C4A882;
    margin: 0 0 4px;
    line-height: 1;
}
.nt-stat .nt-stat-text {
    font-size: 0.8em;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #888;
    margin: 0;
}
.nt-img-main {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.06);
}

/* --- CATEGORIES & PORTFOLIO CARDS --- */
.nt-cat-grid, .nt-port-grid {
    margin: 0 !important; /* Remove Flatsome gap */
}
/* Banner bg animation */
.nt-cat-card .bg, .nt-port-card .bg {
    transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}
.nt-cat-card:hover .bg, .nt-port-card:hover .bg {
    transform: scale(1.08) !important;
}
/* Overlay via pseudo-element to ensure it exists */
.nt-cat-card .banner-inner::after, .nt-port-card .banner-inner::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(18,18,18,0.95) 0%, rgba(18,18,18,0.2) 60%, transparent 100%);
    opacity: 0.8;
    transition: opacity 0.4s ease;
    z-index: 1;
    pointer-events: none;
}
.nt-cat-card:hover .banner-inner::after, .nt-port-card:hover .banner-inner::after {
    opacity: 1;
}

/* Card Content Box - ensure banner link clickable */
.nt-cat-card .banner-link, .nt-port-card .banner-link {
    z-index: 3 !important;
}
.nt-cat-box, .nt-port-box {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    transform: none !important;
    padding: 30px !important;
    z-index: 2 !important;
    text-align: center;
}
.nt-cat-box .text-inner, .nt-port-box .text-inner {
    width: 100% !important;
}
.nt-cat-title, .nt-port-title {
    font-family: 'VNF-Futura', sans-serif !important;
    font-size: 1.8em !important;
    color: #ffffff !important;
    margin: 0 0 8px !important;
    transition: transform 0.4s ease;
    text-shadow: 0 4px 12px rgba(0,0,0,0.4);
    line-height: 1.2;
}
.nt-cat-link {
    font-family: 'VNF-Futura', sans-serif !important;
    font-size: 0.75em !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #C4A882 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    opacity: 0;
    transform: translateY(15px);
    transition: all 0.4s ease;
}
.nt-cat-link::after {
    content: '→';
    font-size: 1.4em;
    line-height: 0;
}
.nt-cat-card:hover .nt-cat-link {
    opacity: 1;
    transform: translateY(0);
}
.nt-cat-card:hover .nt-cat-title {
    transform: translateY(-5px);
}

/* Portfolio Specific */
.nt-port-box, .nt-port-box .text-inner {
    pointer-events: none;
}
.nt-port-cat {
    display: block;
    font-family: 'VNF-Futura', sans-serif !important;
    font-size: 0.7em !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #C4A882 !important;
    margin-bottom: 8px !important;
}
.nt-port-card {
    border-right: 1px solid rgba(255,255,255,0.08);
}

/* Dark background for all process sections */
.nt-section.nt-process {
    background: #1a1a1a !important;
    position: relative;
}

.nt-process-grid {
    position: relative;
    z-index: 1;
    margin-top: 40px;
}
.nt-process-grid .row-inner {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
}
.nt-process-grid .row-inner > .col-inner {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
}
.nt-process-step {
    position: relative;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 36px 32px 32px !important;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    overflow: hidden;
}
.nt-process-step::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #C4A882, #E8D5B0, #C4A882);
    opacity: 0;
    transition: opacity 0.4s ease;
}
.nt-process-step:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
    border-color: rgba(196, 168, 130, 0.25);
    background: rgba(255, 255, 255, 0.07);
}
.nt-process-step:hover::before {
    opacity: 1;
}
.nt-step-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: rgba(196, 168, 130, 0.1);
    border: 1px solid rgba(196, 168, 130, 0.2);
    font-family: 'VNF-Futura', sans-serif;
    font-size: 1.4em;
    font-weight: 700;
    color: #C4A882;
    line-height: 1;
    margin-bottom: 20px;
    transition: all 0.4s ease;
}
.nt-process-step:hover .nt-step-num {
    background: rgba(196, 168, 130, 0.2);
    border-color: rgba(196, 168, 130, 0.4);
    transform: scale(1.08);
    box-shadow: 0 8px 20px rgba(196, 168, 130, 0.2);
}
.nt-step-title {
    font-family: 'VNF-Futura', sans-serif;
    font-size: 1.05em;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: color 0.3s ease;
}
.nt-process-step:hover .nt-step-title {
    color: #C4A882;
}
.nt-step-desc {
    font-size: 0.9em;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.7;
    margin: 0;
}
/* Process section heading override for dark bg */
.nt-section.nt-process .nt-heading .nt-subtitle {
    color: #C4A882 !important;
}
.nt-section.nt-process .nt-heading .nt-title {
    color: #ffffff !important;
}

/* Homepage 4-column process grid */
body.page-id-18 .nt-process-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    flex-wrap: nowrap !important;
}
body.page-id-18 .nt-process-grid > .col {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
}
/* Hide Flatsome's vertical timeline line on homepage */
body.page-id-18 .nt-process-grid::before,
body.page-id-18 .nt-process-grid::after {
    display: none !important;
}

/* Responsive */
@media (max-width: 849px) {
    .nt-process-grid .row-inner,
    body.page-id-18 .nt-process-grid,
    body.page-id-18 .nt-process .nt-process-grid {
        grid-template-columns: 1fr !important;
    }
    body.page-id-18 .nt-process-grid > .col {
        width: 100% !important;
        max-width: 100% !important;
    }
}
@media (max-width: 549px) {
    .nt-process-grid .row-inner {
        grid-template-columns: 1fr !important;
    }
}

/* --- HERO LUXURY OVERRIDES --- */
.nt-hlx-title {
    font-size: 3.6em !important;
}
.nt-hlx-subtitle {
    color: #C4A882 !important;
}

/* --- RESPONSIVE FIXES --- */
@media (max-width: 849px) {
    .nt-heading .nt-title {
        font-size: 2.2em;
    }
    .nt-step-num {
        font-size: 3em;
    }
    .nt-about-media {
        margin-top: 40px;
    }
}

/* --- FORMS & CALCULATOR FIXES --- */
/* Fix Dropdowns */
.nt-calc-field select, .nt-form-field select {
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;
  background-size:12px; padding-right:36px; cursor:pointer; color:#333;
  line-height:1.4; min-height:46px; width:100%;
}
.nt-calc-field select option, .nt-form-field select option {
  color:#333; background:#fff; padding:8px;
}

/* Calculator Light */
.nt-calc {
  background:#fff; border:1px solid #E8E2DA; border-radius:16px; padding:40px; box-shadow:0 20px 40px rgba(0,0,0,0.04);
}
.nt-calc-header { text-align:center; margin-bottom:32px; }
.nt-calc-icon { margin-bottom:12px; color:#C4A882; }
.nt-calc-title { font-family:'VNF-Futura',sans-serif; font-size:1.6em; color:#1a1a1a; margin:0 0 8px; }
.nt-calc-subtitle { font-size:0.9em; color:#888; }
.nt-calc-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }
.nt-calc-field label { display:block; font-family:'VNF-Futura',sans-serif; font-size:0.75em; font-weight:600; text-transform:uppercase; letter-spacing:1.5px; color:#999; margin-bottom:8px; }
.nt-calc-field input, .nt-calc-field select { padding:14px; border:1.5px solid #E8E2DA; border-radius:8px; font-family:'VNF-Futura',sans-serif; font-size:0.95em; transition:border-color 0.3s; background:#fff; color:#333; width:100%; height:auto !important; min-height:48px; box-sizing:border-box; line-height:1.5 !important; }
.nt-calc-field input:focus, .nt-calc-field select:focus { border-color:#C4A882; outline:none; }
.nt-calc-btn { width:100%; padding:16px; margin-top:8px; background:#1a1a1a; color:#fff; border:none; border-radius:8px; font-family:'VNF-Futura',sans-serif; font-size:0.85em; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px; transition:all 0.3s; height:auto !important; }
.nt-calc-btn:hover { background:#C4A882; transform:translateY(-2px); box-shadow:0 10px 20px rgba(196,168,130,0.2); }

/* Calculator Dark (Inside dark section) */
.section[style*="1a1a1a"] .nt-calc, .section[style*="121212"] .nt-calc, .nt-calc--dark {
  background:rgba(255,255,255,0.03); border-color:rgba(255,255,255,0.06); box-shadow:none;
}
.nt-calc--dark .nt-calc-title { color:#fff; }
.nt-calc--dark .nt-calc-subtitle, .nt-calc--dark .nt-calc-field label { color:rgba(255,255,255,0.5); }
.nt-calc--dark .nt-calc-field input, .nt-calc--dark .nt-calc-field select {
  background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.1); color:#fff;
}
.nt-calc--dark .nt-calc-field select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23C4A882' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}
.nt-calc--dark .nt-calc-field select option { background:#1e1e1e; color:#fff; }
.nt-calc--dark .nt-calc-field input::placeholder { color:rgba(255,255,255,0.3); }
.nt-calc--dark .nt-calc-field input:focus, .nt-calc--dark .nt-calc-field select:focus { border-color:#C4A882; }
.nt-calc--dark .nt-calc-btn { background:#C4A882; color:#fff; }
.nt-calc--dark .nt-calc-btn:hover { background:#B8452A; }

/* Contact info below form */
.nt-contact-info { margin-top:30px; font-size:0.95em; color:rgba(255,255,255,0.7); }
.nt-contact-info p { margin-bottom:8px; }

@media (max-width:768px) {
  .nt-calc-row { grid-template-columns:1fr; gap:16px; }
  .nt-calc { padding:24px; }
}

/* Fix for all forms to ensure height is auto */
.nt-form-field input, .nt-form-field select, .nt-form input, .nt-form select {
    height: auto !important;
    min-height: 48px;
    box-sizing: border-box;
    line-height: 1.5 !important;
}

/* --- LUXURY MOBILE MENU --- */
.off-canvas .sidebar-menu {
    background: #121212 !important;
}
.mobile-sidebar li a {
    color: #ffffff !important;
    font-family: 'VNF-Futura', sans-serif !important;
    font-size: 0.85em !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 20px !important;
}
.mobile-sidebar li.active > a, .mobile-sidebar li a:hover {
    color: #C4A882 !important;
    background: transparent !important;
}
.mobile-sidebar .header-search-form {
    padding: 24px 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    background: transparent !important;
}
.mobile-sidebar .header-search-form input {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    height: 44px !important;
}
.mobile-sidebar .header-search-form .icon-search {
    color: #C4A882 !important;
}
.mobile-sidebar .header-search-form button {
    background: transparent !important;
}
.mfp-close {
    color: #ffffff !important;
    opacity: 0.8 !important;
}
.mfp-close:hover {
    color: #C4A882 !important;
    opacity: 1 !important;
}

/* Hide scrollbar in mobile menu for a sleek look */
.off-canvas .sidebar-menu {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}
.off-canvas .sidebar-menu::-webkit-scrollbar,
.mfp-wrap::-webkit-scrollbar,
.mfp-container::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}
