/* Spalte 1 gezielt ansprechen und Höhenverhalten ändern */

#basketlogo { pointer-events: none; height:35px; width:35px; margin-right: 2px; color:red;}
.basket-cont {
    position: relative;
    display: inline-block; /* Passt sich der Breite des SVGs an */
}
.basket-info {
    display: none;         /* Standardmäßig unsichtbar */
    position: absolute;
    right: 0;              /* Bündig am rechten Rand ausrichten */
    top: 0;   
    /* padding oben, damit man nicht so schnell mouseover verliert */
    padding: 100% 0 0 0;
    z-index: 10;
}
#wkshort {
display: block !important;
  background-color: #FFFFFF;
  border: 1px solid #ccc;
  box-shadow: 3px 5px 10px #666;
  width: max-content !important;
  max-width: 90vw;
  position: relative !important;
  right: 0px !important;
  top: 0px !important;
  padding: 1em;
  z-index: 100;
  float: right;
  }
  
  #wkshort .sbutt {
      background-color: var(--linkcolor) !important;
      color: var(--linkcolor-Comp) !important;
      padding-top: 5px;
      border-radius: 4px;
      border: 2px solid #eeeeee;
}

.T-sp-link {
    align-self: stretch; /* Erlaubt dieser Spalte, die maximale Höhe des Bildes einzunehmen */
    height: auto;        /* Macht die Höhe dynamisch abhängig vom Bild */
    display: flex;         /* Macht die Spalte selbst zur Flexbox */
    align-items: center;   /* Zentriert das Bild vertikal innerhalb des Divs */
    justify-content: center; /* Zentriert das Bild horizontal */
}
.T-sp-link a {
    display: flex;         /* Macht den Link zur Flexbox */
    align-items: center;   /* Zentriert das Bild vertikal im Link */
    justify-content: center;/* Zentriert das Bild horizontal im Link */
    height: 100%;          /* Zwingt den Link, die volle Höhe des Divs zu nutzen */
}
/* Das darin liegende Bild für größere Höhen freigeben */
.T-sp-link img {
    width: auto;        /* Breite bleibt fix oder flexibel */
    height: auto;        /* WICHTIG: Höhe auf auto setzen, damit es proportional wächst */
    max-height: 4vw;   /* Optional: Verhindert, dass das Bild unendlich groß wird */
    object-fit: contain; /* Sorgt dafür, dass nichts abgeschnitten wird */
    min-height:35px;
}

.T-cont {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--bg-top);
    padding: 0px 15px 0px 15px;
    gap: 15px;
    margin: 0 auto;
    position: relative;
}

/* Spalten-Definition */
.T-sp {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.T-sp-link {
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
        
.T-sp-link img {
    object-fit: cover;
}

.T-sp-btns {
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.T-btn-gruppe {
    display: flex;
    gap: 8px;
}

        
.T-btn-link {
    margin: 3px;
    display: inline-flex;
    flex-direction: row;    /* Bild und Text nebeneinander anordnen */
    align-items: center;    /* Vertikal perfekt mittig ausrichten */
    justify-content: center;
    border: 2px solid #eeeeee;
    padding: 1px 5px;       /* Leicht erhöhtes Padding für den Text */
    border-radius: 4px;
    background-color: #ffffff;
    text-decoration: none;
    color: #333333;         /* Textfarbe für das Wort "Menü" */
    gap: 2px;               /* Erzeugt einen sauberen Abstand zwischen Bild und Text */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Styling für den Text neben dem Bild */
.T-btn-text {
    font-size: 14px;
    font-weight: bold;
    line-height: 1;         /* Verhindert unschöne Zeilenabstände */
    white-space: nowrap;    /* Verhindert, dass der Text umbricht */
}

.T-btn-link img {
    width: 35px;
    height: 35px;
    display: block;
}
/* Stylt das Label, damit es aussieht wie ein Button */
.T-btn-trigger {
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
    user-select: none; /* Verhindert blaues Markieren des Textes bei schnellen Klicks */
}

/* Spalte 2: Eingabefeld-Container (Standard für Desktop 401px - 699px) */
.T-input-cont {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0px;
    /*max-width: 250px;*/
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 4px;
    border: 2px solid #eeeeee;
    background-color: #ffffff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.T-input-cont input[type="text"] {
    width: 100%;
    padding: 5px 40px 5px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    box-sizing: border-box;
    outline: none;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Reines Deko-Bild zum Öffnen */
.T-open-icon {
    display: none;
    width: 30px;
    height: 30px;
    object-fit: contain;
    pointer-events: none;
}

/* Der echte Absende-Button */
.T-submit-btn {
    position: absolute;
    right: 5px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.T-submit-btn img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}
.T-menu-checkbox {
    display: none;
}
.T-menu-overlay {
    position: fixed;        /* Fixiert über den gesamten Bildschirm */
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5); /* Schwarz mit 50% Transparenz */
    
    /* Höher als die normale Seite, aber NIEDRIGER als das Dropdown-Menü */
    z-index: 9998; 
    
    /* Standardzustand: Unsichtbar und blockiert keine Klicks im geschlossenen Zustand */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    width: calc(25vw - 60px);
    max-width: 350px;

    z-index: 9999;
    box-sizing: border-box;
    
    opacity: 1;
    visibility: visible;
    transition: all 0.25s ease-in-out;
}

/* ========================================================
   LOGIK: Wenn die Checkbox aktiv ist, zeige das Menü
   ======================================================== */


.T-menu-checkbox:checked ~ .dropdown-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}
.T-menu-checkbox:checked ~ .T-menu-overlay {
    opacity: 1;
    visibility: visible;
}
/*
.T-menu-checkbox:checked ~ .dropdown-menu,
.T-cont:has(.T-menu-checkbox:checked) .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
*/
.T-menu-checkbox:checked ~ .T-btn-trigger {
    position: relative;
    /*background-color: #ddddee; /* Dunkelblau als Aktiv-Farbe */*/
    color: #000033;            /* Textfarbe wird weiß */
    border-color: #004085;     /* Rahmen wird dunkler */
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2); /* Drückt den Button optisch rein */
    z-index: 9999;
}

        /* ========================================================
           LOGIK FÜR GROSSE BILDSCHIRME (> 700px): Expansion auf 400px
           ======================================================== */
        @media (min-width: 500px) and (max-width: 700px) {
            /* Sobald die Suche Fokus hat, wird der Bildlink links verdrängt */
            .T-cont:has(.T-sp-suche:focus-within) .T-sp-link {
                flex: 0 0 0%;
                max-width: 0;
                padding: 0;
                margin: 0;
                opacity: 0;
                visibility: hidden;
            }

            /* Die Suchspalte gewinnt den Platz dazu */
            .T-cont .T-sp-suche:focus-within {
                flex: 2;
            }

            /* Das Suchfeld dehnt sich nach links auf 400px aus */
            .T-sp-suche:focus-within .T-input-cont {
                max-width: 400px;
            }
        }

        /* ========================================================
           LOGIK FÜR EXTREM SCHMALE SCREENS (< 400px)
           ======================================================== */
        @media (max-width: 500px) {
            
            /* Textfeld unsichtbar machen, aber exakt über die Lupe legen */
            .T-input-cont input[type="text"] {
                width: 100%;
                height: 100%;
                padding: 0;
                border-color: transparent;
                background: transparent;
                opacity: 0;
                cursor: pointer;
                position: absolute; /* Macht das Input zur Klickfläche über dem Icon */
                top: 0;
                left: 0;
                z-index: 3; /* Liegt ganz oben, damit der Klick garantiert registriert wird */
            }

            /* Container schrumpft auf die exakte Größe der Lupe (Klickbereich) */
            .T-input-cont {
                max-width: 35px;
                height: 35px; /* Feste Höhe für verlässlichen Klickbereich */
            }

            /* Platziert die Deko-Lupe exakt im Container */
            .T-open-icon {
                display: block;
                position: absolute;
                right: 2px;
                top: 2px;
                z-index: 1;
            }

            .T-submit-btn {
                opacity: 0;
                visibility: hidden;
                z-index: 0;
            }

            /* --------------------------------------------------------
               ZUSTAND: WENN DIE SUCHE DEN FOKUS ERHÄLT (< 400px)
               -------------------------------------------------------- */
            
            /* 1. Bildlink links komplett verbergen */
            .T-cont:has(.T-sp-suche:focus-within) .T-sp-link {
                flex: 0 0 0%;
                max-width: 0;
                padding: 0;
                margin: 0;
                opacity: 0;
                visibility: hidden;
            }

            /* 2. Platzmangel-Sicherung: Buttons rechts ebenfalls verbergen */
            .T-cont:has(.T-sp-suche:focus-within) .T-sp-btns {
                flex: 0 0 0%;
                max-width: 0;
                padding: 0;
                margin: 0;
                opacity: 0;
                visibility: hidden;
            }

            /* Suchspalte übernimmt die volle Flex-Breite */
            .T-cont .T-sp-suche:focus-within {
                flex: 4;
                justify-content: flex-end;
            }

            /* Das Suchfeld erhält erzwungene 250px Mindestbreite */
            .T-sp-suche:focus-within .T-input-cont {
                max-width: 100%;
                width: 250px;
                height: auto; /* Setzt die feste Höhe beim Ausfahren wieder zurück */
            }

            /* Textfeld fährt von rechts nach links aus */
            .T-sp-suche:focus-within .T-input-cont input[type="text"] {
                position: relative; /* Normalisiert die Positionierung beim Schreiben */
                padding: 10px 40px 10px 10px;
                border-color: #0056b3;
                background: #ffffff;
                opacity: 1;
                cursor: text;
                z-index: 1;
            }

            /* Der echte Absende-Button erscheint wieder */
            .T-sp-suche:focus-within .T-submit-btn {
                opacity: 1;
                visibility: visible;
                position: absolute;
                right: 5px;
                z-index: 4;
            }
            
            .T-sp-suche:focus-within .T-open-icon {
                display: none;
            }
        }
/* ========================================================
   LOGIK FÜR Kleine BILDSCHIRME (< 1000px)
   ======================================================== */
@media (max-width: 1000px) {
    
    .T-btn-trigger {
    opacity: 1;
    visibility: visible;
    cursor: pointer;
    user-select: none; /* Verhindert blaues Markieren des Textes bei schnellen Klicks */
}
    
    .dropdown-menu {

    text-align: center;
         width: 80%;
         opacity: 0;
         visibility: hidden;
        transform: translateY(0) !important;
    }
}
