/* [aks-scoped] 학교 리스트 — 상세(.aks 토큰, school.css)와 같은 언어. school.css 뒤에 로드된다.
   버블·탑바·히어로·유리 전환은 school.css 공용 규칙을 그대로 쓰고, 여기는 리스트 전용(.akls-)만. */

/* ── 크롬: 사이트 헤더·모바일 5탭 전부 그대로(사장님 2026-08-25 2차 "헤더·푸터 원래대로").
   페이지 끝 여백 — 버블이 사이트 푸터에 바로 붙지 않게. ── */
.aks.akls-page { margin-bottom: 56px; }

/* V2.2: 위저드 ready 핸드오프의 #schools 앵커 착지 — 고정 헤더가 섹션 상단을 덮지 않게. */
.aks #schools { scroll-margin-top: calc(var(--akls-stick, 70px) + 12px); }

/* ── 필터바 — 카드 그리드 바로 위. 스크롤로 지나가면 고정 헤더 밑에 '얇게' 붙어 같이 내려온다.
   top 은 school-list.js 가 고정 헤더(allo-hd)+관리자바 실측으로 --akls-stick 에 넣는다. ── */
.aks .akls-filterbar { position: sticky; top: var(--akls-stick, 70px); z-index: 45;
  display: flex; align-items: center; gap: 9px; padding: 10px 12px;
  border-radius: 16px; background: #fff; box-shadow: 0 0 0 .5px rgba(26, 23, 16, .07);
  transition: box-shadow .18s, border-radius .18s, padding .18s; }
/* stuck 에도 라운드는 일정하게(사장님 2026-08-25 3차 ⑤ — 위만 각지면 깨져 보인다) */
.aks .akls-filterbar.stuck { border-radius: 16px; padding: 7px 12px;
  background: rgba(251, 246, 240, .82);
  -webkit-backdrop-filter: blur(28px) saturate(190%); backdrop-filter: blur(28px) saturate(190%);
  box-shadow: 0 10px 26px -18px rgba(26, 23, 16, .35), 0 0 0 .5px rgba(26, 23, 16, .09); }
.aks .akls-fsp { flex: 1; }

/* ── 도시 칩(PC 전용 ⑥ — 공간이 넉넉해 펼쳐 보여준다. 모바일은 드롭다운) ── */
.aks .akls-citychips { display: flex; align-items: center; gap: 6px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.aks .akls-citychips::-webkit-scrollbar { display: none; }

/* ── 버튼 상태 고정 — 테마 reset.css [type=button]:hover · Elementor kit button 이 배경·크기를 바꿔
   호버에서 깨졌다(사장님 2026-08-25 3차 ② 실사고). school.css 의 aks-opt 재고정과 같은 수법:
   상태별로 모양 전부를 !important 로 다시 못 박는다. ── */
.aks button.akls-citychip, .aks button.akls-citychip:hover, .aks button.akls-citychip:focus {
  height: 28px !important; min-height: 0 !important; padding: 0 11px !important; margin: 0 !important;
  border: 0 !important; border-radius: 9px !important; background: rgba(26, 23, 16, .05) !important;
  box-shadow: none !important; color: #5E574C !important; font-size: 12px !important; font-weight: 700 !important;
  line-height: 1 !important; text-transform: none !important; display: inline-flex !important;
  align-items: center !important; gap: 5px !important; flex: none !important; }
.aks button.akls-citychip:hover { background: rgba(26, 23, 16, .09) !important; color: #1A1710 !important; }
.aks button.akls-citychip.on, .aks button.akls-citychip.on:hover, .aks button.akls-citychip.on:focus {
  background: #1A1710 !important; color: #fff !important; }
.aks button.akls-citybtn, .aks button.akls-citybtn:hover, .aks button.akls-citybtn:focus {
  height: 32px !important; min-height: 0 !important; padding: 0 11px !important; margin: 0 !important;
  border: 0 !important; border-radius: 10px !important; background: #fff !important;
  box-shadow: inset 0 0 0 .5px rgba(26, 23, 16, .14) !important; color: #5E574C !important;
  font-size: 12.5px !important; line-height: 1 !important; text-transform: none !important;
  display: flex !important; align-items: center !important; gap: 7px !important; }
.aks button.akls-citybtn:hover { box-shadow: inset 0 0 0 1px rgba(26, 23, 16, .22) !important; }
.aks button.akls-cityopt, .aks button.akls-cityopt:hover, .aks button.akls-cityopt:focus {
  width: 100% !important; height: 34px !important; min-height: 0 !important; padding: 0 11px !important;
  margin: 0 !important; border: 0 !important; border-radius: 10px !important; background: none !important;
  box-shadow: none !important; color: #5E574C !important; font-size: 13px !important; font-weight: 700 !important;
  line-height: 1 !important; text-transform: none !important; display: flex !important;
  align-items: center !important; justify-content: space-between !important; gap: 10px !important; text-align: left !important; }
.aks button.akls-cityopt:hover { background: rgba(26, 23, 16, .05) !important; color: #1A1710 !important; }
.aks button.akls-cityopt.on, .aks button.akls-cityopt.on:hover, .aks button.akls-cityopt.on:focus {
  background: #1A1710 !important; color: #fff !important; }
.aks .akls-search { height: 32px; min-width: 150px; flex: 0 1 210px; border-radius: 10px; background: #fff;
  box-shadow: inset 0 0 0 .5px rgba(26, 23, 16, .14); display: flex; align-items: center; gap: 7px; padding: 0 10px; color: #A39C8F; }
.aks .akls-search:focus-within { box-shadow: inset 0 0 0 1.5px #D0530A; color: #D0530A; }
.aks .akls-search input { border: 0; outline: none; background: none; font: inherit; font-size: 13px; color: #1A1710;
  width: 100%; min-width: 0; padding: 0; margin: 0; }
.aks .akls-search input::placeholder { color: #A39C8F; }
.aks .akls-search input::-webkit-search-cancel-button { -webkit-appearance: none; }

/* ── 지역 드롭다운 — 지역이 늘어도 UI 불변(사장님 2026-08-25 "칩 나열은 안 맞아") ── */
.aks .akls-cityset { position: relative; flex: none; }
.aks .akls-citybtn { height: 32px; padding: 0 11px; border-radius: 10px; background: #fff; cursor: pointer;
  box-shadow: inset 0 0 0 .5px rgba(26, 23, 16, .14); display: flex; align-items: center; gap: 7px;
  font-size: 12.5px; color: #5E574C; transition: box-shadow .14s; }
.aks .akls-citybtn:hover { box-shadow: inset 0 0 0 1px rgba(26, 23, 16, .22); }
.aks .akls-citybtn-k { font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #A39C8F; }
.aks .akls-citybtn-v { font-weight: 800; color: #1A1710; }
.aks .akls-citymenu { position: absolute; top: calc(100% + 6px); left: 0; z-index: 40; min-width: 168px;
  border-radius: 14px; background: #fff; padding: 5px;
  box-shadow: 0 0 0 .5px rgba(26, 23, 16, .1), 0 18px 44px -18px rgba(26, 23, 16, .4); }
.aks .akls-cityopt { width: 100%; height: 34px; padding: 0 11px; border-radius: 10px; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  font-size: 13px; font-weight: 700; color: #5E574C; text-align: left; transition: background .12s; }
.aks .akls-cityopt:hover { background: rgba(26, 23, 16, .05); color: #1A1710; }
.aks .akls-cityopt.on { background: #1A1710; color: #fff; }
.aks .akls-ccount { font-size: 10.5px; font-weight: 800; opacity: .55; }

/* ── 히어로(리스트 변형) — 골격은 school.css .aks-hero. 버블 첫 요소라 위 모서리 라운드가 히어로 몫
   (상세의 탑바와 같은 역할 — 사장님 2026-08-25 3차 ①, 톤앤매너 일치) ── */
.aks .akls-hero { height: 430px; border-radius: 22px 22px 0 0; }
.aks .akls-props { display: flex; gap: 9px; margin-top: 20px; }
.aks .akls-prop { flex: 1; border-radius: 15px; background: rgba(255, 255, 255, .1); padding: 12px 14px;
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16); color: #fff; }
.aks .akls-prop-k { font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
.aks .akls-prop-v { font-size: 15.5px; font-weight: 800; letter-spacing: -.03em; margin-top: 6px; line-height: 1.25;
  display: flex; align-items: center; gap: 7px; font-variant-numeric: tabular-nums; text-wrap: pretty; }
.aks .akls-prop-fee { color: #F2751A; }
.aks a.akls-prop { background: rgba(255, 255, 255, .16); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22);
  transition: transform .16s cubic-bezier(.32, .72, 0, 1); }
.aks a.akls-prop:hover { transform: translateY(-1px); color: #fff; }
.aks a.akls-prop .akls-prop-v { font-size: 14.5px; }

/* V2.4b(8/31): 윈터 배너 CSS 삭제 — 마크업과 함께 폐지(리스트 집중). aklsBreath 는 배너 전용이었다. */

/* ── 카드 그리드 ── */
.aks .akls-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 18px; }
.aks .akls-card { position: relative; border-radius: 18px; background: #fff; overflow: hidden; display: flex; flex-direction: column;
  box-shadow: 0 0 0 .5px rgba(26, 23, 16, .07), 0 14px 30px -22px rgba(26, 23, 16, .35);
  transition: transform .16s cubic-bezier(.32, .72, 0, 1), box-shadow .16s; color: inherit; }
/* 호버 = 리프트 + 짙은 그림자 + **주황 테두리** (사장님 2026-08-25 5차 ③) */
.aks .akls-card:hover { transform: translateY(-3px);
  box-shadow: 0 0 0 1.5px #F2751A, 0 22px 44px -22px rgba(26, 23, 16, .42); }
/* 전면 커버 링크 — 카드 전체가 상세로 가는 링크(칩 영역만 z2 로 예외). 시각 요소 없음 */
.aks .akls-cover { position: absolute; inset: 0; z-index: 1; border-radius: 18px; }
.aks .akls-thumb { height: 150px; background: #17140F center/cover no-repeat; position: relative; }
.aks .akls-thumb-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23, 20, 15, 0) 55%, rgba(23, 20, 15, .28) 100%); }
/* 썸네일 배지 — 좌 도시(복귀, 사장님 2026-08-25 2차) · 우 Partner(파트너 학교만) */
.aks .akls-tbadge { position: absolute; top: 10px; height: 24px; padding: 0 10px; border-radius: 8px;
  display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 800;
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.aks .akls-tbadge.city { left: 10px; background: rgba(255, 255, 255, .86); color: #1A1710; font-weight: 700; }
/* 파트너 뱃지 = 주황 그라디언트(사장님 2026-08-25 5차 ④ "앱처럼") */
.aks .akls-tbadge.partner { right: 10px; background: linear-gradient(180deg, #F2751A, #DE5B0B); color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 6px 14px -6px rgba(242, 117, 26, .55); }
.aks .akls-free { color: #146259; font-weight: 800; }
.aks .akls-body { padding: 14px 16px 16px; display: flex; flex-direction: column; flex: 1; }
.aks .akls-badges { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.aks .akls-badge { height: 24px; padding: 0 9px; border-radius: 8px; display: inline-flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 800; }
.aks .akls-badge.city { background: rgba(26, 23, 16, .05); color: #5E574C; font-weight: 700; }
.aks .akls-badge.nat { background: rgba(20, 98, 90, .07); color: #146259; font-weight: 700; max-width: 100%; }
.aks .akls-badge.nat span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aks .akls-name { font-size: 18.5px; font-weight: 800; letter-spacing: -.032em; color: #1A1710; margin: 10px 0 0; line-height: 1.2; }
.aks .akls-body > .akls-name:first-child { margin-top: 0; }
.aks .akls-inst { font-size: 12px; color: #8C857A; margin-top: 3px; }
.aks .akls-rows { margin-top: 11px; border-radius: 12px; background: #FBF6F0; padding: 4px 12px; }
.aks .akls-row { display: flex; align-items: baseline; gap: 9px; padding: 7px 0; font-size: 12.5px; }
.aks .akls-row + .akls-row { border-top: .5px solid rgba(26, 23, 16, .07); }
.aks .akls-row .k { flex: none; width: 84px; font-size: 10.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #A39C8F; }
.aks .akls-row .v { color: #1A1710; min-width: 0; }
.aks .akls-row .v b { font-weight: 800; }
.aks .akls-row .v.teal { color: #146259; font-weight: 700; }
.aks .akls-row .v.wine { color: #8C2F39; font-weight: 800; }
.aks .akls-local { color: #8C857A; font-size: 11.5px; margin-left: 4px; }
/* 하이라이트 칩 — 학교 이름·기관명과 정보 표 사이 (사장님 2026-08-25 3차) */
.aks .akls-chips { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.aks .akls-chip { height: 22px; padding: 0 8px; border-radius: 7px; background: rgba(26, 23, 16, .05); color: #5E574C;
  font-size: 10.5px; font-weight: 700; display: inline-flex; align-items: center; gap: 4px; }
/* 칩 틴트 — 기존 리스트(akl-tt-*)와 같은 팔레트(사장님 2026-08-25 5차 "기존처럼 색상") */
.aks .akls-chip.t-orange { background: rgba(242, 117, 26, .12); color: #D0530A; }
.aks .akls-chip.t-indigo { background: rgba(46, 58, 140, .11); color: #2E3A8C; }
.aks .akls-chip.t-teal { background: rgba(20, 98, 90, .11); color: #146259; }
.aks .akls-chip.t-olive { background: rgba(95, 107, 47, .13); color: #5F6B2F; }
.aks .akls-chip.t-wine { background: rgba(140, 47, 57, .11); color: #8C2F39; }
.aks .akls-chip b { font-weight: 800; }

/* ── 학기 탭 + 일정 패널 — 앱 1.0.0(9) schools.tsx 실측 이식 (termChip/termPanel/termCells/termBar).
   수치·색 전부 앱 StyleSheet 그대로: 칩 h30 r10 흰판+0.5px 링, 선택=잉크 알약+그림자,
   점 5px(상태색), 패널 r14 rgba(26,23,16,.035), 셀 흰 r11, 바 h4, D-day 11px.
   전환 = **순수 CSS 라디오**(.akls-trN:checked ~ …) — JS 없이도 즉시(사장님 5차 ②).
   칩 영역만 커버 링크(z1) 위(z2)라 카드 클릭과 안 겹친다. */
.aks .akls-terms { position: relative; z-index: 2; margin-top: 13px; }
.aks .akls-trad { position: absolute; width: 1px; height: 1px; margin: -1px; opacity: 0; pointer-events: none; }
.aks .akls-tchips { display: flex; gap: 6px; overflow-x: auto; padding: 6px 1px;
  scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none; }
.aks .akls-tchips::-webkit-scrollbar { display: none; }
/* 칩 넘김 화살표 — 칩 줄(패딩 6 + 칩 30) 세로 중앙, 좌/우 끝에 겹쳐 뜬다. JS 가 넘칠 때만 켠다 */
.aks .akls-tnav { position: absolute; top: 10px; z-index: 3; width: 22px; height: 22px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: #5E574C;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 0 0 .5px rgba(26, 23, 16, .14), 0 4px 10px -4px rgba(26, 23, 16, .35);
  -webkit-tap-highlight-color: transparent; }
.aks .akls-tnav[hidden] { display: none; }
.aks .akls-tnav.next { right: -4px; }
.aks .akls-tnav.prev { left: -4px; }
.aks .akls-tnav.prev svg { transform: rotate(180deg); }
.aks label.akls-tchip { flex: none; height: 30px; padding: 0 11px; border-radius: 10px; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px; background: #fff; color: #5E574C; margin: 0;
  font-size: 12px; font-weight: 700; line-height: 1; white-space: nowrap;
  box-shadow: 0 0 0 .5px rgba(26, 23, 16, .09); -webkit-tap-highlight-color: transparent; }
.aks .akls-tdot { width: 5px; height: 5px; border-radius: 3px; flex: none; background: #A39C8F; }
.aks .akls-tchip[data-st="open"] .akls-tdot { background: #146259; }
.aks .akls-tchip[data-st="progress"] .akls-tdot { background: #2E3A8C; }
/* 선택 칩 = 잉크 알약 (라디오 :checked → 형제 .akls-tchips 안의 같은 번호 라벨) */
.aks .akls-tr0:checked ~ .akls-tchips .akls-tc0, .aks .akls-tr1:checked ~ .akls-tchips .akls-tc1,
.aks .akls-tr2:checked ~ .akls-tchips .akls-tc2, .aks .akls-tr3:checked ~ .akls-tchips .akls-tc3,
.aks .akls-tr4:checked ~ .akls-tchips .akls-tc4, .aks .akls-tr5:checked ~ .akls-tchips .akls-tc5 {
  background: #1A1710; color: #fff; box-shadow: 0 0 0 .5px #1A1710, 0 4px 6px rgba(26, 23, 16, .3); }
/* 선택된 잉크 알약 위 점은 밝은 변형(앱 TERM_DOT_ON — brightness(1.6) 사전계산값) */
.aks .akls-tr0:checked ~ .akls-tchips .akls-tc0 .akls-tdot, .aks .akls-tr1:checked ~ .akls-tchips .akls-tc1 .akls-tdot,
.aks .akls-tr2:checked ~ .akls-tchips .akls-tc2 .akls-tdot, .aks .akls-tr3:checked ~ .akls-tchips .akls-tc3 .akls-tdot,
.aks .akls-tr4:checked ~ .akls-tchips .akls-tc4 .akls-tdot, .aks .akls-tr5:checked ~ .akls-tchips .akls-tc5 .akls-tdot { background: #FFFAE5; }
.aks .akls-tr0:checked ~ .akls-tchips .akls-tc0[data-st="open"] .akls-tdot, .aks .akls-tr1:checked ~ .akls-tchips .akls-tc1[data-st="open"] .akls-tdot,
.aks .akls-tr2:checked ~ .akls-tchips .akls-tc2[data-st="open"] .akls-tdot, .aks .akls-tr3:checked ~ .akls-tchips .akls-tc3[data-st="open"] .akls-tdot,
.aks .akls-tr4:checked ~ .akls-tchips .akls-tc4[data-st="open"] .akls-tdot, .aks .akls-tr5:checked ~ .akls-tchips .akls-tc5[data-st="open"] .akls-tdot { background: #209D90; }
.aks .akls-tr0:checked ~ .akls-tchips .akls-tc0[data-st="progress"] .akls-tdot, .aks .akls-tr1:checked ~ .akls-tchips .akls-tc1[data-st="progress"] .akls-tdot,
.aks .akls-tr2:checked ~ .akls-tchips .akls-tc2[data-st="progress"] .akls-tdot, .aks .akls-tr3:checked ~ .akls-tchips .akls-tc3[data-st="progress"] .akls-tdot,
.aks .akls-tr4:checked ~ .akls-tchips .akls-tc4[data-st="progress"] .akls-tdot, .aks .akls-tr5:checked ~ .akls-tchips .akls-tc5[data-st="progress"] .akls-tdot { background: #4A5DE0; }
/* 패널 — 선택된 라디오의 짝만 보인다 */
.aks .akls-tpanel { display: none; margin-top: 3px; border-radius: 14px; background: rgba(26, 23, 16, .035);
  padding: 12px; box-shadow: inset 0 0 0 .5px rgba(26, 23, 16, .05); }
.aks .akls-tr0:checked ~ .akls-tp0, .aks .akls-tr1:checked ~ .akls-tp1,
.aks .akls-tr2:checked ~ .akls-tp2, .aks .akls-tr3:checked ~ .akls-tp3,
.aks .akls-tr4:checked ~ .akls-tp4, .aks .akls-tr5:checked ~ .akls-tp5 { display: block; }
.aks .akls-thead { display: flex; align-items: center; gap: 8px; }
.aks .akls-tname { flex: 1; font-size: 14.5px; font-weight: 800; color: #1A1710; letter-spacing: -.027em; }
.aks .akls-ttag { height: 21px; padding: 0 9px; border-radius: 7px; flex: none;
  display: inline-flex; align-items: center; font-size: 10.5px; font-weight: 800; white-space: nowrap; }
.aks .akls-ttag[hidden] { display: none; }
.aks .akls-ttag.st-open { background: rgba(20, 98, 90, .11); color: #146259; }
.aks .akls-ttag.st-progress { background: rgba(46, 58, 140, .11); color: #2E3A8C; }
.aks .akls-ttag.st-closed, .aks .akls-ttag.st-ended { background: rgba(26, 23, 16, .06); color: #A39C8F; }
.aks .akls-tcells { display: flex; gap: 8px; margin-top: 10px; }
.aks .akls-tcell { flex: 1; min-width: 0; border-radius: 11px; background: #fff; padding: 9px 11px;
  box-shadow: inset 0 0 0 .5px rgba(26, 23, 16, .06); }
.aks .akls-tlbl { display: block; font-size: 10px; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; color: #A39C8F; }
/* 날짜 — 좁은 칸·연도 걸친 범위는 줄바꿈 허용(사장님 5차 ⑦ "길면 넘침") */
.aks .akls-tcell b { display: block; font-size: 12px; line-height: 15px; font-weight: 700;
  color: #1A1710; margin-top: 4px; font-variant-numeric: tabular-nums; overflow-wrap: break-word; }
.aks .akls-tbar { display: flex; align-items: center; gap: 7px; margin-top: 10px; }
.aks .akls-tbar[hidden] { display: none; }
.aks .akls-ttrack { flex: 1; height: 4px; border-radius: 2px; background: rgba(26, 23, 16, .09); overflow: hidden; }
.aks .akls-tfill { display: block; height: 4px; border-radius: 2px; width: 4%; background: #146259; }
.aks .akls-tpanel[data-st="progress"] .akls-tfill { background: #2E3A8C; }
.aks .akls-tpanel[data-st="closed"] .akls-tfill, .aks .akls-tpanel[data-st="ended"] .akls-tfill { background: #A39C8F; }
.aks .akls-tnote { flex: none; font-size: 11px; font-weight: 700; color: #8C857A; }
.aks .akls-texp[hidden] { display: none; }

/* CTA — 기본 = 회색(조용), 호버 = 주황(활성) (사장님 2026-08-31 "호버했을때와 안했을때 스타일 바꿔줘"
   — 8/25 5차 ③의 반대로 재확정. 카드 전체가 커버링크라 평소엔 낮게, 올리면 주황으로 살아난다) */
.aks .akls-cta { height: 40px; border-radius: 12px; background: rgba(26, 23, 16, .05);
  display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: #1A1710;
  transition: background .14s, color .14s, box-shadow .14s; margin-top: auto; }
.aks .akls-card .akls-cta { margin-top: 13px; }
.aks .akls-card:hover .akls-cta { background: linear-gradient(180deg, #F2751A, #DE5B0B); color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .26), 0 8px 18px -8px rgba(242, 117, 26, .55); }
.aks .akls-empty { text-align: center; font-size: 13.5px; color: #8C857A; padding: 34px 0 8px; }
.aks .akls-card.akls-hide { display: none; }

/* ── 프로세스 타임라인 — 사장님 L04 디자인의 버블판 ── */
.aks .akls-proc { padding: 22px 20px; margin-top: 16px; }
.aks .akls-step { display: flex; gap: 15px; }
.aks .akls-step-rail { width: 36px; flex: none; display: flex; flex-direction: column; align-items: center; }
.aks .akls-step-ic { width: 36px; height: 36px; border-radius: 12px; flex: none; display: flex; align-items: center; justify-content: center;
  background: #FBF6F0; box-shadow: inset 0 0 0 .5px rgba(26, 23, 16, .08); }
.aks .akls-step-ic.now { background: linear-gradient(180deg, #F2751A, #DE5B0B); box-shadow: 0 8px 18px -8px rgba(242, 117, 26, .7); }
.aks .akls-step-line { flex: 1; width: 2px; margin: 6px 0; border-radius: 1px; background: rgba(26, 23, 16, .09); }
.aks .akls-step-line.now { background: rgba(242, 117, 26, .3); }
.aks .akls-step-main { flex: 1; min-width: 0; padding-bottom: 20px; }
.aks .akls-step:last-child .akls-step-main { padding-bottom: 4px; }
.aks .akls-step-top { display: flex; align-items: center; gap: 8px; }
.aks .akls-step-n { font-size: 9.5px; font-weight: 800; letter-spacing: .12em; color: #C7C0B4; font-variant-numeric: tabular-nums; }
.aks .akls-step-t { font-size: 16px; font-weight: 800; color: #1A1710; letter-spacing: -.03em; margin: 0; font-family: inherit; line-height: inherit; }
.aks .akls-step-list { list-style: none; margin: 7px 0 0; padding: 0; }
.aks .akls-step-list li { position: relative; padding-left: 14px; font-size: 13px; line-height: 1.55; color: #8C857A; margin-top: 3px; text-wrap: pretty; list-style: none; }
.aks .akls-step-list li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 4px; height: 4px; border-radius: 50%; background: #C7C0B4; }
.aks .akls-step-meta { font-size: 11.5px; font-weight: 700; color: #D0530A; margin-top: 7px; }
.aks .akls-procta { display: flex; justify-content: center; }
.aks .akls-procta .aks-cta { margin-top: 18px; }

/* ── FAQ — 사장님 L05 디자인의 버블판 ── */
.aks .akls-faq { margin-top: 16px; }
.aks .akls-faq-item { border-bottom: .5px solid rgba(26, 23, 16, .06); }
.aks .akls-faq-item:last-child { border-bottom: 0; }
.aks .akls-faq-q { display: flex; align-items: center; gap: 12px; padding: 16px 18px; cursor: pointer;
  user-select: none; -webkit-user-select: none; list-style: none; }
.aks .akls-faq-q::-webkit-details-marker { display: none; }
.aks .akls-faq-q::marker { content: ''; }
.aks .akls-faq-t { flex: 1; font-size: 14.5px; font-weight: 700; line-height: 1.4; color: #1A1710; letter-spacing: -.026em;
  margin: 0; font-family: inherit; }
.aks .akls-faq-mark { color: #E2600F; }
.aks .akls-faq-chev { width: 16px; height: 16px; flex: none; display: flex; align-items: center; justify-content: center;
  transition: transform .3s cubic-bezier(.32, .72, 0, 1); }
.aks .akls-faq-item[open] .akls-faq-chev { transform: rotate(180deg); }
.aks .akls-faq-a { padding: 0 18px 16px; font-size: 13px; line-height: 1.7; color: #6B655A; text-wrap: pretty; }
@keyframes aklsFaqIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.aks .akls-faq-item[open] .akls-faq-a { animation: aklsFaqIn .28s cubic-bezier(.32, .72, 0, 1); }

/* ── Apply CTA — 사장님 L06 디자인의 버블판 ── */
.aks .akls-readysec { padding-bottom: 8px; }
.aks .akls-ready { border-radius: 20px; background: linear-gradient(150deg, #F2751A, #DE5B0B); color: #fff;
  position: relative; overflow: hidden; padding: 28px 24px; margin-top: 16px;
  box-shadow: 0 20px 46px -22px rgba(242, 117, 26, .8); }
.aks .akls-ready::before { content: ""; position: absolute; inset: 0;
  background: repeating-linear-gradient(118deg, rgba(255, 255, 255, .06) 0 12px, transparent 12px 24px); }
.aks .akls-ready > * { position: relative; }
.aks .akls-ready-eyebrow { font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.aks .akls-ready-h { font-size: 26px; font-weight: 800; letter-spacing: -.045em; line-height: 1.16; color: #fff; margin: 9px 0 0; font-family: inherit; }
.aks .akls-ready-sub { font-size: 14px; line-height: 1.55; color: rgba(255, 255, 255, .82); margin-top: 8px; max-width: 420px; text-wrap: pretty; }
.aks .akls-ready-btn { margin-top: 18px; height: 52px; border-radius: 16px; background: #fff; width: fit-content; padding: 0 28px;
  display: flex; align-items: center; justify-content: center; gap: 9px; font-size: 15.5px; font-weight: 800; color: #C24F0A;
  box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .4); transition: transform .16s cubic-bezier(.32, .72, 0, 1); }
.aks .akls-ready-btn:hover { color: #C24F0A; transform: translateY(-1px); }
.aks .akls-ready-note { font-size: 12px; color: rgba(255, 255, 255, .72); margin-top: 10px; }

/* PC: 칩 노출·드롭다운 숨김 / 3단(레일 겨울배너 표시) 시 본문 배너 숨김(⑦ — 중복) */
@media (min-width: 800px) {
  .aks .akls-filterbar .akls-cityset { display: none; }
}
/* V2.4b: akls-bannersec 규칙 삭제 — 배너 자체가 폐지됐다 */

/* ── 모바일: 1열 그리드 · 드롭다운(칩 숨김) · 필터바 sticky · 5탭바 유지 · 좌우 12px(상세와 동일 ④) ── */
@media (max-width: 799.98px) {
  .aks.akls-page { margin-bottom: 28px; margin-left: 12px; margin-right: 12px; }
  .aks .akls-hero { height: 500px; }
  /* 모바일: 4칸을 2×2 로 — 세로 4단은 히어로가 너무 길어진다 */
  .aks .akls-props { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .aks .akls-prop-v { font-size: 13.5px; }
  .aks .akls-grid { grid-template-columns: 1fr; gap: 13px; }
  .aks .akls-ready-btn { width: 100%; padding: 0; }
  /* 폭 = 하단 유리바와 동일(사장님 5차 ⑥: 뷰포트 양끝 12px) — 섹션 패딩을 음수 마진으로 상쇄.
     -14 = 라이브 실측(375: 바 left 26 → 12). 컨테이너쿼리 패딩(20)은 모바일에서 안 먹는다
     (container-type 은 데스크톱 전용 — 코드 규칙 7)라 산술이 아닌 실측값이다. */
  /* V2.4b(사장님 8/31): 진입부터 헤더 밑 고정 — "제자리에 있다가 스크롤 순간 붙으며 여백" 소멸.
     fixed 라 흐름 공간을 차지하지 않고(그리드가 히어로 바로 밑으로), 유리(stuck) 룩을 상시 적용. */
  .aks .akls-filterbar { gap: 7px; position: fixed; top: var(--akls-stick, 64px); left: 12px; right: 12px; margin: 0;
    background: rgba(251, 246, 240, .86);
    -webkit-backdrop-filter: blur(28px) saturate(190%); backdrop-filter: blur(28px) saturate(190%);
    box-shadow: 0 10px 26px -18px rgba(26, 23, 16, .35), 0 0 0 .5px rgba(26, 23, 16, .09); }
  .aks .akls-filterbar .akls-citychips { display: none; }
  .aks .akls-filterbar .akls-search { flex: 1; min-width: 0; }
  .aks .akls-fsp { display: none; }
  .aks button.akls-citybtn, .aks button.akls-citybtn:hover, .aks button.akls-citybtn:focus { height: 38px !important; }
  /* ── 접힘(mini) — 헤더가 접히면(hd-min) 필터가 ☰ 버블과 Apply 버블 **사이**로 들어간다
     (사장님 5차 ⑥ — 앱 커뮤니티의 컴팩트 Search 필 자리). school-list.js 가 alloHdMin 이벤트로
     .mini 를 달고, 세로 위치는 --akls-hdt(헤더 top 실측)를 따른다. 통화 버튼은 접는다. ── */
  /* 배경 박스 없이 **알약 2개만**(사장님 2026-08-25 7차 ② — 도시·검색 알약이 각자 버블을 입는다) */
  .aks .akls-filterbar.mini {
    position: fixed; top: calc(var(--akls-hdt, 0px) + 8px); left: 64px; right: 64px;
    margin: 0; z-index: 631; height: 44px; padding: 0; gap: 7px; border-radius: 0;
    background: transparent;
    -webkit-backdrop-filter: none; backdrop-filter: none;
    box-shadow: none;
  }
  /* V2.4c(사장님 8/31): 접힘 때 통화 버튼을 '원래 신청 버블 자리'(우측 가장자리)에 —
     mini 바가 left/right 64px 로 비워두는 그 자리다. fixed 는 뷰포트 기준이라 부모 밖 배치 가능. */
  .aks .akls-filterbar.mini .aks-topbar-cur {
    display: inline-flex; position: fixed; top: calc(var(--akls-hdt, 0px) + 11px); right: 14px;
    height: 38px; border-radius: 12px; padding: 0 12px;
    background: rgba(255, 255, 255, .92);
    box-shadow: inset 0 .5px 0 rgba(255, 255, 255, .9), 0 0 0 .5px rgba(26, 23, 16, .08),
                0 2px 6px rgba(25, 31, 40, .10);
  }
  .aks .akls-filterbar.mini button.akls-citybtn, .aks .akls-filterbar.mini button.akls-citybtn:hover,
  .aks .akls-filterbar.mini button.akls-citybtn:focus {
    height: 38px !important; border-radius: 12px !important;
    background: rgba(255, 255, 255, .92) !important;
    box-shadow: inset 0 .5px 0 rgba(255, 255, 255, .9), 0 0 0 .5px rgba(26, 23, 16, .08),
                0 2px 6px rgba(25, 31, 40, .10) !important;
  }
  .aks .akls-filterbar.mini .akls-search {
    height: 38px; border-radius: 12px;
    background: rgba(255, 255, 255, .92);
    box-shadow: inset 0 .5px 0 rgba(255, 255, 255, .9), 0 0 0 .5px rgba(26, 23, 16, .08),
                0 2px 6px rgba(25, 31, 40, .10);
  }
  /* V2.4c: 구식 +58px 그리드 보정 삭제 — V2.4b 로 바가 **진입부터** fixed(흐름 밖)가 되면서
     이 보정이 접힘 순간 여백을 늘리는 원흉이 됐다(사장님 실측 스크린샷·카드 620→678px 실측). */
}
@media (prefers-reduced-motion: reduce) {
  .aks .akls-banner-dot { animation: none; }
  .aks .akls-faq-item[open] .akls-faq-a { animation: none; }
  .aks .akls-card, .aks .akls-banner-cta, .aks .akls-ready-btn, .aks a.akls-prop { transition: none; }
}
