/* ==========================================================================
   Noble Card Grading Services - World-Class Dark Luxury Aesthetic
   100% Fully Responsive Design System (Mobile, Tablet, Desktop, Ultrawide)
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Space+Grotesk:wght@500;600;700;800;900&display=swap');

:root {
  --ncg-bg: #070A0F;
  --ncg-bg-elevated: #0D131C;
  --ncg-bg-card: #131B26;
  --ncg-bg-card-hover: #182232;
  --ncg-border: #1E293B;
  --ncg-border-hover: #334155;
  --ncg-border-gold: rgba(212, 175, 55, 0.4);
  --ncg-text-primary: #F8FAFC;
  --ncg-text-secondary: #94A3B8;
  --ncg-text-muted: #64748B;
  --ncg-gold: #D4AF37;
  --ncg-gold-light: #F6D55C;
  --ncg-gold-dark: #B89628;
  --ncg-gold-glow: rgba(212, 175, 55, 0.35);
  --ncg-silver: #E2E8F0;
  --ncg-success: #10B981;
}

*, *::before, *::after {
  box-sizing: border-box !important;
}

html {
  margin: 0;
  padding: 0;
}

html, body {
  background-color: var(--e-global-color-ncg_bg_base, var(--ncg-bg));
  color: var(--e-global-color-secondary, var(--ncg-silver));
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden !important;
  width: 100% !important;
  max-width: 100vw !important;
}

body {
  margin: 0 !important;
  padding: 0 !important;
}

/* ==========================================================================
   1. ELIMINATE HELLO ELEMENTOR & WORDPRESS CONTAINER LOCKS
   ========================================================================== */
body:not([class*=elementor-page-]) .site-main,
.site-main,
.page-content,
.entry-content,
.site-content,
#content,
.post-18,
.elementor-template-full-width .site-main,
.site-header .header-inner,
.site-footer .footer-inner {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Remove default theme titles & breadcrumbs */
.entry-title, .page-header, .site-header .site-description, #site-footer.dynamic-footer {
  display: none !important;
}

/* Universal Responsive Typography & Media Fallbacks (Preserve Elementor Controls & Plugin Shortcodes) */
h1:not(.elementor-heading-title) {
  font-size: 68px;
  font-weight: 700;
  line-height: 1.08;
}

h2:not(.elementor-heading-title):not(.ncg-step-title):not(.ncg-collector-name):not(.ncg-srv-section-title) {
  font-size: 48px;
  font-weight: 700;
  line-height: 1.15;
}

h3:not(.elementor-heading-title):not(.ncg-summary-title):not(.ncg-account-section-title) {
  font-size: 32px;
  font-weight: 600;
  line-height: 1.2;
}

h4:not(.elementor-heading-title) {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
}

@media (max-width: 1024px) {
  h1:not(.elementor-heading-title) { font-size: 52px; }
  h2:not(.elementor-heading-title):not(.ncg-step-title):not(.ncg-collector-name):not(.ncg-srv-section-title) { font-size: 38px; }
  h3:not(.elementor-heading-title):not(.ncg-summary-title):not(.ncg-account-section-title) { font-size: 28px; }
  h4:not(.elementor-heading-title) { font-size: 22px; }
}

@media (max-width: 767px) {
  h1:not(.elementor-heading-title) { font-size: 38px; }
  h2:not(.elementor-heading-title):not(.ncg-step-title):not(.ncg-collector-name):not(.ncg-srv-section-title) { font-size: 28px; }
  h3:not(.elementor-heading-title):not(.ncg-summary-title):not(.ncg-account-section-title) { font-size: 24px; }
  h4:not(.elementor-heading-title) { font-size: 20px; }
}

h1, h2, h3 {
  word-break: break-word;
  overflow-wrap: break-word;
}

img {
  max-width: 100% !important;
  height: auto;
}

/* Standard Responsive Max-Width Container */
.ncg-container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

@media (max-width: 600px) {
  .ncg-container {
    padding: 0 16px;
  }
}

/* Page Hero Shared Typography */
.ncg-page-hero-title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: clamp(26px, 4.5vw, 42px) !important;
  font-weight: 800 !important;
  color: #F8FAFC !important;
  margin-bottom: 12px !important;
  line-height: 1.2 !important;
  word-break: break-word !important;
}

.ncg-page-hero-subtitle {
  color: #94A3B8 !important;
  font-size: clamp(14px, 2vw, 16px) !important;
  max-width: 700px !important;
  margin: 0 auto !important;
  line-height: 1.6 !important;
}

/* ==========================================================================
   2. LUXURY NAVIGATION HEADER & MOBILE RESPONSIVENESS
   ========================================================================== */
header.site-header, .site-header {
  background: rgba(7, 10, 15, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  padding: 12px 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.site-header .header-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

.site-branding {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.site-branding .site-title a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  color: #F8FAFC !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 900 !important;
  font-size: 17px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.site-branding .site-title a::before {
  content: "ðŸ‘‘";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, #D4AF37 0%, #B89628 100%);
  color: #070A0F;
  border-radius: 8px;
  font-size: 15px;
  box-shadow: 0 0 15px rgba(212, 175, 55, 0.4);
  flex-shrink: 0;
}

.site-branding .site-title a::after {
  content: "CANADA";
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1px;
  background: rgba(212, 175, 55, 0.15);
  color: #D4AF37;
  border: 1px solid rgba(212, 175, 55, 0.35);
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: 4px;
}

/* Nav Menu Desktop */
.site-navigation ul.menu {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-navigation ul.menu li a {
  color: #94A3B8 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  transition: all 0.2s ease !important;
  padding: 6px 4px !important;
  white-space: nowrap !important;
}

.site-navigation ul.menu li a:hover,
.site-navigation ul.menu li.current-menu-item a {
  color: #D4AF37 !important;
}

.site-navigation ul.menu li:nth-child(2) a {
  background: linear-gradient(135deg, #D4AF37 0%, #B89628 100%) !important;
  color: #070A0F !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  font-weight: 900 !important;
  box-shadow: 0 2px 10px rgba(212, 175, 55, 0.35) !important;
}

.site-navigation ul.menu li:nth-child(2) a:hover {
  background: #F6D55C !important;
  transform: translateY(-1px) !important;
}

/* Mobile & Tablet Header Navigation Rules */
.site-navigation-toggle-holder {
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.site-navigation-toggle-holder .site-navigation-toggle {
  background: rgba(212, 175, 55, 0.12) !important;
  border: 1px solid rgba(212, 175, 55, 0.45) !important;
  color: #D4AF37 !important;
  border-radius: 8px !important;
  padding: 8px 10px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.site-navigation-toggle-holder .site-navigation-toggle-icon:before,
.site-navigation-toggle-holder .site-navigation-toggle-icon:after {
  background-color: #D4AF37 !important;
}

.site-navigation-dropdown {
  background: #0D131C !important;
  border-bottom: 2px solid #D4AF37 !important;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.9) !important;
  width: 100% !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 10000 !important;
}

.site-navigation-dropdown ul.menu {
  background: #0D131C !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.site-navigation-dropdown ul.menu li {
  width: 100% !important;
  border-bottom: 1px solid #1E293B !important;
}

.site-navigation-dropdown ul.menu li a {
  background: #0D131C !important;
  color: #F8FAFC !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  padding: 16px 24px !important;
  display: block !important;
  box-shadow: none !important;
}

.site-navigation-dropdown ul.menu li a:hover,
.site-navigation-dropdown ul.menu li.current-menu-item a {
  background: #131B26 !important;
  color: #D4AF37 !important;
}

@media (max-width: 992px) {
  .site-branding .site-title a {
    font-size: 15px !important;
  }
}

@media (max-width: 580px) {
  header.site-header, .site-header {
    padding: 10px 14px !important;
  }
  .site-branding .site-title a {
    font-size: 13px !important;
    gap: 6px !important;
  }
  .site-branding .site-title a::after {
    display: none !important;
  }
  .site-branding .site-title a::before {
    width: 26px !important;
    height: 26px !important;
    font-size: 13px !important;
  }
}

/* ==========================================================================
   3. HERO SECTION & CGC 3-SLAB DISPLAY
   ========================================================================== */
.ncg-hero-section {
  background: radial-gradient(circle at 50% 15%, rgba(212,175,55,0.18) 0%, rgba(15,23,42,0.85) 45%, #070A0F 100%);
  padding: 70px 20px 40px 20px;
  border-bottom: 1px solid #1E293B;
  text-align: center;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.ncg-hero-container {
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

.ncg-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(212,175,55,0.5);
  background: rgba(212,175,55,0.08);
  color: #D4AF37;
  padding: 8px 18px;
  border-radius: 30px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 22px;
  box-shadow: 0 0 20px rgba(212,175,55,0.2);
  max-width: 95%;
  box-sizing: border-box;
  text-align: center;
  line-height: 1.4;
}

.ncg-hero-title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: clamp(26px, 5.2vw, 54px) !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  margin: 0 auto 20px auto !important;
  color: #F8FAFC !important;
  letter-spacing: -0.5px !important;
  max-width: 950px !important;
  text-transform: uppercase !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

.ncg-hero-title span {
  background: linear-gradient(135deg, #FFFDF0 0%, #D4AF37 50%, #B89628 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 30px rgba(212,175,55,0.3);
  display: inline-block;
}

.ncg-hero-subtitle {
  font-size: clamp(14px, 2vw, 17px) !important;
  color: #94A3B8 !important;
  line-height: 1.6 !important;
  margin: 0 auto 35px auto !important;
  max-width: 680px !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
}

.ncg-hero-cta-group {
  display: flex !important;
  justify-content: center !important;
  gap: 14px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin-bottom: 45px !important;
  width: 100% !important;
}

.ncg-btn-primary {
  background: linear-gradient(135deg, #D4AF37 0%, #B89628 100%) !important;
  color: #070A0F !important;
  padding: 16px 36px !important;
  border-radius: 10px !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  box-shadow: 0 6px 25px rgba(212,175,55,0.45) !important;
  display: inline-block !important;
  text-align: center !important;
  box-sizing: border-box !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}

.ncg-btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(212,175,55,0.6) !important;
}

.ncg-btn-secondary {
  background: #131B26 !important;
  border: 1.5px solid #334155 !important;
  color: #F8FAFC !important;
  padding: 16px 28px !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  display: inline-block !important;
  text-align: center !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s !important;
}

.ncg-btn-secondary:hover {
  border-color: #D4AF37 !important;
  color: #D4AF37 !important;
}

@media (max-width: 480px) {
  .ncg-hero-cta-group {
    flex-direction: column !important;
    gap: 12px !important;
  }
  .ncg-btn-primary, .ncg-btn-secondary {
    width: 100% !important;
    max-width: 320px !important;
  }
}

/* 3-Slab Stage (Desktop & Responsive Scaling) */
.ncg-hero-slabs-stage {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 20px;
  margin: 0 auto 25px auto;
  max-width: 1050px;
  perspective: 1000px;
  width: 100%;
  box-sizing: border-box;
}

.ncg-hero-slab-item {
  transition: transform 0.3s ease;
}

.ncg-hero-slab-item.left {
  transform: rotate(-5deg) translateY(10px);
  z-index: 1;
}

.ncg-hero-slab-item.center {
  transform: translateY(-15px) scale(1.08);
  z-index: 3;
  position: relative;
}

.ncg-hero-slab-item.right {
  transform: rotate(5deg) translateY(10px);
  z-index: 1;
}

@media (max-width: 900px) and (min-width: 581px) {
  .ncg-hero-slabs-stage {
    gap: 10px;
    transform: scale(0.82);
    transform-origin: center bottom;
    margin-bottom: 5px;
  }
}

@media (max-width: 580px) {
  .ncg-hero-slabs-stage {
    gap: 0;
    margin: 0 auto 15px auto;
    position: relative;
    height: 380px;
    align-items: center;
  }
  .ncg-hero-slab-item.left {
    position: absolute;
    left: 2%;
    transform: rotate(-8deg) scale(0.72) !important;
    z-index: 1;
    transform-origin: bottom center;
  }
  .ncg-hero-slab-item.center {
    position: relative;
    transform: scale(0.88) !important;
    z-index: 3;
  }
  .ncg-hero-slab-item.right {
    position: absolute;
    right: 2%;
    transform: rotate(8deg) scale(0.72) !important;
    z-index: 1;
    transform-origin: bottom center;
  }
}

/* ==========================================================================
   4. 3D PHOTOREALISTIC ACRYLIC SLAB PRESENTATION
   ========================================================================== */
.ncg-slab-showcase {
  width: 240px;
  height: 375px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.02) 100%), #0D131C;
  border: 2px solid rgba(255, 255, 255, 0.16);
  border-radius: 18px;
  padding: 10px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.8), inset 0 1px 2px rgba(255, 255, 255, 0.3), 0 0 25px rgba(212, 175, 55, 0.15);
  position: relative;
  display: flex;
  flex-direction: column;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
  user-select: none;
  box-sizing: border-box;
}

.ncg-slab-showcase.center-slab {
  width: 260px;
  height: 395px;
  border-color: rgba(212, 175, 55, 0.6);
  box-shadow: 0 30px 60px rgba(0,0,0,0.9), 0 0 35px rgba(212,175,55,0.4);
}

.ncg-slab-label {
  background: linear-gradient(135deg, #1C2430 0%, #0F1622 100%);
  border: 1px solid rgba(212, 175, 55, 0.45);
  border-radius: 8px;
  padding: 7px 9px;
  margin-bottom: 7px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

.ncg-slab-label-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(212, 175, 55, 0.3);
  padding-bottom: 3px;
  margin-bottom: 4px;
}

.ncg-slab-company {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 900;
  font-size: 9px;
  color: #D4AF37;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.ncg-slab-cert-num {
  font-family: 'Inter', monospace;
  font-size: 8px;
  color: #94A3B8;
  letter-spacing: 0.5px;
}

.ncg-slab-card-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ncg-slab-desc {
  line-height: 1.2;
}

.ncg-slab-card-title {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 800;
  font-size: 10px;
  color: #FFFFFF;
  text-transform: uppercase;
}

.ncg-slab-card-sub {
  font-size: 8px;
  color: #94A3B8;
}

.ncg-slab-grade-box {
  border: 1.5px solid #D4AF37;
  background: rgba(212, 175, 55, 0.12);
  border-radius: 5px;
  padding: 2px 5px;
  text-align: center;
  min-width: 38px;
}

.ncg-slab-grade-val {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 900;
  font-size: 15px;
  color: #D4AF37;
  line-height: 1;
}

.ncg-slab-grade-txt {
  font-size: 6px;
  font-weight: 800;
  color: #F8FAFC;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.ncg-slab-well {
  background: #000000;
  border: 1.5px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 6px;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.9);
}

.ncg-slab-well img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 5px;
  display: block;
}

.ncg-slab-glare {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, transparent 45%);
  pointer-events: none;
}

.ncg-slab-bottom-rail {
  margin-top: 6px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 7px;
  color: #64748B;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

/* ==========================================================================
   5. CGC CARDS DUAL ACTION SEARCH BAR
   ========================================================================== */
.ncg-cgc-dual-bar {
  background: #0B1017;
  border-bottom: 1px solid #1E293B;
  padding: 28px 20px;
  width: 100%;
  box-sizing: border-box;
}

.ncg-cgc-dual-container {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 860px) {
  .ncg-cgc-dual-container {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.ncg-cgc-box {
  background: #070A0F;
  border: 1px solid #1E293B;
  border-radius: 12px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-sizing: border-box;
  width: 100%;
  transition: border-color 0.25s, box-shadow 0.25s;
}

.ncg-cgc-box:hover {
  border-color: #334155;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

.ncg-cgc-tag {
  color: var(--ncg-gold);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 4px;
}

.ncg-cgc-box-title {
  font-size: 16px;
  font-weight: 800;
  color: #F8FAFC;
}

.ncg-cgc-form {
  display: flex;
  gap: 8px;
  align-items: center;
  box-sizing: border-box;
  flex: 1;
  max-width: 320px;
}

.ncg-cgc-input {
  flex: 1;
  min-width: 0 !important;
  background: #131B26;
  border: 1px solid #334155;
  color: #F8FAFC;
  padding: 10px 14px;
  border-radius: 6px;
  font-size: 13px;
  outline: none;
  box-sizing: border-box;
}

.ncg-cgc-input:focus {
  border-color: var(--ncg-gold);
}

.ncg-cgc-btn {
  background: var(--ncg-gold);
  color: #070A0F;
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-weight: 800;
  font-size: 13px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
  flex-shrink: 0;
  box-sizing: border-box;
}

.ncg-cgc-btn:hover {
  background: #F6D55C;
  transform: translateY(-1px);
}

@media (max-width: 580px) {
  .ncg-cgc-box {
    flex-direction: column;
    align-items: stretch;
    text-align: left;
    padding: 16px;
    gap: 12px;
  }
  .ncg-cgc-form {
    max-width: 100% !important;
    width: 100% !important;
  }
  .ncg-cgc-input {
    width: 100% !important;
  }
}

/* ==========================================================================
   6. TRUST BADGES GRID
   ========================================================================== */
.ncg-trust-section {
  background: #090D14;
  border-bottom: 1px solid #1E293B;
  padding: 30px 20px;
  width: 100%;
  box-sizing: border-box;
}

.ncg-trust-grid {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  width: 100%;
  box-sizing: border-box;
}

.ncg-trust-item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.ncg-trust-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  border: 1px solid #D4AF37;
  background: rgba(212,175,55,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

@media (max-width: 1024px) {
  .ncg-trust-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 580px) {
  .ncg-trust-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

/* ==========================================================================
   7. AGS PRICING TIERS GRID
   ========================================================================== */
.ncg-pricing-section {
  padding: 80px 20px;
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

.ncg-pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 35px;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 1100px) {
  .ncg-pricing-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 640px) {
  .ncg-pricing-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

.ncg-pricing-card {
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 14px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
  box-sizing: border-box;
  width: 100%;
}

.ncg-pricing-card:hover {
  border-color: #334155;
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.ncg-pricing-card.featured {
  background: linear-gradient(145deg, #131B26 0%, #0D131C 100%);
  border: 2px solid #D4AF37;
  box-shadow: 0 0 25px rgba(212, 175, 55, 0.15);
}

/* ==========================================================================
   7B. NOBLE ARCHITECTURAL TRANSPARENCY (TAG "Completely Transparent" Reimagined)
   ========================================================================== */
.ncg-transparency-section {
  background: radial-gradient(circle at 50% 25%, rgba(212, 175, 55, 0.08) 0%, rgba(13, 19, 28, 0.95) 50%, #070A0F 100%);
  border-top: 1px solid #1E293B;
  border-bottom: 1px solid #1E293B;
  padding: 95px 20px;
  position: relative;
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
}

.ncg-transparency-container {
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

.ncg-transparency-header {
  text-align: center;
  max-width: 850px;
  margin: 0 auto 55px auto;
}

.ncg-transparency-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(212, 175, 55, 0.1);
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #D4AF37;
  padding: 6px 18px;
  border-radius: 30px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 16px;
  box-shadow: 0 0 15px rgba(212, 175, 55, 0.2);
}

.ncg-transparency-title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: clamp(28px, 4.5vw, 46px) !important;
  font-weight: 900 !important;
  color: #F8FAFC !important;
  letter-spacing: -0.5px !important;
  margin: 0 0 16px 0 !important;
  text-transform: uppercase !important;
}

.ncg-transparency-title span {
  background: linear-gradient(135deg, #FFFDF0 0%, #D4AF37 50%, #B89628 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 25px rgba(212, 175, 55, 0.3);
}

.ncg-transparency-lede {
  color: #94A3B8;
  font-size: clamp(15px, 2vw, 17px);
  line-height: 1.65;
  margin: 0;
}

/* 3-Column Grid */
.ncg-transparency-grid {
  display: grid;
  grid-template-columns: 1fr 340px 1fr;
  gap: 30px;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}

.ncg-transparency-col {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.ncg-transparency-card {
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 14px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
  position: relative;
}

.ncg-transparency-card:hover {
  border-color: rgba(212, 175, 55, 0.5);
  background: #111A26;
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.45), 0 0 15px rgba(212, 175, 55, 0.12);
}

.ncg-transparency-icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: rgba(212, 175, 55, 0.08);
  border: 1px solid rgba(212, 175, 55, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  color: #D4AF37;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.ncg-transparency-card:hover .ncg-transparency-icon {
  background: rgba(212, 175, 55, 0.16);
  border-color: rgba(212, 175, 55, 0.6);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.25);
}

.ncg-transparency-card-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 13px;
  font-weight: 800;
  color: #F8FAFC;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 0 8px 0;
}

.ncg-transparency-card-desc {
  font-size: 12px;
  color: #94A3B8;
  line-height: 1.55;
  margin: 0;
  max-width: 290px;
}

/* Center Column (The Crystal Slab Showcase) */
.ncg-transparency-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
}

.ncg-transparency-slab-wrap {
  position: relative;
  margin-bottom: 22px;
  width: 100%;
  max-width: 310px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.35s ease;
}

.ncg-transparency-slab-wrap:hover {
  transform: scale(1.03);
}

.ncg-transparency-halo {
  position: absolute;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
  background: radial-gradient(ellipse at 50% 50%, rgba(212, 175, 55, 0.06) 0%, rgba(212, 175, 55, 0.16) 46%, transparent 74%);
  filter: blur(28px);
  z-index: 0;
  pointer-events: none;
}

.ncg-slab-video-frame {
  position: relative;
  width: 100%;
  max-width: 310px;
  mix-blend-mode: lighten;
}

.ncg-slab-video {
  width: 100%;
  height: auto;
  display: block;
  filter: contrast(1.06) brightness(0.98);
  pointer-events: none;
}

.ncg-transparency-note {
  font-size: 13px;
  color: #94A3B8;
  line-height: 1.6;
  margin: 16px auto 20px auto;
  max-width: 340px;
  font-style: normal;
  border: none;
  background: transparent;
  padding: 0;
}

.ncg-transparency-cta {
  background: #FFFFFF;
  color: #070A0F !important;
  padding: 13px 36px;
  border-radius: 10px;
  font-weight: 800;
  font-size: 12px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 1px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  transition: all 0.25s;
  display: inline-block;
  white-space: nowrap;
}

.ncg-transparency-cta:hover {
  background: #D4AF37;
  color: #070A0F !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.5);
}

/* Responsive Rules */
@media (max-width: 1080px) {
  .ncg-transparency-grid {
    grid-template-columns: 1fr 1fr;
    gap: 25px;
  }
  .ncg-transparency-center {
    grid-column: span 2;
    order: -1;
    margin-bottom: 25px;
  }
}

@media (max-width: 650px) {
  .ncg-transparency-section {
    padding: 60px 16px;
  }
  .ncg-transparency-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .ncg-transparency-center {
    grid-column: span 1;
  }
  .ncg-transparency-card {
    padding: 18px 16px;
  }
  .ncg-transparency-header {
    margin-bottom: 35px;
  }
}

/* ==========================================================================
   8. TAG FORENSIC SECTION & REGISTRY
   ========================================================================== */
.ncg-forensic-section {
  background: #0D131C;
  border-top: 1px solid #1E293B;
  border-bottom: 1px solid #1E293B;
  padding: 80px 20px;
  width: 100%;
  box-sizing: border-box;
}

.ncg-forensic-container {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  .ncg-forensic-section {
    padding: 50px 20px;
  }
  .ncg-forensic-container {
    grid-template-columns: 1fr;
    gap: 35px;
  }
}

.ncg-registry-section {
  padding: 80px 20px;
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

.ncg-registry-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 1100px) {
  .ncg-registry-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 640px) {
  .ncg-registry-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* ==========================================================================
   9. BOTTOM CTA
   ========================================================================== */
.ncg-bottom-cta {
  background: radial-gradient(circle at 50% 50%, rgba(212,175,55,0.12) 0%, rgba(13,19,28,0.9) 70%);
  border-top: 1px solid #1E293B;
  padding: 70px 20px;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}

/* ==========================================================================
   10. MEGA FOOTER
   ========================================================================== */
.ncg-mega-footer {
  background: #05080C;
  border-top: 1px solid #1E293B;
  padding: 60px 20px 30px 20px;
  color: #94A3B8;
  font-size: 14px;
  width: 100%;
  box-sizing: border-box;
}

.ncg-footer-container {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: 40px;
  margin-bottom: 40px;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  .ncg-footer-container {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
}

@media (max-width: 600px) {
  .ncg-footer-container {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}

.ncg-footer-col h4 {
  color: #F8FAFC;
  font-size: 15px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 18px;
}

.ncg-footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ncg-footer-col ul li {
  margin-bottom: 10px;
}

.ncg-footer-col ul li a {
  color: #94A3B8;
  text-decoration: none;
  transition: color 0.2s;
}

.ncg-footer-col ul li a:hover {
  color: var(--ncg-gold);
}

.ncg-footer-bottom {
  max-width: 1280px;
  margin: 0 auto;
  padding-top: 25px;
  border-top: 1px solid #131B26;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #64748B;
  flex-wrap: wrap;
  gap: 15px;
  width: 100%;
  box-sizing: border-box;
}

/* ==========================================================================
   10. NOBLE SERVICES & PRICING PAGE ARCHITECTURE (TAG / PSA / CGC PRESTIGE)
   ========================================================================== */

.ncg-services-page {
  background: #070A0F;
  color: #F8FAFC;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  padding: 60px 20px 100px 20px;
  width: 100%;
  box-sizing: border-box;
}

.ncg-srv-container {
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* Header */
.ncg-srv-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 50px auto;
}

.ncg-srv-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(212, 175, 55, 0.1);
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: var(--ncg-gold);
  padding: 6px 16px;
  border-radius: 30px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 16px;
}

.ncg-srv-title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: clamp(32px, 5vw, 50px) !important;
  font-weight: 900 !important;
  color: #F8FAFC !important;
  line-height: 1.15 !important;
  margin: 0 0 16px 0 !important;
}

.ncg-srv-title span {
  color: var(--ncg-gold);
}

.ncg-srv-lede {
  color: #94A3B8;
  font-size: 16px;
  line-height: 1.6;
  margin: 0 auto 24px auto;
}

.ncg-srv-chips {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.ncg-srv-chip {
  background: #0D131C;
  border: 1px solid #1E293B;
  color: #CBD5E1;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ncg-srv-chip svg {
  color: var(--ncg-gold);
}

/* 4-Tier Main Pricing Grid */
.ncg-srv-pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-bottom: 40px;
  width: 100%;
  box-sizing: border-box;
}

/* Tier Card with INTENSE Premium Hover Effects */
.ncg-srv-card {
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 16px;
  padding: 32px 24px 28px 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.35s ease,
              background 0.35s ease;
  cursor: pointer;
}

.ncg-srv-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.4), transparent);
  opacity: 0;
  transition: opacity 0.35s ease;
}

.ncg-srv-card::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -120%;
  width: 60%;
  height: 200%;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.08), transparent);
  transform: rotate(25deg);
  transition: left 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.ncg-srv-card:hover {
  transform: translateY(-10px) scale(1.018);
  border-color: #D4AF37;
  background: linear-gradient(165deg, #131D2A 0%, #0D131C 100%);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.8), 0 0 30px rgba(212, 175, 55, 0.28);
}

.ncg-srv-card:hover::before {
  opacity: 1;
}

.ncg-srv-card:hover::after {
  left: 160%;
}

.ncg-srv-card:hover .ncg-srv-price-val {
  text-shadow: 0 0 20px rgba(212, 175, 55, 0.45);
}

.ncg-srv-card:hover .ncg-srv-cta-btn {
  background: var(--ncg-gold);
  color: #070A0F !important;
  box-shadow: 0 6px 22px rgba(212, 175, 55, 0.45);
}

/* Featured / Most Popular Card */
.ncg-srv-card.featured {
  background: linear-gradient(165deg, #162232 0%, #0D131C 100%);
  border: 1.5px solid #D4AF37;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.6), 0 0 20px rgba(212, 175, 55, 0.2);
}

.ncg-srv-card.featured::before {
  opacity: 1;
  background: linear-gradient(90deg, #B89628, #F6D55C, #B89628);
  height: 4px;
}

.ncg-srv-card.featured:hover {
  transform: translateY(-12px) scale(1.02);
  box-shadow: 0 25px 55px rgba(0, 0, 0, 0.85), 0 0 40px rgba(212, 175, 55, 0.45);
}

/* Card Header Elements */
.ncg-srv-badge-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.ncg-srv-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.ncg-srv-badge.gold {
  background: var(--ncg-gold);
  color: #070A0F;
}

.ncg-srv-badge.outline {
  background: #1E293B;
  color: #94A3B8;
  border: 1px solid #334155;
}

.ncg-srv-badge.vip {
  background: #1E293B;
  border: 1px solid #D4AF37;
  color: #D4AF37;
}

.ncg-srv-card-title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #F8FAFC !important;
  margin: 0 0 6px 0 !important;
  letter-spacing: 0.2px !important;
  white-space: nowrap !important;
  transition: color 0.25s ease;
}

.ncg-srv-card:hover .ncg-srv-card-title {
  color: var(--ncg-gold-light) !important;
}

.ncg-srv-card-sub {
  color: #94A3B8;
  font-size: 12.5px;
  line-height: 1.5;
  margin: 0 0 18px 0;
  min-height: 44px;
}

/* Price Display (Clean, No Broken Wrapping) */
.ncg-srv-price-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 16px;
}

.ncg-srv-price-val {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 38px;
  font-weight: 900;
  color: var(--ncg-gold);
  line-height: 1;
  transition: text-shadow 0.3s ease;
}

.ncg-srv-price-unit {
  font-size: 13px;
  font-weight: 600;
  color: #94A3B8;
  white-space: nowrap;
}

/* Bulk Tiers Box */
.ncg-srv-tier-box {
  background: #111A26;
  border: 1px solid #1E293B;
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 18px;
  font-size: 12px;
  line-height: 1.8;
  color: #CBD5E1;
  min-height: 92px;
  display: block;
  box-sizing: border-box;
  transition: border-color 0.25s ease, background 0.25s ease;
}

.ncg-srv-card:hover .ncg-srv-tier-box {
  border-color: rgba(212, 175, 55, 0.45);
  background: #142030;
}

.ncg-srv-tier-box strong {
  color: var(--ncg-gold-light);
}

/* Meta highlight bar (Protection & Turnaround) */
.ncg-srv-meta-pill {
  background: #131B26;
  border: 1px solid #1E293B;
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 20px;
  font-size: 12px;
  line-height: 1.6;
  color: #E2E8F0;
  transition: border-color 0.25s ease;
}

.ncg-srv-card:hover .ncg-srv-meta-pill {
  border-color: rgba(212, 175, 55, 0.35);
}

.ncg-srv-meta-pill strong {
  color: var(--ncg-gold);
}

/* Feature Checklist */
.ncg-srv-feature-list {
  list-style: none;
  padding: 0;
  margin: 0 0 26px 0;
  font-size: 12.5px;
  line-height: 2.1;
  color: #94A3B8;
}

.ncg-srv-feature-list li {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ncg-srv-feature-list li svg {
  color: var(--ncg-gold);
  flex-shrink: 0;
}

.ncg-srv-feature-list li strong {
  color: #F8FAFC;
}

/* Card CTA Button */
.ncg-srv-cta-btn {
  display: block;
  text-align: center;
  background: #1E293B;
  color: #F8FAFC !important;
  padding: 13px 0;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

.ncg-srv-cta-btn:hover {
  background: var(--ncg-gold);
  color: #070A0F !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4);
}

.ncg-srv-card.featured .ncg-srv-cta-btn {
  background: linear-gradient(135deg, #D4AF37 0%, #B89628 100%);
  color: #070A0F !important;
  box-shadow: 0 4px 20px rgba(212, 175, 55, 0.4);
}

.ncg-srv-card.featured .ncg-srv-cta-btn:hover {
  background: #F6D55C;
  box-shadow: 0 6px 25px rgba(212, 175, 55, 0.6);
}

/* Level 5: Elite Concierge Walk-Through Banner */
.ncg-srv-elite-banner {
  background: linear-gradient(135deg, #131B26 0%, #0D131C 100%);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 16px;
  padding: 30px 36px;
  margin-bottom: 70px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 25px;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
}

.ncg-srv-elite-banner:hover {
  border-color: #D4AF37;
  transform: translateY(-4px);
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.7), 0 0 25px rgba(212, 175, 55, 0.25);
}

.ncg-srv-elite-left {
  display: flex;
  align-items: center;
  gap: 20px;
}

.ncg-srv-elite-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: rgba(212, 175, 55, 0.1);
  border: 1px solid var(--ncg-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ncg-gold);
  flex-shrink: 0;
}

.ncg-srv-elite-badge {
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid var(--ncg-gold);
  color: var(--ncg-gold);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 3px 10px;
  border-radius: 12px;
  display: inline-block;
  margin-bottom: 6px;
}

.ncg-srv-elite-title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #F8FAFC !important;
  margin: 0 0 4px 0 !important;
}

.ncg-srv-elite-desc {
  font-size: 13px;
  color: #94A3B8;
  margin: 0;
  max-width: 650px;
  line-height: 1.5;
}

.ncg-srv-elite-rate {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 32px;
  font-weight: 900;
  color: var(--ncg-gold);
  text-align: right;
}

.ncg-srv-elite-rate span {
  font-size: 12px;
  color: #94A3B8;
  display: block;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
}

/* Comparison Table Section */
.ncg-srv-table-section {
  margin-bottom: 75px;
}

.ncg-srv-section-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 35px auto;
}

.ncg-srv-section-title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #F8FAFC !important;
  margin: 0 0 8px 0 !important;
}

.ncg-srv-section-desc {
  font-size: 14px;
  color: #94A3B8;
  line-height: 1.6;
  margin: 0;
}

.ncg-srv-matrix-wrap {
  width: 100%;
  overflow-x: auto;
  border-radius: 14px;
  border: 1px solid #1E293B;
  background: #0D131C;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.ncg-srv-matrix-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.ncg-srv-matrix-table th {
  background: #070A0F;
  color: var(--ncg-gold);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 16px 20px;
  border-bottom: 1px solid #1E293B;
  text-align: left;
}

.ncg-srv-matrix-table th.highlight {
  background: #111A26;
  border-left: 1px solid rgba(212, 175, 55, 0.3);
  border-right: 1px solid rgba(212, 175, 55, 0.3);
  color: var(--ncg-gold-light);
}

.ncg-srv-matrix-table td {
  padding: 16px 20px;
  border-bottom: 1px solid #151D2A;
  color: #CBD5E1;
  font-size: 13px;
}

.ncg-srv-matrix-table td.highlight {
  background: rgba(212, 175, 55, 0.04);
  border-left: 1px solid rgba(212, 175, 55, 0.15);
  border-right: 1px solid rgba(212, 175, 55, 0.15);
  font-weight: 700;
  color: #F8FAFC;
}

.ncg-srv-matrix-table tr:last-child td {
  border-bottom: none;
}

.ncg-srv-matrix-table tr:hover td {
  background: rgba(255, 255, 255, 0.02);
}

/* Declared Value & Protection Cards (3 Grid) */
.ncg-srv-protection-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-bottom: 75px;
}

.ncg-srv-feature-card {
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 14px;
  padding: 30px 26px;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
}

.ncg-srv-feature-card:hover {
  transform: translateY(-8px);
  border-color: var(--ncg-gold);
  background: #111A26;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.6), 0 0 20px rgba(212, 175, 55, 0.2);
}

.ncg-srv-feature-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(212, 175, 55, 0.08);
  border: 1px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ncg-gold);
  margin-bottom: 18px;
  transition: all 0.3s ease;
}

.ncg-srv-feature-card:hover .ncg-srv-feature-icon {
  background: rgba(212, 175, 55, 0.18);
  border-color: var(--ncg-gold);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
}

.ncg-srv-feature-card h3 {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #F8FAFC !important;
  margin: 0 0 10px 0 !important;
}

.ncg-srv-feature-card p {
  color: #94A3B8;
  font-size: 13.5px;
  line-height: 1.6;
  margin: 0;
}

/* Supported Card Categories Grid (4 Grid) */
.ncg-srv-cat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 75px;
}

.ncg-srv-cat-card {
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 14px;
  padding: 24px 20px;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
}

.ncg-srv-cat-card:hover {
  transform: translateY(-6px);
  border-color: rgba(212, 175, 55, 0.6);
  background: #111A26;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5), 0 0 15px rgba(212, 175, 55, 0.15);
}

.ncg-srv-cat-icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: rgba(212, 175, 55, 0.08);
  border: 1px solid rgba(212, 175, 55, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ncg-gold);
  margin-bottom: 14px;
}

.ncg-srv-cat-card h4 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: #F8FAFC;
  margin: 0 0 6px 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ncg-srv-cat-card p {
  font-size: 12px;
  color: #94A3B8;
  line-height: 1.5;
  margin: 0 0 12px 0;
}

.ncg-srv-cat-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ncg-srv-cat-tag {
  background: #182232;
  border: 1px solid #233044;
  color: #CBD5E1;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
}

/* Rating Scale & Criteria Section */
.ncg-srv-scale-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-bottom: 75px;
}

.ncg-srv-scale-card {
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 14px;
  padding: 24px 20px;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
}

.ncg-srv-scale-card:hover {
  transform: translateY(-8px);
  border-color: var(--ncg-gold);
  background: #131B26;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.6), 0 0 20px rgba(212, 175, 55, 0.25);
}

.ncg-srv-scale-grade {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 34px;
  font-weight: 900;
  color: var(--ncg-gold);
  line-height: 1;
  margin-bottom: 4px;
}

.ncg-srv-scale-label {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #F8FAFC;
  margin-bottom: 10px;
}

.ncg-srv-scale-desc {
  font-size: 12px;
  color: #94A3B8;
  line-height: 1.5;
  margin: 0;
}

/* FAQs Grid */
.ncg-srv-faq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 75px;
}

.ncg-srv-faq-card {
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 14px;
  padding: 24px 26px;
  transition: all 0.25s ease;
}

.ncg-srv-faq-card:hover {
  border-color: rgba(212, 175, 55, 0.5);
  transform: translateY(-4px);
  background: #111A26;
}

.ncg-srv-faq-card h4 {
  color: var(--ncg-gold);
  font-size: 15px;
  font-weight: 800;
  margin: 0 0 8px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.ncg-srv-faq-card p {
  color: #94A3B8;
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
}

/* Bottom Final CTA Banner */
.ncg-srv-cta-banner {
  background: radial-gradient(circle at 50% 50%, rgba(212, 175, 55, 0.12) 0%, rgba(13, 19, 28, 0.95) 70%, #070A0F 100%);
  border: 1px solid var(--ncg-gold);
  border-radius: 20px;
  padding: 55px 40px;
  text-align: center;
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.7), 0 0 35px rgba(212, 175, 55, 0.25);
}

.ncg-srv-cta-banner h2 {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: clamp(26px, 4vw, 38px) !important;
  font-weight: 900 !important;
  color: #F8FAFC !important;
  margin: 0 0 12px 0 !important;
}

.ncg-srv-cta-banner p {
  color: #94A3B8;
  font-size: 15px;
  max-width: 600px;
  margin: 0 auto 28px auto;
  line-height: 1.6;
}

.ncg-srv-cta-banner-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

/* Responsive Rules for Services Page */
@media (max-width: 1080px) {
  .ncg-srv-pricing-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .ncg-srv-protection-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .ncg-srv-cat-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
  .ncg-srv-scale-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .ncg-srv-faq-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

@media (max-width: 650px) {
  .ncg-services-page {
    padding: 40px 16px 70px 16px;
  }
  .ncg-srv-pricing-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .ncg-srv-cat-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .ncg-srv-scale-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .ncg-srv-elite-banner {
    padding: 24px 20px;
    flex-direction: column;
    align-items: flex-start;
  }
  .ncg-srv-elite-left {
    flex-direction: column;
    align-items: flex-start;
  }
  .ncg-srv-elite-rate {
    text-align: left;
  }
  .ncg-srv-cta-banner {
    padding: 35px 20px;
  }
}

/* ==========================================================================
   11. NOBLE HOW IT WORKS â€” 7-STAGE PIPELINE ARCHITECTURE
   ========================================================================== */

.ncg-hiw-page {
  background: #070A0F;
  color: #F8FAFC;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  padding: 60px 20px 100px 20px;
  width: 100%;
  box-sizing: border-box;
}

.ncg-hiw-container {
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* Overview 3-Pillar Grid */
.ncg-hiw-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-bottom: 80px;
}

.ncg-hiw-summary-card {
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 16px;
  padding: 28px 24px;
  position: relative;
  overflow: hidden;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.35s ease,
              background 0.35s ease;
}

.ncg-hiw-summary-card:hover {
  transform: translateY(-8px);
  border-color: var(--ncg-gold);
  background: #111A26;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.7), 0 0 25px rgba(212, 175, 55, 0.25);
}

.ncg-hiw-summary-num {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 11px;
  font-weight: 800;
  color: var(--ncg-gold);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}

.ncg-hiw-summary-card h3 {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #F8FAFC !important;
  margin: 0 0 8px 0 !important;
}

.ncg-hiw-summary-card p {
  color: #94A3B8;
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
}

/* 7-Stage Vertical Spine Timeline */
.ncg-hiw-timeline {
  position: relative;
  max-width: 960px;
  margin: 0 auto 85px auto;
  padding-left: 38px;
  box-sizing: border-box;
}

.ncg-hiw-timeline::before {
  content: '';
  position: absolute;
  top: 42px;
  bottom: 42px;
  left: 19px;
  width: 2px;
  background: linear-gradient(180deg, #D4AF37 0%, rgba(212, 175, 55, 0.4) 70%, #10B981 100%);
  z-index: 1;
}

.ncg-hiw-stage-row {
  position: relative;
  margin-bottom: 24px;
}

.ncg-hiw-stage-row:last-child {
  margin-bottom: 0;
}

.ncg-hiw-stage-node {
  position: absolute;
  left: -38px;
  top: 24px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #0D131C;
  border: 2px solid var(--ncg-gold);
  color: var(--ncg-gold);
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 900;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  box-shadow: 0 0 18px rgba(212, 175, 55, 0.3);
  transition: all 0.3s ease;
}

.ncg-hiw-stage-row:hover .ncg-hiw-stage-node {
  background: var(--ncg-gold);
  color: #070A0F;
  transform: scale(1.12);
  box-shadow: 0 0 25px rgba(212, 175, 55, 0.65);
}

.ncg-hiw-stage-row.final-stage .ncg-hiw-stage-node {
  border-color: #10B981;
  color: #10B981;
  box-shadow: 0 0 18px rgba(16, 185, 129, 0.35);
}

.ncg-hiw-stage-row.final-stage:hover .ncg-hiw-stage-node {
  background: #10B981;
  color: #070A0F;
  box-shadow: 0 0 25px rgba(16, 185, 129, 0.7);
}

.ncg-hiw-stage-card {
  margin-left: 22px;
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 16px;
  padding: 26px 28px;
  position: relative;
  overflow: hidden;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.35s ease,
              background 0.35s ease;
}

.ncg-hiw-stage-card::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -120%;
  width: 50%;
  height: 200%;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.06), transparent);
  transform: rotate(25deg);
  transition: left 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.ncg-hiw-stage-row:hover .ncg-hiw-stage-card {
  transform: translateX(6px) translateY(-4px);
  border-color: rgba(212, 175, 55, 0.7);
  background: #111A26;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.75), 0 0 25px rgba(212, 175, 55, 0.18);
}

.ncg-hiw-stage-row:hover .ncg-hiw-stage-card::after {
  left: 160%;
}

.ncg-hiw-stage-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
}

.ncg-hiw-stage-title-group {
  display: flex;
  align-items: center;
  gap: 14px;
}

.ncg-hiw-stage-icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: rgba(212, 175, 55, 0.08);
  border: 1px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ncg-gold);
  flex-shrink: 0;
  transition: all 0.25s ease;
}

.ncg-hiw-stage-row:hover .ncg-hiw-stage-icon {
  background: rgba(212, 175, 55, 0.16);
  border-color: var(--ncg-gold);
}

.ncg-hiw-stage-title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #F8FAFC !important;
  margin: 0 !important;
  transition: color 0.25s ease;
}

.ncg-hiw-stage-row:hover .ncg-hiw-stage-title {
  color: var(--ncg-gold-light) !important;
}

.ncg-hiw-stage-pill {
  background: #131B26;
  border: 1px solid #2A384C;
  color: var(--ncg-gold);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding: 4px 10px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.ncg-hiw-stage-desc {
  color: #94A3B8;
  font-size: 13.5px;
  line-height: 1.65;
  margin: 0 0 14px 0;
}

.ncg-hiw-stage-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  border-top: 1px solid #182232;
  padding-top: 12px;
}

.ncg-hiw-meta-chip {
  font-size: 11px;
  color: #CBD5E1;
  background: #090D14;
  border: 1px solid #1E293B;
  padding: 4px 10px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ncg-hiw-meta-chip svg {
  color: var(--ncg-gold);
}

/* Lab Showcase Split Grid */
.ncg-hiw-lab-grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 45px;
  align-items: center;
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 20px;
  padding: 40px;
  margin-bottom: 85px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5);
}

.ncg-hiw-lab-img {
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(212, 175, 55, 0.35);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.6);
  display: block;
}

.ncg-hiw-protocol-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
}

.ncg-hiw-protocol-item {
  background: #131B26;
  border: 1px solid #1E293B;
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  transition: all 0.25s ease;
}

.ncg-hiw-protocol-item:hover {
  border-color: rgba(212, 175, 55, 0.55);
  transform: translateX(4px);
  background: #162030;
}

.ncg-hiw-protocol-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(212, 175, 55, 0.1);
  border: 1px solid rgba(212, 175, 55, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ncg-gold);
  flex-shrink: 0;
}

.ncg-hiw-protocol-item h4 {
  font-size: 14px;
  font-weight: 800;
  color: #F8FAFC;
  margin: 0 0 4px 0;
}

.ncg-hiw-protocol-item p {
  font-size: 12.5px;
  color: #94A3B8;
  margin: 0;
  line-height: 1.5;
}

/* 4-Step Packing Prep Grid */
.ncg-hiw-prep-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 85px;
}

.ncg-hiw-prep-card {
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 14px;
  padding: 26px 22px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.ncg-hiw-prep-card:hover {
  transform: translateY(-8px);
  border-color: var(--ncg-gold);
  background: #111A26;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.65), 0 0 20px rgba(212, 175, 55, 0.2);
}

.ncg-hiw-prep-step {
  font-size: 10px;
  font-weight: 800;
  color: var(--ncg-gold);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.ncg-hiw-prep-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(212, 175, 55, 0.08);
  border: 1px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ncg-gold);
  margin-bottom: 14px;
}

.ncg-hiw-prep-card h4 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: #F8FAFC;
  margin: 0 0 8px 0;
  text-transform: uppercase;
}

.ncg-hiw-prep-card p {
  font-size: 12.5px;
  color: #94A3B8;
  line-height: 1.55;
  margin: 0;
}

/* Responsive Rules for How It Works */
@media (max-width: 980px) {
  .ncg-hiw-summary-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .ncg-hiw-lab-grid {
    grid-template-columns: 1fr;
    padding: 28px 22px;
  }
  .ncg-hiw-prep-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 650px) {
  .ncg-hiw-page {
    padding: 40px 16px 70px 16px;
  }
  .ncg-hiw-timeline {
    padding-left: 26px;
  }
  .ncg-hiw-timeline::before {
    left: 14px;
  }
  .ncg-hiw-stage-node {
    left: -26px;
    width: 30px;
    height: 30px;
    font-size: 12px;
    top: 22px;
  }
  .ncg-hiw-stage-card {
    margin-left: 14px;
    padding: 20px 18px;
  }
  .ncg-hiw-prep-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   12. NOBLE SHIPPING & CARD PREPARATION PROTOCOL
   ========================================================================== */

.ncg-ship-page {
  background: #070A0F;
  color: #F8FAFC;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  padding: 60px 20px 100px 20px;
  width: 100%;
  box-sizing: border-box;
}

.ncg-ship-container {
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* Do's & Don'ts 2-Column Comparison */
.ncg-ship-rules-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 75px;
}

.ncg-ship-rule-card {
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 16px;
  padding: 32px 28px;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.3s ease;
  box-sizing: border-box;
}

.ncg-ship-rule-card.do-card {
  border-top: 3px solid #10B981;
}

.ncg-ship-rule-card.dont-card {
  border-top: 3px solid #EF4444;
}

.ncg-ship-rule-card:hover {
  transform: translateY(-6px);
  background: #111A26;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.7);
}

.ncg-ship-rule-card.do-card:hover {
  border-color: rgba(16, 185, 129, 0.7);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.7), 0 0 22px rgba(16, 185, 129, 0.15);
}

.ncg-ship-rule-card.dont-card:hover {
  border-color: rgba(239, 68, 68, 0.7);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.7), 0 0 22px rgba(239, 68, 68, 0.15);
}

.ncg-ship-rule-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid #1E293B;
}

.ncg-ship-rule-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.do-card .ncg-ship-rule-icon {
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.4);
  color: #34D399;
}

.dont-card .ncg-ship-rule-icon {
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.4);
  color: #FCA5A5;
}

.ncg-ship-rule-head h3 {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  margin: 0 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.do-card .ncg-ship-rule-head h3 {
  color: #34D399 !important;
}

.dont-card .ncg-ship-rule-head h3 {
  color: #FCA5A5 !important;
}

.ncg-ship-rule-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ncg-ship-rule-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 13.5px;
  color: #CBD5E1;
  line-height: 1.55;
}

.ncg-ship-rule-list li svg {
  flex-shrink: 0;
  margin-top: 3px;
}

.do-card .ncg-ship-rule-list li svg {
  color: #10B981;
}

.dont-card .ncg-ship-rule-list li svg {
  color: #EF4444;
}

/* Lab Address & Carrier Split */
.ncg-ship-address-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 24px;
  margin-bottom: 75px;
}

.ncg-ship-address-card {
  background: linear-gradient(145deg, #131B26 0%, #0D131C 100%);
  border: 1.5px solid rgba(212, 175, 55, 0.45);
  border-radius: 16px;
  padding: 32px 30px;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.5), 0 0 25px rgba(212, 175, 55, 0.12);
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.ncg-ship-address-card:hover {
  border-color: var(--ncg-gold);
  transform: translateY(-5px);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.7), 0 0 30px rgba(212, 175, 55, 0.25);
}

.ncg-ship-address-box {
  background: #070A0F;
  border: 1px solid #1E293B;
  border-left: 4px solid var(--ncg-gold);
  border-radius: 10px;
  padding: 20px 22px;
  margin: 18px 0;
  font-family: 'Space Grotesk', monospace;
  font-size: 14.5px;
  line-height: 1.75;
  color: #F8FAFC;
}

.ncg-ship-carrier-card {
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 16px;
  padding: 32px 28px;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.ncg-ship-carrier-card:hover {
  border-color: rgba(212, 175, 55, 0.55);
  transform: translateY(-5px);
  background: #111A26;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.65);
}

.ncg-ship-carrier-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 18px 0;
}

.ncg-ship-carrier-pill {
  background: #131B26;
  border: 1px solid #2A384C;
  color: var(--ncg-gold-light);
  font-size: 11px;
  font-weight: 800;
  padding: 5px 12px;
  border-radius: 20px;
  letter-spacing: 0.4px;
}

/* Printable Packing Slip Utility Banner */
.ncg-ship-slip-banner {
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 16px;
  padding: 28px 34px;
  margin-bottom: 75px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  transition: all 0.3s ease;
}

.ncg-ship-slip-banner:hover {
  border-color: rgba(212, 175, 55, 0.5);
  background: #111A26;
}

/* 2-Col Transit Coverage Grid */
.ncg-ship-insurance-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 75px;
}

@media (max-width: 900px) {
  .ncg-ship-rules-grid,
  .ncg-ship-address-grid,
  .ncg-ship-insurance-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {
  .ncg-ship-page {
    padding: 40px 16px 70px 16px;
  }
  .ncg-ship-rule-card,
  .ncg-ship-address-card,
  .ncg-ship-carrier-card {
    padding: 24px 20px;
  }
  .ncg-ship-slip-banner {
    padding: 24px 20px;
  }
}

/* ==========================================================================
   13. ELEMENTOR NATIVE WIDGET HELPERS & SHORTCODE TERMINALS
   ========================================================================== */

body.elementor-page {
  background-color: var(--e-global-color-ncg_bg_base, #070A0F);
  color: var(--e-global-color-secondary, #E2E8F0);
}

/* Native Elementor Divider widgets handle section eyebrows visually (zero custom eyebrow CSS) */
@media (max-width: 575px) {
  .ncg-el-telemetry-label .elementor-heading-title {
    font-size: 10px !important;
  }
}

.ncg-el-btn-nowrap .elementor-button-text {
  white-space: nowrap;
}

/* Luxury Hover Lift + Gold Border Glow on Native Elementor Containers / Cards */
.ncg-el-hover-card,
.ncg-el-hover-card-featured {
  position: relative;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.42);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s ease,
              box-shadow 0.35s ease,
              background-color 0.35s ease;
}

.ncg-el-hover-card:hover {
  transform: translateY(-6px);
  border-color: rgba(212, 175, 55, 0.65) !important;
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.72), 0 0 24px rgba(212, 175, 55, 0.14);
}

.ncg-el-hover-card-featured:hover {
  transform: translateY(-8px);
  border-color: #F6D55C !important;
  box-shadow: 0 26px 56px rgba(0, 0, 0, 0.8), 0 0 32px rgba(212, 175, 55, 0.25);
}

/* Flush-bottom aligned buttons inside Equal-Height Elementor Grid Card Columns */
.e-con.ncg-el-hover-card > .elementor-widget-button:last-child,
.e-con.ncg-el-hover-card-featured > .elementor-widget-button:last-child {
  margin-top: auto;
  padding-top: 8px;
}

.e-con.e-grid {
  --min-height: auto;
}

/* Seamless 360 Video Blending for Native Elementor Video Widget */
.ncg-el-video-blend {
  width: 100%;
  max-width: 410px;
  height: 630px;
  margin: 0 auto;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  -webkit-mask-image: radial-gradient(ellipse 94% 96% at 50% 50%, #000 76%, transparent 100%);
  mask-image: radial-gradient(ellipse 94% 96% at 50% 50%, #000 76%, transparent 100%);
}

.ncg-el-video-blend .elementor-widget-container,
.ncg-el-video-blend .elementor-wrapper,
.ncg-el-video-blend .e-hosted-video {
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
  background-color: transparent !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
}

.ncg-el-video-blend video.elementor-video {
  width: 100%;
  height: 100% !important;
  max-width: none !important;
  display: block;
  margin: 0 auto;
  mix-blend-mode: lighten;
  filter: contrast(1.10) brightness(0.92);
  object-fit: contain;
  transform: scale(1.06);
  transform-origin: 50% 49%;
  pointer-events: none;
}

@media (max-width: 1024px) {
  .ncg-el-video-blend {
    max-width: 390px;
    height: 550px;
  }
}

@media (max-width: 767px) {
  .ncg-el-video-blend {
    max-width: 340px;
    height: 470px;
  }
  .ncg-el-video-blend video.elementor-video {
    transform: scale(1.06);
  }
}

/* Hero Slab Cards Trio Polish */
.ncg-el-slab-left,
.ncg-el-slab-center,
.ncg-el-slab-right {
  transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.38s ease, border-color 0.38s ease;
}

.ncg-el-slab-left {
  transform: rotate(-3deg);
}

.ncg-el-slab-right {
  transform: rotate(3deg);
}

.ncg-el-slab-left:hover,
.ncg-el-slab-center:hover,
.ncg-el-slab-right:hover {
  transform: translateY(-8px) rotate(0deg) scale(1.03);
  border-color: rgba(246, 213, 92, 0.85) !important;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.85), 0 0 26px rgba(212, 175, 55, 0.25);
  z-index: 4;
}

@media (max-width: 767px) {
  .ncg-el-slab-left,
  .ncg-el-slab-right {
    transform: none;
  }
}

/* Native Elementor Accordion Dark Theme (Respects Global Fonts & Colors) */
.ncg-el-accordion .elementor-accordion-item {
  background: var(--e-global-color-ncg_card, #0D131C);
  border: 1px solid var(--e-global-color-ncg_border, #1E293B);
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: border-color 0.25s ease, background-color 0.25s ease;
}

.ncg-el-accordion .elementor-accordion-item:hover {
  border-color: color-mix(in srgb, var(--e-global-color-primary, #D4AF37) 45%, transparent) !important;
}

.ncg-el-accordion .elementor-tab-title {
  padding: 15px 20px !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: -0.01em !important;
  border-bottom: 1px solid transparent;
  transition: border-color 0.25s ease, background-color 0.25s ease;
}

.ncg-el-accordion .elementor-tab-title .elementor-accordion-title {
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

.ncg-el-accordion .elementor-tab-title .elementor-accordion-icon {
  font-size: 13px !important;
}

.ncg-el-accordion .elementor-tab-title.elementor-active {
  border-bottom-color: var(--e-global-color-ncg_border, #1E293B);
}

.elementor-widget-accordion.ncg-el-accordion .elementor-tab-content {
  /* Crucial: DO NOT use !important on padding or height so jQuery slideUp/slideDown interpolates from 0 smoothly */
  padding: 14px 20px 18px;
  border-top: none;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.elementor-widget-accordion.ncg-el-accordion .elementor-tab-content > p:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .ncg-el-accordion .elementor-tab-title {
    padding: 14px 16px !important;
    font-size: 15px !important;
  }
  .elementor-widget-accordion.ncg-el-accordion .elementor-tab-content {
    padding: 12px 16px 16px;
    font-size: 14px !important;
  }
}

/* Native Elementor Pro Form Dark Theme */
.ncg-el-form .elementor-field-group label {
  color: #E2E8F0 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  margin-bottom: 6px;
}

.ncg-el-form .elementor-field-textual {
  background: #070A0F !important;
  border: 1px solid #1E293B !important;
  border-radius: 10px !important;
  color: #F8FAFC !important;
  padding: 13px 16px !important;
  font-size: 14.5px !important;
}

.ncg-el-form .elementor-field-textual:focus {
  border-color: #D4AF37 !important;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.16) !important;
  outline: none;
}

/* CGC Dual Search Terminal Shortcode [ncg_dual_search] */
.ncg-dual-terminal {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  width: 100%;
  box-sizing: border-box;
}

.ncg-dual-box {
  background: var(--e-global-color-ncg_bg_base, #070A0F);
  border: 1px solid var(--e-global-color-ncg_border_btn, #2A384C);
  border-radius: 14px;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45);
  transition: border-color 0.25s ease, transform 0.25s ease;
  box-sizing: border-box;
}

.ncg-dual-box:hover {
  border-color: rgba(212, 175, 55, 0.55);
  transform: translateY(-2px);
}

.ncg-dual-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.ncg-dual-kicker {
  color: #D4AF37;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.ncg-dual-heading {
  color: #F8FAFC;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 15px;
  font-weight: 700;
}

.ncg-dual-input-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  max-width: 290px;
}

.ncg-dual-input {
  flex: 1;
  min-width: 0;
  background: #070A0F !important;
  border: 1px solid #2A384C !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  color: #F8FAFC !important;
  font-size: 13px !important;
  height: 40px;
  box-sizing: border-box;
}

.ncg-dual-input:focus {
  border-color: #D4AF37 !important;
  outline: none;
}

.ncg-dual-btn {
  background: linear-gradient(135deg, #D4AF37 0%, #B89628 100%);
  color: #070A0F;
  border: none;
  border-radius: 10px;
  height: 40px;
  padding: 0 16px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  cursor: pointer;
  white-space: nowrap;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ncg-dual-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(212, 175, 55, 0.35);
}

.ncg-dual-btn-outline {
  background: transparent;
  color: #D4AF37;
  border: 1px solid #D4AF37;
}

.ncg-dual-btn-outline:hover {
  background: #D4AF37;
  color: #070A0F;
}

@media (max-width: 980px) {
  .ncg-dual-terminal {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .ncg-dual-box {
    flex-direction: column;
    align-items: stretch;
  }
  .ncg-dual-input-row {
    max-width: 100%;
  }
}

/* Recently Certified Grails Grid Shortcode [ncg_certified_grails] */
.ncg-grails-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  width: 100%;
  box-sizing: border-box;
  align-items: stretch;
}

.ncg-grail-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  background: linear-gradient(180deg, rgba(16, 24, 38, 0.9) 0%, rgba(7, 10, 15, 0.98) 100%);
  border: 1px solid var(--e-global-color-ncg_border, #1E293B);
  border-radius: 16px;
  padding: 18px 16px;
  text-decoration: none !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.3s ease;
  box-sizing: border-box;
}

.ncg-grail-card:hover {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--e-global-color-primary, #D4AF37) 65%, transparent);
  box-shadow: 0 22px 44px rgba(0, 0, 0, 0.72), 0 0 24px color-mix(in srgb, var(--e-global-color-primary, #D4AF37) 14%, transparent);
}

.ncg-grail-slab {
  width: 100% !important;
  max-width: 236px;
  height: auto !important;
  padding: 8px;
  margin: 0 auto 14px auto;
  border-radius: 14px;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.65), inset 0 1px 1px rgba(255, 255, 255, 0.22);
}

.ncg-grail-slab .ncg-slab-desc {
  min-width: 0;
  padding-right: 6px;
}

.ncg-grail-slab .ncg-slab-card-title,
.ncg-grail-slab .ncg-slab-card-sub {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ncg-grail-slab .ncg-slab-well {
  width: 204px;
  max-width: 100%;
  height: 286px;
  flex: none;
  margin: 0 auto;
  padding: 4px;
  background: #04060A;
  box-sizing: border-box;
}

.ncg-grail-slab .ncg-slab-well img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 4px;
}

.ncg-grail-meta {
  width: 100%;
  max-width: 236px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 4px;
}

.ncg-grail-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--e-global-color-primary, #D4AF37) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--e-global-color-primary, #D4AF37) 35%, transparent);
  color: var(--e-global-color-primary, #D4AF37);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.7px;
  margin-bottom: 4px;
}

.ncg-grail-title {
  color: var(--e-global-color-ncg_heading, #F8FAFC);
  font-family: 'Space Grotesk', sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
}

.ncg-grail-sub {
  color: var(--e-global-color-text, #94A3B8);
  font-size: 12.5px;
  line-height: 1.4;
}

@media (max-width: 1200px) {
  .ncg-grail-slab {
    max-width: 218px;
  }
  .ncg-grail-slab .ncg-slab-well {
    width: 186px;
    height: 260px;
  }
}

@media (max-width: 1024px) {
  .ncg-grails-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
  .ncg-grail-slab {
    max-width: 236px;
  }
  .ncg-grail-slab .ncg-slab-well {
    width: 204px;
    height: 286px;
  }
}

@media (max-width: 600px) {
  .ncg-grails-grid {
    grid-template-columns: 1fr;
    max-width: 340px;
    margin: 0 auto;
  }
  .ncg-grail-slab {
    max-width: 226px;
  }
  .ncg-grail-slab .ncg-slab-well {
    width: 194px;
    height: 272px;
  }
}

/* Studio Hero Full-Bleed Background Video Atmosphere */
.ncg-el-hero-section {
  position: relative;
  overflow: hidden;
  background-color: var(--e-global-color-ncg_bg_base, #070A0F);
}

.ncg-el-hero-section > .elementor-background-video-container {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
  z-index: 1;
  background-color: var(--e-global-color-ncg_bg_base, #070A0F);
  pointer-events: none;
}

.ncg-el-hero-section .elementor-background-video-hosted {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  min-width: 100% !important;
  min-height: 100% !important;
  transform: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
  display: block !important;
}

@media (min-width: 1025px) {
  .ncg-el-hero-section .elementor-background-video-hosted {
    transform: translateX(13%) scale(1.02) !important;
  }
}

.ncg-el-hero-section::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 10, 15, 0.96) 0%, rgba(7, 10, 15, 0.88) 36%, rgba(7, 10, 15, 0.42) 52%, rgba(7, 10, 15, 0.04) 72%, rgba(7, 10, 15, 0.28) 100%),
              linear-gradient(180deg, rgba(7, 10, 15, 0.22) 0%, transparent 20%, rgba(7, 10, 15, 0.85) 94%, #070A0F 100%);
  pointer-events: none;
  z-index: 2;
}

.ncg-el-hero-section > .e-con,
.ncg-el-hero-section > .e-con-inner {
  position: relative;
  z-index: 3;
}

@media (max-width: 767px) {
  .ncg-el-hero-section::after {
    background: linear-gradient(180deg, rgba(7, 10, 15, 0.68) 0%, rgba(7, 10, 15, 0.78) 55%, #070A0F 100%);
  }
}

.ncg-el-btn-glass .elementor-button {
  background-color: rgba(7, 10, 15, 0.78) !important;
  backdrop-filter: blur(8px);
}

/* Global Theme Builder Footer Polish */
.ncg-el-footer-links .elementor-icon-list-item a {
  transition: color 0.2s ease;
}

.ncg-el-footer-links .elementor-icon-list-item a:hover .elementor-icon-list-text {
  color: #F6D55C !important;
}

.ncg-el-footer-links .elementor-icon-list-icon {
  transition: transform 0.2s ease;
}

.ncg-el-footer-links .elementor-icon-list-item a:hover .elementor-icon-list-icon {
  transform: translateX(2px);
}

/* Global Theme Builder Sticky Header Polish */
.ncg-el-sticky-header {
  position: sticky !important;
  top: 0;
  z-index: 9998;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

body.admin-bar .ncg-el-sticky-header {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar .ncg-el-sticky-header {
    top: 46px;
  }
}

.ncg-el-header-brand {
  width: auto !important;
  flex-shrink: 0;
}

.ncg-el-header-brand > .elementor-element {
  flex-shrink: 0 !important;
}

.ncg-el-header-logo img {
  height: 46px;
  width: auto !important;
  display: block;
  object-fit: contain;
}

.ncg-el-header-right {
  width: auto !important;
  flex: 1 1 auto;
  min-width: 0;
}

.ncg-el-header-actions {
  width: auto !important;
  flex-shrink: 0;
}

.ncg-el-header-account .elementor-icon {
  border: 1px solid rgba(255, 255, 255, 0.16);
  transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.ncg-el-header-account .elementor-icon:hover {
  border-color: var(--e-global-color-primary, #D4AF37);
  transform: translateY(-1px);
}

@media (min-width: 1025px) and (max-width: 1279px) {
  .ncg-el-header-nav .elementor-nav-menu a {
    font-size: 11px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
}

@media (min-width: 1025px) {
  .ncg-el-header-nav {
    width: auto !important;
    flex-shrink: 0;
  }
  .ncg-el-header-nav .elementor-nav-menu {
    flex-wrap: nowrap !important;
  }
  .ncg-el-header-nav .elementor-nav-menu > li {
    flex-shrink: 0;
  }
  .ncg-el-header-nav .elementor-nav-menu a {
    white-space: nowrap !important;
  }
}

@media (max-width: 1024px) {
  .ncg-el-header-brand {
    flex: 1 1 auto;
    min-width: 0;
  }
  .ncg-el-header-right {
    flex: 0 0 auto;
  }
  .ncg-el-sticky-header,
  .ncg-el-sticky-header > .e-con-inner {
    overflow: visible !important;
  }
  .ncg-el-sticky-header .e-con-inner,
  .ncg-el-sticky-header .e-con,
  .ncg-el-header-nav,
  .ncg-el-header-nav .elementor-widget-container {
    position: static !important;
  }
  .ncg-el-header-nav {
    width: auto !important;
    flex-shrink: 0;
    order: 3;
  }
  .ncg-el-header-actions {
    order: 2;
  }
  .ncg-el-header-nav .elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    margin-top: 0 !important;
    background-color: var(--e-global-color-ncg_card, #0D131C) !important;
    z-index: 9999 !important;
  }
}

@media (max-width: 767px) {
  .ncg-el-sticky-header {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .ncg-el-sticky-header > .e-con-inner,
  .ncg-el-sticky-header .e-con-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  .ncg-el-header-brand {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    gap: 8px !important;
    max-width: 125px !important;
  }
  .ncg-el-header-brand .elementor-heading-title {
    font-size: 9px !important;
    line-height: 1.15 !important;
    letter-spacing: 0.2px !important;
    max-width: 82px !important;
    margin: 0 !important;
  }
  .ncg-el-header-logo img {
    height: 30px !important;
    display: block !important;
  }

  /* Right Side Header Controls - Harmonious 10px Spacing & Perfect 32px Alignment */
  .ncg-el-header-right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 0 auto !important;
    gap: 10px !important;
  }
  .ncg-el-header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  /* 1. Submit Button (32px height, 10px radius) */
  .ncg-el-header-submit {
    display: flex !important;
    align-items: center !important;
  }
  .ncg-el-header-submit .elementor-button {
    height: 32px !important;
    padding: 0 12px !important;
    font-size: 11px !important;
    letter-spacing: 0.3px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
  }

  /* 2. Account Circle Button - 32px diameter, dead-center icon */
  .ncg-el-header-account {
    display: flex !important;
    align-items: center !important;
  }
  .ncg-el-header-account .elementor-widget-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .ncg-el-header-account .elementor-icon {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
  }
  .ncg-el-header-account .elementor-icon svg,
  .ncg-el-header-account .elementor-icon i {
    width: 13px !important;
    height: 13px !important;
    font-size: 13px !important;
    margin: 0 auto !important;
    display: block !important;
  }

  /* 3. Hamburger Toggle - 32px height */
  .ncg-el-header-nav {
    display: flex !important;
    align-items: center !important;
  }
  .ncg-el-header-nav .elementor-menu-toggle {
    height: 32px !important;
    min-height: 32px !important;
    width: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 350px) {
  .ncg-el-sticky-header {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .ncg-el-header-right,
  .ncg-el-header-actions {
    gap: 6px !important;
  }
  .ncg-el-header-submit .elementor-button {
    padding: 0 8px !important;
    font-size: 10px !important;
  }
}

.ncg-el-header-nav .elementor-nav-menu--dropdown {
  border-top: 1px solid var(--e-global-color-ncg_border, #1E293B);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.85);
}


.ncg-el-gold-accent {
  background: linear-gradient(135deg, var(--e-global-color-accent, #F6D55C) 0%, var(--e-global-color-primary, #D4AF37) 60%, #C99E2C 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Luxury Tabbed Pricing Widget (.ncg-el-pricing-tabs & .ncg-el-pricing-card) */
.ncg-el-pricing-tabs .e-n-tabs-heading {
  background: var(--e-global-color-ncg_bg_base, #070A0F);
  border: 1px solid var(--e-global-color-ncg_border, #1E293B);
  border-radius: 14px;
  padding: 6px;
  display: inline-flex !important;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}

.ncg-el-pricing-tabs .e-n-tab-title {
  border-radius: 10px !important;
  transition: all 0.25s ease !important;
}

.ncg-el-pricing-tabs .e-n-tab-title[aria-selected="true"] {
  box-shadow: 0 0 24px color-mix(in srgb, var(--e-global-color-primary, #D4AF37) 26%, transparent),
              inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.ncg-el-pricing-tabs .e-n-tabs-content,
.ncg-el-pricing-tabs .e-n-tabs-content > .e-con,
.ncg-el-pricing-grid {
  overflow: visible !important;
}

.ncg-el-pricing-card {
  background: linear-gradient(180deg, rgba(16, 24, 38, 0.92) 0%, rgba(7, 10, 15, 0.98) 100%) !important;
  overflow: visible !important;
}

.ncg-el-pricing-card-featured {
  background: radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--e-global-color-primary, #D4AF37) 14%, transparent) 0%, rgba(16, 24, 38, 0.98) 55%, rgba(7, 10, 15, 1) 100%) !important;
  box-shadow: 0 22px 52px rgba(0, 0, 0, 0.7), 0 0 32px color-mix(in srgb, var(--e-global-color-primary, #D4AF37) 16%, transparent) !important;
}

.ncg-el-popular-badge {
  align-self: center;
  margin-top: -50px !important;
  margin-bottom: 4px !important;
  z-index: 3;
}

.ncg-el-popular-badge .elementor-heading-title {
  display: inline-block;
  background: linear-gradient(135deg, var(--e-global-color-accent, #F6D55C) 0%, var(--e-global-color-primary, #D4AF37) 100%);
  padding: 6px 18px;
  border-radius: 8px;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  line-height: 1.2 !important;
  box-shadow: 0 6px 20px color-mix(in srgb, var(--e-global-color-primary, #D4AF37) 42%, transparent);
}

.ncg-el-tier-kicker .elementor-heading-title {
  font-weight: 700 !important;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.ncg-price-unit {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: var(--e-global-color-text, #94A3B8);
  margin-left: 2px;
}

.ncg-el-tier-meta {
  border-bottom: 1px solid var(--e-global-color-ncg_border, #1E293B);
  padding-bottom: 14px;
}

.ncg-el-tier-cta-featured .elementor-button {
  background: linear-gradient(135deg, var(--e-global-color-accent, #F6D55C) 0%, var(--e-global-color-primary, #D4AF37) 100%) !important;
  box-shadow: 0 10px 26px color-mix(in srgb, var(--e-global-color-primary, #D4AF37) 32%, transparent);
}

/* Laboratory Triple-Verify Bento Grid Layout */
.ncg-el-swoosh-underline {
  position: relative;
  display: inline-block;
  padding-bottom: 6px;
}

.ncg-el-swoosh-underline::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--e-global-color-primary, #D4AF37) 0%, var(--e-global-color-accent, #F6D55C) 55%, transparent 100%);
}

.ncg-el-bento-grid.e-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: auto !important;
  align-items: stretch !important;
}

.ncg-el-bento-hero {
  grid-column: span 2 !important;
  grid-row: span 2 !important;
  position: relative;
  overflow: hidden !important;
  min-height: 490px;
  justify-content: flex-end !important;
}

.ncg-el-bento-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 10, 15, 0.08) 0%, rgba(7, 10, 15, 0.44) 48%, rgba(7, 10, 15, 0.94) 100%);
  z-index: 1;
  pointer-events: none;
}

.ncg-el-bento-hero > .elementor-element {
  position: relative;
  z-index: 3;
}

.ncg-el-bento-card {
  min-height: 235px;
  justify-content: space-between !important;
  background: linear-gradient(160deg, rgba(16, 24, 38, 0.94) 0%, rgba(7, 10, 15, 0.98) 100%) !important;
}

.ncg-el-bento-icon .elementor-icon-wrapper {
  text-align: left !important;
}

.ncg-el-bento-icon .elementor-icon {
  background: color-mix(in srgb, var(--e-global-color-primary, #D4AF37) 10%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--e-global-color-primary, #D4AF37) 35%, transparent);
}

.ncg-el-founder-photo img {
  width: 100% !important;
  height: auto;
  display: block;
  border: 1px solid var(--e-global-color-ncg_border, #1E293B);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.55);
}

@media (max-width: 1024px) {
  .ncg-el-bento-grid.e-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .ncg-el-bento-hero {
    grid-column: span 2 !important;
    grid-row: span 1 !important;
    min-height: 360px;
  }
  .ncg-el-bento-grid > .ncg-el-bento-card:last-child {
    grid-column: span 2 !important;
    min-height: 190px;
  }
}

@media (max-width: 767px) {
  .ncg-el-bento-grid.e-grid {
    grid-template-columns: 1fr !important;
  }
  .ncg-el-bento-hero,
  .ncg-el-bento-grid > .ncg-el-bento-card:last-child {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
  }
  .ncg-el-bento-hero {
    min-height: 290px;
  }
  .ncg-el-bento-card {
    min-height: 190px;
  }
}

@media (max-width: 1024px) {
  .ncg-el-pricing-grid {
    row-gap: 34px !important;
  }
}

@media (max-width: 575px) {
  .ncg-el-pricing-tabs .e-n-tabs-heading {
    width: 100%;
    border-radius: 16px;
    padding: 5px;
  }
  .ncg-el-pricing-tabs .e-n-tab-title {
    flex: 1 1 auto;
    justify-content: center;
    font-size: 11.5px !important;
    padding: 10px 10px !important;
  }
  .ncg-el-popular-badge {
    margin-top: -42px !important;
  }
}

/* Centered Radial Concentric Dashed Rings CTA Section (.ncg-el-cta-hero) */
.ncg-el-cta-hero {
  position: relative;
  overflow: hidden !important;
  background-color: #080B12 !important;
  background-image:
    radial-gradient(ellipse 46% 72% at 6% 52%, rgba(212, 175, 55, 0.10) 0%, transparent 70%),
    radial-gradient(ellipse 44% 70% at 94% 48%, rgba(59, 130, 246, 0.11) 0%, transparent 72%) !important;
}

.ncg-el-cta-hero > .e-con-inner {
  position: static !important;
  align-items: center !important;
}

.ncg-cta-backdrop-widget {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.ncg-cta-backdrop-widget > .elementor-widget-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.ncg-cta-arc-backdrop {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  -webkit-mask-image: radial-gradient(ellipse 68% 82% at 50% 24%, #000 18%, rgba(0, 0, 0, 0.35) 58%, transparent 92%);
  mask-image: radial-gradient(ellipse 68% 82% at 50% 24%, #000 18%, rgba(0, 0, 0, 0.35) 58%, transparent 92%);
}

.ncg-cta-arc-backdrop .ncg-arc {
  position: absolute;
  left: 50%;
  top: 22%;
  border-radius: 50%;
  border: 1px dashed rgba(212, 175, 55, 0.24);
  transform: translate(-50%, -50%);
}

.ncg-cta-arc-backdrop .ncg-arc.r1 { width: 320px; height: 320px; border-color: rgba(246, 213, 92, 0.30); }
.ncg-cta-arc-backdrop .ncg-arc.r2 { width: 470px; height: 470px; border-color: rgba(212, 175, 55, 0.23); }
.ncg-cta-arc-backdrop .ncg-arc.r3 { width: 620px; height: 620px; border-color: rgba(148, 163, 184, 0.19); }
.ncg-cta-arc-backdrop .ncg-arc.r4 { width: 770px; height: 770px; border-color: rgba(148, 163, 184, 0.14); }

.ncg-el-cta-center-col {
  position: relative;
  z-index: 2;
  max-width: 760px !important;
  margin: 0 auto !important;
}

.ncg-el-cta-title .elementor-heading-title {
  font-size: clamp(30px, 4.1vw, 48px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  font-weight: 700 !important;
}

.ncg-el-cta-title .ncg-cta-hl {
  color: #F6D55C;
}

.ncg-el-cta-btn-row {
  --flex-direction: row;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
}

.ncg-el-cta-btn-center {
  justify-content: center !important;
}

.ncg-el-cta-btn-row > .elementor-widget-button,
.ncg-el-cta-btn-row > .e-con-inner > .elementor-widget-button {
  width: auto !important;
  max-width: 100%;
  flex: 0 0 auto !important;
}

@media (max-width: 767px) {
  .ncg-cta-arc-backdrop .ncg-arc.r1 { width: 220px; height: 220px; }
  .ncg-cta-arc-backdrop .ncg-arc.r2 { width: 320px; height: 320px; }
  .ncg-cta-arc-backdrop .ncg-arc.r3 { width: 420px; height: 420px; }
  .ncg-cta-arc-backdrop .ncg-arc.r4 { width: 520px; height: 520px; }
  .ncg-el-cta-btn-row {
    --flex-direction: column;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .ncg-el-cta-btn-row > .elementor-widget-button,
  .ncg-el-cta-btn-row > .e-con-inner > .elementor-widget-button {
    width: 100% !important;
  }
  .ncg-el-cta-btn-row .elementor-button {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Services Page: Tier Comparison Matrix, Guarantee Strip & Scale Lookup Tabs */
.ncg-srv-matrix-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 16px;
}

.ncg-srv-matrix {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
  font-family: 'Inter', sans-serif;
  text-align: left;
}

.ncg-srv-matrix th {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  color: #94A3B8;
  background: #090E16;
  padding: 15px 18px;
  border-bottom: 1px solid #1E293B;
}

.ncg-srv-matrix td {
  padding: 15px 18px;
  font-size: 14px;
  color: #CBD5E1;
  border-bottom: 1px solid rgba(30, 41, 59, 0.7);
  vertical-align: middle;
}

.ncg-srv-matrix tbody tr:last-child td {
  border-bottom: none;
}

.ncg-srv-matrix tbody tr.ncg-srv-matrix-featured {
  background: rgba(212, 175, 55, 0.06);
}

.ncg-srv-matrix-price {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 18px !important;
  font-weight: 700;
  color: #FFFFFF !important;
  white-space: nowrap;
}

.ncg-srv-matrix-price span {
  font-size: 12px;
  font-weight: 400;
  color: #94A3B8;
}

.ncg-srv-matrix-tag {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 6px;
  background: rgba(212, 175, 55, 0.16);
  border: 1px solid rgba(212, 175, 55, 0.45);
  color: #F6D55C;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.ncg-srv-matrix-link {
  display: inline-block;
  color: #F6D55C;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.ncg-srv-matrix-link:hover {
  color: #FFFFFF;
}

.ncg-srv-guarantee-strip {
  border-left: 3px solid #D4AF37 !important;
  background: linear-gradient(90deg, rgba(212, 175, 55, 0.08) 0%, #0D131C 45%) !important;
}

.ncg-srv-grade-num .elementor-heading-title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
}

.ncg-el-scale-list {
  width: 100%;
  background: #0D131C;
  border: 1px solid #1E293B;
  border-radius: 16px;
  overflow: hidden;
}

.ncg-el-scale-row {
  display: grid;
  grid-template-columns: 74px 190px 1fr;
  align-items: center;
  gap: 16px;
  padding: 13px 22px;
  border-bottom: 1px solid rgba(30, 41, 59, 0.72);
}

.ncg-el-scale-row:last-child {
  border-bottom: none;
}

.ncg-el-scale-row-top {
  background: rgba(212, 175, 55, 0.05);
}

.ncg-el-scale-score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  border-radius: 8px;
  background: #131B26;
  border: 1px solid #2A384C;
  color: #F8FAFC;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 700;
}

.ncg-el-scale-row-top .ncg-el-scale-score {
  background: rgba(212, 175, 55, 0.16);
  border-color: rgba(212, 175, 55, 0.45);
  color: #F6D55C;
}

.ncg-el-scale-name {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #FFFFFF;
}

.ncg-el-scale-desc {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #94A3B8;
}

@media (max-width: 767px) {
  .ncg-srv-guarantee-strip .elementor-widget-button,
  .ncg-srv-guarantee-strip .elementor-button {
    width: 100% !important;
    justify-content: center !important;
  }
  .ncg-el-scale-row {
    grid-template-columns: auto 1fr;
    gap: 6px 12px;
    padding: 14px 16px;
  }
  .ncg-el-scale-desc {
    grid-column: 1 / -1;
  }
}

/* ==========================================================================
   Contact Page — Left Column Cards (Get In Touch & Opening Hours)
   ========================================================================== */
.ncg-contact-cards-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}

.ncg-contact-card {
  background: #0e1422;
  background: linear-gradient(180deg, #101626 0%, #0c101c 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 28px 26px;
  box-sizing: border-box;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.ncg-contact-card:hover {
  border-color: rgba(212, 175, 55, 0.35);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
}

.ncg-contact-card-title {
  font-family: inherit;
  font-size: 22px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 10px 0;
  line-height: 1.25;
}

.ncg-contact-card-sub {
  font-size: 14px;
  line-height: 1.55;
  color: #94a3b8;
  margin: 0 0 22px 0;
}

.ncg-contact-items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ncg-contact-item {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ncg-contact-icon-badge {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #151c2e;
  border: 1px solid rgba(212, 175, 55, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s, border-color 0.2s, transform 0.2s;
}

.ncg-contact-icon-badge i {
  display: inline-block;
  width: 18px;
  height: 18px;
  background-color: #e0a838;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: background-color 0.2s ease;
}

.ncg-contact-icon-badge .ncg-icon-phone {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'%3E%3C/path%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'%3E%3C/path%3E%3C/svg%3E");
}

.ncg-contact-icon-badge .ncg-icon-mail {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'%3E%3C/path%3E%3Cpolyline points='22,6 12,13 2,6'%3E%3C/polyline%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'%3E%3C/path%3E%3Cpolyline points='22,6 12,13 2,6'%3E%3C/polyline%3E%3C/svg%3E");
}

.ncg-contact-icon-badge .ncg-icon-globe {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='2' y1='12' x2='22' y2='12'%3E%3C/line%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'%3E%3C/path%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='2' y1='12' x2='22' y2='12'%3E%3C/line%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'%3E%3C/path%3E%3C/svg%3E");
}

.ncg-contact-item:hover .ncg-contact-icon-badge {
  background: rgba(212, 175, 55, 0.2);
  border-color: #e0a838;
  transform: scale(1.05);
}

.ncg-contact-item:hover .ncg-contact-icon-badge i {
  background-color: #ffffff;
}

.ncg-contact-item-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ncg-contact-label {
  font-size: 13px;
  font-weight: 700;
  color: #f8fafc;
  text-decoration: underline;
  text-underline-offset: 3px;
  letter-spacing: 0.02em;
}

.ncg-contact-val {
  font-size: 15px;
  font-weight: 500;
  color: #94a3b8;
  text-decoration: none;
  transition: color 0.2s ease;
}

.ncg-contact-val:hover {
  color: #e0a838;
}

/* Opening Hours Card */
.ncg-hours-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.ncg-hours-clock-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ncg-hours-clock-icon .ncg-icon-clock {
  display: inline-block;
  width: 22px;
  height: 22px;
  background-color: #e0a838;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
}

.ncg-hours-title {
  font-family: inherit;
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
  line-height: 1.25;
}

.ncg-hours-list {
  display: flex;
  flex-direction: column;
}

.ncg-hours-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.ncg-hours-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.ncg-hours-row:first-child {
  padding-top: 0;
}

.ncg-hours-day {
  font-size: 14px;
  font-weight: 600;
  color: #e2e8f0;
}

.ncg-hours-time {
  font-size: 14px;
  font-weight: 500;
  color: #94a3b8;
}

.ncg-hours-time.ncg-hours-closed {
  color: #e0a838;
  font-weight: 700;
}

@media (max-width: 767px) {
  .ncg-contact-native-iconbox .elementor-icon-box-wrapper {
    flex-direction: row !important;
    text-align: left !important;
    align-items: center !important;
    gap: 16px !important;
  }
  .ncg-contact-native-iconbox .elementor-icon-box-content {
    text-align: left !important;
  }
  .ncg-hours-header-box .elementor-icon-box-wrapper {
    flex-direction: row !important;
    text-align: left !important;
    align-items: center !important;
    gap: 12px !important;
  }
  .ncg-contact-card {
    padding: 22px 18px;
  }
  .ncg-hours-row {
    padding: 11px 0;
  }
  .ncg-hours-day,
  .ncg-hours-time {
    font-size: 13.5px;
  }
  .ncg-contact-val {
    font-size: 14px;
  }
}

/* ==========================================================================
   Contact Page — Native Elementor Widgets Styling
   ========================================================================== */
.ncg-contact-native-iconbox .elementor-icon-box-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.ncg-contact-native-iconbox .elementor-icon-box-icon {
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.ncg-contact-native-iconbox .elementor-icon {
  width: 44px !important;
  height: 44px !important;
  background-color: #151c2e !important;
  border: 1px solid rgba(212, 175, 55, 0.25) !important;
  color: #e0a838 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.25s ease !important;
}

.ncg-contact-native-iconbox:hover .elementor-icon {
  background-color: rgba(212, 175, 55, 0.2) !important;
  border-color: #e0a838 !important;
  transform: scale(1.05) !important;
}

.ncg-contact-native-iconbox .elementor-icon-box-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  flex-grow: 1 !important;
}

.ncg-contact-native-iconbox .elementor-icon-box-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #f8fafc !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

.ncg-contact-native-iconbox .elementor-icon-box-description {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #94a3b8 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

.ncg-contact-native-iconbox:hover .elementor-icon-box-description {
  color: #e0a838 !important;
}

/* Hours Header Box */
.ncg-hours-header-box .elementor-icon-box-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.ncg-hours-header-box .elementor-icon-box-icon {
  margin: 0 !important;
}

.ncg-hours-header-box .elementor-icon-box-title {
  margin: 0 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}

/* Price List for Hours */
.ncg-hours-pricelist .elementor-price-list {
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ncg-hours-pricelist .elementor-price-list-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
  text-decoration: none !important;
}

.ncg-hours-pricelist .elementor-price-list-item:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.ncg-hours-pricelist .elementor-price-list-item:first-child {
  padding-top: 0 !important;
}

.ncg-hours-pricelist .elementor-price-list-text {
  flex-grow: 1 !important;
}

.ncg-hours-pricelist .elementor-price-list-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
}

.ncg-hours-pricelist .elementor-price-list-header .elementor-price-list-title,
.ncg-hours-pricelist .elementor-price-list-title {
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #e2e8f0 !important;
  line-height: 1.4 !important;
}

.ncg-hours-pricelist .elementor-price-list-header .elementor-price-list-price,
.ncg-hours-pricelist .elementor-price-list-price {
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #94a3b8 !important;
  line-height: 1.4 !important;
  margin-left: auto !important;
}

.ncg-hours-pricelist .elementor-price-list-item:last-child .elementor-price-list-price {
  color: #e0a838 !important;
  font-weight: 700 !important;
}

/* Map Card */
.ncg-contact-map-card {
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
}

.ncg-contact-map-card:hover {
  border-color: rgba(212, 175, 55, 0.35) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4) !important;
}

.ncg-contact-map-card iframe {
  display: block !important;
  width: 100% !important;
  border: none !important;
  border-radius: 16px !important;
  filter: contrast(102%) brightness(95%) !important;
}





/* ==========================================================================
   NOBLE CARD GRADING SERVICES - LUXURY DARK CHECKOUT & WOOCOMMERCE STYLING
   ========================================================================== */

/* 1. Global Wrapper & Container Tweaks */
.woocommerce-checkout,
.woocommerce-cart {
  color: #E2E8F0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* 2. Modern Notices & Alert Banners */
.woocommerce-notice,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: #0D131C !important;
  border: 1px solid #1E293B !important;
  border-left: 4px solid #D4AF37 !important;
  border-radius: 12px !important;
  color: #E2E8F0 !important;
  padding: 16px 20px 16px 54px !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  margin-bottom: 24px !important;
  position: relative !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  left: 20px !important;
  top: 18px !important;
  position: absolute !important;
  font-size: 18px !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: #D4AF37 !important;
}

.woocommerce-error {
  border-left-color: #EF4444 !important;
}

.woocommerce-error::before {
  color: #EF4444 !important;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
  color: #D4AF37 !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  transition: color 0.2s ease !important;
}

.woocommerce-message a:hover,
.woocommerce-info a:hover {
  color: #F3C350 !important;
}

.woocommerce-message .button,
.woocommerce-info .button {
  background: #151C2E !important;
  border: 1px solid #1E293B !important;
  color: #F1F5F9 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  float: right !important;
  margin-left: 14px !important;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
  background: #D4AF37 !important;
  color: #000000 !important;
  border-color: #D4AF37 !important;
}

/* 3. Coupon Form */
form.checkout_coupon {
  background: #0D131C !important;
  border: 1px solid #1E293B !important;
  border-radius: 14px !important;
  padding: 20px 24px !important;
  margin-bottom: 28px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
}

form.checkout_coupon p {
  margin: 0 !important;
  color: #94A3B8 !important;
}

form.checkout_coupon .form-row-first {
  flex: 1 1 240px !important;
  margin: 0 !important;
}

form.checkout_coupon .form-row-last {
  margin: 0 !important;
}

form.checkout_coupon button.button {
  background: linear-gradient(135deg, #E0A838 0%, #D4AF37 100%) !important;
  color: #070A0F !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  padding: 12px 22px !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

form.checkout_coupon button.button:hover {
  background: #F3C350 !important;
  box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3) !important;
}

/* 4. Checkout Two-Column Grid */
form.checkout.woocommerce-checkout::before,
form.checkout.woocommerce-checkout::after,
form.checkout.woocommerce-checkout #customer_details::before,
form.checkout.woocommerce-checkout #customer_details::after,
.woocommerce-checkout .col2-set::before,
.woocommerce-checkout .col2-set::after {
  display: none !important;
  content: none !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (min-width: 992px) {
  form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr) !important;
    gap: 32px !important;
    align-items: start !important;
    position: relative !important;
  }

  form.checkout.woocommerce-checkout #customer_details {
    grid-column: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }

  form.checkout.woocommerce-checkout #order_review_heading {
    display: none !important;
  }

  form.checkout.woocommerce-checkout #order_review {
    grid-column: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    position: sticky !important;
    top: 96px !important;
    z-index: 10 !important;
  }
}

@media (max-width: 991px) {
  form.checkout.woocommerce-checkout {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
  }

  form.checkout.woocommerce-checkout #customer_details,
  form.checkout.woocommerce-checkout #order_review {
    width: 100% !important;
    float: none !important;
  }

  form.checkout.woocommerce-checkout #order_review_heading {
    display: none !important;
  }
}

/* 5. Customer Details Cards (Billing & Additional Info) */
#customer_details.col2-set {
  margin: 0 !important;
}

#customer_details .col-1,
#customer_details .col-2 {
  float: none !important;
  width: 100% !important;
  background: #0D131C !important;
  border: 1px solid #1E293B !important;
  border-radius: 16px !important;
  padding: 30px 32px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  #customer_details .col-1,
  #customer_details .col-2 {
    padding: 22px 18px !important;
    border-radius: 14px !important;
  }
}

#customer_details .col-1 h3,
#customer_details .col-2 h3,
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3 {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin-top: 0 !important;
  margin-bottom: 22px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #1E293B !important;
  letter-spacing: -0.01em !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

#customer_details .col-1 h3::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 18px;
  background: #D4AF37;
  border-radius: 2px;
}

#customer_details .col-2 h3::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 18px;
  background: #64748B;
  border-radius: 2px;
}

/* 6. Form Fields & Typography */
.woocommerce form .form-row {
  margin-bottom: 16px !important;
  padding: 0 !important;
}

.woocommerce form .form-row label {
  color: #94A3B8 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  margin-bottom: 7px !important;
  display: block !important;
  line-height: 1.4 !important;
}

.woocommerce form .form-row label .required {
  color: #E0A838 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  margin-left: 3px !important;
}

.woocommerce form .form-row label .optional {
  color: #64748B !important;
  font-weight: 400 !important;
  font-size: 12px !important;
}

/* Responsive 2-column field pairs on Desktop/Tablet */
@media (min-width: 600px) {
  .woocommerce form .form-row-first {
    width: 48.5% !important;
    float: left !important;
    clear: left !important;
  }
  .woocommerce form .form-row-last {
    width: 48.5% !important;
    float: right !important;
    clear: right !important;
  }
  .woocommerce form .form-row-wide {
    width: 100% !important;
    clear: both !important;
    float: none !important;
  }
}

@media (max-width: 599px) {
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last,
  .woocommerce form .form-row-wide {
    width: 100% !important;
    float: none !important;
    clear: both !important;
  }
}

/* Modern Input, Textarea & Select */
.woocommerce form input[type="text"],
.woocommerce form input[type="password"],
.woocommerce form input[type="email"],
.woocommerce form input[type="tel"],
.woocommerce form select,
.woocommerce form textarea {
  background: #070A0F !important;
  border: 1px solid #1E293B !important;
  border-radius: 8px !important;
  color: #F1F5F9 !important;
  font-size: 14.5px !important;
  padding: 12px 14px !important;
  width: 100% !important;
  outline: none !important;
  box-sizing: border-box !important;
  font-family: inherit !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.woocommerce form input::placeholder,
.woocommerce form textarea::placeholder {
  color: #64748B !important;
}

.woocommerce form input[type="text"]:focus,
.woocommerce form input[type="password"]:focus,
.woocommerce form input[type="email"]:focus,
.woocommerce form input[type="tel"]:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus {
  border-color: #D4AF37 !important;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15) !important;
}

.woocommerce form textarea {
  min-height: 100px !important;
  resize: vertical !important;
}

/* Select2 Dropdown Styling (Country / State selectors) */
.select2-hidden-accessible {
  position: absolute !important;
  left: 0 !important;
  width: 1px !important;
  height: 1px !important;
  clip: rect(0, 0, 0, 0) !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.select2-container--default .select2-selection--single {
  background: #070A0F !important;
  border: 1px solid #1E293B !important;
  border-radius: 8px !important;
  height: 46px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

.select2-container--default .select2-selection--single:focus,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: #D4AF37 !important;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #F1F5F9 !important;
  line-height: 44px !important;
  padding-left: 14px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px !important;
  right: 12px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #94A3B8 transparent transparent transparent !important;
}

.select2-dropdown {
  background: #0D131C !important;
  border: 1px solid #1E293B !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6) !important;
  color: #F1F5F9 !important;
  z-index: 99999 !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  background: #070A0F !important;
  border: 1px solid #1E293B !important;
  border-radius: 6px !important;
  color: #F1F5F9 !important;
  padding: 8px 12px !important;
}

.select2-container--default .select2-results__option {
  padding: 10px 14px !important;
  color: #CBD5E1 !important;
  font-size: 14px !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: #151C2E !important;
  color: #D4AF37 !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
  background: rgba(212, 175, 55, 0.12) !important;
  color: #D4AF37 !important;
}

/* Checkbox styling */
.woocommerce form .form-row .checkbox,
.woocommerce-form__label-for-checkbox {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #CBD5E1 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  margin-top: 6px !important;
}

.woocommerce form .form-row input[type="checkbox"] {
  accent-color: #D4AF37 !important;
  width: 17px !important;
  height: 17px !important;
  cursor: pointer !important;
  margin: 0 !important;
}

/* 7. Order Review Sticky Card */
#order_review.woocommerce-checkout-review-order {
  background: #0D131C !important;
  border: 1px solid #1E293B !important;
  border-radius: 16px !important;
  padding: 30px 32px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  #order_review.woocommerce-checkout-review-order {
    padding: 22px 18px !important;
    border-radius: 14px !important;
  }
}

#order_review::before {
  content: 'Order Summary';
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin-bottom: 22px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #1E293B !important;
  letter-spacing: -0.01em !important;
}

/* Order Review Table */
table.woocommerce-checkout-review-order-table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
  margin-bottom: 24px !important;
  background: transparent !important;
}

table.woocommerce-checkout-review-order-table th,
table.woocommerce-checkout-review-order-table td {
  background: transparent !important;
  border-left: none !important;
  border-right: none !important;
}

table.woocommerce-checkout-review-order-table thead th {
  color: #94A3B8 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border: none !important;
  border-bottom: 1px solid #1E293B !important;
  padding: 8px 0 12px 0 !important;
}

table.woocommerce-checkout-review-order-table tbody td {
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  padding: 14px 0 !important;
  vertical-align: middle !important;
}

table.woocommerce-checkout-review-order-table .product-name {
  color: #F1F5F9 !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
}

table.woocommerce-checkout-review-order-table .product-name strong.product-quantity {
  color: #D4AF37 !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  margin-left: 4px !important;
}

table.woocommerce-checkout-review-order-table .product-total,
table.woocommerce-checkout-review-order-table tfoot td {
  text-align: right !important;
  color: #F1F5F9 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

table.woocommerce-checkout-review-order-table tfoot th {
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  color: #94A3B8 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 12px 0 !important;
  text-align: left !important;
}

table.woocommerce-checkout-review-order-table tfoot tr.order-total th {
  border-top: 1px solid #1E293B !important;
  border-bottom: none !important;
  color: #FFFFFF !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding-top: 18px !important;
}

table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  border-top: 1px solid #1E293B !important;
  border-bottom: none !important;
  color: #D4AF37 !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  padding-top: 18px !important;
}

table.woocommerce-checkout-review-order-table tfoot tr.order-total td strong {
  color: #D4AF37 !important;
}

/* 8. Payment Section Styling */
#payment.woocommerce-checkout-payment {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

#payment ul.payment_methods {
  border: none !important;
  border-bottom: 1px solid #1E293B !important;
  padding: 0 0 18px 0 !important;
  margin: 0 0 18px 0 !important;
  list-style: none !important;
}

#payment ul.payment_methods li.wc_payment_method {
  background: #070A0F !important;
  border: 1px solid #1E293B !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  margin-bottom: 10px !important;
  transition: all 0.2s ease !important;
}

#payment ul.payment_methods li.wc_payment_method:hover {
  border-color: rgba(212, 175, 55, 0.4) !important;
}

#payment ul.payment_methods li.wc_payment_method label {
  color: #F1F5F9 !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
}

#payment ul.payment_methods li.wc_payment_method input[type="radio"] {
  accent-color: #D4AF37 !important;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  cursor: pointer !important;
}

#payment div.payment_box {
  background: #121824 !important;
  border: 1px solid #1E293B !important;
  border-radius: 8px !important;
  color: #CBD5E1 !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  padding: 12px 16px !important;
  margin: 12px 0 4px 0 !important;
  box-shadow: none !important;
}

#payment div.payment_box::before {
  display: none !important;
}

/* Terms & Privacy Policy */
.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper {
  color: #64748B !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  margin-bottom: 18px !important;
}

.woocommerce-privacy-policy-text a,
.woocommerce-terms-and-conditions-wrapper a {
  color: #D4AF37 !important;
  text-decoration: underline !important;
}

/* 9. PLACE ORDER Button (Royal Gold CTA) */
#payment #place_order,
.woocommerce-checkout #payment button#place_order {
  background: linear-gradient(135deg, #E0A838 0%, #D4AF37 100%) !important;
  color: #070A0F !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 10px !important; /* Elementor Kit #6 global radius */
  padding: 16px 28px !important;
  width: 100% !important;
  cursor: pointer !important;
  box-shadow: 0 4px 20px rgba(212, 175, 55, 0.35) !important;
  transition: all 0.25s ease !important;
  display: block !important;
  text-align: center !important;
}

#payment #place_order:hover,
.woocommerce-checkout #payment button#place_order:hover {
  background: linear-gradient(135deg, #F3C350 0%, #E0A838 100%) !important;
  box-shadow: 0 6px 26px rgba(212, 175, 55, 0.5) !important;
  transform: translateY(-1px) !important;
}

/* 10. WooCommerce Cart Page Styling */
.woocommerce-cart table.cart {
  background: #0D131C !important;
  border: 1px solid #1E293B !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border-collapse: collapse !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
}

.woocommerce-cart table.cart thead th {
  background: #121824 !important;
  color: #94A3B8 !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  padding: 14px 18px !important;
  border: none !important;
  border-bottom: 1px solid #1E293B !important;
}

.woocommerce-cart table.cart tbody td {
  padding: 18px !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  color: #F1F5F9 !important;
  font-size: 15px !important;
}

.woocommerce-cart table.cart .product-remove a.remove {
  color: #EF4444 !important;
  font-size: 20px !important;
  width: 28px !important;
  height: 28px !important;
  line-height: 26px !important;
  border-radius: 50% !important;
  background: rgba(239, 68, 68, 0.1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
}

.woocommerce-cart table.cart .product-remove a.remove:hover {
  background: #EF4444 !important;
  color: #FFFFFF !important;
}

.woocommerce-cart table.cart .product-name a {
  color: #F1F5F9 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.woocommerce-cart table.cart .product-name a:hover {
  color: #D4AF37 !important;
}

.woocommerce-cart table.cart td.actions {
  background: #0A101A !important;
  padding: 18px !important;
}

.woocommerce-cart table.cart td.actions .coupon {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.woocommerce-cart table.cart td.actions .coupon input#coupon_code {
  width: 180px !important;
}

.woocommerce-cart table.cart td.actions .button {
  background: #151C2E !important;
  border: 1px solid #1E293B !important;
  color: #F1F5F9 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  padding: 11px 20px !important;
  border-radius: 8px !important;
  transition: all 0.2s ease !important;
}

.woocommerce-cart table.cart td.actions .button:hover {
  background: #D4AF37 !important;
  color: #000000 !important;
  border-color: #D4AF37 !important;
}

/* Cart Totals Box */
.woocommerce-cart .cart_totals {
  background: #0D131C !important;
  border: 1px solid #1E293B !important;
  border-radius: 16px !important;
  padding: 28px 32px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
  margin-top: 32px !important;
}

.woocommerce-cart .cart_totals h2 {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin-top: 0 !important;
  margin-bottom: 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #1E293B !important;
}

.woocommerce-cart .cart_totals table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
  margin-bottom: 24px !important;
}

.woocommerce-cart .cart_totals table.shop_table th {
  color: #94A3B8 !important;
  font-weight: 500 !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  padding: 12px 0 !important;
}

.woocommerce-cart .cart_totals table.shop_table td {
  text-align: right !important;
  color: #F1F5F9 !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  padding: 12px 0 !important;
  font-weight: 600 !important;
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total th {
  color: #FFFFFF !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  border-top: 1px solid #1E293B !important;
  border-bottom: none !important;
  padding-top: 16px !important;
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
  color: #D4AF37 !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  border-top: 1px solid #1E293B !important;
  border-bottom: none !important;
  padding-top: 16px !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: linear-gradient(135deg, #E0A838 0%, #D4AF37 100%) !important;
  color: #070A0F !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  border-radius: 10px !important;
  padding: 16px 28px !important;
  display: block !important;
  text-align: center !important;
  box-shadow: 0 4px 20px rgba(212, 175, 55, 0.35) !important;
  transition: all 0.25s ease !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: linear-gradient(135deg, #F3C350 0%, #E0A838 100%) !important;
  box-shadow: 0 6px 26px rgba(212, 175, 55, 0.5) !important;
  transform: translateY(-1px) !important;
}

/* Empty Cart / Empty Checkout State */
.woocommerce-info.wc-empty-cart-message,
.cart-empty.woocommerce-info {
  background: #0D131C !important;
  border: 1px solid #1E293B !important;
  border-radius: 16px !important;
  padding: 40px !important;
  text-align: center !important;
  color: #94A3B8 !important;
  font-size: 16px !important;
}

.ncg-empty-cart-actions,
p.return-to-shop {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-top: 24px !important;
  margin-bottom: 0 !important;
}

.ncg-empty-cart-actions a.button,
p.return-to-shop a.button {
  background: linear-gradient(135deg, #E0A838 0%, #D4AF37 100%) !important;
  color: #070A0F !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  border-radius: 10px !important;
  padding: 14px 26px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 14px rgba(212, 175, 55, 0.25) !important;
}

.ncg-empty-cart-actions a.button:hover,
p.return-to-shop a.button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(212, 175, 55, 0.45) !important;
  color: #070A0F !important;
}

.ncg-empty-cart-actions a.button.ncg-btn-secondary,
p.return-to-shop a.button.ncg-btn-secondary {
  background: #0D131C !important;
  color: #F8FAFC !important;
  border: 1px solid #1E293B !important;
  box-shadow: none !important;
}

.ncg-empty-cart-actions a.button.ncg-btn-secondary:hover,
p.return-to-shop a.button.ncg-btn-secondary:hover {
  border-color: #D4AF37 !important;
  color: #D4AF37 !important;
  background: #131B26 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}

@media (max-width: 575px) {
  .ncg-empty-cart-actions,
  p.return-to-shop {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .ncg-empty-cart-actions a.button,
  p.return-to-shop a.button {
    width: 100% !important;
    text-align: center !important;
  }
}

/* ==========================================================================
   COLLECTOR AUTH GATING CALLOUT (Submission Flow - Mandatory Account)
   ========================================================================== */
.ncg-auth-gate-banner {
  background: #0D131C !important;
  border: 1px solid #1E293B !important;
  border-left: 4px solid #D4AF37 !important;
  border-radius: 14px !important;
  padding: 22px 26px !important;
  margin: 28px auto 36px auto !important;
  max-width: 820px !important;
  text-align: left !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35), 0 0 20px rgba(212, 175, 55, 0.08) !important;
}

.ncg-auth-gate-badge {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}

.ncg-gate-step-num {
  background: linear-gradient(135deg, #E0A838 0%, #D4AF37 100%) !important;
  color: #070A0F !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 800 !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.ncg-gate-step-text {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #D4AF37 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.ncg-auth-gate-body strong {
  display: block !important;
  font-size: 16px !important;
  color: #F8FAFC !important;
  margin-bottom: 6px !important;
  font-family: 'Space Grotesk', sans-serif !important;
}

.ncg-auth-gate-body p {
  color: #94A3B8 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .ncg-auth-gate-banner {
    padding: 18px 18px !important;
    margin: 20px 12px 28px 12px !important;
  }
}

/* ==========================================================================
   ORDERS TABLE ACTION BUTTONS ALIGNMENT & SPACING (.woocommerce-orders-table)
   ========================================================================== */
.woocommerce-account .woocommerce-orders-table th.woocommerce-orders-table__header-order-actions {
  text-align: left !important;
  white-space: nowrap !important;
}

.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
  vertical-align: middle !important;
  white-space: nowrap !important;
  padding: 12px 18px !important;
  text-align: left !important;
}

/* Base button reset & unified sizing for all action buttons in the orders table */
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .woocommerce-button,
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 16px !important;
  margin: 0 8px 0 0 !important;
  font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: none !important;
}

.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .woocommerce-button:last-child,
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button:last-child {
  margin-right: 0 !important;
}

/* 1. PAY BUTTON (Primary Action) */
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .woocommerce-button.pay,
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button.pay {
  background: var(--ncg-gold, #D4AF37) !important;
  border: 1px solid var(--ncg-gold, #D4AF37) !important;
  color: #070A0F !important;
  box-shadow: 0 2px 10px rgba(212, 175, 55, 0.25) !important;
}

.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .woocommerce-button.pay:hover,
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button.pay:hover {
  background: var(--ncg-gold-light, #E6C35C) !important;
  border-color: var(--ncg-gold-light, #E6C35C) !important;
  color: #070A0F !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(212, 175, 55, 0.45) !important;
}

/* 2. VIEW BUTTON (Secondary / Neutral Action) */
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .woocommerce-button.view,
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button.view {
  background: #182232 !important;
  border: 1px solid rgba(212, 175, 55, 0.35) !important;
  color: #F8FAFC !important;
  box-shadow: none !important;
}

.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .woocommerce-button.view:hover,
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button.view:hover {
  background: var(--ncg-gold, #D4AF37) !important;
  border-color: var(--ncg-gold, #D4AF37) !important;
  color: #070A0F !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3) !important;
}

/* 3. CANCEL BUTTON (Destructive / Secondary Warning Action) */
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .woocommerce-button.cancel,
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button.cancel {
  background: rgba(239, 68, 68, 0.08) !important;
  border: 1px solid rgba(239, 68, 68, 0.35) !important;
  color: #FCA5A5 !important;
  box-shadow: none !important;
}

.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .woocommerce-button.cancel:hover,
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button.cancel:hover {
  background: rgba(239, 68, 68, 0.22) !important;
  border-color: #EF4444 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 10px rgba(239, 68, 68, 0.35) !important;
}

@media (max-width: 767px) {
  .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    text-align: right !important;
  }

  .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before {
    margin-right: auto !important;
    flex-shrink: 0 !important;
  }

  .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .woocommerce-button,
  .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button {
    margin: 0 !important;
    flex: 0 0 auto !important;
  }
}
