/* ============================================================
   GAMINGPAPPSEN'S VALVAKA — V4.9 RIKSDAGEN REBUILD
   Keeps existing .seat elements and their live party colors.
   ============================================================ */

.seatsBox{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
}

/* Pixel chamber background — no external image required */
.seatsBox::after{
  content:"" !important;
  position:absolute !important;
  left:14px !important;
  right:14px !important;
  top:78px !important;
  bottom:14px !important;
  z-index:0 !important;
  pointer-events:none !important;

  background:
    radial-gradient(ellipse at 50% 108%,
      rgba(255,45,157,.08) 0 12%,
      rgba(25,233,255,.055) 13% 33%,
      transparent 34% 100%),
    repeating-linear-gradient(
      0deg,
      rgba(25,233,255,.035) 0 1px,
      transparent 1px 10px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(25,233,255,.035) 0 1px,
      transparent 1px 10px
    ),
    linear-gradient(180deg,rgba(4,20,40,.76),rgba(2,8,20,.93)) !important;

  border:1px solid rgba(25,233,255,.25) !important;
  box-shadow:
    inset 0 0 34px rgba(0,0,0,.48),
    inset 0 -4px 0 rgba(255,45,157,.08) !important;

  clip-path:polygon(
    8px 0,
    calc(100% - 8px) 0,
    100% 8px,
    100% calc(100% - 8px),
    calc(100% - 8px) 100%,
    8px 100%,
    0 calc(100% - 8px),
    0 8px
  ) !important;
}

/* Our clean legend */
.v49Legend{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  top:48px !important;
  z-index:40 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;

  height:34px !important;
  padding:3px 8px !important;

  background:#020a16 !important;
  border:1px solid rgba(25,233,255,.45) !important;
  box-shadow:
    3px 3px 0 rgba(0,0,0,.56),
    inset 0 0 0 1px rgba(255,255,255,.03) !important;

  box-sizing:border-box !important;
}

.v49LegendItem{
  display:flex !important;
  align-items:center !important;
  gap:4px !important;
  min-width:0 !important;
}

.v49LegendItem img{
  width:24px !important;
  height:24px !important;
  object-fit:contain !important;
  image-rendering:pixelated !important;
  filter:drop-shadow(2px 2px 0 #000) !important;
}

.v49LegendItem b{
  color:#f7fbff !important;
  font:900 9px/1 "Courier New",monospace !important;
  text-shadow:2px 2px 0 #000 !important;
}

/* Clean chamber metadata */
.v49Meta{
  position:absolute !important;
  left:26px !important;
  right:26px !important;
  top:88px !important;
  z-index:35 !important;

  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;

  color:#bcd5e6 !important;
  font:900 9px/1 "Courier New",monospace !important;
  letter-spacing:.055em !important;
  text-shadow:2px 2px 0 #000 !important;
}

.v49Meta strong{
  color:#ffe13d !important;
}

/* Chamber itself */
.seatsBox .seatmap.v49Chamber{
  position:absolute !important;
  left:22px !important;
  right:22px !important;
  top:106px !important;
  bottom:20px !important;

  width:auto !important;
  height:auto !important;

  display:block !important;
  padding:0 !important;
  margin:0 !important;

  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;

  overflow:hidden !important;
  z-index:20 !important;
}

/* Center aisle / visual axis */
.seatsBox .seatmap.v49Chamber::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:19% !important;
  bottom:12% !important;
  width:2px !important;
  transform:translateX(-50%) !important;

  background:
    repeating-linear-gradient(
      0deg,
      rgba(255,225,61,.25) 0 4px,
      transparent 4px 10px
    ) !important;

  opacity:.55 !important;
  pointer-events:none !important;
  z-index:0 !important;
}

/* Pixel rostrum at the front of the chamber */
.seatsBox .seatmap.v49Chamber::after{
  content:"175" !important;
  position:absolute !important;
  left:50% !important;
  bottom:3% !important;
  transform:translateX(-50%) !important;

  width:82px !important;
  height:24px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  background:#071426 !important;
  border:2px solid #ffe13d !important;
  box-shadow:
    4px 4px 0 #000,
    inset 0 -4px 0 rgba(255,45,157,.12) !important;

  color:#ffe13d !important;
  font:900 12px/1 "Courier New",monospace !important;
  text-shadow:2px 2px 0 #000 !important;

  z-index:50 !important;
}

/* 349 existing live seats — only geometry changes */
.seatsBox .seatmap.v49Chamber .seat{
  position:absolute !important;

  left:var(--v49-x,50%) !important;
  top:var(--v49-y,50%) !important;
  transform:
    translate(-50%,-50%)
    rotate(var(--v49-r,0deg)) !important;

  width:10px !important;
  height:10px !important;
  min-width:10px !important;
  min-height:10px !important;

  margin:0 !important;
  padding:0 !important;

  border:1px solid rgba(0,0,0,.88) !important;
  border-radius:0 !important;

  box-shadow:
    inset 0 -2px 0 rgba(0,0,0,.28),
    1px 1px 0 rgba(0,0,0,.72),
    0 0 4px color-mix(in srgb,currentColor 26%,transparent) !important;

  image-rendering:pixelated !important;
  z-index:10 !important;
}

/* Tiny front edge so the chamber feels built, not spreadsheet-like */
.v49FrontRail{
  position:absolute !important;
  left:18% !important;
  right:18% !important;
  bottom:11% !important;
  height:8px !important;
  z-index:8 !important;

  border-top:2px solid rgba(25,233,255,.42) !important;
  border-left:2px solid rgba(25,233,255,.18) !important;
  border-right:2px solid rgba(25,233,255,.18) !important;
  background:rgba(2,8,20,.42) !important;
  pointer-events:none !important;
}

/* Hide only elements explicitly identified by JS as the legacy mini legend/meta */
[data-v49-legacy="1"]{
  display:none !important;
}

/* ---------- 9:16 ---------- */
body[data-pixel-layout="9"] .v49Legend{
  left:20px !important;
  right:20px !important;
  top:58px !important;
  height:46px !important;
  gap:8px !important;
  flex-wrap:wrap !important;
}

body[data-pixel-layout="9"] .v49LegendItem img{
  width:27px !important;
  height:27px !important;
}

body[data-pixel-layout="9"] .v49LegendItem b{
  font-size:10px !important;
}

body[data-pixel-layout="9"] .v49Meta{
  top:111px !important;
  font-size:10px !important;
}

body[data-pixel-layout="9"] .seatsBox .seatmap.v49Chamber{
  left:24px !important;
  right:24px !important;
  top:132px !important;
  bottom:24px !important;
}

body[data-pixel-layout="9"] .seatsBox .seatmap.v49Chamber .seat{
  width:11px !important;
  height:11px !important;
  min-width:11px !important;
  min-height:11px !important;
}
