
/*
  MPO + TC moderní modrý motiv pro LimeSurvey
  Barvy vytažené z dodaných log:
  tmavá modrá MPO: #004B8E
  světle modrá MPO: #1AB7EA
*/
:root {
    --mpo-blue-dark: #004B8E;
    --mpo-blue-deep: #0B416F;
    --mpo-blue-light: #1AB7EA;
    --mpo-blue-soft: #E7F6FC;
    --mpo-blue-tint: #F4F9FC;
    --mpo-text: #123A5A;
    --mpo-muted: #5D7790;
    --mpo-border: #D8E7F0;
    --mpo-card: #FFFFFF;
    --mpo-shadow: 0 18px 45px rgba(0, 75, 142, .10);
    --mpo-radius: 18px;
}

html, body {
    min-height: 100%;
}

body {
    background:
        radial-gradient(circle at top right, rgba(26, 183, 234, .15), transparent 35rem),
        radial-gradient(circle at bottom left, rgba(0, 75, 142, .10), transparent 32rem),
        linear-gradient(135deg, #ffffff 0%, var(--mpo-blue-tint) 52%, #eef8fc 100%) !important;
    color: var(--mpo-text) !important;
    font-family: "IBM Plex Sans", "Segoe UI", Roboto, Arial, sans-serif !important;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background-image:
        linear-gradient(45deg, rgba(26,183,234,.08) 1px, transparent 1px),
        linear-gradient(-45deg, rgba(0,75,142,.05) 1px, transparent 1px);
    background-size: 180px 180px, 220px 220px;
    background-position: right -40px top 100px, left -80px bottom -60px;
}

/* Záhlaví s logy */
.mpo-tc-theme-header {
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid rgba(0, 75, 142, .13);
    box-shadow: 0 8px 28px rgba(0, 75, 142, .08);
    backdrop-filter: saturate(140%) blur(8px);
    -webkit-backdrop-filter: saturate(140%) blur(8px);
    margin: 0 0 2.1rem 0;
}

.mpo-tc-theme-header__inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 22px clamp(16px, 4vw, 36px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.mpo-tc-theme-header__logo {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.mpo-tc-theme-header__logo img {
    display: block;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.mpo-tc-theme-header__logo--mpo img {
    max-height: 68px;
}

.mpo-tc-theme-header__logo--tc img {
    max-height: 72px;
}

@media (max-width: 760px) {
    .mpo-tc-theme-header__inner {
        flex-direction: column;
        align-items: stretch;
        padding: 18px 18px;
        gap: 16px;
    }
    .mpo-tc-theme-header__logo {
        justify-content: center;
    }
    .mpo-tc-theme-header__logo--mpo img,
    .mpo-tc-theme-header__logo--tc img {
        max-height: 56px;
    }
}

/* Původní navbar nechceme zdvojovat, pokud by ji rodičovský theme vykreslil. */
.navbar-default,
.navbar.navbar-default,
.navbar-light,
.ls-navbar {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Hlavní kontejner */
.survey-container,
.outerframe,
#outerframeContainer,
.container-fluid .container,
body .container {
    max-width: 1180px;
}

#outerframeContainer,
.outerframe,
.survey-container {
    background: transparent !important;
}

/* Nadpisy */
h1, h2, h3,
.survey-name,
.survey-title,
.group-title,
.ls-group-name,
.question-title-container {
    color: var(--mpo-blue-dark) !important;
    letter-spacing: -0.02em;
}

.survey-name,
.survey-title,
h1 {
    font-weight: 600 !important;
    font-size: clamp(2rem, 4vw, 3.3rem) !important;
    line-height: 1.08 !important;
    margin-bottom: .55rem !important;
}

.survey-description,
.group-description,
.ls-group-desc,
.text-info,
.text-muted {
    color: var(--mpo-muted) !important;
}

.group-title,
.ls-group-name,
h2 {
    font-weight: 760 !important;
}

/* Průběh dotazníku */
.progress,
.ls-progress,
.progress-bar-container {
    height: 12px !important;
    border-radius: 999px !important;
    background: #E3EEF5 !important;
    box-shadow: inset 0 1px 2px rgba(0, 75, 142, .08) !important;
    overflow: hidden !important;
}

.progress-bar,
.ls-progress .progress-bar {
    background: linear-gradient(90deg, var(--mpo-blue-light), var(--mpo-blue-dark)) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}

/* Karty otázek */
.question-container,
.ls-question-container,
.question-wrapper,
.ls-answers,
.group-container,
.ls-group-container,
.welcome-container,
.completed-wrapper,
.save-survey-form,
.load-survey-form,
.register-form {
    border-radius: var(--mpo-radius) !important;
}

.question-container,
.ls-question-container,
.question-wrapper {
    background: rgba(255, 255, 255, .94) !important;
    border: 1px solid var(--mpo-border) !important;
    box-shadow: var(--mpo-shadow) !important;
    padding: clamp(18px, 2.5vw, 30px) !important;
    margin-bottom: 22px !important;
}

.ls-question-mandatory,
.asterisk {
    color: var(--mpo-blue-light) !important;
    font-weight: 800 !important;
}

.question-title-container,
.ls-label-question,
.question-text,
.ls-question-text,
.question-valid-container {
    color: var(--mpo-blue-dark) !important;
    font-weight: 720 !important;
}

.ls-questionhelp,
.questionhelp,
.question-help-container,
.ls-questionhelp-before,
.ls-questionhelp-after {
    color: var(--mpo-muted) !important;
    font-size: .96rem !important;
}

/* Vstupní pole */
.form-control,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
select,
textarea {
    border: 1px solid #C9DBE8 !important;
    border-radius: 12px !important;
    color: var(--mpo-text) !important;
    background-color: #fff !important;
    min-height: 44px;
    padding: 10px 13px !important;
    box-shadow: inset 0 1px 2px rgba(0, 75, 142, .04) !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
select:focus,
textarea:focus {
    border-color: var(--mpo-blue-light) !important;
    box-shadow: 0 0 0 4px rgba(26, 183, 234, .18), inset 0 1px 2px rgba(0, 75, 142, .04) !important;
    outline: 0 !important;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
    color: #7B91A7 !important;
}

/* Odpovědi, radio, checkbox */
.radio-item,
.checkbox-item,
.answer-item,
.ls-answer-option {
    color: var(--mpo-text) !important;
}

input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--mpo-blue-light);
}

/* Tlačítka */
.btn,
button,
input[type="submit"],
.ls-move-btn,
.ls-button-submit,
.ls-button-save {
    border-radius: 999px !important;
    font-weight: 600 !important;
    letter-spacing: .01em;
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease !important;
}

.btn:hover,
button:hover,
input[type="submit"]:hover,
.ls-move-btn:hover,
.ls-button-submit:hover,
.ls-button-save:hover {
    transform: translateY(-1px);
}

.btn-primary,
.btn-success,
.ls-move-next-btn,
.ls-button-submit,
button[type="submit"],
input[type="submit"] {
    color: #fff !important;
    background: linear-gradient(135deg, var(--mpo-blue-dark), var(--mpo-blue-deep)) !important;
    border: 1px solid var(--mpo-blue-dark) !important;
    box-shadow: 0 8px 18px rgba(0, 75, 142, .22) !important;
    padding: 10px 24px !important;
}

.btn-primary:hover,
.btn-success:hover,
.ls-move-next-btn:hover,
.ls-button-submit:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
    background: linear-gradient(135deg, #003E75, var(--mpo-blue-dark)) !important;
    border-color: #003E75 !important;
}

.btn-default,
.btn-secondary,
.ls-move-previous-btn,
.ls-button-save,
.ls-button-clearall {
    color: var(--mpo-blue-dark) !important;
    background: rgba(255,255,255,.92) !important;
    border: 1px solid rgba(0,75,142,.32) !important;
    padding: 10px 22px !important;
}

.btn-default:hover,
.btn-secondary:hover,
.ls-move-previous-btn:hover,
.ls-button-save:hover,
.ls-button-clearall:hover {
    color: var(--mpo-blue-dark) !important;
    background: var(--mpo-blue-soft) !important;
    border-color: var(--mpo-blue-light) !important;
}

/* Upozornění a validace */
.alert,
.ls-em-error,
.emtip {
    border-radius: 14px !important;
    border-width: 1px !important;
}

.alert-info {
    color: var(--mpo-blue-dark) !important;
    background: var(--mpo-blue-soft) !important;
    border-color: rgba(26, 183, 234, .32) !important;
}

.alert-danger,
.ls-em-error,
.emtip.error {
    background: #FFF3F4 !important;
    border-color: #F0C2C7 !important;
    color: #7F1D2D !important;
}

/* Matice a tabulky */
.table,
table {
    border-radius: 14px !important;
    overflow: hidden;
}

thead th,
.table thead th {
    background: var(--mpo-blue-soft) !important;
    color: var(--mpo-blue-dark) !important;
    border-bottom: 1px solid var(--mpo-border) !important;
}

tbody tr:nth-child(even) {
    background: rgba(231, 246, 252, .36) !important;
}

/* Navigace dole */
.navigator,
.ls-navigator,
.submit-buttons,
.ls-submitbuttons {
    margin-top: 2rem !important;
    padding-top: 1.2rem !important;
    border-top: 1px solid rgba(0, 75, 142, .10) !important;
}

/* Drobné zjemnění animací */
a,
.btn,
.form-control,
.question-container,
.ls-question-container {
    transition-timing-function: cubic-bezier(.2,.7,.2,1) !important;
}

/* Tisk */
@media print {
    body {
        background: #fff !important;
    }
    body::before,
    .mpo-tc-theme-header {
        display: none !important;
    }
    .question-container,
    .ls-question-container,
    .question-wrapper {
        box-shadow: none !important;
        border: 1px solid #ccc !important;
    }
}

/* -------------------------------------------------------------
   Velikosti písma: sekce a otázky srovnané blíže k výchozímu Fruity
   ------------------------------------------------------------- */
.group-title,
.ls-group-name,
.group-title h1,
.group-title h2,
.ls-group-name h1,
.ls-group-name h2,
h1.group-title,
h2.group-title,
h1.ls-group-name,
h2.ls-group-name,
.ls-group-title,
.group-container .group-title,
.ls-group-container .ls-group-name {
    font-size: 1.08rem !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
}

.question-title-container,
.question-title-container h3,
.question-title-container .question-title,
.question-title-container .question-number,
.ls-label-question,
.question-text,
.question-text h3,
.ls-question-text,
.ls-question-text h3,
.question-valid-container,
.ls-question-container .control-label,
.question-container .control-label {
    font-size: 1rem !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
}

/* Povinná otázka: světle modrá hvězdička menší a opticky až za textem otázky. */
.question-title-container .asterisk,
.question-title-container .ls-question-mandatory,
.ls-question-text .asterisk,
.ls-question-text .ls-question-mandatory,
.question-text .asterisk,
.question-text .ls-question-mandatory,
.ls-question-mandatory,
.asterisk {
    color: var(--mpo-blue-light) !important;
    font-size: .72em !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    display: inline-block !important;
    vertical-align: text-top !important;
    margin-left: .28em !important;
    margin-right: 0 !important;
    position: static !important;
}


/* -------------------------------------------------------------
   Kompaktní zaškrtávací pole: menší mezery, modré zaškrtnutí,
   bílá fajfka přesně uprostřed čtverečku
   ------------------------------------------------------------- */
.checkbox-item,
.answer-item.checkbox-item,
.ls-answer-option.checkbox-item,
.ls-answers .checkbox,
.ls-answers .form-check,
.list-unstyled .checkbox-item,
.multiple-opt .answer-item,
.checkbox-list .answer-item {
    margin-top: .12rem !important;
    margin-bottom: .12rem !important;
    padding-top: .04rem !important;
    padding-bottom: .04rem !important;
}

.ls-answers ul,
.answers-list,
ul.list-unstyled,
.multiple-opt {
    margin-top: .25rem !important;
    margin-bottom: .25rem !important;
}

.checkbox-item label,
.answer-item.checkbox-item label,
.ls-answers .checkbox label,
.ls-answers .form-check-label,
.ls-answers label.checkbox-label,
.checkbox label {
    margin-bottom: 0 !important;
    line-height: 1.32 !important;
    color: var(--mpo-text) !important;
}

/* Moderní vlastní checkbox – bez vlivu na radio buttony */
input[type="checkbox"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    margin: 0 8px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    vertical-align: -3px !important;
    border: 1.5px solid #9EB9CC !important;
    border-radius: 4px !important;
    background-color: #FFFFFF !important;
    background-repeat: no-repeat !important;
    background-position: 50% 50% !important;
    background-size: 11px 11px !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .08s ease !important;
}

input[type="checkbox"]:hover {
    border-color: var(--mpo-blue-light) !important;
    box-shadow: 0 0 0 3px rgba(26, 183, 234, .12) !important;
}

input[type="checkbox"]:checked {
    background-color: var(--mpo-blue-light) !important;
    border-color: var(--mpo-blue-light) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3.3 8.2 6.7 11 12.7 5' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

input[type="checkbox"]:active {
    transform: scale(.94) !important;
}

input[type="checkbox"]:focus,
input[type="checkbox"]:focus-visible {
    outline: 0 !important;
    box-shadow: 0 0 0 4px rgba(26, 183, 234, .22) !important;
}

input[type="checkbox"]:disabled {
    cursor: not-allowed !important;
    opacity: .55 !important;
}

/* Zarovnání checkboxů ve vícesloupcových odpovědích a tabulkách */
.checkbox-item,
.answer-item.checkbox-item,
.ls-answers .checkbox,
.ls-answers .form-check {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
}

.checkbox-item label,
.answer-item.checkbox-item label,
.ls-answers .checkbox label,
.ls-answers .form-check-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
}

/* Pokud má LimeSurvey checkbox odděleně od labelu, ponechá se kompaktní řádek. */
.checkbox-item > input[type="checkbox"],
.answer-item.checkbox-item > input[type="checkbox"],
.ls-answers .form-check > input[type="checkbox"] {
    flex: 0 0 18px !important;
}

/* -------------------------------------------------------------
   Úvodní stránka 1.0.3:
   - menší název dotazníku,
   - bez nepřirozeného roztahování slov,
   - text ochrany osobních údajů se drží uvnitř obsahu.
   ------------------------------------------------------------- */

/* Název dotazníku na úvodní stránce – menší a čitelný. */
.welcome-container .survey-name,
.welcome-container .survey-title,
.welcome-container h1,
.ls-welcome .survey-name,
.ls-welcome .survey-title,
.ls-welcome h1,
body.mpo-tc-modern-theme .welcome-container h1,
body.mpo-tc-modern-theme .survey-welcome h1 {
    font-size: clamp(1.55rem, 2.4vw, 2.25rem) !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    text-align: left !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    max-width: 100% !important;
}

/* Úvodní text nesmí být zarovnaný do bloku, jinak se na širokých řádcích
   mohou mezi slovy vytvářet nepřirozeně velké mezery. */
.welcome-container,
.ls-welcome,
.survey-welcome,
.welcome-text,
.survey-description,
body.mpo-tc-modern-theme .welcome-container p,
body.mpo-tc-modern-theme .survey-welcome p {
    text-align: left !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}

/* Uvítací blok drží rozumnou šířku, aby text neutíkal do okrajů a gradientu. */
.welcome-container,
.ls-welcome,
.completed-wrapper,
.register-form,
.save-survey-form,
.load-survey-form {
    max-width: min(100%, 980px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.welcome-container,
.ls-welcome {
    background: rgba(255, 255, 255, .95) !important;
    border: 1px solid var(--mpo-border) !important;
    box-shadow: var(--mpo-shadow) !important;
    padding: clamp(18px, 3vw, 34px) !important;
}

/* Text o ochraně osobních údajů / bezpečnosti dat – zalamování dlouhých vět,
   odkazů a e-mailů uvnitř bílého bloku. */
.privacy,
.privacy-text,
.privacy-policy,
.privacy-message,
.privacy-container,
.datasecurity_notice,
.data-security-notice,
#datasecurity_notice,
#privacy,
.ls-privacy,
.ls-privacy-body,
.ls-privacy-text,
.ls-privacy-message,
.welcome-container .privacy,
.welcome-container .datasecurity_notice,
.welcome-container #datasecurity_notice,
.welcome-container .ls-privacy {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    white-space: normal !important;
    line-height: 1.55 !important;
}

.privacy p,
.privacy-text p,
.privacy-policy p,
.privacy-message p,
.datasecurity_notice p,
.data-security-notice p,
#datasecurity_notice p,
.ls-privacy p,
.ls-privacy-body p,
.ls-privacy-text p,
.welcome-container .privacy p,
.welcome-container .datasecurity_notice p,
.welcome-container #datasecurity_notice p,
.welcome-container .ls-privacy p {
    max-width: 100% !important;
    margin-right: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    white-space: normal !important;
}

/* Pokud je ochrana osobních údajů vykreslená jako informační/varovný box. */
.alert,
.alert-info,
.alert-warning,
.ls-em-tip,
.ls-privacy .alert,
#datasecurity_notice.alert {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
}

@media (max-width: 760px) {
    .welcome-container .survey-name,
    .welcome-container .survey-title,
    .welcome-container h1,
    .ls-welcome .survey-name,
    .ls-welcome .survey-title,
    .ls-welcome h1 {
        font-size: 1.45rem !important;
        line-height: 1.22 !important;
    }

    .welcome-container,
    .ls-welcome {
        padding: 18px !important;
    }
}



/* -------------------------------------------------------------
   Úvodní stránka 1.0.4 – tvrdší přepis podle kontroly v náhledu:
   - výrazně menší titul dotazníku,
   - zákaz dělení slov v titulku (např. technolo-gických),
   - úvodní text a GDPR se drží v měkkém bílém panelu,
   - text nepřetéká přes okraj ani přes hranici gradientu.
   ------------------------------------------------------------- */

/* Menší hlavní název dotazníku i v případech, kdy LimeSurvey nepoužije .welcome-container. */
body.mpo-tc-modern-theme #outerframeContainer .survey-name,
body.mpo-tc-modern-theme #outerframeContainer .survey-title,
body.mpo-tc-modern-theme #outerframeContainer .ls-survey-name,
body.mpo-tc-modern-theme #outerframeContainer h1.survey-name,
body.mpo-tc-modern-theme #outerframeContainer h1.survey-title,
body.mpo-tc-modern-theme #outerframeContainer h1.ls-survey-name,
body.mpo-tc-modern-theme #outerframeContainer .welcome-container h1,
body.mpo-tc-modern-theme #outerframeContainer .survey-welcome h1,
body.mpo-tc-modern-theme #outerframeContainer .ls-welcome h1,
body.mpo-tc-modern-theme .mpo-tc-intro-title {
    font-size: clamp(1.7rem, 2.55vw, 2.45rem) !important;
    line-height: 1.18 !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    text-align: left !important;
    max-width: 920px !important;
    margin-top: 0 !important;
    margin-bottom: .85rem !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    -webkit-hyphens: none !important;
    -ms-hyphens: none !important;
    hyphens: none !important;
    text-wrap: balance;
}

/* Když rodičovský motiv styluje obecné h1 moc velké, zmenšíme titulky i bez speciálních tříd. */
body.mpo-tc-modern-theme #outerframeContainer h1:first-of-type {
    font-size: clamp(1.7rem, 2.55vw, 2.45rem) !important;
    line-height: 1.18 !important;
    max-width: 920px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    -webkit-hyphens: none !important;
    -ms-hyphens: none !important;
    hyphens: none !important;
    text-wrap: balance;
}

/* Modernější uvítací panel. JS přidá .mpo-tc-intro-card i tam, kde LS nevykreslí standardní welcome-container. */
body.mpo-tc-modern-theme .welcome-container,
body.mpo-tc-modern-theme .ls-welcome,
body.mpo-tc-modern-theme .survey-welcome,
body.mpo-tc-modern-theme .survey-welcome-container,
body.mpo-tc-modern-theme #welcome-container,
body.mpo-tc-modern-theme .mpo-tc-intro-card {
    max-width: 980px !important;
    margin: 1.25rem auto 2rem auto !important;
    padding: clamp(22px, 3.2vw, 42px) !important;
    background: rgba(255, 255, 255, .88) !important;
    border: 1px solid rgba(216, 231, 240, .95) !important;
    border-radius: 24px !important;
    box-shadow: 0 18px 45px rgba(0, 75, 142, .10) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Jemný pruh nahoře v panelu – moderní akcent z modré MPO. */
body.mpo-tc-modern-theme .mpo-tc-intro-card::before,
body.mpo-tc-modern-theme .welcome-container::before,
body.mpo-tc-modern-theme .survey-welcome::before,
body.mpo-tc-modern-theme .ls-welcome::before {
    content: "";
    display: block;
    height: 4px;
    margin: calc(clamp(22px, 3.2vw, 42px) * -1) calc(clamp(22px, 3.2vw, 42px) * -1) 1.2rem calc(clamp(22px, 3.2vw, 42px) * -1);
    background: linear-gradient(90deg, var(--mpo-blue-light), var(--mpo-blue-dark));
}

/* Úvodní popis, GDPR a dlouhé věty: držet uvnitř panelu, ale nedělit běžná slova. */
body.mpo-tc-modern-theme .welcome-container,
body.mpo-tc-modern-theme .welcome-container p,
body.mpo-tc-modern-theme .welcome-container div,
body.mpo-tc-modern-theme .survey-welcome,
body.mpo-tc-modern-theme .survey-welcome p,
body.mpo-tc-modern-theme .survey-description,
body.mpo-tc-modern-theme .survey-description p,
body.mpo-tc-modern-theme .ls-welcome,
body.mpo-tc-modern-theme .ls-welcome p,
body.mpo-tc-modern-theme .privacy,
body.mpo-tc-modern-theme .privacy p,
body.mpo-tc-modern-theme .privacy-text,
body.mpo-tc-modern-theme .privacy-policy,
body.mpo-tc-modern-theme .privacy-message,
body.mpo-tc-modern-theme .privacy-container,
body.mpo-tc-modern-theme .datasecurity_notice,
body.mpo-tc-modern-theme .data-security-notice,
body.mpo-tc-modern-theme #datasecurity_notice,
body.mpo-tc-modern-theme #privacy,
body.mpo-tc-modern-theme .ls-privacy,
body.mpo-tc-modern-theme .ls-privacy-body,
body.mpo-tc-modern-theme .ls-privacy-text,
body.mpo-tc-modern-theme .mpo-tc-privacy-text,
body.mpo-tc-modern-theme .mpo-tc-intro-card p,
body.mpo-tc-modern-theme .mpo-tc-intro-card div {
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    -webkit-hyphens: none !important;
    -ms-hyphens: none !important;
    hyphens: none !important;
}

body.mpo-tc-modern-theme .survey-description,
body.mpo-tc-modern-theme .welcome-container p,
body.mpo-tc-modern-theme .survey-welcome p,
body.mpo-tc-modern-theme .ls-welcome p,
body.mpo-tc-modern-theme .mpo-tc-intro-card p {
    font-size: clamp(.98rem, 1.08vw, 1.08rem) !important;
    line-height: 1.62 !important;
    color: var(--mpo-text) !important;
}

/* Zjemnění podtitulu na úvodní stránce. */
body.mpo-tc-modern-theme #outerframeContainer .survey-description > h2,
body.mpo-tc-modern-theme #outerframeContainer .survey-description h2,
body.mpo-tc-modern-theme .mpo-tc-intro-card h2 {
    font-size: clamp(1.1rem, 1.55vw, 1.35rem) !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    color: var(--mpo-muted) !important;
    margin-top: .25rem !important;
    margin-bottom: 1rem !important;
}

/* Počet otázek pod úvodním textem nesmí odjet mimo gradient/panel. */
body.mpo-tc-modern-theme .welcome-container .survey-question-count,
body.mpo-tc-modern-theme .survey-welcome .survey-question-count,
body.mpo-tc-modern-theme .ls-welcome .survey-question-count,
body.mpo-tc-modern-theme .mpo-tc-intro-card .survey-question-count,
body.mpo-tc-modern-theme .mpo-tc-intro-card strong,
body.mpo-tc-modern-theme .mpo-tc-intro-card b {
    color: var(--mpo-text) !important;
}

@media (max-width: 760px) {
    body.mpo-tc-modern-theme #outerframeContainer .survey-name,
    body.mpo-tc-modern-theme #outerframeContainer .survey-title,
    body.mpo-tc-modern-theme #outerframeContainer .ls-survey-name,
    body.mpo-tc-modern-theme #outerframeContainer h1:first-of-type,
    body.mpo-tc-modern-theme .mpo-tc-intro-title {
        font-size: 1.45rem !important;
        line-height: 1.22 !important;
        text-wrap: auto;
    }

    body.mpo-tc-modern-theme .welcome-container,
    body.mpo-tc-modern-theme .ls-welcome,
    body.mpo-tc-modern-theme .survey-welcome,
    body.mpo-tc-modern-theme .survey-welcome-container,
    body.mpo-tc-modern-theme #welcome-container,
    body.mpo-tc-modern-theme .mpo-tc-intro-card {
        margin: .75rem auto 1.25rem auto !important;
        padding: 18px !important;
        border-radius: 18px !important;
    }

    body.mpo-tc-modern-theme .mpo-tc-intro-card::before,
    body.mpo-tc-modern-theme .welcome-container::before,
    body.mpo-tc-modern-theme .survey-welcome::before,
    body.mpo-tc-modern-theme .ls-welcome::before {
        margin: -18px -18px 1rem -18px;
    }
}


/* Sjednocení stylu názvu dotazníku s názvy tematických okruhů */
.survey-name,
.survey-title,
.ls-survey-name,
#survey-title,
body.mpo-tc-modern-theme .mpo-tc-intro-title {
    font-family: "IBM Plex Sans", "Segoe UI", Roboto, Arial, sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
}

/* -------------------------------------------------------------
   Stabilní odsazení checkboxových odpovědí při zalomení textu
   - checkbox je ukotvený k prvnímu řádku odpovědi,
   - zalomený text pokračuje ve stejné textové ose,
   - položky mají stejné pevné vnitřní odsazení i při 2 řádcích.
   ------------------------------------------------------------- */
.checkbox-item,
.answer-item.checkbox-item,
.ls-answer-option.checkbox-item,
.ls-answers .checkbox,
.ls-answers .form-check,
.list-unstyled .checkbox-item,
.multiple-opt .answer-item.checkbox-item,
.checkbox-list .answer-item.checkbox-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0 !important;
    padding-top: .04rem !important;
    padding-bottom: .04rem !important;
}

.checkbox-item label,
.answer-item.checkbox-item label,
.ls-answer-option.checkbox-item label,
.ls-answers .checkbox label,
.ls-answers .form-check-label,
.ls-answers label.checkbox-label,
.checkbox label {
    display: inline-flex !important;
    align-items: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
    line-height: 1.32 !important;
    margin-bottom: 0 !important;
}

.checkbox-item input[type="checkbox"],
.answer-item.checkbox-item input[type="checkbox"],
.ls-answer-option.checkbox-item input[type="checkbox"],
.ls-answers .checkbox input[type="checkbox"],
.ls-answers .form-check input[type="checkbox"],
.ls-answers label.checkbox-label input[type="checkbox"],
.checkbox label input[type="checkbox"] {
    flex: 0 0 18px !important;
    align-self: flex-start !important;
    margin: .12em 8px 0 0 !important;
}

/* Struktura Bootstrap .form-check: input a label jsou někdy sourozenci. */
.ls-answers .form-check > input[type="checkbox"] + label,
.ls-answers .form-check > .form-check-input + .form-check-label {
    min-width: 0 !important;
    padding-left: 0 !important;
}


/* Povinné otázky: hvězdičky se v dotazníku nemají zobrazovat. */
.question-title-container .asterisk,
.question-title-container .ls-question-mandatory,
.ls-question-text .asterisk,
.ls-question-text .ls-question-mandatory,
.question-text .asterisk,
.question-text .ls-question-mandatory,
.question-container .asterisk,
.question-container .ls-question-mandatory,
.ls-question-container .asterisk,
.ls-question-container .ls-question-mandatory,
.ls-question-mandatory,
.asterisk {
    display: none !important;
    visibility: hidden !important;
}

/* -------------------------------------------------------------
   Oprava zalamování hlavního názvu dotazníku.
   Nadpis už se nevyvažuje uměle po několika slovech; využije celou šířku řádku.
   ------------------------------------------------------------- */
body.mpo-tc-modern-theme #outerframeContainer .survey-name,
body.mpo-tc-modern-theme #outerframeContainer .survey-title,
body.mpo-tc-modern-theme #outerframeContainer .ls-survey-name,
body.mpo-tc-modern-theme #outerframeContainer h1.survey-name,
body.mpo-tc-modern-theme #outerframeContainer h1.survey-title,
body.mpo-tc-modern-theme #outerframeContainer h1.ls-survey-name,
body.mpo-tc-modern-theme #outerframeContainer .welcome-container h1,
body.mpo-tc-modern-theme #outerframeContainer .survey-welcome h1,
body.mpo-tc-modern-theme #outerframeContainer .ls-welcome h1,
body.mpo-tc-modern-theme #outerframeContainer h1:first-of-type,
body.mpo-tc-modern-theme .mpo-tc-intro-title {
    max-width: 100% !important;
    width: 100% !important;
    text-wrap: wrap !important;
    text-wrap-mode: wrap !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    -webkit-hyphens: none !important;
    -ms-hyphens: none !important;
    hyphens: none !important;
}

/* -------------------------------------------------------------
   Tlačítka Předchozí/Další blíže k tělu dotazníku.
   Vzhled zůstává stejný, upravuje se pouze svislé odsazení navigace.
   ------------------------------------------------------------- */
body.mpo-tc-modern-theme .navigator,
body.mpo-tc-modern-theme .ls-navigator,
body.mpo-tc-modern-theme .submit-buttons,
body.mpo-tc-modern-theme .ls-submitbuttons,
body.mpo-tc-modern-theme .ls-move-btn-row,
body.mpo-tc-modern-theme .group-outer-container + .navigator,
body.mpo-tc-modern-theme .group-outer-container + .ls-navigator {
    margin-top: .75rem !important;
    padding-top: .75rem !important;
}

body.mpo-tc-modern-theme .welcome-container,
body.mpo-tc-modern-theme .ls-welcome,
body.mpo-tc-modern-theme .survey-welcome,
body.mpo-tc-modern-theme .survey-welcome-container,
body.mpo-tc-modern-theme #welcome-container,
body.mpo-tc-modern-theme .mpo-tc-intro-card,
body.mpo-tc-modern-theme .question-container,
body.mpo-tc-modern-theme .ls-question-container,
body.mpo-tc-modern-theme .group-outer-container {
    margin-bottom: .9rem !important;
}
