:root {
      --mellon-green: #2d6a4f;  /* deep cantaloupe rind green */
      --mellon-orange: #ff7f32; /* carved melon glow orange */
    }

/* Page background – full site */
 
/* site background */
.bg-mellon { background-color: var(--mellon-green) !important;}

body {
    background-color: var(--mellon-green) !important;
  }



    /* Navbar */
    .navbar { background-color: var(--mellon-green) !important; }
    .navbar .nav-link, .navbar-brand { color: #ff7f32 !important; }
    .navbar .nav-link.active { font-weight: 600; color: var(--mellon-orange) !important; }

    /* Buttons */
    .btn-warning {
      background-color: var(--mellon-orange);
      border-color: var(--mellon-orange);
      color: #fff;
    }
    .btn-warning:hover { background-color: #e86f29; border-color: #e86f29; }

    /* Tier badges */
    .bg-bronze { background-color: #b87333 !important; color: #fff; }
    .bg-silver { background-color: #c0c0c0 !important; color: #333; }
    .bg-gold   { background-color: #ffd700 !important; color: #333; }

    /* Choices tight look + z-index for dropdowns */
    .choices__inner { min-height: 2.4rem; padding: .35rem .65rem; }
    .choices__list--dropdown { z-index: 2000; }

    /* Global mobile polish */
    @media (max-width: 576px) {
      body { font-size: 0.95rem; }
      .navbar .nav-link { padding: .25rem .5rem; }
      .container, .container-fluid { padding-left: .75rem; padding-right: .75rem; }
      .card { margin-bottom: .75rem; }
      .btn, .form-control, .form-select { font-size: .95rem; padding: .4rem .6rem; }
    }

    /* Brand table theme */
.table-mellon thead,
.table-mellon thead th {
  background-color: var(--mellon-green) !important;
  color: #ff7f32 !important;
}
.table-mellon th { border-color: rgba(0,0,0,.1) !important; }
.table-mellon td { border-color: #ececec !important; }

/* Slightly tighter cells on phones */
@media (max-width: 576px) {
  .table td, .table th { padding: .35rem .5rem; }
}

/* Truncate very long army names but keep tap targets decent */
.text-truncate { max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }


/* Zebra + hover */
.table-mellon.table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: rgba(255,127,50,.06) !important;
}
.table-mellon.table-hover > tbody > tr:hover > * {
  background-color: rgba(45,106,79,.08) !important;
}


    /* Ensure Choices search input is visible */
    .choices__input { display: block !important; }


/* Brand logo sizing */
.brand-logo {
  height: 60px;  /* bump this up/down as you like */
  width: auto;
  display: inline-block;
}
@media (max-width: 576px) {
  .brand-logo { height: 36px; }
}

.badge-stack{
  position: relative;
  display: inline-block;
}

.badge-stack img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.badge-icon {
    position: absolute;
    inset: 8px;     /* pushes icon inward */
    width: auto;
    height: auto;
    object-fit: contain;
    z-index: 1;
}

.badge-border {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: scale(1.25);
    z-index: 2;
}

/* Profile strip sizes */
.badge-stack-sm{
  width: 32px;
  height: 32px;
  margin: 2px;
}

.badge-stack-sm .badge-icon{
  inset: 4px;
}

/* Bigger on wider screens */
@media (min-width: 768px){
  .badge-stack-sm{
    width: 48px;
    height: 48px;
    margin: 3px;
  }
 .badge-stack-sm .badge-icon{
    inset: 6px;
  }
}

/* ======================================
   Badge Cabinet Section Titles
====================================== */

.cabinet-section {
    margin-top: 34px;
}

.cabinet-title {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 16px;
    font-weight: 700;
    color: #ff7f32;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 16px;
}

.cabinet-title::before,
.cabinet-title::after {
    content: "";
    flex: 1;
    height: 2px;
    background: linear-gradient(to right, transparent, #ff7f32, transparent);
    opacity: 0.6;
}