/* NCCM v24 - Hero readability polish
   Purpose: make subtitles/leads readable over bright or detailed images without hard black boxes.
   Scope: public hero areas desktop + mobile/app. */

:root{
  --nccm-text-shadow-strong: 0 3px 14px rgba(0,0,0,.82), 0 1px 2px rgba(0,0,0,.95);
  --nccm-text-shadow-soft: 0 2px 10px rgba(0,0,0,.72), 0 1px 2px rgba(0,0,0,.9);
}

/* Keep hero content above soft overlay */
.hero,
.page-hero,
.catalog-showroom-hero,
.quote-hero{
  position: relative;
  overflow: hidden;
}

.hero::after,
.page-hero::after,
.catalog-showroom-hero::after,
.quote-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:
    linear-gradient(90deg,
      rgba(14,8,4,.68) 0%,
      rgba(14,8,4,.48) 32%,
      rgba(14,8,4,.22) 58%,
      rgba(14,8,4,.08) 100%),
    linear-gradient(0deg,
      rgba(14,8,4,.24) 0%,
      rgba(14,8,4,.04) 45%,
      rgba(14,8,4,.16) 100%);
}

.hero > *,
.page-hero > *,
.catalog-showroom-hero > *,
.quote-hero > *{
  position: relative;
  z-index:2;
}

/* Main website hero text */
.hero .eyebrow,
.page-hero .breadcrumbs,
.catalog-showroom-hero .breadcrumbs,
.quote-hero .breadcrumbs{
  color:#ffe3ae !important;
  font-weight:800 !important;
  letter-spacing:.18em;
  text-shadow:var(--nccm-text-shadow-strong) !important;
}

.hero h1,
.hero .title,
.page-hero h1,
.page-hero .title,
.catalog-showroom-hero h1,
.catalog-showroom-hero .title,
.quote-hero h1,
.quote-hero .title{
  text-shadow:0 4px 18px rgba(0,0,0,.78), 0 2px 4px rgba(0,0,0,.92) !important;
}

.hero p,
.hero .lead,
.page-hero p,
.page-hero .lead,
.catalog-showroom-hero p,
.catalog-showroom-hero .lead,
.quote-hero p,
.quote-hero .lead{
  color:#fffaf1 !important;
  font-weight:650 !important;
  line-height:1.62 !important;
  text-shadow:var(--nccm-text-shadow-strong) !important;
  max-width:880px;
}

/* Small floating labels/badges on heroes */
.hero .badge-line span,
.page-hero .badge-line span,
.catalog-showroom-hero .catalog-hero-actions a,
.quote-hero .catalog-hero-actions a{
  text-shadow:var(--nccm-text-shadow-soft);
}

/* Mobile app hero card readability */
@media (max-width: 760px){
  .nccm-app-hero-card{
    position:relative;
    overflow:hidden;
  }

  .nccm-app-hero-card::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:1;
    background:linear-gradient(180deg,
      rgba(12,7,4,.20) 0%,
      rgba(12,7,4,.40) 42%,
      rgba(12,7,4,.74) 100%);
  }

  .nccm-app-hero-card > *{
    position:relative;
    z-index:2;
  }

  .nccm-app-hero-card h1,
  .nccm-app-hero-card .title{
    text-shadow:0 4px 16px rgba(0,0,0,.88), 0 2px 4px rgba(0,0,0,.92) !important;
  }

  .nccm-app-hero-card p,
  .nccm-app-hero-card .lead{
    color:#fffaf1 !important;
    font-weight:650 !important;
    text-shadow:var(--nccm-text-shadow-strong) !important;
  }

  .nccm-app-hero-card .eyebrow,
  .nccm-app-hero-card .kicker{
    color:#ffe3ae !important;
    font-weight:850 !important;
    text-shadow:var(--nccm-text-shadow-strong) !important;
  }

  .hero p,
  .page-hero p,
  .catalog-showroom-hero p,
  .quote-hero p,
  .hero .lead,
  .page-hero .lead,
  .catalog-showroom-hero .lead,
  .quote-hero .lead{
    font-size:clamp(1rem, 4.3vw, 1.22rem) !important;
    line-height:1.48 !important;
    font-weight:700 !important;
  }

  .hero .eyebrow,
  .page-hero .breadcrumbs,
  .catalog-showroom-hero .breadcrumbs,
  .quote-hero .breadcrumbs{
    font-size:.78rem !important;
    letter-spacing:.08em !important;
  }

  .catalog-showroom-hero::after,
  .page-hero::after,
  .quote-hero::after,
  .hero::after{
    background:
      linear-gradient(180deg,
        rgba(14,8,4,.42) 0%,
        rgba(14,8,4,.24) 36%,
        rgba(14,8,4,.72) 100%),
      linear-gradient(90deg,
        rgba(14,8,4,.48) 0%,
        rgba(14,8,4,.22) 70%,
        rgba(14,8,4,.14) 100%);
  }
}
