@font-face { font-family: 'GmarketSansMedium'; src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff'); font-weight: normal; font-style: normal; }
  @import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');

  html, body { overflow-x: hidden; width: 100%; margin: 0; padding: 0; }
  body { background: #f4f5f7 !important; }
  
  .idx-wrap { 
    max-width: 1200px; 
    width: 100%;
    margin: 40px auto; 
    padding: 0 20px 80px; 
    font-family: 'Pretendard', sans-serif; 
    letter-spacing: -0.5px; 
    transition: color 0.2s ease;
    box-sizing: border-box;
  }

  .idx-search-title, 
  .idx-search-title b, 
  .idx-list-title, 
  .idx-tri-head h3, 
  .idx-banner-slide .b-text1,
  .idx-rank-headline { 
      font-family: 'GmarketSansMedium', sans-serif; 
      font-weight: normal; 
  }

  /* ---- 상단: 검색(좌) + 메인배너(우) ---- */
  .idx-top-row { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 60px; align-items: center; width: 100%; }
  @media (max-width: 768px) and (orientation: portrait) { .idx-top-row { grid-template-columns: 1fr; } }

  .idx-search-wrap { display: flex; flex-direction: column; justify-content: center; padding-right: 20px; }
  @media (max-width: 768px) and (orientation: portrait) { .idx-search-wrap { display: none; } }
  .idx-search-title { font-size: 22px; color: #111; margin-bottom: 14px; transition: color 0.2s; }
  .idx-search-title b { color: #ff6a00; }
  
  .idx-search-form { position: relative; }
  .idx-search-form input { 
      width: 100%; height: 50px; padding: 0 50px 0 16px; 
      border: 1px solid #e0e0e0 !important; border-radius: 10px; 
      background: #ffffff; font-size: 14px; box-sizing: border-box; 
      transition: all 0.2s ease; font-family: 'Pretendard', sans-serif; color: #111111; 
  }
  .idx-search-form input::placeholder { color: #8a8f98; }
  .idx-search-form input:focus { border-color: #ff6a00 !important; outline: none; box-shadow: 0 0 0 3px rgba(255,106,0,0.1) !important; }
  .idx-search-form button { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); background: #111; border: none; border-radius: 8px; width: 38px; height: 38px; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #fff; transition: 0.2s; }
  .idx-search-form button:hover { background: #ff6a00; }

  /* 배너 스타일 */
  .idx-banner { position: relative; border-radius: 16px; overflow: hidden; background: #eaf8f1; height: 160px; transition: background 0.2s, border 0.2s; width: 100%; }
  .idx-banner-track { display: flex; width: 100%; height: 100%; transition: transform .4s ease-in-out; will-change: transform; }
  .idx-banner-slide { flex: 0 0 100%; width: 100%; height: 100%; display: flex; align-items: center; padding: 0 40px; box-sizing: border-box; }
  .idx-banner-slide .b-text { flex: 1; }
  .idx-banner-slide .b-text1 { font-size: 22px; color: #111; line-height: 1.3; margin-bottom: 8px; transition: color 0.2s; }
  .idx-banner-slide .b-text2 { font-size: 15px; color: #555; font-family: 'Pretendard', sans-serif; transition: color 0.2s; }
  .idx-banner-slide .b-text3 { font-size: 14px; color: #777; margin-top: 6px; transition: color 0.2s; }
  .idx-banner-slide .b-btn { display: inline-block; margin-top: 10px; padding: 8px 18px; border-radius: 20px; background: #ff6a00; color: #fff; font-size: 13px; font-weight: 600; text-decoration: none; transition: background 0.2s; }
  .idx-banner-slide .b-btn:hover { background: #e55f00; }
  
  .idx-banner-slide .b-img { 
      flex: 0 0 auto; height: 100%; display: flex; align-items: center; 
      padding-left: 10px; padding-right: 16px; padding-bottom: 24px; box-sizing: border-box;
  }
  .idx-banner-slide .b-img img { max-height: 110px; width: auto; object-fit: contain; }
  
  .idx-banner-controls { 
      position: absolute; bottom: 0; right: 0; background: #ffffff; 
      padding: 12px 20px; border-radius: 20px 0 0 0; z-index: 2; transition: background 0.2s, border 0.2s; 
  }
  .idx-banner-dots { display: flex; gap: 6px; align-items: center; }
  .idx-banner-dots span { width: 6px; height: 6px; border-radius: 50%; background: #cbd5e1; cursor: pointer; transition: 0.2s; }
  .idx-banner-dots span.active { background: #334155; width: 16px; border-radius: 4px; }

  /* ---- 프리미엄 / 메인 등록업체 ---- */
  .idx-list-title { display: flex; align-items: center; gap: 8px; font-size: 22px; color: #111; margin: 0 0 25px; transition: color 0.2s; }
  
  .idx-premium-wrap { position: relative; margin-bottom: 70px; width: 100%; }
  .idx-premium-slider { overflow: hidden; margin: 0 -10px; padding: 10px; }
  .idx-premium-track { display: flex; gap: 16px; transition: transform 0.4s ease; will-change: transform; width: 100%; }

  .idx-premium-card, .idx-ad-card { 
      position: relative; background: #ffffff; border: 1px solid #e2e5e9; border-radius: 18px; 
      padding: 34px 14px 0; min-height: 290px; display: flex; flex-direction: column; 
      justify-content: flex-start; box-shadow: 0 2px 8px rgba(0,0,0,0.02); 
      transition: all 0.2s ease-in-out; cursor: pointer; text-align: center; box-sizing: border-box;
      font-family: 'GmarketSansMedium', 'Pretendard', sans-serif !important; 
      overflow: visible;
  }
  
  .idx-premium-card { flex: 0 0 calc(20% - 12.8px); min-width: 0; }
  .idx-premium-card:hover, .idx-ad-card:hover { 
      background: #fff9f4; border-color: #ff6a00; box-shadow: 0 10px 24px rgba(255,106,0,.12); transform: translateY(-3px); 
  }

  .idx-premium-ribbon {
    position: absolute;
    top: 6px;
    right: -8px;
    background: #ff6a00;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 5px 12px 5px 14px;
    border-radius: 14px 0 0 14px;
    box-shadow: -2px 3px 6px rgba(255, 106, 0, 0.25);
    z-index: 10;
    font-family: 'GmarketSansMedium', sans-serif;
  }
  .idx-premium-ribbon::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: -6px;
    border-width: 6px 8px 0 0;
    border-style: solid;
    border-color: #cc5500 transparent transparent transparent;
  }

  .idx-card-body {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-bottom: 0;
    padding: 6px 0 16px;
    border-bottom: none;
  }

  .idx-premium-card .biz, .idx-ad-card .biz { font-size: 13.5px; font-weight: 700; color: #717680; margin: 0 0 4px 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  
  .idx-premium-card .d1, .idx-ad-card .d1 { font-size: 18px; font-weight: 700; color: #ff6a00; margin: 0; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .idx-premium-card .d2, .idx-ad-card .d2 { font-size: 17px; font-weight: 700; color: #1a1a1a; margin: 0 0 4px 0; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .idx-premium-card .d1 { color: #23499e; }

  .idx-premium-card .d34, .idx-ad-card .d34 {
      font-size: 13.5px; font-weight: 500; color: #717680; line-height: 1.45;
      display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
      margin-top: 2px;
  }

  /* 하단 영역 (PC용 기본 스타일) */
  .idx-premium-card .foot-row, .idx-ad-card .foot-row { 
      flex: 1;
      display: flex; 
      align-items: center; 
      justify-content: center; 
      gap: 8px; 
      flex-wrap: nowrap; 
      width: 100%; 
      overflow: hidden; 
  }
  .idx-premium-card .region-tag, .idx-ad-card .region-tag {
      background: #ffffff; color: #8a8f98; font-size: 12px; font-weight: 700;
      padding: 5px 8px; border-radius: 4px; flex-shrink: 0; border: 1px solid #e2e5e9;
  }

  .idx-premium-card .tel, .idx-ad-card .tel {
      display: flex; align-items: center; gap: 5px; font-size: 14px; font-weight: 700; color: #222;
      text-decoration: none; white-space: nowrap; pointer-events: none; cursor: default; overflow: hidden; text-overflow: ellipsis;
  }
  .idx-premium-card .tel svg, .idx-ad-card .tel svg { width: 13px; height: 13px; fill: #8a8f98; flex-shrink: 0; }

  /* 기본 상태에서 모바일 전용 요소 숨김 */
  .idx-premium-card .mobile-region-tag,
  .idx-ad-card .mobile-region-tag { display: none; }
  .idx-mobile-btn-group { display: none; }

  .idx-premium-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; background: #fff; border: 1px solid #ddd; border-radius: 50%; display: flex; justify-content: center; align-items: center; cursor: pointer; z-index: 10; box-shadow: 0 2px 10px rgba(0,0,0,0.05); transition: 0.2s; }
  .idx-premium-nav:hover { background: #f8f9fa; border-color: #bbb; }
  .idx-premium-nav svg { stroke: #555; transition: stroke 0.2s; }
  .idx-premium-prev { left: -22px; }
  .idx-premium-next { right: -22px; }
  
  .idx-ad-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-bottom: 70px; width: 100%; }
  
  @media (max-width: 1024px) { 
      .idx-premium-card { flex: 0 0 calc(33.333% - 10.66px); } 
      .idx-premium-prev { left: 0px; } .idx-premium-next { right: 0px; } 
      .idx-ad-grid { grid-template-columns: repeat(3, 1fr); }
  }

  /* =========================================================
   * 모바일 전용 반응형 레이아웃 (세로 모드)
   * ========================================================= */
  @media (max-width: 768px) and (orientation: portrait) {
      .idx-wrap { padding: 0 12px 60px; }
      .idx-premium-card { flex: 0 0 calc(50% - 8px); }
      .idx-ad-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
      .idx-premium-card, .idx-ad-card { 
        padding: 28px 8px 12px !important; 
        min-height: 240px; 
        border-radius: 12px; 
        position: relative;
        justify-content: space-between;
      }

      /* 모바일 좌측 상단 모서리 전용 지역명 태그 */
      .idx-premium-card .mobile-region-tag,
      .idx-ad-card .mobile-region-tag {
        display: inline-block !important;
        position: absolute;
        top: 10px;
        left: 10px;
        background: rgba(245, 246, 248, 0.95);
        color: #666666;
        font-size: 10.5px;
        font-weight: 700;
        padding: 3px 7px;
        border-radius: 6px;
        border: 1px solid #e2e5e9;
        z-index: 10;
        box-shadow: 0 1px 3px rgba(0,0,0,0.05);
      }

      .idx-card-body { 
        flex: 1;
        margin-bottom: 8px; 
        padding: 0 0 8px 0; 
        gap: 4px; 
        border-bottom: none;
      }
      .idx-premium-card .biz, .idx-ad-card .biz { font-size: 11.5px; margin-bottom: 2px; }
      .idx-premium-card .d1, .idx-ad-card .d1 { font-size: 14.5px; }
      .idx-premium-card .d2, .idx-ad-card .d2 { font-size: 14px; margin-bottom: 2px; }
      .idx-premium-card .d34, .idx-ad-card .d34 { font-size: 12px; line-height: 1.35; margin-top: 0; }
      .idx-premium-ribbon { font-size: 10px; padding: 4px 10px 4px 12px; top: 4px; right: -6px; }
      .idx-premium-ribbon::after { border-width: 5px 6px 0 0; bottom: -5px; }

      .foot-row { display: none !important; }
      .idx-mobile-btn-group {
        display: flex !important;
        gap: 4px;
        width: 100%;
        margin-top: 6px;
      }
      .idx-mb-btn {
        flex: 1;
        height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        font-weight: 700;
        border-radius: 4px;
        text-decoration: none !important;
        box-sizing: border-box;
      }
      .idx-mb-btn.btn-detail {
        background: #ffffff;
        color: #333333;
        border: 1px solid #cccccc;
      }
      .idx-mb-btn.btn-call {
        background: #ff6a00;
        color: #ffffff;
        border: 1px solid #ff6a00;
      }
  }

  /* ---- 광고유치 플레이스홀더 카드 (프리미엄/메인 추천 공용) ---- */
  .idx-premium-placeholder, .idx-ad-placeholder {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: default;
    border-style: dashed;
    border-color: #ffb066;
    background: #fffaf5;
    padding-bottom: 24px !important;
  }
  .idx-premium-placeholder:hover, .idx-ad-placeholder:hover {
    transform: none;
    background: #fff3e6;
    border-color: #ff6a00;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
  }
  .idx-ph-inner {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 10px 6px;
  }
  .idx-ph-icon {
    display: block !important;
    font-size: 26px;
    line-height: 1.2;
    margin: 0 0 8px !important;
  }
  .idx-ph-text {
    display: block !important;
    font-size: 13px;
    font-weight: 700 !important;
    line-height: 1.4;
    color: #8a8f98 !important;
    margin: 0 0 14px !important;
    font-family: 'Pretendard', sans-serif;
    text-decoration: none !important;
  }
  .idx-ph-btn {
    display: inline-block !important;
    padding: 8px 20px !important;
    border-radius: 20px !important;
    background: #ff6a00 !important;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-family: 'Pretendard', sans-serif;
    border: none !important;
    transition: background 0.2s;
  }
  .idx-ph-btn:hover, .idx-ph-btn:active, .idx-ph-btn:visited {
    color: #ffffff !important;
    text-decoration: none !important;
  }
  .idx-ph-btn:hover { background: #e55f00 !important; }

  @media (max-width: 768px) and (orientation: portrait) {
    .idx-premium-placeholder, .idx-ad-placeholder {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      padding: 28px 8px 12px !important;
    }
    .idx-ph-icon { font-size: 20px !important; margin: 0 0 6px !important; }
    .idx-ph-text { font-size: 11.5px !important; margin: 0 0 10px !important; }
    .idx-ph-btn { padding: 6px 16px !important; font-size: 12px !important; }
  }

  /* 카테고리 박스 (지역별/상품별) */
  .idx-dual { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin-bottom: 70px; width: 100%; }
  .idx-dual-tabs { display: none; }

  @media (max-width: 768px) and (orientation: portrait) {
    .idx-dual { grid-template-columns: 1fr; gap: 0; }
    .idx-dual-tabs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-bottom: 14px; }
    .idx-dual-tabs button { padding: 12px 0; border: none; border-bottom: 2px solid #eee; background: none; font-family: 'GmarketSansMedium', sans-serif; font-weight: normal; font-size: 15px; color: #888; cursor: pointer; transition: 0.2s; }
    .idx-dual-tabs button.active { color: #ff6a00; border-bottom-color: #ff6a00; }
    .idx-tri-box[data-panel] { display: none; }
    .idx-tri-box[data-panel].active { display: block; }
    .idx-tri-box[data-panel] .idx-tri-head h3 { display: none; }
    .idx-tri-box[data-panel] .idx-tri-head { justify-content: flex-end; border-bottom: none; padding-bottom: 0; margin-bottom: 12px; }
  }

  .idx-tri-box { background: #fff; border: 1px solid #ebebeb; border-radius: 20px; padding: 30px; box-shadow: 0 4px 20px rgba(0,0,0,0.01); transition: background 0.2s, border-color 0.2s; width: 100%; box-sizing: border-box; }
  .idx-tri-head { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #f1f1f1; padding-bottom: 15px; margin-bottom: 25px; transition: border-color 0.2s; }
  .idx-tri-head h3 { font-size: 18px; margin: 0; color: #111; position: relative; transition: color 0.2s; }
  .idx-tri-head h3::after { content: ''; position: absolute; left: 0; bottom: -16px; width: 100%; height: 2px; background: #111; transition: background 0.2s; }
  .idx-tri-more { font-size: 14px; color: #888; text-decoration: none; transition: 0.15s; font-weight: 500; }
  .idx-tri-more:hover { color: #ff6a00; }

  .idx-pill-list { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; width: 100%; }
  .idx-pill-list.products { grid-template-columns: repeat(7, 1fr); }
  @media (max-width: 1024px) { .idx-pill-list { grid-template-columns: repeat(5, 1fr); } }
  @media (max-width: 768px) and (orientation: portrait) { .idx-pill-list, .idx-pill-list.products { grid-template-columns: repeat(3, 1fr); gap: 8px; } }
  
  .idx-pill-list a { padding: 12px 0; border-radius: 8px; background: #f8f9fa; border: 1px solid #f8f9fa; color: #555; font-size: 14px; font-weight: 500; text-decoration: none; text-align: center; transition: all 0.2s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
  .idx-pill-list a:hover { background: #fff4ec; border-color: #ff6a00; color: #ff6a00; font-weight: 700; }

  /* 통계 배너 */
  .idx-stats-banner{background:linear-gradient(120deg,#12b3a8,#2b9bd6);border-radius:20px;padding:20px 30px;margin-bottom:60px;display:flex;justify-content:flex-start;align-items:center;gap:20px;flex-wrap:wrap;color:#fff;width:100%;box-sizing:border-box;}
  .idx-stats-road{flex:1;min-width:80px;height:36px;position:relative;overflow:hidden;}
  .idx-stats-vehicles{position:absolute;top:50%;left:100%;transform:translateY(-50%);font-size:28px;white-space:nowrap;animation:idxVehicleDrive 4s linear infinite;}
  @keyframes idxVehicleDrive{ 0%{ left:100%; } 100%{ left:-45%; } }
  @media (max-width:640px){
    .idx-stats-banner{padding:18px 20px;}
    .idx-stats-road{height:28px;}
    .idx-stats-vehicles{font-size:22px;}
  }
  .idx-stats-text{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;row-gap:8px;}
  .idx-stats-headline{font-size:18px;font-weight:800;margin:0;font-family:'GmarketSansMedium',sans-serif;display:flex;align-items:baseline;gap:6px;white-space:nowrap;}
  .idx-stats-divider{width:1px;height:14px;background:rgba(255,255,255,.4);flex-shrink:0;}
  .idx-stats-row{display:flex;gap:14px;flex-wrap:nowrap;font-size:13.5px;white-space:nowrap;}
  .idx-stats-row b{font-size:15px;font-weight:800;margin-left:4px;}

  /* 하단 정식 등록 운송업체 / 실시간 상담 문의 */
  .idx-status-dual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;margin-bottom:70px;width:100%;}
  @media (max-width:768px) and (orientation: portrait){ .idx-status-dual{grid-template-columns:minmax(0,1fr);gap:40px;} }
  .idx-status-col{display:flex;flex-direction:column;min-height:0;}
  .idx-status-col-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
  .idx-status-col-head h3{font-size:17px;margin:0;font-family:'GmarketSansMedium',sans-serif;font-weight:normal;color:#222;display:flex;align-items:center;flex-wrap:wrap;}
  .idx-status-col-head h3 span{margin-right:6px;}
  .idx-status-col-head h3 .hot{color:#ff6a00;margin-right:6px;}
  .idx-status-col-head a.more{font-size:12.5px;color:#888;text-decoration:none;}
  .idx-status-col-head a.more:hover{color:#ff6a00;}

  .idx-status-count{display:inline-flex;align-items:baseline;margin-left:2px;font-size:17px;font-weight:700;font-family:'Pretendard',sans-serif;color:#222;}
  .idx-status-count .idx-counter{margin-right:0;color:#ff6a00;font-variant-numeric:tabular-nums;}

  /* 정식 등록 운송업체 현황 */
  .idx-biz-list{background:#fff;border:1px solid #eee;border-radius:16px;padding:6px 18px;flex:1;}
  .idx-biz-item{display:flex;align-items:center;gap:10px;padding:15px 0;border-top:1px solid #eaeaea;border-bottom:1px solid #eaeaea;margin-top:-1px;text-decoration:none;cursor:pointer;width:100%;min-width:0;}
  .idx-biz-item .region-tag{flex-shrink:0;background:#f5f6f8;color:#888;font-size:12.5px;font-weight:600;padding:4px 8px;border-radius:6px;}
  
  .idx-biz-item .titles{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
  .idx-biz-item .h1{font-size:15px;font-weight:700;color:#12b3a8;display:inline;}
  .idx-biz-item .h2{font-size:13.5px;font-weight:600;color:#222;display:inline;margin-left:4px;}
  .idx-biz-item .bizname{flex-shrink:0;font-size:13px;color:#999;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;}

  @media (max-width: 480px) {
    .idx-biz-item .h1 { font-size: 13.5px; }
    .idx-biz-item .h2 { font-size: 12.5px; }
    .idx-biz-item .bizname { max-width: 70px; font-size: 12px; }
  }

  .idx-biz-item.is-premium .h1{
    background:linear-gradient(90deg,#12b3a8,#2b9bd6,#ff6a00);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
    background-size:200% auto; animation:idxGradientMove 4s linear infinite;
  }
  @keyframes idxGradientMove{ 0%{background-position:0% center;} 100%{background-position:200% center;} }

  /* 실시간 상담 문의 */
  .idx-consult-list{display:flex;flex-direction:column;gap:12px;}
  .idx-consult-item{display:block;background:#fff;border:1px solid #eee;border-radius:14px;padding:16px 18px;text-decoration:none;color:inherit;transition:.18s ease;min-width:0;}
  .idx-consult-item:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(0,0,0,.08);border-color:#12b3a8;}
  .idx-consult-item .row-top{display:flex;gap:10px;align-items:flex-start;min-width:0;}
  .idx-consult-item .cat-tag{flex-shrink:0;font-size:11px;font-weight:700;padding:4px 8px;border-radius:6px;}
  .idx-consult-item .cat-tag.cat-택배{background:#fff1e8;color:#ff6a00;}
  .idx-consult-item .cat-tag.cat-라이더{background:#eaf1ff;color:#3b82f6;}
  .idx-consult-item .cat-tag.cat-화물{background:#e6f7f6;color:#12b3a8;}
  
  .idx-consult-item .subj-wrap{flex:1;min-width:0;overflow:hidden;}
  .idx-consult-item .subj{display:block;font-size:13.5px;font-weight:700;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .idx-consult-item .preview{display:block;font-size:12px;color:#999;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  
  .idx-consult-item .region-amt{flex-shrink:0;text-align:right;}
  .idx-consult-item .region-amt .region{font-size:11.5px;color:#999;}
  .idx-consult-item .region-amt .career{font-size:12px;font-weight:800;color:#ef476f;margin-top:2px;}
  .idx-consult-item .row-bottom{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:11.5px;color:#999;}
  .idx-consult-item .row-bottom .cnt{color:#12b3a8;font-weight:700;}

  .idx-empty { padding: 50px 0; text-align: center; color: #888; font-size: 15px; background: #f8f9fa; border-radius: 16px; border: 1px solid transparent; transition: all 0.2s; margin-bottom: 70px; }

  /* 실시간 인기 검색 현황 (지역별/상품별 클릭 랭킹) */
  .idx-rank-banner {
    position: relative; overflow: hidden;
    background: linear-gradient(135deg, #ffb066 0%, #ff8a3d 35%, #ff6a00 65%, #e8480a 100%);
    border-radius: 22px; padding: 28px 32px; margin-bottom: 60px;
    display: grid; grid-template-columns: 1fr 1px 1fr; gap: 34px;
    color: #fff; width: 100%; box-sizing: border-box;
    border: 1px solid rgba(255,255,255,.18);
    box-shadow:
      0 20px 40px -16px rgba(214,74,0,.55),
      0 2px 0 0 rgba(255,255,255,.35) inset,
      0 -14px 26px 0 rgba(0,0,0,.18) inset;
  }
  .idx-rank-banner::before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background:
      radial-gradient(120% 90% at 12% -10%, rgba(255,255,255,.45), rgba(255,255,255,0) 50%),
      repeating-linear-gradient(115deg, rgba(255,255,255,.09) 0 10px, rgba(255,255,255,0) 10px 20px);
  }
  .idx-rank-divider { background: rgba(255,255,255,.35); }
  .idx-rank-col { position: relative; min-width: 0; }
  .idx-rank-empty { font-size: 13px; color: rgba(255,255,255,.85); padding: 10px 0 4px; }
  
  /* 수정: 줄내림 방지를 위해 white-space: nowrap 적용 */
  .idx-rank-headline { 
      margin: 0; 
      font-size: 15.5px; 
      line-height: 1.4; 
      font-weight: 700; 
      word-break: keep-all; 
      white-space: nowrap; 
  }
  .idx-rank-headline b { background: #fff200; color: #7a2c00; padding: 1px 7px; border-radius: 5px; font-weight: 800; }
  .idx-rank-headline a.idx-rank-winner { text-decoration: none; transition: filter 0.15s ease; }
  .idx-rank-headline a.idx-rank-winner:hover b { filter: brightness(1.08); }

  .idx-rank-track { position: relative; height: 14px; border-radius: 20px; margin: 26px 0 14px;
    background: linear-gradient(90deg, rgba(255,255,255,.55), rgba(255,255,255,.92));
    box-shadow: inset 0 2px 5px rgba(0,0,0,.18); }
  .idx-rank-fill { position: absolute; top: 0; right: 0; height: 100%; border-radius: 0 20px 20px 0;
    background: repeating-linear-gradient(135deg, #e04e00 0 6px, #ff7a1f 6px 12px);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.5); }
  .idx-rank-dots { position: absolute; inset: 0; display: flex; }
  .idx-rank-dots .dot-col { flex: 1; position: relative; display: block; text-decoration: none; cursor: pointer; }
  .idx-rank-dots .dot { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
    width: 12px; height: 12px; border-radius: 50%; background: #fff; transition: transform 0.15s ease;
    box-shadow: 0 0 0 3px rgba(255,255,255,.35), 0 1px 3px rgba(0,0,0,.15); }
  .idx-rank-dots .dot::after { content:''; position:absolute; inset:3px; border-radius:50%; background:#ff6a00; }
  .idx-rank-dots .dot-col:hover .dot { transform: translate(-50%,-50%) scale(1.25); }

  .idx-rank-labels { display: flex; }
  .idx-rank-labels .lbl-col { flex: 1; display: block; font-size: 12px; font-weight: 600; color: rgba(255,255,255,.95); white-space: nowrap; text-align: center; text-decoration: none; cursor: pointer; transition: color 0.15s ease; }
  .idx-rank-labels .lbl-col:hover { color: #fff200; }
  .idx-rank-labels .lbl-col:first-child { text-align: left; }
  .idx-rank-labels .lbl-col:last-child { text-align: right; font-weight: 800; font-size: 13.5px; color: #fff; }
  .idx-rank-labels .lbl-col:last-child:hover { color: #fff200; }
  .idx-rank-labels .lbl-col b { font-weight: 800; }

  /* 모바일 화면에서 문구가 잘리지 않도록 폰트 및 자간 미세 조정 */
  @media (max-width: 768px) and (orientation: portrait) {
    .idx-rank-banner { grid-template-columns: 1fr; padding: 22px 18px; gap: 26px; }
    .idx-rank-divider { display: none; }
    .idx-rank-headline { font-size: 12.5px; white-space: nowrap; letter-spacing: -0.8px; }
    .idx-rank-labels .lbl-col { font-size: 11px; }
    .idx-rank-labels .lbl-col:last-child { font-size: 12.5px; }
  }


  /* 다크모드 대응 */
  html[data-theme="dark"] body { background-color: #12141c !important; }
  html[data-theme="dark"] .idx-search-title { color: #ffffff !important; }
  html[data-theme="dark"] .idx-search-form input { background-color: #1e222e !important; border-color: #2b3040 !important; color: #ffffff !important; }
  html[data-theme="dark"] .idx-search-form input::placeholder { color: #8a94a6 !important; }
  html[data-theme="dark"] .idx-search-form button { background: #ff6a00; color: #ffffff; }

  html[data-theme="dark"] .idx-banner { background: #1e222e; border: 1px solid #2b3040; }
  html[data-theme="dark"] .idx-banner-slide .b-text1 { color: #ffffff; }
  html[data-theme="dark"] .idx-banner-slide .b-text2 { color: #94a3b8; }
  html[data-theme="dark"] .idx-banner-slide .b-text3 { color: #7c8798; }
  html[data-theme="dark"] .idx-banner-controls { background: #12141c; border-top: 1px solid #2b3040; border-left: 1px solid #2b3040; }
  html[data-theme="dark"] .idx-banner-dots span { background: #475569; }
  html[data-theme="dark"] .idx-banner-dots span.active { background: #e2e8f0; }

  html[data-theme="dark"] .idx-list-title { color: #ffffff; }
  html[data-theme="dark"] .idx-status-col-head h3 { color: #ffffff; }
  html[data-theme="dark"] .idx-status-count { color: #ffffff; }
  html[data-theme="dark"] .idx-status-count .idx-counter { color: #ff8a3d; }

  html[data-theme="dark"] .idx-premium-card,
  html[data-theme="dark"] .idx-ad-card { background: #1e222e !important; border-color: #2b3040 !important; box-shadow: none !important; }
  html[data-theme="dark"] .idx-premium-card:hover,
  html[data-theme="dark"] .idx-ad-card:hover { border-color: #ff6a00 !important; background: #2a221d !important; }

  html[data-theme="dark"] .idx-premium-card .biz, 
  html[data-theme="dark"] .idx-ad-card .biz { color: #9aa0a8; }
  html[data-theme="dark"] .idx-premium-card .d1 { color: #6f93ff; }
  html[data-theme="dark"] .idx-ad-card .d1 { color: #ff8a3d; }
  html[data-theme="dark"] .idx-premium-card .d2,
  html[data-theme="dark"] .idx-ad-card .d2 { color: #ffffff !important; }
  html[data-theme="dark"] .idx-premium-card .d34,
  html[data-theme="dark"] .idx-ad-card .d34 { color: #cbd5e1 !important; }

  html[data-theme="dark"] .idx-premium-card .region-tag,
  html[data-theme="dark"] .idx-ad-card .region-tag { background: #262b3a; color: #cbd5e1; border-color: #2b3040; }
  html[data-theme="dark"] .idx-premium-card .tel,
  html[data-theme="dark"] .idx-ad-card .tel { color: #ffffff !important; }
  html[data-theme="dark"] .idx-premium-card .tel svg,
  html[data-theme="dark"] .idx-ad-card .tel svg { fill: #cbd5e1 !important; }

  html[data-theme="dark"] .idx-tri-box { background: #1e222e; border-color: #2b3040; box-shadow: none; }
  html[data-theme="dark"] .idx-tri-head { border-bottom-color: #2b3040; }
  html[data-theme="dark"] .idx-tri-head h3 { color: #ffffff; }
  html[data-theme="dark"] .idx-tri-head h3::after { background: #ffffff; }
  html[data-theme="dark"] .idx-pill-list a { background: #262b3a; border-color: #262b3a; color: #cbd5e1; }
  html[data-theme="dark"] .idx-pill-list a:hover { background: #3a2b22; border-color: #ff6a00; color: #ff6a00; }

  html[data-theme="dark"] .idx-biz-list { background: #1e222e; border-color: #2b3040; }
  html[data-theme="dark"] .idx-biz-item { border-top-color: #2b3040; border-bottom-color: #2b3040; }
  html[data-theme="dark"] .idx-biz-item .region-tag { background: #262b3a; color: #9aa0a8; }
  html[data-theme="dark"] .idx-biz-item .h2 { color: #e5e7eb; }

  html[data-theme="dark"] .idx-consult-item { background: #1e222e; border-color: #2b3040; }
  html[data-theme="dark"] .idx-consult-item .subj { color: #e5e7eb; }

  html[data-theme="dark"] .idx-premium-nav { background: #262b3a; border-color: #3b4256; }
  html[data-theme="dark"] .idx-premium-nav svg { stroke: #e2e8f0; }
  html[data-theme="dark"] .idx-empty { background: #1e222e; color: #94a3b8; border-color: #2b3040; }

  html[data-theme="dark"] .idx-premium-placeholder,
  html[data-theme="dark"] .idx-ad-placeholder { background: #262019 !important; border-color: #7a4a1e !important; }
  html[data-theme="dark"] .idx-premium-placeholder:hover,
  html[data-theme="dark"] .idx-ad-placeholder:hover { background: #2f2418 !important; border-color: #ff6a00 !important; }
  html[data-theme="dark"] .idx-ph-text { color: #9aa0a8; }