/*
 * TCRserver Docs
 * Gutenberg-Inhalte im Frontend
 */

.tcr-docs-content {
    font-size: 17px;
    line-height: 1.7;
    color: #555555;
}


/*
 * Absätze
 */
.tcr-docs-content p {
    margin: 0 0 1.4em;
}


/*
 * Überschriften
 */
.tcr-docs-content h2 {
    margin-top: 2.2em;
    margin-bottom: 0.7em;

    font-size: 1.65em;
    line-height: 1.25;
    font-weight: 600;

    color: #003470;
}

.tcr-docs-content h3 {
    margin-top: 1.8em;
    margin-bottom: 0.6em;

    font-size: 1.3em;
    line-height: 1.3;
    font-weight: 600;

    color: #555555;
}


/*
 * Links
 */
.tcr-docs-content a {
    color: #003470;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.tcr-docs-content a:hover {
    color: #FF7300;
}


/*
 * Listen
 */
.tcr-docs-content ul,
.tcr-docs-content ol {
    margin: 0 0 1.5em;
    padding-left: 1.6em;
}

.tcr-docs-content li {
    margin-bottom: 0.45em;
}


/*
 * Bilder
 */
.tcr-docs-content img {
    max-width: 100%;
    height: auto;

    border-radius: 6px;
}

.tcr-docs-content figure {
    margin-top: 2em;
    margin-bottom: 2em;
}

.tcr-docs-content figcaption {
    margin-top: 0.6em;

    font-size: 0.88em;
    line-height: 1.5;

    color: #777777;
}


/*
 * Trennlinie
 */
.tcr-docs-content hr {
    margin: 2.5em 0;

    border: 0;
    border-top: 1px solid #dddddd;
}


/*
 * Zitate / Hinweise
 */
.tcr-docs-content blockquote {
    margin: 1.8em 0;
    padding: 1em 1.3em;

    border-left: 4px solid #FF7300;

    background: #f7f7f7;
}

.tcr-docs-content blockquote p:last-child {
    margin-bottom: 0;
}


/*
 * Tabellen
 */
.tcr-docs-content table {
    width: 100%;
    margin: 1.8em 0;

    border-collapse: collapse;
}

.tcr-docs-content th,
.tcr-docs-content td {
    padding: 10px 12px;

    border: 1px solid #dddddd;

    text-align: left;
    vertical-align: top;
}

.tcr-docs-content th {
    font-weight: 600;

    background: #f5f5f5;
}


/*
 * Inline-Code
 */
.tcr-docs-content :not(pre) > code {
    padding: 2px 5px;

    border-radius: 4px;

    background: #f1f3f5;

    font-size: 0.92em;
}

.tcr-docs-content .docs-note,
.tcr-docs-content .docs-tip,
.tcr-docs-content .docs-warning {
    margin: 1.8em 0;
    padding: 16px 18px;

    border-radius: 6px;
}

.tcr-docs-content .docs-note {
    background: #eef5ff;
    border-left: 4px solid #6ec1e4;
}

.tcr-docs-content .docs-tip {
    background: #f4faef;
    border-left: 4px solid #6fae58;
}

.tcr-docs-content .docs-warning {
    background: #fff6ed;
    border-left: 4px solid #ff7300;
}






/*
 * TCRserver Docs – Suche
 */

.tcr-docs-search {
    position: relative;

    display: flex !important;
    align-items: center;

    width: 100% !important;
    max-width: 500px;

    min-height: 58px;

    padding: 5px;

    background: #ffffff;

    border: 1px solid rgba(0, 52, 112, 0.08);
    border-radius: 10px;

    box-shadow: 0 8px 24px rgba(0, 52, 112, 0.14);

    box-sizing: border-box;
}


/*
 * Eingabefeld
 */
.tcr-docs-search .tcr-docs-search__input {
    flex: 1 1 auto;

    width: auto !important;
    min-width: 0 !important;

    height: 46px !important;

    margin: 0 !important;
    padding: 0 18px 0 48px !important;

    border: 0 !important;
    border-radius: 0 !important;

    outline: 0 !important;
    box-shadow: none !important;

    background-color: #ffffff !important;

    color: #555555 !important;

    font-size: 16px !important;
    font-weight: 400;
    line-height: 46px;

    box-sizing: border-box;

    /*
     * Lupe
     */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23003470' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important;

    background-repeat: no-repeat !important;
    background-position: 17px center !important;
    background-size: 20px 20px !important;
}


.tcr-docs-search .tcr-docs-search__input::placeholder {
    color: #7a7a7a !important;
    opacity: 1;
}


/*
 * Fokus auf komplettes Formular
 */
.tcr-docs-search:focus-within {
    border-color: rgba(0, 52, 112, 0.22);

    box-shadow:
            0 8px 26px rgba(0, 52, 112, 0.16);
}

/*
 * Button
 */
.tcr-docs-search .tcr-docs-search__button {
    flex: 0 0 auto;

    width: auto !important;
    height: 46px !important;

    margin: 0 !important;
    padding: 0 25px !important;

    border: 0 !important;
    border-radius: 7px !important;

    background: #FF7300 !important;

    color: #ffffff !important;

    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 46px !important;

    box-shadow: none !important;

    cursor: pointer;

    transition: background-color 0.2s ease,
    transform 0.15s ease;
}


.tcr-docs-search .tcr-docs-search__button:hover {
    background: #e96800 !important;
    color: #ffffff !important;
}


.tcr-docs-search .tcr-docs-search__button:focus {
    outline: 2px solid rgba(255, 115, 0, 0.30);
    outline-offset: 2px;
}


.tcr-docs-search .tcr-docs-search__button:active {
    transform: translateY(1px);
}


/*
 * Mobile
 */
@media (max-width: 767px) {

    .tcr-docs-search {
        max-width: 100%;
        min-height: 54px;

        padding: 4px;
    }

    .tcr-docs-search .tcr-docs-search__input {
        height: 44px !important;

        padding-left: 42px !important;

        font-size: 15px !important;

        background-position: 14px center !important;
        background-size: 18px 18px !important;
    }

    .tcr-docs-search .tcr-docs-search__button {
        height: 44px !important;

        padding: 0 18px !important;

        line-height: 44px !important;

        font-size: 14px !important;
    }
}

/*
 * Docs Kategorie – Artikelliste
 */

.docs-category-list .elementor-posts-container {
    display: block;
}

.docs-category-list .elementor-posts-container .elementor-post {
    position: relative;

    margin: 0 !important;
    padding: 22px 44px 22px 0 !important;

    border-bottom: 1px solid #e3e8ee !important;

    transition:
            background-color 0.2s ease,
            padding-left 0.2s ease;
}

.docs-category-list .elementor-posts-container .elementor-post:first-child {
    border-top: 1px solid #e3e8ee !important;
}

.docs-category-list .elementor-post:hover {
    padding-left: 12px;

    background: #f7faff;
}

.docs-category-list .elementor-post__excerpt {
    margin-top: 5px !important;
    margin-bottom: 0 !important;

    color: #666666;

    font-size: 14px;
    line-height: 1.5;
}

.docs-category-list .elementor-post__title {
    margin: 0 !important;

    font-size: 18px;
    line-height: 1.35;
    font-weight: 600;
}

/*
 * Elementor erzeugt beim Classic Skin
 * teilweise eigene Abstände.
 */
.docs-category-list .elementor-post__text {
    margin: 0 !important;
}

.docs-category-list .elementor-post__title {
    margin: 0 !important;

    font-size: 18px;
    line-height: 1.4;
    font-weight: 600;
}

.docs-category-list .elementor-post__title a {
    display: block;

    color: #555555;

    text-decoration: none;

    transition: color 0.2s ease;
}

.docs-category-list .elementor-post:hover .elementor-post__title a {
    color: #003470;
}


/*
 * Pfeil rechts
 */
.docs-category-list .elementor-post::after {
    content: "›";

    position: absolute;
    top: 50%;
    right: 16px;

    color: #6ec1e4;

    font-size: 24px;
    line-height: 1;

    transform: translateY(-50%);

    transition:
            color 0.2s ease,
            transform 0.2s ease;
}

.docs-category-list .elementor-post:hover::after {
    color: #ff7300;

    transform:
            translateY(-50%)
            translateX(3px);
}

/*
 * Docs Kategorienavigation
 */

.tcr-docs-category-nav {
    width: 100%;
}

.tcr-docs-category-nav__title {
    margin-bottom: 12px;

    color: #003470;

    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
}

.tcr-docs-category-nav__list {
    border-top: 1px solid #e3e8ee;
}

.tcr-docs-category-nav__item {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 13px 10px;

    border-bottom: 1px solid #e3e8ee;

    color: #555555;

    text-decoration: none;

    transition:
            background-color 0.2s ease,
            color 0.2s ease,
            padding-left 0.2s ease;
}

.tcr-docs-category-nav__item:hover {
    padding-left: 14px;

    background: #f7faff;

    color: #003470;
}

.tcr-docs-category-nav__item.is-active {
    padding-left: 14px;

    background: #edf5ff;

    color: #003470;

    font-weight: 600;

    border-left: 3px solid #ff7300;
}

.tcr-docs-category-nav__arrow {
    color: #6ec1e4;

    font-size: 20px;
    line-height: 1;

    transition:
            color 0.2s ease,
            transform 0.2s ease;
}

.tcr-docs-category-nav__item:hover
.tcr-docs-category-nav__arrow {
    color: #ff7300;

    transform: translateX(2px);
}

/*
 * Docs Artikel – Breadcrumb
 */

.elementor .tcr-docs-article-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 6px;

    margin: 0 0 10px;

    font-size: 14px;
    line-height: 1.4;
}


/*
 * Breadcrumb Links
 */
.elementor .tcr-docs-article-breadcrumb a {
    color: #003470 !important;

    text-decoration: none !important;

    box-shadow: none !important;

    transition: color 0.2s ease;
}


/*
 * Hover
 */
.elementor .tcr-docs-article-breadcrumb a:hover,
.elementor .tcr-docs-article-breadcrumb a:focus {
    color: #ff7300 !important;

    text-decoration: none !important;
}


/*
 * Trenner
 */
.elementor .tcr-docs-article-breadcrumb__separator {
    color: #6f7b8a;

    font-size: 14px;
}

/*
 * Weitere Anleitungen am Artikelende
 */

.tcr-docs-related {
    margin-top: 48px;
    padding-top: 32px;

    border-top: 1px solid #e3e8ee;
}

.tcr-docs-related__title {
    margin: 0 0 18px;

    color: #003470;

    font-size: 26px;
    line-height: 1.3;
    font-weight: 700;
}

.tcr-docs-related__list {
    width: 100%;

    border-top: 1px solid #e3e8ee;
}

.tcr-docs-related__item {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    padding: 16px 16px 16px 0;

    border-bottom: 1px solid #e3e8ee;

    color: #555555 !important;
    text-decoration: none !important;

    transition:
            background-color 0.2s ease,
            padding-left 0.2s ease;
}

.tcr-docs-related__item:hover {
    padding-left: 12px;

    background: #f7faff;

    color: #003470 !important;
}

.tcr-docs-related__item-title {
    font-size: 16px;
    line-height: 1.4;
    font-weight: 600;
}

.tcr-docs-related__arrow {
    flex: 0 0 auto;

    margin-left: 20px;

    color: #6ec1e4;

    font-size: 22px;
    line-height: 1;

    transition:
            color 0.2s ease,
            transform 0.2s ease;
}

.tcr-docs-related__item:hover
.tcr-docs-related__arrow {
    color: #ff7300;

    transform: translateX(3px);
}

/*
 * Docs-Suchergebnisse
 */

.tcr-docs-search-results {
    width: 100%;
    max-width: 1080px;
}

.tcr-docs-search-results__title {
    margin: 0 0 18px;

    color: #003470;

    font-size: 28px;
    line-height: 1.3;
    font-weight: 700;
}

.tcr-docs-search-results__list {
    width: 100%;

    border-top: 1px solid #e3e8ee;
}

.tcr-docs-search-results__item {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    padding: 18px 16px 18px 0;

    border-bottom: 1px solid #e3e8ee;

    color: #555555 !important;
    text-decoration: none !important;

    transition:
            background-color 0.2s ease,
            padding-left 0.2s ease;
}

.tcr-docs-search-results__item:hover {
    padding-left: 12px;

    background: #f7faff;

    color: #003470 !important;
}

.tcr-docs-search-results__item-title {
    font-size: 18px;
    line-height: 1.35;
    font-weight: 600;
}

.tcr-docs-search-results__arrow {
    flex: 0 0 auto;

    margin-left: 20px;

    color: #6ec1e4;

    font-size: 24px;
    line-height: 1;

    transition:
            color 0.2s ease,
            transform 0.2s ease;
}

.tcr-docs-search-results__item:hover
.tcr-docs-search-results__arrow {
    color: #ff7300;

    transform: translateX(3px);
}

.tcr-docs-search-results__empty {
    margin: 0;

    color: #555555;

    font-size: 16px;
    line-height: 1.6;
}

.tcr-docs-search-results__content {
    display: flex;
    flex-direction: column;

    min-width: 0;
}

.tcr-docs-search-results__excerpt {
    margin-top: 5px;

    color: #666666;

    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
}

/* =========================================================
   Article Breadcrumb – Rank Math
   ========================================================= */

.elementor .rank-math-breadcrumb {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.4;
}

.elementor .rank-math-breadcrumb p {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
}

.elementor .rank-math-breadcrumb a {
    color: #003470 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: color 0.2s ease;
}

.elementor .rank-math-breadcrumb a:hover,
.elementor .rank-math-breadcrumb a:focus {
    color: #ff7300 !important;
    text-decoration: none !important;
}

.elementor .rank-math-breadcrumb .separator {
    margin: 0;
    color: #6f7b8a;
    font-size: 14px;
    line-height: 1;
}