
:root{
  --copan-navy:#0B075A;
  --copan-deep-blue:#173C73;
  --copan-blue:#5F9FCC;
  --copan-green:#69C33F;
  --copan-red:#F23E55;
  --copan-orange:#F0643B;
  --copan-yellow:#F7BC22;
  --copan-text:#25324A;
  --copan-muted:#717B8C;
  --copan-bg:#F5F6F8;
  --copan-white:#FFFFFF;
  --copan-border:#E7EAF0;
  --copan-radius:22px;
  --copan-shadow:0 18px 38px rgba(21,32,58,.08);
  --copan-shadow-hover:0 24px 50px rgba(21,32,58,.12);
}

.copan-card,
.copan-card-soft,
.proyecto-en-ejecucion,
.proyecto-ejecutado{
  position:relative;
  background:var(--copan-white);
}

.copan-card{
  border-radius:var(--copan-radius);
  padding:30px;
  box-shadow:var(--copan-shadow);
  overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease;
}

.copan-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--copan-shadow-hover);
}

.copan-card::after,
.proyecto-en-ejecucion::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:5px;
  background:linear-gradient(
    90deg,
    var(--copan-red) 0 25%,
    var(--copan-yellow) 25% 50%,
    var(--copan-orange) 50% 75%,
    var(--copan-blue) 75% 100%
  );
}

.copan-card-soft{
  border:1px solid var(--copan-border);
  border-radius:20px;
  padding:26px;
  overflow:hidden;
}

.copan-card-soft::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:0;
  height:4px;
  border-radius:4px 4px 0 0;
  background:linear-gradient(
    90deg,
    var(--copan-red) 0 25%,
    var(--copan-yellow) 25% 50%,
    var(--copan-orange) 50% 75%,
    var(--copan-blue) 75% 100%
  );
}

.copan-stat{
  position:relative;
  text-align:center;
  padding:35px 28px;
}

.copan-stat:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;
  top:15%;
  width:1px;
  height:70%;
  background:#DDE3EA;
}

.copan-stat .number,
.copan-stat-number{
  color:#1768C5;
  font-size:clamp(38px,4vw,58px);
  font-weight:700;
  line-height:1;
}

.copan-stat .icon,
.copan-stat-icon{
  color:var(--copan-green);
  font-size:34px;
  margin-bottom:22px;
}

.copan-stat .label,
.copan-stat-label{
  color:var(--copan-text);
  font-weight:600;
}

.copan-stat .subtext,
.copan-stat-subtext{
  color:var(--copan-muted);
  margin-top:8px;
}

.copan-eyebrow{
  color:var(--copan-green);
  text-transform:uppercase;
  font-size:14px;
  font-weight:700;
  letter-spacing:.04em;
  margin-bottom:10px;
}

.copan-section-title{
  color:var(--copan-deep-blue);
  font-size:clamp(32px,4vw,52px);
  font-weight:700;
  line-height:1.1;
}

.copan-section-title::after{
  content:"";
  display:block;
  width:92px;
  height:5px;
  margin-top:18px;
  border-radius:10px;
  background:linear-gradient(
    90deg,
    var(--copan-red) 0 25%,
    var(--copan-yellow) 25% 50%,
    var(--copan-orange) 50% 75%,
    var(--copan-blue) 75% 100%
  );
}

.copan-section-title.is-centered::after,
.elementor-widget-heading.copan-section-title .elementor-heading-title + *{
  margin-left:auto;
  margin-right:auto;
}

.copan-accent-line{
  width:100%;
  height:5px;
  border-radius:99px;
  background:linear-gradient(
    90deg,
    var(--copan-red) 0 25%,
    var(--copan-yellow) 25% 50%,
    var(--copan-orange) 50% 75%,
    var(--copan-blue) 75% 100%
  );
}

.proyecto-en-ejecucion{
  border-radius:24px;
  box-shadow:0 20px 45px rgba(15,31,66,.09);
  overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease;
}

.proyecto-en-ejecucion:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 52px rgba(15,31,66,.13);
}

.proyecto-ejecutado{
  border:1px solid var(--copan-border);
  border-radius:18px;
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;
}

.proyecto-ejecutado:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(21,32,58,.08);
}

.copan-icon-green{color:var(--copan-green)!important;fill:var(--copan-green)!important}
.copan-icon-blue{color:var(--copan-blue)!important;fill:var(--copan-blue)!important}
.copan-text-navy{color:var(--copan-navy)!important}
.copan-text-blue{color:var(--copan-deep-blue)!important}
.copan-bg-soft{background:var(--copan-bg)!important}

@media(max-width:767px){
  .copan-card{padding:22px;border-radius:18px}
  .copan-card-soft{padding:20px;border-radius:16px}
  .copan-stat{padding:24px 18px}
  .copan-stat:not(:last-child)::after{display:none}
  .copan-section-title{font-size:clamp(26px,8vw,36px)}
}

/* =========================================================
   GENERAL PROJECTS MAP
   Shortcode: [mapa_proyectos_general]
   Reuses the Guatemala SVG already present on the page.
   ========================================================= */

.ccm-projects-overview-map path[id^="GT-"]{
  fill:#E7EAF0 !important;
  stroke:#FFFFFF !important;
  stroke-width:1.6 !important;
  transition:fill .22s ease,filter .22s ease,transform .22s ease;
  transform-box:fill-box;
  transform-origin:center;
}

.ccm-projects-overview-map path.ccm-projects-map-active{
  fill:var(--copan-blue,#5F9FCC) !important;
  cursor:pointer;
}

.ccm-projects-overview-map path.ccm-projects-map-active:hover,
.ccm-projects-overview-map path.ccm-projects-map-active:focus{
  fill:var(--copan-orange,#F0643B) !important;
  filter:drop-shadow(0 4px 8px rgba(11,7,90,.22));
  outline:none;
}

.ccm-projects-overview-map path.ccm-projects-map-empty{
  opacity:.68;
}

.ccm-projects-map-tooltip{
  position:fixed;
  z-index:99999;
  width:min(430px,calc(100vw - 36px));
  max-height:min(540px,calc(100vh - 36px));
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(11,7,90,.06);
  border-radius:20px;
  box-shadow:0 18px 48px rgba(21,32,58,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}

.ccm-projects-map-tooltip.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

.ccm-projects-map-tooltip-stripe{
  height:5px;
  background:linear-gradient(90deg,#F23E55 0 25%,#F7BC22 25% 50%,#F0643B 50% 75%,#5F9FCC 75% 100%);
}

.ccm-projects-map-tooltip-inner{
  max-height:calc(min(540px,100vh - 36px) - 5px);
  overflow:auto;
  padding:22px;
  overscroll-behavior:contain;
}

.ccm-projects-map-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:1px solid rgba(11,7,90,.07);
}

.ccm-projects-map-head h3{
  margin:0 0 4px;
  color:var(--copan-navy,#0B075A);
  font-size:22px;
  line-height:1.2;
}

.ccm-projects-map-count{
  color:var(--copan-muted,#717B8C);
  font-size:13px;
  font-weight:600;
}

.ccm-projects-map-projects{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.ccm-projects-map-project{
  position:relative;
  padding:15px 16px;
  background:#fff;
  border:1px solid rgba(11,7,90,.055);
  border-radius:14px;
  box-shadow:0 7px 18px rgba(21,32,58,.065);
}

.ccm-projects-map-project h4{
  margin:0 0 8px;
  padding-right:6px;
  color:var(--copan-navy,#0B075A);
  font-size:15px;
  line-height:1.35;
}

.ccm-projects-map-project h4 a{
  color:inherit;
  text-decoration:none;
}

.ccm-projects-map-project h4 a:hover{
  text-decoration:underline;
}

.ccm-projects-map-project p{
  margin:5px 0 0;
  color:var(--copan-muted,#717B8C);
  font-size:12px;
  line-height:1.5;
}

.ccm-projects-map-project p strong{
  color:var(--copan-deep-blue,#173C73);
  font-weight:700;
}

.ccm-projects-map-status{
  display:inline-block;
  margin:0 0 5px;
  padding:4px 8px;
  border-radius:99px;
  background:#F5F6F8;
  color:var(--copan-deep-blue,#173C73);
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.ccm-projects-map-project-link{
  display:inline-block;
  margin-top:9px;
  color:var(--copan-deep-blue,#173C73);
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}

.ccm-projects-map-project-link:hover{
  text-decoration:underline;
}

.ccm-projects-map-all{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:16px;
  padding:11px 16px;
  border-radius:12px;
  background:var(--copan-navy,#0B075A);
  color:#fff !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}

@media(max-width:767px){
  .ccm-projects-map-tooltip{
    left:18px !important;
    right:18px;
    bottom:18px;
    top:auto !important;
    width:auto;
    max-height:65vh;
  }
  .ccm-projects-map-tooltip-inner{
    max-height:calc(65vh - 5px);
    padding:18px;
  }
  .ccm-projects-map-head h3{font-size:20px}
}

/* =========================================================
   PROJECTS OVERVIEW MAP - LEFT PANEL (v2.0.18)
   ========================================================= */
.ccm-projects-map-panel{
  width:100%;
  min-height:620px;
  background:#f7f7f7;
  border-radius:32px;
  overflow:hidden;
  box-shadow:0 12px 34px rgba(18,23,38,.07);
}
.ccm-projects-map-panel-inner{
  height:100%;
  min-height:620px;
  padding:46px 42px;
  display:flex;
  flex-direction:column;
}
.ccm-projects-map-kicker,
.ccm-map-dept-badge{
  display:inline-flex;
  align-self:flex-start;
  width:max-content;
  padding:8px 14px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:700;
}
.ccm-projects-map-panel-inner > h3{
  margin:20px 0 8px;
  color:var(--copan-navy,#0B075A);
  font-size:28px;
  line-height:1.15;
}
.ccm-projects-map-intro{
  margin:0 0 26px;
  color:var(--copan-muted,#717B8C);
  font-size:15px;
  line-height:1.6;
}
.ccm-projects-map-panel-content{
  min-height:0;
  flex:1;
  display:flex;
  flex-direction:column;
}
.ccm-map-dept-head{margin-bottom:18px}
.ccm-map-dept-head h3{
  margin:20px 0 5px;
  color:var(--copan-navy,#0B075A);
  font-size:28px;
  line-height:1.15;
}
.ccm-map-dept-head p{
  margin:0;
  color:var(--copan-muted,#717B8C);
  font-size:14px;
}
.ccm-map-dept-projects{
  display:flex;
  flex-direction:column;
  gap:12px;
  overflow:auto;
  padding:2px 8px 8px 2px;
  max-height:360px;
  overscroll-behavior:contain;
}
.ccm-map-dept-project{
  display:block;
  padding:15px 16px;
  background:#fff;
  border:1px solid rgba(11,7,90,.04);
  border-radius:15px;
  box-shadow:0 7px 18px rgba(21,32,58,.065);
  text-decoration:none !important;
  transition:transform .2s ease,box-shadow .2s ease;
}
.ccm-map-dept-project:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(21,32,58,.10);
}
.ccm-map-dept-project-title{
  display:block;
  color:var(--copan-navy,#0B075A);
  font-size:14px;
  line-height:1.35;
  font-weight:700;
}
.ccm-map-dept-project-meta,
.ccm-map-dept-project-detail{
  display:block;
  margin-top:5px;
  color:var(--copan-muted,#717B8C);
  font-size:11px;
  line-height:1.45;
}
.ccm-map-dept-project-detail b{color:var(--copan-deep-blue,#173C73)}
.ccm-map-dept-all{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  margin-top:20px;
  padding:12px 18px;
  border-radius:12px;
  background:var(--copan-navy,#0B075A);
  color:#fff !important;
  font-size:13px;
  font-weight:700;
  text-decoration:none !important;
}
.ccm-projects-overview-map path.ccm-projects-map-active{
  fill:var(--copan-blue,#5F9FCC) !important;
  cursor:pointer;
  transition:fill .18s ease,filter .18s ease,opacity .18s ease;
}
.ccm-projects-overview-map path.ccm-projects-map-current,
.ccm-projects-overview-map path.ccm-projects-map-active:hover,
.ccm-projects-overview-map path.ccm-projects-map-active:focus{
  fill:var(--copan-orange,#F0643B) !important;
  filter:drop-shadow(0 4px 8px rgba(11,7,90,.20));
  outline:none;
}
.ccm-projects-overview-map path.ccm-projects-map-empty{
  fill:#eceef1 !important;
  opacity:1 !important;
}
@media(max-width:1024px){
  .ccm-projects-map-panel{min-height:540px}
  .ccm-projects-map-panel-inner{min-height:540px;padding:34px 28px}
  .ccm-map-dept-projects{max-height:300px}
}
@media(max-width:767px){
  .ccm-projects-map-panel{min-height:auto;border-radius:24px}
  .ccm-projects-map-panel-inner{min-height:auto;padding:26px 20px}
  .ccm-projects-map-panel-inner > h3,.ccm-map-dept-head h3{font-size:23px}
  .ccm-map-dept-projects{max-height:320px}
}


/* Facebook Reel / video embeds for imported Noticias */
.ccm-facebook-video{
    width:100%;
    max-width:720px;
    margin:28px auto;
}
.ccm-facebook-video iframe{
    display:block;
    width:100% !important;
    max-width:100%;
    aspect-ratio:16 / 9;
    height:auto !important;
}
.ccm-facebook-video__fallback{
    margin:10px 0 0;
    text-align:center;
    font-size:13px;
}
@media (max-width:767px){
    .ccm-facebook-video{margin:22px auto;}
}

/* =========================================================
   PROJECT MAP v2.0.32 — visibility refresh only.
   Interaction logic remains the proven v2.0.29 implementation.
   ========================================================= */
#mapa-guatemala-proyecto.ccm-projects-overview-map path[id^="GT-"]{
  fill:#c7cdd3 !important;
  stroke:#ffffff !important;
  stroke-width:1.25 !important;
  vector-effect:non-scaling-stroke;
}
#mapa-guatemala-proyecto.ccm-projects-overview-map path.ccm-projects-map-empty{
  fill:#c7cdd3 !important;
  stroke:#ffffff !important;
  opacity:1 !important;
}
#mapa-guatemala-proyecto.ccm-projects-overview-map path.ccm-projects-map-active{
  fill:var(--copan-blue,#5F9FCC) !important;
  stroke:#ffffff !important;
  stroke-width:1.35 !important;
}
#mapa-guatemala-proyecto.ccm-projects-overview-map path.ccm-projects-map-current,
#mapa-guatemala-proyecto.ccm-projects-overview-map path.ccm-projects-map-active:hover,
#mapa-guatemala-proyecto.ccm-projects-overview-map path.ccm-projects-map-active:focus{
  fill:var(--copan-orange,#F0643B) !important;
}
#mapa-guatemala-proyecto .ccm-map-municipalities{pointer-events:none}
#mapa-guatemala-proyecto .ccm-municipality{
  fill:none !important;
  stroke:rgba(255,255,255,.92) !important;
  stroke-width:.72 !important;
  vector-effect:non-scaling-stroke;
  pointer-events:none;
}

/* =========================================================
   PROJECT MAP v2.0.33 — stronger cartographic boundaries.
   ========================================================= */
#mapa-guatemala-proyecto.ccm-projects-overview-map path[id^="GT-"]{
  fill:#b8bec5 !important;
  stroke:#20252b !important;
  stroke-width:1.05 !important;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
#mapa-guatemala-proyecto.ccm-projects-overview-map path.ccm-projects-map-empty{
  fill:#b8bec5 !important;
  stroke:#20252b !important;
}
#mapa-guatemala-proyecto.ccm-projects-overview-map path.ccm-projects-map-active{
  fill:var(--copan-blue,#5F9FCC) !important;
  stroke:#20252b !important;
  stroke-width:1.05 !important;
}
#mapa-guatemala-proyecto.ccm-projects-overview-map path.ccm-projects-map-current,
#mapa-guatemala-proyecto.ccm-projects-overview-map path.ccm-projects-map-active:hover,
#mapa-guatemala-proyecto.ccm-projects-overview-map path.ccm-projects-map-active:focus{
  fill:var(--copan-orange,#F0643B) !important;
  stroke:#20252b !important;
}
#mapa-guatemala-proyecto .ccm-map-municipalities{pointer-events:none}
#mapa-guatemala-proyecto .ccm-municipality{
  fill:none !important;
  stroke:#20252b !important;
  stroke-width:.62 !important;
  stroke-linejoin:round;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  pointer-events:none;
}


/* =========================================================
   PROJECT MAP v2.0.34 — self-contained municipality overlay.
   Municipality paths are embedded directly in the Elementor SVG.
   ========================================================= */
#mapa-guatemala-proyecto #ccm-municipality-lines{
  pointer-events:none;
}
#mapa-guatemala-proyecto #ccm-municipality-lines .ccm-municipality{
  fill:none !important;
  stroke:#20252b !important;
  stroke-width:.36 !important;
  stroke-opacity:.78 !important;
  stroke-linejoin:round;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  pointer-events:none !important;
}


/* =========================================================
   PROJECT MAP v2.0.35 — subdivision map owns visible borders.
   The original GT paths stay as fill + hit targets only.
   Municipality boundaries are revealed per department on hover/focus.
   ========================================================= */
#mapa-guatemala-proyecto.ccm-projects-overview-map path[id^="GT-"]{
  stroke:transparent !important;
  stroke-width:0 !important;
}
#mapa-guatemala-proyecto #ccm-source-department-boundaries{pointer-events:none}
#mapa-guatemala-proyecto #ccm-source-department-boundaries .ccm-source-department-boundary{
  fill:none !important;
  stroke:#20252b !important;
  stroke-width:.48 !important;
  stroke-opacity:.92 !important;
  stroke-linejoin:round;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  pointer-events:none !important;
}
#mapa-guatemala-proyecto #ccm-municipality-lines{
  pointer-events:none;
  opacity:0;
  transition:opacity .14s ease;
}
#mapa-guatemala-proyecto #ccm-municipality-lines.is-visible{opacity:1}
#mapa-guatemala-proyecto #ccm-municipality-lines .ccm-municipality{
  fill:none !important;
  stroke:#20252b !important;
  stroke-width:.30 !important;
  stroke-opacity:.78 !important;
  stroke-linejoin:round;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  pointer-events:none !important;
}

/* =========================================================
   PROJECT MAP v2.0.37 — Wikipedia subdivision SVG is the sole geometry.
   CSS-only municipality reveal prevents pointer-leave flashes.
   ========================================================= */
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group{
  outline:none;
  cursor:default;
}
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group .ccm-municipality{
  fill:#c2c7ce !important;
  stroke:transparent !important;
  stroke-width:0 !important;
  stroke-opacity:0 !important;
  vector-effect:non-scaling-stroke;
  transition:fill .14s ease;
}
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-active .ccm-municipality{
  fill:#5f9fcc !important;
  cursor:pointer;
}
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-current .ccm-municipality,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-active:hover .ccm-municipality,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-active:focus .ccm-municipality{
  fill:#f0643b !important;
}
/* Municipality boundaries are invisible unless that exact department is hovered/focused. */
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group:hover .ccm-municipality,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group:focus .ccm-municipality,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group:focus-within .ccm-municipality{
  stroke:#24292f !important;
  stroke-width:.24 !important;
  stroke-opacity:.82 !important;
}
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map #ccm-wiki-department-boundaries,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map #ccm-wiki-national-border{
  pointer-events:none !important;
}
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map #ccm-wiki-department-boundaries path{
  fill:none !important;
  stroke:#24292f !important;
  stroke-width:.48 !important;
  stroke-opacity:.95 !important;
  stroke-linejoin:round;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
}
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map #ccm-wiki-national-border path{
  fill:none !important;
  stroke:#24292f !important;
  stroke-width:.58 !important;
  stroke-opacity:.95 !important;
  vector-effect:non-scaling-stroke;
}


/* =========================================================
   PROJECT MAP v2.0.38 — self-contained Elementor layout
   ========================================================= */
.ccm-projects-map-section{
  display:grid;
  grid-template-columns:minmax(0,46%) minmax(0,54%);
  gap:44px;
  align-items:start;
  width:100%;
}
.ccm-projects-map-section__panel,
.ccm-projects-map-section__map{min-width:0;width:100%;position:relative}
.ccm-projects-map-section__map .mapa-proyecto-wrapper{width:100%;position:relative;z-index:1}
.ccm-projects-map-section__map #mapa-guatemala-proyecto{display:block;width:100%;height:auto;max-width:650px;margin:0 auto;overflow:visible}

/* Critical map state, duplicated here intentionally so old path-based rules cannot win. */
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group .ccm-municipality{
  fill:#c2c7ce !important;
  stroke:transparent !important;
  stroke-width:0 !important;
  stroke-opacity:0 !important;
  pointer-events:visiblePainted;
}
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-active .ccm-municipality{fill:var(--ccm-map-light,#dceaf7) !important}
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-current .ccm-municipality,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-active:hover .ccm-municipality,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-active:focus .ccm-municipality{fill:var(--ccm-map-light,#dceaf7) !important}
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group:hover .ccm-municipality,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group:focus .ccm-municipality,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group:focus-within .ccm-municipality{
  stroke:#24292f !important;
  stroke-width:.24 !important;
  stroke-opacity:.82 !important;
}
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group .ccm-municipality.ccm-municipality-mentioned,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group .ccm-municipality[data-ccm-municipality-active="1"]{
  fill:var(--ccm-map-strong,#ffc130) !important;
  stroke:var(--ccm-map-stroke,#4f565a) !important;
  stroke-width:.72 !important;
  stroke-opacity:1 !important;
}
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map #ccm-wiki-department-boundaries path{fill:none!important;stroke:#24292f!important;stroke-width:.48!important;stroke-opacity:.95!important;pointer-events:none!important}
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map #ccm-wiki-national-border path{fill:none!important;stroke:#24292f!important;stroke-width:.58!important;stroke-opacity:.95!important;pointer-events:none!important}
@media(max-width:1024px){.ccm-projects-map-section{grid-template-columns:minmax(0,47%) minmax(0,53%);gap:28px}}
@media(max-width:767px){
 .ccm-projects-map-section{display:flex;flex-direction:column;gap:24px}
 .ccm-projects-map-section__map{order:1}
 .ccm-projects-map-section__panel{order:2}
}

/* =========================================================
   PROJECT MAP v2.0.39 — lock desktop/tablet panel height
   Prevents the section from jumping when departments have
   different amounts of project content.
   ========================================================= */
@media (min-width:1025px){
  .ccm-projects-map-section__panel .ccm-projects-map-panel{
    height:620px;
    min-height:620px;
  }
  .ccm-projects-map-section__panel .ccm-projects-map-panel-inner{
    height:100%;
    min-height:0;
    box-sizing:border-box;
  }
  .ccm-projects-map-section__panel .ccm-projects-map-panel-content{
    min-height:0;
    flex:1 1 auto;
    overflow:hidden;
  }
  .ccm-projects-map-section__panel .ccm-map-dept-projects{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-y:auto;
  }
  .ccm-projects-map-section__panel .ccm-map-dept-all{
    flex:0 0 auto;
  }
}
@media (min-width:768px) and (max-width:1024px){
  .ccm-projects-map-section__panel .ccm-projects-map-panel{
    height:540px;
    min-height:540px;
  }
  .ccm-projects-map-section__panel .ccm-projects-map-panel-inner{
    height:100%;
    min-height:0;
    box-sizing:border-box;
  }
  .ccm-projects-map-section__panel .ccm-projects-map-panel-content{
    min-height:0;
    flex:1 1 auto;
    overflow:hidden;
  }
  .ccm-projects-map-section__panel .ccm-map-dept-projects{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-y:auto;
  }
}

/* Biblioteca Digital v2.0.42 */
.ccm-library{--ccm-blue:#0b356c;--ccm-green:#65bc3d;--ccm-text:#667386;--ccm-line:#e5ebf1;font-family:inherit;padding:30px 0 70px}.ccm-library-head{text-align:center;max-width:820px;margin:0 auto 42px}.ccm-library-kicker{display:block;color:var(--ccm-green);font-size:13px;font-weight:800;letter-spacing:.06em;margin-bottom:12px}.ccm-library-head h2{color:var(--ccm-blue);font-size:42px;line-height:1.05;margin:0 0 15px}.ccm-library-head p{color:var(--ccm-text);font-size:15px;line-height:1.7;margin:0}.ccm-library-tools{display:grid;grid-template-columns:minmax(260px,1fr) 220px 170px;gap:12px;max-width:1100px;margin:0 auto 30px}.ccm-library-tools input,.ccm-library-tools select{width:100%;height:50px;border:1px solid var(--ccm-line);border-radius:8px;background:#fff;padding:0 15px;color:#344054;font:inherit;outline:none}.ccm-library-tools input:focus,.ccm-library-tools select:focus{border-color:var(--ccm-green);box-shadow:0 0 0 3px rgba(101,188,61,.12)}.ccm-library-search{position:relative}.ccm-library-search input{padding-left:44px}.ccm-library-search .dashicons{position:absolute;left:15px;top:15px;color:var(--ccm-blue);z-index:2}.ccm-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1100px;margin:auto}.ccm-doc-card{background:#fff;border:1px solid #edf1f5;border-radius:12px;overflow:hidden;box-shadow:0 12px 34px rgba(11,53,108,.08);transition:transform .25s ease,box-shadow .25s ease}.ccm-doc-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(11,53,108,.13)}.ccm-doc-card[hidden]{display:none!important}.ccm-doc-cover{width:100%;aspect-ratio:17/22;height:auto;background:#f3f6f8;position:relative;overflow:hidden}.ccm-doc-cover img{display:block;width:100%;height:100%;object-fit:contain;object-position:center top;background:#fff}.ccm-doc-cover-pdf{background:#eef2f5}.ccm-doc-placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(145deg,#0b356c,#1264a9);color:#fff;position:relative}.ccm-doc-placeholder:before{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-55px;top:-50px}.ccm-doc-placeholder span{font-size:46px;font-weight:800;letter-spacing:-.04em}.ccm-doc-placeholder i{width:38px;height:3px;background:var(--ccm-green);margin:12px 0}.ccm-doc-placeholder b{font-size:13px;letter-spacing:.06em}.ccm-doc-year{position:absolute;right:14px;top:14px;background:var(--ccm-green);color:#fff;padding:6px 10px;border-radius:20px;font-size:11px;font-weight:800}.ccm-doc-body{padding:24px}.ccm-doc-cat{color:var(--ccm-green);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.ccm-doc-body h3{font-size:20px;line-height:1.25;color:var(--ccm-blue);margin:9px 0 10px}.ccm-doc-body p{color:var(--ccm-text);font-size:13px;line-height:1.6;margin:0 0 12px}.ccm-doc-body small{display:block;color:#8b96a7;margin-bottom:15px}.ccm-doc-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--ccm-line);padding-top:16px;margin-top:16px}.ccm-doc-view{appearance:none;border:0;background:none;padding:0;color:var(--ccm-blue);font-weight:800;cursor:pointer;font:inherit}.ccm-doc-view span{color:var(--ccm-green);margin-left:5px}.ccm-doc-actions a{color:#788596;font-size:12px;text-decoration:none}.ccm-doc-unavailable{color:#9aa4b2;font-size:12px}.ccm-library-empty{display:none;text-align:center;padding:50px;color:var(--ccm-text)}body.ccm-modal-open{overflow:hidden}.ccm-pdf-modal{position:fixed;inset:0;z-index:999999;display:none}.ccm-pdf-modal.is-open{display:block}.ccm-pdf-backdrop{position:absolute;inset:0;background:rgba(4,20,40,.82);backdrop-filter:blur(4px)}.ccm-pdf-dialog{position:absolute;inset:4vh 4vw;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.3)}.ccm-pdf-bar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 22px;background:var(--ccm-blue);color:#fff}.ccm-pdf-bar>div{display:flex;align-items:center;gap:18px}.ccm-pdf-bar a{color:#fff;text-decoration:none;font-size:13px}.ccm-pdf-bar button{border:0;background:none;color:#fff;font-size:30px;cursor:pointer;line-height:1}.ccm-pdf-dialog iframe{width:100%;height:calc(100% - 58px);border:0;background:#e9edf2}@media(max-width:900px){.ccm-library-grid{grid-template-columns:repeat(2,1fr)}.ccm-library-tools{grid-template-columns:1fr 1fr}.ccm-library-search{grid-column:1/-1}.ccm-library-head h2{font-size:34px}}@media(max-width:600px){.ccm-library{padding:15px 0 50px}.ccm-library-head h2{font-size:28px}.ccm-library-tools,.ccm-library-grid{grid-template-columns:1fr}.ccm-library-search{grid-column:auto}.ccm-doc-cover{height:auto}.ccm-pdf-dialog{inset:2vh 10px}.ccm-pdf-bar strong{font-size:12px}.ccm-pdf-bar a{display:none}}


/* PROJECT MAP v2.0.48 — four Copanch'orti color families.
   Each active department receives its own light brand tint through CSS variables.
   Municipalities mentioned in project data use the stronger version of that same color. */
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-active .ccm-municipality,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-current .ccm-municipality,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-active:hover .ccm-municipality,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-active:focus .ccm-municipality{
  fill:var(--ccm-map-light,#e2edf7) !important;
}
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-current .ccm-municipality.ccm-municipality-mentioned,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-active:hover .ccm-municipality.ccm-municipality-mentioned,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-department-group.ccm-projects-map-active:focus .ccm-municipality.ccm-municipality-mentioned,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-municipality.ccm-municipality-mentioned,
#mapa-guatemala-proyecto.ccm-wiki-subdivision-map .ccm-municipality[data-ccm-municipality-active="1"]{
  fill:var(--ccm-map-strong,#679ccd) !important;
  stroke:var(--ccm-map-stroke,#4f565a) !important;
  stroke-width:.52 !important;
  stroke-opacity:1 !important;
  opacity:1 !important;
  filter:drop-shadow(0 0 1.2px rgba(79,86,90,.24)) !important;
}

/* Biblioteca Digital v2.0.50 — browser-rendered first-page PDF thumbnails. */
.ccm-doc-pdf-client-thumb{position:absolute;inset:0;background:#f3f6f8;overflow:hidden}
.ccm-doc-pdf-client-thumb canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block;opacity:0;transition:opacity .22s ease;background:#fff}
.ccm-doc-pdf-client-thumb .ccm-doc-placeholder{position:absolute;inset:0;transition:opacity .22s ease}
.ccm-doc-pdf-client-thumb.is-rendered canvas{opacity:1}
.ccm-doc-pdf-client-thumb.is-rendered .ccm-doc-placeholder{opacity:0;visibility:hidden}


/* Biblioteca Digital v2.0.53 — equal-height cards + full-width action footer. */
.ccm-library .ccm-doc-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.ccm-library .ccm-doc-body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  padding:24px 24px 0;
}
.ccm-library .ccm-doc-body small{
  margin-bottom:22px;
}
.ccm-library .ccm-doc-actions{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  width:calc(100% + 48px);
  margin:auto -24px 0;
  padding:0;
  border:0;
  overflow:hidden;
  background:linear-gradient(135deg,#0b356c 0%,#124f90 100%);
  box-shadow:0 -8px 24px rgba(11,53,108,.08);
}
.ccm-library .ccm-doc-actions::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.10) 45%,transparent 65%);
  transform:translateX(-120%);
  transition:transform .65s ease;
  pointer-events:none;
}
.ccm-library .ccm-doc-card:hover .ccm-doc-actions::before{
  transform:translateX(120%);
}
.ccm-library .ccm-doc-view{
  appearance:none;
  -webkit-appearance:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-width:0;
  min-height:66px;
  width:100%;
  margin:0!important;
  padding:0 22px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font:inherit;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
  text-align:left;
  text-transform:none;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease;
}
.ccm-library .ccm-doc-view:hover,
.ccm-library .ccm-doc-view:focus-visible{
  background:rgba(255,255,255,.09)!important;
  color:#fff!important;
}
.ccm-library .ccm-doc-view span{
  display:inline-grid;
  place-items:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  margin:0;
  border-radius:50%;
  background:#65bc3d;
  color:#fff!important;
  font-size:17px;
  line-height:1;
  transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease;
}
.ccm-library .ccm-doc-view:hover span,
.ccm-library .ccm-doc-view:focus-visible span{
  transform:translateX(4px);
  background:#73ca4d;
  box-shadow:0 5px 14px rgba(101,188,61,.32);
}
.ccm-library .ccm-doc-actions>a{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:66px;
  min-width:118px;
  margin:0;
  padding:0 20px;
  border-left:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.88)!important;
  font-size:12px;
  font-weight:700;
  line-height:1;
  text-decoration:none!important;
  text-transform:none;
  transition:background-color .25s ease,color .25s ease,padding .25s ease;
}
.ccm-library .ccm-doc-actions>a::after{
  content:"↓";
  margin-left:7px;
  font-size:14px;
  line-height:1;
  transition:transform .25s ease;
}
.ccm-library .ccm-doc-actions>a:hover,
.ccm-library .ccm-doc-actions>a:focus-visible{
  background:#65bc3d;
  color:#fff!important;
}
.ccm-library .ccm-doc-actions>a:hover::after,
.ccm-library .ccm-doc-actions>a:focus-visible::after{
  transform:translateY(3px);
}
.ccm-library .ccm-doc-view:focus-visible,
.ccm-library .ccm-doc-actions>a:focus-visible{
  outline:2px solid #fff;
  outline-offset:-4px;
}
@media(max-width:600px){
  .ccm-library .ccm-doc-actions{grid-template-columns:minmax(0,1fr) auto}
  .ccm-library .ccm-doc-view{min-height:62px;padding:0 18px!important;font-size:13px}
  .ccm-library .ccm-doc-actions>a{min-height:62px;min-width:108px;padding:0 15px}
}

/* =========================================================
   DEMOGRAFÍA — source pictograms (v2.0.55)
   Uses the exact icon artwork supplied for hombre, mujer,
   maíz, café and cardamomo, recolored with Manco colors.
   ========================================================= */
.manco-demografia .manco-person-icon.ccm-demo-icon-source,
.manco-demografia .manco-crop-icon.ccm-demo-icon-source{
  position:relative;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  overflow:visible!important;
  font-size:0!important;
}
.manco-demografia .manco-person-icon.ccm-demo-icon-source{
  width:66px!important;
  height:94px!important;
  margin-bottom:12px!important;
}
.manco-demografia .manco-crop-icon.ccm-demo-icon-source{
  width:76px!important;
  height:76px!important;
  margin-bottom:14px!important;
}
.manco-demografia .ccm-demo-icon-source::before{
  content:"";
  display:block;
  width:100%;
  height:100%;
  background:currentColor;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}
.manco-demografia .ccm-demo-icon-woman{color:#F24464!important;}
.manco-demografia .ccm-demo-icon-man{color:#0B356C!important;}
.manco-demografia .ccm-demo-icon-corn{color:#FDBD22!important;}
.manco-demografia .ccm-demo-icon-coffee{color:#F35B38!important;}
.manco-demografia .ccm-demo-icon-cardamom{color:#65BC3D!important;}

.manco-demografia .ccm-demo-icon-woman::before{
  -webkit-mask-image:url('demografia-icons/woman.svg');
  mask-image:url('demografia-icons/woman.svg');
}
.manco-demografia .ccm-demo-icon-man::before{
  -webkit-mask-image:url('demografia-icons/man.svg');
  mask-image:url('demografia-icons/man.svg');
}
.manco-demografia .ccm-demo-icon-corn::before{
  -webkit-mask-image:url('demografia-icons/corn.svg');
  mask-image:url('demografia-icons/corn.svg');
}
.manco-demografia .ccm-demo-icon-coffee::before{
  -webkit-mask-image:url('demografia-icons/coffee.svg');
  mask-image:url('demografia-icons/coffee.svg');
}
.manco-demografia .ccm-demo-icon-cardamom::before{
  -webkit-mask-image:url('demografia-icons/cardamom.svg');
  mask-image:url('demografia-icons/cardamom.svg');
}

.manco-demografia .manco-demo-stat:hover .manco-person-icon.ccm-demo-icon-source,
.manco-demografia .manco-crop:hover .manco-crop-icon.ccm-demo-icon-source{
  transform:translateY(-4px) scale(1.045)!important;
  filter:drop-shadow(0 10px 13px rgba(11,53,108,.14));
}

@media(max-width:767px){
  .manco-demografia .manco-person-icon.ccm-demo-icon-source{
    width:54px!important;
    height:78px!important;
  }
  .manco-demografia .manco-crop-icon.ccm-demo-icon-source{
    width:58px!important;
    height:58px!important;
  }
}
