/*
 * Waveris — panorama routeboard.
 */

:root {
    --waveris-bg: #f5f0e7;
    --waveris-paper: #fffdf8;
    --waveris-ink: #122f46;
    --waveris-deep: #10283d;
    --waveris-sky: #dce9f1;
    --waveris-accent: #c65d43;
    --waveris-gold: #d6a348;
    --waveris-muted: #667784;
    --waveris-line: #d6d0c7;
}

.waveris-theme {
    margin: 0;
    background: var(--waveris-bg);
    color: var(--waveris-ink);
}

.waveris-theme,
.waveris-theme button,
.waveris-theme input,
.waveris-theme textarea,
.waveris-theme select {
    font-family: Arial, Helvetica, sans-serif;
}

.waveris-theme img {
    max-width: 100%;
    height: auto;
}

.waveris-theme a {
    color: inherit;
}

.waveris-topline {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    min-height: 34px;
    padding: 0 1rem;
    background: var(--waveris-deep);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.waveris-topline span:nth-child(2) {
    text-align: center;
}

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

.waveris-header {
    background: var(--waveris-paper);
    border-bottom: 1px solid var(--waveris-line);
}

.waveris-masthead {
    display: grid;
    grid-template-columns: minmax(300px, 1fr) minmax(280px, 0.8fr) minmax(320px, 1fr);
    align-items: stretch;
    width: min(100% - 2rem, 1500px);
    min-height: 168px;
    margin: 0 auto;
}

.waveris-header-search,
.waveris-brand,
.waveris-header-note {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.5rem 2rem;
}

.waveris-header-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-content: center;
    background: var(--waveris-sky);
}

.waveris-header-search input {
    min-width: 0;
    min-height: 48px;
    padding: 0.8rem 1rem;
    border: 1px solid #b7c8d4;
    background: #fff;
    color: var(--waveris-ink);
}

.waveris-header-search button,
.waveris-toolbox button,
.waveris-toolbox .search-submit {
    min-height: 48px;
    padding: 0.75rem 1rem;
    border: 0;
    background: var(--waveris-accent);
    color: #fff;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
}

.waveris-brand {
    align-items: center;
    border-right: 1px solid var(--waveris-line);
    border-left: 1px solid var(--waveris-line);
    background: #fff;
    text-align: center;
}

.waveris-logo img,
.waveris-logo .custom-logo {
    display: block;
    width: auto;
    max-width: 255px;
    max-height: 94px;
    object-fit: contain;
}

.waveris-site-name {
    font-size: 2.6rem;
    font-weight: 800;
    text-decoration: none;
}

.waveris-brand p {
    margin: 0.75rem 0 0;
    color: var(--waveris-muted);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.waveris-header-note {
    background: var(--waveris-gold);
}

.waveris-header-note span {
    margin-bottom: 0.75rem;
    color: var(--waveris-deep);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.waveris-header-note strong {
    max-width: 430px;
    font-size: clamp(1.55rem, 2vw, 2.35rem);
    line-height: 1.04;
}

.waveris-route-nav {
    border-top: 1px solid var(--waveris-line);
    background: var(--waveris-deep);
    color: #fff;
}

.waveris-route-nav-inner {
    width: min(100% - 2rem, 1500px);
    margin: 0 auto;
    overflow-x: auto;
    scrollbar-width: thin;
}

.waveris-menu {
    display: flex;
    min-width: max-content;
    margin: 0;
    padding: 0;
    list-style: none;
}

.waveris-menu > li {
    border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.waveris-menu > li:first-child {
    border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.waveris-menu > li > a {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.7rem;
    align-items: center;
    min-height: 56px;
    padding: 0.7rem 1rem;
    font-size: 0.68rem;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}

.waveris-menu > li:nth-child(odd) > a {
    background: rgba(214, 163, 72, 0.12);
}

.waveris-menu small {
    color: var(--waveris-gold);
    font-size: 0.58rem;
}

.waveris-home,
.waveris-archive,
.waveris-single,
.waveris-page,
.waveris-not-found {
    width: min(100% - 2rem, 1500px);
    margin: 0 auto;
    padding: 2.5rem 0 5rem;
}

.waveris-panorama {
    position: relative;
    padding-bottom: 4.2rem;
}

.waveris-panorama-story {
    display: grid;
    grid-template-columns: minmax(380px, 0.72fr) minmax(0, 1.28fr);
    min-height: 610px;
    border: 1px solid var(--waveris-line);
    background: var(--waveris-paper);
    overflow: hidden;
}

.waveris-panorama-copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem;
    background: var(--waveris-sky);
}

.waveris-panorama-copy::after {
    content: "";
    position: absolute;
    top: 0;
    right: -90px;
    bottom: 0;
    width: 180px;
    background: var(--waveris-sky);
    clip-path: polygon(0 0, 50% 0, 100% 100%, 0 100%);
}

.waveris-panorama-number {
    position: absolute;
    top: 1.4rem;
    left: 1.4rem;
    color: rgba(18, 47, 70, 0.12);
    font-size: 7rem;
    font-weight: 900;
    line-height: 1;
}

.waveris-label,
.waveris-category {
    position: relative;
    z-index: 2;
    margin: 0;
    color: var(--waveris-accent);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.waveris-category {
    margin-top: 0.75rem;
    color: #3f697f;
}

.waveris-panorama-copy h1 {
    position: relative;
    z-index: 2;
    margin: 0.9rem 0 1rem;
    font-size: clamp(2.9rem, 4.1vw, 5.4rem);
    line-height: 0.94;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.waveris-panorama-copy h1 a {
    text-decoration: none;
}

.waveris-panorama-excerpt {
    position: relative;
    z-index: 2;
    color: var(--waveris-muted);
    font-size: 1rem;
    line-height: 1.55;
}

.waveris-panorama-excerpt p {
    margin: 0;
}

.waveris-panorama-meta {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin-top: 1.4rem;
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.waveris-panorama-meta a {
    text-decoration: underline;
    text-underline-offset: 0.22em;
}

.waveris-panorama-media {
    display: block;
    min-height: 610px;
    background: #d8d1c6;
}

.waveris-panorama-media img {
    width: 100%;
    height: 100%;
    min-height: 610px;
    object-fit: cover;
}

.waveris-route-cards {
    position: absolute;
    right: 1.5rem;
    bottom: 0;
    z-index: 5;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(930px, calc(100% - 160px));
    border: 1px solid var(--waveris-line);
    background: var(--waveris-paper);
    box-shadow: 0 18px 40px rgba(18, 47, 70, 0.14);
}

.waveris-route-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.8rem;
    min-width: 0;
    padding: 1.1rem;
    border-right: 1px solid var(--waveris-line);
}

.waveris-route-card:last-child {
    border-right: 0;
}

.waveris-route-card > span {
    color: var(--waveris-accent);
    font-size: 0.66rem;
    font-weight: 800;
}

.waveris-route-card p {
    margin: 0 0 0.4rem;
    color: var(--waveris-muted);
    font-size: 0.58rem;
    font-weight: 800;
    text-transform: uppercase;
}

.waveris-route-card h2 {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.18;
}

.waveris-route-card h2 a {
    text-decoration: none;
}

.waveris-reading-shell {
    display: grid;
    grid-template-columns: 285px minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
    margin-top: 3rem;
}

.waveris-category-spine {
    position: sticky;
    top: 1rem;
    border-top: 10px solid var(--waveris-gold);
    background: var(--waveris-deep);
    color: #fff;
}

.waveris-category-spine header {
    padding: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.waveris-category-spine header h2 {
    margin: 0.65rem 0 0;
    font-size: 2rem;
    line-height: 1;
}

.waveris-category-spine ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.waveris-category-spine li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.waveris-category-spine a {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.7rem;
    align-items: center;
    padding: 1rem 1.1rem;
    color: #fff;
    text-decoration: none;
}

.waveris-category-spine span {
    color: var(--waveris-gold);
    font-size: 0.63rem;
    font-weight: 800;
}

.waveris-category-spine strong {
    font-size: 0.72rem;
    text-transform: uppercase;
}

.waveris-category-spine small {
    color: rgba(255, 255, 255, 0.6);
}

.waveris-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 0.55fr);
    gap: 2rem;
    align-items: end;
    margin-bottom: 1.8rem;
    padding-bottom: 1rem;
    border-bottom: 3px solid var(--waveris-ink);
}

.waveris-section-heading h2 {
    margin: 0.55rem 0 0;
    font-size: clamp(2.1rem, 3.1vw, 3.8rem);
    line-height: 0.98;
}

.waveris-section-heading > p {
    margin: 0;
    color: var(--waveris-muted);
    line-height: 1.5;
}

.waveris-stream-list {
    display: grid;
    gap: 2rem;
}

.waveris-wave-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    min-height: 340px;
    border: 1px solid var(--waveris-line);
    background: var(--waveris-paper);
    overflow: hidden;
}

.waveris-wave-card:nth-child(even) {
    grid-template-columns: minmax(360px, 0.95fr) minmax(0, 1.05fr);
    margin-left: 4rem;
}

.waveris-wave-card:nth-child(odd) {
    margin-right: 4rem;
}

.waveris-wave-card:nth-child(even) .waveris-wave-media {
    grid-column: 2;
}

.waveris-wave-card:nth-child(even) .waveris-wave-copy {
    grid-column: 1;
    grid-row: 1;
}

.waveris-wave-media {
    display: block;
    min-height: 340px;
    background: #d8d1c6;
}

.waveris-wave-media img {
    width: 100%;
    height: 100%;
    min-height: 340px;
    object-fit: cover;
}

.waveris-wave-copy {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem;
}

.waveris-wave-number {
    position: absolute;
    top: 0.9rem;
    right: 1rem;
    color: rgba(18, 47, 70, 0.12);
    font-size: 5rem;
    font-weight: 900;
    line-height: 1;
}

.waveris-wave-copy > p,
.waveris-latest-row > div > p,
.waveris-archive-copy > p {
    position: relative;
    z-index: 2;
    display: flex;
    gap: 0.8rem;
    justify-content: space-between;
    margin: 0 0 0.7rem;
    color: var(--waveris-accent);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.waveris-wave-copy h3,
.waveris-archive-copy h2 {
    position: relative;
    z-index: 2;
    margin: 0;
    font-size: clamp(1.55rem, 2.2vw, 2.35rem);
    line-height: 1.05;
}

.waveris-wave-copy h3 a,
.waveris-archive-copy h2 a {
    text-decoration: none;
}

.waveris-wave-copy > div,
.waveris-archive-copy > div,
.waveris-latest-row > div > div {
    position: relative;
    z-index: 2;
    margin-top: 0.8rem;
    color: var(--waveris-muted);
    line-height: 1.5;
}

.waveris-wave-copy > div p,
.waveris-archive-copy > div p,
.waveris-latest-row > div > div p {
    margin: 0;
}

.waveris-more {
    position: relative;
    z-index: 2;
    display: inline-block;
    margin-top: 1rem;
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-decoration: underline;
    text-underline-offset: 0.22em;
    text-transform: uppercase;
}

.waveris-bridge {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(430px, 0.65fr);
    min-height: 500px;
    margin: 4rem 0;
    background: var(--waveris-gold);
    overflow: hidden;
}

.waveris-bridge-media {
    display: block;
    min-height: 500px;
    background: #d8d1c6;
    clip-path: polygon(0 0, 100% 0, 91% 100%, 0 100%);
}

.waveris-bridge-media img {
    width: 100%;
    height: 100%;
    min-height: 500px;
    object-fit: cover;
}

.waveris-bridge-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 2.6rem 2.6rem 2.6rem 4rem;
}

.waveris-bridge-copy h2 {
    margin: 0.8rem 0 1rem;
    font-size: clamp(2.2rem, 3vw, 3.8rem);
    line-height: 0.97;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
}

.waveris-bridge-copy h2 a {
    text-decoration: none;
}

.waveris-bridge-copy > div {
    color: #263e4b;
    line-height: 1.55;
}

.waveris-bridge-copy > div p {
    margin: 0;
}

.waveris-bridge-copy > a {
    margin-top: 1rem;
    font-size: 0.68rem;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 0.22em;
    text-transform: uppercase;
}

.waveris-latest {
    margin-top: 3rem;
}

.waveris-latest-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid var(--waveris-line);
    border-left: 1px solid var(--waveris-line);
}

.waveris-latest-row {
    display: grid;
    grid-template-columns: 45px 145px minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
    padding: 1rem;
    border-right: 1px solid var(--waveris-line);
    border-bottom: 1px solid var(--waveris-line);
    background: var(--waveris-paper);
}

.waveris-latest-row > span {
    color: var(--waveris-accent);
    font-size: 0.8rem;
    font-weight: 800;
}

.waveris-latest-media {
    display: block;
    min-height: 90px;
    background: #d8d1c6;
    overflow: hidden;
}

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

.waveris-latest-row h3 {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.13;
}

.waveris-latest-row h3 a {
    text-decoration: none;
}

.waveris-tool-deck {
    margin: 4rem calc(50% - 50vw) -5rem;
    padding: 2.5rem max(1rem, calc((100vw - 1500px) / 2));
    background: var(--waveris-deep);
    color: #fff;
}

.waveris-toolbox-heading {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: baseline;
    margin-bottom: 1.4rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.waveris-toolbox-heading span {
    color: var(--waveris-gold);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.waveris-toolbox-heading strong {
    font-size: 1.45rem;
}

.waveris-toolbox-widgets {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.waveris-toolbox-widgets > .widget {
    min-width: 0;
    margin: 0;
    padding: 1.1rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.05);
}

.waveris-toolbox-widgets > [id^="arpw-widget-"] {
    grid-column: 1 / -1;
}

.waveris-toolbox .widget-title,
.waveris-toolbox .wp-block-heading {
    margin: 0 0 0.8rem;
    color: #fff;
    font-size: 1rem;
}

.waveris-toolbox a {
    color: #fff;
}

.waveris-toolbox ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.waveris-toolbox li {
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

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

.waveris-toolbox input[type="search"],
.waveris-toolbox input[type="text"],
.waveris-toolbox .wp-block-search__input {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 0.7rem;
    border: 0;
}

.waveris-pagination,
.waveris-theme .navigation.pagination {
    margin-top: 1.6rem;
}

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

.waveris-theme .page-numbers li {
    margin: 0;
}

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

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

.waveris-archive-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 230px;
    align-items: stretch;
    margin-bottom: 2rem;
    border: 1px solid var(--waveris-line);
    background: var(--waveris-paper);
}

.waveris-archive-header > div {
    padding: 2.7rem;
    border-left: 10px solid var(--waveris-accent);
}

.waveris-archive-header h1 {
    margin: 0.7rem 0 0;
    font-size: clamp(2.8rem, 4vw, 5rem);
    line-height: 0.98;
}

.waveris-archive-header > span {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--waveris-gold);
    color: var(--waveris-deep);
    font-size: clamp(3rem, 5vw, 6rem);
    font-weight: 900;
}

.waveris-archive-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 2rem;
    align-items: start;
}

.waveris-archive-list {
    display: grid;
    gap: 1.4rem;
}

.waveris-archive-card {
    display: grid;
    grid-template-columns: 70px minmax(250px, 0.75fr) minmax(0, 1.25fr);
    min-height: 250px;
    border: 1px solid var(--waveris-line);
    background: var(--waveris-paper);
}

.waveris-archive-card:nth-child(even) {
    grid-template-columns: 70px minmax(0, 1.25fr) minmax(250px, 0.75fr);
}

.waveris-archive-card:nth-child(even) .waveris-archive-media {
    grid-column: 3;
}

.waveris-archive-card:nth-child(even) .waveris-archive-copy {
    grid-column: 2;
    grid-row: 1;
}

.waveris-archive-number {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--waveris-deep);
    color: var(--waveris-gold);
    font-size: 0.78rem;
    font-weight: 800;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.waveris-archive-media {
    display: block;
    min-height: 250px;
    background: #d8d1c6;
}

.waveris-archive-media img {
    width: 100%;
    height: 100%;
    min-height: 250px;
    object-fit: cover;
}

.waveris-archive-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.7rem;
}

.waveris-archive-shell .waveris-toolbox,
.waveris-page-shell .waveris-toolbox,
.waveris-article-shell .waveris-toolbox {
    padding: 1.2rem;
    background: var(--waveris-deep);
    color: #fff;
}

.waveris-archive-shell .waveris-toolbox-heading,
.waveris-page-shell .waveris-toolbox-heading,
.waveris-article-shell .waveris-toolbox-heading {
    grid-template-columns: 1fr;
}

.waveris-archive-shell .waveris-toolbox-widgets,
.waveris-page-shell .waveris-toolbox-widgets,
.waveris-article-shell .waveris-toolbox-widgets {
    display: block;
}

.waveris-archive-shell .waveris-toolbox-widgets > .widget,
.waveris-page-shell .waveris-toolbox-widgets > .widget,
.waveris-article-shell .waveris-toolbox-widgets > .widget {
    margin-bottom: 1rem;
}

.waveris-single-hero {
    position: relative;
    min-height: 620px;
    margin-bottom: 2rem;
}

.waveris-single-media {
    margin: 0 0 0 15%;
    min-height: 620px;
    background: #d8d1c6;
}

.waveris-single-media img {
    width: 100%;
    height: 100%;
    min-height: 620px;
    object-fit: cover;
}

.waveris-single-title {
    position: absolute;
    left: 0;
    bottom: 3rem;
    z-index: 2;
    width: min(720px, 62%);
    padding: 2.7rem;
    border-left: 10px solid var(--waveris-accent);
    background: var(--waveris-sky);
    box-shadow: 0 20px 50px rgba(18, 47, 70, 0.18);
}

.waveris-single-title h1 {
    margin: 0.8rem 0 1.2rem;
    font-size: clamp(2.8rem, 4.2vw, 5.3rem);
    line-height: 0.95;
}

.waveris-article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 1.2rem;
    color: var(--waveris-muted);
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
}

.waveris-article-shell {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) 330px;
    gap: 2rem;
    align-items: start;
}

.waveris-date-spine {
    position: sticky;
    top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 1.3rem;
    border-top: 9px solid var(--waveris-accent);
    background: var(--waveris-gold);
}

.waveris-date-spine strong {
    font-size: 4rem;
    line-height: 0.9;
}

.waveris-date-spine span,
.waveris-date-spine small {
    font-size: 0.66rem;
    font-weight: 800;
    text-transform: uppercase;
}

.waveris-entry-content {
    min-width: 0;
    padding: clamp(1.5rem, 3vw, 3.1rem);
    border: 1px solid var(--waveris-line);
    background: var(--waveris-paper);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.08rem;
    line-height: 1.78;
}

.waveris-entry-content > *:first-child {
    margin-top: 0;
}

.waveris-entry-content h2,
.waveris-entry-content h3,
.waveris-entry-content h4 {
    color: var(--waveris-ink);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.1;
}

.waveris-entry-content p a,
.waveris-entry-content li a,
.waveris-entry-content td a,
.waveris-entry-content blockquote a {
    color: #0b6370;
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 0.16em;
}

.waveris-entry-content p a::after,
.waveris-entry-content li a::after {
    content: none;
}

.waveris-article-footer {
    margin: 2rem 0 0 182px;
    padding: 1.5rem;
    border: 1px solid var(--waveris-line);
    background: var(--waveris-paper);
}

.waveris-article-footer .post-navigation .nav-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 1rem;
}

.waveris-article-footer .post-navigation a {
    display: block;
    padding: 1rem;
    border: 1px solid var(--waveris-line);
    text-decoration: none;
}

.waveris-article-footer .post-navigation span {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--waveris-accent);
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
}

.waveris-page-header {
    max-width: 1050px;
    margin: 0 auto 2rem;
    padding: 2.5rem;
    border-left: 10px solid var(--waveris-accent);
    background: var(--waveris-paper);
}

.waveris-page-header h1 {
    margin: 0.7rem 0 0;
    font-size: clamp(2.8rem, 4vw, 5rem);
}

.waveris-page-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 2rem;
    max-width: 1250px;
    margin: 0 auto;
}

.waveris-not-found {
    display: grid;
    min-height: 70vh;
    place-items: center;
}

.waveris-not-found section {
    max-width: 760px;
    padding: 3rem;
    border: 1px solid var(--waveris-line);
    background: var(--waveris-paper);
    text-align: center;
}

.waveris-not-found section > span {
    display: block;
    color: var(--waveris-accent);
    font-size: 8rem;
    font-weight: 900;
    line-height: 0.9;
}

.waveris-not-found h1 {
    margin: 1rem 0;
    font-size: clamp(2rem, 4vw, 4rem);
}

.waveris-button {
    display: inline-block;
    margin-top: 1rem;
    padding: 0.8rem 1rem;
    background: var(--waveris-deep);
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

.waveris-footer {
    padding: 2.5rem max(1rem, calc((100vw - 1500px) / 2));
    background: var(--waveris-deep);
    color: #fff;
}

.waveris-footer-feature {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.waveris-footer-bottom {
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    align-items: end;
}

.waveris-footer-bottom strong {
    font-size: 1.8rem;
}

.waveris-footer-bottom p {
    margin: 0.5rem 0 0;
    color: rgba(255, 255, 255, 0.7);
}

.waveris-footer-bottom > a {
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.waveris-image-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 180px;
    background: linear-gradient(135deg, var(--waveris-sky), var(--waveris-gold));
}

@media (max-width: 1180px) {
    .waveris-masthead {
        grid-template-columns: 1fr 1fr;
    }

    .waveris-brand {
        grid-column: 1 / -1;
        grid-row: 1;
        border-right: 0;
        border-left: 0;
        border-bottom: 1px solid var(--waveris-line);
    }

    .waveris-header-search {
        grid-column: 1;
        grid-row: 2;
    }

    .waveris-header-note {
        grid-column: 2;
        grid-row: 2;
    }

    .waveris-panorama-story {
        grid-template-columns: minmax(350px, 0.8fr) minmax(0, 1.2fr);
    }

    .waveris-reading-shell {
        grid-template-columns: 240px minmax(0, 1fr);
    }

    .waveris-wave-card:nth-child(even),
    .waveris-wave-card:nth-child(odd) {
        margin-right: 0;
        margin-left: 0;
    }

    .waveris-archive-shell {
        grid-template-columns: minmax(0, 1fr) 300px;
    }

    .waveris-article-shell {
        grid-template-columns: 120px minmax(0, 1fr);
    }

    .waveris-article-shell .waveris-toolbox {
        grid-column: 1 / -1;
    }

    .waveris-article-footer {
        margin-left: 152px;
    }
}

@media (max-width: 860px) {
    .waveris-topline {
        grid-template-columns: 1fr auto;
        font-size: 0.56rem;
    }

    .waveris-topline span:nth-child(2) {
        display: none;
    }

    .waveris-masthead {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .waveris-brand,
    .waveris-header-search,
    .waveris-header-note {
        grid-column: 1;
        grid-row: auto;
        padding: 1rem;
    }

    .waveris-brand {
        order: 1;
    }

    .waveris-header-search {
        order: 2;
    }

    .waveris-header-note {
        order: 3;
    }

    .waveris-logo img,
    .waveris-logo .custom-logo {
        max-height: 74px;
    }

    .waveris-route-nav-inner {
        width: 100%;
    }

    .waveris-menu > li > a {
        min-height: 48px;
        padding: 0.65rem 0.8rem;
    }

    .waveris-home,
    .waveris-archive,
    .waveris-single,
    .waveris-page,
    .waveris-not-found {
        width: min(100% - 1rem, 100%);
        padding-top: 1rem;
    }

    .waveris-panorama {
        padding-bottom: 0;
    }

    .waveris-panorama-story {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .waveris-panorama-copy::after {
        display: none;
    }

    .waveris-panorama-copy {
        padding: 1.5rem;
    }

    .waveris-panorama-copy h1 {
        font-size: clamp(2.3rem, 10vw, 3.5rem);
    }

    .waveris-panorama-media,
    .waveris-panorama-media img {
        min-height: 350px;
    }

    .waveris-route-cards {
        position: static;
        grid-template-columns: 1fr;
        width: 100%;
        margin-top: 0.5rem;
        box-shadow: none;
    }

    .waveris-route-card {
        border-right: 0;
        border-bottom: 1px solid var(--waveris-line);
    }

    .waveris-reading-shell {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        margin-top: 1.5rem;
    }

    .waveris-category-spine {
        position: static;
        overflow-x: auto;
    }

    .waveris-category-spine header {
        min-width: max-content;
    }

    .waveris-category-spine ol {
        display: flex;
        min-width: max-content;
    }

    .waveris-category-spine li {
        min-width: 230px;
        border-right: 1px solid rgba(255, 255, 255, 0.15);
        border-bottom: 0;
    }

    .waveris-section-heading {
        grid-template-columns: 1fr;
        gap: 0.8rem;
    }

    .waveris-wave-card,
    .waveris-wave-card:nth-child(even) {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .waveris-wave-card:nth-child(even) .waveris-wave-media,
    .waveris-wave-card:nth-child(even) .waveris-wave-copy {
        grid-column: 1;
        grid-row: auto;
    }

    .waveris-wave-media,
    .waveris-wave-media img {
        min-height: 260px;
    }

    .waveris-wave-copy {
        padding: 1.4rem;
    }

    .waveris-bridge {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .waveris-bridge-media,
    .waveris-bridge-media img {
        min-height: 340px;
        clip-path: none;
    }

    .waveris-bridge-copy {
        padding: 1.5rem;
    }

    .waveris-bridge-copy h2 {
        font-size: clamp(1.95rem, 8vw, 2.75rem);
    }

    .waveris-latest-list {
        grid-template-columns: 1fr;
    }

    .waveris-latest-row {
        grid-template-columns: 38px 92px minmax(0, 1fr);
        gap: 0.6rem;
    }

    .waveris-latest-media,
    .waveris-latest-media img {
        min-height: 78px;
        height: 78px;
    }

    .waveris-latest-row > div > div {
        display: none;
    }

    .waveris-toolbox-widgets {
        grid-template-columns: 1fr;
    }

    .waveris-toolbox-widgets > [id^="arpw-widget-"] {
        grid-column: 1;
    }

    .waveris-archive-header {
        grid-template-columns: 1fr 80px;
    }

    .waveris-archive-header > div {
        padding: 1.4rem;
    }

    .waveris-archive-header > span {
        font-size: 2.5rem;
    }

    .waveris-archive-shell,
    .waveris-page-shell {
        grid-template-columns: 1fr;
    }

    .waveris-archive-card,
    .waveris-archive-card:nth-child(even) {
        grid-template-columns: 44px 1fr;
    }

    .waveris-archive-card:nth-child(n) .waveris-archive-number {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    .waveris-archive-card:nth-child(n) .waveris-archive-media {
        grid-column: 2;
        grid-row: 1;
    }

    .waveris-archive-card:nth-child(n) .waveris-archive-copy {
        grid-column: 2;
        grid-row: 2;
    }

    .waveris-archive-media,
    .waveris-archive-media img {
        min-height: 230px;
    }

    .waveris-single-hero {
        min-height: 0;
    }

    .waveris-single-media {
        margin-left: 0;
        min-height: 360px;
    }

    .waveris-single-media img {
        min-height: 360px;
    }

    .waveris-single-title {
        position: relative;
        bottom: auto;
        width: auto;
        margin-top: -3rem;
        padding: 1.5rem;
    }

    .waveris-single-title h1 {
        font-size: clamp(2.3rem, 10vw, 3.8rem);
    }

    .waveris-article-shell {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .waveris-date-spine {
        position: static;
        display: grid;
        grid-template-columns: auto auto 1fr 1fr;
        align-items: center;
    }

    .waveris-date-spine strong {
        font-size: 2rem;
    }

    .waveris-entry-content {
        padding: 1.4rem;
        font-size: 1rem;
    }

    .waveris-article-footer {
        margin-left: 0;
    }

    .waveris-article-footer .post-navigation .nav-links {
        grid-template-columns: 1fr;
    }

    .waveris-footer-bottom {
        display: grid;
        grid-template-columns: 1fr;
    }
}


/* ===== WAVERIS_0_1_1_VISUAL_MOBILE_FIXES ===== */

/* Stabilne obliczanie szerokości i brak globalnego poziomego przewijania. */
.waveris-theme {
    overflow-x: hidden;
}

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

/* Poprawiony kontrast nagłówka w bocznym indeksie kategorii. */
.waveris-theme .waveris-category-spine header h2 {
    color: #fff;
}

/* Długie tytuły mają bezpieczniejsze proporcje na różnych portalach. */
.waveris-theme .waveris-panorama-copy h1 {
    font-size: clamp(2.7rem, 3.65vw, 4.85rem);
    line-height: 0.96;
}

.waveris-theme .waveris-bridge-copy h2 {
    font-size: clamp(2.05rem, 2.65vw, 3.35rem);
    line-height: 1;
}

.waveris-theme .waveris-single-title h1 {
    font-size: clamp(2.65rem, 3.75vw, 4.75rem);
    line-height: 0.97;
}

/* Zwykłe widgety w dwóch kolumnach, Random Posts zawsze na pełną szerokość. */
.waveris-theme .waveris-tool-deck .waveris-toolbox-widgets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.waveris-theme .waveris-tool-deck .waveris-toolbox-widgets > [id^="arpw-widget-"] {
    grid-column: 1 / -1;
    width: auto;
    min-width: 0;
    max-width: none;
    overflow: visible;
}

/* Wewnętrzne przewijanie menu nie może rozszerzać całej strony. */
.waveris-theme .waveris-route-nav,
.waveris-theme .waveris-route-nav-inner,
.waveris-theme .waveris-category-spine {
    max-width: 100%;
}

@media (max-width: 860px) {
    .waveris-theme .waveris-panorama-copy h1 {
        font-size: clamp(2.05rem, 9.25vw, 3.05rem);
        line-height: 0.98;
    }

    .waveris-theme .waveris-single-title h1 {
        font-size: clamp(2.15rem, 9.25vw, 3.35rem);
        line-height: 0.98;
    }

    .waveris-theme .waveris-bridge-copy h2 {
        font-size: clamp(1.85rem, 7.6vw, 2.55rem);
    }

    .waveris-theme .waveris-tool-deck .waveris-toolbox-widgets {
        grid-template-columns: 1fr;
    }

    .waveris-theme .waveris-tool-deck .waveris-toolbox-widgets > [id^="arpw-widget-"] {
        grid-column: 1;
    }

    .waveris-theme .waveris-route-cards,
    .waveris-theme .waveris-panorama-story,
    .waveris-theme .waveris-reading-shell,
    .waveris-theme .waveris-stream,
    .waveris-theme .waveris-latest,
    .waveris-theme .waveris-tool-deck {
        min-width: 0;
        max-width: 100%;
    }
}

@media (max-width: 420px) {
    .waveris-theme .waveris-header-search {
        grid-template-columns: minmax(0, 1fr) 94px;
        padding: 1rem;
    }

    .waveris-theme .waveris-header-search input {
        padding-right: 0.55rem;
        padding-left: 0.75rem;
        font-size: 0.93rem;
    }

    .waveris-theme .waveris-header-search button {
        padding-right: 0.55rem;
        padding-left: 0.55rem;
        font-size: 0.95rem;
    }

    .waveris-theme .waveris-header-note strong {
        font-size: 1.55rem;
        line-height: 1.06;
    }
}

/* ===== END WAVERIS_0_1_1_VISUAL_MOBILE_FIXES ===== */