/*
Theme Name: E-Tvrz Modern
Theme URI: https://www.e-tvrz.com/
Author: e-tvrz.com
Description: Kompaktní responzivní magazínová šablona se čtyřmi oblastmi widgetů v záhlaví, postranním panelem a rozbalovacím menu.
Version: 1.1.1
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: e-tvrz-modern
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root,[data-theme="light"]{--font-display:"Source Serif 4",Georgia,serif;--font-body:"Manrope","Segoe UI",sans-serif;--text-xs:clamp(.75rem,.72rem + .15vw,.82rem);--text-sm:clamp(.875rem,.84rem + .18vw,.96rem);--text-base:clamp(1rem,.96rem + .2vw,1.08rem);--text-lg:clamp(1.16rem,1.06rem + .45vw,1.4rem);--text-xl:clamp(1.55rem,1.3rem + .9vw,2.1rem);--text-2xl:clamp(2rem,1.55rem + 1.8vw,3rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--bg:#f2f0e9;--surface:#fffefa;--surface-2:#f8f6ef;--surface-offset:#ebe8df;--text:#17252a;--muted:#59686b;--primary:#086c72;--primary-hover:#07565b;--ink:#12333c;--border:color-mix(in oklch,var(--text) 13%,transparent);--shadow:0 12px 36px rgb(27 45 48 / .14);--radius-sm:.35rem;--radius-md:.65rem;--radius-lg:1rem;--radius-full:999px;--content:1180px;--transition:180ms cubic-bezier(.16,1,.3,1)}
[data-theme="dark"]{--bg:#121a1c;--surface:#192326;--surface-2:#1e2a2d;--surface-offset:#263438;--text:#edf2ef;--muted:#b6c3c1;--primary:#62bfc1;--primary-hover:#83d0d1;--ink:#d9efec;--border:color-mix(in oklch,var(--text) 15%,transparent);--shadow:0 12px 36px rgb(0 0 0 / .35)}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-color:color-mix(in oklch,var(--primary) 55%,transparent);text-underline-offset:.18em;transition:color var(--transition),background var(--transition)}a:hover{color:var(--primary)}button,input,textarea,select{font:inherit;color:inherit}.container{width:min(calc(100% - 2rem),var(--content));margin-inline:auto}.skip-link{position:fixed;left:var(--space-4);top:var(--space-4);transform:translateY(-180%);background:var(--primary);color:#fff;padding:var(--space-3) var(--space-4);z-index:9999}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.site-header{background:var(--surface);border-bottom:1px solid var(--border)}.brand-row{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none}.brand-mark{width:42px;height:42px;color:var(--primary);flex:none}.custom-logo{max-height:52px;width:auto}.brand-copy{display:grid;line-height:1.1}.site-title{font:700 var(--text-xl)/1 var(--font-display);letter-spacing:-.02em}.site-description{color:var(--muted);font-size:var(--text-xs);margin-top:var(--space-2);letter-spacing:.04em;text-transform:uppercase}.theme-toggle,.menu-toggle{min-width:44px;height:44px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface-2);display:grid;place-items:center;cursor:pointer}.header-widgets{display:grid;grid-template-columns:repeat(var(--header-columns,1),minmax(0,1fr));gap:var(--space-3);padding-bottom:var(--space-4)}.header-widgets .widget{min-width:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:none}.header-widgets .widget-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:0 0 var(--space-2)}.header-widgets p{margin:0;font-size:var(--text-sm)}.header-widgets img,.widget img{max-width:100%;height:auto}.header-widgets iframe,.widget iframe{max-width:100%}
.nav-shell{position:relative;z-index:100;background:var(--ink);color:#fff}.nav-inner{display:flex;align-items:center;min-height:50px}.menu-toggle{display:none;color:#fff;background:transparent;border-color:rgb(255 255 255 / .25);border-radius:var(--radius-sm);width:auto;padding-inline:var(--space-3);gap:var(--space-2)}.menu-toggle svg{width:20px}.primary-menu{display:flex;align-items:stretch;gap:var(--space-1);list-style:none;margin:0;padding:0}.primary-menu li{margin:0}.primary-menu a{display:flex;align-items:center;min-height:50px;padding:0 var(--space-4);font-size:var(--text-sm);font-weight:700;text-decoration:none;color:#fff}.primary-menu>li>a:hover,.primary-menu>.current-menu-item>a,.primary-menu>.current-menu-ancestor>a{background:rgb(255 255 255 / .12);color:#fff}
/* Na počítači se ukazuje jen první úroveň; podmenu se otevře najetím nebo klávesnicí. */
@media(min-width:641px){.primary-menu>li{position:relative}.primary-menu .menu-item-has-children>a,.primary-menu .page_item_has_children>a{gap:var(--space-2)}.primary-menu .menu-item-has-children>a:after,.primary-menu .page_item_has_children>a:after{content:"";width:.42rem;height:.42rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.12rem) rotate(45deg);opacity:.8}.primary-menu .sub-menu,.primary-menu .children{position:absolute;z-index:1000;top:100%;left:0;display:block;min-width:15rem;margin:0;padding:var(--space-2);list-style:none;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(var(--space-2));transition:opacity var(--transition),transform var(--transition),visibility var(--transition)}.primary-menu li:hover>.sub-menu,.primary-menu li:hover>.children,.primary-menu li:focus-within>.sub-menu,.primary-menu li:focus-within>.children{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.primary-menu .sub-menu li,.primary-menu .children li{position:relative}.primary-menu .sub-menu a,.primary-menu .children a{min-height:42px;padding:var(--space-2) var(--space-3);color:var(--text);border-radius:var(--radius-sm);white-space:nowrap}.primary-menu .sub-menu a:hover,.primary-menu .sub-menu a:focus-visible,.primary-menu .children a:hover,.primary-menu .children a:focus-visible{color:var(--primary);background:var(--surface-offset)}.primary-menu .sub-menu .sub-menu,.primary-menu .children .children{top:calc(-1 * var(--space-2));left:100%;border-radius:var(--radius-md)}.primary-menu .sub-menu .menu-item-has-children>a:after,.primary-menu .children .page_item_has_children>a:after{margin-left:auto;transform:rotate(-45deg)}.submenu-toggle{display:none}}
.site-main{padding-block:var(--space-8) var(--space-12)}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-8);align-items:start}.posts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 1px 0 rgb(0 0 0 / .03);content-visibility:auto}.post-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,.9fr) 1.1fr}.post-card:not(:has(.post-thumbnail)):first-child{display:block}.post-thumbnail{display:block;aspect-ratio:16/9;background:var(--surface-offset);overflow:hidden}.post-card:first-child .post-thumbnail{height:100%;aspect-ratio:auto}.post-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.16,1,.3,1)}.post-thumbnail:hover img{transform:scale(1.025)}.post-body{padding:var(--space-5)}.post-card:first-child .post-body{padding:clamp(var(--space-6),4vw,var(--space-10));align-self:center}.post-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;color:var(--muted);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.post-category{color:var(--primary)}.post-title{font:700 var(--text-lg)/1.2 var(--font-display);letter-spacing:-.015em;margin:var(--space-3) 0}.post-card:first-child .post-title{font-size:var(--text-2xl)}.post-title a{text-decoration:none}.post-excerpt{color:var(--muted);font-size:var(--text-sm);margin:0}.read-more{display:inline-flex;margin-top:var(--space-4);font-size:var(--text-sm);font-weight:800;text-decoration:none;color:var(--primary)}.sidebar{position:sticky;top:var(--space-4);display:grid;gap:var(--space-4)}.widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:0 1px 0 rgb(0 0 0 / .03)}.widget-title{font:700 var(--text-lg)/1.2 var(--font-display);margin:0 0 var(--space-4)}.widget ul{list-style:none;margin:0;padding:0}.widget li+li{border-top:1px solid var(--border)}.widget li a{display:block;padding:var(--space-3) 0;text-decoration:none;font-size:var(--text-sm)}.widget p{font-size:var(--text-sm);color:var(--muted)}.widget_search form,.wp-block-search__inside-wrapper{display:flex;gap:var(--space-2)}input[type="search"],input[type="text"],input[type="email"],textarea{min-width:0;width:100%;border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-sm);padding:.7rem}.search-submit,.wp-block-search__button,input[type="submit"]{border:0;border-radius:var(--radius-sm);background:var(--primary);color:#fff;padding:.7rem var(--space-4);font-weight:800;cursor:pointer}.nav-links{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-6)}.entry{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(var(--space-5),5vw,var(--space-10))}.entry-header,.entry-content{max-width:72ch}.entry-title{font:750 var(--text-2xl)/1.1 var(--font-display);margin:0 0 var(--space-4)}.entry-content h2,.entry-content h3{font-family:var(--font-display);line-height:1.2}.entry-content img{border-radius:var(--radius-md)}.site-footer{border-top:1px solid var(--border);padding-block:var(--space-8);color:var(--muted);font-size:var(--text-sm)}.footer-inner{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
@media(max-width:900px){.content-layout{grid-template-columns:1fr}.sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.header-widgets{grid-template-columns:repeat(2,minmax(0,1fr))!important}.post-card:first-child{grid-template-columns:1fr}.post-card:first-child .post-thumbnail{aspect-ratio:16/9}.post-card:first-child .post-title{font-size:var(--text-xl)}}
@media(max-width:640px){.container{width:min(calc(100% - 1.25rem),var(--content))}.brand-row{min-height:68px}.site-description{display:none}.brand-mark{width:36px;height:36px}.header-widgets{grid-template-columns:1fr!important}.nav-inner{padding-block:var(--space-2);display:block}.menu-toggle{display:flex}.primary-nav{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--transition)}.primary-nav>div{overflow:hidden}.primary-nav.is-open{grid-template-rows:1fr}.primary-menu{display:block;padding-top:var(--space-2)}.primary-menu li{position:relative}.primary-menu a{min-height:44px;border-top:1px solid rgb(255 255 255 / .12);padding-inline:var(--space-2)}.primary-menu .sub-menu,.primary-menu .children{display:none;position:static;margin:0;padding:0 0 var(--space-2) var(--space-4);list-style:none;background:rgb(255 255 255 / .06)}.primary-menu .is-submenu-open>.sub-menu,.primary-menu .is-submenu-open>.children{display:block}.primary-menu .sub-menu a,.primary-menu .children a{padding-right:3.25rem;font-weight:600}.primary-menu .menu-item-has-children>a,.primary-menu .page_item_has_children>a{padding-right:3.5rem}.submenu-toggle{position:absolute;z-index:2;top:0;right:0;display:grid;place-items:center;width:44px;height:44px;padding:0;color:#fff;background:transparent;border:0;cursor:pointer}.submenu-toggle:before{content:"";width:.5rem;height:.5rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.12rem) rotate(45deg);transition:transform var(--transition)}.submenu-toggle[aria-expanded="true"]:before{transform:translateY(.12rem) rotate(225deg)}.site-main{padding-block:var(--space-5) var(--space-8)}.posts-grid{grid-template-columns:1fr}.post-card:first-child{display:block}.post-body,.post-card:first-child .post-body{padding:var(--space-5)}.sidebar{grid-template-columns:1fr}.entry{padding:var(--space-5)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* 1.1.1: oddelene barvy navigace, kontrast ovladacich prvku a obsah. */
:root {
 --nav-bg:#12333c; --nav-text:#ffffff; --on-primary:#ffffff;
 --color-bg:var(--bg); --color-surface:var(--surface);
 --color-surface-2:var(--surface-2); --color-text:var(--text);
 --color-text-muted:var(--muted); --color-primary:var(--primary);
 --color-border:var(--border);
 --wp--preset--color--ink:var(--text);
 --wp--preset--color--teal:var(--primary);
 --wp--preset--color--paper:var(--surface);
 color-scheme:light;
}
html[data-theme="dark"] {
 --nav-bg:#102c33; --nav-text:#edf2ef; --on-primary:#102c33;
 color-scheme:dark;
}
.nav-shell {background:var(--nav-bg);color:var(--nav-text)}
.primary-menu > li > a,.menu-toggle,.submenu-toggle {color:var(--nav-text)}
.search-submit,.wp-block-search__button,input[type="submit"],
.skip-link,.wp-block-button__link:not(.has-background) {
 background:var(--primary);color:var(--on-primary);
}
.entry,.entry-title,.entry-content,.post-title,.widget-title,.comments-area {color:var(--text)}
.entry-content a:not(.wp-block-button__link),.comment-content a {color:var(--primary)}
.entry-content :where(blockquote,pre,code),.comment-content :where(pre,code) {
 background:var(--surface-2);color:var(--text);
}
.entry-content pre {padding:var(--space-4);overflow:auto;max-width:100%}
.entry-content blockquote {margin-inline:0;padding:var(--space-4)}
.entry-content :where(figcaption,cite),.comment-metadata {color:var(--muted)}
.entry-content :where(table,th,td),.widget :where(table,th,td) {border-color:var(--border)}
.entry-content :where(th,thead),.widget :where(th,thead) {background:var(--surface-2);color:var(--text)}
.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {background:var(--surface-2)}
.entry-content .wp-block-table.is-style-stripes {border-color:var(--border)}
.entry-content .has-ink-color {color:var(--text)!important}
.entry-content .has-teal-color {color:var(--primary)!important}
.entry-content .has-paper-background-color {background-color:var(--surface-2)!important}
.entry-content .has-ink-background-color {background-color:var(--nav-bg)!important;color:var(--nav-text)}
input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]),
textarea,select {background:var(--surface-2);color:var(--text);border-color:var(--border)}
input::placeholder,textarea::placeholder {color:var(--muted);opacity:1}
@media(max-width:640px){
 .primary-menu .sub-menu a,.primary-menu .children a {color:var(--nav-text)}
}
/* Jen pro stary obsah s pevnymi barvami: pridejte bloku tridu etvrz-adaptive-colors.
   Zamerne se neprepisuji vsechny vlastni barvy, cover bloky ani zvyraznovace kodu. */
html[data-theme="dark"] .entry-content .etvrz-adaptive-colors,
html[data-theme="dark"] .entry-content .etvrz-adaptive-colors :where(p,span,div,h2,h3,h4,h5,h6,li,strong,em,td,th) {
 color:var(--text)!important;background-color:var(--surface)!important;
}
html[data-theme="dark"] .entry-content .etvrz-adaptive-colors a {color:var(--primary)!important}
/* ==================================================
   Oprava kontrastu v nočním režimu
   ================================================== */

html[data-theme="dark"] {
    --text: #edf2ef;
    --muted: #bccbc9;
    --primary: #78d3d5;
}

/* Základní text ve widgetech. */
html[data-theme="dark"] .widget {
    color: var(--text);
}

html[data-theme="dark"] .widget :where(
    p, li, span, label, dt, dd
) {
    color: var(--text);
}

/* Odkazy včetně již navštívených. */
html[data-theme="dark"] .widget a,
html[data-theme="dark"] .widget a:visited {
    color: #edf2ef !important;
}

html[data-theme="dark"] .widget a:hover,
html[data-theme="dark"] .widget a:focus-visible {
    color: #78d3d5 !important;
    text-decoration: underline;
}

/* Náhledové texty a metadata článků. */
html[data-theme="dark"] .post-excerpt,
html[data-theme="dark"] .post-excerpt p,
html[data-theme="dark"] .post-meta {
    color: #bccbc9 !important;
}

html[data-theme="dark"] .post-meta a,
html[data-theme="dark"] .post-meta a:visited,
html[data-theme="dark"] .post-category,
html[data-theme="dark"] .read-more,
html[data-theme="dark"] .read-more:visited {
    color: #78d3d5 !important;
}

/* Text ve vyhledávacím poli. */
html[data-theme="dark"] .widget input[type="search"] {
    color: #edf2ef !important;
    background: #202e32 !important;
}

html[data-theme="dark"] .widget input[type="search"]::placeholder {
    color: #bccbc9 !important;
    opacity: 1;
}
/* ==================================================
   Stránkování – denní i noční režim
   ================================================== */

html {
    --etvrz-page-bg: #fffefa;
    --etvrz-page-text: #17343c;
    --etvrz-page-border: #657b80;
    --etvrz-page-active-bg: #086c72;
    --etvrz-page-active-text: #ffffff;
}

html[data-theme="dark"] {
    --etvrz-page-bg: #192326;
    --etvrz-page-text: #edf2ef;
    --etvrz-page-border: #829b9e;
    --etvrz-page-active-bg: #78d3d5;
    --etvrz-page-active-text: #10272b;
}

.pagination .nav-links,
.navigation.pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

/* Platí i při jiném obalu stránkování. */
.site-main .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 44px;
    min-height: 44px;
    padding: 0.5rem 0.875rem;

    background: var(--etvrz-page-bg) !important;
    color: var(--etvrz-page-text) !important;
    border: 1px solid var(--etvrz-page-border);
    border-radius: 0.375rem;

    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    opacity: 1 !important;
}

.site-main a.page-numbers:visited {
    color: var(--etvrz-page-text) !important;
}

.site-main .page-numbers.current,
.site-main a.page-numbers:hover,
.site-main a.page-numbers:focus-visible {
    background: var(--etvrz-page-active-bg) !important;
    color: var(--etvrz-page-active-text) !important;
    border-color: var(--etvrz-page-active-bg);
}

.site-main a.page-numbers:focus-visible {
    outline: 3px solid var(--etvrz-page-text);
    outline-offset: 3px;
}

/* Výpustka není klikací tlačítko. */
.site-main .page-numbers.dots {
    border-color: transparent;
}
