/* Browser Repairs */

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.nopadding {
    padding: 0 !important;
}

.nomargin {
    margin: 0 !important;
}

.margin-top-0 {
    margin-top: 0 !important;
}

.margin-top-1 {
    margin-top: 1rem !important;
}

.margin-top-5 {
    margin-top: 5rem !important;
}

.margin-top-8 {
    margin-top: 8rem !important;
}

.margin-top-minus-2 {
    margin-top: -2rem !important;
}

.margin-bottom-0 {
    margin-bottom: 0 !important;
}

.margin-bottom-1 {
    margin-bottom: 1rem !important;
}

.margin-bottom-5 {
    margin-bottom: 5rem !important;
}

.margin-bottom-8 {
    margin-bottom: 8rem !important;
}

.margin-bottom-11 {
    margin-bottom: 11rem !important;
}

.has-text-align-left {
    text-align: left !important;
}

.has-text-align-center {
    text-align: center !important;
}

.has-text-align-right {
    text-align: right !important;
}

:focus,
textarea:focus,
input:focus,
select:focus,
button:focus {
    outline: 0 !important;
}

strong {
    font-weight: 500;
}

.videoWrapper,
.wp-block-embed.is-type-video .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 */
    height: 0;
}

.videoWrapper iframe,
.wp-block-embed.is-type-video .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.vbox-container {
    padding: 0 !important;
}

.vbox-backdrop {
    background-color: var(--white) !important;
}

.vbox-content {
    padding: 0rem 10% !important;
}

.vbox-child {
    box-shadow: none !important;
}

.vbox-child img {
    max-height: 70vh;
}

.vbox-title {
    top: auto !important;
    bottom: 0 !important;
    background-color: var(--bg-color-light) !important;
    font-size: 1.6rem !important;
    font-weight: 600;
    line-height: 1.5 !important;
    color: var(--dark-gray) !important;
    padding: 3rem 0 6rem !important
}

.vbox-close {
    right: 5rem;
    top: 4rem;
    transform: rotate(-45deg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 2.4rem;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNC4wMDIiIGhlaWdodD0iMTQuMDAyIiB2aWV3Qm94PSIwIDAgMTQuMDAyIDE0LjAwMiI+PHBhdGggZD0iTS0xMjAxOCwxNTk1OXYtNmgtNnYtMmg2di02aDJ2Nmg2djJoLTZ2NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMDI0LjAwMSAtMTU5NDQuOTk4KSIgZmlsbD0iIzAyMTYzOCIvPjwvc3ZnPg==");
    width: 5rem;
    height: 5rem;
    padding: 0;
}

.vbox-close svg {
    display: none;
}

.vbox-prev {
    left: 3rem;
    transform: rotate(90deg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 2rem;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSI5LjE5MiIgdmlld0JveD0iMCAwIDE2IDkuMTkyIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDkuMTkyKSI+PHBhdGggZD0iTTgsMCwwLTcuNzc4LDEuNDU1LTkuMTkyLDgtMi44MjhsNi41NDUtNi4zNjRMMTYtNy43NzhaIiBmaWxsPSIjMDExNjM3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PC9zdmc+");
}

.vbox-prev span {
    border: none !important;
}

.vbox-next {
    right: 5rem;
    transform: rotate(-90deg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 2rem;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSI5LjE5MiIgdmlld0JveD0iMCAwIDE2IDkuMTkyIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDkuMTkyKSI+PHBhdGggZD0iTTgsMCwwLTcuNzc4LDEuNDU1LTkuMTkyLDgtMi44MjhsNi41NDUtNi4zNjRMMTYtNy43NzhaIiBmaWxsPSIjMDExNjM3IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PC9zdmc+");
}

.vbox-next span {
    border: none !important;
}

.vbox-left-corner {
    color: var(--font-color-dark) !important;
}

.vbox-num {
    padding: 3rem !important;
}

strong {
    font-weight: 600;
}

.flatpickr-weekdays {
    height: auto !important;
    margin: 0.5rem 0 0 !important;
}

span.flatpickr-weekday {
    background-color: var(--spark-blue) !important;
    color: #fff !important;
    padding: 0.7rem 0 0.5rem !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
    font-size: 1.4rem !important;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: var(--spark-blue) !important;
}

.flatpickr-day.today {
    border-color: var(--spark-blue) !important;
    ;
}

.cli_user_consent_state {
    background-color: var(--background-blue);
    padding: 5rem;
    margin: 5rem 0;
}

.cookielawinfo-row-cat-table {
    width: 100% !important;
    position: relative !important;
    border-collapse: collapse !important;
    margin: 2rem 0 !important;
    border-top: none !important;
    border-left: none !important;
}

.cookielawinfo-row-cat-table th {
    font-family: 'Atyp Display' !important;
    font-size: 1.6rem !important;
    padding: 0.8rem 1.6rem !important;
    font-weight: 500 !important;
    border-bottom: none !important;
    background-color: var(--gray-soft) !important;
    text-align: left !important;
    vertical-align: middle !important;
    border: 1px solid var(--gray-soft) !important;
}

.cookielawinfo-row-cat-table td {
    padding: 0.8rem 1.6rem !important;
    background-color: var(--white) !important;
    text-align: left !important;
    vertical-align: middle !important;
    border-bottom: 1px solid var(--gray-soft) !important;
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
}


#cookie-law-info-bar,
.wt-cli-cookie-bar {
    box-shadow: 0rem 1.6rem 4.8rem rgba(2, 26, 56, 0.25) !important;
    padding: 1.6rem 1.6rem 0.8rem !important;
    border-radius: 2.4rem !important;
}

.cli-bar-btn_container {
    display: flex;
    justify-content: flex-start;
    flex-flow: row wrap;
    align-items: flex-start;
    padding: 0.8rem 0.8rem 0 0;
    margin-left: -0.8rem;
    margin-right: -0.8rem;
}

#cookie-law-info-bar,
.wt-cli-cookie-bar {
    font-family: 'Atyp Display' !important;
    font-size: 1.4rem !important;
    line-height: 1.5 !important;
}

.cli-bar-btn_container a {
    font-family: 'Atyp Display' !important;
    display: inline-block !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    border: 2px solid var(--red-alt) !important;
    background-color: var(--red-alt) !important;
    color: var(--white) !important;
    font-size: 1.4rem !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    margin: 0 0 0.8rem 0.8rem !important;
    padding: 0.4rem 1.6rem !important;
    text-align: center !important;
    width: calc(50% - 1rem) !important;
}

.cli-bar-btn_container a:hover {
    background-color: var(--red-dark) !important;
    border: 2px solid var(--red-dark) !important;
    color: var(--white) !important;
    text-decoration: none !important;
}

.cli-bar-btn_container a.cli_settings_button {
    background-color: transparent !important;
    border: none !important;
    color: var(--black) !important;
}

.cli-bar-btn_container a.cli_settings_button:hover {
    background-color: transparent !important;
    border: none !important;
    color: var(--black) !important;
    text-decoration: underline !important;
}

.cli-bar-btn_container a.cli-plugin-main-link,
.cli-bar-btn_container a.cookie_action_close_header_reject {
    background-color: transparent !important;
    border: none !important;
    color: var(--black) !important;
}

.cli-bar-btn_container a.cli-plugin-main-link:hover,
.cli-bar-btn_container a.cookie_action_close_header_reject:hover {
    background-color: transparent !important;
    border: none !important;
    color: var(--black) !important;
    text-decoration: underline !important;
}

.cli-tab-footer .wt-cli-privacy-accept-btn {
    font-family: 'Atyp Display' !important;
    display: inline-block !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    border: 2px solid var(--red-alt) !important;
    background-color: var(--red-alt) !important;
    color: var(--white) !important;
    font-size: 1.4rem !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    margin: 0 0 0.8rem 0.8rem !important;
    padding: 0.4rem 1.6rem !important;
    text-align: center !important;
}

.cli-tab-footer .wt-cli-privacy-accept-btn:hover {
    background-color: var(--red-dark) !important;
    border: 2px solid var(--red-dark) !important;
    color: var(--white) !important;
    text-decoration: none !important;
}

.wt-cli-manage-consent-link {
    display: inline-block;
    cursor: pointer;
    border-radius: 1.6rem;
    border: 2px solid var(--light-red);
    background-color: var(--light-red);
    color: var(--black);
    font-size: 1.6rem;
    line-height: 1.3;
    font-weight: 600;
    text-decoration: none !important;
    margin: 2rem 0;
    padding: 2rem 4rem;
    min-width: 20rem;
    text-align: center;
}

.wt-cli-manage-consent-link:hover {
    background-color: transparent !important;
    border: none !important;
    color: var(--red-alt) !important;
    text-decoration: underline !important;
}

.cli-modal .cli-modal-close {
    cursor: pointer;
}

.cli-switch input:checked+.cli-slider {
    background-color: var(--red-alt) !important;
}

iframe {
    width: 100%;
    height: auto;
}

.page-links {
    display: flex;
    align-items: center;
    flex-flow: row wrap;
    margin: 5rem 0;
}

.page-links>label {
    margin: 0 1rem 1rem 0;
    padding: 0.4rem 0rem;
    display: block;
    text-decoration: none;
}

.page-links a {
    margin: 0 1rem 1rem 0;
    border: 1px solid var(--blue);
    padding: 0.4rem 0.8rem;
    display: block;
    border-radius: 0.4rem;
    text-decoration: none;
}

.page-links a:hover {
    background-color: var(--blue);
}

.page-links>span {
    margin: 0 1rem 1rem 0;
    border: 1px solid var(--blue);
    padding: 0.4rem 0.8rem;
    display: block;
    border-radius: 0.4rem;
    background-color: var(--blue);
    font-weight: 600;
}

.acf-ui-datepicker select {
    padding: 0 24px 0 8px !important;
    display: inline-block !important;
}

.acf-ui-datepicker .ui-datepicker .ui-widget-header a {
    text-decoration: none !important;
}

.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_minute:before,
.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_second:before {
    margin: 0 0.4rem !important;
}

/* Popup */

.hustle-popup-content {
    max-width: 110.8rem !important;
}

body.error404 .hustle-popup-content {
    max-width: 78.6rem !important;
}

.hustle-layout {
    background-color: var(--white) !important;
    border-radius: 2.4rem !important;
    padding: 8rem 8rem 6.4rem !important;
}

.hustle-layout-content,
.hustle-content,
.hustle-content-wrap {
    padding: 0 !important;
}

.hustle-content p {
    font-size: 1.6rem !important;
    line-height: 1.6 !important;
    margin: 2.4rem 0 !important;
    color: var(--gray-darker) !important;
}

.hustle-layout-content .forminator-ui {
    background-color: var(--gray-soft) !important;
    border: 1px solid var(--gray-lighter-alt) !important;
    border-radius: 2.4rem !important;
    padding: 5.6rem 8rem !important;
}

.hustle-layout .hustle-group-content {
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 1.4rem !important;
    line-height: 1.6 !important;
}

.hustle-layout .hustle-group-content p:not([class*="forminator-"]) {
    font-family: Helvetica, Arial, sans-serif !important;
}

.hustle-layout .hustle-group-content p.las {
    font-family: 'Line Awesome Free' !important;
    font-weight: 900 !important;
}

.hustle-layout .hustle-group-content p.las::before {
    color: var(--red-alt) !important;
}

.hustle-layout .forminator-button {
    margin: 0 !important;
}

.hustle-layout-content h2.forminator-title {
    text-align: left;
}

button.hustle-button-icon {
    width: 3.2rem !important;
    height: 3.2rem !important;
    display: block !important;
    position: absolute !important;
    right: 2.4rem !important;
    top: 5.6rem !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 2.4rem !important;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMiAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIuMjE4NzUgMC4yODEyNUwxMSA5LjA2MjVMMTkuNzgxMiAwLjI4MTI1TDIxLjIxODggMS43MTg3NUwxMi40Mzc1IDEwLjVMMjEuMjE4OCAxOS4yODEyTDE5Ljc4MTIgMjAuNzE4OEwxMSAxMS45Mzc1TDIuMjE4NzUgMjAuNzE4OEwwLjc4MTI1IDE5LjI4MTJMOS41NjI1IDEwLjVMMC43ODEyNSAxLjcxODc1TDIuMjE4NzUgMC4yODEyNVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=") !important;
}

button.hustle-button-close span {
    display: none !important;
}

.hustle-layout-header,
.hustle-layout-footer {
    padding: 0 !important;
    border: none !important;
}

.hustle-layout-footer {
    margin-top: 4rem;
}

.hustle-title {
    font-family: 'Atyp Display' !important;
    font-size: 2.4rem !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
}

.hustle-subtitle {
    font-family: 'Atyp Display' !important;
    font-size: 1.8rem !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
}

a.hustle-button {
    font-family: 'Atyp Display' !important;
    display: inline-block !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    border: 2px solid var(--black) !important;
    background-color: var(--black) !important;
    color: var(--white) !important;
    font-size: 2rem !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    margin: 0 2.4rem 0 0 !important;
    padding: 0.4rem 3rem !important;
    text-align: center !important;
}

a.hustle-button:hover {
    background-color: var(--red-dark) !important;
    border: 2px solid var(--red-dark) !important;
    color: var(--white) !important;
    text-decoration: none !important;
}

a.hustle-button.hustle-last-button {
    padding: 0 2.4rem 0 0 !important;
    background-color: transparent !important;
    border: none !important;
    color: var(--black) !important;
    font-size: 2rem !important;
    text-decoration: underline !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: 1.6rem !important;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxOCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExLjAzOTEgMC4wODU5Mzc1TDE3LjQxNDEgNi40NjA5NEwxNy45Mjk3IDdMMTcuNDE0MSA3LjUzOTA2TDExLjAzOTEgMTMuOTE0MUw5Ljk2MDk0IDEyLjgzNTlMMTUuMDQ2OSA3Ljc1SDBWNi4yNUgxNS4wNDY5TDkuOTYwOTQgMS4xNjQwNkwxMS4wMzkxIDAuMDg1OTM3NVoiIGZpbGw9IiNFRDM0MTkiLz4KPC9zdmc+Cg==");
}

a.hustle-button.hustle-last-button:hover {
    text-decoration: underline !important;
    color: var(--red-alt) !important;
    background-color: transparent !important;
    border: none !important;
}

.grecaptcha-badge {
    visibility: hidden;
}

/* RESPONSIVE */

@media(max-width: 750px) {

    audio {
        width: 100%;
    }

    .hustle-layout {
        padding: 4rem 4rem 3.2rem !important;
    }

}

@media(max-width: 500px) {

    .vbox-close {
        right: 2rem;
    }

    .vbox-prev {
        left: 0;
    }

    .vbox-next {
        right: 1rem;
    }

}


/* --- Cookie lišta WebToffee 3.x (.wcc-*) ---------------------------------
   Nahrazuje pravidla pro starou lištu 2.x (#cookie-law-info-bar, .cli-*).
   Cíl: stejný vzhled jako předtím — bílá karta vlevo dole, zaoblení 2.4rem,
   stín, Atyp Display a červené tlačítko pro přijetí.
   Barvy tlačítek řídí plugin inline stylem z konfigurace banneru, proto
   !important. --------------------------------------------------------- */

.wcc-consent-bar {
    font-family: 'Atyp Display' !important;
    font-size: 1.4rem !important;
    line-height: 1.5 !important;
    border-radius: 2.4rem !important;
    box-shadow: 0 1.6rem 4.8rem rgba(2, 26, 56, 0.25) !important;
    padding: 1.6rem !important;
    border: none !important;
}

.wcc-title {
    font-family: 'Atyp Display' !important;
    font-weight: 600 !important;
}

.wcc-notice-des,
.wcc-notice-des p {
    font-family: 'Atyp Display' !important;
    font-size: 1.4rem !important;
    line-height: 1.5 !important;
}

.wcc-btn {
    font-family: 'Atyp Display' !important;
    border-radius: 0 !important;
    border-width: 2px !important;
    border-style: solid !important;
    font-size: 1.4rem !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
    padding: 0.4rem 1.6rem !important;
    cursor: pointer;
}

.wcc-btn-accept {
    background-color: var(--red-alt) !important;
    border-color: var(--red-alt) !important;
    color: var(--white) !important;
}

.wcc-btn-accept:hover {
    background-color: var(--red-dark) !important;
    border-color: var(--red-dark) !important;
    color: var(--white) !important;
}

.wcc-btn-reject,
.wcc-btn-customize {
    background-color: transparent !important;
    border-color: transparent !important;
    color: var(--black) !important;
}

.wcc-btn-reject:hover,
.wcc-btn-customize:hover {
    background-color: transparent !important;
    border-color: transparent !important;
    color: var(--black) !important;
    text-decoration: underline !important;
}

/* Odkaz „Nastavte se cookies, jak potřebujete" v patičce.
   Nová lišta poslouchá na .wcc-preference-btn; třída .wt-cli-manage-consent-link
   zůstává kvůli stávajícímu stylování v css/footer.css. */
.wcc-preference-btn {
    cursor: pointer;
}

/* Rozložení tlačítek jako u staré lišty: dvě textová vedle sebe v prvním
   řádku (Odmítnout / Nastavení cookies), pod nimi červené Přijmout vše
   přes celou šířku. Plugin je v DOM řadí Upravit → Odmítnout → Přijmout,
   proto se pořadí přerovnává přes `order`. */
.wcc-notice-btn-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.8rem !important;
}

.wcc-notice-btn-wrapper .wcc-btn-reject {
    order: 1;
    flex: 1 1 0 !important;
}

.wcc-notice-btn-wrapper .wcc-btn-customize {
    order: 2;
    flex: 1 1 0 !important;
}

.wcc-notice-btn-wrapper .wcc-btn-accept {
    order: 3;
    flex: 1 0 100% !important;
    margin-top: 0.4rem !important;
}
