/* 상품목록/추천상품/카테고리 전용 스타일 (main/items) */
.shop-card{border-radius:10px;transition:box-shadow .2s,transform .2s;box-shadow:0 1px 4px rgba(0,0,0,0.04);background:#fff;overflow:hidden;}
.shop-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.10);transform:scale(1.04);}
.shop-card-img{height:auto;position:relative;z-index:1;overflow:hidden;}
.shop-card:hover .shop-card-img::after{content:'';position:absolute;top:-60%;left:-60%;width:120%;height:120%;background:linear-gradient(120deg,rgba(255,255,255,0) 60%,rgba(255,255,255,0.5) 80%,rgba(255,255,255,0) 100%);pointer-events:none;animation:shine-diagonal .7s linear 1;z-index:2;}
@keyframes shine-diagonal{0%{transform:translate(-100%,-100%) rotate(10deg);}100%{transform:translate(100%,100%) rotate(10deg);}}
.shop-card-body{text-align:center;padding:12px 8px;}
.shop-card-title{font-weight:700;margin-bottom:4px;font-size:1.05em;}
.shop-card-price{color:#077EB1;font-weight:700;}
.shop-category-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:16px;}
.shop-category-btn{border:1px solid #e0e0e0;border-radius:20px;padding:4px 16px;background:#fafbfc;color:#333;font-size:0.97em;transition:background .15s;}
.shop-category-btn:hover{background:#f0f4f8;color:#077EB1;}
@media (max-width: 768px){.shop-card-img{height:120px;}.shop-card-body{padding:8px 4px;}.shop-card-title{font-size:0.98em;}} 
.shop-card-img{position:relative;overflow:hidden;z-index:1;}
.shop-card-img::before{content:"";position:absolute;top:-75%;left:-75%;width:150%;height:150%;background:linear-gradient(120deg,rgba(255,255,255,0) 40%,rgba(255,255,255,0.5) 50%,rgba(255,255,255,0) 60%);transform:translateX(-100%);transition:transform 0.5s cubic-bezier(0.4,0,0.2,1);pointer-events:none;z-index:2;}
.shop-card-img:hover::before{transform:translateX(100%);} 

/* 상품 상세 페이지 스타일 */
.item-view-container { max-width: 1000px; padding: 20px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
.breadcrumb { font-size: 12px; color: #888; margin-bottom: 20px; }
.breadcrumb span { margin: 0 4px; }
.breadcrumb a { color: #077EB1; text-decoration: none; }
.breadcrumb .current { color: #222; font-weight: bold; }
.item-main { display: flex; gap: 40px; }
.item-images { flex: 0 0 350px; }
.item-images img { width: 100%; max-width: 320px; border-radius: 8px; margin-bottom: 10px; box-shadow: 0 1px 4px rgba(0,0,0,0.06); }
.item-info { flex: 1; }
.item-title { font-size: 18px; font-weight: bold; margin-bottom: 10px; }
.item-desc { color: #666; margin-bottom: 18px; }
.category-desc { color: #666; margin-bottom: 18px; font-size: 11px; background-color: #fafbfc; padding: 10px; border-radius: 6px; }
.item-price-row, .item-qty-row { display: flex; align-items: center; margin-bottom: 10px; }
.item-price-row .label, .item-qty-row .label { width: 90px; color: #888; font-weight: 500; }
.item-price-row .value, .item-qty-row .value { font-weight: bold; color: #222; }
.discount-rate { color: #e74c3c; font-size: 0.9em; font-weight: normal; }
.qty-input { width: 50px; text-align: center; border: 1px solid #ddd; border-radius: 4px; margin: 0 8px; }
.qty-btn { background: #f5f5f5; border: 1px solid #ddd; border-radius: 4px; width: 28px; height: 28px; font-size: 18px; cursor: pointer; margin-left: 2px; }
.item-action-row { margin-top: 18px; }
.btn { padding: 8px 18px; border: none; border-radius: 4px; font-size: 1rem; cursor: pointer; margin-right: 8px; transition: background 0.2s; }
.btn-primary { background: #077EB1; color: #fff; }
.btn-secondary { background: #eee; color: #222; }
.btn-wish { background: #fffbe6; color: #bfa100; border: 1px solid #ffe066; }
.btn-estimate { background: #f3f3f3; color: #333; border: 1px solid #ddd; }
.btn:active { opacity: 0.8; }

.item-detail, .item-shipping, .item-comments { margin-top: 40px; }
.item-detail h3, .item-shipping h3, .item-comments h3 { font-size: 1.2rem; margin-bottom: 10px; color: #077EB1; }
.item-detail-content, .item-shipping-content { background: #fafbfc; border-radius: 6px; padding: 18px; color: #444; }

/* 모달(견적문의) */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
}

.modal-content {
    background-color: #fefefe;
    margin: 5% auto;
    padding: 30px;
    border-radius: 8px;
    width: 90%;
    max-width: 500px;
    position: relative;
}

.modal-close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    position: absolute;
    right: 20px;
    top: 15px;
    cursor: pointer;
}

.modal-close:hover,
.modal-close:focus {
    color: #000;
    text-decoration: none;
}

.modal-content h4 {
    margin-bottom: 20px;
    color: #333;
}

.modal-content input,
.modal-content textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
}

.modal-content textarea {
    height: 100px;
    resize: vertical;
}

.modal-content button {
    width: 100%;
    padding: 12px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
}

.modal-content button:hover {
    background-color: #0056b3;
}

/* 장바구니/주문서/찜 목록 테이블 */
.cart-container, .order-container, .wish-container { max-width: 900px; margin: 30px auto; background: #fff; border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); padding: 24px; }
.cart-table, .order-table, .wish-table { width: 100%; border-collapse: collapse; margin-top: 18px; }
.cart-table th, .order-table th, .wish-table th { background: #f5f5f5; color: #333; font-weight: 600; padding: 10px; border-bottom: 1px solid #eaeaea; }
.cart-table td, .order-table td, .wish-table td { padding: 10px; border-bottom: 1px solid #f0f0f0; text-align: center; }
.cart-table tfoot td, .order-table tfoot td { background: #fafbfc; font-weight: bold; }

/* 상품평/댓글 */
.item-comments-box { background: #fafbfc; border-radius: 6px; padding: 18px; color: #444; margin-top: 10px; }
.item-comments-box h4 { margin-bottom: 10px; color: #077EB1; font-size: 1.1rem; }
.comment { border-bottom: 1px solid #eee; padding: 8px 0; }
.comment-user { font-weight: bold; color: #077EB1; }
.comment-content { margin: 4px 0; }
.comment-date { font-size: 0.9em; color: #aaa; } 