@charset "utf-8";
/* ============================= 반응형 - 메인 페이지 ============================= */

/* ===== 햄버거 버튼 (기본 숨김) ===== */
.mob-hamburger {
  display: none; background: none; border: none; cursor: pointer;
  width: 36px; height: 36px; padding: 6px; margin-left: 12px;
  flex-direction: column; justify-content: center; align-items: center; gap: 5px;
  flex-shrink: 0;
}
.mob-hamburger span {
  display: block; width: 20px; height: 2px; background: #333;
  transition: all 0.3s;
}
.mob-hamburger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mob-hamburger.active span:nth-child(2) { opacity: 0; }
.mob-hamburger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.header-logo-mobile { display: none; }

/* ===== 모바일 사이드 메뉴 (기본 숨김) ===== */
.mob-menu-overlay {
  display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.4);
  z-index: 9998;
}
.mob-menu-overlay.open { display: block; }
.mob-menu {
  position: fixed; top: 0; left: -300px; width: 280px; height: 100%;
  background: #fff; z-index: 9999; overflow-y: auto;
  transition: left 0.3s ease; box-shadow: 4px 0 20px rgba(0,0,0,0.1);
}
.mob-menu.open { left: 0; }
.mob-menu__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px; border-bottom: 1px solid #F4F4F5;
}
.mob-menu__title {
  font-family: 'Outfit', 'Pretendard', sans-serif;
  font-size: 18px; font-weight: 700; color: #111;
}
.mob-menu__close {
  background: none; border: none; cursor: pointer;
  font-size: 20px; color: #71717A; padding: 4px;
}
.mob-menu__list { padding: 12px 0; }
.mob-menu__list > li { border-bottom: 1px solid #F4F4F5; }
.mob-menu__list > li > a {
  display: block; padding: 14px 20px;
  font-family: 'Pretendard', sans-serif; font-size: 15px; font-weight: 500;
  color: #333; transition: background 0.15s;
}
.mob-menu__list > li > a:hover { background: #F9FAFB; }
.mob-menu__sub { padding: 0 0 8px; }
.mob-menu__sub li a {
  display: block; padding: 10px 20px 10px 36px;
  font-family: 'Pretendard', sans-serif; font-size: 14px; color: #71717A;
  transition: color 0.15s;
}
.mob-menu__sub li a:hover { color: #111; }

/* ===== 모바일 페이지 라벨 (기본 숨김) ===== */
.mp-mobile-page-label { display: none; }

/* ===== 1400px 이하 ===== */
@media (max-width: 1400px) {
  .section-inner { padding: 40px 40px; }
  .section04 .section-inner { padding: 56px 40px; }
  footer { padding: 48px 40px 32px; }
  header { padding: 0 40px; }
  #mainvisual { padding: 0 16px; }
}

/* ===== 1024px 이하 (태블릿) ===== */
@media (max-width: 1024px) {
  body { min-width: 0; padding-top: 92px; }

  /* GNB + 메가메뉴 숨김, 모바일 햄버거 표시 */
  #gnb { display: none; }
  .header-row2 { display: none; }
  .mega-menu { display: none !important; }
  .gnb-toggle { display: none; }

  /* 모바일 헤더: 햄버거(좌) 로고(중앙) 아이콘(우) */
  header { padding: 0 !important; flex-direction: row !important; height: 56px !important; align-items: center; }
  .header-row1 {
    width: 100%; padding: 0 16px; height: 56px;
    display: flex !important; align-items: center; justify-content: space-between;
  }
  .mob-hamburger { display: flex !important; order: 0; flex: 0 0 48px; margin-left: 0; }
  .header-row1 .header_logo { order: 1; flex: 1; text-align: center; }
  .header-row1 .header_logo a { width: auto; display: inline-flex; align-items: center; justify-content: center; }
  .header-row1 .header_logo .header-logo-desktop { display: none !important; }
  .header-row1 .header_logo .header-logo-mobile { display: block !important; width: 176px; max-width: 44vw; height: auto; }
  .header-row1 .header_icon { order: 2; flex: 0 0 76px; display: flex; justify-content: flex-end; }
  .header-row1 .header_icon ul { gap: 14px; }

  .section-inner { padding: 36px 24px; }
  .section04 .section-inner { padding: 48px 24px; }
  footer { padding: 40px 24px 28px; }
  #mainvisual { height: auto; padding: 0 12px; }
  .mainvisual_slider li { height: 100%; }

  /* 매거진 그리드 → 2컬럼 */
  .grid-magazine { height: auto; flex-direction: column; gap: 12px; }
  .gmag-big { flex: 0 0 auto; height: 320px; width: 100%; }
  .gmag-side { flex: 0 0 auto; flex-direction: row; gap: 12px; width: 100%; }
  .gmag-small { flex: 1 1 0; height: 200px; min-width: 0; }

  /* 4컬럼 → 2컬럼 */
  .itembox-grid4 { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .section03 .itembox .itb_p,
  .section04 .itembox .itb_p { height: 280px; }

  /* 히어로 네비 */
  .hero-nav { width: 40px; height: 40px; }
  .hero-nav svg { width: 20px; height: 20px; }

  /* 24시간 브랜드 하이라이트 — 태블릿: 중앙 스케일 해제, 2컬럼 */
  .brand24h-box { padding: 48px 32px; }
  .brand24h-wrapper .bx-wrapper,
  .brand24h-wrapper .bx-viewport { overflow: hidden !important; }
  .brand24h-slider.is-scaled > li,
  .brand24h-slider.is-scaled > li.is-center { transform: none; }
  .brand24h-nav { width: 38px; height: 38px; }
  .brand24h-nav--prev { left: -14px; }
  .brand24h-nav--next { right: -14px; }

  /* 라이징 브랜드 → 네비 버튼 축소 */
  .rising-nav { width: 38px; height: 38px; }
  .rising-nav--prev { left: -14px; }
  .rising-nav--next { right: -14px; }

  /* 오늘의 추천 상품 — 태블릿: 1층 유지 */
  .picks-slide { gap: 12px; }
  .picks-right__header { padding: 2px 2px 12px; }
  .picks-right__title { font-size: 17px; }
  .picks-right__sub { font-size: 12px; }
  .picks-right__price { font-size: 14px; margin-top: 5px; }
  .picks-products { gap: 8px; }
  .picks-product__name { font-size: 11px; }
  .picks-product__price { font-size: 12px; }
  .picks-nav { width: 38px; height: 38px; }
  .picks-nav--prev { left: -14px; }
  .picks-nav--next { right: -14px; }

  /* 푸터 */
  .ft-top { flex-direction: column; gap: 32px; }
  .ft-brand { width: 100%; }
  .ft-nav { gap: 32px; }
  .ft-bottom { flex-direction: column; gap: 12px; text-align: center; }

  /* GNB */
  #gnb > ul { gap: 16px; }
  #gnb > ul > li > a { font-size: 13px; }
}

/* ===== 768px 이하 (모바일) ===== */
@media (max-width: 768px) {
  body { padding-top: 88px; }

  /* 공지 바 */
  .notice-bar { height: 32px; }
  .notice-bar p { font-size: 12px; }

  /* 헤더 */
  header { height: 56px; padding: 0 16px; top: 0; }
  header .header_logo a { width: auto; }
  header .header_logo .header-logo-mobile { width: 176px; max-width: 44vw; }

  header .header_icon > ul { gap: 14px; }
  header .header_icon > ul > li > a { font-size: 16px; }

  /* 히어로 */
  #mainvisual { height: auto; padding: 0 18px; gap: 12px; margin-bottom: 8px; }
  #mainvisual .bx-wrapper,
  #mainvisual .bx-viewport { height: 100% !important; }
  .mainvisual_slider li { height: 100%; border-radius: 18px; }
  .mainvisual_slider li img,
  #mainvisual .mainvisual_img img { object-position: center center; }
  .hero-nav { width: 32px; height: 32px; }
  .hero-nav svg { width: 16px; height: 16px; }
  .hero-slide__overlay { padding: 18px; }
  .hero-slide__info { padding: 0; background: transparent; }
  .hero-slide__name { font-size: 15px; }
  .hero-slide__meta { font-size: 12px; }
  .hero-slide__sub { font-size: 12px; }

  /* 섹션 공통 */
  .section-inner { padding: 34px 18px; }
  .section04 .section-inner { padding: 40px 18px; }
  .section-hdr { margin-bottom: 18px; }
  .section-hdr__title { font-size: 20px; }
  .section04 .section-hdr__title { font-size: 22px; }
  .section-hdr__more { font-size: 13px; }
  .section-slide-btns { display: none; }

  /* 매거진 그리드 → 1컬럼 */
  .grid-magazine { flex-direction: column; height: auto; gap: 16px; }
  .gmag-big { flex: 0 0 auto; height: min(70vw, 340px); width: 100%; }
  .gmag-side { flex: 0 0 auto; flex-direction: column; gap: 16px; width: 100%; }
  .gmag-small { flex: 0 0 auto; height: min(56vw, 260px); width: 100%; }

  /* 오버레이 카드 */
  .overlay-card { border-radius: 16px; box-shadow: 0 8px 24px rgba(24, 24, 27, 0.08); }
  .overlay-card__info { padding: 16px; }
  .gmag-big .overlay-card__info { padding: 16px; }
  .overlay-card__name { font-size: 16px; }
  .gmag-small .overlay-card__name { font-size: 14px; }
  .overlay-card__price { font-size: 16px; }
  .gmag-small .overlay-card__price { font-size: 13px; }
  .overlay-card__seller { font-size: 12px; }
  .overlay-card__tag { font-size: 12px; padding: 3px 8px; }
  .overlay-card__icons a { width: 28px; height: 28px; font-size: 12px; }

  /* 4컬럼 → 2컬럼 */
  .itembox-grid4 { grid-template-columns: repeat(2, 1fr); gap: 18px 14px; }
  .section03 .itembox .itb_p,
  .section04 .itembox .itb_p {
    height: min(56vw, 260px);
    border-radius: 14px;
    overflow: hidden;
  }
  .itembox { margin-right: 0; }

  /* 상품 카드 텍스트 */
  .itembox .itb_p { border-radius: 14px; overflow: hidden; }
  .itembox .itb_t { padding: 12px 0 0; gap: 5px; }
  .itembox .itb_p > div { top: 10px; left: 10px; font-size: 12px; padding: 3px 8px; }
  .itb_t_seller { font-size: 12px; }
  .itb_t_pname a { font-size: 14px; }
  .itb_t_price .current_price { font-size: 16px; }
  .itb_t_info { font-size: 12px; }

  /* 해시태그 필터 */
  .sec04_hashtag ul { gap: 6px; }
  .sec04_hashtag ul li a { height: 28px; line-height: 28px; padding: 0 10px; font-size: 12px; }

  /* 24시간 브랜드 하이라이트 — 모바일: 1카드, 중앙 스케일 해제 */
  .brand24h-box { padding: 34px 18px; border-radius: 16px; }
  .brand24h-wrapper .bx-wrapper,
  .brand24h-wrapper .bx-viewport { overflow: hidden !important; }
  .brand24h-slider.is-scaled > li,
  .brand24h-slider.is-scaled > li.is-center { transform: none; }
  .brand24h-nav { width: 32px; height: 32px; }
  .brand24h-nav svg { width: 18px; height: 18px; }
  .brand24h-nav--prev { left: -6px; }
  .brand24h-nav--next { right: -6px; }
  .brand24h-card__info { padding: 12px 10px 14px; }
  .brand24h-card__seller { font-size: 10px; }
  .brand24h-card__name { font-size: 13px; min-height: 2.6em; }
  .brand24h-card__price { font-size: 15px; }
  .brand24h-card__tag { font-size: 10px; padding: 2px 6px; }

  /* 라이징 브랜드 → 1카드, 네비 축소 */
  .rising-nav { width: 32px; height: 32px; }
  .rising-nav svg { width: 18px; height: 18px; }
  .rising-nav--prev { left: -6px; }
  .rising-nav--next { right: -6px; }

  /* 오늘의 추천 상품 — 모바일: 1슬라이드, 1층 구조 유지 */
  .picks-slide { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 14px; }
  .picks-banner { border-radius: 14px; }
  .picks-banner__badge { top: 10px; left: 10px; font-size: 10px; padding: 3px 7px; }
  .picks-right__header { padding: 2px 2px 10px; }
  .picks-right__eyebrow { font-size: 10px; letter-spacing: 2px; margin-bottom: 4px; }
  .picks-right__title { font-size: 16px; margin-bottom: 4px; }
  .picks-right__sub { font-size: 11px; }
  .picks-right__price { font-size: 13px; margin-top: 4px; }
  .picks-right__tags { margin-top: 6px; gap: 4px; }
  .picks-right__tag { font-size: 10px; padding: 2px 7px; }
  .picks-products { gap: 12px; }
  .picks-product__info { padding: 6px 0 2px; }
  .picks-product__seller { font-size: 9px; }
  .picks-product__name { font-size: 10px; }
  .picks-product__price { font-size: 11px; }
  .picks-nav { width: 32px; height: 32px; }
  .picks-nav svg { width: 18px; height: 18px; }
  .picks-nav--prev { left: -6px; }
  .picks-nav--next { right: -6px; }
  .picks-pager { margin-top: 16px; font-size: 13px; }
  .rising-card__overlay { padding: 10px 12px 12px; }
  .rising-card { border-radius: 16px; overflow: hidden; }
  .rising-card__pname { font-size: 12px; }
  .rising-card__price { font-size: 14px; }
  .rising-card__info { padding: 14px 4px 6px; gap: 10px; }
  .rising-card__profile { flex: 0 0 40px; width: 40px; height: 40px; }
  .rising-card__name-kr { font-size: 13px; }
  .rising-card__name-en { font-size: 10px; }

  /* 푸터 */
  footer { padding: 32px 16px 24px; }
  .ft-top { flex-direction: column; gap: 24px; }
  .ft-brand { width: 100%; text-align: center; align-items: center; }
  .ft-brand__addr { font-size: 13px; }
  .ft-brand__legal { font-size: 13px; }
  .ft-nav { gap: 24px; flex-wrap: wrap; justify-content: center; }
  .ft-nav__col { min-width: 80px; align-items: center; text-align: center; }
  .ft-bottom { flex-direction: column; gap: 10px; text-align: center; }
  .ft-bottom p { font-size: 13px; }

  /* 알림 드롭다운 */
  .h_alarm .ha_menu { right: -60px; }

  /* 상품 모달 */
  #itempop .itempop_box { max-width: 95%; height: 85%; }

  /* iOS/WebView: 16px 미만 입력창 포커스 시 자동 확대 방지 */
  #search_page .sr-search-box input,
  #search_page .sr-search-select,
  .pl-search-box input,
  .board-search-input input,
  .board-search-row select,
  input[type="text"],
  input[type="search"],
  input[type="email"],
  input[type="tel"],
  input[type="password"],
  textarea,
  select {
    font-size: 16px !important;
  }
}

/* ===== 480px 이하 (소형 모바일) ===== */
@media (max-width: 480px) {
  body { padding-top: 78px; }
  .notice-bar { height: 28px; }
  .notice-bar p { font-size: 11px; }
  header { height: 50px; top: 0; padding: 0 12px; }
  header .header_logo a { width: auto; }
  header .header_logo .header-logo-mobile { width: 162px; max-width: 46vw; }
  header .header_icon > ul { gap: 10px; }

  #mainvisual { height: clamp(340px, 122vw, 520px); padding: 0 16px; gap: 10px; margin-bottom: 10px; }
  .mainvisual_slider li { height: clamp(340px, 122vw, 520px); border-radius: 18px; }
  .hero-nav { display: none; }
  .hero-slide__overlay { padding: 14px; }
  .hero-slide__name { font-size: 14px; }
  .hero-slide__info { padding: 0; gap: 4px; background: transparent; }

  .section-inner { padding: 30px 16px; }
  .section04 .section-inner { padding: 34px 16px; }
  .section-hdr { margin-bottom: 16px; }
  .section-hdr__title { font-size: 18px; }
  .section04 .section-hdr__title { font-size: 20px; }

  .grid-magazine,
  .gmag-side { gap: 14px; }
  .gmag-big { flex: 0 0 auto; height: 260px; width: 100%; }
  .gmag-small { flex: 0 0 auto; height: 220px; width: 100%; }

  .section03 .itembox .itb_p,
  .section04 .itembox .itb_p {
    height: clamp(178px, 52vw, 220px);
    border-radius: 14px;
    overflow: hidden;
  }
  .itembox-grid4 { gap: 18px 12px; }
  .itembox .itb_t { gap: 5px; }
  .itembox .itb_t .itb_t_title { font-size: 13px; }
  .itembox .itb_t .itembox_price { font-size: 15px; }

  .brand24h-box { padding: 28px 16px; border-radius: 16px; }
  .brand24h-wrapper,
  .picks-wrapper,
  .rising-wrapper { width: 100%; }

  footer { padding: 24px 12px 20px; }
  .ft-nav { gap: 16px; }
}

/* ============================= 반응형 - 게시판 ============================= */

/* ===== 1024px 이하 (태블릿) ===== */
@media (max-width: 1024px) {
  .board-breadcrumb { padding: 32px 24px 0; }
  .board-title-section { padding: 8px 24px 32px; }
  .board-content-wrap { padding: 0 24px 80px; }

  .board-search-row { padding: 0 12px; height: 48px; gap: 8px; }
  .board-search-left { flex: 1; min-width: 0; gap: 8px; }
  .board-search-label { display: none; }
  .board-search-divider { display: none; }
  .board-search-input { flex: 1; min-width: 0; width: auto; }
  .board-search-row select { font-size: 13px; padding: 0 24px 0 10px; }
  .board-search-btn { padding: 0 12px; font-size: 13px; }

  /* 테이블 조회수 열 숨김 */
  .board-table colgroup col:nth-child(3),
  .board-table thead th:nth-child(3),
  .board-table tbody td:nth-child(3) {
    /* notice: 번호/제목/조회/작성일 → 조회 숨김 */
  }
}

/* ===== 768px 이하 (모바일) ===== */
@media (max-width: 768px) {
  .board-breadcrumb { padding: 20px 16px 0; font-size: 11px; }
  .board-title-section { padding: 6px 16px 20px; }
  .board-title-section h1 { font-size: 22px; }
  .board-title-section .board-total-count { font-size: 12px; }
  .board-content-wrap { padding: 0 16px 48px; gap: 16px; }

  /* 검색바 - 한줄 꽉참 */
  .board-search-row { padding: 0 10px; border-radius: 0; }
  .board-search-left { flex: 1; min-width: 0; gap: 6px; flex-wrap: nowrap; }
  .board-search-label { display: none; }
  .board-search-divider { display: none; }
  .board-search-row select { font-size: 12px; padding: 0 22px 0 8px; }
  .board-search-input { flex: 1; min-width: 0; width: auto; }
  .board-search-input input { font-size: 13px; }
  .board-search-btn { padding: 0 12px; font-size: 13px; }
  .board-per-page { display: none; }

  /* 테이블 - 조회/작성일 숨김, 번호 축소 */
  .board-table { table-layout: fixed; }
  .board-table colgroup { display: none; }
  .board-table thead th { font-size: 12px; padding: 0 4px; height: 40px; }
  .board-table tbody tr { height: 44px; }
  .board-table tbody td { font-size: 13px; padding: 4px; }
  .board-table tbody td.td-title a { padding: 0 8px; height: 44px; font-size: 13px; gap: 4px; }
  .board-table .notice-badge { font-size: 11px; padding: 2px 6px; }

  /* colgroup 무시하고 모바일용 너비 지정 */
  .board-table colgroup { display: none; }
  .board-table { table-layout: auto; }
  .board-table thead th:first-child,
  .board-table tbody td:first-child { width: 36px; white-space: nowrap; }
  .board-table thead th.th-title { padding: 0 8px; width: auto; }
  /* 작성자/조회/작성일 축소 */
  .board-table thead th:nth-last-child(1),
  .board-table tbody td:nth-last-child(1) { width: 70px; font-size: 11px; }
  .board-table thead th:nth-last-child(2),
  .board-table tbody td:nth-last-child(2) { width: 36px; font-size: 11px; }
  .board-table thead th:nth-last-child(3),
  .board-table tbody td:nth-last-child(3) { width: 50px; font-size: 11px; }

  /* 페이지네이션 */
  .board-pagination { gap: 2px; }
  .board-pagination a, .board-pagination span { min-width: 32px; height: 32px; font-size: 13px; }

  /* 글쓰기 버튼 */
  .board-btn-row { padding: 0; }
  .board-write-btn { width: 100%; justify-content: center; }
}

/* ===== 480px 이하 (소형 모바일) ===== */
@media (max-width: 480px) {
  .board-breadcrumb { padding: 16px 12px 0; }
  .board-title-section { padding: 4px 12px 16px; }
  .board-title-section h1 { font-size: 20px; }
  .board-content-wrap { padding: 0 12px 36px; }

  .board-table tbody td.td-title a { font-size: 12px; }
  .board-table tbody td { font-size: 12px; }
  .board-table thead th { font-size: 11px; }
}

/* ============================= 반응형 - 상품 목록 ============================= */

/* ===== 1024px 이하 (태블릿) ===== */
@media (max-width: 1024px) {
  .pl-breadcrumb { padding: 32px 24px 0; }
  .pl-title-section { padding: 8px 24px 32px; }
  .pl-content-wrap { padding: 0 24px 60px; }

  .pl-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .pl-card-img { height: 240px; }

  .pl-filter-row { flex-wrap: wrap; gap: 12px; }
  .pl-filter-left { flex-wrap: wrap; gap: 8px; }
  .pl-filter-right { width: 100%; }
  .pl-search-group { width: 100%; }
  .pl-search-box { flex: 1; }
  .pl-search-box input { width: 100%; }
}

/* ===== 768px 이하 (모바일) ===== */
@media (max-width: 768px) {
  .pl-breadcrumb { padding: 20px 16px 0; }
  .pl-title-section { padding: 6px 16px 20px; flex-direction: column; align-items: flex-start; gap: 4px; }
  .pl-title-section h1 { font-size: 22px; }
  .pl-total-count { font-size: 12px; }
  .pl-content-wrap { padding: 0 16px 48px; gap: 16px; }

  /* 필터 */
  .pl-filter-row { flex-direction: column; align-items: stretch; gap: 10px; }
  .pl-filter-left { width: 100%; display: flex; flex-direction: column; gap: 8px; }
  .pl-sort-select { height: 36px; font-size: 13px; padding: 0 28px 0 10px; width: 100%; }
  .pl-filter-divider { display: none; }
  .pl-cat-pills-row { display: flex; overflow-x: auto; gap: 6px; -webkit-overflow-scrolling: touch; }
  .pl-cat-pills-row::-webkit-scrollbar { display: none; }
  .pl-cat-pill { height: 32px; padding: 0 12px; font-size: 12px; flex-shrink: 0; white-space: nowrap; }

  /* 검색 - 한줄 꽉참 */
  .pl-filter-right { width: 100%; }
  .pl-search-group { width: 100%; display: flex; gap: 6px; }
  .pl-search-box { flex: 1; height: 36px; padding: 0 10px; }
  .pl-search-box input { width: 100%; font-size: 13px; }
  .pl-search-btn { height: 36px; padding: 0 14px; font-size: 13px; }

  /* 그리드 */
  .pl-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .pl-card-img { height: 200px; border-radius: 4px; }
  .pl-card-info { padding: 10px 0 0; gap: 3px; }
  .pl-card-seller { font-size: 12px; }
  .pl-card-name { font-size: 13px; }
  .pl-card-date { font-size: 12px; }
  .pl-card-price { font-size: 14px; }
  .pl-badge { font-size: 12px; padding: 3px 8px; }

  /* 페이지네이션 */
  .pl-pagination { gap: 2px; }
  .pl-pg-nav, .pl-pg-num { width: 28px; height: 28px; font-size: 13px; }
}

/* ===== 480px 이하 (소형 모바일) ===== */
@media (max-width: 480px) {
  .pl-breadcrumb { padding: 16px 12px 0; }
  .pl-title-section { padding: 4px 12px 16px; }
  .pl-title-section h1 { font-size: 20px; }
  .pl-content-wrap { padding: 0 12px 36px; }

  .pl-card-img { height: 160px; }
  .pl-card-name { font-size: 12px; }
  .pl-card-price { font-size: 13px; }
  .pl-card-seller { font-size: 11px; }
  .pl-card-date { font-size: 11px; }
}

/* ============================= 반응형 - 마이페이지/멤버 페이지 ============================= */

/* ===== 1024px 이하 (태블릿) ===== */
@media (max-width: 1024px) {
  /* 공통 레이아웃 */
  .mp-page-title-section { padding: 32px 24px 28px; }
  .mp-body-wrap { padding: 0 24px 80px; gap: 24px; }

  /* 사이드바 → 가로 전환 */
  .mp-body-wrap { flex-direction: column; }
  .mp-sidebar { width: 100%; }
  .mp-profile-card { flex-direction: row; flex-wrap: wrap; gap: 12px; padding: 16px; align-items: center; }
  .mp-avatar { width: 48px; height: 48px; font-size: 20px; }
  .mp-nav { padding-top: 8px; display: flex; flex-direction: column; gap: 8px; }
  .mp-nav-group { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; border: none; padding: 0; }
  .mp-nav-group + .mp-nav-group { padding-top: 0; }
  .mp-nav-label { display: inline-flex; width: auto; padding: 0 8px 0 0; margin: 0; font-size: 12px; color: #A1A1AA; white-space: nowrap; border-right: 1px solid #E4E4E7; margin-right: 2px; }
  .mp-nav-item { height: 32px; font-size: 13px; padding: 0 10px; border-radius: 6px; border: 1px solid #E4E4E7; display: inline-flex; gap: 4px; }
  .mp-nav-item.active { border-color: #18181B; }
  .mp-nav-item.mp-nav-sub { padding-left: 10px; font-size: 12px; height: 30px; }

  /* 모바일 페이지 라벨 */
  .mp-mobile-page-label {
    display: block; padding: 16px 0 0;
    border-top: 1px solid #F4F4F5; margin-top: 12px;
  }
  .mp-mobile-page-label h2 {
    font-family: 'Pretendard', sans-serif; font-size: 20px; font-weight: 700;
    color: #18181B; margin: 0;
  }

  /* 마이페이지 - 통계 카드 2x2 */
  .mp-stats-row { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .mp-stat-val { font-size: 24px; }

  /* 바로가기 5 → 3 */
  .mp-quick-links { grid-template-columns: repeat(3, 1fr); }

  /* 공구 카드 */
  .mp-gg-row { grid-template-columns: repeat(2, 1fr); gap: 12px; }

  /* 주문내역 테이블 - 마켓/송장 숨김 */
  .ol-col-market { display: none; }
  .ol-col-tracking { display: none; }
  .ol-col-no { width: 160px; }

  /* 주문 상세 */
  .ol-detail-cols { flex-direction: column; gap: 16px; }
  .ol-detail-content { padding: 20px; }

  /* 포인트 내역 - 요약 카드 */
  .mp-summary-row { gap: 12px; }
  .mp-summary-card { padding: 20px; height: 120px; }
  .mp-summary-val { font-size: 24px; }

  /* 포인트 테이블 - 잔액 숨김 */
  .mp-dt-bal { display: none; }
  .mp-dt-amt { width: 120px; }
  .mp-dt-date { width: 100px; }

  /* 입금/출금 폼 */
  .mp-form-section { padding: 24px; }
  .mp-balance-card { padding: 24px; }

  /* 프로필 수정 */
  .mp-form-card { padding: 28px; }
}

/* ===== 768px 이하 (모바일) ===== */
@media (max-width: 768px) {
  /* 공통 레이아웃 */
  .mp-page-title-section { padding: 20px 16px 16px; }
  .mp-page-title { font-size: 24px; }
  .mp-summary-icon { display: none !important; }
  .mp-breadcrumb { font-size: 12px; gap: 6px; margin-bottom: 4px; }
  .mp-body-wrap { flex-direction: column; padding: 0 16px 60px; gap: 20px; }

  /* 사이드바 → 가로 스크롤 네비 */
  .mp-sidebar { width: 100%; }
  .mp-profile-card { flex-direction: row; padding: 16px; gap: 16px; align-items: center; }
  .mp-avatar { width: 48px; height: 48px; font-size: 20px; }
  .mp-user-name { font-size: 15px; }
  .mp-user-email { font-size: 13px; }
  .mp-sub-info { padding-top: 4px; gap: 2px; }
  .mp-sub-label { font-size: 12px; }
  .mp-sub-value { font-size: 12px; }
  .mp-edit-btn { font-size: 13px; height: 32px; padding: 0 12px; }
  .mp-nav { padding-top: 8px; display: flex; flex-direction: column; gap: 6px; }
  .mp-nav-group { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; border: none; padding: 0; }
  .mp-nav-group + .mp-nav-group { padding-top: 0; }
  .mp-nav-label { display: inline-flex; width: auto; padding: 0 6px 0 0; margin: 0; font-size: 11px; color: #A1A1AA; white-space: nowrap; border-right: 1px solid #E4E4E7; margin-right: 2px; }
  .mp-nav-item { height: 30px; padding: 0 8px; font-size: 12px; border-radius: 6px; border: 1px solid #E4E4E7; gap: 4px; display: inline-flex; }
  .mp-nav-item.active { border-color: #18181B; }
  .mp-nav-item.mp-nav-sub { padding-left: 10px; font-size: 12px; height: 30px; }

  /* 마이페이지 - 통계 카드 2x2 */
  .mp-stats-row { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .mp-stat-body { padding: 12px 14px 16px; gap: 8px; }
  .mp-stat-label { font-size: 13px; }
  .mp-stat-val { font-size: 20px; }
  .mp-stat-sub { font-size: 12px; }
  .mp-stat-icon { width: 28px; height: 28px; font-size: 12px; }

  /* 섹션 헤더 */
  .mp-section-header h2 { font-size: 16px; }
  .mp-more-link { font-size: 13px; }

  /* 공구 카드 1컬럼 */
  .mp-gg-row { grid-template-columns: 1fr; gap: 10px; }
  .mp-gg-card { padding: 14px 16px; gap: 8px; }
  .mp-gg-name { font-size: 13px; }

  /* 주문 테이블 (마이페이지 내 최근주문) */
  .mp-order-thead { display: none; }
  .mp-order-row { flex-direction: column; padding: 12px 16px; gap: 4px; min-height: auto; }
  .mp-order-col { font-size: 13px; padding: 0; }
  .mp-col-no { width: auto; justify-content: flex-start; font-size: 12px; color: #A1A1AA; }
  .mp-col-name { font-size: 14px; font-weight: 500; }
  .mp-col-date { width: auto; justify-content: flex-start; font-size: 12px; color: #71717A; }
  .mp-col-price { width: auto; justify-content: flex-start; font-weight: 600; }
  .mp-col-status { width: auto; justify-content: flex-start; }

  /* 알림 */
  .mp-noti-item { padding: 12px 14px; }
  .mp-noti-text { font-size: 13px; }
  .mp-noti-time { font-size: 12px; }

  /* 바로가기 3 → 2 */
  .mp-quick-links { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .mp-link-card { padding: 14px 10px; gap: 8px; }
  .mp-link-card svg { width: 20px; height: 20px; }
  .mp-link-card span { font-size: 12px; }

  /* ===== 주문내역 페이지 (ol-) ===== */
  /* 검색 필터 */
  .ol-search-filter { padding: 14px; gap: 10px; }
  .ol-search-title { font-size: 14px; }
  .ol-search-row { flex-direction: column; gap: 8px; align-items: stretch; }
  .ol-select { width: 100%; }
  .ol-date-wrap { flex: 1; }
  .ol-date-input { width: 100%; }
  .ol-tilde { text-align: center; }
  .ol-search-btn { width: 100%; justify-content: center; }

  /* 주문 테이블 → 카드 레이아웃 */
  .ol-thead { display: none; }
  .ol-row {
    flex-direction: column; align-items: flex-start; padding: 14px 16px; gap: 8px;
    border-bottom: 1px solid #E4E4E7;
  }
  .ol-td { padding: 0; justify-content: flex-start; font-size: 13px; }
  .ol-col-date { width: auto; }
  .ol-col-date span { font-size: 12px; color: #71717A; }
  .ol-col-no { width: auto; }
  .ol-td.ol-col-no span { font-size: 12px; color: #A1A1AA; }
  .ol-col-product { width: 100%; }
  .ol-td.ol-col-product { padding: 0; }
  .ol-prod-img { width: 48px; height: 48px; border-radius: 6px; }
  .ol-prod-name { font-size: 13px; }
  .ol-prod-opt { font-size: 12px; }
  .ol-col-price { width: auto; }
  .ol-td.ol-col-price span { font-size: 14px; font-weight: 600; }
  .ol-col-action { width: 100%; display: flex; gap: 8px; }
  .ol-btn-detail { flex: 1; justify-content: center; height: 34px; font-size: 12px; }
  .ol-btn-review { flex: 1; justify-content: center; height: 34px; font-size: 12px; }

  /* 주문 상세 */
  .ol-detail-content { padding: 16px; gap: 16px; }
  .ol-detail-cols { flex-direction: column; gap: 16px; }
  .ol-mini-thead { padding: 0 10px; height: 36px; }
  .ol-mini-row { padding: 0 10px; min-height: 36px; }
  .ol-mini-col { font-size: 12px; }
  .ol-detail-total { font-size: 13px; padding: 10px 14px; }

  /* 주문 페이지네이션 */
  .ol-pagination { gap: 4px; }
  .ol-pg-btn, .ol-pg-num { width: 32px; height: 32px; font-size: 13px; }

  /* ===== 포인트 내역 페이지 ===== */
  .mp-summary-row { flex-direction: column; gap: 10px; }
  .mp-summary-card { height: auto; padding: 16px; flex-direction: row; align-items: center; }
  .mp-summary-top { flex: 1; }
  .mp-summary-val { font-size: 22px; }
  .mp-summary-label { font-size: 13px; }
  .mp-summary-icon { display: none !important; }

  /* 액션 버튼 */
  .mp-action-btns { justify-content: stretch; }
  .mp-btn-dark { flex: 1; justify-content: center; height: 40px; font-size: 13px; padding: 0 14px; }
  .mp-btn-outline { flex: 1; justify-content: center; height: 40px; font-size: 13px; padding: 0 14px; }

  /* 데이터 테이블 - 표 형태 유지, 축소 */
  .mp-data-table { overflow-x: auto; }
  .mp-dt-thead { height: 40px; padding: 0 10px; }
  .mp-dt-thead .mp-dt-th { font-size: 11px; }
  .mp-dt-row { height: 44px; padding: 0 10px; }
  .mp-dt-date { width: 70px; font-size: 12px; }
  .mp-dt-type { width: 50px; }
  .mp-type-badge { font-size: 11px; padding: 2px 6px; }
  .mp-dt-desc { font-size: 12px; }
  .mp-dt-amt { width: 90px; font-size: 13px; }
  .mp-dt-bal { display: none; }
  .mp-dt-status { width: 60px; font-size: 12px; }

  /* 페이지네이션 */
  .mp-pagination { gap: 2px; }
  .mp-pg-btn { width: 32px; height: 32px; font-size: 13px; }

  /* ===== 입금/출금 신청 ===== */
  .mp-balance-card { padding: 16px 20px; border-radius: 10px; }
  .mp-bal-amount { font-size: 24px; }
  .mp-bal-icon { font-size: 24px; }
  .mp-bal-label { font-size: 13px; }

  .mp-form-wrap { border-radius: 10px; }
  .mp-form-section { padding: 20px 16px; gap: 16px; }
  .mp-form-sec-title { font-size: 15px; }
  .mp-form-label { font-size: 13px; }
  .mp-form-input { height: 42px; font-size: 14px; padding: 0 12px; }
  .mp-form-select { height: 42px; font-size: 14px; padding: 0 12px; }
  .mp-form-help { font-size: 12px; }
  .mp-form-radio-row { gap: 12px; }
  .mp-form-radio-item { font-size: 13px; }
  .mp-info-note { font-size: 12px; padding: 10px 12px; }
  .mp-phone-row { gap: 6px; }
  .mp-phone-row .mp-form-input { height: 42px; }
  .mp-phone-sep { font-size: 12px; }

  .mp-form-actions { flex-direction: column-reverse; gap: 8px; }
  .mp-form-submit { width: 100%; justify-content: center; }
  .mp-form-cancel { width: 100%; text-align: center; justify-content: center; }

  /* ===== 프로필 수정 ===== */
  .mp-form-card { padding: 20px 16px; border-radius: 10px; }
  .mp-field-group { margin-bottom: 20px; }
  .mp-field-label { font-size: 13px; }
  .mp-input { height: 42px; font-size: 14px; padding: 0 12px; }
  .mp-field-help { font-size: 12px; }
  .mp-profile-upload { flex-direction: column; gap: 12px; }
  .mp-profile-preview { width: 80px; height: 80px; }
  .mp-address-row { flex-direction: column; gap: 6px; }
  .mp-input-short { max-width: 100%; }
  .mp-btn-postcode { width: 100%; justify-content: center; }

  .mp-form-card ~ .mp-form-actions,
  .mp-form-card .mp-form-actions { flex-direction: row; }
  .mp-btn-cancel { flex: 1; text-align: center; justify-content: center; height: 42px; font-size: 14px; }
  .mp-btn-save { flex: 1; justify-content: center; height: 42px; font-size: 14px; }

  /* 빈 상태 */
  .mp-empty-state { padding: 40px 0; font-size: 13px; }
  .mp-empty-msg { padding: 24px 16px; font-size: 13px; }

  /* 리뷰 모달 */
  .review_modal { align-items: flex-end; }
  .rm_box_wrap { width: 100%; max-width: 100%; border-radius: 16px 16px 0 0; max-height: 95vh; }
  .rm_header { height: 52px; padding: 0 16px; }
  .rm_header_title { font-size: 17px; }
  .rm_body { padding: 16px; gap: 20px; }
  .rm_product_img { width: 52px; height: 52px; }
  .rm_product_text .rm_prod_name { font-size: 14px; }
  .rm_product_text .rm_prod_opt { font-size: 13px; }
  .rm_star_row .star { font-size: 24px; }
  .rm_star_value { font-size: 14px; }
  .rm_upload_btn { width: 72px; height: 72px; }
  .rm_upload_btn i { font-size: 20px; }
  .rm_upload_btn span { font-size: 12px; }
  .rm_photo_item { width: 72px; height: 72px; }
  .rm_photo_label_sub { font-size: 12px; }
  .rm_textarea { height: 150px; padding: 12px; font-size: 14px; }
  .rm_footer { height: 56px; padding: 0 16px; }
  .rm_btn_cancel, .rm_btn_submit { flex: 1; width: auto; height: 40px; font-size: 14px; }
}

/* ===== 480px 이하 (소형 모바일) ===== */
@media (max-width: 480px) {
  /* 공통 */
  .mp-page-title-section { padding: 16px 12px 12px; }
  .mp-page-title { font-size: 20px; }
  .mp-breadcrumb { font-size: 11px; }
  .mp-body-wrap { padding: 0 12px 48px; gap: 16px; }

  /* 사이드바 */
  .mp-profile-card { padding: 12px; gap: 12px; }
  .mp-avatar { width: 40px; height: 40px; font-size: 18px; }
  .mp-user-name { font-size: 14px; }
  .mp-user-email { font-size: 12px; }
  .mp-nav-label { font-size: 10px; }
  .mp-nav-item { height: 26px; padding: 0 6px; font-size: 11px; }
  .mp-nav-item.mp-nav-sub { height: 24px; font-size: 10px; }

  /* 통계 카드 */
  .mp-stats-row { gap: 8px; }
  .mp-stat-body { padding: 10px 12px 14px; }
  .mp-stat-label { font-size: 12px; }
  .mp-stat-val { font-size: 18px; }
  .mp-stat-sub { font-size: 11px; }
  .mp-stat-icon { width: 24px; height: 24px; font-size: 11px; }

  /* 섹션 */
  .mp-section-header h2 { font-size: 15px; }

  /* 바로가기 2컬럼 */
  .mp-quick-links { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .mp-link-card { padding: 12px 8px; }
  .mp-link-card svg { width: 18px; height: 18px; }
  .mp-link-card span { font-size: 11px; }

  /* 주문내역 (ol-) */
  .ol-search-filter { padding: 12px; }
  .ol-search-title { font-size: 13px; }
  .ol-row { padding: 12px; }
  .ol-prod-img { width: 40px; height: 40px; }
  .ol-prod-name { font-size: 12px; }
  .ol-prod-opt { font-size: 11px; }
  .ol-btn-detail { height: 30px; font-size: 11px; }
  .ol-btn-review { height: 30px; font-size: 11px; }
  .ol-detail-content { padding: 12px; }
  .ol-mini-col { font-size: 11px; }

  /* 포인트 내역 */
  .mp-summary-card { padding: 12px; }
  .mp-summary-val { font-size: 18px; }
  .mp-summary-label { font-size: 12px; }
  .mp-btn-dark { height: 36px; font-size: 12px; }
  .mp-btn-outline { height: 36px; font-size: 12px; }
  .mp-dt-thead { height: 36px; padding: 0 8px; }
  .mp-dt-row { height: 40px; padding: 0 8px; }
  .mp-dt-date { width: 60px; font-size: 11px; }
  .mp-dt-type { width: 44px; }
  .mp-type-badge { font-size: 10px; padding: 2px 4px; }
  .mp-dt-desc { font-size: 11px; }
  .mp-dt-amt { width: 70px; font-size: 12px; }
  .mp-dt-status { width: 50px; font-size: 11px; }
  .mp-type-badge { font-size: 10px; padding: 2px 6px; }

  /* 입금/출금 신청 */
  .mp-balance-card { padding: 14px 16px; }
  .mp-bal-amount { font-size: 20px; }
  .mp-bal-icon { font-size: 20px; }
  .mp-form-section { padding: 16px 12px; gap: 14px; }
  .mp-form-sec-title { font-size: 14px; }
  .mp-form-input { height: 40px; font-size: 13px; }
  .mp-form-select { height: 40px; font-size: 13px; }
  .mp-form-help { font-size: 11px; }
  .mp-info-note { font-size: 11px; padding: 8px 10px; }
  .mp-form-submit { height: 42px; font-size: 14px; }
  .mp-form-cancel { height: 42px; font-size: 14px; }

  /* 프로필 수정 */
  .mp-form-card { padding: 16px 12px; }
  .mp-field-group { margin-bottom: 16px; }
  .mp-field-label { font-size: 12px; }
  .mp-input { height: 40px; font-size: 13px; }
  .mp-field-help { font-size: 11px; }
  .mp-profile-preview { width: 64px; height: 64px; }
  .mp-btn-upload { font-size: 12px; padding: 0 12px; height: 32px; }
  .mp-btn-remove-profile { font-size: 12px; padding: 0 10px; height: 32px; }
  .mp-btn-cancel { height: 38px; font-size: 13px; }
  .mp-btn-save { height: 38px; font-size: 13px; }

  /* 페이지네이션 */
  .mp-pg-btn { width: 28px; height: 28px; font-size: 12px; }
  .ol-pg-btn, .ol-pg-num { width: 28px; height: 28px; font-size: 12px; }
}

/* ============================= 반응형 - 멤버십 페이지 ============================= */

/* ===== 1024px (태블릿) ===== */
@media (max-width: 1024px) {
  /* Membership */
  div[style*="padding:0 360px"] { padding: 0 24px 80px 24px !important; }
  .mbs-tier-tabs { gap: 12px; flex-wrap: wrap; }
  .mbs-tier-tab { width: 130px; height: 130px; }
  .mbs-tier-tab i { font-size: 32px !important; }
  .mbs-tier-header { padding: 24px; }
  .mbs-benefits { padding: 24px; }
  .mbs-price-section { padding: 20px 24px; }
  .mbs-price-amt { font-size: 24px; }
  .mbs-btn-back { padding: 12px 24px; font-size: 14px; }
  .mbs-btn-pay { padding: 12px 36px; font-size: 14px; }
}

/* ===== 768px (모바일) ===== */
@media (max-width: 768px) {
  div[style*="padding:0 360px"] { padding: 0 16px 60px 16px !important; }
  .mbs-tier-tabs { gap: 10px; }
  .mbs-tier-tab { width: 110px; height: 110px; }
  .mbs-tier-tab i { font-size: 28px !important; }
  .mbs-tier-tab span { font-size: 12px; }
  .mbs-tier-header { padding: 20px; }
  .mbs-tier-title { font-size: 20px; }
  .mbs-tier-sub { font-size: 13px; }
  .mbs-tier-desc { font-size: 13px; }
  .mbs-benefits { padding: 20px; gap: 12px; }
  .mbs-benefit span { font-size: 13px; }
  .mbs-price-section { padding: 16px 20px; flex-direction: column; gap: 8px; align-items: flex-start; }
  .mbs-price-amt { font-size: 22px; }
  .mbs-btn-back { padding: 10px 20px; font-size: 13px; }
  .mbs-btn-pay { padding: 10px 28px; font-size: 13px; }
  div[style*="padding:0 360px"] > div[style*="gap:40px"] { gap: 28px !important; }
}

/* ===== 480px (소형 모바일) ===== */
@media (max-width: 480px) {
  div[style*="padding:0 360px"] { padding: 0 12px 48px 12px !important; }
  .mbs-tier-tabs { gap: 8px; }
  .mbs-tier-tab { width: 72px; height: 72px; border-radius: 12px; }
  .mbs-tier-tab i { font-size: 22px !important; }
  .mbs-tier-tab span { font-size: 11px; }
  .mbs-tier-header { padding: 16px; }
  .mbs-tier-title { font-size: 18px; }
  .mbs-benefits { padding: 16px; gap: 10px; }
  .mbs-benefit-ic { width: 28px; height: 28px; }
  .mbs-benefit-ic i { font-size: 14px; }
  .mbs-benefit span { font-size: 12px; }
  .mbs-price-section { padding: 14px 16px; }
  .mbs-price-amt { font-size: 20px; }
  .mbs-btn-back { padding: 10px 16px; font-size: 13px; flex: 1; text-align: center; }
  .mbs-btn-pay { padding: 10px 16px; font-size: 13px; flex: 1; justify-content: center; }
  div[style*="padding:0 360px"] > div[style*="gap:40px"] { gap: 24px !important; }
}

/* ============================= 반응형 - 토큰샵 페이지 ============================= */

/* ===== 1024px (태블릿) ===== */
@media (max-width: 1024px) {
  .ts-packages-grid { grid-template-columns: repeat(2, 1fr); }
  .ts-current-card { padding: 24px; }
  .ts-notice { padding: 20px 24px; }
}

/* ===== 768px (모바일) ===== */
@media (max-width: 768px) {
  .ts-packages-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .ts-current-card { padding: 20px; }
  .ts-current-row { flex-direction: column; align-items: flex-start; gap: 16px; }
  .ts-current-right { align-items: flex-start; }
  .ts-pkg-card { padding: 20px 16px; height: auto; min-height: 300px; }
  .ts-pkg-count { font-size: 32px; }
  .ts-price-amt { font-size: 20px; }
  .ts-notice { padding: 16px 20px; }
  .ts-notice-list p { font-size: 13px; }
}

/* ===== 480px (소형 모바일) ===== */
@media (max-width: 480px) {
  .ts-packages-grid { grid-template-columns: 1fr; gap: 12px; }
  .ts-current-card { padding: 16px; }
  .ts-current-row { gap: 12px; }
  .ts-pkg-card { padding: 20px 16px; min-height: auto; }
  .ts-pkg-count { font-size: 28px; }
  .ts-price-amt { font-size: 18px; }
  .ts-notice { padding: 14px 16px; }
  .ts-notice-title { font-size: 14px; }
  .ts-notice-list p { font-size: 12px; }
}

/* ============================= 반응형 - 신청폼 (금손/셀러/공구진행자) ============================= */

/* ===== 1024px (태블릿) ===== */
@media (max-width: 1024px) {
  .app-formCard { padding: 24px; }
  .app-info-box { padding: 14px 16px; }
}

/* ===== 768px (모바일) ===== */
@media (max-width: 768px) {
  .app-formCard { padding: 20px 16px; gap: 20px; }
  .app-field-grid { grid-template-columns: 1fr; }
  .app-field-grid-3 { grid-template-columns: 1fr; }
  .app-info-box { flex-direction: column; gap: 8px; padding: 14px 16px; }
  .app-info-text { font-size: 13px; }
  .app-info-text strong { font-size: 13px; }
  .app-label { font-size: 13px; }
  .app-input { height: 40px; font-size: 13px; }
  .app-textarea { font-size: 13px; padding: 10px 12px; }
  .app-help { font-size: 13px; }
  .app-form-actions { flex-direction: column-reverse; gap: 8px; }
  .app-btn-cancel { width: 100%; text-align: center; padding: 12px; }
  .app-btn-submit { width: 100%; text-align: center; padding: 12px; display: flex; align-items: center; justify-content: center; gap: 6px; }
  .app-agree-box { padding: 14px 16px; }
  .app-terms-text { padding-left: 20px; }
  .app-terms-text p { font-size: 13px; }
  .app-chip { font-size: 12px; padding: 3px 8px; }
  .app-btn-outline { font-size: 13px; padding: 0 12px; height: 40px; }

  /* Goldhand dropzone */
  .gh-dropzone { padding: 24px 16px; }
  .gh-file-item { padding: 8px 10px; }
  .gh-modal { width: 90%; max-width: 480px; }
  .gh-modal-body { padding: 20px 16px; gap: 16px; }
  .gh-modal-footer { padding: 0 16px 16px; }
}

/* ===== 480px (소형 모바일) ===== */
@media (max-width: 480px) {
  .app-formCard { padding: 16px 12px; gap: 16px; }
  .app-section-title { font-size: 14px; }
  .app-label { font-size: 12px; }
  .app-input { height: 38px; font-size: 12px; padding: 0 10px; }
  .app-textarea { font-size: 12px; padding: 8px 10px; }
  .app-help { font-size: 12px; }
  .app-info-box { padding: 12px; border-radius: 8px; }
  .app-info-text { font-size: 12px; }
  .app-agree-box { padding: 12px; }
  .app-terms-text p { font-size: 12px; }
  .app-btn-cancel { font-size: 13px; }
  .app-btn-submit { font-size: 13px; }
  .app-chip { font-size: 11px; }

  .gh-dropzone { padding: 20px 12px; gap: 10px; }
}

/* ============================= 반응형 - 회원가입 ============================= */

/* ===== 1024px (태블릿) ===== */
@media (max-width: 1024px) {
  #container.auth_container { padding: 40px 24px 100px; }
  .auth_container .auth_wrap { max-width: 100%; padding: 0 24px; }
}

/* ===== 768px (모바일) ===== */
@media (max-width: 768px) {
  #container.auth_container { padding: 30px 16px 80px; }
  .auth_container .auth_wrap { padding: 0; }
  .auth_container .auth_title { font-size: 24px; margin-bottom: 20px; }
  .auth_container .form_group { margin-bottom: 18px; }
  .auth_container .form_label { font-size: 14px; margin-bottom: 6px; }
  .auth_container .form_input { height: 44px; font-size: 14px; padding: 0 12px; }
  .auth_container .form_help { font-size: 13px; }
  .auth_container .form_actions { flex-direction: column; gap: 10px; margin-top: 16px; }
  .auth_container .form_actions button { height: 48px; font-size: 16px; }
  .auth_container .auth_wrap .btn_address { font-size: 13px; padding: 0 12px; height: 44px; }
  .auth_container .auth_wrap .form_input_short { width: calc(100% - 130px); }
  .auth_agree { padding: 16px; }
  .auth_agree .auth_agree_title { font-size: 14px; padding-bottom: 14px; margin-bottom: 14px; }
  .auth_agree .auth_termbox { font-size: 13px; padding: 12px; }
  .auth_agree .auth_fieldset { font-size: 13px; }
  .auth_footer { margin-top: 30px; }
  .auth_footer p { font-size: 14px; }
}

/* ===== 480px (소형 모바일) ===== */
@media (max-width: 480px) {
  #container.auth_container { padding: 20px 12px 60px; }
  .auth_container .auth_title { font-size: 20px; }
  .auth_container .form_label { font-size: 13px; }
  .auth_container .form_input { height: 40px; font-size: 13px; }
  .auth_container .form_help { font-size: 12px; }
  .auth_container .form_actions button { height: 44px; font-size: 15px; }
  .auth_container .auth_wrap .form_input_short { width: calc(100% - 110px); margin-right: 6px; }
  .auth_container .auth_wrap .btn_address { font-size: 12px; padding: 0 10px; height: 40px; }
  .auth_agree { padding: 12px; }
  .auth_agree .auth_agree_title { font-size: 13px; }
  .auth_agree .auth_termbox { font-size: 12px; }
  .auth_agree .auth_fieldset { font-size: 12px; }
  .auth_footer p { font-size: 13px; }
}

/* ============================= 반응형 - 로그인 페이지 ============================= */
/* login.css has only a commented-out 720px breakpoint, so add full responsive here */

/* ===== 1024px (태블릿) ===== */
@media (max-width: 1024px) {
  .login-card { width: 540px; padding: 60px 48px; }
  .top-logo { margin-top: 60px; }
}

/* ===== 768px (모바일) ===== */
@media (max-width: 768px) {
  .login-overlay { justify-content: flex-start; }
  .login-card { width: calc(100% - 32px); max-width: 480px; padding: 40px 28px; min-height: auto; margin: 40px auto 0; }
  .top-logo { margin-top: 40px; height: 50px; }
  .top-logo img { height: 50px; }
  h1 { font-size: 24px; margin-bottom: 20px; }
  .field { margin: 14px 0; }
  input[type="text"].input, input[type="password"].input { height: 50px; font-size: 14px; }
  .button { height: 50px; font-size: 17px; }
  .join_wrap { margin-top: 16px; }
  .join_wrap .btn_join { font-size: 14px; }
  .checkbox { font-size: 14px; }
  .links { margin-top: 40px; }
  .links a { font-size: 14px; }
  .tab-button { font-size: 14px; height: 44px; }
  .login-tabs { margin-bottom: 24px; }
}

/* ===== 480px (소형 모바일) ===== */
@media (max-width: 480px) {
  .login-card { width: calc(100% - 24px); padding: 32px 20px; margin: 30px auto 0; }
  .top-logo { margin-top: 30px; height: 44px; }
  .top-logo img { height: 44px; }
  h1 { font-size: 22px; margin-bottom: 16px; }
  .field { margin: 10px 0; }
  input[type="text"].input, input[type="password"].input { height: 46px; font-size: 13px; border-radius: 8px; }
  .button { height: 46px; font-size: 16px; border-radius: 8px; }
  .join_wrap { flex-wrap: wrap; gap: 8px; padding: 0; }
  .join_wrap .btn_join { font-size: 13px; }
  .checkbox { font-size: 13px; gap: 6px; }
  .links a { font-size: 13px; margin: 0 6px; }
  .tab-button { font-size: 13px; height: 40px; }
  .login-tabs { margin-bottom: 20px; gap: 6px; }
  .quick-card { padding: 40px 20px 60px; margin: 40px auto 0; }
  .ql-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .ql-card { width: auto; height: 110px; }
}

/* ============================= 반응형 - 금손 게시판 ============================= */

/* ===== 1024px (태블릿) ===== */
@media (max-width: 1024px) {
  .gh-stat-card { padding: 16px; }
  .gh-stat-val { font-size: 20px; }
  .gh-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ===== 768px (모바일) ===== */
@media (max-width: 768px) {
  /* Stat cards: 2x2 grid */
  .gh-tab-panel > div[style*="display:flex"][style*="gap:16px"] { flex-wrap: wrap !important; }
  .gh-stat-card { flex: 1 1 calc(50% - 8px); min-width: 0; padding: 14px; }
  .gh-stat-val { font-size: 18px; }
  .gh-stat-label { font-size: 13px; }

  /* Table: hide header, card layout */
  .gh-thead { display: none; }
  .gh-trow {
    flex-wrap: wrap; height: auto; padding: 14px 12px; gap: 6px;
  }
  .gh-td { font-size: 13px; }
  .gh-td[style*="width:100px"][style*="justify-content:center"] { width: auto !important; }
  .gh-td[style*="width:110px"] { width: auto !important; }

  /* Grid: single col on mobile */
  .gh-grid { grid-template-columns: 1fr; gap: 12px; }
  .gh-card { padding: 20px; }
  .gh-card-avatar { width: 52px; height: 52px; }

  /* Tabs */
  .gh-tab { padding: 10px 16px; font-size: 13px; }
  .gh-tab i { font-size: 13px !important; }
}

/* ===== 480px (소형 모바일) ===== */
@media (max-width: 480px) {
  .gh-stat-card { padding: 12px; }
  .gh-stat-val { font-size: 16px; }
  .gh-stat-label { font-size: 12px; }
  .gh-stat-top i { font-size: 14px !important; }

  .gh-trow { padding: 12px 8px; }
  .gh-td { font-size: 12px; }

  .gh-grid { gap: 10px; }
  .gh-card { padding: 16px; gap: 12px; }
  .gh-card-avatar { width: 44px; height: 44px; }
  .gh-card-avatar i { font-size: 20px !important; }
  .gh-card-btn { font-size: 13px; padding: 7px 16px; }

  .gh-tab { padding: 8px 12px; font-size: 12px; }
}

/* ============================= 반응형 - 알림 페이지 ============================= */

/* ===== 1024px (태블릿) ===== */
@media (max-width: 1024px) {
  .notification_container { padding: 16px; }
  .notification_table th { padding: 10px; font-size: 14px; }
  .notification_table td { padding: 10px; font-size: 14px; }
}

/* ===== 768px (모바일) ===== */
@media (max-width: 768px) {
  .notification_container { padding: 12px; }

  /* Convert table to card layout */
  .notification_table { box-shadow: none; }
  .notification_table thead { display: none; }
  .notification_table tbody tr {
    display: flex; flex-direction: column; gap: 6px;
    padding: 14px; margin-bottom: 8px;
    border: 1px solid #dee2e6; border-radius: 8px;
    background: #fff;
  }
  .notification_table tbody tr.unread { background: #f0f8ff; }
  .notification_table td {
    padding: 0; border-bottom: none; font-size: 14px;
  }
  .notification_title { font-size: 15px; }
  .notification_message { font-size: 13px; line-height: 1.5; }
  .notification_date { font-size: 12px; }
  .btn_delete { padding: 5px 10px; font-size: 12px; align-self: flex-end; }
  .badge_new { font-size: 11px; padding: 2px 6px; }

  .pagination { gap: 4px; margin-top: 20px; }
  .page_btn, .page_num { padding: 6px 10px; font-size: 13px; }
}

/* ===== 480px (소형 모바일) ===== */
@media (max-width: 480px) {
  .notification_container { padding: 8px; }
  .notification_table tbody tr { padding: 12px; }
  .notification_title { font-size: 14px; }
  .notification_message { font-size: 12px; }
  .notification_date { font-size: 11px; }
  .btn_delete { padding: 4px 8px; font-size: 11px; }
  .badge_new { font-size: 10px; }
  .empty_notification { padding: 40px 12px; }
  .empty_notification p { font-size: 13px; }
  .page_btn, .page_num { padding: 5px 8px; font-size: 12px; }
}

/* iOS/WKWebView final override: prevent focus zoom on every mobile form field. */
@media (max-width: 768px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea,
  [contenteditable="true"],
  .mp-form-input,
  .mp-form-select,
  .mp-input,
  .app-input,
  .app-textarea,
  .form_input,
  .input,
  .gh-form-input,
  .gh-form-textarea,
  .rm_textarea,
  .pd-qty-input {
    font-size: 16px !important;
  }
}
