:root {
    /*modra zluta zeda - urcite nechat*/
    --primary-blue: #004AAD;
    --primary-yellow: #FFD700;
    --light-gray: rgb(248, 249, 250);
    --dark-gray: #333333;
    --black: #000000;
    --primary-color: #007bff;
    --primary-color-dark: #0056b3;

    --danger-color: #dc3545;
    --success-color: #28a745;
    --warning-color: #ffc107;
    --info-color: #17a2b8;
    --masters-color: #9c27b0;
    --synchro-color: #e91e63;
    --plavani-color: #2196f3;
    --dalkari-color: #ff9800;



    /*--black-color: hsl(220, 24%, 12%);*/
    --black-color: hsl(244, 35%, 23%);
    /*--black-color-light: hsl(220, 24%, 25%);*/
    --black-color-light: hsl(220, 35%, 34%);
    --body-color: hsl(220, 100%, 97%);
    --copyright-color: hsl(200, 10%, 88%);
    --copyright-link-color: hsl(60, 100%, 80%);
    --black-clk-login : hsl(220, 0%, 0%);
    --black-clk-light : hsl(208, 51%, 71%);


    --plavani-primary: #0066cc;
    --plavani-primary-dark: #004499;
    --plavani-primary-light: #3385d6;
    --plavani-secondary: #E3F2FD;
    --plavani-text: #003366;

    /* Masters - oranžová */
    --masters-primary: #FF9900;
    --masters-primary-dark: #E68A00;
    --masters-primary-light: #FFB533;
    --masters-secondary: #FFF3E0;
    --masters-text: #BF6000;

    /* Synchro - růžová/fialová */
    --synchro-primary: #cc0099;
    --synchro-primary-dark: #990066;
    --synchro-primary-light: #d933ac;
    --synchro-secondary: #FCE4EC;
    --synchro-text: #660033;

    /* Dálkaři - zelená */
    --dalkari-primary: #00a651;
    --dalkari-primary-dark: #007a3e;
    --dalkari-primary-light: #33b86a;
    --dalkari-secondary: #E8F5E8;
    --dalkari-text: #004d28;


}

html {
    font-size: 16px;
}


body {
    background-color: var(--body-color);
    margin: 0;
    padding: 0;
}

.navig {
    padding-bottom: 80px;
}

.navbar {
    background-color: #004AAD !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.navbar-dark .navbar-nav .nav-link {
    color: white;
    padding: 0.8rem 0.7rem;
    transition: all 0.3s ease;
    border-radius: 4px;
}



.navbar-dark .navbar-nav .nav-link:hover {
    background-color: #003380;
    transform: translateY(-2px);
}

.navbar-dark .navbar-nav .nav-link.active {
    background-color: #003380;
}

.dropdown-menu {
    background-color: #f8f9fa;
    border: none;
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    border-top: 2px solid #FFD700;
}

.dropdown-item {
    color: #004AAD;
    padding: 0.6rem 1.5rem;
    transition: all 0.2s ease;
}

.dropdown-item:hover {
    background-color: rgba(0, 74, 173, 0.1);
    color: #003380;
}

.dropdown-item:active {
    background-color: #004AAD;
    color: white;
}

/* Brand styling */
.navbar-brand {
    font-weight: 600;
    position: relative;
    padding-left: 18px;
}

.navbar-brand::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 130%;
    background-color: #FFD700;
    border-radius: 2px;
}

/* Mobile toggle button */
.navbar-toggler {
    border: none;
    padding: 0.5rem;
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.5);
}

/* Add yellow indicator for active page */
.navbar-dark .navbar-nav .nav-item.active .nav-link {
    position: relative;
}

.navbar-dark .navbar-nav .nav-item.active .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 3px;
    background-color: #FFD700;
    border-radius: 2px;
}

.navbar-title {
    transition: color 1s ease, text-shadow 1s ease;
}

.navbar-title:hover {
    color: #FFD700;
    text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
}

.navbar-logo {
    transition: transform 1s ease;
}

.navbar-logo:hover {
    transform: scale(1.18);
}

/* Animation for dropdown */
.dropdown-menu.show {
    animation: dropdownFade 0.3s ease;
}

@keyframes dropdownFade {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.flag_img {
    width: 2rem;
    height: auto;
    border: 1px solid rgba(0, 0, 0, 0.32);
    border-radius: 4px;
    margin-left: 8px;
}

.flag_img_hover {
    transition: transform 0.3s ease;
}

.flag_img_hover:hover {
    transform: translateY(-6px);
}

.language_item {
    cursor: pointer;
    color: inherit;
}

@media (min-width: 993px) {

    .language-nav-link {
        border-left: 1px solid rgba(255, 255, 255, 0.8);
    }
}

/* Responsive adjustments */
@media (max-width: 992px) {
    .navbar-dark .navbar-nav .nav-link {
        padding: 0.5rem 1rem;
        margin: 2px 0;
    }

    .dropdown-menu {
        background-color: rgba(0, 51, 128, 0.9);
        border-top: none;
        border-left: 2px solid #FFD700;
    }

    .dropdown-item {
        color: white;
    }

    .dropdown-item:hover {
        background-color: #004AAD;
        color: #FFD700;
    }

    .language-nav-link {
        border-top: 1px solid rgba(255, 255, 255, 0.8);
    }
}

@media (min-width: 1060px) {
    .nav-link {
        padding: 0.5rem 1rem;
        margin: 0 2px;
    }
}

/*navigacni menu-----konec*/
/* --------Login--------*/

.pozadi{
    background-size: cover;
    padding-top: 10px;
    position: relative;
    z-index: 1;
    min-height: 100vh;
}

.form-section{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    height: auto;
    padding: 50px 0;
}

.form-box{
    position: relative;
    width: 400px;
    height: auto;
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid #004AAD;
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(15px);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.form-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.25);
}

.form-box h2{
    font-size: 2em;
    color: #004AAD;
    text-align: center;
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.form-box h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 3px;
    background: #FFD700;
    border-radius: 2px;
}

.inputbox{
    position: relative;
    margin: 30px 0;
    width: 310px;
    border-bottom: 2px solid #004AAD;
}

.inputbox label{
    position: absolute;
    top: 50%;
    left: 5px;
    transform: translateY(-50%);
    color: #004AAD;
    font-size: 1em;
    pointer-events: none;
    transition: .5s;
}

.inputbox input:focus ~ label,
.inputbox input:valid ~ label{
    top: -7px;
    color: #003380;
}

.inputbox .custom-icon {
    position: absolute;
    right: 8px;
    color: #004AAD;
    font-size: 1.2em;
    top: 20px;
}

.forget{
    margin: -15px 0 15px;
    font-size: .9em;
    color: #333333;
    display: flex;
    justify-content: center;
}

.forget label input{
    margin-right: 3px;
    accent-color: #004AAD;
}

.forget label a{
    color: #004AAD;
    text-decoration: none;
    margin-left: 5px;
    transition: color 0.2s ease;
}

.forget label a:hover{
    color: #FFD700;
    text-decoration: underline;
}

.inputbox input{
    width: 100%;
    height: 50px;
    background: transparent;
    padding: 0 35px 0 5px;
    font-size: 1em;
    color: #333333;
    border: none;
    outline: none;
}

.inputbox input:focus {
    border-color: #FFD700;
}

.login_header{
    width: 100%;
    background-position: center;
    background-size: cover;
    text-align: center;
    color: #004AAD;
}

.btnlogin{
    width: 100%;
    height: 40px;
    border-radius: 40px;
    background: #004AAD;
    border: none;
    outline: none;
    cursor: pointer;
    font-size: 1em;
    font-weight: 600;
    color: #fff;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.btnlogin:hover{
    background-color: #003380;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.btnlogin:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.reqister{
    margin: 25px 0 10px;
    text-align: center;
    font-size: .9em;
    color: #333333;
}

.reqister p a{
    text-decoration: none;
    color: #004AAD;
    font-weight: 600;
    transition: color 0.2s ease;
}

.reqister p a:hover{
    color: #FFD700;
    text-decoration: underline;
}

#demo {
    color: red;
    font-size: 14px;
    font-weight: 500;
    margin-top: 10px;
    margin-bottom: 10px;
    text-transform: capitalize;
}

/* Animation for form */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.formvalue {
    animation: fadeIn 0.6s ease-out;
    padding: 20px;
    padding-bottom: 0;
}

@media (max-width: 796px){
    .form-box{
        width: 300px;
        height: 500px;
        background: rgba(255, 255, 255, 0.95);
    }

    .inputbox{
        width: 250px;
    }

    .inputbox input{
        height: 40px;
    }

    .inputbox .fa{
        font-size: 1em;
    }

    .btnlogin{
        height: 35px;
    }

    .reqister{
        margin: 15px 0 10px;
    }

    .reqister p a{
        font-size: .8em;
    }

    .forget{
        margin: -10px 0 15px;
    }

    .forget label{
        font-size: .8em;
    }

    .forget label a{
        font-size: .8em;
    }

    .form-box h2{
        font-size: 1.5em;
    }

    .logoLogin{
        display: none;
    }
}

/* Dodatečné styly pro profil */
.profile-info {
    text-align: center;
    margin-bottom: 20px;
}

.profile-avatar {
    margin-bottom: 0;
    color: #004AAD;
}

.user-photo {
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    overflow: hidden;
    background-color: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    margin-right: 1.6rem;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.user-photo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

@media (max-width: 768px) {

    .profile-avatar {
        margin-bottom: 0.6rem;
    }

    .user-photo {
        margin-right: 0;
        margin-bottom: 1rem;
    }

}

.profile-details-login-section {
    margin-bottom: 20px;
}

.profile-details h3 {
    color: #004AAD;
    margin-bottom: 15px;
    font-size: 1.5em;
}

.profile-details p {
    margin: 8px 0;
    text-align: left;
}

.detail-label {
    color: #004AAD;
}

.detail-value {
    color: #333;
}

.btn-logout {
    max-width: 140px;
}

.profile-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 2rem;
}

.btn-profile {
    display: block;
    background-color: #004AAD;
    color: white;
    text-decoration: none;
    border-radius: 40px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.btn-profile:hover {
    background-color: #003380;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
}

.error-message {
    color: red;
    margin: 15px 0;
}

/* --------Login--------konec----*/

/* --------signup--------*/

.pozadiSignup{
    background-size: cover;
    padding-top: 20px;
    position: relative;
    z-index: 1;
    min-height: 100vh;
}

.signup{
    box-sizing: border-box;
    flex-direction: column;
    display: flex;
    justify-content: flex-start;
    padding: 50px 10px 10px;
    align-items: center;
    box-shadow: 0 0 50px 0 rgba(0,0,0,0.2);
    height: auto;
}

.containerSU{
    max-width: 700px;
    width: 100%;
    background: white;
    margin: 20px auto;
    padding: 25px 30px;
    border-radius: 5px;
    height: auto;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    border-top: 4px solid #FFD700;
}

.containerSU .title{
    padding-top: 20px;
    font-size: 25px;
    font-weight: 500;
    position: relative;
    color: #004AAD;
    margin-bottom: 20px;
}

.containerSU .title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -10px;
    height: 3px;
    width: 115px;
    background: #FFD700;
    border-radius: 2px;
}

.containerSU {
    position: relative;
    margin-top: 20px;
}

.containerSU form .user-details{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 20px 0 12px 0;
    padding: 15px 15px 5px 15px;
    background-color: #f8f9fa;
    box-shadow: 0 0 20px 0 rgba(0,0,0,0.25);
    border-radius: 5px;
}

.containerSU form .user-details .input-box{
    margin-bottom: 15px;
    width: calc(100% / 2 - 20px);
}

.containerSU form .user-details .input-box input,
.containerSU form .user-details .input-box select,
.containerSU form .user-details .input-box textarea {
    height: 45px;
    width: 100%;
    outline: none;
    border-radius: 5px;
    border: 1px solid #ccc;
    padding-left: 15px;
    font-size: 16px;
    border-bottom-width: 2px;
    transition: all .4s ease;
}

.user-details .input-box .details{
    display: block;
    font-weight: 500;
    margin-bottom: 5px;
    color: #004AAD;
}

.containerSU form .user-details .input-box input:focus,
.containerSU form .user-details .input-box input:valid,
.containerSU form .user-details .input-box select:focus,
.containerSU form .user-details .input-box select:valid,
.containerSU form .user-details .input-box textarea:focus,
.containerSU form .user-details .input-box textarea:valid {
    border-color: #004AAD;
}

.containerSU form .team-details .team-title{
    font-size: 20px;
    font-weight: 500;
    color: #004AAD;
}

.containerSU form .team-details .team-underTitle{
    font-size: 14px;
    font-weight: 300;
    color: #777;
    margin-bottom: 10px;
}

.containerSU form .team-details .category-team{
    display: flex;
    width: 80%;
    margin: 14px 5px;
    justify-content: space-between;

}

.team-details .category-team .team-checkbox {
    display: flex;
    align-items: center;
    cursor: pointer;
    margin-bottom: 10px; /* Mezera mezi checkboxy */
    padding: 5px;
    transition: background-color 0.3s ease;
}

.team-details .category-team .team-checkbox input[type="checkbox"] {
    margin-right: 10px;
    cursor: pointer;
}

.team-details .category-team .team-checkbox .tym {
    flex-grow: 1;
    margin-left: 10px; /* Mezera mezi checkboxem a textem */
}

.team-details .category-team .team-checkbox:hover {
    background-color: rgba(0, 74, 173, 0.05); /* Jemné zvýraznění při hover */
}

/* Vlastní styling zaškrtávátka */
.team-details .category-team .team-checkbox input[type="checkbox"] {
    appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #004AAD;
    border-radius: 4px;
    outline: none;
    transition: all 0.3s ease;
}

.team-details .category-team .team-checkbox input[type="checkbox"]:checked {
    background-color: #004AAD;
    border-color: #004AAD;
    position: relative;
}

.team-details .category-team .team-checkbox input[type="checkbox"]:checked::after {
    content: '✓';
    position: absolute;
    color: white;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#dot-1:checked ~ .category-team label .one,
#dot-2:checked ~ .category-team label .two,
#dot-3:checked ~ .category-team label .three,
#dot-4:checked ~ .category-team label .four{
    border-color: #d9d9d9;
    background: #004AAD;
}


.buttonReg{
    height: 45px;
    margin: 45px 0;
}

.buttonReg input{
    height: 100%;
    width: 100%;
    outline: none;
    color: #fff;
    background-color: #004AAD;
    font-size: 18px;
    font-weight: 500;
    border-radius: 5px;
    letter-spacing: 1px;
    border: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.buttonReg input:hover{
    background-color: #003380;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.buttonReg input:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

#demo{
    color: red;
    font-size: 14px;
    font-weight: 500;
    margin-top: 10px;
    margin-bottom: 10px;
    text-transform: capitalize;
}

.dm{
    color: red;
    font-size: 14px;
    font-weight: 500;
    margin-top: 10px;
    margin-bottom: 10px;
    text-transform: capitalize;
}

.tym {
    transition: color 0.3s ease;
}

/* Added missing keyframes for fadeInUp animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.containerSU {
    animation: fadeInUp 0.6s ease-out;
}

.input-box {
    animation: fadeInUp 0.8s ease-out;
}

@media (max-width: 796px){
    .containerSU{
        max-width: 350px;
        width: 100%;
        background: #fff;
        margin: auto;
        padding: 25px 30px;
        border-radius: 5px;
    }
    .containerSU form .user-details .input-box{
        margin-bottom: 15px;
        width: 100%;
    }

    .containerSU form .team-details .category-team{
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .containerSU form .user-details{
        max-height: 500px;
        overflow-y: scroll;
        margin: 20px 0 12px 0;
    }
    .containerSU .title{
        padding-top: 35px;
        margin-bottom: 10px;
    }
    .user-details::-webkit-scrollbar{
        width: 5px;
    }
    .user-details::-webkit-scrollbar-thumb{
        /*background: #004AAD;*/
        border-radius: 5px;
    }
}

/* checking registration*/
/* Style for error messages */
.error-message {
    color: #e74c3c;
    font-size: 12px;
    margin-top: 5px;
    display: block;
    font-weight: 500;
    min-height: 18px;
}

/* Highlight inputs with errors */
.input-box input:invalid:focus,
.input-box select:invalid:focus,
.input-box textarea:invalid:focus {
    border-color: #e74c3c;
}

/* Date input styling */
.input-box input[type="date"] {
    height: 45px;
    width: 100%;
    outline: none;
    border-radius: 5px;
    border: 1px solid #ccc;
    padding-left: 15px;
    font-size: 16px;
    border-bottom-width: 2px;
    transition: all .4s ease;
    color: var(--dark-gray);
}

.input-box input[type="date"]:focus,
.input-box input[type="date"]:valid {
    border-color: var(--primary-blue);
}

/* Fix potential overflow issues with error messages */
.input-box {
    margin-bottom: 20px;
}

/* Improve the spacing of form elements */
.user-details {
    padding-bottom: 10px;
}

/* Make validation errors stand out more on hover */
.input-box:hover .error-message {
    font-weight: 600;
}
.input-box input.valid,
.input-box select.valid,
.input-box textarea.valid {
    border-color: #2ecc71;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%232ecc71" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>');
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 16px 16px;
}

.country-code-input.valid {
    background-image: none;
}

/* Additional mobile responsiveness for date fields */
@media (max-width: 796px) {
    .input-box input[type="date"] {
        height: 40px;
    }
}

/* signup - predvolba */
.phone-container {
    display: flex;
    width: 100%;
    gap: 8px;
}

.country-code-input {
    width: 70px;
    min-width: 70px;
    max-width: 80px;
    height: 38px; /* Reduced height */
    border-radius: 5px;
    border: 1px solid #ccc;
    padding: 0 5px;
    font-size: 14px; /* Smaller font size */
    border-bottom-width: 2px;
    transition: all .4s ease;
    color: var(--dark-gray);
    background-color: white;
    text-align: center;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: none;
    line-height: 1; /* Improved vertical alignment */
}

/* Adjust the phone number field to match height */
.phone-container input[type="tel"] {
    flex-grow: 1;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    height: 38px; /* Match the country code height */
}

.country-code-input:focus {
    border-color: var(--primary-blue);
    border-right: 1px solid var(--primary-blue);
    margin-right: -1px;
}

.street-container {
    display: flex;
    width: 100%;
    gap: 8px;
}

.street_cp {
    width: 70px;
    min-width: 70px;
    max-width: 80px;
}

/* Dodatečné styly pro výběr role */
.input-box.full-width {
    width: 100%;
}

.role-title {
    font-weight: 500;
    color: #004AAD;
    display: block;
    margin-bottom: 10px;
}

.role-options {
    display: flex;
    gap: 30px;
    margin: 10px 0;
}

.role-option {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    transition: all 0.3s ease;
}

.role-option:hover {
    border-color: #004AAD;
    background-color: rgba(0, 74, 173, 0.05);
}

.role-name {
    font-weight: 500;
}

/* Univerzální styling pro custom input */
.custom-input-container {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    user-select: none;
}

/* Skrytí defaultního inputu */
.custom-input-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Custom radio button */
.custom-radio {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #eee;
    border-radius: 50%;
    border: 2px solid #004AAD;
    transition: all 0.3s ease;
}

/* Custom checkbox */
.custom-checkbox {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #eee;
    border-radius: 4px;
    border: 2px solid #004AAD;
    transition: all 0.3s ease;
}

/* Hover state */
.custom-input-container:hover input ~ .custom-radio,
.custom-input-container:hover input ~ .custom-checkbox {
    background-color: rgba(0, 74, 173, 0.1);
}

/* Checked state pro radio */
.custom-input-container input:checked ~ .custom-radio {
    background-color: #004AAD;
}

/* Checked state pro checkbox */
.custom-input-container input:checked ~ .custom-checkbox {
    background-color: #004AAD;
}

/* Checkmark pro checkbox */
.custom-input-container .checkmark {
    position: absolute;
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
    display: none;
}

.custom-input-container input:checked ~ .checkmark {
    display: block;
}

/* Disabled state */
.custom-input-container input:disabled ~ .custom-radio,
.custom-input-container input:disabled ~ .custom-checkbox {
    background-color: #cccccc;
    border-color: #999999;
    cursor: not-allowed;
}

/* Styling pro alerts */
.alert {
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 4px;
}

.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}



/* --------signup--------konec----*/
/* --------contact--------*/
.contact-banner {
    background: linear-gradient(rgba(0, 74, 173, 0.85), rgba(0, 74, 173, 0.95)), url('/assets/images/home/water.webp');
    background-size: cover;
    background-position: center;
    padding: 80px 0;
    margin-bottom: 40px;
    color: white;
    position: relative;
}

.contact-banner h1 {
    font-weight: 800;
    margin-bottom: 15px;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    font-size: 3rem;
}

.contact-banner p {
    font-size: 1.2rem;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

/* Obecné stylování sekcí */
.contact-section-title {
    color: var(--primary-blue);
    margin-bottom: 30px;
    padding-bottom: 15px;
    position: relative;
    font-weight: 600;
}

.contact-section-title:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80px;
    height: 3px;
    background: var(--primary-yellow);
    border-radius: 2px;
}

.text-center .contact-section-title:after {
    left: 50%;
    transform: translateX(-50%);
}

/* Zajistíme, aby podtržení nadpisů sekcí bylo vždy uprostřed, když je nadpis centrovaný */
.leadership-section .contact-section-title:after,
.locations-section .contact-section-title:after {
    left: 50%;
    transform: translateX(-50%);
}

/* Informační karta */
.contact-info-card {
    background-color: white;
    border-radius: 10px;
    padding: 30px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    height: 100%;
    border-left: 4px solid var(--primary-blue);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-info-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

/* Položky kontaktních informací */
.contact-info-item {
    display: flex;
    margin-bottom: 25px;
    align-items: flex-start;
}

.contact-icon-wrapper {
    width: 50px;
    height: 50px;
    background-color: var(--primary-blue);
    border-radius: 50%;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 15px;
    flex-shrink: 0;
    font-size: 1.2rem;
    box-shadow: 0 4px 8px rgba(0, 74, 173, 0.25);
}

.contact-text h5 {
    color: var(--primary-blue);
    margin-bottom: 8px;
    font-weight: 600;
}

.contact-text p {
    margin-bottom: 0;
    color: var(--dark-gray);
    line-height: 1.6;
}

.bank-account {
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* Sociální ikony */
.contact-social {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.contact-social h5 {
    color: var(--primary-blue);
    margin-bottom: 12px;
    font-weight: 600;
}

.social-icons {
    display: flex;
    gap: 15px;
}

.social-icon {
    width: 40px;
    height: 40px;
    background-color: var(--light-gray);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--primary-blue);
    font-size: 1.1rem;
    transition: all 0.3s ease;
}

.social-icon:hover {
    background-color: var(--primary-blue);
    color: white;
    transform: translateY(-3px);
}

/* Karty osob */
.contact-team {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-person-card {
    display: flex;
    background-color: white;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-left: 4px solid var(--primary-blue);
}

.contact-person-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.person-avatar {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: var(--light-gray);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 20px;
    font-size: 2rem;
    color: var(--primary-blue);
    flex-shrink: 0;
}

.person-details {
    flex: 1;
}

.person-details h4 {
    color: var(--dark-gray);
    margin-bottom: 5px;
    font-weight: 600;
    font-size: 1.25rem;
}

.person-position {
    color: var(--primary-blue);
    font-style: italic;
    margin-bottom: 12px;
    font-weight: 500;
}

.person-contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.contact-link {
    display: flex;
    align-items: center;
    color: var(--dark-gray);
    transition: color 0.3s ease;
    text-decoration: none;
    font-size: 0.95rem;
}
.person-contact .contact-number:hover {
    text-decoration: underline;
}
.person-contact .contact-mail:hover  {
    text-decoration: underline;
}

.contact-link:hover {
    color: var(--primary-blue);

}

.contact-link i {
    margin-right: 50px;
    color: var(--primary-blue);
    width: 20px;
    text-align: center;
}

/* Vedení klubu */
.leadership-section {
    background-color: var(--light-gray);
}

.leadership-team {
    background-color: white;
    border-radius: 10px;
    padding: 30px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
    height: 100%;
    border-top: 4px solid var(--primary-yellow);
}

.leadership-team-section {
    margin-bottom: 25px;
}

.leadership-team-section:last-child {
    margin-bottom: 0;
}

.leadership-team-section h3 {
    color: var(--primary-blue);
    font-size: 1.4rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--light-gray);
    font-weight: 600;
}

.leadership-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.leadership-list li {
    display: flex;
    margin-bottom: 20px;
    align-items: flex-start;
}

.leadership-list li:last-child {
    margin-bottom: 0;
}

.leadership-icon {
    width: 40px;
    height: 40px;
    background-color: var(--primary-blue);
    border-radius: 50%;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 15px;
    flex-shrink: 0;
    box-shadow: 0 4px 8px rgba(0, 74, 173, 0.25);
}

.leadership-info {
    flex: 1;
}

.leadership-info h5 {
    color: var(--dark-gray);
    margin-bottom: 5px;
    font-weight: 600;
}

.leadership-info p {
    margin-bottom: 5px;
    color: var(--dark-gray);
    line-height: 1.4;
}

/* Lokality */
.location-card {
    height: 100%;
}

.location-card-inner {
    background-color: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.location-card:hover .location-card-inner {
    transform: translateY(-14px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}

.location-header {
    background-color: var(--primary-blue);
    color: white;
    padding: 15px 20px;
}

.location-header h4 {
    margin: 0;
    font-weight: 600;
}

.location-map {
    line-height: 0;
}


.location-details {
    padding: 15px 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.location-details p {
    margin-bottom: 0 !important;
    color: var(--dark-gray);
}

.location-details i {
    color: var(--primary-blue);
    margin-right: 8px;
}

/* Responzivní úpravy */
@media (max-width: 992px) {
    .contact-info-card {
        margin-bottom: 30px;
    }

    .leadership-team {
        margin-bottom: 30px;
    }
}

@media (max-width: 768px) {
    .contact-banner {
        padding: 60px 0;
    }

    .contact-person-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .person-avatar {
        margin-right: 0;
        margin-bottom: 15px;
    }

    .person-contact {
        align-items: center;
    }

    .contact-link {
        justify-content: center;
    }

    .leadership-list li {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .leadership-icon {
        margin-right: 0;
        margin-bottom: 10px;
    }

    .contact-info-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .contact-icon-wrapper {
        margin-right: 0;
        margin-bottom: 15px;
    }

    .contact-section-title {
        text-align: center;
    }

    .contact-section-title:after {
        left: 50%;
        transform: translateX(-50%);
    }
}

/* Animace */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.contact-info-card,
.contact-person-card,
.leadership-team,
.location-card {
    animation: fadeInUp 0.6s ease forwards;
}

.contact-person-card:nth-child(2) {
    animation-delay: 0.2s;
}

.contact-person-card:nth-child(3) {
    animation-delay: 0.4s;
}

/*!* --------contact--------konec----*!*/


/* -----------Animation effects-------- scroll.js */
.animate-element {
    transition: all 0.6s ease;
}

.animate-element.not-visible {
    opacity: 0;
    transform: translateY(50px);
}

.animate-element.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* --------footer---------*/

.footer {
    margin-top: auto;
    color: var(--light-gray);
    background-color: var(--black-color-light);
    text-align: center;
}

.upper-footer {

}

.lower-footer {
    border-top: 1px solid hsla(200, 10%, 88%, 0.5);
    width: 70%;
    margin: 0 auto;
    text-align: center;
}

.middle-footer {
    border-top: 1px solid hsl(200, 10%, 88%, 0.5);
}

.text-in-copyright {
    color: var(--copyright-color);
    pointer-events: none;
}

.link-in-copyright {
    color: var(--copyright-link-color);
    pointer-events: none;
}

.obr-v-footer {
    transition: transform 0.6s ease-in-out;
}

.obr-v-footer:hover{
    transform: scale(1.18);
}

.footer-kontakt {
    color: var(--light-gray);
    display: inline-block;
    line-height: 2.8;
    width: fit-content;
    cursor: default;
}

.footer-sekce {
    color: var(--light-gray);
    display: inline-block;
    line-height: 2.8;
    width: fit-content;
    text-decoration: none;
}

.footer-kontakt:hover {
    color: var(--light-gray);
}

.footer-media {
    display: inline-block;
    color: var(--light-gray);
    transition: color 0.6s ease, transform 0.6s ease;
}

@media (max-width: 767px) {

}

@media (min-width: 767px) {

    .footer-kontakt {
        transition: transform 0.3s ease, text-shadow 0.6s ease;
    }

    .footer-kontakt:hover {
        color: var(--light-gray);
        transform: translateX(18px);
        text-shadow: 6px 6px 9px rgba(0, 0, 0, 0.4);
    }

    .footer-sekce {
        transition: color 0.6s ease, text-shadow 0.6s ease;
    }

    .footer-sekce:hover {
        color: var(--primary-yellow);
        text-shadow: 6px 6px 9px rgba(0, 0, 0, 0.4);
    }

    .footer-media:hover {
        color: var(--primary-yellow);
        transform: scale(1.2);
    }

    .footer-prostredni-media {
        border-left: 4px solid hsla(200, 10%, 88%, 0.5);
        border-right: 4px solid hsla(200, 10%, 88%, 0.5);
    }
}

/*--------footer-------konec----*/

/*--------Domů-------------*/

.main-page-image {
    display: flex;
    position: relative;
    background: url(/assets/images/home/main_photo.webp) no-repeat center center;
    background-size: cover;
    width: 100%;
    height: 94vh;
    min-height: 500px; /* Minimální výška obrázku */
    overflow: hidden;
}

.main-page-image::before {
     position: absolute;
     content: " ";
     top: 0;
     left: 0;
     background: rgba(0, 0, 0, 0.4);
     width: 100%;
     height: 100%;
     z-index: 1;
     border-bottom: 12px solid var(--primary-yellow);
 }

.main-page-image h1 {
    color: white;
    text-shadow: 4px 4px 8px rgba(0, 0, 0, 0.8);
    font-size: 80px;
    padding-top: 10%;
    padding-bottom: 14px;
}

.main-page-image h1::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 4px;
    background: linear-gradient(90deg, transparent, var(--primary-yellow), transparent);
    border-radius: 4px;
}

.div_to_right {
    opacity: 0;
    transform: translateX(30px);
    transition: opacity 1s ease, transform 0.7s ease;
}

.div_to_right.visible {
    opacity: 1;
    transform: translateX(0);
}

.div_to_up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1s ease, transform 0.7s ease;
}

.div_to_up.visible {
    opacity: 1;
    transform: translateY(0);
}

.div_to_left {
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity 1s ease, transform 0.7s ease;
}

.div_to_left.visible {
    opacity: 1;
    transform: translateX(0);
}

.div_to_bottom {
    opacity: 0;
    transform: translateY(-60px);
    transition: opacity 1s ease, transform 0.7s ease;
}

.div_to_bottom.visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-in {
    animation: fadeIn 2s ease forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.wave-in {
    animation: waveIn 1s ease-out forwards;
}

@keyframes waveIn {
    0% {
        transform: rotate(-10deg) translateY(50px);
        opacity: 0;
    }
    100% {
        transform: rotate(0deg) translateY(0);
        opacity: 1;
    }
}

.bounce-in {
    animation: bounceIn 2s ease-out forwards;
}

@keyframes bounceIn {
    0% {
        transform: scale(0.8);
        opacity: 0;
    }
    60% {
        transform: scale(1.05);
        opacity: 1;
    }
    100% {
        transform: scale(1);
    }
}

.opening-hours {
    backdrop-filter: blur(4px);
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.8);
    background-color: rgba(0, 0, 0, 0.6);
    width: 40%;
    border-radius: 24px;
    margin-top: 3rem;
    margin-bottom: 6rem; /* Přidáno - zajistí prostor pod boxem pro šipku */
    position: relative; /* Přidáno - umožňuje lepší pozicování */
    z-index: 3; /* Přidáno - zajistí, že box bude nad šipkou */
}

.opening-hours h5 {
    font-size: 2.5rem;
}

.opening-hours ul {
    font-size: 1.25rem;
}

@media (max-width: 1399px) {
    .main-page-image h1 {
        font-size: 70px;
    }

    .opening-hours h5 {
        font-size: 2.2rem;
    }

    .opening-hours ul {
        font-size: 1.2rem;
    }
}

@media (max-width: 1199px) {
    .main-page-image h1 {
        font-size: 60px;
    }

    .opening-hours h5 {
        font-size: 2rem;
    }

    .opening-hours ul {
        font-size: 1.1rem;
    }
}

@media (max-width: 991px) {
    .main-page-image {
        min-height: 600px; /* Zvětšená minimální výška na středních obrazovkách */
    }

    .main-page-image h1 {
        font-size: 50px;
    }

    .opening-hours {
        width: 80%;
        margin-bottom: 5rem; /* Menší margin na menších obrazovkách */

    }

    .opening-hours h5 {
        font-size: 1.8rem;
    }

    .opening-hours ul {
        font-size: 1.05rem;
    }
}

@media (max-width: 767px) {

    .main-page-image h1 {
        font-size: 40px;
    }

    .opening-hours {
        width: 80%;
        margin-bottom: 4rem;
    }

    .opening-hours h5 {
        font-size: 1.6rem;
    }

    .opening-hours ul {
        font-size: 1rem;
    }
}

@media (max-width: 575px) {
    .main-page-image h1 {
        font-size: 32px;
    }

    .opening-hours {
        width: 80%;
        margin-bottom: 3.5rem;

    }
    .arrow-down {
    }

    .opening-hours h5 {
        font-size: 1.4rem;
    }

    .opening-hours ul {
        font-size: 0.95rem;
    }
}

.arrow-down {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: 2rem;
    color: white;
    animation: bounce 2s infinite;
    z-index: 2;

    bottom: 2rem; /* Změněno z 5rem na 2rem - posune šipku výš */
    margin-top: 0; /* Odstraněno margin-top */
}

.arrow-down:hover {
    cursor: pointer;
}


@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    40% {
        transform: translateX(-50%) translateY(-10px);
    }
    60% {
        transform: translateX(-50%) translateY(-5px);
    }
}

.fixed-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/assets/images/home/under_water.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -2;
}

.fixed-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.6);
    z-index: -1;
}

.page-content {
    position: relative;
    z-index: 1;
}

.repre {
    border-radius: 24px;
    background-color: rgba(255,255,255,0.48);
    backdrop-filter: blur(4px);
}

.repre h1 {
    color: var(--primary-blue);
}

.repre p {
    font-size: clamp(1rem, 1vw + 0.5rem, 1.25rem);
    line-height: 1.8;
}

.o_nas_div {
    border-radius: 24px;
    background-color: rgba(255,255,255,0.48);
    backdrop-filter: blur(4px);
}

.o_nas_div h1 {
    color: var(--primary-blue);
}

.o_nas_div p {
    font-size: clamp(1rem, 1vw + 0.5rem, 1.25rem);
    line-height: 1.8;
}

.trapezoid-section {
    display: flex;
    width: 100%;
    height: 500px;
    overflow: hidden;
}

.trapezoid {
    width: 50%;
    height: 100%;
    position: relative;
    clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
}

.trapezoid-right {
    clip-path: polygon(15% 0, 100% 0, 100% 100%, 0% 100%);
    background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(4px);
}

.trapezoid-left {
    background-size: cover;
    background-position: center;
    position: relative;
    background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(4px);
}

.trapezoid-right .image-content {
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 100%;
}

.text-content {
    z-index: 1;
}

.home_trapezoid_mobile {
    background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(4px);
    border-radius: 18px;
    width:80%;
}

.home_trapezoid_mobile h2 {
    color: var(--primary-blue);
    font-size: clamp(1.8rem, 2.5vw, 1.5rem);
}

.home_trapezoid_mobile p {
    font-size: clamp(1rem, 2.5vw, 1.5rem);
}

@media (max-width: 768px) {
    .trapezoid-section {
        flex-direction: column;
        height: auto;
    }

    .trapezoid, .trapezoid-right {
        clip-path: none;
        width: 100%;
        height: 300px;
    }

    .text-content {
        padding: 2rem 1rem;
    }
}


.trapezoid-section.reversed .trapezoid-left {
    clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
}

.trapezoid-section.reversed .trapezoid-right {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 15% 100%);
}

.trapezoid-section.reversed .trapezoid-left .image-content {
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 100%;
}

.plavani-content {
    background-image: url("/assets/images/home/druzstva/plavani.webp")
}

.dalkari-content {
    background-image: url("/assets/images/home/druzstva/dalkove.webp")
}

.masters-content {
    background-image: url("/assets/images/home/druzstva/masters.webp")
}

.synchro-content {
    background-image: url("/assets/images/home/druzstva/synchro.webp")
}

.btn-oval {
    padding: 0.6rem 1.6rem;
    font-size: 1.4rem;
    border: 2px solid var(--primary-blue);
    background-color: transparent;
    color: var(--primary-blue);
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.4s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    font-weight: 600;
}

.btn-oval:hover {
    background-color: var(--primary-blue);
    border: 2px solid var(--primary-blue);
    color: white;
}

/* Club information section styles */
#club-info {
    background-color: #f8f9fa;
    position: relative;
    overflow: hidden;
}

#club-info::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(to right, #004AAD, #FFD700, #004AAD);
}


.club-info-card {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    padding: 2.5rem;
    position: relative;
    overflow: hidden;
}

.club-info-card .section-title {
    color: #004AAD;
    font-weight: 600;
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 30px;
}

.club-info-card .section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: #FFD700;
    border-radius: 2px;
}

.club-info-content {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #333;
}

.feature-box {
    background-color: #f9f9f9;
    border-radius: 8px;
    padding: 1.5rem;
    min-height: 400px;
    transition: all 0.3s ease;
    border-left: 4px solid #004AAD;
    box-shadow: 8px 14px 10px rgba(0, 0, 0, 0.35);
    margin-bottom: 3rem !important;
}

.feature-box2 {
    background-color: #f9f9f9;
    border-radius: 8px;
    padding: 1.5rem;
    transition: all 0.3s ease;
    border-left: 4px solid #004AAD;
    box-shadow: 8px 14px 10px rgba(0, 0, 0, 0.35);
    margin-bottom: 3rem !important;
    height: 100%;
}


.feature-box:hover {
    transform: translateY(-5px);

}

.feature-icon {
    width: 60px;
    height: 60px;
    background-color: #004AAD;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin: 0 auto 1rem auto;
}

.feature-box h4 {
    color: #004AAD;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.feature-box-content {
    position: relative;
    z-index: 2;
}

.home_history {
    background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(4px);
    border-radius: 18px;
    margin: 3rem auto 8rem auto;
}

.history_year {
    text-decoration: none;
    background-color: #004AAD;
    color: white;
    font-weight: bold;
    font-size: 2rem !important;
    margin-bottom: 1rem;
    padding: 1rem 1.4rem 1rem 1.4rem;
    border-radius: 60px;
    border-bottom: 14px solid var(--primary-yellow);
}

.history_text {
    font-size: 1.2rem !important;
}

@media (max-width: 767.98px) {
    /* CSS pro malé displeje */
    .margin_left{
        margin-left: 0;
    }

    .margin_right{
        margin-right: 0;
    }
}

@media (min-width: 768px) {
    /* CSS pro velké displeje */
    .margin_left{
        margin-left: 11rem;
    }

    .margin_right{
        margin-right: 11rem;
    }
}


.feature-box-with-wave {
    position: relative;
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 1rem;
    padding: 2rem 1rem 3rem;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
}

.feature-box-with-wave:hover {
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
    transform: translateY(-5px);
}


.wave-svg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px;
    z-index: 1;
}

.wave-svg svg {
    width: 100%;
    height: 100%;
}

.wave-path {
    transition: d 0.4s ease-in-out;
}

.club-info-button {
    display: inline-block;
    background-color: transparent;
    color: var(--primary-blue);
    border: 2px solid var(--primary-blue);
    font-weight: 600;
    padding: 0.8rem 2rem;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top: 1rem;
}

.club-info-button:hover {
    background-color: var(--primary-blue);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 74, 173, 0.3);
    text-decoration: none;
}

/* Animation for features */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.feature-box {
    animation: fadeInUp 0.6s ease-out;
}

.feature-box:nth-child(1) { animation-delay: 0.1s; }
.feature-box:nth-child(2) { animation-delay: 0.2s; }
.feature-box:nth-child(3) { animation-delay: 0.3s; }
.feature-box:nth-child(4) { animation-delay: 0.4s; }

/*pridano konec*/

@media (max-width: 767px) {

    .main-page-image-content {
        border-radius: 8px;
    }
/*    pridano*/
    .club-info-card {
        padding: 1.5rem;
    }

    .feature-box {
        margin-bottom: 1rem;
    }
    .left_box{
        padding-bottom: 20px;
    }
/*    pridano konec*/

}

@media (min-width: 767px) {

}

/*PRIDANO PRO TESTOVANI*/
/* Sekce událostí */
.events-section {
    padding: 60px 0;
}

.section-title {
    color: var(--primary-blue);
    position: relative;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    font-weight: 700;
}

.section-title:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background-color: var(--primary-yellow);
    border-radius: 2px;
}

.event-card {
    background-color: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    height: 100%;
    min-height: 386px;
}

.event-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.event-img-container {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.event-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.event-card:hover .event-img {
    transform: scale(1.1);
}

.event-date {
    position: absolute;
    top: 15px;
    left: 15px;
    background-color: var(--primary-blue);
    color: white;
    border-radius: 4px;
    padding: 8px 12px;
    text-align: center;
    z-index: 1;
}

.event-day {
    display: block;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
}

.event-month {
    display: block;
    font-size: 0.8rem;
    text-transform: uppercase;
}

.event-content {
    padding: 1.5rem;
}

.event-title {
    font-size: 1.25rem;
    color: var(--primary-blue);
    margin-bottom: 1rem;
    font-weight: 600;
}

.event-excerpt {
    color: var(--dark-gray);
    margin-bottom: 1rem;
    font-size: 0.95rem;
}

.event-read-more {
    color: var(--primary-blue);
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
}

.event-read-more i {
    margin-left: 5px;
    transition: transform 0.2s ease;
}

.event-read-more:hover {
    color: var(--primary-yellow);
    text-decoration: none;
}

.event-read-more:hover i {
    transform: translateX(5px);
}

.btn-more-events {
    display: inline-block;
    background-color: transparent;
    color: var(--primary-blue);
    border: 2px solid var(--primary-blue);
    font-weight: 600;
    padding: 0.8rem 2rem;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top: 1rem;
}
.mainP-kontaktujeNas{
    display: inline-block;
    background-color: transparent;
    color: var(--primary-blue);
    border: 2px solid var(--primary-blue);
    font-weight: 600;
    padding: 0.8rem 2rem;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top: 1rem;
}
.mainP-kontaktujeNas:hover{
    background-color: var(--primary-blue);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 74, 173, 0.3);
    text-decoration: none;
}

.btn-more-events:hover {
    background-color: var(--primary-blue);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 74, 173, 0.3);
    text-decoration: none;
}

/* Partners Section */
.partners-section {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 60px 0;
}

.partner-link {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
    padding: 15px;
    opacity: 0.7;
    filter: grayscale(100%);
    transition: all 0.3s ease;
}

.partner-link:hover {
    filter: grayscale(0);
    opacity: 1;
    transform: scale(1.05);
}

.partner-logo {
    max-width: 100%;
    max-height: 100%;
}

/* Admin Controls */
.admin-controls {
    text-align: right;
    margin-bottom: 30px;
}

.admin-actions {
    display: flex;
    margin-bottom: 1rem;
}

/* Forms */
#eventForm {
    margin-bottom: 30px;
    transition: all 0.3s ease;
}

.form-group label {
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: 0.5rem;
}

.ck-editor__editable {
    min-height: 200px;
}

/* Responsive Adjustments */
@media (max-width: 991px) {
    .feature-box {
        margin-bottom: 20px;
    }

    .admin-controls {
        text-align: center;
    }

    .partner-link {
        filter: grayscale(0%);
        opacity: 1;
    }

}

@media (max-width: 767px) {
    .event-card {
        max-width: 350px;
        margin: 0 auto 30px;
    }

    .partner-link {
        height: 80px;
    }

    .admin-actions {
        flex-direction: column;
        gap: 0.5rem;
    }
}

@media (max-width: 576px) {
    .section-title {
        font-size: 1.8rem;
    }

    .event-img-container {
        height: 180px;
    }

    .event-title {
        font-size: 1.1rem;
    }

    .partner-link {
        height: 70px;
    }
}
/* Styl pro odkaz na celou kartu */
.event-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
}

.event-card-link:hover {
    text-decoration: none;
    color: inherit;
}

/* Přidání efektu při najetí myší na celou kartu */
.event-card-link:hover .event-card {
    transform: translateY(-15px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

/* Zvýraznění tlačítka "Číst dál" při najetí myší */
.event-card-link:hover .event-read-more {
    color: var(--primary-yellow);
}

.event-card-link:hover .event-read-more i {
    transform: translateX(8px);
}

/* ===== NOVÁ SEKCE O NÁS ===== */
#about_us_info {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

#about_us_info .section-title {
    color: var(--primary-blue);
    position: relative;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    font-weight: 700;
}

#about_us_info .section-title:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background-color: var(--primary-yellow);
    border-radius: 2px;
}

.info-item {
    background: white;
    padding: 1.5rem;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    height: 100%;
    transition: transform 0.3s ease;
}

.info-item:hover {
    transform: translateY(-5px);
}

.info-item h5 {
    color: var(--primary-blue);
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.info-item p {
    color: var(--dark-gray);
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
}


/*--------Domů---------konec----*/

/*--------whistleblowing---------*/
/* Whistleblowing page styles */
.whistleblowing-section {
    padding: 2rem 0;
    position: relative;
}

.whistleblowing-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(to right, var(--primary-blue), var(--primary-yellow), var(--primary-blue));
}

.whistleblowing-card {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 2rem;
}

.whistleblowing-header {
    background-color: var(--light-gray);
    padding: 2rem;
    position: relative;
}

.whistleblowing-header h1 {
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.whistleblowing-header h5 {
    color: rgba(255, 255, 255, 0.8);
    font-weight: 400;
}

.whistleblowing-content {
    padding: 2rem;
    color: var(--dark-gray);
    font-size: 1.05rem;
    line-height: 1.6;
}

.whistleblowing-content p {
    margin-bottom: 1.5rem;
    text-align: justify;
}

.info-section {
    background-color: var(--light-gray);
    border-radius: 8px;
    padding: 1.5rem;
    margin: 1.5rem 0;
    border-left: 4px solid var(--primary-blue);
}

.info-section h4 {
    color: var(--primary-blue);
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.legal-list {
    list-style-type: none;
    padding-left: 1.5rem;
}

.legal-list li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.8rem;
}

.legal-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.5rem;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--primary-yellow);
}

.alert-section {
    background-color: rgba(255, 215, 0, 0.1);
    border-radius: 8px;
    padding: 1.5rem;
    margin: 1.5rem 0;
    border: 1px solid rgba(255, 215, 0, 0.3);
}

.alert-section p {
    margin-bottom: 1rem;
}

.alert-section p:last-child {
    margin-bottom: 0;
}

.alert-section i {
    color: var(--primary-blue);
}

.contact-section {
    margin-top: 2rem;
}

.contact-section h4 {
    color: var(--primary-blue);
    position: relative;
    padding-bottom: 0.8rem;
}

.contact-section h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: var(--primary-yellow);
    border-radius: 2px;
}

.contact-card {
    background-color: var(--light-gray);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
}

.contact-header {
    background-color: var(--primary-blue);
    color: white;
    padding: 1rem 1.5rem;
}

.contact-header h5 {
    margin-bottom: 0;
    font-size: 1.1rem;
}

.contact-body {
    padding: 1.5rem;
}

.contact-name {
    font-size: 1.2rem;
    color: var(--primary-blue);
    margin-bottom: 1rem;
}

.contact-body p {
    margin-bottom: 0.5rem;
}

.contact-body i {
    color: var(--primary-blue);
}

.postal-address {
    padding-top: 0.8rem;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

/* Icons styling */
.fas {
    color: var(--primary-blue);
}

.whistleblowing-header .fas {
    color: var(--primary-yellow);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .whistleblowing-header {
        padding: 1.5rem;
    }

    .whistleblowing-content {
        padding: 1.5rem;
    }

    .whistleblowing-header h1 {
        font-size: 1.8rem;
    }

    .info-section,
    .alert-section {
        padding: 1rem;
    }
}
/* --------whistleblowing-----konec--------*/

/*--------Forgotten password---------*/

/* Styles for the forgotten password page with fp- prefix */

/* Styles for the forgotten password page with fp- prefix */

.fp-pozadi {
    background-size: cover;
    padding-top: 20px;
    position: relative;
    z-index: 1;
    min-height: 100vh;
}

.fp-section {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 80vh;
    width: 100%;
}

.fp-form-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.fp-form-box {
    position: relative;
    width: 400px;
    height: auto;
    background: white;
    border-radius: 20px;
    border-top: 4px solid #FFD700;
    display: block;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

.fp-form-content {
    width: 100%;
    padding: 40px;
    padding-bottom: 0;
}

.fp-title {
    font-size: 2em;
    color: #004AAD;
    text-align: center;
    margin-bottom: 20px;
}

.fp-instructions {
    color: #666;
    text-align: center;
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 1.5;
}

.fp-input-box {
    position: relative;
    margin: 30px 0;
    width: 100%;
    border-bottom: 2px solid #004AAD;
}

.fp-label {
    position: absolute;
    top: 50%;
    left: 8px;
    transform: translateY(-50%);
    color: #004AAD;
    font-size: 1em;
    pointer-events: none;
    transition: .5s;
}

.fp-input-box input:focus ~ .fp-label,
.fp-input-box input:valid ~ .fp-label {
    top: -5px;
    font-size: 0.8em;
}

.fp-input-box input {
    width: 100%;
    height: 50px;
    background: transparent;
    border: none;
    outline: none;
    font-size: 1em;
    color: #004AAD;
}

.fp-icon {
    position: absolute;
    right: 8px;
    color: #004AAD;
    font-size: 1.2em;
    top: 20px;
}

.fp-message-container {
    min-height: 20px;
    margin: 20px 0;
}

.fp-message {
    color: red;
    font-size: 14px;
    text-align: center;
    margin: 0;
}

.fp-button {
    width: 100%;
    height: 45px;
    background: #004AAD;
    border: none;
    outline: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 1em;
    color: white;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-top: 15px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.fp-button:hover {
    background-color: #003380;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.fp-button:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

a.fp-button-success {
    display: inline-block;
    background-color: #0052cc; /* sytě modrá */
    color: white;
    text-decoration: none;
    padding: 14px 40px;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    transition: background-color 0.3s ease, transform 0.3s ease;
    cursor: pointer;
}

a.fp-button-success:hover {
    background-color: #003d99;
    transform: translateY(-3px);
}

a.fp-button-success:active {
    transform: scale(0.98);
}

.fp-login-link {
    font-size: 0.9em;
    color: #666;
    text-align: center;
    margin: 25px 0 10px;
}

.fp-login-link p a {
    text-decoration: none;
    color: #004AAD;
    font-weight: 500;
}

.fp-login-link p a:hover {
    text-decoration: underline;
}

/* Animation for form */
@keyframes fp-fadeIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fp-form-box {
    animation: fp-fadeIn 0.5s ease forwards;
}

/* Responsive adjustments */
@media (max-width: 430px) {
    .fp-form-box {
        width: 90%;
    }

    .fp-form-content {
        padding: 30px 20px;
    }

    .fp-title {
        font-size: 1.8em;
    }
}

/*--------Forgotten password---------konec----*/

/* --------profil--------*/

.pozadiProfile {
    background-size: cover;
    padding-top: 20px;
    position: relative;
    z-index: 1;
    min-height: 100vh;
}

.profile {
    box-sizing: border-box;
    flex-direction: column;
    display: flex;
    justify-content: flex-start;
    padding: 50px 10px 10px;
    align-items: center;
    box-shadow: 0 0 50px 0 rgba(0,0,0,0.2);
    height: auto;
}

.containerProfile {
    max-width: 900px;
    width: 100%;
    background: white;
    margin: 20px auto;
    padding: 25px 30px;
    border-radius: 5px;
    height: auto;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    border-top: 4px solid #FFD700;
}

.containerProfile .title {
    padding-top: 20px;
    font-size: 25px;
    font-weight: 500;
    position: relative;
    color: #004AAD;
    margin-bottom: 20px;
}

.containerProfile .title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -10px;
    height: 3px;
    width: 165px; /* Širší pro delší text "Profil uživatele" */
    background: #FFD700;
    border-radius: 2px;
}

/* Profil hlavička */
.profile-header {
    display: flex;
    align-items: center;
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 5px;
    box-shadow: 0 0 20px 0 rgba(0,0,0,0.05);
}

.profile-motto {
    max-width: 33rem;
    font-style: italic;
    opacity: 0.6;
    font-size: 1rem;
    text-align: center;
    color: #000000;
}

.profile-avatar {
    font-size: 4rem;
    color: #004AAD;
    margin-right: 20px;
}

.profile-name h2 {
    margin: 0;
    color: #004AAD;
    font-size: 1.8rem;
}

.profile-team {
    display: inline-block;
    margin-top: 5px;
    padding: 3px 10px;
    border-radius: 15px;
    background-color: #004AAD;
    color: white;
    font-size: 0.9rem;
}

/* Záložky */
.profile-tabs {
    margin-top: 20px;
}

.tab-nav {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 2px solid #e0e0e0;
    justify-content: center;
}

.tab-btn {
    padding: 10px 20px;
    margin-right: 5px;
    margin-bottom: -2px;
    border: none;
    background: none;
    color: #666;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
}

.tab-btn:hover {
    color: #004AAD;
}

.tab-btn.active {
    color: #004AAD;
    border-bottom: 2px solid #004AAD;
}

.tab-content {
    display: none;
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 5px;
    box-shadow: 0 0 20px 0 rgba(0,0,0,0.05);
    animation: fadeIn 0.5s ease-out;
}

.tab-content.active {
    display: block;
}

/* Animace pro zobrazení obsahu záložky */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Formuláře v záložkách */
.profile-details {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 20px 0;
}

.input-box {
    margin-bottom: 15px;
    width: calc(100% / 2 - 20px);
}

.input-box.full-width {
    width: 100%;
}

.input-box input,
.input-box select,
.input-box textarea {
    height: 45px;
    width: 100%;
    outline: none;
    border-radius: 5px;
    border: 1px solid #ccc;
    padding-left: 15px;
    font-size: 16px;
    border-bottom-width: 2px;
    transition: all .4s ease;
}

.profile-details .input-box .details,
.input-box span.details {
    display: block;
    font-weight: 500;
    margin-bottom: 5px;
    color: #004AAD;
}

.input-box input:focus,
.input-box input:valid,
.input-box select:focus,
.input-box select:valid,
.input-box textarea:focus,
.input-box textarea:valid {
    border-color: #004AAD;
}

.buttonProfile {
    height: 45px;
    margin: 30px 0 10px;
}

.buttonProfile button {
    height: 100%;
    width: 100%;
    outline: none;
    color: #fff;
    background-color: #004AAD;
    font-size: 18px;
    font-weight: 500;
    border-radius: 8px;
    letter-spacing: 1px;
    border: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    cursor: pointer;
}

.buttonProfile button:hover {
    background-color: #003380;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.buttonProfile button:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Info tab - pouze pro čtení */
.read-only-info {
    width: 100%;
}

.info-group {
    display: flex;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e0e0e0;
}

.info-group:last-child {
    border-bottom: none;
}

.info-label {
    width: 150px;
    font-weight: 500;
    color: #004AAD;
}

.info-value {
    flex: 1;
    color: #333;
}

/* Zpráva - chyba/úspěch */
.message {
    color: red;
    font-size: 14px;
    font-weight: 500;
    margin-top: 10px;
    margin-bottom: 10px;
    text-align: center;
}

.message.success {
    color: green;
}

/* Responzivní design */
@media (max-width: 796px) {
    .containerProfile {
        max-width: 95%;
        padding: 20px;
    }

    .profile-details .input-box {
        width: 100%;
    }

    .tab-nav {
        justify-content: center;
    }

    .tab-btn {

        padding: 8px 15px;
        margin-bottom: 5px;
    }

    .profile-header {
        flex-direction: column;
        text-align: center;
    }

    .profile-avatar {
        margin-right: 0;
        margin-bottom: 15px;
    }

    .info-group {
        flex-direction: column;
    }

    .info-label {
        width: 100%;
        margin-bottom: 5px;
    }
}

/* --------profil------ konec --*/

/*--------dokumenty pro stazeni---------*/
.pozadiDownload {
    background-size: cover;
    padding-top: 20px;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
    min-height: 100vh;
}

.download {
    box-sizing: border-box;
    flex-direction: column;
    display: flex;
    justify-content: flex-start;
    padding: 50px 10px 10px;
    align-items: center;
    height: auto;
}

.containerDownload {
    max-width: 900px;
    width: 100%;
    background: white;
    margin: 20px auto 0;
    padding: 10px 30px;
    background-color: rgba(255,255,255,0.48);
    backdrop-filter: blur(4px);
    border-radius: 24px;
    height: auto;
    overflow: hidden;
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.6);
}

.containerDownload .title {
    padding-top: 20px;
    font-size: 25px;
    font-weight: 500;
    position: relative;
    color: #004AAD;
    margin-bottom: 30px;
    text-align: left;
}

.containerDownload .title::after {
    content: '';
    position: absolute;
    left: 5%;
    bottom: -10px;
    height: 3px;
    width: 220px;
    background: #FFD700;
    border-radius: 2px;
}

.dwn-btn-container {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
}

.dwn-add-btn {
    padding: 8px 20px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    font-weight: 500;
}

.dwn-add-btn:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.dwn-add-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.dwn-add-btn i {
    margin-right: 5px;
}

/* Záložky pro stažení dokumentů */
.download-tabs {
    margin-top: 30px;
}

.tab-nav {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 2px solid #e0e0e0;
}

.dwn-tab-btn {
    padding: 10px 20px;
    margin-right: 5px;
    margin-bottom: -2px;
    border: none;
    background: none;
    color: #666;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
}

.dwn-tab-btn:hover {
    color: #004AAD;
}

.dwn-tab-btn.active {
    color: #004AAD;
    border-bottom: 2px solid #004AAD;
}

.dwn-tab-content {
    display: none;
    padding: 20px;
    background-color: rgba(255, 255, 255, 0.60);
    backdrop-filter: blur(4px);
    border-radius: 5px;
    box-shadow: 0 0 20px 0 rgba(0,0,0,0.05);
    animation: fadeIn 0.5s ease-out;
}

.dwn-tab-content.active {
    display: block;
}

/* Popis kategorie */
.dwn-category-description {
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e0e0e0;
}

.dwn-category-description p {
    color: #555;
    font-size: 16px;
    line-height: 1.6;
}

/* Seznam dokumentů */
.dwn-document-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.dwn-document-item {
    display: flex;
    align-items: center;
    padding: 15px;
    background-color: rgba(255, 255, 255, 0.90);
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.dwn-document-item:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.48);
    transform: translateY(-2px);
}

.dwn-document-icon {
    font-size: 2.5rem;
    margin-right: 20px;
    color: #004AAD;
    flex-shrink: 0;
    width: 60px;
    text-align: center;
}

.dwn-document-info {
    flex: 1;
}

.dwn-document-title {
    margin: 0 0 5px 0;
    font-size: 18px;
    color: #004AAD;
}

.dwn-document-description {
    margin: 0 0 8px 0;
    color: #555;
    font-size: 14px;
}

.dwn-document-date {
    display: block;
    font-size: 12px;
    color: #888;
}

.dwn-download-btn {
    display: inline-block;
    padding: 8px 15px;
    background-color: #004AAD;
    color: white;
    border-radius: 18px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.dwn-download-btn:hover {
    background-color: #003380;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    color: white;
    text-decoration: none;
}

.dwn-download-btn:active {
    transform: translateY(1px);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.dwn-download-btn i {
    margin-right: 5px;
}

/* Animace pro zobrazení obsahu záložky */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Responzivní design */
@media (max-width: 796px) {
    .containerDownload {
        max-width: 95%;
        padding: 20px;
    }

    .tab-nav {
        justify-content: center;
    }

    .dwn-tab-btn {
        padding: 8px 15px;
        margin-bottom: 5px;
    }

    .dwn-document-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .dwn-document-icon {
        margin-right: 0;
        margin-bottom: 10px;
        width: 100%;
        text-align: center;
    }

    .dwn-document-info {
        width: 100%;
        margin-bottom: 15px;
    }

    .dwn-document-actions {
        margin-left: 0;
        width: 100%;
    }

    .dwn-download-btn {
        display: inline-block;
    }
}

/* Ikony pro různé typy souborů */
.fa-file-pdf {
    color: #DC3545;
}

.fa-file-word {
    color: #0D6EFD;
}

.fa-file-excel {
    color: #198754;
}

.fa-file-powerpoint {
    color: #FD7E14;
}

.fa-file-image {
    color: #6F42C1;
}

.fa-file-video {
    color: #0DCAF0;
}
/*--------dokumenty pro stazeni---------konec----*/




/*--------sprava uzivatelu---------*/


/* Main container */
.user-management-container {
    max-width: 1200px;
    margin: 2rem auto;
    padding: 0 15px;
    background-color: rgba(255,255,255,0.48);
    border-radius: 24px;
    backdrop-filter: blur(4px);
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.6);
}

.user-page-title {
    color: var(--primary-blue);
    margin-bottom: 1.5rem;
    padding-bottom: 0.8rem;
    border-bottom: 3px solid var(--primary-yellow);
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

/* Tab Navigation */
.user-tabs-container {
    margin-bottom: 1.5rem;
}

.user-tabs {
    display: flex;
    border-bottom: 2px solid var(--light-gray);
}

.user-tab-button {
    padding: 0.8rem 1.5rem;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.user-tab-button:hover {
    color: var(--primary-blue);
    border-bottom-color: var(--primary-yellow);
}

.user-tab-button.active {
    color: var(--primary-blue);
    border-bottom-color: var(--primary-blue);
}

.user-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--light-gray);
    color: var(--dark-gray);
    border-radius: 50%;
    min-width: 1.5rem;
    height: 1.5rem;
    font-size: 0.8rem;
    padding: 0 0.3rem;
}

/* Tab Content */
.user-tab-pane {
    display: none;
}

.user-tab-pane.active {
    display: block;
}

/* Card Design */
.user-card {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.user-card-header {
    padding: 1rem 1.5rem;
    background-color: var(--light-gray);
    border-bottom: 1px solid rgba(0,0,0,0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.user-card-header h2 {
    color: var(--primary-blue);
    margin: 0;
    font-size: 1.5rem;
}

.user-card-body {
    padding: 1.5rem;
    padding-top: 0.8rem;
    background-color: var(--body-color);
}

.user-card-tools {
    display: flex;
    gap: 0.8rem;
    align-items: center;
    flex-wrap: wrap;
}

/* Search box */
.user-search-box {
    position: relative;
}

.user-search-box input {
    padding: 0.5rem 0.8rem 0.5rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    width: 250px;
    transition: all 0.3s ease;
}

.user-search-box input:focus {
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 3px rgba(0, 74, 173, 0.1);
    outline: none;
}

.user-search-box i {
    position: absolute;
    left: 0.8rem;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
}

/* Form Select */
.user-form-select {
    padding: 0.5rem 2rem 0.5rem 0.8rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: white;
    appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="6" viewBox="0 0 12 6"><path fill="%23666" d="M0 0l6 6 6-6z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 0.8rem center;
    transition: all 0.3s ease;
}

.user-form-select:focus {
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 3px rgba(0, 74, 173, 0.1);
    outline: none;
}

.user-filter-tools {
    display: flex;
    gap: 0.8rem;
}

/* User List */
.user-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.user-item {
    display: flex;
    justify-content: space-between;
    padding: 1.2rem;
    border-radius: 8px;
    border: 1px solid #eee;
    transition: all 0.3s ease;
    background: white;
    flex-wrap: wrap;
    gap: 1rem;
}

.user-item:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transform: translateY(-2px);
}

.user-item.blocked {
    background-color: rgba(220, 53, 69, 0.05);
    border-color: rgba(220, 53, 69, 0.2);
}

.user-info {
    flex: 1;
    min-width: 0; /* Fix for flex child overflow issues */
}

.user-info h3 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0;
    margin-bottom: 0.8rem;
    color: var(--dark-gray);
    font-size: 1.2rem;
}

.user-info p {
    margin: 0.3rem 0;
    color: #666;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.user-info p i {
    color: var(--primary-blue);
    width: 1rem;
    text-align: center;
}

.user-actions {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    flex-wrap: wrap;
}

/* Badges */
.team-badge {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 4px;
    color: white;
}

.team-badge.masters {
    background-color: var(--masters-color);
}

.team-badge.synchro {
    background-color: var(--synchro-color);
}

.team-badge.plavani {
    background-color: var(--plavani-color);
}

.team-badge.dalkari {
    background-color: var(--dalkari-color);
}

.status-badge {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 4px;
    color: white;
}

.status-badge.blocked {
    background-color: var(--danger-color);
}

/* Buttons */

@media (max-width: 992px) {
    .list_user_modal {
        max-width: 140px;
    }
}

.user-btn {
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    text-decoration: none;
}

.user-btn-primary {
    background-color: var(--primary-blue);
    color: white;
}

.user-btn-primary:hover {
    background-color: #003d91;
    box-shadow: 0 2px 5px rgba(0, 74, 173, 0.3);
}

.user-btn-success {
    background-color: var(--success-color);
    color: white;
}

.user-btn-success:hover {
    background-color: #218838;
    box-shadow: 0 2px 5px rgba(40, 167, 69, 0.3);
}

.user-btn-danger {
    background-color: var(--danger-color);
    color: white;
}

.user-btn-danger:hover {
    background-color: #c82333;
    box-shadow: 0 2px 5px rgba(220, 53, 69, 0.3);
}

.user-btn-warning {
    background-color: var(--warning-color);
    color: #212529;
}

.user-btn-warning:hover {
    background-color: #e0a800;
    box-shadow: 0 2px 5px rgba(255, 193, 7, 0.3);
}

.user-btn-secondary {
    background-color: #6c757d;
    color: white;
}

.user-btn-secondary:hover {
    background-color: #5a6268;
    box-shadow: 0 2px 5px rgba(108, 117, 125, 0.3);
}

.user-btn-outline-primary {
    background-color: transparent;
    color: var(--primary-blue);
    border: 1px solid var(--primary-blue);
}

.user-btn-outline-primary:hover {
    background-color: var(--primary-blue);
    color: white;
}

.user-btn-outline-danger {
    background-color: transparent;
    color: var(--danger-color);
    border: 1px solid var(--danger-color);
}

.user-btn-outline-danger:hover {
    background-color: var(--danger-color);
    color: white;
}

.user-btn[disabled] {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Pagination */
.user-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin-top: 1.5rem;
}
/* Zvýraznění aktivní stránky v paginaci */
.user-pagination .current-page {
    font-weight: bold;
    color: var(--primary-blue);
}
/* Styly pro nezjištěné uživatele při vyhledávání */
.no-results-message {
    text-align: center;
    padding: 2rem;
    color: var(--dark-gray);
    font-style: italic;
}

.user-page-numbers {
    font-weight: 600;
    color: var(--dark-gray);
}

/* Modal */
.user-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10000; /* Velmi vysoká hodnota z-index, aby bylo nad vším */
    padding: 20px;
    overflow-y: auto;
    animation: fadeIn 0.3s ease;
}

.user-modal.active {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.user-modal-content {
    background-color: white;
    border-radius: 8px;
    max-width: 800px;
    width: 100%;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2);
    margin: 2rem auto;
    animation: slideInTop 0.5s ease;
    z-index: 10001; /* Ještě vyšší než pozadí modálu */
    position: relative;
}

.user-modal-sm {
    max-width: 500px;
}

@keyframes slideIn {
    from { transform: translateY(-50px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* Přidání další animace pro modální obsah */
@keyframes slideInTop {
    from {
        transform: translateY(-100px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.user-modal-header {
    padding: 1.2rem 1.5rem;
    background-color: #004aad;
    border-radius: 8px 8px 0 0;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.user-modal-header h2 {
    margin: 0;
    color: white;
    font-size: 1.5rem;
}

.user-close-modal {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: #999;
    transition: color 0.3s ease;
}

.user-close-modal:hover {
    color: var(--danger-color);
}

/* User Details in Modal */
.user-modal-profile {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.user-modal-avatar-icon {
    font-size: 4rem;
    color: var(--primary-blue);
}

.user-modal-avatar-image {
    position: relative;
    width: 6rem;
    height: 6rem;
}

.user-modal-avatar-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
}

.user-modal-avatar-button {
    background-color: transparent;
    color: #dc3545;
    border-radius: 3rem;
    border: 3px solid #dc3545;
    transition: all 0.4s ease;
}

.user-modal-avatar-button:hover {
    background-color: #dc3545;
    color: #ffffff;
}

.user-modal-body {
    padding: 1.5rem;
    padding-top: 0;
}

.user-modal-footer {
    padding: 1.2rem 1.5rem;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: flex-end;
    gap: 0.8rem;
}
.user-modal-footer button {
    margin-left: 0 !important;
}

/* User Details in Modal */
.user-profile {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.user-avatar-icon {
    font-size: 4rem;
    color: var(--primary-blue);
}

.user-avatar-image {
    position: relative;
    width: 6rem;
    height: 6rem;
}

.user-avatar-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
}

.user-details h3 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-size: 1.5rem;
    color: var(--dark-gray);
}

.details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.5rem;
}

.detail-section {
    background-color: var(--light-gray);
    border-radius: 8px;
    padding: 1.2rem;
}

.detail-section h4 {
    margin-top: 0;
    margin-bottom: 1rem;
    color: var(--primary-blue);
    font-size: 1.1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--primary-yellow);
}

.details-table {
    width: 100%;
    border-collapse: collapse;
}

.details-table th,
.details-table td {
    padding: 0.5rem 0;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

.details-table th {
    font-weight: 600;
    color: #666;
    width: 40%;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .user-management-container{
        padding: 0 5px;
        margin: 0.5rem auto;
    }
    .user-tabs {
        flex-direction: column;
        border-bottom: none;
    }

    .user-tab-button {
        border: 1px solid #eee;
        border-radius: 4px;
        margin-bottom: 0.5rem;
    }

    .user-card-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .user-card-tools {
        width: 100%;
        margin-top: 0.8rem;
    }

    .user-search-box input {
        width: 100%;
    }

    .user-filter-tools {
        width: 100%;
    }

    .user-form-select {
        width: 100%;
    }

    .user-item {
        flex-direction: column;
        padding: 0.5rem;
    }

    .user-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .details-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 340px){
    .detail-section {
        max-width: 240px;
        padding: 0.5rem;
    }
}

/* Two-column grids for trainers and users */
.trainer-grid,
.user-grid,
.pend-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

/* Compact user item with reduced height */
.user-item.compact {
    padding: 0.8rem;
}

.user-item.compact .user-info h3 {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.user-item.compact .user-info p {
    margin: 0.2rem 0;
    font-size: 0.95rem;
}

/* Smaller buttons for compact view */
.user-btn-sm {
    padding: 0.3rem 0.6rem;
    font-size: 0.85rem;
}

.user-item.compact .user-actions {
    align-items: center;
}

/* Edit form styling */
.user-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

.user-form-section {
    background-color: var(--light-gray);
    border-radius: 8px;
    padding: 1rem;
}

.user-form-section h3 {
    margin-top: 0;
    margin-bottom: 1rem;
    color: var(--primary-blue);
    font-size: 1.1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--primary-yellow);
}

.user-form-group {
    margin-bottom: 1rem;
}

.user-form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--dark-gray);
}

.user-form-control {
    display: block;
    width: 100%;
    padding: 0.5rem 0.8rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.user-form-control:focus {
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 3px rgba(0, 74, 173, 0.1);
    outline: none;
}

/* Responsive adjustments for new layouts */
@media (max-width: 1100px) {
    .trainer-grid,
    .user-grid,
    .pend-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .user-form-grid {
        grid-template-columns: 1fr;
    }

    .user-actions {
        width: 140px;
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .user-btn-sm {
        flex: 1;
    }
}

@media (max-width: 992px) {

    .user-actions {
        width: 140px;
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

}
.team-badge.trainer {
    background-color: #3949ab; /* modrá barva pro trenéry - můžeš upravit podle potřeby */
}

/* Pro lepší zarovnání tlačítek v boxu trenérů */
.trainer-user .user-actions {
    align-items: center;
}

/* Přidáváme kompaktní styl i pro trenérské položky */
.user-item.trainer-user.compact {
    padding: 0.8rem;
}

.user-item.trainer-user.compact .user-info h3 {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.user-item.trainer-user.compact .user-info p {
    margin: 0.2rem 0;
    font-size: 0.95rem;
}

/* Editační formulář s prefixem UM- */
.UM-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

.UM-form-section {
    background-color: var(--light-gray);
    border-radius: 8px;
    padding: 1rem;
}

.UM-form-section h3 {
    margin-top: 0;
    margin-bottom: 1rem;
    color: var(--primary-blue);
    font-size: 1.1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--primary-yellow);
}

.UM-form-group {
    margin-bottom: 1rem;
}

.UM-form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--dark-gray);
}

.UM-form-control {
    display: block;
    width: 100%;
    padding: 0.5rem 0.8rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.UM-form-control:focus {
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 3px rgba(0, 74, 173, 0.1);
    outline: none;
}

#UM-edit-team {
    min-height: 100px;
}

/* Responzivní úpravy pro formulář */
@media (max-width: 768px) {
    .UM-form-grid {
        grid-template-columns: 1fr;
    }
}


/* Styly pro formulář vyhledávání na serveru */
.server-search-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    width: 100%;
    align-items: center;
}

.server-search-form .user-search-box {
    flex-grow: 1;
    min-width: 200px;
}

.server-search-form .user-filter-tools {
    display: flex;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.server-search-form button {
    white-space: nowrap;
}

.team-badges-container {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.team-badges-container .team-badge {
    margin-right: 0.5rem;
}
/* Responzivní úpravy pro vyhledávací formulář */
@media (max-width: 768px) {
    .server-search-form {
        flex-direction: column;
        align-items: stretch;
    }

    .server-search-form .user-search-box,
    .server-search-form .user-filter-tools {
        width: 100%;
    }

    .server-search-form .user-filter-tools {
        flex-direction: column;
    }

    .server-search-form .user-btn {
        width: 100%;
    }
}

.team-names-list {
    font-weight: 600;
    color: var(--primary-blue);
}
.user-exportBtn {
    display: flex;
    justify-content: flex-end; /* aligns content to the right */
}
@media (max-width: 576px) {
    .user-exportBtn {
        flex-direction: column; /* centers content on small screens */
    }
}

.user-export-button, .users-load-button, .trainings-load-button{
    color: #333;
    box-shadow: 0 4px 15px rgba(215, 215, 215, 0.4);
    padding: 12px 24px;
    margin-right: 10px;
    border: none;
    border-radius: 25px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    transition: all 0.3s ease;
    cursor: pointer;
    font-size: 14px;
}
.user-export-button:hover, .users-load-button:hover, .trainings-load-button:hover{
    background-color: var(--primary-blue);
    color: white;
    box-shadow: 0 6px 20px rgba(0, 74, 173, 0.3);
    transform: translateY(-2px);
}


/* --------sprava uzivatelu-----konec---*/


/*--------Rozcestnik ---------*/

/* Plavani Rozcestnik - Main Styles */
.plavani-rozcestnik {
    min-height: 100vh;
    padding: 60px 20px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    position: relative;
    overflow: hidden;
}



.rozcestnik-container {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    background-color: rgba(255,255,255,0.48);
    border-radius: 24px;
    backdrop-filter: blur(4px);
}

/* Header Styles */
.rozcestnik-header {
    text-align: center;
    margin-bottom: 60px;
    position: relative;
}

.main-page-title {
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--primary-blue);
    margin-bottom: 15px;
    letter-spacing: -0.5px;
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

.main-page-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 4px;
    background: linear-gradient(90deg, transparent, var(--primary-yellow), transparent);
    border-radius: 4px;
}

@media (max-width: 768px) {
    .main-page-title {
        font-size: 2.6rem;
    }
}

.rozcestnik-subtitle {
    font-size: 1.4rem;
    color: var(--dark-gray);
    max-width: 700px;
    margin: 0 auto;
    opacity: 0.8;
}

/* Grid Layout */
.rozcestnik-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 80px;
}

/* Card Styles */
.rozcestnik-card {
    background: rgba(255, 255, 255, 0.9);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.4s ease;
    position: relative;
    height: 500px;
    display: flex;
    flex-direction: column;
    transform-style: preserve-3d;
    perspective: 1000px;
}

.rozcestnik-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 74, 173, 0.15);
}

.card-content {
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 500px;
    position: relative;
    z-index: 2;
}

/* Icon Styles */
.card-icon {
    width: 80px;
    height: 80px;
    background: var(--primary-blue);
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    position: relative;
    box-shadow: 0 10px 20px rgba(0, 74, 173, 0.2);
    transform: rotate(-5deg);
    transition: all 0.3s ease;
}

.card-icon::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 14px;
    background: rgba(255, 215, 0, 0.3);
    transform: rotate(10deg);
    z-index: -1;
}

.card-icon i {
    font-size: 2.5rem;
    color: white;
}

.rozcestnik-card:hover .card-icon {
    transform: rotate(0deg) scale(1.1);
}

/* Card Text */
.card-title {
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--primary-blue);
    margin-bottom: 15px;
    position: relative;
    padding-bottom: 10px;
}

@media (max-width: 991.98px) {
    .card-title::after {
        content: '';
        position: absolute;
        transform: translateX(50%);
        left: 0;
        bottom: 0;
        width: 40px;
        height: 3px;
        background: var(--primary-yellow);
        border-radius: 1.5px;
    }
}

@media (min-width: 992px) {
    .card-title::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 40px;
        height: 3px;
        background: var(--primary-yellow);
        border-radius: 1.5px;
        transition: width 0.3s ease;
    }
}



.rozcestnik-card:hover .card-title::after {
    width: 70px;
}

.card-description {
    color: var(--dark-gray);
    line-height: 1.6;
    margin-bottom: 25px;
    flex-grow: 1;
}

/* Button Styles */
.card-button {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 24px;
    background: var(--primary-blue);
    color: white;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    text-align: center;
    transition: all 0.3s ease;
    border: none;
    outline: none;
    cursor: pointer;
    box-shadow: 0 5px 15px rgba(0, 74, 173, 0.3);
    position: relative;
    overflow: hidden;
    align-self: center;
    width: 100%;
}

.card-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.7s ease;
}

.card-button:hover {
    background: #003380;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 74, 173, 0.4);
    color: var(--primary-yellow);
}

.card-button:hover::before {
    left: 100%;
}

/* Wave Animation */
.card-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 15px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="%23004AAD" fill-opacity="0.15" d="M0,288L48,272C96,256,192,224,288,197.3C384,171,480,149,576,165.3C672,181,768,235,864,250.7C960,267,1056,245,1152,224C1248,203,1344,181,1392,170.7L1440,160L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>');
    background-size: cover;
    opacity: 0.7;
    z-index: 1;
}

/* Water Animation in Footer */
.rozcestnik-footer {
    position: relative;
    height: 200px;
    overflow: hidden;
    border-radius: 20px;
    margin-top: 80px;
}

.water-animation {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 74, 173, 0.1), rgba(0, 74, 173, 0.4));
    border-radius: 20px;
    overflow: hidden;
    backdrop-filter: blur(6px);
}

.wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 200%;
    height: 100px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="%23004AAD" fill-opacity="0.8" d="M0,224L48,213.3C96,203,192,181,288,181.3C384,181,480,203,576,218.7C672,235,768,245,864,234.7C960,224,1056,192,1152,176C1248,160,1344,160,1392,160L1440,160L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    animation: wave 15s linear infinite;
}

.wave2 {
    height: 140px;
    animation: wave 17s linear infinite;
    opacity: 0.8;
    animation-delay: -5s;
    bottom: 10px;
}

.wave3 {
    height: 160px;
    animation: wave 20s linear infinite;
    opacity: 0.6;
    animation-delay: -2s;
    bottom: 25px;
}

.wave4 {
    height: 180px;
    animation: wave 25s linear infinite;
    opacity: 0.4;
    animation-delay: -7s;
    bottom: 40px;
}

@keyframes wave {
    0% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(-25%);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* 3D card effect */
.rozcestnik-card {
    transition: transform 0.5s ease;
}

.rozcestnik-card:hover {
    transform: translateY(-10px) rotateX(5deg);
}

/* Responsive Styles */
@media (max-width: 1200px) {
    .rozcestnik-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .rozcestnik-title {
        font-size: 2.8rem;
    }

    .rozcestnik-subtitle {
        font-size: 1.2rem;
    }

    .rozcestnik-grid {
        grid-template-columns: 1fr;
        max-width: 500px;
        margin: 0 auto 60px;
    }

    .rozcestnik-card {
        height: auto;
        min-height: 400px;
    }

    .rozcestnik-footer {
        height: 150px;
    }
}

@media (max-width: 480px) {
    .plavani-rozcestnik {
        padding: 40px 15px;
    }

    .rozcestnik-title {
        font-size: 2.2rem;
    }

    .rozcestnik-subtitle {
        font-size: 1rem;
    }

    .card-title {
        font-size: 1.5rem;
    }

    .card-icon {
        width: 70px;
        height: 70px;
    }

    .card-icon i {
        font-size: 2rem;
    }
}
/* -- Rozcestník ----------------konec -- */


/*========== PLAVÁNÍ AKCE - PLV_AKCE ==========*/

/* Banner */
.plv_akce_banner {
    background: linear-gradient(rgba(0, 102, 204, 0.85), rgba(0, 102, 204, 0.95)), url('/assets/images/home/water.webp');
    background-size: cover;
    background-position: center;
    padding: 80px 0;
    margin-bottom: 40px;
    color: white;
    position: relative;
}

.plv_akce_banner_content h1 {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.plv_akce_banner_content p {
    font-size: 1.2rem;
    opacity: 0.9;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

/* Admin Controls */
.plv_akce_admin_controls {
    text-align: right;
}

.plv_akce_admin_controls .btn-primary {
    background-color: var(--plavani-primary);
    border-color: var(--plavani-primary);
    color: white;
}

.plv_akce_admin_controls .btn-primary:hover {
    background-color: var(--plavani-primary-dark);
    border-color: var(--plavani-primary-dark);
}

/* Filter Section */
.plv_akce_section_title {
    color: var(--plavani-primary);
    font-weight: bold;
    margin-bottom: 0;
}

.plv_akce_filter_btn {
    padding: 8px 16px;
    border: 2px solid var(--plavani-primary);
    background-color: white;
    color: var(--plavani-primary);
    border-radius: 25px;
    font-weight: 500;
    transition: all 0.3s ease;
    cursor: pointer;
    text-decoration: none;
}

.plv_akce_filter_btn:hover,
.plv_akce_filter_btn.active {
    background-color: var(--plavani-primary);
    color: white;
    text-decoration: none;
}

/* Event Cards */
.plv_akce_card {
    background: white;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0, 102, 204, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #f0f0f0;
}

.plv_akce_card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 102, 204, 0.2);
}

/* Event Status */
.plv_akce_card_status {
    padding: 8px 16px;
    text-align: center;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.plv_akce_active {
    background-color: #28a745;
    color: white;
}

.plv_akce_upcoming {
    background-color: var(--plavani-primary);
    color: white;
}

.plv_akce_past {
    background-color: #6c757d;
    color: white;
}

.plv_akce_closed {
    background-color: #dc3545;
    color: white;
}

/* Event Header */
.plv_akce_card_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px 0;
}

.plv_akce_card_date {
    color: var(--plavani-primary);
}

.plv_akce_date_range {
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 1.1rem;
}

.plv_akce_date_start {
    font-size: 1.2rem;
}

.plv_akce_date_divider {
    margin: 0 5px;
    opacity: 0.7;
}

.plv_akce_date_end {
    font-size: 1rem;
    opacity: 0.8;
}

.plv_akce_card_type {
    display: flex;
    align-items: center;
    background-color: var(--plavani-secondary);
    color: var(--plavani-text);
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
}

.plv_akce_card_type i {
    margin-right: 6px;
    font-size: 0.9rem;
}

/* Event Content */
.plv_akce_card_content {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.plv_akce_card_title {
    font-size: 1.25rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
    line-height: 1.3;
}

.plv_akce_card_details {
    flex-grow: 1;
    margin-bottom: 15px;
}

.plv_akce_detail {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    font-size: 0.9rem;
    color: #666;
}

.plv_akce_detail i {
    width: 16px;
    margin-right: 10px;
    color: var(--plavani-primary);
    font-size: 0.9rem;
}

.plv_akce_detail:last-child {
    margin-bottom: 0;
}

/* File Links */
.plv_akce_file_link {
    color: var(--plavani-primary);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.plv_akce_file_link:hover {
    color: var(--plavani-primary-dark);
    text-decoration: underline;
}

.plv_akce_file_size {
    color: #6c757d;
    font-size: 0.85rem;
    margin-left: 5px;
}

.plv_akce_file_item {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.plv_akce_file_item i {
    margin-right: 10px;
    font-size: 1.2rem;
}

.plv_akce_file_item:last-child {
    margin-bottom: 0;
}

.plv_akce_files_list {
    background-color: #f8f9fa;
    padding: 15px;
    border-radius: 5px;
}

.plv_akce_current_files {
    max-height: 200px;
    overflow-y: auto;
}

.plv_akce_detail_files {
    border: 1px solid #e9ecef;
    border-radius: 5px;
    padding: 15px;
}

/* Action Buttons */
.plv_akce_card_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.plv_akce_btn {
    padding: 8px 16px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
}

.plv_akce_btn i {
    margin-right: 6px;
}

.plv_akce_btn_detail {
    background-color: #f8f9fa;
    color: #495057;
    border: 1px solid #e9ecef;
}

.plv_akce_btn_detail:hover {
    background-color: #e9ecef;
    color: #212529;
    text-decoration: none;
}

.plv_akce_btn_register {
    background-color: var(--plavani-primary);
    color: white;
    border: 1px solid var(--plavani-primary);
    flex-grow: 1;
}

.plv_akce_btn_register:hover {
    background-color: var(--plavani-primary-dark);
    border-color: var(--plavani-primary-dark);
    color: white;
    text-decoration: none;
}

.plv_akce_btn_inactive {
    background-color: #e9ecef;
    color: #6c757d;
    border: 1px solid #ced4da;
    cursor: not-allowed;
    flex-grow: 1;
}

/* Admin Actions */
.plv_akce_admin_actions {
    display: flex;
    gap: 5px;
    margin-top: 10px;
    width: 100%;
}

.plv_akce_btn_admin {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background-color: #f8f9fa;
    color: #6c757d;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    cursor: pointer;
}

.plv_akce_btn_edit:hover {
    background-color: var(--warning-color);
    color: #212529;
}

.plv_akce_btn_participants:hover {
    background-color: var(--info-color);
    color: white;
}

.plv_akce_btn_delete:hover {
    background-color: var(--danger-color);
    color: white;
}

/* Empty State */
.plv_akce_empty_state {
    padding: 40px 0;
    animation: fadeIn 0.5s ease;
}

.plv_akce_empty_state .alert {
    border-color: var(--plavani-primary);
    background-color: var(--plavani-secondary);
    color: var(--plavani-text);
}

.plv_akce_empty_state .alert a {
    color: var(--plavani-primary);
    text-decoration: none;
    font-weight: 500;
}

.plv_akce_empty_state .alert a:hover {
    color: var(--plavani-primary-dark);
    text-decoration: underline;
}

/* Modal Styles */
.plv_akce_modal_header {
    background-color: var(--plavani-primary);
    color: white;
}

.plv_akce_modal_header .btn-close {
    filter: brightness(0) invert(1);
}

.plv_akce_detail_status {
    margin-bottom: 20px;
    display: flex;
}

.plv_akce_detail_item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 8px;
    border-left: 4px solid var(--plavani-primary);
}

.plv_akce_detail_icon {
    width: 40px;
    height: 40px;
    background-color: var(--plavani-primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    flex-shrink: 0;
}

.plv_akce_detail_text h6 {
    margin: 0 0 5px 0;
    font-weight: 600;
    color: var(--plavani-primary);
}

.plv_akce_detail_text p {
    margin: 0;
    color: #333;
}

/* Participants Table */
.plv_akce_participants_table {
    margin-bottom: 0;
}

.plv_akce_participants_table thead th {
    background-color: var(--plavani-secondary);
    color: var(--plavani-text);
    border-bottom: 2px solid var(--plavani-primary);
    font-weight: 600;
}

.plv_akce_participants_table tbody tr:hover {
    background-color: var(--plavani-secondary);
}

.plv_akce_participants_actions .btn-outline-primary {
    border-color: var(--plavani-primary);
    color: var(--plavani-primary);
}

.plv_akce_participants_actions .btn-outline-primary:hover {
    background-color: var(--plavani-primary);
    border-color: var(--plavani-primary);
    color: white;
}

/* Form Styles */
.plv_akce_form .form-control:focus {
    border-color: var(--plavani-primary);
    box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.25);
}

.plv_akce_form .btn-primary {
    background-color: var(--plavani-primary);
    border-color: var(--plavani-primary);
}

.plv_akce_form .btn-primary:hover {
    background-color: var(--plavani-primary-dark);
    border-color: var(--plavani-primary-dark);
}

/* Animation for filtering */
.plv_akce_item {
    transition: all 0.3s ease;
}

.plv_akce_item.hidden {
    opacity: 0;
    transform: scale(0.8);
    pointer-events: none;
}

/*========== MASTERS AKCE - MLV_AKCE ==========*/

/* Banner */
.mlv_akce_banner {
    background: linear-gradient(rgba(255, 153, 0, 0.85), rgba(255, 153, 0, 0.95)), url('/assets/images/home/water.webp');
    background-size: cover;
    background-position: center;
    padding: 80px 0;
    margin-bottom: 40px;
    color: white;
    position: relative;
}

.mlv_akce_banner_content h1 {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.mlv_akce_banner_content p {
    font-size: 1.2rem;
    opacity: 0.9;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

/* Admin Controls */
.mlv_akce_admin_controls {
    text-align: right;
}

.mlv_akce_admin_controls .btn-primary {
    background-color: var(--masters-primary);
    border-color: var(--masters-primary);
    color: white;
}

.mlv_akce_admin_controls .btn-primary:hover {
    background-color: var(--masters-primary-dark);
    border-color: var(--masters-primary-dark);
}

/* Filter Section */
.mlv_akce_section_title {
    color: var(--masters-primary);
    font-weight: bold;
    margin-bottom: 0;
}

.mlv_akce_filter_btn {
    padding: 8px 16px;
    border: 2px solid var(--masters-primary);
    background-color: white;
    color: var(--masters-primary);
    border-radius: 25px;
    font-weight: 500;
    transition: all 0.3s ease;
    cursor: pointer;
    text-decoration: none;
}

.mlv_akce_filter_btn:hover,
.mlv_akce_filter_btn.active {
    background-color: var(--masters-primary);
    color: white;
    text-decoration: none;
}

/* Event Cards */
.mlv_akce_card {
    background: white;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(255, 153, 0, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #f0f0f0;
}

.mlv_akce_card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(255, 153, 0, 0.2);
}

/* Event Status */
.mlv_akce_card_status {
    padding: 8px 16px;
    text-align: center;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.mlv_akce_active {
    background-color: #28a745;
    color: white;
}

.mlv_akce_upcoming {
    background-color: var(--masters-primary);
    color: white;
}

.mlv_akce_past {
    background-color: #6c757d;
    color: white;
}

.mlv_akce_closed {
    background-color: #dc3545;
    color: white;
}

/* Event Header */
.mlv_akce_card_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px 0;
}

.mlv_akce_card_date {
    color: var(--masters-primary);
}

.mlv_akce_date_range {
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 1.1rem;
}

.mlv_akce_date_start {
    font-size: 1.2rem;
}

.mlv_akce_date_divider {
    margin: 0 5px;
    opacity: 0.7;
}

.mlv_akce_date_end {
    font-size: 1rem;
    opacity: 0.8;
}

.mlv_akce_card_type {
    display: flex;
    align-items: center;
    background-color: var(--masters-secondary);
    color: var(--masters-text);
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
}

.mlv_akce_card_type i {
    margin-right: 6px;
    font-size: 0.9rem;
}

/* Event Content */
.mlv_akce_card_content {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.mlv_akce_card_title {
    font-size: 1.25rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
    line-height: 1.3;
}

.mlv_akce_card_details {
    flex-grow: 1;
    margin-bottom: 15px;
}

.mlv_akce_detail {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    font-size: 0.9rem;
    color: #666;
}

.mlv_akce_detail i {
    width: 16px;
    margin-right: 10px;
    color: var(--masters-primary);
    font-size: 0.9rem;
}

.mlv_akce_detail:last-child {
    margin-bottom: 0;
}

/* File Links */
.mlv_akce_file_link {
    color: var(--masters-primary);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.mlv_akce_file_link:hover {
    color: var(--masters-primary-dark);
    text-decoration: underline;
}

.mlv_akce_file_size {
    color: #6c757d;
    font-size: 0.85rem;
    margin-left: 5px;
}

.mlv_akce_file_item {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.mlv_akce_file_item i {
    margin-right: 10px;
    font-size: 1.2rem;
}

.mlv_akce_file_item:last-child {
    margin-bottom: 0;
}

.mlv_akce_files_list {
    background-color: #f8f9fa;
    padding: 15px;
    border-radius: 5px;
}

.mlv_akce_current_files {
    max-height: 200px;
    overflow-y: auto;
}

.mlv_akce_detail_files {
    border: 1px solid #e9ecef;
    border-radius: 5px;
    padding: 15px;
}

/* Action Buttons */
.mlv_akce_card_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.mlv_akce_btn {
    padding: 8px 16px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
}

.mlv_akce_btn i {
    margin-right: 6px;
}

.mlv_akce_btn_detail {
    background-color: #f8f9fa;
    color: #495057;
    border: 1px solid #e9ecef;
}

.mlv_akce_btn_detail:hover {
    background-color: #e9ecef;
    color: #212529;
    text-decoration: none;
}

.mlv_akce_btn_register {
    background-color: var(--masters-primary);
    color: white;
    border: 1px solid var(--masters-primary);
    flex-grow: 1;
}

.mlv_akce_btn_register:hover {
    background-color: var(--masters-primary-dark);
    border-color: var(--masters-primary-dark);
    color: white;
    text-decoration: none;
}

.mlv_akce_btn_inactive {
    background-color: #e9ecef;
    color: #6c757d;
    border: 1px solid #ced4da;
    cursor: not-allowed;
    flex-grow: 1;
}

/* Admin Actions */
.mlv_akce_admin_actions {
    display: flex;
    gap: 5px;
    margin-top: 10px;
    width: 100%;
}

.mlv_akce_btn_admin {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background-color: #f8f9fa;
    color: #6c757d;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    cursor: pointer;
}

.mlv_akce_btn_edit:hover {
    background-color: var(--warning-color);
    color: #212529;
}

.mlv_akce_btn_participants:hover {
    background-color: var(--info-color);
    color: white;
}


.mlv_akce_btn_delete:hover {
    background-color: var(--danger-color);
    color: white;
}

/* Empty State */
.mlv_akce_empty_state {
    padding: 40px 0;
    animation: fadeIn 0.5s ease;
}

.mlv_akce_empty_state .alert {
    border-color: var(--masters-primary);
    background-color: var(--masters-secondary);
    color: var(--masters-text);
}

.mlv_akce_empty_state .alert a {
    color: var(--masters-primary);
    text-decoration: none;
    font-weight: 500;
}

.mlv_akce_empty_state .alert a:hover {
    color: var(--masters-primary-dark);
    text-decoration: underline;
}

/* Modal Styles */
.mlv_akce_modal_header {
    background-color: var(--masters-primary);
    color: white;
}

.mlv_akce_modal_header .btn-close {
    filter: brightness(0) invert(1);
}

.mlv_akce_detail_status {
    margin-bottom: 20px;
    display: flex;
}

.mlv_akce_detail_item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 8px;
    border-left: 4px solid var(--masters-primary);
}

.mlv_akce_detail_icon {
    width: 40px;
    height: 40px;
    background-color: var(--masters-primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    flex-shrink: 0;
}

.mlv_akce_detail_text h6 {
    margin: 0 0 5px 0;
    font-weight: 600;
    color: var(--masters-primary);
}

.mlv_akce_detail_text p {
    margin: 0;
    color: #333;
}

/* Participants Table */
.mlv_akce_participants_table {
    margin-bottom: 0;
}

.mlv_akce_participants_table thead th {
    background-color: var(--masters-secondary);
    color: var(--masters-text);
    border-bottom: 2px solid var(--masters-primary);
    font-weight: 600;
}

.mlv_akce_participants_table tbody tr:hover {
    background-color: var(--masters-secondary);
}

.mlv_akce_participants_actions .btn-outline-primary {
    border-color: var(--masters-primary);
    color: var(--masters-primary);
}

.mlv_akce_participants_actions .btn-outline-primary:hover {
    background-color: var(--masters-primary);
    border-color: var(--masters-primary);
    color: white;
}

/* Form Styles */
.mlv_akce_form .form-control:focus {
    border-color: var(--masters-primary);
    box-shadow: 0 0 0 0.2rem rgba(255, 153, 0, 0.25);
}

.mlv_akce_form .btn-primary {
    background-color: var(--masters-primary);
    border-color: var(--masters-primary);
}

.mlv_akce_form .btn-primary:hover {
    background-color: var(--masters-primary-dark);
    border-color: var(--masters-primary-dark);
}

/* Animation for filtering */
.mlv_akce_item {
    transition: all 0.3s ease;
}

.mlv_akce_item.hidden {
    opacity: 0;
    transform: scale(0.8);
    pointer-events: none;
}

/*========== SYNCHRO AKCE - SYN_AKCE ==========*/

/* Banner */
.syn_akce_banner {
    background: linear-gradient(rgba(204, 0, 153, 0.85), rgba(204, 0, 153, 0.95)), url('/assets/images/home/water.webp');
    background-size: cover;
    background-position: center;
    padding: 80px 0;
    margin-bottom: 40px;
    color: white;
    position: relative;
}

.syn_akce_banner_content h1 {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.syn_akce_banner_content p {
    font-size: 1.2rem;
    opacity: 0.9;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

/* Admin Controls */
.syn_akce_admin_controls {
    text-align: right;
}

.syn_akce_admin_controls .btn-primary {
    background-color: var(--synchro-primary);
    border-color: var(--synchro-primary);
    color: white;
}

.syn_akce_admin_controls .btn-primary:hover {
    background-color: var(--synchro-primary-dark);
    border-color: var(--synchro-primary-dark);
}

/* Filter Section */
.syn_akce_section_title {
    color: var(--synchro-primary);
    font-weight: bold;
    margin-bottom: 0;
}

.syn_akce_filter_btn {
    padding: 8px 16px;
    border: 2px solid var(--synchro-primary);
    background-color: white;
    color: var(--synchro-primary);
    border-radius: 25px;
    font-weight: 500;
    transition: all 0.3s ease;
    cursor: pointer;
    text-decoration: none;
}

.syn_akce_filter_btn:hover,
.syn_akce_filter_btn.active {
    background-color: var(--synchro-primary);
    color: white;
    text-decoration: none;
}

/* Event Cards */
.syn_akce_card {
    background: white;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(204, 0, 153, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #f0f0f0;
}

.syn_akce_card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(204, 0, 153, 0.2);
}

/* Event Status */
.syn_akce_card_status {
    padding: 8px 16px;
    text-align: center;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.syn_akce_active {
    background-color: #28a745;
    color: white;
}

.syn_akce_upcoming {
    background-color: var(--synchro-primary);
    color: white;
}

.syn_akce_past {
    background-color: #6c757d;
    color: white;
}

.syn_akce_closed {
    background-color: #dc3545;
    color: white;
}

/* Event Header */
.syn_akce_card_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px 0;
}

.syn_akce_card_date {
    color: var(--synchro-primary);
}

.syn_akce_date_range {
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 1.1rem;
}

.syn_akce_date_start {
    font-size: 1.2rem;
}

.syn_akce_date_divider {
    margin: 0 5px;
    opacity: 0.7;
}

.syn_akce_date_end {
    font-size: 1rem;
    opacity: 0.8;
}

.syn_akce_card_type {
    display: flex;
    align-items: center;
    background-color: var(--synchro-secondary);
    color: var(--synchro-text);
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
}

.syn_akce_card_type i {
    margin-right: 6px;
    font-size: 0.9rem;
}

/* Event Content */
.syn_akce_card_content {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.syn_akce_card_title {
    font-size: 1.25rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
    line-height: 1.3;
}

.syn_akce_card_details {
    flex-grow: 1;
    margin-bottom: 15px;
}

.syn_akce_detail {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    font-size: 0.9rem;
    color: #666;
}

.syn_akce_detail i {
    width: 16px;
    margin-right: 10px;
    color: var(--synchro-primary);
    font-size: 0.9rem;
}

.syn_akce_detail:last-child {
    margin-bottom: 0;
}

/* File Links */
.syn_akce_file_link {
    color: var(--synchro-primary);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.syn_akce_file_link:hover {
    color: var(--synchro-primary-dark);
    text-decoration: underline;
}

.syn_akce_file_size {
    color: #6c757d;
    font-size: 0.85rem;
    margin-left: 5px;
}

.syn_akce_file_item {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.syn_akce_file_item i {
    margin-right: 10px;
    font-size: 1.2rem;
}

.syn_akce_file_item:last-child {
    margin-bottom: 0;
}

.syn_akce_files_list {
    background-color: #f8f9fa;
    padding: 15px;
    border-radius: 5px;
}

.syn_akce_current_files {
    max-height: 200px;
    overflow-y: auto;
}

.syn_akce_detail_files {
    border: 1px solid #e9ecef;
    border-radius: 5px;
    padding: 15px;
}

/* Action Buttons */
.syn_akce_card_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.syn_akce_btn {
    padding: 8px 16px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
}

.syn_akce_btn i {
    margin-right: 6px;
}

.syn_akce_btn_detail {
    background-color: #f8f9fa;
    color: #495057;
    border: 1px solid #e9ecef;
}

.syn_akce_btn_detail:hover {
    background-color: #e9ecef;
    color: #212529;
    text-decoration: none;
}

.syn_akce_btn_register {
    background-color: var(--synchro-primary);
    color: white;
    border: 1px solid var(--synchro-primary);
    flex-grow: 1;
}

.syn_akce_btn_register:hover {
    background-color: var(--synchro-primary-dark);
    border-color: var(--synchro-primary-dark);
    color: white;
    text-decoration: none;
}

.syn_akce_btn_inactive {
    background-color: #e9ecef;
    color: #6c757d;
    border: 1px solid #ced4da;
    cursor: not-allowed;
    flex-grow: 1;
}

/* Admin Actions */
.syn_akce_admin_actions {
    display: flex;
    gap: 5px;
    margin-top: 10px;
    width: 100%;
}

.syn_akce_btn_admin {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background-color: #f8f9fa;
    color: #6c757d;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    cursor: pointer;
}

.syn_akce_btn_edit:hover {
    background-color: var(--warning-color);
    color: #212529;
}

.syn_akce_btn_participants:hover {
    background-color: var(--info-color);
    color: white;
}

.syn_akce_btn_delete:hover {
    background-color: var(--danger-color);
    color: white;
}

/* Empty State */
.syn_akce_empty_state {
    padding: 40px 0;
    animation: fadeIn 0.5s ease;
}

.syn_akce_empty_state .alert {
    border-color: var(--synchro-primary);
    background-color: var(--synchro-secondary);
    color: var(--synchro-text);
}

.syn_akce_empty_state .alert a {
    color: var(--synchro-primary);
    text-decoration: none;
    font-weight: 500;
}

.syn_akce_empty_state .alert a:hover {
    color: var(--synchro-primary-dark);
    text-decoration: underline;
}

/* Modal Styles */
.syn_akce_modal_header {
    background-color: var(--synchro-primary);
    color: white;
}

.syn_akce_modal_header .btn-close {
    filter: brightness(0) invert(1);
}

.syn_akce_detail_status {
    margin-bottom: 20px;
    display: flex;
}

.syn_akce_detail_item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 8px;
    border-left: 4px solid var(--synchro-primary);
}

.syn_akce_detail_icon {
    width: 40px;
    height: 40px;
    background-color: var(--synchro-primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    flex-shrink: 0;
}

.syn_akce_detail_text h6 {
    margin: 0 0 5px 0;
    font-weight: 600;
    color: var(--synchro-primary);
}

.syn_akce_detail_text p {
    margin: 0;
    color: #333;
}

/* Participants Table */
.syn_akce_participants_table {
    margin-bottom: 0;
}

.syn_akce_participants_table thead th {
    background-color: var(--synchro-secondary);
    color: var(--synchro-text);
    border-bottom: 2px solid var(--synchro-primary);
    font-weight: 600;
}

.syn_akce_participants_table tbody tr:hover {
    background-color: var(--synchro-secondary);
}

.syn_akce_participants_actions .btn-outline-primary {
    border-color: var(--synchro-primary);
    color: var(--synchro-primary);
}

.syn_akce_participants_actions .btn-outline-primary:hover {
    background-color: var(--synchro-primary);
    border-color: var(--synchro-primary);
    color: white;
}

/* Form Styles */
.syn_akce_form .form-control:focus {
    border-color: var(--synchro-primary);
    box-shadow: 0 0 0 0.2rem rgba(204, 0, 153, 0.25);
}

.syn_akce_form .btn-primary {
    background-color: var(--synchro-primary);
    border-color: var(--synchro-primary);
}

.syn_akce_form .btn-primary:hover {
    background-color: var(--synchro-primary-dark);
    border-color: var(--synchro-primary-dark);
}

/* Animation for filtering */
.syn_akce_item {
    transition: all 0.3s ease;
}

.syn_akce_item.hidden {
    opacity: 0;
    transform: scale(0.8);
    pointer-events: none;
}

/*========== DÁLKAŘI AKCE - DLK_AKCE ==========*/

/* Banner */
.dlk_akce_banner {
    background: linear-gradient(rgba(0, 166, 81, 0.85), rgba(0, 166, 81, 0.95)), url('/assets/images/home/water.webp');
    background-size: cover;
    background-position: center;
    padding: 80px 0;
    margin-bottom: 40px;
    color: white;
    position: relative;
}

.dlk_akce_banner_content h1 {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.dlk_akce_banner_content p {
    font-size: 1.2rem;
    opacity: 0.9;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

/* Admin Controls */
.dlk_akce_admin_controls {
    text-align: right;
}

.dlk_akce_admin_controls .btn-primary {
    background-color: var(--dalkari-primary);
    border-color: var(--dalkari-primary);
    color: white;
}

.dlk_akce_admin_controls .btn-primary:hover {
    background-color: var(--dalkari-primary-dark);
    border-color: var(--dalkari-primary-dark);
}

/* Filter Section */
.dlk_akce_section_title {
    color: var(--dalkari-primary);
    font-weight: bold;
    margin-bottom: 0;
}

.dlk_akce_filter_btn {
    padding: 8px 16px;
    border: 2px solid var(--dalkari-primary);
    background-color: white;
    color: var(--dalkari-primary);
    border-radius: 25px;
    font-weight: 500;
    transition: all 0.3s ease;
    cursor: pointer;
    text-decoration: none;
}

.dlk_akce_filter_btn:hover,
.dlk_akce_filter_btn.active {
    background-color: var(--dalkari-primary);
    color: white;
    text-decoration: none;
}

/* Event Cards */
.dlk_akce_card {
    background: white;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0, 166, 81, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #f0f0f0;
}

.dlk_akce_card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 166, 81, 0.2);
}

/* Event Status */
.dlk_akce_card_status {
    padding: 8px 16px;
    text-align: center;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.dlk_akce_active {
    background-color: #28a745;
    color: white;
}

.dlk_akce_upcoming {
    background-color: var(--dalkari-primary);
    color: white;
}

.dlk_akce_past {
    background-color: #6c757d;
    color: white;
}

.dlk_akce_closed {
    background-color: #dc3545;
    color: white;
}

/* Event Header */
.dlk_akce_card_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px 0;
}

.dlk_akce_card_date {
    color: var(--dalkari-primary);
}

.dlk_akce_date_range {
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 1.1rem;
}

.dlk_akce_date_start {
    font-size: 1.2rem;
}

.dlk_akce_date_divider {
    margin: 0 5px;
    opacity: 0.7;
}

.dlk_akce_date_end {
    font-size: 1rem;
    opacity: 0.8;
}

.dlk_akce_card_type {
    display: flex;
    align-items: center;
    background-color: var(--dalkari-secondary);
    color: var(--dalkari-text);
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
}

.dlk_akce_card_type i {
    margin-right: 6px;
    font-size: 0.9rem;
}

/* Event Content */
.dlk_akce_card_content {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.dlk_akce_card_title {
    font-size: 1.25rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
    line-height: 1.3;
}

.dlk_akce_card_details {
    flex-grow: 1;
    margin-bottom: 15px;
}

.dlk_akce_detail {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    font-size: 0.9rem;
    color: #666;
}

.dlk_akce_detail i {
    width: 16px;
    margin-right: 10px;
    color: var(--dalkari-primary);
    font-size: 0.9rem;
}

.dlk_akce_detail:last-child {
    margin-bottom: 0;
}

/* File Links */
.dlk_akce_file_link {
    color: var(--dalkari-primary);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
    margin-left: 5px;
}

.dlk_akce_file_link:hover {
    color: var(--dalkari-primary-dark);
    text-decoration: underline;
}

.dlk_akce_file_size {
    color: #6c757d;
    font-size: 0.85rem;
    margin-left: 5px;
}

.dlk_akce_file_item {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.dlk_akce_file_item i {
    margin-right: 10px;
    font-size: 1.2rem;
}

.dlk_akce_file_item:last-child {
    margin-bottom: 0;
}

.dlk_akce_files_list {
    background-color: #f8f9fa;
    padding: 15px;
    border-radius: 5px;
}

.dlk_akce_current_files {
    max-height: 200px;
    overflow-y: auto;
}

.dlk_akce_detail_files {
    border: 1px solid #e9ecef;
    border-radius: 5px;
    padding: 15px;
}

/* Action Buttons */
.dlk_akce_card_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.dlk_akce_btn {
    padding: 8px 16px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
}

.dlk_akce_btn i {
    margin-right: 6px;
}

.dlk_akce_btn_detail {
    background-color: #f8f9fa;
    color: #495057;
    border: 1px solid #e9ecef;
}

.dlk_akce_btn_detail:hover {
    background-color: #e9ecef;
    color: #212529;
    text-decoration: none;
}

.dlk_akce_btn_register {
    background-color: var(--dalkari-primary);
    color: white;
    border: 1px solid var(--dalkari-primary);
    flex-grow: 1;
}

.dlk_akce_btn_register:hover {
    background-color: var(--dalkari-primary-dark);
    border-color: var(--dalkari-primary-dark);
    color: white;
    text-decoration: none;
}

.dlk_akce_btn_inactive {
    background-color: #e9ecef;
    color: #6c757d;
    border: 1px solid #ced4da;
    cursor: not-allowed;
    flex-grow: 1;
}

/* Admin Actions */
.dlk_akce_admin_actions {
    display: flex;
    gap: 5px;
    margin-top: 10px;
    width: 100%;
}

.dlk_akce_btn_admin {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background-color: #f8f9fa;
    color: #6c757d;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    cursor: pointer;
}

.dlk_akce_btn_edit:hover {
    background-color: var(--warning-color);
    color: #212529;
}

.dlk_akce_btn_participants:hover {
    background-color: var(--info-color);
    color: white;
}

.dlk_akce_btn_delete:hover {
    background-color: var(--danger-color);
    color: white;
}

/* Empty State */
.dlk_akce_empty_state {
    padding: 40px 0;
    animation: fadeIn 0.5s ease;
}

.dlk_akce_empty_state .alert {
    border-color: var(--dalkari-primary);
    background-color: var(--dalkari-secondary);
    color: var(--dalkari-text);
}

.dlk_akce_empty_state .alert a {
    color: var(--dalkari-primary);
    text-decoration: none;
    font-weight: 500;
}

.dlk_akce_empty_state .alert a:hover {
    color: var(--dalkari-primary-dark);
    text-decoration: underline;
}

/* Modal Styles */
.dlk_akce_modal_header {
    background-color: var(--dalkari-primary);
    color: white;
}

.dlk_akce_modal_header .btn-close {
    filter: brightness(0) invert(1);
}

.dlk_akce_detail_status {
    margin-bottom: 20px;
    display: flex;
}

.dlk_akce_detail_item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 8px;
    border-left: 4px solid var(--dalkari-primary);
}

.dlk_akce_detail_icon {
    width: 40px;
    height: 40px;
    background-color: var(--dalkari-primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    flex-shrink: 0;
}

.dlk_akce_detail_text h6 {
    margin: 0 0 5px 0;
    font-weight: 600;
    color: var(--dalkari-primary);
}

.dlk_akce_detail_text p {
    margin: 0;
    color: #333;
}

/* Participants Table */
.dlk_akce_participants_table {
    margin-bottom: 0;
}

.dlk_akce_participants_table thead th {
    background-color: var(--dalkari-secondary);
    color: var(--dalkari-text);
    border-bottom: 2px solid var(--dalkari-primary);
    font-weight: 600;
}

.dlk_akce_participants_table tbody tr:hover {
    background-color: var(--dalkari-secondary);
}

.dlk_akce_participants_actions .btn-outline-primary {
    border-color: var(--dalkari-primary);
    color: var(--dalkari-primary);
}

.dlk_akce_participants_actions .btn-outline-primary:hover {
    background-color: var(--dalkari-primary);
    border-color: var(--dalkari-primary);
    color: white;
}

/* Form Styles */
.dlk_akce_form .form-control:focus {
    border-color: var(--dalkari-primary);
    box-shadow: 0 0 0 0.2rem rgba(0, 166, 81, 0.25);
}

.dlk_akce_form .btn-primary {
    background-color: var(--dalkari-primary);
    border-color: var(--dalkari-primary);
}

.dlk_akce_form .btn-primary:hover {
    background-color: var(--dalkari-primary-dark);
    border-color: var(--dalkari-primary-dark);
}

/* Animation for filtering */
.dlk_akce_item {
    transition: all 0.3s ease;
}

.dlk_akce_item.hidden {
    opacity: 0;
    transform: scale(0.8);
    pointer-events: none;
}

/*========== RESPONSIVE DESIGN PRO VŠECHNY SKUPINY ==========*/

@media (max-width: 768px) {
    .plv_akce_banner_content h1,
    .mlv_akce_banner_content h1,
    .syn_akce_banner_content h1,
    .dlk_akce_banner_content h1 {
        font-size: 2rem;
    }

    .plv_akce_banner_content p,
    .mlv_akce_banner_content p,
    .syn_akce_banner_content p,
    .dlk_akce_banner_content p {
        font-size: 1rem;
    }

    .plv_akce_filter,
    .mlv_akce_filter,
    .syn_akce_filter,
    .dlk_akce_filter {
        text-align: center;
    }

    .plv_akce_filter_btn,
    .mlv_akce_filter_btn,
    .syn_akce_filter_btn,
    .dlk_akce_filter_btn {
        margin: 2px;
        font-size: 0.85rem;
        padding: 6px 12px;
    }

    .plv_akce_card_header,
    .mlv_akce_card_header,
    .syn_akce_card_header,
    .dlk_akce_card_header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .plv_akce_card_actions,
    .mlv_akce_card_actions,
    .syn_akce_card_actions,
    .dlk_akce_card_actions {
        flex-direction: column;
    }

    .plv_akce_btn,
    .mlv_akce_btn,
    .syn_akce_btn,
    .dlk_akce_btn {
        width: 100%;
        justify-content: center;
    }

    .plv_akce_admin_actions,
    .mlv_akce_admin_actions,
    .syn_akce_admin_actions,
    .dlk_akce_admin_actions {
        flex-direction: row;
        justify-content: center;
        margin-top: 10px;
    }

    .plv_akce_detail_item,
    .mlv_akce_detail_item,
    .syn_akce_detail_item,
    .dlk_akce_detail_item {
        flex-direction: column;
        text-align: center;
    }

    .plv_akce_detail_icon,
    .mlv_akce_detail_icon,
    .syn_akce_detail_icon,
    .dlk_akce_detail_icon {
        margin: 0 auto 10px auto;
    }
}

@media (max-width: 576px) {
    .plv_akce_admin_controls,
    .mlv_akce_admin_controls,
    .syn_akce_admin_controls,
    .dlk_akce_admin_controls {
        text-align: center;
        margin-bottom: 20px;
    }

    .plv_akce_section_title,
    .mlv_akce_section_title,
    .syn_akce_section_title,
    .dlk_akce_section_title {
        text-align: center;
        margin-bottom: 15px;
    }
}

/* Print styles */
@media print {
    .plv_akce_admin_controls,
    .mlv_akce_admin_controls,
    .syn_akce_admin_controls,
    .dlk_akce_admin_controls,
    .plv_akce_admin_actions,
    .mlv_akce_admin_actions,
    .syn_akce_admin_actions,
    .dlk_akce_admin_actions,
    .plv_akce_filter,
    .mlv_akce_filter,
    .syn_akce_filter,
    .dlk_akce_filter {
        display: none !important;
    }

    .plv_akce_card,
    .mlv_akce_card,
    .syn_akce_card,
    .dlk_akce_card {
        box-shadow: none;
        border: 1px solid #ddd;
        break-inside: avoid;
    }
}

/* Styly pro vizuální rozlišení skrytých akcí */

/* Hlavní styl pro skryté akce - zešedivění celé karty */
.syn_akce_item.akce-hidden,
.plv_akce_item.akce-hidden,
.mlv_akce_item.akce-hidden,
.dlk_akce_item.akce-hidden {
    opacity: 0.6;
    filter: grayscale(50%);
    position: relative;
}

/* Přidání overlay pro skryté akce */
.syn_akce_item.akce-hidden::before,
.plv_akce_item.akce-hidden::before,
.mlv_akce_item.akce-hidden::before,
.dlk_akce_item.akce-hidden::before {
    content: "SKRYTÁ AKCE";
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: rgba(220, 53, 69, 0.9);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: bold;
    z-index: 10;
    letter-spacing: 0.5px;
}

/* Modifikace karty pro skryté akce */
.syn_akce_item.akce-hidden .syn_akce_card,
.plv_akce_item.akce-hidden .plv_akce_card,
.mlv_akce_item.akce-hidden .mlv_akce_card,
.dlk_akce_item.akce-hidden .dlk_akce_card {
    border: 2px dashed #dc3545;
    background-color: rgba(248, 249, 250, 0.8);
}

/* Animace pro změny viditelnosti */
.syn_akce_item,
.plv_akce_item,
.mlv_akce_item,
.dlk_akce_item {
    transition: opacity 0.3s ease, filter 0.3s ease;
}

/* Responzivní úpravy pro malé obrazovky */
@media (max-width: 768px) {
    .syn_akce_item.akce-hidden::before,
    .plv_akce_item.akce-hidden::before,
    .mlv_akce_item.akce-hidden::before,
    .dlk_akce_item.akce-hidden::before {
        font-size: 8px;
        padding: 2px 4px;
        top: 5px;
        right: 5px;
    }
}

/* Úprava pro lepší čitelnost skrytých akcí v seznamu */
.akce-hidden .syn_akce_card_header h5,
.akce-hidden .plv_akce_card_header h5,
.akce-hidden .mlv_akce_card_header h5,
.akce-hidden .dlk_akce_card_header h5 {
    text-decoration: line-through;
    opacity: 0.7;
}

/*MODALNI OKNA*/
/* ========== EVENT MODAL STYLES ========== */

/* Základní styling pro oba modaly */
#addEventModal,
#editEventModal {
    z-index: 1055; /* Vyšší než standardní Bootstrap modal */
}

#addEventModal .modal-dialog,
#editEventModal .modal-dialog {
    max-width: 800px;
    margin: 1.75rem auto;
}

#addEventModal .modal-content,
#editEventModal .modal-content {
    border: none;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    overflow: hidden;
}

/* Modal Header Styling */
#addEventModal .modal-header,
#editEventModal .modal-header {
    padding: 1.5rem 2rem;
    border-bottom: none;
    position: relative;
}

/* Gradient overlay pro headers */
#addEventModal .modal-header::before,
#editEventModal .modal-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
    pointer-events: none;
}

#addEventModal .modal-title,
#editEventModal .modal-title {
    font-weight: 600;
    font-size: 1.4rem;
    color: white;
    margin: 0;
    position: relative;
    z-index: 1;
}

#addEventModal .btn-close,
#editEventModal .btn-close {
    filter: brightness(0) invert(1);
    opacity: 0.8;
    transition: all 0.3s ease;
    position: relative;
    z-index: 1;
}

#addEventModal .btn-close:hover,
#editEventModal .btn-close:hover {
    opacity: 1;
    transform: scale(1.1);
}

/* Modal Body Styling */
#addEventModal .modal-body,
#editEventModal .modal-body {
    padding: 2rem;
    background-color: #fafbfc;
}

/* Form Styling uvnitř modalů */
#addEventModal .form-label,
#editEventModal .form-label {
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}

#addEventModal .form-control,
#editEventModal .form-control,
#addEventModal .form-select,
#editEventModal .form-select {
    border: 2px solid #e9ecef;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    transition: all 0.3s ease;
    background-color: white;
}

#addEventModal .form-control:focus,
#editEventModal .form-control:focus,
#addEventModal .form-select:focus,
#editEventModal .form-select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.15);
    background-color: white;
}

/* Textarea speciálně pro CKEditor */
#addEventModal textarea,
#editEventModal textarea {
    min-height: 120px;
    resize: vertical;
}

/* File input styling */
#addEventModal .form-control[type="file"],
#editEventModal .form-control[type="file"] {
    padding: 0.5rem;
    border-style: dashed;
    background-color: #f8f9fa;
}

#addEventModal .form-control[type="file"]:hover,
#editEventModal .form-control[type="file"]:hover {
    background-color: #e9ecef;
    border-color: var(--primary-color);
}

/* Checkbox styling */
#addEventModal .form-check,
#editEventModal .form-check {
    padding: 0.75rem;
    border-radius: 8px;
    margin-bottom: 1rem;
}

#addEventModal .form-check-input,
#editEventModal .form-check-input {
    margin-top: 0.25rem;
}

#addEventModal .form-check-label,
#editEventModal .form-check-label {
    font-weight: 500;
    color: #495057;
    cursor: pointer;
}

/* Multi-day containers styling (skutečně používané ID) */
#addSingleDayContainer,
#addMultiDayContainer,
#editSingleDayContainer,
#editMultiDayContainer {
    transition: all 0.3s ease;
    overflow: hidden;
}

#addEventModal .form-check.mt-4,
#editEventModal .form-check.mt-4 {

    background-color: transparent;
    border: none;
    padding: 0.5rem 2rem;
}

#addEventModal .form-check-input,
#editEventModal .form-check-input {
    margin-top: 0.25rem;
}

#addEventModal .form-check-label,
#editEventModal .form-check-label {
    font-weight: 500;
    color: #495057;
    cursor: pointer;
}


/* Small text styling */
#addEventModal .form-text,
#editEventModal .form-text {
    font-size: 0.85rem;
    color: #6c757d;
    margin-top: 0.25rem;
}

/* Modal Footer Styling */
#addEventModal .modal-footer,
#editEventModal .modal-footer {
    padding: 1.5rem 2rem;
    border-top: 1px solid #dee2e6;
    background-color: #f8f9fa;
    gap: 0.75rem;
}

#addEventModal .modal-footer .btn,
#editEventModal .modal-footer .btn {
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.3s ease;
    min-width: 100px;
}

#addEventModal .btn-secondary,
#editEventModal .btn-secondary {
    background-color: #6c757d;
    border-color: #6c757d;
}

#addEventModal .btn-secondary:hover,
#editEventModal .btn-secondary:hover {
    background-color: #545b62;
    border-color: #4e555b;
    transform: translateY(-1px);
}

#addEventModal .btn-primary,
#editEventModal .btn-primary {
    background-color: var(--primary-color, #007bff);
    border-color: var(--primary-color);
    position: relative;
    overflow: hidden;
}

#addEventModal .btn-primary:hover,
#editEventModal .btn-primary:hover {
    background-color: var(--primary-color-dark);
    border-color: var(--primary-color-dark);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

/* Loading state pro tlačítka */
#addEventModal .btn-primary:disabled,
#editEventModal .btn-primary:disabled {
    opacity: 0.8;
    cursor: not-allowed;
}

/* Specifické styly pro různé sekce */

/* Plavání (PLV) */
#addEventModal .plv_akce_modal_header,
#editEventModal .plv_akce_modal_header {
    background: linear-gradient(135deg, var(--plavani-primary, #1e88e5) 0%, var(--plavani-primary-dark, #1565c0) 100%);
}

/* Masters (MLV) */
#addEventModal .mlv_akce_modal_header,
#editEventModal .mlv_akce_modal_header {
    background: linear-gradient(135deg, var(--masters-primary,#ff7043) 0%, var(--masters-primary-dark, #f4511e) 100%);
}

/* Synchro (SYN) */
#addEventModal .syn_akce_modal_header,
#editEventModal .syn_akce_modal_header {
    background: linear-gradient(135deg, var(--synchro-primary, #e91e63) 0%, var(--synchro-primary-dark, #c2185b) 100%);
}

/* Dálkaři (DLK) */
#addEventModal .dlk_akce_modal_header,
#editEventModal .dlk_akce_modal_header {
    background: linear-gradient(135deg, var(--dalkari-primary, #43a047 ) 0%, var(--dalkari-primary-dark, #2e7d32) 100%);
}

/* CKEditor integration */
#addEventModal .ck-editor,
#editEventModal .ck-editor {
    margin-bottom: 1rem;
}

#addEventModal .ck-editor__editable,
#editEventModal .ck-editor__editable {
    min-height: 150px;
    border-radius: 8px;
}

/* Responsive design */
@media (max-width: 768px) {
    #addEventModal .modal-dialog,
    #editEventModal .modal-dialog {
        margin: 0.5rem;
        max-width: none;
    }

    #addEventModal .modal-body,
    #editEventModal .modal-body {
        padding: 1.5rem;
    }

    #addEventModal .modal-footer,
    #editEventModal .modal-footer {
        padding: 1rem 1.5rem;
        flex-direction: column-reverse;
    }

    #addEventModal .modal-footer .btn,
    #editEventModal .modal-footer .btn {
        width: 100%;
        margin-bottom: 0.5rem;
    }

    #addEventModal .modal-footer .btn:last-child,
    #editEventModal .modal-footer .btn:last-child {
        margin-bottom: 0;
    }
}

@media (max-width: 576px) {
    #addEventModal .modal-title,
    #editEventModal .modal-title {
        font-size: 1.2rem;
    }

    #addEventModal .modal-header,
    #editEventModal .modal-header {
        padding: 1.25rem 1.5rem;
    }
}

/* Animace při otevírání/zavírání */
#addEventModal.show .modal-dialog,
#editEventModal.show .modal-dialog {
    animation: modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn {
    from {
        transform: translate(0, -50px);
        opacity: 0;
    }
    to {
        transform: translate(0, 0);
        opacity: 1;
    }
}

/* Focus trap styling */
#addEventModal:focus,
#editEventModal:focus {
    outline: none;
}

/* Error states */
#addEventModal .form-control.is-invalid,
#editEventModal .form-control.is-invalid,
#addEventModal .form-select.is-invalid,
#editEventModal .form-select.is-invalid {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.15);
}

#addEventModal .invalid-feedback,
#editEventModal .invalid-feedback {
    font-size: 0.85rem;
    color: #dc3545;
    margin-top: 0.25rem;
}

/* Success states */
#addEventModal .form-control.is-valid,
#editEventModal .form-control.is-valid,
#addEventModal .form-select.is-valid,
#editEventModal .form-select.is-valid {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.15);
}

/*========== KONEC AKCE CSS ==========*/


/*--------galerie-----START---*/

/* Banner */
.glr-banner {
    background: linear-gradient(rgba(0, 74, 173, 0.85), rgba(0, 74, 173, 0.95)), url('/assets/images/home/water.webp');
    background-size: cover;
    background-position: center;
    padding: 80px 0;
    margin-bottom: 40px;
    color: white;
    position: relative;
}

.glr-container {
    background-color: rgba(255,255,255,0.95);
    border-radius: 24px;
    backdrop-filter: blur(4px);
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.6);
    padding: 2rem;
    margin-bottom: 2rem;
    margin-top: 100px;
}

.glr-section-title {
    color: var(--primary-blue);
    position: relative;
    font-weight: 600;
    margin-bottom: 2rem;
    text-align: center;
}

/* Group Navigation */
.glr-group-navigation {
    margin-bottom: 2rem;
}

.glr-groups-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-top: 1.5rem;
}

.glr-group-card {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}

.glr-group-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    text-decoration: none;
    color: inherit;
}

.glr-group-card.glr-active {
    border-color: var(--primary-blue);
    background: linear-gradient(135deg, rgba(0, 74, 173, 0.05), rgba(255, 215, 0, 0.05));
}

.glr-group-icon {
    width: 60px;
    height: 60px;
    background: var(--primary-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    font-size: 1.5rem;
    color: white;
    transition: all 0.3s ease;
}

.glr-group-card:hover .glr-group-icon {
    background: var(--primary-yellow);
    color: var(--primary-blue);
    transform: scale(1.1);
}

.glr-group-title {
    color: var(--primary-blue);
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.glr-group-stats {
    display: flex;
    justify-content: center;
    gap: 1rem;
    font-size: 0.9rem;
    color: #666;
}

/* Albums Grid - OPRAVENÝ PRO ČTVERCE */
.glr-albums-container {
    max-height: 800px;
    overflow-y: auto;
    padding-right: 10px;
}

.glr-albums-container::-webkit-scrollbar {
    width: 8px;
}

.glr-albums-container::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.1);
    border-radius: 4px;
}

.glr-albums-container::-webkit-scrollbar-thumb {
    background: var(--primary-blue);
    border-radius: 4px;
}

.glr-albums-container::-webkit-scrollbar-thumb:hover {
    background: var(--primary-yellow);
}

.glr-albums-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    align-items: start;
}

.glr-album-card {
    aspect-ratio: 1; /* Vždy čtverec */
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.4s ease;
    position: relative;
    cursor: pointer;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.glr-album-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

/* Featured album - zabere 2x2 čtverce */
.glr-album-card.glr-featured {
    grid-column: span 2;
    grid-row: span 2;
}

/* Album content - název je vždy viditelný uprostřed */
.glr-album-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

.glr-album-card:hover .glr-album-content {
    background: rgba(0, 0, 0, 0.5);
}

.glr-album-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    line-height: 1.2;
}

.glr-album-card.glr-featured .glr-album-title {
    font-size: 1.8rem;
}

.glr-album-stats {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    opacity: 0.9;
    margin-top: 0.5rem;
}

.glr-album-count {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.glr-album-date {
    font-size: 0.8rem;
    opacity: 0.8;
}

.glr-album-description {
    color: #333;
    font-size: 1rem;
    margin-bottom: 0.5rem;
}

/* Add Album Card */
.glr-add-album-card {
    background: linear-gradient(135deg, rgba(0, 74, 173, 0.1), rgba(255, 215, 0, 0.1)) !important;
    border: 2px dashed var(--primary-blue);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    color: var(--primary-blue) !important;
}

.glr-add-album-card:hover {
    background: linear-gradient(135deg, rgba(0, 74, 173, 0.2), rgba(255, 215, 0, 0.2)) !important;
    border-color: var(--primary-yellow);
}

.glr-add-album-icon {
    font-size: 3rem;
    color: var(--primary-blue);
    margin-bottom: 1rem;
}

.glr-add-album-text {
    color: var(--primary-blue);
    font-weight: 600;
    font-size: 1.1rem;
    text-shadow: none;
}

/* Admin Controls */
.glr-admin-controls {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 5;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.glr-album-card:hover .glr-admin-controls {
    opacity: 1;
}

.glr-admin-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background-color: rgba(255, 255, 255, 0.9);
    color: var(--primary-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.glr-admin-btn:hover {
    background-color: var(--primary-blue);
    color: white;
}

.glr-admin-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

/* Photos Grid */
.glr-photos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 2rem;
}

.glr-photo-item {
    aspect-ratio: 1;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
}

.glr-photo-item:hover {
    transform: scale(1.03);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.glr-photo-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.glr-photo-admin {
    position: absolute;
    top: 5px;
    right: 5px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.glr-photo-item:hover .glr-photo-admin {
    opacity: 1;
}

/* Empty State */
.glr-empty {
    text-align: center;
    padding: 4rem 2rem;
    color: #666;
}

.glr-empty-icon {
    font-size: 4rem;
    color: #ccc;
    margin-bottom: 1.5rem;
}

/* Breadcrumb */
.glr-breadcrumb {
    background-color: rgba(255, 255, 255, 0.9);
    padding: 1rem 2rem;
    border-radius: 8px;
    margin-bottom: 2rem;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.glr-breadcrumb a {
    color: var(--primary-blue);
    text-decoration: none;
    font-weight: 500;
}

.glr-breadcrumb a:hover {
    color: var(--primary-yellow);
}

/* Gradient Selector */
.glr-gradient-selector {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    margin-top: 10px;
}

.glr-gradient-option {
    cursor: pointer;
    position: relative;
}

.glr-gradient-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.glr-gradient-preview {
    width: 100%;
    height: 40px;
    border-radius: 6px;
    border: 2px solid transparent;
    transition: all 0.3s ease;
}

.glr-gradient-option:hover .glr-gradient-preview {
    border-color: var(--primary-blue);
    transform: scale(1.05);
}

.glr-gradient-option input[type="radio"]:checked + .glr-gradient-preview {
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 3px rgba(0, 74, 173, 0.2);
}

/* Upload Preview */
.glr-upload-preview {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 10px;
    margin-top: 15px;
}

.glr-preview-item {
    text-align: center;
}

.glr-preview-item img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 5px;
}

.glr-preview-item span {
    font-size: 0.8rem;
    color: #666;
    word-break: break-all;
}

/* Animations */
.glr-fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s ease;
}

.glr-fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

.glr-pagination .pagination {
    gap: 0.5rem;
}

.glr-pagination .page-link {
    color: var(--primary-color, #0066cc);
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    padding: 0.5rem 0.75rem;
    transition: all 0.3s ease;
}

.glr-pagination .page-link:hover {
    background-color: var(--primary-color, #0066cc);
    color: white;
    border-color: var(--primary-color, #0066cc);
}

.glr-pagination .page-item.active .page-link {
    background-color: var(--primary-color, #0066cc);
    border-color: var(--primary-color, #0066cc);
    color: white;
}

.glr-pagination .page-item.disabled .page-link {
    cursor: default;
    border: none;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .glr-albums-grid {
        grid-template-columns: repeat(3, 1fr); /* 3 sloupce */
    }

    .glr-album-card.glr-featured {
        grid-column: span 2; /* zabere 2 sloupce z 3 */
        grid-row: span 2;
    }
}

@media (max-width: 768px) {
    .glr-albums-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 sloupce */
    }

    .glr-album-card.glr-featured {
        grid-column: span 2; /* zabere oba sloupce */
        grid-row: span 1; /* ale jen jeden řádek */
    }

    .glr-container {
        padding: 1rem;
    }

    .glr-groups-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .glr-group-card {
        padding: 1rem;
    }

    .glr-group-icon {
        width: 50px;
        height: 50px;
        font-size: 1.3rem;
    }

    .glr-photos-grid {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 15px;
    }

    .glr-gradient-selector {
        grid-template-columns: repeat(3, 1fr);
    }

    .glr-upload-preview {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }

    .glr-albums-container {
        max-height: 600px;
    }
}

@media (max-width: 576px) {
    .glr-albums-grid {
        grid-template-columns: 1fr; /* 1 sloupec */
    }

    .glr-album-card.glr-featured {
        grid-column: span 1; /* zabere celou šířku */
        grid-row: span 1;
    }

    .glr-groups-grid {
        grid-template-columns: 1fr;
    }

    .glr-photos-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    }

    .glr-admin-actions {
        flex-direction: column;
        gap: 0.3rem;
    }

    .glr-admin-actions .btn {
        width: 100%;
    }

    .glr-gradient-selector {
        grid-template-columns: repeat(2, 1fr);
    }

    .glr-albums-container {
        max-height: 500px;
    }
}

/* Modal image - OPRAVENÉ ROZMĚRY */
#glrModalPhoto {
    max-width: 90vw;
    max-height: 80vh;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Modal image - OPRAVENÉ ROZMĚRY */
#glrModalPhoto {
    max-width: 90vw;
    max-height: 80vh;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Print styles */
@media print {
    .glr-admin-controls,
    .glr-admin-actions,
    .glr-photo-admin {
        display: none !important;
    }
}

.close-button {
    width: 1.4rem;
    height: 1.4rem;
    background-color: #ff0000;
    opacity: 70%;
}

.close-button:hover {
    filter: invert(1);
    background-color: #00ffff;
    opacity: 1;
}

.close-button:focus {
    filter: invert(1);
    background-color: #00ffff;
    opacity: 1;
}
/*----------------galerie ------end---- */


/*--------CLUB EQUIPMENT---------START---*/


/* Main Container */
.clubEqpContainer {
    background-color: rgba(255, 255, 255, 0.48);
    border-radius: 24px;
    backdrop-filter: blur(4px);
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.6);
    padding: 2rem;
}

/* Header Styles */
.clubEqpHeader {
    text-align: center;
    margin-bottom: 3rem;
}

.clubEqpMainTitle {
    color: var(--primary-blue);
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.clubEqpMainTitle::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 4px;
    background: linear-gradient(90deg, transparent, var(--primary-yellow), transparent);
    border-radius: 4px;
}

.clubEqpSubtitle {
    color: var(--dark-gray);
    font-size: 1.2rem;
    max-width: 600px;
    margin: 0 auto;
    opacity: 0.9;
    line-height: 1.6;
}

.clubEqpBackLink {
    display: inline-flex;
    align-items: center;
    color: var(--primary-blue);
    text-decoration: none;
    font-weight: 500;
    margin-top: 1rem;
    transition: all 0.3s ease;
}

.clubEqpBackLink:hover {
    color: var(--primary-yellow);
    text-decoration: underline;
}

.clubEqpBackLink i {
    margin-right: 0.5rem;
}

/* Controls Section */
.clubEqpControls {
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 15px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    border: 1px solid rgba(0, 74, 173, 0.1);
}

.clubEqpFilters .form-label {
    color: var(--dark-gray);
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.clubEqpFilters .form-control,
.clubEqpFilters .form-select {
    border: 2px solid rgba(0, 74, 173, 0.2);
    border-radius: 8px;
    transition: all 0.3s ease;
}

.clubEqpFilters .form-control:focus,
.clubEqpFilters .form-select:focus {
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 0.2rem rgba(0, 74, 173, 0.25);
}

.clubEqpAdminActions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

/* Equipment Grid - Inspirováno ukázkou */
.clubEqpItemsGrid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

.clubEqpItem {
    background-color: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    display: grid;
    grid-template-columns: 300px 1fr;
    min-height: 250px;
    border: 2px solid transparent;
    overflow-y: auto;   /* enables vertical scrollbar when content is taller */
}

.clubEqpItem:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    border-color: var(--primary-blue);
}

.clubEqpItem.clubEqpItemUnavailable {
    opacity: 0.7;
    background-color: #f8f9fa;
}

/* Image Section */
.clubEqpItemImageSection {
    position: relative;
    background-color: #f8f9fa;
    max-height: 520px;
    overflow-y: auto; /* Allows scrolling if content exceeds max height */
}

.clubEqpItemImageWrapper {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.clubEqpItemImage {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
    cursor: pointer;
}

.clubEqpItemImage:hover {
    transform: scale(1.05);
}

.clubEqpItemUnavailableBadge {
    position: absolute;
    top: 15px;
    left: 15px;
    background-color: var(--danger-color);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Content Section */
.clubEqpItemContentSection {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-height: 600px;

    border-left: 1px solid var(--primary-blue);


}

.clubEqpItemContent {
    flex: 1;
}

.clubEqpItemCategory {
    color: var(--primary-blue);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.5rem;
}

.clubEqpItemTitle {
    color: var(--dark-gray);
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    line-height: 1.3;
}

.clubEqpItemPrices {
    margin-bottom: 1rem;
}

.clubEqpPrice {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.clubEqpPrice:last-child {
    border-bottom: none;
}

.clubEqpPriceLabel {
    font-weight: 600;
    color: var(--dark-gray);
}

.clubEqpPriceValue {
    font-size: 1.2rem;
    font-weight: 700;
}

.clubEqpPrice.clubEqpPriceMember .clubEqpPriceValue {
    color: var(--success-color);
}

.clubEqpPrice.clubEqpPriceGuest .clubEqpPriceValue {
    color: var(--warning-color);
}

.clubEqpItemDescription {
    color: var(--dark-gray);
    line-height: 1.6;
    margin-bottom: 1.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 4; /* Zde nastavíš počet řádků */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.clubEqpItemDescription img {
    display: none; /* V náhledu raději skryjeme obrázky vložené do textu */
}

.clubEqpShowMore {
    color: var(--primary-blue);
    cursor: pointer;
    font-weight: 600;
    text-decoration: underline;
}

.clubEqpShowMore:hover {
    color: var(--primary-yellow);
}

/* User Actions */
.clubEqpItemActions {
    margin-top: 1rem;
}

.clubEqpInterestExpressed {
    background-color: rgba(40, 167, 69, 0.1);
    border: 2px solid var(--success-color);
    border-radius: 10px;
    padding: 1rem;
    text-align: center;
    color: var(--success-color);
    font-weight: 600;
}

.clubEqpCancelInterest {
    display: inline-block;
    margin-top: 0.5rem;
    color: var(--danger-color);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}
.clubEqpInfoInterest{
    display: inline-block;
    margin-top: 0.5rem;
    color: var(--info-color);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}



.clubEqpCancelInterest:hover {
    color: var(--danger-color);
    text-decoration: underline;
}

/* Admin Actions */
.clubEqpItemAdminActions {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    display: flex;
    gap: 0.5rem;
}

/* Buttons */
.clubEqpBtnPrimary {
    background-color: var(--primary-blue);
    border-color: var(--primary-blue);
    color: white;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
}

.clubEqpBtnPrimary:hover {
    background-color: var(--primary-yellow);
    border-color: var(--primary-yellow);
    color: var(--dark-gray);
    transform: translateY(-1px);
}

.clubEqpBtnSecondary {
    background-color: transparent;
    border: 2px solid var(--primary-blue);
    color: var(--primary-blue);
    font-weight: 600;
    border-radius: 8px;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
}

.clubEqpBtnSecondary:hover {
    background-color: var(--primary-blue);
    color: white;
}

.clubEqpBtnSuccess {
    background-color: var(--success-color);
    border-color: var(--success-color);
    color: white;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
}

.clubEqpBtnSuccess:hover {
    background-color: #218838;
    border-color: #1e7e34;
    transform: translateY(-1px);
}

.clubEqpBtnWarning {
    background-color: var(--warning-color);
    border-color: var(--warning-color);
    color: var(--dark-gray);
    font-weight: 600;
    border-radius: 8px;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
}

.clubEqpBtnWarning:hover {
    background-color: #e0a800;
    border-color: #d39e00;
    transform: translateY(-1px);
}

.clubEqpBtnDanger {
    background-color: var(--danger-color);
    border-color: var(--danger-color);
    color: white;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
}

.clubEqpBtnDanger:hover {
    background-color: #c82333;
    border-color: #bd2130;
    transform: translateY(-1px);
}

.clubEqpBtnInfo {
    background-color: var(--info-color);
    border-color: var(--info-color);
    color: white;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
}

.clubEqpBtnInfo:hover {
    background-color: #138496;
    border-color: #117a8b;
    transform: translateY(-1px);
}

.clubCancelInterestBtn{
    background-color: transparent;
    border: 2px solid var(--danger-color);
    color: var(--danger-color);
    font-weight: 600;
    border-radius: 8px;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
}

.clubEqpBtnInterest {
    background: linear-gradient(45deg, #ff6b6b, #ee5a6f);
    border: none;
    color: white;
    font-weight: 600;
    border-radius: 25px;
    padding: 0.75rem 1.5rem;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.clubEqpBtnInterest::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.5s ease;
}

.clubEqpBtnInterest:hover::before {
    left: 100%;
}

.clubEqpBtnInterest:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 107, 107, 0.4);
}

/* Empty State */
.clubEqpEmpty {
    padding: 4rem 2rem;
    text-align: center;
    color: #666;
}

.clubEqpEmptyIcon {
    font-size: 4rem;
    color: #ccc;
    margin-bottom: 1.5rem;
}

/* Pagination */
.clubEqpPagination .pagination {
    --bs-pagination-bg: white;
    --bs-pagination-border-color: rgba(0, 74, 173, 0.2);
    --bs-pagination-hover-bg: var(--primary-blue);
    --bs-pagination-hover-color: white;
    --bs-pagination-active-bg: var(--primary-blue);
    --bs-pagination-active-border-color: var(--primary-blue);
}

.clubEqpPagination .page-link {
    font-weight: 600;
    border-radius: 8px;
    margin: 0 2px;
}

/* Form Styles */
.clubEqpFormContainer {
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 15px;
    padding: 2rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.clubEqpFormSection {
    background-color: white;
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.clubEqpFormSection h3 {
    color: var(--primary-blue);
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--primary-yellow);
}

.clubEqpFormActions {
    padding-top: 2rem;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.clubEqpCurrentImage img {
    max-width: 100%;
    height: auto;
    border: 2px solid rgba(0, 74, 173, 0.2);
}

.clubEqpImagePreview img {
    max-width: 100%;
    height: auto;
    border: 2px solid var(--success-color);
}

/* Delete Confirmation */
.clubEqpDeleteConfirmation {
    max-width: 800px;
    margin: 0 auto;
}

.clubEqpDeleteItem {
    background-color: white;
    border-radius: 15px;
    padding: 2rem;
    margin: 2rem 0;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.clubEqpDeleteActions {
    padding-top: 2rem;
}

/* Status Badges */
.clubEqpStatusBadge {
    padding: 0.4rem 0.8rem;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
}

.clubEqpStatusPending {
    background-color: rgba(255, 193, 7, 0.2);
    color: #856404;
}

.clubEqpStatusProcessed {
    background-color: rgba(40, 167, 69, 0.2);
    color: #155724;
}

.clubEqpStatusCancelled {
    background-color: rgba(220, 53, 69, 0.2);
    color: #721c24;
}

/* Interest Management */
.clubEqpNote {
    cursor: help;
    border-bottom: 1px dotted #ccc;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .clubEqpItem {
        grid-template-columns: 250px 1fr;
    }

    .clubEqpItemContentSection {
        padding: 1.5rem;
    }
}

@media (max-width: 991px) {
    .clubEqpItem {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .clubEqpItemImageSection {
        height: 250px;
    }

    .clubEqpItemContentSection {
        padding: 2rem;
    }

    .clubEqpAdminActions {
        justify-content: center;
        margin-top: 1rem;
    }

    .clubEqpContainer {
        padding: 1.5rem;
    }

    .clubEqpMainTitle {
        font-size: 2.5rem;
    }
}

@media (max-width: 768px) {
    .clubEqpMainTitle {
        font-size: 2rem;
    }

    .clubEqpSubtitle {
        font-size: 1rem;
    }

    .clubEqpContainer {
        padding: 1rem;
        border-radius: 15px;
    }

    .clubEqpControls {
        padding: 1rem;
    }

    .clubEqpItemContentSection {
        padding: 1.5rem;
    }

    .clubEqpItemTitle {
        font-size: 1.3rem;
    }

    .clubEqpFormContainer {
        padding: 1rem;
    }

    .clubEqpFormSection {
        padding: 1rem;
    }

    .clubEqpItemAdminActions {
        flex-direction: column;
    }

    .clubEqpItemAdminActions .btn {
        width: 100%;
        margin-bottom: 0.5rem;
    }

    .clubEqpDeleteItem {
        padding: 1rem;
    }

    .table-responsive {
        font-size: 0.9rem;
    }
}

@media (max-width: 576px) {
    .clubEqpAdminActions {
        flex-direction: column;
        align-items: stretch;
    }

    .clubEqpAdminActions .btn {
        width: 100%;
        margin-bottom: 0.5rem;
    }

    .clubEqpFilters .btn {
        width: 100%;
    }

    .clubEqpFormActions .btn {
        width: 100%;
        margin-bottom: 0.5rem;
    }

    .clubEqpDeleteActions .btn {
        width: 100%;
        margin-bottom: 0.5rem;
    }
}


/* Modal Enhancements */
.modal-content {
    border-radius: 15px;
    border: none;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.modal-header {
    background-color: var(--primary-blue);
    color: white;
    border-radius: 15px 15px 0 0;
    border-bottom: none;
}

.modal-header .btn-close {
    filter: invert(1);
}

.modal-body {
    padding: 2rem;
}

.modal-footer {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    padding: 1rem 2rem;
}

/* Loading and Animation States */
.clubEqpLoading {
    opacity: 0.6;
    pointer-events: none;
}

.clubEqpFadeIn {
    animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Equipment Detail Styles */
.clubEqpDetailContainer {
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 15px;
    padding: 2rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.clubEqpDetailImageSection {
    position: sticky;
    top: 20px;
}

.clubEqpDetailImageWrapper {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    background-color: #f8f9fa;
}

.clubEqpDetailImage {
    width: 100%;
    height: auto;
    min-height: 300px;
    object-fit: cover;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.clubEqpDetailImage:hover {
    transform: scale(1.02);
}

.clubEqpDetailUnavailableBadge {
    position: absolute;
    top: 20px;
    left: 20px;
    background-color: var(--danger-color);
    color: white;
    padding: 0.75rem 1.25rem;
    border-radius: 25px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    box-shadow: 0 4px 15px rgba(220, 53, 69, 0.3);
}

.clubEqpDetailImageHint {
    margin-top: 1rem;
}

.clubEqpDetailContent {
    padding-left: 2rem;
}

.clubEqpDetailCategory .badge {
    font-size: 0.9rem;
    padding: 0.5rem 1rem;
    border-radius: 15px;
    background-color: var(--primary-blue) !important;
}

.clubEqpDetailTitle {
    color: var(--dark-gray);
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

.clubEqpDetailPrices {
    margin-bottom: 2rem;
}

.clubEqpDetailPriceCard {
    background-color: white;
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    border: 2px solid transparent;
    transition: all 0.3s ease;
    margin-bottom: 1rem;
}

.clubEqpDetailPriceCard:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.clubEqpDetailPriceMember {
    border-color: var(--success-color);
}

.clubEqpDetailPriceMember .clubEqpDetailPriceValue {
    color: var(--success-color);
}

.clubEqpDetailPriceGuest {
    border-color: var(--warning-color);
}

.clubEqpDetailPriceGuest .clubEqpDetailPriceValue {
    color: var(--warning-color);
}

.clubEqpDetailPriceLabel {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.clubEqpDetailPriceValue {
    font-size: 2rem;
    font-weight: 700;
}

.clubEqpDetailDescription h4 {
    color: var(--primary-blue);
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--primary-yellow);
}

.clubEqpDetailDescriptionContent {
    color: var(--dark-gray);
    line-height: 1.8;
    font-size: 1.1rem;
}

.clubEqpDetailActions {
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 12px;
    padding: 2rem;
    margin-bottom: 2rem;
    border: 2px solid rgba(0, 74, 173, 0.1);
}

.clubEqpDetailInterestExpressed .alert {
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(40, 167, 69, 0.1), rgba(40, 167, 69, 0.05));
    border-left: 4px solid var(--success-color);
}

.clubEqpDetailInterestForm h5 {
    color: var(--primary-blue);
    margin-bottom: 1rem;
}

.clubEqpDetailInterestForm p {
    margin-bottom: 1.5rem;
}

.clubEqpDetailAdminActions {
    background-color: rgba(255, 243, 224, 0.5);
    border-radius: 12px;
    padding: 1.5rem;
}

.clubEqpDetailAdminActions h5 {
    color: var(--warning-color);
    margin-bottom: 1rem;
}

.clubEqpDetailInfo {
    background-color: rgba(248, 249, 250, 0.8);
    border-radius: 12px;
    padding: 1.5rem;
}

.clubEqpDetailInfo h6 {
    color: var(--primary-blue);
    font-weight: 700;
    margin-bottom: 1rem;
}

.clubEqpDetailInfo ul li {
    margin-bottom: 0.5rem;
    color: var(--dark-gray);
}

.clubEqpDetailInfo .small {
    line-height: 1.6;
}

/* Responsive Design for Detail */
@media (max-width: 1200px) {
    .clubEqpDetailContent {
        padding-left: 1rem;
    }
}

@media (max-width: 991px) {
    .clubEqpDetailContainer {
        padding: 1.5rem;
    }

    .clubEqpDetailContent {
        padding-left: 0;
        margin-top: 2rem;
    }

    .clubEqpDetailTitle {
        font-size: 2rem;
    }

    .clubEqpDetailImageSection {
        position: relative;
    }
}

@media (max-width: 768px) {
    .clubEqpDetailContainer {
        padding: 1rem;
    }

    .clubEqpDetailTitle {
        font-size: 1.75rem;
    }

    .clubEqpDetailPriceValue {
        font-size: 1.5rem;
    }

    .clubEqpDetailActions {
        padding: 1.5rem;
    }

    .clubEqpDetailAdminActions .btn-group {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .clubEqpDetailAdminActions .btn {
        width: 100%;
        margin-bottom: 0.5rem;
    }
}

/* Print Styles */
@media print {
    .clubEqpControls,
    .clubEqpAdminActions,
    .clubEqpItemActions,
    .clubEqpItemAdminActions,
    .clubEqpPagination,
    .clubEqpDetailActions,
    .clubEqpDetailAdminActions {
        display: none !important;
    }

    .clubEqpContainer,
    .clubEqpDetailContainer {
        background: white !important;
        box-shadow: none !important;
    }

    .clubEqpItem {
        break-inside: avoid;
        margin-bottom: 1rem;
        box-shadow: 0 0 0 1px #ccc !important;
    }

    .clubEqpDetailContent {
        padding-left: 0;
    }
}





/*--------CLUB EQUIPMENT---------END---*/

/*--------rekordy---------*/
/* ===== REKORDY CSS - Modro-žlutý design podle existujících stylů ===== */

/* Základní layout */
.rkrd-background-wrapper {
    min-height: 100vh;
    background-color: var(--body-color);
    position: relative;
    padding: 20px 0;
}

.rkrd-site-content {
    position: relative;
    z-index: 2;
    padding: 20px 0;
}

/* Hlavní nadpis */
.rkrd-main-header {
    text-align: center;
    margin-bottom: 40px;
}

.rkrd-main-title {
    font-size: 3rem;
    font-weight: 700;
    color: var(--primary-blue);
    margin: 0;
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

.rkrd-main-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 4px;
    background: linear-gradient(90deg, transparent, var(--primary-yellow), transparent);
    border-radius: 4px;
}

.rkrd-main-title i {
    color: var(--primary-yellow);
    margin-right: 15px;
}

.rkrd-subtitle {
    color: var(--dark-gray);
    font-size: 1.2rem;
    margin: 10px 0 0;
    opacity: 0.8;
}

/* Admin panel */
.rkrd-admin-panel {
    background-color: rgba(255,255,255,0.48);
    border-radius: 24px;
    backdrop-filter: blur(4px);
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.6);
    padding: 20px;
    margin: 0 auto 30px;
    max-width: 800px;
}

.rkrd-admin-controls {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
}

/* Tlačítka */
.rkrd-btn {
    padding: 12px 24px;
    border: none;
    border-radius: 25px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    cursor: pointer;
    font-size: 14px;
}

.rkrd-btn-primary {
    background-color: var(--primary-blue);
    color: white;
    box-shadow: 0 4px 15px rgba(0, 74, 173, 0.4);
}

.rkrd-btn-primary:hover {
    background-color: #003380;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 74, 173, 0.6);
}

.rkrd-btn-secondary {
    background-color: var(--primary-yellow);
    color: #333;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.4);
}

.rkrd-btn-secondary:hover {
    background-color: #e6c200;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 215, 0, 0.6);
}

.rkrd-btn-icon {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    margin: 0 3px;
}

.rkrd-btn-edit {
    background-color: var(--success-color);
    color: white;
}

.rkrd-btn-edit:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.4);
}

.rkrd-btn-delete {
    background-color: var(--danger-color);
    color: white;
}

.rkrd-btn-delete:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 15px rgba(220, 53, 69, 0.4);
}

/* Navigační karty pro pohlaví */
.rkrd-gender-tabs {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 40px;
}

.rkrd-gender-tab {
    background: white;
    border: none;
    border-radius: 50px;
    padding: 15px 30px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 600;
    color: var(--dark-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    min-width: 120px;
    justify-content: center;
}

.rkrd-gender-tab:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.rkrd-gender-tab.active {
    background-color: var(--primary-blue);
    color: white;
    box-shadow: 0 8px 25px rgba(0, 74, 173, 0.4);
}

.rkrd-gender-tab i {
    font-size: 18px;
}

/* Obsah podle pohlaví */
.rkrd-gender-content {
    display: none;
}

.rkrd-gender-content.active {
    display: block;
    animation: rkrd-fadeIn 0.5s ease;
}

@keyframes rkrd-fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Hlavní kontejner */
.rkrd-main-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    padding-bottom: 30px;
}

/* Věkové skupiny */
.rkrd-age-group {
    background: white;
    border-radius: 8px;
    margin-bottom: 25px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
}

.rkrd-age-group:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.rkrd-age-header {
    background-color: var(--primary-blue);
    color: white;
    padding: 20px 25px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s ease;
}

.rkrd-age-header:hover {
    background-color: #003380;
}

.rkrd-age-title {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rkrd-age-icon {
    font-size: 1.5rem;
    color: var(--primary-yellow);
}

.rkrd-age-title h3 {
    margin: 0;
    font-size: 1.4rem;
    font-weight: 600;
}

.rkrd-record-count {
    background: rgba(255, 215, 0, 0.2);
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 0.9rem;
    font-weight: 500;
}

.rkrd-toggle-icon {
    transition: transform 0.3s ease;
    font-size: 1.2rem;
}

.rkrd-age-group.expanded .rkrd-toggle-icon {
    transform: rotate(180deg);
}

/* Obsah věkové skupiny */
.rkrd-age-content {
    display: none;
    overflow: hidden;
}

.rkrd-age-group.expanded .rkrd-age-content {
    display: block;
}

/* Sekce bazénů */
.rkrd-pool-sections {
    display: grid;
    gap: 0;
    overflow-x: auto;
}

.rkrd-pool-section {
    border-bottom: 1px solid #e0e0e0;
}

.rkrd-pool-section:last-child {
    border-bottom: none;
}

.rkrd-pool-header {
    background-color: var(--light-gray);
    padding: 15px 25px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.rkrd-pool-header i {
    color: var(--primary-blue);
}

.rkrd-pool-header h4 {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--dark-gray);
}

/* Tabulka rekordů */
.rkrd-table-container {
    padding: 0;
    overflow-x: auto;
}

.rkrd-records-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 20px;
}

.rkrd-records-table th {
    background-color: var(--light-gray);
    padding: 15px 12px;
    text-align: left;
    font-weight: 600;
    color: var(--dark-gray);
    border-bottom: 2px solid #dee2e6;
    position: sticky;
    top: 0;
    z-index: 1;
}

.rkrd-records-table th i {
    margin-right: 8px;
    color: var(--primary-blue);
}

.rkrd-record-row {
    border-bottom: 1px solid #f0f0f0;
}

.rkrd-records-table td {
    padding: 12px;
    vertical-align: middle;
}

/* Styling jednotlivých sloupců */
.rkrd-discipline {
    min-width: 120px;
}

.rkrd-discipline-badge {
    background-color: var(--primary-blue);
    color: white;
    padding: 4px 8px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
    display: inline-block;
    margin-bottom: 3px;
}

.rkrd-discipline-full {
    color: #666;
    font-size: 11px;
    display: block;
    line-height: 1.2;
}

.rkrd-swimmer-name {
    font-weight: 600;
    color: var(--dark-gray);
    min-width: 150px;
}

.rkrd-birth-year {
    color: #666;
    font-weight: 500;
    text-align: center;
}

.rkrd-time-value {
    background-color: var(--primary-yellow);
    color: #333;
    padding: 6px 12px;
    border-radius: 15px;
    font-weight: 700;
    font-size: 13px;
    display: inline-block;
    min-width: 70px;
    text-align: center;
}

.rkrd-year {
    color: #666;
    font-weight: 500;
    text-align: center;
}

.rkrd-actions {
    text-align: center;
    min-width: 80px;
}

/* Zprávy */
.rkrd-message-container {
    margin: 0 auto 30px;
    max-width: 600px;
}

.rkrd-alert {
    padding: 15px 20px;
    border-radius: 10px;
    margin-bottom: 20px;
    border: 1px solid transparent;
}

.rkrd-alert-info {
    background-color: rgba(0, 74, 173, 0.1);
    color: var(--primary-blue);
    border-color: rgba(0, 74, 173, 0.3);
}

/* Modaly */
.rkrd-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    backdrop-filter: blur(5px);
}

.rkrd-modal.active {
    display: flex !important;
    align-items: center;
    justify-content: center;
    animation: rkrd-modalFade 0.3s ease;
}

@keyframes rkrd-modalFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

.rkrd-modal-content {
    background: white;
    border-radius: 20px;
    max-width: 500px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    animation: rkrd-modalSlide 0.3s ease;
    position: relative;
    margin-top: 4rem;
}

@keyframes rkrd-modalSlide {
    from { opacity: 0; transform: translateY(-50px) scale(0.9); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.rkrd-modal-header {
    background-color: var(--primary-blue);
    color: white;
    padding: 20px 25px;
    border-radius: 20px 20px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rkrd-modal-header h3 {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 600;
}

.rkrd-modal-close {
    background: none;
    border: none;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease;
}

.rkrd-modal-close:hover {
    background: rgba(255, 255, 255, 0.2);
}

.rkrd-modal-body {
    padding: 25px;
}

.rkrd-modal-footer {
    padding: 20px 25px;
    border-top: 1px solid #e0e0e0;
    display: flex;
    justify-content: flex-end;
    gap: 15px;
}

/* Formuláře */
.rkrd-form-group {
    margin-bottom: 20px;
}

.rkrd-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rkrd-form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--dark-gray);
}

.rkrd-form-group input,
.rkrd-form-group select {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    font-size: 14px;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.rkrd-form-group input:focus,
.rkrd-form-group select:focus {
    outline: none;
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 3px rgba(0, 74, 173, 0.1);
}

/* Responzivní design */
@media (max-width: 768px) {
    .rkrd-main-title {
        font-size: 2rem;
    }

    .rkrd-gender-tabs {
        flex-direction: column;
        align-items: center;
    }

    .rkrd-admin-controls {
        flex-direction: column;
        align-items: center;
    }

    .rkrd-age-title {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .rkrd-record-count {
        align-self: flex-start;
    }

    .rkrd-table-container {
        font-size: 12px;
    }

    .rkrd-records-table th,
    .rkrd-records-table td {
        padding: 8px 6px;
    }

    .rkrd-form-row {
        grid-template-columns: 1fr;
    }

    .rkrd-modal-content {
        width: 95%;
        margin: 10px;
    }
}

@media (max-width: 480px) {
    .rkrd-main-title {
        font-size: 1.5rem;
    }

    .rkrd-subtitle {
        font-size: 1rem;
    }

    .rkrd-age-header {
        padding: 15px;
    }

    .rkrd-pool-header {
        padding: 10px 15px;
    }
}

/* Utility třídy */
.rkrd-hidden {
    display: none !important;
}

.rkrd-visible {
    display: block !important;
}

.rkrd-loading {
    opacity: 0.5;
    pointer-events: none;
}

/* Scrollbar styling */
.rkrd-table-container::-webkit-scrollbar {
    height: 8px;
}

.rkrd-table-container::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.rkrd-table-container::-webkit-scrollbar-thumb {
    background-color: var(--primary-blue);
    border-radius: 10px;
}

.rkrd-table-container::-webkit-scrollbar-thumb:hover {
    background-color: #003380;
}

/* Animace pro tabulku a řádky */
.rkrd-records-table {
    animation: rkrd-tableSlideIn 0.5s ease-out;
}

@keyframes rkrd-tableSlideIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.rkrd-record-row {
    animation: rkrd-rowSlideIn 0.6s ease-out;
    animation-fill-mode: both;
}

/* Animace řádků - liché zleva, sudé zprava */
.rkrd-record-row:nth-child(odd) {
    animation-name: rkrd-rowSlideInLeft;
}

.rkrd-record-row:nth-child(even) {
    animation-name: rkrd-rowSlideInRight;
}

/* Delay pro postupné objevování řádků */
.rkrd-record-row:nth-child(1) { animation-delay: 0.1s; }
.rkrd-record-row:nth-child(2) { animation-delay: 0.15s; }
.rkrd-record-row:nth-child(3) { animation-delay: 0.2s; }
.rkrd-record-row:nth-child(4) { animation-delay: 0.25s; }
.rkrd-record-row:nth-child(5) { animation-delay: 0.3s; }
.rkrd-record-row:nth-child(6) { animation-delay: 0.35s; }
.rkrd-record-row:nth-child(7) { animation-delay: 0.4s; }
.rkrd-record-row:nth-child(8) { animation-delay: 0.45s; }
.rkrd-record-row:nth-child(n+9) { animation-delay: 0.5s; }

@keyframes rkrd-rowSlideInLeft {
    from {
        opacity: 0;
        transform: translateX(-100px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes rkrd-rowSlideInRight {
    from {
        opacity: 0;
        transform: translateX(100px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes rkrd-rowSlideOut {
    from {
        opacity: 1;
        transform: translateX(0);
        max-height: 60px;
    }
    to {
        opacity: 0;
        transform: translateX(-100px);
        max-height: 0;
        padding: 0;
        margin: 0;
    }
}

.rkrd-record-row:hover {
    background-color: rgba(0, 74, 173, 0.08);
    transform: translateX(5px);
    box-shadow: 0 2px 8px rgba(0, 74, 173, 0.15);
}

.rkrd-motivation-box {
    background-color: rgba(255, 215, 0, 0.59);
    border: 1px solid var(--primary-yellow);
    backdrop-filter: blur(4px);
    padding: 15px;
    border-radius: 10px;
    margin-top: 20px;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 600;
}

/*--------rekordy----end-----*/

/*-------gdpr-document-----start-----*/

/* Button Styles */
.pravniDokumenty-button {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 24px;
    background: var(--primary-blue);
    color: white;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1.3rem;
    text-align: center;
    transition: all 0.3s ease;
    border: none;
    outline: none;
    cursor: pointer;
    box-shadow: 0 5px 15px rgba(0, 74, 173, 0.3);
    position: relative;
    overflow: hidden;
    align-self: center;
    width: 100%;
}

.pravniDokumenty-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.7s ease;
}

.pravniDokumenty-button:hover {
    background: #003380;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 74, 173, 0.4);
    color: var(--primary-yellow);
}

.pravniDokumenty-button:hover::before {
    left: 100%;
}

.gdpr-section {
    padding: 2rem 0;
    position: relative;
}

.gdpr-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
}

.gdpr-card {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 2rem;
}

.gdpr_odkaz {
    color: var(--primary-blue);
}

.gdpr_odkaz:hover {
    color: var(--primary-yellow);
}

.gdpr-header {
    background-color: var(--light-gray);

    padding: 2rem;
    position: relative;
}

.gdpr-header h1 {
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.gdpr-header h5 {
    color: rgba(255, 255, 255, 0.8);
    font-weight: 400;
}

.gdpr-content {
    padding: 2rem;
    color: var(--dark-gray);
    font-size: 1.05rem;
    line-height: 1.6;
}

.gdpr-content p {
    margin-bottom: 1.5rem;
    text-align: justify;
}

.gdpr-info-section {
    background-color: var(--light-gray);
    border-radius: 8px;
    padding: 1.5rem;
    margin: 1.5rem 0;
    font-weight: bold;
}

.gdpr-contact-body-part {
    background-color: white;
    border-radius: 18px;
    box-shadow: 4px 4px 4px var(--primary-yellow);
    max-width: 400px;
    min-height: 180px;
    padding: 14px;
}

.stanovy-section {
    padding: 2rem 0;
    position: relative;
}

.stanovy-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
}

.stanovy-card {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 2rem;
}

.stanovy_odkaz {
    color: var(--primary-blue);
}

.stanovy_odkaz:hover {
    color: var(--primary-yellow);
}

.stanovy-header {
    background-color: var(--light-gray);

    padding: 2rem;
    position: relative;
}

.stanovy-header h1 {
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.stanovy-header h5 {
    color: rgba(255, 255, 255, 0.8);
    font-weight: 400;
}

.stanovy-content {
    padding: 2rem;
    color: var(--dark-gray);
    font-size: 1.05rem;
    line-height: 1.6;
}

.stanovy-content p {
    margin-bottom: 1.5rem;
    text-align: justify;
}

.clenstvi-section {
    padding: 2rem 0;
    position: relative;
}

.clenstvi-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
}

.clenstvi-card {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 2rem;
}

.clenstvi_odkaz {
    color: var(--primary-blue);
}

.clenstvi_odkaz:hover {
    color: var(--primary-yellow);
}

.clenstvi-header {
    background-color: var(--light-gray);

    padding: 2rem;
    position: relative;
}

.clenstvi-header h1 {
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.clenstvi-header h5 {
    color: rgba(255, 255, 255, 0.8);
    font-weight: 400;
}

.clenstvi-content {
    padding: 2rem;
    color: var(--dark-gray);
    font-size: 1.05rem;
    line-height: 1.6;
}

.clenstvi-content p {
    margin-bottom: 1.5rem;
    text-align: justify;
}

.obchod-section {
    padding: 2rem 0;
    position: relative;
}

.obchod-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
}

.obchod-card {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 2rem;
}

.obchod_odkaz {
    color: var(--primary-blue);
}

.obchod_odkaz:hover {
    color: var(--primary-yellow);
}

.obchod-header {
    background-color: var(--light-gray);

    padding: 2rem;
    position: relative;
}

.obchod-header h1 {
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.obchod-header h5 {
    color: rgba(255, 255, 255, 0.8);
    font-weight: 400;
}

.obchod-content {
    padding: 2rem;
    color: var(--dark-gray);
    font-size: 1.05rem;
    line-height: 1.6;
}

.obchod-content p {
    margin-bottom: 1.5rem;
    text-align: justify;
}

.cookies-section {
    padding: 2rem 0;
    position: relative;
}

.cookies-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
}

.cookies-card {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 2rem;
}

.cookies_odkaz {
    color: var(--primary-blue);
}

.cookies_odkaz:hover {
    color: var(--primary-yellow);
}

.cookies-header {
    background-color: var(--light-gray);

    padding: 2rem;
    position: relative;
}

.cookies-header h1 {
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.cookies-header h5 {
    color: rgba(255, 255, 255, 0.8);
    font-weight: 400;
}

.cookies-content {
    padding: 2rem;
    color: var(--dark-gray);
    font-size: 1.05rem;
    line-height: 1.6;
}

.cookies-content p {
    margin-bottom: 1.5rem;
    text-align: justify;
}

/* Mobile responsivní úpravy */
@media (max-width: 768px) {
    .pravniDokumenty-signpostPart {
        margin-bottom: 3rem;
    }
}

@media (min-width: 769px) {
    .pravniDokumenty-signpostPart {
        margin-bottom: 6rem;
    }
}
/*-------pravni dokumenty----end----*/

/*-------- ostatni -------*/

.modal {
    height: 100%;
}

.g-recaptcha {
    display: flex;
    justify-content: center;
}

#recaptcha {
    min-height: 78px;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.star_povinnost {
    color: var(--warning-color);
    text-decoration: none;
}

.paid_info {
    border: 3px solid rgb(40, 167, 69);
    border-radius: 20px;
    background-color: white;
    color: rgb(40, 167, 69);
    text-decoration: none;
    cursor: default;
}

/*-------- ostatni----end -------*/


/*-------- zavody -------start---*/
/*========== ZÁVODY - KOMPLETNÍ STYLY PRO VŠECHNY SKUPINY ==========*/

/* ========== BAREVNÉ PROMĚNNÉ PRO SKUPINY ========== */


/* ========== BANNERY PRO JEDNOTLIVÉ SKUPINY ========== */

.zvd_plavani_card.zvd_plavani_hidden .zvd_plavani_title_section::after,
.zvd_masters_card.zvd_masters_hidden .zvd_masters_title_section::after,
.zvd_synchro_card.zvd_synchro_hidden .zvd_synchro_title_section::after,
.zvd_dalkari_card.zvd_dalkari_hidden .zvd_dalkari_title_section::after
{
    content: "Skrytý";
    background-color: #ffc107;
    color: #212529;
    padding: 0.3rem 0.8rem;
    border-radius: 15px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-left: 0.5rem;
    display: inline-block;
    position: absolute;
    top: 0;
    right: -10px;
    animation: badgeSlideIn 0.3s ease-out;
    box-shadow: 0 2px 8px rgba(255, 193, 7, 0.3);
}
/* Zajištění správného pozicování pro title section */
.zvd_plavani_title_section,
.zvd_masters_title_section,
.zvd_synchro_title_section,
.zvd_dalkari_title_section {
    position: relative;
}

/* Animace pro zobrazení badge */
@keyframes badgeSlideIn {
    from {
        opacity: 0;
        transform: scale(0.8) translateX(20px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateX(0);
    }
}

/* Hover efekt pro badge */
.zvd_plavani_card.zvd_plavani_hidden .zvd_plavani_title_section:hover::after,
.zvd_masters_card.zvd_masters_hidden .zvd_masters_title_section:hover::after,
.zvd_synchro_card.zvd_synchro_hidden .zvd_synchro_title_section:hover::after,
.zvd_dalkari_card.zvd_dalkari_hidden .zvd_dalkari_title_section:hover::after {
    transform: scale(1.05);
    transition: transform 0.2s ease;
}

/* Mobile responsivní úpravy */
@media (max-width: 768px) {
    .zvd_plavani_card.zvd_plavani_hidden .zvd_plavani_title_section::after,
    .zvd_masters_card.zvd_masters_hidden .zvd_masters_title_section::after,
    .zvd_synchro_card.zvd_synchro_hidden .zvd_synchro_title_section::after,
    .zvd_dalkari_card.zvd_dalkari_hidden .zvd_dalkari_title_section::after {
        position: static;
        margin-left: 0;
        margin-top: 0.3rem;
        display: block;
        width: fit-content;
        font-size: 0.7rem;
        padding: 0.2rem 0.6rem;
    }
}
/* Společný banner styling */
.zvd_plavani_banner,
.zvd_masters_banner,
.zvd_synchro_banner,
.zvd_dalkari_banner {
    padding: 80px 0 60px 0;
    margin-bottom: 0;
    position: relative;
    overflow: hidden;
    color: white;
}

.zvd_plavani_banner {
    background: linear-gradient(135deg, var(--plavani-primary) 0%, var(--plavani-primary-dark) 100%);
}

.zvd_masters_banner {
    background: linear-gradient(135deg, var(--masters-primary) 0%, var(--masters-primary-dark) 100%);
}

.zvd_synchro_banner {
    background: linear-gradient(135deg, var(--synchro-primary) 0%, var(--synchro-primary-dark) 100%);
}

.zvd_dalkari_banner {
    background: linear-gradient(135deg, var(--dalkari-primary) 0%, var(--dalkari-primary-dark) 100%);
}

.zvd_plavani_banner_content h1,
.zvd_masters_banner_content h1,
.zvd_synchro_banner_content h1,
.zvd_dalkari_banner_content h1 {
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.zvd_plavani_banner_content p,
.zvd_masters_banner_content p,
.zvd_synchro_banner_content p,
.zvd_dalkari_banner_content p {
    font-size: 1.3rem;
    margin-bottom: 0;
    opacity: 0.95;
}

/* ========== ADMIN CONTROLS ========== */
.zvd_plavani_admin_controls,
.zvd_masters_admin_controls,
.zvd_synchro_admin_controls,
.zvd_dalkari_admin_controls {
    background: linear-gradient(145deg, #ffffff, #f8f9fa);
    border: 1px solid #e3e6ea;
    border-radius: 15px;
    padding: 1.5rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    margin-bottom: 2rem;
}

.zvd_plavani_info_badge,
.zvd_masters_info_badge,
.zvd_synchro_info_badge,
.zvd_dalkari_info_badge {
    background-color: #e8f4fd;
    color: #2c5aa0;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.85rem;
    border: 1px solid #b8daff;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

/* ========== FILTRY ========== */
.zvd_plavani_filter,
.zvd_masters_filter,
.zvd_synchro_filter,
.zvd_dalkari_filter {
    background: white;
    padding: 1.5rem;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    margin-bottom: 2rem;
}

.zvd_plavani_filter_label,
.zvd_masters_filter_label,
.zvd_synchro_filter_label,
.zvd_dalkari_filter_label {
    font-weight: 600;
    color: #495057;
    margin-right: 1rem;
    font-size: 1rem;
}

.zvd_plavani_filter_btn,
.zvd_masters_filter_btn,
.zvd_synchro_filter_btn,
.zvd_dalkari_filter_btn {
    display: inline-block;
    padding: 0.6rem 1.2rem;
    margin: 0.25rem;
    background-color: #f8f9fa;
    color: #495057;
    text-decoration: none;
    border-radius: 25px;
    font-size: 0.9rem;
    font-weight: 500;
    transition: all 0.3s ease;
    border: 1px solid #dee2e6;
}

.zvd_plavani_filter_btn:hover,
.zvd_masters_filter_btn:hover,
.zvd_synchro_filter_btn:hover,
.zvd_dalkari_filter_btn:hover {
    background-color: #e9ecef;
    color: #495057;
    text-decoration: none;
    transform: translateY(-2px);
}

.zvd_plavani_filter_btn.active {
    background-color: var(--plavani-primary);
    color: white;
    border-color: var(--plavani-primary);
}

.zvd_masters_filter_btn.active {
    background-color: var(--masters-primary);
    color: white;
    border-color: var(--masters-primary);
}

.zvd_synchro_filter_btn.active {
    background-color: var(--synchro-primary);
    color: white;
    border-color: var(--synchro-primary);
}

.zvd_dalkari_filter_btn.active {
    background-color: var(--dalkari-primary);
    color: white;
    border-color: var(--dalkari-primary);
}

/* ========== KARTY ZÁVODŮ - HLAVNÍ STYLING ========== */
.zvd_plavani_card,
.zvd_masters_card,
.zvd_synchro_card,
.zvd_dalkari_card {
    background: white;
    border-radius: 20px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    border: none;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}

.zvd_plavani_card:hover,
.zvd_masters_card:hover,
.zvd_synchro_card:hover,
.zvd_dalkari_card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

/* Barevné akcenty pro karty */
.zvd_plavani_card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--plavani-primary), var(--plavani-primary-light));
}

.zvd_masters_card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--masters-primary), var(--masters-primary-light));
}

.zvd_synchro_card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--synchro-primary), var(--synchro-primary-light));
}

.zvd_dalkari_card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--dalkari-primary), var(--dalkari-primary-light));
}

/* ========== HEADER KARET ========== */
.zvd_plavani_card_header,
.zvd_masters_card_header,
.zvd_synchro_card_header,
.zvd_dalkari_card_header {
    padding: 1.5rem 1.5rem 0 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.zvd_plavani_title_section,
.zvd_masters_title_section,
.zvd_synchro_title_section,
.zvd_dalkari_title_section {
    flex: 1;
}

.zvd_plavani_card_title,
.zvd_masters_card_title,
.zvd_synchro_card_title,
.zvd_dalkari_card_title {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: #2c3e50;
    line-height: 1.3;
    word-wrap: break-word;
}

.zvd_plavani_hidden_badge,
.zvd_masters_hidden_badge,
.zvd_synchro_hidden_badge,
.zvd_dalkari_hidden_badge {
    background-color: #ffc107;
    color: #212529;
    padding: 0.3rem 0.8rem;
    border-radius: 15px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-left: 0.5rem;
    display: inline-block;
}

/* ========== ADMIN AKCE V HEADER ========== */
.zvd_plavani_admin_actions,
.zvd_masters_admin_actions,
.zvd_synchro_admin_actions,
.zvd_dalkari_admin_actions {
    display: flex;
    gap: 0.4rem;
    align-items: center;
}

.zvd_plavani_admin_btn,
.zvd_masters_admin_btn,
.zvd_synchro_admin_btn,
.zvd_dalkari_admin_btn {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    background-color: #6c757d;
    color: white;
    font-size: 0.9rem;
}

.zvd_plavani_admin_btn:hover,
.zvd_masters_admin_btn:hover,
.zvd_synchro_admin_btn:hover,
.zvd_dalkari_admin_btn:hover {
    background-color: #5a6268;
    transform: scale(1.1);
}

.zvd_plavani_danger,
.zvd_masters_danger,
.zvd_synchro_danger,
.zvd_dalkari_danger {
    background-color: #dc3545;
}

.zvd_plavani_danger:hover,
.zvd_masters_danger:hover,
.zvd_synchro_danger:hover,
.zvd_dalkari_danger:hover {
    background-color: #c82333;
}

/* ========== TĚLO KARET ========== */
.zvd_plavani_card_body,
.zvd_masters_card_body,
.zvd_synchro_card_body,
.zvd_dalkari_card_body {
    padding: 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.zvd_plavani_details,
.zvd_masters_details,
.zvd_synchro_details,
.zvd_dalkari_details {
    flex: 1;
}

/* ========== DETAIL ITEMS ========== */
.zvd_plavani_detail_item,
.zvd_masters_detail_item,
.zvd_synchro_detail_item,
.zvd_dalkari_detail_item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
    font-size: 0.95rem;
    line-height: 1.5;
}

.zvd_plavani_detail_icon,
.zvd_masters_detail_icon,
.zvd_synchro_detail_icon,
.zvd_dalkari_detail_icon {
    width: 20px;
    display: flex;
    justify-content: center;
    margin-top: 3px;
    flex-shrink: 0;
}

.zvd_plavani_detail_icon {
    color: var(--plavani-primary);
}

.zvd_masters_detail_icon {
    color: var(--masters-primary);
}

.zvd_synchro_detail_icon {
    color: var(--synchro-primary);
}

.zvd_dalkari_detail_icon {
    color: var(--dalkari-primary);
}

.zvd_plavani_detail_content,
.zvd_masters_detail_content,
.zvd_synchro_detail_content,
.zvd_dalkari_detail_content {
    flex: 1;
    line-height: 1.4;
}

.zvd_plavani_detail_content strong,
.zvd_masters_detail_content strong,
.zvd_synchro_detail_content strong,
.zvd_dalkari_detail_content strong {
    color: #2c3e50;
    font-weight: 600;
}

/* ========== SOUBORY ========== */
.zvd_plavani_files,
.zvd_masters_files,
.zvd_synchro_files,
.zvd_dalkari_files {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.zvd_plavani_file_link,
.zvd_masters_file_link,
.zvd_synchro_file_link,
.zvd_dalkari_file_link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    font-size: 0.9rem;
    padding: 0.4rem 0.8rem;
    border-radius: 8px;
    transition: all 0.2s ease;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
}

.zvd_plavani_file_link {
    color: var(--plavani-primary);
}

.zvd_masters_file_link {
    color: var(--masters-primary);
}

.zvd_synchro_file_link {
    color: var(--synchro-primary);
}

.zvd_dalkari_file_link {
    color: var(--dalkari-primary);
}

.zvd_plavani_file_link:hover,
.zvd_masters_file_link:hover,
.zvd_synchro_file_link:hover,
.zvd_dalkari_file_link:hover {
    text-decoration: none;
    background-color: #e9ecef;
    transform: translateX(5px);
}

/* ========== POPIS NÁHLEDU ========== */
.zvd_plavani_description_preview,
.zvd_masters_description_preview,
.zvd_synchro_description_preview,
.zvd_dalkari_description_preview {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid #eee;
    font-size: 0.9rem;
    color: #6c757d;
    line-height: 1.6;
    font-style: italic;
}

/* ========== STATUS ÚČASTNÍKA ========== */
.zvd_plavani_registration_status,
.zvd_masters_registration_status,
.zvd_synchro_registration_status,
.zvd_dalkari_registration_status {
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

.zvd_plavani_status_badge,
.zvd_masters_status_badge,
.zvd_synchro_status_badge,
.zvd_dalkari_status_badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.zvd_plavani_status_zajem,
.zvd_masters_status_zajem,
.zvd_synchro_status_zajem,
.zvd_dalkari_status_zajem {
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeaa7;
}

.zvd_plavani_status_prijat,
.zvd_masters_status_prijat,
.zvd_synchro_status_prijat,
.zvd_dalkari_status_prijat {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.zvd_plavani_status_odmitnut,
.zvd_masters_status_odmitnut,
.zvd_synchro_status_odmitnut,
.zvd_dalkari_status_odmitnut {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.zvd_plavani_status_nerozhodnut,
.zvd_masters_status_nerozhodnut,
.zvd_synchro_status_nerozhodnut,
.zvd_dalkari_status_nerozhodnut {
    background-color: #e2e3e5;
    color: #383d41;
    border: 1px solid #d6d8db;
}

/* ========== POČET ÚČASTNÍKŮ ========== */
.zvd_plavani_participant_count,
.zvd_masters_participant_count,
.zvd_synchro_participant_count,
.zvd_dalkari_participant_count {
    font-weight: 600;
}

.zvd_plavani_deadline_passed,
.zvd_masters_deadline_passed,
.zvd_synchro_deadline_passed,
.zvd_dalkari_deadline_passed {
    color: #dc3545;
    font-weight: 600;
    font-size: 0.85rem;
    display: block;
    margin-top: 0.25rem;
}

/* ========== AKCE KARET ========== */
.zvd_plavani_card_actions,
.zvd_masters_card_actions,
.zvd_synchro_card_actions,
.zvd_dalkari_card_actions {
    padding-top: 1rem;
    border-top: 1px solid #f0f0f0;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: auto;
}

/* ========== TLAČÍTKA ========== */
.zvd_plavani_btn,
.zvd_masters_btn,
.zvd_synchro_btn,
.zvd_dalkari_btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1.2rem;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    min-height: 40px;
    justify-content: center;
    position: relative;
    overflow: hidden;
    box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.2);
}


.zvd_plavani_btn:hover,
.zvd_masters_btn:hover,
.zvd_synchro_btn:hover,
.zvd_dalkari_btn:hover {
    transform: translateY(-2px);
    text-decoration: none;
}
.zvd_plavani_primary_save{
    background-color: var(--dalkari-primary);
    transform: translateY(-0px);
}

.zvd_plavani_primary_save:hover{
    background-color: var(--dalkari-primary);
    transform: translateY(-0px);
    color: white;
}
.textArea_popis_zavody{
    word-wrap: break-word;   /* zalomí dlouhá slova */
    overflow-wrap: break-word; /* moderní ekvivalent */
}

/* Primary buttons */
.zvd_plavani_btn.zvd_primary {
    background: linear-gradient(135deg, var(--plavani-primary), var(--plavani-primary-light));
    color: white;
    box-shadow: 0 4px 15px rgba(0, 102, 204, 0.3);
}

.zvd_masters_btn.zvd_primary {
    background: linear-gradient(135deg, var(--masters-primary), var(--masters-primary-light));
    color: white;
    box-shadow: 0 4px 15px rgba(255, 153, 0, 0.3);
}

.zvd_synchro_btn.zvd_primary {
    background: linear-gradient(135deg, var(--synchro-primary), var(--synchro-primary-light));
    color: white;
    box-shadow: 0 4px 15px rgba(204, 0, 153, 0.3);
}

.zvd_dalkari_btn.zvd_primary {
    background: linear-gradient(135deg, var(--dalkari-primary), var(--dalkari-primary-light));
    color: white;
    box-shadow: 0 4px 15px rgba(0, 166, 81, 0.3);
}

.zvd_plavani_btn.zvd_primary:hover {
    background: linear-gradient(135deg, var(--plavani-primary-dark), var(--plavani-primary));
    box-shadow: 0 6px 20px rgba(0, 102, 204, 0.4);
}

.zvd_masters_btn.zvd_primary:hover {
    background: linear-gradient(135deg, var(--masters-primary-dark), var(--masters-primary));
    box-shadow: 0 6px 20px rgba(255, 153, 0, 0.4);
}

.zvd_synchro_btn.zvd_primary:hover {
    background: linear-gradient(135deg, var(--synchro-primary-dark), var(--synchro-primary));
    box-shadow: 0 6px 20px rgba(204, 0, 153, 0.4);
}

.zvd_dalkari_btn.zvd_primary:hover {
    background: linear-gradient(135deg, var(--dalkari-primary-dark), var(--dalkari-primary));
    box-shadow: 0 6px 20px rgba(0, 166, 81, 0.4);
}

/* Secondary buttons */
.zvd_plavani_btn.zvd_success,
.zvd_masters_btn.zvd_success,
.zvd_synchro_btn.zvd_success,
.zvd_dalkari_btn.zvd_success {
    background-color: #28a745;
    color: white;
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3);
}

.zvd_plavani_btn.zvd_success:hover,
.zvd_masters_btn.zvd_success:hover,
.zvd_synchro_btn.zvd_success:hover,
.zvd_dalkari_btn.zvd_success:hover {
    background-color: #218838;
    box-shadow: 0 6px 20px rgba(40, 167, 69, 0.4);
}

.zvd_plavani_btn.zvd_warning,
.zvd_masters_btn.zvd_warning,
.zvd_synchro_btn.zvd_warning,
.zvd_dalkari_btn.zvd_warning {
    background-color: #ffc107;
    color: #212529;
    box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3);
}

.zvd_plavani_btn.zvd_warning:hover,
.zvd_masters_btn.zvd_warning:hover,
.zvd_synchro_btn.zvd_warning:hover,
.zvd_dalkari_btn.zvd_warning:hover {
    background-color: #e0a800;
    box-shadow: 0 6px 20px rgba(255, 193, 7, 0.4);
}

.zvd_plavani_btn.zvd_info,
.zvd_masters_btn.zvd_info,
.zvd_synchro_btn.zvd_info,
.zvd_dalkari_btn.zvd_info {
    background-color: #17a2b8;
    color: white;
    box-shadow: 0 4px 15px rgba(23, 162, 184, 0.3);
}

.zvd_plavani_btn.zvd_info:hover,
.zvd_masters_btn.zvd_info:hover,
.zvd_synchro_btn.zvd_info:hover,
.zvd_dalkari_btn.zvd_info:hover {
    background-color: #138496;
    box-shadow: 0 6px 20px rgba(23, 162, 184, 0.4);
}

/* ========== SKRYTÉ ZÁVODY ========== */
.zvd_plavani_hidden,
.zvd_masters_hidden,
.zvd_synchro_hidden,
.zvd_dalkari_hidden {
    opacity: 0.7;
    position: relative;
}

.zvd_plavani_hidden::after,
.zvd_masters_hidden::after,
.zvd_synchro_hidden::after,
.zvd_dalkari_hidden::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(
            45deg,
            rgba(255, 255, 255, 0.1),
            rgba(255, 255, 255, 0.1) 10px,
            rgba(240, 240, 240, 0.1) 10px,
            rgba(240, 240, 240, 0.1) 20px
    );
    pointer-events: none;
}

/* ========== PRÁZDNÝ STAV ========== */
.zvd_plavani_empty_icon,
.zvd_masters_empty_icon,
.zvd_synchro_empty_icon,
.zvd_dalkari_empty_icon {
    font-size: 4rem;
    color: #dee2e6;
    margin-bottom: 1rem;
}

/* ========== MODÁLNÍ OKNA ========== */
.zvd_plavani_modal_header,
.zvd_masters_modal_header,
.zvd_synchro_modal_header,
.zvd_dalkari_modal_header {
    color: white;
    border-bottom: none;
}

.zvd_plavani_modal_header {
    background: linear-gradient(135deg, var(--plavani-primary), var(--plavani-primary-dark));
}

.zvd_masters_modal_header {
    background: linear-gradient(135deg, var(--masters-primary), var(--masters-primary-dark));
}

.zvd_synchro_modal_header {
    background: linear-gradient(135deg, var(--synchro-primary), var(--synchro-primary-dark));
}

.zvd_dalkari_modal_header {
    background: linear-gradient(135deg, var(--dalkari-primary), var(--dalkari-primary-dark));
}

.zvd_plavani_modal_header .btn-close,
.zvd_masters_modal_header .btn-close,
.zvd_synchro_modal_header .btn-close,
.zvd_dalkari_modal_header .btn-close {
    filter: invert(1);
}

/* ========== FORMULÁŘE ========== */
.zvd_plavani_form,
.zvd_masters_form,
.zvd_synchro_form,
.zvd_dalkari_form {
    background-color: #f8f9fa;
    border-radius: 0 0 0.5rem 0.5rem;
}

.zvd_plavani_info_box,
.zvd_masters_info_box,
.zvd_synchro_info_box,
.zvd_dalkari_info_box {
    background-color: #e8f4fd;
    border: 1px solid #b8daff;
    color: #2c5aa0;
    padding: 1rem;
    border-radius: 10px;
    display: block;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    margin-top: 1rem;
}

.zvd_plavani_files_section,
.zvd_masters_files_section,
.zvd_synchro_files_section,
.zvd_dalkari_files_section {
    border-top: 1px solid #dee2e6;
    padding-top: 1.5rem;
    margin-top: 1.5rem;
}

.zvd_plavani_file_upload,
.zvd_masters_file_upload,
.zvd_synchro_file_upload,
.zvd_dalkari_file_upload {
    background-color: #f8f9fa;
    padding: 1rem;
    border-radius: 10px;
    margin-top: 1rem;
    border: 2px dashed #dee2e6;
}

/* ========== RESPONSIVE DESIGN ========== */
@media (max-width: 768px) {
    .zvd_plavani_banner_content h1,
    .zvd_masters_banner_content h1,
    .zvd_synchro_banner_content h1,
    .zvd_dalkari_banner_content h1 {
        font-size: 2.5rem;
    }

    .zvd_plavani_banner_content p,
    .zvd_masters_banner_content p,
    .zvd_synchro_banner_content p,
    .zvd_dalkari_banner_content p {
        font-size: 1.1rem;
    }

    .zvd_plavani_filter,
    .zvd_masters_filter,
    .zvd_synchro_filter,
    .zvd_dalkari_filter {
        text-align: center;
        padding: 1rem;
    }

    .zvd_plavani_filter_btn,
    .zvd_masters_filter_btn,
    .zvd_synchro_filter_btn,
    .zvd_dalkari_filter_btn {
        margin: 3px;
        font-size: 0.85rem;
        padding: 0.5rem 1rem;
    }

    .zvd_plavani_card_header,
    .zvd_masters_card_header,
    .zvd_synchro_card_header,
    .zvd_dalkari_card_header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .zvd_plavani_card_actions,
    .zvd_masters_card_actions,
    .zvd_synchro_card_actions,
    .zvd_dalkari_card_actions {
        flex-direction: column;
    }

    .zvd_plavani_btn,
    .zvd_masters_btn,
    .zvd_synchro_btn,
    .zvd_dalkari_btn {
        width: 100%;
        justify-content: center;
    }

    .zvd_plavani_admin_actions,
    .zvd_masters_admin_actions,
    .zvd_synchro_admin_actions,
    .zvd_dalkari_admin_actions {
        justify-content: center;
        margin-top: 1rem;
    }

    .zvd_plavani_detail_item,
    .zvd_masters_detail_item,
    .zvd_synchro_detail_item,
    .zvd_dalkari_detail_item {
        gap: 0.5rem;
    }

    .zvd_plavani_detail_icon,
    .zvd_masters_detail_icon,
    .zvd_synchro_detail_icon,
    .zvd_dalkari_detail_icon {
        margin: 0 auto;
    }
}

@media (max-width: 576px) {
    .zvd_plavani_admin_controls,
    .zvd_masters_admin_controls,
    .zvd_synchro_admin_controls,
    .zvd_dalkari_admin_controls {
        text-align: center;
        padding: 1rem;
    }

    .zvd_plavani_banner_content h1,
    .zvd_masters_banner_content h1,
    .zvd_synchro_banner_content h1,
    .zvd_dalkari_banner_content h1 {
        font-size: 2rem;
    }
}

/* ========== ANIMACE ========== */
.zvd_plavani_item,
.zvd_masters_item,
.zvd_synchro_item,
.zvd_dalkari_item {
    transition: all 0.3s ease;
}

.zvd_plavani_item.hidden,
.zvd_masters_item.hidden,
.zvd_synchro_item.hidden,
.zvd_dalkari_item.hidden {
    opacity: 0;
    transform: scale(0.8);
    pointer-events: none;
}

/* ========== PRINT STYLES ========== */
@media print {
    .zvd_plavani_admin_controls,
    .zvd_masters_admin_controls,
    .zvd_synchro_admin_controls,
    .zvd_dalkari_admin_controls,
    .zvd_plavani_card_actions,
    .zvd_masters_card_actions,
    .zvd_synchro_card_actions,
    .zvd_dalkari_card_actions,
    .zvd_plavani_admin_actions,
    .zvd_masters_admin_actions,
    .zvd_synchro_admin_actions,
    .zvd_dalkari_admin_actions,
    .zvd_plavani_filter,
    .zvd_masters_filter,
    .zvd_synchro_filter,
    .zvd_dalkari_filter {
        display: none !important;
    }

    .zvd_plavani_card,
    .zvd_masters_card,
    .zvd_synchro_card,
    .zvd_dalkari_card {
        box-shadow: none;
        border: 1px solid #ddd;
        page-break-inside: avoid;
        margin-bottom: 1rem;
    }

    .zvd_plavani_banner,
    .zvd_masters_banner,
    .zvd_synchro_banner,
    .zvd_dalkari_banner {
        background: none !important;
        color: black !important;
        padding: 20px 0;
    }

    .zvd_plavani_banner_content h1,
    .zvd_masters_banner_content h1,
    .zvd_synchro_banner_content h1,
    .zvd_dalkari_banner_content h1 {
        color: black !important;
        text-shadow: none;
    }
}
.zvd_plavani_status_odhlasen,
.zvd_masters_status_odhlasen,
.zvd_synchro_status_odhlasen,
.zvd_dalkari_status_odhlasen {
    background-color: #6c757d;
    color: #ffffff;
    border: 1px solid #5a6268;
}

/* Select box ve správě účastníků */
.participant-status-select {
    font-size: 0.875rem;
    padding: 0.25rem 0.5rem;
}


/*-------- zavody -------END---*/


/*-------- druzstva start -------START---*/
/*========== DRUŽSTVA A TRÉNINKY - CSS STYLY ==========*/

/* Header sekce */
.drz-header {
    margin-top: 2rem;
    margin-bottom: 3rem;
    animation: fadeInUp 0.6s ease;
}

.drz-main-title {
    font-size: 3rem;
    font-weight: 700;
    color: var(--primary-blue);
    margin-bottom: 1rem;
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

.drz-main-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 4px;
    background: linear-gradient(90deg, transparent, var(--primary-yellow), transparent);
    border-radius: 4px;
}

.drz-main-title i {
    color: var(--primary-yellow);
    margin-right: 15px;
}

.drz-subtitle {
    color: var(--dark-gray);
    font-size: 1.2rem;
    opacity: 0.8;
}

/* Admin panel */
.drz-admin-panel {
    background-color: rgba(255,255,255,0.95);
    border-radius: 20px;
    padding: 1.5rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    border: 2px solid var(--primary-blue);
}

.drz-admin-controls {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
}

.drz-btn-admin {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.drz-btn-admin:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 74, 173, 0.3);
}

.drz-info-badge {
    background-color: rgba(0, 74, 173, 0.1);
    border-color: var(--primary-blue);
    color: var(--primary-blue);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border-radius: 15px;
}

/* Filtr */
.drz-filter {
    background: white;
    padding: 1.5rem;
    border-radius: 20px;
    border: 2px solid var(--primary-blue);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    margin-bottom: 1.5rem;
}

.drz-filter-header {
    margin-bottom: 1rem;
}

.drz-filter-label {
    color: var(--primary-blue);
    font-weight: 600;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.drz-filter-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: flex-start;

}

.drz-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1.2rem;
    background-color: #f8f9fa;
    color: #495057;
    border: 2px solid transparent;
    border-radius: 25px;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

.drz-filter-btn:hover {
    background-color: #e9ecef;
    transform: translateY(-2px);
}

.drz-filter-btn.active {
    background-color: var(--primary-blue);
    color: white;
    border-color: var(--primary-blue);
    box-shadow: 0 4px 15px rgba(0, 74, 173, 0.3);
}

/* Grid družstev */
.drz-teams-grid {
    display: grid;
    grid-template-columns: 1fr; /* Klíčová změna: Vždy bude jen jeden sloupec */
    gap: 2rem;
    margin-bottom: 3rem;
}

/* Team card */
.drz-team-card {
    background: white;
    border-radius: 20px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: all 0.4s ease;
    border-top: 6px solid var(--primary-blue);
    animation: fadeInUp 0.6s ease;
}

.drz-team-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

/* Team header */
.drz-team-header {
    background: linear-gradient(135deg, var(--primary-blue), #003380);
    color: white;
    padding: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.drz-team-title-section {
    flex: 1;
}

.drz-team-title {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0 0 0.5rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.drz-team-abbrev {
    font-size: 2.5rem;
    color: var(--primary-yellow);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.drz-team-name {
    font-size: 1.2rem;
    font-weight: 500;
    opacity: 0.95;
}

.drz-team-description {
    margin: 0;
    opacity: 0.9;
    font-size: 0.95rem;
    font-style: italic;
}

.drz-team-badge {
    background-color: var(--primary-yellow);
    color: var(--dark-gray);
    padding: 0.75rem 1.25rem;
    border-radius: 25px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
}

/* Schedule container */
.drz-schedule-container {
    padding: 0;
    overflow-x: auto;
}

.drz-schedule-container {
    padding: 1rem 1.5rem 1.5rem 1.5rem;
}

/* Skupina pro jeden den (např. Pondělí + všechny jeho tréninky) */
.drz-day-group {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e9ecef;
}
.drz-day-group:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

/* Nadpis dne (Pondělí, Úterý...) */
.drz-day-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--primary-blue);
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.drz-day-title i {
    color: var(--primary-yellow);
}

/* Kontejner pro jednu položku tréninku (čas + detaily) */
.drz-training-item {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1rem 0;
    border-bottom: 1px solid #f8f9fa;
}
.drz-day-group .drz-trainings-list .drz-training-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* Čas tréninku (žlutý odznáček) */
.drz-training-time {
    flex-shrink: 0; /* Zabrání zmenšení času na malých obrazovkách */
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-color: var(--primary-yellow);
    color: var(--dark-gray);
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-weight: 700;
    white-space: nowrap;
    font-size: 0.9rem;
}

/* Kontejner pro všechny detaily napravo od času */
.drz-training-details {
    flex-grow: 1; /* Zabere zbytek volného místa */
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

/* Horní řádek detailů (Místo + odznáčky bazénu) */
.drz-training-main-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap; /* Umožní zalamování na menších obrazovkách */
    gap: 0.75rem;
}

.drz-training-location {
    font-weight: 600;
    color: #333;
    font-size: 1.05rem;
}

/* Spodní řádek detailů (Oblast, Poznámka) */
.drz-training-sub-info {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    font-size: 0.85rem;
    color: #666;
    margin-top: 4px;
}
.drz-training-sub-info i {
    width: 16px;
    text-align: center;
    margin-right: 4px;
    color: var(--primary-blue);
}

/* Opětovné použití stylů pro odznáčky bazénu (ty zůstávají stejné) */
.drz-pool-info {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.drz-pool-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background-color: #e8f4fd;
    color: var(--primary-blue);
    padding: 0.4rem 0.8rem;
    border-radius: 12px;
    font-size: 0.85rem;
    font-weight: 600;
    border: 1px solid rgba(0, 74, 173, 0.2);
}


/* Pool info badges */
.drz-pool-info {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.drz-pool-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background-color: #e8f4fd;
    color: var(--primary-blue);
    padding: 0.4rem 0.8rem;
    border-radius: 12px;
    font-size: 0.85rem;
    font-weight: 600;
    border: 1px solid rgba(0, 74, 173, 0.2);
}

/* Detail items */
.drz-details {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.drz-detail-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #666;
}

.drz-detail-item i {
    color: var(--primary-blue);
    width: 16px;
}

/* Empty schedule */
.drz-empty-schedule {
    padding: 3rem;
    text-align: center;
    color: #999;
}

.drz-empty-schedule i {
    font-size: 3rem;
    color: #ddd;
    margin-bottom: 1rem;
}

.drz-empty-schedule p {
    margin: 0;
    font-style: italic;
}

/* Team footer */
.drz-team-footer {
    padding: 1.5rem;
    background-color: var(--light-gray);
    border-top: 1px solid #e0e0e0;
    text-align: center;
}

.drz-btn-detail {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    font-weight: 600;
    background-color: var(--primary-blue);
    border-color: var(--primary-blue);
    transition: all 0.3s ease;
}

.drz-btn-detail:hover {
    background-color: #003380;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 74, 173, 0.3);
}

/* Empty state */
.drz-empty-state {
    padding: 4rem 2rem;
    text-align: center;
    color: #666;
    background: white;
    border-radius: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08)
}
.drz-empty-state-container{
    margin-bottom: 40px;
}

.drz-empty-icon {
    font-size: 4rem;
    color: #ccc;
    margin-bottom: 1.5rem;
}

.drz-empty-state h3 {
    color: var(--primary-blue);
    margin-bottom: 1rem;
}

.drz-filter-divider {
    width: 100%;
    margin: 0.75rem 0 0.5rem 0;
    padding-top: 0.75rem;
    border-top: 1px solid #e0e0e0;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--primary-blue);
}
.drz-filter-divider:first-of-type {
    margin-top: 0.5rem;
}
.drz-filter-divider-collapsible {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.drz-filter-divider-collapsible:hover {
    opacity: 0.8;
}
.drz-filter-divider-collapsible i {
    transition: transform 0.3s;
    color: var(--primary-yellow);
}
.drz-filter-divider-collapsible.expanded i {
    transform: rotate(180deg);
}
.drz-filter-collapsed {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    width: 100%;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.3s ease;
    margin-top: 0;
}
.drz-filter-collapsed.show {
    max-height: 500px;
    opacity: 1;
    margin-top: 0.5rem;
}

/* Animace */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Hidden class pro filtrování */
.drz-team-card.hidden {
    display: none;
}

/* Responsive design */
@media (max-width: 768px) {
    .drz-main-title {
        font-size: 2rem;
    }

    .drz-subtitle {
        font-size: 1rem;
    }

    .drz-team-header {
        flex-direction: column;
        padding: 1.5rem;
    }

    .drz-team-abbrev {
        font-size: 2rem;
    }

    .drz-team-name {
        font-size: 1rem;
    }

    .drz-team-badge {
        align-self: flex-start;
    }

    .drz-schedule-table {
        font-size: 0.85rem;
    }

    .drz-schedule-table th,
    .drz-schedule-table td {
        padding: 0.75rem 0.5rem;
    }

    .drz-filter-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .drz-filter-btn {
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .drz-admin-controls {
        flex-direction: column;
        align-items: stretch;
    }

    .drz-btn-admin {
        justify-content: center;
    }

    .drz-day-badge,
    .drz-time-value {
        font-size: 0.8rem;
        padding: 0.4rem 0.8rem;
    }

    .drz-pool-badge {
        font-size: 0.75rem;
    }
}

/* Print styly */
@media print {
    .drz-admin-panel,
    .drz-filter,
    .drz-team-footer {
        display: none !important;
    }

    .drz-team-card {
        box-shadow: none;
        border: 1px solid #ddd;
        page-break-inside: avoid;
        margin-bottom: 2rem;
    }

    .drz-team-header {
        background: white !important;
        color: black !important;
        border-bottom: 2px solid var(--primary-blue);
    }

    .drz-team-abbrev {
        color: var(--primary-blue) !important;
    }
}


/* ---------druzstva end-------END---*/

/*-------- reprezentace start -------START---*/
.rprd-banner {
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.6);
    margin-top: 6rem;
    background: linear-gradient(135deg, var(--primary-blue) 0%, #003380 100%);
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

.rprd-banner::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 215, 0, 0.1) 0%, transparent 70%);
    animation: rprd-pulse 15s ease-in-out infinite;
}

@keyframes rprd-pulse {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(-20%, 20%); }
}

.rprd-banner-subtitle {
    font-size: 1.2rem;
    position: relative;
    z-index: 1;
}

/* Content */
.rprd-content {
    padding-top: 2rem;
}

.rprd-no-data {
    background-color: rgba(0, 74, 173, 0.1);
    border: 2px solid var(--primary-blue);
    border-radius: 10px;
    padding: 2rem;
    font-size: 1.1rem;
}

/* Team Section */
.rprd-team-section {
    background-color: white;
    border-radius: 15px;
    padding: 2rem;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
    border-top: 5px solid var(--primary-yellow);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.rprd-team-section:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.rprd-team-header {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 3px solid var(--primary-blue);
    position: relative;
}

.rprd-team-header i {
    font-size: 2rem;
    color: var(--primary-blue);
}

.rprd-team-title {
    color: var(--primary-blue);
    font-weight: 700;
    font-size: 2rem;
    margin: 0;
    flex-grow: 1;
}

.rprd-team-count {
    background-color: var(--primary-yellow);
    color: var(--primary-blue);
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.9rem;
}

/* Member Cards */
.rprd-members-grid {
    margin-top: 1.5rem;
}

.rprd-member-card {
    background: linear-gradient(135deg, #f8f9fa 0%, white 100%);
    border-radius: 12px;
    padding: 1.5rem;
    height: 100%;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    border-left: 4px solid var(--primary-blue);
    position: relative;
    overflow: hidden;
}

.rprd-member-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
    background: radial-gradient(circle, rgba(255, 215, 0, 0.1) 0%, transparent 70%);
    border-radius: 50%;
    transform: translate(30%, -30%);
}

.rprd-member-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    border-left-color: var(--primary-yellow);
}

/* Avatar */
.rprd-member-avatar {
    position: relative;
    width: 120px;
    height: 120px;
    margin: 0 auto 1.5rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary-blue) 0%, #003380 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 15px rgba(0, 74, 173, 0.3);
    overflow: hidden;
}

.rprd-member-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rprd-avatar-icon {
    font-size: 4rem;
    color: var(--primary-yellow);
}

.rprd-gender-badge {
    position: absolute;
    bottom: 5px;
    right: 5px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 0.9rem;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

.rprd-gender-m {
    background-color: #2196F3;
}

.rprd-gender-f {
    background-color: #E91E63;
}

.rprd-gender-unknown {
    background-color: #9E9E9E;
}

/* Member Info */
.rprd-member-info {
    text-align: center;
    position: relative;
    z-index: 1;
}

.rprd-member-name {
    color: var(--primary-blue);
    font-weight: 700;
    font-size: 1.4rem;
    margin-bottom: 1rem;
}

.rprd-member-detail {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.7rem;
    color: var(--dark-gray);
    font-size: 0.95rem;
}

.rprd-member-detail i {
    color: var(--primary-blue);
    margin-right: 0.5rem;
    width: 20px;
}

.rprd-member-detail strong {
    color: var(--primary-blue);
    margin-left: 0.3rem;
}

/* Motto */
.rprd-member-motto {
    margin-top: 1.2rem;
    padding: 1rem;
    background-color: rgba(0, 74, 173, 0.05);
    border-radius: 8px;
    border-left: 3px solid var(--primary-yellow);
    font-style: italic;
    color: var(--dark-gray);
    position: relative;
}

.rprd-member-motto i {
    color: var(--primary-yellow);
    font-size: 0.8rem;
}

.rprd-member-motto .fa-quote-left {
    margin-right: 0.5rem;
}

.rprd-member-motto .fa-quote-right {
    margin-left: 0.5rem;
}

/* Responsive */
@media (max-width: 768px) {
    .rprd-team-header {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }

    .rprd-team-title {
        font-size: 1.5rem;
    }

    .rprd-member-avatar {
        width: 100px;
        height: 100px;
    }

    .rprd-avatar-icon {
        font-size: 3rem;
    }

    .rprd-member-name {
        font-size: 1.2rem;
    }
}

@media (max-width: 576px) {
    .rprd-banner {
        margin-top: 4rem;
    }

    .main-page-title {
        font-size: 2rem;
    }

    .rprd-banner-subtitle {
        font-size: 1rem;
    }

    .rprd-team-section {
        padding: 1.5rem;
    }
}

/*-------- reprezentace start -------END---*/

/* ------- limitari -------START---*/
/* Limitáři - Styly */
.lmt-container {
    padding: 40px 0;
    min-height: 60vh;
}

/* Sekce podle pohlaví */
.lmt-gender-section {
    animation: fadeInUp 0.6s ease forwards;
}

.lmt-gender-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
    padding: 20px;
    background: linear-gradient(135deg, var(--primary-blue), #003380);
    border-radius: 10px;
    color: white;
    box-shadow: 0 4px 15px rgba(0, 74, 173, 0.3);
}

.lmt-gender-header i {
    font-size: 2rem;
    color: var(--primary-yellow);
}

.lmt-gender-header h2 {
    margin: 0;
    font-weight: 600;
    font-size: 1.8rem;
}

/* Karty ročníků */
.lmt-card {
    background: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    border-top: 4px solid var(--primary-blue);
}

.lmt-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.lmt-card-header {
    background: linear-gradient(135deg, #f8f9fa, #e9ecef);
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid var(--primary-yellow);
}

.lmt-year-badge {
    background: var(--primary-blue);
    color: white;
    padding: 8px 20px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 1rem;
}

.lmt-age-badge {
    background: var(--primary-yellow);
    color: var(--dark-gray);
    padding: 6px 15px;
    border-radius: 15px;
    font-weight: 500;
    font-size: 0.9rem;
}

.lmt-card-body {
    padding: 0;
}

/* Tabulka */
.lmt-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

.lmt-table thead {
    background-color: var(--primary-blue);
    color: white;
}

.lmt-table thead th {
    padding: 15px 12px;
    text-align: left;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.lmt-table tbody tr {
    border-bottom: 1px solid #e9ecef;
    transition: background-color 0.2s ease;
}

.lmt-table tbody tr:hover {
    background-color: rgba(0, 74, 173, 0.05);
}

.lmt-table tbody tr:last-child {
    border-bottom: none;
}

.lmt-table tbody td {
    padding: 12px;
    vertical-align: middle;
}

.lmt-name {
    font-weight: 600;
    color: var(--dark-gray);
}

.lmt-name i {
    color: var(--primary-blue);
    margin-right: 8px;
}

.lmt-time {
    font-family: 'Courier New', monospace;
    font-weight: 600;
    color: var(--primary-blue);
    font-size: 1rem;
}

.lmt-date {
    color: var(--dark-gray);
    font-size: 0.9rem;
}

.lmt-discipline-badge {
    background: var(--primary-blue);
    color: white;
    padding: 4px 12px;
    border-radius: 12px;
    font-weight: 500;
    font-size: 0.85rem;
    display: inline-block;
}

.lmt-points-badge {
    background: var(--primary-yellow);
    color: var(--dark-gray);
    padding: 6px 14px;
    border-radius: 15px;
    font-weight: 700;
    font-size: 1rem;
    display: inline-block;
}

/* Detailní řádek */
.lmt-details-row {
    background-color: #f8f9fa;
}

.lmt-details-row td {
    padding: 10px 12px;
    color: #666;
    border-bottom: 1px solid black;
}

.lmt-details-row i {
    color: var(--primary-blue);
    margin-right: 5px;
}

/* Footer karty */
.lmt-card-footer {
    background-color: #f8f9fa;
    padding: 12px 20px;
    border-top: 1px solid #e9ecef;
    text-align: right;
}

.lmt-count {
    color: var(--dark-gray);
    font-size: 0.9rem;
}

.lmt-count strong {
    color: var(--primary-blue);
    font-size: 1.1rem;
}

/* Prázdný stav */
.lmt-empty-state {
    text-align: center;
    padding: 80px 20px;
    color: var(--dark-gray);
}

.lmt-empty-state i {
    font-size: 5rem;
    color: var(--primary-blue);
    opacity: 0.3;
    margin-bottom: 20px;
}

.lmt-empty-state h3 {
    color: var(--primary-blue);
    margin-bottom: 10px;
}

.lmt-empty-state p {
    color: #666;
}

/* Animace */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responzivní design */
@media (max-width: 1199px) {
    .lmt-gender-header h2 {
        font-size: 1.5rem;
    }

    .lmt-gender-header i {
        font-size: 1.8rem;
    }
}

@media (max-width: 991px) {
    .lmt-card {
        margin-bottom: 20px;
    }

    .lmt-table thead th {
        padding: 12px 10px;
        font-size: 0.85rem;
    }

    .lmt-table tbody td {
        padding: 10px;
        font-size: 0.9rem;
    }
}

@media (max-width: 767px) {
    .lmt-gender-header {
        flex-direction: column;
        text-align: center;
        padding: 15px;
    }

    .lmt-card-header {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .lmt-table {
        font-size: 0.85rem;
    }

    .lmt-table thead th {
        padding: 10px 8px;
        font-size: 0.75rem;
    }

    .lmt-table tbody td {
        padding: 8px;
    }

    .lmt-name i {
        display: none;
    }

    .lmt-details-row td {
        font-size: 0.8rem;
    }

    .lmt-year-badge {
        font-size: 0.9rem;
        padding: 6px 15px;
    }

    .lmt-age-badge {
        font-size: 0.85rem;
        padding: 5px 12px;
    }
}

@media (max-width: 575px) {
    /* Mobilní verze - kompaktnější zobrazení */
    .lmt-table thead th:nth-child(4),
    .lmt-table tbody td:nth-child(4) {
        display: none; /* Skrýt body na malých obrazovkách */
    }

    .lmt-discipline-badge {
        font-size: 0.75rem;
        padding: 3px 8px;
    }

    .lmt-points-badge {
        font-size: 0.9rem;
        padding: 4px 10px;
    }

    .lmt-time {
        font-size: 0.9rem;
    }

    .lmt-container {
        padding: 20px 0;
    }

    .lmt-card-footer {
        text-align: center;
    }
}

/* Tisk */
@media print {
    .lmt-card {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid #ddd;
        margin-bottom: 20px;
    }

    .lmt-card:hover {
        transform: none;
    }

    .lmt-gender-header {
        background: var(--primary-blue) !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}

.lmt_rules-container {
    background-color: #f8f9fa;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    padding: 30px;
    border-top: 4px solid var(--primary-blue);
}

.lmt_rules-container div h2 {
    color: var(--primary-blue);
    font-weight: 600;
}

.lmt_rule-section {
    margin-bottom: 25px;
}

.lmt_rule-section:last-child {
    margin-bottom: 0;
}

.lmt_rule-section h4 {
    color: var(--dark-gray);
    font-weight: 500;
    border-bottom: 2px solid var(--primary-yellow);
    padding-bottom: 8px;
    margin-bottom: 15px;
}

.lmt_rule-section ul {
    list-style-type: none;
    padding-left: 0;
    margin-top: 1rem; /* Malá mezera nad seznamem */
}

.lmt_rule-section ul li {
    padding-left: 25px;
    position: relative;
    margin-bottom: 10px;
    color: #333;
}

.lmt_rule-alert-danger {
    background-color: #fff0f1;
    border-left: 5px solid #d9534f;
    border-radius: 5px;
    padding: 20px;
}

.lmt_rule-alert-danger h4 {
    color: #d9534f;
    border-bottom-color: rgba(217, 83, 79, 0.3);
}

.lmt_rule-alert-info {
    background-color: #eef7ff;
    border-left: 5px solid var(--primary-blue);
    border-radius: 5px;
    padding: 20px;
}

.lmt_rule-alert-info h4 {
    color: var(--primary-blue);
    border-bottom-color: rgba(0, 74, 173, 0.3);
}


.lmt-rules-toggle {
    display: flex; /* Použijeme flexbox pro zarovnání */
    align-items: center; /* Vertikální centrování */
    justify-content: space-between; /* Horizontální centrování textu */

    background: linear-gradient(135deg, var(--primary-blue), #003380);
    color: white;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 74, 173, 0.3);
    transition: all 0.3s ease;
    position: relative;
    cursor: pointer;
    margin-bottom: 0;
    /* Důležité: Zajistí, že ikona bude mít prostor */
    padding: 1rem 50px 1rem 1.5rem;
}

.lmt-rules-toggle:hover {
    transform: translateY(-3px);
    box-shadow: 0 7px 20px rgba(0, 74, 173, 0.4);
}

.lmt-rules-title {
    flex-grow: 1; /* Zajistí, že text zabere maximum místa */
    text-align: center; /* A vycentruje se */
}

/* Styl pro samotnou ikonu */
.lmt-rules-icon {
    transition: transform 0.3s ease !important;
    font-size: 1.2rem;
    color: var(--primary-yellow);
    margin-left: auto; /* Posune ikonu úplně doprava */
}


/* Otáčení ikony, když je obsah rozbalený */
.lmt-rules-toggle:not(.collapsed) .lmt-rules-icon {
    transform: rotate(180deg);
}


/* Kontejner s pravidly, který se rozbalí */
#pravidlaCollapse.collapse:not(.show) {
    display: none;
}

#pravidlaCollapse.collapsing {
    height: 0;
    overflow: hidden;
    transition: height 0.35s ease;
}

/* Malá mezera po rozbalení a styl pro kontejner */
#pravidlaCollapse .lmt_rules-container {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    margin-top: 10px;
}

.lmt_women_sec {
    background-color: var(--synchro-primary-dark);
    color: #fff; /* Bílý text */

}

.lmt_women_sec:hover {
    background-color: #d1307b; /* Ztmavení při najetí */
    color: #fff;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* Tlačítko pro MUŽE */
.lmt_men_sec {
    background-color:  var(--primary-blue); /* Klasická modrá */
    color: #fff; /* Bílý text */
}

.lmt_men_sec:hover {
    background-color: var(--primary-color); /* Ztmavení při najetí */
    color: #fff;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}
/* ------- limitari -------END---*/

/*  ------404 page -----*/
.noPage_container {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.noPage_hero {
    width: 100%;
    z-index: 1;
}

.noPage_content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
}

.noPage_error-code {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    font-size: 8rem;
    font-weight: bold;
    color: #007bff;
    margin-bottom: 2rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
}

.noPage_four {
    animation: noPage_bounce 2s ease-in-out infinite;
}

.noPage_four:nth-child(3) {
    animation-delay: 0.2s;
}

.noPage_zero {
    color: #0056b3;
    animation: noPage_swim 3s ease-in-out infinite;
}

@keyframes noPage_bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-20px); }
}

@keyframes noPage_swim {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1) rotate(5deg); }
}

.noPage_title {
    font-size: 2.5rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 1rem;
}

.noPage_subtitle {
    font-size: 1.5rem;
    color: #007bff;
    margin-bottom: 2rem;
    font-style: italic;
}

.noPage_message {
    max-width: 600px;
    margin: 0 auto 3rem;
    font-size: 1.1rem;
    color: #666;
    line-height: 1.8;
}

.noPage_suggestions {
    max-width: 900px;
    margin: 0 auto;
}

.noPage_suggestion-box {
    background: white;
    border-radius: 15px;
    padding: 2rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.noPage_suggestion-box:hover {
    transform: translateY(-10px);
    box-shadow: 0 8px 25px rgba(0,123,255,0.2);
}

.noPage_suggestion-box i {
    color: #007bff;
    margin-bottom: 1rem;
    transition: all 0.3s ease;
}

.noPage_suggestion-box:hover i {
    transform: scale(1.1);
    color: #0056b3;
}

.noPage_suggestion-box h5 {
    color: #333;
    font-weight: bold;
    margin-bottom: 0.5rem;
}

.noPage_suggestion-box p {
    color: #666;
    margin-bottom: 1.5rem;
}

.noPage_btn {
    display: inline-block;
    padding: 0.75rem 2rem;
    background: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 25px;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-top: auto;
}

.noPage_btn:hover {
    background: #0056b3;
    color: white;
    transform: scale(1.05);
    box-shadow: 0 4px 15px rgba(0,123,255,0.3);
}

.noPage_wave-container {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    pointer-events: none;
}

.noPage_waves {
    position: relative;
    width: 100%;
    height: 15vh;
    margin-bottom: -7px;
    min-height: 100px;
    max-height: 150px;
}

.noPage_wave-parallax > use {
    animation: noPage_wave-move 25s cubic-bezier(.55,.5,.45,.5) infinite;
}

.noPage_wave-parallax > use:nth-child(1) {
    animation-delay: -2s;
    animation-duration: 7s;
}

.noPage_wave-parallax > use:nth-child(2) {
    animation-delay: -3s;
    animation-duration: 10s;
}

.noPage_wave-parallax > use:nth-child(3) {
    animation-delay: -4s;
    animation-duration: 13s;
}

.noPage_wave-parallax > use:nth-child(4) {
    animation-delay: -5s;
    animation-duration: 20s;
}

@keyframes noPage_wave-move {
    0% { transform: translate3d(-90px,0,0); }
    100% { transform: translate3d(85px,0,0); }
}

/* Responsive */
@media (max-width: 768px) {
    .noPage_error-code {
        font-size: 5rem;
    }

    .noPage_title {
        font-size: 2rem;
    }

    .noPage_subtitle {
        font-size: 1.2rem;
    }

    .noPage_message {
        font-size: 1rem;
    }
}

@media (max-width: 576px) {
    .noPage_error-code {
        font-size: 4rem;
        gap: 0.5rem;
    }

    .noPage_suggestion-box {
        padding: 1.5rem;
    }
}

/*  ------404 page ---end -----*/

/* ==================== TRENÉŘI STYLES ==================== */

/* Container */
.tren-container {
    background-color: rgba(255, 255, 255, 0.48);
    border-radius: 24px;
    backdrop-filter: blur(4px);
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.6);
    padding: 2rem;
}

/* Header */
.tren-header {
    text-align: center;
    margin-bottom: 3rem;
}

.tren-main-title {
    color: var(--primary-blue);
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
}

.tren-main-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 4px;
    background: linear-gradient(90deg, transparent, var(--primary-yellow), transparent);
    border-radius: 4px;
}

.tren-subtitle {
    color: var(--dark-gray);
    font-size: 1.2rem;
    max-width: 700px;
    margin: 0 auto;
    opacity: 0.9;
    line-height: 1.6;
}

/* Admin Controls */
.tren-admin-controls {
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 15px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    border: 1px solid rgba(0, 74, 173, 0.1);
}

/* Grid Layout */
.tren-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

/* Trenér Card */
.tren-card {
    background-color: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    border: 2px solid transparent;
    display: flex;
    flex-direction: column;
}

.tren-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    border-color: var(--primary-blue);
}

.tren-card-inactive {
    opacity: 0.6;
    background-color: #f8f9fa;
}

/* Photo Section */
.tren-card-photo {
    position: relative;
    width: 100%;
    height: 300px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--primary-blue), var(--primary-yellow));
}

.tren-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.tren-card:hover .tren-photo {
    transform: scale(1.05);
}

.tren-inactive-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background-color: var(--danger-color);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Content Section */
.tren-card-content {
    padding: 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.tren-card-name {
    color: var(--primary-blue);
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    line-height: 1.3;
}

.tren-card-description {
    color: var(--dark-gray);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1rem;
    flex: 1;
}

/* Contact Section */
.tren-card-contact {
    margin-bottom: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.tren-contact-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    font-size: 0.9rem;
}

.tren-contact-item i {
    color: var(--primary-blue);
    width: 20px;
    text-align: center;
}

.tren-contact-item a {
    color: var(--dark-gray);
    text-decoration: none;
    transition: color 0.3s ease;
    word-break: break-all;
}

.tren-contact-item a:hover {
    color: var(--primary-blue);
    text-decoration: underline;
}

/* Admin Actions */
.tren-card-admin-actions {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.tren-card-admin-actions .btn {
    flex: 1;
    min-width: 100px;
}

/* Buttons */
.tren-btn-success {
    background-color: var(--success-color);
    border-color: var(--success-color);
    color: white;
    font-weight: 600;
    border-radius: 8px;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
}

.tren-btn-success:hover {
    background-color: #218838;
    border-color: #1e7e34;
    color: white;
    transform: translateY(-1px);
}

.tren-btn-warning {
    background-color: var(--warning-color);
    border-color: var(--warning-color);
    color: var(--dark-gray);
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.tren-btn-warning:hover {
    background-color: #e0a800;
    border-color: #d39e00;
    transform: translateY(-1px);
}

.tren-btn-danger {
    background-color: var(--danger-color);
    border-color: var(--danger-color);
    color: white;
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.tren-btn-danger:hover {
    background-color: #c82333;
    border-color: #bd2130;
    transform: translateY(-1px);
}

.tren-btn-secondary {
    background-color: transparent;
    border: 2px solid var(--primary-blue);
    color: var(--primary-blue);
    font-weight: 600;
    border-radius: 8px;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
}

.tren-btn-secondary:hover {
    background-color: var(--primary-blue);
    color: white;
    transform: translateY(-1px);
}

/* Empty State (Když nejsou žádní trenéři) */
.tren-empty {
    padding: 4rem 2rem;
    text-align: center;
    color: #666;
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 20px;
    margin-top: 2rem;
}

.tren-empty-icon {
    font-size: 4rem;
    color: #ccc;
    margin-bottom: 1.5rem;
}

/* Modal & Form Styles */
.tren-photo-preview {
    margin-top: 1rem;
    padding: 0.5rem;
    background-color: #f8f9fa;
    border: 2px dashed rgba(0, 74, 173, 0.2);
    border-radius: 8px;
    text-align: center;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tren-photo-preview img {
    max-height: 250px;
    max-width: 100%;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Animations */
.tren-fade-out {
    animation: trenFadeOut 0.3s ease-out forwards;
}

@keyframes trenFadeOut {
    from {
        opacity: 1;
        transform: scale(1);
    }
    to {
        opacity: 0;
        transform: scale(0.9);
    }
}

/* Responsive Design */
@media (max-width: 1200px) {
    .tren-grid {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    }
}

@media (max-width: 991px) {
    .tren-container {
        padding: 1.5rem;
    }

    .tren-header {
        margin-bottom: 2rem;
    }

    .tren-main-title {
        font-size: 2.5rem;
    }
}

@media (max-width: 768px) {
    .tren-main-title {
        font-size: 2rem;
    }

    .tren-subtitle {
        font-size: 1rem;
    }

    .tren-card-photo {
        height: 250px;
    }

    .tren-card-admin-actions {
        flex-direction: column;
    }

    .tren-card-admin-actions .btn {
        width: 100%;
    }

    /* Úprava modálního okna na mobilech */
    .modal-body {
        padding: 1rem;
    }
}

@media (max-width: 576px) {
    .tren-grid {
        grid-template-columns: 1fr; /* Jedna karta na řádek */
    }

    .tren-container {
        padding: 1rem;
    }
}

/* Print Styles */
@media print {
    .tren-admin-controls,
    .tren-card-admin-actions {
        display: none !important;
    }

    .tren-card {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid #ddd;
    }

    .tren-container {
        background: none;
        box-shadow: none;
    }
}
