/* ShambaBook Compact Theme */

:root {
    /* Override default Bootstrap variables */
    --bs-gutter-x: 0.75rem !important;
    --bs-gutter-y: 0.75rem !important;
    --bs-border-radius: 0.25rem !important;
    --bs-border-radius-sm: 0.2rem !important;
    --bs-border-radius-lg: 0.3rem !important;
    --bs-border-radius-xl: 0.35rem !important;
    --bs-border-radius-xxl: 0.4rem !important;

    /* Card overrides */
    --bs-card-spacer-y: 0.75rem !important;
    --bs-card-spacer-x: 0.75rem !important;
    --bs-card-cap-padding-y: 0.5rem !important;
    --bs-card-cap-padding-x: 0.75rem !important;

    /* Form controls */
    --bs-btn-padding-y: 0.25rem !important;
    --bs-btn-padding-x: 0.5rem !important;
    --bs-btn-font-size: 0.875rem !important;

    /* Headings */
    --bs-headings-margin-bottom: 0.5rem !important;
}

/* Base containers */
.container,
.container-fluid {
    padding: 0.5rem !important;
}

/* Row and column spacing */
.row {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}

.row>[class*="col-"] {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
}

/* Card styling */
.card {
    border-radius: 0.25rem !important;
    margin-bottom: 0.75rem !important;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05) !important;
    background-color: #ffffff !important;
    border: none !important;
}

.card-header,
.card-footer {
    padding: 0.5rem 0.75rem !important;
    background-color: #ffffff !important;
}

.card-body {
    padding: 0.75rem !important;
    background-color: #ffffff !important;
}

.card-title,
.card-subtitle {
    margin-bottom: 0.5rem !important;
}

/* Typography */
h1,
.h1 {
    font-size: 1.75rem !important;
}

h2,
.h2 {
    font-size: 1.5rem !important;
}

h3,
.h3 {
    font-size: 1.25rem !important;
}

h4,
.h4 {
    font-size: 1.125rem !important;
}

h5,
.h5 {
    font-size: 1rem !important;
}

h6,
.h6 {
    font-size: 0.875rem !important;
}

p {
    margin-bottom: 0.5rem !important;
    font-size: 0.875rem !important;
}

/* Lists and tables */
dl.row dt {
    font-weight: 500 !important;
    font-size: 0.875rem !important;
}

dl.row dd {
    font-size: 0.875rem !important;
    margin-bottom: 0.25rem !important;
}

.table {
    font-size: 0.875rem !important;
}

.table th,
.table td {
    padding: 0.4rem 0.5rem !important;
}

/* Form elements */
.form-control,
.form-select {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.875rem !important;
}

.form-label {
    margin-bottom: 0.25rem !important;
    font-size: 0.875rem !important;
}

.form-check-label {
    font-size: 0.875rem !important;
}

/* Buttons */
.btn {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.875rem !important;
}

.btn-sm {
    padding: 0.2rem 0.4rem !important;
    font-size: 0.75rem !important;
}

.btn-lg {
    padding: 0.375rem 0.75rem !important;
    font-size: 1rem !important;
}

/* Navigation */
.nav-tabs .nav-link {
    padding: 0.4rem 0.6rem !important;
    font-size: 0.875rem !important;
}

.nav-pills .nav-link {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.875rem !important;
}

/* Badges */
.badge {
    padding: 0.25em 0.5em !important;
    font-size: 0.75rem !important;
}

/* Icons */
.fa-solid,
.fas,
.fa,
.far,
.fab {
    font-size: 0.875rem !important;
}

/* Alerts and other components */
.alert {
    padding: 0.5rem 0.75rem !important;
    margin-bottom: 0.75rem !important;
}

.toast {
    font-size: 0.875rem !important;
}

/* Dropdown menus */
.dropdown-menu {
    padding: 0.25rem 0 !important;
    font-size: 0.875rem !important;
    background-color: #ffffff !important;
}

.dropdown-item {
    padding: 0.25rem 0.5rem !important;
}

/* Modal dialogs */
.modal-header,
.modal-footer {
    padding: 0.5rem 0.75rem !important;
    background-color: #ffffff !important;
}

.modal-body {
    padding: 0.75rem !important;
    background-color: #ffffff !important;
}

/* Utility spacing classes */
.mt-1,
.my-1,
.m-1 {
    margin-top: 0.25rem !important;
}

.mb-1,
.my-1,
.m-1 {
    margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1,
.m-1 {
    margin-left: 0.25rem !important;
}

.mr-1,
.mx-1,
.m-1 {
    margin-right: 0.25rem !important;
}

.mt-2,
.my-2,
.m-2 {
    margin-top: 0.5rem !important;
}

.mb-2,
.my-2,
.m-2 {
    margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2,
.m-2 {
    margin-left: 0.5rem !important;
}

.mr-2,
.mx-2,
.m-2 {
    margin-right: 0.5rem !important;
}

.mt-3,
.my-3,
.m-3 {
    margin-top: 0.75rem !important;
}

.mb-3,
.my-3,
.m-3 {
    margin-bottom: 0.75rem !important;
}

.ml-3,
.mx-3,
.m-3 {
    margin-left: 0.75rem !important;
}

.mr-3,
.mx-3,
.m-3 {
    margin-right: 0.75rem !important;
}

.pt-1,
.py-1,
.p-1 {
    padding-top: 0.25rem !important;
}

.pb-1,
.py-1,
.p-1 {
    padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1,
.p-1 {
    padding-left: 0.25rem !important;
}

.pr-1,
.px-1,
.p-1 {
    padding-right: 0.25rem !important;
}

.pt-2,
.py-2,
.p-2 {
    padding-top: 0.5rem !important;
}

.pb-2,
.py-2,
.p-2 {
    padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2,
.p-2 {
    padding-left: 0.5rem !important;
}

.pr-2,
.px-2,
.p-2 {
    padding-right: 0.5rem !important;
}

.pt-3,
.py-3,
.p-3 {
    padding-top: 0.75rem !important;
}

.pb-3,
.py-3,
.p-3 {
    padding-bottom: 0.75rem !important;
}

.pl-3,
.px-3,
.p-3 {
    padding-left: 0.75rem !important;
}

.pr-3,
.px-3,
.p-3 {
    padding-right: 0.75rem !important;
}