/*!
 Theme Name:   Ritter Online
 Theme URI:    http://ritter-online.de/

 Author:       Juliane Reimann <juliane@juliane-reimann.com>
               Moritz Krause <moritz.krause@winice.de>
 Author URI:   http://www.juliane-reimann.com

 Version:      2.0.0
*/

/* Gutenberg: constrain content inside full-width (alignfull) sections to the theme container width */
.ritter-gutter {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

/* Gutenberg: let alignfull blocks break out of the theme container to the viewport edges */
body:has(.alignfull) {
    overflow-x: hidden;
}

.main-content.container:has(.alignfull) {
    overflow: visible;
}

.alignfull {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
}

/* Gutenberg: blue backdrop behind a top RevSlider (replaces the WPBakery .slider-row row) */
.wp-block-group.slider-row {
    position: relative;
}

/* Keep the slider at its natural 1200px width, centered, so the blue
   backdrop stays visible at the sides like on the WPBakery pages. */
.wp-block-group.slider-row > .wp-block-group__inner-container {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* Jobs: title list on the overview page */
.job-list {
    list-style: none;
    margin: 0 0 1.5em;
    padding: 0;
}

.job-list li {
    border-bottom: 1px solid #e5e5e5;
    padding: 0.9em 0;
}

.job-list li:first-child {
    border-top: 1px solid #e5e5e5;
}

.job-list .job-list-title {
    margin: 0;
}

.job-list a {
    color: #013160;
    font-weight: 600;
    text-decoration: none;
}

.job-list a:hover,
.job-list a:focus {
    text-decoration: underline;
}

.job-list-empty {
    color: #666;
    font-style: italic;
}

/* Jobs: tabs on the "Karriere 2026" page */
.job-tabs-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    margin: 0 0 2em;
    padding: 0;
    border-bottom: 1px solid #d9d9d9;
    list-style: none;
}

.job-tab {
    appearance: none;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    color: #3e3d40;
    cursor: pointer;
    font-family: inherit;
    font-size: 1.15em;
    font-weight: 600;
    margin-bottom: -1px;
    padding: 0.6em 1.2em;
}

.job-tab:hover,
.job-tab:focus-visible {
    color: #013160;
}

.job-tab[aria-selected="true"] {
    border-bottom-color: #013160;
    color: #013160;
}

.job-tab-panel[hidden] {
    display: none;
}

/* Jobs: single job detail page */
.single-job .alt-header-element {
    margin-bottom: 60px;
}

.single-job .job-application {
    margin-bottom: 200px;
}

.single-job .job-back {
    margin-top: 3em;
}

.single-job .job-back a {
    color: #3e3d40;
}

/* Application form area on job detail pages (collapsed until clicked) */
.single-job .job-application {
    margin-top: 3em;
}

.single-job .job-application > summary.job-application-toggle {
    align-items: center;
    background-color: #013160;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-size: 1.05em;
    font-weight: 600;
    gap: 0.6em;
    list-style: none;
    padding: 0.8em 1.8em;
    text-transform: none;
}

.single-job .job-application > summary.job-application-toggle::-webkit-details-marker {
    display: none;
}

.single-job .job-application > summary.job-application-toggle::after {
    content: "▾";
    font-size: 0.85em;
}

.single-job .job-application[open] > summary.job-application-toggle::after {
    content: "▴";
}

.single-job .job-application > summary.job-application-toggle:hover,
.single-job .job-application > summary.job-application-toggle:focus-visible {
    background-color: #00254a;
    color: #ffffff;
}

.single-job .job-application-body {
    margin-top: 1.5em;
}

.single-job .job-application-position {
    color: #666;
    margin-bottom: 1.5em;
}

.single-job .job-application .form-hint {
    color: #666;
}

.single-job .job-application .job-position-note {
    color: #666;
    font-size: 0.9em;
    margin: 0;
}

/* Collapsible legal sections on job detail pages (core/details block) */
.single-job details {
    border-top: 1px solid #e5e5e5;
    padding: 0.8em 0;
}

.single-job details:last-of-type {
    border-bottom: 1px solid #e5e5e5;
}

.single-job summary {
    cursor: pointer;
    font-weight: 600;
}

.single-job details > *:not(summary) {
    margin-top: 0.8em;
}

/* Links in running text are underlined site-wide (buttons/nav excluded) */
.main-content a {
    text-decoration: underline;
}

.main-content .wp-block-button__link,
.main-content .wp-block-file__button,
.main-content .btn,
.main-content .job-tab,
.main-content .job-list a {
    text-decoration: none;
}

.main-content .job-list a:hover,
.main-content .job-list a:focus {
    text-decoration: underline;
}
