/* ==========================================================================
   ANIMATIONS
   ========================================================================== */

/* Fade-in for main info text */
.basic-info-fadein {
    opacity: 0;
}

.basic-info-fadein.animate-on-scroll {
    animation: basic-info-fadein-keyframes 2.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes basic-info-fadein-keyframes {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* Background slide-in animation */
.bg-zakladni-informace-header.animate-on-scroll {
    animation: bckg-slide-in 2.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes bckg-slide-in {
    from {
        background-position: 120% 0;
    }

    to {
        background-position: 0 0;
    }
}

/* Mobile animation definition (was missing in original scope) */
@keyframes bckg-slide-in-mobile {
    from {
        background-position: 120% bottom;
    }

    to {
        background-position: right bottom;
    }
}

/* ==========================================================================
   ANCHORS & UTILITIES
   ========================================================================== */

#anchor_zakladni-info {
    position: relative;
    top: -180px;
    display: block;
}

#anchor_committees {
    position: relative;
    top: -100px;
    display: block;
}

.logo-small-displays {
    display: none;
    width: 100%;
    text-align: center;
    margin-top: 100px;
}

/* ==========================================================================
   HEADER SECTION
   ========================================================================== */

.bg-zakladni-informace-header {
    background-image: var(--bg-header-img);
    background-size: contain;
    background-repeat: no-repeat;
    /* Original logic: start position logic is handled by animation or default 'left' */
    background-position: left;
    background-color: var(--color-primary);

    padding-top: 7px;
    padding-bottom: 70px;
    margin-top: 5rem;

    text-align: left;
    color: var(--bg-white);
    line-height: 1.2;
    font-size: 20px;
}

.content-basic-info {
    font-size: 30px;
    margin-top: 39px;
}

/* Header Text Elements */
.basic-info-title-big {
    letter-spacing: 0px;
    font-size: 60px;
    font-weight: 600;
    color: var(--bg-white);
    text-align: right;
    width: 100%;
    padding-right: 25px;
}

.basic-info-title {
    font-size: 30px;
    font-weight: 400;
    text-align: right;
    width: 100%;
    padding-right: 25px;
}

.basic-info-date {
    font-size: 36px;
    font-weight: 400;
    padding: 15px 25px 5px 0px;
    text-align: right;
    width: 100%;
}

.basic-info-venue {
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 12px;
}

/* ==========================================================================
   BASIC INFO CONTENT (White Section)
   ========================================================================== */

.bg-zakladni-informace {
    padding-top: 0px;
    padding-bottom: 30px;
    text-align: center;
}

.content-zakladni-informace {
    font-size: 20px;
}

.bg-zakladni-informace p {
    margin-top: 10px;
    font-size: 16px;
    color: var(--color-text-main);
    /* Replaced #333 */
}

.basic-info-ta-service {
    font-size: 18px;
    font-weight: 600;
    color: var(--color-text-semidark);
    text-align: center;
}

.basic-info-auspices {
    font-size: 18px;
    width: 390px;
    text-align: center;
    display: block;
    color: black;
    float: left;
    padding: 0px;
    margin: 0px 0px 10px 0px;
}

/* ==========================================================================
   ORGANIZERS SECTION
   ========================================================================== */

.bg-organizatori {
    /* background-image: url('../img/bckg-organizing.png'); */
    background-repeat: repeat-y;
    background-position: center;
    padding-top: 35px;
    padding-bottom: 10px;
    text-align: left;
    line-height: 1.2;
    font-size: 20px;
    display: flex;
    /* Flex is used in original */
}

.organizatori-div {
    width: 40%;
    display: block;
    float: left;
    /* Retained float/flex mix from original */
    padding: 0px;
    margin: 0px;
    color: var(--color-text-main);
}

.organizatori-div h4 {
    color: var(--color-text-strong);
    font-size: 24px;
    font-weight: 600;
    margin: 0px 0px 3px 0px;
}

.organizatori-div-second {
    width: 60%;
    padding-left: 50px;
    padding-right: 50px;
    margin-top: 53px;
}

.organizatori-div p {
    display: block;
    float: left;
    text-align: center;
}

.organizatori-div p img {
    display: block;
}

.organizatori-div-second p {
    padding-left: 50px;
}

/* ==========================================================================
   BOARDS (Advisory & Organizing)
   ========================================================================== */

/* Shared Styles */
.bg-advisory-board,
.bg-organising-board {
    padding-top: 35px;
    padding-bottom: 50px;
    text-align: left;
    line-height: 1.2;
    font-size: 20px;
    display: flex;
}

.advisory-board-div,
.organising-board-div {
    padding: 0px;
    margin: 0px;
    width: 100%;
    /* Explicit width helps with floats inside */
}

.advisory-board-div h4,
.organising-board-div h4 {
    color: var(--color-text-board);
    text-align: center;
    width: 100%;
    font-size: 28px;
    margin-bottom: 40px;
}

/* Advisory Board Specifics */
.bg-advisory-board {
    background-color: var(--color-primary);
}

.advisory-board-div p {
    color: var(--color-text-board);
    display: block;
    float: left;
    width: 25%;
    /* 4 items per row */
    padding: 0% 3% 0% 3%;
    text-align: center;
    font-size: 16px;
    box-sizing: border-box;
    /* Added for safety with padding */
    margin-bottom: 55px;
}

.advisory-board-div p img {
    width: 100%;
}

/* Organizing Board Specifics */
.bg-organising-board {
    background-color: var(--bg-organizing-board);
    text-align: center;
}

.organising-board-div p {
    color: var(--color-text-board);
    display: block;
    float: left;
    width: 33%;
    /* 3 items per row */
    padding: 0% 3% 0% 3%;
    text-align: center;
    font-size: 16px;
    box-sizing: border-box;
}

.organising-board-div p img {
    width: 72%;
}

/* Shared Inner Elements */
.advisory-board-div p span,
.organising-board-div p span {
    color: var(--color-text-board);
    font-size: 18px;
    font-weight: 600;
    display: block;
}

.advisory-board-div p a,
.organising-board-div p a {
    color: #353c37;
}

/* Advisory board / Speakers */
.advisory-board-div p:nth-of-type(4n+1) {
    clear: left;
}

/* Organising board */
.organising-board-div p:nth-of-type(3n+1) {
    clear: left;
}

/* Show More Buttons logic */
.advisory-board-div .hidden-member,
.organising-board-div .hidden-member {
    display: none;
}

.organising-board-more,
.advisory-board-more {
    display: block;
}

.show-more-btn {
    display: inline-block;
    margin: 10px 0 20px 0;
    padding: 8px 24px;
    background: var(--color-primary);
    color: var(--bg-white);
    border: none;
    border-radius: 24px;
    font-size: 1em;
    cursor: pointer;
    transition: background 0.2s;
}

.show-more-btn:hover {
    background: var(--color-primary-dark, #388a00);
    /* Fallback if var not defined */
}

/* ==========================================================================
   MEDIA QUERIES (Responsive)
   ========================================================================== */

@media (max-width: 1070px) {

    /* Basic Info Adjustments */
    .content-basic-info {
        padding: 1vw 0px 1vw 20px;
        margin-top: 0px;
        margin-right: 0px;
    }

    .content-zakladni-informace {
        padding: 20px;
    }

    .basic-info-title-big {
        padding-top: 5vw;
        font-size: 8vw;
    }

    .basic-info-title {
        padding-top: 1vw;
        font-size: 4vw;
    }

    .basic-info-date {
        padding-top: 1vw;
        font-size: 5vw;
    }

    .basic-info-venue {
        padding-top: 1vw;
        font-size: 4vw;
    }

    .basic-info-auspices {
        width: 100%;
    }

    /* Organizers Mobile */
    .bg-organizatori {
        background-repeat: repeat-y;
        background-position: left;
    }

    .organizatori-div {
        width: 100%;
        float: left;
        padding: 20px;
        text-align: center;
    }

    .organizatori-div p {
        text-align: center;
    }

    .advisory-board-div h4 {
        font-size: 20px;
    }

    /* Header Animation Mobile */
    .bg-zakladni-informace-header {
        background-position: bottom right !important;
        padding-bottom: 180px !important;
    }
}

@media (max-width: 600px) {
    .advisory-board-div p span {
        font-size: 16px;
    }
}

@media (max-width: 400px) {
    .advisory-board-div p span {
        font-size: 14px;
    }

    .bg-zakladni-informace-header {
        padding-bottom: 150px !important;
    }
}

@media (max-width: 350px) {
    .advisory-board-div p span {
        font-size: 12px;
    }
}