.subcategory-grid {  
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin: 36px 0;
    padding: 0 2vw;
}

/* Bublina */
.subcategory {   
    display: flex;
    flex-direction: column;
    align-items: stretch;
    background: #f9f9f9;
    border-radius: 16px;
    padding: 32px 18px 24px 18px;
    gap: 20px;
    min-height: 220px;
    box-sizing: border-box;
    width: 100%;
    box-shadow: 0 2px 18px #0001;
    overflow: hidden;
    position: relative;
}

/* Název kategorie s červenou čárou */
.subcategory-title {
    font-size: 1.22em;
    font-weight: 600;
    color: #8B0000;
    text-align: center;
    margin-bottom: 0.1em;
    letter-spacing: 0.01em;
    word-break: break-word;
    width: 100%;
    position: relative;
    padding-bottom: 15px;
}
.subcategory-title::after {
    content: "";
    display: block;
    margin: 0 auto;
    margin-top: 8px;
    width: 44px;
    height: 4px;
    border-radius: 4px;
    background: #8B0000;
}

/* Popisky */
.subcategory-desc {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.08em;
    color: #3a3a3a;
    background: transparent;
    box-sizing: border-box;
    text-align: center;
    width: 100%;
    padding: 0;
}

.subcategory-desc ul {
    margin: 0;
    padding-left: 0;
    list-style: disc inside;
    text-align: left;
    display: inline-block;
}
.subcategory-desc li {
    font-size: 1.04em;
    color: #444;
    margin-bottom: 8px;
    line-height: 1.45;
    word-break: break-word;
}

/* Loga – VÍCE ŘAD při větším počtu obrázků, CENTROVANĚ */
.subcategory-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 28px 8px; /* řádkový a sloupcový mezery */
    padding: 8px 0 0 0;
    width: 100%;
    margin: 0 auto;
    max-width: 490px; /* Pro 3 loga v řadě (3 × 110px + 2 × 24px) */
}

/* Každé logo */
.subcategory-logo {
    flex: 0 1 170px;
    width: 170px;
    height: 85px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px #0002;
    padding: 8px;
    box-sizing: border-box;
    overflow: hidden;
}

.subcategory-logo img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

/* Responzivita */
@media (max-width: 1200px) {
    .subcategory-grid { grid-template-columns: repeat(2, 1fr); }
    .subcategory-logos { max-width: 260px; }
}
@media (max-width: 800px) {
    .subcategory-grid { grid-template-columns: 1fr; }
    .subcategory { padding: 7vw 2vw; }
    .subcategory-logos { max-width: 99vw; }
}
@media (max-width: 500px) {
    .subcategory { gap: 10px; padding: 4vw 1vw; }
    .subcategory-title { font-size: 1em; }
    .subcategory-desc { font-size: 0.93em; }
    .subcategory-logo { 
        width: 142px; 
        height: 57px; 
        flex-basis: 142px; 
    }
}
