.button.button-primary {
  background-color: #4178be !important;
  border: 1px solid #4178be !important;
  color: #ffffff !important;
  padding: 7px 16px;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.15s ease;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  border-radius: 4px;
  cursor: pointer;
}

.button.button-primary:hover {
  background-color: #2d5a8f !important;
  border-color: #2d5a8f !important;
  color: #ffffff !important;
  text-decoration: none;
}

.button.button-primary:active {
  background-color: #1f4470 !important;
}

.button.button-primary .small.img-white svg path {
  fill: #ffffff !important;
}

.button.button-primary:focus-visible {
  outline: 2px solid #4178be;
  outline-offset: 2px;
}

.banner-badge-active {
  background-color: #1e7e34;
  color: white;
  padding: 5px 10px;
  font-weight: 600;
  border-radius: 3px;
  display: inline-block;
}

.banner-badge-inactive {
  background-color: #c82333;
  color: white;
  padding: 5px 10px;
  font-weight: 600;
  border-radius: 3px;
  display: inline-block;
}

.banner-actions {
  display: flex;
  gap: 5px;
}

.banner-empty-state {
  text-align: center;
}

.banner-btn-activate {
  background-color: #1e7e34 !important;
  border-color: #1c7430 !important;
  color: white !important;
  font-weight: 600;
}

.banner-btn-activate:hover {
  background-color: #155724 !important;
  border-color: #0e4b1a !important;
}

.banner-btn-deactivate {
  background-color: #d39e00 !important;
  border-color: #c69500 !important;
  color: #000 !important;
  font-weight: 600;
}

.banner-btn-deactivate:hover {
  background-color: #b38600 !important;
  border-color: #9c7500 !important;
}

.banner-btn-delete {
  background-color: #c82333 !important;
  border-color: #bd2130 !important;
  color: white !important;
  font-weight: 600;
}

.banner-btn-delete:hover {
  background-color: #a71d2a !important;
  border-color: #8b1924 !important;
}

.time-range-error {
  color: #dc3545;
  font-size: 14px;
  margin-top: 5px;
}

#banner-form .alert-danger {
  margin-bottom: 25px;
  padding: 20px;
}

#banner-form .alert-danger h4 {
  margin-top: 0;
  margin-bottom: 15px;
  font-weight: 600;
}

#banner-form .alert-danger ul {
  margin-bottom: 0;
  padding-left: 20px;
  line-height: 1.8;
}

#banner-form .alert-danger li {
  margin-bottom: 8px;
}

#banner-form .form-group {
  margin-bottom: 25px;
}

#banner-form .row {
  margin-bottom: 25px;
}

#banner-form .row .col-md-6 {
  padding-right: 15px;
  padding-left: 15px;
}

#banner-form .form-group label {
  font-weight: 600;
  margin-bottom: 8px;
  display: block;
}

#banner-form .form-group label .required {
  color: red;
}

#banner-form .form-control {
  padding: 10px;
}

#banner-form .form-text {
  margin-top: 8px;
  display: block;
}

#banner-form .color-picker-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}

#banner-form .color-picker {
  width: 80px;
  height: 45px;
  padding: 5px;
  cursor: pointer;
}

#banner-form .color-input {
  flex: 1;
  padding: 10px;
}

#banner-form .banner-section {
  margin-bottom: 30px;
  padding: 15px;
  background-color: #f8f9fa;
  border-radius: 5px;
}

#banner-form .form-check {
  margin-bottom: 15px;
}

#banner-form .form-check-input {
  margin-top: 5px;
}

#banner-form .form-check-label {
  font-weight: 600;
  margin-left: 5px;
}

#banner-form .form-check .form-text {
  margin-top: 8px;
  margin-left: 25px;
  display: block;
}

#banner-form .display-location-section label {
  font-weight: 600;
  margin-bottom: 10px;
  display: block;
}

#banner-form .display-location-section .form-text {
  margin-bottom: 15px;
  display: block;
}

#banner-form .display-location-checkbox-wrapper {
  margin-bottom: 10px;
}

#banner-form .display-location-checkbox-wrapper .form-check-label {
  font-weight: 500;
  margin-left: 5px;
}

#banner-form .display-location-checkbox-wrapper .form-text {
  margin-top: 5px;
  margin-left: 25px;
  display: block;
}

#banner-form .form-actions {
  margin-top: 30px;
}

#banner-form .form-actions .btn {
  padding: 10px 30px;
  margin-right: 10px;
}

#banner-submit-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: #6c757d !important;
  border-color: #6c757d !important;
}

.banner-display {
  margin: 10px;
  padding: 15px;
  position: relative;
}

body.has-active-banner #footer {
  bottom: auto;
  position: relative;
  margin-top: 60px;
  padding-top: 20px;
}

.banner-display-border {
  border-left-width: 4px;
  border-left-style: solid;
}

.banner-dismiss-button {
  position: absolute;
  top: 10px;
  right: 15px;
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  line-height: 1;
  opacity: 0.7;
}

.banner-dismiss-button:hover {
  opacity: 1;
}

.banner-content {
  margin-top: 5px;
  margin-bottom: 0;
  padding-right: 30px;
}

.banner-login-display {
  margin: 20px auto;
  padding: 20px;
  max-width: 600px;
  text-align: center;
}

.banner-login-title {
  font-size: 18px;
}

.banner-login-content {
  margin-top: 10px;
  font-size: 14px;
}
