/* PC 틀: 공통 부품 CSS(public/shared) 위에 넓은 화면의 뼈대만 더합니다. 부품 모양은 여기서 다시 쓰지 않습니다.
 * 화면별 넓은 배치는 public/pc 의 같은 이름 파일(PC 층)에 둡니다. */
:root {
  --layout-max-width: 1200px;   /* 모바일 430px 무대 값을 PC 본문 폭으로 */
  --pc-reading-width: 720px;    /* 글 · 입력 화면의 읽기 폭 */
  --pc-gutter: 24px;
  --pc-header-height: 68px;
}
body.pc {
  display: flex;
  flex-direction: column;
  margin: 0;
  min-width: 1024px;
  min-height: 100vh;
  padding: 0;
  background: var(--color-bg-subtle);
}
.pc-skip { position: absolute; left: -9999px; }
.pc-skip:focus { left: 16px; top: 16px; z-index: 60; padding: 8px 12px; background: var(--color-bg-surface); }

.pc-header { position: sticky; top: 0; z-index: 50; background: var(--color-bg-surface); border-bottom: 1px solid var(--color-border-default); }
.pc-header__inner { display: flex; align-items: center; gap: 44px; max-width: var(--layout-max-width); height: var(--pc-header-height); margin: 0 auto; padding: 0 var(--pc-gutter); box-sizing: content-box; }
.pc-logo { font-family: var(--font-family-title); font-size: 24px; font-weight: 600; letter-spacing: .24em; line-height: 1.25; color: var(--color-text-primary); text-decoration: none; border-bottom: 2px solid var(--color-brand-primary); }
.pc-nav { display: flex; flex: 1; gap: 30px; }
.pc-nav__link { padding: 6px 0; border-bottom: 2px solid transparent; color: var(--color-text-secondary); font-size: var(--font-size-lg); font-weight: 500; text-decoration: none; }
.pc-nav__link:hover { color: var(--color-text-primary); }
.pc-nav__link.is-active { border-bottom-color: var(--color-text-primary); color: var(--color-text-primary); font-weight: 700; }
.pc-header__actions { display: flex; align-items: center; gap: 20px; }
.pc-action { color: var(--color-text-secondary); font-size: var(--font-size-md); text-decoration: none; }
.pc-action:hover { color: var(--color-text-primary); }
.pc-action--strong { padding: 7px 16px; border-radius: 8px; background: var(--color-bg-inverse); color: var(--color-text-inverse); font-weight: 600; }
.pc-action--strong:hover { color: var(--color-text-inverse); }
.pc-action__count { color: var(--color-brand-primary); }
.pc-action__dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--color-brand-primary); vertical-align: top; }

/* 본문: 기본은 읽기 폭. 넓게 쓰는 화면은 그 화면 PC 층에서 --pc-main-width 만 바꿉니다. */
body.pc .pc-main {
  flex: 1 0 auto;
  width: 100%;
  max-width: calc(var(--pc-main-width, var(--pc-reading-width)) + 2 * var(--pc-gutter));
  min-height: 0;
  margin: 0 auto;
  padding: 32px var(--pc-gutter) 64px;
  box-sizing: border-box;
  background: transparent;
  outline: none;
}
.pc-subhead { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.pc-subhead__back { color: var(--color-text-secondary); font-size: 24px; line-height: 1; text-decoration: none; }
.pc-subhead__title { margin: 0; font-family: var(--font-family-title); font-size: 24px; font-weight: 600; }
.pc-subhead__action { margin-left: auto; color: var(--color-text-link); }

.pc-footer { background: var(--color-bg-surface); border-top: 1px solid var(--color-border-default); }
.pc-footer__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; max-width: var(--layout-max-width); margin: 0 auto; padding: 20px var(--pc-gutter); box-sizing: content-box; color: var(--color-text-secondary); font-size: var(--font-size-sm); }
.pc-footer__inner a { color: inherit; text-decoration: none; }
.pc-footer__inner a:hover { color: var(--color-text-primary); }
.pc-footer__brand { font-family: var(--font-family-title); font-weight: 600; color: var(--color-text-primary); }
.pc-footer__switch { margin-left: auto; }

/* 모바일 시트는 PC 에서 가운데 대화상자로 */
body.pc .app-sheet { align-items: center; justify-content: center; }
body.pc .app-sheet__panel { width: 460px; max-width: 460px; border-radius: 16px; }
body.pc .app-sheet__grab { display: none; }

/* 모바일 무대의 좌우 여백 값: PC 는 본문 폭이 이미 여백을 가지므로 0 (부품의 끝까지 채우기 계산이 그대로 맞음) */
body.pc { --app-gutter-start: 0px; --app-gutter-end: 0px; --layout-gutter: 0px; }

/* 큰 회사 정보 바닥글이 있는 화면은 아래 안내 줄을 겹쳐 보이지 않게 함 */
.pc-main:has(.home19-foot) + .pc-footer .pc-footer__inner > :not(.pc-footer__switch) { display: none; }
