/* 基本レイアウト */
body {
    background-color: #f8f9fa;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.container-main {
    flex: 1;
    padding: 2rem 0;
}

/* ナビゲーションバー */
.navbar-custom {
    background-color: #2c3e50;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.navbar-brand-custom {
    font-size: 1.5rem;
    font-weight: 700;
    color: #ecf0f1 !important;
}

/* フッター */
.footer-custom {
    background-color: #2c3e50;
    color: #ecf0f1;
    padding: 1.5rem 0;
    margin-top: auto;
}

.suggestion-item { padding: 8px; }
.suggestion-item.JANコード { background: #e3f2fd; }
.suggestion-item.商品 { background: #f0f4c3; }
.badge { 
    float: right; 
    padding: 2px 6px;
    border-radius: 10px;
    font-size: 0.8em;
}
.suggestions-box {
    position: absolute;
    border: 1px solid #ddd;
    max-height: 200px;
    overflow-y: auto;
    width: 100%;
    background: white;
    z-index: 1000;
}

.suggestion-item {
    padding: 8px 12px;
    cursor: pointer;
}

.suggestion-item:hover, .suggestion-item.selected {
    background-color: #f5f5f5;
}

@media (max-width: 767px) {
    .mobile-hide { display: none !important; }
}

/* カスタムCSS */
.ec-link-btn {
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ec-link-btn img {
    max-width: 120px;
    max-height: 40px;
    transition: transform 0.2s;
}
.ec-link-btn:hover img {
    transform: scale(1.05);
}