/* ZwaarVet Blocks - Accordion Styles */

.zv-accordion { 
    --zv-b: 1px; 
    --zv-r: .75rem; 
    --zv-pad: 1rem; 
    --zv-gap: .5rem; 
    --zv-bg: #fff; 
    --zv-br: #e5e7eb; 
    --zv-txt: #111827; 
    --zv-muted: #6b7280; 
}

.zv-accordion.zv-compact { 
    --zv-pad: .75rem; 
    --zv-gap: .25rem; 
}

.zv-accordion .zv-acc-item { 
    border: var(--zv-b) solid var(--zv-br); 
    border-radius: var(--zv-r); 
    background: var(--zv-bg); 
    margin: .5rem 0; 
    overflow: hidden; 
}

.zv-accordion .zv-acc-summary { 
    list-style: none; 
    cursor: pointer; 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    gap: var(--zv-gap); 
    padding: var(--zv-pad); 
    font-weight: 600; 
    color: var(--zv-txt); 
    transition: background-color 0.2s ease;
}

.zv-accordion .zv-acc-summary:hover {
    background-color: rgba(0, 0, 0, 0.02);
}

.zv-accordion .zv-acc-summary::-webkit-details-marker { 
    display: none; 
}

.zv-accordion .zv-acc-title { 
    line-height: 1.2; 
    flex: 1;
}

.zv-accordion .zv-acc-icon { 
    width: 1em; 
    height: 1em; 
    flex: 0 0 auto; 
    position: relative; 
}

.zv-accordion .zv-acc-icon::before { 
    content: ''; 
    position: absolute; 
    inset: 0; 
    margin: auto; 
    width: .6em; 
    height: .6em; 
    border-right: 2px solid var(--zv-muted); 
    border-bottom: 2px solid var(--zv-muted); 
    transform: rotate(-45deg); 
    transition: transform .2s ease; 
}

.zv-accordion .zv-acc-item[open] .zv-acc-icon::before { 
    transform: rotate(45deg); 
}

.zv-accordion .zv-acc-content { 
    padding: 0 var(--zv-pad) var(--zv-pad); 
    color: var(--zv-txt); 
    animation: slideDown 0.3s ease;
}

.zv-accordion .zv-acc-content > :first-child { 
    margin-top: .5rem; 
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .zv-accordion {
        --zv-pad: .75rem;
    }
    
    .zv-accordion.zv-compact {
        --zv-pad: .5rem;
    }
}
