/* ==========================================================================
   Feramat – sekce „Naši zákazníci“ (logo wall)

   Původní stav: sytě zelený pás (#d7f0c0), loga jako inline-block s pevnou
   výškou 80 px. Protože poměry stran log jdou od 1,33 do 4,35, vycházela
   z toho opticky velmi rozdílná velikost a rozházené řádky.

   Nově: klidné bílé pozadí, pravidelná mřížka a každé logo vycentrované
   v dlaždici jednotné výšky (object-fit: contain), takže si opticky
   odpovídají bez ohledu na proporce zdroje.
   ========================================================================== */

#partners {
    --pt-blue-90: #0b1432;
    --pt-blue-60: #1b3280;

    padding: 76px 0 84px !important;
    background: #fff !important;
    border-top: 1px solid rgba(27, 50, 128, .08);
    border-bottom: 1px solid rgba(27, 50, 128, .08);
    font-family: "Barlow", Calibri, Helvetica, sans-serif;
}

@media (max-width: 900px) {
    #partners { padding: 52px 0 56px !important; }
}

/* ---------------------------------------------------------------- hlavička */

#partners .pt-head {
    margin: 0 0 36px;
    text-align: center;
}

#partners h2 {
    margin: 0 !important;
    font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em;
    /* pex.css justifikuje globálně všechny nadpisy */
    text-align: center !important;
    color: var(--pt-blue-90) !important;
}

/* ------------------------------------------------------------------ mřížka */

#partners .pt-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (max-width: 1100px) { #partners .pt-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 860px)  { #partners .pt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px)  { #partners .pt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

/* ---------------------------------------------------------------- dlaždice */

#partners .pt-item { display: flex; }

#partners .pt-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 96px;
    padding: 18px 22px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: #f6f7fb;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease,
                box-shadow .2s ease, transform .2s ease;
}

#partners .pt-logo:hover,
#partners .pt-logo:focus-visible {
    background: #fff;
    border-color: rgba(27, 50, 128, .14);
    box-shadow: 0 6px 18px rgba(6, 10, 26, .09);
    transform: translateY(-3px);
    text-decoration: none;
}

#partners .pt-logo:focus-visible {
    outline: 3px solid #72bd44;
    outline-offset: 2px;
}

/* Jednotná optická velikost bez ohledu na poměr stran zdroje */
#partners .pt-logo img {
    display: block;
    max-width: 100%;
    max-height: 48px;
    width: auto;
    height: auto;
    object-fit: contain;
    /* Jemný obrys: zviditelní loga dodaná v bílé variantě (např. Bezdínek),
       u tmavých log je prakticky neznatelný. Není to náhrada za správný
       podklad – bílé logo patří nahradit barevnou/tmavou verzí. */
    filter: drop-shadow(0 0 .5px rgba(11, 20, 50, .55))
            drop-shadow(0 0 1.5px rgba(11, 20, 50, .25));
}

@media (max-width: 560px) {
    #partners .pt-logo { min-height: 78px; padding: 14px 16px; }
    #partners .pt-logo img { max-height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
    #partners .pt-logo { transition: none; }
    #partners .pt-logo:hover,
    #partners .pt-logo:focus-visible { transform: none; }
}
