/* ==========================================================
   Twinkling Bakery Overlay Menu v2.0
========================================================== */

/* ---------- Overlay ---------- */

.twinkling-overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.65);
    z-index:99999;
}

.twinkling-overlay-content{
    position:absolute;
    top:0;
    right:0;
    width:420px;
    max-width:100%;
    height:100%;
    background:#fff;
    overflow-y:auto;
    box-shadow:-5px 0 25px rgba(0,0,0,.2);
}

.close-overlay{
    position:absolute;
    top:20px;
    right:20px;
    font-size:34px;
    cursor:pointer;
    z-index:10;
}

.twinkling-categories{
    margin-top:70px;
}


/* ---------- Listen ---------- */

.twinkling-level{
    list-style:none;
    margin:0;
    padding:0;
}

.twinkling-item{
    border-bottom:1px solid #e5e5e5;
}


/* ---------- Zeile ---------- */

.twinkling-row{

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:15px;

    padding:14px 20px;

    transition:.2s;

}

.twinkling-row:hover{

    background:#fafafa;

}


/* ---------- Link ---------- */

.twinkling-link{

    display:flex;
    align-items:center;

    justify-content:space-between;

    width:100%;

    text-decoration:none;

    color:#222;

    font-size:16px;

    font-weight:600;

}

.twinkling-link:hover{

    color:#E45D98;

}


/* ---------- Bild ---------- */

.twinkling-thumb{

    width:48px;

    height:48px;

    object-fit:cover;

    border-radius:8px;

    flex-shrink:0;

}


/* ---------- Pfeil: runder, farbiger Kreis ---------- */

.twinkling-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    box-sizing: border-box;
    margin-left: 12px;
    border-radius: 50%;
    background-color: #f1e4d6;
    color: #71452c;
    font-size: 0; /* Versteckt das ursprüngliche Zeichen ❯ */
    line-height: 1;
    transition:
        background-color .2s ease,
        color .2s ease,
        transform .25s ease;
}

/* Eigenen Pfeil zeichnen, ohne die Klickfunktion zu verändern */
.twinkling-arrow::before {
    content: "\2192";
    display: block;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

/* Hover-Zustand */
.twinkling-arrow:hover {
    background-color: #71452c;
    color: #fff;
}

/* Tastaturfokus, falls das Element später als Button umgesetzt wird */
.twinkling-arrow:focus-visible {
    outline: 2px solid #71452c;
    outline-offset: 3px;
}


/* ---------- Unterebenen ---------- */

.twinkling-children{

    display:none;

}


/* ---------- Einrückungen ---------- */

.level-1>.twinkling-row{

    padding-left:40px;

    background:#fcfcfc;

}

.level-2>.twinkling-row{

    padding-left:60px;

    background:#fbfbfb;

}

.level-3>.twinkling-row{

    padding-left:80px;

    background:#fafafa;

}

.level-4>.twinkling-row{

    padding-left:100px;

    background:#f9f9f9;

}

.level-5>.twinkling-row{

    padding-left:120px;

    background:#f8f8f8;

}


/* ---------- aktive Kategorie ---------- */

.twinkling-item.open>.twinkling-row{

    background:#fff4f8;

}

.twinkling-item.open>.twinkling-row .twinkling-arrow{

    transform:rotate(90deg);

}


/* ---------- Button ---------- */

.twinkling-open-btn{

    background:#E45D98;

    color:#fff;

    border:none;

    padding:14px 22px;

    border-radius:30px;

    cursor:pointer;

}


/* ---------- Responsive ---------- */

@media(max-width:768px){

.twinkling-overlay-content{

    width:100%;

}

.twinkling-row{

    padding:14px;

}

.twinkling-thumb{

    width:40px;

    height:40px;

}

.twinkling-link{

    font-size:15px;

}

}