/* NCCM v25 — premium typography controls */
:root{
  --nccm-display-font: Georgia, 'Times New Roman', serif;
  --nccm-body-font: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --nccm-subtitle-weight: 600;
  --nccm-title-scale: 1;
  --nccm-subtitle-scale: 1;
}

html[data-nccm-typography='classic']{
  --nccm-display-font: Georgia, 'Times New Roman', serif;
  --nccm-body-font: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}
html[data-nccm-typography='modern']{
  --nccm-display-font: 'Segoe UI', Arial, Helvetica, sans-serif;
  --nccm-body-font: 'Segoe UI', Arial, Helvetica, sans-serif;
}
html[data-nccm-typography='editorial']{
  --nccm-display-font: 'Palatino Linotype', Palatino, Georgia, serif;
  --nccm-body-font: Georgia, 'Times New Roman', serif;
}
html[data-nccm-typography='clean']{
  --nccm-display-font: 'Trebuchet MS', 'Segoe UI', Arial, sans-serif;
  --nccm-body-font: 'Segoe UI', Arial, Helvetica, sans-serif;
}

html[data-nccm-subtitle-weight='regular']{ --nccm-subtitle-weight: 500; }
html[data-nccm-subtitle-weight='medium']{ --nccm-subtitle-weight: 600; }
html[data-nccm-subtitle-weight='bold']{ --nccm-subtitle-weight: 700; }
html[data-nccm-title-size='normal']{ --nccm-title-scale: 1; }
html[data-nccm-title-size='large']{ --nccm-title-scale: 1.08; }
html[data-nccm-title-size='xl']{ --nccm-title-scale: 1.16; }
html[data-nccm-subtitle-size='normal']{ --nccm-subtitle-scale: 1; }
html[data-nccm-subtitle-size='large']{ --nccm-subtitle-scale: 1.10; }

/* Apply to public hero/page headings without disturbing buttons/nav */
.hero h1,
.page-hero h1,
.catalog-hero h1,
.quote-hero h1,
.app-hero h1,
.mobile-app-hero h1,
.mobile-hero h1,
.category-hero h1,
section[class*='hero'] h1,
[data-setting-html$='.title'],
[data-setting-text$='.title']{
  font-family: var(--nccm-display-font) !important;
  letter-spacing: -0.025em;
}

.hero p,
.page-hero p,
.catalog-hero p,
.quote-hero p,
.app-hero p,
.mobile-app-hero p,
.mobile-hero p,
.category-hero p,
.hero .lead,
.page-hero .lead,
.catalog-hero .lead,
.quote-hero .lead,
[data-setting-text$='.subtitle'],
[data-setting-text$='.lead'],
[data-setting-text$='.pageLead']{
  font-family: var(--nccm-body-font) !important;
  font-weight: var(--nccm-subtitle-weight) !important;
}

.hero h1,
.page-hero h1,
.catalog-hero h1,
.quote-hero h1,
.category-hero h1{
  font-size: calc(var(--hero-title-size, 4.8rem) * var(--nccm-title-scale));
}
.hero p,
.page-hero p,
.catalog-hero p,
.quote-hero p,
.category-hero p{
  font-size: calc(var(--hero-lead-size, 1.15rem) * var(--nccm-subtitle-scale));
}

/* Mobile app typography tuning */
@media (max-width: 760px){
  .hero h1,
  .page-hero h1,
  .catalog-hero h1,
  .quote-hero h1,
  .category-hero h1,
  .app-hero h1,
  .mobile-app-hero h1,
  .mobile-hero h1{
    font-size: calc(var(--mobile-hero-title-size, 2.45rem) * var(--nccm-title-scale)) !important;
    line-height: .95 !important;
  }
  .hero p,
  .page-hero p,
  .catalog-hero p,
  .quote-hero p,
  .category-hero p,
  .app-hero p,
  .mobile-app-hero p,
  .mobile-hero p{
    font-size: calc(var(--mobile-hero-lead-size, 1.02rem) * var(--nccm-subtitle-scale)) !important;
    line-height: 1.35 !important;
  }
}

/* Admin cards for v25 typography panel */
.nccm-typo-panel .typo-preview{
  border-radius: 26px;
  padding: 28px;
  margin: 16px 0 24px;
  background: linear-gradient(135deg, rgba(43,27,18,.96), rgba(15,10,7,.94));
  color:#fff;
  box-shadow: 0 22px 50px rgba(0,0,0,.18);
  overflow:hidden;
}
.nccm-typo-panel .typo-preview .kicker{
  color:#e7b978;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:800;
  font-size:.78rem;
}
.nccm-typo-panel .typo-preview h2{
  font-family: var(--nccm-display-font);
  font-size: clamp(2.2rem, 5vw, 4.2rem);
  line-height:.92;
  margin: 12px 0;
  letter-spacing:-.04em;
}
.nccm-typo-panel .typo-preview p{
  font-family: var(--nccm-body-font);
  font-weight: var(--nccm-subtitle-weight);
  font-size:1.1rem;
  color:rgba(255,255,255,.86);
  max-width:720px;
}
.nccm-typo-options{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.nccm-typo-option{
  border:1px solid rgba(160,119,70,.28);
  background:#fff;
  border-radius:18px;
  padding:16px;
  cursor:pointer;
  text-align:left;
  box-shadow:0 12px 32px rgba(43,27,18,.08);
}
.nccm-typo-option.active{
  outline:3px solid rgba(217,164,91,.38);
  border-color:#d9a45b;
}
.nccm-typo-option b{display:block;font-size:1.05rem;margin-bottom:6px;color:#241710;}
.nccm-typo-option span{display:block;color:#6b5a4e;font-size:.92rem;line-height:1.35;}
.nccm-typo-option[data-profile='classic'] b{font-family:Georgia,'Times New Roman',serif;}
.nccm-typo-option[data-profile='modern'] b{font-family:'Segoe UI',Arial,sans-serif;letter-spacing:-.03em;}
.nccm-typo-option[data-profile='editorial'] b{font-family:'Palatino Linotype',Palatino,Georgia,serif;font-style:italic;}
.nccm-typo-option[data-profile='clean'] b{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif;}
@media (max-width:760px){.nccm-typo-options{grid-template-columns:1fr;}}
