/* Small site styles for spacing and spinner */
:root{
  --brand-primary:#0d6efd;
}
body{background:#f8f9fa}
.card{border:0}
#htmx-spinner{position:fixed;right:1rem;top:1rem;z-index:2000;display:none}
#htmx-spinner .spinner-border{width:2rem;height:2rem}
.alert-autodismiss{transition:opacity .3s ease}

/* Admin – unconfirmed rows pulse gently to attract attention */
.unconfirmed-row{
  animation: unconfirmed-pulse 2s ease-in-out infinite;
}
@keyframes unconfirmed-pulse{
  0%,100%{background-color: rgba(255,193,7,.15)}
  50%{background-color: rgba(255,193,7,.30)}
}

/* Admin – filter sidebar */
.filter-checkbox-list{
  max-height:220px;
  overflow-y:auto;
  padding:4px 0;
}
.filter-checkbox-list .form-check{
  padding-left:1.75em;
  margin-bottom:.15rem;
}
.filter-checkbox-list .form-check label{
  font-size:.875rem;
}

/* Admin – collapsible filter sections */
.filter-section-toggle{
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  padding:.25rem 0;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  border:none;
  background:none;
}
.filter-section-toggle:hover{color:var(--brand-primary)}
.filter-section-toggle .filter-chevron{
  transition:transform .2s;
  font-size:.75rem;
}
.filter-section-toggle[aria-expanded="true"] .filter-chevron{
  transform:rotate(180deg);
}

/* Field info tooltip (popover icon next to labels) */
.field-info-tooltip{
  cursor:pointer;
  color:var(--brand-primary);
  font-size:.85rem;
  vertical-align:middle;
}
.field-info-tooltip:hover,
.field-info-tooltip:focus{
  color:#0a58ca;
}
.popover{
  /* Increased to better accommodate larger content/images */
  max-width:900px;
  max-height:800px;
}
.popover-body img{
  border-radius:.25rem;
}

/* Dialog / modal styling */
dialog#modal{
  border:none;
  border-radius:.5rem;
  box-shadow:0 .5rem 1.5rem rgba(0,0,0,.25);
  padding:0;
}
dialog#modal::backdrop{
  background:rgba(0,0,0,.4);
}

/* Registration form - Rotax engine block */
.rotax-registration-section{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.5rem;
  flex-wrap:wrap;
}
.rotax-registration-logo{
  flex:0 0 auto;
  display:flex;
  align-items:center;
}
.rotax-registration-logo img{
  display:block;
  width:min(220px, 100%);
  height:auto;
}
.rotax-registration-content{
  flex:0 1 28rem;
}

@media (max-width: 767.98px){
  .rotax-registration-content{
    text-align:center;
  }
}
