/*
Theme Name: Gwangju Divorce Info Theme
Theme URI: https://gwangjudivorce.stofarm.com
Description: 광주 이혼 전문 변호사 정보 플랫폼 전용 테마
Author: 문호영
Version: 1.0.0
Template: twentytwentyfive
Text Domain: gwangjudivorce-theme
*/

:root {
  --gd-primary: #1F3A5F;
  --gd-primary-dark: #162b47;
  --gd-accent: #C9A227;
  --gd-accent-light: #e0c65a;
  --gd-bg: #ffffff;
  --gd-bg-alt: #f8f9fb;
  --gd-text: #232a34;
  --gd-text-light: #5a6270;
  --gd-border: #e8ecf0;
  --gd-radius: 10px;
  --gd-shadow: 0 2px 12px rgba(31,58,95,0.08);
  --gd-max-w: 780px;
  --gd-gap: 8px;
}

/* Global resets */
body {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--gd-text);
  line-height: 1.78;
  -webkit-font-smoothing: antialiased;
}

/* Hide default WP chrome */
.wp-site-blocks > header,
.wp-site-blocks > footer,
.wp-block-template-part[slug=header],
.wp-block-template-part[slug=footer] {
  display: none !important;
}

/* Single post styling */
.wp-block-post-content,
.entry-content,
.post-content {
  max-width: var(--gd-max-w) !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  font-size: 1.08em;
  line-height: 1.78;
}

/* Headings */
h1, h2, h3, h4 {
  color: var(--gd-primary);
  font-weight: 700;
  line-height: 1.35;
}

h1 { font-size: 2em; margin: 40px 0 20px; }
h2 { font-size: 1.45em; margin: 48px 0 16px; border-left: 4px solid var(--gd-accent); padding-left: 14px; }
h3 { font-size: 1.2em; margin: 32px 0 12px; }

/* Tables */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
  font-size: 0.97em;
  border-radius: var(--gd-radius);
  overflow: hidden;
  box-shadow: var(--gd-shadow);
}
table thead tr { background: var(--gd-primary); color: #fff; }
table th { padding: 12px 16px; text-align: left; font-weight: 600; }
table td { padding: 12px 16px; border-bottom: 1px solid var(--gd-border); }
table tbody tr:nth-child(even) { background: var(--gd-bg-alt); }

/* Blockquotes */
blockquote {
  background: #faf8f3;
  border-left: 4px solid var(--gd-accent);
  padding: 18px 22px;
  margin: 28px 0;
  border-radius: 0 8px 8px 0;
  font-size: 0.97em;
  color: #4a4535;
}

/* Details/FAQ */
details {
  background: var(--gd-bg-alt);
  border-radius: 8px;
  margin-bottom: 10px;
  padding: 16px 20px;
}
details summary {
  font-weight: 600;
  cursor: pointer;
  color: var(--gd-primary);
}

/* Images */
.entry-content img,
.wp-block-post-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--gd-radius);
}

/* Links */
a { color: var(--gd-primary); text-decoration: none; transition: color 0.2s; }
a:hover { color: var(--gd-accent); }

/* Lists */
ol, ul { padding-left: 20px; line-height: 2.1; }

/* Mobile */
@media (max-width: 768px) {
  h1 { font-size: 1.5em; }
  h2 { font-size: 1.25em; }
  .wp-block-post-content,
  .entry-content { padding: 0 16px !important; }
  table { font-size: 0.88em; }
  table th, table td { padding: 8px 10px; }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}

/* Focus ring */
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid var(--gd-accent);
  outline-offset: 2px;
}
