/* ========================================================================
   대장옥션 시그널 글로벌 오버라이드 (SITE_CODE 91 전체 페이지)
   - 운영서버 공통 클래스(common.css, site.css, type91.css 등)를
     시그널 톤으로 통일. 마크업/구조/동작 100% 보존.
   - 폰트 / 컬러 / 버튼 / 폼 / 테이블 / 카드 모든 요소 적용
   - header.php에서 SITE_CODE==91/114일 때 자동 로드
   ======================================================================== */

/* ===== 폰트 강제 통일 (Wanted Sans — 30/40대 핀테크 톤) ===== */
html, body, p, div, span, h1, h2, h3, h4, h5, h6,
a, button, input, select, textarea, label, li, ul, ol,
table, th, td, em, strong, b, small, i, dt, dd, dl,
nav, aside, header, footer, section, article, figure {
    font-family: 'Wanted Sans Variable', 'Wanted Sans', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif !important;
    letter-spacing: -0.02em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ===== 글로벌 배경/컬러 ===== */
html, body {
    background: var(--gray-50) !important;
    color: var(--gray-900) !important;
}

/* ===== 컨테이너 폭 ===== */
#wrap, #container, .boss_container, .auctionall_container, .pop_con {
    max-width: var(--container-max);
    margin: 0 auto !important;
    background: var(--gray-50);
}

/* ===== 운영서버 옛 헤더 / GNB 숨김 (signal v3로 교체됨) ===== */
#header_boss,
.boss_list .boss_list_mulkun,
.auctionall_list_mulkun,
.boss_list:not(.s-gnb),
.SearchTop,
.fixfooter,
.fixgnb {
    display: none !important;
}

/* ===== 공통 a 링크 ===== */
a {
    color: var(--violet);
    text-decoration: none;
}
a:hover, a:active { text-decoration: none; }

/* ===== 텍스트 컬러 유틸 통일 ===== */
.f_red, .red, .color_red,
font[color="red"], font[color="#ff0000"], font[color="#FF0000"] { color: var(--coral) !important; }
.f_blue, .blue, .color_blue,
font[color="blue"], font[color="#0000ff"], font[color="#0000FF"] { color: var(--blue) !important; }
.f_sky, .sky { color: var(--violet) !important; }
.f_green, .green { color: var(--green) !important; }
.f_orange, .orange { color: var(--orange) !important; }
.f_black, .black { color: var(--gray-900) !important; }
.f_gray, .gray { color: var(--gray-500) !important; }

/* ===== 배경 컬러 ===== */
.bg_blue { background: var(--violet) !important; color: var(--white) !important; }
.bg_sky { background: var(--violet-soft) !important; color: var(--violet) !important; }
.bg_red { background: var(--coral) !important; color: var(--white) !important; }
.bg_gray, .bg-gray, .bg_darkgray { background: var(--gray-100) !important; color: var(--gray-700) !important; }
.bg_w { background: var(--white) !important; }
.bg_bora { background: var(--violet-bg) !important; color: var(--violet) !important; }
.blueline { border-color: var(--violet) !important; }

/* ===== 폼 입력 ===== */
input[type=text], input[type=number], input[type=password],
input[type=email], input[type=search], input[type=tel],
input[type=date], input[type=time], select, textarea {
    height: auto;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid var(--gray-200) !important;
    border-radius: var(--r-sm) !important;
    background: var(--white) !important;
    color: var(--gray-900) !important;
    font-size: 14px !important;
    outline: none;
    box-shadow: none !important;
}
textarea { min-height: 80px; line-height: 1.5; resize: vertical; }
input:focus, select:focus, textarea:focus {
    border-color: var(--violet) !important;
}
input[type=submit], input[type=button], input[type=reset] {
    background: var(--violet) !important;
    color: var(--white) !important;
    border: 0 !important;
    border-radius: var(--r-sm) !important;
    padding: 10px 18px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer;
}

/* 체크박스 / 라디오 */
input[type=checkbox], input[type=radio] {
    width: 16px; height: 16px;
    accent-color: var(--violet);
    vertical-align: middle;
}

/* ===== 버튼 ===== */
button, .btn, .btn_l_blue_r, .btn_l_blue, .btn_search_blue,
.btn_blue, .btn_submit, .btn_main, .search_blue, .tab_btn_blu {
    background: var(--violet);
    color: var(--white) !important;
    border: 0 !important;
    border-radius: var(--r-sm);
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    line-height: 1.2;
}
.btn_gray, .btn_search_gray, .tab_btn_whgray, .tab_btn_dargray, .btn_cancel {
    background: var(--gray-100) !important;
    color: var(--gray-700) !important;
    border: 0 !important;
    border-radius: var(--r-sm);
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 700;
}
.btn_search_sky, .btn_sky { background: var(--violet-soft) !important; color: var(--violet) !important; }
.btn_search_blue:hover, .btn_blue:hover { opacity: 0.95; }

/* ===== 테이블 톤 ===== */
table { border-collapse: collapse; width: 100%; }
table.bosstable, table.maintable, table.list_table, .info_table, .bbs_list, .pop_view_table table {
    background: var(--white);
    border: 1px solid var(--gray-200) !important;
    border-radius: var(--r-sm);
    overflow: hidden;
    margin: 8px 0;
}
table.bosstable th, table.maintable th, table.list_table th, .info_table th, .bbs_list th {
    background: var(--gray-50) !important;
    color: var(--gray-700) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 10px 12px !important;
    text-align: left;
    border: 0 !important;
    border-bottom: 1px solid var(--gray-100) !important;
    border-right: 1px solid var(--gray-100) !important;
    white-space: nowrap;
}
table.bosstable td, table.maintable td, table.list_table td, .info_table td, .bbs_list td {
    background: var(--white) !important;
    color: var(--gray-900) !important;
    font-size: 13px !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--gray-100) !important;
    line-height: 1.5;
}

/* ===== 페이지네이션 ===== */
.paginate, .pagination, .paging {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 16px 20px;
}
.paginate a, .paginate span, .pagination a, .pagination span, .paging a, .paging span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--gray-700);
    background: var(--white);
    border: 1px solid var(--gray-200);
}
.paginate a.on, .paginate span.on, .paginate strong,
.pagination a.on, .pagination span.on, .pagination strong { background: var(--violet) !important; color: var(--white) !important; border-color: var(--violet) !important; }

/* ===== Swiper navigation ===== */
.swiper-button-prev, .swiper-button-next {
    width: 36px !important; height: 36px !important;
    background: var(--white) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(20,20,40,0.1);
    color: var(--gray-700) !important;
    --swiper-navigation-size: 16px;
}
.swiper-pagination-bullet { background: var(--gray-400) !important; }
.swiper-pagination-bullet-active { background: var(--violet) !important; }

/* ===== Selectric 통일 ===== */
.selectric, .selectric-wrapper { font-family: inherit !important; }
.selectric .label { color: var(--gray-900) !important; font-size: 14px !important; }
.selectric { border: 1px solid var(--gray-200) !important; border-radius: var(--r-sm) !important; background: var(--white) !important; }
.selectric-items { border: 1px solid var(--gray-200) !important; border-radius: var(--r-sm) !important; }
.selectric-items li { font-size: 14px !important; padding: 8px 12px !important; }
.selectric-items li.highlighted, .selectric-items li.selected { background: var(--violet-soft) !important; color: var(--violet) !important; }

/* ===== 리스트 (act_list) — boss_list가 이미 시그널이지만 fallback ===== */
.act_list { list-style: none; padding: 0; margin: 0 0 24px; display: flex; flex-direction: column; gap: 1px; background: var(--gray-100); }
.act_list > li {
    background: var(--white);
    border-radius: var(--r-md);
    padding: 14px;
    list-style: none;
    margin: 0;
}
.act_list .item { display: flex; gap: 12px; }
.act_list .img { flex: 0 0 90px; height: 90px; border-radius: 10px; overflow: hidden; }
.act_list .img img { width: 100%; height: 100%; object-fit: cover; }
.act_list .info { flex: 1; min-width: 0; font-size: 13px; line-height: 1.5; }
.act_list .info .addr { font-weight: 700; color: var(--gray-900); }

/* ===== 게시판 (community/data 페이지) ===== */
.bbs_view, .board_view, .post_view {
    background: var(--white);
    border-radius: 0;
    margin: 12px 0;
    padding: 20px;
}
.bbs_view h1, .bbs_view h2, .board_view h1, .board_view h2 {
    font-size: 18px !important;
    font-weight: 800 !important;
    margin-bottom: 8px !important;
    letter-spacing: -0.03em;
}

/* ===== 슬라이드 메뉴 (운영 .slide / v3 .s-slide 둘 다 작동) ===== */
.slide {
    position: fixed; top: 0; left: 0;
    width: 280px; height: 100vh;
    background: var(--white);
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    z-index: 200;
    overflow-y: auto;
    padding: 20px;
    list-style: none;
}
.slide.on, .slide.open { transform: translateX(0); }
.slide ul { list-style: none; padding: 0; margin: 0; }
.slide li { list-style: none; margin-bottom: 4px; }
.slide a {
    display: block;
    padding: 14px 12px;
    border-radius: var(--r-sm);
    font-size: 14px;
    font-weight: 600;
    color: var(--gray-700) !important;
}
.slide a:hover { background: var(--gray-100); }
.slide .tab_btn_edit { background: var(--violet) !important; color: var(--white) !important; text-align: center; margin-bottom: 8px; }

/* ===== iframe 정리 ===== */
iframe { border: 0; }

/* ===== 본문 여백 (탭바 공간) ===== */
body { padding-bottom: calc(var(--tabbar-h) + 18px) !important; }

/* ===== Boss CSS 강제 무력화 (배경 색깔 충돌 방지) ===== */
.boss_searchBox, .boss_searchBox * { font-family: inherit !important; }
#bossMain_top { background: var(--violet) !important; padding: 20px 20px 26px !important; color: var(--white) !important; border-radius: 0 0 var(--r-lg) var(--r-lg); }
#bossMain_top h1, #bossMain_top h3 { color: var(--white) !important; font-weight: 800 !important; }
#bossMain_top input[type=submit] { background: var(--yellow) !important; color: var(--gray-900) !important; font-weight: 800 !important; }

/* ===== 강조 키워드 통일 ===== */
strong, b { font-weight: 700; }

/* ===== 모바일 가로스크롤 방지 ===== */
html, body { overflow-x: hidden; }

/* ===== 페이징 공통 강제 적용 (landsearch2 등 외부 CSS 오버라이드 방지) ===== */
.paginate { display:flex !important; justify-content:center !important; padding:16px 0 8px !important; }
.paginate .inner { display:flex !important; flex-wrap:nowrap !important; align-items:center !important; gap:4px !important; }
.paginate .inner a { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-width:32px !important; height:32px !important; padding:0 6px !important; border-radius:8px !important; font-size:13px !important; font-weight:600 !important; color:var(--gray-500) !important; text-decoration:none !important; white-space:nowrap !important; box-sizing:border-box !important; }
.paginate .inner a.curr { background:#7C5CFF !important; color:#fff !important; }
.paginate .inner a.first, .paginate .inner a.last { font-size:11px !important; }
.paginate .inner a.prev::before { content:'‹'; font-size:16px !important; line-height:1 !important; }
.paginate .inner a.next::before { content:'›'; font-size:16px !important; line-height:1 !important; }
.paginate .inner a.prev, .paginate .inner a.next { font-size:0 !important; }
@media (max-width:400px) {
  .paginate .inner { gap:2px !important; }
  .paginate .inner a { min-width:26px !important; height:26px !important; font-size:11px !important; padding:0 3px !important; border-radius:6px !important; }
  .paginate .inner a.first, .paginate .inner a.last { display:none !important; }
}
