/* Shared card styling reused across search box and route cards */
.card-search,
.sk-card,
.route-dis-card {
  background: #f5f5f7;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  padding: 0rem 1rem;
}

/* Ensure spacing between route entries */
.route-dis-card { margin-bottom: 0.75rem; }

/* Route detail flex keeps image + meta aligned */
.route-dis-flex { display: flex; gap: 0.75rem; align-items: center; }
.route-gym-logo { width: 28px; height: 28px; object-fit: cover; border-radius: 6px; }
.route-color-box { display: flex; align-items: center; }
.route-meta { line-height: 1.25; }
.route-name { font-weight: 600; }
.route-gym { font-size: 0.9rem; color: #555; }
.route-open { font-size: 0.85rem; color: #777; }

/* Explainer paragraph above the list; align spacing with search bar */
.disagreements-explainer {
  margin: 0.5rem 0.75rem 0.75rem 0.75rem;
  color: #555;
  font-size: 0.95rem;
}

/* Chips for user grades already exist; add spacing if missing */
.chip-grade { display: inline-block; margin: 0 0.25rem 0.25rem 0; }

/* New: disagreements up/down summary text */
.dis-updown {
  font-size: 0.85rem;
  color: #666;
  margin-top: 0.25rem;
}

/* New: statuses label */
.statuses-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #444;
  margin-right: 0.5rem;
}

/* Status bar container and segments */
.disagreements-summary-bar { position: relative; display: inline-block; height: 8px; width: 160px; background: #e0e0e6; border-radius: 6px; overflow: hidden; vertical-align: middle; margin: 0; }
.disagreements-summary-bar .attempts { position: absolute; left: 0; top: 0; height: 100%; background: #b0b7ff; }
.disagreements-summary-bar .flashes { position: absolute; top: 0; height: 100%; background: #8ee6ff; }
.disagreements-summary-bar .climbs { position: absolute; top: 0; height: 100%; background: #8ad28a; }

/* Status breakdown icons */
.status-icon { width: 16px; height: 16px; vertical-align: text-bottom; }

/* Status breakdown line (icons + counts) */
.status-breakdown {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.9rem;
  color: #555;
}

/* Responsive: ensure first column keeps minimum width; allow wrap */
.route-detail { min-width: 300px; }

/* Controversial routes: rows layout with wrapping */
.disagreements-grid.rows {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.dis-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.5rem 0.75rem;
}

.dis-row .logo-cell { flex: 0 0 64px; display:flex; align-items:center; justify-content:center; }
.dis-row .route-detail { flex: 1 1 420px; }
.dis-row .grades-cell { flex: 1 1 260px; }
.dis-row .status-cell { flex: 1 1 260px; }

@media (max-width: 768px) {
  .dis-row .logo-cell { flex: 0 0 48px; }
  .dis-row .route-detail { flex: 1 1 100%; }
  .dis-row .grades-cell { flex: 1 1 48%; }
  .dis-row .status-cell { flex: 1 1 48%; }
}

@media (max-width: 540px) {
  .dis-row { gap: 0.4rem 0.5rem; }
  .dis-row .logo-cell { flex: 0 0 40px; }
  .dis-row .route-detail,
  .dis-row .grades-cell,
  .dis-row .status-cell { flex: 1 1 100%; }
}
/* Controversial routes: enforce 4-column grid (logo, details, grades, status) */
.disagreements-grid.four-cols {
  display: grid;
  grid-template-columns: 64px 1.6fr 1fr 1fr;
  gap: 0.5rem 0.75rem;
  align-items: start;
}

.disagreements-grid.four-cols .logo-cell {
  display: flex;
  align-items: center;
  justify-content: center;
}

.route-gym-logo-wrap {
  width: 48px;
  height: 48px;
}

.route-gym-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.route-gym-logo.placeholder { opacity: 0.6; }

/* Ensure existing cells look tidy in the 4-col grid */
.dis-cell.route-detail { overflow: hidden; }
.dis-cell .route-meta { min-width: 0; }

@media (max-width: 768px) {
  .disagreements-grid.four-cols {
    grid-template-columns: 48px 1.4fr 1fr 1fr;
    gap: 0.4rem 0.5rem;
  }
  .route-gym-logo-wrap { width: 40px; height: 40px; }
}

/* Mobile collapse: stack cells vertically when space is tight */
@media (max-width: 540px) {
  .disagreements-grid.four-cols {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
  .disagreements-grid.four-cols > * {
    grid-column: 1 / -1;
  }
  .disagreements-grid.four-cols .logo-cell {
    justify-content: flex-start;
  }
  .route-gym-logo-wrap { width: 36px; height: 36px; }
}
@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon/icomoon.eot?srf3rx");
  src: url("../fonts/icomoon/icomoon.eot?srf3rx#iefix") format("embedded-opentype"), url("../fonts/icomoon/icomoon.ttf?srf3rx") format("truetype"), url("../fonts/icomoon/icomoon.woff?srf3rx") format("woff"), url("../fonts/icomoon/icomoon.svg?srf3rx#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }
/* =======================================================
*
* 	Template Style 
*	Edit this section
*
* ======================================================= */



body {
  font-family: "Lato","Roboto", Arial, "Open Sans", Arial, sans-serif;
  line-height: 1.6;
  font-size: 18px;
  background: #fff;
  color: #333333;
  font-weight: 300; 
  overflow-x: hidden; 
  --bs-nav-link-font-size: 0.9rem;
  --bs-navbar-active-color: #555555;
  --bs-nav-link-color: #555555;
  --bs-link-color: #555555;
 
}

/* Brand accent color definition (added) */
:root {
  --brand-accent: #29c05c; /* primary accent green */
}

.brand-accent-bg { background-color: var(--brand-accent) !important; }
.brand-accent-text { color: var(--brand-accent) !important; }

.skala3ma-logo {
    font-family: "Lato","Chakra Petch";
    /*, "Rajdhani", "Doto",  "Chakra Petch" , "Lato", "Chakra Petch", "Slabo";*/
    /*color: #44C662 !important;*/
    /*color: #53be6b !important;*/
    color: #29c05c !important;
    
    font-size:30px;
    font-weight: 700;
    color: #333333;
}

.large-icons {
    
    font-size:28px;
    font-weight: 700;
    text-decoration: none;
    color: #3caf57;
    

}




a {
  /*color: #33a632 !important;*/
  /*font-family: "Open Sans", Arial, sans-serif;*/
 
  
  color: rgba(51, 51, 51, 0.7) ;
    text-decoration: none;
  -webkit-transition: 0.5s, ease;
  -o-transition: 0.5s, ease;
  transition: 0.5s, ease; }

a:hover {
  text-decoration: none;
  color: #3caf57 !important;
}

p, ul, ol {
  margin-bottom: 1.5em;
  font-size: 16px;
  color: #333333;
  /*font-family: "Open Sans", Arial, sans-serif; */
  }

h1, h2, h3, h4, h5, h6 {
  color: #5a5a5a;
  /*font-family: "Open Sans", Arial, sans-serif;*/
  font-weight: 400;
  margin: 0 0 30px 0; }

#prod-title {
    font-size: 24px;
}

figure {
  margin-bottom: 2em; }

::-webkit-selection {
  color: #fcfcfc;
  background: #53be6b; }

::-moz-selection {
  color: #fcfcfc;
  background: #53be6b; }

::selection {
  color: #fcfcfc;
  background: #53be6b; }


.sf-arrows .sf-with-ul {
  padding-right: 2.5em;
  padding-right: 1em; }

.sf-arrows .sf-with-ul:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 1em;
  margin-top: -3px;
  height: 0;
  width: 0;
  border: 5px solid transparent;
  border-top-color: #ccc; }

.sf-arrows > li > .sf-with-ul:focus:after, .sf-arrows > li:hover > .sf-with-ul:after, .sf-arrows > .sfHover > .sf-with-ul:after {
  border-top-color: #ccc; }

.sf-arrows ul .sf-with-ul:after {
  margin-top: -5px;
  margin-right: -3px;
  border-color: transparent;
  border-left-color: #ccc; }

.sf-arrows ul li > .sf-with-ul:focus:after, .sf-arrows ul li:hover > .sf-with-ul:after, .sf-arrows ul .sfHover > .sf-with-ul:after {
  border-left-color: #ccc; }





  .mobile-nav {
    background: #F1F1F1;
    position: fixed;
    bottom: 0;
    height: 65px;
    width: 100%;
    display: flex;
    justify-content: space-around;
  }

  .bloc-icon {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .bloc-icon img {
    width: 30px;
  }

  @media screen and (min-width: 600px) {
    .mobile-nav {
    display: none;
    }
  }

  
#fh5co-header-section {
  padding: 0;
  position: relative;
  left: 0;
  width: 100%;
  z-index: 1022;
  background: none;
  }

.nav-header {
  position: relative;
  float: left;
  width: 100%;
  margin: 0 auto;
  }

#fh5co-logo {
    
  position: relative;
  z-index: 2;
  font-size: 28px;
  text-transform: uppercase;
  margin-top: 10px;
  font-weight: 700;
  float: left;
  padding-left: 40px; }
#fh5co-logo i {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 16px;
  color: #53be6b;
  background: rgba(0, 0, 0, 0.06);
  padding: 10px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  border-radius: 50%; }
#fh5co-logo a {
    text-decoration: none;
  color: #53be6b; }
#fh5co-logo a:hover, #fh5co-logo a:focus {
  color: #53be6b !important; }
#fh5co-logo span {
  font-weight: 300; }

#fh5co-menu-wrap {
  position: relative;
  z-index: 2;
  display: block;
  float: right;
  margin-top: 0px; }
#fh5co-menu-wrap .sf-menu a {
  padding: 1em .75em; }

#fh5co-primary-menu > li > ul li.active > a {
  color: #53be6b !important; }
#fh5co-primary-menu > li > .sf-with-ul:after {
  border: none !important;
  font-family: 'icomoon';
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  float: right;
  margin-right: -0px;
  top: 50%;
  font-size: 12px;
  margin-top: -7px;
  content: "\e922";
  color: rgba(0, 0, 0, 0.5); }
#fh5co-primary-menu > li > ul li {
  position: relative; }
#fh5co-primary-menu > li > ul li > .sf-with-ul:after {
  border: none !important;
  font-family: 'icomoon';
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  float: right;
  margin-right: 10px;
  top: 20px;
  font-size: 12px;
  content: "\e924";
  color: rgba(0, 0, 0, 0.5); }

#fh5co-primary-menu .fh5co-sub-menu {
  padding: 1px 7px 1px;
  background: rgba(255, 255, 255, 1);;
  left: 0;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
  -ms-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
  -o-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15); }
#fh5co-primary-menu .fh5co-sub-menu > li > .fh5co-sub-menu {
  left: 100%; }

#fh5co-primary-menu .fh5co-sub-menu:before {
  position: absolute;
  top: -9px;
  left: 20px;
  width: 0;
  height: 0;
  content: ''; }

#fh5co-primary-menu .fh5co-sub-menu:after {
  position: absolute;
  top: -8px;
  left: 21px;
  width: 0;
  height: 0;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #fff;
  border-bottom: 8px solid white;
  border-left: 8px solid transparent;
  content: ''; }

#fh5co-primary-menu .fh5co-sub-menu .fh5co-sub-menu:before {
  top: 6px;
  left: 100%; }

#fh5co-primary-menu .fh5co-sub-menu .fh5co-sub-menu:after {
  top: 7px;
  right: 100%;
  border: none !important; }

.site-header.has-image #primary-menu .sub-menu {
  border-color: #ebebeb;
  -webkit-box-shadow: 0 5px 15px 4px rgba(0, 0, 0, 0.09);
  -moz-box-shadow: 0 5px 15px 4px rgba(0, 0, 0, 0.09);
  -ms-box-shadow: 0 5px 15px 4px rgba(0, 0, 0, 0.09);
  -o-box-shadow: 0 5px 15px 4px rgba(0, 0, 0, 0.09);
  box-shadow: 0 5px 15px 4px rgba(0, 0, 0, 0.09); }
.site-header.has-image #primary-menu .sub-menu:before {
  display: none; }

#fh5co-primary-menu .fh5co-sub-menu a {
  letter-spacing: 0;
  padding: 0 15px;
  font-size: 12px;
  line-height: 28px;
  color: #575757 !important;
  text-transform: none;
  background: none; }
#fh5co-primary-menu .fh5co-sub-menu a:hover {
  color: #53be6b !important; }

#fh5co-search-map {
  width: 100%;
  float: left;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex; }
#fh5co-search-map .search-property {
  width: 33.5%;
  float: right;
  background: #53be6b; }
@media screen and (max-width: 768px) {
  #fh5co-search-map .search-property {
    width: 100%;
    float: left; } }
#fh5co-search-map .s-holder {
  width: 90%;
  margin: 0 auto;
  padding: 2em 0; }
#fh5co-search-map .s-holder h2 {
  color: #fff; }
#fh5co-search-map .s-holder .input-field, #fh5co-search-map .s-holder section {
  width: 100%;
  float: left;
  margin-bottom: 20px; }
#fh5co-search-map .s-holder label {
  width: 40%;
  float: left;
  color: #fff;
  margin-top: 10px; }
@media screen and (max-width: 768px) {
  #fh5co-search-map .s-holder label {
    font-size: 13px;
    margin-top: 13px; } }
#fh5co-search-map .s-holder input[type="text"] {
  padding: 24px 10px !important;
  font-weight: 700;
  font-size: 12px; }
#fh5co-search-map .s-holder input[type="text"]::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #53be6b !important; }
#fh5co-search-map .s-holder input[type="text"]::-moz-placeholder {
  /* Firefox 19+ */
  color: #53be6b !important; }
#fh5co-search-map .s-holder input[type="text"]:-ms-input-placeholder {
  /* IE 10+ */
  color: #53be6b !important; }
#fh5co-search-map .s-holder input[type="text"]:-moz-placeholder {
  /* Firefox 18- */
  color: #53be6b !important; }
#fh5co-search-map .s-holder input[type="text"], #fh5co-search-map .s-holder .cs-select {
  width: 60% !important;
  float: right;
  background: #fff !important;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  border-radius: 0; }
#fh5co-search-map .s-holder .wide {
  width: 60% !important;
  float: right; }
#fh5co-search-map .s-holder .wide .cs-select-half {
  width: 48% !important;
  float: left; }
#fh5co-search-map .s-holder .wide .cs-select-half:last-child {
  float: right; }
#fh5co-search-map .s-holder .btn {
  width: 60%;
  float: right;
  background: #000;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  border-radius: 2px; }
#fh5co-search-map .map {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
  width: 66.5%;
  float: right; }

div.cs-select span {
  padding: 10px 10px; }

.cs-skin-border {
  font-size: 16px;
  color: #fff; }
@media screen and (max-width: 829px) {
  .cs-skin-border {
    max-width: 829px !important; } }
@media screen and (max-width: 30em) {
  .cs-skin-border {
    font-size: 16px; } }
.cs-skin-border span {
  font-size: 13px; }
.cs-skin-border span:hover {
  background: rgba(0, 0, 0, 0.05) !important; }
.cs-skin-border > span {
  border: transparent;
  background: white;
  color: #53be6b;
  padding: 14px 10px !important; }
.cs-skin-border > span::after {
  font-size: 14px !important;
  content: '\e94d' !important;
  font-family: "icomoon"; }
.cs-skin-border .cs-selected > span::after {
  font-size: 14px !important; }

.cs-skin-border.cs-active > span {
  background: rgba(0, 0, 0, 0.05) !important;
  color: #53be6b; }

.cs-select .cs-options {
  -webkit-box-shadow: 0px 10px 20px -12px rgba(0, 0, 0, 0.18);
  -moz-box-shadow: 0px 10px 20px -12px rgba(0, 0, 0, 0.18);
  -ms-box-shadow: 0px 10px 20px -12px rgba(0, 0, 0, 0.18);
  -o-box-shadow: 0px 10px 20px -12px rgba(0, 0, 0, 0.18);
  box-shadow: 0px 10px 20px -12px rgba(0, 0, 0, 0.18); }

#fh5co-blog-section, #fh5co-features, #fh5co-popular-properties, #fh5co-properties, #fh5co-testimonial, #fh5co-about, #fh5co-contact, .fh5co-content-section {
  clear: both;
  padding: 7em 0; }
@media screen and (max-width: 768px) {
  #fh5co-blog-section, #fh5co-features, #fh5co-popular-properties, #fh5co-properties, #fh5co-testimonial, #fh5co-about, #fh5co-contact, .fh5co-content-section {
    padding: 4em 0; } 
}

.fh5co-section-gray {
  background: rgba(0, 0, 0, 0.04); }

.heading-section {
  padding-bottom: 1em;
  margin-bottom: 2em; }
.heading-section h3 {
  font-size: 40px;
  font-weight: 400;
  position: relative;
  color: #53be6b; }
.heading-section p {
  font-size: 20px; }

.heading-title {
  font-size: 40px;
  color: #53be6b; 
  font-size: 40px;
  font-weight: 400;
  
}

.fh5co-property {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
  height: 400px;
  width: 100%;
  float: left;
  margin-bottom: 2em;
  -webkit-box-shadow: inset 0px -96px 115px -23px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: inset 0px -96px 115px -23px rgba(0, 0, 0, 0.75);
  box-shadow: inset 0px -96px 115px -23px rgba(0, 0, 0, 0.75);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s; }
.fh5co-property:hover, .fh5co-property:focus {
  -webkit-box-shadow: inset 0px -120px 115px -23px rgba(0, 0, 0, 0.85);
  -moz-box-shadow: inset 0px -120px 115px -23px rgba(0, 0, 0, 0.85);
  box-shadow: inset 0px -120px 115px -23px rgba(0, 0, 0, 0.85); }
.fh5co-property .status {
  position: absolute;
  top: 12px;
  left: -7px;
  color: #fff;
  background: #53be6b;
  padding: 10px 12px;
  font-weight: bold;
  font-size: 12px; }
.fh5co-property .status:before {
  position: absolute;
  top: -5px;
  left: 0;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0px 0px 5px 7px;
  border-color: transparent transparent #53be6b transparent; }
.fh5co-property .prop-details {
  width: 90%;
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 20px;
  right: 20px; }
.fh5co-property .prop-details h3 {
  color: #fff;
  font-size: 24px;
  line-height: 30px; }
.fh5co-property .prop-details .price {
  font-size: 20px;
  display: inline-block;
  font-weight: 400;
  color: #fff;
  background: #53be6b;
  padding: 5px 10px;
  margin-bottom: 10px; }

.property {
  width: 100%;
  float: left;
  margin-bottom: 3em; }
.property .property-details h3 {
  margin-bottom: 10px; }
.property .property-details .price {
  font-size: 24px;
  display: inline-block;
  font-weight: 400;
  margin-bottom: 10px;
  color: #53be6b; }
.property .property-details .address {
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  display: block;
  font-size: 13px;
  padding-top: 10px; }
.property .property-details .address i {
  margin-right: 10px; }
.property .list-details {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 10px;
  background: rgba(0, 0, 0, 0.7); }
.property .list-details li {
  font-size: 12px;
  font-weight: 700;
  list-style: none;
  display: inline-block;
  color: rgba(255, 255, 255, 0.9);
  margin-left: 10px; }

#fh5co-about .fh5co-staff {
  margin-bottom: 3em; }
#fh5co-about .fh5co-staff img {
  width: 230px;
  height: 230px;
  margin: 0 auto;
  margin-bottom: 20px;
  background: #fff;
  -webkit-box-shadow: 0px 10px 30px -13px rgba(0, 0, 0, 0.21);
  -moz-box-shadow: 0px 10px 30px -13px rgba(0, 0, 0, 0.21);
  box-shadow: 0px 10px 30px -13px rgba(0, 0, 0, 0.21);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  border-radius: 50%; }
#fh5co-about .fh5co-staff h3 {
  font-size: 24px; }
#fh5co-about .fh5co-staff p {
  margin-bottom: 30px; }
#fh5co-about .fh5co-staff:hover img {
  background: rgba(68, 198, 98, 0.2); }
#fh5co-about .fh5co-staff .list-prop {
  display: block;
  margin-bottom: 20px;
  color: #53be6b;
  font-weight: 400; }

.fh5co-agent {
  background: #53be6b; }
.fh5co-agent h3, .fh5co-agent p {
  color: #fff !important; }
.fh5co-agent .fh5co-staff {
  margin-bottom: 30px; }
.fh5co-agent .fh5co-staff img {
  margin-bottom: 20px;
  background: #fff !important;
  -webkit-box-shadow: 0px 10px 30px -13px rgba(0, 0, 0, 0.21);
  -moz-box-shadow: 0px 10px 30px -13px rgba(0, 0, 0, 0.21);
  box-shadow: 0px 10px 30px -13px rgba(0, 0, 0, 0.21);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s; }
.fh5co-agent .fh5co-staff h3 {
  font-size: 24px;
  color: #fff !important; }
.fh5co-agent .fh5co-staff p {
  margin-bottom: 30px;
  color: #fff !important; }
.fh5co-agent .fh5co-staff p a {
  color: #fff !important; }
.fh5co-agent .fh5co-staff:hover img {
  background: rgba(68, 198, 98, 0.2); }

.feature-left {
  float: left;
  width: 100%;
  margin-bottom: 40px;
  position: relative; }
.feature-left .icon {
  float: left;
  text-align: center;
  width: 15%; }
@media screen and (max-width: 992px) {
  .feature-left .icon {
    width: 10%; } }
@media screen and (max-width: 768px) {
  .feature-left .icon {
    width: 15%; } }
.feature-left .icon i {
  display: table-cell;
  vertical-align: middle;
  font-size: 40px;
  color: #53be6b; }
.feature-left .feature-copy {
  float: right;
  width: 80%; }
@media screen and (max-width: 992px) {
  .feature-left .feature-copy {
    width: 90%; } }
@media screen and (max-width: 768px) {
  .feature-left .feature-copy {
    width: 85%; } }
@media screen and (max-width: 480px) {
  .feature-left .feature-copy {
    width: 80%; } }
.feature-left .feature-copy h3 {
  font-size: 18px;
  color: #1a1a1a;
  margin-bottom: 10px; }
.feature-left .feature-copy p {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 10px; }


#fh5co-features {
  padding: 7em 0; }
#fh5co-features .feature-left {
  margin-bottom: 40px; }
@media screen and (max-width: 992px) {
  #fh5co-features .feature-left {
    margin-bottom: 30px; } }
#fh5co-features .feature-left .icon i {
  color: #d9d9d9 !important; }
#fh5co-features .feature-left .icon {
  float: left;
  text-align: center;
  width: 15%; }
@media screen and (max-width: 992px) {
  #fh5co-features .feature-left .icon {
    width: 10%; } }
@media screen and (max-width: 768px) {
  #fh5co-features .feature-left .icon {
    width: 15%; } }
#fh5co-features .feature-left .feature-copy {
  float: right;
  width: 80%; }
@media screen and (max-width: 992px) {
  #fh5co-features .feature-left .feature-copy {
    width: 90%; } }
@media screen and (max-width: 768px) {
  #fh5co-features .feature-left .feature-copy {
    width: 85%; } }
@media screen and (max-width: 480px) {
  #fh5co-features .feature-left .feature-copy {
    width: 80%; } }
#fh5co-features .feature-left h3 {
  font-size: 16px;
  font-weight: 700; }
#fh5co-features .feature-left p {
  font-size: 15px; }
#fh5co-features .feature-left p:last-child {
  margin-bottom: 0; }

#fh5co-contact {
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex; }
#fh5co-contact .contact-info {
  margin: 0;
  padding: 0; }
#fh5co-contact .contact-info li {
  list-style: none;
  margin: 0 0 20px 0;
  position: relative;
  padding-left: 40px; }
#fh5co-contact .contact-info li i {
  position: absolute;
  top: .3em;
  left: 0;
  font-size: 22px;
  color: rgba(0, 0, 0, 0.3); }
#fh5co-contact .contact-info li a {
  font-weight: 400 !important;
  color: rgba(0, 0, 0, 0.3); }
#fh5co-contact .form-control {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  -ms-box-shadow: none;
  -o-box-shadow: none;
  box-shadow: none;
  border: none;
  border: 2px solid rgba(0, 0, 0, 0.1);
  font-size: 16px;
  font-weight: 400;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  -ms-border-radius: 0px;
  border-radius: 0px; }
#fh5co-contact .form-control:focus, #fh5co-contact .form-control:active {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5); }
#fh5co-contact input[type="text"] {
  height: 50px; }
#fh5co-contact .form-group {
  margin-bottom: 30px; }

.fh5co-contact {
  padding: 0 !important; }

.half-contact, .half-bg {
  width: 50%; }

.half-contact {
  padding: 7em; }
@media screen and (max-width: 768px) {
  .half-contact {
    width: 100%;
    padding: 5em 0; } }

.half-bg {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat; }



.fh5co-blog {
  margin-bottom: 60px; 
}
.fh5co-blog a img {
    width: 100%; 
} 
.fh5co-blog .blog-text {
  margin-bottom: 50px;
  position: relative;
  width: 100%;
  padding: 6px;
  float: right;
  -webkit-box-shadow: 0px 10px 20px -12px rgba(0, 0, 0, 0.18);
  -moz-box-shadow: 0px 10px 20px -12px rgba(0, 0, 0, 0.18);
  box-shadow: 0px 10px 20px -12px rgba(0, 0, 0, 0.18); }
.fh5co-blog .blog-text span {
  display: inline-block;
  margin-bottom: 20px; }
.fh5co-blog .blog-text span.posted_by {
  color: rgba(0, 0, 0, 0.5); }
.fh5co-blog .blog-text span.comment {
  float: right; }
.fh5co-blog .blog-text span.comment a {
  color: rgba(0, 0, 0, 0.5); }
.fh5co-blog .blog-text span.comment a i {
  color: #53be6b;
  padding-left: 7px; }
.fh5co-blog .blog-text h3 {
  font-size: 20px;
  margin-bottom: 20px;
  font-weight: 400;
  line-height: 1.5; }
.fh5co-blog .blog-text h3 a {
  color: rgba(0, 0, 0, 0.6); }




.activity-entry {
  margin-bottom: 15px; 
  display: flex;
  width: 100%;
}
.activity-entry a img {
    width: 100%; 
} 
.activity-entry .activity-entry-text {
  margin-bottom: 15px;
  width: 38%;
  padding: 7px;
  background: #f4f9f5;
  -webkit-box-shadow: 0px 10px 20px -12px rgba(0, 0, 0, 0.18);
  -moz-box-shadow: 0px 10px 20px -12px rgba(0, 0, 0, 0.18);
  box-shadow: 0px 10px 20px -12px rgba(0, 0, 0, 0.18); }
.activity-entry .activity-entry-text span {
  display: inline-block;
  margin-bottom: 20px; }
.activity-entry .activity-entry-text span.posted_by {
  color: rgba(0, 0, 0, 0.5); }
.activity-entry .activity-entry-text span.comment {
  float: right; }
.activity-entry .activity-entry-text span.comment a {
  color: rgba(0, 0, 0, 0.5); }
.activity-entry .activity-entry-text span.comment a i {
  color: #71c685;
  /*padding-left: 7px; */
}
.activity-entry-blog .activity-entry-text h3 {
  font-size: 20px;
  margin-bottom: 20px;
  font-weight: 400;
  line-height: 1.5; }
.activity-entry-blog .activity-entry-text h3 a {
  color: rgba(0, 0, 0, 0.6); }

  


  
#map {
  width: 100%;
  height: 500px;
  position: relative; }
@media screen and (max-width: 768px) {
  #map {
    height: 200px; 
} }

.expo-box {
    margin-bottom: 10px;
    position: flex;
    background: #EFEFF1;
    padding: 10px;
    float: right;
    -webkit-box-shadow: 0px 10px 20px -12px rgba(0, 0, 0, 0.18);
    -moz-box-shadow: 0px 10px 20px -12px rgba(0, 0, 0, 0.18);
    box-shadow: 0px 10px 20px -12px rgba(0, 0, 0, 0.18); }
  



.fh5co-social-icons > a {
  padding: 4px 10px;
  color: #53be6b; }
.fh5co-social-icons > a i {
  font-size: 20px; }
.fh5co-social-icons > a:hover, .fh5co-social-icons > a:focus, .fh5co-social-icons > a:active {
  text-decoration: none;
  color: #5a5a5a; }

#footer {
  background: #393e46;
  padding: 60px 0 40px; }
#footer p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px; }
#footer p a {
  color: rgba(255, 255, 255, 0.5); }
#footer p a:hover, #footer p a:active, #footer p a:focus {
  color: rgba(255, 255, 255, 0.9) !important; }
#footer .section-title {
  font-size: 20px;
  font-weight: 400;
  color: #fff; }
#footer ul {
  margin: 0;
  padding: 0; }
#footer ul li {
  font-size: 16px;
  list-style: none;
  margin-bottom: 0; }
#footer ul li a {
  color: rgba(255, 255, 255, 0.8); }
#footer #fh5co-header-subscribe #email {
  padding-right: 3em;
  border: none;
  background: rgba(0, 0, 0, 0.2); }
#footer #fh5co-header-subscribe button {
  position: absolute;
  top: 0;
  right: 10px;
  border-top-left-radius: 0px !important;
  border-bottom-left-radius: 0px !important;
  background: #53be6b;
  border: none; }
#footer #fh5co-header-subscribe button i {
  color: #fff;
  font-size: 19px; }

.btn {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s; }

.btn {
  text-transform: uppercase;
  letter-spacing: 1px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s; }
.btn.btn-primary {
  background: #53be6b;
  color: #fff;
  border: none !important;
  border: 2px solid transparent !important; }
.btn.btn-primary:hover, .btn.btn-primary:active, .btn.btn-primary:focus {
  box-shadow: none;
  background: #53be6b;
  color: #fff !important; }
.btn:hover, .btn:active, .btn:focus {
  /*background: #393e46 !important;*/
  color: #fff;
  outline: none !important; }
.btn.btn-default:hover, .btn.btn-default:focus, .btn.btn-default:active {
  border-color: transparent; }
.btn.btn-outline {
  background: transparent;
  color: #53be6b;
  border: 2px solid #53be6b !important; }
.btn.btn-outline:hover, .btn.btn-outline:focus, .btn.btn-outline:active {
  background: #53be6b !important;
  color: #fff !important; }

.tab-content .btn {
  letter-spacing: 0;
  text-transform: none;
  font-weight: bold;
  font-size: 18px; }

.js .animate-box {
  opacity: 0; }

#fh5co-wrapper {
  overflow-x: hidden;
  position: relative; }

.fh5co-offcanvas {
  overflow: hidden; }
.fh5co-offcanvas #fh5co-wrapper {
  overflow: hidden !important; }

#fh5co-page {
  position: relative;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; }
.fh5co-offcanvas #fh5co-page {
  -moz-transform: translateX(-240px);
  -webkit-transform: translateX(-240px);
  -ms-transform: translateX(-240px);
  -o-transform: translateX(-240px);
  transform: translateX(-240px); }

/* Removed empty media query block for #fh5co-menu-wrap (was only comments) */

#offcanvas-menu {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 99;
  background: #222;
  right: -240px;
  width: 240px;
  padding: 20px;
  overflow-y: scroll !important;
  display: none; }
@media screen and (max-width: 768px) {
  #offcanvas-menu {
    display: block; } }
#offcanvas-menu ul {
  padding: 0;
  margin: 0; }
#offcanvas-menu ul li {
  padding: 0;
  margin: 0 0 10px 0;
  list-style: none; }
#offcanvas-menu ul li a {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.4); }
#offcanvas-menu ul li a:hover {
  color: #53be6b; }
#offcanvas-menu ul li > .fh5co-sub-menu {
  margin-top: 9px;
  padding-left: 20px; }
#offcanvas-menu ul li.active > a {
  color: #53be6b; }
#offcanvas-menu ul .fh5co-sub-menu {
  display: block !important; }

.fh5co-nav-toggle {
  cursor: pointer;
  text-decoration: none; }
.fh5co-nav-toggle.active i::before, .fh5co-nav-toggle.active i::after {
  background: #fff; }
.fh5co-nav-toggle.dark.active i::before, .fh5co-nav-toggle.dark.active i::after {
  background: #fff; }
.fh5co-nav-toggle:hover, .fh5co-nav-toggle:focus, .fh5co-nav-toggle:active {
  outline: none;
  border-bottom: none !important; }
.fh5co-nav-toggle i {
  position: relative;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  /*display: inline;*/
  width: 30px;
  height: 2px;
  color: #fff;
  font: bold 14px/.4 Helvetica;
  text-transform: uppercase;
  text-indent: -55px;
  background: #fff;
  transition: all .2s ease-out; }
.fh5co-nav-toggle i::before, .fh5co-nav-toggle i::after {
  content: '';
  width: 30px;
  height: 2px;
  background: #fff;
  position: absolute;
  left: 0;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s; }
.fh5co-nav-toggle.dark i {
  position: relative;
  color: #000;
  background: #000;
  transition: all .2s ease-out; }
.fh5co-nav-toggle.dark i::before, .fh5co-nav-toggle.dark i::after {
  background: #000;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s; }

.fh5co-nav-toggle i::before {
  top: -7px; }

.fh5co-nav-toggle i::after {
  bottom: -7px; }

.fh5co-nav-toggle:hover i::before {
  top: -10px; }

.fh5co-nav-toggle:hover i::after {
  bottom: -10px; }

.fh5co-nav-toggle.active i {
  background: transparent; }

.fh5co-nav-toggle.active i::before {
  top: 0;
  -webkit-transform: rotateZ(45deg);
  -moz-transform: rotateZ(45deg);
  -ms-transform: rotateZ(45deg);
  -o-transform: rotateZ(45deg);
  transform: rotateZ(45deg); }

.fh5co-nav-toggle.active i::after {
  bottom: 0;
  -webkit-transform: rotateZ(-45deg);
  -moz-transform: rotateZ(-45deg);
  -ms-transform: rotateZ(-45deg);
  -o-transform: rotateZ(-45deg);
  transform: rotateZ(-45deg); }

.fh5co-nav-toggle {
  position: absolute;
  top: 0px;
  right: 0px;
  z-index: 9999;
  display: block;
  margin: 0 auto;
  display: none;
  cursor: pointer; }
@media screen and (max-width: 768px) {
  .fh5co-nav-toggle {
    display: block;
    top: 0px;
    margin-top: 2em; } }

@media screen and (max-width: 480px) {
  .col-xxs-12 {
    float: none;
    width: 100%; } }

.row-bottom-padded-lg {
  padding-bottom: 7em; }
@media screen and (max-width: 768px) {
  .row-bottom-padded-lg {
    padding-bottom: 2em; } }

.row-top-padded-lg {
  padding-top: 7em; }
@media screen and (max-width: 768px) {
  .row-top-padded-lg {
    padding-top: 2em; } }

.row-bottom-padded-md {
  padding-bottom: 4em; }
@media screen and (max-width: 768px) {
  .row-bottom-padded-md {
    padding-bottom: 2em; } }

.row-top-padded-md {
  padding-top: 4em; }
@media screen and (max-width: 768px) {
  .row-top-padded-md {
    padding-top: 2em; } }

.row-bottom-padded-sm {
  padding-bottom: 2em; }
@media screen and (max-width: 768px) {
  .row-bottom-padded-sm {
    padding-bottom: 2em; } }

.row-top-padded-sm {
  padding-top: 2em; }
@media screen and (max-width: 768px) {
  .row-top-padded-sm {
    padding-top: 2em; } }

.border-bottom {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06); }

.lead {
  line-height: 1.8; }

.no-js #loader {
  display: none; }

.js #loader {
  display: block;
  position: absolute;
  left: 100px;
  top: 0; }

.fh5co-loader {
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: url(../images/hourglass.svg) center no-repeat #222222; }




.fixed-top-alert {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1050; /* Ensure it is above other elements */
    text-align: center;
}

/*# sourceMappingURL=style.css.map */

/* --------------------------------------------------
   Print layout adjustments to remove unexpected top space
   and hide non-essential UI components.
-------------------------------------------------- */
@media print {
  @page {
    margin: 6mm 8mm 10mm 8mm; /* adjust as desired; set 0 for full bleed if supported */
  }
  html, body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }
  /* Hide navigation, footers, mobile bars, alerts, and controls not needed on paper */
  nav.navbar,
  footer,
  .fixed-bottom,
  #disc-controls-wrapper,
  #offcanvasNavbar,
  #alertPlaceholder,
  #top-gym-header,
  .top-gym-header {
    display: none !important;
  }
  /* Remove excessive padding from common utility classes that could push content */
  .p-4 { padding-top: 0.5rem !important; }
  h1.display-4 { margin-top: 0 !important; }
  /* Prevent accidental page breaks inside discs */
  .disc-svg, .disc-card, .disc-wrapper { page-break-inside: avoid; break-inside: avoid; }
}

/* ---- Reusable Card Styles (Summary/Search) ---- */
/* Grid wrapper for cards */
.cards-grid { display:flex; flex-wrap:wrap; gap:1rem; margin: 0 0.75rem 0rem 0.75rem; }

/* Base card */
.summary-card { flex:1 1 220px; height: 95%; background:#f1f3f4; border-radius:12px; padding:1rem 1rem; margin: 0.2rem 0.2rem 0.2rem 0.2rem; position:relative; box-shadow:0 2px 4px rgba(0,0,0,.08); }
.summary-card.highlight { border:2px solid #2ecc71; }
.summary-card h5 { font-size:1rem; margin:0 0 .35rem; font-weight:600; }
.summary-metric { font-size:1.6rem; font-weight:700; letter-spacing:.5px; }

/* Interactive card behavior */
.summary-card.cursor-pointer { cursor:pointer; transition:box-shadow .18s ease, transform .18s ease; }
.summary-card.cursor-pointer:hover { box-shadow:0 6px 16px rgba(0,0,0,.18); transform:translateY(-3px); }

/* Search/Filter card (used by month filter) */
#monthFilter,
.card-search {  background:#f1f3f4; padding:.9rem 1rem; border-radius:14px; box-shadow:0 1px 3px rgba(0,0,0,.08); }
.card-search .filter-grid { display:flex; flex-wrap:wrap; gap:.9rem; align-items:flex-end; }
.card-search .filter-group { flex:1 1 auto; min-width:180px; }
.filter-label { font-size:.6rem; font-weight:600; letter-spacing:.5px; display:block; margin-bottom:.25rem; }
.filter-input { font-size:.75rem; padding:.35rem .5rem; width:100%; border:1px solid #ccc; border-radius:8px; background:#fff; }
.filter-input-month { font-size:.75rem; padding:.35rem .5rem; width:100%; border:1px solid #ccc; border-radius:8px; }
.filter-select { font-size:.7rem; padding:.4rem .55rem; width:100%; border:1px solid #ccc; border-radius:8px; background:#fff; }

/* Competition cards responsive tweaks */
.competition-card { padding: 0.75rem 1rem; }
.competition-card .blog-text h3 { font-size: 1.15rem; line-height: 1.3; }
.competition-card .posted_by { font-size: 0.9rem; }
.competition-card .competition-logo { width: 100%; height: auto; border-radius: 8px; }

@media (max-width: 576px) { /* Bootstrap sm breakpoint */
  .competition-card { padding: 0.5rem 0.6rem; }
  .competition-card .blog-text h3 { font-size: 1rem; line-height: 1.2; margin-bottom: 0.25rem; }
  .competition-card .posted_by { font-size: 0.8rem; }
  .competition-card .competition-logo { max-width: 140px; width: 100%; height: auto; border-radius: 6px; display: inline-block; }
}

@media (max-width: 768px) { /* Bootstrap md breakpoint */
  .competition-card .blog-text h3 { font-size: 1.05rem; }
  .competition-card .posted_by { font-size: 0.85rem; }
}
.filter-btn { font-size:.65rem; padding:.45rem .85rem; border:0; border-radius:8px; font-weight:600; cursor:pointer; }
.filter-btn.primary { background:#53be6b; color:#fff; }
.filter-btn.secondary { background:#f1f3f4; color:#222; }
.filter-range-indicator { flex:1 1 100%; font-size:.6rem; margin-top:.4rem; opacity:.7; }

/* Generic card helpers */
.card-row { display:flex; align-items:center; gap:.75rem; margin:.35rem 0; }
.lh-1 { line-height:1; }
.card-meta { font-size:.6rem; opacity:.75; margin-top:.25rem; }
.card-action-hint { font-size:.5rem; opacity:.55; margin-top:.25rem; text-decoration:underline; }
.stats-row { display:flex; align-items:flex-end; gap:1.1rem; flex-wrap:wrap; margin:.25rem 0 .55rem; }
.stat-block { min-width:120px; }
.stat-label { font-size:.55rem; text-transform:uppercase; letter-spacing:.7px; opacity:.7; margin-top:.15rem; }
.card-subtext { font-size:.85rem; opacity:.75; }
.status-strip { display:flex; gap:.5rem; flex-wrap:wrap; margin:.2rem 0 .1rem; }
.status-badge { font-size:.7rem; }

/* ---- Activities Page Components (migrated from activities.html) ---- */
/* Route chips and timeline */
.route-chip { display:inline-flex; align-items:center; gap:.4rem; background:#f1f3f4; padding:.35rem .6rem; border-radius:24px; font-size:.75rem; margin:.25rem .25rem .25rem 0; }
.route-chip.disagree { background:#ffe5e5; border:1px solid #ff6b6b; }
.grade-original { font-weight:600; }
.timeline-item { border-left:4px solid #53be6b; margin-left:.6rem; padding:.6rem .8rem .6rem 1rem; position:relative; background:#ffffff; border-radius:0 8px 8px 0; box-shadow:0 2px 3px rgba(0,0,0,.05); }
.timeline-item::before { content:""; width:14px; height:14px; background:#53be6b; border-radius:50%; position:absolute; left:-10px; top:14px; }
.timeline-date { font-size:.75rem; text-transform:uppercase; letter-spacing:1px; color:#666; font-weight:600; }
.status-icon { width:20px; height:20px; vertical-align:middle; }
.status-label { font-size:.65rem; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.route-row { display:flex; align-items:center; gap:.9rem; font-size:.85rem; padding:.5rem 0; border-bottom:1px dashed #e1e4e5; }
.route-row:last-child { border-bottom:none; }
.route-original { display:flex; flex-direction:row; align-items:center; gap:.65rem; font-size:.75rem; flex-wrap:wrap; }
.route-original .ro-num { font-weight:600; letter-spacing:.5px; font-size:.85rem; }
.route-original .ro-name { font-size:.9rem; font-weight:600; }
.route-original .ro-openedby { opacity:.55; font-style:italic; font-size:.75rem; }
.route-climb { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; font-size:.75rem; }
.soft { color:#2e86de; font-weight:600; }
.hard { color:#c0392b; font-weight:600; }
.flash { font-style:italic; }

/* Leaderboard */
.leaderboard { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:1rem; }
.leaderboard-card { background:#fff; border-radius:12px; padding:.9rem .9rem 1rem; box-shadow:0 2px 4px rgba(0,0,0,.08); position:relative; }
.gym-logo { height:200px; width:auto; max-width:100%; object-fit:contain; border-radius:12px; background:#ffffff; box-shadow:0 1px 3px rgba(0,0,0,.15); }
.summary-gym-logo { width:42px; height:42px; object-fit:contain; border-radius:10px; background:#ffffff; box-shadow:0 1px 3px rgba(0,0,0,.12); }
.badge { display:inline-block; padding:.3rem .55rem; border-radius:6px; font-size:.6rem; font-weight:600; letter-spacing:.5px; background:#eceff1; margin-right:.35rem; }
.badge.flashes { background:#efcc05; }
.badge.attempts { background:#d73038; }
.badge.climbs { background:#41ac49; }
.leaderboard-col { display:flex; flex-direction:column; gap:.6rem; }
.leaderboard-name-row { display:flex; justify-content:space-between; align-items:center; }
.leaderboard-gym-name { font-size:.9rem; }
.leaderboard-session-count { font-size:.6rem; opacity:.7; }
.leaderboard-badges { margin:.4rem 0 .3rem; }
.leaderboard-unique { font-size:.6rem; opacity:.7; }

/* Controversial route top card & details */
.contro-title { margin:0 0 .4rem; }
.contro-none { font-size:.6rem; opacity:.7; }
.contro-flex { display:flex; flex-wrap:wrap; gap:.6rem; align-items:flex-start; }
.contro-left { flex:1 1 200px; min-width:180px; }
.contro-right { flex:1 1 220px; min-width:200px; }
.contro-name { font-size:.8rem; font-weight:600; }
.contro-gym { font-size:.55rem; opacity:.75; }
.opened-meta { font-size:.55rem; margin:.35rem 0 .5rem; padding:.3rem .5rem; border-radius:6px; }
.contro-set-grade { font-size:.6rem; }
.contro-disagreements { font-size:.55rem; margin-top:.4rem; }
.contro-status-mix { font-size:.55rem; }
.grades-label { font-size:.6rem; margin-bottom:.25rem; }
.grades-wrap { display:flex; flex-wrap:wrap; gap:.4rem; }
.click-view-all { font-size:.55rem; margin-top:.5rem; text-decoration:underline; }
.contro-route-title { margin:0 0 .3rem; }
.contro-route-gymline { font-size:.7rem; margin-bottom:.2rem; }
.contro-flex-min { display:flex; flex-wrap:wrap; gap:.6rem; }
.contro-grades-label { margin-top:.4rem; }
.contro-route-distribution { display:flex; flex-wrap:wrap; gap:.35rem; }
.distribution-pill { background:#fff; border:1px solid #ddd; padding:.3rem .5rem; border-radius:20px; font-size:.65rem; }

/* Overlay & disagreement details */
/*.disagreements-grid { display:grid; grid-template-columns:1fr minmax(140px,220px) minmax(110px,140px); gap:.5rem .75rem; align-items:start; font-size:.65rem; }
.disagreements-grid .head { font-weight:700; text-transform:uppercase; letter-spacing:.7px; font-size:.58rem; opacity:.7; }
*/
.dis-cell { background:#f1f3f4; padding:.45rem .45rem; border-radius:10px; }
.route-dis-flex .route-meta { flex:1 1 auto; font-size:.90rem; line-height:1.1; }
.route-dis-flex .route-meta .route-name { font-size:.75rem; font-weight:600; margin-bottom:.15rem; }
.route-dis-flex .route-meta .route-gym { opacity:.85; }
.route-dis-flex .route-meta .route-open { opacity:.85; }
.chip-grade { display:inline-block; padding:.18rem .35rem; border-radius:14px; font-size:.8rem; font-weight:600; letter-spacing:.3px; background:#eceff1; margin:.18rem .25rem .18rem 0; }
.chip-grade.up { background:#ffd9d9; color:#c0392b; }
.chip-grade.down { background:#d9ecff; color:#1e5fa3; }
.tiny-note { display:inline-block; background:#fff7e6; padding:.2rem .4rem; font-size:.55rem; border-radius:6px; margin:.15rem .25rem .15rem 0; }
.badge-mini { background:#f1f3f4; padding:.2rem .4rem; border-radius:6px; font-size:.55rem; font-weight:600; letter-spacing:.4px; }
.disagreements-summary-bar { height:6px; width:100%; background:#f1f3f4; border-radius:4px; position:relative; margin-top:.3rem; }
.disagreements-summary-bar span { position:absolute; top:0; height:100%; border-radius:4px; }
.route-dis-flex { display:flex; gap:.6rem; align-items:flex-start; flex-wrap:nowrap; }
.route-gym-info { display:flex; flex-direction:column; align-items:center; gap:.2rem; flex:0 0 auto; }
.route-gym-logo {  width: 84px; height:64px; object-fit:contain; border-radius:3px; background:#ffffff; box-shadow:0 1px 3px rgba(0,0,0,.12); }
.route-gym-name-small { font-size:.65rem; font-weight:600; text-align:center; opacity:.8; max-width:60px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.route-color-box { flex:0 0 auto; display:flex; align-items:center; justify-content:center; min-width:55px; }
.route-meta { flex:1 1 auto; }
.route-color-box .route-color-fallback { margin-bottom:.3rem; }
@media (max-width: 300px) {
  .route-dis-flex { flex-direction:column; align-items:flex-start; }
  .route-color-box { margin-bottom:.4rem; }
  .route-gym-info { margin-bottom:.4rem; }
}
.disagreements-summary-bar span.attempts { background:#d73038; left:0; }
.disagreements-summary-bar span.flashes { background:#efcc05; }
.disagreements-summary-bar span.climbs { background:#41ac49; }

/* Section layout helpers */
.empty-state { text-align:center; padding:3rem 1rem; opacity:.6; }
.empty-state.pad-medium { padding:2rem 1rem; }
.section-title { font-size:1.2rem; font-weight:700; margin:.4rem 0 .7rem; letter-spacing:.5px; }
.big-number { font-size:2.2rem; font-weight:800; }
.scroll-h { overflow-x:auto; }

/* Centered sections */
#controversialSection { width:100%; }
#controversialSection .section-title { text-align:center; }
#timelineSection { width:100%; }
#timelineSection .section-title { text-align:center; }
#timeline { max-width:1100px; margin:0.75rem auto 0; }
#leaderboardSection { width:100%; }
#leaderboardSection .section-title { text-align:center; }
#gymLeaderboard { max-width:1100px; margin:0.75rem auto 0; }

/* Timeline & controversial details */
.timeline-header { font-size:.75rem; font-weight:600; margin:.15rem 0 .35rem; }
.diff-badge { font-size:.55rem; background:#ffdddd; padding:.15rem .3rem; border-radius:4px; }
.route-color-fallback { width:55px; height:20px; background:#ddd; border-radius:4px; }

