/* FlexiCare V1161 — Insurance Hubs Visual Baseline Pass
   Scope: /asfaleies, /asfaleies/idiotes, /asfaleies/epixeiriseis only.
   Purpose: calmer premium petrol-light hierarchy without touching service detail pages. */

body.fc-insurance-hub{
  --fc-hub-petrol:#0c3441;
  --fc-hub-petrol-2:#135264;
  --fc-hub-text:#16333d;
  --fc-hub-muted:rgba(22,51,61,.72);
  --fc-hub-line:rgba(19,82,100,.16);
  --fc-hub-line-strong:rgba(19,82,100,.24);
  --fc-hub-surface:#ffffff;
  --fc-hub-soft:#f4faf9;
  --fc-hub-soft-2:#edf7f5;
  --fc-hub-shadow:0 18px 52px rgba(12,52,65,.10);
}

body.fc-insurance-hub .fc-main{
  background:
    radial-gradient(circle at 12% 0%, rgba(21,111,126,.09), transparent 30rem),
    linear-gradient(180deg, rgba(245,251,250,.96), #fff 24rem);
}

/* Hub header */
body.fc-insurance-hub .fc-program-hub{
  padding-top: clamp(28px, 4vw, 54px);
}

body.fc-insurance-hub .fc-hub-head,
body.fc-insurance-hub .fc-section-head{
  align-items: flex-end;
  gap: clamp(18px, 3vw, 34px);
  padding: clamp(22px, 3.2vw, 34px);
  border: 1px solid var(--fc-hub-line);
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(244,250,249,.92)),
    radial-gradient(circle at top right, rgba(23,114,128,.13), transparent 24rem);
  box-shadow: var(--fc-hub-shadow);
}

body.fc-insurance-hub .fc-hub-head > div:first-child,
body.fc-insurance-hub .fc-section-head > div:first-child{
  max-width: 850px;
}

body.fc-insurance-hub .fc-h1{
  color: var(--fc-hub-petrol);
  letter-spacing: -.035em;
  line-height: 1.04;
  text-wrap: balance;
}

body.fc-insurance-hub .fc-hub-sub,
body.fc-insurance-hub .fc-section-head .small{
  max-width: 78ch;
  color: var(--fc-hub-muted);
  font-size: clamp(15px, 1.25vw, 17px);
  line-height: 1.72;
}

body.fc-insurance-hub .fc-hub-actions{
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: min(100%, 300px);
}

body.fc-insurance-hub .fc-hub-actions .btn{
  min-height: 44px;
  border-radius: 999px;
  white-space: nowrap;
}

/* Main /asfaleies split */
body.fc-insurance-hub-main .fc-programs-split{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 26px);
  margin-top: clamp(18px, 2.4vw, 28px) !important;
}

body.fc-insurance-hub-main .fc-programs-box{
  border: 1px solid var(--fc-hub-line);
  border-radius: 28px;
  background: linear-gradient(180deg, #fff, rgba(246,251,250,.96));
  box-shadow: 0 16px 42px rgba(12,52,65,.08);
  overflow: clip;
}

body.fc-insurance-hub-main .fc-programs-box-h{
  margin: -2px -2px 14px;
  padding: 18px 18px 4px;
}

body.fc-insurance-hub-main .fc-programs-box-title-btn,
body.fc-insurance-hub-main .fc-programs-box-title-btn:visited{
  justify-content: center;
  width: 100%;
  border-radius: 999px;
  color: #0c3441;
  background: rgba(255,255,255,.86);
  border: 1px solid var(--fc-hub-line-strong);
  box-shadow: 0 10px 26px rgba(12,52,65,.07);
}

body.fc-insurance-hub-main .fc-bullet-cols{
  column-gap: 28px;
  padding-inline: clamp(18px, 2.2vw, 26px);
  padding-bottom: clamp(18px, 2.2vw, 26px);
}

body.fc-insurance-hub-main .fc-bullet-cols a{
  color: var(--fc-hub-text);
  text-decoration: none;
}

body.fc-insurance-hub-main .fc-bullet-cols a:hover{
  color: var(--fc-hub-petrol-2);
}

/* Segments / quick navigation */
body.fc-insurance-hub .fc-segment{
  margin-top: clamp(18px, 2.5vw, 28px);
  padding: 6px;
  border: 1px solid var(--fc-hub-line);
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 12px 30px rgba(12,52,65,.06);
}

body.fc-insurance-hub .fc-seg{
  border-radius: 999px;
  min-height: 40px;
  font-weight: 700;
}

body.fc-insurance-hub .fc-seg.is-active{
  background: linear-gradient(135deg, #0c3441, #155d6b);
  color: #fff;
  box-shadow: 0 10px 24px rgba(12,52,65,.16);
}

body.fc-insurance-hub .fc-quicknav{
  margin-top: clamp(18px, 2.5vw, 26px);
  border: 1px solid var(--fc-hub-line);
  border-radius: 24px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 30px rgba(12,52,65,.06);
}

body.fc-insurance-hub .fc-quicknav__label{
  color: var(--fc-hub-petrol);
  font-weight: 800;
  letter-spacing: .01em;
}

body.fc-insurance-hub .fc-qn,
body.fc-insurance-hub .fc-qn:visited{
  border: 1px solid rgba(19,82,100,.18);
  border-radius: 999px;
  background: rgba(244,250,249,.92);
  color: #143946;
  font-weight: 650;
  text-decoration: none;
}

body.fc-insurance-hub .fc-qn:hover{
  background: #fff;
  color: var(--fc-hub-petrol);
  border-color: rgba(19,82,100,.30);
}

/* Evaluation/trust panels */
body.fc-insurance-hub .fc-hub-standards,
body.fc-insurance-hub .fc-why,
body.fc-insurance-hub .fc-cta-banner{
  border: 1px solid var(--fc-hub-line);
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(245,251,250,.94));
  box-shadow: 0 16px 42px rgba(12,52,65,.07);
}

body.fc-insurance-hub .fc-hub-standards{
  margin-top: clamp(20px, 3vw, 34px);
  padding: clamp(22px, 3vw, 32px);
}

body.fc-insurance-hub .fc-hub-standards__eyebrow{
  color: var(--fc-hub-petrol-2);
  font-weight: 800;
  letter-spacing: .075em;
}

body.fc-insurance-hub .fc-hub-standards__title,
body.fc-insurance-hub .fc-why__h,
body.fc-insurance-hub .fc-cta-banner__title{
  color: var(--fc-hub-petrol);
  text-wrap: balance;
}

body.fc-insurance-hub .fc-hub-standards__desc,
body.fc-insurance-hub .fc-why__p,
body.fc-insurance-hub .fc-cta-banner__sub{
  color: var(--fc-hub-muted);
  line-height: 1.68;
}

/* Picks / category blocks */
body.fc-insurance-hub .fc-picks{
  margin-top: clamp(22px, 3vw, 34px);
  border: 1px solid var(--fc-hub-line);
  border-radius: 30px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 14px 38px rgba(12,52,65,.065);
}

body.fc-insurance-hub .fc-picks-head{
  gap: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(19,82,100,.10);
}

body.fc-insurance-hub .fc-picks-title{
  color: var(--fc-hub-petrol);
  font-weight: 800;
  letter-spacing: -.015em;
}

body.fc-insurance-hub .fc-picks-sub{
  max-width: 78ch;
  color: var(--fc-hub-muted);
  line-height: 1.62;
}

body.fc-insurance-hub .fc-picks-grid{
  gap: clamp(14px, 2vw, 20px);
}

body.fc-insurance-hub .fc-pick-card,
body.fc-insurance-hub .fc-program-tile{
  border: 1px solid rgba(19,82,100,.14);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(247,252,251,.96)),
    var(--thumb, none);
  box-shadow: 0 10px 28px rgba(12,52,65,.065);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

body.fc-insurance-hub .fc-pick-card:hover,
body.fc-insurance-hub .fc-program-tile:hover{
  transform: translateY(-2px);
  border-color: rgba(19,82,100,.26);
  box-shadow: 0 18px 42px rgba(12,52,65,.10);
}

body.fc-insurance-hub .fc-pick-card-title,
body.fc-insurance-hub .fc-program-tile-title{
  color: var(--fc-hub-petrol);
  font-weight: 800;
  letter-spacing: -.01em;
}

body.fc-insurance-hub .fc-pick-card-sub,
body.fc-insurance-hub .fc-program-tile-sub{
  color: var(--fc-hub-muted);
  line-height: 1.5;
}

body.fc-insurance-hub .fc-program-grid{
  gap: clamp(14px, 2vw, 20px);
  margin-top: clamp(20px, 2.5vw, 30px);
}

body.fc-insurance-hub .fc-chip{
  border-color: rgba(19,82,100,.16);
  background: rgba(244,250,249,.90);
  color: rgba(22,51,61,.78);
}

/* CTA banner in main insurance hub */
body.fc-insurance-hub .fc-cta-banner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(18px, 3vw, 32px);
  padding: clamp(22px, 3vw, 32px);
}

body.fc-insurance-hub .fc-cta-banner__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* Accessibility and anchor stability */
body.fc-insurance-hub :where(.fc-pick-card,.fc-program-tile,.fc-qn,.fc-seg,.btn):focus-visible{
  outline: 3px solid rgba(18,126,142,.28);
  outline-offset: 3px;
}

body.fc-insurance-hub :where(.fc-picks,.fc-program-tile,#fotovoltaika,#efthynes,#kladikes-efthynes,#metaforres-empor):target{
  scroll-margin-top: 132px;
}

/* Responsive */
@media (max-width: 980px){
  body.fc-insurance-hub .fc-hub-head,
  body.fc-insurance-hub .fc-section-head{
    align-items: flex-start;
  }

  body.fc-insurance-hub .fc-hub-actions{
    width: 100%;
    justify-content: flex-start;
  }

  body.fc-insurance-hub-main .fc-programs-split{
    grid-template-columns: 1fr;
  }

  body.fc-insurance-hub .fc-cta-banner{
    align-items: flex-start;
    flex-direction: column;
  }

  body.fc-insurance-hub .fc-cta-banner__actions{
    justify-content: flex-start;
  }
}

@media (max-width: 760px){
  body.fc-insurance-hub .fc-program-hub{
    padding-top: 20px;
  }

  body.fc-insurance-hub .fc-hub-head,
  body.fc-insurance-hub .fc-section-head{
    border-radius: 24px;
    padding: 20px;
  }

  body.fc-insurance-hub .fc-hub-actions,
  body.fc-insurance-hub .fc-hub-actions .btn,
  body.fc-insurance-hub .fc-cta-banner__actions,
  body.fc-insurance-hub .fc-cta-banner__actions .btn{
    width: 100%;
  }

  body.fc-insurance-hub .fc-hub-actions .btn,
  body.fc-insurance-hub .fc-cta-banner__actions .btn{
    justify-content: center;
  }

  body.fc-insurance-hub .fc-segment{
    border-radius: 22px;
  }

  body.fc-insurance-hub .fc-seg{
    flex: 1 1 140px;
  }

  body.fc-insurance-hub .fc-quicknav{
    position: relative;
    top: auto;
    border-radius: 22px;
  }

  body.fc-insurance-hub .fc-quicknav__row{
    display: flex;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.fc-insurance-hub .fc-quicknav__row::-webkit-scrollbar{
    display: none;
  }

  body.fc-insurance-hub .fc-qn{
    flex: 0 0 auto;
  }

  body.fc-insurance-hub .fc-picks{
    border-radius: 24px;
  }

  body.fc-insurance-hub .fc-picks-head{
    align-items: flex-start;
    flex-direction: column;
  }

  body.fc-insurance-hub .fc-picks-head .btn{
    width: 100%;
    justify-content: center;
  }

  body.fc-insurance-hub .fc-pick-card,
  body.fc-insurance-hub .fc-program-tile{
    border-radius: 20px;
  }
}

@media (max-width: 480px){
  body.fc-insurance-hub .fc-h1{
    font-size: clamp(30px, 9vw, 38px);
  }

  body.fc-insurance-hub .fc-hub-sub,
  body.fc-insurance-hub .fc-section-head .small{
    font-size: 15px;
  }

  body.fc-insurance-hub .fc-program-grid,
  body.fc-insurance-hub .fc-picks-grid{
    gap: 12px;
  }
}

/* FlexiCare V1386 — Insurance Hubs Picks & Program Tile Rhythm Polish
   Scope: /asfaleies, /asfaleies/idiotes, /asfaleies/epixeiriseis only.
   Purpose: better card rhythm, cleaner CTA/header alignment, and safer responsive behavior without touching service detail pages. */

body.fc-insurance-hub .fc-picks{
  padding: clamp(18px, 2.4vw, 26px);
}

body.fc-insurance-hub .fc-picks-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 clamp(16px, 2vw, 22px);
}

body.fc-insurance-hub .fc-picks-head > div:first-child{
  min-width:0;
}

body.fc-insurance-hub .fc-picks-head .btn{
  flex:0 0 auto;
  min-height:42px;
  border-radius:999px;
  white-space:normal;
  text-align:center;
}

body.fc-insurance-hub .fc-picks-title{
  line-height:1.25;
}

body.fc-insurance-hub .fc-picks-sub{
  margin-top:4px;
}

body.fc-insurance-hub .fc-picks-grid,
body.fc-insurance-hub .fc-program-grid{
  display:grid;
  align-items:stretch;
  grid-template-columns:repeat(auto-fit,minmax(238px,1fr));
}

body.fc-insurance-hub .fc-pick-card,
body.fc-insurance-hub .fc-program-tile{
  position:relative;
  min-width:0;
  min-height:174px;
  padding:18px;
  display:flex;
  align-items:stretch;
  text-decoration:none;
  overflow:hidden;
}

body.fc-insurance-hub .fc-pick-card::before,
body.fc-insurance-hub .fc-program-tile::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,rgba(19,82,100,.22),rgba(104,207,224,.12),transparent 84%);
  pointer-events:none;
}

body.fc-insurance-hub .fc-pick-card-body,
body.fc-insurance-hub .fc-program-tile-body{
  position:relative;
  z-index:1;
  display:grid;
  gap:8px;
  align-content:start;
  min-width:0;
  width:100%;
}

body.fc-insurance-hub .fc-pick-card-ico,
body.fc-insurance-hub .fc-program-tile-ico{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:rgba(235,246,248,.92);
  border:1px solid rgba(19,82,100,.14);
  color:var(--fc-hub-petrol-2);
  box-shadow:none;
}

body.fc-insurance-hub .fc-pick-card-title,
body.fc-insurance-hub .fc-program-tile-title{
  display:block;
  font-size:clamp(1rem,1.15vw,1.08rem);
  line-height:1.28;
  overflow-wrap:anywhere;
}

body.fc-insurance-hub .fc-pick-card-sub,
body.fc-insurance-hub .fc-program-tile-sub{
  display:block;
  font-size:.94rem;
  line-height:1.58;
  overflow-wrap:anywhere;
}

body.fc-insurance-hub .fc-program-tile-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:4px;
}

body.fc-insurance-hub .fc-program-tile-chips .fc-chip{
  max-width:100%;
  line-height:1.25;
  white-space:normal;
}

body.fc-insurance-hub .fc-quicknav{
  padding:16px 18px;
}

body.fc-insurance-hub .fc-quicknav__row{
  min-width:0;
}

body.fc-insurance-hub .fc-qn{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  line-height:1.22;
  text-align:center;
  overflow-wrap:anywhere;
}

@media (max-width: 980px){
  body.fc-insurance-hub .fc-picks-head{
    align-items:flex-start;
  }

  body.fc-insurance-hub .fc-picks-head .btn{
    min-width:190px;
  }
}

@media (max-width: 760px){
  body.fc-insurance-hub .fc-picks{
    padding:16px;
  }

  body.fc-insurance-hub .fc-picks-head{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
  }

  body.fc-insurance-hub .fc-picks-head .btn{
    width:100%;
    min-width:0;
    justify-content:center;
  }

  body.fc-insurance-hub .fc-picks-grid,
  body.fc-insurance-hub .fc-program-grid{
    grid-template-columns:1fr;
  }

  body.fc-insurance-hub .fc-pick-card,
  body.fc-insurance-hub .fc-program-tile{
    min-height:0;
    padding:16px;
  }

  body.fc-insurance-hub .fc-quicknav{
    padding:14px;
  }

  body.fc-insurance-hub .fc-qn{
    flex-basis:auto;
    padding-inline:14px;
  }
}
