@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@600;700&display=swap');

/*
 * ai_post.css — 자동 게시글 공통 스타일
 * 모든 자동 게시글은 <div class="aip aip-groundgolf"> 또는 <div class="aip aip-parkgolf"> 로 감싸져 있어
 * 다른 게시글이나 사이트 디자인에는 영향을 주지 않습니다.
 * 색상은 아래 변수만 바꾸면 전체에 반영됩니다.
 */

.aip {
  --aip-accent: #2e7d4f;        /* 강조색 (그라운드골프: 초록) */
  --aip-accent-soft: #eaf5ee;   /* 강조 배경 */
  --aip-text: #222;
  --aip-muted: #666;
  --aip-line: #e3e3e3;
  --aip-tip-bg: #f3f8ff;  --aip-tip-line: #3b7ddd;
  --aip-warn-bg: #fff6ec; --aip-warn-line: #e08a1e;
  --aip-kr-bg: #f6f1fb;   --aip-kr-line: #7a4fb5;

  color: var(--aip-text);
  font-size: 21px;
  line-height: 1.85;
  word-break: keep-all;
  overflow-wrap: anywhere;
  max-width: 760px;
}
.aip-parkgolf {
  --aip-accent: #1f66a8;        /* 파크골프: 파랑 */
  --aip-accent-soft: #e9f1fa;
}

/* 분류 배지 */
.aip .aip-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  background: var(--aip-accent-soft);
  color: var(--aip-accent);
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 6px;
}

/* 도입 문단 */
.aip .aip-lead {
  font-size: 22px;
  color: #333;
  padding: 14px 18px;
  border-left: 4px solid var(--aip-accent);
  background: var(--aip-accent-soft);
  border-radius: 0 8px 8px 0;
  margin: 8px 0 24px;
}

/* 본문 */
.aip p { margin: 0 0 16px; }
.aip h3 {
  font-size: 24px;
  font-weight: 700;
  margin: 34px 0 12px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--aip-accent);
  color: var(--aip-text);
}
.aip h4 { font-size: 21px; font-weight: 700; margin: 0 0 8px; }
.aip ul, .aip ol { margin: 0 0 18px; padding-left: 1.4em !important; }
.aip li { margin-bottom: 6px; }
.aip strong { color: var(--aip-accent); }
.aip a { color: var(--aip-accent); text-decoration: underline; text-underline-offset: 3px; }
.aip blockquote {
  margin: 0 0 18px;
  padding: 10px 16px;
  border-left: 3px solid var(--aip-line);
  color: var(--aip-muted);
}

/* 단계 목록 (자세·스윙 순서 등)
   테마·에디터 CSS가 ol 번호를 덮어쓰는 경우가 많아 !important 로 고정 */
.aip ol.aip-steps {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  counter-reset: aipstep;
}
.aip ol.aip-steps > li {
  list-style: none !important;
  counter-increment: aipstep;
  position: relative;
  padding: 2px 0 10px 46px;
  margin-left: 0 !important;
  min-height: 34px;
}
.aip ol.aip-steps > li::marker { content: none; }
/* 에디터가 줄바꿈을 빈 항목으로 바꿔 넣은 경우 숨기고 번호도 세지 않음 */
.aip ol.aip-steps > li:empty,
.aip ol.aip-steps > li:has(> br:only-child),
.aip ol.aip-steps > li:has(> p:only-child:empty),
.aip ol.aip-steps > li:has(> p:only-child > br:only-child) {
  display: none !important;
  counter-increment: none !important;
}
/* 일반 목록은 테마가 점·번호를 지워도 다시 보이게 */
.aip ul > li { list-style: disc !important; }
.aip ol:not(.aip-steps) > li { list-style: decimal !important; }
.aip ol.aip-steps > li::before {
  content: counter(aipstep);
  position: absolute; left: 0; top: 0;
  width: 32px; height: 32px; line-height: 32px;
  border-radius: 50%;
  background: var(--aip-accent); color: #fff;
  text-align: center; font-weight: 700; font-size: 19px;
}

/* 상자: 팁 / 주의 / 국내와 다른 점 */
.aip .aip-box {
  padding: 14px 18px;
  border-radius: 10px;
  border: 1px solid var(--aip-line);
  margin: 0 0 20px;
}
.aip .aip-box > :last-child { margin-bottom: 0; }
.aip .aip-tip  { background: var(--aip-tip-bg);  border-color: var(--aip-tip-line); }
.aip .aip-warn { background: var(--aip-warn-bg); border-color: var(--aip-warn-line); }
.aip .aip-kr   { background: var(--aip-kr-bg);   border-color: var(--aip-kr-line); }
.aip .aip-tip h4  { color: var(--aip-tip-line); }
.aip .aip-warn h4 { color: var(--aip-warn-line); }
.aip .aip-kr h4   { color: var(--aip-kr-line); }

/* 표 */
.aip .aip-table-wrap { overflow-x: auto; margin: 0 0 20px; }
.aip table { width: 100%; border-collapse: collapse; font-size: 19px; }
.aip th, .aip td { border: 1px solid var(--aip-line); padding: 8px 10px; text-align: left; vertical-align: top; }
.aip th { background: var(--aip-accent-soft); font-weight: 700; }

/* 용품 소식 카드 */
.aip .aip-item {
  border: 1px solid var(--aip-line);
  border-radius: 10px;
  padding: 14px 18px;
  margin: 0 0 16px;
}
.aip .aip-item h4 { margin-bottom: 4px; }
.aip .aip-item .aip-maker { color: var(--aip-muted); font-size: 18px; margin-bottom: 8px; }

/* 하단: 참고 영상 / 참고 자료 / 안내 */
.aip .aip-video, .aip .aip-sources {
  margin-top: 30px;
  padding-top: 14px;
  border-top: 1px solid var(--aip-line);
  font-size: 19px;
}
.aip .aip-video + .aip-sources { margin-top: 16px; }
.aip .aip-video h4, .aip .aip-sources h4 { font-size: 19px; color: var(--aip-muted); }
.aip .aip-sources ol, .aip .aip-video ul { margin-bottom: 0; }
.aip .aip-domain { color: #999; font-size: 17px; margin-left: 4px; }
.aip .aip-note {
  margin-top: 16px;
  padding: 10px 14px;
  background: #f7f7f7;
  border-radius: 8px;
  color: var(--aip-muted);
  font-size: 17px;
  line-height: 1.6;
}

@media (max-width: 600px) {
  .aip { font-size: 20px; }
  .aip h3 { font-size: 22px; }
  .aip .aip-lead { font-size: 20px; padding: 12px 14px; }
}


/* =========================================================
 * 어르신 정보 글 — 여기부터 끝까지
 * 어르신 글은 <div class="aip aip-senior"> 로 감싸져 있습니다.
 * 골프 글과 클래스 이름은 같지만, 아래 규칙이 모두 덮어써서
 * 전혀 다른 모양(신문 건강 칼럼 느낌: 남색·겨자색, 명조 제목, 각진 상자)으로 보입니다.
 * 골프 글(aip-groundgolf / aip-parkgolf)의 모양은 바뀌지 않습니다.
 * ========================================================= */

/* ----- 공통 보조 규칙 (골프 글에도 영향 없음) ----- */
.aip .aip-facts { display: grid; grid-template-columns: max-content 1fr; margin: 0 0 24px; }
.aip .aip-facts dd { margin: 0; }
.aip img { max-width: 100% !important; height: auto !important; }
.aip .aip-figure { margin: 8px 0 24px; text-align: center; }
.aip .aip-figure img { display: block; margin: 0 auto; }
.aip .aip-figure .aip-caption { margin: 8px 0 0; font-size: 28px; color: var(--aip-muted); }
.aip .aip-figure + ol.aip-steps { counter-reset: none; }

/* 사이트 기본 CSS(default.css)와 부딪히는 부분 보정 — 골프 글에도 함께 적용됨 */
.aip p, .aip li, .aip td, .aip th, .aip dt, .aip dd, .aip h3, .aip h4 { word-break: keep-all; overflow-wrap: anywhere; }
#bo_v_con .aip ul, #bo_v_con .aip ol { margin: 0 0 18px; padding-left: 1.4em !important; }
#bo_v_con .aip ol.aip-steps { padding-left: 0 !important; margin-left: 0 !important; list-style: none !important; }
#bo_v_con .aip ol.aip-steps > li { list-style: none !important; }
#bo_v_con .aip dl.aip-facts { display: grid; margin: 0 0 24px; }
#bo_v_con .aip .aip-facts dt, #bo_v_con .aip .aip-facts dd { list-style: none; }
#bo_v_con .aip .aip-sources ol, #bo_v_con .aip .aip-video ul { margin-bottom: 0; }

/* ----- 어르신 글 디자인 ----- */
.aip.aip-senior {
  --sn-ink: #1b2a41;          /* 남색: 제목·표 머리·번호 */
  --sn-ink-soft: #eef1f6;
  --sn-amber: #e0a526;        /* 겨자색: 제목 위 막대·형광펜 */
  --sn-amber-soft: #fff4d6;
  --sn-text: #2b2b2b;
  --sn-muted: #6b7280;
  --sn-line: #d9dde3;
  --sn-serif: 'Noto Serif KR', 'Nanum Myeongjo', 'Batang', 'AppleMyungjo', serif;
  --aip-muted: #6b7280;
  color: var(--sn-text);
  font-size: 22px;
  line-height: 1.9;
  max-width: 720px;
}

/* 분류 표시: 각진 남색 띠 */
.aip.aip-senior .aip-badge {
  display: inline-block; border-radius: 0; background: var(--sn-ink); color: #fff;
  font-size: 17px; font-weight: 700; letter-spacing: .12em; padding: 4px 12px; margin: 0 0 16px;
}

/* 도입: 위아래 줄 사이의 큰 명조 문단 */
.aip.aip-senior .aip-lead {
  font-family: var(--sn-serif) !important; font-size: 25px; line-height: 1.75; font-weight: 600;
  color: var(--sn-ink); background: none; border: 0; border-radius: 0;
  border-top: 3px solid var(--sn-ink); border-bottom: 1px solid var(--sn-line);
  padding: 20px 2px 22px; margin: 0 0 32px;
}
.aip.aip-senior .aip-lead * { font-family: inherit !important; }

/* 소제목: 명조체, 위에 짧은 겨자색 막대 */
.aip.aip-senior h3 {
  position: relative; font-family: var(--sn-serif) !important; font-size: 28px; font-weight: 700;
  color: var(--sn-ink); border: 0; padding: 16px 0 0; margin: 48px 0 14px;
}
.aip.aip-senior h3::before { content: ""; position: absolute; top: 0; left: 0; width: 44px; height: 4px; background: var(--sn-amber); }
.aip.aip-senior h4 { font-size: 22px; color: var(--sn-ink); }

/* 강조: 글자색 대신 형광펜 밑줄 */
.aip.aip-senior strong { color: inherit; font-weight: 700; background: linear-gradient(transparent 58%, rgba(224,165,38,.38) 58%); padding: 0 1px; }
.aip.aip-senior a { color: var(--sn-ink); text-decoration: underline; text-decoration-color: var(--sn-amber); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.aip.aip-senior blockquote { font-family: var(--sn-serif) !important; color: var(--sn-ink); border-left: 4px solid var(--sn-amber); background: none; padding: 4px 0 4px 18px; }

/* 일반 목록: 네모 점 */
.aip.aip-senior ul > li { list-style: square !important; }
.aip.aip-senior ul > li::marker { color: var(--sn-amber); }
.aip.aip-senior li { margin-bottom: 8px; }

/* 단계 목록: 동그라미 대신 테두리 네모 번호(01, 02…)와 점선 구분 */
.aip.aip-senior ol.aip-steps > li {
  padding: 6px 0 14px 58px; margin-bottom: 12px; min-height: 42px;
  border-bottom: 1px dashed var(--sn-line);
}
.aip.aip-senior ol.aip-steps > li:last-child { border-bottom: 0; }
.aip.aip-senior ol.aip-steps > li::before {
  content: counter(aipstep, decimal-leading-zero);
  width: 40px; height: 40px; line-height: 36px; border-radius: 0;
  background: #fff; color: var(--sn-ink); border: 2px solid var(--sn-ink);
  font-family: var(--sn-serif) !important; font-size: 20px; font-weight: 700;
}

/* 상자: 둥근 모서리 없이 위쪽 굵은 선 + 이름표 */
.aip.aip-senior .aip-box {
  border: 1px solid var(--sn-line); border-top: 4px solid var(--sn-ink); border-radius: 0;
  background: #f6f7f9; padding: 16px 20px 18px; margin: 0 0 26px;
}
.aip.aip-senior .aip-box h4 {
  display: inline-block; font-size: 18px; font-weight: 700; letter-spacing: .06em;
  color: #fff; background: var(--sn-ink); padding: 2px 10px; margin: 0 0 10px;
}
.aip.aip-senior .aip-tip   { border-top-color: var(--sn-ink); background: var(--sn-ink-soft); }
.aip.aip-senior .aip-tip h4   { background: var(--sn-ink); color: #fff; }
.aip.aip-senior .aip-warn  { border-top-color: #b42318; background: #fdf3f2; }
.aip.aip-senior .aip-warn h4  { background: #b42318; color: #fff; }
.aip.aip-senior .aip-jp    { border-top-color: #8a3b5c; background: #faf2f5; }
.aip.aip-senior .aip-jp h4    { background: #8a3b5c; color: #fff; }
.aip.aip-senior .aip-apply { border-top-color: var(--sn-amber); background: var(--sn-amber-soft); }
.aip.aip-senior .aip-apply h4 { background: var(--sn-amber); color: var(--sn-ink); }

/* 표: 남색 머리줄, 줄무늬 */
.aip.aip-senior table { font-size: 20px; border-top: 2px solid var(--sn-ink); }
.aip.aip-senior th { background: var(--sn-ink); color: #fff; border: 1px solid var(--sn-ink); padding: 10px 12px; }
.aip.aip-senior td { border: 0; border-bottom: 1px solid var(--sn-line); padding: 10px 12px; }
.aip.aip-senior tbody tr:nth-child(even) td { background: #f7f8fa; }

/* 한눈에 보기 요약표: 왼쪽 남색 칸 + 오른쪽 내용 */
.aip.aip-senior .aip-facts {
  gap: 0; border: 0; border-top: 3px solid var(--sn-ink); border-radius: 0;
  background: var(--sn-ink-soft); padding: 0; margin: 0 0 30px;
}
.aip.aip-senior .aip-facts dt {
  background: var(--sn-ink); color: #fff; font-weight: 700; padding: 10px 16px;
  border-bottom: 1px solid rgba(255,255,255,.2);
}
.aip.aip-senior .aip-facts dd { padding: 10px 16px; border-bottom: 1px solid #fff; }

/* 사진 */
.aip.aip-senior .aip-figure img { border-radius: 0; border: 1px solid var(--sn-line); }

/* 하단: 참고 영상 / 참고 자료 / 안내 */
.aip.aip-senior .aip-video, .aip.aip-senior .aip-sources { border-top: 2px solid var(--sn-ink); font-size: 18px; margin-top: 40px; }
.aip.aip-senior .aip-video + .aip-sources { margin-top: 18px; border-top-width: 1px; }
.aip.aip-senior .aip-video h4, .aip.aip-senior .aip-sources h4 { font-family: var(--sn-serif) !important; color: var(--sn-ink); font-size: 19px; letter-spacing: .04em; }
.aip.aip-senior .aip-domain { color: #9aa1ab; }
.aip.aip-senior .aip-note { background: none; border: 1px solid var(--sn-line); border-radius: 0; color: var(--sn-muted); }

@media (max-width: 600px) {
  .aip.aip-senior { font-size: 21px; }
  .aip.aip-senior .aip-lead { font-size: 22px; padding: 16px 0 18px; }
  .aip.aip-senior h3 { font-size: 24px; margin-top: 38px; }
  .aip.aip-senior ol.aip-steps > li { padding-left: 52px; }
  .aip .aip-facts { grid-template-columns: 1fr; }
  .aip.aip-senior .aip-facts dt { padding: 8px 14px; }
}

/* 어르신 글 표: 휴대폰에서 옆으로 밀어서 보기 */
.aip.aip-senior .aip-table-wrap,
#bo_v_con .aip.aip-senior .aip-table-wrap { display: block; width: 100%; overflow-x: auto !important; -webkit-overflow-scrolling: touch; margin: 0 0 26px; }
.aip.aip-senior .aip-table-wrap table,
#bo_v_con .aip.aip-senior .aip-table-wrap table { width: auto !important; min-width: 100%; max-width: none !important; table-layout: auto !important; }
.aip.aip-senior .aip-table-wrap th,
.aip.aip-senior .aip-table-wrap td { min-width: 7.5em; overflow-wrap: normal; word-break: keep-all; }
.aip.aip-senior .aip-table-wrap th { white-space: nowrap; }