/* Privacy Policy Page Styles */

/* === 헤더 스타일 === */
#header {
  position: relative;
  padding: 42px 28px 28px;
}

#header:before {
  content: '';
  position: absolute;
  background-color: #fff;
  top: 0;
  left: 0;
  width: 100%;
  height: 180%;
  z-index: -1;
}

#header .header-inner {
  padding: 0 30px;
}

#header .logo {
  display: block;
  width: 164px;
  height: 40px;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
}

/* 로고 밑의 회사명 */
#header .company-name {
  font-size: 30px;
  color: #000;
  margin-top: 6px;
  font-weight: 500;
}

/* 대부업 문구 */
#header .header-top-text {
  font-size: 30px;
  font-weight: 500;
  color: #000;
  text-align: right;
}

#header .header-top-text span {
  display: inline-block;
}

#header .header-top-text span:first-child {
  margin-bottom: 4px;
}

/* 모바일/데스크톱 표시 관련 */
.mobile-login {
  display: none;
}

.desktop-login {
  display: block;
}

.mobile-dept-text {
  display: none;
}

.desktop-dept-text {
  display: block;
}

.header-top-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

#header .header-top-bar a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-decoration: none;
}

/* === 메인 컨텐츠 영역 === */
#content.main {
  padding: 40px 58px;
}

/* container */
.terms-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 0px;
  background-color: #fff;
  width: 100%;
  line-height: 1.6;
}

/* 약관 타이틀! */
.page-title {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #eee;
  color: #222;
  text-align: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
}

/* 뒤로가기 버튼 */
.back-btn {
  position: absolute;
  left: 0;
  font-size: 20px;
  color: #555;
  text-decoration: none;
  transition: color 0.3s;
}

.back-btn:hover {
  color: #4d3dbf;
}

/* Section Styles */
.terms-section {
  margin-bottom: 30px;
  line-height: 1.6;
}

/* Section Title Styles */
.section-title {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 15px;
  color: #333;
  line-height: 1.4;
}

/* Paragraph Styles */
.terms-section p {
  margin-bottom: 22px;
  color: #444;
  font-size: 20px;
  line-height: 1.6;
}

/* List Styles */
.terms-list {
  padding-left: 20px;
  margin-bottom: 15px;
  list-style-type: decimal;
}

.terms-list li {
  margin-bottom: 15px;
  color: #444;
  font-size: 20px;
  line-height: 1.6;
  padding-left: 5px;
}

/* Nested List Styles */
.terms-list .terms-list {
  margin-top: 10px;
  margin-bottom: 5px;
  padding-left: 20px;
  list-style-type: lower-alpha;
}

/* 3단계 중첩 리스트 */
.terms-list .terms-list .terms-list {
  list-style-type: lower-roman;
}

/* === 푸터 스타일 === */
#footer {
  margin-top: 0;
  background: #1a202c;
  color: #fff;
  line-height: 1.4;
  margin-bottom: 60px; /* 하단 메뉴바 높이만큼 마진 추가하여 메뉴바에 가려지지 않게 함 */
  font-size: 28px; /* 전체 푸터 폰트 사이즈 통일 */
}

#footer .f-container {
  padding: 40px 82px;
  max-width: 1200px;
  margin: 0 auto;
}

#footer .f-top-con {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}

#footer .f-top-con .f-logo {
  display: block;
  width: 150px;
  height: 36px;
  background-image: url('../img/gn-logo-white.svg');
  background-size: contain;
  background-repeat: no-repeat;
}

#footer .f-top-con .request-btn {
  display: inline-block;
  padding: 10px 20px;
  color: #fff;
  background: linear-gradient(103deg, #f6c 12.08%, #4d3dbf 83.91%), #fff;
  border: none;
  border-radius: 30px;
  text-decoration: none;
  font-size: 20px !important;
  transition: all 0.3s ease;
}

#footer .f-top-con .request-btn:hover {
  background: linear-gradient(103deg, #f6c 12.08%, #4d3dbf 83.91%), #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(224, 103, 202, 0.3);
}

/* 푸터 회사 정보 스타일 */
#footer .company-info {
  margin-bottom: 10px;
  font-weight: 300;
  color: #fff;
  word-break: keep-all;
  word-wrap: break-word;
}

#footer .company-info p {
  margin: 0;
  margin-bottom: 4px;
}

/* 금리 및 상환안내 섹션 */
#footer .loan-info {
  margin-bottom: 10px;
  margin-top: 20px;
  color: #fff;
}

#footer .loan-info p {
  margin: 0.2rem;
}

/* 대부업 관련 정보 스타일 (링크 섹션) */
#footer .loan-info-links {
  margin-top: 20px;
  margin-bottom: 20px;
}

#footer .loan-info-links p {
  font-weight: 600;
  margin-bottom: 6px;
  margin-top: 6px;
  line-height: 1.4;
  word-break: keep-all;
  word-wrap: break-word;
}

#footer .loan-info-links a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

/* 금리 및 상환안내 섹션 */
#footer .loan-info-rates {
  margin-top: 20px;
  margin-bottom: 20px;
  line-height: 1.4;
}

#footer .loan-info-rates p.title {
  color: #fff;
  font-weight: 600;
  margin-top: 10px;
}

#footer .loan-info-rates p {
  line-height: 1.4;
  word-break: keep-all;
  word-wrap: break-word;
}

/* 금리 및 상환안내 제목 스타일 */
#footer .loan-title {
  color: #fff;
  font-weight: 700;
  margin-bottom: 10px;
}

/* 경고 텍스트 스타일 */
#footer .warning-text {
  margin-bottom: 20px;
  color: #ff3a3a;
  line-height: 1.4;
  word-break: keep-all;
  word-wrap: break-word;
}

#footer .warning-text p {
  margin: 0;
  margin-bottom: 4px;
}

/* 경고 텍스트 세번째 문장 들여쓰기 */
#footer .warning-text p:nth-child(3) {
  text-indent: 20px !important;
}

/* 면책 문구와 저작권 */
#footer .disclaimer {
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 5px;
  line-height: 1.4;
  word-break: keep-all;
  word-wrap: break-word;
}

#footer .disclaimer p {
  margin: 0;
}

#footer .copyright {
  color: rgba(255, 255, 255, 0.4);
}

/* 대부 관련 정보 스타일 */
.loan-info a {
  color: #fff;
  text-decoration: none;
}

/* === 하단 메뉴바 스타일 개선 === */

/* 전체 메뉴바 배경 및 디자인 */
#bottom-menu {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  background: linear-gradient(95deg, #ff66cc 5.7%, #4d3dbf 84.87%), #f1f1f1;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
  display: flex;
  z-index: 9999;
  height: 65px;
}

/* 모든 메뉴 아이템 기본 스타일 */
#bottom-menu .menu-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #ffffff; /* 기본 텍스트 색상을 흰색으로 */
  font-size: 12px;
  position: relative;
  transition: all 0.3s ease;
  padding: 10px 0;
}

/* SVG 아이콘 스타일 */
#bottom-menu .svg-icon {
  width: 24px;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 5px;
  position: relative;
}

#bottom-menu .menu-item:not(.active) .svg-icon img {
  filter: brightness(0) invert(1); /* 아이콘을 흰색으로 변경 */
}

#bottom-menu .svg-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: all 0.3s ease;
}

/* 그라데이션 아이콘을 위한 가상 요소 */
#bottom-menu .menu-item:not(.active) .svg-icon::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #ff66cc, #4d3dbf);
  mask-image: url('../img/home.svg'); /* 각 아이콘 경로에 맞게 수정 필요 */
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  opacity: 0.8;
  transition: opacity 0.3s ease;
}

/* 각 아이콘에 맞는 마스크 이미지 설정 */
#bottom-menu a[href*='index.html']:not(.active) .svg-icon::before {
  mask-image: url('../img/home.svg');
}
#bottom-menu a[href*='hospital.html']:not(.active) .svg-icon::before {
  mask-image: url('../img/hospital.svg');
}
#bottom-menu a[href*='loanMain.html']:not(.active) .svg-icon::before {
  mask-image: url('../img/loan.svg');
}
#bottom-menu a[href*='notice.html']:not(.active) .svg-icon::before {
  mask-image: url('../img/bell.svg');
}
#bottom-menu a[href*='mypage.html']:not(.active) .svg-icon::before {
  mask-image: url('../img/mypage.svg');
}

/* 호버 효과 */
#bottom-menu .menu-item:hover {
  color: #ffffff;
}

#bottom-menu .menu-item:hover:not(.active) .svg-icon img {
  transform: scale(1.1);
}

/* 활성 메뉴 아이템 스타일 */
#bottom-menu .menu-item.active {
  background-color: #ffffff;
  color: #4d3dbf;
}

#bottom-menu .menu-item.active .svg-icon img {
  filter: none; /* 활성 상태에서는 원본 아이콘 색상 사용 */
}

/* 활성 메뉴 아이템의 텍스트 */
#bottom-menu .menu-item.active span {
  font-weight: 600;
}

/* 푸터 여백 조정 */
@media (max-width: 991px) {
  #footer {
    margin-bottom: 65px; /* 메뉴바 높이에 맞게 조정 */
  }
}

/* 작은 모바일 화면 스타일 조정 */
@media (max-width: 375px) {
  #bottom-menu .menu-item {
    font-size: 11px;
  }
}

/* === 반응형 스타일 === */

/* PC - 대형 */
@media screen and (max-width: 1200px) {
  #header {
    padding: 35px 20px 25px;
  }

  #header .header-inner {
    padding: 0 20px;
  }

  #header .logo {
    width: 150px;
    height: 36px;
  }

  #header .company-name {
    font-size: 24px;
    margin-top: 5px;
  }

  #content.main {
    padding: 40px 40px;
  }

  .terms-content {
    padding: 20px 10px;
  }

  #footer .f-container {
    padding: 35px 50px;
  }

  #footer .company-info {
    line-height: 2.8;
  }

  #footer .loan-info {
    line-height: 2.2;
  }

  /* 헤더 탑 텍스트 조정 */
  #header .header-top-text {
    font-size: 26px;
  }
}

/* 880px 이하 */
@media screen and (max-width: 880px) {
  #footer .company-info {
    line-height: 2.2;
  }

  #footer .warning-text p:nth-child(3) {
    text-indent: 14px !important;
  }
}

/* 태블릿 */
@media screen and (max-width: 990px) {
  #header {
    padding: 20px 20px 20px;
    text-align: center;
  }

  #header .header-inner {
    padding: 0 15px;
  }

  #header .header-top-bar {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  #header .header-top-bar a {
    align-items: center;
    text-align: center;
    margin-bottom: 0;
  }

  #header .logo {
    margin: 0 auto;
    background-position: center;
  }

  #header .company-name {
    text-align: center;
  }

  .mobile-dept-text .header-top-text {
    text-align: center;
  }

  #content.main {
    padding: 30px 30px;
  }

  .terms-content {
    padding: 15px 5px;
  }

  .page-title {
    font-size: 26px;
    margin-bottom: 25px;
    padding-bottom: 25px;
  }

  .back-btn {
    font-size: 18px;
  }

  .section-title {
    font-size: 22px;
    margin-bottom: 12px;
  }

  .terms-section p,
  .terms-list li {
    font-size: 18px;
    margin-bottom: 12px;
  }

  .terms-section {
    margin-bottom: 25px;
  }

  #footer .f-container {
    padding: 30px 50px;
  }

  #footer .f-top-con .f-logo {
    width: 140px;
    height: 34px;
  }

  #footer .company-info {
    line-height: 2.6;
  }

  #footer .loan-info {
    line-height: 2;
  }

  #footer .warning-text p:nth-child(3) {
    text-indent: 16px !important;
  }

  .mobile-login {
    display: block;
  }

  .desktop-login {
    display: none;
  }

  /* 회사 이름 크기 증가 */
  #header .company-name {
    font-size: 20px;
    margin-top: 5px;
    margin-bottom: 15px;
  }

  /* 헤더 탑 텍스트 크기 증가 및 중앙 정렬 */
  #header .header-top-text {
    font-size: 24px;
    text-align: center;
  }

  /* 데스크탑 대부 문구 중앙 정렬 */
  .desktop-dept-text {
    width: 100%;
    margin-top: 10px;
  }

  #header .header-top-text span {
    margin-bottom: 2px;
  }
}

/* 모바일 레이아웃 변경 지점 - 대부문구와 로고 배치 변경 */
@media screen and (max-width: 700px) {
  /* 700px 이하에서 대부 문구 표시 방식 변경 */
  .mobile-dept-text {
    display: block;
  }

  .desktop-dept-text {
    display: none;
  }

  /* 모바일 대부 문구 스타일 */
  .mobile-dept-text .header-top-text {
    font-size: 18px;
    text-align: center;
    margin-bottom: 15px;
    padding: 0 20px;
  }

  /* 헤더 중앙 정렬 */
  #header .header-top-bar {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  #header .header-top-bar a {
    align-items: center;
    text-align: center;
  }

  #header .logo {
    margin: 0 auto;
    background-position: center;
  }

  #header .company-name {
    text-align: center;
    margin: 6px auto 0;
  }
}

/* 767px 이하 */
@media screen and (max-width: 767px) {
  #footer .f-top-con .f-logo {
    width: 120px;
    height: 30px;
  }

  #footer .f-container {
    padding: 30px 24px;
  }

  #footer .f-top-con .request-btn {
    padding: 8px 16px;
  }

  #footer .company-info {
    line-height: 2.2;
  }

  #footer .loan-info {
    line-height: 1.8;
  }

  #footer .loan-info p {
    margin: 0.1rem;
  }

  #footer .loan-info-links p {
    line-height: 1.3;
  }

  #footer .warning-text {
    line-height: 1.3;
  }

  #footer .disclaimer {
    line-height: 1.5;
  }

  /* 모바일에서 푸터 하단에 하단 메뉴바 높이만큼 마진 추가 */
  #footer {
    margin-bottom: 60px;
  }
}

/* 640px 이하 */
@media screen and (max-width: 640px) {
  #footer .company-info {
    line-height: 2;
  }

  #footer {
    margin-bottom: 65px;
  }

  #footer .loan-info {
    line-height: 1.6;
  }
}

/* 모바일 */
@media screen and (max-width: 768px) {
  #header {
    padding: 20px 15px;
    text-align: center;
  }

  #header .header-inner {
    padding: 0 10px;
  }

  #header .header-top-bar {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  #header .header-top-bar a {
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  #content.main {
    padding: 20px 20px;
  }

  .terms-content {
    padding: 10px 0px;
  }

  .page-title {
    font-size: 22px;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .back-btn {
    font-size: 16px;
  }

  .section-title {
    font-size: 20px;
    margin-bottom: 10px;
  }

  .terms-section p,
  .terms-list li {
    font-size: 16px;
    margin-bottom: 10px;
    line-height: 1.5;
  }

  .terms-list {
    padding-left: 15px;
  }

  .terms-list .terms-list {
    padding-left: 15px;
  }

  #footer .f-top-con .f-logo {
    width: 120px;
    height: 28px;
  }

  #footer .f-container {
    padding: 25px 30px;
  }

  #footer .f-top-con .request-btn {
    padding: 8px 16px;
  }

  #footer .company-info {
    line-height: 2;
  }

  #footer .loan-info {
    line-height: 1.8;
  }

  #footer .warning-text {
    line-height: 1.4;
  }

  #footer .disclaimer {
    line-height: 1.3;
  }

  #footer {
    margin-bottom: 60px;
  }

  /* 모바일 로고 크기 증가 */
  #header .logo {
    margin: 0 auto;
    background-position: center;
  }

  /* 회사 이름 크기 증가 */
  #header .company-name {
    font-size: 24px;
    margin-top: 5px;
    text-align: center;
  }

  /* 헤더 탑 텍스트 크기 증가 */
  #header .header-top-text {
    font-size: 20px;
    text-align: center;
  }
}

/* 작은 모바일 */
@media screen and (max-width: 480px) {
  #header {
    padding: 22px 15px 0px 15px;
  }

  #header .header-top-text {
    margin-bottom: 24px;
  }

  #header .header-inner {
    padding: 0 8px;
  }

  #header .header-top-bar {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
    text-align: center;
  }

  #header .header-top-bar a {
    align-items: center;
    text-align: center;
  }

  #content.main {
    padding: 15px 15px;
  }

  .page-title {
    font-size: 20px;
    margin-bottom: 15px;
    padding-bottom: 15px;
  }

  .back-btn {
    font-size: 14px;
  }

  .section-title {
    font-size: 18px;
  }

  .terms-section p,
  .terms-list li {
    font-size: 15px;
    line-height: 1.5;
  }

  #footer .f-container {
    padding: 20px 24px;
  }

  #footer .f-top-con .f-logo {
    width: 100px;
    height: 25px;
  }

  #footer .f-top-con .request-btn {
    padding: 6px 12px;
  }

  #footer .company-info {
    line-height: 1.8 !important;
  }

  #footer .company-info p {
    margin-bottom: 3px;
  }

  #footer .loan-info {
    line-height: 1.6;
  }

  #footer .loan-info-links p {
    line-height: 1.4;
  }

  #footer .warning-text {
    line-height: 1.2;
  }

  #footer .warning-text p:nth-child(3) {
    text-indent: 0px !important;
  }

  #footer .disclaimer {
    line-height: 1.4;
  }

  #bottom-menu .menu-item {
    font-size: 10px;
  }

  #header .company-name {
    font-size: 18px;
    margin-top: 4px;
    text-align: center;
  }

  /* 로고 사이즈 조정 */
  #header .logo {
    width: 120px;
    height: 30px;
  }

  /* 헤더 탑 텍스트 조정 */
  #header .header-top-text {
    font-size: 20px;
    text-align: center;
  }

  .mobile-dept-text .header-top-text {
    font-size: 18px;
    margin-bottom: 12px;
    text-align: center;
    padding: 0 15px;
  }
}

/* 380px 이하 */
@media screen and (max-width: 380px) {
  #footer .f-container {
    padding: 20px 16px;
  }

  #footer .company-info {
    line-height: 1.9 !important;
  }

  #footer .loan-info {
    line-height: 1.5;
  }
}

/* Privacy Policy specific styles */
.terms-section .section-title {
  margin-bottom: 6px;
}

.terms-section p {
  margin-bottom: 10px;
}

.terms-section p[style='margin-top: 6px;'] {
  margin-top: 6px;
}

.terms-section .note {
  font-size: 0.9em;
  color: #666;
  margin-top: 6px;
}

/* === 신청인 정보 섹션 스타일 === */
.applicant-info {
  margin-top: 40px;
  padding: 20px 0;
}

.applicant-info h4 {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin-bottom: 25px;
}

.info-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
  gap: 15px;
}

.info-row .label {
  font-size: 16px;
  font-weight: 500;
  color: #333;
  min-width: 80px;
  flex-shrink: 0;
  padding-top: 2px;
}

.info-row .input-line {
  flex: 1;
  border-bottom: 1px solid #ccc;
  font-size: 16px;
  color: #666;
  min-height: 24px;
  line-height: 1.4;
  padding-bottom: 2px;
}

/* 모바일 반응형 */
@media screen and (max-width: 768px) {
  .applicant-info {
    margin-top: 30px;
  }

  .info-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 18px;
  }

  .info-row .label {
    min-width: auto;
    padding-top: 0;
  }

  .info-row .input-line {
    width: 100%;
    min-height: 20px;
  }
}

@media screen and (max-width: 480px) {
  .applicant-info {
    padding: 15px;
  }

  .applicant-info h4 {
    font-size: 18px;
  }

  .info-row .label {
    font-size: 15px;
  }

  .info-row .input-line {
    font-size: 13px;
  }
}

/* === 제목과 본문 사이 간격 조정 === */
.terms-section h3 + p,
.terms-section h4 + p {
  margin-top: 15px;
}

.terms-section h3 + h4,
.terms-section h4 + h4 {
  margin-top: 20px;
}

.terms-section h3 + ul,
.terms-section h4 + ul {
  margin-top: 12px;
}

/* 섹션 제목과 다음 요소 사이 간격 */
.consent-section h3 {
  margin-bottom: 20px;
}

.consent-section h4 {
  margin-top: 25px;
  margin-bottom: 10px;
}
