/*
  FlexiCare Insurance — V1187 Forms / Conversion Routes Visual Baseline Pass
  Scope: /prosfora, /epikoinonia only through body.fc-form-page plus route-specific classes.
  Visual-only layer. It does not affect validation, mail delivery, storage, AJAX, consent, or server-side logic.
*/

body.fc-form-page {
  --fc-form-ink: #173844;
  --fc-form-muted: #5f7580;
  --fc-form-soft: #f5faf9;
  --fc-form-soft-2: #eef7f5;
  --fc-form-line: rgba(23, 56, 68, .14);
  --fc-form-line-strong: rgba(23, 56, 68, .24);
  --fc-form-petrol: #0c4552;
  --fc-form-petrol-2: #0f5b68;
  --fc-form-shadow: 0 18px 48px rgba(12, 52, 65, .08);
  background:
    radial-gradient(circle at 15% 0%, rgba(15, 91, 104, .08), transparent 34rem),
    linear-gradient(180deg, #f8fcfb 0%, #ffffff 32%, #f7fbfa 100%);
}

body.fc-form-page .section > .container {
  max-width: 1180px;
}

body.fc-form-page .fc-h1 {
  color: var(--fc-form-ink);
  letter-spacing: -.035em;
  line-height: 1.05;
  margin-bottom: .55rem;
}

body.fc-form-page .fc-lead {
  max-width: 820px;
  color: var(--fc-form-muted);
  font-size: clamp(1rem, .96rem + .18vw, 1.12rem);
  line-height: 1.72;
}

body.fc-form-page .card {
  border-color: var(--fc-form-line);
  box-shadow: 0 14px 42px rgba(12, 52, 65, .055);
}

body.fc-form-page .fc-entry-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(1rem, 2vw, 1.65rem);
  margin: clamp(1.2rem, 2vw, 1.8rem) 0;
  padding: clamp(1.1rem, 2vw, 1.55rem);
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(241,249,247,.94)),
    radial-gradient(circle at 100% 0%, rgba(15, 91, 104, .09), transparent 22rem);
  border: 1px solid var(--fc-form-line);
  border-radius: 24px;
}

body.fc-form-page .fc-entry-nav__title {
  color: var(--fc-form-ink);
  font-weight: 700;
  letter-spacing: -.018em;
  margin: 0 0 .35rem;
}

body.fc-form-page .fc-entry-nav__desc {
  color: var(--fc-form-muted);
  line-height: 1.65;
  max-width: 760px;
}

body.fc-form-page .fc-entry-nav__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .65rem;
}

body.fc-form-page .fc-entry-nav__actions .btn,
body.fc-form-page .fc-actions .btn,
body.fc-form-page .fc-form-card > .btn {
  min-height: 44px;
  border-radius: 999px;
}

body.fc-form-page .fc-info-card,
body.fc-form-page .fc-form-card,
body.fc-form-page .fc-summary-box {
  border: 1px solid var(--fc-form-line);
  border-radius: 24px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--fc-form-shadow);
}

body.fc-form-page .fc-info-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,251,250,.94));
}

body.fc-form-page .fc-info-card__title,
body.fc-form-page .fc-note__title,
body.fc-form-page .fc-captcha__title {
  color: var(--fc-form-ink);
  font-weight: 700;
  letter-spacing: -.01em;
}

body.fc-form-page .fc-info-card__list {
  margin-top: .65rem;
  padding-left: 1.15rem;
  color: var(--fc-form-muted);
  line-height: 1.7;
}

body.fc-form-page .fc-contact-grid,
body.fc-offer-page .fc-quote {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr);
  gap: clamp(1rem, 2vw, 1.6rem);
  align-items: start;
}

body.fc-offer-page .fc-quote {
  grid-template-columns: minmax(0, 1.38fr) minmax(280px, .62fr);
}

body.fc-form-page .fc-form-card,
body.fc-form-page .fc-form.card {
  padding: clamp(1.15rem, 2.2vw, 1.75rem);
}

body.fc-form-page .fc-form-card .fc-h2 {
  color: var(--fc-form-ink);
  letter-spacing: -.025em;
  margin-bottom: .75rem;
}

body.fc-form-page .fc-form,
body.fc-form-page .form.fc-form {
  display: grid;
  gap: 1rem;
}

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

body.fc-form-page label.small,
body.fc-form-page .fc-field > label,
body.fc-form-page .fc-form-card label.small {
  color: #254b57;
  font-weight: 650;
  letter-spacing: -.005em;
}

body.fc-form-page .input,
body.fc-form-page .select,
body.fc-form-page .textarea {
  border: 1px solid var(--fc-form-line-strong);
  background: rgba(255,255,255,.98);
  color: var(--fc-form-ink);
  border-radius: 16px;
  min-height: 46px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

body.fc-form-page .textarea {
  min-height: 136px;
  resize: vertical;
}

body.fc-form-page .input:focus,
body.fc-form-page .select:focus,
body.fc-form-page .textarea:focus {
  outline: none;
  border-color: rgba(15, 91, 104, .58);
  box-shadow: 0 0 0 4px rgba(15, 91, 104, .11);
  background: #fff;
}

body.fc-form-page .input::placeholder,
body.fc-form-page .textarea::placeholder {
  color: rgba(95, 117, 128, .78);
}

body.fc-form-page .fc-step {
  padding: clamp(1rem, 2vw, 1.25rem);
  border: 1px solid rgba(23, 56, 68, .11);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(247,251,250,.88));
}

body.fc-form-page .fc-step + .fc-step {
  margin-top: .25rem;
}

body.fc-form-page .fc-step-title {
  color: var(--fc-form-ink);
  font-weight: 750;
  margin-bottom: .9rem;
}

body.fc-form-page .fc-badge {
  background: linear-gradient(135deg, var(--fc-form-petrol), var(--fc-form-petrol-2));
  color: #fff;
  box-shadow: 0 8px 18px rgba(12, 52, 65, .15);
}

body.fc-form-page .fc-note,
body.fc-form-page .note,
body.fc-form-page .fc-disclaimer,
body.fc-form-page .fc-footnote,
body.fc-form-page .fc-help,
body.fc-form-page .fc-muted,
body.fc-form-page .fc-muted-strong {
  color: var(--fc-form-muted);
  line-height: 1.65;
}

body.fc-form-page .fc-note {
  border: 1px solid rgba(23, 56, 68, .11);
  background: rgba(241, 249, 247, .78);
  border-radius: 18px;
  padding: .9rem 1rem;
}

body.fc-form-page .fc-consent {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(23, 56, 68, .12);
  border-radius: 18px;
  background: rgba(248, 252, 251, .92);
}

body.fc-form-page .fc-consent input[type="checkbox"],
body.fc-form-page .checkbox-row input[type="checkbox"] {
  accent-color: var(--fc-form-petrol);
  margin-top: .18rem;
}

body.fc-form-page .checkbox-row {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
}

body.fc-form-page .checkbox-row .note {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 38px;
  padding: .48rem .75rem;
  border: 1px solid rgba(23, 56, 68, .12);
  border-radius: 999px;
  background: #fff;
}

body.fc-form-page .fc-top-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .7rem;
}

body.fc-form-page .fc-top-chips button,
body.fc-form-page .fc-top-chips .btn,
body.fc-form-page .fc-top-chips a {
  border-radius: 999px;
  border-color: rgba(15, 91, 104, .18);
}

body.fc-form-page .fc-alert {
  border-radius: 20px;
}

body.fc-form-page .fc-alert--info {
  background: linear-gradient(180deg, #f1faf8, #ffffff);
  border-color: rgba(15, 91, 104, .18);
}

body.fc-form-page .fc-summary {
  position: sticky;
  top: calc(var(--fc-header-height, 84px) + 18px);
}

body.fc-form-page .fc-summary-box {
  padding: clamp(1rem, 2vw, 1.35rem);
}

body.fc-form-page .fc-kv .row {
  border-bottom: 1px solid rgba(23, 56, 68, .09);
  padding: .62rem 0;
}

body.fc-form-page .fc-kv .row:last-child {
  border-bottom: 0;
}

body.fc-form-page .fc-kv .k {
  color: var(--fc-form-muted);
  font-size: .88rem;
}

body.fc-form-page .fc-kv .v {
  color: var(--fc-form-ink);
  font-weight: 650;
}

body.fc-contact-page .fc-contact-lines p {
  margin: .4rem 0;
  line-height: 1.65;
}

body.fc-contact-page .fc-contact-lines a,
body.fc-form-page .fc-consent a,
body.fc-form-page .fc-footnote a,
body.fc-form-page .fc-disclaimer a {
  color: var(--fc-form-petrol);
  text-decoration: none;
  font-weight: 650;
}

body.fc-contact-page .fc-contact-lines a:hover,
body.fc-form-page .fc-consent a:hover,
body.fc-form-page .fc-footnote a:hover,
body.fc-form-page .fc-disclaimer a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.fc-contact-page .fc-contact-role {
  color: var(--fc-form-muted);
}

body.fc-contact-page #stoixeia-epikoinonias {
  position: sticky;
  top: calc(var(--fc-header-height, 84px) + 18px);
}

@media (max-width: 960px) {
  body.fc-form-page .fc-entry-nav,
  body.fc-form-page .fc-contact-grid,
  body.fc-offer-page .fc-quote {
    grid-template-columns: 1fr;
  }

  body.fc-form-page .fc-entry-nav__actions {
    justify-content: flex-start;
  }

  body.fc-form-page .fc-summary,
  body.fc-contact-page #stoixeia-epikoinonias {
    position: static;
  }
}

@media (max-width: 720px) {
  body.fc-form-page .section > .container {
    padding-inline: clamp(1rem, 4vw, 1.25rem);
  }

  body.fc-form-page .fc-h1 {
    font-size: clamp(2rem, 9vw, 2.65rem);
  }

  body.fc-form-page .fc-entry-nav,
  body.fc-form-page .fc-info-card,
  body.fc-form-page .fc-form-card,
  body.fc-form-page .fc-form.card,
  body.fc-form-page .fc-step,
  body.fc-form-page .fc-summary-box {
    border-radius: 20px;
  }

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

  body.fc-form-page .fc-entry-nav__actions .btn,
  body.fc-form-page .fc-actions .btn,
  body.fc-form-page .fc-actions button,
  body.fc-form-page .fc-form button[type="submit"] {
    width: 100%;
    justify-content: center;
    white-space: normal !important;
  }

  body.fc-form-page .input,
  body.fc-form-page .select,
  body.fc-form-page .textarea {
    width: 100%;
    min-width: 0;
    font-size: 16px;
  }

  body.fc-form-page .fc-consent {
    align-items: flex-start;
  }

  body.fc-form-page .checkbox-row {
    display: grid;
    grid-template-columns: 1fr;
  }

  body.fc-form-page .checkbox-row .note {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 420px) {
  body.fc-form-page .fc-entry-nav,
  body.fc-form-page .fc-info-card,
  body.fc-form-page .fc-form-card,
  body.fc-form-page .fc-form.card,
  body.fc-form-page .fc-step,
  body.fc-form-page .fc-summary-box {
    padding: 1rem;
  }

  body.fc-form-page .fc-top-chips {
    display: grid;
    grid-template-columns: 1fr;
  }
}

/* V1243 — Forms conversion premium readability refinement
   Scope: /prosfora and /epikoinonia via body.fc-form-page.
   Visual-only pass: no validation, consent, endpoint, storage or mail logic changes. */
body.fc-form-page .fc-entry-nav{
  border-color:rgba(23,56,68,.13);
  box-shadow:0 16px 42px rgba(12,52,65,.055), inset 0 1px 0 rgba(255,255,255,.82);
}
body.fc-form-page .fc-entry-nav__title{
  font-weight:760;
  letter-spacing:-.022em;
}
body.fc-form-page .fc-entry-nav__desc{
  max-width:72ch;
}
body.fc-form-page .fc-entry-nav__actions .btn{
  box-shadow:0 10px 22px rgba(12,52,65,.065);
}
body.fc-form-page .fc-info-card{
  padding:clamp(1rem,2vw,1.35rem);
  box-shadow:0 14px 36px rgba(12,52,65,.052);
}
body.fc-form-page .fc-info-card__title{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin:0 0 .25rem;
  font-size:.9rem;
  line-height:1.25;
}
body.fc-form-page .fc-info-card__title::before{
  content:"";
  width:.52rem;
  height:.52rem;
  flex:0 0 auto;
  border-radius:999px;
  background:rgba(47,107,129,.72);
  box-shadow:0 0 0 .28rem rgba(47,107,129,.10);
}
body.fc-form-page .fc-info-card__list{
  margin-bottom:0;
}
body.fc-form-page .fc-info-card__list li{
  padding-left:.08rem;
}
body.fc-form-page .fc-form-card{
  box-shadow:0 18px 48px rgba(12,52,65,.07), inset 0 1px 0 rgba(255,255,255,.80);
}
body.fc-form-page .fc-form-card .fc-h2{
  max-width:34ch;
  line-height:1.18;
}
body.fc-form-page .fc-step{
  position:relative;
  overflow:hidden;
  border-color:rgba(23,56,68,.105);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
body.fc-form-page .fc-step::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:linear-gradient(180deg, rgba(47,107,129,.42), rgba(47,107,129,.12));
  opacity:.8;
}
body.fc-form-page .fc-step-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  color:#123946;
  letter-spacing:-.018em;
}
body.fc-form-page .fc-step-title > span{
  display:inline-flex;
  align-items:center;
  gap:.62rem;
}
body.fc-form-page .fc-badge{
  width:2rem;
  min-width:2rem;
  height:2rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:.86rem;
  font-size:.88rem;
  font-weight:800;
  box-shadow:0 9px 18px rgba(12,52,65,.13), inset 0 1px 0 rgba(255,255,255,.20);
}
body.fc-form-page .input,
body.fc-form-page .select,
body.fc-form-page .textarea{
  font-size:.96rem;
  line-height:1.35;
}
body.fc-form-page .input:hover,
body.fc-form-page .select:hover,
body.fc-form-page .textarea:hover{
  border-color:rgba(15,91,104,.36);
}
body.fc-form-page .fc-consent{
  border-color:rgba(23,56,68,.13);
  background:linear-gradient(180deg, rgba(250,253,253,.96), rgba(244,250,249,.92));
}
body.fc-form-page .fc-actions{
  align-items:center;
}
body.fc-form-page .fc-footnote,
body.fc-form-page .fc-disclaimer{
  max-width:78ch;
}
body.fc-contact-page .fc-contact-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,252,252,.94)),
    radial-gradient(circle at 100% 0%, rgba(47,107,129,.08), transparent 18rem);
}
body.fc-contact-page .fc-contact-role{
  color:rgba(23,56,68,.72);
  font-weight:650;
}
body.fc-contact-page .fc-contact-lines a,
body.fc-contact-page .fc-contact-lines a:visited{
  color:#123946;
  font-weight:760;
  text-decoration:none;
}
body.fc-contact-page .fc-contact-lines a:hover{
  color:#0f5b68;
}
@media (min-width:900px){
  body.fc-offer-page .fc-quote{
    gap:clamp(1.15rem,2.4vw,2rem);
    align-items:start;
  }
  body.fc-form-page .fc-step + .fc-step{
    margin-top:.55rem;
  }
}
@media (max-width:700px){
  body.fc-form-page .fc-entry-nav,
  body.fc-form-page .fc-info-card,
  body.fc-form-page .fc-form-card{
    border-radius:20px;
  }
  body.fc-form-page .fc-step{
    border-radius:18px;
  }
  body.fc-form-page .fc-step-title{
    align-items:flex-start;
  }
  body.fc-form-page .fc-step-title > span{
    align-items:flex-start;
  }
  body.fc-form-page .fc-badge{
    width:1.82rem;
    min-width:1.82rem;
    height:1.82rem;
    border-radius:.75rem;
  }
}

/* V1269 — Conversion success legal notice visual standardization
   Scope: /prosfora, /epikoinonia, /zimia success states through form_status.php.
   Visual/accessibility-only pass. No form endpoint, validation, storage, mail, routing or consent logic changes. */
body.fc-form-page .fc-form-legal-note{
  border-color:rgba(142,113,42,.22);
  background:
    linear-gradient(180deg, rgba(255,252,245,.96), rgba(248,252,251,.92));
  color:rgba(23,56,68,.82);
  box-shadow:inset 3px 0 0 rgba(142,113,42,.32);
}
body.fc-form-page .fc-form-legal-note__title{
  color:#123946;
  font-weight:760;
  letter-spacing:-.01em;
}
body.fc-form-page .fc-form-legal-note__text{
  display:block;
  margin-top:.28rem;
  color:rgba(23,56,68,.76);
  line-height:1.68;
}
@media (max-width:720px){
  body.fc-form-page .fc-form-legal-note{
    padding:.85rem .95rem;
    border-radius:16px;
    box-shadow:inset 2px 0 0 rgba(142,113,42,.32);
  }
}


/* V1279 — Conversion required field notice */
body.fc-form-page .fc-required-note {
  margin: 0;
  padding: .72rem .9rem;
  border: 1px solid rgba(23, 56, 68, .11);
  border-radius: 16px;
  background: rgba(241, 249, 247, .72);
  color: var(--fc-form-muted);
  font-size: .92rem;
  line-height: 1.55;
}


/* V1280 — Conversion phone field guidance */
body.fc-form-page .fc-field-help {
  margin-top: .38rem;
  color: var(--fc-form-muted);
  font-size: .86rem;
  line-height: 1.5;
}
