/* ===== Mobile-first overrides for Bulma ===== */

/* Bigger touch targets on mobile */
.button {
    min-height: 44px;
}

.input,
.textarea,
.select select {
    min-height: 44px;
    font-size: 1rem;
}

/* Full-width buttons on small screens */
@media screen and (max-width: 768px) {
    .button.is-fullwidth-mobile {
        width: 100%;
    }

    .box {
        padding: 1.25rem;
    }
}

/* Notification close button spacing */
.notification .delete {
    margin-left: 0.5rem;
}

/* Collapsible card sections */
.card-content.is-collapsible {
    display: none;
}

.card-content.is-collapsible.is-open {
    display: block;
}

/* Signature pad wrapper */
.signature-wrapper {
    border: 2px solid #dbdbdb;
    border-radius: 4px;
    background: #fff;
    position: relative;
}

.signature-wrapper canvas {
    width: 100%;
    display: block;
    cursor: crosshair;
}

/* Visit timer */
.visit-timer {
    font-size: 1.25rem;
    font-weight: bold;
    font-variant-numeric: tabular-nums;
}

.visit-timer.is-warning {
    color: #ffdd57;
}

.visit-timer.is-danger {
    color: #ff3860;
    animation: blink 1s step-start infinite;
}

@keyframes blink {
    50% { opacity: 0; }
}

/* Photo gallery grid */
.photo-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.photo-grid-item {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 4px;
    cursor: pointer;
    border: 2px solid #dbdbdb;
}

/* Score NEC display */
.nec-score-display {
    font-size: 2rem;
    font-weight: bold;
}

.nec-score-compliant {
    color: #23d160;
}

.nec-score-noncompliant {
    color: #ff3860;
}
