/* =========================================================
   Agripoli v0.45 — Safe program logos + mobile-first showcase
   Scoped to the Programs page. Existing site identity preserved.
   ========================================================= */

.page-programs .program-card{
  overflow:hidden !important;
  isolation:isolate;
}

/* A hard visual boundary: logo and copy can never occupy the same layer. */
.page-programs .program-card-logo{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 132px !important;
  width:100% !important;
  height:132px !important;
  min-height:132px !important;
  max-height:132px !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  contain:layout paint !important;
  border-radius:20px !important;
  background:#fff !important;
  box-sizing:border-box !important;
}
.page-programs .program-card-logo::after{
  content:"";
  position:absolute;
  inset:9px;
  border-radius:15px;
  border:1px solid rgba(47,185,128,.055);
  pointer-events:none;
}
.page-programs .program-card-logo img{
  position:relative !important;
  inset:auto !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
  filter:saturate(.98) contrast(1.01) !important;
  clip-path:inset(0 round 18px);
}

.page-programs .program-card-content{
  position:relative;
  z-index:3;
  display:flex;
  flex:1 1 auto;
  min-width:0;
  flex-direction:column;
  padding:0 2px 2px;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(248,252,250,.86) 38%);
}
.page-programs .program-card-content .program-card-meta{margin-top:16px !important}
.page-programs .program-card-content h3{
  max-width:100%;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.page-programs .program-card-content p{
  max-width:100%;
  overflow-wrap:anywhere;
}
.page-programs .program-card-content .program-card-cta{margin-top:auto}
.page-programs .program-card.compact .program-card-logo{
  flex-basis:112px !important;
  height:112px !important;
  min-height:112px !important;
  max-height:112px !important;
  padding:0 !important;
}

/* Desktop constellation keeps the premium floating composition, with safe logo tiles. */
.page-programs .program-float{
  overflow:hidden !important;
  contain:layout paint !important;
  padding:0 !important;
  isolation:isolate;
}
.page-programs .program-float::after{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(47,185,128,.06);
  border-radius:16px;
  pointer-events:none;
}
.page-programs .program-float img{
  position:relative !important;
  z-index:1;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
  clip-path:inset(0 round 19px);
}

@media (max-width:760px){
  /* Mobile: replace orbiting absolute cards with a stable, premium showcase grid. */
  .page-programs .programs-stage{
    width:100% !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    padding:18px 12px 12px !important;
    margin:2px 0 0 !important;
    border-radius:28px;
    border:1px solid rgba(47,185,128,.11);
    background:
      radial-gradient(circle at 50% 14%,rgba(92,216,164,.13),transparent 34%),
      linear-gradient(180deg,rgba(255,255,255,.82),rgba(241,250,245,.88));
    box-shadow:0 18px 44px rgba(23,52,43,.07);
    overflow:hidden;
  }
  .page-programs .programs-stage::before{
    display:none !important;
  }
  .page-programs .program-center{
    grid-column:1/-1 !important;
    position:relative !important;
    inset:auto !important;
    width:124px !important;
    height:124px !important;
    margin:0 auto 4px !important;
    padding:14px !important;
    box-shadow:0 20px 42px rgba(23,52,43,.12),inset 0 1px 0 #fff !important;
  }
  .page-programs .program-center strong{font-size:36px !important}
  .page-programs .program-center span{font-size:8.5px !important;letter-spacing:.10em !important}
  .page-programs .program-float,
  .page-programs .program-float.f1,
  .page-programs .program-float.f2,
  .page-programs .program-float.f3,
  .page-programs .program-float.f4,
  .page-programs .program-float.f5,
  .page-programs .program-float.f6{
    position:relative !important;
    inset:auto !important;
    display:flex !important;
    width:100% !important;
    height:84px !important;
    min-width:0 !important;
    padding:0 !important;
    border-radius:17px !important;
    animation:programMobileGlow 6s ease-in-out infinite !important;
    transform:none;
  }
  .page-programs .program-float.f1{animation-delay:0s !important}
  .page-programs .program-float.f2{animation-delay:-1s !important}
  .page-programs .program-float.f3{animation-delay:-2s !important}
  .page-programs .program-float.f4{animation-delay:-3s !important}
  .page-programs .program-float.f5{animation-delay:-4s !important}
  .page-programs .program-float.f6{animation-delay:-5s !important}
  .page-programs .program-float img{
    width:100% !important;
    height:100% !important;
    clip-path:inset(0 round 16px);
  }

  .page-programs .program-card,
  .page-programs .program-card.compact{
    padding:12px !important;
    border-radius:22px !important;
  }
  .page-programs .program-card-logo,
  .page-programs .program-card.compact .program-card-logo{
    flex-basis:104px !important;
    height:104px !important;
    min-height:104px !important;
    max-height:104px !important;
    border-radius:17px !important;
  }
  .page-programs .program-card-logo img{clip-path:inset(0 round 16px)}
  .page-programs .program-card-content{padding-inline:1px}
  .page-programs .program-card-content .program-card-meta{margin-top:13px !important}
  .page-programs .program-card-content h3{margin-top:12px !important;font-size:18px !important;line-height:1.18 !important}
  .page-programs .program-card-content p{font-size:12.5px !important;line-height:1.55 !important}
}

@media (max-width:420px){
  .page-programs .programs-stage{gap:8px !important;padding:15px 9px 10px !important;border-radius:24px}
  .page-programs .program-center{width:114px !important;height:114px !important}
  .page-programs .program-center strong{font-size:33px !important}
  .page-programs .program-float,
  .page-programs .program-float.f1,
  .page-programs .program-float.f2,
  .page-programs .program-float.f3,
  .page-programs .program-float.f4,
  .page-programs .program-float.f5,
  .page-programs .program-float.f6{height:76px !important;border-radius:15px !important}
  .page-programs .program-card-logo,
  .page-programs .program-card.compact .program-card-logo{
    flex-basis:96px !important;
    height:96px !important;
    min-height:96px !important;
    max-height:96px !important;
  }
  .page-programs .program-card-content h3{font-size:17px !important}
  .page-programs .program-card-content p{font-size:12px !important}
}

@keyframes programMobileGlow{
  0%,100%{opacity:.92;box-shadow:0 8px 20px rgba(23,52,43,.055),0 0 0 1px rgba(47,185,128,.02)}
  45%{opacity:1;box-shadow:0 14px 28px rgba(23,52,43,.08),0 0 22px rgba(47,185,128,.075),0 0 0 1px rgba(47,185,128,.08)}
}

@media (prefers-reduced-motion:reduce){
  .page-programs .program-float{animation:none !important}
}


/* v0.50 — exact Take Off Istanbul and Halkbank MasterClass identity cards */
.page-programs .program-card-takeoff .program-card-logo,
.page-programs .program-card-halkbank .program-card-logo{
  border:1px solid rgba(23,52,43,.08) !important;
  box-shadow:0 12px 28px rgba(23,52,43,.08) !important;
}
.page-programs .program-card-takeoff .program-card-logo img,
.page-programs .program-card-halkbank .program-card-logo img{
  object-fit:cover !important;
  clip-path:inset(0 round 18px) !important;
}
.page-programs .program-card-takeoff:hover .program-card-logo,
.page-programs .program-card-halkbank:hover .program-card-logo{
  box-shadow:0 18px 36px rgba(23,52,43,.13) !important;
}
@media (max-width:760px){
  .page-programs .program-card-takeoff .program-card-logo img,
  .page-programs .program-card-halkbank .program-card-logo img{
    clip-path:inset(0 round 16px) !important;
  }
}

/* v0.51 — revised Take Off Istanbul identity */
.page-programs .program-card-takeoff .program-card-logo{
  background:#050505 !important;
  padding:0 !important;
  overflow:hidden !important;
}
.page-programs .program-card-takeoff .program-card-logo img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  clip-path:inset(0 round 18px) !important;
  background:#050505 !important;
}
@media (max-width:760px){
  .page-programs .program-card-takeoff .program-card-logo img{
    clip-path:inset(0 round 16px) !important;
  }
}

/* v0.52 — force visible Take Off card-ready logo */
.page-programs .program-card-takeoff .program-card-logo{
  background:#050505 !important;
  padding:0 !important;
  min-height:132px !important;
}
.page-programs .program-card.compact.program-card-takeoff .program-card-logo{
  height:132px !important;
  max-height:132px !important;
  flex-basis:132px !important;
}
.page-programs .program-card-takeoff .program-card-logo img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  clip-path:inset(0 round 18px) !important;
}
@media (max-width:760px){
  .page-programs .program-card.compact.program-card-takeoff .program-card-logo{
    height:116px !important;
    min-height:116px !important;
    max-height:116px !important;
    flex-basis:116px !important;
  }
}

/* v0.54 — premium Take Off panel + Let's Scale Up addition */
.page-programs .program-card-takeoff .program-card-logo{
  min-height:132px !important;
  height:132px !important;
  max-height:132px !important;
  flex-basis:132px !important;
  padding:18px 22px !important;
  background:
    radial-gradient(circle at 24% 18%,rgba(255,255,255,.95),rgba(255,255,255,0) 34%),
    linear-gradient(145deg,#fbfffd 0%,#eff8f4 58%,#ffffff 100%) !important;
  border:1px solid rgba(47,185,128,.13) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -14px 26px rgba(47,185,128,.045),
    0 16px 34px rgba(23,52,43,.075) !important;
}
.page-programs .program-card-takeoff .program-card-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
  clip-path:none !important;
  filter:drop-shadow(0 10px 18px rgba(149,27,32,.12)) saturate(1.04) contrast(1.02) !important;
}
.page-programs .program-card-takeoff:hover .program-card-logo{
  border-color:rgba(47,185,128,.22) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -14px 26px rgba(47,185,128,.055),
    0 20px 40px rgba(23,52,43,.105) !important;
}
.page-programs .program-card-letscaleup .program-card-logo{
  padding:18px !important;
  background:
    radial-gradient(circle at 72% 18%,rgba(47,185,128,.09),rgba(47,185,128,0) 38%),
    linear-gradient(145deg,#ffffff 0%,#fbfdfc 48%,#f2faf6 100%) !important;
  border:1px solid rgba(23,52,43,.07) !important;
}
.page-programs .program-card-letscaleup .program-card-logo img{
  width:82% !important;
  height:82% !important;
  object-fit:contain !important;
  object-position:center !important;
  clip-path:none !important;
  filter:contrast(1.08) saturate(.98) !important;
}

@media (max-width:760px){
  .page-programs .program-card.compact.program-card-takeoff .program-card-logo{
    height:112px !important;
    min-height:112px !important;
    max-height:112px !important;
    flex-basis:112px !important;
    padding:16px 18px !important;
  }
  .page-programs .program-card-letscaleup .program-card-logo{
    padding:15px !important;
  }
  .page-programs .program-card-letscaleup .program-card-logo img{
    width:84% !important;
    height:84% !important;
  }
}

/* v0.55 — She Wins Climate logo balance */
.page-programs .program-card-shewins .program-card-logo{
  padding:14px 18px !important;
  background:
    radial-gradient(circle at 74% 18%,rgba(20,151,82,.11),rgba(20,151,82,0) 36%),
    linear-gradient(145deg,#f7fffc 0%,#edf8f5 52%,#ffffff 100%) !important;
  border:1px solid rgba(23,52,43,.08) !important;
}
.page-programs .program-card-shewins .program-card-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  clip-path:none !important;
  filter:saturate(1.04) contrast(1.02) !important;
}

@media (max-width:760px){
  .page-programs .program-card-shewins .program-card-logo{
    padding:12px 14px !important;
  }
}

/* v0.56 — Take Off logo optical containment */
.page-programs .program-card-takeoff .program-card-logo{
  padding:20px 34px !important;
  overflow:hidden !important;
}
.page-programs .program-card-takeoff .program-card-logo img{
  width:86% !important;
  height:auto !important;
  max-width:86% !important;
  max-height:76px !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
  clip-path:none !important;
}

@media (max-width:760px){
  .page-programs .program-card.compact.program-card-takeoff .program-card-logo{
    padding:18px 28px !important;
  }
  .page-programs .program-card-takeoff .program-card-logo img{
    width:82% !important;
    max-width:82% !important;
    max-height:68px !important;
  }
}
