/* =========================================
   WWR DIRECTORY — MAIN SHELL
   ========================================= */

.lists-wrapper {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);

    width: 100%;
    max-width: 1400px;
    margin: 35px auto 70px;

    border: 1px solid var(--wwr-border);
    border-radius: 0;
	color: var(--wwr-post);
    box-sizing: border-box;
    align-items: stretch;
}

.lists-wrapper *,
.lists-wrapper *::before,
.lists-wrapper *::after {
    box-sizing: border-box;
}



/* =========================================================
   WWR / DIRECTORY NAVIGATION
========================================================= */

.lists-nav {
    display: flex;
    flex-direction: column;

    width: 100%;
    min-width: 0;
    height: 100%;

    margin: 0;
    padding: 0;

    box-sizing: border-box;

    border-right: 1px solid var(--wwr-border);
    background: var(--wwr-mainback);
}


/* =========================================================
   HEADER
========================================================= */

.lists-nav-head {
    padding: 28px 24px;

    border-bottom: 1px solid var(--wwr-border);

    background: color-mix(
        in srgb,
        var(--wwr-post) 2%,
        var(--wwr-mainback)
    );
}

.lists-nav-eyebrow {
    display: block;

    margin-bottom: 9px;

    color: var(--wwr-mid);

    font-size: 9px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.lists-nav-title {
    font-family: var(--wwr-title);
    font-size: 28px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: 2px;

    color: var(--wwr-post);
    text-transform: uppercase;
}


/* =========================================================
   OVERVIEW
========================================================= */

.lists-nav-home {
    padding: 12px 0;

    border-bottom: 1px solid var(--wwr-border);
}


/* =========================================================
   SECTIONS
========================================================= */

.lists-nav-group {
    display: block;

    padding: 22px 0 20px;

    border-bottom: 1px solid var(--wwr-border);
}

.lists-nav-group:last-child {
    border-bottom: 0;
}

.lists-nav-heading {
    padding: 0 24px 13px;

    color: var(--wwr-mid);

    font-size: 10px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.lists-nav-links {
    display: flex;
    flex-direction: column;

    gap: 2px;
}


/* =========================================================
   LINKS
========================================================= */

.lists-nav .lists-nav-link,
.lists-nav .lists-nav-link:link,
.lists-nav .lists-nav-link:visited {
    display: block;

    padding: 10px 22px;

    border-left: 2px solid transparent;

    background: transparent;

    color: var(--wwr-post);

    font-size: 10px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease;
}


/* HOVER */

.lists-nav .lists-nav-link:hover {
    border-left-color: var(--wwr-acc);

    background: color-mix(
        in srgb,
        var(--wwr-acc) 5%,
        transparent
    );

    color: var(--wwr-post);
}


/* KEYBOARD NAVIGATION */

.lists-nav .lists-nav-link:focus-visible {
    outline: 1px solid var(--wwr-acc);
    outline-offset: -2px;
}


/* ACTIVE PAGE */

.lists-nav .lists-nav-link[aria-current="page"] {
    border-left-color: var(--wwr-acc);

    background: color-mix(
        in srgb,
        var(--wwr-acc) 7%,
        transparent
    );

    color: var(--wwr-post);
    font-weight: 600;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .lists-nav {
        height: auto;

        border-right: 0;
        border-bottom: 1px solid var(--wwr-border);
    }

    .lists-nav-head {
        padding: 24px 20px;
    }

    .lists-nav-heading {
        padding-left: 20px;
        padding-right: 20px;
    }

    .lists-nav .lists-nav-link,
    .lists-nav .lists-nav-link:hover {
        padding-left: 18px;
        padding-right: 18px;
    }

}


/* =========================================
   CONTENT — OUTER CONTAINER ONLY
   ========================================= */

.lists-content {
    min-width: 0;
    min-height: 550px;

    padding: 42px 48px 55px;

    margin: 0;

    border: 0;
    border-radius: 0;
}

/* Prevent wide child elements from forcing
   the entire directory beyond viewport width */

.lists-content > * {
    min-width: 0;
    max-width: 100%;
}

.lists-page-title {
    font-family: var(--wwr-title); 
	text-transform: uppercase; 
	letter-spacing: 1px; 
	font-size: 50px;
	border-bottom: 1px solid var(--wwr-border);
  padding-bottom: 30px;
}

.lists-page-label {
	color: var(--wwr-mid);
}

/* =========================================
   RESPONSIVE — TABLET
   ========================================= */

@media (max-width: 1000px) {

    .lists-wrapper {
        grid-template-columns: 210px minmax(0, 1fr);
    }

    .lists-content {
        padding: 32px 30px 45px;
    }

    .lists-nav-heading {
        padding-left: 20px;
        padding-right: 20px;
    }

    .lists-nav .lists-nav-link {
        padding-left: 20px;
        padding-right: 20px;
    }

    .lists-nav .lists-nav-link:hover {
        padding-left: 26px;
    }
}


/* =========================================
   RESPONSIVE — MOBILE
   ========================================= */

@media (max-width: 700px) {

    .lists-wrapper {
        display: flex;
        flex-direction: column;

        width: 100%;
        margin: 20px auto 45px;
    }

    .lists-nav {
        width: 100%;

        border-right: 0;
        border-bottom: 1px solid var(--wwr-border);
    }

    .lists-nav-home .lists-nav-link {
        padding: 16px 20px;
    }

    .lists-nav-group {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lists-nav-heading {
        grid-column: 1 / -1;
        padding: 18px 20px 10px;
    }

    .lists-nav .lists-nav-link {
        padding: 10px 20px;

        font-size: 12px;
        overflow-wrap: anywhere;
    }

    .lists-nav .lists-nav-link:hover {
        padding-left: 20px;
    }

    .lists-content {
        min-height: 0;
        padding: 28px 22px 40px;
    }
}


/* =========================================
   VERY SMALL SCREENS
   ========================================= */

@media (max-width: 400px) {

    .lists-nav .lists-nav-link {
        padding: 10px 14px;
    }

    .lists-content {
        padding: 25px 16px 35px;
    }
}



/* =========================================
   WWR DIRECTORY — FACECLAIMS
   ========================================= */

.lists-faceclaims-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    align-items: stretch;
}

/* COLUMNS */

.lists-faceclaims-column {
    min-width: 0;
    border-right: 1px solid var(--wwr-border);
}

.lists-faceclaims-column:last-child {
    border-right: 0;
}

/* GENDER HEADINGS */

.lists-faceclaims-gender {
    margin: 0;
    padding: 18px 22px;

    border-bottom: 1px solid var(--wwr-border);
    font-size: 10px;
    font-weight: 500;
    line-height: 1.3;
	text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--wwr-acc);
}

/* ALPHABETICAL GROUPS */

.lists-faceclaims-group {
    margin: 0;
    padding: 24px 22px 28px;

    border-bottom: 1px solid var(--wwr-border);
}

.lists-faceclaims-letter {
    margin: 0 0 20px;
	color: var(--wwr-mid);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* ENTRIES */

.lists-faceclaims-entries {
    display: flex;
    flex-direction: column;
    gap: 13px;

    height: auto;
    max-height: none;
    overflow: visible;
}

.lists-faceclaims-entry {
    font-size: 13px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

/* ACTOR / FACECLAIM */

.lists-faceclaims-name {
    font-size: 10px;
  	text-transform: uppercase;
  	letter-spacing: 1px;
}

/* CHARACTER */

.lists-faceclaims-character {
    margin-left: 5px;

    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.lists-faceclaims-character a {
    text-decoration: none;
}

.lists-faceclaims-character a:hover {
    opacity: 0.8;
    text-decoration: none;
}

/* EMPTY COLUMNS */

.lists-faceclaims-column > .lists-empty {
    margin: 0;
    padding: 24px 22px;

    font-size: 12px;
    opacity: 0.6;
}

/* =========================================
   RESPONSIVE
   ========================================= */

@media (max-width: 850px) {

    .lists-faceclaims-grid {
        grid-template-columns: 1fr;
    }

    .lists-faceclaims-column {
        border-right: 0;
        border-bottom: 1px solid var(--wwr-border);
    }

    .lists-faceclaims-column:last-child {
        border-bottom: 0;
    }

    .lists-faceclaims-gender {
        padding: 17px 20px;
    }

    .lists-faceclaims-group {
        padding: 20px;
    }

}


/* =========================================================
   WWR / CHARAKTERÜBERSICHT
========================================================= */

.lists-species-group {
    border-bottom: 1px solid var(--wwr-border);
}

.lists-species-group:last-child {
    border-bottom: 0;
}

.lists-species-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding: 17px 22px;
    border-bottom: 1px solid var(--wwr-border);
}

.lists-species-name {
    color: var(--wwr-mid);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.lists-species-count {
    color: var(--wwr-mid);
    font-size: 10px;
    line-height: 1.5;
}

.lists-species-characters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 26px;
    row-gap: 18px;

    padding: 24px 22px 28px;
}

.lists-species-character {
    min-width: 0;

    font-size: 11px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .5px;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.lists-species-character a {
    text-decoration: none;
}

.lists-species-character a:hover {
    text-decoration: none;
    opacity: .8;
}


/* RESPONSIVE */

@media (max-width: 1000px) {
    .lists-species-characters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .lists-species-characters {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .lists-species-heading {
        padding: 17px 20px;
    }
}




/* =========================================================
   WWR / JOBLISTE
========================================================= */

.lists-jobs-columns {
    column-count: 3;
    column-gap: 0;
    column-rule: 1px solid var(--wwr-border);
}

.lists-job-group {
    display: inline-block;
    vertical-align: top;
    width: 100%;

    padding: 24px 22px 28px;
    box-sizing: border-box;

    border-bottom: 1px solid var(--wwr-border);

    break-inside: avoid;
}

.lists-job-name {
    margin-bottom: 16px;

    color: var(--wwr-post);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

.lists-job-characters {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lists-job-character {
    font-size: 10px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .5px;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.lists-job-character a {
    text-decoration: none;
}

.lists-job-character a:hover {
    opacity: .8;
    text-decoration: none;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {
    .lists-jobs-columns {
        column-count: 2;
    }
}

@media (max-width: 700px) {
    .lists-jobs-columns {
        column-count: 1;
    }
}

/* ==========================================
   WWR DIRECTORY — NAMENSLISTE
   ========================================== */

.lists-names {
    width: 100%;
    min-width: 0;
}

/* INDEPENDENT COLUMNS */

.lists-names-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
    width: 100%;
    min-width: 0;
    border-top: 1px solid var(--wwr-border);
    border-left: 1px solid var(--wwr-border);
}

.lists-names-column {
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-right: 1px solid var(--wwr-border);
    border-bottom: 1px solid var(--wwr-border);
}

/* COLUMN HEADINGS */

.lists-names-title,
.lists-names-dynamic-title > td {
    display: block;
    min-width: 0;
    padding: 20px 16px;
    border-bottom: 1px solid var(--wwr-border);
	
    background: transparent;
    color: var(--wwr-acc); 

    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.5;
    text-transform: uppercase;
}

.lists-names-dynamic-title strong {
    font-weight: 600;
}

/* ALPHABETICAL GROUPS */

.lists-names-group {
    padding: 18px 16px;
    border-bottom: 1px solid var(--wwr-border);
}

.lists-names-group:last-child {
    border-bottom: 0;
}

.lists-names-letter,
.lists-names-dynamic-letter > td {
    display: block;
    margin-bottom: 12px;

    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.2px;
    line-height: 1.5;
    opacity: .5;
}

/* NAME ENTRIES */

.lists-names-items,
.lists-names-dynamic-items > td {
    min-width: 0;
    font-size: 12px;
    line-height: 1.65;
}

.lists-names-item {
    display: block;
    margin-bottom: 5px;
    overflow-wrap: anywhere;
}

.lists-names-item:last-child {
    margin-bottom: 0;
}

/* OPTIONAL PLUGIN COLUMNS */

.lists-names-dynamic,
.lists-names-dynamic tbody,
.lists-names-dynamic tr,
.lists-names-dynamic td {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    border-collapse: collapse;
    box-sizing: border-box;
}

.lists-names-dynamic tr > td {
    background: transparent;
    color: inherit;
}

.lists-names-dynamic-letter {
    padding: 18px 16px 0;
}

.lists-names-dynamic-letter > td {
    padding: 0;
}

.lists-names-dynamic-items {
    padding: 0 16px 18px;
    border-bottom: 1px solid var(--wwr-border);
}

.lists-names-dynamic-items:last-child {
    border-bottom: 0;
}

.lists-names-dynamic-items > td {
    padding: 0;
}

/* HIDE OPTIONAL COLUMNS WHEN DISABLED */

.lists-names-dynamic:not(:has(.lists-names-dynamic-title > td)) {
    display: none;
}

/* RESPONSIVE */

@media (max-width: 850px) {
    .lists-names-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .lists-names-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .lists-names-title,
    .lists-names-dynamic-title > td {
        padding: 17px 16px;
    }
}
/* ==========================================
   WWR DIRECTORY — PLAYER DIRECTORY
   ========================================== */

.wwr-playerdir,
.wwr-playerdir * {
    box-sizing: border-box;
}

.wwr-playerdir {
    min-width: 0;
}

/* OVERALL STATISTICS */

.wwr-playerdir-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--wwr-border);
    margin-bottom: 22px;
}

.wwr-playerdir-summary-item {
    min-width: 0;
    padding: 17px 20px;
    font-size: 11px;
    line-height: 1.7;
    text-align: center;
}

.wwr-playerdir-summary-item + .wwr-playerdir-summary-item {
    border-left: 1px solid var(--wwr-border);
}

.wwr-playerdir-summary-item strong {
    font-weight: 600;
}

/* TWO INDEPENDENT COLUMNS */

.wwr-playerdir-grid {
    columns: 2;
    column-gap: 18px;
}

.wwr-playerdir-card {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    min-width: 0;
    margin: 0 0 18px;
    border: 1px solid var(--wwr-border);
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    overflow-wrap: anywhere;
}

/* PLAYER HEADER */

.wwr-playerdir-card-head {
    padding: 23px 25px;
}

.wwr-playerdir-playername {
    margin-bottom: 16px;
    font-family: var(--wwr-title);
    font-size: 35px;
	text-transform: uppercase; 
	letter-spacing: 1px; 
    line-height: 1.2;
    font-weight: 400;
}

.wwr-playerdir-meta {
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: 11px;
    line-height: 1.6;
}

.wwr-playerdir-meta span {
    margin-right: 8px;
    opacity: .5;
}

.wwr-playerdir-playerstats {
    margin-top: 14px;
    font-size: 11px;
    line-height: 1.6;
}

/* SMALL STATISTIC LINKS */

.wwr-playerdir-link {
    margin-top: 7px;
    font-size: 10px;
    line-height: 1.6;
}

.wwr-playerdir-link:empty {
    display: none;
}

.wwr-playerdir-link a {
    color: var(--wwr-acc);
    text-decoration: none;
    transition: color .15s ease;
}

.wwr-playerdir-link a::before {
    content: '→';
    display: inline-block;
    margin-right: 6px;
}

.wwr-playerdir-link a:hover {
    color: inherit;
    text-decoration: none;
}

/* CHARACTER SECTION */

.wwr-playerdir-character-heading {
    padding: 13px 25px;
    border-top: 1px solid var(--wwr-border);
    border-bottom: 1px solid var(--wwr-border);

    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.5;
    text-transform: uppercase;
}

.wwr-playerdir-characters {
    padding: 4px 25px;
    max-height: 480px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--wwr-border) transparent;
}

/* INDIVIDUAL CHARACTER */

.wwr-playerdir-character {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    min-width: 0;
    padding: 17px 0;
}

.wwr-playerdir-character + .wwr-playerdir-character {
    border-top: 1px solid var(--wwr-border);
}

/* UPLOADED ICON */

.wwr-playerdir-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 60px;
    border: 1px solid var(--wwr-border);
    overflow: hidden;
}

.wwr-playerdir-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wwr-playerdir-icon-empty {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: 12px;
    opacity: .35;
}

/* CHARACTER DETAILS */

.wwr-playerdir-character-info {
    flex: 1;
    min-width: 0;
}

.wwr-playerdir-character-name {
    margin-bottom: 4px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

.wwr-playerdir-character-name a {
    color: inherit;
    text-decoration: none;
    transition: color .15s ease;
}

.wwr-playerdir-character-name a:hover {
    color: var(--wwr-acc);
    text-decoration: none;
}

.wwr-playerdir-character-stats {
    font-size: 11px;
    line-height: 1.6;
    opacity: .7;
}

/* PAGINATION */

.wwr-playerdir-pagination {
    margin-top: 20px;
}

/* RESPONSIVE */

@media (max-width: 1000px) {
    .wwr-playerdir-grid {
        columns: 1;
    }
}

@media (max-width: 700px) {
    .wwr-playerdir-summary-item {
        padding: 14px 9px;
        font-size: 10px;
    }

    .wwr-playerdir-card-head {
        padding: 20px;
    }

    .wwr-playerdir-characters {
        padding: 4px 20px;
    }

    .wwr-playerdir-character-heading {
        padding: 13px 20px;
    }

    .wwr-playerdir-playername {
        font-size: 24px;
    }
}

/* ==========================================
   WWR DIRECTORY — PAARÜBERSICHT
   ========================================== */

.wwr-pairview,
.wwr-pairview * {
    box-sizing: border-box;
}

.wwr-pairview {
    min-width: 0;
}

/* ADD PAIR LINK */

.wwr-pairview-actions {
    display: flex;
    justify-content: flex-end;
    padding: 0 0 20px;
}

.wwr-pairview-actions a {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .4px;
    color: var(--wwr-acc);
    text-decoration: none;
    transition: color .15s ease;
}

.wwr-pairview-actions a:hover {
    color: inherit;
    text-decoration: none;
}

/* CATEGORY SECTIONS */

.wwr-pairview-category {
    min-width: 0;
    border: 1px solid var(--wwr-border);
    margin-bottom: 22px;
}

.wwr-pairview-category:last-child {
    margin-bottom: 0;
}

.wwr-pairview-category-title {
    padding: 17px 22px;
    border-bottom: 1px solid var(--wwr-border);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

/* TWO-COLUMN PAIR GRID */

.wwr-pairview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
}

.wwr-pairview-pair {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    padding: 30px 20px 24px;
    text-align: center;
    overflow-wrap: anywhere;
}

.wwr-pairview-pair:nth-child(odd) {
    border-right: 1px solid var(--wwr-border);
}

.wwr-pairview-pair:nth-child(n+3) {
    border-top: 1px solid var(--wwr-border);
}

/* CIRCULAR PORTRAITS */

.wwr-pairview-portraits {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 22px;
    width: 100%;
    min-width: 0;
    margin-bottom: 21px;
}

.wwr-pairview-portrait {
    flex: 0 1 105px;
    width: 105px;
    aspect-ratio: 1;
    min-width: 0;
    border: 1px solid var(--wwr-border);
    border-radius: 50%;
    overflow: hidden;
}

.wwr-pairview-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

/* CHARACTER NAMES */

.wwr-pairview-names {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    min-width: 0;
    line-height: 1.5;
}

.wwr-pairview-name {
    min-width: 0;
    font-size: 13px;
    font-weight: 600;
}

.wwr-pairview-name a {
    text-decoration: none;
    transition: color .15s ease;
}

.wwr-pairview-name a:hover {
    text-decoration: none;
}

.wwr-pairview-slash {
    font-family: var(--wwr-title);
	text-transform: uppercase; 
	letter-spacing: 2px; 
    font-size: 35px;
    font-weight: 400;
    line-height: 1;
    opacity: .35;
}

/* EDIT / DELETE OPTIONS */

.wwr-pairview-options {
    margin-top: 17px;
    width: 100%;
}

.wwr-pairview-options:empty {
    display: none;
}

.wwr-pairview-options .pairview_options {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    width: 100%;
    margin: 0;
    padding: 0;
}

.wwr-pairview-options .pairview_options a {
    font-size: 10px;
    letter-spacing: .4px;
    color: var(--wwr-acc);
    text-decoration: none;
    transition: color .15s ease;
}

.wwr-pairview-options .pairview_options a:hover {
    color: inherit;
    text-decoration: none;
}

/* RESPONSIVE */

@media (max-width: 1050px) {

    .wwr-pairview-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .wwr-pairview-pair:nth-child(odd) {
        border-right: 0;
    }

    .wwr-pairview-pair:nth-child(n+2) {
        border-top: 1px solid var(--wwr-border);
    }

}

@media (max-width: 700px) {

    .wwr-pairview-pair {
        padding: 25px 15px;
    }

    .wwr-pairview-portraits {
        gap: 15px;
    }

    .wwr-pairview-portrait {
        flex-basis: 90px;
        width: 90px;
    }

    .wwr-pairview-category-title {
        padding: 15px 18px;
    }

}

/* ==========================================
   WWR PAIRVIEW — CHARACTER COMPOSITION
   ========================================== */

.wwr-pairview-stage {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr);
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: 205px;
}

/* CHARACTER HALVES */

.wwr-pairview-person {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-width: 0;
    padding: 10px 0;
}

.wwr-pairview-person .wwr-pairview-portrait {
    flex: none;
    width: 105px;
    height: 105px;
}

.wwr-pairview-person-name {
    max-width: 100%;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    overflow-wrap: anywhere;
}

.wwr-pairview-person-name a {
    text-decoration: none;
}

/* CENTER DIVIDER */

.wwr-pairview-divider {
    justify-self: center;
    align-self: stretch;
    width: 1px;
    height: 90%;
	rotate: -10deg;
    background: var(--wwr-acc2);
    opacity: .9;
    box-shadow: 0 0 10px color-mix(in srgb, var(--wwr-acc2) 30%, transparent);
}

/* MOBILE */

@media (max-width: 700px) {

    .wwr-pairview-stage {
        grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
        min-height: 175px;
    }

    .wwr-pairview-person .wwr-pairview-portrait {
        width: 80px;
        height: 80px;
    }

    .wwr-pairview-person-name {
        font-size: 12px;
    }

}

/* ==========================================
   WWR DIRECTORY — CLUBÜBERSICHT
   ========================================== */

.wwr-clubs,
.wwr-clubs * {
    box-sizing: border-box;
}

.wwr-clubs {
    min-width: 0;
}

/* FILTER & ADD CLUB CONTROLS */

.wwr-clubs-controls {
    margin-bottom: 25px;
}

.wwr-clubs-controls > table {
    width: 100%;
    border: 0;
    border-collapse: collapse;
    margin: 0;
}

.wwr-clubs-controls > table > tbody > tr > td {
    padding: 8px 0;
    border: 0;
    background: transparent;
    text-align: right;
}

.wwr-clubs-controls form {
    font-size: 12px;
}

.wwr-clubs-controls select {
    max-width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--wwr-border);
    border-radius: 0;
}

.wwr-clubs-controls input.button {
    padding: 8px 12px;
    border: 1px solid var(--wwr-border);
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-size: 10px;
    cursor: pointer;
}

.wwr-clubs-controls summary {
    display: inline-block;
    font-size: 11px;
    color: var(--wwr-acc);
    cursor: pointer;
}

.wwr-clubs-controls summary:hover {
    color: inherit;
}

/* TWO-COLUMN GRID */

.wwr-clubs-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
}

/* CLUB CARD */

.wwr-club-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid var(--wwr-border);
    overflow-wrap: anywhere;
}

/* HEADER */

.wwr-club-head {
    padding: 22px 22px 18px;
    border-bottom: 1px solid var(--wwr-border);
}

.wwr-club-title {
    font-family: var(--wwr-title); 
	text-transform: uppercase; 
	letter-spacing: 2px; 
    font-size: 25px;
    font-weight: 400;
    line-height: 1.2;
}

.wwr-club-type {
    margin-top: 8px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    opacity: .5;
}

/* LEADER & TIME */

.wwr-club-information {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 17px 22px;
    border-bottom: 1px solid var(--wwr-border);
    font-size: 12px;
    line-height: 1.6;
}

.wwr-club-conductor span {
    margin-right: 6px;
    opacity: .5;
}

.wwr-club-conductor a {
    text-decoration: none;
}

.wwr-club-time {
    font-size: 11px;
    opacity: .7;
}

/* DESCRIPTION & MEMBERS */

.wwr-club-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    flex: 1;
    min-width: 0;
}

.wwr-club-section {
    min-width: 0;
}

.wwr-club-section + .wwr-club-section {
    border-left: 1px solid var(--wwr-border);
}

.wwr-club-section-label {
    padding: 13px 17px;
    border-bottom: 1px solid var(--wwr-border);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    opacity: .6;
}

.wwr-club-description,
.wwr-club-members {
    padding: 18px 17px;
    font-size: 12px;
    line-height: 1.75;
}

.wwr-club-description {
    white-space: pre-line;
}

/* MEMBERS */

.wwr-club-member {
    margin-bottom: 9px;
}

.wwr-club-member:last-child {
    margin-bottom: 0;
}

.wwr-club-member a {
    font-weight: 600;
    text-decoration: none;
}

.wwr-club-member a:hover,
.wwr-club-conductor a:hover {
    color: var(--wwr-acc);
    text-decoration: none;
}

.wwr-club-member-position {
    font-size: 11px;
    opacity: .6;
}

/* ACTIONS */

.wwr-club-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 17px;
    padding: 15px 22px;
    border-top: 1px solid var(--wwr-border);
}

.wwr-club-actions:not(:has(a)) {
    display: none;
}

/*
   Original plugin output:
   » <a><i class="fas ..."></i></a>

   Hide the legacy symbols and replace
   icon-only links with text labels.
*/

.wwr-club-action {
    font-size: 0;
}

.wwr-club-action > a {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--wwr-acc);
    text-decoration: none;
    cursor: pointer;
    transition: color .15s ease;
}

.wwr-club-action > a:hover {
    color: inherit;
    text-decoration: none;
}

.wwr-club-action > a > i {
    display: none;
}

/* JOIN */

.wwr-club-action > a[href*="join="]::before,
.wwr-club-action > a[onclick]::before {
    content: "→ Beitreten";
}

/* LEAVE */

.wwr-club-action > a[href*="leave="]::before {
    content: "→ Austreten";
}

/* EDIT */

.wwr-club-action > a[href*="clublist_edit"]::before {
    content: "→ Bearbeiten";
}

/* DELETE */

.wwr-club-action > a[href*="delete="]::before {
    content: "→ Löschen";
}

/* KEEP THE JOIN MODAL READABLE */

.wwr-club-action .modal {
    font-size: 12px;
    text-align: left;
    color: inherit;
}

/* PAGINATION */

.wwr-clubs-pagination {
    margin-top: 25px;
}

/* RESPONSIVE */

@media (max-width: 1100px) {

    .wwr-clubs-grid {
        grid-template-columns: minmax(0, 1fr);
    }

}

@media (max-width: 600px) {

    .wwr-club-head {
        padding: 19px;
    }

    .wwr-club-title {
        font-size: 23px;
    }

    .wwr-club-information {
        padding: 15px 19px;
    }

    .wwr-club-body {
        grid-template-columns: minmax(0, 1fr);
    }

    .wwr-club-section + .wwr-club-section {
        border-left: 0;
        border-top: 1px solid var(--wwr-border);
    }

    .wwr-club-actions {
        padding: 14px 19px;
        gap: 14px;
    }

}

/* ==========================================
   WWR DIRECTORY — RESERVIERUNGEN
   ========================================== */

.wwr-reservations,
.wwr-reservations * {
    box-sizing: border-box;
}

.wwr-reservations {
    min-width: 0;
}

/* ==========================================
   RESERVATION FORM
   ========================================== */

.wwr-reservations-form {
    padding: 10px 0 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid var(--wwr-border);
}

.wwr-reservations-form:empty {
    display: none;
}

.wwr-reservations .reservations_formularPage {
    padding: 0;
    background: transparent;
}

.wwr-reservations .reservations_formularPage form {
    width: 100%;
    max-width: 650px;
    margin: 0 auto;
}

.wwr-reservations .reservations_formular-input {
    display: grid;
    grid-template-columns: 175px minmax(0, 1fr);
    align-items: center;
    gap: 15px;
    margin-bottom: 12px;
}

.wwr-reservations .reservations_formular-label {
    width: auto;
    font-size: 11px;
    font-weight: 600;
}

.wwr-reservations .reservations_formular-select,
.wwr-reservations .reservations_formular-field {
    min-width: 0;
}

.wwr-reservations .reservations_formularPage select,
.wwr-reservations .reservations_formularPage input.textbox {
    width: 100%;
    max-width: 100%;
    min-height: 39px;
    padding: 9px 12px;
    border: 1px solid var(--wwr-border);
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-size: 12px;
    box-shadow: none;
}

.wwr-reservations .reservations_formularPage select:focus,
.wwr-reservations .reservations_formularPage input.textbox:focus {
    outline: none;
    border-color: var(--wwr-acc);
}

.wwr-reservations .reservations_formularPage input.button {
    margin-top: 12px;
    padding: 11px 19px;
    border: 1px solid var(--wwr-border);
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    transition: color .15s ease;
}

.wwr-reservations .reservations_formularPage input.button:hover {
    color: var(--wwr-acc);
}

/* ==========================================
   RESERVATION CATEGORIES
   ========================================== */

.wwr-reservation-type {
    min-width: 0;
    margin: 0 0 22px;
    border: 1px solid var(--wwr-border);
}

.wwr-reservation-type:last-child {
    margin-bottom: 0;
}

.wwr-reservation-heading {
    padding: 18px 22px;
    border-bottom: 1px solid var(--wwr-border);
    background: transparent;
    color: inherit;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

/* ==========================================
   THREE EQUAL-WIDTH GENDER COLUMNS
   ========================================== */

.wwr-reservations .reservationsSingle:has(> .reservations-reservation),
.wwr-reservations .wwr-reservation-subgroup-content:has(> .reservations-reservation) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
    align-items: stretch;
}

.wwr-reservations .reservations-reservation {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 245px;
    height: auto;
    border-right: 1px solid var(--wwr-border);
}

.wwr-reservations .reservations-reservation:nth-child(3n) {
    border-right: 0;
}

/* ==========================================
   GENDER HEADINGS
   ========================================== */

.wwr-reservations .reservations-genderline {
    flex: 0 0 auto;
    padding: 13px 17px;
    border-bottom: 1px solid var(--wwr-border);
    background: transparent;
    color: inherit;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* ==========================================
   RESERVATION ENTRIES — NO SCROLLING
   ========================================== */

.wwr-reservations .wwr-reservation-entries {
    flex: 1;
    min-width: 0;
    min-height: 0;
    height: auto;
    max-height: none;
    padding: 8px 17px;
    overflow: visible;
}

/* INDIVIDUAL RESERVATIONS */

.wwr-reservations .reservations_entry {
    padding: 12px 0;
    font-size: 12px;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.wwr-reservations .reservations_entry + .reservations_entry {
    border-top: 1px solid var(--wwr-border);
}

.wwr-reservations .reservations_entry-res {
    margin-bottom: 5px;
}

.wwr-reservations .reservations_entry-res b {
    font-weight: 500;
}

.wwr-reservations .reservations_entry-info {
    font-size: 11px;
    line-height: 1.7;
    opacity: .7;
}

/* LINKS */

.wwr-reservations .reservations_entry a {
    text-decoration: none;
    transition: color .15s ease;
	color: var(--wwr-acc);
}

.wwr-reservations .reservations_entry a:hover {
    color: var(--wwr-acc);
    text-decoration: none;
}

.wwr-reservations .reservations_entry-res .smalltext a {
    font-size: 9px;
    color: var(--wwr-mid);
}

/* ==========================================
   OPTIONAL SUBGROUPS
   ========================================== */

.wwr-reservation-subgroup {
    min-width: 0;
}

.wwr-reservation-subgroup + .wwr-reservation-subgroup {
    border-top: 1px solid var(--wwr-border);
}

.wwr-reservations .reservations-subline {
    padding: 13px 20px;
    border-bottom: 1px solid var(--wwr-border);
    background: transparent;
    color: inherit;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* ==========================================
   CATEGORIES WITHOUT GENDER DIVISION
   ========================================== */

.wwr-reservations .reservationsSingle:not(:has(> .reservations-reservation)) {
    min-height: 150px;
    height: auto;
    max-height: none;
    padding: 10px 20px;
    overflow: visible;
}

.wwr-reservations .wwr-reservation-subgroup-content:not(:has(> .reservations-reservation)) {
    min-height: 150px;
    height: auto;
    max-height: none;
    padding: 10px 20px;
    overflow: visible;
}

/* ==========================================
   RESPONSIVE
   ========================================== */

@media (max-width: 850px) {

    .wwr-reservations .reservationsSingle:has(> .reservations-reservation),
    .wwr-reservations .wwr-reservation-subgroup-content:has(> .reservations-reservation) {
        grid-template-columns: minmax(0, 1fr);
    }

    .wwr-reservations .reservations-reservation,
    .wwr-reservations .reservations-reservation:nth-child(3n) {
        min-height: 150px;
        height: auto;
        border-right: 0;
        border-bottom: 1px solid var(--wwr-border);
    }

    .wwr-reservations .reservations-reservation:last-child {
        border-bottom: 0;
    }

}

@media (max-width: 600px) {

    .wwr-reservations .reservations_formular-input {
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
    }

    .wwr-reservations-form {
        padding-bottom: 23px;
        margin-bottom: 23px;
    }

    .wwr-reservation-heading {
        padding: 15px 17px;
    }

}

/* ==========================================
   WWR DIRECTORY — BEWERBERÜBERSICHT
   ========================================== */

.wwr-applications,
.wwr-applications * {
    box-sizing: border-box;
}

.wwr-applications {
    min-width: 0;
}

/* TWO MAIN COLUMNS */

.wwr-applications-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
	padding-top: 50px;
}

.wwr-applications-column {
    min-width: 0;
    border: 1px solid var(--wwr-border);
}

/* COLUMN HEADINGS */

.wwr-applications-heading {
    padding: 18px 22px;
    border-bottom: 1px solid var(--wwr-border);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.2px;
    line-height: 1.5;
    text-transform: uppercase;
}

/* ONE ROW PER APPLICANT */

.wwr-applications-entries {
    min-width: 0;
}

.wwr-application-entry {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
    align-items: center;
    gap: 15px;
    min-width: 0;
    padding: 17px 20px;
    overflow-wrap: anywhere;
}

.wwr-application-entry + .wwr-application-entry {
    border-top: 1px solid var(--wwr-border);
}

/* CHARACTER NAME */

.wwr-application-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    min-width: 0;
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
}

.wwr-application-name a {
    text-decoration: none;
    transition: color .15s ease;
	color: var(--wwr-post);
}

.wwr-application-name a:hover {
    color: var(--wwr-acc);
    text-decoration: none;
}

/* STATUS & DETAILS — HORIZONTAL */

.wwr-application-details {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 5px 12px;
    min-width: 0;
    text-align: right;
}

.wwr-application-detail {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 5px;
    min-width: 0;
    font-size: 11px;
    line-height: 1.6;
}

/* HIDE THE REDUNDANT LABELS */

.wwr-application-label {
    display: none;
}

/* EXTENSION COUNT */

.wwr-application-extra {
    font-size: 10px;
    line-height: 1.6;
    opacity: .6;
}

.wwr-application-extra:empty {
    display: none;
}

/* SMALL ACTION LINKS */

.wwr-application-action {
    display: inline;
    font-size: 20px;
    line-height: 1.5;
}

.wwr-application-action:empty {
    display: none;
}

.wwr-application-action a {
    color: var(--wwr-acc);
    text-decoration: none;
    transition: color .15s ease;
}

.wwr-application-action a:hover {
    color: inherit;
    text-decoration: none;
}

/* EMPTY COLUMN */

.wwr-applications-empty {
    padding: 25px 20px;
    font-size: 12px;
    line-height: 1.7;
    opacity: .55;
}

/* RESPONSIVE */

@media (max-width: 950px) {

    .wwr-applications-grid {
        grid-template-columns: minmax(0, 1fr);
    }

}

@media (max-width: 600px) {

    .wwr-applications-heading {
        padding: 16px 18px;
    }

    .wwr-application-entry {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
        gap: 10px;
        padding: 15px 18px;
    }

    .wwr-application-name {
        font-size: 12px;
    }

    .wwr-application-details {
        font-size: 10px;
    }

    .wwr-applications-empty {
        padding: 22px 18px;
    }

}