/*
Theme Name: EnterKR
Description: enterkr.com 전용 경량 테마. 외부 JS·폰트·CDN 0. 화이트 베이스 + 스카이블루.
Version: 1.0
Author: EnterKR
*/

/* 색: hex는 --c1/--c2 두 건만. 나머지는 전부 color-mix 파생. */
:root{
  --c1:#0ea5e9;              /* 스카이블루 (애터미 CI 계열의 밝고 깨끗한 톤) */
  --c2:#0f172a;              /* 잉크 */

  --c1-dark: color-mix(in srgb, var(--c1) 78%, var(--c2));
  --c1-deep: color-mix(in srgb, var(--c1) 60%, var(--c2));
  --c1-soft: color-mix(in srgb, var(--c1) 12%, #fff);
  --c1-mid:  color-mix(in srgb, var(--c1) 30%, #fff);
  --c1-line: color-mix(in srgb, var(--c1) 22%, #fff);

  --ink:      var(--c2);
  --ink-soft: color-mix(in srgb, var(--c2) 68%, #fff);
  --ink-mute: color-mix(in srgb, var(--c2) 50%, #fff);
  --line:     color-mix(in srgb, var(--c2) 13%, #fff);
  --bg:       #fff;
  --bg-alt:   color-mix(in srgb, var(--c1) 5%, #fff);

  --wrap:1080px;
  --r:10px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  overflow-wrap:break-word;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--c1-dark);text-underline-offset:2px}
a:hover{color:var(--c1-deep)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}

/* 건너뛰기 링크 — WCAG */
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;z-index:100;background:#fff;padding:10px 14px;border:2px solid var(--c1-dark);border-radius:var(--r)}
:focus-visible{outline:3px solid var(--c1-dark);outline-offset:2px}

/* 헤더 */
.site-head{border-bottom:1px solid var(--line);background:#fff}
.head-row{display:flex;align-items:center;gap:16px;min-height:64px;flex-wrap:wrap}
.brand{font-weight:800;font-size:20px;letter-spacing:-.02em;color:var(--ink);text-decoration:none;flex:0 0 auto}
.brand span{color:var(--c1-dark)}
.tagline{font-size:12px;color:var(--ink-mute);flex:1 1 auto;min-width:0}
.nav{margin-left:auto;flex:0 0 auto}
.nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0}
.nav a{display:block;padding:8px 11px;font-size:14px;font-weight:600;color:var(--ink-soft);text-decoration:none;border-radius:8px}
.nav a:hover,.nav a:focus-visible{background:var(--c1-soft);color:var(--c1-deep)}
.nav .current-menu-item>a{color:var(--c1-deep);background:var(--c1-soft)}

/* 히어로 */
.hero{background:var(--bg-alt);border-bottom:1px solid var(--c1-line);padding:44px 0}
.hero h1{margin:0 0 12px;font-size:32px;line-height:1.25;letter-spacing:-.02em}
.hero p{margin:0 0 20px;font-size:17px;color:var(--ink-soft);max-width:60ch}

/* 버튼 */
.btn{display:inline-block;padding:12px 22px;border-radius:var(--r);font-weight:700;font-size:15px;text-decoration:none;border:1px solid transparent}
.btn-primary{background:var(--c1-dark);color:#fff}
.btn-primary:hover{background:var(--c1-deep);color:#fff}
.btn-ghost{background:#fff;color:var(--c1-deep);border-color:var(--c1-line)}
.btn-ghost:hover{background:var(--c1-soft);color:var(--c1-deep)}

/* 본문 */
main{padding:36px 0 8px}
h1,h2,h3{line-height:1.3;letter-spacing:-.01em}
.entry h2{margin:34px 0 12px;font-size:23px;padding-bottom:7px;border-bottom:2px solid var(--c1-line)}
.entry h3{margin:26px 0 10px;font-size:18px}
.entry p{margin:0 0 16px}
.entry ul,.entry ol{margin:0 0 16px;padding-left:22px}
.entry li{margin:6px 0}
.entry blockquote{margin:20px 0;padding:12px 18px;border-left:4px solid var(--c1-mid);background:var(--bg-alt);border-radius:0 var(--r) var(--r) 0}
.entry blockquote p:last-child{margin:0}

.page-title{font-size:29px;margin:0 0 8px}
.meta{font-size:13px;color:var(--ink-mute);margin:0 0 22px}

/* 표: 래퍼 overflow 기본 visible, 넘칠 때만 .is-scrollable */
.tw{margin:20px 0;overflow-x:visible}
.tw.is-scrollable{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r)}
table{border-collapse:collapse;width:100%;font-size:14.5px}
th,td{padding:10px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}
th{background:var(--c1-soft);font-weight:700}

/* 카드 목록 */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:24px 0}
.card{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;background:#fff}
.card h2,.card h3{margin:0 0 7px;font-size:17px}
.card h2 a,.card h3 a{color:var(--ink);text-decoration:none}
.card h2 a:hover,.card h3 a:hover{color:var(--c1-deep)}
.card p{margin:0;font-size:14px;color:var(--ink-soft)}

/* 국가 선택 (가입 안내) */
.countries{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:22px 0}
.country{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border:1px solid var(--c1-line);border-radius:var(--r);background:#fff;text-decoration:none;color:var(--ink);font-weight:600}
.country:hover,.country:focus-visible{background:var(--c1-soft);border-color:var(--c1-mid);color:var(--c1-deep)}
.country .go{font-size:13px;color:var(--c1-dark);font-weight:700;white-space:nowrap}

/* 알림 박스 */
.note{padding:14px 18px;border-radius:var(--r);background:var(--bg-alt);border:1px solid var(--c1-line);margin:20px 0;font-size:14.5px}
.note strong{color:var(--c1-deep)}
.note p:last-child{margin:0}
.note ul{margin:8px 0 0;padding-left:20px}

/* CTA */
.cta{margin:34px 0 10px;padding:22px;border:1px solid var(--c1-line);border-radius:var(--r);background:var(--bg-alt)}
.cta h2{margin:0 0 8px;font-size:20px;border:0;padding:0}
.cta p{margin:0 0 16px;color:var(--ink-soft);font-size:15px}

/* 폼 */
.form-row{margin:0 0 16px}
label{display:block;font-weight:600;font-size:14px;margin:0 0 6px}
input[type=text],input[type=email],textarea,select{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r);
  font:inherit;font-size:15px;background:#fff;color:var(--ink)
}
input:focus,textarea:focus,select:focus{border-color:var(--c1);outline:2px solid var(--c1-line);outline-offset:0}
textarea{min-height:150px;resize:vertical}
.hp{position:absolute;left:-9999px}
.msg{padding:12px 16px;border-radius:var(--r);margin:0 0 18px;font-size:14.5px}
.msg-ok{background:var(--c1-soft);border:1px solid var(--c1-mid);color:var(--c1-deep)}
.msg-err{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}

/* 푸터 */
.site-foot{margin-top:44px;padding:26px 0;border-top:1px solid var(--line);background:var(--bg-alt);font-size:13.5px;color:var(--ink-soft)}
.site-foot p{margin:0 0 8px}
.site-foot a{color:var(--c1-deep)}
.foot-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:14px;margin:0 0 10px;padding:0}
.disclosure{font-size:12.5px;color:var(--ink-mute)}

/* 대표 이미지 — aspect-ratio로 예약 높이를 잡아 CLS 0 유지 */
.post-hero{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);border:1px solid var(--line);margin:0 0 24px;background:var(--bg-alt)}
.card-thumb{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:8px;margin:0 0 10px;background:var(--bg-alt)}

/* 페이지네이션 */
.pager{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}
.pager a,.pager span{padding:8px 13px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:14px}
.pager .current{background:var(--c1-dark);color:#fff;border-color:var(--c1-dark)}

@media(max-width:640px){
  .hero{padding:32px 0}
  .hero h1{font-size:26px}
  .hero p{font-size:16px}
  .page-title{font-size:24px}
  .entry h2{font-size:20px}
  .head-row{min-height:0;padding:12px 0;gap:8px}
  .tagline{flex-basis:100%;order:3}
  .nav{margin-left:0;flex-basis:100%;order:2}
  .nav ul{gap:2px}
  .nav a{padding:7px 9px;font-size:13.5px}
}
