

/* V1110 — Footer & Contact System Polish
   Scoped, low-risk footer/contact polish. Keeps the petrol-light brand system stable without altering routing, text content or form logic.
*/
:root{
  --fc-footer-petrol:#0d3a46;
  --fc-footer-petrol-2:#165765;
  --fc-footer-ink:#eaf6f7;
  --fc-footer-muted:rgba(234,246,247,.76);
  --fc-footer-line:rgba(205,235,239,.20);
  --fc-contact-surface:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,253,254,.92));
  --fc-contact-line:rgba(47,107,129,.17);
  --fc-contact-shadow:0 18px 44px rgba(12,52,65,.08);
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer){
  color:var(--fc-footer-ink);
  background:
    radial-gradient(circle at 14% 0%, rgba(67,194,202,.20), transparent 34%),
    linear-gradient(135deg, var(--fc-footer-petrol), var(--fc-footer-petrol-2));
  border-top:1px solid rgba(205,235,239,.18);
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(.container,.footer-inner,.footer-wrap,.footer-grid){
  width:min(100% - clamp(28px,5vw,72px), 1180px);
  margin-inline:auto;
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(.footer-inner,.footer-wrap,.footer-grid){
  display:grid;
  gap:clamp(20px,3vw,36px);
  padding-block:clamp(34px,5vw,64px);
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(.footer-grid,.footer-columns,.footer-main){
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 210px), 1fr));
  align-items:start;
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(h2,h3,h4,.footer-title,.widget-title,.footer-heading){
  margin:0 0 .72rem;
  color:#ffffff;
  font-size:clamp(.92rem,.86rem + .18vw,1.02rem);
  font-weight:820;
  letter-spacing:.015em;
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(p,li,.footer-text,.footer-desc,.footer-meta){
  color:var(--fc-footer-muted);
  line-height:1.62;
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(ul,ol){
  margin:0;
  padding:0;
  list-style:none;
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(li + li){
  margin-top:.48rem;
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer) a:not(.btn):not(.button):not(.fc-btn):not(.cta-button){
  color:#eefcfd;
  text-decoration:none;
  text-underline-offset:.22em;
  font-weight:650;
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer) a:not(.btn):not(.button):not(.fc-btn):not(.cta-button):where(:hover,:focus-visible){
  color:#ffffff;
  text-decoration:underline;
  text-decoration-thickness:1px;
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(.footer-contact,.contact-list,.contact-methods,.footer-actions){
  display:grid;
  gap:.62rem;
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(.footer-contact a,.contact-list a,.contact-methods a){
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  min-height:36px;
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(.footer-bottom,.copyright,.legal-row,.footer-legal){
  border-top:1px solid var(--fc-footer-line);
  padding-block:clamp(14px,2vw,22px);
  color:rgba(234,246,247,.70);
  font-size:.9rem;
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(.footer-bottom,.legal-row,.footer-legal){
  display:flex;
  flex-wrap:wrap;
  gap:.75rem 1.15rem;
  align-items:center;
  justify-content:space-between;
}

body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(.footer-badge,.footer-chip,.energy-chip){
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  width:max-content;
  min-height:30px;
  padding:.34rem .66rem;
  border:1px solid rgba(205,235,239,.22);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#f4feff;
  font-size:.82rem;
  font-weight:760;
}

body.fc-site.fc-contact-page :where(#main,.fc-main,main),
body.fc-site.fc-offer-page :where(#main,.fc-main,main){
}

body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(.page-hero,.hero,.fc-hero,.contact-hero),
body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(.page-hero,.hero,.fc-hero,.offer-hero,.quote-hero){
  border:1px solid rgba(47,107,129,.18);
  border-radius:clamp(24px,3vw,34px);
  background:
    radial-gradient(circle at top right, rgba(67,194,202,.14), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,253,254,.90));
  box-shadow:0 18px 48px rgba(12,52,65,.08);
}

body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(.contact-grid,.contact-layout,.contact-cards,.fc-grid),
body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(.offer-grid,.quote-grid,.form-layout,.fc-grid){
  gap:clamp(16px,2vw,26px);
  align-items:start;
}

body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(.contact-card,.contact-box,.info-card,.office-card,.fc-card,.card),
body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(.form-card,.offer-card,.quote-card,.info-card,.fc-card,.card){
  border:1px solid var(--fc-contact-line);
  border-radius:clamp(20px,2.2vw,30px);
  background:var(--fc-contact-surface);
  box-shadow:var(--fc-contact-shadow);
}

body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(.contact-card,.contact-box,.info-card,.office-card,.fc-card,.card):where(section,article,div,aside),
body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(.form-card,.offer-card,.quote-card,.info-card,.fc-card,.card):where(section,article,div,aside){
  padding:clamp(18px,2.15vw,30px);
}

body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(.contact-methods,.contact-list,.office-list,.details-list),
body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(.form-notes,.quote-notes,.details-list){
  display:grid;
  gap:.75rem;
}

body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(.contact-method,.contact-row,.contact-list a,.office-row),
body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(.form-note,.quote-note,.info-row){
  border-radius:16px;
  background:rgba(47,107,129,.055);
}

body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(.contact-method,.contact-row,.contact-list a,.office-row):where(a,div,li),
body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(.form-note,.quote-note,.info-row):where(div,li){
  padding:.82rem .95rem;
}

body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(form,.form,.contact-form),
body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(form,.form,.offer-form,.quote-form){
  display:grid;
  gap:clamp(14px,1.6vw,20px);
}

body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(input,select,textarea),
body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(input,select,textarea){
  min-height:46px;
  border:1px solid rgba(47,107,129,.22);
  border-radius:14px;
  background:#fff;
  color:#143f4a;
  box-shadow:0 1px 0 rgba(12,52,65,.03);
}

body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(textarea),
body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(textarea){
  min-height:138px;
  resize:vertical;
}

body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(input,select,textarea):focus,
body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(input,select,textarea):focus{
  outline:3px solid rgba(47,107,129,.18);
  border-color:rgba(47,107,129,.55);
}

body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(.actions,.form-actions,.cta-row),
body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(.actions,.form-actions,.cta-row){
  display:flex;
  flex-wrap:wrap;
  gap:.72rem;
  align-items:center;
}

@media (max-width: 768px){
  body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(.footer-inner,.footer-wrap,.footer-grid){
    padding-block:30px;
  }

  body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(.footer-grid,.footer-columns,.footer-main){
    grid-template-columns:1fr;
  }

  body.fc-site :where(footer,.site-footer,.footer,.fc-footer) :where(.footer-bottom,.legal-row,.footer-legal){
    flex-direction:column;
    align-items:flex-start;
  }

  body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(.contact-card,.contact-box,.info-card,.office-card,.fc-card,.card):where(section,article,div,aside),
  body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(.form-card,.offer-card,.quote-card,.info-card,.fc-card,.card):where(section,article,div,aside){
    padding:18px;
    border-radius:20px;
  }

  body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(.actions,.form-actions,.cta-row),
  body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(.actions,.form-actions,.cta-row){
    flex-direction:column;
    align-items:stretch;
  }

  body.fc-site.fc-contact-page :where(#main,.fc-main,main) :where(.actions,.form-actions,.cta-row) > *,
  body.fc-site.fc-offer-page :where(#main,.fc-main,main) :where(.actions,.form-actions,.cta-row) > *{
    width:100%;
    justify-content:center;
  }
}

/* V1111 — Forms & Success States Polish
   Scoped form-system polish for contact, offer and claim flows. Visual layer only; no backend or routing changes.
*/
body.fc-site.fc-form-page :where(#main,.fc-main,main){
  --fc-form-accent:#2f6b81;
  --fc-form-accent-strong:#174f5e;
  --fc-form-ink:#143f4a;
  --fc-form-muted:#5f7b83;
  --fc-form-line:rgba(47,107,129,.20);
  --fc-form-surface:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,253,254,.93));
  --fc-form-shadow:0 18px 46px rgba(12,52,65,.085);
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.form-card,.contact-form,.offer-form,.quote-form,.claim-form,.fc-form,form):where(section,article,div,form),
body.fc-site.fc-success-page :where(#main,.fc-main,main) :where(.success-card,.form-success,.thank-you,.fc-success,.message-card,.notice-success):where(section,article,div){
  border:1px solid var(--fc-form-line);
  border-radius:clamp(20px,2.4vw,30px);
  background:var(--fc-form-surface);
  box-shadow:var(--fc-form-shadow);
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.form-card,.contact-form,.offer-form,.quote-form,.claim-form,.fc-form,form):where(section,article,div,form){
  padding:clamp(18px,2.2vw,30px);
}

body.fc-site.fc-success-page :where(#main,.fc-main,main) :where(.success-card,.form-success,.thank-you,.fc-success,.message-card,.notice-success):where(section,article,div){
  padding:clamp(22px,3vw,38px);
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(form,.form,.fc-form,.contact-form,.offer-form,.quote-form,.claim-form){
  display:grid;
  gap:clamp(14px,1.7vw,22px);
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.form-grid,.fields-grid,.input-grid,.fc-form-grid){
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:clamp(14px,1.6vw,20px);
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.field,.form-field,.input-field,.fc-field,.form-group){
  display:grid;
  gap:.42rem;
  min-width:0;
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(label,.field-label,.form-label){
  color:var(--fc-form-ink);
  font-weight:760;
  letter-spacing:.005em;
  line-height:1.32;
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.required,.is-required,abbr[title="required"]){
  color:#9b4d28;
  text-decoration:none;
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(input,select,textarea){
  width:100%;
  min-height:48px;
  padding:.78rem .92rem;
  border:1px solid var(--fc-form-line);
  border-radius:15px;
  background:#fff;
  color:var(--fc-form-ink);
  font:inherit;
  box-shadow:0 1px 0 rgba(12,52,65,.035);
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(select){ cursor:pointer; }

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(textarea){
  min-height:142px;
  line-height:1.55;
  resize:vertical;
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(input,select,textarea)::placeholder{ color:rgba(95,123,131,.74); }
body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(input,select,textarea):hover{ border-color:rgba(47,107,129,.34); }

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(input,select,textarea):focus{
  outline:0;
  border-color:rgba(47,107,129,.64);
  box-shadow:0 0 0 4px rgba(47,107,129,.15), 0 1px 0 rgba(12,52,65,.04);
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"],.is-invalid){
  border-color:rgba(153,68,45,.55);
  background:rgba(255,250,247,.96);
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.help-text,.field-help,.form-help,.hint,.small-note){
  color:var(--fc-form-muted);
  font-size:.92rem;
  line-height:1.48;
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.error,.field-error,.form-error,.invalid-feedback){
  color:#8f3f2a;
  font-size:.92rem;
  font-weight:680;
  line-height:1.45;
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(fieldset){
  margin:0;
  padding:clamp(14px,1.7vw,20px);
  border:1px solid rgba(47,107,129,.16);
  border-radius:20px;
  background:rgba(255,255,255,.72);
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(legend){
  padding:0 .36rem;
  color:var(--fc-form-accent-strong);
  font-weight:820;
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.checkbox,.checkbox-row,.radio-row,.consent-row,.gdpr-row,.privacy-row){
  display:flex;
  gap:.72rem;
  align-items:flex-start;
  padding:.88rem .95rem;
  border:1px solid rgba(47,107,129,.14);
  border-radius:16px;
  background:rgba(47,107,129,.055);
  color:var(--fc-form-ink);
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(input[type="checkbox"],input[type="radio"]){
  width:1.12rem;
  height:1.12rem;
  min-height:0;
  margin:.18rem 0 0;
  padding:0;
  accent-color:var(--fc-form-accent);
  box-shadow:none;
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.form-actions,.actions,.submit-row,.cta-row){
  display:flex;
  flex-wrap:wrap;
  gap:.78rem;
  align-items:center;
  padding-top:.18rem;
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.form-actions,.actions,.submit-row,.cta-row) :where(.note,.form-note,.privacy-note){
  flex-basis:100%;
  color:var(--fc-form-muted);
  font-size:.92rem;
  line-height:1.48;
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.alert,.notice,.message,.form-message,.status-message),
body.fc-site.fc-success-page :where(#main,.fc-main,main) :where(.alert,.notice,.message,.form-message,.status-message){
  border-radius:18px;
  padding:clamp(14px,1.65vw,20px);
  border:1px solid rgba(47,107,129,.16);
  background:rgba(47,107,129,.065);
  color:var(--fc-form-ink);
  line-height:1.58;
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.alert-success,.notice-success,.success,.form-success),
body.fc-site.fc-success-page :where(#main,.fc-main,main) :where(.alert-success,.notice-success,.success,.form-success,.thank-you){
  border-color:rgba(47,107,129,.24);
  background:radial-gradient(circle at top right, rgba(67,194,202,.18), transparent 34%), linear-gradient(180deg, rgba(247,253,254,.98), rgba(238,249,250,.92));
}

body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.alert-error,.notice-error,.error-box,.form-error-summary),
body.fc-site.fc-success-page :where(#main,.fc-main,main) :where(.alert-error,.notice-error,.error-box,.form-error-summary){
  border-color:rgba(153,68,45,.24);
  background:rgba(255,248,244,.92);
  color:#7d3928;
}

body.fc-site.fc-success-page :where(#main,.fc-main,main) :where(h1,h2,.success-title,.thank-you-title){ color:#123f4a; }

body.fc-site.fc-success-page :where(#main,.fc-main,main) :where(.success-actions,.thank-you-actions,.cta-row){
  display:flex;
  flex-wrap:wrap;
  gap:.78rem;
  align-items:center;
  margin-top:clamp(16px,2vw,24px);
}

@media (max-width: 760px){
  body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.form-grid,.fields-grid,.input-grid,.fc-form-grid){ grid-template-columns:1fr; }

  body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.form-card,.contact-form,.offer-form,.quote-form,.claim-form,.fc-form,form):where(section,article,div,form),
  body.fc-site.fc-success-page :where(#main,.fc-main,main) :where(.success-card,.form-success,.thank-you,.fc-success,.message-card,.notice-success):where(section,article,div){
    padding:18px;
    border-radius:20px;
  }

  body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(input,select,textarea){
    min-height:46px;
    font-size:16px;
  }

  body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.form-actions,.actions,.submit-row,.cta-row),
  body.fc-site.fc-success-page :where(#main,.fc-main,main) :where(.success-actions,.thank-you-actions,.cta-row){
    flex-direction:column;
    align-items:stretch;
  }

  body.fc-site.fc-form-page :where(#main,.fc-main,main) :where(.form-actions,.actions,.submit-row,.cta-row) > *,
  body.fc-site.fc-success-page :where(#main,.fc-main,main) :where(.success-actions,.thank-you-actions,.cta-row) > *{
    width:100%;
    justify-content:center;
  }
}


/* V1112 — SEO Metadata & Internal Linking Polish
   Scoped polish for breadcrumbs, related links, internal-link panels and article/service cross-links.
   No content or routing changes; this only improves the presentation of existing SEO/navigation surfaces.
*/
:root{
  --fc-seo-accent:#2f6b81;
  --fc-seo-accent-strong:#123f4a;
  --fc-seo-surface:linear-gradient(180deg, rgba(255,255,255,.97), rgba(248,253,254,.91));
  --fc-seo-line:rgba(47,107,129,.16);
  --fc-seo-muted:#5f7480;
  --fc-seo-shadow:0 16px 42px rgba(12,52,65,.075);
}

body.fc-site.fc-internal-link-context :where(#main,.fc-main,main) :where(.breadcrumb,.breadcrumbs,.fc-breadcrumbs,.breadcrumb-list){
  display:flex;
  flex-wrap:wrap;
  gap:.38rem .55rem;
  align-items:center;
  margin:0 0 clamp(14px,1.7vw,22px);
  padding:0;
  color:var(--fc-seo-muted);
  font-size:.9rem;
  line-height:1.45;
}

body.fc-site.fc-internal-link-context :where(#main,.fc-main,main) :where(.breadcrumb a,.breadcrumbs a,.fc-breadcrumbs a,.breadcrumb-list a){
  color:var(--fc-seo-accent-strong);
  text-decoration:none;
  font-weight:700;
}

body.fc-site.fc-internal-link-context :where(#main,.fc-main,main) :where(.breadcrumb a,.breadcrumbs a,.fc-breadcrumbs a,.breadcrumb-list a):where(:hover,:focus-visible){
  color:var(--fc-seo-accent);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.24em;
}

body.fc-site.fc-internal-link-context :where(#main,.fc-main,main) :where(.related-links,.related-guides,.related-services,.related-news,.fc-related,.internal-links,.cross-links,.more-links,.next-links,.link-panel,.fc-link-panel){
  border:1px solid var(--fc-seo-line);
  border-radius:clamp(20px,2.2vw,30px);
  background:var(--fc-seo-surface);
  box-shadow:var(--fc-seo-shadow);
}

body.fc-site.fc-internal-link-context :where(#main,.fc-main,main) :where(.related-links,.related-guides,.related-services,.related-news,.fc-related,.internal-links,.cross-links,.more-links,.next-links,.link-panel,.fc-link-panel):where(section,article,aside,div){
  padding:clamp(18px,2vw,28px);
}

body.fc-site.fc-internal-link-context :where(#main,.fc-main,main) :where(.related-title,.related-heading,.fc-related-title,.link-panel-title,.internal-links-title){
  margin:0 0 .72rem;
  color:var(--fc-seo-accent-strong);
  font-size:clamp(1.02rem,.98rem + .22vw,1.18rem);
  font-weight:850;
  letter-spacing:-.01em;
}

body.fc-site.fc-internal-link-context :where(#main,.fc-main,main) :where(.related-links ul,.related-guides ul,.related-services ul,.related-news ul,.fc-related ul,.internal-links ul,.cross-links ul,.more-links ul,.next-links ul){
  display:grid;
  gap:.62rem;
  margin:0;
  padding:0;
  list-style:none;
}

body.fc-site.fc-internal-link-context :where(#main,.fc-main,main) :where(.related-links li,.related-guides li,.related-services li,.related-news li,.fc-related li,.internal-links li,.cross-links li,.more-links li,.next-links li){
  margin:0;
  color:var(--fc-seo-muted);
}

body.fc-site.fc-internal-link-context :where(#main,.fc-main,main) :where(.related-links a,.related-guides a,.related-services a,.related-news a,.fc-related a,.internal-links a,.cross-links a,.more-links a,.next-links a,.link-card,.fc-link-card){
  color:var(--fc-seo-accent-strong);
  text-decoration:none;
  font-weight:760;
}

body.fc-site.fc-internal-link-context :where(#main,.fc-main,main) :where(.related-links a,.related-guides a,.related-services a,.related-news a,.fc-related a,.internal-links a,.cross-links a,.more-links a,.next-links a,.link-card,.fc-link-card):where(:hover,:focus-visible){
  color:var(--fc-seo-accent);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.25em;
}

body.fc-site.fc-content-detail :where(#main,.fc-main,main) :where(.article-meta,.post-meta,.entry-meta,.guide-meta,.news-meta,.reading-time,.fc-reading-time){
  color:var(--fc-seo-muted);
  font-size:.92rem;
  font-weight:650;
  line-height:1.45;
}

body.fc-site.fc-content-detail :where(#main,.fc-main,main) :where(.article-footer,.post-footer,.entry-footer,.guide-footer,.news-footer){
  margin-top:clamp(24px,3vw,42px);
  padding-top:clamp(18px,2.2vw,28px);
  border-top:1px solid rgba(47,107,129,.14);
}

body.fc-site.fc-policy-page :where(#main,.fc-main,main) :where(.policy-links,.legal-links,.document-links,.fc-related,.internal-links){
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,253,254,.94));
}

body.fc-site.fc-internal-link-context :where(#main,.fc-main,main) :where(a[href^="http"]):not(:where([href*="flexicare.gr"],[href*="staging.flexicare.gr"],.btn,.button,.fc-btn,.cta-button)){
  overflow-wrap:anywhere;
}

@media (max-width: 760px){
  body.fc-site.fc-internal-link-context :where(#main,.fc-main,main) :where(.related-links,.related-guides,.related-services,.related-news,.fc-related,.internal-links,.cross-links,.more-links,.next-links,.link-panel,.fc-link-panel):where(section,article,aside,div){
    padding:18px;
    border-radius:20px;
  }

  body.fc-site.fc-internal-link-context :where(#main,.fc-main,main) :where(.related-links a,.related-guides a,.related-services a,.related-news a,.fc-related a,.internal-links a,.cross-links a,.more-links a,.next-links a){
    display:inline-flex;
    align-items:center;
    min-height:34px;
  }
}

/* V1113 — Mobile Site-Wide Polish
   Scoped mobile polish for global layout rhythm, tap targets, cards, tables, media and sticky sidebars.
   This pass does not change content, routing, menu architecture or desktop/tablet layout.
*/
:root{
  --fc-mobile-safe-x:clamp(16px,4.6vw,22px);
  --fc-mobile-section-y:clamp(30px,8vw,48px);
  --fc-mobile-card-radius:20px;
  --fc-mobile-line:rgba(47,107,129,.16);
  --fc-mobile-surface:rgba(255,255,255,.96);
  --fc-mobile-shadow:0 14px 34px rgba(12,52,65,.07);
}

@media (max-width: 920px){
  body.fc-site :where(.container,.fc-container,.wrap,.wrapper,.page-wrap,.page-container){
    width:min(100% - (var(--fc-mobile-safe-x) * 2), 100%);
    max-width:100%;
  }

  body.fc-site :where(#main,.fc-main,main){
    overflow-x:clip;
  }

  body.fc-site :where(#main,.fc-main,main) :where(section,.section,.fc-section,.content-section,.page-section){
    scroll-margin-top:calc(var(--fc-header-height, 82px) + 18px);
  }

  body.fc-site :where(#main,.fc-main,main) :where(.two-col,.two-column,.three-col,.grid-2,.grid-3,.columns,.content-grid,.page-grid,.cards-grid,.card-grid,.fc-grid){
    gap:clamp(14px,4.2vw,24px);
  }

  body.fc-site :where(#main,.fc-main,main) :where(.sidebar,.side-nav,.toc,.table-of-contents,.content-nav,.fc-toc,.fc-sidebar,.policy-toc,.sticky,.is-sticky){
    position:static;
    top:auto;
    max-height:none;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.hero,.page-hero,.fc-hero,.service-hero,.hub-hero){
    border-radius:clamp(22px,5.6vw,30px);
  }
}

@media (max-width: 760px){
  body.fc-site{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }

  body.fc-site :where(#main,.fc-main,main){
    padding-inline:0;
  }

  body.fc-site :where(#main,.fc-main,main) :where(section,.section,.fc-section,.content-section,.page-section){
    margin-block:var(--fc-mobile-section-y);
  }

  body.fc-site :where(#main,.fc-main,main) :where(.hero,.page-hero,.fc-hero,.service-hero,.hub-hero,.intro,.page-intro){
    padding:clamp(22px,6.2vw,32px) var(--fc-mobile-safe-x);
  }

  body.fc-site :where(#main,.fc-main,main) :where(.hero h1,.page-hero h1,.fc-hero h1,h1){
    max-width:100%;
    text-wrap:balance;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.lead,.intro-text,.hero-text,.page-description,.section-intro){
    max-width:100%;
    font-size:clamp(1rem,.96rem + .55vw,1.08rem);
    line-height:1.62;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.card,.fc-card,.service-card,.program-card,.guide-card,.news-card,.utility-card,.document-card,.contact-card,.info-card,.feature-card){
    border-radius:var(--fc-mobile-card-radius);
    box-shadow:var(--fc-mobile-shadow);
  }

  body.fc-site :where(#main,.fc-main,main) :where(.card,.fc-card,.service-card,.program-card,.guide-card,.news-card,.utility-card,.document-card,.contact-card,.info-card,.feature-card):where(article,section,div,li){
    padding:clamp(16px,4.8vw,22px);
  }

  body.fc-site :where(#main,.fc-main,main) :where(.cards,.cards-grid,.card-grid,.fc-grid,.service-grid,.program-grid,.guides-grid,.news-grid,.utility-grid,.documents-grid,.features-grid){
    grid-template-columns:1fr;
    gap:clamp(14px,4.6vw,20px);
  }

  body.fc-site :where(#main,.fc-main,main) :where(.cta-row,.actions,.card-actions,.button-row,.btn-row,.form-actions,.success-actions){
    gap:.72rem;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.cta-row,.actions,.card-actions,.button-row,.btn-row) :where(.btn,.button,.fc-btn,.cta-button,a[class*="btn"]){
    min-height:44px;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.chip,.tag,.badge,.pill,.fc-chip,.fc-tag,.fc-badge){
    min-height:28px;
    line-height:1.25;
  }

  body.fc-site :where(#main,.fc-main,main) :where(img,svg,video,canvas,iframe){
    max-width:100%;
  }

  body.fc-site :where(#main,.fc-main,main) :where(figure,.image-card,.media-card,.fc-media){
    max-width:100%;
    overflow:hidden;
    border-radius:var(--fc-mobile-card-radius);
  }

  body.fc-site :where(#main,.fc-main,main) :where(table){
    min-width:640px;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.table-wrap,.table-responsive,.fc-table-wrap){
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    border:1px solid var(--fc-mobile-line);
    border-radius:18px;
    background:var(--fc-mobile-surface);
  }

  body.fc-site :where(#main,.fc-main,main) :where(.notice,.alert,.info-box,.note-box,.legal-note,.callout,.fc-callout){
    border-radius:18px;
    padding:clamp(14px,4.4vw,20px);
  }

  body.fc-site :where(#main,.fc-main,main) :where(.content,.entry-content,.article-content,.guide-content,.news-content,.service-content){
    max-width:100%;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.content,.entry-content,.article-content,.guide-content,.news-content,.service-content) :where(p,li){
    overflow-wrap:break-word;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.content,.entry-content,.article-content,.guide-content,.news-content,.service-content) :where(ul,ol){
    padding-left:1.18rem;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.content,.entry-content,.article-content,.guide-content,.news-content,.service-content) :where(li + li){
    margin-top:.42rem;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.breadcrumb,.breadcrumbs,.fc-breadcrumbs){
    max-width:100%;
    overflow-wrap:anywhere;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.split,.split-layout,.media-text,.text-media,.hero-grid,.intro-grid,.content-layout,.sidebar-layout){
    grid-template-columns:1fr;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.hide-mobile-polish-empty):empty{
    display:none;
  }
}

@media (max-width: 520px){
  body.fc-site :where(#main,.fc-main,main) :where(.hero,.page-hero,.fc-hero,.service-hero,.hub-hero){
    margin-inline:0;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.cta-row,.actions,.card-actions,.button-row,.btn-row){
    flex-direction:column;
    align-items:stretch;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.cta-row,.actions,.card-actions,.button-row,.btn-row) > :where(.btn,.button,.fc-btn,.cta-button,a[class*="btn"]){
    width:100%;
    justify-content:center;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.meta,.article-meta,.post-meta,.entry-meta,.guide-meta,.news-meta,.card-meta){
    gap:.38rem .55rem;
    flex-wrap:wrap;
  }
}



/* V1114 — Performance, Asset & Dead Code Cleanup
   Visual-neutral hygiene layer. Keeps the polish system lighter, avoids unused custom properties and gives browsers safe containment hints for heavy repeated cards/sections.
*/
body.fc-site :where(#main,.fc-main,main) :where(.card,.fc-card,.service-card,.program-card,.guide-card,.news-card,.utility-card,.document-card,.contact-card,.info-card,.feature-card){
  overflow-wrap:break-word;
}

@supports (content-visibility: auto){
  body.fc-site :where(#main,.fc-main,main) :where(.cards-grid,.card-grid,.fc-grid,.service-grid,.program-grid,.guides-grid,.news-grid,.utility-grid,.documents-grid,.features-grid) > :where(.card,.fc-card,.service-card,.program-card,.guide-card,.news-card,.utility-card,.document-card,.feature-card){
    content-visibility:auto;
    contain-intrinsic-size:1px 360px;
  }
}

@supports (contain: layout paint){
  body.fc-site :where(#main,.fc-main,main) :where(.card,.fc-card,.service-card,.program-card,.guide-card,.news-card,.utility-card,.document-card,.contact-card,.info-card,.feature-card,.notice,.alert,.callout,.fc-callout){
    contain:layout paint;
  }
}

/* V1115 — Final Pre-Live QA Lock
   Visual-safe final guard layer for consolidated polish. It does not redesign pages; it prevents common pre-live regressions: hidden horizontal overflow, anchors hiding under sticky header, oversized embeds, weak empty-state spacing, and print noise.
*/
body.fc-site{
  text-rendering:optimizeLegibility;
}

body.fc-site :where(#main,.fc-main,main) :where([id]){
  scroll-margin-top:clamp(82px, 10vw, 132px);
}

body.fc-site :where(#main,.fc-main,main) :where(a,button,input,select,textarea,summary){
  -webkit-tap-highlight-color:rgba(16, 92, 104, .16);
}

body.fc-site :where(#main,.fc-main,main) :where(iframe,embed,object){
  max-width:100%;
  border:0;
}

body.fc-site :where(#main,.fc-main,main) :where(.empty-state,.no-results,.fc-empty,.not-found-card){
  border:1px solid rgba(19, 91, 105, .14);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(239,249,249,.84));
  box-shadow:0 18px 40px rgba(10, 52, 62, .08);
}

body.fc-site :where(#main,.fc-main,main) :where(.legal-note,.privacy-note,.gdpr-note,.consent-note,.policy-note){
  overflow-wrap:break-word;
}

body.fc-site :where(#main,.fc-main,main) :where(.sticky,.is-sticky,.toc,.table-of-contents,.content-toc,.page-toc,.sidebar-toc){
  scroll-margin-top:clamp(90px, 11vw, 140px);
}

@media (min-width: 901px){
  body.fc-site :where(#main,.fc-main,main) :where(.toc,.table-of-contents,.content-toc,.page-toc,.sidebar-toc,.fc-toc){
    align-self:start;
  }
}

@media (max-width: 760px){
  body.fc-site :where(#main,.fc-main,main) :where([id]){
    scroll-margin-top:88px;
  }

  body.fc-site :where(#main,.fc-main,main) :where(.empty-state,.no-results,.fc-empty,.not-found-card){
    padding:clamp(18px, 5vw, 24px);
  }
}

@media print{
  body.fc-site :where(.site-header,.header-cta,.nav,.nav-toggle,.site-footer,.cookie-banner,.cookie-consent,.floating-actions,.whatsapp-float,.viber-float){
    display:none !important;
  }

  body.fc-site :where(#main,.fc-main,main){
    display:block !important;
    max-width:none !important;
    width:100% !important;
  }

  body.fc-site :where(a[href])::after{
    content:"";
  }
}


/* ===== V1117 — Mobile drawer / bottom CTA runtime guard =====
   Keeps the conversion bar out of the mobile drawer lifecycle and
   gives fixed CTAs safe-area breathing room on small screens.
*/
@media (max-width: 820px){
  body.fc-site{
    padding-bottom: calc(104px + var(--fc-cookie-offset, 0px) + env(safe-area-inset-bottom, 0px));
  }

  .fc-bottombar{
    left: max(12px, env(safe-area-inset-left, 0px));
    right: max(12px, env(safe-area-inset-right, 0px));
    bottom: calc(10px + var(--fc-cookie-offset, 0px) + env(safe-area-inset-bottom, 0px));
  }

  body.fc-mobile-nav-open .fc-bottombar,
  body.fc-mobile-nav-open .fc-float,
  html.fc-mobile-nav-open .fc-bottombar,
  html.fc-mobile-nav-open .fc-float{
    opacity:0 !important;
    pointer-events:none !important;
    transform:translateY(12px) !important;
  }
}

@media print{
  .fc-float,
  .fc-bottombar{
    display:none !important;
  }
}

/* ===== V1118 — Menu emergency fail-safe compatibility =====
   Supports both the dedicated header-menu runtime (.fc-mobile-nav-open)
   and the legacy main.js fallback runtime (.nav-open/.menu.open), so the
   bottom CTA never blocks the mobile drawer regardless of the active handler.
*/
@media (max-width: 820px){
  body.nav-open .fc-bottombar,
  body.nav-open .fc-float,
  html.nav-open .fc-bottombar,
  html.nav-open .fc-float,
  body:has(.site-header .menu.open) .fc-bottombar,
  body:has(.site-header .menu.open) .fc-float{
    opacity:0 !important;
    pointer-events:none !important;
    transform:translateY(12px) !important;
  }
}

/* ===== V1124 — Liability cluster QA alignment & mobile wrap guard =====
   Visual-safe layer after the liability content expansion. It prevents long
   Greek service/guide labels, related-content buttons and topic pills from
   creating horizontal overflow on mobile, while preserving the premium
   petrol-light visual hierarchy. No menu/runtime rules are changed here.
*/
body.fc-site :where(.fc-service-related-actions,.fc-program-actions,.fc-cta-banner__actions,.fc-hub-actions){
  min-width:0;
}

body.fc-site :where(.fc-service-related-actions,.fc-program-actions,.fc-cta-banner__actions,.fc-hub-actions) :where(.btn,.fc-service-related-btn){
  max-width:100%;
  min-width:0;
  white-space:normal !important;
  overflow-wrap:anywhere;
  text-wrap:balance;
  line-height:1.25;
}

body.fc-site :where(.fc-news-topic-nav,.fc-guides-topic-nav){
  min-width:0;
}

body.fc-site :where(.fc-news-topic-nav__pill){
  max-width:100%;
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  text-wrap:balance;
}

body.fc-site :where(.fc-pick-card-title,.fc-pick-card-sub,.fc-post-card__title,.fc-post-card__desc,.fc-news-topic__title,.fc-news-cluster__desc){
  overflow-wrap:anywhere;
}

body.fc-site :where(.fc-service-related-actions){
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

body.fc-site :where(.fc-service-related-actions) .btn{
  justify-content:center;
  text-align:center;
}

body.fc-site :where(#guides-businesses-liability,#efthynes,#kladikes-efthynes,.fc-news-topic:target,.fc-picks:target){
  scroll-margin-top:clamp(92px, 10vw, 136px);
}

@media (max-width: 760px){
  body.fc-site :where(.fc-service-related-actions,.fc-program-actions,.fc-cta-banner__actions,.fc-hub-actions){
    gap:8px;
  }

  body.fc-site :where(.fc-service-related-actions,.fc-program-actions,.fc-cta-banner__actions,.fc-hub-actions) :where(.btn,.fc-service-related-btn){
    width:100%;
    min-height:44px;
  }

  body.fc-site :where(.fc-news-topic-nav,.fc-guides-topic-nav){
    gap:8px;
  }

  body.fc-site :where(.fc-news-topic-nav__pill){
    width:100%;
    justify-content:space-between;
  }

  body.fc-site :where(#guides-businesses-liability,#efthynes,#kladikes-efthynes,.fc-news-topic:target,.fc-picks:target){
    scroll-margin-top:94px;
  }
}

/* ===== V1126 — Page family visual QA & sticky rail guard =====
   Conservative pre-live alignment layer. Keeps service, guide, news and
   institutional side rails readable and sticky on desktop, while preventing
   rail overflow and mobile overlaps. No menu/runtime rules are changed here.
*/
body.fc-site :where(.fc-program-top,.fc-program-layout,.fc-service-detail,.fc-guide-article-page,.fc-newsroom-article-page,.fc-about-page,.fc-about-layout,.fc-article-layout,.fc-newsroom-article-layout,.fc-guide-article-layout){
  min-width:0;
}

body.fc-site :where(.fc-program-content,.fc-program-top-left,.fc-program-top-right,.fc-program-nav,.fc-toc,.fc-toc--side,.fc-about-toc,.fc-guides-toc,.fc-newsroom-toc){
  min-width:0;
}

@media (min-width: 901px){
  body.fc-site :where(.fc-program-layout,.fc-article-layout,.fc-about-layout,.fc-newsroom-article-layout,.fc-guide-article-layout){
    align-items:start;
  }

  body.fc-site :where(.fc-program-nav,.fc-toc--side,.fc-about-toc,.fc-guides-toc,.fc-newsroom-toc){
    position:sticky;
    top:clamp(88px, 8vw, 118px);
    align-self:start;
    max-height:calc(100vh - 132px);
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }

  body.fc-site :where(.fc-program-nav,.fc-toc--side,.fc-about-toc,.fc-guides-toc,.fc-newsroom-toc) :where(a,.btn){
    max-width:100%;
    min-width:0;
    overflow-wrap:break-word;
  }
}

body.fc-site :where(.fc-program-nav,.fc-toc--side,.fc-about-toc,.fc-guides-toc,.fc-newsroom-toc){
  overflow-wrap:break-word;
}

body.fc-site :where(.fc-program-info-box,.fc-legal-caution,.fc-compliance-note,.fc-risk-note){
  border:1px solid rgba(19, 91, 105, .16);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(241,248,248,.86));
  box-shadow:0 14px 34px rgba(10, 52, 62, .06);
  color:#244b55;
}

body.fc-site :where(.fc-program-info-box__title,.fc-legal-caution__title,.fc-compliance-note__title,.fc-risk-note__title){
  color:#0b4d5b;
  font-weight:800;
  letter-spacing:.01em;
}

body.fc-site :where(.fc-program-info-box__body,.fc-legal-caution__body,.fc-compliance-note__body,.fc-risk-note__body){
  line-height:1.65;
}

body.fc-site :where(.fc-program-summary-card__list,.fc-program-content ul,.fc-article-content ul){
  overflow-wrap:break-word;
}

body.fc-site :where(.fc-program-layout,.fc-article-layout,.fc-about-layout){
  gap:clamp(22px, 3.2vw, 42px);
}

@media (max-width: 900px){
  body.fc-site :where(.fc-program-nav,.fc-toc--side,.fc-about-toc,.fc-guides-toc,.fc-newsroom-toc){
    position:static;
    max-height:none;
    overflow:visible;
  }

  body.fc-site :where(.fc-program-layout,.fc-article-layout,.fc-about-layout,.fc-newsroom-article-layout,.fc-guide-article-layout){
    gap:18px;
  }
}

@media (max-width: 760px){
  body.fc-site :where(.fc-program-top,.fc-program-layout,.fc-article-layout,.fc-about-layout){
    width:100%;
  }

  body.fc-site :where(.fc-program-info-box,.fc-legal-caution,.fc-compliance-note,.fc-risk-note){
    border-radius:18px;
  }
}
