/* ND Collab Certified Friendly Program — intentionally scoped. */
.ndcn-certified-friendly {
  --ndcn-cert-purple: #3b0a75;
  --ndcn-cert-purple-dark: #210447;
  --ndcn-cert-blue: #00699d;
  --ndcn-cert-teal: #03b79e;
  --ndcn-cert-ink: #0e0628;
  --ndcn-cert-body: #34294d;
  --ndcn-cert-muted: #6f6588;
  --ndcn-cert-soft: #f5f3fc;
  --ndcn-cert-border: rgba(59, 10, 117, 0.14);
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(22px, 4vw, 48px) clamp(16px, 3vw, 30px);
  color: var(--ndcn-cert-body);
  font-family: inherit;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.ndcn-certified-friendly *,
.ndcn-certified-friendly *::before,
.ndcn-certified-friendly *::after { box-sizing: border-box; }
.ndcn-certified-friendly h1,
.ndcn-certified-friendly h2,
.ndcn-certified-friendly h3 { color: var(--ndcn-cert-ink); line-height: 1.18; }
.ndcn-certified-friendly h1 { font-size: clamp(2rem, 5vw, 4rem); margin: 0 0 18px; }
.ndcn-certified-friendly h2 { font-size: clamp(1.45rem, 3vw, 2.25rem); }
.ndcn-certified-friendly h3 { font-size: 1.15rem; }
.ndcn-cert-eyebrow {
  margin: 0 0 12px;
  color: var(--ndcn-cert-blue);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ndcn-cert-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 18px;
  border: 2px solid var(--ndcn-cert-purple);
  border-radius: 9px;
  background: var(--ndcn-cert-purple);
  color: #fff !important;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
  cursor: pointer;
}
.ndcn-cert-button:hover { background: var(--ndcn-cert-purple-dark); border-color: var(--ndcn-cert-purple-dark); }
.ndcn-cert-button--secondary { background: #fff; color: var(--ndcn-cert-purple) !important; }
.ndcn-cert-button--secondary:hover { background: rgba(59,10,117,.07); color: var(--ndcn-cert-purple-dark) !important; }
.ndcn-cert-button--large { min-height: 52px; padding: 14px 24px; }
.ndcn-cert-button:focus-visible,
.ndcn-certified-friendly a:focus-visible,
.ndcn-certified-friendly button:focus-visible,
.ndcn-certified-friendly input:focus-visible,
.ndcn-certified-friendly select:focus-visible,
.ndcn-certified-friendly textarea:focus-visible { outline: 3px solid var(--ndcn-cert-teal); outline-offset: 3px; }

.ndcn-cert-directory__header,
.ndcn-cert-application__header { max-width: 820px; margin-bottom: 32px; }
.ndcn-cert-directory__header p:last-child,
.ndcn-cert-application__header p:last-child { font-size: 1.05rem; }
.ndcn-cert-filters,
.ndcn-cert-form,
.ndcn-cert-single__card,
.ndcn-cert-dashboard__card,
.ndcn-cert-notice {
  background: #fff;
  border: 1px solid var(--ndcn-cert-border);
  border-radius: 20px;
  box-shadow: 0 10px 34px rgba(59, 10, 117, .08);
}
.ndcn-cert-filters { display: grid; grid-template-columns: repeat(5, minmax(150px, 1fr)); gap: 14px; padding: 20px; margin-bottom: 24px; }
.ndcn-cert-field { min-width: 0; }
.ndcn-cert-field label { display: block; margin-bottom: 6px; color: var(--ndcn-cert-ink); font-weight: 750; }
.ndcn-cert-field input,
.ndcn-cert-field select,
.ndcn-cert-field textarea {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 10px 12px;
  border: 1.5px solid var(--ndcn-cert-border);
  border-radius: 9px;
  background: #fff;
  color: var(--ndcn-cert-ink);
  font: inherit;
}
.ndcn-cert-field textarea { min-height: 120px; resize: vertical; }
.ndcn-cert-filter-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; }
.ndcn-cert-directory__count { margin: 0 0 18px; color: var(--ndcn-cert-muted); font-weight: 700; }
.ndcn-cert-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.ndcn-cert-card { display: grid; grid-template-columns: 150px minmax(0, 1fr); overflow: hidden; background: #fff; border: 1px solid var(--ndcn-cert-border); border-radius: 20px; box-shadow: 0 8px 28px rgba(59,10,117,.07); }
.ndcn-cert-card__media { display: flex; align-items: center; justify-content: center; min-height: 220px; background: linear-gradient(145deg, rgba(59,10,117,.12), rgba(3,183,158,.14)); }
.ndcn-cert-card__media img { width: 100%; height: 100%; object-fit: cover; }
.ndcn-cert-card__media span { font-size: 4rem; font-weight: 800; color: var(--ndcn-cert-purple); }
.ndcn-cert-card__body { padding: 22px; }
.ndcn-cert-badge { display: inline-flex; margin-bottom: 10px; padding: 5px 10px; border-radius: 999px; background: rgba(3,183,158,.14); color: #075f56; font-size: .72rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.ndcn-cert-card h2 { margin: 0 0 7px; font-size: 1.45rem; }
.ndcn-cert-card h2 a { color: var(--ndcn-cert-ink); text-decoration: none; }
.ndcn-cert-card h2 a:hover { color: var(--ndcn-cert-purple); text-decoration: underline; }
.ndcn-cert-card__meta,
.ndcn-cert-card__location,
.ndcn-cert-card__verified { margin: 5px 0; color: var(--ndcn-cert-muted); font-size: .9rem; }
.ndcn-cert-card__verified { color: #075f56; font-weight: 800; }
.ndcn-cert-chips { display: flex; flex-wrap: wrap; gap: 7px; margin: 15px 0; padding: 0; list-style: none; }
.ndcn-cert-chips li { padding: 5px 9px; border: 1px solid var(--ndcn-cert-border); border-radius: 999px; background: var(--ndcn-cert-soft); font-size: .78rem; font-weight: 700; }
.ndcn-cert-card__actions,
.ndcn-cert-single__actions,
.ndcn-cert-program__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.ndcn-cert-empty { padding: 42px 24px; border: 1px dashed var(--ndcn-cert-border); border-radius: 18px; background: var(--ndcn-cert-soft); text-align: center; }

.ndcn-cert-form { padding: clamp(20px, 4vw, 36px); }
.ndcn-cert-form fieldset { margin: 0 0 28px; padding: 0; border: 0; }
.ndcn-cert-form legend { margin-bottom: 14px; color: var(--ndcn-cert-ink); font-size: 1.25rem; font-weight: 850; }
.ndcn-cert-form__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin-bottom: 15px; }
.ndcn-cert-checks { display: flex; flex-wrap: wrap; gap: 10px 18px; padding: 14px; background: var(--ndcn-cert-soft); border-radius: 12px; }
.ndcn-cert-checks label,
.ndcn-cert-consent label { display: flex; align-items: flex-start; gap: 9px; }
.ndcn-cert-consent { margin: 18px 0; padding: 16px; border-left: 4px solid var(--ndcn-cert-teal); background: rgba(3,183,158,.08); }
.ndcn-cert-privacy { color: var(--ndcn-cert-muted); font-size: .86rem; }
.ndcn-cert-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.ndcn-cert-notice { padding: 22px; margin: 18px 0; }
.ndcn-cert-notice--success { border-left: 5px solid var(--ndcn-cert-teal); }
.ndcn-cert-notice--error { border-left: 5px solid #b42318; }

.ndcn-cert-program { max-width: 1200px; }
.ndcn-cert-program__hero { padding: clamp(34px, 7vw, 80px); border-radius: 26px; color: #fff; background: radial-gradient(circle at 90% 10%, rgba(3,183,158,.35), transparent 35%), linear-gradient(135deg, var(--ndcn-cert-purple-dark), var(--ndcn-cert-purple)); }
.ndcn-cert-program__hero h1 { color: #fff; max-width: 850px; }
.ndcn-cert-program__hero > p:not(.ndcn-cert-eyebrow) { max-width: 700px; font-size: 1.12rem; }
.ndcn-cert-program__hero .ndcn-cert-eyebrow { color: #8ff6e8; }
.ndcn-cert-program__section { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 70px); align-items: start; padding: clamp(42px, 7vw, 82px) 0; }
.ndcn-cert-program__section--alt { padding: clamp(30px, 5vw, 56px); border-radius: 24px; background: var(--ndcn-cert-soft); }
.ndcn-cert-benefit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.ndcn-cert-benefit-grid article { padding: 20px; background: #fff; border: 1px solid var(--ndcn-cert-border); border-radius: 16px; }
.ndcn-cert-program__list { columns: 2; column-gap: 36px; margin: 0; padding-left: 20px; }
.ndcn-cert-program__list li { margin: 0 0 12px; break-inside: avoid; }
.ndcn-cert-program__cta { padding: 44px; border: 1px solid var(--ndcn-cert-border); border-radius: 24px; text-align: center; }
.ndcn-cert-program__cta .ndcn-cert-program__actions { justify-content: center; }

.ndcn-cert-process__steps { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.ndcn-cert-process__step { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; align-items: start; padding: 20px; background: #fff; border: 1px solid var(--ndcn-cert-border); border-radius: 16px; }
.ndcn-cert-process__number { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: var(--ndcn-cert-purple); color: #fff; font-weight: 850; }
.ndcn-cert-process__step h3 { margin: 0 0 5px; }
.ndcn-cert-process__step p { margin: 0; }

.ndcn-cert-single { max-width: 1040px; padding-top: 48px; padding-bottom: 70px; }
.ndcn-cert-single__card { padding: clamp(22px, 5vw, 48px); }
.ndcn-cert-single__header { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 28px; align-items: center; }
.ndcn-cert-single__logo { display: flex; align-items: center; justify-content: center; width: 170px; aspect-ratio: 1; overflow: hidden; border-radius: 20px; background: var(--ndcn-cert-soft); }
.ndcn-cert-single__logo img { width: 100%; height: 100%; object-fit: contain; }
.ndcn-cert-single__logo span { font-size: 4rem; font-weight: 850; color: var(--ndcn-cert-purple); }
.ndcn-cert-single__header h1 { font-size: clamp(2rem, 5vw, 3.8rem); }
.ndcn-cert-single__location { color: var(--ndcn-cert-muted); font-weight: 700; }
.ndcn-cert-verification { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 28px 0; padding: 18px; border-radius: 16px; background: rgba(3,183,158,.1); }
.ndcn-cert-verification div { display: grid; gap: 4px; }
.ndcn-cert-verification span { color: #075f56; font-weight: 800; }
.ndcn-cert-single__content,
.ndcn-cert-single section { margin-top: 28px; }
.ndcn-cert-single__notice { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--ndcn-cert-border); color: var(--ndcn-cert-muted); font-size: .85rem; }

.ndcn-cert-dashboard__card { padding: 22px; margin-top: 18px; }
.ndcn-cert-dashboard__actions { padding: 14px; border-radius: 12px; background: #fff7e6; }

/* Smart Guide certified-business cards */
.ndcn-resource-hub .ndcn-fs-business-card { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; padding: 16px 0; border-bottom: 1px solid rgba(59,10,117,.12); }
.ndcn-resource-hub .ndcn-fs-business-card:last-child { border-bottom: 0; }
.ndcn-resource-hub .ndcn-fs-business-logo { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; overflow: hidden; border-radius: 12px; background: rgba(3,183,158,.12); color: #3b0a75; font-weight: 850; font-size: 1.5rem; }
.ndcn-resource-hub .ndcn-fs-business-logo img { width: 100%; height: 100%; object-fit: cover; }
.ndcn-resource-hub .ndcn-fs-business-name { margin: 0 0 3px; font-weight: 850; }
.ndcn-resource-hub .ndcn-fs-business-name a { color: #3b0a75; }
.ndcn-resource-hub .ndcn-fs-business-badge { display: inline-flex; margin: 3px 0 7px; color: #075f56; font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.ndcn-resource-hub .ndcn-fs-business-meta,
.ndcn-resource-hub .ndcn-fs-business-desc { margin: 4px 0; font-size: .88rem; }
.ndcn-resource-hub .ndcn-fs-business-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 9px; }
.ndcn-resource-hub .ndcn-fs-business-actions a { font-weight: 800; }

@media (max-width: 980px) {
  .ndcn-cert-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ndcn-cert-grid { grid-template-columns: 1fr; }
  .ndcn-cert-program__section { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .ndcn-cert-form__grid,
  .ndcn-cert-verification { grid-template-columns: 1fr; }
  .ndcn-cert-card { grid-template-columns: 1fr; }
  .ndcn-cert-card__media { min-height: 180px; }
  .ndcn-cert-card__media img { object-fit: contain; padding: 12px; }
  .ndcn-cert-single__header { grid-template-columns: 1fr; }
  .ndcn-cert-single__logo { width: min(170px, 60vw); }
  .ndcn-cert-benefit-grid { grid-template-columns: 1fr; }
  .ndcn-cert-program__list { columns: 1; }
}
@media (max-width: 480px) {
  .ndcn-cert-filters { grid-template-columns: 1fr; }
  .ndcn-cert-filter-actions,
  .ndcn-cert-card__actions,
  .ndcn-cert-single__actions,
  .ndcn-cert-program__actions { flex-direction: column; }
  .ndcn-cert-button { width: 100%; }
  .ndcn-cert-program__hero,
  .ndcn-cert-program__section--alt,
  .ndcn-cert-program__cta { padding: 25px 18px; border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .ndcn-certified-friendly *, .ndcn-resource-hub .ndcn-fs-business-card * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
