/* ══════════════════════════════════════════════
   Layout Utilities
   Layout Utilities
   ══════════════════════════════════════════════ */

/* ── Display ── */
.hidden {
    display: none !important;
}

/* ── Flexbox shortcuts ── */
.flex {
    display: flex;
}

.flex-1 {
    flex: 1;
}

.flex-col {
    display: flex;
    flex-direction: column;
}

.flex-wrap {
    flex-wrap: wrap;
}

.items-center {
    align-items: center;
}

.items-end {
    align-items: flex-end;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.shrink-0 {
    flex-shrink: 0;
}

/* Flex row helpers (nové sémantické) */
.flex-row {
    display: flex;
    align-items: center;
}

.flex-row--between {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.flex-row--gap-1 {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.flex-row--gap-2 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.flex-row--gap-3 {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* ── Gap ── */
.gap-1 {
    gap: 0.25rem;
}

.gap-2 {
    gap: 0.5rem;
}

.gap-3 {
    gap: 0.75rem;
}

/* ── Space-Y (vertical spacing between children) ── */
.space-y-1>*+* {
    margin-top: 0.25rem;
}

.space-y-2>*+* {
    margin-top: 0.5rem;
}

.space-y-3>*+* {
    margin-top: 0.75rem;
}

.space-y-4>*+* {
    margin-top: 1rem;
}

.space-y-5>*+* {
    margin-top: 1.25rem;
}

/* ── Margin Bottom ── */
.mb-1 {
    margin-bottom: 0.25rem;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.mb-3 {
    margin-bottom: 0.75rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mb-6 {
    margin-bottom: 1.5rem;
}

/* ── Scroll behavior ── */
.scrollbar-none {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.scrollbar-none::-webkit-scrollbar {
    display: none;
}