/* Autoskola school categories v1.0.2; category pages and shared header menu behavior. */
.category-page { padding-bottom: 70px; }
.category-page .page_h1 { text-align: center; }
.category-intro { max-width: 900px; margin: 0 auto 24px; text-align: center; }
.category-school-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 40px 28px; margin-top: 36px; }
.category-school-card { display: block; min-width: 0; color: #222; text-decoration: none; }
.category-school-logo { display: flex; align-items: center; justify-content: center; height: 120px; padding: 14px; box-sizing: border-box; background: #fff; border: 1px solid #e4e4e4; border-radius: 5px; }
.category-school-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.category-school-placeholder { color: #777; font-size: 14px; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }
.category-school-name { display: block; margin-top: 12px; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.category-school-card:hover, .category-school-card:focus { color: #51852a; }
.category-school-card:hover .category-school-logo, .category-school-card:focus .category-school-logo { border-color: #85c453; }
.category-school-card:focus-visible, .category-directory-link:focus-visible { outline: 3px solid #51852a; outline-offset: 5px; }
.category-empty { margin: 40px 0; text-align: center; line-height: 1.6; }
.category-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 30px; }
.category-directory-link { display: block; padding: 18px; border: 1px solid #ddd; border-radius: 5px; color: #222; line-height: 1.5; text-decoration: none; }
.category-directory-link:hover { border-color: #85c453; color: #51852a; }
/* Use the site's existing full-width dropdown, typography and green link bars. */
.category-menu .header_menu_sub_menu_link { white-space: normal; max-width: 100%; overflow-wrap: break-word; }
.category-menu .header_menu_sub_menu_link.active { color: #85c453; }
.header_menu_link:focus-visible, .header_menu_sub_menu_link:focus-visible { outline: 2px solid #85c453; outline-offset: -2px; }
@media screen and (min-width: 1024px) {
    .header_menu_link_div.is_sub_menu:focus-within > .header_menu_link_sub_menu { display: block; }
    .header_menu_link_div.is_sub_menu:focus-within > .header_menu_link { color: #85c453; background: #fff; }
    .header_menu_link_div.is_sub_menu:focus-within > .header_menu_link svg { transform: rotate(180deg); }
    .category-menu .header_menu_link_sub_menu { max-height: calc(100vh - 100px); overflow-y: auto; }
}
@media screen and (max-width: 1023px) {
    .category-school-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 20px; }
    .category-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    /* Gate on successful JS initialization, so links remain available without JS. */
    .header_menu_div.menu-accordion-ready .header_menu_link_div.is_sub_menu > .header_menu_link_sub_menu { display: none; }
    .header_menu_div.menu-accordion-ready .header_menu_link_div.is_sub_menu.submenu-open > .header_menu_link_sub_menu { display: block; }
    .header_menu_div.menu-accordion-ready .header_menu_link_div.is_sub_menu > .header_menu_link svg { transform: none; }
    .header_menu_div.menu-accordion-ready .header_menu_link_div.is_sub_menu.submenu-open > .header_menu_link svg { transform: rotate(180deg); }
    .header_menu_div.menu-accordion-ready .header_menu_link_sub_menu_block { padding-top: 12px; padding-bottom: 20px; }
    .header_menu_div.menu-accordion-ready .header_menu_table_cell_fixed { vertical-align: top; }
}
@media screen and (max-width: 600px) {
    .category-school-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 16px; }
    .category-school-logo { height: 95px; padding: 10px; }
    .category-school-name { font-size: 14px; }
    .category-directory { grid-template-columns: minmax(0, 1fr); }
}
