/*------------------------------------------------------------------
[ Основни стилове ]
*/

:root {
  --ink:       #1C1C1C;
  --paper:     #fff;
  --red:       #DE012C;
  --sand:      #e8e0ce;
  --rust:      #c94a2b;
  --ember:     #e8703a;
  --gold:      #c9a227;
  --forest:    #2b5c3a;
  --sky:       #2b4a7a;
  --muted:     #7a7060;
  --card:      #faf8f2;
  --border:    #E5E7EB;
  --radius:    8px;
  --mono:      "Inter", sans-serif;
  --serif:     "Inter", sans-serif;
  --sans:      'Syne', sans-serif;
}

/* ─────────────────────────────────────────
   REGION COLORS
───────────────────────────────────────── */
:root {
  --c-west:    #BA0328;
  --c-east:    #5D0317;
  --c-south:   #750A22;
  --c-north:   #DC002B;
  --c-central: #970725;
}

body {
  font-family: var(--serif);
  font-weight: 400;
  font-style: normal;
  background: var(--paper);
  color: var(--ink);
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-feature-settings: "lnum";
  -moz-font-feature-settings: "lnum";
  -ms-font-feature-settings: "lnum";
  font-feature-settings: "lnum";
  line-height: 1.5;
  font-size: 18px;
}


a {
    color: var(--red);
    text-decoration: none;
    background-color: transparent;
    -webkit-transition: color .3s ease 0s;
    -moz-transition: color .3s ease 0s;
    -o-transition: color .3s ease 0s;
    transition: color .3s ease 0s;
    /* text-decoration: underline; */
}
a:hover {
    color: var(--ink);
}

p{
}
b,
strong {
    font-weight: bold;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-weight: bold;
    color: #1C1C1C;
    font-family: 'futura-pt-bold', sans-serif;
    line-height: 1;
}

h1, .h1 {
    font-size: 70px;
}

h2, .h2 {
    font-size: 45px;
    /* text-transform: uppercase; */
}

h3, .h3 {
    font-size: 48px;
}

h4, .h4{
    font-size: 30px;
    color: #0F0F23;
    text-transform: uppercase;
    /* font-weight: normal; */
}


.ab-white-color *{
    color: #fff;
}
.ab-text-center{
    text-align: center;
}
.ab-text-right{
    text-align: right;
}
.ab-text-left{
    text-align: left;
}
.ab-overflow-v{
    overflow: visible!important;
}

/*------------------------------------------------------------------
[ Фиксиране на хедъра ]
*/

.ab-fixed-header #wrapper-navbar {
    position: fixed;
    width: 100%;
    z-index: 99;
    max-width: 2056px;
}
.mega-menu-primary-mobile-open .ab-content-wrapper{
    filter: grayscale(1);
    opacity: 0.5;
}
.ab-fixed-header .ab-content-wrapper {
    padding-top: 60px;
    padding-bottom: 50px;
}
.ab-fixed-header.ab-top-header .ab-content-wrapper {
    padding-top: 0px;
}
/*------------------------------------------------------------------
[ Топ хедър ]
*/
.header_top {
    z-index: 111;
    line-height: 33px;
    float: left;
    display: inline-block;
    width: 100%;
    padding: 0;
    font-size: 13px;
    background-color: #fff;
    -webkit-transition: all .2s ease 0s;
    -moz-transition: all .2s ease 0s;
    -o-transition: all .2s ease 0s;
    transition: all .2s ease 0s;
}
.header_top .left {
    float: left;
    height: 100%;
}
.header_top .left a{
    margin-right: 5px;
    margin-left: 5px;
}
.header_top .left a:last-child{
    margin-right: 0;
}
.header_top .right {
    float: right;
    height: 100%;
}
.header_top .right a{
    margin-right: 5px;
    margin-left: 5px;
}
.header_top .right a i{
    font-size: 14px;
}
.header_top p {
    margin-bottom: 0;
}
.header_top {
    color: #fff;
}
.header_top a {
    color: #fff;
}
.ab-scrolled .header_top, .ab-scrolled .header_top a, .single .header_top, .single .header_top a, .mega-menu-primary-mobile-open .header_top a, .mega-menu-primary-mobile-open .header_top{
    color: #0F0F0F;
}
.header_top a:hover {
    opacity: 0.7;
}
.navbar-expand-md {
    display: inline-block;
    width: 100%;
    height: 97px;
    max-height: 100px;
}



.navbar-expand-md,  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link, .custom-logo-link img,
.ab-scrolled .custom-logo-link img,  #mega-menu-wrap-primary .mega-menu-toggle, .ab-header-top .navbar-expand-md,
.ab-header-top .navbar-expand-md .container, .home:not(.mega-menu-primary-mobile-open) .bg-primary::after,
.custom-logo-link   {
    -webkit-transition: all .4s ease 0s;
    -moz-transition: all .4s ease 0s;
    -o-transition: all .4s ease 0s;
    transition: all .4s ease 0s;
}


.home.ab-fixed-header .ab-content-wrapper{
    padding-top: 0;
}
.ab-scrolled .header_top {
    line-height: 20px;
}

body .bg-primary {
    border-bottom: 1px solid rgba(0,0,0,0.1);
    background-color: #fff!important;
}
.ab-scrolled .bg-primary {
    box-shadow: 0px 7px 20px 0px rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 0px 7px 20px 0px rgba(0, 0, 0, 0.15);
    border-bottom: none;
}

#mega-menu-wrap-primary{
    margin-left: auto;
    /* margin-right: 20px; */
}

body #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link{
    line-height: 18px;
    padding-top: 12px;
    padding-bottom: 12px;
}

/*------------------------------------------------------------------
[ Меню хедър ]
*/
.custom-logo-link img {
    max-height: 40px;
    width: auto;
}
.bg-primary {
    border-color: rgba(255,255,255,0.07);
    padding-bottom: 0px;
    padding-top: 0px;
    /* box-shadow: 0px 0px 70px 0px rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 0px 7px 20px 0px rgba(0, 0, 0, 0.15); */
}
.ab-header-bg {
    position: absolute;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    left: 0;
}

@media only screen and (min-width: 991px) {
.ab-is-btn .mega-menu-link {
    max-height: 40px !important;
    line-height: 40px !important;
    background: #906E49 !important;
    border-radius: 50px !important;
    color: #fff !important;
    padding-left: 25px !important;
    padding-right: 25px !important;
    box-shadow: 0px 7px 20px 0px rgb(0 0 0 / 15%) !important;
    -webkit-box-shadow: 0px 7px 20px 0px rgb(0 0 0 / 15%) !important;
    border-bottom: none !important;
    margin-left: 15px !important;
    text-transform: uppercase!important;
    font-weight: 400!important;
}
/* .ab-scrolled .ab-is-btn .mega-menu-link{
    background: #0DABFA!important;
    color: #fff !important;
} */
.ab-is-btn .mega-menu-link:hover {
    background: #0F0F23!important;
    border-bottom: none!important;
    color: #fff !important;
}
}




#full-width-page-wrapper{
    padding-top: 30px;
}
#full-width-page-wrapper .ab-map-wrap{
    margin-left: 0;
    margin-right: 0;
    display: flex;
}
.navbar>.container{
    max-width: 100%;
    padding-left: 30px;
    padding-right: 30px;
}
/*------------------------------------------------------------------
[ MAP ]
*/

.content-area svg {
  display: block;
  width: 100%;
}

.ab-region path{
    -webkit-transition: all .4s ease 0s;
    -moz-transition: all .4s ease 0s;
    -o-transition: all .4s ease 0s;
    transition: all .4s ease 0s;
}
.ab-region.on path, .ab-region.active path{
    fill:#DC002B!important;
    
}

.ab-region.on.north path, .ab-region.active.north path{
    fill:#DC002B!important; 
}
.ab-region.on.east path, .ab-region.active.east path{
    fill:#5D0317!important; 
}
.ab-region.on.south path, .ab-region.active.south path{
    fill:#750A22!important;
}
.ab-region.on.central path, .ab-region.active.central path{
    fill:#970725!important;
}
.ab-region.on.west path, .ab-region.active.west path{
    fill:#BA0328!important;
}
.ab-region.on, .ab-region.active{
box-shadow: 0px 0px 16px 0px rgb(0 0 0 / 10%);
    -webkit-box-shadow: 0px 0px 16px 0px rgb(0 0 0 / 10%);
}
.ab-region{
    cursor: pointer;
}
#ab-africa-map{
    /* min-height: calc(100vh - 100px); */
    width: 100%;
    height: auto;
    max-height: calc(100vh - 130px);
}



.ab-regions-list-ttl{
    padding: 8px 15px;
    border-radius: 8px;
    font-size: 14px;
    box-shadow: 0px 2px 2px 0px rgb(0 0 0 / 18%);
    -webkit-box-shadow: 0px 2px 2px 0px rgb(0 0 0 / 18%);
}

.ab-regions-list input[type=checkbox]+label {
  /* margin: 0.2em 0; */
  cursor: pointer;
  padding: 8px 15px;
  border-radius: 8px;
  text-align: left;
  font-size: 14px;
  /* font: normal normal normal 14px/14px Poppins; */
  color: #8E8E93;
}

.ab-regions-list input[type=checkbox] {
  display: none;
}

.ab-regions-list input[type=checkbox]+label:before {
  content: "✓";
  display: none;
  width: 1em;
  height: 1em;
  padding-left: 0.1em;
  padding-bottom: 0.10em;
  margin-right: 0.5em;
  vertical-align: bottom;
  color: transparent;
  transition: .2s;
  color: #000;
  border-radius: 100%;
  background-color: #8E8E93;
}

.ab-regions-list input[type=checkbox]+label:active:before {
  transform: scale(0);
  color: #000;
}

.ab-regions-list input[type=checkbox]:checked+label:before {
  background-color: MediumSeaGreen;
  border-color: MediumSeaGreen;
  color: #000;
}

.ab-regions-list input[type=checkbox]:disabled+label:before {
  transform: scale(1);
  border-color: #aaa;
}

.ab-regions-list input[type=checkbox]:checked:disabled+label:before {
  transform: scale(1);
  background-color: #bfb;
  border-color: #bfb;
}

.ab-regions-list input[type=checkbox]:checked+label, .ab-regions-list input[type=checkbox]+label:hover {
  color: #fff;
  background: #DE012C;
  transition: all .2s linear;
  box-shadow: 0px 2px 2px 0px rgb(0 0 0 / 18%);
  -webkit-box-shadow: 0px 2px 2px 0px rgb(0 0 0 / 18%);
}

ul.ab-nav-regions{
    display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
  row-gap: 4px;
  align-items: center;
  position: absolute;
  z-index: 5;
  background: #fff;
  border-radius: var(--radius);
  margin: 13px 450px 0 13px;
  padding: 8px;
  list-style: none;
}

li.ab-regions-list label{
  background: transparent 0% 0% no-repeat padding-box;

  width: auto;
  /* height: 41px; */
  display: flex;
  justify-content: center;
  align-items: center;

}
li.ab-regions-list{
list-style: none;
}







#main-content{
    max-width: 435px;
    max-height: calc( 100vh - 134px);
    overflow: hidden;
    overflow-y: scroll;
    border-radius: 8px;


    position: absolute;
    right: 10px;
    top: 128px;
    top:210px;
    padding-bottom: 30px;
}

.ab-sidebar {
    width: 320px;
    margin-left: 15px;
    border-radius: 15px;
    background: #f8f8f8;
    color: #101828;
    min-height: calc(100vh - 127px);
    transition: width 0.3s ease;
    position: sticky;
    overflow-y: auto;
    padding-left: 15px;
    padding-right: 15px;
}

.ab-sidebar.collapsed {
    width: 75px;
}
.ab-sidebar:not(.collapsed) .toggle-btn .fa-bars:before{
    content: "\f00d";
}
.toggle-btn {

    padding: 12px 9px 12px 15px;
    cursor: pointer;
    text-align: right;
}
.ab-sidebar.collapsed .toggle-btn{
    padding: 15px 15px 5px;
}


.toggle-btn i {
    color: var(--red);
    font-size: 18px;
}

.menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu li {
    border-top: 1px solid #2c3338;
}

.menu li a {
    display: flex;
    align-items: center;
    padding: 14px 20px;
    color: #c3c4c7;
    text-decoration: none;
    transition: background 0.2s;
}

.menu li a:hover {
    background: #2c3338;
    color: #fff;
}

.menu li i {
    width: 25px;
    text-align: center;
    font-size: 16px;
}

.menu li span {
    margin-left: 12px;
    transition: opacity 0.2s ease;
}

.ab-sidebar.collapsed .menu li span,
.ab-sidebar.collapsed .region-list,
.ab-sidebar.collapsed .cluster-list,
.ab-sidebar.collapsed .dim-list,
.ab-sidebar.collapsed .heatmap-list,
.ab-sidebar.collapsed .heatmap-legend {
    /* opacity: 0; */
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.content {
    flex: 1;
    background: #EDEDED;
    margin-left: 10px;
    border-radius: 15px;
    margin-right: 15px;
    overflow: hidden;
}

.content-area{
    overflow: hidden;
}


/* ─────────────────────────────────────────
   SIDEBAR — FILTER SECTIONS
───────────────────────────────────────── */
.collapsed .filter-section{
    /* pointer-events: none; */
}
.collapsed .filter-label{
    padding: 10px 0px;
    justify-content: center;
}
.collapsed .filter-label span, .collapsed .filter-label:after, .collapsed .ab-panel{
    display: none!important;
    opacity: 0;
}
.filter-section {
  margin-bottom: 10px;
  min-width: 290px;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}
.collapsed .filter-label{
    width: 45px;
}

.filter-label {
  /* font-family: var(--mono); */
  font-size: 14px;
  color: var(--ink);
  margin-bottom: 0;
  padding: 10px 12px;
  /* border-bottom: 1px solid var(--border); */
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: space-between;
  border-radius: 8px;
  transition: 0.4s;

}
.active .filter-label, .filter-label:hover{
    background: var(--red);
    color: var(--paper);
}
.ab-sidebar:not(.collapsed) .cluster-list-show.active .filter-label{
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
}
 .filter-label svg path{
    transition: 0.4s;
 }
.active .filter-label svg path, .filter-label:hover svg path{
    fill: var(--paper);
}

.active .filter-label:after{
    color: #fff;
}
.filter-label span{
    flex: 1;
}

.filter-label{
    transition: 0.4s;
}
.filter-label:after {
  content: '\002B';
  color: #777;
  font-weight: bold;
  float: right;
  margin-left: 5px;
}
.filter-section.active .filter-label:after {
  content: "\2212";
}
.filter-label:hover:after{
    color: #fff;
}
/* body .active .ab-panel{
    opacity: 1;
} */
body .ab-panel{
    overflow: hidden;
    transition: max-height 0.5s ease-out;
    /* max-height: 0; */
    display: none;
    padding: 10px;
    /* opacity: 0; */
}



/* .filter-label::before {
  content: attr(data-num);
  font-size: 0.6rem;
  background: var(--ink);
  color: var(--paper);
  border-radius: 50%;
  width: 16px; height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
} */

/* Cluster radio buttons */
.cluster-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
#cluster-list{
    background: var(--red);
    /* padding-left: 20px; */
    padding: 15px 0px 20px 20px;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
}
.cluster-btn {
  font-size: 14px;
  padding: 12px 10px;
  background: transparent;
  border: 0.5px solid transparent;
  border-radius: 8px 0 0 8px;
  cursor: pointer;
  text-align: left;
  color: var(--paper);
  transition: all 0.15s;
  line-height: 1.3;
  width: 100%;
  outline-color: transparent!important;
  outline: none!important;
  box-shadow: none!important;
  border-bottom: 1px solid rgb(255 255 255 / 20%);
}

.cluster-btn:hover {
  /* background: rgba(201,74,43,0.07);
  border-color: rgba(201,74,43,0.25); */
}
.cluster-btn:not(.active):hover{
    background: rgb(0 0 0 / 10%);
    border-color: rgb(0 0 0 / 10%);
    backdrop-filter: blur(10px);
}
.cluster-btn.active, .cluster-btn.active:focus {
    backdrop-filter: blur(10px);
  background: rgba(255,255,255,0.4);
  color: white;
  border-color: #fff;
  font-weight: bold;
  /* font-size: 16px; */

}

/* Source checkboxes */
.source-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    /* padding: 10px; */
 }

.source-item {
    gap: 0.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.6rem;
    cursor: pointer;
    /* padding: 5px 19px 5px 12px; */
    padding: 0.4rem 0.5rem;
    transition: background 0.15s;
    border-radius: 8px;
}
.source-item:hover{
    background: rgba(0, 0, 0, 0.05);
}
.source-item input[type="checkbox"] {
  margin-top: 2px;
  accent-color: var(--rust);
  cursor: pointer;
  flex-shrink: 0;
}

.source-item label {
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.4;
  cursor: pointer;
  color: var(--ink);
  pointer-events: none;
}

/* Dimension toggles */
.dim-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 15px;
}

.dim-btn {
  /* font-family: var(--mono); */
  font-size: 14px;
    padding: 5px 10px;
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    cursor: pointer;
    text-align: left;
    color: var(--ink);
    transition: all 0.15s;
    margin-bottom: 5px;
    outline: none !important;
    box-shadow: none !important;
}
.heatmap-list .dim-btn{
    margin-right: 5px;
}
.dim-btn:hover {
    background: var(--red);
    color: #fff;
 }
.dim-btn.active, .dim-btn:focus, .dim-btn.active:focus {
  background: var(--red);
  color: white;
  border-color: var(--red);
}

/* Region checklist */
.region-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px;
 }

.region-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.6rem;
  cursor: pointer;
  padding: 0.4rem 0.5rem;
  border-radius: var(--radius);
  transition: background 0.15s;
  border-radius: 8px;
}

.region-item:hover { background: rgba(0,0,0,0.05); }

.region-item input[type="checkbox"] {
  accent-color: var(--red);
  cursor: pointer;
  width: 14px; height: 14px;
}

.region-item label {
  /* font-family: var(--sans); */
  font-size: 14px;
  /* font-weight: 600; */
  cursor: pointer;
  flex: 1;
  pointer-events: none;
}

.region-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}


/* ─────────────────────────────────────────
   MAIN CONTENT AREA
───────────────────────────────────────── */
.state-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 250px;
    text-align: center;
    /* opacity: 0.5; */
    backdrop-filter: blur(14px);
    background: rgb(255 255 255 / 75%);
    /* margin-top: 13px; */
    margin-right: 10px;
    border-radius: 8px;
    box-shadow: 0px 0px 16px 0px rgb(0 0 0 / 10%);
    -webkit-box-shadow: 0px 0px 16px 0px rgb(0 0 0 / 10%);
}

.state-empty .icon {
  /* font-size: 3rem; */
  margin-bottom: 1rem;

}
.state-empty .icon svg{
    width: 160px;
    height: auto;
}

.state-empty p {
  font-family: var(--mono);
  font-size: 0.8rem;
  max-width: 280px;
  line-height: 1.6;
}

/* Active filter breadcrumb */
.active-context {
    display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin: 13px 0;
  backdrop-filter: blur(14px);
  background: rgba(255, 255, 255, 0.9);
  border-radius: 8px;
  padding: 13px;
  margin-right: 15px;
  margin-left: 15px;
  box-shadow: 0px 0px 16px 0px rgb(0 0 0 / 10%);
  -webkit-box-shadow: 0px 0px 16px 0px rgb(0 0 0 / 10%);

  display: none;
}

.ctx-chip {
    font-size: 10px;
    letter-spacing: 0.05em;
    padding: 0.3rem 0.7rem;
    padding: 5px 10px;
    border-radius: var(--radius);
    border: 1px solid;
}

.ctx-chip.cluster { background: var(--red); color: white; border-color: var(--red); }
.ctx-chip.source  { background: var(--ember); color: white; border-color: var(--ember); }
.ctx-chip.dim     { background: #970725; color: white; border-color: #970725; }
.ctx-chip.sep     {
  background: transparent;
  border-color: transparent;
  color: var(--muted);
  font-size: 0.7rem;
  padding: 0;
}

/* ─────────────────────────────────────────
   COMPARISON GRID
───────────────────────────────────────── */
.comparison-grid {
  display: grid;
  gap: 1.5rem;
  margin-right: 15px;
  margin-left: 15px;
}

.comparison-grid.cols-1 { grid-template-columns: 1fr; }
.comparison-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.comparison-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.comparison-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
.comparison-grid.cols-5 { grid-template-columns: repeat(3, 1fr); }

.region-card {
    background: var(--card);
  border: 1px solid var(--border);
  border-radius: 4px;
  overflow: hidden;
  border-radius: var(--radius);
  animation: slideIn 0.4s ease forwards;
  backdrop-filter: blur(14px);
  background: rgba(255, 255, 255, 0.9);
  padding: 5px 20px;
  box-shadow: 0px 0px 16px 0px rgb(0 0 0 / 10%);
  -webkit-box-shadow: 0px 0px 16px 0px rgb(0 0 0 / 10%);
  opacity: 0;
}

@keyframes slideIn {
  from { opacity: 0; transform: translateY(32px); }
  to   { opacity: 1; transform: translateY(0); }
}

.region-card-header {
  /* padding: 1rem 1.25rem 0.75rem; */
  padding: 14px 0px 12px;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  border-bottom: 2px solid;
}

.region-card-header .dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

.region-card-title {
  font-size: 0.85rem;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  flex: 1;
  text-transform: uppercase;
}

.cluster-badge {
  font-size: 10px;
  padding: 0.2rem 0.6rem;
  border-radius: var(--radius);
  background: #56565614;
  border: 1px solid #dadada;
}

.region-card-body {
  padding: 1.25rem;
  padding: 20px 0;
}

/* ─────────────────────────────────────────
   FIELD DISPLAY COMPONENTS
───────────────────────────────────────── */

/* Full cluster view */
.fields-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem;
  margin-bottom: 1rem;
}
.fields-grid .field-item:first-child{
    grid-column: 1 / -1;
}
.field-item { }

.field-key {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--ink);
  margin-bottom: 0.2rem;
}

.field-val {
  font-family: var(--serif);
  font-size: 0.9rem;
}

/* Pills: High/Medium/Low */
.pill {
  display: inline-block;
  font-family: var(--mono);
  font-size: 0.65rem;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: 0.4rem 0.6rem;
  border-radius: var(--radius);
}

.pill-high   { background: #10a133; color: #fff; }
.pill-medium { background: #fdac2a; color: #fff; }
.pill-low    { background: #de012c; color: #fff; }

/* Star / score bar */
.score-bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.score-dots {
  display: flex;
  gap: 3px;
}

.score-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: #56565626;
  transition: background 0.2s;
}

.score-dot.filled { background: var(--red); }

.score-num {
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--red);
  font-weight: 500;
}

/* Skills list */
.skills-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.skills-list li {
  font-size: 0.72rem;
  padding: 0.3rem 0;
  border-bottom: 1px dashed #dc002b42;
  color: var(--ink);
  line-height: 1.4;
}

.skills-list li:last-child { border-bottom: none; }

.skills-list li::before {
  content: '→ ';
  color: var(--rust);
  font-size: 0.65rem;
}

/* Source tags */
.source-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.source-tag {
    font-size: 0.62rem;
    padding: 0.2rem 0.5rem;
    background: #56565614;
    border: 1px solid #dadada;
    border-radius: var(--radius);
    color: var(--ink);
}

/* Short note */
.short-note {
    /* font-family: var(--serif); */
    font-style: italic;
    font-size: 12px;
    line-height: 1.6;
    color: #555;
    padding: 0.75rem;
    background: rgba(0, 0, 0, 0.03);
    border-left: 2px solid var(--red);
    margin-top: 0.75rem;
    border-radius: var(--radius);
}

/* Key hubs */
.key-hubs {
  font-size: 0.72rem;
  color: var(--ink);
}

.key-hubs::before {
    content: '◉ ';
    color: var(--red);
}

/* Section divider */
.field-section-title {
    font-size: 12px;
    text-transform: uppercase;
    color: var(--red);
    font-weight: bold;
    margin: 1rem 0 0.5rem;
    padding-top: 18px;
    border-top: 1px solid #de012c63;
}
.field-section-title.ab-no-border{
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}

/* ─────────────────────────────────────────
   LOADING STATE
───────────────────────────────────────── */
.loader {
  display: flex;
  gap: 6px;
  padding: 3rem;
  justify-content: center;
}

.loader span {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--rust);
  animation: bounce 1.2s ease-in-out infinite;
}

.loader span:nth-child(2) { animation-delay: 0.2s; }
.loader span:nth-child(3) { animation-delay: 0.4s; }

@keyframes bounce {
  0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
  40%           { transform: scale(1);   opacity: 1; }
}

/* ─────────────────────────────────────────
   DIMENSIONS SPECIFIC VIEW
───────────────────────────────────────── */
.dim-display-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.6rem;
}

.dim-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.dim-row-label {
  font-family: var(--mono);
  font-size: 0.68rem;
  color: var(--muted);
  min-width: 130px;
}





#main-content::-webkit-scrollbar-track{
	-webkit-box-shadow: inset 0 0 3px #E9EDF2;
	border-radius: 10px;
	/* background-color: #fff; */
}
#main-content::-webkit-scrollbar, .ab-table-pr-wrap::-webkit-scrollbar{
	width: 5px;
    height: 5px;
	/* background-color: #F5F5F5; */
}
#main-content::-webkit-scrollbar-thumb, .ab-table-pr-wrap::-webkit-scrollbar-thumb{
	border-radius: 10px;
	/* -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,.3); */
	background-color: var(--red);
}



/* ─────────────────────────────────────────
  Tooltip Countries
───────────────────────────────────────── */
.ab-country-list{
    display: flex;
    width: 320px;
    flex-direction: row;
    flex-wrap: wrap;
    font-size: 11px;
}
.region-card-title.ab-alt{
    margin-bottom: 10px;
}
.ab-country-list span{
    width:50%;
    padding-right: 10px;
    margin: 3px 0;
}
.ab-country-list span:nth-child(2n){
    padding-left: 15px;
    border-left: 1px solid #de012c63;
}

.ab-country-list span::before{
    content: '◉ ';
    color: var(--red);
}


/* ─────────────────────────────────────────
  Map Nav
───────────────────────────────────────── */
.ab-controls-pan{
    position: absolute;
    display: inline-block;
    bottom: 20px;
    margin-left: 20px;
    text-align: center;
}
.ab-controls-pan p{
    margin: 0px;
}
.ab-controls-pan i{
    background: #fff;
    font-size: 11px;
    text-align: center;
    display: inline-block;
    /* padding: 8px; */
    width: 25px;
    height: 25px;
    line-height: 25px;
    border-radius: 4px;
}
.ab-controls-pan i:hover{
    background: var(--red);
    color: #fff;
}
.ab-controls-pan i.fa-refresh{
    margin: 5px 0px 1px;
}

.ab-update-date{
    position: absolute;
    bottom: 51px;
    margin-left: 130px;
display: flex;
align-items: center;
    font-size: 13px;
    color: #939393;
    line-height: 1.2;
}
.ab-update-date span{
    font-size: 10px;
}
.ab-update-date > div{

}
.ab-update-date svg{
    width: auto;
    margin-right: 8px;
}


.ab-clear-all{
    font-size: 13px;
    opacity: 1;
    transition: all 0.2s ease;
    visibility: visible;
    white-space: nowrap;
    border-right: 1px solid #777777;
    padding-right: 15px;
    cursor: pointer;
}
.ab-clear-all:hover{
    color: var(--red);
}
.collapsed .ab-clear-all{
    /* display: none; */
    opacity: 0;
    visibility: hidden;

}
.ab-sidebar-inner {
    display: flex;
    flex-direction: row;
    /* gap: 15px; */
    justify-content: flex-end;
    align-items: center;
}
/*------------------------------------------------------------------
[ Imot / Имот]
*/

/*------------------------------------------------------------------
[ FAQ ]
*/



/* ─────────────────────────────────────────
   HEATMAP — Region coloring via filter
───────────────────────────────────────── */
.ab-region path {
    transition: fill 0.35s ease;
}
.ab-region.heat-high path   { fill: #22c55e !important; }
.ab-region.heat-medium path { fill: #f59e0b !important; }
.ab-region.heat-low path    { fill: #ef4444 !important; }

/* Heatmap legend */
.heatmap-legend {
    display: flex;
    flex-wrap: nowrap;
    /* gap: 4px 12px; */
    padding: 6px 10px 4px;
    justify-content: space-between;
}
.heatmap-wrap h4{
    font-size: 14px;
    text-align: center;
    margin-bottom: 0px;
    text-transform: none;
    font-weight: 400;
    line-height: 18px;
}
.ab-sidebar .heatmap-legend{
    display: none!important;
}
.hm-legend-item {
    display: flex;
    align-items: center;
    gap: 0px;
    font-size: 0.72rem;
    color: #444;
    flex-direction: column;
    width: 100%;
}
.hm-dot {
    width: 100%;
    height: 9px;
    display: inline-block;
    flex-shrink: 0;
}
.hm-high   { background: #22c55e; }
.hm-medium { background: #f59e0b; }
.hm-low    { background: #ef4444; }

.heatmap-wrap{
    width: 250px;
    position: absolute;
    z-index: 0;
    margin-left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
    z-index: 0;
    background: #fff;
    border-radius: var(--radius);
    /* box-shadow: 0px 0px 16px 0px rgb(0 0 0 / 10%); */
    /* -webkit-box-shadow: 0px 0px 16px 0px rgb(0 0 0 / 10%); */
    padding: 6px 6px 4px;
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.6s ease, transform 0.6s ease;
   
}
.heatmap-wrap.active{
    opacity: 1;
    transform: translateY(0);
}
.site-main {
    position: relative;
}





















/*------------------------------------------------------------------
[ Начална страница / Home ]
*/


/*------------------------------------------------------------------
[ футер ]
*/


/*------------------------------------------------------------------
[ 404 ]
*/

.error-404.not-found{
text-align: center;
max-width: 700px;
margin: 80px auto 100px;
}
.error-404.not-found .page-header{
    margin-bottom: 30px;
}
.error-404.not-found input, .error-404.not-found select{
    max-width: 280px;
}

/*------------------------------------------------------------------
[ Няма резултати ]
*/



/*------------------------------------------------------------------
[ Elements ]
*/

body .vc_btn3.vc_btn3-color-black, body .vc_btn3.vc_btn3-color-black.vc_btn3-style-flat{
    background: #906E49;
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    padding: 15px 28px;
}
body .vc_btn3.vc_btn3-color-orange:hover,
body .vc_btn3.vc_btn3-color-orange.vc_btn3-style-flat:hover,
body .vc_btn3.vc_btn3-color-orange:focus,
body .vc_btn3.vc_btn3-color-orange.vc_btn3-style-flat:focus,
body .vc_btn3.vc_btn3-color-orange:active,
body .vc_btn3.vc_btn3-color-orange.vc_btn3-style-flat:active{
    background: #0F0F23;
}


.ab-fullwidth-btn .vc_do_btn, .ab-fullwidth-btn .vc_do_btn a{
    width: 100%;
}
/*------------------------------------------------------------------
[ Фиксове ]
*/
body .wpb_animate_when_almost_visible.vc_row[data-vc-full-width] {
    opacity: 0;
}


.ab-has-slider .ab-slider-fx{
    overflow: hidden;
}





body .ab-mobile-padding > .vc_column-inner {
    padding-left: 30px;
    padding-right: 30px;
}
/*------------------------------------------------------------------
[ Responsive ]
*/
@media only screen and (max-width: 1920px) {

}
@media only screen and (max-width: 1400px) {

}

@media only screen and (max-width: 1200px) {

    #wrapper-navbar .container{
        max-width: 100%;
        padding-right: 0;
    }
}

@media only screen and (max-width: 1024px) {

}


@media only screen and (max-width: 991px) {
    /* body #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link {
        padding: 0px 7px 0px 15px !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        font-size: 14px !important;
    }
    #mega-menu-wrap-primary .mega-menu-toggle {
        line-height: 66px;
        height: 66px;
    }
    .navbar-expand-md{
        height: 66px;
    }
    .custom-logo-link img {
        max-height: 40px!important;
    }
    .ab-scrolled .custom-logo-link img{
        max-height: 40px!important;
    } */


    h1, .h1 {
        font-size: 42px;
    }
    h2, .h2{
        font-size: 34px;
    }
    h3, .h3 {
        font-size: 34px;
    }

    .ab-fixed-header .ab-content-wrapper{
        padding-top: 65px!important;
    }



}
@media only screen and (min-width: 768px) {
    .ab-hide-desktop{
        display: none;
    }
}
@media only screen and (max-width: 778px) {

}
@media only screen and (max-width: 768px) {


    h2, .h2{
        font-size: 2.2rem;
        font-size: 34px;
    }

    /* #mega-menu-primary {
        box-shadow: 0px 0px 70px 0px rgba(0, 0, 0, 0.15);
        -webkit-box-shadow: 0px 7px 20px 0px rgba(0, 0, 0, 0.15) !important;
    }

    .ab-scrolled #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link{
        height: 40px;
        line-height: 40px;
    } */



    .header_top .container{
        padding: 0;
    }


      .ab-display-none{
         display: none!important;
     }




}


@media only screen and (max-width: 600px) {


}
@media only screen and (max-width: 480px) {

    h3{
        font-size: 28px;
    }




}
@media only screen and (max-width: 370px) {

}
