/* com_url_01.css : 유용한 사이트 모음 전용 스타일 */
:root{
  --url-bg:#f0f4f8;
  --url-card-bg:#ffffff;
  --url-text:#0f172a;
  --url-muted:#607d8b;
  --url-radius:16px;
  --url-shadow:0 6px 20px rgba(2,32,71,.08);
}

/* 이 페이지에서만 부드러운 배경 적용 */
body{
  background:var(--url-bg);
  color:var(--url-text);
}

/* 메인 컨테이너 튜닝 */
.url-page{
  max-width:1080px;
  margin:1.5rem auto 2.5rem;
  padding:0 1rem 2.5rem;
}

/* 헤더 영역 */
.url-header{
  margin:1.25rem 0 1rem;
}

.url-header .page-title{
  margin:0;
  font-size:1.6rem;
  font-weight:700;
  letter-spacing:-.03em;
}

.url-header .page-subtitle{
  margin-top:.4rem;
  font-size:.95rem;
  color:var(--url-muted);
}

/* 카드 리스트 레이아웃 */
.site-list{
  display:grid;
  gap:1rem;
  margin-top:1rem;
}

@media (min-width:640px){
  .site-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:960px){
  .site-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* 카드 스타일 */
.site-card{
  background:var(--url-card-bg);
  border-radius:var(--url-radius);
  box-shadow:var(--url-shadow);
  overflow:hidden;
  border:1px solid rgba(15,23,42,.04);
  transition:transform .08s ease, box-shadow .2s ease;
}

.site-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(2,32,71,.12);
}

.site-card__body{
  padding:1rem 1.1rem;
  display:flex;
  flex-direction:column;
  gap:.35rem;
}

/* 상단 메타 정보 (제목 + 태그) */
.site-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  margin-bottom:.25rem;
}

.site-title-wrap{
  display:flex;
  align-items:center;
  gap:.4rem;
}

.site-favicon{
  font-size:1.2rem;
}

.site-tag{
  font-size:.75rem;
  padding:.15rem .55rem;
  border-radius:999px;
  background:#e3f2fd;
  color:#0d47a1;
}

/* 링크 / 설명 */
.site-link{
  color:#0b5394;
  font-weight:700;
  text-decoration:none;
  word-break:break-all;
  font-size:.95rem;
}

.site-link:hover{
  text-decoration:underline;
}

.site-desc{
  margin:0;
  color:var(--url-muted);
  font-size:.9rem;
  line-height:1.5;
}

/* 버튼 영역 */
.site-actions{
  margin-top:.6rem;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

.site-btn{
  border-radius:999px;
  border:1px solid #90caf9;
  background:#e3f2fd;
  padding:.25rem .85rem;
  font-size:.8rem;
  color:#0d47a1;
  cursor:pointer;
}

.site-btn.secondary{
  background:transparent;
  border-style:dashed;
}

.site-btn:hover{
  background:#bbdefb;
}

/* 모바일에서 위여백 조금 줄이기 */
@media (max-width:576px){
  .url-page{
    margin-top:1rem;
  }
}

/* === 유용한 정보: 임장 시나리오 탭 레이아웃 === */
.info-layout{
  display:grid;
  gap:1.5rem;
  margin-top:1.5rem;
}

@media (min-width: 992px){
  .info-layout{
    grid-template-columns: minmax(0,260px) minmax(0,1fr);
  }
}

.info-sidebar{
  background:var(--url-card-bg);
  border-radius:var(--url-radius);
  box-shadow:var(--url-shadow);
  padding:1rem 1.25rem 1.25rem;
}

.info-sidebar-title{
  font-size:1.1rem;
  font-weight:700;
  margin-bottom:.25rem;
}

.info-sidebar-desc{
  font-size:.85rem;
  color:var(--url-muted);
  margin-bottom:.75rem;
}

.info-tab-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.25rem;
  max-height:460px;
  overflow-y:auto;
}

.info-tab-item{}

.info-tab-btn{
  width:100%;
  text-align:left;
  border-radius:999px;
  border:1px solid rgba(15,35,95,.12);
  background:#fff;
  padding:.45rem .75rem;
  font-size:.86rem;
  color:var(--url-text);
  cursor:pointer;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}

.info-tab-btn:hover{
  background:#e3f2fd;
  border-color:#90caf9;
}

.info-tab-btn.active{
  background:#0d6efd;
  border-color:#0d6efd;
  color:#fff;
  font-weight:600;
}

.info-content{
  background:var(--url-card-bg);
  border-radius:var(--url-radius);
  box-shadow:var(--url-shadow);
  padding:1.25rem 1.5rem 1.5rem;
}

.info-article-title{
  font-size:1.15rem;
  font-weight:700;
  margin-bottom:.5rem;
}

.info-article-body p{
  margin-bottom:.75rem;
  font-size:.93rem;
  line-height:1.7;
  color:var(--url-text);
}

.info-article-body ul{
  padding-left:1.1rem;
  margin-bottom:.75rem;
  font-size:.92rem;
}

.info-article-body li + li{
  margin-top:.25rem;
}

@media (max-width:576px){
  .info-layout{
    margin-top:1rem;
  }
}


@media (max-width: 991.98px){
  .info-layout{
    display:block;
  }
  .info-sidebar{
    margin-bottom:0.75rem;
  }
  .info-tab-list{
    flex-direction:row;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:0.25rem;
  }
  .info-tab-item{
    flex:0 0 auto;
  }
  .info-tab-btn{
    white-space:nowrap;
    font-size:.8rem;
    padding:.35rem .7rem;
    margin-right:.4rem;
  }
}


/* === 유용한 정보: 상단 탭 + 하단 본문 레이아웃 === */
.info-layout{
  margin-top:1.5rem;
}

.info-tabs-card{
  background:var(--url-card-bg);
  border-radius:var(--url-radius);
  box-shadow:var(--url-shadow);
  padding:1rem 1.25rem 0.75rem;
  margin-bottom:0.75rem;
}

.info-sidebar-title{
  font-size:1.05rem;
  font-weight:700;
  margin-bottom:0.25rem;
}

.info-sidebar-desc{
  font-size:.82rem;
  color:var(--url-muted);
  margin-bottom:0.6rem;
}

.info-tab-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:nowrap;
  gap:.25rem;
  overflow-x:auto;
  padding-bottom:0.1rem;
}

.info-tab-item{
  flex:0 0 auto;
}

.info-tab-btn{
  border-radius:999px;
  border:1px solid rgba(15,35,95,.12);
  background:#fff;
  padding:.38rem .8rem;
  font-size:.8rem;
  white-space:nowrap;
  cursor:pointer;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}

.info-tab-btn:hover{
  background:#e3f2fd;
  border-color:#90caf9;
}

.info-tab-btn.active{
  background:#0d6efd;
  border-color:#0d6efd;
  color:#fff;
  font-weight:600;
}

.info-content{
  background:var(--url-card-bg);
  border-radius:var(--url-radius);
  box-shadow:var(--url-shadow);
  padding:1.1rem 1.25rem 1.4rem;
}

@media (min-width: 768px){
  .info-tab-btn{
    font-size:.85rem;
    padding:.42rem .95rem;
  }
}

@media (max-width: 575.98px){
  .info-tabs-card{
    padding:.85rem .9rem .65rem;
  }
  .info-content{
    padding:1rem .95rem 1.2rem;
  }
}


/* 최종 오버라이드: 유용한 정보 - 상단 탭 + 하단 본문용 */
.info-layout{
  display:block;
  margin-top:1.5rem;
}


.info-scroll-top-wrapper{
  margin-top:1rem;
  text-align:right;
}

.info-scroll-top-btn{
  border-radius:999px;
  border:1px solid rgba(15,35,95,.2);
  background:#fff;
  padding:.4rem 1rem;
  font-size:.82rem;
  cursor:pointer;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}

.info-scroll-top-btn:hover{
  background:#0d6efd;
  border-color:#0d6efd;
  color:#fff;
}


/* 유용한 정보: 본문 가독성 개선 */
.info-lead{
  font-size:.95rem;
  line-height:1.8;
  margin-bottom:1rem;
}

.info-section-title{
  font-size:1rem;
  font-weight:700;
  margin:1.1rem 0 .5rem;
  color:#1a237e;
}

.info-tag{
  display:inline-block;
  padding:.18rem .6rem;
  border-radius:999px;
  background:#e3f2fd;
  color:#1565c0;
  font-size:.78rem;
  margin-right:.4rem;
}

.info-highlight{
  font-weight:700;
  color:#0d47a1;
}

.info-strong{
  font-weight:600;
  color:#263238;
}

.info-keyword{
  font-weight:600;
  color:#00695c;
}

.info-list{
  padding-left:1.2rem;
  margin:.35rem 0 .9rem;
  font-size:.93rem;
}
.info-list li{
  margin-bottom:.2rem;
}

.info-table{
  width:100%;
  border-collapse:collapse;
  margin:.6rem 0 1rem;
  font-size:.88rem;
}
.info-table th,
.info-table td{
  border:1px solid #e0e0e0;
  padding:.4rem .5rem;
}
.info-table thead th{
  background:#f5f5f5;
  font-weight:600;
}
.info-table tbody tr:nth-child(even){
  background:#fafafa;
}

.info-footer-note{
  margin-top:1rem;
  font-size:.9rem;
  color:#546e7a;
  border-top:1px dashed #cfd8dc;
  padding-top:.7rem;
}
