.articles .row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin-bottom: 20px;
}

.articles .row a.middle {
    display: flex;
    flex-direction: column;
    height: auto;
}

/* Globální deklarace pro plnou šířku sekcí s články */
section.articles {
    width: 100%;
    clear: both;
}

/* Flexbox konfigurace pro 3 sloupce na desktopu */
section.articles .row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 24px 20px;
}

/* Výpočet šířky jedné dlaždice: (100% - sumární mezery) / 3 */
    .articles .row a.middle {
    display: flex;
    flex-direction: column;
    width: calc(33.333% - 13.333px);
    height: auto;
    box-sizing: border-box;
}

section.articles .row a.middle img {
    width: 100%;
    /*height: auto !important;*/
    display: block;
}

/* Zachování plné responsivity na mobilních zařízeních (pod breakpointem 765px) */
@media (max-width: 765px) {
    section.articles .row a.middle {
        width: 100%;
    }
}


/* --- STYLIZACE NADPISŮ RUBRIK S CUSTOM SVG ZÁVORKAMI A ŠIPKOU UVNITŘ --- */

/* Ovládání volného prostoru NAD celou rubrikou (bezpečně přebíjí mt40) */
section.articles {
    margin-top: 15px; 
    padding-top: 0;
}

/* Ovládání volného prostoru POD nadpisem směrem dolů k dlaždicím */
.articles .sedy-nadpis {
    margin-top: 0;
    margin-bottom: 25px; 
    padding: 0;
    text-align: left;
}

/* Změna na inline-flex uzamkne šířku nadpisu přesně podle délky textu */
.articles .sedy-nadpis h2 {
    font-size: 24px;
    letter-spacing: 0.5px;
    margin: 0; 
    padding: 0; 
    display: inline-flex;
    align-items: center; 
    height: 32px; 
    line-height: 32px;
    position: relative; 
}

/* Reset a úprava vnitřních rozestupů odkazu */
.articles .sedy-nadpis h2 a {
    color: #222222;
    display: flex;
    align-items: center;
    height: 100%;
    line-height: 1;
    margin: 0;
    text-decoration: none;
    white-space: nowrap;
    position: relative;
    
    /* Pravý padding upraven pro plynulé odskočení pravé závorky */
    padding: 0 55px 0 30px; 
    transition: color 0.3s ease;
}

/* Změna barvy textu při hoveru */
.articles .sedy-nadpis h2 a:hover {
    color: #ff0b00;
    text-decoration: none;
}

/* Levá custom SVG závorka - V ZÁKLADU BLÍZKO U TEXTU */
.articles .sedy-nadpis h2 a::before {
    content: "";
    position: absolute;
    left: 14px; /* Těsně u textu */
    top: 50%;
    transform: translateY(-50%); 
    width: 12px;
    height: 26px;
    background: url('/images/zavorkaL.svg') no-repeat center center;
    background-size: contain;
    opacity: 0.6; /* Nastavení průhlednosti na 70% */
    filter: invert(13%) sepia(100%) saturate(7471%) hue-rotate(4deg) brightness(107%) contrast(115%); /* Výchozí červená barva */
    transition: left 0.3s ease;
}

/* Pravá custom SVG závorka - V ZÁKLADU BLÍZKO U TEXTU */
.articles .sedy-nadpis h2 a::after {
    content: "";
    position: absolute;
    right: 34px; /* Těsně u textu */
    top: 50%;
    transform: translateY(-50%); 
    width: 12px;
    height: 26px;
    background: url('/images/zavorkaR.svg') no-repeat center center;
    background-size: contain;
    opacity: 0.6; /* Nastavení průhlednosti na 70% */
    filter: invert(13%) sepia(100%) saturate(7471%) hue-rotate(4deg) brightness(107%) contrast(115%); /* Výchozí červená barva */
    transition: right 0.3s ease;
}

/* Šipka » napozicovaná tak, aby se objevila UVNITŘ před odskočenou pravou závorkou */
.articles .sedy-nadpis h2::after {
    content: "»";
    position: absolute;
    top: 50%;
    /* Optická korekce: Posun o 1px nahoru pro dokonalý střed s verzálkami Oswald */
    transform: translateY(calc(-50% - 1px));
    line-height: 1;
    color: #ff0b00;
    font-size: 24px;
    font-weight: bold;
    opacity: 0;
    right: 32px; /* Schovaná pod/před pravou závorkou */
    transition: opacity 0.3s ease, right 0.3s ease;
    pointer-events: none;
}

/* HOVER STAVY (Otočený efekt: Závorky ustoupí od textu do stran, šipka vyjede uvnitř) */
.articles .sedy-nadpis h2:hover a::before {
    left: 0px; /* Levá závorka ustoupí směrem doleva */
}

.articles .sedy-nadpis h2:hover a::after {
    right: 12px; /* Pravá závorka ustoupí směrem doprava */
}

/* Šipka se usadí na pozici right: 30px (jelikož pravá závorka odskočila na 12px, šipka je bezpečně uvnitř nalevo od ní) */
.articles .sedy-nadpis h2:hover::after {
    opacity: 1;
    right: 30px; 
}

/* --- MOBILNÍ VERZE NADPISŮ (do 765px) --- */
/* Zrušení animace, závorky jsou rozevřené a šipka je trvale viditelná */
@media (max-width: 765px) {
    .articles section.articles {
        margin-top: 35px;
    }

    /* Odsazení nadpisu zleva pro srovnání s dlaždicemi článků */
    .articles .sedy-nadpis h2 {
        margin-left: 10px;
    }

    /* Zrušení všech přechodů pro okamžité zobrazení */
    .articles .sedy-nadpis h2 a,
    .articles .sedy-nadpis h2 a::before,
    .articles .sedy-nadpis h2 a::after,
    .articles .sedy-nadpis h2::after {
        transition: none;
    }

    /* Závorky a šipka jsou rovnou v "otevřené" (hover) pozici */
    .articles .sedy-nadpis h2 a::before { left: 0px; }
    .articles .sedy-nadpis h2 a::after { right: 12px; }
    .articles .sedy-nadpis h2::after { opacity: 1; right: 30px; }
}


/* --- DOUBLEBOX --- */
@media (min-width: 766px) {

    /* Doublebox na desktopu přebije šířku na 2 třetiny */
    .articles .row a.doublebox { 
        width: calc(66.666% - 10px) !important; 
    }

    /* Fixní výška obrázků zaručující lícování na pixel přesně */
    .articles .row a.middle img,
    .articles .row a.doublebox img {
        width: 100% !important;
        height: 250px !important; 
        object-fit: cover !important;
    }
}

@media (max-width: 765px) {
    /* Uvolnění výšky obrázků pro přirozené mobilní zobrazení */
    .articles .row a.doublebox img,
    .articles .row a.middle img {
        height: auto !important;
    }
}