/*
 Theme Name:   Twenty Twenty-Five Child
 Template:     twentytwentyfive
 Version:      06.03.2026
 Description:  Unlimited-Internet.de
 Author:       Unlimited-Internet.de
 Author URI:   https://unlimited-internet.de/
 Text Domain:  twentytwentyfive
*/


/*
Theme Name: Twenty Twenty-Five Child
Template: twentytwentyfive
Version: 26.01.2026
Description: Unlimited-Internet.de
Author: Unlimited-Internet.de
Author URI: https://unlimited-internet.de/
Text Domain: twentytwentyfive
*/

/* --------------------------------------------------------------
   1. Globale Typografie & Inline-Elemente
-------------------------------------------------------------- */

strong,
b {
    font-weight: 700;
}

/* --------------------------------------------------------------
   2. Bilder & Medien
-------------------------------------------------------------- */

.wp-block-image.alignright {
    margin-left: 0.5rem !important;
    margin-bottom: 0.2rem !important;
}

.wp-block-image.alignleft {
    margin-right: 0.5rem !important;
    margin-bottom: 0.2rem !important;
}

/* Beitragsbild nicht strecken */
.wp-block-post-featured-image img {
    width: 100%;
    max-width: 400px;
    height: auto;
    display: block;
    margin: 0 auto;
    object-fit: contain !important;
}

/* --------------------------------------------------------------
   3. Navigation / Hamburger Menü
-------------------------------------------------------------- */

/* Hamburger unter 1280px */
@media (max-width: 1279px) {
    .wp-block-navigation__responsive-container-open {
        display: flex !important;
    }
    .wp-block-navigation__responsive-container {
        display: none;
    }
    .wp-block-navigation__responsive-container.is-menu-open {
        display: block !important;
    }
}

/* Navigation ab 1280px */
@media (min-width: 1280px) {
    .wp-block-navigation__responsive-container-open {
        display: none !important;
    }
    .wp-block-navigation__responsive-container {
        display: flex !important;
    }
}

/* Menü Overlay im Vordergrund */
.wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 9999 !important;
    overflow-y: auto !important;
    background: var(--wp--preset--color--background, #fff) !important;
}

/* Hamburger Icon größer */
.wp-block-navigation__responsive-container-open svg {
    transform: scale(1.6);
    transform-origin: center;
    padding: 6px 4px 4px 4px;
}

/* Hamburger Button ausrichten */
.wp-block-navigation__responsive-container-open > * {
    margin: 0 auto;
}

/* Hamburger mit Text "Menü" */
.wp-block-navigation__responsive-container-open {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.wp-block-navigation__responsive-container-open::after {
    content: "Menü";
    font-size: 12px;
    line-height: 1;
    margin-top: 2px;
}

/* Submenu ohne Umbrechen */
.wp-block-navigation__submenu-container {
    width: max-content;
    white-space: nowrap;
}

/* --------------------------------------------------------------
   4. Suche (Header & Mobile)
-------------------------------------------------------------- */

.search-icon {
    transform: scale(1.6);
    transform-origin: center;
}

.wp-block-search__button {
    padding: 12px 28px;
    border-radius: 6px !important;
}

.wp-block-search__input {
    border-radius: 6px !important;
    margin-right: 6px;
}

/* Mobile Search bis 1279px */
@media (max-width: 1279px) {
    .mobile-search .search-icon {
        transform: scale(1.4);
        transform-origin: center;
    }
    .mobile-search .wp-block-search__button {
        padding: 14px 8px;
    }
}

/* Mobile Search ab 1280px ausblenden */
@media (min-width: 1280px) {
    .mobile-search {
        display: none !important;
    }
}

/* --------------------------------------------------------------
   5. Layout / Columns / Buttons
-------------------------------------------------------------- */

/* Columns sollen erst unter 1024px umbrechen */
@media (max-width: 1023px) {
    .wp-block-columns {
        flex-wrap: wrap !important;
    }
    .wp-block-column {
        flex-basis: 100% !important;
    }
}

/* Button Hover */
.wp-block-button__link {
    transition: background-color 0.2s ease;
}

.wp-block-button__link:hover {
    filter: brightness(0.9);
}

/* --------------------------------------------------------------
   6. Accessibility / Barrierefreiheit
-------------------------------------------------------------- */

a:focus,
button:focus,
.wp-block-button__link:focus,
input:focus,
textarea:focus {
    outline: 2px solid #005bbb;
    outline-offset: 2px;
}

:focus {
    outline: 3px solid #005bbb;
    outline-offset: 3px;
}

:focus-visible {
    outline: 3px solid #005fcc;
    outline-offset: 3px;
}

/* Skip-Link */
.skip-link {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    padding: 0.75rem 1rem;
    background: #fff;
    z-index: 9999;
}

.skip-link:focus {
    transform: translateY(0);
}

/* --------------------------------------------------------------
   7. Plugin-spezifisch (Kadence TOC, externe Links)
-------------------------------------------------------------- */

/* Kadence TOC */
.kb-table-of-content-wrap .kb-table-of-content-list {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.kb-table-of-content-wrap .kb-table-of-content-list li {
    list-style: none !important;
    position: relative;
    padding-left: 1.5em;
}

.kb-table-of-content-wrap .kb-table-of-content-list li::before {
    content: "→";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--wp--preset--color--contrast, #555);
    font-size: 1em;
}

/* Externe Links Icon */
.external-icon {
    margin-left: 3px;
    font-size: 1.1em;
    vertical-align: 0;
    text-decoration: none;
}
