
body {
    font-family: "NanumGothic, Open Sans", sans-serif;
    /*background: #f6f9ff;*/
    color: #04000b;
}
a {
    color: #04000b;
    text-decoration: none;
  }
  
  a:hover {
    color: #717ff5;
    text-decoration: none;
  }
  
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: "NanumGothic, Nunito", sans-serif;
  }
  
  @media (max-width: 768px) {
    h5.fw-bolder {
      font-size: 16px !important;
    }
  }
  
  /* Card */
.card {
    margin-bottom: 30px;
    border: none;
    border-radius: 5px;
    box-shadow: 0px 0 30px rgba(1, 41, 112, 0.1);
  }
  
  .card-header,
  .card-footer {
    border-color: #ebeef4;
    background-color: #fff;
    color: #798eb3;
    padding: 15px;
  }
  
  .card-title {
    padding: 20px 0 15px 0;
    font-size: 18px;
    font-weight: 500;
    color: #012970;
    font-family: "NanumGothic, Poppins", sans-serif;
  }
  
  .card-title span {
    color: #899bbd;
    font-size: 14px;
    font-weight: 400;
  }


  .card-body {
    padding: 0 20px 20px 20px;
  }
  
  .card-img-overlay {
    background-color: rgba(255, 255, 255, 0.6);
  }

/* Preloader */
.preloader {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999999;
    width: 100%;
    height: 100%;
    background-color: #fff;
    overflow: hidden;
  }
  .preloader-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
  }
  .preloader-icon {
    width: 100px;
    height: 100px;
    display: inline-block;
    padding: 0px;
  }
  .preloader-icon span {
    position: absolute;
    display: inline-block;
    width: 100px;
    height: 100px;
    border-radius: 100%;
    background:#899BBD;
    -webkit-animation: preloader-fx 1.6s linear infinite;
    animation: preloader-fx 1.6s linear infinite;
  }
  .preloader-icon span:last-child {
    animation-delay: -0.8s;
    -webkit-animation-delay: -0.8s;
  }
  @keyframes preloader-fx {
    0% {transform: scale(0, 0); opacity:0.5;}
    100% {transform: scale(1, 1); opacity:0;}
  }
  @-webkit-keyframes preloader-fx {
    0% {-webkit-transform: scale(0, 0); opacity:0.5;}
    100% {-webkit-transform: scale(1, 1); opacity:0;}
  }
  /* End Preloader */
/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 15px;
    bottom: 15px;
    z-index: 99999;
    background: #899BBD;
    width: 40px;
    height: 40px;
    border-radius: 4px;
    transition: all 0.4s;
  }
  
  .back-to-top i {
    font-size: 24px;
    color: #fff;
    line-height: 0;
  }
  
  .back-to-top:hover {
    background: #6776f4;
    color: #fff;
  }
  
  .back-to-top.active {
    visibility: visible;
    opacity: 1;
  }

  /* 기본 드롭다운 스타일 제거 */
.dropdown-menu {
  border: none;
  box-shadow: none;
  padding: 0;
}

/*--------------------------------------------------------------
# Error 404
--------------------------------------------------------------*/
.error-404 {
  padding: 30px;
}

.error-404 h1 {
  font-size: 180px;
  font-weight: 700;
  color: #4154f1;
  margin-bottom: 15px;
  line-height: 150px;
}

.error-404 h2 {
  font-size: 24px;
  font-weight: 700;
  color: #012970;
  margin-bottom: 30px;
}

.error-404 .btn {
  background: #51678f;
  color: #fff;
  padding: 8px 30px;
}

.error-404 .btn:hover {
  background: #3e4f6f;
}

@media (min-width: 992px) {
  .error-404 img {
    max-width: 50%;
  }
}
/*======================================
   공통 마우스 관련
========================================*/
.cursor-pointer {
  cursor: pointer !important;
}
/*==============
버튼
======*/
.btn-custom {
  background-color: #1f2b38;
  border-color: #1f2b38;
  color: #fff;
}
/*
폼  스타일
*/

.required-mark::after {
  content: "*";
  color: red;
  margin-left: 4px;
}
.feedback-text {
  font-size: 0.875rem;
  margin-top: 0.25rem;
}
.feedback-success {
  color: #198754;
}
.feedback-error {
  color: #dc3545;
}
.feedback-warning {
  color: #ffc107;
}

.feedback-secondary {
  color: rgba(33, 37, 41, 0.75);
}
/*
네비게이션
*/
:root {
  --bs-breadcrumb-divider: ">";
  --bs-breadcrumb-item-active-color: #aaa;
}
/*======================================
   menu
========================================*/
/* 기본 드롭다운 스타일 제거 */
.dropdown-menu {
  min-width: 290px;
  border: none;
  box-shadow: none;
  padding: 0;
}

/* 2뎁스 메뉴 스타일 */
.submenu-list {
  list-style: none;
  padding-left: 15px; /* 들여쓰기 */
  display: none; /* 기본적으로 숨김 */
}

/* Categories 클릭 시 표시 */
.dropdown-submenu.active .submenu-list {
  display: block;
}

/* 메뉴 아이템 스타일 조정 */
.dropdown-item {
  padding: 8px 15px;
  position: relative; /* 상대 위치 지정 */
  display: flex;
  justify-content: space-between; /* 텍스트와 아이콘 정렬 */
  align-items: center;
}

/* 삼각형(▼)을 오른쪽 끝으로 이동 */
.submenu-arrow {
  position: absolute;
  right: 15px; /* 오른쪽 끝으로 배치 */
  font-size: 12px;
  opacity: 0.7;
}

/*======================================
   main
========================================*/

  /* main color 추가*/
  .text-custom{
    color:#899BBD;
  }
  .bg-custom{
    background-color: #F59538;
  } 

/*======================================
   footer
========================================*/  
footer {
    padding-top: 1.5rem !important; /* 작은 화면에서는 padding을 줄임 */
    padding-bottom: 3rem !important;
}

/*======================================
   Login 
========================================*/
.login_page{
  padding-top: 56px; 
  min-height: calc(100vh - (56px + 120px));
}

/*list image*/
.card-img-top{ 
  width: 100%;  /* 부모 크기만큼 확장 */
  max-width: 100%;
  aspect-ratio: 3 / 2;  
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden; /* 넘치는 부분을 잘라냄 */
  background-color: #DEE1E6; /* 빈 공간 배경색 (선택) */
}
.card-img-top img {
max-width: 100%;   /* 너비가 100%를 넘지 않도록 */
max-height: 100%;  /* 높이가 100%를 넘지 않도록 */
object-fit: contain;  /* 긴 변을 기준으로 축소하여 잘 맞춤 */
}



/*======================================
   MyPage 
========================================*/
.mypage_container {
  min-height: calc(100vh - (0px + 612px));
}
.mypage_container {
  .mypage-section {
    padding: 20px;
    background: #fff;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border: 1px solid #ddd;
    border-top: none;
    margin-bottom:20px;
  }
  .mypage-section h3 {
    color: #1f2b38;
    text-align: center;
    margin-bottom: 20px;
    font-weight: 600;
  }
  .form-label {
    font-weight: bold;
    color: #333;
  }
  .input-group .btn-secondary {
    background-color: #1f2b38;
    border-color: #1f2b38;
  }


  .order-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  .order-item {
    padding: 15px;
    background: white;
    border-radius: 8px;
    border: 1px solid #ddd;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  }
  .order-item h5 {
    color: #1f2b38;
    font-weight: bold;
  }
  .order-summary p {
    margin: 5px 0;
    color: #555;
  }
  .btn-outline-primary {
    display: block;
    text-align: center;
    margin-top: 10px;
    color: #1f2b38;
    border-color: #1f2b38;
  }
  .btn-outline-primary:hover {
    background-color: #1f2b38;
    color: white;
  }

  
  .btn-outline-primary2 {
    display: block;
    text-align: center;
    margin-top: 10px;
    color: #0d6efd;
    border-color: #0d6efd;
  }
  .btn-outline-primary2:hover {
    background-color: #0d6efd;
    color: white;
  }

  .order-status .col h5 {
    color: #1f2b38;
    font-weight: bold;
  }
  .delivery-info, .ordered-products, .payment-info {
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    margin-bottom: 20px;
  }
  .delivery-info h5, .ordered-products h5, .payment-info h5 {
    color: #1f2b38;
    margin-bottom: 10px;
  }
  .product-item {
    border-bottom: 1px solid #ddd;
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
  .product-item img {
    max-width: 100%;
  }
  .payment-info .row {
    margin-bottom: 10px;
  }
  .payment-info .row hr {
    margin: 10px 0;
  }
  .btn-outline-secondary {
    color: #1f2b38;
    border-color: #1f2b38;
  }
  .btn-outline-secondary:hover {
    background-color: #1f2b38;
    color: white;
  }
  /* 각 섹션의 스타일 */
  .section {
    padding-left:10px;
    margin-bottom: 20px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 20px;
  }

  /* 섹션 제목 스타일 */
  .section h5 {
    font-size: 1.2rem;
    font-weight: 600;
    color: #1f2b38;;
    margin-bottom: 15px;
  }

  /* 각 항목의 행(row) 스타일 */
  .row {
    margin-bottom: 10px;
  }

  /* 각 항목의 제목(col-md-2) 스타일 */
  .col-md-2 {
    font-weight: bold;
    color: #555;
  }

  /* 각 항목의 내용(col-md-10) 스타일 */
  .col-md-10 {
    color: #333;
  }

  /* 상품 이미지 스타일 */
  .product-img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 8px;
  }

  /* 결제 정보의 배경 스타일 */
  .payment-summary {
    background-color: #f9f9f9;
    padding: 15px;
    border-radius: 8px;
  }

  .payment-summary hr {
    border-top: 1px solid #ddd;
  }

  /* 결제 항목 스타일 */
  .payment-summary .row {
    margin-bottom: 10px;
  }

  /* 결제 금액 강조 스타일 */
  .payment-summary .col-md-8 {
    font-weight: bold;
  }

  /* 가격 컬러 */
  .payment-summary .text-end {
    color: #1f2b38;
  }

  /* 결제 방법 강조 */
  .payment-summary .col-md-4.text-end {
    font-weight: 600;
  }
  /*list image*/
  .order-img-top{ 
    aspect-ratio: 3 / 2;  
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden; /* 넘치는 부분을 잘라냄 */
    background-color: #fff; /* 빈 공간 배경색 (선택) */
  }
  .order-img-top img {
    max-width: 100%;   /* 너비가 100%를 넘지 않도록 */
    max-height: 100%;  /* 높이가 100%를 넘지 않도록 */
    object-fit: contain;  /* 긴 변을 기준으로 축소하여 잘 맞춤 */
  }
  /* 장바구니 아이템 스타일링 */
  /* 좌우 구분을 위한 스타일 */
  .cart-items-wrapper {
    background-color: #fff;
    border-radius: 8px;
    padding: 15px;
    height: 100%;
    border: 1px solid #eee;
  }

  /* 장바구니 아이템 스타일링 */
  .cart-item {
    border-bottom: 1px solid #eee;
    padding: 15px 0;
    margin-bottom: 10px;
  }

  .cart-item:last-child {
    border-bottom: none;
  }

  /* 수량 조절 버튼 그룹 스타일링 */
  .quantity-control-group {
    display: inline-flex;
    align-items: center;
    border: 1px solid #ced4da;
    border-radius: 4px;
    overflow: hidden;
  }

  .quantity-control-group .btn {
    border: none;
    border-radius: 0;
    background-color: #f8f9fa;
    padding: 0.25rem 0.75rem;
    font-weight: bold;
  }

  .quantity-control-group .quantity-input {
    border: none;
    text-align: center;
    width: 50px;
    margin: 0;
    padding: 0.25rem 0;
    border-left: 1px solid #ced4da;
    border-right: 1px solid #ced4da;
  }

  .quantity-control-group .quantity-input:focus {
    box-shadow: none;
  }

  /* 주문 예상금액 카드 스타일링 */
  .cart-summary {
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 20px;
    position: sticky;
    top: 20px;
  }

  .cart-summary h4 {
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #dee2e6;
    color: #1f2b38;
  }

  /* 모바일 대응을 위한 미디어 쿼리 */
  @media (max-width: 767.98px) {
    .cart-summary {
        padding-top:0px;
        position: relative;
    }
    
    .order-img-top {
        margin-bottom: 15px;
    }
  }

  /* 체크박스 스타일링 */
  .cart-checkbox {
    width: 18px;
    height: 18px;
    cursor: pointer;
  }

  /* 총 금액 강조 */
  #total-amount {
    font-weight: bold;
    color: #dc3545;
    font-size: 1.2rem;
  }

  .item-total-price {
    font-weight: bold;
    color: #212529;
  }


  @media (max-width: 767px) {
    .mypage-section{
      padding: 20px;
      background: #fff;
      border-radius: 10px;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
      border: 1px solid #ddd;
      margin-bottom:20px;
    }
    .order-status{
      padding:0
    }
    .order-status .row {
        margin-bottom: 0px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around; /* 아이템 사이 여백을 고르게 조정 */
    }

    .order-status .col {
        border-right: none;
        padding: 0;
        width: 48%; /* 두 개 항목이 한 줄에 오게 */
        text-align: center;
    }

    .order-status .col:last-child {
        border-bottom: none;
    }

    .order-status i {
        font-size: 16px;  /* 아이콘 크기 줄이기 */
    }

    .order-status h5 {
        font-size: 0.675rem;  /* 텍스트 크기 줄이기 */
    }

    .order-status small {
        font-size: 0.65rem;  /* 작은 텍스트 크기 줄이기 */
    }
    /* 섹션 제목 스타일 */
      .section h5 {
        font-size: 1.1rem;
        font-weight: 600;
        color: #1f2b38;;
        margin-bottom: 15px;
      }
  }
  /* 아코디언 커스텀 스타일 */
  .accordion-button:not(.collapsed) {
    color: #1f2b38;
    background-color: #fff;
    box-shadow: none;
  }

  .accordion-button:focus {
    box-shadow: none;
    border-color: rgba(0,0,0,.125);
  }

  .accordion-button::after {
    margin-left: 10px;
  }

  .accordion-button {
    padding: 1rem;
  }

  .accordion-body {
    background-color: #fff;
    padding: 1rem;
  }

  .accordion-item {
    border: 1px solid rgba(0,0,0,.125);
    margin-bottom: 5px;
  }
  
}

/*
상품리스트
*/
.product-name {
  font-size: 16px;
  /*white-space: nowrap;       /* 줄바꿈 방지 */
  overflow: hidden;          /* 넘치는 텍스트 숨김 */
  text-overflow: ellipsis;   /* 말줄임표(...) 적용 */
  max-width: 100%;           /* 부모 요소 크기를 벗어나지 않도록 설정 */
  /*display: block;            /* 블록 요소로 설정 (필수) */

  display: -webkit-box;
  -webkit-line-clamp: 2;      /* 최대 2줄 */
  white-space: normal;       /* 줄바꿈 방지 */
  -webkit-box-orient: vertical;
  line-height: 1.4em;
  max-height: 2.8em;           /* line-height × 2 */
  min-height: 2.8em; 
}
/*상품상세*/
  /* 수량 조절 버튼 그룹 스타일링 */
  .quantity-control-group {
    display: inline-flex;
    align-items: center;
    border: 1px solid #ced4da;
    border-radius: 4px;
    overflow: hidden;
  }

  .quantity-control-group .btn {
    border: none;
    border-radius: 0;
    background-color: #f8f9fa;
    padding: 0.25rem 0.75rem;
    font-weight: bold;
  }

  .quantity-control-group .quantity-input {
    border: none;
    text-align: center;
    width: 50px;
    margin: 0;
    padding: 0.25rem 0;
    border-left: 1px solid #ced4da;
    border-right: 1px solid #ced4da;
  }

  .quantity-control-group .quantity-input:focus {
    box-shadow: none;
  }

  /*
  - 네비 글씨색상 수정
  */
  .nav-link {
    color:#04000b;
  }

  
  /*찜하기 버튼*/
  .heart-btn {
    position: absolute;
    bottom: 5%;
    right: 10px;
    width: 26px;
    height: 26px;
    border-radius: 100%;
    background: #fff;
    border: 1px solid #dc3545;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    padding: 14px 13px 12px 14px;
    font-size: 15px;
  }
   /*찜하기 버튼*/
   .heart-btn2 {
    position: absolute;
    bottom: 25px;
    right: 13px;
    width: 26px;
    height: 26px;
    border-radius: 100%;
    background: #fff;
    border: 1px solid #dc3545;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    padding: 13px;
    font-size: 15px;
  }
  /*왼쪽 메뉴 접힘/펼침 CSS*/

  .left-menu-col {
    width: 220px;
    min-width: 220px;
    max-width: 220px;
    position: relative;
  }
  .left-menu-collapsed {
    width: 200px;
    height: 415px;
    overflow: hidden;
    position: relative;
    z-index: 1;
    transition: height 0.3s;
  }
  .left-menu-expanded {
    position: absolute;
    top: 0;
    left: 12px;
    height: auto;
    overflow: visible;
    z-index: 1000;
    transition: height 0.3s;
  }

  /*메인 타이틀*/
.maintitle{
  color:#F59538; 
  font-weight: 600;
  font-size: 24px;
  margin-top: 12px;
}
.maintitle-bottom{
  border-bottom: 3px solid #F59538;
}
.list-maintitle{
  color:#F59538; 
  font-weight: 600;
  font-size: 24px;
}

/*상품*/
.p-container {
  background-color: #fff;
  
  border-top: 3px solid #F59538;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #000;
}
.p-box {
  position: relative;
}
.p-badge {
  position: absolute;
  width: 60px;
  height: 60px;
  top: 15px;
  left: 20px;
  background: #333949;
  color: #FFE67D;
  font-weight: bold;
  border-radius: 50%;
  z-index: 10;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  
  display: flex;
  align-items: center;   /* 세로 중앙 */
  justify-content: center; /* 가로 중앙 */
  text-align: center;
}
/*가격표시*/
.p-price{
  color: #008bcc; font-weight: bold; font-size: 18px; text-align: right;
}

.description_1{
  display: block;             /* 인라인 요소 span을 블록으로 */
  white-space: nowrap;        /* 줄바꿈 없이 한 줄로 */
  overflow: hidden;           /* 넘치는 텍스트 감춤 */
  text-overflow: ellipsis;    /* 말줄임표 (...) 표시 */
  font-size: 14px;
}
/*페이징*/
.pagination .page-link {
  color: #F59538;
  border-color: #F59538;
}
.pagination .page-link:hover {
  background-color: #eee;
  color: #F59538;
}
.pagination .page-item.active .page-link {
  background-color: #F59538;
  border-color: #F59538;
  color: #fff;
}
.page-link i {
  line-height: 22px;
}

@media (min-width: 992px) {
  .border-lg-end {
    border-right: 1px solid #dee2e6 !important; /* 부트스트랩 기본 테두리 색상 */
  }
}