.layout-menu-fixed .layout-navbar-full .layout-menu,
.layout-page {
  padding-top: 0px !important;
}

.content-wrapper {
  padding-bottom: 0px !important;
}

.layout-menu-fixed .layout-navbar-full .layout-menu,
.layout-menu-fixed-offcanvas .layout-navbar-full .layout-menu {
  top: 64px !important;
}

.layout-page {
  padding-top: 64px !important;
}

.content-wrapper {
  padding-bottom: 54px !important;
}

#template-customizer {
  position: fixed;
  z-index: 99999999;
  display: flex;
  flex-direction: column;
  block-size: 100%;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  box-shadow: 0 .3125rem 1.375rem 0 rgba(34, 48, 62, .18);
  font-family: "Public Sans", -apple-system, blinkmacsystemfont, "Segoe UI", Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: inherit;
  inline-size: 400px;
  inset-block-start: 0;
  inset-inline-end: 0;
  transform: translateX(420px);
  transition: transform .2s ease-in
}

[data-bs-theme=dark] #template-customizer {
  box-shadow: 0 .3125rem 1.375rem 0 rgba(20, 20, 29, .26)
}

#template-customizer h5 {
  position: relative;
  font-size: 11px
}

#template-customizer .form-label {
  font-size: .9375rem;
  font-weight: 500
}

#template-customizer .template-customizer-colors-options {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  margin: 0;
  gap: .3rem
}

#template-customizer .template-customizer-colors-options .custom-option {
  inline-size: 50px
}

#template-customizer .template-customizer-colors-options .custom-option .custom-option-content {
  padding: 0;
  min-block-size: 46px
}

#template-customizer .template-customizer-colors-options .custom-option .custom-option-content .pcr-button {
  padding: .625rem;
  block-size: 30px;
  inline-size: 30px
}

#template-customizer .template-customizer-colors-options .custom-option .custom-option-content .pcr-button::before,
#template-customizer .template-customizer-colors-options .custom-option .custom-option-content .pcr-button::after {
  border-radius: .5rem
}

#template-customizer .template-customizer-colors-options .custom-option .custom-option-content .pcr-button:focus {
  box-shadow: none
}

#template-customizer .template-customizer-colors-options .custom-option-body {
  border-radius: .5rem;
  block-size: 30px;
  inline-size: 30px
}

#template-customizer .custom-option-icon {
  padding: 0
}

#template-customizer .custom-option-icon .custom-option-content {
  display: flex;
  align-items: center;
  justify-content: center;
  min-block-size: 50px
}

#template-customizer hr {
  border-color: var(--bs-border-color)
}

#template-customizer .custom-option {
  border-width: 2px;
  margin: 0
}

#template-customizer .custom-option.custom-option-image .custom-option-content .custom-option-body svg {
  inline-size: 100%
}

#template-customizer.template-customizer-open {
  transform: none;
  transition-delay: .1s
}

#template-customizer.template-customizer-open .template-customizer-theme .custom-option.checked {
  background-color: rgba(var(--bs-primary-rgb), 0.08)
}

#template-customizer.template-customizer-open .template-customizer-theme .custom-option.checked *,
#template-customizer.template-customizer-open .template-customizer-theme .custom-option.checked *::before,
#template-customizer.template-customizer-open .template-customizer-theme .custom-option.checked *::after {
  color: var(--bs-primary)
}

#template-customizer.template-customizer-open .custom-option.checked {
  border-width: 2px;
  color: var(--bs-primary)
}

#template-customizer.template-customizer-open .custom-option.checked .custom-option-content {
  border: none
}

#template-customizer .template-customizer-header a:hover,
#template-customizer .template-customizer-header a:hover .icon-base {
  color: inherit !important
}

#template-customizer .template-customizer-open-btn {
  position: absolute;
  z-index: -1;
  display: block;
  background: var(--bs-primary);
  block-size: 38px;
  border-end-start-radius: .375rem;
  border-start-start-radius: .375rem;
  box-shadow: 0 .125rem .25rem 0 rgba(var(--bs-primary-rgb), 0.4);
  color: #fff;
  font-size: 18px;
  inline-size: 38px;
  inset-block-start: 180px;
  inset-inline-start: 0;
  line-height: 38px;
  opacity: 1;
  text-align: center;
  transform: translateX(-58px);
  transition: all .1s linear .2s
}

#template-customizer .template-customizer-open-btn::before {
  position: absolute;
  display: block;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABClJREFUaEPtmY1RFEEQhbsjUCIQIhAiUCNQIxAiECIQIxAiECIAIpAMhAiECIQI2vquZqnZvp6fhb3SK5mqq6Ju92b69bzXf6is+dI1t1+eAfztG5z1BsxsU0S+ici2iPB3vm5E5EpEDlSVv2dZswFIxv8UkZcNy+5EZGcuEHMCOBeR951uvVDVD53vVl+bE8DvDu8Pxtyo6ta/BsByg1R15Bwzqz5/LJgn34CZwfnPInI4BUB6/1hV0cSjVxcAM4PbcBZjL0XklIPN7Is3fLCkdQPpPYw/VNXj5IhPIvJWRIhSl6p60ULWBGBm30Vk123EwRxCuIzWkkjNrCZywith10ewE1Xdq4GoAjCz/RTXW44Ynt+LyBEfT43kYfbj86J3w5Q32DNcRQDpwF+dkQXDMey8xem0L3TEqB4g3PZWad8agBMRgZPeu96D1/C2Zbh3X0p80Op1xxloztN48bMQQNoc7+eLEuAoPSPiIDY4Ooo+E6ixeNXM+D3GERz2U3CIqMstLJUgJQDe+7eq6mub0NYEkLAKwEHkiBQDCZtddZCZ8d6r7JDwFkoARklHRPZUFVDVZWbwGuNrC4EfdOzFrRABh3Wnqhv+d70AEBLGFROPmeHlnM81G69UdSd6IUuM0GgUVn1uqWmg5EmMfBeEyB7Pe3txBkY+rGT8j0J+WXq/BgDkUCaqLgEAnwcRog0veMIqFAAwCy2wnw+bI2GaGboBgF9k5N0o0rUSGUb4eO0BeO9j/GYhkSHMHMTIqwGARX6p6a+nlPBl8kZuXMD9j6pKfF9aZuaFOdJCEL5D4eYb9wCYVCanrBmGyii/tIq+SLj/HQBCaM5bLzwfPqdQ6FpVHyra4IbuVbXaY7dETC2ESPNNWiIOi69CcdgSMXsh4tNSUiklMgwmC0aNd08Y5WAES6HHehM4gu97wyhBgWpgqXsrASglprDy7CwhehMZOSbK6JMSma+Fio1KltCmlBIj7gfZOGx8ppQSXrhzFnOhJ/31BDkjFHRvOd09x0mRBA9SFgxUgHpQg0q0t5ymPMlL+EnldFTfDA0NAmf+OTQ0X0sRouf7NNkYGhrOYNrxtIaGg83MNzVDSe3LXLhP7O/yrCsCz1zlWTpjWkuZAOBpX3yVnLqI1yLCOKU6qMrmP7SSrUEw54XF4WBIK5FxCMOr3lVsfGqNSmPzBXUnJTIX1jyVBq9wO6UObOpgC5GjO98vFKnTdQMZXxEsWZlDiCZMIxAbNxQOqlpVZtobejBaZNoBnRDzMFpkxvTQOD36BlrcySZuI6p1ACB6LU3wWuf5581+oHfD1vi89bz3nFUC8Nm7ZlP3nKkFbM4bWPt/MSFwklprYItwt6cmvpWJ2IVcQBCz6bLysSCv3SaANCiTsnaNRrNRqMXVVT1/BrAqz/buu/Y38Ad3KC5PARej0QAAAABJRU5ErkJggg==);
  background-size: 100% 100%;
  block-size: 22px;
  content: "";
  inline-size: 22px;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%)
}

:dir(rtl) #template-customizer .template-customizer-open-btn::before {
  margin-inline-start: 2px;
  transform: translate(50%, -50%)
}

.customizer-hide #template-customizer .template-customizer-open-btn {
  display: none
}

:dir(rtl) #template-customizer .template-customizer-open-btn {
  transform: translateX(58px)
}

#template-customizer.template-customizer-open .template-customizer-open-btn {
  opacity: 0;
  transform: none;
  transition-delay: 0s
}

#template-customizer .template-customizer-inner {
  position: relative;
  overflow: auto;
  flex: 0 1 auto;
  -webkit-box-flex: 0;
  opacity: 1;
  transition: opacity .2s
}

.layout-menu-100vh #template-customizer {
  block-size: 100dvh
}

:dir(rtl) #template-customizer:not(.template-customizer-open) {
  transform: translateX(-420px)
}

.table-board tbody tr td {
  font-size: 0.9rem;
  border-top: 1px solid #222;
  border-bottom: 1px solid #dee2e6;
}

/* 푸터 전체 배경 및 설정 */
.site-footer {
  background-color: #2c2e3e;
  color: #b2b2c4;
  padding: 30px 0;
  font-size: 1rem;
  line-height: 1.2;
}

/* 내용을 가운데로 모아주는 컨테이너 */
.footer-inner {
  max-width: 1200px;
  /* 최대 너비 제한 (너무 넓어지지 않게) */
  margin: 0 auto;
  /* 화면 중앙 정렬 */
  padding: 0 20px;
  /* 모바일에서 글자가 잘리지 않도록 좌우 여백 */
  display: flex;
  /* 좌우 배치를 위한 Flexbox */
  justify-content: space-between;
  /* 양쪽 끝으로 배치 */
  flex-wrap: wrap;
  /* 화면이 좁으면 아래로 떨어지게 설정 */
  gap: 40px;
  /* 섹션 간 간격 */
}

/* 개별 섹션 스타일 */
.footer-section h3 {
  color: #ffffff;
  /* 제목은 흰색으로 강조 */
  font-size: 24px;
  margin-bottom: 20px;
  /* 제목과 내용 사이 간격 */
  font-weight: 600;
  border-bottom: 2px solid #FF8722;
  /* 제목 아래 주황색 포인트 라인 */
  display: inline-block;
  padding-bottom: 5px;
}

/* 리스트 스타일 제거 및 정렬 */
.footer-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-section ul li {
  margin-bottom: 10px;
  /* 줄 간격 */
  display: flex;
  /* 아이콘과 텍스트 수직 중앙 정렬 */
  align-items: center;
}

/* 아이콘 스타일 */
.footer-section .icon {
  color: #FF8722;
  /* 아이콘을 테마 컬러(주황)로 설정 */
  margin-right: 10px;
  /* 아이콘과 텍스트 사이 간격 */
  width: 20px;
  /* 아이콘 너비 고정 (정렬 유지를 위해) */
  text-align: center;
}

/* 링크 스타일 */
.footer-section a {
  color: #b2b2c4;
  text-decoration: none;
  transition: color 0.3s;
}

.footer-section a:hover {
  color: #FF8722;
  /* 마우스 올렸을 때 주황색으로 변경 */
}

/* 상세 레이아웃 */
.prod-wrap {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 50px;
}

.prod-imgbox {
  border: 10px solid rgba(0, 0, 0, .08);
  background: #fff;
  overflow: hidden;
}

.prod-imgbox .thumb {
  aspect-ratio: 4/3;
  display: flex;
  align-items: center;
  justify-content: center;
}

.prod-imgbox .thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 18px;
  display: block;
}

.prod-title {
  font-family: "Noto Sans KR";
  font-weight: 800;
  font-size: 1.8rem;
  margin: 0 0 10px 0;
}

.prod-price {
  font-family: "Noto Sans KR";
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.prod-price .money {
  font-size: 1.3rem;
  font-weight: 700;
}

.prod-price .badge {
  font-size: .75rem;
}

.qtybox {
  display: flex;
  align-items: center;
  gap: 10px;
}

.qtybox .btn {
  width: 44px;
}

.qtybox input {
  width: 64px;
  text-align: center;
}

.kv {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: #6b7280;
  font-size: .9rem;
}

.catalog {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

/* (옵션) 카테고리 탭을 부트스트랩 pill 느낌으로 */
.furni-tabs {
  gap: .5rem;
  flex-wrap: wrap;
}

.furni-tabs .btn {
  border-radius: 999px;
}

/* ===== furniture list UI (catalog grid) ===== */

/* 전체 그리드 */
.catalog {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

/* 카드 */
.catalog-item {
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  transition: transform .15s ease, box-shadow .15s ease;
}

.catalog-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, .08);
}

/* 썸네일 */
.catalog-thumb {
  position: relative;
  aspect-ratio: 4 / 3;
  /* 이미지 크기 안정화 */
  background: #fff;
}

.catalog-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* 제품 사진 찌그러짐 방지 */
  display: block;
  padding: 16px;
  border-bottom: 1px solid rgba(0, 0, 0, .08);
}

/* 본문 */
.catalog-body {
  padding: 12px 14px 14px;
}

.catalog-title {
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.3;
  margin: 0 0 6px 0;
  color: #111827;
}

.catalog-meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 0.85rem;
  color: #6b7280;
  margin-bottom: 10px;
}

.catalog-price {
  font-weight: 800;
  font-size: 0.95rem;
  color: #111827;
}

/* 하단 버튼/액션 */
.catalog-actions {
  display: flex;
  gap: 8px;
}

.catalog-actions .btn {
  flex: 1;
  border-radius: 10px;
  font-weight: 600;
  padding: 10px 10px;
  font-size: 0.88rem;
}

/* 뱃지 (옵션) */
.catalog-badge {
  position: absolute;
  left: 10px;
  top: 10px;
  background: rgba(17, 24, 39, .85);
  color: #fff;
  font-size: .75rem;
  padding: 6px 10px;
  border-radius: 999px;
}

/* (옵션) 카테고리 탭을 부트스트랩 pill 느낌으로 */
.furni-tabs {
  gap: .5rem;
  flex-wrap: wrap;
}

.furni-tabs .btn {
  border-radius: 999px;
}
.container-xxl{max-width:1140px;}
.form-label{font-family:'Noto Sans KR', 'Public Sans';font-size:0.9rem;}
.ft_red{color:#e74a3b;}
/* ===== furniture list UI (catalog grid) ===== */

/* 전체 그리드 */

/* 1360 컨테이너 기준: 반응형 */
@media (max-width: 1400px) {
  .catalog {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media(max-width: 1200px) {
  #template-customizer {
    display: none;
    visibility: hidden
  }
}

@media (max-width: 992px) {
  .prod-wrap {
    grid-template-columns: 1fr;
  }

  .catalog {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --- 모바일 반응형 (화면이 768px보다 작을 때) --- */
@media (max-width: 768px) {
  .footer-inner {
    flex-direction: column;
    /* 세로로 배치 */
    text-align: left;
    /* 모바일에서는 왼쪽 정렬이 보기 편함 */
  }

  .footer-section {
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    /* 섹션 구분선 */
    padding-bottom: 20px;
  }

  .footer-section:last-child {
    border-bottom: none;
  }
}

@media (max-width: 576px) {
  .catalog {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}