.content-exclamation {
    width: 40px;
    margin-top: 8px;
}
.content-exclamation2 {
    width: 80px;
    margin-top: 8px;
}
#flex-container {
    display: flex;
    margin-top: 0px;
}
.content-exclamation-1 {
    float: left;
    min-width: 40px;
    height: 100%;
    margin-right: 20px;
}
.content-exclamation-1a {
    float: left;
    min-width: 80px;
    height: 100%;
    margin-right: 20px;
}
.content-exclamation-2 {
    width: auto;
    height: 100%;
}
.clearboth {
    clear: both;
    height: 0px;
}
.radius-img {
    border-radius: 10px;
}
.content-info-box {
    padding: 20px 30px 0px 30px;
    border-radius: 10px;
    background-color: #eeeeee;
    border: 1px dashed #333333;
    margin-top: 30px;
    margin-bottom: 30px;
}
.content-red-underline {
    text-decoration: underline #c51227 2px;
}
.area-wysiwyg p {
    margin-bottom: 30px;
}
.area-wysiwyg ul {
    list-style-image: url('/bundles/pimcoreadmin/img/twemoji/2b55.svg');
    margin-bottom: 30px;
}

.rednumber {
    font-size: 26px;
    font-weight: bold;
    color: #c51227;
}
.redcontent {
    font-size: 15px;
    font-weight: normal;
    color: #333333;
    line-height: 150%;
    margin-bottom: 20px;
}
.area-wysiwyg li {
    padding: 0px 0px 5px 10px;
    margin-left: 10px;
}
.button-box {
    margin-top: 20px;
    margin-bottom: 30px;
    min-height: 50px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
}
.form-input-checkbox {
    margin-right: 20px;
}
.navihr {
    padding: 20px 0;
}
.area-wysiwyg h2,
.content-default h2 {
    margin-bottom: 30px !important;
    margin-top: 50px !important;
}
.area-wysiwyg h3,
.content-default h3 {
    margin-bottom: 30px !important;
}
.newsdate {
    font-size: 12px;
    font-weight: normal;
}
.pic-caption {
    position: absolute;
    text-align: right;
    height: 25px;
    width: 100%;
    bottom: 0px;
    right: 0px;
    font-size: 12px;
    padding: 0px 10px 0px 0px;
    background-color: #ffffff;
    opacity: 0.6;
}
.spalte1 {
    width: 56%;
    float: left;
    margin-top: 15px;
    margin-bottom: 15px;
    padding-left: 2%;
    padding-right: 2%;
}
.spalte2 {
    width: 20%;
    margin-top: 15px;
    margin-bottom: 15px;
    float: left;
    text-align: center;
}
.spalte1grau {
    width: 56%;
    float: left;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 2%;
    padding-right: 2%;
    background-color: #eeeeee;
}
.spalte2grau {
    width: 20%;
    padding-top: 15px;
    padding-bottom: 15px;
    float: left;
    padding-right: 2%;
    text-align: center;
    background-color: #eeeeee;
}
.card {
    padding: 10px 0 30px 0 !important;
    border: 0px !important;
}
.area-text-accordion .card {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}
.area-text-accordion .card-header {
    border-bottom: none !important;
    background: #fff;
    padding: 0 0 20px !important;
}
.btn-link {
    color: #000000 !important;
    background-color: #b3e8be !important;
    text-decoration: none !important;
}
.btn:hover {
    color: #000000 !important;
    background-color: #cccccc !important;
}
@media only screen and (min-width: 950px) {
    .content-pic {
        position: relative;
        float: right;
        width: 400px;
        margin: 0 0 30px 30px;
    }
    .logo-pic {
        float: right;
        width: 300px;
        margin: 0 0 30px 30px;
    }
    .half {
        width: 45%;
        margin-right: 5%;
        float: left;
    }
}
@media only screen and (max-width: 949px) {
    .content-pic {
        position: relative;
        width: 100%;
        margin: 30px 0 30px 0;
    }
    .logo-pic {
        max-width: 300px !important;
        margin: 30px 0 30px 0;
    }
    .half {
        width: 100%;
    }
    .btn-link {
        width: 100% !important;
    }
}
/* IKM: Override headline margin-right */
.status-block__headline {
    margin-right: 0.5rem !important;
}
/* Fix: Buttons in rater overview should not wrap text */
.rater-overview__item .button,
.rater-overview__item button {
    width: auto !important;
    min-width: 180px;
    white-space: nowrap;
}
/* Rater-Portal: compact rating form */
.rater-detail__headline {
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
    font-size: 1.5rem;
}
.rater-detail .radio-button-block {
    margin-bottom: 1.5rem;
}
.rater-detail__separator {
    margin-bottom: 1.5rem;
}
.rater-detail .container {
    padding: 1.5rem;
}
@media (min-width: 1024px) {
    .rater-detail .container {
        padding: 2rem 3rem;
    }
}
.rater-detail__textarea-wrapper {
    margin-bottom: 1.5rem;
}
.rater-detail__button-wrapper {
    gap: 1rem;
    flex-wrap: wrap;
}
.rater-detail__button-wrapper button {
    width: auto;
    min-width: 150px;
}
/* Radio button grid: prevent horizontal overflow */
.radio-button-block__wrapper {
    overflow-x: auto;
}
.radio-button-block__grid-header,
.radio-button-block__grid-row {
    min-width: 700px;
}
/* Fix radio button grid: labels and radios side by side */
.radio-button-block__grid-row {
    flex-wrap: nowrap;
}
.radio-button-block__grid-header {
    flex-wrap: nowrap;
}
.radio-button-block__flex-item:first-child {
    width: 220px;
    min-width: 220px;
    flex-shrink: 0;
    padding-right: 0.5rem;
}
.radio-button-block__header-item:first-child {
    width: 220px;
    min-width: 220px;
    flex-shrink: 0;
}
.radio-button-block__header-item:not(:first-child),
.radio-button-block__flex-item:not(:first-child) {
    width: auto;
    flex: 1;
    min-width: 0;
}
/* Top "Später fortfahren" button: smaller, single line */
#top_rating_save_for_later {
    padding: 0.4rem 1rem !important;
    font-size: 0.875rem !important;
    min-width: auto !important;
    width: auto !important;
    white-space: nowrap;
}
/* Rating detail: spacing between nav/header and top actions */
.rater-detail-top-actions {
    margin-top: 2rem;
    margin-bottom: 1.5rem;
    align-items: flex-start;
    gap: 1rem;
}
.rater-detail-top-actions .page-title,
.rater-detail-top-actions h1,
.rater-detail-top-actions .page-title__headline,
.rater-detail-top-actions .status-block__headline {
    margin: 0;
    flex: 1;
    min-width: 0;
    word-break: break-word;
}
.rater-detail-top-actions__save {
    flex-shrink: 0;
    padding-top: 0.25rem;
}
/* Rating detail headline: break after "Bewertung:" */
.rater-detail-top-actions .rater-overview__name {
    display: block;
    margin-left: 0;
    margin-top: 0.25rem;
}
/* Show username in header only when there is enough space; icon-only otherwise */
.header__user-info {
    display: none !important;
}
@media (min-width: 1024px) {
    .header__user-info {
        display: block !important;
    }
}
/* Mobile navigation: burger reveals menu, submenu toggles via .focus */
@media (max-width: 767px) {
    #menu-hauptmenue.mobile-menu {
        display: none;
        width: 100%;
    }
    #menu-hauptmenue.mobile-menu.open {
        display: block;
    }
    #menu-hauptmenue.mobile-menu.open .menunav-menu {
        display: block;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    #menu-hauptmenue.mobile-menu.open .menunav-menu > li {
        display: block;
        width: 100%;
        padding: 0;
    }
    #menu-hauptmenue.mobile-menu.open .menunav-menu > li > a {
        display: block;
        padding: 0.75rem 1.5rem;
        color: #fff;
        text-decoration: none;
    }
    #menu-hauptmenue.mobile-menu .sub-menu {
        display: block;
        list-style: none;
        padding: 0;
        margin: 0;
    }
    /* When mobile menu is OPEN, expand container to full viewport width
       so menu items reach edge-to-edge. CLOSED state keeps fit-content
       (search + hamburger remain horizontally centered). */
    #cm-primary-nav .cm-container:has(.mobile-menu.open) {
        width: 100%;
        max-width: 100%;
    }
    #menu-hauptmenue.mobile-menu.open {
        flex: 1 1 auto;
        min-width: 0;
    }
    #menu-hauptmenue.mobile-menu.open .menunav-menu {
        width: 100%;
    }
    #menu-hauptmenue.mobile-menu .cm-submenu-toggle {
        position: absolute;
        right: 0;
        top: 0;
        background: none;
        border: none;
        color: #fff;
        padding: 14px;
        cursor: pointer;
    }
    #menu-hauptmenue.mobile-menu .menu-item-has-children {
        position: relative;
    }
}

/* PDF Rater Protokoll: override status block headline */
.pdf-rater-protokoll .status-block__headline {
    text-align: left;
    font-size: 2.5rem;
    margin-right: 0;
}

/* FAQ areabrick accordion styles */
.button-box {
    margin-top: 20px;
    margin-bottom: 30px;
    min-height: 50px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
}

.area-text-accordion .card {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

.area-text-accordion .card-header {
    border-bottom: none !important;
    background: #fff;
    padding: 0 0 20px !important;
}

.area-text-accordion .btn-link {
    color: #000000 !important;
    background-color: #b3e8be !important;
    text-decoration: none !important;
    width: 100% !important;
}
