
.footer-smaller-text {
   font-size: 0.9rem;
}

/*Blazor progress*/

.blazor-enhanced-nav-loading::after {
   content: "";
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 3px;
   /*background: linear-gradient(90deg, #0066cc, #00ccff);*/
   z-index: 9999;
   animation: loading 1s ease-in-out infinite;
}

@keyframes loading {
   0% {
      transform: translateX(-100%);
   }

   100% {
      transform: translateX(100%);
   }
}

#inp-accept-terms {
   border-width: 2px !important;
   border-color: #495057 !important;
}

   #inp-accept-terms:checked {
      background-color: #0d6efd !important;
      border-color: #0d6efd !important;
   }

/*Busy Spinner*/

#buApp-busy-spinner-overlay {
   /*background: #ffffff;*/
   color: #666666;
   position: fixed;
   height: 100%;
   width: 100%;
   z-index: 5000;
   top: 0;
   left: 0;
   float: left;
   text-align: center;
   padding-top: 25%;
   opacity: .80;
}

#busy-spinner-overlay {
   background: #ffffff;
   color: #666666;
   position: fixed;
   height: 100%;
   width: 100%;
   z-index: 5000;
   top: 0;
   left: 0;
   float: left;
   text-align: center;
   padding-top: 25%;
   opacity: .80;
}

.busy-spinner {
   margin: 0 auto;
   height: 80px;
   width: 80px;
   animation: rotate 0.8s infinite linear;
   border: 20px solid firebrick;
   border-right-color: transparent;
   border-radius: 50%;
}

@keyframes rotate {
   0% {
      transform: rotate(0deg);
   }

   100% {
      transform: rotate(360deg);
   }
}

/* extend bootstrap start & w */
.start-33 {
   left: 33.33% !important;
}

.start-66 {
   left: 66.66% !important;
}

.w-33 {
   width: 33.33% !important;
}

.w-66 {
   width: 66.66% !important;
}

.btn-place-order {
   background: #febd69;
   border: 1px solid #febd69 !important;
   color: #000 !important;
   border-radius: 0 !important;
   text-decoration: none;
}

   .btn-place-order:hover, .btn-place-order:focus {
      background: #F3A847;
      color: #000 !important;
      border-color: #003d73 !important;
   }

.order-total {
   font-size: 1.5rem;
   background: #e8f1ff;
   color: #1b4fa3;
}

.icon-wrap {
   line-height: 1;
}

   /* Centered overlay checkmark */
   .icon-wrap .checkmark-centered {
      top: 50%;
      left: 50%;
      transform: translate(-50%, -52%);
      font-size: 2rem; /* default size */
      filter: drop-shadow(0 0 2px #ffffff); /* subtle outline on light bg */
   }

/* form validation */

/* Neutralize the automatic green "valid" state for opted-in fields */
.validation-manual.form-control:valid,
.was-validated .validation-manual.form-control:valid {
   border-color: #dee2e6 !important;
   background-image: none !important;
   box-shadow: none !important;
}

/* Explicitly allow the green state ONLY when we manually add .is-valid */
.validation-manual.form-control.is-valid {
   border-color: #198754 !important;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") !important;
   background-repeat: no-repeat;
   background-position: right calc(0.375em + 0.1875rem) center;
   background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

/* 1. Mute automatic browser invalid styles */
.manual-validation.form-control:invalid,
.was-validated .manual-validation.form-control:invalid {
   border-color: #dee2e6 !important;
   background-image: none !important;
   box-shadow: none !important;
}

/* 2. Manual Invalid State (Bootstrap 5 Red & Exclamation Icon) */
.manual-validation.form-control.is-invalid {
   border-color: #dc3545 !important;
   padding-right: calc(1.5em + 0.75rem) !important;
   /* This is the official Bootstrap 5 Error Icon SVG */
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") !important;
   background-repeat: no-repeat !important;
   background-position: right calc(0.375em + 0.1875rem) center !important;
   background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) !important;
}

/* Optional: Red shadow on focus for invalid fields */
.manual-validation.form-control.is-invalid:focus {
   border-color: #dc3545 !important;
   box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25) !important;
}

/*Blazor styles below*/

.invalid {
   outline: 1px solid #e50000;
}

.validation-message {
   color: #e50000;
}

.blazor-error-boundary {
   background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
   padding: 1rem 1rem 1rem 3.7rem;
   color: white;
}

   .blazor-error-boundary::after {
      content: "An error has occurred."
   }

.darker-border-checkbox.form-check-input {
   border-color: #929292;
}
