/* ----------------- Header ----------------- */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 260px;
  padding: 40px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #2b72db;
  color: #fff;
  box-sizing: border-box;
  z-index: 1000;
}

header h1 {
  text-align: left;
  font-size: 2.5rem;
  margin: 10px 0;
}

header h2 {
  text-align: center;
  font-size: 2rem;
  margin: 10px 0;
  color: #ffffff; /* 글씨 흰색 */
}

header h3 {
  text-align: right;
  font-size: 1.5rem;
  margin: 10px 0;
}

header .brand {
  text-align: center;
  font-size: 1.2rem;
  margin: 10px 0;
}

/* ----------------- 본문 패딩 ----------------- */
body {
  padding-top: 260px; /* header(260px) + nav(60px) */
  margin: 0;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background-color: #f9f9f9;
  color: #333;
}

/* ----------------- 내비 ----------------- */
nav {
  position: fixed;
  top: 260px; /* header 바로 밑 */
  left: 0;
  width: 100%;
  height: 60px;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  z-index: 1001;

  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}

nav a {
  color: #000;
  font-weight: bold;
  text-decoration: none;
  padding: 5px 12px;
  border-radius: 5px;
  transition: background-color 0.3s ease, color 0.3s ease;
  font-size: 16px;
}

nav a:hover,
nav a.active {
  background-color: #9f007734;
  color: #fff;
}

/* ----------------- 메인 ----------------- */
main {
  margin-top: 10px;  /* header 아래 위 간격 10px */
  margin-bottom: 10px; /* 필요 시 아래쪽 간격 */
  padding: 15px;
}

/* ----------------- 반응형 ----------------- */
@media (max-width: 768px) {
  header {
    padding: 20px 10px;
    min-height: auto;
  }

  header h1 { font-size: 1.6rem; }
  header h2 { font-size: 1.4rem; color: #ffffff; }
  header h3 { font-size: 1.2rem; }
  header .brand { font-size: 1rem; }

  nav {
    top: 200px; /* header가 줄어드니 nav도 위로 */
    height: 50px;
    gap: 15px;
  }

  body {
    padding-top: 250px; /* header(200px) + nav(50px) */
  }

  nav a {
    font-size: 14px;
    padding: 4px 8px;
  }

  /* 모바일에서 header와 main 사이 10px */
  main {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}

@media (max-width: 480px) {
  header h1 { font-size: 1.3rem; }
  header h2 { font-size: 1.1rem; color: #ffffff; }
  header h3 { font-size: 1rem; }
  header .brand { font-size: 0.9rem; }

  nav {
    top: 180px;
    height: 45px;
  }

  body {
    padding-top: 225px; /* header(180px) + nav(45px) */
  }

  nav a {
    font-size: 13px;
    padding: 3px 6px;
  }

  /* 모바일에서 header와 main 사이 10px */
  main {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}








.slider {
  width: 100%;
  background-color: #ffffff;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;

  gap: 20px;
  padding: 10px;
  padding-top: 20px;
  border-top: 1px solid transparent;
}



.slider figure {
  margin: 0;              
  width: 400px;            
  box-sizing: border-box;
  text-align: center;    
  font-size: 16px;
  color: #333;
}

.slider figure img {
  width: 100%;            
  height: 350px;
  object-fit: cover;
  object-position: top;
  display: block;
  border-radius: 6px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.1);
  margin-bottom: 8px;   
}

@media (max-width: 768px) {
  .slider {
    flex-wrap: nowrap;          /* 한 줄 유지 */
    overflow-x: hidden;         /* 가로 스크롤 숨김 */
    margin-top: 0;
    gap: 0;                     /* 카드 간 간격 제거 */
    font-size: 12px;
    padding: 0;                 /* 내부 여백 제거 */
    border-top: none;
    justify-content: space-between;
    align-items: flex-start;
    height: auto;               /* 자동 높이 */
  }

  .slider figure {
    flex: 0 0 20%;              /* 5등분 */
    width: 20%;
    margin: 0;
    padding: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  /* ✅ 이미지 영역 */
  .slider figure .img-wrap {
    width: 100%;
    aspect-ratio: 1 / 1;        /* 정사각형 유지 */
    overflow: hidden;
    border-radius: 4px;
  }

  .slider figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
    display: block;
  }

  /* ✅ 글씨 영역 */
  .slider figure figcaption {
    margin-top: 2px;            /* ✅ 이미지와 글씨 간격 최소화 */
    font-size: 11px;
    line-height: 1.2;
    color: #333;
    white-space: nowrap;        /* ✅ 두 줄로 안 내려가게 */
    overflow: hidden;
    text-overflow: ellipsis;    /* ✅ 긴 글씨는 ... 처리 */
  }
}


/*
@media (max-width: 768px) {
  .slider {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-top: 150px;
    gap: 10px;
    font-size: 14px;
 
    padding-left: 10px;
    padding-right: 10px;
  }



  .slider figure:first-child {
    margin-left: 5px;
  }

 
  .slider figure:last-child {
    margin-right: 5px;
  }
}
*/

 









































    .container1 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    background: #f9f9f9;
    padding: 2rem;
    border-radius: 12px;
    gap: 1rem;
    flex-wrap: wrap; /* 모바일에서 줄바꿈 가능하게 */
  }

  .service-text {
    flex: 1 1 60%;
    min-width: 280px;
  }

  .service-call {
    flex: 0 0 auto;
  }

  .service-call a {
    display: inline-block;
    background: #007bff;
    color: white;
    font-weight: bold;
    padding: 1rem 1.5rem;
    font-size: 1.2rem;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    transition: 0.3s;
    white-space: nowrap;
  }

  /* 모바일 반응형 */
  @media (max-width: 768px) {
    .container1 {
      flex-direction: column;
      align-items: stretch;
    }

    .service-call {
      text-align: center;
      margin-top: 1rem;
    }

    .service-call a {
      width: 100%;
      font-size: 1.1rem;
      padding: 1rem;
      white-space: normal; /* 줄바꿈 허용 */
    }
  }









  


















/* ✅ 버튼 그룹 가운데 정렬 */
.button-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

/* ✅ 기본 버튼 스타일 */
.contact-btn,
.open-modal {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;        /* ✅ PC 글씨 크기 */
  color: #fff;
  background: #0078d7;
  padding: 15px 25px;
  margin: 5px;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.3s ease;
  white-space: nowrap;     /* ✅ 줄바꿈 방지 */
}

/* ✅ 색상 구분 */
.open-modal {
  background: #28a745;
}
.open-modal:hover {
  background: #1e7e34;
}

/* 모바일 전용 (확실히 글씨 작게) */
@media (max-width: 600px) {
  /* 더 구체적인 선택자 사용으로 우선순위 확보 */
  .button-group .contact-btn,
  .button-group .open-modal {
    box-sizing: border-box;
    flex: 1 1 calc(50% - 8px); /* 한 줄에 2개(간격 감안) */
    max-width: calc(50% - 8px);
    font-size: 13px !important;    /* 확실히 작게 */
    line-height: 1.1;
    padding: 8px 10px !important;
    margin: 4px 4px !important;
    border-radius: 6px;
    white-space: normal;           /* 글자가 잘리는 현상 방지 (원하면 nowrap으로) */
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-flex;
    justify-content: center;
    align-items: center;
  }

  /* 필요하면 아이콘과 텍스트 줄바꿈 막기 (원하면 주석 해제) */
  /* .button-group .contact-btn > svg,
     .button-group .open-modal > svg {
       margin-right: 6px;
     } */
}


/* 그리드 */
.insurance-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, 320px); /* 카드 고정 300px */
  justify-content: center; /* 중앙 정렬 */
  gap: 16px; /* 카드 간 간격 */
  margin: 0 auto;
  padding: 1rem;
  box-sizing: border-box;
}

/* 카드 */
.insurance-box {
  width: 320px; /* 카드 고정 폭 */
  background: #f8f8f8;
  padding: 1rem;
  border-radius: 12px;
  box-shadow: 0 3px 8px rgba(0,0,0,0.12);
  display: flex;
  flex-direction: column; /* h6 위, bottom-box 아래 */
}

/* 카드 제목 */
.insurance-box h6 {
  text-align: center;
  margin-bottom: 12px;
  font-size: 1.1rem;
  color: #0074cc;
}

/* 하단 ul + 이미지 박스 */
.bottom-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px; /* ul과 이미지 간격 */
}

/* 텍스트 영역 */
.bottom-box .text-box {
  flex: 1;
}

/* 리스트 */
.bottom-box ul {
  margin: 0;
  padding-left: 18px;
  font-size: 0.95rem;
  text-align: left;
}

/* 이미지 */
.bottom-box img {
  width: 90px;
  height: 90px;
  border-radius: 50%; /* 둥근 이미지 */
  object-fit: cover;  /* 이미지 비율 유지하며 채우기 */
  flex-shrink: 0;
}

/* 모바일 대응 */
@media (max-width: 768px) {
  .bottom-box {
    flex-direction: column; /* 모바일에서는 ul 위, 이미지 아래 */
    text-align: center;
  }
  .bottom-box ul {
    padding-left: 0;
    text-align: center;
  }
  .insurance-box {
    width: 100%; /* 모바일에서는 카드 폭 전체 */
  }
}






























/* 수평 구분선 */
.divider {
  margin: 2rem auto;
  width: 100%;
  max-width: 1500px;
  border: 0;
  height: 1px;
  background: #ccc;
}

/* 하단 주의 문구 */
.notice {
  margin-bottom: 30px;
  font-weight: bold;
  text-align: center;
}









#rss-list {
  width: 100%;
  max-width: 2000px;
  margin: 20px auto;
  border-radius: 15px;      /* 둥근 모서리 */
  overflow: hidden;          /* 자식이 넘어가지 않도록 */
  background: #fff;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  padding: 0;
  list-style: none;
}

#rss-list li {
  border-radius: 0;          /* 부모가 둥글므로 자식은 0 */
  overflow: hidden;          /* 자식 요소 이미지가 튀어나오지 않도록 */
  margin: 0;                 /* 부모 모서리 안으로 */
  padding: 0;
}

#rss-list li .rss-item-content {
  padding: 15px;             /* 내부 여백 */
  background: inherit;       /* 부모 배경색 상속 */
}

#rss-list img, .rss-image {
  width: 100%;
  height: 500px;
  object-fit: cover;
  display: block;
  margin: 0;                 /* 부모 모서리 안으로 */
  border-radius: 0;          /* 부모에 맞춤 */
  cursor: pointer;
  transition: transform 0.3s ease;
}

#rss-list img:hover, .rss-image:hover {
  transform: scale(1.03);
}
/* -------------------- 모달 이미지 -------------------- */
#img-modal {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

#img-modal img {
  width: 90%;
  height: auto;
  max-height: 90vh;
  object-fit: contain;
  border-radius: 12px; /* 모달 이미지 둥글게 */
}

.video-block {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 15px auto;
  border-radius: 12px; /* 비디오 블록 둥글게 */
  overflow: hidden;
}

.video-block iframe {
  width: 100%;
  height: 480px;
  display: block;
  border: none;
  border-radius: 12px; /* iframe도 둥글게 */
}



    /* 모달 오버레이 */
    .modal-overlay {
      display: none; 
      position: fixed;
      top: 0; left: 0; right: 0; bottom: 0;
      background: rgba(0,0,0,0.5);
      justify-content: center;
      align-items: center;
      z-index: 1000;
    }

    /* 모달 박스 */
    .modal1 {
      background: #fff;
      padding: 30px;
      border-radius: 10px;
      max-width: 500px;
      width: 90%;
      position: relative;
    }

    /* 파일 업로드 라벨 */
    .custom-file-upload {
      display: inline-block;
      padding: 8px 12px;
      cursor: pointer;
      border: 1px solid #ccc;
      border-radius: 5px;
      margin-top: 20px;
    }

    /* 진행률 바 */
    #progress-container {
      width: 100%;
      background: #eee;
      border-radius: 5px;
      margin-top: 10px;
      display: none;
    }
    #progress-bar {
      height: 5px;
      width: 0;
      background: #4caf50;
      border-radius: 5px;
    }








    
    /* 상담하기 버튼 
    .open-modal {   
     display: inline-block;
      padding: 10px 20px;
      background: #0074cc;
      color: white;
      border-radius: 5px;
      text-decoration: none;
      cursor: pointer;
    }*/
  

    /* 입력창 기본 스타일 */
    input, textarea {
      width: 100%;
      padding: 8px;
      margin-top: 5px;
      margin-bottom: 15px;
      border: 1px solid #ccc;
      border-radius: 5px;
    }

    button {
      padding: 10px 15px;
      border: none;
      border-radius: 5px;
      cursor: pointer;
    }
    button[type="submit"] {
      background: #1a9de9;
      color: #fff;
    }
    #close1-modal {
      background: #ccc;
      margin-left: 10px;
    }


  /* -------------------- 토글 텍스트 오른쪽 고정 -------------------- */
  .collapsible-header {
    display: flex;
    justify-content: space-between; /* 좌측/우측 배치 */
    align-items: center;
    cursor: pointer;
  }

  .collapsible-header i.material-icons {
    margin-right: 8px;
  }

  .title-text {
    flex: 1; /* 제목이 공간을 차지 */
    font-weight: normal;
    font-size: 16px;
    color: #333;
  }

  .toggle-text {
    font-size: 14px;
    color: #0074cc;
    font-weight: bold;
  }

  .collapsible-body {
    padding: 10px 15px;
    background: #f9f9f9;
    border-top: 1px solid #ddd;
    border-radius: 0 0 8px 8px;
    margin-bottom: 10px;
  }
.comment-list li {
  border-bottom: 1px solid #ddd;
  padding: 0.25rem 0;
}







   #progress-container {
      display: none;
      width: 100%;
      background: #eee;
      border-radius: 5px;
      height: 20px;
      margin-top: 5px;
      overflow: hidden;
    }
    #progress-bar {
      width: 0%;
      height: 100%;
      background: #0074cc;
      border-radius: 5px;
      transition: width 0.3s ease;
    }


.insurance-box ol {
  list-style-type: decimal; /* 숫자 형태 */
  padding-left: 20px; /* 들여쓰기 조절 */
}

/* 세이인테리어 강조 스타일 */
.highlight {
  font-weight: bold;        /* 진하게 */
  font-size: 1.2em;         /* 글자 약간 크게 */
  color: #d9534f;           /* 눈에 띄는 빨간색 예시, 원하는 색으로 변경 가능 */
}
.highlight1 {
  font-weight: bold;        /* 진하게 */
  font-size: 1.2em;         /* 약간 크게 */
  color: #007bff;           /* 파란색 예시, 다른 색으로 변경 가능 */
}


.dropdown-trigger.btn {
  background-color: #222 !important;
  color: #222 !important;
  border: 1px solid #222; /* 테두리 회색 */
  box-shadow: none; /* 그림자 제거 */
}

/* hover 시 살짝 회색 배경 */
.dropdown-trigger.btn:hover {
  background-color: #222 !important;
  color: #222 !important;
}

/* 드롭다운 배경 흰색 */
.dropdown-content {
  background-color: #222 !important;
}

/* 드롭다운 글씨 검은색 */
.dropdown-content li > a,
.dropdown-content li > span {
  color: #222 !important;
}

/* hover 시 회색 배경 + 흰색 글씨로 */
.dropdown-content li:hover,
.dropdown-content li.active {
  background-color: #222 !important;
}

.dropdown-content li:hover > a,
.dropdown-content li:hover > span {
  color: #222 !important;
}
.btn {
  display: block;      /* 블록 요소로 변경 */
  width: 200px;         /* 전체 폭 차지 */
  text-align: center;  /* 글씨 가운데 정렬 */
margin: 10px auto;
}
#dropdown1 {
  width: 200px !important; /* 원하는 px 크기 */
}





#dropdown2 {
  min-width: 200px !important;
}


  footer {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      background-color: #222;
      color: #fff;
      text-align: center;
      padding: 15px 0;
      font-size: 14px;
      z-index: 1000;
    }


.footer-buttons {
  display: flex;
  justify-content: space-between; /* 왼쪽과 오른쪽으로 배치 */
  align-items: center;            /* 세로 중앙 정렬 */
  margin-top: 10px;
  width: 100%;                     /* 부모 너비 전체 사용 */
}

.footer-buttons .btn {
  display: inline-block;
  width: auto;                     /* 내용에 맞게 */
  text-align: center;
}





 






  /* 공통 버튼 스타일 */
  #contact-form button {
    padding: 10px 20px;
    margin: 5px;
    border-radius: 8px;       /* 모서리 둥글게 */
    border: 1px solid #ffffff; /* 테두리 색 */
    background-color: #ffffff; /* 버튼 배경 */
    color: #000000;            /* 글자 색 */
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
  }

  /* 상담 요청 버튼 강조 */
  #contact-form button[type="submit"] {
    background-color: #ffffff;  /* 파란색 배경 */
    color: #000000;             /* 흰 글씨 */
    border: 1px solid #000000;
  }

  /* 닫기 버튼 */
  #contact-form #close1-modal {
    float: right;
    background-color: #ffffff;  /* 흰색 배경 */
    color: #000000;             /* 빨간 글씨 */
    border: 1px solid #000000;  /* 빨간 테두리 */
  }

  /* 버튼 호버 효과 */
  #contact-form button:hover {
    transform: translateY(-2px); /* 살짝 올라가는 효과 */
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  }

  #contact-form button[type="submit"]:hover {
    background-color: #2980b9;
    border-color: #2980b9;
  }

  #images { display: none; }
  .custom-file-upload {
    display: inline-block;
    padding: 10px 20px;
    cursor: pointer;
    border: 2px solid #3498db;
    border-radius: 8px;
    background-color: #fff;
    color: #3498db;
    font-size: 16px;
    font-weight: bold;
    margin-top: 5px;
    transition: all 0.3s ease;
  }
  .custom-file-upload:hover {
    background-color: #3498db;
    color: #fff;
  }
  #file-name {
    margin-left: 10px;
    font-size: 14px;
    color: #555;
    max-width: 250px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
  }
  #progress-container {
    margin-top: 5px;
    width: 100%;
    background-color: #eee;
    border-radius: 6px;
    height: 12px;
    display: none;
  }
  #progress-bar {
    height: 100%;
    width: 0%;
    background-color: #3498db;
    border-radius: 6px;
    transition: width 0.3s ease;
  }
  #sending-status { margin-top: 10px; display: none; }






.dubae-reviews {
  display: grid;
  grid-template-columns: repeat(6, 1fr); /* 4개 컬럼 */
  gap: 20px 10px; /* row 20px, column 10px */
  justify-items: center; /* 카드 자체를 가운데 정렬 */
  padding: 10px;
  max-width: 1500px;  /* 전체 그리드 최대 폭 제한 */
  margin: 0 auto;      /* 화면 가운데 정렬 */
  margin-bottom: 50px;

}


.nusu-reviews {
  display: grid;
  grid-template-columns: repeat(6, 1fr); /* ✅ 가로로 6개 */
  gap: 20px 10px; /* row 20px, column 10px */
  justify-items: center; /* 카드 자체를 가운데 정렬 */
  padding: 10px;
  max-width: 1500px;  /* 전체 그리드 최대 폭 제한 */
  margin: 0 auto;      /* 화면 가운데 정렬 */

}





/* ✅ 후기 전체 영역 (가운데 정렬 포함) */
#review-board {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* 카드들을 화면 가운데로 */
  gap: 20px;
  max-width: 1500px; /* 전체 폭 제한 */
  margin: 0 auto; /* 가운데 정렬 */
  padding: 20px;
}

/* ✅ 후기 카드 디자인 */
.review-card {
  width: 220px; /* PC 기준 크기 */
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  transition: transform 0.2s;
}

.review-card:hover {
  transform: translateY(-5px);
}

.review-card img {
  width: 200px;        /* 카드 안에서 적당한 크기 */
  height: 200px;
  object-fit: cover;
  border-radius: 50%;  /* ✅ 기본은 동그라미 */
  margin-bottom: 1rem;
  border: 3px solid #ccc;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.review-card p {
  font-size: 14px;
  margin: 6px;
}

/* ✅ 구분선 (6개마다 자동 삽입) */
.divider {
  width: 90%;
  max-width: 1600px;
  border: none;
  border-top: 2px solid #ccc;
  margin: 25px auto;
}

/* ✅ 반응형 설정 */
@media (max-width: 1200px) {
  .review-card {
    width: 30%; /* 약 3개씩 */
  }
}

@media (max-width: 900px) {
  .review-card {
    width: 45%; /* 약 2개씩 */
  }
}

@media (max-width: 600px) {
  .review-card {
    width: 90%; /* 1개씩 */
  }
  .divider {
    display: none; /* ✅ 모바일에서는 구분선 숨김 */
  }

  /* ✅ 모바일에서 이미지 사각형으로 변경 */
  .review-card img {
    width: 100%;          /* 카드 폭 전체 사용 */
    height: auto;          /* 비율 유지 */
    border-radius: 6px;    /* ✅ 사각형 모서리 살짝 둥글게 */
    border: none;          /* ✅ 테두리 제거 (선택사항) */
    box-shadow: none;      /* ✅ 그림자도 제거하면 깔끔 */
  }
}














/* 반응형: 화면이 좁아지면 카드 줄어듦 */
@media (max-width: 1200px) {
  .dubae-reviews {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .dubae-reviews {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .dubae-reviews {
    grid-template-columns: 1fr;
  }
}



/* 반응형: 화면이 좁아지면 카드 줄어듦 */
@media (max-width: 1200px) {
  .nusu-reviews {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .nusu-reviews {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .nusu-reviews {
    grid-template-columns: 1fr;
  }
}








#reviewTable {
  width: 100%;           /* 화면 폭에 맞춤 */
  max-width: 1600px;     /* 최대 폭 1600px */
  margin-left: 0;        /* 왼쪽 정렬 */
  table-layout: auto;     /* 폭 자동 조절 */
  border-collapse: collapse;
}

#reviewTable td:first-child,
#reviewTable th:first-child {
  display: none;         /* ID 열 숨김 */
}

#reviewTable td, #reviewTable th {
  word-wrap: break-word; /* 긴 내용 줄바꿈 */
  padding: 5px;
}

@media (max-width: 768px) {
  #reviewTable {
    font-size: 14px;     /* 작은 화면에서 글자 작게 */
  }
}



  #preview img { max-width:1200px; margin-top:10px; border-radius:50%; }



.image-modal {
  position: fixed;
  inset: 0;
  display: none;
  justify-content: center;
  align-items: center;
  background: rgba(0,0,0,0.75);
  z-index: 9999;
  padding: 10px;
}

.image-modal .modal-content {
  max-width: 600px;
  width: 90%;
  max-height: 80vh;
  overflow: auto;
  border-radius: 10px;
  background: #fff;
  padding: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

.image-modal img {
  max-width: 100%;
  max-height: 60vh;
  border-radius: 6px;
  margin-bottom: 10px;
  object-fit: contain; /* 이미지 비율 유지 */
}

.modal-text {
  width: 100%;
  color: #333;
  font-size: 16px;
  text-align: left;
  word-break: break-word;
  line-height: 1.6;
}

/* 닫기 버튼 스타일 */
.modal-close-btn {
  background: #f5f5f5;
  border: none;
  color: #333;
  font-size: 22px;
  cursor: pointer;
  padding: 6px 12px;
  border-radius: 6px;
  transition: all 0.2s;
  position: relative;
  align-self: flex-end;
  margin-top: 10px;
}

.modal-close-btn:hover {
  background: #d32f2f;
  color: #fff;
}

/* 상단 × 버튼 위치 조정 */
.modal-close-btn:first-of-type {
  position: absolute;
  top: 8px;
  right: 8px;
  margin-top: 0;
}

/* 📱 모바일 보정 */
@media (max-width: 600px) {
  .image-modal .modal-content {
    width: 95%;
    max-width: 95%;
    max-height: 75vh;
    padding: 8px;
  }
  .image-modal img {
    max-height: 45vh; /* 이미지 너무 크게 안 나오게 */
  }
  .modal-text {
    font-size: 14px;
  }
  .modal-close-btn {
    font-size: 18px;
    padding: 4px 8px;
  }
}


.button-group {
  display: flex;
  justify-content: center;  /* 가로 가운데 정렬 */
  gap: 15px;                /* 버튼 사이 간격 */
  margin-top: 20px;
}

.contact-btn,
.open-modal {
  display: inline-block;
  padding: 10px 20px;
  background: #fff;
  color: #000;
  border-radius: 5px;
  text-decoration: none;
  font-size: 18px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.call-icon {
  font-size: 26px;
  font-weight: bold;
  margin-right: 6px;
  vertical-align: middle;
  color: #d32f2f; /* 빨강 강조 */
}

.chat-icon {
  font-size: 26px;
  font-weight: bold;
  margin-right: 6px;
  vertical-align: middle;
  color: #007bff; /* 파랑 강조 */
}




























/* -------------------------
   ✅ 기본 섹션 스타일
-------------------------- */
section {
  width: 100%;
  max-width: 1500px;
  margin: 80px auto;
  padding: 20px;
}

h2 {
  text-align: center;
  font-size: 28px;
  color: #333;
  margin-bottom: 25px;
}

hr.divider {
  border: none;
  border-top: 2px solid #f0f0f0;
  margin: 0px auto;
  width: 90%;
}

/* -------------------------
   ✅ 도배 시공 전·중·후 주의사항
-------------------------- */
.notice-section {
  max-width: 900px;
  margin: 10px auto;
  text-align: left;
  line-height: 1.8;
}

.notice-intro {
  text-align: center;
  color: #444;
  margin-bottom: 30px;
  font-size: 17px;
}

.notice-steps {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 25px;
}

.notice-item {
  flex: 1 1 280px;
  background: #fffaf5;
  border-radius: 15px;
  padding: 25px 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
}

.notice-item:hover {
  transform: translateY(-5px);
 background: #fff7ed;
  box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}

.notice-icon {
  font-size: 40px;
  text-align: center;
  margin-bottom: 10px;
}

.notice-item h3 {
  text-align: center;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #333;
}

.notice-item p {
  font-size: 15px;
  color: #555;
  text-align: center;
}

/* -------------------------
   ✅ LH도배 서류접수대행
-------------------------- */
.lh-section {
  max-width: 1500px;
  margin: 50px auto;
  padding: 30px 20px;
  text-align: center;
  background: #fffdf9;
  border-radius: 16px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.05);
}

.lh-section h2 {
  color: #333;
  font-size: 24px;
  margin-bottom: 20px;
}

.lh-intro {
  color: #555;
  font-size: 16px;
  margin-bottom: 40px;
  line-height: 1.8;
}

/* LH 단계 카드 */
.lh-steps {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 25px;
  margin-bottom: 40px;
}

.step {
  background: #ffffff;
  border-radius: 12px;
  padding: 20px;
  flex: 1 1 160px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
  transition: 0.3s;
}

.step:hover {
  transform: translateY(-5px);
   background: #fef7ef;
  box-shadow: 0 6px 14px rgba(0,0,0,0.12);
}

.icon {
  font-size: 32px;
  margin-bottom: 10px;
}

.step p {
  font-size: 15px;
  color: #444;
}

.lh-tip {
    background: #fff7ed;
  padding: 20px;
  border-radius: 10px;
  font-size: 15px;
  color: #333;
  max-width: 700px;
  margin: auto;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* -------------------------
   ✅ 부분도배 안내
-------------------------- */
.partial-section {
  max-width: 1500px;
  margin: 60px auto;
  padding: 30px;
 background: #fffaf7;
  border-radius: 16px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.partial-section h2 {
  text-align: center;
  font-size: 28px;
  color: #d35400;
  font-weight: 700;
  margin-bottom: 25px;
}

.partial-section div {
  max-width: 750px;
  margin: auto;
  text-align: left;
  line-height: 1.8;
  font-size: 17px;
  color: #444;
}

.partial-section ul {
  list-style: none;
  padding-left: 0;
  margin-top: 20px;
  text-align: center;
}

.partial-section li {
  margin-bottom: 10px;
}

/* -------------------------
   ✅ 모바일 반응형
-------------------------- */
@media (max-width: 768px) {
  .notice-steps,
  .lh-steps {
    flex-direction: column;
    align-items: stretch; /* 모바일에서 카드 꽉 채우기 */
    gap: 12px;
  }

  .step {
    flex: 1 1 100%;
    width: 100%;
    padding: 18px;
    font-size: 14px;
  }

  .icon {
    font-size: 32px;
  }
}

@media (max-width: 600px) {
  /* section 공통 */
  section {
    margin: 0px auto !important;
    padding: 15px !important;
  }

  /* contact 섹션 h2 */
  #contact h2 {
    font-size: 16px !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
    word-break: keep-all;
  }

  /* LH 섹션 h2 */
  .lh-section h2 {
    font-size: 16px !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
  }

  /* 부분도배 h2 */
  .partial-section h2 {
    font-size: 16px !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
  }

  /* notice-item p, lh-intro, lh-tip 등 */
  .notice-item p,
  .lh-intro,
  .lh-tip,
  .partial-section div,
  .notice-item h3 {
    font-size: 16px !important;
  }
}










/* 리뷰 목록 전체 컨테이너 */
#reviewList {
  display: flex;
  flex-wrap: wrap;        /* 줄 바꿈 허용 */
  gap: 20px;              /* 카드 간격 */
  justify-content: flex-start; /* 왼쪽 정렬 */
}





.review-content {
  flex: 1;                    
}

.review-text {
  font-size: 0.9rem;
  color: #333;
  line-height: 1.3rem;
  margin-bottom: 0.5rem;
}




  table { border-collapse: collapse; width: 100%; margin-top: 10px; }
  th, td { border: 1px solid #ccc; padding: 8px; text-align: left; vertical-align: top; }
  th { background-color: #f0f0f0; }
  td pre { margin: 0; white-space: pre-wrap; word-break: break-word; }