html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}
/* === Custom Card Styles for BiblioTrak === */

.bookcase-card {
    background-color: #6d4c41; /* Rich brown */
    color: #ffffff;
    min-width: 9rem;
    max-width: 13rem;
    border-radius: 1rem;
    box-shadow: 0 1px 3px rgba(0,0,0,.09);
}

.shelf-badge {
    background-color: #f5f5dc; /* Light beige */
    color: #333333;
    max-width: 90px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
}
.wall-badge {
    max-width: 120px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    vertical-align: middle;
}
.modal-title {
    max-width: 90%; /* Ensure it respects modal width */
    word-wrap: break-word; /* Force wrapping if needed */
}
/* ============================================================
   BiblioTrakWeb — Titles Maintenance Tab Navigation
   Append these rules to wwwroot/css/site.css
   ============================================================ */

/* Scrollable tab bar — hides scrollbar but allows swiping */
.titles-tab-nav {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* smooth momentum scroll on iOS */
    scrollbar-width: none; /* hide scrollbar on Firefox */
    border-bottom: 1px solid #dee2e6;
}

    .titles-tab-nav::-webkit-scrollbar {
        display: none; /* hide scrollbar on Chrome / Safari */
    }

/* Tab items — prevent wrapping, consistent icon+label sizing */
.titles-tab {
    white-space: nowrap;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 8px 14px;
    font-size: 0.8rem;
    min-width: 64px;
    text-align: center;
}

    .titles-tab i {
        font-size: 1.1rem;
    }

/* Active tab underline accent */
.titles-tab-nav .nav-link.active {
    font-weight: 600;
    border-bottom: 3px solid #0d6efd;
}

/* Disabled Import tab */
.titles-tab.disabled {
    opacity: 0.5;
    cursor: default;
    pointer-events: none;
}

/* Header wrapper spacing */
.titles-header {
    margin-bottom: 0.5rem;
}
