@keyframes md-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.badge {
	display: inline-block;
	padding: 0.25em 0.4em;
	font-size: 75%;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	border-radius: 0.25rem;
}
.badge.small {
	font-size: 10px;
    font-weight: 500;
}
.badge.smaller {
	font-size: 8px;
    font-weight: 400;
}
.badge-primary {
	background-color: #007bff;
	color: #fff;
}
.badge-secondary {
	background-color: #6c757d;
	color: #fff;
}
.badge-success {
	background-color: #28a745;
	color: #fff;
}
.badge-danger {
	background-color: #dc3545;
	color: #fff;
}
.badge-warning {
	background-color: #ffc107;
	color: #212529;
}
.badge-info {
	background-color: #17a2b8;
	color: #fff;
}
.badge-light {
	background-color: #f8f9fa;
	color: #212529;
}
.badge-dark {
	background-color: #343a40;
	color: #fff;
}

.tooltip .arrow::before,
.tooltip .tooltip-arrow::before {
    border-top-color: var(--bs-danger)!important;
	opacity: var(--bs-bg-opacity)!important;
}

.intent-btn-group .btn {
	margin-bottom: 10px;
	border-radius: 4px !important;
	text-align: left;
	padding: 15px;
	font-size: 16px;
	white-space: normal;
	border: 2px solid #ddd;
	transition: all 0.2s;
}
.intent-btn-group .btn.active {
	border-color: #2e6da4;
	box-shadow: 0 0 8px rgba(46, 109, 164, 0.2);
}
.intent-btn-group input[type="radio"] {
	display: none;
}

.step-disabled {
	opacity: 0.4;
	pointer-events: none;
	transition: all 0.3s ease-in-out;
	filter: grayscale(100%);
}

.step-2-tires {
	position: relative;
}
.loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.85);
    z-index: 1000;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 4px; 
}

.md-spinner {
    width: 48px;
    height: 48px;
    border: 4px solid #e1e1e1;
    border-top: 4px solid #2eadda;
    border-radius: 50%;
    animation: md-spin 1s linear infinite;
    margin-bottom: 12px;
}

.step-2-tires .btn .material-icons {
	width: 32px;
	font-size: 1.5em;
}

.step-2-tires .btn span {
	flex: 1;
	font-weight: bold;
	line-height: 1.2;
}
.step-2-tires .btn span small {
	display: block;
	margin-top: 0.2em;
	font-size: 0.8em;
	font-weight: normal;
	color: var(--bs-secondary-color);
}
.step-2-tires .btn.active small {
	color: #fff;
}

.tire-info-row td, .tire-storage-details-row td {
	background: none;
}
.tire-info-row.odd {
	background-color: #f4f4f4;
}
.tire-info-row.even {
	background-color: #ffffff;
}