/*
  FlexiCare Insurance — V1157 Homepage Programs / Insurance Categories Polish
  Scope: home route only via body.fc-home.
  Purpose: refine the Individuals / Businesses programs section without touching
  service pages, catalog data, routing, forms, or global component CSS.
*/

body.fc-home{
  --fc-home-programs-petrol:#0c3441;
  --fc-home-programs-petrol-2:#0f5363;
  --fc-home-programs-accent:#0e98b2;
  --fc-home-programs-ink:#173f4a;
  --fc-home-programs-muted:#5f7880;
  --fc-home-programs-border:rgba(12,52,65,.125);
  --fc-home-programs-soft:rgba(14,152,178,.075);
}

body.fc-home .fc-programs-split{
  gap:20px;
  align-items:stretch;
}

body.fc-home .fc-programs-box{
  position:relative;
  overflow:hidden;
  padding:20px;
  border-radius:28px !important;
  border:1px solid var(--fc-home-programs-border) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(14,152,178,.115), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,.97), rgba(244,250,251,.90));
  box-shadow:0 18px 46px rgba(12,52,65,.075);
}

body.fc-home .fc-programs-box::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg, rgba(12,52,65,.92), rgba(14,152,178,.42));
  opacity:.86;
}

body.fc-home .fc-programs-box:nth-child(2)::before{
  background:linear-gradient(90deg, rgba(15,83,99,.92), rgba(14,152,178,.50));
}

body.fc-home .fc-programs-box-h{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin:0 0 16px;
  padding:4px 0 15px;
  border-bottom:1px solid rgba(12,52,65,.095);
}

body.fc-home .fc-programs-box-h::after{
  content:"Ενότητα ασφαλιστικών λύσεων";
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(14,152,178,.18);
  background:rgba(255,255,255,.70);
  color:var(--fc-home-programs-muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  white-space:nowrap;
}

body.fc-home .fc-programs-box-title-btn{
  align-self:flex-start;
  justify-content:flex-start;
  min-height:auto;
  padding:0;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--fc-home-programs-petrol) !important;
  font-size:18px;
  font-weight:780;
  line-height:1.22;
  letter-spacing:-.025em;
  text-align:left;
}

body.fc-home .fc-programs-box-title-btn:hover,
body.fc-home .fc-programs-box-title-btn:focus-visible{
  color:var(--fc-home-programs-petrol-2) !important;
  text-decoration:none;
}

body.fc-home .fc-bullet-cols{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px 10px;
  columns:auto;
  column-gap:0;
  margin:0;
  padding:0;
  list-style:none;
}

body.fc-home .fc-bullet-cols li{
  position:relative;
  break-inside:auto;
  margin:0;
  min-width:0;
}

body.fc-home .fc-bullet-cols a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:40px;
  width:100%;
  padding:9px 12px 9px 34px;
  border-radius:15px;
  border:1px solid rgba(12,52,65,.08);
  background:rgba(255,255,255,.68);
  color:var(--fc-home-programs-ink) !important;
  box-shadow:none !important;
  font-size:14px;
  font-weight:650;
  line-height:1.25;
  text-decoration:none !important;
  transition:
    transform .16s ease,
    border-color .16s ease,
    background-color .16s ease,
    color .16s ease,
    box-shadow .16s ease;
}

body.fc-home .fc-bullet-cols a::before{
  content:"";
  position:absolute;
  left:13px;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg, rgba(12,52,65,.70), rgba(14,152,178,.78));
  transform:translateY(-50%);
  box-shadow:0 0 0 4px rgba(14,152,178,.08);
}

body.fc-home .fc-bullet-cols a:hover{
  transform:translateY(-1px);
  border-color:rgba(14,152,178,.22);
  background:rgba(255,255,255,.92);
  color:var(--fc-home-programs-petrol-2) !important;
  box-shadow:0 10px 24px rgba(12,52,65,.065) !important;
}

body.fc-home .fc-bullet-cols a:focus-visible{
  outline:3px solid rgba(14,152,178,.24);
  outline-offset:3px;
  border-color:rgba(14,152,178,.34);
}

body.fc-home .fc-programs-split + *{
  margin-top:22px;
}

@media (max-width:980px){
  body.fc-home .fc-programs-split{
    grid-template-columns:1fr;
    gap:16px;
  }

  body.fc-home .fc-programs-box{
    padding:18px;
  }
}

@media (max-width:720px){
  body.fc-home .fc-programs-box-h{
    display:block;
  }

  body.fc-home .fc-programs-box-h::after{
    margin-top:10px;
  }

  body.fc-home .fc-bullet-cols{
    grid-template-columns:1fr;
  }

  body.fc-home .fc-bullet-cols a{
    min-height:42px;
  }
}

@media (max-width:480px){
  body.fc-home .fc-programs-box{
    border-radius:22px !important;
    padding:16px;
  }

  body.fc-home .fc-programs-box-title-btn{
    font-size:16px;
  }

  body.fc-home .fc-programs-box-h::after{
    width:100%;
    justify-content:center;
    white-space:normal;
    text-align:center;
  }
}
