/*
Theme Name: ABS Gov CZ
Theme URI: https://www.abscr.cz
Template: wp-gov-cz
Author: Archiv bezpečnostních složek
Description: Vlastní úpravy Design systému gov.cz pro web Archivu bezpečnostních složek. Child theme šablony WP Gov CZ.
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 7.4
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: abs-gov-cz
Tags: full-site-editing, block-patterns, accessibility-ready
*/

/* Jednotný poloměr rohů boxů (karty, tlačítka, štítky, obrázky). Kruhové prvky
   (50 %) zůstávají kruhové. Hodnotu měnit jen tady. */
:root {
    --absgov-radius: 2px;
}

/* Přebití poloměrů z parent theme.css (assets/theme.css, tam natvrdo 4-8px):
   dropdown podmenu, rodič položky podmenu, vyhledávací pole v hlavičce,
   zobáčky stránkování a skip odkaz. Stejné selektory jako v parentu — child
   styl se načítá až po něm, takže vyhrává pořadím. */
.skip-to-content,
header nav .wp-block-navigation-item.has-child,
header nav .wp-block-navigation .wp-block-navigation__submenu-container,
header .wp-block-navigation .wp-block-search .wp-block-search__input,
span.is-arrow-chevron {
    border-radius: var(--absgov-radius);
}

/* Hlavní obrázek článku (single.html / single-archivalie.html) — core
   post-featured-image bez omezení vykresluje obrázek v plné šířce a jeho
   nativní výšce, na výšku orientovaných skenech to dělalo obří banner.
   Omezeno na pevnou výšku s object-fit:cover a zvětšení na kliknutí přes
   assets/js/hero-lightbox.js (core/post-featured-image na rozdíl od
   core/image nemá vlastní "lightbox" atribut). */
.absgov-post-hero img {
    display: block;
    width: 100%;
    max-height: 420px;
    object-fit: cover;
    cursor: zoom-in;
}
.absgov-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--wp--preset--spacing--50, 1.5rem);
    background: rgba(0, 0, 0, 0.85);
    cursor: zoom-out;
}
.absgov-lightbox img {
    max-width: 100%;
    max-height: 100%;
    border-radius: var(--absgov-radius);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
}

/* Karty výpisu aktualit (templates/archive.html) — bez omezení měly obrázek
   v nativní výšce zdrojového souboru a nadpis v proměnném počtu řádků, takže
   karty v mřížce nebyly zarovnané. Obrázek na pevnou výšku s object-fit:cover,
   nadpis oříznutý na 2 řádky přes -webkit-line-clamp s pevnou výškou coby
   fallback pro prohlížeče bez podpory line-clamp. */
.absgov-archive-card-image {
    display: block;
    overflow: hidden;
    border-top-left-radius: var(--absgov-radius);
    border-top-right-radius: var(--absgov-radius);
}
.absgov-archive-card-image img {
    display: block;
    width: 100%;
    height: 210px;
    object-fit: cover;
}
/* Obsahový box karty pod obrázkem (title/date/excerpt/terms) — v
   archive.html je to blok se stejnými hodnotami zapsanými inline (Gutenberg
   "style" atribut), tahle třída je navíc, aby šel box coby hotový "prvek"
   znovupoužít i mimo block editor (viz absgov_home_news_shortcode). */
.absgov-archive-card-body {
    border-bottom-left-radius: var(--absgov-radius);
    border-bottom-right-radius: var(--absgov-radius);
    padding: var(--wp--preset--spacing--50, 1.5rem) var(--wp--preset--spacing--40, 1.25rem) var(--wp--preset--spacing--40, 1.25rem);
}
.absgov-archive-card-title {
    height: calc(1.3em * 2);
    line-height: 1.3;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
/* Perex a štítky mají u jednotlivých aktualit různě dlouhý text/počet
   položek, takže i s pevnou výškou obrázku a nadpisu (výš) vycházely karty
   v gridu různě vysoké. Perex oříznut na 3 řádky stejně jako nadpis výš,
   štítky/kategorie omezeny na jeden řádek přes overflow — každá karta má
   pak vždy stejný součet pevných výšek bez ohledu na obsah. */
.absgov-archive-card-excerpt {
    height: calc(1.5em * 3);
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.absgov-archive-card-terms {
    /* Odznak kategorie (font-size x-small, padding 0.25rem nahoře/dole)
       reálně vychází na ~30px — 1.75rem (28px) mu useklo spodní kraj
       včetně zaobleného rohu. */
    height: 2rem;
    overflow: hidden;
    flex-wrap: nowrap;
}

/* Hlavní navigace (parts/header.html) — v jednom řádku s logem, zarovnaná
   úplně vpravo přes .absgov-header-right. Položky stylované jako modré
   odkazy podobně jako WP Gov.cz; první položka (odkaz na ÚSTR) je v menu
   18457 první, ale vizuálně patří úplně napravo a odlišně — přehozeno a
   probarveno přes CSS, bez zásahu do obsahu menu v DB. */
.absgov-header-right {
    align-items: center;
}
.absgov-main-nav .wp-block-navigation__container {
    row-gap: var(--wp--preset--spacing--20, 0.5rem);
    column-gap: 0.25rem;
}
.absgov-main-nav .wp-block-navigation__container > .wp-block-navigation-item > a,
.absgov-main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    background: transparent;
    color: var(--wp--preset--color--accent-1) !important;
    padding: 0.75rem 0.75rem;
    border-radius: var(--absgov-radius);
    font-weight: 600;
    font-size: var(--wp--preset--font-size--body-s);
    white-space: nowrap;
}
.absgov-main-nav .wp-block-navigation__container > .wp-block-navigation-item:not(.has-child) > a:hover,
.absgov-main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
    background: var(--wp--preset--color--accent-5);
    color: var(--wp--preset--color--accent-3) !important;
}
/* Odkaz na ÚSTR je v menu poslední přímo v datech (wp_navigation i
   assets/navigation/hlavni-menu-cz.html), ne přes CSS order — vizuální pořadí
   tak odpovídá pořadí při procházení klávesnicí (WCAG 2.4.3). Zvýraznění se
   váže na URL, ne na pozici položky. */
.absgov-main-nav .wp-block-navigation__container > .wp-block-navigation-item > a[href*="ustrcr.cz"] {
    background: var(--wp--preset--color--accent-5);
    color: var(--wp--preset--color--accent-3) !important;
}

/* Položky s podmenu — zobáček je vizuálně součástí itemu, ne oddělený
   prvek: modré podbarvení při hoveru pokrývá text i zobáček dohromady
   (jen s malou mezerou mezi nimi), takže položka nemusí být zbytečně
   široká jako dřív, kdy měl text vlastní podbarvený box a zobáček
   samostatně bez podbarvení za ním. Rodičovská šablona zobáček navíc
   táhne záporným marginem těsně k textu (theme.css: margin-left:-1.5em),
   proto se tu ruší úplně. */
.absgov-main-nav .wp-block-navigation-item.has-child {
    padding-right: 1.25rem;
    border-radius: var(--absgov-radius);
    align-items: center;
}
.absgov-main-nav .wp-block-navigation-item.has-child > a {
    padding-right: 0.1rem;
}
.absgov-main-nav .wp-block-navigation .wp-block-navigation__submenu-icon {
    margin-left: 0.15em;
    align-self: center;
}
.absgov-main-nav .wp-block-navigation-item.has-child:hover:not(:has(.wp-block-navigation__submenu-container:hover)),
.absgov-main-nav .wp-block-navigation-item.has-child:focus-within:not(:has(.wp-block-navigation__submenu-container:hover)) {
    background: var(--wp--preset--color--accent-5);
}
.absgov-main-nav .wp-block-navigation-item.has-child:hover:not(:has(.wp-block-navigation__submenu-container:hover)) > a,
.absgov-main-nav .wp-block-navigation-item.has-child:focus-within:not(:has(.wp-block-navigation__submenu-container:hover)) > a {
    color: var(--wp--preset--color--accent-3) !important;
}

/* Rozbalené podmenu — stejná barva a velikost písma jako první úroveň menu
   (dřív dědilo větší default velikost z jádra bloku, ~18px, a barvu jen
   shodou okolností ze stejné proměnné theme.json). */
.absgov-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item > a,
.absgov-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item > .wp-block-navigation-item__content {
    color: var(--wp--preset--color--accent-1) !important;
    font-size: var(--wp--preset--font-size--body-s);
    font-weight: 600;
}
.absgov-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item > a:hover,
.absgov-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
    background: var(--wp--preset--color--accent-5);
    color: var(--wp--preset--color--accent-3) !important;
}

/* Horní řádek hlavičky (parts/header.html, absgov_header_utilities_shortcode):
   pomocné odkazy, přepínač jazyka a vyhledávání, zarovnané doprava nad
   logem a hlavní navigací. Na úzkém displeji se zalamuje, odkazy zůstávají
   viditelné. */
.absgov-utility-bar {
    min-width: 0;
}
.absgov-header-utilities {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--wp--preset--spacing--30, 1rem) var(--wp--preset--spacing--40, 1.25rem);
    flex-wrap: wrap;
    max-width: 100%;
    font-size: var(--wp--preset--font-size--body-s);
}
.absgov-header-utilities__links ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem var(--wp--preset--spacing--40, 1.25rem);
    margin: 0;
    padding: 0;
    list-style: none;
}
.absgov-header-utilities__links a,
.absgov-header-utilities__lang a {
    color: var(--wp--preset--color--accent-1);
    font-weight: 600;
    text-decoration: none;
}
.absgov-header-utilities__links a:hover,
.absgov-header-utilities__lang a:hover,
.absgov-header-utilities__links a[aria-current="page"] {
    text-decoration: underline;
}
.absgov-header-utilities__lang {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.absgov-header-utilities__search {
    display: flex;
    max-width: 100%;
    margin: 0;
}
.absgov-header-utilities__search input[type="search"] {
    min-width: 0;
    width: 14rem;
    max-width: 100%;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--wp--preset--color--accent-6);
    border-right: none;
    border-radius: var(--absgov-radius) 0 0 var(--absgov-radius);
    font: inherit;
}
.absgov-header-utilities__search button {
    padding: 0.4rem 0.9rem;
    border: 1px solid var(--wp--preset--color--accent-1);
    border-radius: 0 var(--absgov-radius) var(--absgov-radius) 0;
    background: var(--wp--preset--color--accent-1);
    color: var(--wp--preset--color--base);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.absgov-header-utilities__search input[type="search"]:focus-visible,
.absgov-header-utilities__search button:focus-visible {
    outline: 2px solid var(--wp--preset--color--accent-1);
    outline-offset: 2px;
}

/* Našeptávač vyhledávání (assets/js/search-autocomplete.js) — seznam pod polem. */
.absgov-autocomplete-host {
    position: relative;
}
.absgov-autocomplete {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1000;
    width: max(100%, 22rem);
    max-width: calc(100vw - 2rem);
    max-height: 22rem;
    overflow-y: auto;
    margin: 0.25rem 0 0;
    padding: 0.25rem 0;
    list-style: none;
    border: 1px solid var(--wp--preset--color--accent-6);
    border-radius: var(--absgov-radius);
    background: var(--wp--preset--color--base);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
    font-size: var(--wp--preset--font-size--body-s);
    text-align: left;
}
.absgov-autocomplete[hidden] {
    display: none;
}
.absgov-autocomplete li {
    padding: 0.5rem 0.75rem;
    color: var(--wp--preset--color--contrast);
    cursor: pointer;
}
.absgov-autocomplete li:hover,
.absgov-autocomplete li[aria-selected="true"] {
    background: var(--wp--preset--color--accent-7);
    outline: 2px solid var(--wp--preset--color--accent-1);
    outline-offset: -2px;
}

/* Výsledky vyhledávání (templates/search.html) — štítek typu obsahu. */
.absgov-search-type {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    border-radius: var(--absgov-radius);
    background: var(--wp--preset--color--accent-4);
    color: var(--wp--preset--color--accent-6);
    font-size: var(--wp--custom--font-sizes--x-small, 0.8125rem);
    font-weight: 600;
}

/* Drobečková navigace (Breadcrumb NavXT), viz absgov_breadcrumb_shortcode */
.breadcrumb__wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--wp--preset--spacing--30, 1rem) var(--wp--preset--spacing--40, 1.25rem) 0;
}
.breadcrumb__wrap .breadcrumb {
    font-size: var(--wp--preset--font-size--body-s);
    color: var(--wp--preset--color--accent-6);
    margin: 0;
}
.breadcrumb__wrap .breadcrumb a {
    color: var(--wp--preset--color--accent-1);
}
/* Oddělovač mezi položkami — Breadcrumb NavXT vypisuje <i class="fa
   fa-angle-right">, ale Font Awesome se nenačítá, takže byl bez CSS
   prázdný a položky se lepily na sebe bez mezery. */
.breadcrumb__wrap .breadcrumb i.fa-angle-right {
    display: inline-block;
    font-style: normal;
    margin: 0 0.5rem;
}
.breadcrumb__wrap .breadcrumb i.fa-angle-right::before {
    content: "•";
}

/* Kontextový sidebar stránky, viz absgov_page_sidebar_shortcode */
.absgov-subpages {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--wp--preset--spacing--40, 1.25rem);
}
.absgov-subpages h3 {
    font-size: var(--wp--preset--font-size--headline-m);
    margin-bottom: var(--wp--preset--spacing--20, 0.5rem);
}
.absgov-subpages ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.absgov-subpages li a {
    display: block;
    padding: 0.5rem 0;
    color: var(--wp--preset--color--accent-1);
    border-bottom: 1px solid var(--wp--preset--color--accent-5);
}

.absgov-section-tiles {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--wp--preset--spacing--40, 1.25rem);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--wp--preset--spacing--50, 1.5rem);
}
.absgov-section-tiles__tile {
    display: flex;
    align-items: flex-end;
    min-height: 160px;
    border-radius: var(--absgov-radius);
    background-color: var(--wp--preset--color--accent-3);
    background-size: cover;
    background-position: center;
    padding: var(--wp--preset--spacing--30, 1rem);
    text-decoration: none;
}
.absgov-section-tiles__tile span {
    color: var(--wp--preset--color--base);
    font-weight: 700;
    font-size: var(--wp--preset--font-size--body-l);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

/* Úvodní strana — stejné dlaždice jako na podstránkách, ale na plnou šířku
   obsahu pod hlavním panelem: 4 vedle sebe, na tabletu 2, na mobilu 1.
   Bez vlastního odsazení, aby lícovaly s hlavním panelem a aktualitami. */
.absgov-home-sections .absgov-section-tiles {
    max-width: none;
    padding: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 1023px) {
    .absgov-home-sections .absgov-section-tiles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 599px) {
    .absgov-home-sections .absgov-section-tiles {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Úvodní strana — hlavní panel (absgov_home_hero_shortcode): velký obrázek
   vlevo, text vpravo; pod 782 px pod sebou (obrázek nahoře). */
.absgov-home-hero {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    border-radius: var(--absgov-radius);
    background: var(--wp--preset--color--base);
    overflow: hidden;
}
.absgov-home-hero--no-image {
    grid-template-columns: minmax(0, 1fr);
}
.absgov-home-hero__media {
    position: relative;
    display: block;
    min-height: 22rem;
    background: var(--wp--preset--color--accent-3);
}
/* Obrázek nesmí určovat výšku panelu — tu dává text (min. 22rem). */
.absgov-home-hero__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.absgov-home-hero__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--wp--preset--spacing--30, 1rem);
    padding: var(--wp--preset--spacing--60, 2.5rem);
}
.absgov-home-hero__body > * {
    margin: 0;
}
.absgov-home-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
    color: var(--wp--preset--color--accent-6);
    font-size: var(--wp--preset--font-size--body-s);
}
.absgov-home-hero__label {
    padding: 0.2rem 0.6rem;
    border-radius: var(--absgov-radius);
    background: var(--wp--preset--color--accent-2);
    color: var(--wp--preset--color--contrast);
    font-weight: 700;
    text-transform: uppercase;
}
.absgov-home-hero__title {
    font-size: var(--wp--preset--font-size--headline-l);
    line-height: 1.2;
}
.absgov-home-hero__title a {
    color: var(--wp--preset--color--contrast);
    text-decoration: none;
}
.absgov-home-hero__title a:hover,
.absgov-home-hero__title a:focus-visible {
    text-decoration: underline;
}
.absgov-home-hero__more a {
    font-weight: 600;
}
@media (max-width: 781px) {
    .absgov-home-hero {
        grid-template-columns: minmax(0, 1fr);
    }
    .absgov-home-hero__media {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }
    .absgov-home-hero__body {
        padding: var(--wp--preset--spacing--40, 1.25rem);
    }
}

/* Aktuality na úvodní straně (absgov_home_news_shortcode) — stejná karta
   jako ve výpisu kategorie (templates/archive.html, třídy
   .absgov-archive-card-image/-body/-title/-excerpt/-terms), jen v menším
   měřítku (4 karty v řadě). Rozměry/počty řádků zmenšeny přes potomkovský výběr
   pod .absgov-home-news, aby se nezměnila plná karta na výpisu kategorie. */
.absgov-home-news__header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem var(--wp--preset--spacing--40, 1.25rem);
    margin-bottom: var(--wp--preset--spacing--40, 1.25rem);
}
/* > *: wpautop obalí odkaz do <p> (viz absgov_collapse_shortcode_html). */
.absgov-home-news__header > * {
    margin: 0;
}
/* 4 vedle sebe, na tabletu 2, na mobilu 1 — stejné zlomy jako dlaždice nad tím. */
.absgov-home-news {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--wp--preset--spacing--40, 1.25rem);
    align-items: start;
}
@media (max-width: 1023px) {
    .absgov-home-news {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 599px) {
    .absgov-home-news {
        grid-template-columns: minmax(0, 1fr);
    }
}
.absgov-home-news__item {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.absgov-home-news .absgov-archive-card-image img {
    height: 160px;
}
.absgov-home-news .absgov-archive-card-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: var(--wp--preset--spacing--30, 1rem);
}
.absgov-home-news .absgov-archive-card-title {
    font-size: var(--wp--preset--font-size--body-m);
    height: calc(1.3em * 2);
    margin: 0 0 0.25rem;
}
.absgov-home-news__date {
    font-size: var(--wp--preset--font-size--body-s);
    color: var(--wp--preset--color--accent-6);
    margin: 0 0 0.5rem;
}
.absgov-home-news .absgov-archive-card-excerpt {
    font-size: var(--wp--preset--font-size--body-s);
    height: calc(1.4em * 3);
    line-height: 1.4;
    -webkit-line-clamp: 3;
    margin: 0;
}
.absgov-home-news .absgov-archive-card-terms {
    margin-top: 0.5rem;
}
.absgov-home-news__category {
    display: inline-block;
    padding: 0.25rem 0.75rem 0.25rem 0.5rem;
    border-radius: var(--absgov-radius);
    background: #fef0d0;
    color: var(--wp--preset--color--contrast);
    font-size: var(--wp--custom--font-sizes--x-small);
    text-decoration: underline;
}
.absgov-home-news__more {
    color: var(--wp--preset--color--accent-1);
    font-weight: 700;
}

/* Úvodní strana — oddíl "další informace" (absgov_home_info_shortcode),
   obsah dodává editor jako synchronizovaný vzor. */
.absgov-home-info {
    margin-top: var(--wp--preset--spacing--60, 2.5rem);
    padding: var(--wp--preset--spacing--50, 1.5rem) var(--wp--preset--spacing--60, 2.5rem);
    border-radius: var(--absgov-radius);
    background: var(--wp--preset--color--base);
}
.absgov-home-info > :first-child {
    margin-top: 0;
}
.absgov-home-info > :last-child {
    margin-bottom: 0;
}
@media (max-width: 599px) {
    .absgov-home-info {
        padding: var(--wp--preset--spacing--40, 1.25rem);
    }
}

/* Karty rozcestníků, viz absgov_hub_links_shortcode */
.absgov-hub-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--wp--preset--spacing--30, 1rem);
    margin: var(--wp--preset--spacing--40, 1.25rem) 0;
}
.absgov-hub-links__card {
    display: flex;
    align-items: center;
    min-height: 100px;
    padding: var(--wp--preset--spacing--30, 1rem) var(--wp--preset--spacing--40, 1.25rem);
    border-radius: var(--absgov-radius);
    background: var(--wp--preset--color--accent-4);
    border: 1px solid var(--wp--preset--color--accent-5);
    text-decoration: none;
    font-weight: 700;
    font-size: var(--wp--preset--font-size--body-l);
    color: var(--wp--preset--color--contrast);
    transition: background-color 0.15s ease;
}
.absgov-hub-links__card:hover {
    background: var(--wp--preset--color--accent-7);
    color: var(--wp--preset--color--accent-1);
}

/* "Nepřehlédněte" ve stylu vlada.gov.cz, viz absgov_home_projects_shortcode —
   nadpis + mřížka karet (obrázek, pod ním bílý pruh s názvem a šipkou). Odstup
   nad sekcí patří sem (ne šabloně), aby na /en/, kde se sekce nevykreslí,
   nezůstal žádný prázdný prvek s okrajem. */
.absgov-home-projects {
    margin-top: var(--wp--preset--spacing--60, 2.5rem);
}
.absgov-home-projects > h2 {
    margin: 0 0 var(--wp--preset--spacing--40, 1.25rem);
}
/* 4 vedle sebe, na tabletu 2, na mobilu 1 — stejné zlomy jako dlaždice a aktuality nad tím. */
.absgov-home-projects__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--wp--preset--spacing--40, 1.25rem);
}
@media (max-width: 1023px) {
    .absgov-home-projects__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 599px) {
    .absgov-home-projects__grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
.absgov-home-projects__item {
    display: flex;
    flex-direction: column;
    border-radius: var(--absgov-radius);
    overflow: hidden;
    background: var(--wp--preset--color--base);
    color: var(--wp--preset--color--contrast);
    text-decoration: none;
}
.absgov-home-projects__item:focus {
    outline: 3px solid var(--wp--preset--color--contrast);
    outline-offset: 2px;
}
/* Pevný poměr stran: všechny obrázky v řadě stejně vysoké. */
.absgov-home-projects__image {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}
.absgov-home-projects__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* flex-grow: pruh s názvem vyplní zbytek karty, takže karty v řadě mají stejnou výšku. */
.absgov-home-projects__label {
    display: flex;
    flex-grow: 1;
    align-items: center;
    justify-content: space-between;
    gap: var(--wp--preset--spacing--20, 0.5rem);
    padding: var(--wp--preset--spacing--30, 1rem);
    background: var(--wp--preset--color--base);
}
.absgov-home-projects__title {
    font-size: var(--wp--preset--font-size--body-m);
    font-weight: 700;
    line-height: 1.3;
}
.absgov-home-projects__item:hover .absgov-home-projects__title,
.absgov-home-projects__item:focus .absgov-home-projects__title {
    text-decoration: underline;
}
.absgov-home-projects__chevron {
    flex: none;
    color: var(--wp--preset--color--accent-1);
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1;
}

/* Sloupec "Odkazy" v patičce (parts/footer.html), viz absgov_footer_links_shortcode —
   dvě pevné stránky, dřív wp:page-list. */
.absgov-footer-links {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Mapa stránek (shortcode [abs_sitemap] z pluginu abs-core) */
.abs-sitemap ul {
    margin: 0.25rem 0;
    padding-left: 1.5rem;
}
.abs-sitemap > ul {
    padding-left: 0;
    list-style: none;
}

/* Sociální sítě a RSS v patičce, viz absgov_footer_social_shortcode
   (dřív součást absgov_header_utilities_shortcode, přesunuto z hlavičky) */
.absgov-footer-social {
    display: flex;
    align-items: center;
    gap: var(--wp--preset--spacing--20, 0.5rem);
    margin: 0;
    padding: 0;
    list-style: none;
}
.absgov-footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    color: var(--wp--preset--color--accent-5);
}
.absgov-footer-social a:hover {
    color: var(--wp--preset--color--base);
}
