/* ===== DUI Fine Guide — Design System ===== */
:root{
  --navy:#1B3A5C;
  --navy-dark:#122A44;
  --navy-deep:#0D1F33;
  --amber:#E0A939;
  --amber-dark:#C6912B;
  --ink:#1f2937;
  --ink-soft:#3f4b5c;
  --gray-600:#5b6472;
  --gray-300:#c9d2dc;
  --gray-200:#e5e9ee;
  --gray-100:#f1f3f6;
  --bg:#f7f8fa;
  --surface:#ffffff;
  --radius-lg:20px;
  --radius-md:14px;
  --radius-sm:8px;
  --shadow-sm:0 2px 8px rgba(15,23,42,.06);
  --shadow-md:0 12px 32px rgba(15,23,42,.10);
  --shadow-lg:0 24px 60px rgba(15,23,42,.16);
  --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px;
  --space-5:48px; --space-6:64px; --space-7:96px; --space-8:128px;
  --maxw:1180px;
  --content-w:760px;
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}
html{scroll-behavior:smooth;}
body{
  font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif !important;
  color:var(--ink) !important;
  background:var(--bg) !important;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Noto Serif KR','Pretendard Variable',serif !important;
  color:var(--navy-dark) !important;
  line-height:1.35;
  letter-spacing:-0.01em;
  font-weight:700;
}
a{color:var(--navy);}
a:focus-visible, button:focus-visible, input:focus-visible{outline:3px solid var(--amber); outline-offset:2px;}
img{max-width:100%; height:auto; border-radius:var(--radius-sm);}

/* ===== Header / Nav override (block theme parts) ===== */
header.wp-block-template-part{
  background:var(--surface) !important;
  border-bottom:1px solid var(--gray-200);
  padding:14px 0 !important;
}
.wp-block-site-title, .wp-block-site-title a{
  font-family:'Noto Serif KR',serif !important;
  font-weight:700 !important;
  color:var(--navy-dark) !important;
  font-size:1.3rem !important;
  letter-spacing:-0.01em;
}
.wp-block-site-tagline{color:var(--gray-600) !important; font-size:.82rem !important;}
.wp-block-navigation{font-family:'Pretendard Variable',sans-serif !important;}
.wp-block-navigation-item a, .wp-block-navigation__submenu-container a{
  color:var(--ink) !important;
  font-weight:500;
  transition:color .2s ease;
}
.wp-block-navigation-item a:hover{color:var(--amber-dark) !important;}

/* ===== Footer override ===== */
footer.wp-block-template-part{
  background:var(--navy-deep) !important;
  color:#c7d2df !important;
  padding:var(--space-5) 0 !important;
}
footer.wp-block-template-part a{color:#e7edf5 !important;}
footer.wp-block-template-part .wp-block-site-title, footer.wp-block-template-part .wp-block-site-title a{color:#fff !important;}

/* ===== Buttons ===== */
.wp-block-button__link, .btn{
  background:var(--amber) !important;
  color:var(--navy-deep) !important;
  border-radius:999px !important;
  font-weight:700 !important;
  padding:12px 28px !important;
  border:none !important;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  display:inline-block;
  min-height:44px;
}
.wp-block-button__link:hover, .btn:hover{background:var(--amber-dark) !important; transform:translateY(-2px); box-shadow:var(--shadow-md);}
.btn-outline{background:transparent !important; color:#fff !important; border:1.5px solid rgba(255,255,255,.5) !important;}
.btn-outline:hover{background:rgba(255,255,255,.1) !important;}

/* ===== Single post / page content ===== */
.entry-content, .wp-block-post-content{
  max-width:var(--content-w);
  margin:0 auto;
  font-size:1.05rem;
  line-height:1.8;
}
.wp-block-post-title, .entry-title{
  max-width:var(--content-w);
  margin:0 auto var(--space-2);
  font-size:clamp(1.6rem,4vw,2.3rem) !important;
}
.entry-content h2, .wp-block-post-content h2{
  font-size:1.45rem !important;
  margin-top:var(--space-5) !important;
  margin-bottom:var(--space-2) !important;
  padding-top:var(--space-2);
  border-top:2px solid var(--gray-200);
  color:var(--navy-dark) !important;
}
.entry-content h2:first-of-type, .wp-block-post-content h2:first-of-type{border-top:none; padding-top:0;}
.entry-content p, .wp-block-post-content p{margin-bottom:1.1em;}

.post-lede{
  background:var(--gray-100);
  border:1px solid var(--gray-200);
  border-left:4px solid var(--amber);
  border-radius:var(--radius-sm);
  padding:18px 20px;
  font-size:.96rem;
  color:var(--ink-soft);
  margin-bottom:var(--space-3);
}
.post-figure{margin:var(--space-3) 0;}
.post-figure img{border-radius:var(--radius-md); box-shadow:var(--shadow-sm); width:100%;}

/* Tables */
table.compare-table{
  width:100%;
  border-collapse:collapse;
  margin:var(--space-2) 0 var(--space-3);
  font-size:.94rem;
  box-shadow:var(--shadow-sm);
  border-radius:var(--radius-sm);
  overflow:hidden;
}
table.compare-table th{
  background:var(--navy);
  color:#fff;
  font-weight:600;
  padding:12px 14px;
  text-align:left;
}
table.compare-table td{
  padding:12px 14px;
  border-bottom:1px solid var(--gray-200);
  background:var(--surface);
}
table.compare-table tr:last-child td{border-bottom:none;}
table.compare-table tr:nth-child(even) td{background:var(--gray-100);}

/* Lists */
ul.check-list, ol.step-list{
  margin:var(--space-2) 0 var(--space-3);
  padding-left:0;
  list-style:none;
}
ul.check-list li, ol.step-list li{
  position:relative;
  padding:10px 14px 10px 40px;
  margin-bottom:6px;
  background:var(--surface);
  border:1px solid var(--gray-200);
  border-radius:var(--radius-sm);
  font-size:.95rem;
}
ul.check-list li::before{
  content:"✓";
  position:absolute; left:14px; top:9px;
  color:var(--amber-dark); font-weight:800;
}
ol.step-list{counter-reset:step;}
ol.step-list li::before{
  counter-increment:step;
  content:counter(step);
  position:absolute; left:10px; top:8px;
  width:22px; height:22px; border-radius:50%;
  background:var(--navy); color:#fff;
  font-size:.78rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}

/* Callout / blockquote */
blockquote.callout, .entry-content blockquote{
  background:#fff7e6;
  border-left:4px solid var(--amber);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  padding:16px 20px;
  margin:var(--space-3) 0;
  font-size:.95rem;
  color:var(--ink-soft);
}
blockquote.callout p{margin:0;}

/* BAC chart */
.bac-chart{margin:var(--space-3) 0; display:flex; flex-direction:column; gap:14px;}
.bac-row{display:grid; grid-template-columns:120px 1fr; gap:4px 14px; align-items:center;}
.bac-label{font-weight:700; font-size:.88rem; color:var(--navy-dark);}
.bac-track{grid-column:2; background:var(--gray-200); border-radius:999px; height:14px; overflow:hidden;}
.bac-bar{height:100%; border-radius:999px;}
.bac-b1{background:linear-gradient(90deg,#f5c563,var(--amber));}
.bac-b2{background:linear-gradient(90deg,var(--amber),#e07a3d);}
.bac-b3{background:linear-gradient(90deg,#e07a3d,#c23b3b);}
.bac-desc{grid-column:2; font-size:.82rem; color:var(--gray-600);}

/* Legal / AI notice (footer bar injected on every page) */
.site-legal-bar{
  background:var(--navy-deep);
  color:#aab7c6;
  font-size:.8rem;
  padding:22px 20px;
  text-align:center;
  line-height:1.7;
}
.site-legal-bar a{color:#e7edf5; text-decoration:underline;}
.site-legal-bar .legal-links{margin-top:6px;}
.site-legal-bar .legal-links a{margin:0 8px;}

/* Responsive */
@media (max-width:782px){
  .bac-row{grid-template-columns:1fr;}
  .bac-track, .bac-desc{grid-column:1;}
}
