/*
 * Tervena 0.1.0
 * Split editorial / persistent side dock.
 */

:root {
    --tervena-bg: #f4f1eb;
    --tervena-paper: #ffffff;
    --tervena-paper-soft: #edf2f0;
    --tervena-ink: #173a40;
    --tervena-muted: #66777a;
    --tervena-border: #d6dfdc;
    --tervena-dock: #123f49;
    --tervena-dock-soft: #1b515b;
    --tervena-accent: #e66f55;
    --tervena-accent-soft: #f4d9cf;
    --tervena-dark: #102f36;
}

html {
    scroll-behavior: smooth;
}

body.tervena-theme {
    margin: 0;
    background: var(--tervena-bg);
    color: var(--tervena-ink);
    font-family: Arial, Helvetica, sans-serif;
}

.tervena-theme *,
.tervena-theme *::before,
.tervena-theme *::after {
    box-sizing: border-box;
}

.tervena-theme a {
    color: inherit;
}

.tervena-utility {
    position: relative;
    z-index: 20;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1rem;
    align-items: center;
    min-height: 32px;
    padding: 0.45rem 1.3rem;
    background: var(--tervena-dark);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tervena-utility span:nth-child(2) {
    text-align: center;
}

.tervena-utility a {
    justify-self: end;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.tervena-shell {
    display: grid;
    grid-template-columns: minmax(270px, 320px) minmax(0, 1fr);
    min-height: calc(100vh - 32px);
}

.tervena-dock {
    position: sticky;
    top: 0;
    align-self: start;
    height: 100vh;
    overflow: auto;
    padding: 2rem 1.45rem 2.5rem;
    background: linear-gradient(180deg, var(--tervena-dock), #0f343c);
    color: #fff;
    scrollbar-width: thin;
}

.tervena-brand {
    padding-bottom: 1.35rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.tervena-logo img,
.tervena-logo .custom-logo {
    display: block;
    max-width: 220px;
    width: auto;
    max-height: 90px;
    object-fit: contain;
    background: #fff;
}

.tervena-site-name {
    display: inline-block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.15rem;
    text-decoration: none;
}

.tervena-brand p {
    margin: 0.8rem 0 0;
    color: #b9d6d8;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.tervena-dock-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    margin: 1.4rem 0;
}

.tervena-dock-search input {
    min-width: 0;
    height: 44px;
    padding: 0 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-right: 0;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.tervena-dock-search input::placeholder {
    color: #c7dadd;
}

.tervena-dock-search button {
    height: 44px;
    border: 0;
    background: var(--tervena-accent);
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}

.tervena-dock-label {
    margin: 0 0 0.75rem;
    color: #8ec0c4;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.tervena-menu,
.tervena-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tervena-menu > li {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.tervena-menu > li:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.tervena-menu a {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    align-items: center;
    padding: 0.83rem 0;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    text-transform: uppercase;
}

.tervena-menu a:hover,
.tervena-menu a:focus {
    color: #ffd6c9;
}

.tervena-menu small {
    color: #8ec0c4;
    font-size: 0.68rem;
}

.tervena-menu .sub-menu {
    padding: 0 0 0.6rem 0.85rem;
}

.tervena-menu .sub-menu a {
    padding: 0.45rem 0;
    font-size: 0.72rem;
    text-transform: none;
}

.tervena-dock-widgets {
    margin-top: 1.65rem;
}

.tervena-dock .widget {
    margin: 0 0 1.5rem;
    padding: 0 0 1.4rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    background: transparent;
    color: #fff;
}

.tervena-dock .widget-title,
.tervena-dock .wp-block-heading {
    margin: 0 0 0.9rem;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.2;
}

.tervena-dock .widget ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tervena-dock .widget li {
    margin: 0;
    padding: 0.62rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.78rem;
    line-height: 1.42;
}

.tervena-dock .widget a {
    color: #fff;
    text-decoration-color: rgba(255, 255, 255, 0.5);
}

.tervena-dock .widget img {
    max-width: 82px !important;
    height: 62px !important;
    object-fit: cover;
    border-radius: 0;
}

.tervena-dock .arpw-ul li,
.tervena-dock .recent-posts-widget-with-thumbnails li {
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 0.72rem !important;
    align-items: start !important;
}

.tervena-dock .arpw-title,
.tervena-dock .rpwwt-post-title {
    font-size: 0.76rem !important;
    line-height: 1.35 !important;
}

.tervena-dock .search-form,
.tervena-dock .wp-block-search__inside-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0;
}

.tervena-dock .search-field,
.tervena-dock .wp-block-search__input {
    min-width: 0;
    background: #fff;
    color: var(--tervena-dark);
}

.tervena-dock .search-submit,
.tervena-dock .wp-block-search__button {
    min-width: max-content;
    white-space: nowrap;
    word-break: normal;
    background: var(--tervena-accent);
    color: #fff;
}

.tervena-stage {
    min-width: 0;
}

.tervena-stage-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 68px;
    padding: 1rem clamp(1.25rem, 3vw, 3.5rem);
    border-bottom: 1px solid var(--tervena-border);
    background: rgba(255, 255, 255, 0.7);
}

.tervena-stage-header div {
    display: flex;
    gap: 0.75rem;
    align-items: baseline;
}

.tervena-stage-header span {
    color: var(--tervena-accent);
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.tervena-stage-header strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.05rem;
}

.tervena-stage-header > a {
    color: var(--tervena-muted);
    font-size: 0.75rem;
    font-weight: 700;
    text-decoration: none;
}

.tervena-site-content {
    width: min(100%, 1500px);
    margin: 0 auto;
    padding: clamp(1.4rem, 3vw, 3.4rem);
}

.tervena-canvas {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.72fr);
    gap: 1px;
    border: 1px solid var(--tervena-border);
    background: var(--tervena-border);
}

.tervena-canvas-main,
.tervena-canvas-side {
    background: var(--tervena-paper);
}

.tervena-lead {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(300px, 0.88fr);
    min-height: 620px;
}

.tervena-lead-media {
    min-height: 100%;
    overflow: hidden;
}

.tervena-lead-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tervena-lead-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 4vw, 4.3rem);
}

.tervena-kicker,
.tervena-meta {
    margin: 0 0 0.7rem;
    color: var(--tervena-accent);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.tervena-meta {
    color: #07888d;
}

.tervena-lead h1,
.tervena-feature-copy h2,
.tervena-section-heading h2,
.tervena-archive-header h1,
.tervena-article-header .entry-title {
    margin: 0;
    color: var(--tervena-ink);
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 900;
    letter-spacing: -0.045em;
}

.tervena-lead h1 {
    font-size: clamp(2.35rem, 4.4vw, 4.25rem);
    line-height: 0.98;
}

.tervena-lead h1 a,
.tervena-signal-card h2 a,
.tervena-feature-copy h2 a,
.tervena-topic-cell h3 a,
.tervena-latest-item h3 a,
.tervena-archive-card h2 a {
    text-decoration: none;
}

.tervena-lead-copy > p:not(.tervena-kicker):not(.tervena-meta) {
    margin: 1.3rem 0 0;
    color: var(--tervena-muted);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.06rem;
    line-height: 1.7;
}

.tervena-lead-actions {
    display: flex;
    gap: 1rem;
    align-items: center;
    margin-top: 1.7rem;
}

.tervena-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.75rem 1.05rem;
    background: var(--tervena-dark);
    color: #fff !important;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

.tervena-lead-actions span {
    color: var(--tervena-muted);
    font-size: 0.72rem;
    text-transform: uppercase;
}

.tervena-canvas-side {
    padding: 1.45rem;
}

.tervena-signal-card {
    display: grid;
    grid-template-columns: 34px 110px minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    padding: 1rem 0;
    border-top: 1px solid var(--tervena-border);
}

.tervena-signal-card > span {
    color: var(--tervena-accent);
    font-size: 0.72rem;
    font-weight: 900;
}

.tervena-signal-media {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.tervena-signal-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tervena-signal-card p {
    margin: 0 0 0.35rem;
    color: #07888d;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
}

.tervena-signal-card h2 {
    margin: 0;
    color: var(--tervena-dark);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.23;
}

.tervena-route-strip {
    display: grid;
    grid-template-columns: minmax(220px, 0.72fr) minmax(0, 2fr);
    gap: 1.5rem;
    align-items: center;
    margin: 1.3rem 0 3.5rem;
    padding: 1.3rem 1.5rem;
    background: var(--tervena-paper-soft);
}

.tervena-route-strip h2 {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.05;
}

.tervena-route-strip ol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
}

.tervena-route-strip li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.55rem;
    align-items: center;
    padding: 0.75rem 1rem;
    border-left: 1px solid var(--tervena-border);
}

.tervena-route-strip li span {
    color: var(--tervena-accent);
    font-weight: 900;
}

.tervena-route-strip li a {
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
    text-transform: uppercase;
}

.tervena-route-strip li small {
    color: var(--tervena-muted);
}

.tervena-feature-split {
    display: grid;
    grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.45fr);
    min-height: 520px;
    margin-bottom: 4rem;
    background: var(--tervena-dark);
    color: #fff;
}

.tervena-feature-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 4vw, 4.2rem);
}

.tervena-feature-copy h2 {
    color: #fff;
    font-size: clamp(2.25rem, 4vw, 4rem);
    line-height: 1.02;
}

.tervena-feature-copy > p:not(.tervena-kicker):not(.tervena-meta) {
    color: #d6e4e4;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.03rem;
    line-height: 1.7;
}

.tervena-text-link {
    margin-top: 1rem;
    color: #fff;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-decoration: underline;
    text-underline-offset: 0.25em;
    text-transform: uppercase;
}

.tervena-feature-media {
    min-height: 100%;
    overflow: hidden;
}

.tervena-feature-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tervena-section-heading {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    padding-bottom: 0.9rem;
    border-bottom: 2px solid var(--tervena-dark);
}

.tervena-section-heading h2 {
    font-size: clamp(2.2rem, 4.5vw, 4.5rem);
    line-height: 0.95;
    text-align: right;
}

.tervena-topic-board {
    margin-bottom: 4rem;
}

.tervena-topic-board-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-left: 1px solid var(--tervena-border);
    border-top: 1px solid var(--tervena-border);
}

.tervena-topic-cell {
    min-height: 260px;
    padding: 1.7rem;
    border-right: 1px solid var(--tervena-border);
    border-bottom: 1px solid var(--tervena-border);
    background: var(--tervena-paper);
}

.tervena-topic-cell.is-accent {
    background: var(--tervena-accent-soft);
}

.tervena-topic-cell > p {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 2.8rem;
    color: #07888d;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.tervena-topic-cell > p span {
    color: var(--tervena-accent);
}

.tervena-topic-cell h3 {
    margin: 0 0 1rem;
    font-size: 1.35rem;
    line-height: 1.15;
}

.tervena-topic-secondary {
    display: block;
    padding-top: 0.85rem;
    border-top: 1px solid var(--tervena-border);
    color: var(--tervena-muted);
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.45;
    text-decoration: none;
}

.tervena-latest-list {
    border-top: 1px solid var(--tervena-border);
}

.tervena-latest-item {
    display: grid;
    grid-template-columns: 54px 190px minmax(0, 1fr);
    gap: 1.3rem;
    align-items: center;
    padding: 1.35rem 0;
    border-bottom: 1px solid var(--tervena-border);
}

.tervena-latest-number {
    color: var(--tervena-accent);
    font-size: 0.8rem;
    font-weight: 900;
}

.tervena-latest-media {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.tervena-latest-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tervena-latest-copy > p:first-child {
    display: flex;
    gap: 0.75rem;
    margin: 0 0 0.45rem;
    color: var(--tervena-muted);
    font-size: 0.68rem;
    text-transform: uppercase;
}

.tervena-latest-copy > p:first-child span {
    color: #07888d;
    font-weight: 800;
}

.tervena-latest-item h3 {
    margin: 0;
    font-size: clamp(1.3rem, 2vw, 2rem);
    line-height: 1.08;
}

.tervena-latest-copy > p:last-child {
    margin: 0.65rem 0 0;
    color: var(--tervena-muted);
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.55;
}

.tervena-theme .page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    width: auto;
    margin: 1.6rem 0 0;
    padding: 0;
    list-style: none;
}

.tervena-theme .page-numbers li {
    width: auto;
}

.tervena-theme .page-numbers a,
.tervena-theme .page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--tervena-border);
    background: var(--tervena-paper);
    color: var(--tervena-dark);
    font-weight: 800;
    text-decoration: none;
}

.tervena-theme .page-numbers .current {
    border-color: var(--tervena-accent);
    background: var(--tervena-accent);
    color: #fff;
}

.tervena-document,
.tervena-archive {
    width: min(100%, 1120px);
    margin: 0 auto;
    padding: clamp(1.5rem, 4vw, 4.5rem) 0;
}

.tervena-article,
.tervena-archive-header {
    background: var(--tervena-paper);
}

.tervena-article {
    padding: clamp(1.5rem, 4vw, 4.4rem);
}

.tervena-article-header {
    max-width: 900px;
}

.tervena-article-header .entry-title {
    font-size: clamp(2.4rem, 5vw, 4.7rem);
    line-height: 1.02;
}

.tervena-article-meta {
    display: flex;
    gap: 1rem;
    margin-top: 1.15rem;
    color: var(--tervena-muted);
    font-size: 0.74rem;
    text-transform: uppercase;
}

.tervena-article-media {
    margin: 2rem 0;
}

.tervena-article-media img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 720px;
    object-fit: cover;
}

.tervena-article .entry-content {
    max-width: 820px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.08rem;
    line-height: 1.82;
}

.tervena-article .entry-content h2,
.tervena-article .entry-content h3 {
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.16;
}

.tervena-archive-header {
    margin-bottom: 1.2rem;
    padding: clamp(1.5rem, 3vw, 3rem);
    border-left: 8px solid var(--tervena-accent);
}

.tervena-archive-header h1 {
    font-size: clamp(2.2rem, 4vw, 4rem);
    line-height: 1;
}

.tervena-archive-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: var(--tervena-border);
    border: 1px solid var(--tervena-border);
}

.tervena-archive-card {
    background: var(--tervena-paper);
}

.tervena-archive-media {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.tervena-archive-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tervena-archive-copy {
    padding: 1.35rem;
}

.tervena-archive-copy .tervena-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.tervena-archive-card h2 {
    margin: 0;
    font-size: 1.45rem;
    line-height: 1.12;
}

.tervena-archive-copy > p:not(.tervena-meta) {
    color: var(--tervena-muted);
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.6;
}

.tervena-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-top: 3rem;
    padding: 2rem clamp(1.25rem, 3vw, 3.5rem);
    border-top: 1px solid var(--tervena-border);
    background: var(--tervena-paper);
}

.tervena-footer a {
    font-size: 1.2rem;
    font-weight: 900;
    text-decoration: none;
}

.tervena-footer p {
    color: var(--tervena-muted);
}

/* Dziedziczony styl linków w treści: bez ikon, stałe podkreślenie. */
.tervena-theme .entry-content p a,
.tervena-theme .entry-content li a,
.tervena-theme .entry-content td a,
.tervena-theme .entry-content th a,
.tervena-theme .entry-content blockquote a,
.tervena-theme .entry-content figcaption a {
    color: var(--tervena-accent);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}

.tervena-theme .entry-content p a:hover,
.tervena-theme .entry-content p a:focus,
.tervena-theme .entry-content li a:hover,
.tervena-theme .entry-content li a:focus {
    text-decoration-thickness: 2px;
}

.tervena-image-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 180px;
    background: linear-gradient(135deg, #d6e3e1, #f1d6cb);
}

@media (max-width: 1180px) {
    .tervena-shell {
        grid-template-columns: 260px minmax(0, 1fr);
    }

    .tervena-canvas,
    .tervena-lead {
        grid-template-columns: 1fr;
    }

    .tervena-lead {
        min-height: 0;
    }

    .tervena-lead-media {
        min-height: 430px;
    }

    .tervena-route-strip {
        grid-template-columns: 1fr;
    }

    .tervena-route-strip ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tervena-feature-split {
        grid-template-columns: 1fr;
    }

    .tervena-feature-media {
        min-height: 420px;
    }
}

@media (max-width: 860px) {
    .tervena-utility {
        grid-template-columns: 1fr auto;
    }

    .tervena-utility span:nth-child(2) {
        display: none;
    }

    .tervena-shell {
        display: block;
    }

    .tervena-dock {
        position: relative;
        height: auto;
        padding: 1.2rem;
    }

    .tervena-vertical-navigation .tervena-menu {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tervena-vertical-navigation .tervena-menu > li {
        border-right: 1px solid rgba(255, 255, 255, 0.12);
    }

    .tervena-dock-widgets {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    .tervena-dock-widgets > .tervena-dock-label {
        grid-column: 1 / -1;
    }

    .tervena-stage-header {
        display: none;
    }

    .tervena-site-content {
        padding: 1rem;
    }

    .tervena-topic-board-grid,
    .tervena-archive-grid {
        grid-template-columns: 1fr;
    }

    .tervena-latest-item {
        grid-template-columns: 42px 130px minmax(0, 1fr);
    }
}

@media (max-width: 620px) {
    .tervena-utility {
        font-size: 0.58rem;
    }

    .tervena-vertical-navigation .tervena-menu,
    .tervena-dock-widgets,
    .tervena-route-strip ol {
        grid-template-columns: 1fr;
    }

    .tervena-lead-media {
        min-height: 310px;
    }

    .tervena-lead-copy {
        padding: 1.35rem;
    }

    .tervena-lead h1 {
        font-size: clamp(2rem, 11vw, 3.2rem);
    }

    .tervena-signal-card {
        grid-template-columns: 28px 86px minmax(0, 1fr);
    }

    .tervena-route-strip li {
        border-left: 0;
        border-top: 1px solid var(--tervena-border);
    }

    .tervena-section-heading {
        display: block;
    }

    .tervena-section-heading h2 {
        margin-top: 0.65rem;
        text-align: left;
    }

    .tervena-feature-copy h2 {
        font-size: 2.4rem;
    }

    .tervena-latest-item {
        grid-template-columns: 34px 1fr;
    }

    .tervena-latest-media {
        grid-column: 2;
        width: 100%;
    }

    .tervena-latest-copy {
        grid-column: 2;
    }

    .tervena-article {
        padding: 1.15rem;
    }

    .tervena-footer {
        grid-template-columns: 1fr;
    }
}


/* ===== TERVENA_0_1_2_MOBILE_MENU_LOGO_BAND_SPLIT ===== */

/*
 * Logo zajmuje pełną szerokość lewego doku. Biały pas wygląda jak
 * świadoma belka marki, a nie jak osobna karta wciśnięta w menu.
 */
.tervena-theme .tervena-brand {
    margin: -2rem -1.45rem 0;
    padding: 1.25rem 1.45rem 1.15rem;
    border-bottom: 0;
    background: #ffffff;
}

.tervena-theme .tervena-brand .tervena-logo {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
}

.tervena-theme .tervena-brand .tervena-logo .custom-logo-link {
    display: block;
    width: 100%;
}

.tervena-theme .tervena-brand .tervena-logo img,
.tervena-theme .tervena-brand .tervena-logo .custom-logo {
    width: auto;
    max-width: 100%;
    max-height: 92px;
    margin: 0;
    object-fit: contain;
}

.tervena-theme .tervena-brand p {
    margin: 0.85rem 0 0;
    color: var(--tervena-dock);
}

/*
 * Długi tytuł w sekcji „Temat w centrum” nie może wchodzić
 * na kolumnę obrazu. Kolumna tekstowa ma jawne ograniczenie,
 * mniejszą maksymalną typografię i bezpieczne łamanie wyrazów.
 */
.tervena-theme .tervena-feature-split {
    grid-template-columns: minmax(390px, 0.92fr) minmax(0, 1.38fr);
}

.tervena-theme .tervena-feature-copy {
    min-width: 0;
    overflow: hidden;
    padding-right: clamp(2.2rem, 3.4vw, 4rem);
}

.tervena-theme .tervena-feature-copy h2 {
    max-width: 100%;
    font-size: clamp(2.25rem, 3.35vw, 3.5rem);
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}

/*
 * Na desktopie details jest technicznym wrapperem. Jego zawartość
 * pozostaje stale widoczna, nawet gdy element nie ma atrybutu open.
 */
@media (min-width: 861px) {
    .tervena-theme .tervena-mobile-panel {
        display: block;
    }

    .tervena-theme .tervena-mobile-panel > summary {
        display: none;
    }

    .tervena-theme .tervena-mobile-panel:not([open]) > .tervena-mobile-panel-body,
    .tervena-theme .tervena-mobile-panel > .tervena-mobile-panel-body {
        display: block !important;
    }
}

/*
 * Na telefonie użytkownik widzi logo i jeden przycisk. Wyszukiwarka,
 * kategorie i wszystkie widgety są schowane w natywnym, dostępnym
 * panelu details. Treść strony zaczyna się zaraz pod nim.
 */
@media (max-width: 860px) {
    .tervena-theme .tervena-dock {
        padding: 0 1rem 1rem;
    }

    .tervena-theme .tervena-brand {
        margin: 0 -1rem;
        padding: 0.9rem 1rem;
    }

    .tervena-theme .tervena-brand .tervena-logo img,
    .tervena-theme .tervena-brand .tervena-logo .custom-logo {
        max-height: 72px;
    }

    .tervena-theme .tervena-brand p {
        margin-top: 0.55rem;
        font-size: 0.66rem;
    }

    .tervena-theme .tervena-mobile-panel {
        margin: 0 -1rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    }

    .tervena-theme .tervena-mobile-panel > summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 48px;
        padding: 0.8rem 1rem;
        color: #ffffff;
        font-size: 0.75rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        cursor: pointer;
        list-style: none;
        text-transform: uppercase;
    }

    .tervena-theme .tervena-mobile-panel > summary::-webkit-details-marker {
        display: none;
    }

    .tervena-theme .tervena-mobile-panel > summary::after {
        content: "+";
        color: var(--tervena-accent);
        font-size: 1.3rem;
        line-height: 1;
    }

    .tervena-theme .tervena-mobile-panel[open] > summary::after {
        content: "−";
    }

    .tervena-theme .tervena-mobile-panel-body {
        padding: 0 1rem 1rem;
    }

    .tervena-theme .tervena-mobile-panel:not([open]) > .tervena-mobile-panel-body {
        display: none;
    }

    .tervena-theme .tervena-dock-search {
        margin-top: 1rem;
    }

    .tervena-theme .tervena-vertical-navigation .tervena-menu,
    .tervena-theme .tervena-dock-widgets {
        grid-template-columns: 1fr;
    }

    .tervena-theme .tervena-feature-split {
        grid-template-columns: 1fr;
    }

    .tervena-theme .tervena-feature-copy {
        padding: 1.55rem;
    }

    .tervena-theme .tervena-feature-copy h2 {
        font-size: clamp(2rem, 10vw, 2.75rem);
        overflow-wrap: anywhere;
    }
}

/* ===== END TERVENA_0_1_2_MOBILE_MENU_LOGO_BAND_SPLIT ===== */

/* ===== TERVENA_0_1_3_DESKTOP_MENU_RESTORE ===== */

/*
 * Na desktopie panel details jest zawsze otwarty. Atrybut open jest
 * ustawiony także w HTML, więc menu działa przed uruchomieniem JS.
 */
@media (min-width: 861px) {
    .tervena-theme .tervena-mobile-panel,
    .tervena-theme .tervena-mobile-panel[open] {
        display: block;
    }

    .tervena-theme .tervena-mobile-panel > summary {
        display: none !important;
    }

    .tervena-theme .tervena-mobile-panel > .tervena-mobile-panel-body,
    .tervena-theme .tervena-mobile-panel[open] > .tervena-mobile-panel-body {
        display: block !important;
    }
}

/*
 * Na telefonie skrypt usuwa open. Reguły pozostają zgodne z natywnym
 * działaniem details i nie wpływają na menu desktopowe.
 */
@media (max-width: 860px) {
    .tervena-theme .tervena-mobile-panel:not([open]) > .tervena-mobile-panel-body {
        display: none !important;
    }

    .tervena-theme .tervena-mobile-panel[open] > .tervena-mobile-panel-body {
        display: block !important;
    }
}

/* ===== END TERVENA_0_1_3_DESKTOP_MENU_RESTORE ===== */