:root{
  --elta-radius: 1.25rem;
  /* Palette inspired by ELTA Madagascar logo */
  --elta-green: #0b6b2a;
  --elta-blue: #0b4fa3;
  --elta-red: #e53935;
  --elta-navy: #0b2a4a;
  --elta-bg: #f7f8fb;
}
.rounded-4{ border-radius: var(--elta-radius)!important; }
.hero-slide{ min-height: 220px; background-size: cover; background-position: center; position: relative; overflow: hidden; }
.hero-overlay{ position:absolute; inset:0; background: linear-gradient(90deg, rgba(0,0,0,.65), rgba(0,0,0,.2)); }
.placeholder-hero{ background:#f1f1f1; min-height: 220px; }
.tool-card pre{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
.prose{ line-height: 1.65; }
.bg-light-subtle{ background: rgba(13,110,253,0.04)!important; }

/* ELTA Madagascar theme helpers */
.navbar-elta{ background: var(--elta-navy)!important; }
.btn-elta{ background: var(--elta-green)!important; border-color: var(--elta-green)!important; color:#fff!important; }
.btn-elta:hover{ filter: brightness(0.95); }
.btn-elta-outline{ border-color: var(--elta-green)!important; color: var(--elta-green)!important; }
.btn-elta-outline:hover{ background: rgba(11,107,42,0.08)!important; }
.btn-elta-apk{
  background: linear-gradient(135deg, var(--elta-blue), var(--elta-red))!important;
  border-color: transparent!important;
  color:#fff!important;
  box-shadow: 0 6px 16px rgba(11,42,74,0.24);
}
.btn-elta-apk:hover,
.btn-elta-apk:focus{
  color:#fff!important;
  filter: brightness(1.04);
  box-shadow: 0 8px 18px rgba(11,42,74,0.28);
}
.text-elta-green{ color: var(--elta-green)!important; }
.text-elta-blue{ color: var(--elta-blue)!important; }
.text-elta-red{ color: var(--elta-red)!important; }
.bg-elta-soft{ background: var(--elta-bg)!important; }

.brand-logo{ width: 42px; height: 42px; object-fit: contain; }

@media print{
  .no-print{ display:none!important; }
  body{ background:#fff!important; }
}


/* Hero carousel sizing */
#heroCarousel .carousel-item{ height: 360px; }
#heroCarousel .carousel-item img{ height: 100%; width: 100%; object-fit: cover; }
@media (max-width: 576px){ #heroCarousel .carousel-item{ height: 240px; } }


/* Association carousel sizing (inside card) */
.assoc-carousel-wrap{ height: 150px; overflow: hidden; }
#assocCarousel .carousel-item{ height: 150px; }
#assocCarousel .carousel-item img{ height: 100%; width: 100%; object-fit: cover; }
