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;
}

/* Universal Tactile Button & Interactive Element Press Effects */
button,
.btn,
.btn-check + label,
.dim-chip-a,
.dim-chip-b,
.dim-chip-oval,
.btn-prod-type,
.btn-quick-pill,
.badge-interactive,
[role="button"] {
    cursor: pointer !important;
    user-select: none !important;
    transition: transform 0.1s cubic-bezier(0.4, 0, 0.2, 1), 
                box-shadow 0.15s ease, 
                background-color 0.15s ease, 
                border-color 0.15s ease, 
                opacity 0.15s ease !important;
}

/* Hover State: Subtle elevation */
button:hover:not(:disabled),
.btn:hover:not(:disabled),
.btn-check + label:hover,
.dim-chip-a:hover,
.dim-chip-b:hover,
.dim-chip-oval:hover,
.btn-prod-type:hover {
    transform: translateY(-1px);
}

/* Active / Clicked State: Tactile press effect */
button:active:not(:disabled),
.btn:active:not(:disabled),
.btn.active,
.btn:active:focus,
.btn-check:checked + label,
.btn-check:active + label,
.dim-chip-a:active,
.dim-chip-b:active,
.dim-chip-oval:active,
.btn-prod-type:active {
    transform: scale(0.95) translateY(1px) !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15) !important;
}

/* Ripple & Highlight Feedback */
.btn-primary:active, .btn-success:active, .btn-danger:active, .btn-warning:active, .btn-dark:active {
    filter: brightness(0.9) saturate(1.1);
}

.input-group .btn:active {
    transform: scale(0.91) !important;
    background-color: #cbd5e1 !important;
}