/* ===== Accordion (yourtheme/accordion-query) – FULL CSS ===== */

/* Kontener */
.wp-block-yourtheme-accordion-query{
    width:100%;
    max-width:680px !important;
    box-sizing:border-box;              /* stała szerokość niezależnie od paddingu */
}

/* Pojedynczy element */
.wp-block-yourtheme-accordion-query .yt-acc__item{
    border-bottom:1px solid #fff;
    padding:.5rem 0;
    color:#fff;
    margin:0;                           /* na wszelki wypadek */
}

/* Główka (summary) */
.wp-block-yourtheme-accordion-query .yt-acc__summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    list-style:none;
    cursor:pointer;
    font-weight:600;
    gap:.75rem;
    min-height:44px;                    /* stabilna wysokość klikalnej główki */
    user-select:none;
    outline:none;
}


.wp-block-yourtheme-accordion-query .yt-acc__panel {
    overflow: hidden;
}

/* Treść do animacji */
.yt-acc__content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease, padding-top .35s ease;
    padding-top: 0;
}

/* Otwarty panel */
.yt-acc__item[open] .yt-acc__content {
    max-height: 1000px;  /* duża wartość – wystarczy na typową treść */
    padding-top: .5rem;
}

.wp-block-yourtheme-accordion-query .yt-acc__summary::-webkit-details-marker{display:none;}

.yt-acc__title{
    font-family:'Suisse Bold', sans-serif;
    font-weight:bold;
    margin:0;
}

/* Ikona – stałe wymiary (rezerwujemy miejsce, bez „podskoków”) */
.yt-acc__icon{
    background:#06FE02;
    width:20px;
    height:20px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:50%;
    flex:0 0 20px;                      /* nie ściskaj, nie rozszerzaj */
    line-height:1;
    transition:transform .25s ease;
}

/* Panel – płynne otwieranie/zamykanie, bez skoków szerokości */
.wp-block-yourtheme-accordion-query .yt-acc__panel{
    overflow:hidden;
    max-height:0;                       /* zamknięty */
    transition:max-height .35s ease, padding-top .35s ease;
    padding-top:0;                      /* zamiast margin-top (unikamy kolapsu) */
    will-change:max-height;
}

/* Otwarty panel */
.wp-block-yourtheme-accordion-query .yt-acc__item[open] .yt-acc__panel{
    max-height:1000px;                  /* wystarczająco duże dla typowej treści */
    padding-top:.5rem;
}

/* Woreczek na treść – zapobiega „rozpychaniu” szerokości */
.yt-acc__content{
    min-width:0;
    overflow-wrap:break-word;
}

/* Wariant: Plus/Minus */
.wp-block-yourtheme-accordion-query[data-variant="plus"] .yt-acc__icon::before{
    content:"+";
    font-weight:700;
}
.wp-block-yourtheme-accordion-query[data-variant="plus"] .yt-acc__item[open] .yt-acc__icon::before{
    content:"–";
}

/* Wariant: Chevron (rotacja) */
.wp-block-yourtheme-accordion-query[data-variant="chevron"] .yt-acc__icon::before{
    content:"›";
    display:inline-block;
    transform:rotate(90deg);
    transition:transform .25s ease;
}
.wp-block-yourtheme-accordion-query[data-variant="chevron"] .yt-acc__item[open] .yt-acc__icon::before{
    transform:rotate(-90deg);
}

/* Wariant: Minimal – bez ikonki */
.wp-block-yourtheme-accordion-query[data-variant="minimal"] .yt-acc__icon{ display:none; }

/* Drobne UX: focus states */
.wp-block-yourtheme-accordion-query .yt-acc__summary:focus-visible{
    outline:2px dashed #06FE02;
    outline-offset:2px;
}

/* Preferencje redukcji animacji */
@media (prefers-reduced-motion: reduce){
    .wp-block-yourtheme-accordion-query .yt-acc__panel{
        transition:none;
    }
    .wp-block-yourtheme-accordion-query .yt-acc__summary,
    .wp-block-yourtheme-accordion-query .yt-acc__icon::before{
        transition:none;
    }
}
