
/* =========================================================
   LIQUELSEN CIVIC V2
   Structural visual layer
   ========================================================= */

#politica.civic-v1.civic-v2{
  --cv2-bg:#07131f;
  --cv2-panel:#0d2233;
  --cv2-panel-2:#102b40;
  --cv2-panel-3:#15364d;
  --cv2-line:rgba(117,183,226,.20);
  --cv2-line-strong:rgba(117,183,226,.34);
  --cv2-text:#f1f7fb;
  --cv2-muted:#9eb7c8;
  --cv2-blue:#48a9e8;
  --cv2-blue-soft:#84c9f0;
  --cv2-green:#54c78b;
  --cv2-yellow:#e8b84f;

  background:
    radial-gradient(circle at 90% 0%,rgba(67,145,198,.13),transparent 28%),
    linear-gradient(180deg,#081622,#06111b) !important;

  color:var(--cv2-text);
  padding:18px 20px 42px !important;
  min-height:100vh;
}


/* ---------------------------------------------------------
   SHELL
   --------------------------------------------------------- */

#politica.civic-v2 .civic-v2-shell{
  width:min(1780px,100%);
  margin:0 auto;

  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:18px;
}

#politica.civic-v2 .civic-v2-content{
  min-width:0;
}


/* ---------------------------------------------------------
   LOCAL CIVIC RAIL
   --------------------------------------------------------- */

#politica.civic-v2 .civic-v2-rail{
  position:sticky;
  top:112px;
  align-self:start;

  padding:16px 10px;

  border:1px solid var(--cv2-line);
  border-radius:16px;

  background:
    linear-gradient(180deg,rgba(13,35,52,.98),rgba(7,21,32,.98));

  box-shadow:0 14px 34px rgba(0,7,15,.20);
}

#politica.civic-v2 .civic-v2-rail-brand{
  padding:4px 10px 15px;

  color:#d9ecf8;

  font-size:11px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;

  border-bottom:1px solid rgba(255,255,255,.07);
  margin-bottom:10px;
}

#politica.civic-v2 .civic-v2-rail button{
  width:100%;
  min-height:42px;

  display:flex;
  align-items:center;
  gap:10px;

  padding:9px 10px;

  border:0;
  border-radius:9px;

  color:#9fb9ca;
  background:transparent;

  font:inherit;
  font-size:13px;
  text-align:left;

  cursor:pointer;
}

#politica.civic-v2 .civic-v2-rail button:hover{
  color:#fff;
  background:rgba(69,160,220,.10);
}

#politica.civic-v2 .civic-v2-rail button.is-active{
  color:#fff;

  background:
    linear-gradient(90deg,rgba(50,150,214,.26),rgba(50,150,214,.08));

  box-shadow:inset 3px 0 #51b2ee;
}

#politica.civic-v2 .civic-v2-rail-icon{
  width:20px;
  color:#79bce6;
  text-align:center;
}


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

#politica.civic-v2 .politics-hero{
  min-height:238px !important;

  padding:31px 34px !important;

  border:1px solid rgba(135,194,232,.22) !important;
  border-radius:18px !important;

  overflow:hidden !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(4,13,22,.94) 0%,
      rgba(4,13,22,.84) 29%,
      rgba(5,16,26,.48) 57%,
      rgba(5,16,26,.10) 100%
    ),
    url("/ui-media/civic/politica-hero.jpg") !important;

  background-size:cover !important;
  background-position:72% center !important;
  background-repeat:no-repeat !important;

  box-shadow:0 18px 44px rgba(0,7,14,.27) !important;
}

#politica.civic-v2 .politics-hero::before{
  content:none !important;
  display:none !important;
}

#politica.civic-v2 .politics-hero::after{
  content:"" !important;

  position:absolute;
  inset:0;

  pointer-events:none;

  background:
    linear-gradient(
      180deg,
      rgba(122,190,230,.04),
      transparent 55%,
      rgba(0,0,0,.17)
    ) !important;
}

#politica.civic-v2 .politics-hero > *{
  position:relative;
  z-index:2;
}

#politica.civic-v2 .politics-hero b{
  color:#9ed3f1 !important;

  font-size:11px !important;
  font-weight:800;

  letter-spacing:.18em;
}

#politica.civic-v2 .politics-hero h2{
  max-width:760px;

  margin:8px 0 8px !important;

  color:#fff !important;

  font-family:Georgia,"Times New Roman",serif !important;
  font-size:58px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:-.035em !important;

  text-shadow:0 3px 18px rgba(0,0,0,.32);
}

#politica.civic-v2 .politics-hero p{
  max-width:760px !important;

  color:#e4f0f7 !important;

  font-size:16px !important;
  line-height:1.5 !important;
}

#politica.civic-v2 .politics-rule{
  min-width:155px;

  padding:18px 20px !important;

  border:1px solid rgba(150,207,242,.28) !important;
  border-radius:14px !important;

  background:
    linear-gradient(180deg,rgba(19,47,68,.88),rgba(7,23,35,.92)) !important;

  backdrop-filter:blur(6px);
}

#politica.civic-v2 .politics-rule strong{
  font-size:44px !important;
}


/* ---------------------------------------------------------
   CIVIC TABS
   --------------------------------------------------------- */

#politica.civic-v2 .civic-v2-tabs{
  display:flex;

  margin:0 0 14px;

  border:1px solid var(--cv2-line);
  border-top:0;

  border-radius:0 0 12px 12px;

  overflow:hidden;

  background:#0b2030;
}

#politica.civic-v2 .civic-v2-tabs button{
  min-width:118px;
  height:45px;

  padding:0 18px;

  border:0;
  border-right:1px solid rgba(255,255,255,.05);

  color:#a7bfd0;
  background:transparent;

  font:inherit;
  font-size:12px;

  cursor:pointer;
}

#politica.civic-v2 .civic-v2-tabs button:hover{
  color:#fff;
  background:rgba(63,164,225,.08);
}

#politica.civic-v2 .civic-v2-tabs button.is-active{
  color:#fff;

  background:
    linear-gradient(180deg,rgba(46,151,216,.18),rgba(46,151,216,.06));

  box-shadow:inset 0 -3px #45b2f4;
}


/* ---------------------------------------------------------
   TOP METRICS
   --------------------------------------------------------- */

#politica.civic-v2 .politics-metrics{
  display:grid !important;
  grid-template-columns:1.35fr 1fr 1fr 1fr !important;
  gap:12px !important;

  margin-bottom:14px;
}

#politica.civic-v2 .politics-metrics > article{
  min-height:102px;

  position:relative;
  overflow:hidden;

  padding:17px 18px !important;

  border:1px solid var(--cv2-line) !important;
  border-radius:13px !important;

  background:
    linear-gradient(145deg,#132e43,#0b2233) !important;

  box-shadow:0 8px 20px rgba(0,7,14,.14) !important;
}

#politica.civic-v2 .politics-metrics > article::before{
  content:"";

  position:absolute;
  left:0;
  top:0;
  bottom:0;

  width:3px;

  background:#50b4ef;
}

#politica.civic-v2 .politics-metrics > article > span{
  color:#91c6e5 !important;

  font-size:10px !important;
  font-weight:800;
  letter-spacing:.14em;

  text-transform:uppercase;
}

#politica.civic-v2 .politics-metrics > article > b{
  display:block;

  margin-top:6px;

  color:#fff !important;

  font-size:27px !important;
  line-height:1 !important;
}

#politica.civic-v2 .politics-metrics > article > small{
  display:block;

  margin-top:7px;

  color:#a8c1d1 !important;
  font-size:11px !important;
}

#politica.civic-v2 .politics-metrics > article:first-child{
  padding-right:122px !important;
}

#politica.civic-v2 .politics-metrics > article:first-child::after{
  content:"";

  position:absolute;
  right:0;
  top:0;

  width:120px;
  height:100%;

  background:
    linear-gradient(90deg,#122e43 0%,rgba(18,46,67,.12) 44%,transparent 100%),
    url("/ui-media/civic/setno-karam.jpg");

  background-size:cover;
  background-position:center 23%;

  pointer-events:none;
}


/* ---------------------------------------------------------
   MEDIA STRIP
   --------------------------------------------------------- */

#politica.civic-v2 .civic-v2-media-strip{
  display:grid;
  grid-template-columns:1fr 1.35fr 1fr;
  gap:12px;

  margin-bottom:14px;
}

#politica.civic-v2 .civic-v2-media-card{
  position:relative;

  height:158px;

  overflow:hidden;

  border:1px solid var(--cv2-line);
  border-radius:13px;

  box-shadow:0 9px 24px rgba(0,7,14,.17);

  cursor:pointer;
}

#politica.civic-v2 .civic-v2-media-card::before{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(4,14,23,.08),
      rgba(4,14,23,.18) 38%,
      rgba(4,14,23,.91)
    );
}

#politica.civic-v2 .civic-media-president{
  background:
    url("/ui-media/civic/setno-karam.jpg")
    center 25% / cover no-repeat;
}

#politica.civic-v2 .civic-media-chamber{
  background:
    url("/ui-media/civic/camara-nacional.jpg")
    center 48% / cover no-repeat;
}

#politica.civic-v2 .civic-media-municipality{
  background:
    url("/ui-media/civic/minea-civica.jpg")
    center 48% / cover no-repeat;
}

#politica.civic-v2 .civic-v2-media-text{
  position:absolute;

  left:16px;
  right:16px;
  bottom:14px;

  z-index:2;
}

#politica.civic-v2 .civic-v2-media-text small{
  color:#9fd2ee !important;

  font-size:10px !important;
  font-weight:800;
  letter-spacing:.12em;

  text-transform:uppercase;
}

#politica.civic-v2 .civic-v2-media-text strong{
  display:block;

  margin-top:3px;

  color:#fff;

  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  line-height:1.05;
}

#politica.civic-v2 .civic-v2-media-text span{
  display:block;

  margin-top:4px;

  color:#c2d5e1;

  font-size:11px;
}


/* ---------------------------------------------------------
   COMMON CARDS
   --------------------------------------------------------- */

#politica.civic-v2 .card{
  border:1px solid var(--cv2-line) !important;
  border-radius:13px !important;

  background:
    linear-gradient(180deg,#10283b,#0a1f2f) !important;

  box-shadow:
    0 10px 26px
    rgba(0,7,14,.15) !important;
}

#politica.civic-v2 .card-head{
  border-bottom:
    1px solid
    rgba(255,255,255,.06);
}

#politica.civic-v2 .card-head small{
  color:#91bed9 !important;

  font-size:10px !important;
  letter-spacing:.12em;
}

#politica.civic-v2 .card-head h3{
  color:#fff !important;

  font-family:Georgia,"Times New Roman",serif;
  font-size:20px !important;
  font-weight:700;
}


/* ---------------------------------------------------------
   CHAMBER + AGENDA
   --------------------------------------------------------- */

#politica.civic-v2 .politics-layout{
  display:grid !important;
  grid-template-columns:minmax(0,2.15fr) minmax(300px,.85fr) !important;
  gap:12px !important;

  margin-bottom:12px;
}

#politica.civic-v2 .chamber-card{
  min-width:0;
}

#politica.civic-v2 .chamber-head{
  min-height:100px;

  background:
    linear-gradient(
      90deg,
      rgba(5,20,31,.94),
      rgba(5,20,31,.76) 45%,
      rgba(5,20,31,.13)
    ),
    url("/ui-media/civic/camara-nacional.jpg");

  background-size:cover;
  background-position:center 46%;

  border-radius:12px 12px 0 0;
}

#politica.civic-v2 .chamber-map{
  min-height:340px !important;

  background:
    radial-gradient(
      ellipse at 50% 85%,
      rgba(71,166,225,.16),
      transparent 50%
    ),
    #091d2c !important;
}

#politica.civic-v2 .agenda-card{
  background:
    linear-gradient(180deg,#153249,#0b2233) !important;
}


/* ---------------------------------------------------------
   GAMEPLAY / CAREER EMPTY STATE
   --------------------------------------------------------- */

#politica.civic-v2 #civicGameplay{
  max-height:210px;

  margin-bottom:12px;

  overflow:auto;

  border:1px solid var(--cv2-line) !important;
  border-radius:13px !important;

  background:
    linear-gradient(180deg,#10283a,#0a1f2f) !important;

  box-shadow:0 9px 24px rgba(0,7,14,.14);
}

#politica.civic-v2 #civicGameplay.civic-v2-empty{
  max-height:118px;
}


/* ---------------------------------------------------------
   PARTIES / CAREER
   --------------------------------------------------------- */

#politica.civic-v2 .politics-secondary{
  display:grid !important;
  grid-template-columns:1.08fr .92fr !important;
  gap:12px !important;

  margin-bottom:12px;
}

#politica.civic-v2 .party-list > *{
  position:relative;

  min-height:74px;

  padding-left:76px !important;

  border:
    1px solid
    rgba(116,183,226,.16) !important;

  border-radius:10px !important;

  background:
    linear-gradient(145deg,#153248,#0d2638) !important;
}

#politica.civic-v2 .civic-party-logo{
  position:absolute;

  left:13px;
  top:50%;

  width:49px;
  height:49px;

  transform:translateY(-50%);

  object-fit:contain;

  filter:
    drop-shadow(0 4px 8px rgba(0,0,0,.20));
}


/* ---------------------------------------------------------
   MUNICIPALITIES
   --------------------------------------------------------- */

#politica.civic-v2 .municipal-card{
  overflow:hidden;
}

#politica.civic-v2 .municipal-head{
  min-height:116px;

  background:
    linear-gradient(
      90deg,
      rgba(4,18,28,.95),
      rgba(4,18,28,.73) 48%,
      rgba(4,18,28,.18)
    ),
    url("/ui-media/civic/minea-civica.jpg");

  background-size:cover;
  background-position:center 50%;

  border-radius:12px 12px 0 0;
}

#politica.civic-v2 .municipal-roster{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;

  max-height:610px !important;

  overflow:auto;

  gap:1px !important;

  background:rgba(255,255,255,.035);
}

#politica.civic-v2 .municipal-roster > *{
  border:0 !important;
  border-radius:0 !important;

  background:
    linear-gradient(180deg,#102a3d,#0c2233) !important;

  box-shadow:none !important;
}


/* ---------------------------------------------------------
   SMALL DETAILS
   --------------------------------------------------------- */

#politica.civic-v2 .status-tag{
  border-radius:999px;
}

#politica.civic-v2 button.primary{
  border:0 !important;

  color:#052034 !important;

  background:
    linear-gradient(180deg,#8bd0f4,#4da8df) !important;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width:1350px){

  #politica.civic-v2 .civic-v2-shell{
    grid-template-columns:150px minmax(0,1fr);
  }

  #politica.civic-v2 .politics-hero h2{
    font-size:48px !important;
  }

  #politica.civic-v2 .civic-v2-media-strip{
    grid-template-columns:1fr 1fr 1fr;
  }

}

@media (max-width:1050px){

  #politica.civic-v2 .civic-v2-shell{
    display:block;
  }

  #politica.civic-v2 .civic-v2-rail{
    display:none;
  }

  #politica.civic-v2 .politics-layout,
  #politica.civic-v2 .politics-secondary{
    grid-template-columns:1fr !important;
  }

  #politica.civic-v2 .politics-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

}

@media (max-width:720px){

  #politica.civic-v1.civic-v2{
    padding:10px !important;
  }

  #politica.civic-v2 .politics-hero{
    min-height:260px !important;
    padding:22px !important;
  }

  #politica.civic-v2 .politics-hero h2{
    font-size:38px !important;
  }

  #politica.civic-v2 .civic-v2-tabs{
    overflow-x:auto;
  }

  #politica.civic-v2 .civic-v2-tabs button{
    min-width:105px;
  }

  #politica.civic-v2 .politics-metrics{
    grid-template-columns:1fr !important;
  }

  #politica.civic-v2 .civic-v2-media-strip{
    grid-template-columns:1fr;
  }

  #politica.civic-v2 .municipal-roster{
    grid-template-columns:1fr !important;
  }

}


/* =========================================================
   LIQ CIVIC V2.1 - STRUCTURAL POLISH
   ========================================================= */

#politica.civic-v2 .civic-v2-shell{
  grid-template-columns:205px minmax(0,1fr);
  gap:20px;
}

#politica.civic-v2 .civic-v2-rail{
  padding:18px 12px;
  border-radius:18px;
}

#politica.civic-v2 .civic-v2-rail button{
  min-height:46px;
  font-size:13px;
}

#politica.civic-v2 .politics-hero{
  min-height:265px !important;
  padding:36px 38px !important;
}

#politica.civic-v2 .politics-hero h2{
  font-size:64px !important;
}

#politica.civic-v2 .politics-hero p{
  max-width:760px !important;
  font-size:17px !important;
}

#politica.civic-v2 .civic-v2-tabs{
  margin-bottom:18px;
}

#politica.civic-v2 .civic-v2-tabs button{
  height:48px;
  font-size:13px;
}

#politica.civic-v2 .politics-metrics{
  gap:14px !important;
  margin-bottom:18px;
}

#politica.civic-v2 .politics-metrics > article{
  min-height:112px;
  padding:19px 20px !important;
}

#politica.civic-v2 .politics-metrics > article > b{
  font-size:30px !important;
}

#politica.civic-v2 .civic-v2-media-strip{
  gap:14px;
  margin-bottom:18px;
}

#politica.civic-v2 .civic-v2-media-card{
  height:180px;
}

#politica.civic-v2 .civic-v2-media-text strong{
  font-size:24px;
}

#politica.civic-v2 #civicGameplay{
  max-height:150px !important;
  min-height:0 !important;
  margin-bottom:16px;
}

#politica.civic-v2 #civicGameplay.civic-v2-empty{
  height:112px !important;
  max-height:112px !important;
  overflow:hidden !important;
}

#politica.civic-v2 .politics-layout{
  gap:14px !important;
  margin-bottom:16px;
}

#politica.civic-v2 .politics-secondary{
  gap:14px !important;
  margin-bottom:16px;
}

#politica.civic-v2 .card{
  border-radius:15px !important;
}

#politica.civic-v2 .card-head{
  padding-top:16px !important;
  padding-bottom:14px !important;
}

#politica.civic-v2 .card-head h3{
  font-size:22px !important;
}

#politica.civic-v2 .party-list > *{
  min-height:82px;
}

#politica.civic-v2 .municipal-roster{
  max-height:560px !important;
}

#politica.civic-v2 .municipal-roster > *{
  min-height:118px;
  padding:16px !important;
}

@media (max-width:1350px){
  #politica.civic-v2 .civic-v2-shell{
    grid-template-columns:175px minmax(0,1fr);
  }

  #politica.civic-v2 .politics-hero h2{
    font-size:54px !important;
  }
}

/* =========================================================
   LIQ CIVIC V2.2 - POLITICAL MINI MAP
   ========================================================= */

#politica.civic-v2 .civic-v2-media-strip{
  grid-template-columns:.88fr 1.02fr 1.35fr;
}

#politica.civic-v2 .civic-media-municipality.civic-media-map{
  height:220px;
  padding:0;
  cursor:default;
  background:
    radial-gradient(circle at 70% 18%,rgba(70,160,218,.10),transparent 35%),
    linear-gradient(180deg,#10283a,#081c2b) !important;
}

#politica.civic-v2 .civic-media-municipality.civic-media-map::before{
  content:none;
  display:none;
}

#politica.civic-v2 .civic-media-map .civic-v2-map-card-head{
  position:absolute;
  z-index:4;
  left:14px;
  right:14px;
  top:12px;

  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;

  pointer-events:none;
}

#politica.civic-v2 .civic-media-map .civic-v2-map-card-kicker{
  display:block;
  margin-bottom:2px;
  color:#9ed4f2;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

#politica.civic-v2 .civic-media-map .civic-v2-map-card-title{
  display:block;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  line-height:1.05;
}

#politica.civic-v2 .civic-media-map .civic-v2-map-card-count{
  flex:0 0 auto;
  padding:6px 9px;
  border:1px solid rgba(126,191,231,.22);
  border-radius:999px;
  background:rgba(4,17,27,.60);
  color:#c7dbe7;
  font-size:9px;
  letter-spacing:.06em;
}

#politica.civic-v2 .civic-v2-mini-map-shell{
  position:absolute;
  inset:0;
  padding:42px 8px 30px;
}

#politica.civic-v2 .civic-v2-mini-map{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
}

#politica.civic-v2 .civic-v2-mini-map svg{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  overflow:visible;
  filter:drop-shadow(0 9px 15px rgba(0,0,0,.24));
}

#politica.civic-v2 .civic-v2-mini-map svg #fundo{
  fill:transparent !important;
  opacity:0 !important;
  pointer-events:none;
}

#politica.civic-v2 .civic-v2-mini-map svg [data-civic-city="1"]{
  cursor:pointer;
  transition:filter .12s ease,opacity .12s ease;
}

#politica.civic-v2 .civic-v2-mini-map svg [data-civic-city="1"]:hover{
  filter:brightness(1.28) saturate(1.08);
}

#politica.civic-v2 .civic-v2-mini-map-legend{
  position:absolute;
  left:12px;
  right:12px;
  bottom:8px;
  z-index:4;

  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px 9px;

  pointer-events:none;
}

#politica.civic-v2 .civic-v2-mini-map-legend-item{
  display:flex;
  align-items:center;
  gap:4px;
  color:#b7cbd8;
  font-size:8px;
  line-height:1;
  white-space:nowrap;
}

#politica.civic-v2 .civic-v2-mini-map-legend-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(255,255,255,.14);
}

#politica.civic-v2 .civic-v2-mini-map-state{
  color:#8eabba;
  font-size:10px;
  text-align:center;
}

#politica.civic-v2 .civic-v2-mini-map-state.is-error{
  color:#dc8e94;
}

@media (max-width:1050px){
  #politica.civic-v2 .civic-v2-media-strip{
    grid-template-columns:1fr 1fr;
  }

  #politica.civic-v2 .civic-media-municipality.civic-media-map{
    grid-column:1 / -1;
  }
}

@media (max-width:720px){
  #politica.civic-v2 .civic-v2-media-strip{
    grid-template-columns:1fr;
  }

  #politica.civic-v2 .civic-media-municipality.civic-media-map{
    grid-column:auto;
    height:260px;
  }
}

/* =========================================================
   LIQ CIVIC V2.3 - REAL TABS
   ========================================================= */


/* ---------------------------------------------------------
   TAB VISIBILITY
   --------------------------------------------------------- */

#politica.civic-v2 .politics-metrics,
#politica.civic-v2 .civic-v2-media-strip,
#politica.civic-v2 #civicGameplay,
#politica.civic-v2 .politics-layout,
#politica.civic-v2 .politics-secondary,
#politica.civic-v2 .municipal-card{
  display:none !important;
}


/* OVERVIEW */

#politica.civic-v2[data-civic-tab="overview"] .politics-metrics{
  display:grid !important;
}

#politica.civic-v2[data-civic-tab="overview"] .civic-v2-media-strip{
  display:grid !important;
}


/* CHAMBER */

#politica.civic-v2[data-civic-tab="chamber"] .politics-layout{
  display:grid !important;
  grid-template-columns:1fr !important;
}

#politica.civic-v2[data-civic-tab="chamber"] #civicV2Chamber{
  display:block !important;
}

#politica.civic-v2[data-civic-tab="chamber"] #civicV2Bills{
  display:none !important;
}


/* BILLS */

#politica.civic-v2[data-civic-tab="bills"] .politics-layout{
  display:grid !important;
  grid-template-columns:1fr !important;
}

#politica.civic-v2[data-civic-tab="bills"] #civicV2Chamber{
  display:none !important;
}

#politica.civic-v2[data-civic-tab="bills"] #civicV2Bills{
  display:block !important;
}


/* PARTIES */

#politica.civic-v2[data-civic-tab="parties"] .politics-secondary{
  display:grid !important;
  grid-template-columns:1fr !important;
}

#politica.civic-v2[data-civic-tab="parties"] #civicV2Parties{
  display:block !important;
}

#politica.civic-v2[data-civic-tab="parties"] #civicV2Career,
#politica.civic-v2[data-civic-tab="parties"] #civicGameplay{
  display:none !important;
}


/* CAREER */

#politica.civic-v2[data-civic-tab="career"] .politics-secondary{
  display:grid !important;

  grid-template-columns:
    minmax(0,.9fr)
    minmax(0,1.1fr) !important;

  align-items:start;
}

#politica.civic-v2[data-civic-tab="career"] #civicGameplay,
#politica.civic-v2[data-civic-tab="career"] #civicV2Career{
  display:block !important;
}

#politica.civic-v2[data-civic-tab="career"] #civicV2Parties{
  display:none !important;
}


/* MUNICIPAL */

#politica.civic-v2[data-civic-tab="municipal"] .municipal-card{
  display:block !important;
}


/* ---------------------------------------------------------
   TABS - STRONGER
   --------------------------------------------------------- */

#politica.civic-v2 .civic-v2-tabs{
  position:relative;

  margin-bottom:18px !important;

  background:
    linear-gradient(
      180deg,
      #102a3d,
      #0a2030
    ) !important;

  border:
    1px solid
    rgba(110,180,225,.24) !important;

  border-radius:11px !important;

  overflow:hidden;
}

#politica.civic-v2 .civic-v2-tabs button{
  height:50px !important;

  color:#9eb9ca !important;

  font-size:12px !important;
  font-weight:600;
}

#politica.civic-v2 .civic-v2-tabs button.is-active{
  color:#fff !important;

  background:
    linear-gradient(
      180deg,
      rgba(58,165,229,.24),
      rgba(58,165,229,.08)
    ) !important;

  box-shadow:
    inset 0 -3px #4eb8f5 !important;
}


/* ---------------------------------------------------------
   OVERVIEW COMPOSITION
   --------------------------------------------------------- */

#politica.civic-v2[data-civic-tab="overview"] .politics-metrics{
  grid-template-columns:
    1.25fr
    1fr
    1fr
    1fr !important;

  gap:12px !important;

  margin-bottom:14px !important;
}


#politica.civic-v2[data-civic-tab="overview"] .civic-v2-media-strip{
  grid-template-columns:
    .78fr
    .92fr
    1.55fr !important;

  gap:12px !important;

  align-items:stretch;

  margin-bottom:0 !important;
}


#politica.civic-v2[data-civic-tab="overview"] .civic-v2-media-card{
  height:245px !important;
}


#politica.civic-v2[data-civic-tab="overview"]
.civic-media-municipality.civic-media-map{
  height:245px !important;
}


#politica.civic-v2 .civic-v2-mini-map-shell{
  padding:
    46px
    14px
    33px !important;
}


#politica.civic-v2 .civic-v2-mini-map svg{
  width:100% !important;
  height:100% !important;

  max-width:none !important;
  max-height:none !important;

  overflow:visible !important;
}


/* ---------------------------------------------------------
   CHAMBER TAB
   --------------------------------------------------------- */

#politica.civic-v2[data-civic-tab="chamber"]
.politics-layout{
  margin:0 !important;
}


#politica.civic-v2[data-civic-tab="chamber"]
.chamber-card{
  width:100% !important;
  max-width:none !important;
}


#politica.civic-v2[data-civic-tab="chamber"]
.chamber-head{
  min-height:145px !important;

  padding:
    22px
    24px !important;
}


#politica.civic-v2[data-civic-tab="chamber"]
.chamber-map{
  min-height:510px !important;

  height:auto !important;

  overflow:visible !important;
}


#politica.civic-v2[data-civic-tab="chamber"]
#chamberMap{
  min-height:510px !important;

  height:auto !important;
}


/* ---------------------------------------------------------
   BILLS TAB
   --------------------------------------------------------- */

#politica.civic-v2[data-civic-tab="bills"]
#civicV2Bills{
  width:100% !important;

  min-height:0 !important;
  height:auto !important;

  overflow:visible !important;
}


#politica.civic-v2[data-civic-tab="bills"]
#politicalBills{
  min-height:0 !important;
  height:auto !important;

  overflow:visible !important;
}


#politica.civic-v2[data-civic-tab="bills"]
.agenda-card{
  padding-bottom:18px !important;
}


/* ---------------------------------------------------------
   PARTY TAB
   --------------------------------------------------------- */

#politica.civic-v2[data-civic-tab="parties"]
#civicV2Parties{
  width:100% !important;
}


#politica.civic-v2[data-civic-tab="parties"]
#partyList{
  display:grid !important;

  grid-template-columns:
    repeat(2,minmax(0,1fr)) !important;

  gap:12px !important;
}


#politica.civic-v2[data-civic-tab="parties"]
.party-list > *{
  min-height:118px !important;

  padding:
    18px
    18px
    18px
    84px !important;

  border-radius:12px !important;
}


#politica.civic-v2[data-civic-tab="parties"]
.civic-party-logo{
  width:55px !important;
  height:55px !important;

  left:16px !important;
}


/* ---------------------------------------------------------
   CAREER TAB
   --------------------------------------------------------- */

#politica.civic-v2[data-civic-tab="career"]
#civicGameplay{
  max-height:none !important;
  height:auto !important;

  overflow:visible !important;

  margin:0 !important;
}


#politica.civic-v2[data-civic-tab="career"]
#civicGameplay.civic-v2-empty{
  max-height:none !important;
  height:auto !important;

  overflow:visible !important;
}


#politica.civic-v2[data-civic-tab="career"]
#civicV2Career{
  width:100% !important;

  min-height:100%;

  margin:0 !important;
}


/* ---------------------------------------------------------
   MUNICIPAL TAB
   --------------------------------------------------------- */

#politica.civic-v2[data-civic-tab="municipal"]
.municipal-card{
  width:100% !important;

  overflow:visible !important;
}


#politica.civic-v2[data-civic-tab="municipal"]
.municipal-head{
  min-height:160px !important;

  padding:
    24px
    26px !important;
}


#politica.civic-v2[data-civic-tab="municipal"]
.municipal-roster{
  display:grid !important;

  grid-template-columns:
    repeat(3,minmax(0,1fr)) !important;

  max-height:none !important;
  height:auto !important;

  overflow:visible !important;

  gap:1px !important;
}


#politica.civic-v2[data-civic-tab="municipal"]
.municipal-roster > *{
  min-height:130px !important;

  padding:
    17px
    18px !important;
}


/* ---------------------------------------------------------
   CONTENT WIDTH / BREATHING ROOM
   --------------------------------------------------------- */

#politica.civic-v2 .civic-v2-content{
  min-width:0;

  overflow:visible !important;
}


#politica.civic-v2 .politics-layout,
#politica.civic-v2 .politics-secondary{
  max-width:none !important;
}


#politica.civic-v2 .card{
  overflow:visible;
}


/* Cards que precisam preservar clipping da imagem */

#politica.civic-v2 .politics-hero,
#politica.civic-v2 .civic-v2-media-card,
#politica.civic-v2 .chamber-head,
#politica.civic-v2 .municipal-head{
  overflow:hidden !important;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width:1200px){

  #politica.civic-v2[data-civic-tab="overview"]
  .civic-v2-media-strip{
    grid-template-columns:
      1fr
      1fr !important;
  }

  #politica.civic-v2[data-civic-tab="overview"]
  .civic-media-map{
    grid-column:
      1 / -1;

    height:
      300px !important;
  }

}


@media (max-width:950px){

  #politica.civic-v2[data-civic-tab="overview"]
  .politics-metrics{
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;
  }

  #politica.civic-v2[data-civic-tab="career"]
  .politics-secondary{
    grid-template-columns:
      1fr !important;
  }

  #politica.civic-v2[data-civic-tab="parties"]
  #partyList{
    grid-template-columns:
      1fr !important;
  }

  #politica.civic-v2[data-civic-tab="municipal"]
  .municipal-roster{
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;
  }

}


@media (max-width:650px){

  #politica.civic-v2[data-civic-tab="overview"]
  .politics-metrics{
    grid-template-columns:
      1fr !important;
  }

  #politica.civic-v2[data-civic-tab="overview"]
  .civic-v2-media-strip{
    grid-template-columns:
      1fr !important;
  }

  #politica.civic-v2[data-civic-tab="overview"]
  .civic-media-map{
    grid-column:auto;
  }

  #politica.civic-v2[data-civic-tab="municipal"]
  .municipal-roster{
    grid-template-columns:
      1fr !important;
  }

}


/* =========================================================
   LIQ CIVIC V2.4 - COMPOSITION FIX
   ========================================================= */


/* ---------------------------------------------------------
   OVERVIEW
   --------------------------------------------------------- */

#politica.civic-v2[data-civic-tab="overview"] #civicGameplay,
#politica.civic-v2[data-civic-tab="overview"] .politics-layout,
#politica.civic-v2[data-civic-tab="overview"] .politics-secondary,
#politica.civic-v2[data-civic-tab="overview"] .municipal-card{
  display:none !important;
}


/* overview vira de fato um dashboard curto */

#politica.civic-v2[data-civic-tab="overview"]
.civic-v2-media-strip{
  grid-template-columns:
    .82fr
    .96fr
    1.5fr !important;

  min-height:270px;
}


#politica.civic-v2[data-civic-tab="overview"]
.civic-v2-media-card{
  height:270px !important;
}


/* ---------------------------------------------------------
   POLITICAL MAP CARD
   --------------------------------------------------------- */

#politica.civic-v2 .civic-media-map{
  position:relative;

  overflow:hidden !important;

  background:
    radial-gradient(
      circle at 50% 48%,
      rgba(54,132,184,.12),
      transparent 52%
    ),
    linear-gradient(
      180deg,
      #102d43,
      #091e2e
    ) !important;
}


#politica.civic-v2 .civic-v2-mini-map-shell{
  position:absolute !important;

  left:12px !important;
  right:12px !important;
  top:48px !important;
  bottom:38px !important;

  display:flex !important;

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

  padding:0 !important;

  overflow:hidden !important;
}


#politica.civic-v2 .civic-v2-mini-map{
  width:100% !important;
  height:100% !important;

  display:flex !important;

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

  overflow:hidden !important;
}


#politica.civic-v2 .civic-v2-mini-map svg{
  width:100% !important;
  height:100% !important;

  display:block !important;

  overflow:visible !important;

  object-fit:contain !important;
}


#politica.civic-v2 .civic-v2-map-legend{
  position:absolute;

  left:14px;
  right:14px;
  bottom:10px;

  z-index:4;

  display:flex;

  flex-wrap:wrap;

  gap:9px 13px;

  pointer-events:none;
}


#politica.civic-v2 .civic-v2-map-legend span{
  font-size:10px !important;

  color:#b8cfdd !important;
}


/* ---------------------------------------------------------
   METRIC ROW
   --------------------------------------------------------- */

#politica.civic-v2[data-civic-tab="overview"]
.politics-metrics{
  grid-template-columns:
    1.18fr
    1fr
    1fr
    1fr !important;
}


#politica.civic-v2[data-civic-tab="overview"]
.politics-metrics > article{
  min-height:108px;
}


/* ---------------------------------------------------------
   PHOTO CARDS
   --------------------------------------------------------- */

#politica.civic-v2[data-civic-tab="overview"]
.civic-v2-media-text{
  left:16px;
  right:16px;
  bottom:15px;
}


#politica.civic-v2[data-civic-tab="overview"]
.civic-v2-media-text strong{
  font-size:25px;
}


#politica.civic-v2[data-civic-tab="overview"]
.civic-v2-media-text span{
  font-size:12px;
}


/* ---------------------------------------------------------
   CHAMBER TAB
   --------------------------------------------------------- */

#politica.civic-v2[data-civic-tab="chamber"]
.chamber-card{
  min-height:620px;
}


#politica.civic-v2[data-civic-tab="chamber"]
.chamber-map,
#politica.civic-v2[data-civic-tab="chamber"]
#chamberMap{
  min-height:470px !important;
}


/* ---------------------------------------------------------
   BILLS TAB
   --------------------------------------------------------- */

#politica.civic-v2[data-civic-tab="bills"]
.agenda-card{
  min-height:360px;
}


/* ---------------------------------------------------------
   PARTIES TAB
   --------------------------------------------------------- */

#politica.civic-v2[data-civic-tab="parties"]
#partyList{
  align-items:stretch;
}


#politica.civic-v2[data-civic-tab="parties"]
#partyList > *{
  height:auto !important;
  min-height:126px !important;
}


/* ---------------------------------------------------------
   MUNICIPAL TAB
   --------------------------------------------------------- */

#politica.civic-v2[data-civic-tab="municipal"]
.municipal-card{
  display:block !important;
}


#politica.civic-v2[data-civic-tab="municipal"]
.municipal-roster{
  max-height:none !important;

  overflow:visible !important;
}


/* ---------------------------------------------------------
   CAREER TAB
   --------------------------------------------------------- */

#politica.civic-v2[data-civic-tab="career"]
#civicGameplay{
  display:block !important;

  max-height:none !important;

  overflow:visible !important;
}


#politica.civic-v2[data-civic-tab="career"]
.politics-secondary{
  display:grid !important;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width:1150px){

  #politica.civic-v2[data-civic-tab="overview"]
  .civic-v2-media-strip{
    grid-template-columns:
      1fr
      1fr !important;
  }

  #politica.civic-v2[data-civic-tab="overview"]
  .civic-media-map{
    grid-column:
      1 / -1;

    height:
      320px !important;
  }

}


@media (max-width:720px){

  #politica.civic-v2[data-civic-tab="overview"]
  .civic-v2-media-strip{
    grid-template-columns:
      1fr !important;
  }

  #politica.civic-v2[data-civic-tab="overview"]
  .civic-v2-media-card{
    height:
      230px !important;
  }

  #politica.civic-v2[data-civic-tab="overview"]
  .civic-media-map{
    grid-column:
      auto;

    height:
      290px !important;
  }

}


/* =========================================================
   LIQ CIVIC V2.4.1 - MAP ZOOM
   ========================================================= */

/* some com gabinete da Visao Geral, sem depender de outra camada */
#politica.civic-v2[data-civic-tab="overview"] #civicGameplay{
  display:none !important;
}

/* overview mais limpo */
#politica.civic-v2[data-civic-tab="overview"] .civic-v2-media-strip{
  grid-template-columns:
    .78fr
    .92fr
    1.62fr !important;
}

/* card do mapa */
#politica.civic-v2[data-civic-tab="overview"] .civic-media-map{
  min-height:270px !important;
}

/* área útil do mapa maior */
#politica.civic-v2 .civic-v2-mini-map-shell{
  left:10px !important;
  right:10px !important;
  top:38px !important;
  bottom:22px !important;
}

/* mapa ocupa tudo */
#politica.civic-v2 .civic-v2-mini-map{
  width:100% !important;
  height:100% !important;
}

#politica.civic-v2 .civic-v2-mini-map svg{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  display:block !important;
}

/* título/legenda menores para sobrar mais espaço */
#politica.civic-v2 .civic-v2-map-legend{
  left:12px !important;
  right:12px !important;
  bottom:8px !important;
  gap:7px 11px !important;
}

#politica.civic-v2 .civic-v2-map-legend span{
  font-size:9px !important;
}

@media (max-width:1150px){
  #politica.civic-v2[data-civic-tab="overview"] .civic-v2-media-strip{
    grid-template-columns:1fr 1fr !important;
  }

  #politica.civic-v2[data-civic-tab="overview"] .civic-media-map{
    grid-column:1 / -1;
    min-height:320px !important;
  }
}

@media (max-width:720px){
  #politica.civic-v2[data-civic-tab="overview"] .civic-v2-media-strip{
    grid-template-columns:1fr !important;
  }

  #politica.civic-v2[data-civic-tab="overview"] .civic-media-map{
    grid-column:auto;
    min-height:290px !important;
  }
}


/* =========================================================
   LIQ CIVIC V2.5 - DEDICATED MAP TAB
   ========================================================= */

/* O mapa deixa de disputar espaco na Visao Geral. */
#politica.civic-v2[data-civic-tab="overview"] .civic-media-map{
  display:none !important;
}

#politica.civic-v2[data-civic-tab="overview"] .civic-v2-media-strip{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

/* Workspace do mapa. */
#politica.civic-v2 .civic-v2-map-workspace{
  display:none;
  grid-template-columns:220px minmax(0,1fr) 300px;
  gap:12px;
  min-height:650px;
}

#politica.civic-v2[data-civic-tab="map"] .civic-v2-map-workspace{
  display:grid !important;
}

#politica.civic-v2 .civic-map-panel,
#politica.civic-v2 .civic-map-stage-card,
#politica.civic-v2 .civic-map-detail{
  border:1px solid rgba(112,181,225,.20);
  border-radius:14px;
  background:linear-gradient(180deg,#102a3d,#091f2f);
  box-shadow:0 12px 28px rgba(0,7,14,.15);
  overflow:hidden;
}

#politica.civic-v2 .civic-map-panel{
  padding:14px;
}

#politica.civic-v2 .civic-map-panel h3,
#politica.civic-v2 .civic-map-detail h3{
  margin:0;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
}

#politica.civic-v2 .civic-map-panel > p,
#politica.civic-v2 .civic-map-detail > p{
  margin:5px 0 13px;
  color:#8faebe;
  font-size:11px;
  line-height:1.45;
}

#politica.civic-v2 .civic-map-layer-list{
  display:grid;
  gap:6px;
}

#politica.civic-v2 .civic-map-layer{
  width:100%;
  min-height:40px;
  padding:9px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border:1px solid rgba(121,190,233,.14);
  border-radius:9px;
  background:#0d2638;
  color:#a8c2d2;
  font:inherit;
  font-size:12px;
  cursor:pointer;
}

#politica.civic-v2 .civic-map-layer:hover:not(:disabled){
  color:#fff;
  border-color:rgba(77,176,235,.35);
  background:#12314a;
}

#politica.civic-v2 .civic-map-layer.is-active{
  color:#fff;
  border-color:rgba(79,184,245,.45);
  background:linear-gradient(180deg,#174361,#10324a);
  box-shadow:inset 3px 0 #4db7f4;
}

#politica.civic-v2 .civic-map-layer:disabled{
  opacity:.42;
  cursor:not-allowed;
}

#politica.civic-v2 .civic-map-layer em{
  color:#7897a9;
  font-size:9px;
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.08em;
}

#politica.civic-v2 .civic-map-rank-title{
  margin:18px 0 7px;
  color:#8dbdd9;
  font-size:9px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

#politica.civic-v2 .civic-map-ranking{
  display:grid;
  gap:4px;
}

#politica.civic-v2 .civic-map-rank-row{
  display:grid;
  grid-template-columns:20px minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
  min-height:29px;
  padding:4px 6px;
  border-radius:6px;
  color:#b8cbd7;
  font-size:10px;
}

#politica.civic-v2 .civic-map-rank-row:hover{
  background:rgba(255,255,255,.035);
}

#politica.civic-v2 .civic-map-rank-row b{
  color:#7294a8;
  font-weight:600;
}

#politica.civic-v2 .civic-map-rank-row strong{
  color:#eef7fb;
  font-size:10px;
}

#politica.civic-v2 .civic-map-stage-card{
  position:relative;
  min-width:0;
  min-height:650px;
  background:
    radial-gradient(circle at 50% 48%,rgba(49,137,194,.12),transparent 48%),
    linear-gradient(180deg,#0e293d,#071c2b);
}

#politica.civic-v2 .civic-map-stage-head{
  position:absolute;
  z-index:6;
  left:18px;
  top:15px;
}

#politica.civic-v2 .civic-map-stage-head small{
  display:block;
  color:#7fb8d8;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

#politica.civic-v2 .civic-map-stage-head strong{
  display:block;
  margin-top:3px;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
}

#politica.civic-v2 .civic-map-stage{
  position:absolute;
  inset:64px 20px 54px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

#politica.civic-v2 .civic-map-stage svg{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
}

#politica.civic-v2 .civic-map-stage [data-civic-map-city="1"]{
  cursor:pointer;
}

#politica.civic-v2 .civic-map-stage [data-civic-map-city="1"] path,
#politica.civic-v2 .civic-map-stage [data-civic-map-city="1"] polygon,
#politica.civic-v2 .civic-map-stage [data-civic-map-city="1"] polyline{
  transition:filter .12s ease,opacity .12s ease,stroke-width .12s ease;
}

#politica.civic-v2 .civic-map-stage [data-civic-map-city="1"]:hover path,
#politica.civic-v2 .civic-map-stage [data-civic-map-city="1"]:hover polygon,
#politica.civic-v2 .civic-map-stage [data-civic-map-city="1"]:hover polyline{
  filter:brightness(1.25);
  stroke-width:1.5 !important;
}

#politica.civic-v2 .civic-map-stage [data-selected="1"] path,
#politica.civic-v2 .civic-map-stage [data-selected="1"] polygon,
#politica.civic-v2 .civic-map-stage [data-selected="1"] polyline{
  stroke:#fff !important;
  stroke-width:2.2 !important;
  filter:brightness(1.18);
}

#politica.civic-v2 .civic-map-legend-bar{
  position:absolute;
  left:18px;
  right:18px;
  bottom:14px;
  z-index:5;
  min-height:27px;
  display:flex;
  align-items:center;
  gap:10px;
  color:#91adbd;
  font-size:9px;
}

#politica.civic-v2 .civic-map-gradient{
  flex:1;
  height:7px;
  border-radius:99px;
  background:linear-gradient(90deg,#18384d,#2f83b6,#58c5ff);
}

#politica.civic-v2 .civic-map-detail{
  padding:15px;
}

#politica.civic-v2 .civic-map-city-kicker{
  color:#7fb8d8;
  font-size:9px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

#politica.civic-v2 .civic-map-city-title{
  margin:4px 0 2px;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
  line-height:1.05;
}

#politica.civic-v2 .civic-map-city-party{
  min-height:18px;
  color:#9bc2d9;
  font-size:11px;
}

#politica.civic-v2 .civic-map-stat-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:16px;
}

#politica.civic-v2 .civic-map-stat{
  min-height:66px;
  padding:9px;
  border:1px solid rgba(119,183,224,.12);
  border-radius:8px;
  background:#0b2334;
}

#politica.civic-v2 .civic-map-stat span{
  display:block;
  color:#7698aa;
  font-size:8px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}

#politica.civic-v2 .civic-map-stat strong{
  display:block;
  margin-top:5px;
  color:#f1f7fb;
  font-size:15px;
}

#politica.civic-v2 .civic-map-profile{
  margin-top:9px;
  padding:10px;
  border:1px solid rgba(119,183,224,.12);
  border-radius:8px;
  background:#0b2334;
  color:#b7ccd8;
  font-size:11px;
}

#politica.civic-v2 .civic-map-open-city{
  width:100%;
  min-height:39px;
  margin-top:14px;
  border:1px solid rgba(79,181,240,.35);
  border-radius:8px;
  background:linear-gradient(180deg,#174361,#10324a);
  color:#fff;
  font:inherit;
  font-size:11px;
  cursor:pointer;
}

#politica.civic-v2 .civic-map-source-note{
  margin-top:12px;
  color:#638597;
  font-size:9px;
  line-height:1.4;
}

#politica.civic-v2 .civic-map-tooltip{
  position:fixed;
  z-index:99999;
  display:none;
  pointer-events:none;
  min-width:125px;
  padding:7px 9px;
  border:1px solid rgba(130,198,238,.28);
  border-radius:7px;
  background:rgba(5,19,30,.96);
  color:#eaf5fb;
  box-shadow:0 9px 24px rgba(0,0,0,.25);
  font-size:10px;
}

@media (max-width:1250px){
  #politica.civic-v2 .civic-v2-map-workspace{
    grid-template-columns:190px minmax(0,1fr) 260px;
  }
}

@media (max-width:980px){
  #politica.civic-v2 .civic-v2-map-workspace{
    grid-template-columns:1fr;
  }

  #politica.civic-v2 .civic-map-stage-card{
    min-height:560px;
  }
}
/* =========================================================
   LIQ CIVIC V2.6.1 - SAFE POLISH
   ========================================================= */

/* Membership KPI with party mark */
#politica .politics-metrics article.civic-party-kpi{
  position:relative;
  padding-left:82px !important;
  overflow:hidden;
}

#politica .politics-metrics article.civic-party-kpi .civic-party-mark{
  position:absolute;
  left:18px;
  top:50%;
  width:48px;
  height:48px;
  transform:translateY(-50%);
  object-fit:contain;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.28));
}

/* Party rows with official PNG marks */
#politica #partyList .party-row.civic-party-row-v261{
  display:grid !important;
  grid-template-columns:6px 58px minmax(0,1fr) auto !important;
  gap:14px !important;
  align-items:center !important;
}

#politica #partyList .party-row.civic-party-row-v261 .civic-party-row-logo{
  width:54px;
  height:54px;
  object-fit:contain;
  justify-self:center;
  filter:drop-shadow(0 7px 12px rgba(0,0,0,.24));
}

/* Presidency overview card: no repeated Setno portrait */
#politica .civic-media-president.civic-media-president-v261{
  background-image:
    linear-gradient(90deg,rgba(2,14,24,.92) 0%,rgba(2,14,24,.64) 45%,rgba(2,14,24,.16) 100%),
    var(--civic-president-social-image,linear-gradient(135deg,#17364a,#071722)) !important;
  background-size:cover !important;
  background-position:center 52% !important;
}

#politica .civic-media-president.civic-media-president-v261::after{
  background:linear-gradient(180deg,transparent 30%,rgba(2,11,19,.74) 100%) !important;
}

/* Chamber should occupy the available tab */
#politica #civicV2Chamber .chamber-card,
#politica .chamber-card.civic-chamber-v261{
  width:100% !important;
  max-width:none !important;
  grid-column:1 / -1 !important;
}

#politica #chamberMap.civic-chamber-map-v261{
  min-height:520px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  padding:6px 8px 0 !important;
}

#politica #chamberMap.civic-chamber-map-v261 svg{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:min(62vh,650px) !important;
  min-height:500px !important;
  max-height:650px !important;
}

/* Dedicated civic map */
#politica .civic-map-v261{
  --civic-map-line:rgba(108,190,231,.22);
}

#politica .civic-map-v261 .civic-map-zoom-host{
  position:relative !important;
  overflow:hidden !important;
  border-radius:14px !important;
  background:
    radial-gradient(circle at 50% 44%,rgba(42,106,136,.20),transparent 50%),
    linear-gradient(180deg,#071722,#06131d) !important;
  box-shadow:inset 0 0 0 1px rgba(91,174,216,.10);
}

#politica .civic-map-v261 .civic-map-zoom-host svg{
  width:100% !important;
  min-height:600px !important;
  display:block !important;
  background:transparent !important;
  user-select:none;
  touch-action:none;
}

#politica .civic-map-v261 .civic-map-layer{
  min-height:46px;
  border-color:var(--civic-map-line) !important;
}

#politica .civic-map-v261 .civic-map-stat{
  min-height:78px;
  background:rgba(5,25,38,.42) !important;
  border-color:var(--civic-map-line) !important;
}

#politica .civic-map-v261 .civic-map-city-title{
  font-size:clamp(28px,2.1vw,42px) !important;
  line-height:1 !important;
}

#politica .civic-map-v261 .civic-map-zoom-controls{
  position:absolute;
  z-index:20;
  top:14px;
  right:14px;
  display:flex;
  gap:7px;
  padding:6px;
  border-radius:12px;
  background:rgba(4,18,28,.88);
  border:1px solid rgba(96,190,236,.24);
  box-shadow:0 10px 28px rgba(0,0,0,.26);
  backdrop-filter:blur(8px);
}

#politica .civic-map-v261 .civic-map-zoom-controls button{
  width:38px;
  height:38px;
  padding:0;
  border-radius:9px;
  border:1px solid rgba(105,194,239,.24);
  background:#0d3047;
  color:#eaf8ff;
  font-size:18px;
  font-weight:800;
  cursor:pointer;
}

#politica .civic-map-v261 .civic-map-zoom-controls button:hover{
  background:#154865;
}

#politica .civic-map-v261 .civic-map-zoom-readout{
  min-width:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 8px;
  color:#9ed9f5;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
}

@media (max-width:1100px){
  #politica #partyList .party-row.civic-party-row-v261{
    grid-template-columns:6px 46px minmax(0,1fr) !important;
  }

  #politica #partyList .party-row.civic-party-row-v261 .party-action,
  #politica #partyList .party-row.civic-party-row-v261 .party-join{
    grid-column:2 / -1;
  }
}
