/* -------------------- GLOBAL MODALS --------------------*/

/* BUTTONS MODAL */
.button-modal-var {     /* variable barva */
    background-color: #fff;
    font-family: 'Lexend', sans-serif;
    font-weight: 400;
    font-size: 16px;
    display: flex;
    align-items: center;
    width: fit-content;
    gap: 8px;
    padding: 9px 14px 6px;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
}

.button-modal-var .icon {
    width: 15px;
    max-height: 15px;
}

.button-modal-blue,
.button-modal-grey,
.button-modal-green,
.button-modal-red {
    font-family: 'Lexend', sans-serif;
    font-weight: 400;
    font-size: 16px;
    display: flex;
    align-items: center;
    width: fit-content;
    gap: 8px;
    padding: 9px 14px 6px;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 5px;
    cursor: pointer;
    color: #fff;
}

.button-modal-blue,
button.button-modal-blue { /* v latte musí zůstat button tag, jinak to nefunguje */
  background-color: #0071CE;
  border-width: 0; /* pro button tag*/
}
.button-modal-blue:hover {
  background-color: #0060af;
  color: #fff;
}

.button-modal-grey,
button.button-modal-grey {
    background-color: #6c757d;
    border-width: 0;
}
.button-modal-grey:hover {
    background-color: #565d64;
    color: #fff;
}

.button-modal-green,
button.button-modal-green {
    background-color: #2C9A42;
    border-width: 0;
}
.button-modal-green:hover {
    background-color: #238136;
    color: #fff;
}

.button-modal-red,
button.button-modal-red {
    background-color: #dc3545;
    border-width: 0;
}
.button-modal-red:hover {
    background-color: #b32332;
    color: #fff;
}

.button-modal-x {
    font-size: 2.5rem; 
    padding: 0 1rem;
    cursor: pointer;
    color: #6c757d;
}
.button-modal-x:hover {
  color: #565d64
}

.button-modal-var:hover {
    color: #fff;
}



/* vykopírované z form css */
.modal-header .close {
    padding: 0 1rem;
    margin: -1rem -1rem -1rem auto;
    font-size: 2rem;
}
.close:not(:disabled):not(.disabled) {
    cursor: pointer;
}

.modal button:focus,
.modal input:focus,
.modal select:focus,
.modal textarea:focus,
.modal [role="button"]:focus {
    outline: none;
}

.modal button:focus-visible,
.modal input:focus-visible,
.modal select:focus-visible,
.modal textarea:focus-visible,
.modal [role="button"]:focus-visible,
.modal [tabindex="-1"]:focus-visible {
    outline: 3px solid #d77900;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.92);
}

.reservation .s-reservation-table__table td span.active1:focus,
.reservation .s-reservation-table__table td span.active2:focus,
.reservation .s-reservation-table__table td span.active3:focus,
.reservation .s-reservation-table__table td span.active-deadline:focus,
.reservation .s-reservation-table__table td span.active4:focus,
.reservation .s-reservation-table__table td span.late:focus,
.reservation .s-reservation-table__table td span.full-lection:focus,
.reservation .s-reservation-table__table td span.voucher:focus,
.reservation .s-reservation-table__table td span.frmrez:focus,
.reservation .s-reservation-table__table td span.frmmy:focus {
    outline: none;
}

.reservation .s-reservation-table__table td span.active1:focus-visible,
.reservation .s-reservation-table__table td span.active2:focus-visible,
.reservation .s-reservation-table__table td span.active3:focus-visible,
.reservation .s-reservation-table__table td span.active-deadline:focus-visible,
.reservation .s-reservation-table__table td span.active4:focus-visible,
.reservation .s-reservation-table__table td span.late:focus-visible,
.reservation .s-reservation-table__table td span.full-lection:focus-visible,
.reservation .s-reservation-table__table td span.voucher:focus-visible,
.reservation .s-reservation-table__table td span.frmrez:focus-visible,
.reservation .s-reservation-table__table td span.frmmy:focus-visible {
    outline: none;
    box-shadow: none;
}





.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1100;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0;
    background-color: rgba(0,0,0,0.5)
}

.modal.fade {
    transition: opacity .15s linear;
    opacity: 0;
}
.modal.fade.show {
    opacity: 1;
}

.modal.fade .modal-dialog {
  transform: translateY(-50px);
  transition: transform .3s ease-out;
  will-change: transform;
}
.modal.fade.show .modal-dialog {
  transform: translateY(0);
}

.modal hr {
    border: none;
    height: 1px;
    background-color: #dee2e6;
    margin: 16px 0;
}

.modal-dialog {
    width: 500px;
    margin: 30px auto 0;
}
.modal-dialog.modal-lg {
    width: 800px;
}



.modal-content {
    width: 100%;
    background-color: #fff;
    border-radius: 10px;
    border: 1px solid #dee2e6;
}

.modal-header {
    display: flex;
    justify-content: space-between;
    padding: 16px;
    border-bottom: 1px solid #dee2e6;  
}

.modal-title {
    margin: 0;
}

.modal-body {
    padding: 16px;
}

.modal-footer {
    padding: 16px;
    border-top: 1px solid #dee2e6;
}

body.modal-open {
    overflow: hidden;
}

.modal .flex {
    display: flex;
    gap: 10px;
}
.modal .flex .w-15 {
    width: 15%;
}
.modal .flex .w-20 {
    width: 20%;
}
.modal .flex .w-25 {
    width: 25%;
}
.modal .flex .w-33 {
    width: 33%;
}
.modal .flex .w-60 {
    width: 60%;
}
.modal .flex .w-80 {
    width: 80%;
}

.modal .flex p.small {
    margin-bottom: 0;
}

/* RESPONSIVE DESIGN */
@media (max-width: 991.98px) {
    .modal-dialog.modal-lg {
        width: calc(100% - 100px);
    }
}

@media (max-width: 575.98px) {
    .modal-dialog,
    .modal-dialog.modal-lg {
       width: calc(100% - 50px);
    }
}

/* pro reg-cart-vip konkrétně*/
@media (max-width: 480px) {
    .modal .flex {
        flex-direction: column;
        gap: 0;
    }
    .modal .flex .w-20, 
    .modal .flex .w-80 {
        width: 100%;
    }
}









/* -------------------- MODALS ---------------------*/

/* MODAL INFO */
.info-modal .modal-footer {
    display: flex;
    justify-content: right;
}




/* MODAL REGISTRATION_CART_VIP */
.reg-cart-vip .center {
    text-align: center;
}

.reg-cart-vip .modal-footer {
    display: flex;
    justify-content: center;
}




/* MODAL REGISTRATION_CART */
.reg-cart .center {
    text-align: center;
}

.reg-cart .buttons-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}




/*MODAL LOGIN */
.login-modal .center {
    text-align: center;
}   

.login-modal .center p {
    margin-top: 16px;
}  

.login-modal .form-control {
    border: 1px solid #AACFEE;
    color: #000;
}

.login-modal .modal-footer {
    display: flex;
    justify-content: right;
}




/* MODAL REGISTRATION */
/* MODAL REGCANCEL */
.regcancel-modal .modal-footer {
    display: flex;
    justify-content: right;
}




/* MODAL REGFIRM */
.regfirm-modal .flex {
    align-items: center;
}

.regfirm-modal .form-control {
    border: 1px solid #AACFEE;
    color: #000;
}

.regfirm-modal .modal-footer {
    display: flex;
    justify-content: right;
}




/* MODAL VIEW */
.view-modal .margin {
    margin: 16px 0 8px;
}

.view-modal .field {
    margin: 0 0 10px 0;
}

.view-modal .modal-footer {
    display: flex;
    justify-content: right;
}

.view-modal .form-control {
    border: 1px solid #AACFEE;
    color: #000;
}




/* MODAL VOUCHER*/
.voucher-modal .modal-footer {
    display: flex;
    justify-content: right;
}




/* MODAL RESERVATION-INFO-MODAL */
.reservation-info-modal .modal-header {
    border:none;
}

.reservation-info-modal .modal-body {
    padding: 0 50px 30px;
}

.reservation-info-modal h5.modal-title {
    text-align: center;
    margin-bottom: 10px;
}

.reservation-info-modal .modal-body p {
    text-align: center;
    margin-bottom: 10px;
}

.reservation-info-modal .res-time {
    font-family: 'Lexend', sans-serif;
    font-size: 20px;
    font-weight: 700; /*původně 500 v main.css*/
    line-height: 1.2;
}

.reservation-info-modal .res-name {
    font-size: 20px;
    font-weight: 700;
}

.reservation-info-modal .line {
    margin: 25px 0;
    opacity: 1; /*přepis main.css - opacity 0.25*/
}





/* MODAL RESERVATION-MODAL */
.reservation-modal .modal-header {
    border:none;
}

.reservation-modal .modal-body {
    padding: 0 50px;
}

.reservation-modal .modal-body p {
    text-align: center;
}

.reservation-modal h3.modal-title {
    text-align: center;
    margin-bottom: 20px;
}

.reservation-modal .details {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}

.reservation-modal .date {
    font-weight: 700;
}

.reservation-modal .vertical-line {
    content: "";
    display: inline-block;
    width: 1px;
    height: 40px;
    margin: 0 16px;
}

.reservation-modal .from {
    font-weight: 700;
    margin-right: 5px;
}

.reservation-modal .to .form-control {
    font-weight: 700;
}

.reservation-modal .color {
    font-weight: 700;
    white-space: nowrap;
}

.reservation-modal .modal-footer {
    display: flex;
    justify-content: center;
    border: none;
    padding: 0 50px 40px;
}

.reservation-modal .modal-footer p {
    text-align: center;
}

.reservation-modal .button-modal-var {
    margin-top: 20px;
}

.reservation-modal .line {
    margin: 25px 0;
    opacity: 1; /*přepis main.css - opacity 0.25*/
}
