/* ============================================================
   Nani Cleaning — nc-fonts.css
   Google Fonts imports and typography utilities
   ============================================================ */

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;1,400;1,600&family=Poppins:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

/* ── Font utility classes ── */
.nc-font-display { font-family: 'Playfair Display', Georgia, serif; }
.nc-font-body    { font-family: 'Poppins', sans-serif; }
.nc-font-alt     { font-family: 'Inter', sans-serif; }

/* ── Weight utilities ── */
.nc-fw-300 { font-weight: 300; }
.nc-fw-400 { font-weight: 400; }
.nc-fw-500 { font-weight: 500; }
.nc-fw-600 { font-weight: 600; }
.nc-fw-700 { font-weight: 700; }
.nc-fw-800 { font-weight: 800; }

/* ── Size utilities ── */
.nc-text-xs   { font-size: 0.75rem; }
.nc-text-sm   { font-size: 0.875rem; }
.nc-text-base { font-size: 1rem; }
.nc-text-lg   { font-size: 1.125rem; }
.nc-text-xl   { font-size: 1.25rem; }
.nc-text-2xl  { font-size: 1.5rem; }
.nc-text-3xl  { font-size: 1.875rem; }

/* ── Line height ── */
.nc-leading-tight  { line-height: 1.2; }
.nc-leading-snug   { line-height: 1.4; }
.nc-leading-normal { line-height: 1.6; }
.nc-leading-relaxed { line-height: 1.75; }
.nc-leading-loose  { line-height: 2; }

/* ── Letter spacing ── */
.nc-tracking-tight  { letter-spacing: -0.025em; }
.nc-tracking-normal { letter-spacing: 0; }
.nc-tracking-wide   { letter-spacing: 0.05em; }
.nc-tracking-wider  { letter-spacing: 0.1em; }
.nc-tracking-widest { letter-spacing: 0.15em; }

/* ── Color utilities ── */
.nc-text-blue-deep  { color: var(--nc-blue-deep); }
.nc-text-blue-mid   { color: var(--nc-blue-mid); }
.nc-text-green      { color: var(--nc-green); }
.nc-text-gray-dark  { color: var(--nc-gray-dark); }
.nc-text-gray-mid   { color: var(--nc-gray-mid); }
.nc-text-white      { color: var(--nc-white); }

/* ── Paragraph max-width helpers ── */
.nc-prose-sm  { max-width: 480px; }
.nc-prose-md  { max-width: 640px; }
.nc-prose-lg  { max-width: 780px; }
.nc-prose-xl  { max-width: 900px; }

/* ── Blockquote / callout ── */
.nc-blockquote {
  border-left: 4px solid var(--nc-blue-mid);
  padding: 1rem 1.5rem;
  background: var(--nc-blue-light);
  border-radius: 0 var(--nc-radius) var(--nc-radius) 0;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.1rem;
  font-style: italic;
  color: var(--nc-blue-deep);
  margin: 1.5rem 0;
}

/* ── Highlight text ── */
.nc-highlight {
  background: linear-gradient(120deg, #d4e8ff 0%, #c3e6cb 100%);
  padding: 2px 6px;
  border-radius: 4px;
}

/* ── Caption ── */
.nc-caption {
  font-size: 0.78rem;
  color: var(--nc-gray-mid);
  font-family: 'Inter', sans-serif;
  text-align: center;
  margin-top: 0.5rem;
  font-style: italic;
}

/* ── List styles ── */
.nc-list-check {
  list-style: none;
  padding: 0;
}
.nc-list-check li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 0.3rem 0;
  font-family: 'Inter', sans-serif;
  font-size: 0.92rem;
  color: var(--nc-gray-dark);
}
.nc-list-check li::before {
  content: '\f00c';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  color: var(--nc-green);
  margin-top: 2px;
  flex-shrink: 0;
  font-size: 0.8rem;
}

.nc-list-dot {
  list-style: none;
  padding: 0;
}
.nc-list-dot li {
  padding: 0.25rem 0 0.25rem 1.25rem;
  position: relative;
  font-family: 'Inter', sans-serif;
  font-size: 0.92rem;
  color: var(--nc-gray-dark);
}
.nc-list-dot li::before {
  content: '';
  position: absolute;
  left: 0; top: 0.65rem;
  width: 7px; height: 7px;
  background: var(--nc-blue-mid);
  border-radius: 50%;
}

/* ── Section divider text ── */
.nc-divider-text {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: var(--nc-gray-mid);
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 1.5rem 0;
}
.nc-divider-text::before,
.nc-divider-text::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--nc-border);
}
