/*
  FlexiCare Insurance — V1258 Contact Page Institutional Flow Refinement
  Scope: /epikoinonia and contact aliases through body.fc-contact-page.
  Visual / readability layer only. No form logic, endpoint, validation or consent changes.
*/

body.fc-contact-page{
  --fc-contact-ref-ink:#123946;
  --fc-contact-ref-muted:#5f7580;
  --fc-contact-ref-line:rgba(23,56,68,.14);
}

body.fc-contact-page .section{ padding-top:clamp(2.2rem,4vw,4.2rem); }
body.fc-contact-page .section > .container{ max-width:1160px; }
body.fc-contact-page .fc-h1,
body.fc-contact-page .fc-lead{ max-width:860px; }

body.fc-contact-page .fc-entry-nav{
  margin-top:clamp(1.3rem,2vw,1.9rem);
  margin-bottom:clamp(1.25rem,2vw,1.85rem);
}
body.fc-contact-page .fc-entry-nav__actions .btn{ white-space:nowrap; }

body.fc-contact-page .fc-contact-grid{
  grid-template-columns:minmax(270px,.78fr) minmax(0,1.42fr);
  gap:clamp(1rem,2.2vw,1.85rem);
  align-items:start;
}

body.fc-contact-page #stoixeia-epikoinonias{
  position:sticky;
  top:calc(var(--fc-header-height, 86px) + 18px);
  align-self:start;
  overflow:hidden;
}

body.fc-contact-page #minyma,
body.fc-contact-page #rantevou{
  grid-column:2;
  min-width:0;
}
body.fc-contact-page .fc-contact-form + .fc-contact-form{ margin-top:0; }

body.fc-contact-page .fc-contact-card,
body.fc-contact-page .fc-contact-form{
  border-color:var(--fc-contact-ref-line);
  box-shadow:0 18px 46px rgba(12,52,65,.065);
}
body.fc-contact-page .fc-contact-card{ padding:clamp(1.15rem,2vw,1.55rem); }
body.fc-contact-page .fc-contact-role{ margin-top:.28rem; line-height:1.55; }

body.fc-contact-page .fc-contact-lines{ display:grid; gap:.62rem; }
body.fc-contact-page .fc-contact-lines p{
  margin:0;
  padding:.72rem .78rem;
  border:1px solid rgba(23,56,68,.10);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(246,251,250,.78));
}
body.fc-contact-page .fc-contact-lines .fc-muted{
  display:block;
  margin-bottom:.12rem;
  color:rgba(23,56,68,.62);
  font-weight:700;
  letter-spacing:-.005em;
}
body.fc-contact-page .fc-contact-lines a{ word-break:break-word; }

body.fc-contact-page .fc-contact-form{
  background:
    linear-gradient(180deg,rgba(255,255,255,.97),rgba(248,252,251,.94)),
    radial-gradient(circle at 100% 0%,rgba(47,107,129,.06),transparent 20rem);
}
body.fc-contact-page .fc-contact-form .fc-h2{
  display:flex;
  align-items:center;
  gap:.68rem;
}
body.fc-contact-page .fc-contact-form .fc-h2::before{
  content:"";
  width:.68rem;
  height:.68rem;
  border-radius:999px;
  background:linear-gradient(135deg,#0c4552,#2f6b81);
  box-shadow:0 0 0 5px rgba(47,107,129,.10);
  flex:0 0 auto;
}
body.fc-contact-page .fc-contact-form .small.fc-muted,
body.fc-contact-page .fc-contact-form .note{ color:var(--fc-contact-ref-muted); }
body.fc-contact-page .fc-contact-form .fc-actions .btn{ min-width:0; }
body.fc-contact-page .fc-footnote{
  border-top:1px solid rgba(23,56,68,.10);
  padding-top:.82rem;
}
body.fc-contact-page .fc-consent{ align-items:flex-start; }

@media (max-width:980px){
  body.fc-contact-page .fc-contact-grid{ grid-template-columns:1fr; }
  body.fc-contact-page #stoixeia-epikoinonias{ position:relative; top:auto; }
  body.fc-contact-page #minyma,
  body.fc-contact-page #rantevou{ grid-column:1; }
}

@media (max-width:700px){
  body.fc-contact-page .section{ padding-top:1.45rem; }
  body.fc-contact-page .fc-entry-nav__actions,
  body.fc-contact-page .fc-entry-nav__actions .btn,
  body.fc-contact-page .fc-actions,
  body.fc-contact-page .fc-actions .btn{ width:100%; }
  body.fc-contact-page .fc-entry-nav__actions .btn,
  body.fc-contact-page .fc-actions .btn{ justify-content:center; }
  body.fc-contact-page .fc-contact-lines{ gap:.55rem; }
  body.fc-contact-page .fc-contact-lines p{ padding:.68rem .72rem; border-radius:14px; }
}

/*
  FlexiCare Insurance — V1301 Contact Entry Nav Width Balance Refinement
  Scope: /epikoinonia via body.fc-contact-page.
  Visual-only layer for the top entry navigation card width/action balance.
  No changes to routing, anchors, form logic, validation, endpoints or consent flow.
*/
body.fc-contact-page .fc-entry-nav{
  grid-template-columns:minmax(0,1.14fr) minmax(420px,.92fr);
  gap:clamp(1rem,2.2vw,1.8rem);
}
body.fc-contact-page .fc-entry-nav__copy{ max-width:none; }
body.fc-contact-page .fc-entry-nav__actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  width:min(100%, 560px);
  margin-left:auto;
}
body.fc-contact-page .fc-entry-nav__actions .btn{
  width:100%;
  min-width:0;
  justify-content:center;
  text-align:center;
}

@media (min-width:900px) and (max-width:1160px){
  body.fc-contact-page .fc-entry-nav{
    grid-template-columns:1fr;
  }
  body.fc-contact-page .fc-entry-nav__actions{
    width:100%;
    margin-left:0;
  }
}

@media (max-width:700px){
  body.fc-contact-page .fc-entry-nav__actions{
    grid-template-columns:1fr;
  }
}


/*
  FlexiCare Insurance — V1302 Contact Hero Lead & Entry Nav Readability Rescue
  Scope: /epikoinonia via body.fc-contact-page.
  Visual-only correction for the lead text below the page title and the top entry-nav actions.
  No routing, anchor, form, validation, endpoint, consent or analytics changes.
*/
body.fc-contact-page .fc-lead{
  max-width:1040px;
  line-height:1.72;
  text-wrap:pretty;
}

body.fc-contact-page .fc-entry-nav{
  grid-template-columns:1fr;
  align-items:start;
  padding:clamp(1.35rem,2.4vw,2rem);
}

body.fc-contact-page .fc-entry-nav__copy{
  max-width:980px;
}

body.fc-contact-page .fc-entry-nav__actions{
  width:100%;
  max-width:none;
  margin-left:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(.65rem,1vw,.9rem);
}

body.fc-contact-page .fc-entry-nav__actions .btn{
  width:100%;
  min-width:0;
  max-width:none;
  justify-content:center;
  text-align:center;
  white-space:normal;
  line-height:1.25;
  min-height:46px;
  padding-left:clamp(.85rem,1.4vw,1.15rem);
  padding-right:clamp(.85rem,1.4vw,1.15rem);
  overflow:visible;
}

@media (max-width:760px){
  body.fc-contact-page .fc-lead{
    max-width:none;
    line-height:1.68;
  }

  body.fc-contact-page .fc-entry-nav__actions{
    grid-template-columns:1fr;
  }

  body.fc-contact-page .fc-entry-nav__actions .btn{
    min-height:44px;
  }
}

/*
  FlexiCare Insurance — V1303 Contact Hero Intro Width Refinement
  Scope: /epikoinonia via body.fc-contact-page.
  Visual-only refinement focused only on the introductory paragraph below the H1.
  No changes to the entry navigation card, forms, routing, anchors or consent flow.
*/
body.fc-contact-page .fc-h1 + .fc-lead{
  max-width:min(1120px, 100%);
  line-height:1.76;
  letter-spacing:-0.008em;
  color:rgba(18,57,70,.84);
  margin-bottom:clamp(1.25rem,2vw,1.8rem);
}

@media (min-width:1200px){
  body.fc-contact-page .fc-h1 + .fc-lead{
    max-width:1160px;
  }
}

@media (max-width:760px){
  body.fc-contact-page .fc-h1 + .fc-lead{
    max-width:none;
    line-height:1.68;
    margin-bottom:1.1rem;
  }
}

/*
  FlexiCare Insurance — V1304 Contact Hero Lead Hard Width Rescue
  Scope: /epikoinonia via body.fc-contact-page.
  Focused visual rescue for the introductory paragraph below the H1.
*/
body.fc-contact-page .section > .container > .fc-h1 + .fc-lead{
  display:block;
  width:100%;
  max-width:min(1180px, 100%) !important;
  margin-top:.55rem;
  margin-bottom:clamp(1.6rem,2.4vw,2.25rem);
  line-height:1.72;
  color:rgba(18,57,70,.82);
}

@media (min-width:1280px){
  body.fc-contact-page .section > .container > .fc-h1 + .fc-lead{
    max-width:min(1220px, 100%) !important;
  }
}

@media (max-width:760px){
  body.fc-contact-page .section > .container > .fc-h1 + .fc-lead{
    max-width:100% !important;
    line-height:1.66;
    margin-bottom:1.25rem;
  }
}

/*
  FlexiCare Insurance — V1403 Contact Page Form Readability & Visual Rhythm Polish
  Scope: /epikoinonia via body.fc-contact-page.
  CSS-only refinement. No form endpoint, validation, CSRF, honeypot, consent, email flow, routing or analytics changes.
*/
body.fc-contact-page .fc-contact-grid{
  gap:clamp(1.15rem,2.4vw,2rem);
}

body.fc-contact-page .fc-contact-card,
body.fc-contact-page .fc-contact-form{
  border-color:rgba(18,57,70,.13);
  box-shadow:0 16px 40px rgba(12,52,65,.055);
}

body.fc-contact-page .fc-contact-form{
  background:
    linear-gradient(180deg,rgba(255,255,255,.97),rgba(247,252,251,.94)),
    radial-gradient(circle at 100% 0%,rgba(47,107,129,.055),transparent 18rem);
}

body.fc-contact-page .fc-contact-form .fc-h2{
  max-width:min(760px,100%);
  margin-bottom:clamp(.75rem,1.3vw,1rem);
  line-height:1.18;
}

body.fc-contact-page .fc-contact-form .fc-form{
  gap:clamp(.9rem,1.35vw,1.12rem);
}

body.fc-contact-page .fc-contact-form .form-row{
  align-items:start;
}

body.fc-contact-page .fc-contact-form label.small,
body.fc-contact-page .fc-contact-form .fc-field > label{
  display:inline-flex;
  align-items:center;
  min-height:1.35rem;
  margin-bottom:.34rem;
  color:rgba(18,57,70,.88);
  font-size:.94rem;
  font-weight:720;
  line-height:1.35;
}

body.fc-contact-page .fc-contact-form .input,
body.fc-contact-page .fc-contact-form .select,
body.fc-contact-page .fc-contact-form .textarea{
  border-radius:15px;
  border-color:rgba(18,57,70,.18);
  background:rgba(255,255,255,.98);
}

body.fc-contact-page .fc-contact-form .input:focus,
body.fc-contact-page .fc-contact-form .select:focus,
body.fc-contact-page .fc-contact-form .textarea:focus{
  border-color:rgba(15,91,104,.58);
  box-shadow:0 0 0 4px rgba(15,91,104,.10);
}

body.fc-contact-page .fc-contact-form .textarea{
  min-height:142px;
  line-height:1.55;
}

body.fc-contact-page .fc-contact-form .fc-consent,
body.fc-contact-page .fc-contact-form .fc-note,
body.fc-contact-page .fc-contact-form .fc-footnote,
body.fc-contact-page .fc-contact-form .fc-disclaimer{
  max-width:900px;
  font-size:.94rem;
  line-height:1.66;
}

body.fc-contact-page .fc-contact-form .fc-actions,
body.fc-contact-page .fc-contact-form .fc-form-actions{
  gap:.7rem;
  align-items:center;
  margin-top:.2rem;
}

body.fc-contact-page .fc-contact-form button[type="submit"],
body.fc-contact-page .fc-contact-form .btn{
  min-height:46px;
  border-radius:999px;
}

body.fc-contact-page #stoixeia-epikoinonias .fc-contact-lines{
  gap:.65rem;
}

body.fc-contact-page #stoixeia-epikoinonias .fc-contact-lines p{
  padding-bottom:.55rem;
  border-bottom:1px solid rgba(18,57,70,.08);
}

body.fc-contact-page #stoixeia-epikoinonias .fc-contact-lines p:last-child{
  padding-bottom:0;
  border-bottom:0;
}

@media (min-width:980px){
  body.fc-contact-page .fc-contact-form + .fc-contact-form{
    margin-top:clamp(1.35rem,2vw,1.9rem);
  }
}

@media (max-width:760px){
  body.fc-contact-page .fc-contact-form .fc-h2{
    font-size:clamp(1.24rem,5.2vw,1.55rem);
  }

  body.fc-contact-page .fc-contact-form .form-row{
    gap:.85rem;
  }

  body.fc-contact-page .fc-contact-form .fc-actions,
  body.fc-contact-page .fc-contact-form .fc-form-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  body.fc-contact-page .fc-contact-form button[type="submit"],
  body.fc-contact-page .fc-contact-form .btn{
    width:100%;
    justify-content:center;
    white-space:normal;
    text-align:center;
  }
}
