/* =========================================================
   COA FRANCHISE MUSEUM — TROPHY CASE
   ========================================================= */

.owner-trophy-case{
  margin-top:48px;
  padding:28px;
  border:1px solid rgba(205,157,55,.28);
  border-radius:20px;
  background:
    radial-gradient(circle at 50% 0,rgba(214,166,61,.07),transparent 30%),
    linear-gradient(180deg,#0c121a,#070b11);
  box-shadow:0 25px 70px rgba(0,0,0,.3);
}

.trophy-case-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:30px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(201,155,54,.22);
}

.trophy-case-heading h2{
  margin:6px 0 7px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:42px;
  line-height:1;
}

.trophy-case-heading p{
  margin:0;
  max-width:720px;
  color:#8d9aac;
  line-height:1.6;
}

.trophy-case-counts{
  display:grid;
  grid-template-columns:repeat(5,105px);
  border:1px solid rgba(210,165,66,.28);
  border-radius:12px;
  overflow:hidden;
  background:#090e15;
}

.trophy-case-counts div{
  padding:14px 8px;
  text-align:center;
  border-right:1px solid #283245;
}

.trophy-case-counts div:last-child{
  border-right:0;
}

.trophy-case-counts strong{
  display:block;
  color:#e3bd5b;
  font-size:28px;
  line-height:1;
}

.trophy-case-counts span{
  display:block;
  margin-top:6px;
  color:#7d899b;
  font-size:7px;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}


/* =========================================================
   MUSEUM ZONES
   ========================================================= */

.trophy-zone{
  margin-top:18px;
  padding:20px;
  border:1px solid rgba(207,160,58,.2);
  border-radius:16px;
  background:
    linear-gradient(180deg,#111a26,#090e15);
}

.trophy-zone-title{
  display:flex;
  align-items:center;
  gap:11px;
  padding-bottom:13px;
  border-bottom:1px solid #273347;
}

.trophy-zone-title>span{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border:1px solid #8a6727;
  color:#dcb75b;
  font-size:11px;
  font-weight:950;
}

.trophy-zone-title h3{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
}

.hardware-label{
  margin:20px 0 11px;
  color:#d3ad52;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.16em;
}


/* =========================================================
   CHAMPIONSHIP WALL
   ========================================================= */

.championship-banner-row,
.sb-banner-row,
.division-row,
.playoff-row{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:12px;
}

.hardware-banner{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  border:0;
  font-family:inherit;
  cursor:pointer;
  transition:
    transform .18s ease,
    filter .18s ease;
}

.hardware-banner:hover{
  transform:translateY(-5px);
  filter:brightness(1.08);
}

.championship-banner{
  width:125px;
  height:178px;
  padding:20px 9px 32px;
  color:#1b1205;
  background:
    radial-gradient(circle at 50% 15%,rgba(255,247,180,.8),transparent 22%),
    linear-gradient(135deg,#f3d472 0%,#c28b25 52%,#7d4e09 100%);
  border:1px solid #f2d578;
  clip-path:polygon(
    0 0,
    100% 0,
    100% 85%,
    50% 100%,
    0 85%
  );
  box-shadow:0 12px 28px rgba(0,0,0,.26);
}

.championship-banner:before{
  content:"";
  position:absolute;
  inset:7px 7px 20px;
  border:1px solid rgba(77,48,5,.36);
  pointer-events:none;
}

.championship-banner>span,
.sb-banner>span{
  position:relative;
  display:block;
  font-size:8px;
  font-weight:950;
  line-height:1.35;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.championship-banner>strong,
.sb-banner>strong{
  position:relative;
  display:block;
  margin:18px 0 9px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:29px;
  line-height:1;
}

.championship-banner>small,
.sb-banner>small{
  position:relative;
  display:block;
  font-size:7px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.mega-banner{
  background:
    radial-gradient(circle at 50% 14%,#fff3a9,transparent 22%),
    linear-gradient(135deg,#f8df7b,#b57917 58%,#664006);
  box-shadow:
    0 0 30px rgba(218,170,59,.22),
    0 12px 28px rgba(0,0,0,.28);
}

.asterisk-banner{
  outline:1px solid rgba(172,74,55,.65);
  outline-offset:3px;
}


/* Super Bowl appearance banners */

.sb-banner{
  width:112px;
  height:158px;
  padding:18px 8px 28px;
  color:#f0f3f6;
  background:
    radial-gradient(circle at 45% 15%,rgba(255,255,255,.2),transparent 28%),
    linear-gradient(135deg,#7e8792,#3f4853 52%,#1b222b);
  border:1px solid #8e98a4;
  clip-path:polygon(
    0 0,
    100% 0,
    100% 85%,
    50% 100%,
    0 85%
  );
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}

.sb-banner:before{
  content:"";
  position:absolute;
  inset:7px 7px 19px;
  border:1px solid rgba(255,255,255,.15);
}

.mega-finalist{
  outline:1px solid rgba(220,177,75,.72);
  outline-offset:3px;
}


/* =========================================================
   DIVISION + PLAYOFF HARDWARE
   ========================================================= */

.minor-hardware-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:8px;
}

.division-pennant{
  appearance:none;
  -webkit-appearance:none;
  width:82px;
  height:102px;
  padding:13px 5px 23px;
  border:1px solid #927027;
  color:#e0bc62;
  background:
    linear-gradient(180deg,#182337,#0d1420);
  clip-path:polygon(
    0 0,
    100% 0,
    100% 77%,
    50% 100%,
    0 77%
  );
  cursor:pointer;
}

.division-pennant strong{
  display:block;
  font-family:Georgia,serif;
  font-size:18px;
}

.division-pennant span{
  display:block;
  margin-top:9px;
  font-size:7px;
  font-weight:900;
  letter-spacing:.09em;
}

.playoff-medallion{
  appearance:none;
  -webkit-appearance:none;
  width:58px;
  height:58px;
  padding:0;
  border-radius:50%;
  border:1px solid #896826;
  color:#dab760;
  background:
    radial-gradient(circle,#182336,#080d14);
  cursor:pointer;
  font-size:10px;
  font-weight:850;
}

.playoff-medallion:hover,
.division-pennant:hover{
  filter:brightness(1.15);
}


/* =========================================================
   RECORD VAULT
   ========================================================= */

.record-group{
  margin-top:20px;
}

.record-group-heading{
  margin-bottom:10px;
  color:#d8b55a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
}

.record-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.record-plaque{
  min-height:130px;
  padding:15px;
  border-radius:10px;
}

.record-plaque>span{
  display:block;
  font-size:7px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.record-plaque h4{
  margin:8px 0 10px;
  font-size:12px;
  line-height:1.35;
}

.record-plaque strong{
  display:block;
  font-family:Georgia,serif;
  font-size:22px;
}

.record-plaque small{
  display:block;
  margin-top:7px;
  color:#758297;
  line-height:1.35;
}

.coa-record{
  border:1px solid #8d6c27;
  background:
    radial-gradient(circle at 8% 0,rgba(217,169,61,.1),transparent 30%),
    linear-gradient(145deg,#18150e,#080c12);
}

.coa-record>span,
.coa-record strong{
  color:#dfbb5d;
}

.franchise-record{
  border:1px solid #3b485a;
  background:
    linear-gradient(145deg,#1b232d,#0b1119);
}

.franchise-record>span{
  color:#929fb0;
}


/* =========================================================
   AWARDS SHELF
   ========================================================= */

.award-shelf{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:11px;
}

.award-object{
  min-height:190px;
  padding:18px 10px 14px;
  text-align:center;
  border:1px solid #28364a;
  border-radius:13px;
  background:
    linear-gradient(180deg,#0d151f,#080d14);
}

.award-icon{
  width:76px;
  height:76px;
  margin:0 auto 13px;
  display:grid;
  place-items:center;
  border:1px solid #745821;
  border-radius:50%;
  color:#e2bd5e;
  background:
    radial-gradient(circle at 34% 27%,rgba(229,185,76,.2),transparent 52%),
    #111821;
  font-family:Georgia,serif;
  font-size:31px;
}

.award-object>span{
  display:block;
  color:#756b56;
  font-size:8px;
}

.award-object h4{
  margin:7px 0 6px;
  font-size:11px;
  line-height:1.35;
}

.award-object small{
  display:block;
  color:#8491a3;
  font-size:9px;
  line-height:1.4;
}

.award-gm .award-icon{
  border-radius:8px 8px 24px 24px;
}

.award-points .award-icon{
  border-radius:7px;
}

.award-king .award-icon{
  color:#efc967;
  font-size:37px;
}

.award-pae .award-icon{
  color:#83c5f1;
  border-color:#466e91;
}

.award-diamond .award-icon{
  color:#d7f0ff;
  border-color:#6c91af;
}

.award-hits .award-icon{
  color:#e1bd5e;
}

.award-steal .award-icon{
  color:#b7c1ce;
  border-color:#687586;
}

.award-gem .award-icon{
  color:#171006;
  background:
    radial-gradient(circle at 36% 30%,#f9df82,#5e3c08);
}


/* =========================================================
   SIGNATURE EXHIBIT
   ========================================================= */

.trophy-signature{
  margin-top:18px;
  padding:30px;
  text-align:center;
  border:1px solid #846323;
  border-radius:16px;
  background:
    radial-gradient(circle at 50% 0,rgba(226,176,64,.13),transparent 40%),
    linear-gradient(180deg,#17140d,#090d13);
}

.trophy-signature h3{
  margin:7px 0 4px;
  color:#dfbb5f;
  font-family:Georgia,"Times New Roman",serif;
  font-size:36px;
  letter-spacing:.04em;
}

.signature-years{
  margin-bottom:15px;
  color:#8c7c5d;
  letter-spacing:.22em;
}

.trophy-signature>strong{
  display:block;
  margin:5px 0;
  font-size:14px;
}

.trophy-signature p{
  max-width:800px;
  margin:14px auto 0;
  color:#8794a5;
  line-height:1.65;
}

.signature-run{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  max-width:900px;
  margin:22px auto 0;
}

.signature-run button{
  appearance:none;
  -webkit-appearance:none;
  padding:15px 8px;
  border:1px solid #5b4922;
  border-radius:8px;
  background:#0a1018;
  color:#fff;
  cursor:pointer;
}

.signature-run b{
  display:block;
  color:#dfb95e;
  font-family:Georgia,serif;
  font-size:18px;
}

.signature-run span{
  display:block;
  margin-top:5px;
  color:#8390a2;
  font-size:8px;
  line-height:1.35;
  text-transform:uppercase;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.trophy-empty{
  padding:20px;
  border:1px dashed #334156;
  border-radius:9px;
  color:#6f7d90;
  font-size:11px;
}

.trophy-empty.small{
  padding:12px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1100px){

  .trophy-case-heading{
    grid-template-columns:1fr;
  }

  .trophy-case-counts{
    grid-template-columns:repeat(5,1fr);
  }

  .record-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .award-shelf{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:740px){

  .owner-trophy-case{
    padding:16px;
  }

  .trophy-case-heading h2{
    font-size:32px;
  }

  .trophy-case-counts{
    grid-template-columns:repeat(2,1fr);
  }

  .minor-hardware-grid,
  .record-grid{
    grid-template-columns:1fr;
  }

  .award-shelf{
    grid-template-columns:repeat(2,1fr);
  }

  .signature-run{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   DIAMOND COLLECTOR — INTERACTIVE PLAYER DETAILS
   ========================================================= */

.award-object{
  position:relative;
  overflow:visible;
}

.award-object[data-has-details="true"]{
  cursor:pointer;
}

.award-hover-hint{
  display:inline-block;
  margin-top:10px;
  padding:4px 7px;
  border-radius:999px;
  border:1px solid rgba(119,185,228,.28);
  color:#8dbddd;
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.award-detail-popover{
  position:absolute;
  z-index:100;
  left:50%;
  bottom:calc(100% - 10px);
  transform:
    translateX(-50%)
    translateY(8px);

  width:310px;
  padding:14px;

  border:1px solid #527793;
  border-radius:12px;

  background:
    radial-gradient(
      circle at 50% 0,
      rgba(110,178,222,.12),
      transparent 40%
    ),
    #080e16;

  box-shadow:
    0 22px 55px rgba(0,0,0,.55);

  opacity:0;
  visibility:hidden;
  pointer-events:none;

  transition:
    opacity .16s ease,
    transform .16s ease,
    visibility .16s ease;

  text-align:left;
}

.award-object:hover .award-detail-popover,
.award-object:focus .award-detail-popover,
.award-object:focus-within .award-detail-popover{
  opacity:1;
  visibility:visible;
  transform:
    translateX(-50%)
    translateY(0);
}

.award-detail-popover:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-7px;

  width:12px;
  height:12px;

  background:#080e16;
  border-right:1px solid #527793;
  border-bottom:1px solid #527793;

  transform:
    translateX(-50%)
    rotate(45deg);
}

.award-detail-heading{
  padding-bottom:9px;
  margin-bottom:5px;
  border-bottom:1px solid #243448;
}

.award-detail-heading strong{
  display:block;
  color:#d9efff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
}

.award-detail-heading span{
  display:block;
  margin-top:3px;
  color:#718399;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.award-detail-list{
  display:flex;
  flex-direction:column;
}

.award-detail-player{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;

  padding:9px 0;
  border-bottom:1px solid #202d3d;
}

.award-detail-player:last-child{
  border-bottom:0;
}

.award-detail-player>div:first-child>strong{
  display:block;
  color:#eef4f9;
  font-size:11px;
}

.award-detail-player>div:first-child>small{
  display:block;
  margin-top:2px;
  color:#718297;
  font-size:8px;
}

.award-detail-numbers{
  text-align:right;
}

.award-detail-numbers strong{
  display:block;
  color:#bce5ff;
  font-size:11px;
}

.award-detail-numbers span{
  display:block;
  margin-top:3px;
  color:#d9b760;
  font-size:9px;
  font-weight:850;
}

.award-detail-help{
  display:block;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid #243448;

  color:#64768c!important;
  font-size:7px!important;
  line-height:1.45!important;
}


/* =========================================================
   BANNER WALL — FORCE CORRECT HORIZONTAL LAYOUT
   ========================================================= */

.owner-trophy-case .banner-wall{
  display:block !important;
  grid-template-columns:none !important;
  grid-template-areas:none !important;
}

.owner-trophy-case .championship-banner-row,
.owner-trophy-case .sb-banner-row{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:12px !important;
  width:100% !important;
}

.owner-trophy-case .championship-banner,
.owner-trophy-case .sb-banner{
  flex:0 0 auto !important;
  margin:0 !important;
}

.owner-trophy-case .minor-hardware-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  width:100%;
  margin-top:20px;
}

@media(max-width:740px){

  .owner-trophy-case .minor-hardware-grid{
    grid-template-columns:1fr !important;
  }

  .award-detail-popover{
    position:fixed;
    left:16px;
    right:16px;
    bottom:18px;
    width:auto;
    transform:none;
  }

  .award-object:hover .award-detail-popover,
  .award-object:focus .award-detail-popover,
  .award-object:focus-within .award-detail-popover{
    transform:none;
  }

  .award-detail-popover:after{
    display:none;
  }
}

