@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;700&display=swap');
/* Custom styling for the Bootstrap layout */

/* Apply Noto Sans font globally */
.material-icons-outlined {
      font-family: 'Material Icons Outlined', 'Material Icons', sans-serif !important;      
    }
.material-symbols-outlined {
      font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 24;
      font-size: 48px; /* 아이콘 크기 조정 */
      color: #26272c;  /* 아이콘 색상 */
    }
*{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans', sans-serif !important;
}
body {
  font-family: 'Noto Sans', sans-serif;
  color: #333;
  background-color: #fff;
}

ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

a{  
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer;
}
a:hover, a:focus {
  text-decoration: none !important;
}

.bg-blue {
  background-color: #006fdc !important;
}
.bg-light-blue {
  background-color: #0999ec !important;
}
.bg-red {
  background-color: #f83535 !important;
}
.bg-black {
  background-color: #00091c !important;
}
.bg-light-gray{
  background-color: #efefef !important;
}

.border-top-gray{
  border-top: 1px solid #ccc !important;
}

.w-20{ width: 20% !important; }
.w-30{ width: 30% !important; }
.w-35{ width: 35% !important; }
.w-40{ width: 40% !important; }
.w-46{ width: 46.3% !important; }
.w-50{ width: 50% !important; }
.w-100{ width: 100% !important; }

.h-20{ height: 20% !important; }
.h-30{ height: 30% !important; }
.h-40{ height: 40% !important; }
.h-46{ height: 46.3% !important; }
.h-50{ height: 50% !important; }
.h-100{ height: 100% !important; }

.form-gp .mx-h-48{
  max-height: 48px;
}

@media (max-width:1000px){
  .form-gp .mx-h-48{
    max-height: 68px !important;
  }
  .address-btn{
    margin-top: 0.3em;    
  }
}

.btn-outline-white{
  background-color: #fff !important;
  color: #111 !important;
  border: 1px solid #ccc !important;
  border-radius: 0.3em;
}
.btn-blue{
  background-color: #1267de !important;
  color: #fff !important;
  border: 1px solid #1267de !important;
  border-radius: 0.3em;
}
.btn-outline-secondary {
  color: #333 !important;
  border-color: #ccc !important;
  padding: 0.2em 1em !important;
}
.btn-outline-secondary:hover {  
  background-color: #fff !important;  
}
.btn-outline-secondary span {
  color: #333 !important;
  font-size: 0.875rem !important;
}
.btn-gray{
  background: #eee !important;
  border: 1px solid #ddd !important;
  color: #111;
}
.btn-danger{
  background-color: #dc3545;
  color: #fff !important;
  border: 1px solid #dc3545 !important;
  border-radius: 0.3em;
}

.btn-naver{
  background-color: #fff !important;
  color: #767678 !important;
  border: 1px solid #e6e6ea !important;
  border-radius: 0.3em;
  font-weight: 600;
  width: 100%;
  padding: 0.75em 0.3em !important;
}

.btn-kakao{
  background-color: #fee500 !important;
  color: #111 !important;
  border: 1px solid #fee500 !important;
  border-radius: 0.3em;
  font-weight: 600;
  width: 100%;
  padding: 0.75em 0.3em !important;
}

.btn-naver i img,
.btn-kakao i img{
  width: 21px;
  margin-right: 0.5em;

}

.btn-sm span.icon{  
  font-size: 21px !important;
}


.badge-red {
  background-color: #f83535;
}
.badge-orange {
  background-color: #fea35a;
}
.badge-pink {
  background-color: #ff76a6;
}
.badge-green {
  background-color: #64caa0;
}
.badge-blue {
  background-color: #3576f8;
}
.badge-sky{
  background-color: #e2f1ff;
}
.badge-purple{
  background-color: #a264ca;
}

.badge-icon{
  font-size: 14px;
  display: inline-flex;
  padding: 0.2em 0.7em;
  border-radius: 0.3em;
  color: #fff;  
}
.badge-icon img{
  width: 18px;
  margin-left: 5px;
}

.ico-delivery{
  border: 1px solid #0999ec;
  margin: 0 auto;
  min-width: 150px;
  max-width: 150px;
  border-radius: 0.3em;
}
.ico-delivery .badge-icon{
  display: inline-block;
  width: 100%;
  height: 100%;
  line-height: 120%;
  color: #111;
}

.ico-90deg{
  display: inline-block;
  transform: rotate(90deg);
}


.btn:focus,
.btn:focus-visible,
.btn:active:focus,
:not(.btn-check)+.btn:active {
  outline: none !important;
  box-shadow: none !important;
  border: none;
}

.input-group .btn {  
  margin-left: 0 !important;
  box-shadow: none !important;
}
.input-group .btn:focus,
.input-group .btn:active,
.input-group .btn:focus:active {
  border-width: 1px !important;
  box-shadow: none !important;
  outline: none !important;
  transform: none !important;
}

.form-check-input{
  border: 1px solid #aaa !important;
}

h1 {
  font-size: 42px !important;
  font-weight: 700;
}
h2 {
  font-size: 36px !important;
  font-weight: 700;
}
h3 {
  font-size: 30px !important;
  font-weight: 700;
}
h4 {
  font-size: 24px !important;
  font-weight: 700;
}






.top-banner {
  width:100%;
  max-height: 90px; 
  background: #192c9e;
  position: relative;
}

.top-banner img {
  width: 100%;
  height: auto;
  min-height: 40px;
  object-fit: cover;
}
.top-banner .btn-close{
  position: absolute;
  top: calc(50% - 12px);
  right: 1rem;
}

/* Logo image */
header .logo-img {
  max-height: 60px;
  height: auto;
}

header .logo-img img{
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Navigation links */
header .nav .nav-link {
  color: #333;
  font-weight: 500;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

header .nav .nav-link:hover {
  color: #0d6efd; /* Bootstrap primary color for hover */
}

header .top-search {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
header .top-search input {
  height: 52px;
  width: 490px;
  max-width: 490px;
  padding: 0.375rem 0.75rem;
  border-radius: 0.25rem;
  border: 2px solid #0054a6;
}

header .top-search button {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  font-size: 21px;
  font-weight:700;
  color: #0054a6;
}

/*모바일 검색바*/
header .mobile-searchbar,
header .mobile-searchbar form{
  width: 100%;
}
header .mobile-searchbar{
  padding: 1em;
  background: #eee;
}
header .mobile-searchbar .top-m-search{  
  display: flex;
  /* flex-direction: column; */
  align-items: center;
  justify-content: center;
  position: relative;
}
header .mobile-searchbar input {
  height: 52px;
  width: 100%;  
  padding: 0.375rem 0.75rem;
  border-radius: 0.25rem;
  border: 2px solid #0054a6;
}

header .mobile-searchbar button {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  font-size: 21px;
  font-weight:700;
  color: #0054a6;
}
header .top-menu{
  gap: 1rem;
}
header .top-menu li a{
    flex-direction: column;
}
header .top-menu li a p{
  text-align: center;
  font-size: 16px;
}
header .top-menu li a p img{
  max-width: 32px;
  width: 100%;
  height: auto;
  object-fit: contain;
}



/*1차 메뉴*/
header .main-menu{
  font-size: 21px;
  line-height: 120%;
}
header .main-menu li{
  text-align: center;    
  align-items: center;
  padding: 0.5em 0;
}
header .main-menu li a{
  align-items: center;
}
header .main-menu i{
  font-size: 1.5em;
  font-weight: 600;
  line-height: 100%;
  margin-right: 0.5em;
}

/*전체 카테고리 드롭다운 메뉴 */
.category-menu {
  height: 576px;
  z-index: 999;
  box-shadow: 0 5px 10px rgba(0,0,0,0.1);
}
.category-menu .depth-1{
  width: 290px;
  padding: 0;
}
.category-menu .depth-1 a{
  display: block;
  text-align: left;
  font-size: 16px;
  padding: 0.18em 0.5em;
  letter-spacing: -0.025em;
}


.category-menu .menu-2nd-wrap{
  width: 100%;
  max-width: 964px;
  height: 574px;
  overflow-x: hidden;
  overflow-y: auto;
  position: relative;
  display: flex;
  flex-direction: column;
}

.category-menu .menu-2nd{
  width: 100%;  
  display: flex;
  flex-wrap: wrap;
  position: relative;
  /* width: calc(100% - 220px); */
}
.category-menu .menu-2nd ul{
  flex: 0 0 calc(100% / 4); /* 4개 기준 gap 총합 64px */ 
  min-height: 350px;
  position: relative;
}
.category-menu .menu-2nd ul .cate-title{
  position: relative;
  font-weight: 700;
  font-size: 18px;
  color: #fff;
}
.category-menu .menu-2nd ul .cate-title a{
  color: #fff;
}
.category-menu ul .cate-title a::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 964px;
  height: 36px;
  background-color: #111;
  z-index: -1;
}

.category-menu .menu-2nd a{
  display: block;
  padding: 0.25em 1em;
  font-size: 16px;
  color: #333;
  text-align: left;
}

.menu-1st li {
  padding: 12px 16px;
  cursor: pointer;
}
.menu-1st li:hover,
.menu-1st li.active {
  background-color: #f8f9fa;
}

.menu-2nd ul li {
  padding: 0 0;
}
/* 전체 카테고리 드롭다운 메뉴 e */

.nav-item i{
  font-size:1.5em;
  line-height: 100%;
}

.container{
  position: relative;
  max-width: 1200px !important;
  margin: 0 auto;
  padding: 0 1rem;
}

.navbar-toggler {
  display: none; /* 기본 숨김 */
}

@media (max-width: 1200px) {
  .navbar-toggler {
    display: block;
  }
}


/* 퀵 메뉴 */
/* 공통 버튼 스타일 */
.qm-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 70px;  
  margin-bottom: 5px;
  border-radius: 10px;
  background: #fff;
  color: #666;
  font-size: 13px;
  text-align: center;
  cursor: pointer;
  border: none;  
}

/* PC 퀵메뉴 - absolute 시작 후 JS로 따라다님 */
.quick-menu-pc {
  position: absolute;
  right: -140px;
  top: 200px;
  z-index: 999;
  background: #fff;
  width: 88px;
  padding: 0.5em;
  border-radius: 0.5em;
  border: 1px solid #ccc;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
  text-align: center;
}
.quick-menu-pc hr{
  box-sizing: border-box;  
  margin:0.5em 0 !important;
}
.quick-menu-pc .ico{
  width: 42px;
  padding: 0.2em;
  text-align: center;
  margin-bottom: 0.3em;
}
.quick-menu-pc .ico img{
  width: 100%;
  height: auto;
  object-fit: contain;
}
.quick-menu-pc span{
  font-size: 13px;
  letter-spacing: -0.075em;;
}

/* 모바일 하단 고정 퀵메뉴 */
.quick-menu-mobile {
  position: fixed;
  bottom: 0;
  bottom: 20px;
  right: 10px;
  width: 50px;  
  display: flex;
  justify-content: space-around;
  padding: 10px 0;
  z-index: 1000;
  flex-direction: column;
  text-align: center;
  align-items: center;
}
.quick-menu-mobile a,
.quick-menu-mobile button {
  color: #fff;
  text-align: center;
  font-size: 13px;
  background: none;
  border: none;
}
.quick-menu-mobile .ico {
  width: 50px;
  display: block;
  font-size: 18px;
  margin-bottom: 2px;
}
.quick-menu-mobile .ico img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
/* 퀵 메뉴 e */


/* main */

/* Rolling banner image styling */
.rolling-banner .swiper-pagination-bullet-active {
  background: #fff !important;
}

.rolling-banner .swiper-button-prev,
.rolling-banner .swiper-button-next {
  display: none !important;
}

.rolling-banner .swiper-slide img {
  width: 100%;
  object-fit: cover;
}


main .section-1 ul{
    margin-bottom:0;
}
main .section-1 .bn{
    border:1px solid #eee;
    border-radius: 1em;
}
main .section-1 .m-cnt-bn-box-l{
    flex-shrink: 0; 
}
main .section-1 .m-cnt-bn-box-l .bn{
    flex: 0 0 460px;
    max-width: 460px;
    width: 100%;
    overflow: hidden;
    border:none
}
main .section-1 .m-cnt-bn-box-l .bn img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
main .section-1 .m-cnt-bn-box-r{
    display: flex;    
    flex-wrap: wrap;
    gap: 1em;
}
main .section-1 .m-cnt-bn-box-r li.bn{
    max-width: 350px;
    height: 160px;
    flex: 1 1 40%;
    overflow: hidden;
}
main .section-1 .m-cnt-bn-box-r li.bn img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/*메인 신상품*/
main .section2-bn{
  width: 100%;
  max-width: 580px;
  min-width: 58px;
  border-radius: 1em;
  overflow: hidden;
}
main .section2-bn img{
  width: 100%;
  height: auto;
  object-fit: cover;
}

main .section-2 .prd-box  a{
  display: inline-block;
}

main .section-2 .prd-img{
  width: 100px;
  height: 100px;
  max-width: 100px;
  max-height: 100px;
  padding: 10px;
}
main .section-2 .prd-img img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

main .section-2 .prd-info p{
  margin-bottom:0.25em;
}
main .section-2 .prd-info p.prd-icon{
  margin-bottom: 0.1em;
}
main .section-2 .prd-info p.prd-name{
  font-weight: 700;
  font-size: 1.125rem;
}
main .section-2 .prd-info p.prd-code{
  font-size: 1em;
  color: #666;
}
main .section-2 .prd-info p.prd-price{
  font-size: 1.125rem;
  font-weight: 700;
  color: #333;
}

main .section-2 .prd-item{
  width: 100%;
  max-width: 580px;
  min-width: 0;
}
main .section-2 .prd-item dd{
  padding: 1.7em 0;
}


/*메인 이벤트 상품*/
main .section3-bn{
  width: 100%;
  max-width: 430px;
  min-width: 43px;
  border-radius: 1em;
  overflow: hidden;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 10px 0px;

}
main .section3-bn img{
  width: 100%;
  height: auto;
  object-fit: cover;
}

main .section-3 .prd-box  a{
  display: inline-block;
}

main .section-3 .prd-img{
  width: 150px;
  height: 150px;
  max-width: 150px;
  max-height: 150px;
  padding: 10px;
  border: 1px solid #eee;
}
main .section-3 .prd-img img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
main .section-3 .prd-info{
  margin-left: 1em;
}
main .section-3 .prd-info p{
  margin-bottom:0.25em;
}
main .section-3 .prd-info p.prd-icon{
  margin-bottom: 0.1em;
}
main .section-3 .prd-info p.prd-name{
  font-weight: 700;
  font-size: 1.125rem;
}
main .section-3 .prd-info p.prd-code{
  font-size: 1em;
  color: #666;
}
main .section-3 .prd-info p.prd-price{
  font-size: 1.125rem;
  font-weight: 700;
  color: #333;
}

main .section-3 .prd-item{
  width: 100%;
  max-width: 732px;
  min-width: 0;
}

main .section-3 .prd-item dd:first-child{
  padding:0 0 1.7em 0;
}
main .section-3 .prd-item dd:last-child{
  padding:1.7em 0 0 0;
}
@media (max-width: 1200px) {
  
  main .section-3 .prd-item dd {
    width: 100%;
    padding: 0;
    display: flex;
    flex-direction: row;
  }
  main .section-3 .prd-item dd a{
    margin:1em 0;
  }
  main .section-3 .prd-img{
    width: 80px;    
    height: 80px;
    min-width: 80px;
    min-height: 80px;
  }
  main .section-3 .prd-info{
    margin-left: 0.2em;
    letter-spacing: -0.045em;
  }
}


/*메인 베스트상품*/
main .section-4 .nav-tabs{
  border: 0;
}
main .section-4 .nav-tabs .nav-item button{
  padding:0.25em 0.4em;
  color: #333;
  font-size: 1.15em;
  letter-spacing: -0.025em;
}
main .section-4 .nav-tabs .nav-item button {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  outline: none !important;
}
main .section-4 .nav-tabs .nav-item button.active{
  border: 0;
  position: relative;
  color: #111; /* Active tab text color */
  font-weight: 500;
}
main .section-4 .nav-tabs .nav-item button.active::before{
  display: block;
  content: '';
  position: absolute;
  bottom: -1px;
  left: 5%;
  width: 90%;
  height: 3px;
  border-radius: 3px;
  background-color: #111; /* Active tab underline color */
}

main .section-4 .prd-box dd{
  max-width: 232px;
}
main .section-4 .prd-box dd .prd-img{
  width: 232px;
  height: 232px;
  max-width: 232px;
  max-height: 232px;
  padding: 10px;
  border: 1px solid #ccc;
}
main .section-4 .prd-box dd .prd-img img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

main .section-4 .prd-box dd .prd-info{
  margin-top: 1em;
}
main .section-4 .prd-box dd .prd-info p.prd-name{
  font-weight: 700;
  font-size: 1.125rem;
  margin-bottom: 0.2em;
}
main .section-4 .prd-box dd .prd-info p.prd-code{
  font-size: 1em;
  color: #666;
  margin-bottom: 0.2em;
}
main .section-4 .prd-box dd .prd-info p.prd-price{
  font-size: 1.125rem;
  font-weight: 700;
  color: #333;
}
@media (max-width: 1200px) {
  main .section-4 .prd-box dd{
    max-width: 150px;
  }
  main .section-4 .prd-box dd .prd-img {
    max-width: 150px;
    width: 150px;
    height: 150px;
    min-width: 0;
  }
  main .section-4 .prd-box dd .prd-img {
    max-height: 150px;
    padding: 10px;
  }
  main .section-4 .prd-box {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: space-between !important;
    gap: 1em;
  }
  main .section-4 .prd-box dd {
    flex: 0 1 calc(50% - 1em);
    max-width: calc(50% - 1em);
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

/*브랜드 상품*/
main .section-5 .nav-tabs{
  border: 0;
}
main .section-5 .nav-tabs .nav-item button{
  padding:0.25em 0.4em;
  color: #333;
  font-size: 1.15em;
  letter-spacing: -0.025em;
}
main .section-5 .nav-tabs .nav-item button {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  outline: none !important;
}
main .section-5 .nav-tabs .nav-item button.active{
  border: 0;
  position: relative;
  color: #111; /* Active tab text color */
  font-weight: 500;
}
main .section-5 .nav-tabs .nav-item button.active::before{
  display: block;
  content: '';
  position: absolute;
  bottom: -1px;
  left: 5%;
  width: 90%;
  height: 3px;
  border-radius: 3px;
  background-color: #111; /* Active tab underline color */
}

main .section5-bn{
  width: 100%;
  max-width: 430px;
  min-width: 43px;
  border: 1px solid #ccc;
  border-radius: 1em;
  overflow: hidden;
}
main .section5-bn img{
  width: 100%;
  height: auto;
  object-fit: cover;
}

main .section-5 .prd-box  a{
  display: inline-block;
}

main .section-5 .prd-img{
  width: 150px;
  height: 150px;
  max-width: 150px;
  max-height: 150px;
  padding: 10px;
}
main .section-5 .prd-img img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

main .section-5 .prd-info p{
  margin-bottom:0.25em;
}
main .section-5 .prd-info p.prd-icon{
  margin-bottom: 0.1em;
}
main .section-5 .prd-info p.prd-name{
  font-weight: 700;
  font-size: 1.125rem;
}
main .section-5 .prd-info p.prd-code{
  font-size: 1em;
  color: #666;
}
main .section-5 .prd-info p.prd-price{
  font-size: 1.125rem;
  font-weight: 700;
  color: #333;
}

main .section-5 .prd-item{
  width: 100%;
  max-width: 732px;
  min-width: 0;
}

main .section-5 .prd-item dd:first-child{
  padding:0 0 1.3em 0;
}
main .section-5 .prd-item dd:last-child{
  padding:1.3em 0 0 0;
}
@media (max-width: 1200px) {
  
  main .section-5 .prd-item dd {
    width: 100%;
    padding: 0;
    display: flex;
    flex-direction: row;
  }
  main .section-5 .prd-item dd a{
    margin:1em 0;
  }
  main .section-5 .prd-img{
    width: 80px;
    height: 80px;
    min-width: 80px;
    min-height: 80px;
  }
}


main .section-6 .main-notice .list-unstyled {
  font-size: 18px;
  
}

main .section-6 .main-serviceCenter .list-unstyled .call, main .section-6 .main-serviceCenter .list-unstyled .call span{
  font-size: 36px;
  margin:0;
}
main .section-6 .main-serviceCenter .list-unstyled .btn{
  font-size: 18px;
  height: 42px;
  width: 200px;
  text-align: center;
}
main .section-6 .main-serviceCenter .list-unstyled .moblile-serviceBtn{
  display: none;
}

@media (max-width: 1200px) {
  main .section-6{
    flex-direction: column;
    align-items: center;
  }
  main .section-6 .main-notice, main .section-6 .main-serviceCenter {
    width: 100% !important;
    max-width: 100%;
    margin-bottom: 2em;
  }
  main .section-6 .main-serviceCenter .list-unstyled .btn{
    display: none;
  }
  main .section-6 .main-serviceCenter .list-unstyled .moblile-serviceBtn, main .section-6 .main-serviceCenter .list-unstyled .moblile-serviceBtn .btn{
    width: 100% !important;
    display: block !important;
    flex-direction: column;
    align-items: center;
  }
  main-serviceCenter .list-unstyled .moblile-serviceBtn .btn{
    width: 100% !important;
    margin-bottom: 1em;
  }
  
  
}

/* Footer styling */
footer .footer-nav{
  border-bottom:1px solid rgba(255, 255, 255, 0.2);
}
footer .footer-nav ul{
  display: flex;
  justify-content: center;
  padding: 1em 0;
}

footer .footer-wrap {  
  color: #fff;
  padding: 2em 0;
  flex: 1;
}
footer .footer-wrap .cs-center ul{
  margin: 0;
  font-size: 16px;
}

footer .footer-wrap .cs-center ul .tel, footer .footer-wrap .cs-center ul .tel span{
  font-size: 24px;
}

footer .footer-wrap .footer-copy p{
  margin: 0.1em 0;
  font-size: 16px;
  color:#fff;
}

footer .footer-wrap .footer-sns{
  text-align: end;
}

footer .footer-wrap .footer-sns ul{
  display: flex;
  justify-content: center;
  gap: 1em;
}

@media (max-width: 1200px) { 
  footer .footer-nav {
    font-size: 12px;
  }
  footer .footer-nav .text-secondary{
    display: none;
  }
  footer .footer-wrap {
    flex-direction: column;
    padding: 1em !important;
    text-align: center;
  }
  footer .footer-wrap .cs-center ul{
    font-size: 14px;
  }
  footer .footer-wrap .cs-center ul .tel, footer .footer-wrap .cs-center ul .tel span{
    font-size: 20px;
  }
  footer .footer-wrap .footer-copy p{
    font-size: 14px;
  }
  footer .footer-wrap .footer-sns {
    text-align: center;
    margin: 1em auto;
  }
  footer .footer-wrap .footer-sns ul{
    padding: 0;
  }
  
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    .wrapper {
    padding-left: 1rem;
    padding-right: 1rem;
    }
    /* Stack navigation vertically on smaller screens */
    header .navbar-brand{
      width: 90px;
      margin: 0;
    }
    header .navbar-brand img{
      width: 100%;
    }
    header nav ul {
    /* flex-direction: column; */
    align-items: flex-start;
    padding-left: 0;
    gap:5px !important;
    }
    header .top-menu li a p img{
      width: 28px;
    }
    header .top-menu li a p{
      font-size: 0.7em;
      letter-spacing: -0.085em;
    }
    header nav .nav-link {
    padding-left: 0;
    }
    header .navbar-toggler{
      padding: 0.2em 0.3em;
    }
    /* Reduce banner height on smaller screens */
    .rolling-banner .carousel-item img {
    height: 250px;
    }



    /* main */
    main .section-1 .m-cnt-bn-box-l .bn {
        max-width: 100%; /* 모바일에서는 꽉 채움 */
    }

    main .section-1 .m-cnt-bn-box-r{
        padding-left: 0 ;
        margin-top: 2em;
    }

}


@media (max-width: 550px) {
    main .section-1 .m-cnt-bn-box-r{
        flex-direction: column; /* 세로로 쌓이도록 변경 */
        margin-top: 2em;
    }

    

    main .section-1 .m-cnt-bn-box-r li.bn img{
    width: 100%;
    object-fit: cover;
}
}




/*상품리스트*/
.page-navi{
  border-top: 2px solid #111;
  border-bottom: 1px solid #ccc;
}

.page-navi .breadcrumb{
  min-width: 340px;
}

@media (max-width: 1200px) {
  .page-navi .breadcrumb, .page-navi .btn {
    min-width: 100%;
    font-size: 13px;
  }
  
}
.page-navi .breadcrumb-item+.breadcrumb-item::before{
  content: '\f285';
  font-family: 'bootstrap-icons';
  color: #333;
  padding: 0 0.5em;
}

.prd-category-wrap{
  border: 1px solid #ccc;
  border-top: none;
}
.prd-category-wrap .prd-category-list{
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  gap: 5px;
}
.prd-category-wrap .prd-category-list li{
  flex: 0 0 calc(25% - 4px);
  /* width: 25%; */
  min-width: 150px;
  list-style: none;
}
.prd-category-wrap .prd-category-list li a{
  display: block;
  padding: 0.5em 1em;
}
.prd-category-wrap .prd-category-list li a:hover{
  background: #eee;
  color: #111;
  border-radius: 0.5em;
}
.prd-category-wrap .prd-category-list li a::before{
  content: '·';
  font-family: 'bootstrap-icons';
  color: #333;
  padding-right: 0.5em;
}
.prd-category-wrap .prd-category-list li a.active{
  background: #f1f1f1;
  /* color: #fff !important; */
  font-weight: 600;
  border-radius: 0.5em;
  border:1px solid #ccc;
}


.toggle-icon {
  display: inline-block;
  transition: transform 0.3s ease;
}

/* 회전 상태: 열린 상태 (카테고리 열림) */
.toggle-icon.rotate-down {
  transform: rotate(180deg);
}

/* 회전 상태: 닫힌 상태 (카테고리 접힘) */
.toggle-icon.rotate-up {
  transform: rotate(0deg);
}

.product-count strong{
  color: #006fdc;
}

.sort-options a.active{  
  font-weight: 700;
  position: relative;
}


/*상품 테이블 style*/
.prd-list-wrap{
  padding: 0;
}
/********************************************/
.prd-list-wrap{
  --col-img: 190px;
  --col-info: 1fr;
  --col-moq: 180px;
  --col-price: 146px;
  --col-qty: 180px;

  width: 100%;
  overflow-x: auto;
  box-sizing: border-box;
  background: #fff;
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
}

.prd-list-wrap dl,
.prd-list-wrap dd { margin: 0; }

/* ===== 헤더/바디: 같은 그리드 템플릿 ===== */
.prd-list-head,
.prd-list-body{
  display: grid !important; /* 이전 table/table-cell을 이김 */
  grid-template-columns: var(--col-img) var(--col-info) var(--col-moq) var(--col-price) var(--col-qty);
  align-items: stretch;  
}

.prd-list-head{
  background: #111;
  color: #fff;
}
.prd-list-head dd{
  padding: 12px;
  text-align: center;
  font-weight: 600;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.prd-list-head dd:last-child{ border-right: none; }

.prd-list-body dd{
  padding: 12px;
  border-right: 1px solid #ccc;   
  border-bottom: 1px solid #ccc;  
}
.prd-list-body dd:last-child{ border-right: none; }

/* align-middle이 grid에서 안 먹는 문제 보정 */
.prd-list-body dd.align-middle{
  display: flex;
  align-items: center; 
  flex-direction:column;
}

.prd-list-body dd{
  justify-content: center;
}

.prd-list-body .prd-info-wrap{
  display: flex;
  flex-direction: column;
}

.prd-list-body .prd-info .prd-name{ font-size: 18px;  font-weight: 500;}
.prd-list-body .prd-info .prd-code{ font-size: 21px; font-weight: 600;}
.prd-list-body .prd-info .prd-etc { font-size: 16px; }

/* 이미지 박스 */
.prd-list-body .prd-img{
  width: 160px;
  border: 1px solid #ccc;
  margin: 0 auto;
}
.prd-list-body .prd-img img{
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}


/* 1200px 이하 폰트 축소 */
@media (max-width: 1200px){
  .prd-list-body dd{ font-size: 14px; }
  .prd-list-body .prd-info .prd-name{ font-size: 16px; }
  .prd-list-body .prd-info .prd-code{ font-size: 18px; }
  .prd-list-body .prd-info .prd-etc { font-size: 13px; }

  .prd-list-body .prd-info .badge-icon{
    margin-left: 0 !important;
    display: block !important;
    width: fit-content;
  }

  .prd-list-wrap{
    overflow-x: hidden; /* 스크롤바 제거 */
  }

  .prd-list-head dd:nth-child(1), .prd-list-body dd:nth-child(1){ grid-area: img; }
  .prd-list-head dd:nth-child(2), .prd-list-body dd:nth-child(2){ grid-area: info; }
  .prd-list-head dd:nth-child(3), .prd-list-body dd:nth-child(3){ display: none !important; } /* MOQ/MPQ 감춤 */
  .prd-list-head dd:nth-child(4), .prd-list-body dd:nth-child(4){ grid-area: price; }
  .prd-list-head dd:nth-child(5), .prd-list-body dd:nth-child(5){ grid-area: qty; }

  .prd-list-head,
  .prd-list-body{
    display: grid !important;
    /* 이미지 칸은 최소 140px 확보, 나머지는 유동 */
    grid-template-columns: minmax(140px, 1fr) minmax(0, 1fr) !important;
    grid-template-areas:
      "img info"
      "price qty";
  }

  .prd-list-body .prd-img{
    width: 150px;
  }

  .prd-list-body dd{
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }
  .prd-list-body dd:nth-child(2),
  .prd-list-body dd:nth-child(5){
    border-right: none;
  }
  .prd-list-body dd.align-middle{
    display: flex;
    align-items: center;
    flex-direction: column;
  }
}

/********************************************/


/*리스트 페이징*/
.table-pagination .pagination .page-item.active .page-link {
  background-color: #006fdc;
  border-color: #006fdc;
  color: #fff !important;
}

.table-pagination .pagination .page-link {
  border-radius: 0.3em;
  color: #333;
}

.custom-pagination .page-item {
  margin-right: 6px; /* 간격 조정 */
  border-radius: 0.3em;
}

.custom-pagination .page-item:last-child {
  margin-right: 0;
}

/* 반응형: 작은 화면에서 정렬 변경 */
@media (max-width: 576px) {
  .table-pagination {
    justify-content: center !important;
    text-align: center;
  }
  .table-pagination > * {
    margin-top: 0.5rem;
  }
}



/* 상품상세 */
.prd-detail-wrap{
  margin: 0;
}

.prd-top-info-wrap {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding-top: 1.5em;
}

.prd-img-info {
    flex: 1 1 30%;
}

.prd-basic-info {
    flex: 1 1 40%;
    border-right: 1px solid #ccc;
}

.prd-buy-info {
    flex: 1 1 30%;
}

.prd-img-info .prd-img{
  max-width: 360px;
  height: auto;
}
.prd-img-info .prd-img img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.prd-img-info .thumbnail-img{
  display: flex;
  gap: 1em;
}
.prd-img-info .thumbnail-img dd{
  max-width: 110px;
  height: auto;
  border: 1px solid #ccc;
}
.prd-img-info .thumbnail-img dd img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}


/* 상품명 박스 */
.prd-nm-pox {
    display: flex;
    flex-direction: column;
    text-align: left;
    gap: 5px;
    padding: 0;
    margin-bottom: 15px;
    list-style: none;
}

.prd-nm-pox .prd-name{
  font-size: 1.5em;
  font-weight: 700;  
}

/* 메타 정보 */
.prd-meta-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
    list-style: none;
    padding: 0;
}
.prd-meta-info li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    margin-bottom: 0.3em;
}
.prd-meta-info li p:first-child {
    min-width: 80px;
    font-size: 1em;
    font-weight: 600;
    color: #111;
    margin: 0;
}
.prd-meta-info li p:last-child {
    margin: 0;
}

/* 가격 테이블 UI */
.price-table {    
    border-radius: 0.3em;
    overflow: hidden;
    margin-bottom: 15px;
}
.price-table .table-head {
    background: #f1f1f1;
    display: flex;
    justify-content: space-between;
    padding: 5px 10px;
    font-weight: 400;
    text-align: center;
}
.price-table .table-head span{
  flex: 1;
}
.price-table .table-body div {
    display: flex;
    justify-content: space-between;
    padding: 5px 1em;    
}
.price-table .table-body div span:first-child{
  color: #3e70d4;
}
.price-table .table-body div span:last-child{
  font-size: 1em;
  font-weight: 600;
}

/* 구매수량 UI */
.buy-qty,
.buy-total,
.buy-total-all,
.buy-btns {
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    padding: 5px 0;
    margin: 0;
    gap: 10px;
    background: none !important;
    border:none !important;
}

.buy-btns .btn-cart,
.buy-btns .btn-cart:active{
  border: 1px solid #ccc;
}
.buy-btns .btn-buy,
.buy-btns .btn-buy:active{
  background:#0062c2;
  border: 0;
}

.naver-buy {
    justify-content: space-between;
    align-items: center;
    text-align: center;
    list-style: none;
    padding: 3px 0;
    margin: 0;
    gap: 10px;
    background: none !important;
    border:none !important;
}

.top-icon-wrapper {
  text-align: center;   /* li 안의 텍스트와 아이콘을 가운데 정렬 */
}

.top-icon-wrapper a {
  display: flex;
  flex-direction: column;   /* 아이콘 위, 텍스트 아래 */
  align-items: center;      /* 수평 가운데 정렬 */
  text-decoration: none;
}

.top-icon-box {
  position: relative;
  display: inline-block;
}

.top-icon-box img {
  width: 33px;   /* 아이콘 크기 고정 */
  height: 33px;
  display: block;
}

.cart-badge {
  position: absolute;
  top: -5px;
  right: -8px;
  background-color: red;
  color: white;
  font-size: 12px;
  font-weight: bold;
  padding: 2px 5px;
  border-radius: 50%;
  min-width: 18px;
  text-align: center;
  line-height: 1.2;
  box-shadow: 0 0 2px rgba(0,0,0,0.4);
}

.estimate-badge {
  position: absolute;
  top: -5px;
  right: -8px;
  background-color: #888;
  color: white;
  font-size: 12px;
  font-weight: bold;
  padding: 2px 5px;
  border-radius: 50%;
  min-width: 18px;
  text-align: center;
  line-height: 1.2;
  box-shadow: 0 0 2px rgba(0,0,0,0.4);
}

.qty-control {
  border: 1px solid #ccc;
  border-radius: 0.375rem;
  overflow: hidden;
}

.qty-control .qty-btn {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0 0.75rem;
  color: #333;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.qty-control .qty-btn:focus,
.qty-control .qty-btn:active {
  outline: none;
  box-shadow: none;
}

.qty-control .qty-input {
  border: none;
  box-shadow: none;
  height: 42px;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.qty-control .qty-input:focus {
  outline: none;
  box-shadow: none;
}

.qty-btn i {
  font-size: 1.5em;
  pointer-events: none;
}

.qty-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.5rem;
}


.buy-qty li:first-child {
  font-size: 1.25em;
  color: #111;
  font-weight: 600;
}
.buy-total li:first-child{  
  font-size: 1.25em;
  color: #111;
  font-weight: 600;
}
.buy-total li:last-child {
  font-size: 1.75em;
  font-weight: bold;
  color: #0062c2;
  padding-right: 0.3em;
}
.buy-total li:last-child span{
  font-size: 0.75em;
  font-weight: 400;
  color: #111;
}

.buy-total-all li:first-child{  
  font-size: 1em;
  color: #111;
  font-weight: 600;
}
.buy-total-all li:last-child {
  font-size: 1em;
  font-weight: bold;
  color: #0062c2;
  padding-right: 0.3em;
}
.buy-total-all li:last-child span{
  font-size: 0.5em;
  font-weight: 400;
  color: #111;
}


.buy-btns li {
    flex: 1;
}
.buy-btns a {
    width: 100%;
}

.buy-btns button {
    width: 100%;
}


/* 반응형 */
@media (max-width: 1200px) {
  .prd-top-info-wrap {
        flex-direction: column;
  }

  .prd-img-info,
  .prd-basic-info,
  .prd-buy-info {
    flex: 1 1 100%;
    width: 100%;
  }

  .prd-basic-info{
    border-right: none;
  }

  .prd-img-info .prd-img {
    width: 100%;
    height: auto; /* ⬅️ 핵심 수정 */
    max-width: none; /* 필요 시 기존 제한 해제 */
  }

  .prd-img-info .prd-img img {
    width: 100%;
    height: auto;
    display: block;
  }

  .prd-img-info .thumbnail-img {
    flex-wrap: wrap;
    gap: 0.5em;
    margin-top: 1em;
  }

  .prd-img-info .thumbnail-img dd {
    width: 30%; /* 또는 원하는 비율 */
    height: auto;
    max-width: 200px;
  }

  /* .prd-meta-info li {
    flex-direction: column;
    align-items: flex-start;
  } */
  
  .prd-meta-info .etc-img img{
    width: 100%;
  }

  .buy-btns li {
    width: 100%;
  }

  .buy-btns a {
    width: 100%;
  }

  .price-table .table-head,
  .price-table .table-body div {
    flex-direction: row;
    justify-content: space-between;
  }
}





.prd-detail-info .nav-tabs {
  border-bottom: none;
  position: relative;
}
.prd-detail-info .nav-tabs::before{
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #3f4246;
  position: absolute;
  bottom: -1px;
  z-index: 1;
}

.prd-detail-info .nav-tabs .nav-item {
  width: 33.3333%;
  text-align: center;
  border: none;
  position: relative;
}

.prd-detail-info .nav-tabs .nav-item button.nav-link {
  width: 100%;
  text-align: center;
  border-bottom: 1px solid #3f4246;
  border-radius: 0;
  background-color: #f0f3f6;
  position: relative;
  color: #111;
  border: none !important; /* 마우스 아웃시 생기는 border 제거 */
  outline: none;
  box-shadow: none;
  cursor: pointer;
  padding: 1em 1.5em;
}

/* hover 시 디자인 변화 없도록 제거 */
.prd-detail-info .nav-tabs .nav-item button.nav-link:hover {
  border: none;
  background-color: #f0f3f6;
  color: #111;
}

/* 마지막 탭을 제외한 탭에만 구분선 표시 */
.prd-detail-info .nav-tabs .nav-item:not(:last-child)::before {
  content: '';
  display: block;
  position: absolute;
  top: 25%;
  right: 0;
  width: 1px;
  height: 50%;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
}

/* 활성화된 탭 스타일 */
.prd-detail-info .nav-tabs .nav-item button.nav-link.active {
  background-color: #3f4246;
  color: #fff;
  border-bottom: 1px solid #3f4246;
}

@media (max-width: 435px) {
  .nav-tabs .nav-item{
    font-size: 0.75em;
    letter-spacing: -0.025em;
  }
}


/* 게시판 */
.board-wrap {
  margin: 0;
}

.table-responsive{
  width: 100%;
  overflow-x: auto;
}

.board-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 2px solid #3f4246 !important;
}

.board-table th,
.board-table td {
  border-bottom: 1px solid #c5c6c7;
  padding: 1em 0.75em !important;
  font-size: 14px;
  white-space: nowrap;
}

.board-table thead th {
  background-color: #f8f9fa;
  font-weight: 600;
  color: #333;
}

.board-table tbody td a {
  text-decoration: none;
  color: #111;
}

.board-table tbody td a:hover {
  text-decoration: underline;
}

/* 작성 버튼 */
.board-header .btn {
  font-size: 14px;
  padding: 4px 10px;
}




/* 브랜드 리스트 */
.brand-mark-ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}

.brand-mark-ul li {
  width: calc(100% / 14);  
  box-sizing: border-box;
  margin: 0;
  padding: 0.5em 0;
  text-align: center;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  list-style: none;
  font-size: 0.9em;
}

.brand-mark-ul li a {
  display: block;
  padding: 6px 0;
  color: inherit;
  text-decoration: none;
}

/* 브랜드 섹션 가로 배치 */
.brand-section {
  display: flex;
  align-items: flex-start;
  margin-top: 5em;
  margin-bottom: 2em;
}

.brand-title {
  width: 86px;
  height: 93px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5em;
  font-weight: bold;
}

.brand-section {
  display: flex;
  align-items: flex-start;
  margin-bottom: 2rem;
  flex-wrap: wrap;
  border-top: 2px solid #111;
}

/* 브랜드 타이틀 고정 크기 */
.brand-title {
  width: 86px;
  height: 93px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 400;
  font-size: 1.2em;
  flex-shrink: 0;
  background: url('../../images/brand-mark-bg.png') top center no-repeat;
  color: #fff;
  padding-bottom: 1em;
}

/* 브랜드 리스트는 타이틀 옆 영역 전체 */
.brand-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  margin-top: 0.5em;
  padding: 0 0 0 1rem;
  list-style: none;
  flex: 1;
}

/* 리스트 아이템은 기본 4개씩 정렬 */
.brand-list li {
  flex: 0 0 calc((100% - 30px) / 4); /* gap 고려해서 4개 정렬 */
  position: relative;
  padding-left: 1em;
  white-space: nowrap;
  padding: 0.3em 1em;
}

/* 점(•) 기호 삽입 */
.brand-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #444;
}

/* 반응형 처리 */
@media (max-width: 992px) {
  .brand-list li {
    flex: 0 0 calc((100% - 20px) / 3);
    min-width: 170px;
  }
}

@media (max-width: 576px) {
  .brand-list li {
    flex: 0 0 calc(50% - 10px); /* 2개씩 */
    min-width: 150px;
  }
}


/*** table style ***/
.table_style1{
  border-bottom: 1px solid #eee;
  font-size: .9em;  
  width: 100%;
  border-collapse: collapse;
  border-radius: 5px;
  overflow: hidden;
}

.table_style1 thead{
  border-top: 2px solid #333;
  border-bottom: 1px solid #ccc;
}
.table_style1 thead th{
  text-align: center;
}

.table_style1 td, th {
  padding: 1.2em .5em;
  vertical-align: middle;
  font-size: 14px;
  font-weight: 300;
}


.table_style1 td{
  border-bottom: 1px solid #ccc;  
  color: #333;
}

.table_style1 .d-flex div{
  flex: 1 1 auto;
}

.table_style2{  
  font-size: .9em;  
  width: 100%;
  border-collapse: collapse;  
  overflow: hidden;
}

.table_style2 thead th{
  font-weight: 500;
  text-align: center;
  border-top: 2px solid #454545;
  background: #eee;
  color: #111;
}

.table_style2 td, th {
  padding: 1.2em .5em;
  vertical-align: middle;
  font-size: 16px;
  font-weight: 400;
  text-align: center;
}


.table_style2 td{
  border-bottom: 1px solid #ccc;  
  color: #333;
}

.sub-title-wrap{
  width: 100%;
  padding: 1em;
  border-top: 1px solid #ccc;  
  background: #eee;
}
.sub-title-wrap .sub-title{
  font-size: 1.25em !important;
  margin: 0;
}



.table-tools input,
.table-tools .btn,
.table-tools .btn:active{
  border: 1px solid #dee2e6;
}

/*************************/
/* order */
.payType-wrap{
  padding: 1em 0;  
  border-bottom: 1px solid #ddd;
}
.payType-wrap .paypay-btn{
  display: flex;  
  flex: 1;
  gap: 1%;
  padding: 0;
  margin: 0;
}
.payType-wrap .paypay-btn li{
  flex-grow: 1;
}
.payType-wrap .paypay-btn a{
  display: block;
  padding: 1em 1.5em;
  border: 1px solid #ccc;
  border-radius: 0.5em;
  text-align: center;
}
.payType-wrap .paypay-btn a.active { background:#ecf8ff; color:#006fdc !important; border-color: #006fdc; font-weight: 600; }
.tab-panel.d-none { display:none !important; }

.cart_flow{
    display: flex;
    position: relative;
}
.cart_flow .flow{
  display: flex;
  flex: 1 1 0;
  align-items: center;
  height: 148px;
  line-height: 45px;
  font-size: 2em;
  padding-left: 1em;
}
.cart_flow .stap{
  font-size: 1.5em;
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0.45em;
  opacity: .3;
  color: #fff;
}

.order-title{
  display: flex;
  background: #eee;
  align-items:center;
}
.order-title h1, .order-title .cart_flow{
  flex: 1 1 0;
  align-items:center;
}
.order-title h1{
  margin-left: 0.5em;
  margin-bottom: 0;
  font-weight: 600;
}
.order-title h1 small{
  display: block;
  font-size: 16px;
  font-weight: 400;
}

.cartFlow_1 {
    width: 200px;
    height: 40px;    
    position: relative;
    background: #ddd;
    z-index: 0;
    color: #fff;
}
.cartFlow_1:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-left: 20px solid #eee !important; /* 장바구니 색상 */
    border-top: 80px solid transparent;
    border-bottom: 70px solid transparent;
    filter: drop-shadow(7px 0px 3px rgba(0,0,0,0.2));
}

.flow {
    width: 200px;
    height: 40px;
    position: relative;
    background: #CECECE;
    z-index: 1;
    color: #aaa;
}
.flow .arrow-step{
  position: absolute;
  bottom: 0;
  right: 0;  
}
.flow .arrow-step {
    position: absolute;
    right: -30px;
    bottom: 0;
    width: 30px;
    height: 0;
    margin: 0;
    border-left: 20px solid #CECECE;
    border-top: 80px solid transparent;
    border-bottom: 70px solid transparent;
    filter: drop-shadow(7px 0px 3px rgba(0,0,0,0.2));    
    z-index: 9;
}
.flow.active{
  background: #006fdc;
  color: #fff;
  font-weight: 500;
}
.flow.active .arrow-step{
  border-left: 20px solid #006fdc;
}

@media (max-width:1200px) {
  .order-title{
    display: block;
    background: none;
  }
  .order-title h1{
    margin-left: 0;
    margin-bottom: 0.5em;
    font-size: 1.5em !important;
  }
  .cartFlow_1:after{
    content: none;
  }
  .flow .arrow-step{    
    border-top: 45px solid transparent;
    border-bottom: 45px solid transparent;
  }
  .cart_flow .stap{
    left: 1em;
  }
  .cart_flow .flow{
    padding-top: 1em;
    padding-left: 1.7em;
    font-size: 1em;
    height: 90px;
  }

  .payType-wrap .paypay-btn{
    gap: 1%;
    
  }
  .paypay-btn li{
    flex-grow: 1;
    font-size: 14px;
  }
}

.pay-btn-group{
    margin-top: 1em;
    display: flex;
    flex-wrap: wrap;
    white-space:nowrap
}
.pay-btn-group input {
    display: none;
}
.pay-btn-group label {
    flex: 1 1 auto;    
    display: inline-block;
    justify-content: center;
    align-items: center;
    text-align: center;
    white-space:nowrap;
    padding: 13px 20px;
    border: 2px solid #ccc;
    border-radius: 0.3em;
    background-color: #fff;
    cursor: pointer;
    margin: 5px;
    transition: border-color 0.3s ease, background-color 0.3s ease;
}
.pay-btn-group input:checked + label {
    border-color: var(--line-blue);
    background-color: var(--bg-light-blue);
    color: var(--text-color-blue);
}



.order_list .prd-img{
    width: 100px;
    height: 100px;
    overflow: hidden;
    margin: 0 auto;
    border: 1px solid #ccc;
    border-radius: 0.3em;
}
.order_list .prd-img img{
    width: 100%;
}
.order_list td p{
    text-align: left;
    margin: 0.5em;
}

.order_list .prd-name{
    font-size: 21px;
    font-weight: 500;
}

.order_list .prd-option{
    margin-top: 1.5em;
}

.order_list_footer thead th{
    border-top:none;
}

.order_list_footer td{
    font-weight: 500;
}

.m-prdAllSelect,
.order_list_mobile,
.order_list_total{
    display: none;
}

.order_list_mobile{
  border-top: 2px solid #454545;
  border-bottom: 1px solid #ddd;
  padding: 0;
  
  
}
.order_list_mobile dt{
    display: flex;
    align-items: center;
    gap: 10px;
    /* border-top: 1px solid #ddd; */
}
.order_list_mobile dt.badge{
    height: 15px;
}
.order_list_mobile dt .prd-img{
    width: 80px;
    height: 80px;
    overflow: hidden;
    margin: 0;
    border: 1px solid #ccc;
    border-radius: 0.3em;
}
.order_list_mobile dt .prd-img img{
    width: 100%;
}
.order_list_mobile dt .prd-info{
    text-align: left;
}
.order_list_mobile dt .prd-info p{
    text-align: left;
    margin: 0.5em;
    font-size: 16px;
    font-weight: 5400;
}
.order_list_mobile dt .prd-info .prd-name{
  font-size: 18px;
  font-weight: 600;
}
.order_list_mobile dd{
    margin:0;
}
.order_list_mobile dd ul{
    margin-top: 1em;
    display: flex;
    flex-wrap: wrap;
}
.order_list_mobile dd ul li{
    flex: 1 1 40% !important;
    padding: 0.7em;
    font-size: 14px;
    color: #111;
}
.order_list_mobile dd ul li:nth-child(odd){
    text-align: left;
}
.order_list_mobile dd ul li:nth-child(even){
    text-align: right;
}

.order_list_total{
    margin-top: 2em;
    /* display: flex; */
    flex-wrap: wrap;
}
.order_list_total li{
    flex: 1 1 40% !important;
    padding: 0.7em;
    font-size: 14px;
    color: #111;
}
.order_list_total li:nth-child(odd){
    text-align: left;
}
.order_list_total li:nth-child(even){
    text-align: right;
    color: #111;
}


.form-gp{
    display: flex;
    gap: 20px;
    padding: 0.5em 0;
}

.form-gp .g-1 label:first-child, 
.form-gp .g-2 label:first-child, 
.form-gp .g-3 label:first-child{
  font-size: 16px;
  display: flex;
  align-items: center;
  width: 130px;
  flex-shrink: 0;
  text-align: left;
}

.form-gp input{
    width: 100%;
    border: 1px solid #ccc;
    padding: 0.68em 1em;
    border-radius: 0.3em;
}
.form-gp .g-1{
    flex: auto;
}
.form-gp .g-2{
    flex: 1 1 40%;
}
.form-gp .g-3{
    flex: 1 1 33.3333%;
}

.form-gp .w-50{
    width: 51% !important;
}

.form-gp .btn{
    padding: 0.68em 1em;
    font-size: 14px;
    white-space: nowrap;
}

.group-btn{
    width: 100%;
}
.order-form .sub_title{
    align-items: flex-end;
}

.order-btn-box{
    min-height: 1em;
}

@media (max-width: 1200px){
  .tabnav li a{
        font-size: 14px;
        padding:0 10px;
    }



    .order-form .d-flex{
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .order-form .form-gp{
        flex-direction: column;
    }

    .group-btn .form-gp, .group-btn .d-flex, .group-btn.d-flex{
        flex-direction: row;
    }

    .group-btn .form-gp input, .group-btn .d-flex input, .group-btn.d-flex input{
        width: 100% !important;
    }

    .form-gp .w-50, .form-gp .w-40, .form-gp .w-46, .form-gp .w-30{
        width: 100% !important;
    }

    .sub_title.d-flex{ flex-direction: row; }


    .order-btn-box.btn-lg-box{
        width: 100% !important;
        display: flex !important;
        margin-top: 3em;
    }
    .order-btn-box.btn-lg-box button{
        flex: 1 1 0;
        width: 100% !important;        
    }

    .order-btn-box.btn-lg-box button:first-child{
        margin-left: -1em;
        border-radius: 0;
    }
    .order-btn-box.btn-lg-box button:last-child{
        margin-right: -1em;
        margin-left:0;
        border-radius: 0;
    }

    .order_list, .order_list_footer{
        display: none;
    }

    .m-prdAllSelect,
    .order_list_mobile{
        display: block;
    }
    .order_list_total{
        display: flex;
    }

    .bbs-search-form.mo{
        display: block;
    }
    .bbs-search-form.pc{
        display: none;
    }

    .category-box, .prd-list-align{
        display: none;
    }
    select.prd-align-mo{
        display: inline-block;
    }

    .prd-list dl dd{
        flex: 1 1 40% !important;
    }
}




.my-order-payInfo div:first-child .th-cell{
  text-align: left;
  padding-left: 1em;
}
.my-order-payInfo div:last-child .th-cell{
  text-align: right;
  padding-right: 1em;
}

@media (max-width:1200px){
  .my-order-payInfo div .th-cell{
    text-align: left !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* 주문자정보 */
.order-info-wrap .head-cell{
  padding: 1em;
}

.order-info-wrap .th-cell{
  background: #eee;
  color: #111;
  border-top: 2px solid #454545;
  text-align: center;
  padding: 1.2em !important;
}
.delivery-header .addrss-select{
    display: flex;
    align-items: flex-end !important;
  }
.delivery-radioBox{
  display: flex;
  align-items: center;
}

.form-gp input[type=checkbox],
.form-gp input[type=radio]{
  padding:0;
  width: 1em;
}

@media (max-width:1200px){
  .sub-title{
    font-size: 1.25em !important;
    margin-bottom: 0.5em;
  }

  .delivery-radioBox{
    flex-wrap: wrap;
    gap: 5%;    
  }
  .delivery-radioBox .form-check label{
    width: 160px !important;
  }

  .order-info-wrap .d-flex,
  .delivery-info-wrap .d-flex,
  .order-pay-info-wrap .d-flex,
  .order-bill-info-wrap .d-flex{
    flex-direction: column;
  }
  .order-info-wrap .form-gp,
  .delivery-info-wrap .form-gp,
  .order-pay-info-wrap .form-gp,
  .order-bill-info-wrap .form-gp{
    flex-direction: column;
  }

  .member-acc-wrap .d-flex,
  .delivery-info-wrap .d-flex,
  .order-pay-info-wrap .d-flex,
  .order-bill-info-wrap .d-flex{
    flex-direction: column;
  }
  .member-acc-wrap .form-gp,
  .delivery-info-wrap .form-gp,
  .order-pay-info-wrap .form-gp,
  .order-bill-info-wrap .form-gp{
    flex-direction: column;
  }

  .delivery-header{    
    align-items: start;
  }
  .delivery-header .d-flex,
  .delivery-header .sub-title{
    flex-direction: row;
    text-align: start;
    align-items: start;
  }
  .delivery-header .form-check{
    font-size: 0.95em;
  }
  

  .form-gp .g-1 label, .form-gp .g-2 label, .form-gp .g-3 label{
    width: auto;
  }

  .delivery-info-wrap .address-btn{
    margin-top: 0.5em;
    margin-left: 0 !important;
  }

  .m-none{
    display: none;
  }

  .btn-box .bbs-btn{
    width: 100%;
    text-align: center;
  }
}

.btn-box{
  text-align: center;
}


.eventinfoList {
  padding-top: 20px;
}
.eventinfoList ul {
  display: flex;
  flex-wrap: wrap;
}
.eventinfoList ul li {
  width: calc(100% / 2);
  padding: 0 7px;
  padding-top: 20px;
}
.eventinfoList ul li a {
  display: block;
  text-align: center;
  line-height: 27px;
  letter-spacing: -0.23px;
  font-size: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/*내 주문*/
.my-dashboard .my-order-info{
  background: #eee;
  border-radius: 1em;
}
.my-dashboard ul{
  display: flex;  
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: stretch;
}

.my-dashboard ul li{
  flex: 1 1 0;
  position: relative;
  box-sizing: border-box;
  padding: 1rem 1rem 1rem 3.25rem;
  text-align: center;
}

.my-dashboard ul li::before{
  content: "\F285";
  font-family: "bootstrap-icons";
  font-size: 2em;
  color: #aaa;
  position: absolute;
  left: .75rem;
  top: 50%;
  transform: translateY(-50%);
  line-height: 1;
}
.my-dashboard ul li:first-child::before{
  content: none;
}

.my-dashboard ul li p{
  margin: 0 0 0.5em 0;
  line-height: 1.2;
  font-weight: 500;
}
.my-dashboard ul li .num{
  margin-bottom: 0.3em;
  font-size: 3em;
  font-weight: 400;
  color: #999;
}
.my-dashboard ul li .num.active{
  color: #1267de;
}

@media (max-width:1200px){
  .my-order-info{
    background: none !important;
    padding: 0.5em 0.1em !important;
  }
  .my-order-info ul{    
    gap: 5px;
  }
  .my-order-info ul li{    
    background: #eee;
    font-size: 13px;
    letter-spacing: -0.045em;
    flex: 1 1 20%;
    padding: 1em 0.2em;
    border-radius: 0.5em;
    
  }
  .my-dashboard ul li::before{
    content: none;
  }
  .my-order-info ul li .num{
    font-size: 1.5em;
    margin-bottom:0.3em;
  }

  .bbs-top div:first-child{
    text-align: left;
    width: 100%;
  }

  .bbs-top form{
    width:100%;
  }
}


.memberTerms-view{
  border: 1px solid #ddd;
  width: 100%;
  height: 250px;
  max-height: 250px;
  overflow-y: auto;
  padding: 1em;
}
.memberTerms-view pre{
  font-size: 1em;
}

.bbs input[type=text],
.bbs input[type=number],
.bbs input[type=password],
.bbs-mobile input[type=text],
.bbs-mobile input[type=number],
.bbs-mobile input[type=password],
.bbs-cert-wrap input[type=text],
.bbs-cert-wrap input[type=password]{
    border: 1px solid #ccc;
    padding: 0.68em 1em;
    border-radius: 0.3em;
}

input[type=text],
input[type=number],
input[type=password]{
  border: 1px solid #ccc;
  padding: 0.68em 1em;
  border-radius: 0.3em;
}

select.form-select{
  padding: 0.68em 1em !important;
}

@media (max-width:1000px){
  .login-wrap .login-box{
    width: 100%;
    border: none !important;
  } 
}
