/* =============================================================
   pick_apply.css  —  속초 PICK 입점 신청서 전용 스타일
   경로: /pick/css/pick_apply.css
   ============================================================= */

/* ── 레이아웃 ── */
.pick-apply-page { min-height: 100vh; }

.pa-wrap {
    display: grid;
    grid-template-columns: 280px 1fr;
    min-height: calc(100vh - 56px);
}
.pa-wrap--done {
    grid-template-columns: 1fr;
    display: flex; align-items: center; justify-content: center;
    padding: 60px 20px;
}

/* ── 사이드바 ── */
.pa-sidebar {
    background: #1A1612;
    padding: 52px 32px;
    display: flex; flex-direction: column;
    position: sticky; top: 0;
    height: 100vh; overflow-y: auto;
}
.pa-sidebar__logo {
    font-family: 'DM Serif Display', serif;
    font-size: 20px; color: #F5F0E8;
    margin-bottom: 6px; line-height: 1.3;
}
.pa-sidebar__sub {
    font-size: 12px; color: rgba(245,240,232,.4);
    line-height: 1.65; margin-bottom: 40px;
}

/* ── 스텝 리스트 ── */
.pa-steps { list-style: none; flex: 1; }
.pa-step {
    display: flex; gap: 14px; align-items: flex-start;
    cursor: pointer; opacity: .35; transition: opacity .25s;
    margin-bottom: 6px;
}
.pa-step.active { opacity: 1; }
.pa-step.done   { opacity: .65; }
.pa-step__line {
    width: 1px; height: 18px; margin-left: 17px;
    background: rgba(255,255,255,.1); margin-top: -2px; margin-bottom: 2px;
}
.pa-step__dot {
    width: 26px; height: 26px; border-radius: 50%; flex-shrink: 0;
    border: 1px solid rgba(245,240,232,.2);
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 500; color: rgba(245,240,232,.35);
    transition: all .25s;
}
.pa-step.active .pa-step__dot { background: #2A6B5F; border-color: #2A6B5F; color: #F5F0E8; }
.pa-step.done   .pa-step__dot { border-color: #2A6B5F; color: #2A6B5F; }
.pa-step__num   { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: rgba(245,240,232,.35); margin-bottom: 2px; }
.pa-step.active .pa-step__num { color: #9FE1CB; }
.pa-step__name  { font-size: 13px; font-weight: 500; color: #F5F0E8; }

.pa-sidebar__bottom { border-top: 1px solid rgba(255,255,255,.07); padding-top: 22px; }
.pa-sidebar__note   { font-size: 11px; color: rgba(245,240,232,.3); line-height: 1.75; }
.pa-sidebar__note strong { color: rgba(245,240,232,.55); font-weight: 500; }

/* ── 메인 영역 ── */
.pa-main { padding: 52px 60px 80px; max-width: 680px; }

/* ── 프로그레스 바 ── */
.pa-progress { margin-bottom: 44px; }
.pa-progress__meta {
    display: flex; justify-content: space-between;
    font-size: 11px; color: #7A7268; margin-bottom: 8px; letter-spacing: .04em;
}
.pa-progress__track { height: 2px; background: #DDD5C5; }
.pa-progress__fill  { height: 100%; background: #2A6B5F; transition: width .45s cubic-bezier(.4,0,.2,1); }

/* ── 패널 ── */
.pa-panel { display: none; }
.pa-panel.active { display: block; animation: paFadeSlide .3s ease both; }
@keyframes paFadeSlide {
    from { opacity: 0; transform: translateX(14px); }
    to   { opacity: 1; transform: translateX(0); }
}

/* ── 패널 헤더 ── */
.pa-panel__header { margin-bottom: 32px; }
.pa-eyebrow {
    font-size: 10px; font-weight: 500; letter-spacing: .14em;
    text-transform: uppercase; color: #2A6B5F;
    margin-bottom: 10px; display: flex; align-items: center; gap: 8px;
}
.pa-eyebrow::before { content: ''; width: 14px; height: 1px; background: #2A6B5F; }
.pa-panel__title {
    font-family: 'Noto Serif KR', serif;
    font-size: 24px; font-weight: 700;
    letter-spacing: -.025em; color: #1A1612; line-height: 1.25;
    margin-bottom: 8px;
}
.pa-panel__desc { font-size: 13px; color: #7A7268; line-height: 1.7; }

/* ── 폼 필드 ── */
.pa-field { margin-bottom: 22px; }
.pa-row   { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.pa-field label {
    display: block; font-size: 12px; font-weight: 500;
    color: #3D3830; margin-bottom: 7px; letter-spacing: .02em;
}
.pa-req { color: #2A6B5F; margin-left: 2px; }
.pa-opt { font-weight: 300; color: #B5AFA6; font-size: 11px; margin-left: 4px; }

.pa-field input[type="text"],
.pa-field input[type="tel"],
.pa-field input[type="email"],
.pa-field input[type="url"],
.pa-field select,
.pa-field textarea {
    width: 100%; padding: 11px 14px;
    border: 1px solid rgba(26,22,18,.18);
    background: white; color: #1A1612;
    font-family: 'Noto Sans KR', sans-serif;
    font-size: 14px; font-weight: 300; line-height: 1.6;
    outline: none; border-radius: 0; appearance: none;
    transition: border-color .18s, box-shadow .18s;
}
.pa-field input:focus,
.pa-field select:focus,
.pa-field textarea:focus {
    border-color: #2A6B5F;
    box-shadow: 0 0 0 3px rgba(42,107,95,.08);
}
.pa-field input::placeholder,
.pa-field textarea::placeholder { color: #B5AFA6; }
.pa-field textarea { resize: vertical; min-height: 96px; }
.pa-field select {
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6' fill='none' stroke='%237A7268' stroke-width='1.2'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 12px center;
    padding-right: 32px; cursor: pointer;
}
.pa-field__hint { font-size: 11px; color: #B5AFA6; margin-top: 5px; line-height: 1.5; }
.pa-field__err  { font-size: 11px; color: #C75A3A; margin-top: 5px; display: none; }
.pa-field.invalid input,
.pa-field.invalid select,
.pa-field.invalid textarea { border-color: #C75A3A; }
.pa-field.invalid .pa-field__err { display: block; }

/* ── 카테고리 칩 (radio) ── */
.pa-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.pa-chip {
    display: inline-flex; align-items: center;
    padding: 9px 18px; cursor: pointer;
    border: 1px solid rgba(26,22,18,.18);
    background: white; font-size: 13px; color: #7A7268;
    transition: all .15s; user-select: none;
}
.pa-chip input[type="radio"] { display: none; }
.pa-chip:has(input:checked),
.pa-chip.selected {
    background: #1A1612; border-color: #1A1612; color: #F5F0E8;
}
.pa-chip:hover:not(:has(input:checked)) { border-color: #3D3830; color: #1A1612; }

/* ── 가격대 칩 ── */
.pa-price-chips { display: flex; gap: 7px; }
.pa-price-chip {
    flex: 1; text-align: center; cursor: pointer;
    border: 1px solid rgba(26,22,18,.18);
    background: white; padding: 10px 8px;
    font-size: 14px; color: #7A7268;
    transition: all .15s; user-select: none; display: block;
}
.pa-price-chip input[type="radio"] { display: none; }
.pa-price-chip small { display: block; font-size: 10px; color: inherit; opacity: .7; margin-top: 2px; }
.pa-price-chip:has(input:checked) { background: #1A1612; border-color: #1A1612; color: #F5F0E8; }

/* ── 파일 업로드 ── */
.pa-upload {
    border: 1.5px dashed rgba(26,22,18,.2); background: white;
    padding: 28px 20px; text-align: center; cursor: pointer;
    transition: border-color .2s, background .2s; position: relative;
}
.pa-upload:hover { border-color: #2A6B5F; background: #E4F0EE; }
.pa-upload input[type="file"] {
    position: absolute; inset: 0; opacity: 0;
    cursor: pointer; width: 100%; height: 100%;
    border: none; padding: 0; font-size: 0;
}
.pa-upload__icon  { font-size: 26px; margin-bottom: 8px; }
.pa-upload__label { font-size: 13px; color: #7A7268; }
.pa-upload__label strong { color: #2A6B5F; font-weight: 500; }
.pa-upload__hint  { font-size: 11px; color: #B5AFA6; margin-top: 4px; }
.pa-upload__preview { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.pa-thumb {
    width: 60px; height: 60px;
    border: 1px solid rgba(26,22,18,.1); overflow: hidden;
}
.pa-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ── 플랜 선택 ── */
.pa-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.pa-plan { display: block; cursor: pointer; }
.pa-plan input[type="radio"] { display: none; }
.pa-plan__box {
    border: 1px solid rgba(26,22,18,.15); background: white;
    padding: 16px 18px; transition: all .2s; height: 100%;
    position: relative;
}
.pa-plan:hover .pa-plan__box { border-color: #3D3830; }
.pa-plan.selected .pa-plan__box,
.pa-plan:has(input:checked) .pa-plan__box { border: 2px solid #2A6B5F; }
.pa-plan.selected .pa-plan__box::after,
.pa-plan:has(input:checked) .pa-plan__box::after {
    content: '✓';
    position: absolute; top: 10px; right: 12px;
    width: 18px; height: 18px; border-radius: 50%;
    background: #2A6B5F; color: #F5F0E8;
    font-size: 10px; display: flex; align-items: center; justify-content: center;
}
.pa-plan--rec .pa-plan__box { border-color: #9FD4CA; }
.pa-plan__rec-badge {
    display: inline-block; background: #2A6B5F; color: #F5F0E8;
    font-size: 9px; font-weight: 500; padding: 2px 8px;
    letter-spacing: .06em; margin-bottom: 6px;
}
.pa-plan__tier  { font-size: 10px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: #B5AFA6; margin-bottom: 3px; }
.pa-plan__name  { font-size: 14px; font-weight: 500; color: #1A1612; margin-bottom: 4px; }
.pa-plan__price { font-size: 13px; color: #7A7268; margin-bottom: 10px; }
.pa-plan__price strong { color: #1A1612; font-weight: 500; }
.pa-plan__feats { list-style: none; }
.pa-plan__feats li {
    font-size: 11px; color: #7A7268; padding: 2px 0;
    display: flex; gap: 6px;
}
.pa-plan__feats li::before { content: '—'; color: #B5AFA6; flex-shrink: 0; }

.pa-info-box {
    background: #E4F0EE; border: 1px solid #9FD4CA;
    padding: 12px 16px; margin-top: 14px;
    font-size: 12px; color: #085041; line-height: 1.7;
}
.pa-info-box strong { font-weight: 500; }

/* ── 요약 ── */
.pa-summary {
    background: white; border: 1px solid rgba(26,22,18,.1); margin-bottom: 12px;
}
.pa-summary__header {
    padding: 12px 18px; background: #EAE3D5;
    font-size: 10px; font-weight: 500; letter-spacing: .1em;
    text-transform: uppercase; color: #7A7268;
    display: flex; justify-content: space-between; align-items: center;
    border-bottom: 1px solid rgba(26,22,18,.1);
}
.pa-summary__edit {
    font-size: 11px; color: #2A6B5F; cursor: pointer;
    text-transform: none; letter-spacing: 0; font-weight: 400;
    background: transparent; border: none; font-family: inherit;
}
.pa-summary__row {
    display: flex; gap: 12px; padding: 11px 18px;
    border-bottom: 1px solid rgba(26,22,18,.08);
}
.pa-summary__row:last-child { border-bottom: none; }
.pa-summary__key { font-size: 11px; color: #7A7268; min-width: 90px; flex-shrink: 0; }
.pa-summary__val { font-size: 12px; color: #3D3830; line-height: 1.5; }

/* ── 동의 ── */
.pa-agrees { margin-bottom: 8px; }
.pa-agree {
    display: flex; gap: 10px; align-items: flex-start;
    padding: 12px 16px; cursor: pointer;
    background: white; border: 1px solid rgba(26,22,18,.1);
    margin-bottom: 6px; transition: background .15s;
}
.pa-agree:hover { background: #F5F0E8; }
.pa-agree input[type="checkbox"] { flex-shrink: 0; margin-top: 3px; accent-color: #2A6B5F; }
.pa-agree span { font-size: 12px; color: #3D3830; line-height: 1.6; }

/* ── 네비 버튼 ── */
.pa-nav {
    display: flex; justify-content: space-between; align-items: center;
    margin-top: 36px; padding-top: 24px;
    border-top: 1px solid rgba(26,22,18,.1);
}
.pa-btn-prev {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 11px 22px; border: 1px solid rgba(26,22,18,.18);
    background: transparent; color: #7A7268;
    font-family: 'Noto Sans KR', sans-serif; font-size: 13px;
    cursor: pointer; text-decoration: none; transition: all .2s;
}
.pa-btn-prev:hover { border-color: #1A1612; color: #1A1612; }
.pa-btn-next {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 13px 30px; background: #1A1612; color: #F5F0E8;
    border: none; font-family: 'Noto Sans KR', sans-serif;
    font-size: 13px; font-weight: 500; letter-spacing: .04em;
    cursor: pointer; transition: opacity .2s;
}
.pa-btn-next:hover { opacity: .85; }
.pa-btn-submit {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 11px 22px;
    border: 1px solid rgba(26, 22, 18, .18);
    color: #ffffff;
    font-family: 'Noto Sans KR', sans-serif;
    font-size: 13px;
    cursor: pointer;
    text-decoration: none;
    transition: all .2s;
    background: #2A6B5F;
}
.pa-btn-submit:hover { background: #3D8C7E; opacity: 1; }

/* ── 완료 화면 ── */
.pa-complete { text-align: center; padding: 40px 20px; }
.pa-complete--page { max-width: 480px; margin: 0 auto; }
.pa-complete__icon {
    width: 68px; height: 68px; border-radius: 50%;
    background: #E4F0EE; border: 1px solid #9FD4CA;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 22px; font-size: 26px; color: #2A6B5F;
}
.pa-complete__title {
    font-family: 'Noto Serif KR', serif; font-size: 24px; font-weight: 700;
    letter-spacing: -.02em; color: #1A1612; margin-bottom: 10px;
}
.pa-complete__sub { font-size: 14px; color: #7A7268; line-height: 1.8; margin-bottom: 28px; }
.pa-complete__timeline {
    background: white; border: 1px solid rgba(26,22,18,.1);
    padding: 20px 24px; margin: 0 auto 28px;
    max-width: 360px; text-align: left;
}
.pa-tl-item {
    display: flex; gap: 12px; align-items: flex-start;
    margin-bottom: 14px; font-size: 12px; color: #3D3830; line-height: 1.6;
}
.pa-tl-item:last-child { margin-bottom: 0; }
.pa-tl-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: #DDD5C5; flex-shrink: 0; margin-top: 4px;
}
.pa-tl-dot--done { background: #2A6B5F; }
.pa-tl-item strong { font-weight: 500; }

/* ── 반응형 ── */
@media (max-width: 768px) {
    .pa-wrap { grid-template-columns: 1fr; }
    .pa-sidebar { display: none; }
    .pa-main { padding: 28px 20px 60px; }
    .pa-row { grid-template-columns: 1fr; }
    .pa-plans { grid-template-columns: 1fr; }
    .pa-price-chips { flex-wrap: wrap; }
    .pa-price-chip { flex: none; width: calc(50% - 4px); }
}