/* ============================================================
 * SPOLEČNÉ PRVKY STRÁNEK
 * ============================================================ */

.page-intro {
    background: #e9ecef;
    padding: 3rem 0 4rem;
    margin-top: -1rem;
    margin-bottom: 2rem;
}

.page-intro h1 {
    font-size: 2.5rem;
    font-weight: 500;
}

.page-intro .home-degree {
    color: #6c757d;
}

.page-content {
    max-width: 1140px;
}

@media (max-width: 575.98px) {
    .page-intro {
        padding: 2rem 0;
    }

    .page-intro h1 {
        font-size: 2rem;
    }
}


/* ============================================================
 * TITULNÍ STRÁNKA
 * ============================================================ */

.page-content .card-columns {
    column-count: 1;
    column-gap: 1.25rem;
}

.page-content .card-columns > .home-card {
    display: inline-block;
    width: 100%;
    break-inside: avoid;
    vertical-align: top;
}

@media (min-width: 768px) {
    .page-content .card-columns {
        column-count: 2;
    }
}

@media (min-width: 992px) {
    .page-content .card-columns {
        column-count: 3;
    }
}

@media (min-width: 1200px) {
    .page-content .card-columns {
        column-count: 4;
    }
}

.home-card {
    margin-bottom: .75rem;
    border-color: #343a40;
    border-radius: .25rem;
    overflow: hidden;
    background: #343a40;
    color: #fff;
}

.home-card .card-header {
    background: #343a40;
    padding: .9rem 1.2rem;
}

.home-card .card-body {
    padding: 1.25rem;
}

.home-card .card-title {
    font-size: 1.25rem;
    line-height: 1.3;
    font-weight: 600;
    margin: 0;
}

.home-card .card-img-top {
    display: block;
    width: 100%;
    height: auto;
    min-height: 125px;
    max-height: 200px;
    aspect-ratio: 2 / 1;
    object-fit: cover;
    border-radius: 0;
}

.home-card .list-group-item {
    padding: .85rem 1.2rem;
    background: #c6c8ca;
    color: #111;
    border-color: #b9bbbd;
}

.home-card a.list-group-item:hover,
.home-card a.list-group-item:focus-visible {
    background: #b8bbbe;
    color: #000;
}

.home-card a.list-group-item:focus-visible {
    outline: 3px solid #0d6efd;
    outline-offset: -3px;
}

.home-card .home-note {
    margin: .75rem 0 0;
}

.home-video {
    aspect-ratio: 16 / 10;
    background: #e9ecef;
}

.home-video iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.home-card.is-disabled {
    background: #f5f5f5;
    border-color: #e5e5e5;
    color: #a1a1a1;
    pointer-events: none;
    user-select: none;
}

.home-card.is-disabled .card-header,
.home-card.is-disabled .card-body {
    background: #f5f5f5;
    color: #a1a1a1;
}

.home-card.is-disabled .list-group-item {
    background: #f8f8f8;
    border-color: #ededed;
    color: #aaa;
}

.home-card.is-disabled .card-img-top {
    filter: grayscale(1);
    opacity: .18;
}

.home-card.is-disabled .home-video {
    background: #f8f8f8;
}


/* ============================================================
 * NAVBAR A FOOTER – MĚKČÍ TMAVĚ ŠEDÁ
 * ============================================================ */

.site-navbar.bg-dark,
.site-footer.bg-dark {
    background-color: #343a40 !important;
}


/* ============================================================
 * LOGO V NAVBARU
 * ============================================================ */

.site-brand {
    display: flex;
    align-items: center;
    margin-right: 1rem;
}

.site-brand::after {
    content: "";
    display: block;
    width: 1px;
    height: 30px;
    margin-left: 1rem;
    background: rgba(255, 255, 255, .35);
}

/* ============================================================
 * FTOKA  V NAVBARU
 * ============================================================ */

.site-profile {
    position: relative;
    padding-left: 2.8rem !important;
}

.site-avatar {
    position: absolute;
    left: .45rem;
    top: 50%;
    transform: translateY(-50%);

    width: 2rem;
    height: 2rem;
    object-fit: cover;
    border-radius: 50%;

    display: block;
    vertical-align: initial;
}

/* ============================================================
 * TEXTOVÉ ODKAZY
 * ============================================================ */

a:not(.btn):not(.nav-link):not(.navbar-brand):not(.list-group-item) {
    text-decoration: none;
    transition: opacity .15s ease;
}

a:not(.btn):not(.nav-link):not(.navbar-brand):not(.list-group-item):hover,
a:not(.btn):not(.nav-link):not(.navbar-brand):not(.list-group-item):focus-visible {
    text-decoration: underline;
    opacity: .8;
}


/* ============================================================
 * KONZULTACE
 * ============================================================ */

.consultation-calendar {
    display: block;
    width: 100%;
    height: 1140px;
    border: 0;
}

@media (max-width: 767.98px) {
    .consultation-calendar {
        height: 800px;
    }
}

/* ============================================================
 * DIPLOMOVÉ A KVALIFIKAČNÍ PRÁCE
 * ============================================================ */

/* Lehčí varianta odrážek mimo tmavé karty. */
.resource-links .resource-link {
    padding: .7rem 1rem;
    background: transparent;
    color: var(--bs-body-color);
    border-width: 0 0 1px;
    border-color: var(--bs-border-color);
    border-radius: 0 !important;
}

.resource-links .resource-link:last-child {
    border-bottom-width: 0;
}

.resource-links a.resource-link:hover,
.resource-links a.resource-link:focus-visible {
    background: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
}

/* V akordeonu zabírá název volný prostor, stav má vždy stejnou šířku. */
#topicsAccordion .topic-title {
    min-width: 0;
    flex: 1 1 auto;
}

#topicsAccordion .topic-status-badge {
    flex: 0 0 7.5rem;
    width: 7.5rem;
    margin-left: 1rem;
    margin-right: .75rem;
    text-align: center;
}

/* Jednotná geometrie pravé části tabulek napříč akademickými roky. */
.diplomky-table .diplomky-col-number {
    width: 3rem;
}

.diplomky-table .diplomky-col-student {
    width: 11rem;
}

.diplomky-table .diplomky-col-date {
    width: 9.5rem;
}

.diplomky-table .diplomky-col-status {
    width: 9.5rem;
}

.diplomky-table .diplomky-col-edit {
    width: 3.5rem;
}

.diplomky-table .work-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 8.5rem;
}
