/* Poke Moc - wspolna warstwa responsywna dla wszystkich layoutow */
html { box-sizing: border-box; max-width: 100%; overflow-x: hidden; }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; min-width: 0 !important; max-width: 100%; overflow-x: hidden; }
body, input, select, textarea, button {
    font-family: "Segoe UI", Arial, "Noto Sans", "Microsoft YaHei", Meiryo,
                 "Malgun Gothic", Tahoma, sans-serif;
}
img, video, iframe, canvas, svg { max-width: 100%; height: auto; }
table { max-width: 100%; }
input, select, textarea, button { max-width: 100%; }

/* Popularne kontenery wystepujace w layoutach Znote/Poke Moc */
.main, #main, .container, #container, .wrapper, #wrapper, .content, #content,
.page, #page, .site, #site, .body, #body, .inner, .main-content {
    max-width: 100% !important;
}

.pokemoc-status-bar {
    position: static !important;
    inset: auto !important;
    float: none !important;
    z-index: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    width: max-content;
    max-width: calc(100% - 16px);
    margin: 0 10px 0 0;
    padding: 5px 11px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: rgba(5,12,24,.92);
    color: #fff;
    font: 700 13px/1.2 Arial,Helvetica,sans-serif;
    letter-spacing: .3px;
    box-shadow: 0 8px 24px rgba(0,0,0,.4);
    backdrop-filter: blur(8px);
}
.main > nav .container > .pull-right,
#main > nav .container > .pull-right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 4px;
}
.pokemoc-status-dot { width: 10px; height: 10px; border-radius: 50%; background: #f0ad4e; box-shadow: 0 0 10px currentColor; }
.pokemoc-status-bar.is-online .pokemoc-status-dot { background: #3fe06f; }
.pokemoc-status-bar.is-offline .pokemoc-status-dot { background: #ff4d5a; }
.pokemoc-status-bar.is-online .pokemoc-status-value { color: #62f28b; }
.pokemoc-status-bar.is-offline .pokemoc-status-value { color: #ff737d; }

.pokemoc-settings { --pm-bg:rgba(5,12,24,.94); --pm-fg:#fff; --pm-accent:#2f9cff; position:fixed; right:12px; bottom:12px; z-index:2147483000; color:var(--pm-fg); font:600 13px/1.3 Arial,sans-serif; }
.pokemoc-settings-toggle { display:block; width:48px; height:48px; margin-left:auto; border:1px solid color-mix(in srgb,var(--pm-fg) 28%,transparent); border-radius:15px; background:var(--pm-bg); color:var(--pm-fg); font-size:23px; cursor:pointer; box-shadow:0 9px 28px rgba(0,0,0,.38); }
.pokemoc-settings-panel { display:none; width:min(290px,calc(100vw - 24px)); margin-bottom:9px; padding:14px; border:1px solid color-mix(in srgb,var(--pm-fg) 25%,transparent); border-radius:14px; background:var(--pm-bg); color:var(--pm-fg); box-shadow:0 14px 38px rgba(0,0,0,.42); backdrop-filter:blur(10px); }
.pokemoc-settings.is-open { display:flex; flex-direction:column; align-items:flex-end; }
.pokemoc-settings.is-open .pokemoc-settings-panel { display:block; order:-1; }
.pokemoc-settings-title { margin-bottom:11px; padding-bottom:9px; border-bottom:1px solid color-mix(in srgb,var(--pm-fg) 20%,transparent); font-size:15px; font-weight:800; }
.pokemoc-settings label { display:block; margin:9px 0 5px; color:var(--pm-fg); }
.pokemoc-settings select,.pokemoc-settings form button { width:100%; min-height:40px; padding:8px 10px; border:1px solid color-mix(in srgb,var(--pm-fg) 28%,transparent); border-radius:9px; font:inherit; }
.pokemoc-settings select { background:color-mix(in srgb,var(--pm-bg) 88%,var(--pm-fg)); color:var(--pm-fg); }
.pokemoc-settings select option { background:#fff; color:#111; }
.pokemoc-settings form button { margin-top:12px; border-color:transparent; background:var(--pm-accent); color:#fff; font-weight:800; cursor:pointer; }

/* Tabele nie rozpychaja calej strony na telefonach */
.pokemoc-table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

@media (max-width: 1100px) {
    .main, #main, .container, #container, .wrapper, #wrapper { width: min(100%, 960px) !important; }
    .banner, #banner, header, #header { max-width: 100% !important; background-size: cover !important; background-position: center !important; }
}

@media (max-width: 820px) {
    body { padding-left: 0 !important; padding-right: 0 !important; }
    .main, #main, .container, #container, .wrapper, #wrapper {
        width: 100% !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .content, #content, .main-content, aside, #aside, .sidebar, #sidebar {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    nav ul, #menu ul, .menu ul { max-width: 100%; }
    table { display: block; width: 100% !important; overflow-x: auto; white-space: normal; }
    td, th { overflow-wrap: anywhere; }
    .pokemoc-status-bar { min-height:30px; margin-right:6px; padding:5px 9px; font-size:12px; }
    .pokemoc-settings { right:7px; bottom:7px; }
}

@media (max-width: 520px) {
    h1 { font-size: 1.55rem !important; }
    h2 { font-size: 1.3rem !important; }
    input:not([type="checkbox"]):not([type="radio"]), select, textarea, button {
        width: 100%;
        min-height: 40px;
    }
    .pokemoc-status-label { display: none; }
}

/* Profile-aware frame engine: kazdy motyw zachowuje swoj charakter i proporcje. */
body[data-pm-fit] .main {
    width: calc(100% - var(--pm-gutter, 16px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
body[data-pm-fit] .main > nav,
body[data-pm-fit] .main > .banner,
body[data-pm-fit] .main > .feedContainer,
body[data-pm-fit] .main > footer { width: 100% !important; max-width: 100% !important; }
body[data-pm-fit] .banner { position:relative; overflow:hidden !important; aspect-ratio:var(--pm-banner-ratio, 710/154) !important; height:auto !important; }
/* Zachowaj oryginalna wysokosc ramki motywu; dopasuj do niej caly obraz. */
body[data-pm-fit] .banner img { display:block !important; width:100% !important; min-width:100% !important; max-width:none !important; height:100% !important; object-fit:fill !important; object-position:center !important; }
body[data-pm-fit] .feedContainer { display:grid !important; grid-template-columns:minmax(0,1fr) var(--pm-sidebar, 320px); gap:var(--pm-gap, 12px); align-items:start; }
body[data-pm-fit] .feedContainer > .topPane { grid-column:1/-1; }
body[data-pm-fit] .leftPane,body[data-pm-fit] .rightPane { float:none !important; width:auto !important; max-width:100% !important; min-width:0 !important; padding-right:0 !important; }
body[data-pm-fit] .rightPane { align-self:start; }
body[data-pm-fit] .body { overflow-wrap:anywhere; }
body[data-pm-fit] .body img { max-width:100%; height:auto; }

body[data-pm-fit="compact"] { --pm-sidebar:clamp(265px,19vw,310px); --pm-gap:clamp(7px,.65vw,12px); --pm-banner-ratio:710/154; --pm-banner-fit:fill; --pm-gutter:clamp(4px,.65vw,12px); }
body[data-pm-fit="standard"] { --pm-sidebar:clamp(285px,20vw,335px); --pm-gap:clamp(8px,.8vw,15px); --pm-banner-ratio:710/154; --pm-banner-fit:cover; --pm-gutter:clamp(6px,.75vw,14px); }
body[data-pm-fit="wide"] { --pm-sidebar:clamp(300px,21vw,360px); --pm-gap:clamp(8px,.85vw,16px); --pm-banner-ratio:710/154; --pm-banner-fit:cover; --pm-gutter:clamp(2px,.45vw,8px); }
body[data-pm-fit="cinematic"] { --pm-sidebar:clamp(310px,21vw,370px); --pm-gap:clamp(9px,.9vw,17px); --pm-banner-ratio:1536/318; --pm-banner-fit:cover; --pm-gutter:clamp(2px,.4vw,7px); }
body[data-pm-fit="minimal"] { --pm-sidebar:clamp(290px,22vw,370px); --pm-gap:clamp(10px,1.1vw,20px); --pm-banner-ratio:4/1; --pm-banner-fit:cover; --pm-gutter:clamp(5px,.8vw,16px); }

@media (max-width:900px) {
    body[data-pm-fit] .main { width:calc(100% - 10px) !important; }
    body[data-pm-fit] .feedContainer { grid-template-columns:1fr !important; }
    body[data-pm-fit] .feedContainer > .topPane { grid-column:auto; }
    body[data-pm-fit] .rightPane { margin-top:0 !important; }
}
@media (max-width:560px) {
    body[data-pm-fit] .main { width:100% !important; margin:0 !important; }
    body[data-pm-fit] .feedContainer { gap:8px; padding:7px !important; }
}

/* Shared social/footer area: inherits each active theme through CSS variables. */
.pm-social-hub{clear:both;margin:22px 0 12px;padding:20px;border:1px solid color-mix(in srgb,var(--pm-accent,#ffd21f) 42%,transparent);border-radius:12px;background:color-mix(in srgb,var(--pm-bg,#17202b) 92%,#000);color:var(--pm-fg,#fff);box-shadow:0 12px 30px #0003;font-family:inherit}.pm-social-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.pm-social-head h2{margin:2px 0;color:inherit}.pm-kicker{font-size:11px;font-weight:bold;letter-spacing:1.6px;color:var(--pm-accent,#ffd21f)}.pm-social-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.pm-social-link,.pm-gallery-cta{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;background:var(--pm-accent,#ffd21f);color:#111!important;text-decoration:none!important;font-weight:bold;transition:.18s transform,.18s filter}.pm-social-link:hover,.pm-gallery-cta:hover{transform:translateY(-2px);filter:brightness(1.12)}.pm-social-widgets{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:16px;margin-top:16px}.pm-facebook-box iframe{display:block;width:100%;height:360px;border:0;border-radius:9px;background:#fff}.pm-youtube-list{display:grid;gap:12px}.pm-youtube-card{overflow:hidden;border:1px solid #ffffff24;border-radius:9px;background:#0003}.pm-youtube-card>a{display:block;padding:11px;color:inherit!important;font-weight:bold;text-decoration:none}.pm-youtube-card>a i{color:#f22}.pm-video{position:relative;padding-top:56.25%;background:#000}.pm-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.pm-system-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:18px}.pm-system-post{overflow:hidden;border:1px solid #ffffff25;border-radius:11px;background:#0002}.pm-system-cover{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.pm-system-body{padding:16px}.pm-system-body h2{margin-top:0}.pm-system-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.pm-system-thumbs a{display:block}.pm-system-thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px}.pm-system-empty{padding:30px;text-align:center;border:1px dashed #ffffff35;border-radius:10px}.pm-admin-gallery input[type=text],.pm-admin-gallery textarea{box-sizing:border-box;width:100%;max-width:850px}.pm-admin-gallery textarea{min-height:120px}.pm-admin-gallery label{display:block;margin:13px 0 5px;font-weight:bold}@media(max-width:720px){.pm-social-hub{padding:14px}.pm-social-widgets{grid-template-columns:1fr}.pm-social-link{flex:1 1 130px;justify-content:center}.pm-system-grid{grid-template-columns:1fr}}

/* Compatibility override for older themes and browsers. */
.pm-social-hub{background:#151d28;overflow:visible!important;height:auto!important;min-height:0!important}.pm-social-head{display:flex!important;visibility:visible!important}.pm-social-links{display:flex!important;visibility:visible!important;min-height:40px}.pm-social-link,.pm-gallery-cta{display:inline-flex!important;visibility:visible!important;background:#ffd21f;background:var(--pm-accent,#ffd21f)}.pm-social-svg{display:inline-flex!important;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#111;color:#fff;font:bold 14px/1 Arial,sans-serif;flex:0 0 22px}
.pm-social-icon{display:block!important;width:26px!important;height:26px!important;max-width:26px!important;object-fit:contain;border:0!important;border-radius:4px;flex:0 0 26px}.pm-custom-links-admin{display:grid;gap:8px;margin:14px 0}.pm-custom-link-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px;border:1px solid #ffffff25;border-radius:8px}.pm-custom-link-row img{width:36px;height:36px;object-fit:contain}.pm-custom-link-row form{margin-left:auto}
.pm-download-box{max-width:760px;margin:35px auto;padding:42px 28px;text-align:center;border:1px solid var(--pm-accent,#ffd21f);border-radius:14px;background:#111a26;box-shadow:0 18px 45px #0005}.pm-download-box p{font-size:18px;line-height:1.6}.pm-download-button{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:14px 24px;border-radius:9px;background:var(--pm-accent,#ffd21f);color:#111!important;font-size:17px;font-weight:bold;text-decoration:none!important}.pm-download-button:hover{filter:brightness(1.12);transform:translateY(-2px)}
.pm-news-embed-content iframe,.pm-article-content iframe{display:block;width:min(100%,800px);min-height:240px;aspect-ratio:16/9;margin:18px auto;border:0}.pm-news-embed-content img,.pm-news-embed-content video,.pm-news-embed-content audio,.pm-article-content video,.pm-article-content audio{max-width:100%;height:auto}.pm-news-embed-content table{width:100%;border-collapse:collapse}.pm-news-embed-content td,.pm-news-embed-content th{padding:8px;border:1px solid #ffffff30}

/* =========================================================
   Poke Moc Mobile UX v3 - 2026-10-10
   Prawdziwe menu mobilne + pionowy viewport + bez overflow.
   Warstwa jest ladowana jako ostatnia, dlatego normalizuje
   wszystkie motywy bez zmiany ich desktopowego wygladu.
   ========================================================= */

:root {
    --pm-mobile-edge: max(10px, env(safe-area-inset-left));
    --pm-mobile-edge-right: max(10px, env(safe-area-inset-right));
    --pm-mobile-top: env(safe-area-inset-top);
    --pm-mobile-bottom: env(safe-area-inset-bottom);
}

html,
body {
    width: 100%;
    min-width: 0 !important;
}

body {
    overflow-x: clip;
}

.main,
#main,
.feedContainer,
.leftPane,
.rightPane,
.postHolder,
.well,
.body,
.content,
#content {
    min-width: 0 !important;
}

/* Pasek mobilny jest tworzony przez pokemoc_mobile.js. */
.pm-mobile-navhead {
    display: none;
}

.pm-mobile-nav-toggle {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    outline: 0;
}

.pm-mobile-nav-toggle:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.pm-mobile-nav-toggle-icon,
.pm-mobile-nav-toggle-icon::before,
.pm-mobile-nav-toggle-icon::after {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform .2s ease, opacity .2s ease;
}

.pm-mobile-nav-toggle-icon {
    position: relative;
}

.pm-mobile-nav-toggle-icon::before,
.pm-mobile-nav-toggle-icon::after {
    content: "";
    position: absolute;
    left: 0;
}

.pm-mobile-nav-toggle-icon::before { top: -7px; }
.pm-mobile-nav-toggle-icon::after { top: 7px; }

body.pm-mobile-menu-open .pm-mobile-nav-toggle-icon {
    background: transparent;
}

body.pm-mobile-menu-open .pm-mobile-nav-toggle-icon::before {
    top: 0;
    transform: rotate(45deg);
}

body.pm-mobile-menu-open .pm-mobile-nav-toggle-icon::after {
    top: 0;
    transform: rotate(-45deg);
}

/* Bardzo dlugie tresci nie moga rozepchnac viewportu. */
.body,
.postHolder,
.postHolder .body,
.pm-social-hub,
.pm-system-post,
.pm-download-box {
    overflow-wrap: anywhere;
    word-break: normal;
}

iframe,
embed,
object,
video,
canvas,
svg,
img {
    max-width: 100% !important;
}

pre {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 820px) {
    html {
        overflow-x: hidden;
    }

    body {
        padding: 0 !important;
        background-attachment: scroll !important;
    }

    body[data-pm-fit] .main,
    .main,
    #main {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-left: var(--pm-mobile-edge) !important;
        padding-right: var(--pm-mobile-edge-right) !important;
    }

    /* Nawigacja przestaje byc wielkim desktopowym blokiem. */
    .main > nav,
    #main > nav,
    body[data-pm-fit] .main > nav {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 0 8px !important;
        border-radius: 0 0 12px 12px !important;
        overflow: visible !important;
        z-index: 1000 !important;
    }

    .pm-mobile-navhead {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        min-height: 56px;
        padding: calc(8px + var(--pm-mobile-top)) 10px 8px;
    }

    .pm-mobile-navbrand {
        display: flex;
        align-items: center;
        gap: 9px;
        min-width: 0;
        color: inherit;
        font-weight: 800;
        font-size: 15px;
        letter-spacing: .3px;
        text-decoration: none;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .pm-mobile-navbrand i {
        flex: 0 0 auto;
    }

    .pm-mobile-navhead-actions {
        display: flex;
        align-items: center;
        gap: 7px;
        flex: 0 0 auto;
    }

    .pm-mobile-navhead .pokemoc-status-bar {
        min-height: 34px !important;
        max-width: 130px !important;
        margin: 0 !important;
        padding: 6px 9px !important;
        font-size: 11px !important;
    }

    .pm-mobile-nav-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        border: 1px solid rgba(255,255,255,.2) !important;
        border-radius: 11px !important;
        background: rgba(0,0,0,.22) !important;
        color: inherit !important;
        box-shadow: none !important;
        cursor: pointer;
    }

    .main > nav > .container,
    #main > nav > .container,
    body[data-pm-fit] .main > nav > .container {
        display: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 8px 9px !important;
    }

    body.pm-mobile-menu-open .main > nav > .container,
    body.pm-mobile-menu-open #main > nav > .container,
    body.pm-mobile-menu-open body[data-pm-fit] .main > nav > .container,
    body.pm-mobile-menu-open[data-pm-fit] .main > nav > .container {
        display: block !important;
    }

    .main > nav .container > .pull-left,
    .main > nav .container > .pull-right,
    #main > nav .container > .pull-left,
    #main > nav .container > .pull-right {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .main > nav .container > .pull-right,
    #main > nav .container > .pull-right {
        margin-top: 7px !important;
    }

    .main > nav .container > div > ul,
    #main > nav .container > div > ul {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 5px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .main > nav .container > div > ul > li,
    #main > nav .container > div > ul > li {
        position: relative !important;
        display: block !important;
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .main > nav .container > div > ul > li > a,
    #main > nav .container > div > ul > li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 9px !important;
        width: 100% !important;
        min-height: 46px !important;
        margin: 0 !important;
        padding: 10px 44px 10px 13px !important;
        border-radius: 9px !important;
        text-align: left !important;
        white-space: normal !important;
        line-height: 1.25 !important;
    }

    .main > nav li.pm-has-submenu > a::after,
    #main > nav li.pm-has-submenu > a::after {
        content: "▾";
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
        opacity: .8;
        transition: transform .18s ease;
    }

    .main > nav li.pm-has-submenu.pm-submenu-open > a::after,
    #main > nav li.pm-has-submenu.pm-submenu-open > a::after {
        transform: translateY(-50%) rotate(180deg);
    }

    .main > nav .container > div > ul > li > ul,
    #main > nav .container > div > ul > li > ul {
        position: static !important;
        inset: auto !important;
        display: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 4px 0 2px !important;
        padding: 4px !important;
        border-radius: 9px !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }

    .main > nav .container > div > ul > li.pm-submenu-open > ul,
    #main > nav .container > div > ul > li.pm-submenu-open > ul {
        display: block !important;
    }

    .main > nav .container > div > ul > li > ul > li,
    #main > nav .container > div > ul > li > ul > li {
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .main > nav .container > div > ul > li > ul > li > a,
    #main > nav .container > div > ul > li > ul > li > a {
        display: block !important;
        width: 100% !important;
        min-height: 42px !important;
        padding: 10px 12px 10px 35px !important;
        line-height: 1.25 !important;
        white-space: normal !important;
    }

    /* Status na telefonie znajduje sie w gornej belce, a nie miedzy linkami. */
    .main > nav .container .pokemoc-status-bar,
    #main > nav .container .pokemoc-status-bar {
        display: none !important;
    }

    /* Hero ma zawsze prawidlowy wymiar pionowo i poziomo. */
    body[data-pm-fit] .banner,
    .banner {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: var(--pm-banner-ratio, 710/154) !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
    }

    body[data-pm-fit] .banner img,
    .banner img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
    }

    body[data-pm-fit] .feedContainer,
    .feedContainer {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 9px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 8px !important;
    }

    .leftPane,
    .rightPane,
    .pull-left.leftPane,
    .pull-right.rightPane {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .rightPane {
        display: grid;
        gap: 9px;
    }

    .topPane,
    .topPane > .pull-left,
    .topPane > .pull-right {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .topPane {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .well,
    .postHolder,
    .postHolder > .well {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .body,
    .postHolder .body {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    form,
    fieldset,
    input,
    select,
    textarea,
    button {
        min-width: 0;
    }

    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    select,
    textarea {
        width: 100% !important;
        max-width: 100% !important;
    }

    .pokemoc-settings {
        right: max(7px, env(safe-area-inset-right)) !important;
        bottom: max(7px, env(safe-area-inset-bottom)) !important;
    }

    footer,
    body[data-pm-fit] .main > footer {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Telefony trzymane pionowo - priorytet czytelnosci, nie desktopowych proporcji. */
@media (max-width: 560px) and (orientation: portrait) {
    body[data-pm-fit] .main,
    .main,
    #main {
        padding-left: max(6px, env(safe-area-inset-left)) !important;
        padding-right: max(6px, env(safe-area-inset-right)) !important;
    }

    .pm-mobile-navhead {
        min-height: 54px;
        padding-left: 6px;
        padding-right: 6px;
    }

    .pm-mobile-navbrand {
        font-size: 14px;
    }

    .pm-mobile-navhead .pokemoc-status-bar {
        max-width: 104px !important;
        padding-left: 7px !important;
        padding-right: 7px !important;
    }

    .pm-mobile-navhead .pokemoc-status-label {
        display: none !important;
    }

    body[data-pm-fit] .banner,
    .banner {
        aspect-ratio: var(--pm-banner-ratio, 710/154) !important;
        border-radius: 8px !important;
    }

    .feedContainer {
        padding: 6px !important;
    }

    .header,
    .postHolder .header {
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 14px !important;
        overflow-wrap: anywhere;
    }

    .body,
    .postHolder .body {
        padding: 10px !important;
        font-size: 14px;
        line-height: 1.5;
    }

    table {
        font-size: 12px !important;
    }

    .pm-social-hub {
        margin-top: 10px !important;
        padding: 11px !important;
    }

    .pm-social-links {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }
}

/* Bardzo waskie telefony 320-390 px. */
@media (max-width: 390px) {
    .pm-mobile-navbrand span {
        max-width: 95px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .pm-mobile-navhead-actions {
        gap: 5px;
    }

    .pm-mobile-nav-toggle {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
    }

    .pm-mobile-navhead .pokemoc-status-bar {
        max-width: 92px !important;
        font-size: 10px !important;
    }

    .main > nav .container > div > ul > li > a,
    #main > nav .container > div > ul > li > a {
        min-height: 44px !important;
        padding-top: 9px !important;
        padding-bottom: 9px !important;
    }
}

/* Po obrocie do landscape menu nadal pozostaje mobilne, ale wykorzystuje szerokosc. */
@media (max-width: 820px) and (orientation: landscape) {
    .main > nav .container > .pull-left > ul,
    #main > nav .container > .pull-left > ul {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .main > nav .container > .pull-right > ul,
    #main > nav .container > .pull-right > ul {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
