/*
 * ADFEEL Kit — 섹션 모양.
 * 규칙: 색·둥글기·폭은 여기에 직접 적지 않고 theme.json 이 만든 이름만 씁니다.
 *   색      var(--wp--preset--color--…)      base·contrast·accent-1~6·on-dark…
 *   글자    var(--wp--preset--font-size--…)   small·medium·large·x-large·xx-large
 *   둥글기  var(--wp--custom--radius)         섹션 위아래 여백  var(--wp--custom--section-gap)
 * → 디자인을 바꿀 때는 자식 테마 theme.json 한 곳만 고칩니다. 이 파일은 모든 사이트가 함께 씁니다.
 */

/* ── 바탕 ─────────────────────────────────────────── */
html { scroll-behavior: smooth; }
/* 한글은 낱말 단위로 줄바꿈 (워드프레스 일부 블록이 글자 단위로 바꾸는 것을 되돌림). 긴 주소 같은 것은 넘치지 않게 꺾습니다. */
body, .wp-block-column, .wp-block-group, .wp-block-heading, .wp-block-button__link { word-break: keep-all; overflow-wrap: break-word; }
/* 줄바꿈은 브라우저 기본 방식으로 (부모 테마의 text-wrap: pretty 는 줄 나눔 위치를 바꿔 원본과 달라집니다) */
.wp-site-blocks p, .editor-styles-wrapper p { text-wrap: wrap; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-block-post-content > .ak-sec, .wp-block-post-content > .ak-diag { margin-block-start: 0; }
.wp-site-blocks :focus-visible { outline: 3px solid color-mix(in srgb, var(--wp--preset--color--accent-1) 55%, #fff); outline-offset: 2px; }

/* ── 알림 띠 ──────────────────────────────────────── */
.ak-bar { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--on-dark); font-size: 13px; text-align: center; padding: 6px 12px; letter-spacing: .02em; }
.ak-bar p { margin: 0; }
.ak-bar strong { color: var(--wp--preset--color--on-dark-accent); }

/* ── 헤더 (스크롤해도 위에 붙어 있음) ─────────────── */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 10; }
/* 흐림 효과는 헤더 자체가 아니라 뒤판(::before)에 겁니다 — 헤더에 직접 걸면 모바일 메뉴(전체 화면)가 헤더 안에 갇힙니다 */
.ak-header { position: relative; border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.ak-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.ak-header .ak-nav { min-height: 64px; align-items: center; gap: 16px; }
.ak-header .ak-nav > * { margin: 0; }
.ak-logo { font-weight: 800; font-size: 20px; letter-spacing: -.02em; line-height: 1.7; }
.ak-logo a, .ak-logo a:hover { color: inherit; text-decoration: none; }
.ak-header .wp-block-navigation { font-size: 15px; font-weight: 600; gap: 28px; }
.ak-header .wp-block-navigation .wp-block-navigation__container { gap: 28px; }
.ak-header .wp-block-navigation a:hover, .ak-header .wp-block-navigation a:focus-visible { color: var(--wp--preset--color--accent-1); text-decoration: none; }
.ak-header .wp-block-navigation__responsive-container-open { border: 1px solid var(--wp--preset--color--accent-6); border-radius: 8px; padding: 6px 12px; font-size: 14px; font-weight: 600; color: var(--wp--preset--color--contrast); }
.ak-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open { background-color: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); padding: 14px 24px 24px; }
/* 펼친 메뉴: 항목을 화면 폭에 맞춰 왼쪽부터, 줄로 구분 (원본의 펼침 메뉴와 같은 모양) */
.ak-header .wp-block-navigation .is-menu-open, .ak-header .wp-block-navigation .is-menu-open .wp-block-navigation__container { --navigation-layout-justification-setting: stretch; --navigation-layout-justify: flex-start; }
.ak-header .wp-block-navigation .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px; }
.ak-header .wp-block-navigation .is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; }
.ak-header .wp-block-navigation .is-menu-open .wp-block-navigation-item { border-top: 1px solid var(--wp--preset--color--accent-6); }
.ak-header .wp-block-navigation .is-menu-open .wp-block-navigation-item:last-child { border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.ak-header .wp-block-navigation .is-menu-open .wp-block-navigation-item__content { display: block; width: 100%; padding: 14px 0; font-size: 16px; }
.ak-header .wp-block-navigation__responsive-container-close { border: 1px solid var(--wp--preset--color--accent-6); border-radius: 8px; padding: 6px 12px; font-size: 14px; font-weight: 600; top: 2px; }
/* 좁은 화면 기준을 원본과 같은 820px 로 (워드프레스 기본은 600px) */
@media (max-width: 820px) {
  .ak-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
  .ak-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
}

/* ── 섹션 공통 ────────────────────────────────────── */
.ak-sec { padding-block: var(--wp--custom--section-gap); }
.ak-sec > * { margin-block-start: 0; }
.ak-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .08em; color: var(--wp--preset--color--accent-1); line-height: calc(var(--wp--preset--font-size--medium) * 1.7); }
.ak-sec > .ak-eyebrow + .wp-block-heading, .ak-split > .wp-block-column > .ak-eyebrow + .wp-block-heading { margin-block-start: 6px; }
.ak-sec > .wp-block-heading + *, .ak-split > .wp-block-column > .wp-block-heading + * { margin-block-start: 36px; }
mark.has-inline-color { background: none; }

/* ── 메인 배너 ────────────────────────────────────── */
.ak-hero { padding-block: calc(var(--wp--custom--section-gap) * 1.3334) calc(var(--wp--custom--section-gap) * 1.1112); }
.ak-hero > .ak-tag { display: inline-block; font-size: 13px; font-weight: 700; line-height: 1.7; color: var(--wp--preset--color--accent-2); background: var(--wp--preset--color--accent-3); padding: 4px 12px; border-radius: 999px; }
.ak-hero > h1.wp-block-heading { margin-block-start: 20px; max-width: 760px; }
.ak-hero > .ak-lead { margin-block-start: 22px; max-width: 560px; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--accent-4); }
.ak-hero > .wp-block-buttons { margin-block-start: 34px; gap: 12px; }
.wp-block-button__link { transition: transform .15s, background-color .15s, border-color .15s; }
.wp-block-button__link:hover { transform: translateY(-2px); }

/* ── 카드 묶음 ────────────────────────────────────── */
.wp-block-group.ak-grid { gap: 20px; }
.ak-card { background: var(--wp--preset--color--accent-5); border: 1px solid var(--wp--preset--color--accent-6); border-radius: var(--wp--custom--radius); padding: 28px; }
.ak-card > * { margin-block: 0; }
.ak-card > .ak-num { font-size: 13px; font-weight: 800; color: var(--wp--preset--color--accent-1); line-height: calc(var(--wp--preset--font-size--medium) * 1.7); }
.ak-card > h3.wp-block-heading { margin-block: 8px; line-height: 1.7; font-weight: 700; }
.ak-card > p:not(.ak-num) { font-size: 15px; color: var(--wp--preset--color--accent-4); }

.ak-sec > .ak-sec-lead { margin-block-start: 14px; max-width: 720px; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--accent-4); }
.ak-sec > .ak-sec-lead + * { margin-block-start: 36px; }
.ak-more { font-size: 15px; font-weight: 700; }
.ak-more a { color: var(--wp--preset--color--accent-1); text-decoration: none; }
.ak-more a:hover, .ak-more a:focus-visible { color: var(--wp--preset--color--accent-2); text-decoration: underline; text-underline-offset: 3px; }
.ak-card > .ak-more { margin-block-start: 14px; }
.ak-sec > .ak-more-all { margin-block-start: 24px; }

/* ── 나뉜 첫 화면 (왼쪽 어두움 · 가운데 · 오른쪽 옅음) ── */
.ak-hsplit { padding: 0; margin-inline: calc(var(--wp--style--root--padding-left, 24px) * -1) calc(var(--wp--style--root--padding-right, 24px) * -1); }
.wp-block-post-content > .ak-hsplit { margin-block-start: 0; max-width: none; }
.wp-block-group.ak-hs { gap: 0; grid-template-columns: 1fr 1.05fr 1fr; align-items: stretch; }
.ak-hs > * { margin: 0; min-width: 0; }
.ak-hs-side, .ak-hs-mid { display: flex; flex-direction: column; justify-content: center; padding: clamp(40px, 6vw, 88px) clamp(24px, 3.2vw, 56px); min-height: clamp(380px, 42vw, 520px); box-sizing: border-box; }
.ak-hs-side > *, .ak-hs-mid > * { margin-block: 0; }
.ak-hs-a { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--on-dark); }
.ak-hs-b { background: var(--wp--preset--color--accent-3); color: var(--wp--preset--color--contrast); text-align: right; align-items: flex-end; }
.ak-hs-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .28em; color: var(--wp--preset--color--accent-1); }
.ak-hs-a .ak-hs-eyebrow { color: var(--wp--preset--color--on-dark-accent); }
.ak-hs-side > .ak-hs-name { margin-block-start: 18px; font-size: clamp(18px, 1.8vw, 22px); font-weight: 600; }
.ak-hs-side > h2.ak-hs-big { margin-block-start: 4px; font-size: clamp(44px, 6vw, 76px); font-weight: 800; line-height: 1.15; letter-spacing: -.03em; color: var(--wp--preset--color--accent-1); }
.ak-hs-a > h2.ak-hs-big { color: var(--wp--preset--color--on-dark-accent); }
.ak-hs-side > .ak-hs-text { margin-block-start: 20px; padding-block-start: 18px; position: relative; font-size: clamp(15px, 1.4vw, 18px); font-weight: 600; line-height: 1.6; max-width: 15em; }
.ak-hs-side > .ak-hs-text::before { content: ""; position: absolute; top: 0; left: 0; width: 32px; height: 2px; background: currentColor; opacity: .45; }
.ak-hs-b > .ak-hs-text::before { left: auto; right: 0; }
.ak-hs-side > .ak-hs-note { margin-block-start: 18px; font-size: 13px; line-height: 1.7; opacity: .78; }
.ak-hs-side > .ak-more { margin-block-start: 18px; }
.ak-hs-a .ak-more a { color: var(--wp--preset--color--on-dark-accent); }
.ak-hs-mid { background: var(--wp--preset--color--base); text-align: center; align-items: center; }
.ak-hs-mid > .ak-tag { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .12em; line-height: 1.7; color: var(--wp--preset--color--accent-2); }
.ak-hs-mid > h1.wp-block-heading { margin-block-start: 14px; font-size: clamp(26px, 3vw, 40px); line-height: 1.45; font-weight: 700; letter-spacing: -.02em; }
.ak-hs-mid > .ak-lead { margin-block-start: 16px; font-size: 15px; color: var(--wp--preset--color--accent-4); max-width: 22em; }
.ak-hs-mid > .ak-hs-brand { margin-block-start: 26px; padding-block-start: 22px; border-top: 1px solid var(--wp--preset--color--accent-6); font-size: clamp(22px, 2.4vw, 30px); font-weight: 800; letter-spacing: .02em; min-width: 9em; }
.ak-hs-mid > .wp-block-buttons { margin-block-start: 28px; gap: 10px; justify-content: center; }

/* ── 특징 띠 ──────────────────────────────────────── */
.ak-fstrip { padding-block: 0; border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.wp-block-post-content > .ak-fstrip { margin-block-start: 0; }
.wp-block-group.ak-fs { gap: 0; }
.ak-fs-item { padding: 26px 20px; border-left: 1px solid var(--wp--preset--color--accent-6); }
.ak-fs-item:first-child { border-left: 0; padding-left: 0; }
.ak-fs-item > * { margin-block: 0; }
.ak-fs-title { font-weight: 700; line-height: 1.5; }
.ak-fs-title::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--accent-1); margin-right: 10px; vertical-align: .12em; }
.ak-fs-text { margin-block-start: 4px; padding-left: 18px; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--accent-4); }

/* ── 하위 페이지 머리 · 글 · 묻고 답하기 ──────────── */
.ak-phead { padding-block: calc(var(--wp--custom--section-gap) * .9) calc(var(--wp--custom--section-gap) * .5); border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.ak-phead > h1.wp-block-heading { margin-block-start: 8px; font-size: clamp(30px, 4.4vw, 46px); }
.ak-phead > .ak-lead { margin-block-start: 16px; max-width: 680px; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--accent-4); }
.ak-prose { max-width: 760px; }
.ak-prose > p { margin-block: 0 1.1em; font-size: 17px; line-height: 1.85; }
.ak-prose > p:last-child { margin-block-end: 0; }
.ak-text > .ak-more { margin-block-start: 22px; }
.ak-faq { max-width: 860px; border-top: 1px solid var(--wp--preset--color--accent-6); }
.ak-faq > * { margin-block: 0; }
.ak-faq-item { border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.ak-faq-item > summary { cursor: pointer; padding: 18px 36px 18px 0; font-weight: 700; font-size: 17px; line-height: 1.6; list-style: none; position: relative; }
.ak-faq-item > summary::-webkit-details-marker { display: none; }
.ak-faq-item > summary::after { content: "+"; position: absolute; right: 6px; top: 14px; font-size: 22px; font-weight: 400; color: var(--wp--preset--color--accent-1); }
.ak-faq-item[open] > summary::after { content: "−"; }
.ak-faq-item > p { margin: 0; padding: 0 0 20px; color: var(--wp--preset--color--accent-4); line-height: 1.8; }

/* 폭을 줄인 글 덩어리는 가운데가 아니라 왼쪽에 붙입니다 (워드프레스의 폭 제한 배치는 좁은 것을 가운데로 보냄) */
.ak-sec > .ak-sec-lead, .ak-sec > .ak-prose, .ak-sec > .ak-faq { margin-left: 0 !important; margin-right: auto !important; }

/* ── 소개 + 숫자 (어두운 바탕) ────────────────────── */
.ak-dark { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--on-dark); }
.ak-dark .ak-eyebrow { color: var(--wp--preset--color--on-dark-accent); }
.ak-dark p:not(.ak-eyebrow):not(.ak-stat-num) { color: var(--wp--preset--color--on-dark-muted); }
.wp-block-columns.ak-split { gap: 40px; margin-block-end: 0; }
.ak-dark .wp-block-columns.ak-split { gap: 48px; }
.ak-split > .wp-block-column > :first-child { margin-block-start: 0; }
.ak-split > .wp-block-column > p { margin-block-start: 0; }
.wp-block-group.ak-stats { gap: 16px; }
.ak-stat { border: 1px solid color-mix(in srgb, var(--wp--preset--color--on-dark) 18%, transparent); border-radius: var(--wp--custom--radius); padding: 22px; }
.ak-stat > * { margin-block: 0; }
.ak-stat > .ak-stat-num { font-size: 34px; font-weight: 700; letter-spacing: -.03em; line-height: 1.1; }
.ak-stat > .ak-stat-label { font-size: var(--wp--preset--font-size--small); line-height: calc(var(--wp--preset--font-size--medium) * 1.7); }

/* ── 문의 ─────────────────────────────────────────── */
ul.ak-info { list-style: none; margin: 0; padding: 0; }
ul.ak-info li { display: flex; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--wp--preset--color--accent-6); font-size: 15px; margin: 0; }
ul.ak-info li strong { min-width: 72px; font-weight: 700; }
.ak-sec .wpcf7 form { background: var(--wp--preset--color--accent-5); border: 1px solid var(--wp--preset--color--accent-6); border-radius: var(--wp--custom--radius); padding: 28px; display: grid; gap: 14px; }
.ak-sec .wpcf7 form > p { margin: 0; }
.ak-sec .wpcf7 form .hidden-fields-container { display: none; }
.ak-sec .wpcf7 .wpcf7-turnstile { min-height: 65px; }   /* 캡차가 뜨는 동안 폼 높이가 출렁이지 않게 */
.ak-sec .wpcf7 label { display: grid; gap: 6px; font-size: var(--wp--preset--font-size--small); font-weight: 700; }
.ak-sec .wpcf7 label br { display: none; }
.ak-sec .wpcf7 input:not([type=submit]):not([type=checkbox]), .ak-sec .wpcf7 textarea { font: inherit; font-weight: 400; padding: 11px 13px; border: 1px solid var(--wp--preset--color--accent-6); border-radius: 8px; background: color-mix(in srgb, var(--wp--preset--color--accent-5) 60%, var(--wp--preset--color--base)); color: var(--wp--preset--color--contrast); width: 100%; box-sizing: border-box; }
.ak-sec .wpcf7 select { font: inherit; font-weight: 400; padding: 11px 13px; border: 1px solid var(--wp--preset--color--accent-6); border-radius: 8px; background: color-mix(in srgb, var(--wp--preset--color--accent-5) 60%, var(--wp--preset--color--base)); color: var(--wp--preset--color--contrast); width: 100%; box-sizing: border-box; }
.ak-sec .wpcf7 .ak-field { display: grid; gap: 6px; font-size: var(--wp--preset--font-size--small); }
.ak-sec .wpcf7 .ak-field-label { font-weight: 700; }
.ak-sec .wpcf7 .wpcf7-checkbox { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.ak-sec .wpcf7 .wpcf7-checkbox .wpcf7-list-item { margin: 0; }
.ak-sec .wpcf7 .wpcf7-checkbox label { display: flex; gap: 8px; align-items: center; font-weight: 400; font-size: 15px; }
.ak-sec .wpcf7 .wpcf7-checkbox input { accent-color: var(--wp--preset--color--accent-1); width: 16px; height: 16px; }
.ak-sec .wpcf7 textarea { min-height: 110px; height: 110px; resize: vertical; display: block; }
.ak-sec .wpcf7 .wpcf7-acceptance { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--accent-4); }
.ak-sec .wpcf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.ak-sec .wpcf7 .wpcf7-acceptance label { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; }
.ak-sec .wpcf7 .wpcf7-acceptance input { margin-top: .4em; accent-color: var(--wp--preset--color--accent-1); }
.ak-sec .wpcf7 input[type=submit] { width: 100%; font: inherit; font-size: 15px; font-weight: 700; line-height: normal; padding: 13px 26px; border: 2px solid var(--wp--preset--color--accent-1); border-radius: var(--wp--custom--radius-small); background: var(--wp--preset--color--accent-1); color: #fff; cursor: pointer; transition: transform .15s, background-color .15s, border-color .15s; }
.ak-sec .wpcf7 input[type=submit]:hover { background: var(--wp--preset--color--accent-2); border-color: var(--wp--preset--color--accent-2); transform: translateY(-2px); }
.ak-sec .wpcf7 input[type=submit]:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.ak-sec .wpcf7 .wpcf7-spinner { position: absolute; margin: 0; }
.ak-sec .wpcf7 form .wpcf7-response-output { margin: 0; padding: 0; border: 0; font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--accent-2); }
.ak-sec .wpcf7 form.sent .wpcf7-response-output { color: var(--wp--preset--color--success); }
.ak-sec .wpcf7 .wpcf7-not-valid-tip { font-weight: 400; font-size: 13px; color: var(--wp--preset--color--accent-2); }

/* ── 점검 정보 (시험용) ───────────────────────────── */
.ak-diag { padding-block: 40px 64px; }
.ak-diag-box { background: var(--wp--preset--color--accent-5); border: 1px dashed color-mix(in srgb, var(--wp--preset--color--accent-6) 88%, var(--wp--preset--color--contrast)); border-radius: var(--wp--custom--radius); padding: 24px 28px; }
.ak-diag-box > * { margin-block: 0; }
.ak-diag-box > h2.ak-diag-title { font-size: var(--wp--preset--font-size--medium); font-weight: 700; letter-spacing: 0; line-height: 1.7; margin-block-end: 12px; }
.ak-diag-row { display: grid; grid-template-columns: 140px 1fr; gap: 0 16px; font-size: var(--wp--preset--font-size--small); }
.ak-diag-row + .ak-diag-row { margin-block-start: 6px; }
.ak-diag-row > * { margin: 0; }
.ak-diag-k { color: var(--wp--preset--color--accent-4); font-weight: 600; }
.ak-diag-v { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; word-break: break-all; }

/* ── 푸터 ─────────────────────────────────────────── */
.ak-footer { border-top: 1px solid var(--wp--preset--color--accent-6); padding-block: 28px; font-size: 13px; color: var(--wp--preset--color--accent-4); text-align: center; }
.ak-footer p { margin: 0; }

/* ── 좁은 화면 (원본 기준 820px) ──────────────────── */
@media (max-width: 820px) {
  .ak-sec { padding-block: calc(var(--wp--custom--section-gap) * .7778); }
  .ak-hero { padding-block: calc(var(--wp--custom--section-gap) * .8889) calc(var(--wp--custom--section-gap) * .7778); }
  .wp-block-group.ak-grid { grid-template-columns: 1fr; }
  .wp-block-group.ak-hs { grid-template-columns: 1fr 1fr; }
  .ak-hs > .ak-hs-mid { grid-column: 1 / -1; order: -1; min-height: 0; padding-block: 48px 40px; }
  .ak-hs-side { min-height: 0; padding: 32px 20px; }
  .wp-block-group.ak-fs { grid-template-columns: 1fr 1fr; }
  .ak-fs-item { padding: 18px 14px; }
  .ak-fs-item:nth-child(odd) { border-left: 0; padding-left: 0; }
  .ak-fs-item:nth-child(n+3) { border-top: 1px solid var(--wp--preset--color--accent-6); }
  .wp-block-columns.ak-split { flex-wrap: wrap !important; }
  .wp-block-columns.ak-split > .wp-block-column { flex-basis: 100% !important; }
  .ak-diag-row { grid-template-columns: 1fr; }
  .ak-diag-row { gap: 2px; }
  .ak-diag-row + .ak-diag-row { margin-block-start: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .wp-block-button__link, .ak-sec .wpcf7 input[type=submit] { transition: none; }
}
