/* NameCard Design System v1
   Page UI only. Company SVG artwork is independent. */

:root {
  --nc-ds-font: "Pretendard", -apple-system,
    BlinkMacSystemFont, "Segoe UI", "Noto Sans KR",
    Arial, sans-serif;

  --nc-ds-page-title: 24px;
  --nc-ds-panel-title: 18px;
  --nc-ds-body: 14px;
  --nc-ds-label: 13px;
  --nc-ds-small: 12px;

  --nc-ds-primary: #1769aa;
  --nc-ds-primary-hover: #125788;
  --nc-ds-text: #263445;
  --nc-ds-muted: #64748b;
  --nc-ds-bg: #f5f6f8;
  --nc-ds-panel: #fff;
  --nc-ds-border: #d5dee8;

  --nc-ds-radius: 12px;
  --nc-ds-control-radius: 8px;
  --nc-ds-panel-padding: 20px;
  --nc-ds-gap: 24px;
}

/* Typography shared by all three pages */
body.nc-home,
body.nc-public,
body.nc-admin {
  font-family: var(--nc-ds-font);
  color: var(--nc-ds-text);
  background-color: var(--nc-ds-bg);
  font-size: var(--nc-ds-body);
  line-height: 1.55;
}

body.nc-home h1,
body.nc-public .card > h1,
body.nc-admin .app > h1 {
  font-family: inherit;
  font-size: var(--nc-ds-page-title);
  font-weight: 700;
  line-height: 1.35;
}

.nc-page-title {
  font-size: var(--nc-ds-page-title);
  line-height: 1.35;
  font-weight: 700;
}

.nc-panel-title {
  font-size: var(--nc-ds-panel-title);
  line-height: 1.4;
  font-weight: 700;
}

.nc-muted {
  color: var(--nc-ds-muted);
  font-size: var(--nc-ds-small);
}

/* Shared controls: exclude the SVG artwork */
body.nc-home input:not([type="checkbox"]),
body.nc-admin input:not([type="checkbox"]),
body.nc-admin select,
body.nc-admin textarea {
  font-family: inherit;
  font-size: var(--nc-ds-body);
  border-radius: var(--nc-ds-control-radius);
}

body.nc-home button,
body.nc-admin button,
body.nc-public button {
  font-family: inherit;
}

body.nc-home button:focus-visible,
body.nc-admin button:focus-visible,
body.nc-public button:focus-visible,
body.nc-home input:focus-visible,
body.nc-admin input:focus-visible,
body.nc-admin select:focus-visible {
  outline: 2px solid var(--nc-ds-primary);
  outline-offset: 2px;
}

/* Shared header */
body.nc-home .nc-breadcrumbs,
body.nc-public .nc-breadcrumbs,
body.nc-admin .nc-breadcrumbs {
  font-family: var(--nc-ds-font);
  font-size: var(--nc-ds-label);
}

/* Shared panel vocabulary */
.nc-panel {
  min-width: 0;
  background: var(--nc-ds-panel);
  border: 1px solid var(--nc-ds-border);
  border-radius: var(--nc-ds-radius);
  padding: var(--nc-ds-panel-padding);
  box-sizing: border-box;
}

/* Public page: match the management-page panel */
body.nc-public .card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.nc-public #content.nc-public-two-column {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body.nc-public .nc-public-main {
  min-width: 0;
  background: var(--nc-ds-panel);
  border: 1px solid var(--nc-ds-border);
  border-radius: var(--nc-ds-radius);
  padding: var(--nc-ds-panel-padding);
  box-sizing: border-box;
  text-align: left;
}

body.nc-public .nc-public-main > .nc-page-title {
  margin: 0 0 14px;
  text-align: left;
}

body.nc-public .nc-public-main .public-face {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body.nc-public .nc-public-aside {
  background: var(--nc-ds-panel);
  border: 1px solid var(--nc-ds-border);
  border-radius: var(--nc-ds-radius);
  padding: var(--nc-ds-panel-padding);
  box-sizing: border-box;
}

body.nc-public .nc-public-aside-title {
  margin: 0 0 14px;
  font-family: inherit;
  font-size: var(--nc-ds-panel-title);
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}

/* Keep public buttons and contact details in right column */
body.nc-public .nc-public-aside button,
body.nc-public .nc-public-aside a {
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* On mobile, preserve card-first content order */
@media (max-width: 900px) {
  body.nc-public #content.nc-public-two-column {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.nc-public .nc-public-main,
  body.nc-public .nc-public-aside {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 599px) {
  body.nc-public .nc-public-main,
  body.nc-public .nc-public-aside {
    padding: 16px;
  }
}


/* NameCard public section placement v2 */

/* Functional blocks below the card in the left panel */
body.nc-public .nc-public-main > .nc-public-sharing,
body.nc-public .nc-public-main > .nc-follow-section,
body.nc-public .nc-public-main > .nc-contact-actions,
body.nc-public .nc-public-main > .nc-create-own {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-left: 0;
  margin-right: 0;
}

/* Only the followed-card list belongs to the right panel */
body.nc-public .nc-public-aside > .nc-follow-section {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin: 0;
}

body.nc-public .nc-public-aside-title[hidden] {
  display: none !important;
}

/* NameCard homepage outer border removal */

/* Remove only the wrapper around both homepage panels. */
body.nc-home .container,
body.nc-home .nc-home-layout {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Keep the borders around the two individual panels. */
body.nc-home .nc-home-info,
body.nc-home .nc-home-entry {
  background: #ffffff;
  border: 1px solid var(--nc-ds-border, #d5dee8);
  border-radius: var(--nc-ds-radius, 12px);
  box-shadow: none;
}
