/* bemos switzerland 2026*/

:root {
    --primary:    #0e4470;
    --secondary:  #e74c3c;
    --accent:     #3498db;
    --light-bg:   #f8f9fa;
    --card-shadow: 0 2px 15px rgba(0,0,0,.08);
}

body {
    font-family: 'Segoe UI', system-ui, sans-serif;
    background: var(--light-bg);
    color: #333;
}

/* Navbar */
.navbar-brand {
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--primary) !important;
}
.navbar {
    box-shadow: 0 2px 10px rgba(0,0,0,.1);
    background: #fff !important;
}
.nav-link { font-weight: 500; }
.cart-badge {
    font-size: .65rem;
    padding: 3px 6px;
    background: var(--secondary);
}

/* Hero */
.hero {
    background: linear-gradient(135deg, var(--primary) 0%, #34495e 100%);
    color: #fff;
    padding: 80px 0;
    margin-bottom: 50px;
}
.hero h1 { font-size: 2.8rem; font-weight: 700; }

/* Produktkarten */
.product-card {
    border: none;
    border-radius: 12px;
    box-shadow: var(--card-shadow);
    transition: transform .25s, box-shadow .25s;
    overflow: hidden;
    height: 100%;
}
.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0,0,0,.15);
}
.product-card .card-img-top {
    height: 200px;
    object-fit: cover;
    background: #eee;
}
.product-img-placeholder {
    height: 200px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
    color: rgba(255,255,255,.7);
}
.price-tag {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--secondary);
}
.btn-add-cart {
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 8px 20px;
    transition: background .2s;
}
.btn-add-cart:hover { background: var(--accent); color: #fff; }

/* Warenkorb */
.cart-item { border-bottom: 1px solid #eee; padding: 15px 0; }
.cart-total { font-size: 1.4rem; font-weight: 700; }

/* Kategorien-Sidebar */
.category-sidebar .list-group-item {
    border: none;
    border-radius: 8px !important;
    margin-bottom: 4px;
    font-weight: 500;
    transition: background .2s;
}
.category-sidebar .list-group-item:hover,
.category-sidebar .list-group-item.active {
    background: var(--primary);
    color: #fff;
}

/* Footer */
footer {
    background: var(--primary);
    color: rgba(255,255,255,.8);
    padding: 40px 0 20px;
    margin-top: 60px;
}
footer a { color: rgba(255,255,255,.6); text-decoration: none; }
footer a:hover { color: #fff; }

/* Allgemein */
.section-title { font-weight: 700; color: var(--primary); margin-bottom: 30px; }
.badge-stock-low  { background: #ffc107; color: #000; }
.badge-stock-ok   { background: #28a745; }
.alert-flash { border-radius: 10px; }
.page-header {
    background: var(--primary);
    color: #fff;
    padding: 30px 0;
    margin-bottom: 40px;
}
