body.page { background: var(--app-bg, #f8f9fa); }
.site-header { padding: 2rem 0 1.5rem; }
.site-logo { max-width: 100%; height: auto; }
.signup-wrap { max-width: 820px; }

/* Honeypot – skrito ljudem, vidno botom. Ne uporabljaj display:none (nekateri boti ga preskočijo). */
.hp-field {
    position: absolute !important;
    left: -10000px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.category-grid {
    display: grid;
    /* 5 stolpcev na širini obrazca (dolgi nazivi, npr. "A1 z B s kodo 125", ostanejo v eni vrstici), na ožjih zaslonih manj. */
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: .35rem 1rem;
}

.course-info {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-left: 4px solid var(--bs-primary);
    border-radius: var(--bs-border-radius);
    padding: 1rem;
}
.course-info dl > div { display: grid; grid-template-columns: 130px 1fr; gap: .5rem; margin-bottom: .35rem; }
.course-info dt { font-weight: 500; color: var(--bs-secondary-color); }
.course-info dd { margin: 0; }

.summary dt { font-weight: 500; color: var(--bs-secondary-color); }

/* Admin */
.admin-nav .nav-link.active { font-weight: 600; }
.table-signups td { vertical-align: middle; }
pre.log { max-height: 260px; overflow: auto; font-size: .8rem; background: var(--bs-tertiary-bg); padding: .75rem; border-radius: .375rem; white-space: pre-wrap; word-break: break-all; }

.form-intro { font-size: 1.05rem; }

/* Ikone (Font Awesome) v glavni barvi šole – --bs-primary nastavi Theme iz admina. */
.icon-primary { color: var(--bs-primary); }
.section-title i { color: var(--bs-primary); width: 1.4em; }
.state-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    margin-bottom: 1.25rem;
    border-radius: 50%;
    font-size: 2rem;
    color: var(--bs-primary);
    background: rgba(var(--bs-primary-rgb), .1);
}
.state-icon.is-warning { color: #b7791f; background: rgba(var(--bs-warning-rgb), .18); }
.state-icon.is-danger { color: var(--bs-danger); background: rgba(var(--bs-danger-rgb), .1); }
.summary dt i, .course-info dt i { color: var(--bs-primary); opacity: .85; }
.course-info dt { white-space: nowrap; }

/* Koledar (flatpickr) v glavni barvi šole. Predpona .flatpickr-calendar = večja specifičnost,
   ker se CSS knjižnice naloži za tem. */
.flatpickr-calendar .flatpickr-day.selected,
.flatpickr-calendar .flatpickr-day.selected:hover,
.flatpickr-calendar .flatpickr-day.selected:focus {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
}
.flatpickr-calendar .flatpickr-day.today { border-color: var(--bs-primary); }
.flatpickr-calendar .flatpickr-day.today:hover { background: var(--bs-primary); border-color: var(--bs-primary); color: #fff; }
.flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover svg { fill: var(--bs-primary); }

/* Gumb koledarja je del polja – brez "pill" oblike iz dodatnega CSS šole. */
#DatumRojstva-btn { border-radius: 0 var(--bs-border-radius) var(--bs-border-radius) 0; padding-left: .85rem; padding-right: .85rem; }
