.jf-container {max-width: 880px; margin: 40px auto; padding: 0 16px;}
.page-title {font-size: 1.5rem; margin-bottom: 16px;}
.card {background: #fff; border: 1px solid #e6e6e6; border-radius: 12px; padding: 20px;}
.form-row {display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px;}
.form-row label {font-weight: 600;}
.form-row input[type=text],
.form-row input[type=tel],
.form-row input[type=email],
.form-row select,
.form-row textarea {border:1px solid #ccc; border-radius: 10px; padding:10px; font-size: 14px;}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus {outline: 3px solid #cde4ff; border-color:#6aa9ff;}
.req {color:#e61313;}
.form-actions {margin-top: 10px}
.btn {border:0; border-radius: 999px; padding: 10px 18px; cursor: pointer;}
.btn-primary {background: #252ef6; color:#fff;}
.btn-primary:focus {outline:3px solid #cde4ff;}
.help {color:#666; font-size: 13px; margin-top: 8px;}
.sr-only {position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}



/* === jf_my_apply 강화 스타일 === */

/* 카드/컨테이너 폭을 넉넉하게 */
.jf-my-wrap .card{ padding:1.25rem; }

/* 글자 크게 & 행 간격 ↑ */
.jf-my-wrap .page-title{ font-size:1.375rem; margin-bottom:.75rem; }
.jf-my-wrap .jf-table{ width:100%; table-layout:fixed; border-collapse:collapse; }
.jf-my-wrap .jf-table th,
.jf-my-wrap .jf-table td{
  font-size:15px;           /* 기존보다 크게 */
  line-height:1.6;          /* 행간 확보 */
  padding:0.9rem 0.8rem;    /* 여백 늘림 */
  border-bottom:1px solid #e9e9e9;
  word-wrap:break-word;
}

/* 첫 컬럼(상태)·마지막 컬럼(관리) 고정폭, 나머지는 자동 확장 */
.jf-my-wrap .jf-table th:nth-child(1),
.jf-my-wrap .jf-table td:nth-child(1){ width:128px; }
.jf-my-wrap .jf-table th:nth-child(4),
.jf-my-wrap .jf-table td:nth-child(4){ width:170px; text-align:center; }
.jf-my-wrap .jf-table th:nth-child(5),
.jf-my-wrap .jf-table td:nth-child(5){ width:130px; text-align:center; }

/* 테이블 영역이 컨텐츠 폭에 딱 맞도록 */
.jf-my-wrap .table-wrap{ width:100%; overflow-x:auto; }

/* 상태 칩 */
.jf-chip{ display:inline-block; padding:.35rem .6rem; border-radius:999px; font-size:.85rem; line-height:1; border:1px solid transparent; }
.jf-chip.-pending{ background:#fff3cd; border-color:#ffeeba; color:#856404; }
.jf-chip.-done{ background:#d4f4f0;  border-color:#a7e8df; color:#006d75; }
.jf-chip.-noshow{ background:#ffe2e0; border-color:#ffb8b3; color:#a8071a; }
.jf-chip.-cancel{ background:#f2f3f5; border-color:#dde1e6; color:#4a4f55; }

/* 버튼 대비(흰 배경에서도 명확하게) */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.35rem; cursor:pointer; border-radius:.45rem; height:36px; padding:0 .8rem; font-weight:600; }
.btn-sm{ height:34px; padding:0 .65rem; }
.btn-primary{ background:#155EEF; color:#fff; border:1px solid #0E46B5; }
.btn-primary:hover{ filter:brightness(0.95); }
.btn-danger{ background:#E03131; color:#fff; border:1px solid #B02525; }
.btn-danger:hover{ filter:brightness(0.95); }
.btn-light{ background:#ffffff; color:#111; border:1px solid #cfd4dc; }
.btn-light:hover{ background:#f7f8fa; }

/* 빈 상태 메시지 가독성 */
.jf-empty{ padding:2rem 1rem; text-align:center; color:#666; font-size:15px; }

/* 상단 숫자 배지 가독성 */
.badge{ background:#111; color:#fff; padding:.2rem .5rem; border-radius:.5rem; font-size:.8rem; }

/* 모바일에서 3열(학과) 숨김 유지 + 폰트만 소폭 축소 */
@media (max-width:720px){
  .jf-my-wrap .jf-table th,.jf-my-wrap .jf-table td{ font-size:14px; padding:.75rem .6rem; }
  .hide-mo{ display:none; }
}


/* === 상단 헤드(신청 목록 + 카운트) 더 크게 === */
.jf-my-wrap .jf-my-head strong{
  font-size: 1.25rem;   /* ↑ 20px 정도 */
  line-height: 1.2;
}
.jf-my-wrap .badge{
  font-size: .9rem;     /* 숫자 배지도 살짝 키움 */
  padding: .25rem .55rem;
}

/* === 테이블 헤더 타이포 강화 === */
.jf-my-wrap .jf-table th{
  font-size: 16px;      /* 헤더 글씨 더 큼 */
  font-weight: 700;
}

/* === 상태칩 + 아이콘용 타이포/여백 강화 === */
.jf-chip{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.4rem .7rem;        /* 여백 조금 더 */
  border-radius:999px;
  font-size:.95rem;           /* 칩 텍스트 크게 */
  line-height:1;
  border:1px solid transparent;
  white-space:nowrap;
}
.jf-chip svg{                 /* 아이콘 크기 */
  width: 16px; height: 16px;
}

/* 상태별 색상 유지 */
.jf-chip.-pending{ background:#fff3cd; border-color:#ffeeba; color:#856404; }
.jf-chip.-done{    background:#d4f4f0;  border-color:#a7e8df; color:#006d75; }
.jf-chip.-noshow{  background:#ffe2e0;  border-color:#ffb8b3; color:#a8071a; }
.jf-chip.-cancel{  background:#f2f3f5;  border-color:#dde1e6; color:#4a4f55; }

/* 모바일에서도 여전히 크기 유지(살짝만 다운) */
@media (max-width:720px){
  .jf-my-wrap .jf-my-head strong{ font-size: 1.15rem; }
  .jf-chip{ font-size:.9rem; }
}


  .jf-apply-boothlist .section-title{font-size:1.1rem;margin:0 0 .75rem}
  .apply-grid{
    display:grid;gap:12px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  @media (max-width:1200px){ .apply-grid{grid-template-columns: repeat(5, 1fr);} }
  @media (max-width:1024px){ .apply-grid{grid-template-columns: repeat(4, 1fr);} }
  @media (max-width:860px){  .apply-grid{grid-template-columns: repeat(3, 1fr);} }
  @media (max-width:640px){  .apply-grid{grid-template-columns: repeat(2, 1fr);} }
  @media (max-width:420px){  .apply-grid{grid-template-columns: 1fr;} }

  .apply-grid .card{
    border:1px solid #eee;border-radius:12px;overflow:hidden;background:#fff;
    transition:transform .15s ease, box-shadow .15s ease;cursor:pointer;
  }
  .apply-grid .card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.06)}
  .apply-grid .thumb{
    position:relative;width:100%;aspect-ratio:1/1;
    background:#f3f6fb;display:flex;align-items:center;justify-content:center
  }
  .apply-grid .thumb img{width:100%;height:100%;object-fit:cover}
  .apply-grid .meta{padding:10px 12px 12px}
  .apply-grid .name{font-weight:700}
  .apply-grid .name small{font-weight:500;color:#666;margin-left:.25rem}
  .apply-grid .status{margin-top:6px}
  .apply-grid .chip{display:inline-block;padding:.22rem .5rem;border-radius:999px;font-size:.8rem;line-height:1;border:1px solid rgba(0,0,0,.08)}
  .apply-grid .-open{background:#f6ffed;border-color:#b7eb8f;color:#237804}
  .apply-grid .-full{background:#fffbe6;border-color:#ffe58f;color:#ad8b00}
  .apply-grid .-closed{background:#fff1f0;border-color:#ffa39e;color:#a8071a}
  .apply-grid .card[aria-disabled="true"]{opacity:.6;cursor:not-allowed}


/* --- Apply form polish --- */
.jf-container .card{
  border:1px solid #e9edf3;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.05);
  padding:18px 18px 20px;
}

#jf-apply-form fieldset{ display:grid; gap:14px; }

#jf-apply-form .form-row{
  display:grid;
  gap:8px;
}
#jf-apply-form label{
  font-weight:700;
  letter-spacing:-.2px;
}
#jf-apply-form input[type="text"],
#jf-apply-form input[type="tel"],
#jf-apply-form input[type="email"],
#jf-apply-form select,
#jf-apply-form textarea{
  border:1px solid #dfe5ee;
  border-radius:10px;
  padding:10px 12px;
  font-size:15px;
  outline:none;
  transition:border-color .15s, box-shadow .15s;
}
#jf-apply-form input:focus,
#jf-apply-form select:focus,
#jf-apply-form textarea:focus{
  border-color:#1f66ff;
  box-shadow:0 0 0 3px rgba(31,102,255,.12);
}

/* 에러 표시 */
.is-invalid{
  border-color:#ff4d4f !important;
  box-shadow:0 0 0 3px rgba(255,77,79,.12) !important;
}
.field-help{ font-size:12px; color:#8a8f98; }
.field-error{ font-size:12px; color:#a8071a; }

/* 도움말 */
.help.small{ font-size:12px; color:#8a8f98; }

/* --- Submit button bigger & readable --- */
#jf-apply-form .form-actions{
  display:flex; gap:10px; justify-content:flex-start; align-items:center; margin-top:4px;
}
#jf-apply-form .btn.btn-primary{
  min-width: 180px;         /* ✅ 가로로 조금 크게 */
  height: 44px;
  padding: 0 18px;
  font-size: 16px;
  font-weight: 700;
  border-radius: 10px;
}

/* 모바일 여백/가독성 */
@media (max-width: 560px){
  #jf-apply-form .btn.btn-primary{ min-width: 160px; }
}


/* ===== Responsive polish: PC & Mobile ===== */

/* 1) 테이블 래퍼는 모바일에서 가로 스크롤 대안도 지원 */
.table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

/* 2) 긴 텍스트/뱃지/버튼 정렬 안정화 */
.jf-table th, .jf-table td{
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.jf-table .btn{white-space:nowrap}

/* 3) 모바일에서는 테이블을 '카드형'으로 변환 (찌그러짐 방지) */
@media (max-width: 720px){
  /* 헤더 감추고 행을 카드처럼 */
  .jf-table thead{ display:none; }

  .jf-table,
  .jf-table tbody,
  .jf-table tr,
  .jf-table td{
    display:block;
    width:100%;
  }

  /* 각 행(=tr)을 카드처럼 보이게 */
  .jf-table tr{
    border:1px solid #eee;
    border-radius:12px;
    padding:10px 12px;
    margin:10px 0;
    background:#fff;
  }
  .jf-table td{
    border:0;
    padding:.5rem 0;
    display:grid;
    grid-template-columns: 92px 1fr; /* 라벨, 값 */
    column-gap:8px;
    align-items:center;
    font-size:.95rem;
  }
  .jf-table td + td{ border-top:1px dashed #f0f0f0; }

  /* 각 셀의 라벨(헤더 역할) 붙여주기 — 열 순서 기준 */
  .jf-table td:nth-child(1)::before{ content:"상태"; color:#667085; font-weight:600; }
  .jf-table td:nth-child(2)::before{ content:"부스";  color:#667085; font-weight:600; }
  .jf-table td:nth-child(3)::before{ content:"상담시간"; color:#667085; font-weight:600; }
  .jf-table td:nth-child(4)::before{ content:"학번"; color:#667085; font-weight:600; }
  .jf-table td:nth-child(5)::before{ content:"신청일"; color:#667085; font-weight:600; }
  .jf-table td:nth-child(6)::before{ content:"관리"; color:#667085; font-weight:600; }

  /* 기존 hide-mo는 카드모드에선 숨기지 않도록 무력화 */
  .hide-mo{ display:unset !important; }

  /* 상태칩/버튼 크기 모바일 최적화 */
  .jf-chip{ transform:translateY(1px); }
  .btn-sm{ height:36px; padding:0 .75rem; }

  /* 관리 버튼 영역은 우측 정렬 */
  .jf-table td:nth-child(6){
    grid-template-columns: 92px auto;
    justify-content:space-between;
  }
}

/* 4) 초소형 화면(≤360px)에서 폰트/간격 더 조정 */
@media (max-width: 360px){
  .jf-table td{ grid-template-columns: 86px 1fr; }
  .btn-sm{ height:34px; }
}

/* 5) 대비 강화(선택) — 카드 경계 살짝 강조 */
@media (max-width: 720px){
  .jf-table tr{ box-shadow:0 4px 12px rgba(0,0,0,.04); border-color:#e9edf3; }
}


/* ===== 1) 배지(신청 목록 카운트) 가독성 강화 ===== */
#my-count.badge{
  background:#1f66ff;   /* 진한 파란 배경 */
  color:#fff;           /* 흰색 글자 */
  border:0;
  font-weight:700;
  min-width: 28px;
  height: 22px;
  padding: 0 8px;
  line-height: 22px;
  border-radius: 999px;
  text-align:center;
  box-shadow: 0 2px 6px rgba(31,102,255,.25);
}
.jf-my-head > div{ display:flex; align-items:center; gap:8px; } /* '신청 목록'과 배지 간격 */

/* ===== 2) 공통 타이포/줄바꿈 보강 ===== */
.jf-table th, .jf-table td{
  word-break: keep-all;
  overflow-wrap: anywhere;      /* 긴 부스명 줄바꿈 안전 */
}
.jf-table .btn{ white-space: nowrap; }

/* ===== 3) 모바일 카드 레이아웃 고도화 (≤720px) ===== */
@media (max-width: 720px){
  /* 테이블 → 카드 */
  .jf-table thead{ display:none; }
  .jf-table, .jf-table tbody, .jf-table tr, .jf-table td{ display:block; width:100%; }

  .jf-table tr{
    background:#fff;
    border:1px solid #e9edf3;
    border-radius:12px;
    box-shadow:0 4px 12px rgba(0,0,0,.04);
    padding:12px 14px;
    margin:12px 0;
  }

  /* 각 셀: 라벨/값 2열 그리드 */
  .jf-table td{
    border:0;
    padding:8px 0;
    display:grid;
    grid-template-columns: 96px 1fr;  /* 라벨 고정폭, 값 가변 */
    column-gap:10px;
    align-items:center;
    font-size:.95rem;
  }
  /* 셀 사이 구분선(점선 대신 얇은 실선) */
  .jf-table td + td{ position:relative; }
  .jf-table td + td::before{
    content:"";
    position:absolute; left:0; right:0; top:0;
    height:1px; background:#f2f4f7;
  }

  /* 라벨 텍스트 삽입 */
  .jf-table td:nth-child(1)::before{ content:"상태";     color:#667085; font-weight:600; }
  .jf-table td:nth-child(2)::before{ content:"부스";      color:#667085; font-weight:600; }
  .jf-table td:nth-child(3)::before{ content:"상담시간";  color:#667085; font-weight:600; }
  .jf-table td:nth-child(4)::before{ content:"학번";      color:#667085; font-weight:600; }
  .jf-table td:nth-child(5)::before{ content:"신청일";    color:#667085; font-weight:600; }
  .jf-table td:nth-child(6)::before{ content:"관리";      color:#667085; font-weight:600; }

  /* 기존 hide-mo도 카드에선 보이도록 */
  .hide-mo{ display:unset !important; }

  /* 상태칩/버튼 모바일 최적화 */
  .jf-chip{ font-size:.78rem; padding:.22rem .5rem; transform:translateY(1px); }
  .btn-sm{ height:36px; padding:0 .8rem; }

  /* 관리 버튼은 한 줄 꽉 차게(두 개 이상이면 자동 줄바꿈) */
  .jf-table td:nth-child(6) { grid-template-columns: 96px 1fr; }
  .jf-table td:nth-child(6) .btn{ width:100%; justify-content:center; }
  .jf-table td:nth-child(6) .btn + .btn{ margin-top:6px; } /* 여러 버튼 세로 쌓기 */

  /* 부스명은 최대 2줄까지만 보이도록 (말줄임) */
  .jf-table td:nth-child(2){ align-items:start; }
  .jf-table td:nth-child(2) > *:last-child{
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
    overflow:hidden;
  }
}

/* ===== 4) 초소형(≤360px) 마이크로 조정 ===== */
@media (max-width: 360px){
  .jf-table td{ grid-template-columns: 88px 1fr; }
  .btn-sm{ height:34px; }
  #my-count.badge{ min-width: 26px; height: 20px; line-height: 20px; font-size:.8rem; }
}


/* ===== 안정화 공통 ===== */
.jf-container * { box-sizing: border-box; }
.page-title { display:block; margin: 0 0 16px; }

/* 상단 헤더 좌우 겹침 방지 */
.jf-my-head{ flex-wrap: wrap; align-items: flex-start; row-gap: 8px; }
.jf-my-actions{ margin-left: auto; }

/* ===== 모바일 카드 모드 겹침 해결 & 정렬 보강 (≤720px) ===== */
@media (max-width: 720px){
  /* td를 2열 grid로 쓰되, 라벨과 값 칸을 명확히 분리 */
  .jf-table td{
    display:grid;
    grid-template-columns: minmax(88px, 38%) 1fr; /* 라벨은 최소 88px, 최대 38% */
    column-gap:10px;
    align-items:flex-start;
    row-gap:4px;
  }

  /* ::before 라벨을 1열에 고정 */
  .jf-table td::before{
    grid-column: 1;
    align-self: start;
    white-space: nowrap;
    line-height: 1.35;
  }

  /* 실제 내용은 2열에 고정 + 줄바꿈 허용(수축 허용) */
  .jf-table td > *{
    grid-column: 2;
    min-width: 0;                 /* 긴 텍스트/버튼이 라벨을 밀지 않게 */
    overflow-wrap: anywhere;
  }

  /* ‘관리’ 칸 버튼 정리: 한 줄 꽉 차거나 세로 스택 */
  .jf-table td:nth-child(6){ grid-template-columns: minmax(88px,38%) 1fr; }
  .jf-table td:nth-child(6) .btn{ width:100%; justify-content:center; }
  .jf-table td:nth-child(6) .btn + .btn{ margin-top:6px; }

  /* 상태칩/버튼 라인 높이 통일 */
  .jf-chip{ line-height:1; }
  .btn-sm{ height:36px; }
}

/* ===== 초소형(≤360px) 더 여유 ===== */
@media (max-width: 360px){
  .jf-table td{ grid-template-columns: minmax(80px, 42%) 1fr; }
}

/* ===== 부스명/긴 텍스트 줄바꿈 안정화 (모든 해상도) ===== */
.jf-table td:nth-child(2) > *{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}

/* ===== 배지 대비 강화(흰 배경) ===== */
#my-count.badge{
  background:#1f66ff; color:#fff; border:0; font-weight:700;
  min-width:28px; height:22px; line-height:22px; padding:0 8px; border-radius:999px;
  box-shadow:0 2px 6px rgba(31,102,255,.25);
}
.jf-my-head > div{ display:flex; align-items:center; gap:8px; }


/* ===== 신청페이지 하단: 부스 리스트 썸네일 리사이징 ===== */
.jf-apply-boothlist .apply-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px,1fr));
  gap: 16px;
}

.jf-apply-boothlist .card{
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  transition: box-shadow .15s ease, transform .05s ease;
}
.jf-apply-boothlist .card:hover,
.jf-apply-boothlist .card:focus{
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}

/* 핵심: 카드 가로폭 기준 비율 유지 박스 + 이미지 비율 유지 */
.jf-apply-boothlist .card .thumb{
  aspect-ratio: 16 / 9;         /* 가로 리사이징 중심 (원하면 4/3, 3/2로 변경 가능) */
  width: 100%;
  background: #f6f7f9;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.jf-apply-boothlist .card .thumb img{
  width: 100%;
  height: 100%;
  object-fit: contain;           /* 여백 허용 + 비율 유지 (꽉 채우려면 cover로 변경) */
  display: block;
  image-rendering: auto;
}

/* 텍스트 영역 */
.jf-apply-boothlist .card .meta{
  padding: 12px 14px 14px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
}
.jf-apply-boothlist .card .name{
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  color: #222;
  word-break: keep-all;
}

/* 상태칩 (필요 시) */
.jf-apply-boothlist .chip{
  display: inline-block;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.jf-apply-boothlist .chip.-open{   background:#e9f7ef; color:#198754; }
.jf-apply-boothlist .chip.-full{   background:#fff3cd; color:#b58100; }
.jf-apply-boothlist .chip.-closed{ background:#f8d7da; color:#b02a37; }

/* 반응형 보강 */
@media (max-width: 420px){
  .jf-apply-boothlist .apply-grid{ gap: 12px; }
  .jf-apply-boothlist .card .meta{ padding: 10px 12px 12px; }
  .jf-apply-boothlist .card .name{ font-size: 14px; }
}

/* 구형 브라우저 대비: aspect-ratio 미지원 fallback */
@supports not (aspect-ratio: 1 / 1){
  .jf-apply-boothlist .card .thumb{
    position: relative;
    height: 0;
    padding-top: 56.25%;   /* 16:9 = 56.25% */
  }
  .jf-apply-boothlist .card .thumb img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
/* 로고 영역 배경 흰색으로 */
.jf-apply-boothlist .card .thumb{
  background: #fff !important;
}

.pick-wrap .card,
.jf-apply-boothlist .card{
  border-color: #eee;
}

:root{ --hongik-blue:#004EA2; }
.apply-grid .card{ position:relative; }
.badge-hongdaesenbae{
  position:absolute; top:.6rem; right:.6rem; z-index:2;
  background:var(--hongik-blue); color:#fff;
  border-radius:999px; padding:.45rem .9rem;
  font-size:.98rem; font-weight:900; letter-spacing:.015em;
  box-shadow:0 3px 10px rgba(0,0,0,.22);
  display:flex; align-items:center; gap:.45rem;
}
/*.badge-hongdaesenbae .dot{ width:.72rem; height:.72rem; border-radius:50%; background:#fff; opacity:.95; }*/
@media (min-width:768px){
  .badge-hongdaesenbae{ padding:.55rem 1rem; font-size:1.05rem; gap:.5rem; }
  .badge-hongdaesenbae .dot{ width:.8rem; height:.8rem; }
}

/* --- Grid 기본 --- */
.apply-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 14px;
}

.apply-grid .loading,
.apply-grid .error,
.apply-grid .empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 2rem 1rem;
  color: #666;
  font-size: 0.95rem;
}

/* --- Card --- */
.booth-card {
  background: #fff;
  border: 1px solid #e9edf2;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: box-shadow .2s ease, transform .06s ease;
  outline: none;
}
.booth-card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.06); transform: translateY(-1px); }
.booth-card:focus { box-shadow: 0 0 0 3px rgba(33,150,243,.25); }

.booth-card[aria-disabled="true"] {
  opacity: .7;
  cursor: not-allowed;
}

/* --- Thumbnail --- */
.booth-card .thumb {
  position: relative;
  aspect-ratio: 4 / 3; /* 이미지 비율 고정 */
  background: #f6f8fb;
  display: grid;
  place-items: center;
}
.booth-card .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* --- Status Badge: 이미지 우상단 고정 --- */
.booth-card .badge {
  position: absolute;
  top: 10px;
  right: 10px;
}

/* --- Chip 스타일 --- */
.chip {
  display: inline-block;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  border: 1px solid transparent;
  background: #eef3ff;
  color: #2852ff;
}
.chip.-open   { background: #e9f7ee; color: #15803d; border-color: #bbf7d0; }
.chip.-full   { background: #fde8e8; color: #b91c1c; border-color: #fecaca; }
.chip.-closed { background: #eef2f7; color: #64748b; border-color: #e2e8f0; }

/* --- Meta / Title --- */
.booth-card .meta {
  padding: 12px 12px 14px;
}
.booth-card .name {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  display: -webkit-box;
  -webkit-line-clamp: 2;   /* 최대 2줄 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.8em;       /* 두 줄 높이 확보 → 카드 높이 안정화 */
  word-break: keep-all;    /* 한국어 단어 어색한 강제 줄바꿈 방지 */
}

/* 접근성 보조: 키보드 포커스 및 버튼 역할 */
.booth-card[role="button"]


/* 그리드는 기존 그대로 사용 (크기 변경 없음) */

/* 카드 기본 */
.booth-card {
  background: #fff;
  border: 1px solid #e9edf2;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: box-shadow .2s ease, transform .06s ease;
  outline: none;
}
.booth-card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.06); transform: translateY(-1px); }
.booth-card:focus { box-shadow: 0 0 0 3px rgba(33,150,243,.25); }
.booth-card[aria-disabled="true"] { opacity:.7; cursor:not-allowed; }

/* 썸네일: 크기/비율 강제 X (기존 규격 유지) */
.booth-card .thumb {
  background: #f6f8fb;
  display: grid;
  place-items: center;
}
.booth-card .thumb img {
  width: 100%;
  height: auto;   /* ← 세로 비율 유지 (기존 이미지 크기 그대로) */
  object-fit: contain; /* 로고 찌그러짐 방지 */
}

/* 상태 행: 이미지 아래, 제목과 분리 */
.booth-card .status-row {
  padding: 8px 12px 0;   /* 윗간격만 약간 */
}

/* 칩 */
.chip {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  border: 1px solid transparent;
}
.chip.-open   { background:#e9f7ee; color:#15803d; border-color:#bbf7d0; }
.chip.-full   { background:#fde8e8; color:#b91c1c; border-color:#fecaca; }
.chip.-closed { background:#eef2f7; color:#64748b; border-color:#e2e8f0; }

/* 메타/제목: 제목은 최대 2줄, 말줄임. 상태와 같은 행에 절대 안 나옴 */
.booth-card .meta { padding: 10px 12px 14px; }
.booth-card .name{
  font-size: 15px;
  font-weight: 700;
  color:#111827;
  display: -webkit-box;
  -webkit-line-clamp: 2;         /* 최대 2줄 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.8em;             /* 두 줄 높이 확보 → 카드 높이 균일 */
  word-break: keep-all;          /* 한국어 단어 부자연스런 끊김 방지 */
}


/* 카드 배경을 확실히 흰색으로 */
.booth-card,
.pick-card {
  background: #fff;           /* 카드 배경 흰색 */
  border: 1px solid #e9edf2;
  border-radius: 12px;
}

/* 로고 영역: 일정 높이로 세로 맞춤(로고 비율 유지) */
.booth-card .thumb,
.pick-card .thumb {
  background: #fff;           /* 로고 배경도 흰색 */
  height: 140px;              /* ★ 세로 고정: 로고가 들쭉날쭉하지 않게 */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;              /* 로고가 가장자리 붙지 않게 여백 */
  border-bottom: 1px solid #f1f5f9;  /* 로고 영역과 본문 구분선 */
  box-sizing: border-box;
}

/* 로고 이미지: 비율 유지 + 컨테이너 안에서만 최대화 (흰 배경 위에서 경계 보이도록 옅은 테두리) */
.booth-card .thumb img,
.pick-card .thumb img {
  max-width: 92%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;        /* 왜곡/크롭 없음 */
  background: #fff;           /* 이미지 자체 배경도 흰색 */
  border: 1px solid #EEF2F7;  /* 흰배경 위에서 로고 경계가 보이도록 아주 옅게 */
  border-radius: 8px;
}

/* 상태 행(이미지 아래), 제목과는 분리 */
.booth-card .status-row,
.pick-card .status-row {
  padding: 10px 12px 0;
}

/* 제목은 최대 2줄 말줄임 */
.booth-card .meta,
.pick-card .meta {
  padding: 10px 12px 14px;
}
.booth-card .name,
.pick-card .name {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  display: -webkit-box;
  -webkit-line-clamp: 2;      /* 최대 2줄 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.8em;          /* 두 줄 높이 확보 → 카드 높이 균일 */
  word-break: keep-all;       /* 한국어 어색한 줄바꿈 방지 */
}

/* 칩 컬러 (그대로 유지) */
.chip.-open   { background:#e9f7ee; color:#15803d; border-color:#bbf7d0; }
.chip.-full   { background:#fde8e8; color:#b91c1c; border-color:#fecaca; }
.chip.-closed { background:#eef2f7; color:#64748b; border-color:#e2e8f0; }

/* 반응형: 모바일에서 로고 영역 살짝 낮춤 */
@media (max-width: 480px) {
  .booth-card .thumb,
  .pick-card .thumb {
    height: 120px;            /* 모바일에서 약간 더 낮게 */
  }
}


/* --- 카드: 모서리 둥글게는 유지하되, 내부 클리핑은 금지 --- */
.booth-card,
.pick-card {
  background: #fff;
  border: 1px solid #e9edf2;
  border-radius: 12px;
  /* overflow: hidden;  ← 이거 제거! */
  overflow: visible; /* 로고 모서리 잘림 방지 */
}

/* --- 로고 컨테이너: 정사각 & 여백 최소화 --- */
.booth-card .thumb,
.pick-card .thumb {
  background: #fff;
  /* 높이 고정 대신 정사각 비율로 꽉 채우기 */
  aspect-ratio: 1 / 1;
  /* 여백 최소화 (필요 시 4~8px로만 조정) */
  padding: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* 구분선이 거슬리면 제거 가능 */
  border-bottom: 1px solid #f1f5f9;
  box-sizing: border-box;
}

/* --- 로고 이미지: 왜곡 없이 최대 채우기 + 모서리/테두리 없음 --- */
.booth-card .thumb img,
.pick-card .thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;   /* 크롭 없이 컨테이너 최대 채움 */
  display: block;
  /* 모서리/테두리로 로고가 가려지는 문제 제거 */
  border: 0;
  border-radius: 0;
  background: transparent;
  /* 과거에 넣었던 옅은 테두리/그림자 등 제거 */
  box-shadow: none;
}

/* --- 상태 줄: 이미지 아래(제목과 분리) 그대로 유지 --- */
.booth-card .status-row,
.pick-card .status-row {
  padding: 8px 12px 0;
}

/* --- 제목: 최대 2줄 말줄임 유지 --- */
.booth-card .meta, .pick-card .meta { padding: 10px 12px 14px; }
.booth-card .name, .pick-card .name {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.8em;
  word-break: keep-all;
}

/* 모바일에서 로고 컨테이너 여백 더 줄이고 싶으면 */
@media (max-width: 480px) {
  .booth-card .thumb,
  .pick-card .thumb {
    padding: 4px; /* 더 타이트하게 */
  }
}


/* ▼ 이 페이지 전용: 라운드 복구 + 로고 모서리 보존 */
.apply-grid .booth-card {
  border-radius: 12px !important;   /* 전역 .card 규칙보다 강하게 */
  border: 1px solid #e9edf2;
  background: #fff;
  overflow: hidden;                  /* 라운드 시각 유지 */
  transition: box-shadow .2s ease, transform .06s ease;
}
.apply-grid .booth-card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.06); transform: translateY(-1px); }

/* 로고 영역: 정사각형 + 모서리 안 닿도록 패딩(=이미지 코너 안 잘림) */
.apply-grid .booth-card .thumb {
  background: #fff;
  aspect-ratio: 1 / 1;              /* 정사각 박스 */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;                      /* 이미지가 카드 모서리에 닿지 않게 */
  box-sizing: border-box;
  border-bottom: 1px solid #f1f5f9;
}

/* 로고 이미지: 꽉 차되 왜곡/크롭 없음 */
.apply-grid .booth-card .thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;               /* 여백 최소화 + 크롭 방지 */
  display: block;
  border: 0;                         /* 이미지 자체 라운드/테두리 제거 */
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* 상태줄(이미지 아래) + 제목(별도 줄) 그대로 유지 */
.apply-grid .booth-card .status-row { padding: 8px 12px 0; }
.apply-grid .booth-card .meta { padding: 10px 12px 14px; }
.apply-grid .booth-card .name {
  font-size: 15px; font-weight: 700; color:#111827;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 2.8em; word-break: keep-all;
}
