/* ==========================================================================
   THE CHILDREN'S SOCIETY (TCS) DESIGN SYSTEM & MICROINTERACTIONS
   Fundación Munasim Kullakita - Frontend & Motion UI Engine
   ========================================================================== */

/* --- 1. CORE TOKENS & RESET --- */
:root {
  --tcs-purple: #D97706;
  --tcs-purple-hover: #B45309;
  --tcs-purple-light: #FEF3C7;
  --tcs-purple-border: #FDE68A;
  --tcs-amber: #F59E0B;
  --tcs-amber-hover: #D97706;
  --tcs-amber-light: #FEF3C7;
  --tcs-slate-dark: #0F172A;
  --tcs-slate-body: #475569;
  --tcs-slate-muted: #64748B;
  --tcs-slate-light: #F8FAFC;
  --tcs-border-subtle: rgba(226, 232, 240, 0.85);
  --tcs-radius-pill: 9999px;
  --tcs-radius-card: 18px;
  --tcs-radius-hero: 24px;
  --tcs-ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Keyframe Animations */
@keyframes tcsFloat {

  0%,
  100% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-7px);
  }
}

@keyframes tcsSoftPulse {

  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.02);
  }
}

/* --- 2. GLOBAL COMPONENTS & CARDS --- */

/* Transición suave de elevación en tarjetas */
.tcs-card {
  background: #ffffff;
  border-radius: var(--tcs-radius-card);
  overflow: hidden;
  border: 1px solid var(--tcs-border-subtle);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
  transition: transform 0.35s var(--tcs-ease-spring), box-shadow 0.35s var(--tcs-ease-spring), border-color 0.35s ease;
  display: flex;
  flex-direction: column;
}

.tcs-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 30px -10px rgba(217, 119, 6, 0.12);
  border-color: var(--tcs-purple-border);
}

/* Zoom suave de imagen dentro del contenedor de la tarjeta */
.tcs-card .tcs-img-container {
  overflow: hidden;
  position: relative;
  aspect-ratio: 16 / 10;
  background: #E2E8F0;
}

.tcs-card .tcs-img-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s var(--tcs-ease-spring);
  display: block;
}

.tcs-card:hover .tcs-img-container img {
  transform: scale(1.06);
}

/* Microinteracción de flecha en enlaces */
.tcs-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: var(--tcs-purple);
  text-decoration: none;
  transition: color 0.2s ease;
}

.tcs-link-arrow svg,
.tcs-link-arrow span.arrow {
  display: inline-block;
  transition: transform 0.3s var(--tcs-ease-spring);
}

.tcs-card:hover .tcs-link-arrow svg,
.tcs-link-arrow:hover svg,
.tcs-card:hover .tcs-link-arrow span.arrow,
.tcs-link-arrow:hover span.arrow {
  transform: translateX(6px);
}

/* Botones estilo píldora The Children's Society */
.tcs-btn-primary {
  background: var(--tcs-amber);
  color: var(--tcs-slate-dark) !important;
  font-weight: 700;
  border-radius: var(--tcs-radius-pill);
  padding: 12px 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.25s var(--tcs-ease-spring);
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35);
  text-decoration: none !important;
  border: none;
  cursor: pointer;
  font-size: 15px;
  line-height: 1.2;
}

.tcs-btn-primary:hover {
  background: var(--tcs-amber-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(245, 158, 11, 0.45);
}

.tcs-btn-outline {
  background: transparent;
  color: var(--tcs-purple) !important;
  border: 2px solid var(--tcs-purple);
  font-weight: 700;
  border-radius: var(--tcs-radius-pill);
  padding: 10px 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.25s ease;
  text-decoration: none !important;
  cursor: pointer;
  font-size: 14.5px;
  line-height: 1.2;
}

.tcs-btn-outline:hover {
  background: var(--tcs-purple);
  color: #FFFFFF !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(217, 119, 6, 0.25);
}

/* Badges estilo TCS */
.tcs-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--tcs-purple-light);
  color: var(--tcs-purple);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: var(--tcs-radius-pill);
  border: 1px solid var(--tcs-purple-border);
  box-shadow: 0 2px 8px rgba(217, 119, 6, 0.08);
}

/* --- 3. HEADER INTERACTIVO & MENÚ (Plantilla ID 4265) --- */
.elementor-location-header,
div[data-elementor-id="4265"].elementor-4265 {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  background: rgba(255, 255, 255, 0.92) !important;
  -webkit-backdrop-filter: blur(12px) saturate(180%) !important;
  backdrop-filter: blur(12px) saturate(180%) !important;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05) !important;
  border-bottom: 1px solid #F1F5F9 !important;
  transition: all 0.3s var(--tcs-ease-spring) !important;
}

.elementor-4265 .elementor-element-6bd75d62 {
  height: 76px !important;
  min-height: 76px !important;
  max-height: 76px !important;
  padding: 0 24px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.elementor-4265 .elementor-element-6bd75d62>.elementor-container {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
}

/* Logo */
.elementor-4265 .elementor-element-399cd667 {
  width: auto !important;
  flex: 0 0 auto !important;
}

.elementor-4265 .elementor-element-3cd97b78 img {
  max-height: 48px !important;
  width: auto !important;
  object-fit: contain !important;
  transition: transform 0.2s ease !important;
}

.elementor-4265 .elementor-element-3cd97b78 img:hover {
  transform: scale(1.03) !important;
}

/* Nav Container */
.elementor-4265 .elementor-element-3846a97f {
  width: auto !important;
  flex: 1 1 auto !important;
  display: flex !important;
  justify-content: flex-end !important;
}

.elementor-4265 ul.elementor-nav-menu {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Los 4 enlaces principales con línea expansiva violeta #D97706 */
.elementor-4265 ul.elementor-nav-menu>li.menu-item:not(.btn-header-plataforma):not(.btn-header-donar) {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

.elementor-4265 ul.elementor-nav-menu>li.menu-item:not(.btn-header-plataforma):not(.btn-header-donar)>a.elementor-item {
  position: relative !important;
  padding: 8px 14px !important;
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--tcs-slate-dark) !important;
  text-transform: none !important;
  transition: color 0.25s ease !important;
  background: transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* Línea de acento que se expande de 0% a 100% de ancho en color púrpura #D97706 */
.elementor-4265 ul.elementor-nav-menu>li.menu-item:not(.btn-header-plataforma):not(.btn-header-donar)>a.elementor-item::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0px !important;
  left: 50% !important;
  width: 0% !important;
  height: 3px !important;
  background: var(--tcs-purple) !important;
  border-radius: 99px !important;
  transition: width 0.3s var(--tcs-ease-spring), left 0.3s var(--tcs-ease-spring) !important;
}

.elementor-4265 ul.elementor-nav-menu>li.menu-item:not(.btn-header-plataforma):not(.btn-header-donar):hover>a.elementor-item {
  color: var(--tcs-purple) !important;
}

.elementor-4265 ul.elementor-nav-menu>li.menu-item:not(.btn-header-plataforma):not(.btn-header-donar):hover>a.elementor-item::after {
  width: 100% !important;
  left: 0% !important;
}

/* Submenús */
.elementor-4265 .sub-menu.elementor-nav-menu--dropdown {
  background: #FFFFFF !important;
  border-radius: 14px !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.1) !important;
  padding: 10px 8px !important;
  min-width: 230px !important;
}

.elementor-4265 .sub-menu.elementor-nav-menu--dropdown li.menu-item {
  background: transparent !important;
  border: none !important;
  margin: 2px 0 !important;
}

.elementor-4265 .sub-menu.elementor-nav-menu--dropdown li.menu-item a {
  color: var(--tcs-slate-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  display: block !important;
  transition: all 0.2s ease !important;
  text-transform: none !important;
}

.elementor-4265 .sub-menu.elementor-nav-menu--dropdown li.menu-item a:hover {
  background: var(--tcs-purple-light) !important;
  color: var(--tcs-purple) !important;
  font-weight: 600 !important;
  padding-left: 18px !important;
}

/* Botón 1: Plataforma (.tcs-btn-outline) en el Header */
.elementor-4265 ul.elementor-nav-menu>li.btn-header-plataforma {
  margin-left: 10px !important;
}

.elementor-4265 ul.elementor-nav-menu>li.btn-header-plataforma>a {
  background: transparent !important;
  color: var(--tcs-purple) !important;
  border: 2px solid var(--tcs-purple) !important;
  border-radius: var(--tcs-radius-pill) !important;
  padding: 8px 20px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  text-transform: none !important;
  transition: all 0.25s ease !important;
  display: inline-flex !important;
  align-items: center !important;
}

.elementor-4265 ul.elementor-nav-menu>li.btn-header-plataforma>a:hover {
  background: var(--tcs-purple) !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(217, 119, 6, 0.25) !important;
}

/* Botón 2: Sumarse / Donar (.tcs-btn-primary) en el Header */
.elementor-4265 ul.elementor-nav-menu>li.btn-header-donar {
  margin-left: 6px !important;
}

.elementor-4265 ul.elementor-nav-menu>li.btn-header-donar>a {
  background: var(--tcs-amber) !important;
  color: var(--tcs-slate-dark) !important;
  border: 2px solid var(--tcs-amber) !important;
  border-radius: var(--tcs-radius-pill) !important;
  padding: 8px 22px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  text-transform: none !important;
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35) !important;
  transition: all 0.25s var(--tcs-ease-spring) !important;
  display: inline-flex !important;
  align-items: center !important;
}

.elementor-4265 ul.elementor-nav-menu>li.btn-header-donar>a:hover {
  background: var(--tcs-amber-hover) !important;
  border-color: var(--tcs-amber-hover) !important;
  color: var(--tcs-slate-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(245, 158, 11, 0.45) !important;
}

/* Mobile Toggle & Menu */
@media (max-width: 1024px) {
  .elementor-4265 ul#menu-2-7dd418f7 {
    padding: 16px 20px !important;
    background: #FFFFFF !important;
    border-radius: 16px !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12) !important;
    border: 1px solid #E2E8F0 !important;
  }

  .elementor-4265 ul#menu-2-7dd418f7>li.menu-item {
    width: 100% !important;
    margin: 4px 0 !important;
  }

  .elementor-4265 ul#menu-2-7dd418f7>li.btn-header-plataforma,
  .elementor-4265 ul#menu-2-7dd418f7>li.btn-header-donar {
    margin-top: 10px !important;
  }

  .elementor-4265 ul#menu-2-7dd418f7>li.btn-header-plataforma>a,
  .elementor-4265 ul#menu-2-7dd418f7>li.btn-header-donar>a {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* --- 4. MAQUETACIÓN DE LA HOME (/home-redisenada/) --- */
.tcs-home-page {
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--tcs-slate-dark);
  background: #FFFFFF;
  line-height: 1.6;
  overflow-x: hidden;
}

.tcs-home-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

/* --- SECCIÓN 1: HERO ASIMÉTRICO (SPLIT 55/45) --- */
.tcs-hero-section {
  padding: 70px 0 80px 0;
  position: relative;
  background: linear-gradient(180deg, #FFFFFF 0%, #FFFBEB 60%, #FFFFFF 100%);
  overflow: hidden;
}

.tcs-hero-grid {
  display: grid;
  grid-template-columns: 55fr 45fr;
  align-items: center;
  gap: 56px;
}

.tcs-hero-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.tcs-hero-content .tcs-badge-pill {
  margin-bottom: 22px;
}

.tcs-hero-title {
  font-size: 48px;
  font-weight: 800;
  line-height: 1.15;
  color: var(--tcs-slate-dark);
  letter-spacing: -0.8px;
  margin: 0 0 20px 0;
}

.tcs-hero-lead {
  font-size: 18px;
  color: var(--tcs-slate-body);
  line-height: 1.65;
  margin: 0 0 34px 0;
  max-width: 580px;
}

.tcs-hero-buttons {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* Columna Derecha Hero (Marco Fotográfico) */
.tcs-hero-media-wrapper {
  position: relative;
}

.tcs-hero-frame {
  position: relative;
  border-radius: var(--tcs-radius-hero);
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.22), 0 0 0 1px rgba(217, 119, 6, 0.08);
  aspect-ratio: 4 / 3.4;
  background: #E2E8F0;
}

.tcs-hero-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s var(--tcs-ease-spring);
}

.tcs-hero-frame:hover img {
  transform: scale(1.04);
}

/* Badge flotante blanco en la esquina */
.tcs-floating-badge {
  position: absolute;
  bottom: -18px;
  left: -20px;
  background: #FFFFFF;
  padding: 14px 22px;
  border-radius: 20px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.12);
  display: flex;
  align-items: center;
  gap: 12px;
  animation: tcsFloat 4s ease-in-out infinite;
  z-index: 5;
}

.tcs-floating-badge .badge-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--tcs-purple-light);
  color: var(--tcs-purple);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

.tcs-floating-badge .badge-text {
  font-size: 13.5px;
  color: var(--tcs-slate-body);
  line-height: 1.3;
}

.tcs-floating-badge .badge-text strong {
  display: block;
  font-size: 17px;
  color: var(--tcs-purple);
  font-weight: 800;
}

/* --- SECCIÓN 2: FRANJA DE IMPACTO EN CONTADORES --- */
.tcs-impact-section {
  padding: 20px 0 60px 0;
}

.tcs-impact-box {
  background: var(--tcs-slate-light);
  border-radius: 20px;
  border: 1px solid rgba(226, 232, 240, 0.8);
  padding: 44px 32px;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.03);
}

.tcs-impact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  text-align: center;
}

.tcs-impact-item {
  position: relative;
  padding: 0 20px;
}

.tcs-impact-item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 15%;
  height: 70%;
  width: 1px;
  background: #E2E8F0;
}

.tcs-impact-number {
  font-size: 52px;
  font-weight: 800;
  color: var(--tcs-purple);
  line-height: 1;
  letter-spacing: -1.5px;
  margin-bottom: 10px;
}

.tcs-impact-label {
  font-size: 15px;
  font-weight: 600;
  color: var(--tcs-slate-dark);
  margin-bottom: 4px;
}

.tcs-impact-sub {
  font-size: 13.5px;
  color: var(--tcs-slate-muted);
  line-height: 1.4;
  margin: 0;
}

/* --- SECCIÓN 3: PROGRAMAS PRINCIPALES (GRID DE TARJETAS) --- */
.tcs-programs-section {
  padding: 60px 0 80px 0;
}

.tcs-section-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 52px auto;
}

.tcs-section-header .tcs-badge-pill {
  margin-bottom: 14px;
}

.tcs-section-title {
  font-size: 38px;
  font-weight: 800;
  color: var(--tcs-slate-dark);
  line-height: 1.2;
  letter-spacing: -0.5px;
  margin: 0 0 16px 0;
}

.tcs-section-desc {
  font-size: 16.5px;
  color: var(--tcs-slate-body);
  line-height: 1.6;
  margin: 0;
}

.tcs-programs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.tcs-card-body {
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.tcs-card-tag {
  align-self: flex-start;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: var(--tcs-radius-pill);
  margin-bottom: 14px;
}

.tag-prevencion {
  background: var(--tcs-purple-light);
  color: var(--tcs-purple);
}

.tag-tratamiento {
  background: #DCFCE7;
  color: #15803D;
}

.tag-atencion {
  background: var(--tcs-amber-light);
  color: #B45309;
}

.tcs-card-title {
  font-size: 21px;
  font-weight: 700;
  color: var(--tcs-slate-dark);
  line-height: 1.3;
  margin: 0 0 12px 0;
}

.tcs-card-desc {
  font-size: 14.5px;
  color: var(--tcs-slate-body);
  line-height: 1.6;
  margin: 0 0 24px 0;
  flex: 1 1 auto;
}

/* --- SECCIÓN 4: BANNER CALLOUT "EMPRENDIMIENTO Y CAPACITACIONES" --- */
.tcs-callout-section {
  padding: 40px 0 80px 0;
}

.tcs-callout-banner {
  background: var(--tcs-purple);
  border-radius: var(--tcs-radius-hero);
  padding: 56px 48px;
  color: #FFFFFF;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(217, 119, 6, 0.25);
}

.tcs-callout-banner::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -10%;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245, 158, 11, 0.22) 0%, transparent 70%);
  pointer-events: none;
}

.tcs-callout-grid {
  display: grid;
  grid-template-columns: 52fr 48fr;
  align-items: center;
  gap: 48px;
  position: relative;
  z-index: 2;
}

.tcs-callout-badge {
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: var(--tcs-radius-pill);
  display: inline-block;
  margin-bottom: 18px;
}

.tcs-callout-title {
  font-size: 36px;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.2;
  margin: 0 0 16px 0;
  letter-spacing: -0.5px;
}

.tcs-callout-desc {
  font-size: 16.5px;
  color: #FEF3C7;
  line-height: 1.6;
  margin: 0 0 32px 0;
}

.tcs-callout-media {
  position: relative;
}

.tcs-callout-image-wrap {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.35);
  border: 2px solid rgba(255, 255, 255, 0.2);
  aspect-ratio: 4 / 3;
}

.tcs-callout-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tcs-callout-tag-float {
  position: absolute;
  top: 18px;
  right: 18px;
  background: rgba(15, 23, 42, 0.85);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: var(--tcs-radius-pill);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

/* --- SECCIÓN 5: ACCESO RÁPIDO A PLATAFORMA --- */
.tcs-platform-section {
  padding: 0 0 90px 0;
}

.tcs-platform-card {
  background: var(--tcs-slate-light);
  border-radius: 20px;
  border: 1px solid #E2E8F0;
  padding: 40px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.03);
}

.tcs-platform-left {
  display: flex;
  align-items: center;
  gap: 24px;
}

.tcs-platform-icon {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: var(--tcs-purple);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.05);
  flex-shrink: 0;
}

.tcs-platform-info h3 {
  font-size: 22px;
  font-weight: 800;
  color: var(--tcs-slate-dark);
  margin: 0 0 6px 0;
}

.tcs-platform-info p {
  font-size: 15px;
  color: var(--tcs-slate-body);
  margin: 0;
  line-height: 1.5;
}

.tcs-platform-right {
  flex-shrink: 0;
}

/* --- RESPONSIVIDAD (TABLET & MOBILE) --- */
@media (max-width: 1024px) {
  .tcs-hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .tcs-hero-title {
    font-size: 40px;
  }

  .tcs-hero-frame {
    max-height: 380px;
  }

  .tcs-programs-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

  .tcs-callout-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .tcs-platform-card {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 767px) {
  .tcs-hero-title {
    font-size: 32px;
  }

  .tcs-hero-lead {
    font-size: 16px;
  }

  .tcs-impact-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .tcs-impact-item:not(:last-child)::after {
    display: none;
  }

  .tcs-programs-grid {
    grid-template-columns: 1fr;
  }

  .tcs-callout-banner {
    padding: 36px 24px;
  }

  .tcs-callout-title {
    font-size: 28px;
  }

  .tcs-platform-card {
    padding: 28px 20px;
  }

  .tcs-platform-left {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ==============================================================
   5. REDUCCIÓN DEL TAMAÑO DEL MAPA & AJUSTES SOLICITADOS
   ============================================================== */
/* Eliminar botón donar en cualquier rincón del header */
.btn-header-donar,
li.btn-header-donar {
  display: none !important;
}

/* Pestaña "Más +" estilo unificado con acento violeta */
.elementor-4265 ul.elementor-nav-menu>li.menu-item-mas>a.elementor-item {
  position: relative !important;
  font-weight: 700 !important;
  color: var(--tcs-purple) !important;
}

.elementor-4265 ul.elementor-nav-menu>li.menu-item-mas>a.elementor-item::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0px !important;
  left: 50% !important;
  width: 0% !important;
  height: 3px !important;
  background: var(--tcs-purple) !important;
  border-radius: 99px !important;
  transition: width 0.3s var(--tcs-ease-spring), left 0.3s var(--tcs-ease-spring) !important;
}

.elementor-4265 ul.elementor-nav-menu>li.menu-item-mas:hover>a.elementor-item::after {
  width: 100% !important;
  left: 0% !important;
}

/* Reducción del Mapa de Bolivia y Hotspot */
.elementor-element.elementor-element-fe375b8 {
  padding: 35px 20px !important;
}

.elementor-element.elementor-element-ab78a86 {
  max-width: 620px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}

.elementor-element.elementor-element-aa28e6a,
.elementor-widget-hotspot.elementor-element-aa28e6a,
.elementor-widget-hotspot {
  max-width: 540px !important;
  margin: 0 auto !important;
}

.elementor-element.elementor-element-aa28e6a .e-hotspot__image,
.elementor-widget-hotspot .e-hotspot__image {
  max-height: 420px !important;
  width: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  display: block !important;
}

/* Mapas Google Maps / Iframes */
.elementor-widget-google_maps,
.elementor-widget-google_maps iframe,
iframe[src*="google.com/maps"],
iframe[src*="openstreetmap"] {
  max-height: 340px !important;
  border-radius: 16px !important;
}

@media (max-width: 767px) {

  .elementor-element.elementor-element-ab78a86,
  .elementor-element.elementor-element-aa28e6a,
  .elementor-widget-hotspot {
    max-width: 310px !important;
  }

  .elementor-element.elementor-element-aa28e6a .e-hotspot__image,
  .elementor-widget-hotspot .e-hotspot__image {
    max-height: 260px !important;
  }
}



/* === FMK SUBPAGES COHERENCE STYLES START === */
/* ==============================================================
   ESTILOS COMPLEMENTARIOS PARA TODAS LAS PESTAÑAS Y SUBPÁGINAS
   Garantiza coherencia total con /emprendimiento/
   ============================================================== */

/* Layout general de páginas */
.fmk-emprendimiento-wrapper {
  font-family: "Poppins", Sans-serif !important;
  color: #324A6D !important;
  background: #FFFFFF !important;
  overflow-x: hidden;
}

/* Form Styling para Buzón de Quejas y Quiero Ser Proveedor (WPForms) */
.fmk-emprendimiento-wrapper div.wpforms-container-full {
  margin: 0 !important;
}

.fmk-emprendimiento-wrapper div.wpforms-container-full .wpforms-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.fmk-emprendimiento-wrapper .wpforms-field-label {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #1C244B !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.fmk-emprendimiento-wrapper input[type="text"],
.fmk-emprendimiento-wrapper input[type="email"],
.fmk-emprendimiento-wrapper input[type="tel"],
.fmk-emprendimiento-wrapper input[type="url"],
.fmk-emprendimiento-wrapper textarea,
.fmk-emprendimiento-wrapper select {
  width: 100% !important;
  padding: 12px 16px !important;
  font-size: 14.5px !important;
  font-family: "Poppins", Sans-serif !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 10px !important;
  background: #FFFFFF !important;
  color: #1C244B !important;
  transition: all 0.25s ease !important;
  box-sizing: border-box !important;
}

.fmk-emprendimiento-wrapper input:focus,
.fmk-emprendimiento-wrapper textarea:focus,
.fmk-emprendimiento-wrapper select:focus {
  border-color: #EFA840 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(239, 168, 64, 0.18) !important;
}

.fmk-emprendimiento-wrapper button.wpforms-submit,
.fmk-emprendimiento-wrapper input[type="submit"] {
  background: #EFA840 !important;
  color: #1C244B !important;
  border: none !important;
  padding: 14px 32px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  box-shadow: 0 6px 20px rgba(239, 168, 64, 0.35) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 10px !important;
}

.fmk-emprendimiento-wrapper button.wpforms-submit:hover,
.fmk-emprendimiento-wrapper input[type="submit"]:hover {
  background: #e0962b !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(239, 168, 64, 0.45) !important;
}

/* Grid System: Estricto 3 Contenedores por Fila en Desktop y Laptop (Evita que se pongan 2 y baje 1) */
.fmk-grid-3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 26px !important;
  width: 100% !important;
}

.fmk-card {
  min-width: 0 !important;
}

/* Responsividad para pantallas medianas (laptops / tablets horizontales) */
@media (max-width: 991px) {
  .fmk-emp-hero-title {
    font-size: 36px !important;
  }

  .fmk-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

/* Solo en móviles pequeños pasa a 1 columna apilada */
@media (max-width: 767px) {
  .fmk-emp-hero {
    padding: 60px 16px 50px 16px !important;
  }

  .fmk-emp-hero-title {
    font-size: 28px !important;
  }

  .fmk-emp-hero-subtitle {
    font-size: 15px !important;
  }

  .fmk-grid-3 {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .fmk-emp-section {
    padding: 50px 16px !important;
  }
}

/* ==============================================================
   MAPA INTERACTIVO CON HOTSPOTS Y GRÁFICOS DE PERSONAS (LORD-ICON)
   ============================================================== */
.fmk-map-interactive-wrapper {
  position: relative;
  max-width: 480px;
  width: 100%;
  margin: 0 auto;
  border-radius: 20px;
  background: #F8FAFD;
  padding: 16px;
  border: 1.5px solid rgba(28, 36, 75, 0.08);
  box-shadow: 0 10px 30px rgba(28, 36, 75, 0.04);
}

.fmk-map-container-relative {
  position: relative;
  width: 100%;
}

.fmk-map-image-core {
  width: 100%;
  height: auto;
  max-height: 440px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 8px 16px rgba(28, 36, 75, 0.08));
}

/* Pins Hotspot en el mapa */
.fmk-hotspot-pin {
  position: absolute;
  cursor: pointer;
  z-index: 15;
  transform: translate(-50%, -50%);
}

.fmk-pin-dot {
  width: 16px;
  height: 16px;
  background: #EFA840;
  border: 2.5px solid #FFFFFF;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  display: block;
  position: relative;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.fmk-pin-pulse-wave {
  position: absolute;
  top: -6px;
  left: -6px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(239, 168, 64, 0.5);
  animation: fmkPinPulse 2.2s ease-out infinite;
  pointer-events: none;
}

@keyframes fmkPinPulse {
  0% {
    transform: scale(0.6);
    opacity: 1;
  }

  100% {
    transform: scale(2);
    opacity: 0;
  }
}

.fmk-hotspot-pin:hover .fmk-pin-dot,
.fmk-hotspot-pin.active .fmk-pin-dot {
  background: #E30613;
  transform: scale(1.35);
  box-shadow: 0 0 14px rgba(227, 6, 19, 0.6);
}

.fmk-pin-popover {
  position: absolute;
  bottom: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: #1C244B;
  color: #FFFFFF;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 12px;
  line-height: 1.4;
  white-space: nowrap;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.35);
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 30;
  border: 1px solid rgba(239, 168, 64, 0.35);
}

.fmk-pin-popover::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: #1C244B transparent transparent transparent;
}

.fmk-hotspot-pin:hover .fmk-pin-popover {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

/* Grilla de Tarjetas Informativas con Lord-Icon de Personas */
.fmk-info-people-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

@media (max-width: 640px) {
  .fmk-info-people-grid {
    grid-template-columns: 1fr;
  }
}

.fmk-info-people-card {
  background: #FFFFFF;
  border-radius: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(28, 36, 75, 0.08);
  box-shadow: 0 3px 10px rgba(28, 36, 75, 0.03);
  display: flex;
  align-items: center;
  gap: 12px;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.fmk-info-people-card:hover {
  transform: translateY(-3px) scale(1.01);
  box-shadow: 0 8px 22px rgba(28, 36, 75, 0.09);
  border-color: #EFA840;
}

.fmk-info-lordicon-wrap {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(239, 168, 64, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: background-color 0.25s ease;
}

.fmk-info-people-card:hover .fmk-info-lordicon-wrap {
  background: rgba(239, 168, 64, 0.25);
}

.fmk-info-people-body {
  flex: 1;
  min-width: 0;
}

.fmk-info-people-title {
  font-size: 13px;
  font-weight: 700;
  color: #1C244B;
  margin: 0 0 2px 0;
  line-height: 1.3;
}

.fmk-info-people-desc {
  font-size: 11.5px;
  color: #64748B;
  margin: 0;
  line-height: 1.35;
}

/* === FMK SUBPAGES COHERENCE STYLES END === */

/* === FMK ANIMATED SPONSORS & CARDS START === */
/* ==============================================================
   ANIMATED SPONSORS TICKER & CARD MICRO-INTERACTIONS
   ============================================================== */

/* Card micro-interactions & lively animations */
.fmk-card {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease !important;
  position: relative !important;
  overflow: hidden !important;
}

.fmk-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -120% !important;
  width: 60% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent) !important;
  transform: skewX(-25deg) !important;
  transition: left 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
  pointer-events: none !important;
  z-index: 5 !important;
}

.fmk-card:hover {
  transform: translateY(-10px) scale(1.015) !important;
  box-shadow: 0 22px 45px rgba(28, 36, 75, 0.14), 0 0 0 1.5px rgba(239, 168, 64, 0.4) !important;
  border-color: #EFA840 !important;
}

.fmk-card:hover::before {
  left: 180% !important;
}

.fmk-card-img-wrap {
  position: relative !important;
  height: 220px !important;
  overflow: hidden !important;
  background: #1C244B !important;
}

.fmk-card-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s ease !important;
}

.fmk-card:hover .fmk-card-img {
  transform: scale(1.1) !important;
}

.fmk-card-tag {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  z-index: 4 !important;
}

.fmk-card:hover .fmk-card-tag {
  transform: translateY(-2px) scale(1.05) !important;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.3) !important;
}

@keyframes fmkPulseStat {

  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.06);
  }
}

.fmk-card:hover .fmk-impact-stat {
  animation: fmkPulseStat 1.2s ease infinite !important;
}

/* Document cards lively animation */
.fmk-doc-card {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease !important;
}

.fmk-doc-card:hover {
  transform: translateY(-7px) scale(1.01) !important;
  box-shadow: 0 18px 40px rgba(28, 36, 75, 0.12) !important;
  border-color: #EFA840 !important;
}

.fmk-doc-card:hover .fmk-doc-icon {
  background: #EFA840 !important;
  color: #1C244B !important;
  transform: scale(1.08) rotate(3deg) !important;
  transition: all 0.3s ease !important;
}

.fmk-doc-card:hover .fmk-doc-icon svg {
  stroke: #1C244B !important;
}

/* -------------------------------------------------------------
   ANIMATED SPONSORS TICKER SECTION
   ------------------------------------------------------------- */
.fmk-sponsors-section {
  padding: 60px 0 70px 0 !important;
  background: #FFFFFF !important;
  border-top: 1px solid rgba(28, 36, 75, 0.08) !important;
  overflow: hidden !important;
}

.fmk-marquee-container {
  width: 100% !important;
  overflow: hidden !important;
  position: relative !important;
  mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent) !important;
  -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent) !important;
}

.fmk-marquee-track {
  display: flex !important;
  align-items: center !important;
  gap: 40px !important;
  width: max-content !important;
  animation: fmkMarqueeScroll 38s linear infinite !important;
}

.fmk-marquee-track:hover {
  animation-play-state: paused !important;
}

@keyframes fmkMarqueeScroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.fmk-sponsor-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 72px !important;
  min-width: 135px !important;
  padding: 10px 18px !important;
  background: #F8FAFD !important;
  border-radius: 14px !important;
  border: 1px solid rgba(28, 36, 75, 0.07) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.fmk-sponsor-item:hover {
  transform: translateY(-5px) scale(1.06) !important;
  box-shadow: 0 10px 24px rgba(28, 36, 75, 0.12) !important;
  background: #FFFFFF !important;
  border-color: #EFA840 !important;
}

.fmk-sponsor-item img {
  max-height: 48px !important;
  max-width: 120px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: grayscale(80%) opacity(0.8) !important;
  transition: filter 0.3s ease !important;
}

.fmk-sponsor-item:hover img {
  filter: grayscale(0%) opacity(1) !important;
}

/* === FMK ANIMATED SPONSORS & CARDS END === */

/* ==========================================================================
   HEADER LOGO ENHANCEMENT - ULTRA CRISP & PROMINENT (MUCH BIGGER)
   ========================================================================== */
.site-header,
.elementor-element-6bd75d62,
.elementor-section[data-id="6bd75d62"] {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  min-height: 110px !important;
  background: #FFFFFF !important;
}

/* Permit logo container column to expand */
.elementor-element-6bd75d62 .elementor-element-399cd667,
.elementor-section .elementor-element-399cd667,
.elementor-column.elementor-col-33:has(.elementor-widget-theme-site-logo) {
  width: 30% !important;
  max-width: 440px !important;
  flex: 0 0 auto !important;
}

.elementor-element-6bd75d62 .elementor-element-3846a97f,
.elementor-section .elementor-element-3846a97f {
  width: 70% !important;
  flex: 1 1 auto !important;
}

/* High-res prominent logo image */
.elementor-widget-theme-site-logo img,
.elementor-element-3cd97b78 img,
.custom-logo-link img,
.custom-logo,
.site-branding .site-logo img,
.site-header .custom-logo-link img,
.site-header .site-logo img,
.header-inner .site-logo img {
  width: auto !important;
  max-width: 420px !important;
  height: 100px !important;
  max-height: 115px !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.04)) !important;
  transition: transform 0.3s ease, filter 0.3s ease !important;
}

.elementor-widget-theme-site-logo img:hover,
.custom-logo-link img:hover {
  transform: scale(1.03) !important;
}

@media (max-width: 1024px) {

  .elementor-element-6bd75d62 .elementor-element-399cd667,
  .elementor-section .elementor-element-399cd667 {
    width: 65% !important;
    max-width: none !important;
  }

  .elementor-element-6bd75d62 .elementor-element-3846a97f,
  .elementor-section .elementor-element-3846a97f {
    width: 35% !important;
  }

  .elementor-widget-theme-site-logo img,
  .elementor-element-3cd97b78 img,
  .custom-logo-link img,
  .custom-logo,
  .site-header .custom-logo-link img {
    max-width: 300px !important;
    height: 80px !important;
    max-height: 85px !important;
  }
}

@media (max-width: 768px) {

  .elementor-element-6bd75d62 .elementor-element-399cd667,
  .elementor-section .elementor-element-399cd667 {
    width: 75% !important;
  }

  .elementor-element-6bd75d62 .elementor-element-3846a97f,
  .elementor-section .elementor-element-3846a97f {
    width: 25% !important;
  }

  .elementor-widget-theme-site-logo img,
  .elementor-element-3cd97b78 img,
  .custom-logo-link img,
  .custom-logo,
  .site-header .site-branding .site-logo img,
  .site-header .custom-logo-link img,
  .site-header .site-logo img {
    max-width: 250px !important;
    height: 68px !important;
    max-height: 72px !important;
  }
}

@media (max-width: 480px) {

  .elementor-widget-theme-site-logo img,
  .elementor-element-3cd97b78 img,
  .custom-logo-link img,
  .custom-logo {
    max-width: 210px !important;
    height: 56px !important;
    max-height: 60px !important;
  }
}

/* ==========================================================================
   HERO FIXED PARALLAX SECTION (IMAGE BEHIND TEXT, FIXED WHILE SCROLLING)
   ========================================================================== */
.fmk-hero-parallax-section {
  position: relative !important;
  min-height: 72vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: center !important;
  background-image: url('/wp-content/uploads/2023/04/ENTORNOS-PROTECTORES-2.-Comunidad-activa-para-la-Prevencion-de-la-violencia-scaled.webp') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
  color: #1C244B !important;
  text-align: center !important;
  padding: 60px 24px 30px 24px !important;
  overflow: hidden !important;
}

/* Hero Background Slideshow with Smooth Crossfade & Cinematic Effect */
.fmk-hero-bg-slideshow {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.fmk-hero-slide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  opacity: 0 !important;
  transform: scale(1.06) !important;
  transition: opacity 1.8s cubic-bezier(0.4, 0, 0.2, 1), transform 8s cubic-bezier(0.25, 1, 0.5, 1) !important;
  will-change: opacity, transform !important;
}

.fmk-hero-slide.active {
  opacity: 1 !important;
  transform: scale(1) !important;
  z-index: 2 !important;
}

.fmk-hero-slide.last-active {
  opacity: 0 !important;
  transform: scale(0.98) !important;
  z-index: 1 !important;
  transition: opacity 1.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.fmk-hero-bg-slideshow::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(15, 23, 42, 0.12) !important;
  z-index: 3 !important;
}

.fmk-hero-content-box {
  width: 100% !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 10 !important;
  opacity: 1 !important;
}

.fmk-hero-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 18px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #F8FAFC !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border-radius: 9999px !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  margin-bottom: 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
}

.fmk-hero-headline {
  font-size: clamp(1.75rem, 2.8vw, 2.45rem) !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  line-height: 1.2 !important;
  margin-bottom: 18px !important;
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  letter-spacing: -0.015em !important;
  text-shadow: 0 4px 18px rgba(0, 0, 0, 0.35) !important;
}

.fmk-hero-lead {
  font-size: clamp(0.95rem, 1.4vw, 1.08rem) !important;
  color: #E2E8F0 !important;
  line-height: 1.65 !important;
  max-width: 740px !important;
  margin: 0 auto 34px auto !important;
  font-weight: 400 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
}

.fmk-hero-btn-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  margin-bottom: 48px !important;
  flex-wrap: wrap !important;
}

.fmk-btn-primary {
  background: #D97706 !important;
  color: #FFFFFF !important;
  padding: 13px 30px !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  font-size: 0.94rem !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: 0 6px 20px rgba(217, 119, 6, 0.4) !important;
  transition: all 0.3s ease !important;
  border: 2px solid transparent !important;
}

.fmk-btn-primary:hover {
  background: #B45309 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 25px rgba(217, 119, 6, 0.55) !important;
}

.fmk-btn-secondary {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #FFFFFF !important;
  padding: 13px 28px !important;
  border-radius: 9999px !important;
  font-weight: 600 !important;
  font-size: 0.94rem !important;
  text-decoration: none !important;
  backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  transition: all 0.3s ease !important;
}

.fmk-btn-secondary:hover {
  background: #FFFFFF !important;
  color: #1C244B !important;
  transform: translateY(-2px) !important;
}

/* ==========================================================================
   HERO STATS BAR (OVERLAID ON PARALLAX BACKGROUND IMAGE)
   ========================================================================== */
.fmk-hero-stats-bar {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
}

@media (max-width: 880px) {
  .fmk-hero-stats-bar {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
  }
}

.fmk-hero-stat-card {
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-radius: 18px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(217, 119, 6, 0.28) !important;
  box-shadow: 0 12px 30px rgba(28, 36, 75, 0.12) !important;
  text-align: center !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.fmk-hero-stat-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 40px rgba(217, 119, 6, 0.22) !important;
  border-color: #D97706 !important;
}

.fmk-stat-icon-wrapper {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: #FEF3C7 !important;
  border: 1px solid #FDE68A !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 8px !important;
  color: #D97706 !important;
  flex-shrink: 0 !important;
}

.fmk-stat-icon-wrapper.amber {
  background: #FEF3C7 !important;
  border-color: #FDE68A !important;
  color: #D97706 !important;
}

.fmk-stat-icon-wrapper.emerald {
  background: #D1FAE5 !important;
  border-color: #A7F3D0 !important;
  color: #059669 !important;
}

.fmk-stat-number {
  font-size: clamp(1.75rem, 2.3vw, 2.15rem) !important;
  font-weight: 800 !important;
  color: #1C244B !important;
  line-height: 1.1 !important;
  margin-bottom: 4px !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: -0.02em !important;
}

.fmk-hero-stat-card.accent-amber .fmk-stat-number {
  color: #D97706 !important;
}

.fmk-hero-stat-card.accent-emerald .fmk-stat-number {
  color: #059669 !important;
}

.fmk-stat-title {
  font-size: 0.94rem !important;
  font-weight: 700 !important;
  color: #1C244B !important;
  margin-bottom: 4px !important;
  line-height: 1.25 !important;
}

.fmk-stat-sub {
  font-size: 0.8rem !important;
  color: #475569 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  opacity: 0.95 !important;
}

/* ==========================================================================
   ALCANCE NACIONAL - ANIMATED COUNTERS SECTION
   ========================================================================== */
.fmk-impact-section {
  padding: 90px 24px 80px 24px !important;
  background: #FFFFFF !important;
  position: relative !important;
}

.fmk-impact-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.fmk-impact-header {
  text-align: center !important;
  margin-bottom: 55px !important;
}

.fmk-section-tag {
  display: inline-block !important;
  padding: 6px 18px !important;
  background: rgba(217, 119, 6, 0.08) !important;
  color: #D97706 !important;
  border-radius: 9999px !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
}

.fmk-section-title {
  font-size: clamp(2rem, 3.2vw, 2.7rem) !important;
  font-weight: 800 !important;
  color: #1C244B !important;
  line-height: 1.2 !important;
  margin: 0 0 14px 0 !important;
}

.fmk-section-desc {
  font-size: 1.05rem !important;
  color: #64748B !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  line-height: 1.6 !important;
}

.fmk-impact-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
  width: 100% !important;
}

@media (max-width: 900px) {
  .fmk-impact-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

.fmk-counter-card {
  background: #FFFFFF !important;
  border-radius: 22px !important;
  padding: 38px 28px !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04) !important;
  text-align: center !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, border-color 0.35s ease !important;
  position: relative !important;
  overflow: hidden !important;
}

.fmk-counter-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 5px !important;
  background: #D97706 !important;
}

.fmk-counter-card.accent-amber::before {
  background: #D97706 !important;
}

.fmk-counter-card.accent-emerald::before {
  background: #059669 !important;
}

.fmk-counter-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 40px -10px rgba(28, 36, 75, 0.12) !important;
  border-color: rgba(217, 119, 6, 0.3) !important;
}

.fmk-counter-value {
  font-size: clamp(2.8rem, 4vw, 3.6rem) !important;
  font-weight: 800 !important;
  color: #1C244B !important;
  line-height: 1.1 !important;
  margin-bottom: 12px !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: -0.02em !important;
}

.fmk-counter-card.accent-amber .fmk-counter-value {
  color: #D97706 !important;
}

.fmk-counter-card.accent-emerald .fmk-counter-value {
  color: #059669 !important;
}

.fmk-counter-label {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #1C244B !important;
  margin-bottom: 10px !important;
  line-height: 1.35 !important;
}

.fmk-counter-sub {
  font-size: 0.92rem !important;
  color: #64748B !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* ==========================================================================
   VIDEO SHOWCASE SECTION (CLEAN & NO EMOJIS)
   ========================================================================== */
.fmk-video-section {
  padding: 80px 24px 90px 24px !important;
  background: #F8FAFD !important;
  position: relative !important;
  border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
}

.fmk-video-container {
  max-width: 1100px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.fmk-video-header {
  margin-bottom: 35px !important;
}

.fmk-video-badge {
  display: inline-block !important;
  padding: 6px 18px !important;
  background: rgba(239, 168, 64, 0.15) !important;
  color: #D97706 !important;
  border-radius: 9999px !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
}

.fmk-video-title {
  font-size: clamp(1.8rem, 3.2vw, 2.5rem) !important;
  font-weight: 800 !important;
  color: #1C244B !important;
  margin-bottom: 12px !important;
  line-height: 1.2 !important;
}

.fmk-video-desc {
  font-size: 1.05rem !important;
  color: #64748B !important;
  max-width: 660px !important;
  margin: 0 auto 35px auto !important;
  line-height: 1.6 !important;
}

.fmk-video-frame {
  position: relative !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 30px 70px -20px rgba(28, 36, 75, 0.22) !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  background: #000 !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}

.fmk-video-player {
  width: 100% !important;
  height: auto !important;
  max-height: 540px !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 24px !important;
}


/* ==========================================================================
   FMK VIBRANT ANIMATIONS & ENHANCED MICRO-INTERACTIONS
   ========================================================================== */

/* Shimmer / Light sweep effect for buttons and cards */
@keyframes fmkShine {
  0% {
    transform: translateX(-100%) skewX(-20deg);
  }

  100% {
    transform: translateX(250%) skewX(-20deg);
  }
}

@keyframes fmkPulseGlow {

  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(217, 119, 6, 0.45);
  }

  50% {
    box-shadow: 0 0 0 12px rgba(217, 119, 6, 0);
  }
}

@keyframes fmkPinPulse {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(217, 119, 6, 0.75);
  }

  70% {
    transform: scale(1.08);
    box-shadow: 0 0 0 16px rgba(217, 119, 6, 0);
  }

  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(217, 119, 6, 0);
  }
}

@keyframes fmkFloatSlow {

  0%,
  100% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-8px);
  }
}

/* Primary Button with Warm Amber Gradient and Shimmer */
.fmk-btn-primary,
.tcs-btn-primary {
  background: linear-gradient(135deg, #EFA840 0%, #D97706 100%) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  border-radius: 9999px !important;
  padding: 13px 30px !important;
  font-size: 0.95rem !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 6px 20px rgba(217, 119, 6, 0.35) !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

.fmk-btn-primary::after,
.tcs-btn-primary::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 50% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent) !important;
  transform: translateX(-150%) skewX(-20deg) !important;
  transition: none !important;
}

.fmk-btn-primary:hover,
.tcs-btn-primary:hover {
  background: linear-gradient(135deg, #D97706 0%, #B45309 100%) !important;
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 12px 28px rgba(217, 119, 6, 0.45) !important;
  color: #FFFFFF !important;
}

.fmk-btn-primary:hover::after,
.tcs-btn-primary:hover::after {
  animation: fmkShine 0.85s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Secondary Button with Glass Effect */
.fmk-btn-secondary {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  border-radius: 9999px !important;
  padding: 13px 28px !important;
  font-size: 0.95rem !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
}

.fmk-btn-secondary:hover {
  background: #FFFFFF !important;
  color: #1C244B !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18) !important;
}

/* Outline Warm Amber Button */
.tcs-btn-outline {
  background: transparent !important;
  color: #D97706 !important;
  border: 2px solid #D97706 !important;
  font-weight: 700 !important;
  border-radius: 9999px !important;
  padding: 10px 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.tcs-btn-outline:hover {
  background: #D97706 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(217, 119, 6, 0.28) !important;
}

/* Badge Pill in Warm Amber */
.tcs-badge-pill,
.fmk-section-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #FEF3C7 !important;
  color: #D97706 !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding: 6px 18px !important;
  border-radius: 9999px !important;
  border: 1px solid #FDE68A !important;
  box-shadow: 0 2px 8px rgba(217, 119, 6, 0.08) !important;
}

/* Cards Animation & Hover Lift */
.tcs-card,
.fmk-card {
  background: #FFFFFF !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  box-shadow: 0 6px 18px rgba(28, 36, 75, 0.04) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}

.tcs-card:hover,
.fmk-card:hover {
  transform: translateY(-8px) scale(1.015) !important;
  box-shadow: 0 22px 42px -10px rgba(217, 119, 6, 0.18), 0 0 0 1px rgba(217, 119, 6, 0.3) !important;
  border-color: #FDE68A !important;
}

.tcs-card:hover .tcs-img-container img,
.fmk-card:hover .fmk-card-img {
  transform: scale(1.08) !important;
}

/* Link Arrow Interaction */
.tcs-link-arrow,
.fmk-link-arrow {
  color: #D97706 !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  transition: color 0.25s ease !important;
}

.tcs-link-arrow:hover,
.fmk-link-arrow:hover {
  color: #B45309 !important;
}

.tcs-card:hover .tcs-link-arrow span.arrow,
.tcs-link-arrow:hover span.arrow,
.fmk-news-card:hover .fmk-news-readmore span.arrow {
  transform: translateX(6px) !important;
}

span.arrow {
  display: inline-block !important;
  transition: transform 0.25s ease !important;
}

/* ==========================================================================
   INTERACTIVE MAP OF BOLIVIA & HOTSPOT PINS
   ========================================================================== */
.fmk-map-section {
  padding: 90px 24px 100px 24px !important;
  background: #F8FAFD !important;
  position: relative !important;
  border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.8) !important;
}

.fmk-map-container {
  max-width: 1220px !important;
  margin: 0 auto !important;
}

.fmk-map-grid-split {
  display: grid !important;
  grid-template-columns: 1.05fr 1fr !important;
  gap: 48px !important;
  align-items: center !important;
}

@media (max-width: 992px) {
  .fmk-map-grid-split {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
}

.fmk-map-interactive-wrapper {
  background: #FFFFFF !important;
  border-radius: 28px !important;
  padding: 30px !important;
  border: 1px solid rgba(28, 36, 75, 0.08) !important;
  box-shadow: 0 16px 45px rgba(28, 36, 75, 0.06) !important;
  position: relative !important;
  overflow: visible !important;
}

.fmk-map-container-relative {
  position: relative !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 auto !important;
}

.fmk-map-image-core {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 25px rgba(28, 36, 75, 0.1)) !important;
}

/* Hotspot Pins with Pulsing Rings */
.fmk-hotspot-pin {
  position: absolute !important;
  width: 22px !important;
  height: 22px !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transform: translate(-50%, -50%) !important;
}

.fmk-pin-pulse-wave {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  background: rgba(217, 119, 6, 0.4) !important;
  animation: fmkPinPulse 2.2s infinite ease-out !important;
}

.fmk-pin-dot {
  position: absolute !important;
  top: 5px !important;
  left: 5px !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background: #D97706 !important;
  border: 2.5px solid #FFFFFF !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
  transition: transform 0.25s ease, background 0.25s ease !important;
}

.fmk-hotspot-pin:hover .fmk-pin-dot {
  transform: scale(1.3) !important;
  background: #B45309 !important;
}

.fmk-pin-popover {
  position: absolute !important;
  bottom: calc(100% + 10px) !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(6px) !important;
  background: #1C244B !important;
  color: #FFFFFF !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  width: 190px !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.25) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  z-index: 20 !important;
  text-align: left !important;
}

.fmk-pin-popover::after {
  content: '' !important;
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border: 6px solid transparent !important;
  border-top-color: #1C244B !important;
}

.fmk-hotspot-pin:hover .fmk-pin-popover,
.fmk-hotspot-pin:focus .fmk-pin-popover {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
}

/* ==========================================================================
   NOTICIAS Y NOVEDADES (3-COLUMN PREMIUM SECTION)
   ========================================================================== */
.fmk-news-section {
  padding: 90px 24px 95px 24px !important;
  background: #FFFFFF !important;
  position: relative !important;
}

.fmk-news-container {
  max-width: 1220px !important;
  margin: 0 auto !important;
}

.fmk-news-header-row {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  margin-bottom: 48px !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
}

.fmk-news-card {
  background: #FFFFFF !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  box-shadow: 0 6px 18px rgba(28, 36, 75, 0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease !important;
  position: relative !important;
}

.fmk-news-card:hover {
  transform: translateY(-8px) scale(1.015) !important;
  box-shadow: 0 22px 42px -10px rgba(217, 119, 6, 0.16) !important;
  border-color: #FDE68A !important;
}

.fmk-news-thumb-wrapper {
  position: relative !important;
  height: 230px !important;
  overflow: hidden !important;
  background: #1C244B !important;
  flex-shrink: 0 !important;
}

.fmk-news-thumb {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.fmk-news-card:hover .fmk-news-thumb {
  transform: scale(1.08) !important;
}

.fmk-news-badge {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  background: #FEF3C7 !important;
  color: #D97706 !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  padding: 5px 12px !important;
  border-radius: 9999px !important;
  border: 1px solid #FDE68A !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
  z-index: 2 !important;
}

.fmk-news-body {
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

.fmk-news-date {
  font-size: 0.82rem !important;
  color: #64748B !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.fmk-news-title {
  font-size: 1.16rem !important;
  font-weight: 700 !important;
  color: #1C244B !important;
  line-height: 1.35 !important;
  margin: 0 0 10px 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-height: 2.7em !important;
  transition: color 0.2s ease !important;
}

.fmk-news-card:hover .fmk-news-title {
  color: #D97706 !important;
}

.fmk-news-excerpt {
  font-size: 0.90rem !important;
  color: #64748B !important;
  line-height: 1.55 !important;
  margin: 0 0 18px 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  flex-grow: 1 !important;
}

.fmk-news-readmore {
  color: #D97706 !important;
  font-weight: 700 !important;
  font-size: 0.92rem !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: auto !important;
  transition: gap 0.25s ease !important;
}

.fmk-news-card:hover .fmk-news-readmore {
  gap: 10px !important;
  color: #B45309 !important;
}



/* ==========================================================================
   5 INICIATIVAS / SERVICIOS DESTACADOS (BADGES IMAGEN 2 ADAPTADOS)
   ========================================================================== */
.fmk-services-section {
  padding: 60px 24px 70px 24px !important;
  background: #FFFFFF !important;
  position: relative !important;
}

.fmk-services-container {
  max-width: 1240px !important;
  margin: 0 auto !important;
}

.fmk-services-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

@media (max-width: 1080px) {
  .fmk-services-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 680px) {
  .fmk-services-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }
}

@media (max-width: 440px) {
  .fmk-services-grid {
    grid-template-columns: 1fr !important;
  }
}

.fmk-service-badge-card {
  background: #FFFFFF !important;
  border-radius: 22px !important;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  box-shadow: 0 8px 22px rgba(28, 36, 75, 0.05) !important;
  padding: 24px 18px 20px 18px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-decoration: none !important;
  position: relative !important;
  overflow: hidden !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease !important;
  cursor: pointer !important;
}

.fmk-service-badge-card:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 20px 40px -10px rgba(217, 119, 6, 0.22), 0 0 0 1.5px #EFA840 !important;
  border-color: #FDE68A !important;
}

.fmk-service-badge-img-wrap {
  width: 110px !important;
  height: 110px !important;
  border-radius: 50% !important;
  background: #F8FAFC !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 16px !important;
  position: relative !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08) !important;
  border: 3px solid #FFFFFF !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.fmk-service-badge-card:hover .fmk-service-badge-img-wrap {
  transform: scale(1.08) rotate(3deg) !important;
}

.fmk-service-badge-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block !important;
}

.fmk-service-badge-title {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: #1C244B !important;
  line-height: 1.3 !important;
  margin: 0 0 8px 0 !important;
  transition: color 0.25s ease !important;
}

.fmk-service-badge-card:hover .fmk-service-badge-title {
  color: #D97706 !important;
}

.fmk-service-badge-desc {
  font-size: 0.82rem !important;
  color: #64748B !important;
  line-height: 1.45 !important;
  margin: 0 0 14px 0 !important;
  flex-grow: 1 !important;
}

.fmk-service-badge-link {
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #D97706 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin-top: auto !important;
}

.fmk-service-badge-card:hover .fmk-service-badge-link span.arrow {
  transform: translateX(5px) !important;
}

/* ==========================================================================
   SECCIÓN INFORMATIVA DISCRETA DEL CHATBOT ("NO MUY NOTORIO")
   ========================================================================== */
.fmk-chatbot-info-container {
  max-width: 1040px !important;
  margin: 36px auto 0 auto !important;
  background: linear-gradient(145deg, #FFFFFF 0%, #FFFDF7 100%) !important;
  border-radius: 20px !important;
  border: 1px solid rgba(239, 168, 64, 0.28) !important;
  box-shadow: 0 10px 30px rgba(28, 36, 75, 0.04) !important;
  padding: 30px 34px !important;
  position: relative !important;
  overflow: hidden !important;
}

.fmk-chatbot-info-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin-bottom: 22px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.8) !important;
  flex-wrap: wrap !important;
}

.fmk-chatbot-info-title-group {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

.fmk-chatbot-avatar-small {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: #FEF3C7 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 2px solid #FDE68A !important;
  flex-shrink: 0 !important;
}

.fmk-chatbot-avatar-small img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.fmk-chatbot-info-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 26px !important;
}

@media (max-width: 820px) {
  .fmk-chatbot-info-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

.fmk-chatbot-card-block {
  background: #FFFFFF !important;
  border-radius: 14px !important;
  padding: 20px 22px !important;
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.02) !important;
}

.fmk-chatbot-card-block h4 {
  font-size: 1.02rem !important;
  font-weight: 800 !important;
  color: #1C244B !important;
  margin: 0 0 10px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.fmk-chatbot-card-block h4 span.tag-bullet {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #D97706 !important;
  display: inline-block !important;
}

.fmk-chatbot-card-block p {
  font-size: 0.9rem !important;
  color: #475569 !important;
  line-height: 1.6 !important;
  margin: 0 0 10px 0 !important;
}

.fmk-chatbot-card-block ul {
  margin: 0 0 10px 0 !important;
  padding-left: 20px !important;
  color: #475569 !important;
  font-size: 0.88rem !important;
  line-height: 1.55 !important;
}

.fmk-chatbot-card-block ul li {
  margin-bottom: 6px !important;
}

/* ==========================================================================
   ALCANCE GEOGRÁFICO CON LISTA DE LORD-ICONS Y MAPA (IMAGEN 1)
   ========================================================================== */
.fmk-geo-section {
  padding: 85px 24px 95px 24px !important;
  background: #F8FAFD !important;
  position: relative !important;
}

.fmk-geo-container {
  max-width: 1260px !important;
  margin: 0 auto !important;
}

.fmk-geo-layout {
  display: grid !important;
  grid-template-columns: 1.15fr 1fr !important;
  gap: 40px !important;
  align-items: flex-start !important;
}

@media (max-width: 992px) {
  .fmk-geo-layout {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
}

/* Lista izquierda con Lord-Icons */
.fmk-lines-scroll-box {
  background: #FFFFFF !important;
  border-radius: 24px !important;
  padding: 24px 20px !important;
  border: 1px solid rgba(28, 36, 75, 0.08) !important;
  box-shadow: 0 12px 35px rgba(28, 36, 75, 0.04) !important;
  max-height: 640px !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: #FDE68A #F8FAFC !important;
}

.fmk-lines-scroll-box::-webkit-scrollbar {
  width: 6px !important;
}

.fmk-lines-scroll-box::-webkit-scrollbar-thumb {
  background-color: #FDE68A !important;
  border-radius: 999px !important;
}

.fmk-line-item {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  border: 1px solid transparent !important;
  transition: all 0.25s ease !important;
  margin-bottom: 8px !important;
  background: #FAFAFC !important;
}

.fmk-line-item:hover {
  background: #FFFFFF !important;
  border-color: #FDE68A !important;
  transform: translateX(4px) !important;
  box-shadow: 0 6px 18px rgba(217, 119, 6, 0.1) !important;
}

.fmk-line-icon-wrap {
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
  background: rgba(239, 168, 64, 0.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  transition: background-color 0.25s ease !important;
}

.fmk-line-item:hover .fmk-line-icon-wrap {
  background: rgba(239, 168, 64, 0.25) !important;
}

.fmk-line-text {
  font-size: 0.88rem !important;
  color: #1C244B !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

/* Contenedor del Mapa interactivo con Lord-Icon Hotspots */
.fmk-map-board {
  background: #FFFFFF !important;
  border-radius: 28px !important;
  padding: 24px !important;
  border: 1px solid rgba(28, 36, 75, 0.08) !important;
  box-shadow: 0 16px 45px rgba(28, 36, 75, 0.05) !important;
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
}

.fmk-map-canvas-relative {
  position: relative !important;
  width: 100% !important;
  max-width: 540px !important;
  min-height: 520px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.fmk-map-base-img {
  width: 100% !important;
  max-width: 520px !important;
  height: auto !important;
  min-height: 480px !important;
  display: block !important;
  object-fit: contain !important;
}

/* Pins Hotspot con Lord-Icons */
.fmk-hotspot-lordicon {
  position: absolute !important;
  width: 38px !important;
  height: 38px !important;
  transform: translate(-50%, -50%) !important;
  cursor: pointer !important;
  z-index: 10 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1.5px solid #D97706 !important;
  box-shadow: 0 4px 12px rgba(217, 119, 6, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease !important;
}

.fmk-hotspot-lordicon:hover {
  transform: translate(-50%, -50%) scale(1.22) !important;
  box-shadow: 0 8px 20px rgba(217, 119, 6, 0.45) !important;
  background: #FFFFFF !important;
  z-index: 25 !important;
}

.fmk-hotspot-lordicon .fmk-hotspot-tooltip {
  position: absolute !important;
  bottom: calc(100% + 10px) !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(4px) !important;
  background: #1C244B !important;
  color: #FFFFFF !important;
  padding: 8px 14px !important;
  border-radius: 10px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.25) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  z-index: 30 !important;
}

.fmk-hotspot-lordicon .fmk-hotspot-tooltip::after {
  content: '' !important;
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border: 5px solid transparent !important;
  border-top-color: #1C244B !important;
}

.fmk-hotspot-lordicon:hover .fmk-hotspot-tooltip {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
}

/* ==========================================================================
   FMK ADVANCED RESPONSIVE ENGINE (MOBILE & TABLET ADAPTATION)
   ========================================================================== */

/* 1. Global Viewport Safety - Prevents horizontal scrollbars on phones */
html,
body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

.fmk-page-root {
  overflow-x: hidden !important;
  width: 100% !important;
}

/* 2. Mobile & Tablet Navigation Menu Polish */
.elementor-menu-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  padding: 10px !important;
  background: #F8FAFC !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  color: #1C244B !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.elementor-menu-toggle:hover {
  background: #FEF3C7 !important;
  color: #D97706 !important;
  border-color: #FDE68A !important;
}

.elementor-nav-menu--dropdown {
  background: #FFFFFF !important;
  border-radius: 18px !important;
  box-shadow: 0 20px 45px rgba(28, 36, 75, 0.14) !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  padding: 14px 16px !important;
  z-index: 9999 !important;
}

.elementor-nav-menu--dropdown a {
  padding: 12px 18px !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #1C244B !important;
  border-radius: 10px !important;
  transition: all 0.2s ease !important;
}

.elementor-nav-menu--dropdown a:hover {
  background: #FEF3C7 !important;
  color: #D97706 !important;
}

/* 3. Hero Parallax Mobile Optimization */
@media (max-width: 992px) {
  .fmk-hero-parallax-section {
    padding: 100px 20px 40px 20px !important;
    background-attachment: scroll !important;
    /* Fixes mobile iOS/Android fixed background glitch */
    min-height: 72vh !important;
    justify-content: flex-end !important;
  }

  .fmk-hero-headline {
    font-size: clamp(1.7rem, 4.2vw, 2.4rem) !important;
    line-height: 1.25 !important;
    margin-bottom: 16px !important;
  }

  .fmk-hero-lead {
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
    margin-bottom: 26px !important;
  }

  .fmk-hero-btn-row {
    margin-bottom: 36px !important;
  }

  .fmk-hero-stats-bar {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    max-width: 900px !important;
  }

  .fmk-hero-stat-card {
    padding: 12px 10px !important;
  }

  .fmk-stat-title {
    font-size: 0.85rem !important;
  }

  .fmk-stat-sub {
    font-size: 0.72rem !important;
  }
}

@media (max-width: 680px) {
  .fmk-hero-parallax-section {
    padding: 40px 12px 18px 12px !important;
    min-height: 58vh !important;
    justify-content: flex-end !important;
  }

  .fmk-hero-stats-bar {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    max-width: 440px !important;
  }

  .fmk-hero-stat-card {
    flex-direction: row !important;
    text-align: left !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding: 10px 14px !important;
  }

  .fmk-stat-icon-wrapper {
    margin-bottom: 0 !important;
    width: 36px !important;
    height: 36px !important;
  }

  .fmk-stat-number {
    font-size: 1.45rem !important;
    margin-bottom: 0 !important;
    text-align: left !important;
  }

  .fmk-stat-title {
    font-size: 0.85rem !important;
    margin-bottom: 0 !important;
    text-align: left !important;
  }

  .fmk-stat-sub {
    font-size: 0.72rem !important;
    text-align: left !important;
  }
}

@media (max-width: 480px) {
  .fmk-hero-parallax-section {
    padding: 30px 10px 16px 10px !important;
    min-height: 52vh !important;
    justify-content: flex-end !important;
  }

  .fmk-hero-pill {
    padding: 6px 14px !important;
    font-size: 0.76rem !important;
    margin-bottom: 14px !important;
  }

  .fmk-hero-headline {
    font-size: 1.55rem !important;
  }

  .fmk-hero-lead {
    font-size: 0.9rem !important;
  }

  .fmk-btn-primary {
    width: 100% !important;
    justify-content: center !important;
    padding: 13px 22px !important;
    font-size: 0.95rem !important;
  }
}

/* 4. Video Responsiveness */
@media (max-width: 768px) {
  #iniciativas {
    padding: 24px 16px 12px 16px !important;
  }

  #iniciativas>div {
    border-radius: 16px !important;
  }

  #iniciativas video {
    border-radius: 16px !important;
  }
}

/* 5. Iniciativas y Canales (5 Badge Cards Grid) */
@media (max-width: 1024px) {
  .fmk-services-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

@media (max-width: 680px) {
  .fmk-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .fmk-service-badge-card {
    padding: 18px 12px 16px 12px !important;
    border-radius: 18px !important;
  }

  .fmk-service-badge-img-wrap {
    width: 80px !important;
    height: 80px !important;
    margin-bottom: 12px !important;
  }

  .fmk-service-badge-title {
    font-size: 0.92rem !important;
  }

  .fmk-service-badge-desc {
    font-size: 0.76rem !important;
    margin-bottom: 10px !important;
  }
}

@media (max-width: 440px) {
  .fmk-services-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .fmk-service-badge-card {
    flex-direction: row !important;
    text-align: left !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px 16px !important;
  }

  .fmk-service-badge-img-wrap {
    width: 64px !important;
    height: 64px !important;
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
  }
}

/* 6. Programas & Noticias 3-Columns Grid Responsive Override */
@media (max-width: 992px) {

  .fmk-grid-3,
  div[style*="grid-template-columns: repeat(3"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}

@media (max-width: 640px) {

  .fmk-grid-3,
  div[style*="grid-template-columns: repeat(3"],
  div[style*="grid-template-columns: repeat(2"] {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

/* 7. Noticias Header Responsive */
@media (max-width: 768px) {
  .fmk-news-header-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  .fmk-news-header-row a.tcs-btn-outline {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  .fmk-news-card {
    border-radius: 18px !important;
  }
}

/* 8. Territorio & Mapa de Bolivia Responsive */
@media (max-width: 992px) {
  .fmk-geo-layout {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .fmk-lines-scroll-box {
    max-height: 440px !important;
    border-radius: 20px !important;
  }

  .fmk-map-board {
    border-radius: 22px !important;
    padding: 18px !important;
  }
}

@media (max-width: 640px) {
  .fmk-lines-scroll-box {
    max-height: 380px !important;
    padding: 16px 12px !important;
  }

  .fmk-line-item {
    padding: 10px 12px !important;
    gap: 12px !important;
    border-radius: 12px !important;
  }

  .fmk-line-icon-wrap {
    width: 42px !important;
    height: 42px !important;
    border-radius: 10px !important;
  }

  .fmk-line-text {
    font-size: 0.8rem !important;
  }

  .fmk-map-board {
    padding: 12px 8px !important;
  }

  .fmk-hotspot-lordicon {
    width: 32px !important;
    height: 32px !important;
  }

  .fmk-hotspot-lordicon lord-icon {
    width: 20px !important;
    height: 20px !important;
  }

  .fmk-hotspot-lordicon .fmk-hotspot-tooltip {
    font-size: 10.5px !important;
    padding: 6px 10px !important;
    white-space: normal !important;
    max-width: 170px !important;
    text-align: center !important;
  }
}

/* Tap support for map tooltips on touch devices */
.fmk-hotspot-lordicon:focus .fmk-hotspot-tooltip,
.fmk-hotspot-lordicon:active .fmk-hotspot-tooltip {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
}

/* 9. Marquee Patrocinadores Responsive */
@media (max-width: 768px) {
  .fmk-sponsor-item {
    margin: 0 14px !important;
  }

  .fmk-sponsor-item img {
    max-height: 48px !important;
  }
}

/* ==========================================================================
   FMK REELS & PROGRAMAS DE INTERVENCIÓN (STORY REEL CAROUSEL)
   ========================================================================== */
.fmk-reels-section,
.fmk-programs-reels-section {
  padding: 85px 24px 60px 24px !important;
  background: #FFFFFF !important;
  position: relative !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.8) !important;
}

.fmk-reels-header {
  max-width: 1240px !important;
  margin: 0 auto 34px auto !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}

.fmk-reels-nav-controls {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.fmk-reels-nav-btn {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: #F8FAFC !important;
  border: 1.5px solid rgba(226, 232, 240, 0.9) !important;
  color: #1C244B !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 12px rgba(28, 36, 75, 0.05) !important;
}

.fmk-reels-nav-btn:hover {
  background: #FEF3C7 !important;
  border-color: #D97706 !important;
  color: #D97706 !important;
  transform: scale(1.08) !important;
  box-shadow: 0 6px 16px rgba(217, 119, 6, 0.2) !important;
}

.fmk-reels-track-wrapper {
  max-width: 1280px !important;
  margin: 0 auto !important;
  position: relative !important;
}

.fmk-reels-track {
  display: flex !important;
  gap: 24px !important;
  overflow-x: auto !important;
  scroll-behavior: smooth !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 12px 6px 28px 6px !important;
  scrollbar-width: thin !important;
  scrollbar-color: #FDE68A transparent !important;
}

.fmk-reels-track::-webkit-scrollbar {
  height: 6px !important;
}

.fmk-reels-track::-webkit-scrollbar-thumb {
  background: #FDE68A !important;
  border-radius: 9999px !important;
}

.fmk-reel-card {
  flex: 0 0 290px !important;
  height: 430px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  position: relative !important;
  scroll-snap-align: start !important;
  box-shadow: 0 14px 34px rgba(28, 36, 75, 0.12) !important;
  border: 1px solid rgba(28, 36, 75, 0.08) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease !important;
  cursor: grab !important;
}

.fmk-reel-card.fmk-program-card {
  flex: 0 0 325px !important;
  height: 480px !important;
}

.fmk-reel-card:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 22px 48px rgba(217, 119, 6, 0.24) !important;
}

.fmk-reel-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.55s ease !important;
}

.fmk-reel-card:hover img {
  transform: scale(1.08) !important;
}

.fmk-reel-overlay {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 28px 22px 24px 22px !important;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0) 0%, rgba(15, 23, 42, 0.75) 35%, rgba(15, 23, 42, 0.96) 80%, rgba(15, 23, 42, 0.99) 100%) !important;
  color: #FFFFFF !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}

.fmk-reel-badge {
  display: inline-block !important;
  align-self: flex-start !important;
  background: #FEF3C7 !important;
  color: #B45309 !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  padding: 4px 12px !important;
  border-radius: 9999px !important;
  margin-bottom: 10px !important;
  border: 1px solid #FDE68A !important;
}

.fmk-reel-title {
  font-size: 1.22rem !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}

.fmk-reel-caption {
  font-size: 0.86rem !important;
  color: rgba(255, 255, 255, 0.9) !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.5 !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4) !important;
}

.fmk-reel-action-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 20px !important;
  background: rgba(254, 243, 199, 0.95) !important;
  color: #B45309 !important;
  font-size: 0.84rem !important;
  font-weight: 800 !important;
  border-radius: 9999px !important;
  border: 1px solid #FDE68A !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  backdrop-filter: blur(8px) !important;
  align-self: flex-start !important;
}

.fmk-reel-action-btn:hover {
  background: #D97706 !important;
  color: #FFFFFF !important;
  border-color: #D97706 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(217, 119, 6, 0.4) !important;
}

.fmk-reel-action-btn svg {
  transition: transform 0.25s ease !important;
}

.fmk-reel-action-btn:hover svg {
  transform: translateX(4px) !important;
}

@media (max-width: 680px) {

  .fmk-reels-section,
  .fmk-programs-reels-section {
    padding: 55px 16px 40px 16px !important;
  }

  .fmk-reels-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  .fmk-reels-nav-controls {
    align-self: flex-end !important;
  }

  .fmk-reel-card {
    flex: 0 0 250px !important;
    height: 380px !important;
    border-radius: 20px !important;
  }

  .fmk-reel-card.fmk-program-card {
    flex: 0 0 275px !important;
    height: 420px !important;
  }

  .fmk-reel-title {
    font-size: 1.08rem !important;
  }

  .fmk-reel-caption {
    font-size: 0.8rem !important;
    margin-bottom: 10px !important;
  }
}

/* ==========================================================================
   ELEMENTOR THEME BUILDER HEADER & NAVIGATION SYSTEM (TEMPLATE 4265)
   Garantiza que el encabezado y menú superior carguen con diseño perfecto
   incluso sin depender de la caché o archivos CSS de Elementor en uploads.
   ========================================================================== */

/* 1. Header Container & Sticky Engine */
.elementor-location-header,
.elementor-4265 {
  background-color: #FFFFFF !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08) !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
}

.elementor-4265 .elementor-section.elementor-element-6bd75d62 {
  margin: 0 !important;
  padding: 6px 0 !important;
  background-color: #FFFFFF !important;
}

.elementor-4265 .elementor-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: 1260px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* 2. Logo de la Fundación */
.elementor-4265 .elementor-column.elementor-element-399cd667 {
  width: auto !important;
  flex: 0 0 auto !important;
  max-width: 260px !important;
  display: flex !important;
  align-items: center !important;
}

.elementor-4265 .elementor-widget-theme-site-logo,
.elementor-4265 .elementor-element-3cd97b78 {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.elementor-4265 .elementor-widget-theme-site-logo img,
.elementor-4265 .elementor-element-3cd97b78 img {
  width: auto !important;
  max-width: 220px !important;
  height: auto !important;
  max-height: 60px !important;
  object-fit: contain !important;
  display: block !important;
}

/* 3. Columna del Menú */
.elementor-4265 .elementor-column.elementor-element-3846a97f {
  width: auto !important;
  flex: 1 1 auto !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

.elementor-4265 .elementor-widget-nav-menu,
.elementor-4265 .elementor-element-7dd418f7 {
  margin: 0 !important;
  width: auto !important;
}

/* 4. Desktop Navigation Bar */
.elementor-4265 .elementor-nav-menu--main {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 2px !important;
}

.elementor-4265 .elementor-nav-menu--main > li {
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-4265 .elementor-nav-menu--main .elementor-item {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #1C244B !important;
  text-decoration: none !important;
  padding: 9px 13px !important;
  border-radius: 9999px !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
  letter-spacing: -0.2px !important;
}

.elementor-4265 .elementor-nav-menu--main .elementor-item:hover,
.elementor-4265 .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-4265 .elementor-nav-menu--main .elementor-item.highlighted {
  color: #D97706 !important;
  background-color: #FEF3C7 !important;
}

.elementor-4265 .elementor-nav-menu--main .elementor-item svg,
.elementor-4265 .elementor-nav-menu--main .elementor-item .sub-arrow {
  width: 10px !important;
  height: 10px !important;
  fill: currentColor !important;
  opacity: 0.7 !important;
  transition: transform 0.2s ease !important;
}

.elementor-4265 .elementor-nav-menu--main > li:hover > .elementor-item svg,
.elementor-4265 .elementor-nav-menu--main > li:hover > .elementor-item .sub-arrow {
  transform: rotate(180deg) !important;
  opacity: 1 !important;
}

/* 5. Dropdown Submenús */
.elementor-4265 .elementor-nav-menu--dropdown,
.elementor-4265 .elementor-nav-menu__container.elementor-nav-menu--dropdown {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 260px !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 40px rgba(28, 36, 75, 0.12) !important;
  padding: 10px !important;
  list-style: none !important;
  margin: 6px 0 0 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(8px) !important;
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s !important;
  z-index: 10000 !important;
  pointer-events: none !important;
}

.elementor-4265 .elementor-nav-menu--main > li:hover > .elementor-nav-menu--dropdown,
.elementor-4265 .elementor-nav-menu--main > li:focus-within > .elementor-nav-menu--dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

.elementor-4265 .elementor-nav-menu--dropdown li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-4265 .elementor-nav-menu--dropdown .elementor-sub-item {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #334155 !important;
  text-decoration: none !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  display: block !important;
  transition: all 0.2s ease !important;
  white-space: normal !important;
  line-height: 1.4 !important;
}

.elementor-4265 .elementor-nav-menu--dropdown .elementor-sub-item:hover,
.elementor-4265 .elementor-nav-menu--dropdown .elementor-sub-item.elementor-item-active {
  background-color: #FEF3C7 !important;
  color: #D97706 !important;
  transform: translateX(4px) !important;
}

/* 6. Mobile & Tablet Navigation (< 1024px) */
@media (max-width: 1024px) {
  .elementor-4265 .elementor-nav-menu--main {
    display: none !important;
  }

  .elementor-4265 .elementor-menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    background: #FEF3C7 !important;
    border: 1px solid #FDE68A !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    color: #D97706 !important;
    transition: all 0.2s ease !important;
  }

  .elementor-4265 .elementor-menu-toggle:hover {
    background: #FDE68A !important;
    transform: scale(1.04) !important;
  }

  .elementor-4265 .elementor-menu-toggle i,
  .elementor-4265 .elementor-menu-toggle svg {
    fill: #D97706 !important;
    color: #D97706 !important;
    font-size: 20px !important;
  }

  .elementor-4265 .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: static !important;
    width: 100% !important;
    box-shadow: none !important;
    border: none !important;
    padding: 14px 0 !important;
    background: transparent !important;
  }

  .elementor-4265 .elementor-nav-menu--dropdown .elementor-item {
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 12px 16px !important;
    display: block !important;
  }
}

@media (min-width: 1025px) {
  .elementor-4265 .elementor-menu-toggle {
    display: none !important;
  }
}