/* ---- Orange & white theme ---- */
:root {
    --bs-primary: #c2410c;
    --bs-primary-rgb: 194, 65, 12;
    --bs-link-color: #c2410c;
    --bs-link-color-rgb: 194, 65, 12;
    --bs-link-hover-color: #9a3412;
    --bs-link-hover-color-rgb: 154, 52, 18;
}

body {
    background-color: #fffaf5;
}

.navbar.bg-dark {
    --bs-bg-opacity: 1;
    background-color: #c2410c !important;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #c2410c;
    --bs-btn-border-color: #c2410c;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #9a3412;
    --bs-btn-hover-border-color: #9a3412;
    --bs-btn-focus-shadow-rgb: 194, 65, 12;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #9a3412;
    --bs-btn-active-border-color: #7c2d12;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #c2410c;
    --bs-btn-disabled-border-color: #c2410c;
}

.btn-outline-primary {
    --bs-btn-color: #c2410c;
    --bs-btn-border-color: #c2410c;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #c2410c;
    --bs-btn-hover-border-color: #c2410c;
    --bs-btn-focus-shadow-rgb: 194, 65, 12;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #c2410c;
    --bs-btn-active-border-color: #c2410c;
    --bs-btn-disabled-color: #c2410c;
    --bs-btn-disabled-border-color: #c2410c;
}

.form-check-input:checked {
    background-color: #c2410c;
    border-color: #c2410c;
}

.form-control:focus,
.form-select:focus {
    border-color: #f0a06e;
    box-shadow: 0 0 0 0.25rem rgba(194, 65, 12, 0.25);
}

.list-group-item.active {
    color: #fff !important;
    background-color: #c2410c !important;
    border-color: #c2410c !important;
}

.list-group-item-action:hover {
    background-color: #fff1e6;
}

.card {
    border-top: 3px solid #c2410c;
}

/* Mobile-first class record form */
.record-card {
    max-width: 560px;
    margin: 0 auto;
}

.record-card .form-label {
    font-weight: 600;
}

.record-card .form-control,
.record-card .form-select {
    min-height: 3rem;
    font-size: 1.05rem;
}

.record-card .btn-lg {
    min-height: 3.25rem;
    font-size: 1.1rem;
}

.photo-capture-wrapper {
    position: relative;
    display: block;
}

.photo-capture-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

#photo-preview {
    max-width: 100%;
    max-height: 260px;
    object-fit: cover;
    border-radius: 0.5rem;
    display: none;
}

.absent-display {
    font-size: 1.75rem;
    font-weight: 700;
}

.report-thumb {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 0.375rem;
    border: 1px solid #f0d5c0;
}

@media (max-width: 480px) {
    main.container-fluid {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
}
