/*
Theme Name: SVJ Astra Portal
Description: Child šablona Astra pro Společenství vlastníků Josefa Čapka 3235-36, Kladno.
Author: Společenství vlastníků Josefa Čapka 3235-36, Kladno
Template: astra
Version: 1.0.17
Requires at least: 7.1
Requires PHP: 8.3
License: GPL-2.0-or-later
Text Domain: svj-astra-portal
*/
:root{--svj-blue:#155eef;--svj-blue-dark:#0f4fd1;--svj-sky:#0ea5e9;--svj-ink:#0f172a;--svj-muted:#64748b;--svj-bg:#f5f8ff;--svj-line:#e2e8f0;--svj-focus:#f59e0b}
*{box-sizing:border-box}.svj-home{color:var(--svj-ink);background:#fff}.svj-wrap{width:min(1240px,calc(100% - 32px));margin:auto}.svj-hero{position:relative;overflow:hidden;background:var(--svj-bg)}.svj-hero:before{content:"";position:absolute;right:-160px;top:-160px;width:540px;height:540px;border-radius:50%;background:rgba(191,219,254,.48);filter:blur(55px)}.svj-hero-grid{position:relative;display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:center;min-height:660px;padding-block:80px}.svj-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid #bfdbfe;border-radius:999px;background:#fff;color:var(--svj-blue);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;box-shadow:0 2px 8px rgba(15,23,42,.05)}.svj-hero h1{max-width:760px;margin:28px 0 0;color:var(--svj-ink);font-size:clamp(48px,6vw,68px);font-weight:800;line-height:1.04;letter-spacing:-.045em}.svj-hero h1 span{display:block;color:var(--svj-blue)}.svj-lead{max-width:700px;margin:28px 0 0;color:var(--svj-muted);font-size:18px;line-height:1.8}.svj-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.svj-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:1px solid var(--svj-blue);border-radius:9px;background:var(--svj-blue);color:#fff!important;text-decoration:none!important;font-weight:800;line-height:1.2;transition:.2s ease}.svj-btn:visited{color:#fff!important}.svj-btn:hover,.svj-btn:focus-visible,.svj-btn:active{border-color:var(--svj-blue-dark);background:var(--svj-blue-dark);color:#fff!important}.svj-btn-light{border-color:#cbd5e1;background:#fff;color:#1e293b!important}.svj-btn-light:visited{color:#1e293b!important}.svj-btn-light:hover,.svj-btn-light:focus-visible,.svj-btn-light:active{border-color:#93c5fd;background:#eff6ff;color:var(--svj-blue-dark)!important}.svj-checks{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:30px;color:#475569;font-size:14px;font-weight:650}.svj-checks span:before{content:"✓";display:inline-grid;place-items:center;margin-right:8px;color:#059669;font-size:18px;font-weight:900}.svj-house-panel{padding:24px;border:1px solid #dbeafe;border-radius:30px;background:#fff;box-shadow:0 35px 90px rgba(38,85,170,.16)}.svj-house-main{padding:28px;border-radius:20px;background:linear-gradient(135deg,var(--svj-blue),var(--svj-sky));color:#fff}.svj-house-head{display:flex;justify-content:space-between;gap:20px}.svj-house-main small{color:#dbeafe;font-weight:800;text-transform:uppercase;letter-spacing:.18em}.svj-house-main strong{display:block;margin-top:7px;font-size:40px}.svj-house-main p{margin:3px 0 0;color:#dbeafe}.svj-house-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.15);font-size:24px;font-weight:900}.svj-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:34px}.svj-metric{padding:16px;border:1px solid rgba(255,255,255,.17);border-radius:12px;background:rgba(255,255,255,.1)}.svj-metric b{display:block;font-size:25px}.svj-metric span{color:#dbeafe;font-size:12px}.svj-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.svj-status{padding:17px;border:1px solid var(--svj-line);border-radius:12px;background:#f8fafc}.svj-status small{display:block;color:#64748b;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.svj-status b{display:block;margin-top:5px;color:var(--svj-ink)}.svj-section{padding:82px 0}.svj-section-alt{background:#f8fafc;border-block:1px solid var(--svj-line)}.svj-heading{text-align:center;max-width:760px;margin:auto}.svj-heading-left{text-align:left;margin:0}.svj-eyebrow{color:var(--svj-blue);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.18em}.svj-heading h2{margin:10px 0 0;color:var(--svj-ink);font-size:clamp(32px,4vw,44px);font-weight:800;line-height:1.18}.svj-heading p{margin:16px 0 0;color:var(--svj-muted);line-height:1.75}.svj-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:44px}.svj-card{display:block;padding:26px;border:1px solid var(--svj-line);border-radius:18px;background:#fff;color:var(--svj-ink)!important;text-decoration:none!important;box-shadow:0 3px 14px rgba(15,23,42,.05);transition:.2s ease}.svj-card:visited{color:var(--svj-ink)!important}.svj-card:hover,.svj-card:focus-visible,.svj-card:active{transform:translateY(-4px);border-color:#bfdbfe;color:var(--svj-ink)!important;box-shadow:0 18px 38px rgba(37,99,235,.12)}.svj-card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#eff6ff;color:var(--svj-blue);font-size:20px;font-weight:900}.svj-card:nth-child(2) .svj-card-icon{background:#fffbeb;color:#b45309}.svj-card:nth-child(3) .svj-card-icon{background:#ecfdf5;color:#047857}.svj-card:nth-child(4) .svj-card-icon{background:#f5f3ff;color:#6d28d9}.svj-card h3{margin:20px 0 7px;color:var(--svj-ink);font-size:18px;font-weight:800}.svj-card p{margin:0;color:var(--svj-muted);font-size:14px;line-height:1.75}.svj-card-more{display:block;margin-top:18px;color:var(--svj-blue);font-size:14px;font-weight:800}.svj-latest-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:start}.svj-updates{display:grid;gap:14px;margin-top:30px}.svj-update{display:flex;gap:16px;padding:20px;border:1px solid var(--svj-line);border-radius:16px;background:#fff;color:var(--svj-ink)!important;text-decoration:none!important;box-shadow:0 2px 10px rgba(15,23,42,.04)}.svj-update:hover,.svj-update:focus-visible{border-color:#bfdbfe;box-shadow:0 8px 22px rgba(37,99,235,.08)}.svj-update-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:12px;background:#eff6ff;color:var(--svj-blue);font-weight:900}.svj-update small{color:var(--svj-blue);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.svj-update b{display:block;margin-top:3px}.svj-update p{margin:4px 0 0;color:var(--svj-muted);font-size:14px}.svj-report{padding:34px;border-radius:28px;background:#0f172a;color:#fff;box-shadow:0 16px 38px rgba(15,23,42,.18)}.svj-report-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--svj-blue);font-weight:900}.svj-report h2{margin:24px 0 0;color:#fff;font-size:31px}.svj-report p{margin:14px 0 0;color:#cbd5e1;line-height:1.75}.svj-report .svj-btn{margin-top:24px;border-color:#fff;background:#fff;color:#0f172a!important}.svj-report .svj-btn:hover{background:#eff6ff;color:var(--svj-blue-dark)!important}.svj-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.svj-contact{display:flex;gap:16px;padding:24px;border:1px solid var(--svj-line);border-radius:17px;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.04)}.svj-contact-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:12px;background:#eff6ff;color:var(--svj-blue);font-weight:900}.svj-contact b{display:block}.svj-contact p{margin:6px 0 0;color:var(--svj-muted);font-size:14px}.svj-page{padding:54px 0 82px;background:#f8fafc}.svj-content{padding:clamp(24px,4vw,46px);border:1px solid var(--svj-line);border-radius:19px;background:#fff;box-shadow:0 5px 24px rgba(15,23,42,.05)}.svj-content h1{color:var(--svj-ink)}.svj-footer{padding:30px 0;background:#0f172a;color:#94a3b8;font-size:13px}.svj-footer-row{display:flex;justify-content:space-between;gap:20px}.svj-footer a{color:#cbd5e1}.svj-footer a:hover,.svj-footer a:focus-visible{color:#fff}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--svj-focus);outline-offset:3px}.svj-content form,.svj-form,.svj-dashboard form{display:grid;gap:0;max-width:720px}.svj-content form p,.svj-form p,.svj-dashboard form p{margin:0 0 22px}.svj-content form label,.svj-form label,.svj-dashboard form label{display:block;margin:0 0 9px;color:#334155;font-weight:750}.svj-content input:not([type=checkbox]):not([type=radio]):not([type=submit]),.svj-content select,.svj-content textarea,.svj-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),.svj-form select,.svj-form textarea,.svj-dashboard input:not([type=checkbox]):not([type=radio]):not([type=submit]),.svj-dashboard select,.svj-dashboard textarea{width:100%;min-height:50px;margin:0;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;font:inherit}.svj-content textarea,.svj-form textarea,.svj-dashboard textarea{min-height:150px;resize:vertical}.svj-content input:focus,.svj-content select:focus,.svj-content textarea:focus,.svj-form input:focus,.svj-form select:focus,.svj-form textarea:focus,.svj-dashboard input:focus,.svj-dashboard select:focus,.svj-dashboard textarea:focus{border-color:var(--svj-blue);outline:3px solid rgba(21,94,239,.18);outline-offset:2px}.svj-content input[type=submit],.svj-form button,.svj-form input[type=submit],.svj-dashboard input[type=submit]{min-height:48px;padding:12px 22px;border:1px solid var(--svj-blue);border-radius:9px;background:var(--svj-blue);color:#fff;font:inherit;font-weight:800;cursor:pointer}.svj-content input[type=submit]:hover,.svj-form button:hover,.svj-dashboard input[type=submit]:hover{background:var(--svj-blue-dark)}
@media(max-width:980px){.svj-hero-grid,.svj-latest-grid{grid-template-columns:1fr}.svj-house-panel{max-width:650px}.svj-feature-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.svj-hero-grid{min-height:auto;padding-block:56px}.svj-hero h1{font-size:43px}.svj-actions{flex-direction:column;align-items:stretch}.svj-feature-grid,.svj-contact-grid,.svj-status-grid{grid-template-columns:1fr}.svj-footer-row{flex-direction:column}.svj-content form p,.svj-form p,.svj-dashboard form p{margin-bottom:19px}.svj-content input:not([type=checkbox]):not([type=radio]):not([type=submit]),.svj-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),.svj-dashboard input:not([type=checkbox]):not([type=radio]):not([type=submit]){font-size:16px;min-height:52px}}

.svj-site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--svj-line);background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}.svj-site-header-row{display:flex;align-items:center;min-height:80px;gap:20px}.svj-brand{display:flex;align-items:center;gap:12px;text-decoration:none!important}.svj-brand-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--svj-blue);color:#fff;font-weight:900;box-shadow:0 8px 22px rgba(21,94,239,.18)}.svj-brand strong,.svj-brand small{display:block;line-height:1.2}.svj-brand strong{color:var(--svj-ink)}.svj-brand small{padding-top:4px;color:#64748b;font-size:12px}.svj-nav{margin-left:auto;display:flex;align-items:center;gap:5px}.svj-nav a{padding:10px 13px;border-radius:8px;color:#475569!important;text-decoration:none!important;font-size:14px;font-weight:700}.svj-nav a:hover,.svj-nav a:focus-visible{background:#f1f5f9;color:var(--svj-blue)!important}.svj-nav .svj-header-btn{margin-left:8px;padding:12px 20px;background:var(--svj-blue);color:#fff!important}.svj-nav .svj-header-btn:hover,.svj-nav .svj-header-btn:focus-visible{background:var(--svj-blue-dark);color:#fff!important}@media(max-width:820px){.svj-nav>a:not(.svj-header-btn){display:none}.svj-brand small{display:none}.svj-nav .svj-header-btn{padding-inline:14px}}

/* Celková kontrola rozestupů a čitelnosti - verze 1.0.1 */

/* Záhlaví a hlavní odkazy */
.svj-site-header-row {
    column-gap: 32px;
}
.svj-nav {
    gap: 10px;
}
.svj-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 16px;
    line-height: 1.35;
    white-space: nowrap;
}
.svj-nav .svj-header-btn {
    margin-left: 8px;
    padding-inline: 21px;
}

/* Úvodní tlačítka a kontrolní body */
.svj-actions {
    gap: 16px;
}
.svj-checks {
    column-gap: 30px;
    row-gap: 14px;
}
.svj-checks span {
    display: inline-flex;
    align-items: center;
    line-height: 1.5;
}

/* Informační panel a statistiky */
.svj-house-main {
    padding: 30px;
}
.svj-house-main small,
.svj-house-main strong,
.svj-house-main p {
    line-height: 1.35;
}
.svj-house-main strong {
    margin-top: 11px;
}
.svj-house-main p {
    margin-top: 8px;
}
.svj-metrics {
    gap: 16px;
    margin-top: 38px;
}
.svj-metric {
    min-height: 100px;
    padding: 19px;
}
.svj-metric b {
    display: block;
    margin: 0;
    font-size: 29px;
    line-height: 1.1;
}
.svj-metric span {
    display: block;
    margin-top: 10px;
    line-height: 1.45;
}
.svj-status-grid {
    gap: 16px;
    margin-top: 20px;
}
.svj-status {
    min-height: 105px;
    padding: 20px;
}
.svj-status small {
    line-height: 1.45;
}
.svj-status b {
    margin-top: 10px;
    line-height: 1.45;
}

/* Nadpisy, karty a odkazy uvnitř karet */
.svj-heading h2 {
    margin-top: 14px;
}
.svj-heading p {
    margin-top: 20px;
}
.svj-feature-grid {
    gap: 26px;
    margin-top: 48px;
}
.svj-card {
    min-height: 310px;
    padding: 28px;
}
.svj-card h3 {
    margin-top: 24px;
    margin-bottom: 12px;
    line-height: 1.35;
}
.svj-card p {
    line-height: 1.8;
}
.svj-card-more {
    margin-top: 22px;
    line-height: 1.4;
}

/* Aktuality */
.svj-updates {
    gap: 18px;
    margin-top: 34px;
}
.svj-update {
    gap: 20px;
    padding: 22px;
}
.svj-update small {
    display: block;
    line-height: 1.45;
}
.svj-update b {
    margin-top: 7px;
    line-height: 1.45;
}
.svj-update p {
    margin-top: 8px;
    line-height: 1.7;
}

/* Hlášení a kontakty */
.svj-report {
    padding: 38px;
}
.svj-report h2 {
    margin-top: 28px;
    line-height: 1.25;
}
.svj-report p {
    margin-top: 18px;
}
.svj-report .svj-btn {
    margin-top: 28px;
}
.svj-contact-grid {
    gap: 26px;
}
.svj-contact {
    gap: 20px;
    padding: 27px;
}
.svj-contact b {
    line-height: 1.4;
}
.svj-contact p {
    margin-top: 10px;
    line-height: 1.65;
}

/* Běžné stránky a formuláře */
.svj-content h1 {
    margin-bottom: 30px;
    line-height: 1.2;
}
.svj-content form,
.svj-form,
.svj-dashboard form {
    row-gap: 0;
}
.svj-content form p,
.svj-form p,
.svj-dashboard form p {
    margin-bottom: 25px;
}
.svj-content form label,
.svj-form label,
.svj-dashboard form label {
    margin-bottom: 11px;
    line-height: 1.5;
}
.svj-content input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.svj-content select,
.svj-content textarea,
.svj-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.svj-form select,
.svj-form textarea,
.svj-dashboard input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.svj-dashboard select,
.svj-dashboard textarea {
    padding: 13px 15px;
    line-height: 1.5;
}
.svj-content input[type=submit],
.svj-form button,
.svj-form input[type=submit],
.svj-dashboard input[type=submit] {
    margin-top: 5px;
}

/* Zápatí */
.svj-footer-row {
    align-items: center;
    gap: 28px;
}
.svj-footer-row span:last-child {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
}

@media (max-width: 980px) {
    .svj-card { min-height: 270px; }
}

@media (max-width: 820px) {
    .svj-site-header-row { column-gap: 18px; }
    .svj-nav { gap: 0; }
    .svj-nav .svj-header-btn { margin-left: 0; }
}

@media (max-width: 680px) {
    .svj-house-panel { padding: 18px; }
    .svj-house-main { padding: 23px; }
    .svj-metrics { gap: 12px; }
    .svj-metric { min-height: 94px; padding: 16px; }
    .svj-metric span { margin-top: 8px; }
    .svj-status { min-height: 0; }
    .svj-card { min-height: 0; padding: 24px; }
    .svj-update { gap: 15px; padding: 18px; }
    .svj-report { padding: 28px; }
    .svj-contact { padding: 22px; }
    .svj-content form p,
    .svj-form p,
    .svj-dashboard form p { margin-bottom: 21px; }
    .svj-footer-row { align-items: flex-start; }
}


/* Kontrola textů a zalamování - verze 1.0.2 */
.svj-heading .svj-heading-one-line {
    max-width: none;
    font-size: clamp(30px, 3.1vw, 42px);
    letter-spacing: -0.025em;
    line-height: 1.22;
    text-wrap: balance;
}

@media (min-width: 1024px) {
    .svj-heading .svj-heading-one-line {
        white-space: nowrap;
    }
}

/* Bezpečné zalamování ostatních textů */
.svj-hero h1,
.svj-heading h2,
.svj-report h2,
.svj-card h3,
.svj-update b,
.svj-status b,
.svj-contact b {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.svj-card p,
.svj-update p,
.svj-report p,
.svj-contact p,
.svj-lead {
    text-wrap: pretty;
}

@media (max-width: 1023px) {
    .svj-heading .svj-heading-one-line {
        white-space: normal;
        text-wrap: balance;
    }
}


/* Kompletní vzhled členského přehledu a statistik - verze 1.0.3 */
.svj-dashboard {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.svj-dashboard > div {
    min-width: 0;
}

.svj-dashboard section {
    margin: 0 0 42px;
    scroll-margin-top: 105px;
}

.svj-dashboard section:last-of-type {
    margin-bottom: 30px;
}

.svj-dashboard h2 {
    margin: 0 0 24px;
    color: var(--svj-ink);
    font-size: clamp(26px, 3vw, 34px);
    line-height: 1.25;
}

.svj-side {
    position: sticky;
    top: 104px;
    display: grid;
    gap: 8px;
    padding: 16px;
    border: 1px solid var(--svj-line);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 4px 18px rgba(15,23,42,.05);
}

.svj-side a {
    display: block;
    min-height: 44px;
    padding: 11px 13px;
    border-radius: 9px;
    color: #334155 !important;
    text-decoration: none !important;
    font-weight: 750;
    line-height: 1.45;
}

.svj-side a:hover,
.svj-side a:focus-visible,
.svj-side a:active {
    background: #eff6ff;
    color: var(--svj-blue) !important;
}

.svj-dashboard .svj-status {
    min-height: 0;
    margin: 0 0 26px;
    padding: 20px 22px;
    border: 1px solid #bfdbfe;
    border-radius: 14px;
    background: #eff6ff;
    color: #334155;
    line-height: 1.7;
}

.svj-dashboard .svj-status strong {
    display: block;
    margin-bottom: 7px;
    color: var(--svj-ink);
    line-height: 1.4;
}

.svj-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0 0 42px;
}

.svj-stat {
    min-width: 0;
    min-height: 126px;
    padding: 22px;
    border: 1px solid var(--svj-line);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(15,23,42,.05);
}

.svj-stat b,
.svj-stat strong {
    display: block;
    margin: 0;
    color: var(--svj-ink);
    font-size: 32px;
    font-weight: 850;
    line-height: 1;
}

.svj-stat small,
.svj-stat span {
    display: block;
    margin-top: 15px;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    overflow-wrap: normal;
    word-break: normal;
}

.svj-list {
    display: grid;
    gap: 15px;
}

.svj-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    padding: 20px;
    border: 1px solid var(--svj-line);
    border-radius: 14px;
    background: #ffffff;
    color: var(--svj-ink) !important;
    text-decoration: none !important;
    line-height: 1.55;
}

.svj-item:hover,
.svj-item:focus-visible,
.svj-item:active {
    border-color: #bfdbfe;
    background: #f8fbff;
    color: var(--svj-ink) !important;
}

.svj-item strong {
    display: inline-block;
    margin-bottom: 7px;
    line-height: 1.45;
}

.svj-item small {
    display: block;
    color: #64748b;
    line-height: 1.65;
}

.svj-pill {
    display: inline-block;
    margin: 0 7px 7px 0;
    padding: 5px 9px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
}

@media (max-width: 1000px) {
    .svj-dashboard {
        grid-template-columns: 1fr;
    }
    .svj-side {
        position: static;
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .svj-side a {
        text-align: center;
    }
    .svj-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .svj-dashboard {
        gap: 22px;
    }
    .svj-side {
        grid-template-columns: 1fr 1fr;
        gap: 7px;
        padding: 12px;
    }
    .svj-side a {
        text-align: left;
    }
    .svj-stats {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        margin-bottom: 34px;
    }
    .svj-stat {
        min-height: 112px;
        padding: 18px;
    }
    .svj-stat b,
    .svj-stat strong {
        font-size: 29px;
    }
    .svj-stat small,
    .svj-stat span {
        margin-top: 12px;
    }
    .svj-item {
        flex-direction: column;
        gap: 14px;
        padding: 18px;
    }
}

@media (max-width: 420px) {
    .svj-stats {
        grid-template-columns: 1fr;
    }
    .svj-stat {
        min-height: 0;
    }
}


/* Kontrast a čitelnost všech formulářů - verze 1.0.4 */
.svj-form,
.svj-dashboard form,
.svj-content form {
    color: #0f172a;
}

.svj-form label,
.svj-dashboard form label,
.svj-content form label,
.svj-form .form-label,
.svj-dashboard form .form-label,
.svj-content form .form-label {
    display: block;
    margin: 0 0 11px;
    color: #0f172a !important;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.5;
    opacity: 1 !important;
    text-shadow: none !important;
}

.svj-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.svj-form select,
.svj-form textarea,
.svj-dashboard form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.svj-dashboard form select,
.svj-dashboard form textarea,
.svj-content form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.svj-content form select,
.svj-content form textarea {
    border-color: #94a3b8;
    background: #ffffff !important;
    color: #0f172a !important;
    caret-color: #0f172a;
    opacity: 1 !important;
    -webkit-text-fill-color: #0f172a;
}

.svj-form input::placeholder,
.svj-form textarea::placeholder,
.svj-dashboard form input::placeholder,
.svj-dashboard form textarea::placeholder,
.svj-content form input::placeholder,
.svj-content form textarea::placeholder {
    color: #475569 !important;
    opacity: 1 !important;
}

.svj-form select option,
.svj-dashboard form select option,
.svj-content form select option {
    background: #ffffff;
    color: #0f172a;
}

.svj-form small,
.svj-form .description,
.svj-form .help-text,
.svj-dashboard form small,
.svj-dashboard form .description,
.svj-dashboard form .help-text,
.svj-content form small,
.svj-content form .description,
.svj-content form .help-text {
    display: block;
    margin-top: 8px;
    color: #475569 !important;
    font-size: 13px;
    line-height: 1.6;
    opacity: 1 !important;
}

.svj-form input:focus,
.svj-form select:focus,
.svj-form textarea:focus,
.svj-dashboard form input:focus,
.svj-dashboard form select:focus,
.svj-dashboard form textarea:focus,
.svj-content form input:focus,
.svj-content form select:focus,
.svj-content form textarea:focus {
    border-color: #155eef !important;
    background: #ffffff !important;
    color: #0f172a !important;
    outline: 3px solid rgba(21,94,239,.22) !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 1px #155eef;
}

.svj-form button,
.svj-form input[type=submit],
.svj-dashboard form button,
.svj-dashboard form input[type=submit],
.svj-content form button,
.svj-content form input[type=submit] {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
}

.svj-form button:hover,
.svj-form button:focus-visible,
.svj-form input[type=submit]:hover,
.svj-form input[type=submit]:focus-visible,
.svj-dashboard form button:hover,
.svj-dashboard form button:focus-visible,
.svj-dashboard form input[type=submit]:hover,
.svj-dashboard form input[type=submit]:focus-visible,
.svj-content form button:hover,
.svj-content form button:focus-visible,
.svj-content form input[type=submit]:hover,
.svj-content form input[type=submit]:focus-visible {
    background: #0f4fd1;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
}

/* Ochrana proti barevným pravidlům z rodičovské šablony a pluginů */
.svj-dashboard #zavady,
.svj-dashboard #zavady form,
.svj-dashboard #zavady form p,
.svj-dashboard #zavady form div {
    color: #0f172a;
}

.svj-dashboard #zavady h2 {
    color: #0f172a !important;
}

@media (prefers-contrast: more) {
    .svj-form label,
    .svj-dashboard form label,
    .svj-content form label {
        color: #000000 !important;
    }
    .svj-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
    .svj-form select,
    .svj-form textarea,
    .svj-dashboard form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
    .svj-dashboard form select,
    .svj-dashboard form textarea {
        border-color: #334155;
    }
}


/* Výrazné a dobře rozpoznatelné vyplňovací pole - verze 1.0.5 */
.svj-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.svj-form select,
.svj-form textarea,
.svj-dashboard form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.svj-dashboard form select,
.svj-dashboard form textarea,
.svj-content form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.svj-content form select,
.svj-content form textarea {
    min-height: 52px;
    padding: 13px 15px;
    border: 2px solid #64748b !important;
    border-radius: 10px;
    background: #f1f5f9 !important;
    color: #0f172a !important;
    caret-color: #0f172a;
    box-shadow: inset 0 1px 3px rgba(15,23,42,.12), 0 1px 2px rgba(15,23,42,.05) !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #0f172a;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.svj-form textarea,
.svj-dashboard form textarea,
.svj-content form textarea {
    min-height: 160px;
}

.svj-form input:hover,
.svj-form select:hover,
.svj-form textarea:hover,
.svj-dashboard form input:hover,
.svj-dashboard form select:hover,
.svj-dashboard form textarea:hover,
.svj-content form input:hover,
.svj-content form select:hover,
.svj-content form textarea:hover {
    border-color: #334155 !important;
    background: #ffffff !important;
}

.svj-form input:focus,
.svj-form select:focus,
.svj-form textarea:focus,
.svj-dashboard form input:focus,
.svj-dashboard form select:focus,
.svj-dashboard form textarea:focus,
.svj-content form input:focus,
.svj-content form select:focus,
.svj-content form textarea:focus {
    border-color: #155eef !important;
    background: #ffffff !important;
    outline: 3px solid rgba(21,94,239,.25) !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 1px #155eef, inset 0 1px 2px rgba(15,23,42,.06) !important;
}

.svj-form input:disabled,
.svj-form select:disabled,
.svj-form textarea:disabled,
.svj-dashboard form input:disabled,
.svj-dashboard form select:disabled,
.svj-dashboard form textarea:disabled,
.svj-content form input:disabled,
.svj-content form select:disabled,
.svj-content form textarea:disabled {
    border-color: #cbd5e1 !important;
    background: #e2e8f0 !important;
    color: #475569 !important;
    opacity: 1 !important;
}

/* Zaškrtávací a přepínací pole */
.svj-form input[type="checkbox"],
.svj-form input[type="radio"],
.svj-dashboard form input[type="checkbox"],
.svj-dashboard form input[type="radio"],
.svj-content form input[type="checkbox"],
.svj-content form input[type="radio"] {
    width: 20px;
    height: 20px;
    margin: 0 9px 0 0;
    accent-color: #155eef;
    vertical-align: middle;
}

@media (max-width: 680px) {
    .svj-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    .svj-form select,
    .svj-form textarea,
    .svj-dashboard form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    .svj-dashboard form select,
    .svj-dashboard form textarea,
    .svj-content form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    .svj-content form select,
    .svj-content form textarea {
        min-height: 54px;
        font-size: 16px;
    }
}


/* Odhlášení v horní plovoucí liště - verze 1.0.6 */
.svj-nav .svj-logout-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-left: 3px;
    padding: 10px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #334155 !important;
    font-weight: 750;
    line-height: 1.35;
    white-space: nowrap;
}

.svj-nav .svj-logout-btn:hover,
.svj-nav .svj-logout-btn:focus-visible,
.svj-nav .svj-logout-btn:active {
    border-color: #fca5a5;
    background: #fef2f2;
    color: #b91c1c !important;
}

/* Plugin původně přidává odhlášení na konec členského přehledu */
.svj-dashboard a[href*="action=logout"] {
    display: none !important;
}

.svj-dashboard p:has(> a[href*="action=logout"]) {
    display: none !important;
    margin: 0 !important;
}

@media (max-width: 820px) {
    .svj-nav .svj-logout-btn {
        margin-left: 5px;
        padding-inline: 12px;
        font-size: 13px;
    }
}

@media (max-width: 560px) {
    .svj-site-header-row {
        flex-wrap: wrap;
        padding-block: 10px;
    }
    .svj-nav {
        width: 100%;
        justify-content: flex-end;
    }
    .svj-nav .svj-header-btn,
    .svj-nav .svj-logout-btn {
        flex: 1 1 auto;
        margin-left: 0;
        text-align: center;
    }
}


/* Závěrečná kontrola odkazů, mobilního záhlaví a administrátorské lišty - verze 1.0.7 */
body.admin-bar .svj-site-header {
    top: 32px;
}

/* Původní mobilní pravidlo skrývá běžné odkazy, ale odhlášení musí zůstat viditelné */
@media (max-width: 820px) {
    .svj-nav > .svj-logout-btn {
        display: inline-flex !important;
    }
}

@media screen and (max-width: 782px) {
    body.admin-bar .svj-site-header {
        top: 46px;
    }
}

@media (max-width: 560px) {
    .svj-site-header-row {
        row-gap: 10px;
    }
    .svj-nav .svj-header-btn,
    .svj-nav .svj-logout-btn {
        min-width: 0;
        min-height: 44px;
        white-space: normal;
        line-height: 1.35;
    }
}

/* Zápatí zobrazí pouze odkazy na skutečně existující stránky */
.svj-footer-row span:last-child:empty {
    display: none;
}


/* Skutečné přepínání sekcí členského portálu - verze 1.0.8 */
.svj-tabs-ready section[hidden] {
    display: none !important;
}

.svj-tabs-ready section.is-active {
    display: block;
    animation: svj-tab-enter .18s ease-out;
}

.svj-side a.is-active,
.svj-side a[aria-selected="true"] {
    background: #155eef;
    color: #ffffff !important;
    box-shadow: 0 5px 14px rgba(21,94,239,.2);
}

.svj-side a.is-active:hover,
.svj-side a.is-active:focus-visible,
.svj-side a[aria-selected="true"]:hover,
.svj-side a[aria-selected="true"]:focus-visible {
    background: #0f4fd1;
    color: #ffffff !important;
}

@keyframes svj-tab-enter {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .svj-tabs-ready section.is-active {
        animation: none;
    }
}


/* Odstranění rámečku kolem celé přepnuté sekce - verze 1.0.10 */
.svj-tabs-ready section[role="tabpanel"],
.svj-tabs-ready section[role="tabpanel"]:focus,
.svj-tabs-ready section[role="tabpanel"]:focus-visible {
    outline: none !important;
    box-shadow: none;
}

/* Fokus zůstává viditelný pouze na skutečně ovladatelných prvcích */
.svj-tabs-ready section[role="tabpanel"] a:focus-visible,
.svj-tabs-ready section[role="tabpanel"] button:focus-visible,
.svj-tabs-ready section[role="tabpanel"] input:focus-visible,
.svj-tabs-ready section[role="tabpanel"] select:focus-visible,
.svj-tabs-ready section[role="tabpanel"] textarea:focus-visible {
    outline: 3px solid var(--svj-focus);
    outline-offset: 3px;
}


/* Jemnější ohraničení vyplňovacích polí - verze 1.0.12 */
.svj-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.svj-form select,
.svj-form textarea,
.svj-dashboard form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.svj-dashboard form select,
.svj-dashboard form textarea,
.svj-content form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.svj-content form select,
.svj-content form textarea {
    border: 1.5px solid #a8b6c8 !important;
    background: #f8fafc !important;
    box-shadow: inset 0 1px 2px rgba(15,23,42,.055), 0 1px 2px rgba(15,23,42,.025) !important;
}

.svj-form input:hover,
.svj-form select:hover,
.svj-form textarea:hover,
.svj-dashboard form input:hover,
.svj-dashboard form select:hover,
.svj-dashboard form textarea:hover,
.svj-content form input:hover,
.svj-content form select:hover,
.svj-content form textarea:hover {
    border-color: #7c8fa8 !important;
    background: #ffffff !important;
}

.svj-form input:focus,
.svj-form select:focus,
.svj-form textarea:focus,
.svj-dashboard form input:focus,
.svj-dashboard form select:focus,
.svj-dashboard form textarea:focus,
.svj-content form input:focus,
.svj-content form select:focus,
.svj-content form textarea:focus {
    border-color: #3772e8 !important;
    background: #ffffff !important;
    outline: 3px solid rgba(55,114,232,.16) !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 1px rgba(55,114,232,.3), inset 0 1px 2px rgba(15,23,42,.035) !important;
}


/* Integrace bbPress - verze 1.0.13 */
.svj-bbpress-panel{min-width:0}.svj-bbpress-heading{margin-bottom:28px}.svj-bbpress-heading h2{margin:10px 0 0}.svj-bbpress-heading p{margin:14px 0 0;color:#64748b;line-height:1.7}.svj-bbpress-tools{margin-bottom:24px}.svj-bbpress-new-topic{margin-top:28px;border:1px solid #dbe3ee;border-radius:14px;background:#fff}.svj-bbpress-new-topic summary{padding:16px 18px;color:#155eef;font-weight:800;cursor:pointer}.svj-bbpress-new-topic>div{padding:0 18px 20px}.svj-bbpress-unavailable{padding:24px;border:1px solid #fde68a;border-radius:14px;background:#fffbeb}
#bbpress-forums{color:#0f172a;font-size:15px}#bbpress-forums ul,#bbpress-forums li{list-style:none}#bbpress-forums ul.bbp-forums,#bbpress-forums ul.bbp-topics,#bbpress-forums ul.bbp-replies{overflow:hidden;margin:0 0 22px;border:1px solid #dbe3ee;border-radius:14px;background:#fff}#bbpress-forums li.bbp-header,#bbpress-forums li.bbp-footer{padding:14px 16px;border-color:#dbe3ee;background:#f1f5f9;color:#334155;font-weight:800}#bbpress-forums li.bbp-body ul.forum,#bbpress-forums li.bbp-body ul.topic,#bbpress-forums li.bbp-body div.hentry{padding:17px 16px;border-color:#e2e8f0;background:#fff}#bbpress-forums a{color:#155eef;text-decoration:none}#bbpress-forums a:hover,#bbpress-forums a:focus-visible{color:#0f4fd1;text-decoration:underline}#bbpress-forums .bbp-forum-title,#bbpress-forums .bbp-topic-permalink{font-weight:800}#bbpress-forums .bbp-forum-content,#bbpress-forums .bbp-topic-meta,#bbpress-forums .bbp-reply-post-date{color:#64748b;line-height:1.6}#bbpress-forums fieldset.bbp-form{margin:0 0 22px;padding:22px;border:1px solid #dbe3ee;border-radius:14px;background:#fff}#bbpress-forums fieldset.bbp-form legend{padding:0 8px;color:#0f172a;font-weight:800}#bbpress-forums label{display:block;margin-bottom:9px;color:#0f172a;font-weight:800}#bbpress-forums input[type="text"],#bbpress-forums input[type="search"],#bbpress-forums input[type="email"],#bbpress-forums input[type="url"],#bbpress-forums select,#bbpress-forums textarea{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid #a8b6c8;border-radius:10px;background:#f8fafc;color:#0f172a;font:inherit}#bbpress-forums textarea{min-height:170px;resize:vertical}#bbpress-forums input:focus,#bbpress-forums select:focus,#bbpress-forums textarea:focus{border-color:#3772e8;background:#fff;outline:3px solid rgba(55,114,232,.16);outline-offset:2px}#bbpress-forums button,#bbpress-forums input[type="submit"]{min-height:46px;padding:11px 20px;border:1px solid #155eef;border-radius:9px;background:#155eef;color:#fff;font-weight:800;cursor:pointer}#bbpress-forums button:hover,#bbpress-forums button:focus-visible,#bbpress-forums input[type="submit"]:hover,#bbpress-forums input[type="submit"]:focus-visible{background:#0f4fd1}#bbpress-forums .bbp-template-notice,#bbpress-forums .bbp-template-notice.info{margin:0 0 20px;padding:14px 16px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#334155}
@media(max-width:1000px){.svj-side{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:680px){#bbpress-forums li.bbp-header,#bbpress-forums li.bbp-footer,#bbpress-forums li.bbp-body ul.forum,#bbpress-forums li.bbp-body ul.topic,#bbpress-forums li.bbp-body div.hentry{padding:14px 12px}#bbpress-forums .bbp-forum-topic-count,#bbpress-forums .bbp-forum-reply-count,#bbpress-forums .bbp-topic-voice-count,#bbpress-forums .bbp-topic-reply-count{display:none}.svj-side{grid-template-columns:1fr 1fr}}


/* Oprava umístění sekce Diskuse v pravém obsahovém sloupci - verze 1.0.14 */
.svj-dashboard > .svj-side { grid-column: 1; }
.svj-dashboard > :not(.svj-side) { min-width: 0; grid-column: 2; }
.svj-dashboard > :not(.svj-side) > section { width: 100%; min-width: 0; }
.svj-dashboard .svj-bbpress-panel { width: 100%; max-width: 100%; }
@media(max-width:1000px){.svj-dashboard > .svj-side,.svj-dashboard > :not(.svj-side){grid-column:1}.svj-side{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.svj-side{grid-template-columns:1fr 1fr}}


/* Celkové rozestupy bbPress - verze 1.0.15 */
.svj-bbpress-panel #bbpress-forums {
    line-height: 1.65;
}

.svj-bbpress-tools {
    margin: 0 0 30px;
}

.svj-bbpress-tools form,
#bbpress-forums form {
    display: block;
    max-width: none;
}

.svj-bbpress-tools form p,
#bbpress-forums form p,
#bbpress-forums fieldset.bbp-form p {
    margin: 0 0 24px;
}

.svj-bbpress-tools form p:last-child,
#bbpress-forums form p:last-child,
#bbpress-forums fieldset.bbp-form p:last-child {
    margin-bottom: 0;
}

.svj-bbpress-tools label,
#bbpress-forums label {
    display: block;
    margin: 0 0 11px;
    line-height: 1.5;
}

.svj-bbpress-tools input[type="search"],
.svj-bbpress-tools input[type="text"],
#bbpress-forums input[type="text"],
#bbpress-forums input[type="search"],
#bbpress-forums input[type="email"],
#bbpress-forums input[type="url"],
#bbpress-forums select,
#bbpress-forums textarea {
    margin: 0;
}

.svj-bbpress-tools input[type="search"],
.svj-bbpress-tools input[type="text"] {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    border: 1.5px solid #a8b6c8;
    border-radius: 10px;
    background: #f8fafc;
    color: #0f172a;
    font: inherit;
}

.svj-bbpress-tools button,
.svj-bbpress-tools input[type="submit"] {
    min-height: 46px;
    margin-top: 14px;
    padding: 11px 20px;
    border: 1px solid #155eef;
    border-radius: 9px;
    background: #155eef;
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}

#bbpress-forums fieldset.bbp-form {
    margin: 0 0 30px;
    padding: 26px;
}

#bbpress-forums fieldset.bbp-form legend {
    margin-bottom: 10px;
}

#bbpress-forums .bbp-submit-wrapper {
    float: none;
    clear: both;
    margin: 28px 0 0;
    text-align: left;
}

#bbpress-forums .bbp-submit-wrapper button,
#bbpress-forums .bbp-submit-wrapper input[type="submit"] {
    margin: 0;
}

#bbpress-forums .bbp-the-content-wrapper {
    margin: 4px 0 24px;
}

#bbpress-forums .bbp-the-content-wrapper textarea.bbp-the-content {
    margin: 0;
}

#bbpress-forums .quicktags-toolbar,
#bbpress-forums .wp-editor-tools,
#bbpress-forums .mce-toolbar-grp {
    margin-bottom: 8px;
}

#bbpress-forums .bbp-form select,
#bbpress-forums .bbp-form input[type="text"],
#bbpress-forums .bbp-form textarea {
    margin-bottom: 4px;
}

#bbpress-forums .bbp-topic-form,
#bbpress-forums .bbp-reply-form,
#bbpress-forums .bbp-search-form {
    margin: 0 0 32px;
}

.svj-bbpress-index {
    margin-bottom: 30px;
}

.svj-bbpress-new-topic {
    margin-top: 34px;
}

.svj-bbpress-new-topic summary {
    padding: 18px 20px;
}

.svj-bbpress-new-topic > div {
    padding: 4px 20px 24px;
}

#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-topics,
#bbpress-forums ul.bbp-replies {
    margin-bottom: 28px;
}

#bbpress-forums li.bbp-body ul.forum,
#bbpress-forums li.bbp-body ul.topic,
#bbpress-forums li.bbp-body div.hentry {
    padding-top: 20px;
    padding-bottom: 20px;
}

#bbpress-forums .bbp-forum-content,
#bbpress-forums .bbp-topic-meta {
    margin-top: 8px;
}

#bbpress-forums .bbp-pagination {
    margin: 0 0 24px;
}

#bbpress-forums .bbp-template-notice,
#bbpress-forums .bbp-template-notice.info {
    margin-bottom: 24px;
}

@media(max-width:680px) {
    .svj-bbpress-tools { margin-bottom: 24px; }
    #bbpress-forums fieldset.bbp-form { padding: 20px 17px; margin-bottom: 24px; }
    #bbpress-forums form p,
    #bbpress-forums fieldset.bbp-form p { margin-bottom: 21px; }
    #bbpress-forums .bbp-submit-wrapper { margin-top: 24px; }
    .svj-bbpress-new-topic { margin-top: 28px; }
    .svj-bbpress-new-topic summary { padding: 16px 17px; }
    .svj-bbpress-new-topic > div { padding: 2px 17px 20px; }
}


/* Hlasování se otevírá jako samostatná aplikace v nové kartě - verze 1.0.16 */
a.svj-voting-link .svj-card-more::after { content: " - nová karta"; font-size: 12px; font-weight: 650; color: #64748b; }
.svj-dashboard a.svj-voting-link::after { content: " ↗"; display: inline; font-size: .9em; color: #64748b; }


/* Oprávnění bbPress a zpráva při odmítnutí - verze 1.0.17 */
.svj-access-denied{display:grid;gap:7px;margin:0 0 28px;padding:18px 20px;border:1px solid #fecaca;border-radius:12px;background:#fef2f2;color:#7f1d1d;line-height:1.55}.svj-access-denied strong{color:#991b1b}.svj-access-denied span{color:#7f1d1d}
