/* ============================================================================
 * mobile-concept-ps.css — 사립학교 목록 /private-schools/ 모바일(≤767px) 전용 배치 (opt-in 프로젝트 mobile · 사이클 4)
 * 확정 목업 「나안」 규격(앞 사이클과 같은 값, 이 페이지 고유 남색·금색·글꼴 유지). 폭 ≤ 767px 한정, 768px 이상 무영향.
 * 마크업·스크립트·링크는 그대로 두고 배치·모양만 바꾼다 (기능 100% 보존).
 * ========================================================================== */

@media (max-width: 767px) {

    /* ---------- 짧은 상단 ---------- */
    body .ps-hero { padding: 0; min-height: 0; }
    body .ps-hero .ps-hero-fade { display: none; }
    body .ps-hero .ps-hero-inner { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; align-items: center; padding: 14px 16px 14px; text-align: left; max-width: none; margin: 0; }
    body .ps-hero .ps-hero-eyebrow { grid-column: 1 / -1; margin: 0 0 2px; font-size: 11px; letter-spacing: .14em; text-align: left; }
    body .ps-hero .ps-hero-title { grid-column: 1 / -1; margin: 0 0 2px; font-size: 22px; line-height: 1.2; text-align: left; }
    body .ps-hero .ps-hero-subtitle { grid-column: 1 / -1; margin: 0 0 4px; font-size: 12px; text-align: left; }
    body .ps-hero .ps-hero-desc { grid-column: 1 / -1; margin: 0 0 10px; font-size: 12px; line-height: 1.5; text-align: left; max-width: none; }
    body .ps-hero .ps-hero-desc br { display: none; }
    body .ps-hero .ps-province-switch { grid-column: 1; margin: 0; padding: 3px; }
    body .ps-hero .ps-province-option { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 34px; padding: 5px 14px; font-size: 12.5px; }
    body .ps-hero .ps-hero-stat { grid-column: 2; justify-self: end; margin: 0; padding: 0; font-size: 12px; background: none; border: 0; box-shadow: none; }
    body .ps-hero .ps-hero-stat-icon { font-size: 14px; }
    body .ps-hero .ps-hero-stat strong { font-size: 15px; }

    /* ---------- 프리셋 칩 줄 ---------- */
    body .ps-preset-bar { padding: 10px 0 2px; border-bottom: 0; }
    body .ps-preset-bar .ps-preset-inner { padding: 0 14px; gap: 6px; }
    body .ps-preset-bar .ps-preset-chip { min-height: 34px; padding: 6px 13px; font-size: 12.5px; font-weight: 700; }

    /* ---------- 필터 상자 (지역 · 검색+정렬 · 2열 선택 · 학비 범위 · 초기화) ---------- */
    body .ps-district-filter { position: static; padding: 8px 0 0; border: 0; background: transparent; box-shadow: none; }
    body .ps-district-filter .ps-district-filter-inner { display: flex; align-items: center; gap: 8px; padding: 0 14px; max-width: none; }
    body .ps-district-filter .ps-district-label { flex: 0 0 auto; font-size: 12px; gap: 4px; }
    body .ps-district-filter .ps-district-select { flex: 1; min-width: 0; max-width: none; min-height: 40px; font-size: 13px; }
    body .ps-toolbar { padding: 8px 0 0; background: transparent; border: 0; }
    body .ps-toolbar .ps-toolbar-inner { display: flex; flex-direction: row; align-items: center; gap: 8px; padding: 0 14px; max-width: none; }
    body .ps-toolbar .ps-search { flex: 1 1 0; min-width: 0; max-width: none; }
    body .ps-toolbar .ps-search-input { width: 100%; min-height: 40px; font-size: 13px; }
    body .ps-toolbar .ps-sort { flex: 0 0 auto; width: auto; gap: 0; }
    body .ps-toolbar .ps-sort-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    body .ps-toolbar .ps-sort-select { flex: none; width: 118px; min-height: 40px; font-size: 12.5px; }
    body .ps-filters { padding: 8px 0 0; border: 0; background: transparent; }
    body .ps-filters .ps-filters-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 14px; max-width: none; }
    body .ps-filters .ps-filter-group { margin: 0; min-width: 0; }
    body .ps-filters .ps-filter-label { margin: 0 0 2px; font-size: 11px; }
    body .ps-filters .ps-filter-select { width: 100%; min-height: 40px; font-size: 13px; }
    body .ps-filters .ps-filter-tuition { grid-column: 1 / -1; }
    body .ps-filters .ps-filter-reset { grid-column: 1 / -1; justify-self: start; min-height: 36px; padding: 6px 14px; font-size: 12.5px; }
    body .ps-result-bar { padding: 6px 0 0; }
    body .ps-result-bar .ps-result-bar-inner { padding: 0 16px; max-width: none; }
    body .ps-result-bar .ps-result-info { font-size: 12.5px; }

    /* ---------- 학교 리스트 행 ---------- */
    body .ps-content { padding: 0; }
    body .ps-section .ps-section-header { padding: 10px 16px 6px; }
    body .ps-section .ps-section-title { font-size: 17px; }
    body .ps-section + .ps-section .ps-section-header { padding-top: 12px; }
    body .ps-section + .ps-section .ps-section-header::before { display: none; }
    body .ps-school-grid { display: block; margin: 0 14px; padding: 0; background: #fff; border: 1px solid #e6e8ee; border-radius: 14px; overflow: hidden; }
    body .ps-school-card { position: relative; display: block; margin: 0; padding: 10px 12px; border: 0; border-bottom: 1px solid #e6e8ee; border-radius: 0; box-shadow: none; transform: none; background: #fff; }
    body .ps-school-card:last-child { border-bottom: 0; }
    body .ps-school-card::before { display: none; }
    body .ps-school-card .ps-card-header, body .ps-school-card .ps-card-info { display: block; margin: 0; padding: 0; }
    body .ps-school-card .ps-card-name { margin: 0; padding-right: 86px; font-size: 14px; line-height: 1.35; letter-spacing: -.02em; }
    body .ps-school-card .ps-card-city { margin: 1px 0 0; font-size: 11px; letter-spacing: .04em; }
    body .ps-school-card .ps-card-tuition { position: absolute; right: 12px; top: 10px; margin: 0; font-size: 13px; font-weight: 800; }
    body .ps-school-card .ps-card-tuition-na { font-size: 11.5px; font-weight: 600; }
    body .ps-school-card .ps-card-desc { display: block; margin: 3px 0 0; font-size: 11.5px; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: unset; }
    body .ps-school-card .ps-card-tags { margin: 5px 0 0; gap: 5px; flex-wrap: wrap; }
    body .ps-school-card .ps-card-footer { display: none; }

    /* ---------- 더 보기 · 빈 결과 ---------- */
    body .ps-loadmore-wrap { padding: 8px 14px 6px; }
    body .ps-loadmore-wrap .ps-loadmore-btn { width: 100%; min-height: 44px; padding: 10px 16px; font-size: 13px; justify-content: center; }
    body .ps-empty { padding: 28px 16px; }
    body .ps-loading { padding: 28px 16px; }
}
