/* =====================
   소상공인365 - index
   ===================== */

   main {
    background: #F3F4F6;
    padding-bottom: 8rem;
    min-height: calc(100vh - 7rem - 7.4rem);
  }
  
  /* 공통 섹션 */
  main > section {
    padding: 2.4rem 0 0;
  }
  main > section:last-child {
    padding-bottom: 2.4rem;
  }
  
  .container {
    padding: 0 1.6rem;
  }
  
  /* 섹션 타이틀 */
  .section-title {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 1.2rem;
  }
  .section-title span {
    font-size: 1.8rem;
    font-weight: 700;
    color: #1a1a1a;
    letter-spacing: -0.03em;
  }
  .section-icon {
    width: 2.8rem;
    height: 2.8rem;
    object-fit: contain;
  }
  
  .section-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.4rem;
  }
  .section-title-row .section-title {
    margin-bottom: 0;
  }
  .link-more {
    display: flex;
    align-items: center;
    font-size: 1.4rem;color: #3B82F6;
    font-weight: 500;
  }
  .link-more img{width: 2.5rem;}
  
  .section-desc {
    font-size: 1.6rem;
    color: #333;
    margin-bottom: 1.2rem;
    letter-spacing: -0.02em;
    font-weight: 600;
  }
  .section-sub {
    font-size: 1.6rem;
    color: #333;
    font-weight: 600;
    margin-bottom: 1.2rem;
    letter-spacing: -0.02em;
    margin-top: 1.5rem;
  }
  
  /* 카드 */
  .card {
    background: #fff;
    border-radius: 1.4rem;
    padding: 2rem 1.6rem;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
  }
  .card-desc {
    font-size: 1.6rem;
    color: #333;
    font-weight: 600;
    margin-bottom: 1.4rem;
    letter-spacing: -0.02em;
  }
  
  /* 버튼 */
  .btn-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    width: 100%;
    height: 5.2rem;
    background: #3B82F6;
    border-radius: 1rem;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    letter-spacing: -0.02em;
    margin-top: 1.4rem;
    box-sizing: border-box;
  }
  .btn-primary.btn-blue {
    background: #3d7df5;
  }
  
  /* 버튼 아이콘 */
  .btn-icon-circle img{width: 2rem;}
  .btn-icon-clock img{width: 2rem;}
  .btn-icon-q {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    border: 2px solid #fff;
    border-radius: 50%;
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
  }
  .btn-icon-q::before {
    content: '?';
  }
  
  /* 커스텀 셀렉트 */
  .custom-select-wrap {
    margin-bottom: 1rem;
  }
  .custom-select {
    position: relative;
    width: 100%;
    cursor: pointer;
  }
  .custom-select.sm {
    flex: 1;
    border-radius: 0.8rem;
  }
  
  .cs-selected {
    display: flex;
    align-items: center;
    padding: 0 1.8rem;
    height: 4.8rem;
    position: relative;
    background: #F3F4F6;
    border-radius: 1rem;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
  }
 .section-blueocean .cs-selected{background: #fff;}
  
  .custom-select.sm .cs-selected {
    height: 4rem;
    padding: 0 1.5rem;
  }
  
  .cs-icon {
    display: inline-block;
    width: 1.6rem;
    height: 1.6rem;
    background: url('./images/icon_location.png') center/contain no-repeat;
    margin-right: 0.6rem;
    flex-shrink: 0;
  }
  
  .cs-text {
    font-size: 1.5rem;
    color: #444;
    flex: 1;
    letter-spacing: -0.02em;
  }
  .custom-select.sm .cs-text {
    font-size: 1.3rem;
    color: #444;
  }
  
  .cs-selected::after {
    content: '';
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    border-right: 1.5px solid #999;
    border-bottom: 1.5px solid #999;
    transform: rotate(45deg) translateY(-30%);
    flex-shrink: 0;
  }
  
  .cs-options {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #e2e6ee;
    border-radius: 0.8rem;
    z-index: 100;
    margin: 0;
    padding: 0;
    list-style: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    max-height: 24rem; 
    overflow-y: auto;  
  }
  .cs-options li {
    padding: 1.2rem 1.4rem;
    font-size: 1.4rem;
    color: #444;
    letter-spacing: -0.02em;
    border-bottom: 1px solid #f2f4f7;
    cursor: pointer;
  }
  .cs-options li:last-child {
    border-bottom: none;
  }
  .custom-select.open .cs-options {
    display: block;
  }
  .custom-select.open {
    border-radius: 0.8rem 0.8rem 0 0;
    border-bottom-color: transparent;
  }
  
  /* 블루오션 셀렉트 행 */
  .section-blueocean .container{padding: 2rem 1.6rem;}
  .section-blueocean .card-wrap {
    background: #fff;
    border-radius: 1.4rem;
    padding: 2rem 1.6rem;
  }
  .select-row {
    display: flex;
    gap: 0.8rem;
    margin-bottom: 0;
  }
  
  /* 간편 계산기 */
  .section-calculator .container {
    padding: 2rem 1.6rem;
  }
  .calc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
  }
  .calc-card {
    display: block;
    background: #fff;
    border-radius: 1.2rem;
    padding: 1.6rem 1.4rem;
    text-decoration: none;
    position: relative;
    min-height: 12rem;
    overflow: hidden;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
  }
  .calc-card-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.5;
    letter-spacing: -0.03em;
    margin: 0 0 0.8rem;
  }
  .calc-card-img {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    width: 4.8rem;
    height: 4.8rem;
    object-fit: contain;
  }
  .calc-arrow {
    position: absolute;
    top: 1.4rem;
    right: 1.2rem;
  }
  .calc-arrow img{
    width: 2.5rem;
  }
  
/* 뉴스 스와이퍼 */
.section-news .container {
  padding-bottom: 0;
}
.news-swiper {
  padding: 0 1.6rem !important;
  box-sizing: border-box;
  overflow: visible;
}
.swiper-slide {
  height: auto;
}
.news-card {
  display: block;
  border-radius: 1.2rem;
  overflow: hidden;
  position: relative;
}
.news-thumb {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
.news-badge {
  position: absolute;
  bottom: 5.5rem;
  left: 1rem;
  background: rgba(255, 255, 255, 0.4);
  color: #fff;
  font-size: 1.2rem;
  padding: 0.3rem 0.7rem;
  border-radius: 0.4rem;
}
.news-title {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  right: 2.4rem;
  font-size: 1.5rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.45;
  letter-spacing: -0.03em;
  margin: 0;
}
.news-arrow {
  position: absolute;
  bottom: 6rem;
  right: 1rem;
}
.news-arrow img {
  width: 2.5rem;
}

  
 /* Q&A */
.section-qna .container {
  padding: 2rem 1.6rem;
}
.qna-list {
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
}
.qna-list li {
  position: relative;
  margin-bottom: -7rem;
}
.qna-list li:last-child {
  margin-bottom: 0;
}
.qna-list li:nth-child(1) { z-index: 3; }
.qna-list li:nth-child(2) { z-index: 2; }
.qna-list li:nth-child(3) { z-index: 1; }

.qna-item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.8rem 1.6rem;
  text-decoration: none;
  background: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.qna-list li:nth-child(2) .qna-item{background: #f6f6f6;border: 1px solid #DEDEDE; width: calc(100% - 1.6rem);margin: 0 auto;}
.qna-list li:nth-child(3) .qna-item{background: #e4e4e4;border: 1px solid #DEDEDE;width: calc(100% - 3.2rem);margin: 0 auto;}
.qna-q {
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  color: #333;
  font-size: 1.6rem;
  font-weight: 700;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qna-text {
  flex: 1;
  font-size: 1.5rem;
  color: #333;
  line-height: 1.5;
  letter-spacing: -0.02em;
  margin: 0;
  font-weight: 600;
}
.qna-arrow img {
  width: 2.5rem;
}
/* =====================
   소상공인365 - market
   ===================== */

   .btn-spinner {
    display: inline-block;
    width: 1.6rem;
    height: 1.6rem;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
    vertical-align: middle;
  }
  @keyframes spin {
    to { transform: rotate(360deg); }
  }
/* 결과 섹션 */
.section-market-result .container {
  padding: 2rem 1.6rem;
}

.section-local-market.no-result {
  min-height: calc(100vh - 6rem);
}

/* 카테고리 탭 스피너 */
.cate-spinner {
  border-color: rgba(59,130,246,0.3);
  border-top-color: #3B82F6;
  width: 1.2rem;
  height: 1.2rem;
}

/* 페이지 이동 시 결과 영역 마스크 */
#result-loading-mask {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(255,255,255,0.7);
  display: flex;
  align-items: center;
  justify-content: center;
}
.result-spinner {
  width: 4rem;
  height: 4rem;
  border: 4px solid #e2e6ee;
  border-top-color: #3B82F6;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
}

/* 총 개수 */
.result-summary {
  font-size: 1.5rem;
  color: #333;
  letter-spacing: -0.02em;
  margin-bottom: 1.6rem;
  font-weight: 600;
}
.result-summary strong{font-size: 1.5rem;font-weight: 600;}
.result-count {
  color: #3B82F6;
  font-weight: 700;
}

/* 카테고리 탭 스크롤 */
.cate-scroll {
  display: flex;
  gap: 0.8rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-bottom: 1.6rem;
  padding-bottom: 0.2rem;
}
.cate-scroll::-webkit-scrollbar {
  display: none;
}
.cate-tab {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  height: 3.4rem;
  padding: 0 1.4rem;
  border-radius: 10rem;
  border: 1px solid #a5a5a5;
  font-size: 1.4rem;
  color: #555;
  text-decoration: none;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.cate-tab.active {
  background: #3B82F6;
  border-color: #3B82F6;
  color: #fff;
  font-weight: 500;
}

/* Top3 */
.top3-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}
.top3-item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  background: #fff;
  border-radius: 1.2rem;
  padding: 1.4rem 1.6rem;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.08);
}
.top3-icon {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: #EFF6FF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.top3-icon img {
  width: 2.2rem;
  height: 2.2rem;
  object-fit: contain;
}
.top3-info {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  flex: 1;
}
.top3-rank {
  font-size: 1.4rem;
  color: #888;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-bottom: 0.5rem;
}
.top3-name {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1a1a;
  letter-spacing: -0.03em;
}
.top3-badge {
  flex-shrink: 0;
  background: #DBE1FF;
  color: #3B82F6;
  font-size: 1.2rem;
  font-weight: 600;
  padding: 0.4rem 0.9rem;
  border-radius: 10rem;
  letter-spacing: -0.01em;
}

/* 구분선 */
.divider {
  height: 1px;
  background: #e8eaf0;
  margin-bottom: 2rem;
}

/* 매장 리스트 */
.store-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.store-item {
  padding: 1.6rem;
  border-bottom: 1px solid #f0f2f5;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
  margin-bottom: 1rem;
}
.store-item:last-child {
  border-bottom: none;
}
.store-name-row {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 0.6rem;
  flex-wrap: wrap;
}
.store-name {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1a1a;
  letter-spacing: -0.03em;
}
.store-cate-badge {
  display: inline-flex;
  align-items: center;
  height: 2.2rem;
  padding: 0 0.8rem;
  background: #DBE1FF;
  color: #3B82F6;
  font-size: 1.2rem;
  border-radius: 0.4rem;
  letter-spacing: -0.01em;
}
.store-addr {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1.3rem;
  color: #888;
  letter-spacing: -0.02em;
  margin: 0;
}
.addr-icon {
  width: 1.4rem;
  height: 1.4rem;
  object-fit: contain;
  opacity: 0.5;
}

/* 페이지네이션 */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  padding: 2.4rem 0 0;
}
.pg-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  text-decoration: none;
}
.pg-arrow img {
  width: 2rem;
  height: auto;
}
.pg-arrow.disabled {
  opacity: 0.25;
  pointer-events: none;
}
.pg-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  border: 1px solid #a9c7ff;
  font-size: 1.4rem;
  color: #555;
  text-decoration: none;
  letter-spacing: 0;
  background: #fff;
  color: #3d7df5;
  font-weight: 600;
}
.pg-num.active {
  background: #3B82F6;
  border-color: #3B82F6;
  color: #fff;
  font-weight: 700;
}


/* =====================
   소상공인365 - blueocean
   ===================== */
   .section-blueocean.no-result {
    min-height: calc(100vh - 6rem);
  }
/* 결과 섹션 */
.section-blue-result .container {
  padding: 0 1.6rem 2rem;
}

/* 발견 배너 */
.blue-found-banner {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  background: #EFF6FF;
  border: 1px solid #BFDBFE;
  border-radius: 1.2rem;
  padding: 1.6rem;
  margin-bottom: 1.6rem;
}
.blue-found-icon {
  width: 2.8rem;
  height: 2.8rem;
  object-fit: contain;
  flex-shrink: 0;
}
.blue-found-text {
  font-size: 1.5rem;
  color: #1D4ED8;
  line-height: 1.55;
  letter-spacing: -0.02em;
  margin: 0;
}
.blue-found-text strong {
  font-weight: 700;
  font-size: 1.5rem;
}

/* 블루오션 리스트 */
.blue-list {
  margin: 0 0 2rem;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.blue-item {
  background: #fff;
  border-radius: 1.2rem;
  padding: 1.6rem;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
}
.blue-item-top {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 0.8rem;
}
.blue-item-name {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1a1a;
  letter-spacing: -0.03em;
}
.blue-badge {
  display: inline-flex;
  align-items: center;
  height: 2.2rem;
  padding: 0 0.9rem;
  background: #EFF6FF;
  color: #3B82F6;
  font-size: 1.2rem;
  font-weight: 600;
  border-radius: 10rem;
  letter-spacing: -0.01em;
}
.blue-item-desc {
  font-size: 1.4rem;
  color: #555;
  letter-spacing: -0.02em;
  margin: 0;
}
.blue-count {
  color: #EF4444;
  font-weight: 700;
  font-style: normal;
  font-size: 1.6rem;
}

/* 구분선 */
.divider {
  height: 1px;
  background: #e8eaf0;
  margin-bottom: 2rem;
}

/* 하단 배너 */
.blue-bottom-banner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  background: #3B82F6;
  border-radius: 1.4rem;
  padding: 2rem;
  overflow: hidden;
  min-height: 13rem;
}
.blue-bottom-text {
  flex: 1;
}
.blue-bottom-title {
  font-size: 1.7rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.03em;
  margin: 0 0 0.6rem;
}
.blue-bottom-desc {
  font-size: 1.3rem;
  color: rgba(255,255,255,0.85);
  letter-spacing: -0.02em;
  margin: 0 0 1.4rem;
}
.blue-bottom-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1.5rem;
  background: #fff;
  border-radius: 10rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #3B82F6;
  letter-spacing: -0.02em;
  margin-top: 3rem;
}
.blue-bottom-img {
  width: 8rem;
  object-fit: contain;
  align-self: flex-end;
}

.blue-bottom-btn img{width: 2rem;}


/* =====================
   소상공인365 - calc
   ===================== */

   .section-calc .container {
    padding: 2rem 1.6rem;
  }
  
  /* 메인 탭 */
  .calc-tab-wrap {
    display: flex;
    border-bottom: 2px solid #c0c0c0;
    margin-bottom: 2.4rem;
  }
  .calc-tab {
    flex: 1;
    height: 4.4rem;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    font-size: 1.5rem;
    font-weight: 600;
    color: #aaa;
    letter-spacing: -0.02em;
    cursor: pointer;
  }
  .calc-tab.active {
    color: #3B82F6;
    border-bottom-color: #3B82F6;
  }
  
  /* 패널 */
  .calc-panel.hidden {
    display: none;
  }
  
  /* 필드 */
  .calc-field {
    margin-bottom: 2rem;
  }
  .calc-label {
    font-size: 1.5rem;
    color: #333;
    font-weight: 500;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
  }
  
  /* 인풋 */
  .calc-input-wrap {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid #e2e6ee;
    border-radius: 1rem;
    padding: 0 1.6rem;
    height: 5.6rem;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.06);
  }
  .calc-input {
    flex: 1;
    border: none;
    background: none;
    font-size: 1.7rem;
    font-weight: 500;
    color: #1a1a1a;
    letter-spacing: -0.02em;
    outline: none;
    min-width: 0;
  }
  .calc-input::-webkit-inner-spin-button,
  .calc-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
  }
  .calc-unit {
    font-size: 1.5rem;
    color: #999;
    flex-shrink: 0;
    margin-left: 0.8rem;
  }
  
  /* 사업자 유형 탭 */
  .biz-type-tab-wrap {
    display: flex;
    background: #E5E5E5;
    border-radius: 1rem;
    padding: 0.4rem;
    gap: 0.4rem;
  }
  .biz-type-tab {
    flex: 1;
    height: 4rem;
    border: none;
    border-radius: 0.8rem;
    background: none;
    font-size: 1.5rem;
    font-weight: 600;
    color: #aaa;
    letter-spacing: -0.02em;
    cursor: pointer;
  }
  .biz-type-tab.active {
    background: #fff;
    color: #3B82F6;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
  }
  
  /* 토글 카드 */
  .calc-toggle-card {
    background: #fff;
    border-radius: 1.2rem;
    padding: 0 1.6rem;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.08);
    margin-bottom: 2rem;
  }
  .calc-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.6rem 0;
    gap: 1.2rem;
  }
  .calc-toggle-info {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
  }
  .calc-toggle-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #1a1a1a;
    letter-spacing: -0.02em;
    line-height: 1.4;
  }
  .calc-toggle-desc {
    font-size: 1.2rem;
    color: #999;
    letter-spacing: -0.01em;
  }
  .calc-toggle-divider {
    height: 1px;
    background: #f0f2f5;
  }
  
  /* 토글 스위치 */
  .toggle-switch {
    position: relative;
    display: inline-block;
    width: 5rem;
    height: 2.8rem;
    flex-shrink: 0;
  }
  .toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
  }
  .toggle-slider {
    position: absolute;
    inset: 0;
    background: #ccc;
    border-radius: 10rem;
    cursor: pointer;
    transition: background 0.2s;
  }
  .toggle-slider::before {
    content: '';
    position: absolute;
    width: 2.2rem;
    height: 2.2rem;
    left: 0.3rem;
    top: 0.3rem;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  }
  .toggle-switch input:checked + .toggle-slider {
    background: #3B82F6;
  }
  .toggle-switch input:checked + .toggle-slider::before {
    transform: translateX(2.2rem);
  }
  
  /* 결과 카드 */
  .hidden {
    display: none !important;
  }
  .calc-result-card {
    background: #3B82F6;
    border-radius: 1.4rem;
    padding: 2rem 1.8rem;
  }
  .calc-result-title {
    font-size: 1.4rem;
    font-weight: 600;
    color: rgba(255,255,255,0.8);
    letter-spacing: -0.02em;
    margin-bottom: 0.8rem;
  }
  .calc-result-main {
    font-size: 1.6rem;
    color: #fff;
    line-height: 1.55;
    letter-spacing: -0.02em;
    margin-bottom: 1.4rem;
  }
  .calc-result-main strong {
    font-size: 2rem;
    font-weight: 700;
  }
  .calc-result-divider {
    height: 1px;
    background: rgba(255,255,255,0.25);
    margin-bottom: 1.2rem;
  }
  .calc-result-detail {
    font-size: 1.3rem;
    color: rgba(255,255,255,0.85);
    letter-spacing: -0.01em;
    margin: 0;
  }
  .calc-result-detail.hidden {
    display: none;
  }
  .calc-result-detail span{font-size: 1.3rem;}
  
  /* 면세 카드 */
  .calc-exempt-card {
    background: #16A34A;
    border-radius: 1.4rem;
    padding: 2rem 1.8rem;
    margin-top: 1.2rem;
  }
  .calc-exempt-card.hidden {
    display: none;
  }
  .calc-exempt-main {
    font-size: 1.7rem;
    color: #fff;
    line-height: 1.55;
    letter-spacing: -0.02em;
    margin-bottom: 0.8rem;
  }
  .calc-exempt-main strong {
    font-weight: 700;
    font-size: 1.9rem;
  }
  .calc-exempt-desc {
    font-size: 1.3rem;
    color: rgba(255,255,255,0.85);
    letter-spacing: -0.01em;
    margin: 0;
  }
  
  /* 간이 업종 셀렉트 - 공통 custom-select 사용, 배경만 흰색으로 */
  #cs-industry .cs-selected {
    background: #fff;
    border: 1px solid #e2e6ee;
    border-radius: 1rem;
    height: 5.6rem;
    padding: 0 1.6rem;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.06);
  }
  #cs-industry .cs-text {
    font-size: 1.5rem;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.4;
  }

  /* =====================
   소상공인365 - qna
   ===================== */

.section-qna-list .container {
  padding: 2rem 1.6rem;
}

/* 아코디언 리스트 */
.qna-accordion {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.qna-acc-item {
  background: #fff;
  border-radius: 1.2rem;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.08);
  overflow: hidden;
}

/* Q 버튼 */
.qna-acc-q {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  padding: 1.8rem 2.5rem 1.8rem 1.6rem;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
}

.qna-q-label {
  flex-shrink: 0;
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 0.3rem;
}

.qna-q-text {
  flex: 1;
  font-size: 1.5rem;
  font-weight: 500;
  color: #1a1a1a;
  line-height: 1.55;
  letter-spacing: -0.02em;
  margin: 0;
}

.qna-acc-arrow {
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: rotate(45deg) translateY(-30%);
  margin-top: 0.6rem;
  transition: transform 0.2s;
}

.qna-acc-item.open .qna-acc-arrow {
  transform: rotate(-135deg) translateY(-30%);
}

/* A 영역 */
.qna-acc-a {
  display: none;
  gap: 1.2rem;
  padding: 0 1.6rem 1.8rem;
  align-items: flex-start;
}

.qna-acc-item.open .qna-acc-a {
  display: flex;
}

.qna-a-label {
  flex-shrink: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: #6B7280;
  margin-top: 0.4rem;
}

.qna-a-text {
  flex: 1;
  font-size: 1.5rem;
  color: #555;
  line-height: 1.6;
  letter-spacing: -0.02em;
  margin: 0;
}


/* =====================
   소상공인365 - cardnews
   ===================== */

   .section-cardnews .container {
    padding: 2rem 1.6rem;
  }
  
  /* 부제 */
  .cn-subtitle {
    font-size: 1.7rem;
    font-weight: 600;
    color: #333;
    line-height: 1.55;
    letter-spacing: -0.03em;
    margin-bottom: 2rem;
  }
  
  /* 포인트 카드 */
  .cn-point-card {
    border-radius: 1.4rem;
    padding: 2rem 1.8rem;
    margin-bottom: 2.4rem;
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
  }
  .cn-theme-blue  { background: #3B82F6; }
  .cn-theme-green { background: #159E70; }
  .cn-theme-navy  { background: #1E3A5F; }
  
  .cn-point-top {
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
    margin-bottom: 1.4rem;
    min-width: 0;
  }
  .cn-point-icon {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
    flex-shrink: 0;
    margin-top: 0.2rem;
  }
  .cn-point-text {
    font-size: 1.5rem;
    font-weight: 400;
    color: #fff;
    line-height: 1.5;
    letter-spacing: -0.03em;
    margin: 0;
    min-width: 0;
    word-break: keep-all;
  }
  .cn-point-text strong{font-size: 1.7rem;font-weight: 500;}
  .cn-point-divider {
    height: 1px;
    background: rgba(255,255,255,0.25);
    margin-bottom: 1.2rem;
  }
  .cn-point-sub {
    margin: 0;
    padding-left: 1.6rem;
  }
  .cn-point-sub li {
    font-size: 1.4rem;
    color: rgba(255,255,255,0.88);
    line-height: 1.6;
    letter-spacing: -0.02em;
  }
  
  /* 팁 리스트 */
  .cn-tip-list {
    margin: 0 0 2.4rem;
    padding: 0;
    list-style: none;
  }
  .cn-tip-item {
    padding: 2rem 0;
    border-bottom: 1px solid #e8eaf0;
  }
  .cn-tip-item:last-child {
    border-bottom: none;
  }
  .cn-tip-label {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    height: 3rem;
    padding: 0 1.2rem;
    border-radius: 10rem;
    font-size: 1.3rem;
    font-weight: 400;
    color: #fff;
    letter-spacing: -0.01em;
    margin-bottom: 1.2rem;
  }
  .cn-tip-bulb {
    width: 1.4rem;
    height: 1.4rem;
    object-fit: contain;
  }
  .cn-tip-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1a1a1a;
    letter-spacing: -0.03em;
    margin: 0 0 0.8rem;
  }
  .cn-tip-desc {
    font-size: 1.5rem;
    color: #444;
    line-height: 1.6;
    letter-spacing: -0.02em;
    margin: 0;
    font-weight: 500;
  }
  
  /* 다른 뉴스 */
  .cn-other-wrap {
    padding-top: 0.4rem;
  }
  .cn-other-title {
    font-size: 1.7rem;
    font-weight: 700;
    color: #1a1a1a;
    letter-spacing: -0.03em;
    margin-bottom: 1.4rem;
  }
  .cn-other-swiper {
    overflow: visible;
  }


  #page-loading-mask {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(255,255,255,0.7);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .page-spinner {
    width: 4rem;
    height: 4rem;
    border: 4px solid #e2e6ee;
    border-top-color: #3B82F6;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
  }