/* ALFI catalogue: inherit the active Blocksy design tokens. */
#alfi-moules {
 --ink:var(--theme-text-color,var(--theme-palette-color-3));
 --ink-2:var(--theme-text-color,var(--theme-palette-color-3));
 --green:var(--theme-palette-color-2);
 --green-hi:var(--theme-palette-color-2);
 --green-tint:var(--theme-palette-color-1);
 --f-body:var(--theme-font-family);
 --f-display:var(--theme-button-font-family,ct_font_open_sans_condensed,sans-serif);
 --f-mono:var(--theme-font-family);
}

#alfi-moules .btn.btn-primary,
#alfi-moules .steel .btn.btn-primary {
 background:var(--theme-button-background-initial-color,var(--theme-palette-color-2));
 color:#fff;
 border-color:transparent;
}
#alfi-moules .btn.btn-ghost {
 color:var(--theme-palette-color-2) !important;
 border-color:var(--theme-palette-color-2);
 background:transparent;
}
#alfi-moules .btn.btn-primary:hover,
#alfi-moules .btn.btn-ghost:hover {
 color:#fff !important;
 background:var(--theme-button-background-hover-color,var(--theme-palette-color-2));
 border-color:transparent;
}
#alfi-moules .btn:focus-visible {
 outline:2px solid var(--theme-palette-color-2);
 outline-offset:3px;
}
#alfi-moules svg {font-family:var(--theme-font-family);}
#alfi-moules h1,#alfi-moules h2,#alfi-moules h3 {
 font-family:var(--theme-font-family);
 font-stretch:normal;
 color:var(--theme-headings-color,var(--theme-palette-color-3));
}
#alfi-moules .steel h1,#alfi-moules .steel h2,#alfi-moules .steel h3,
#alfi-moules .sheet h1,#alfi-moules .sheet h2,#alfi-moules .sheet h3 {
 color:var(--theme-palette-color-8);
}
#alfi-moules .band {color:var(--theme-palette-color-8);}
#alfi-moules .brand {flex:0 0 auto;width:154px;}
#alfi-moules.alfi-speciaux .brand {width:210px;}
#alfi-moules .brand img {
 width:100%;height:auto;max-width:100%;object-fit:contain;aspect-ratio:320 / 95;
}
#alfi-moules.alfi-speciaux .brand img {aspect-ratio:320 / 61;}
#alfi-moules footer .wrap {
 display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:32px;
 align-items:start;padding-block:36px;
}
#alfi-moules footer .wrap>div {min-width:0;line-height:1.65;}
#alfi-moules footer img {
 width:180px !important;height:auto !important;max-width:100%;
 object-fit:contain;object-position:left center;aspect-ratio:320 / 95;
}
#alfi-moules.alfi-speciaux footer img {width:260px !important;aspect-ratio:320 / 61;}
#alfi-moules footer b {color:var(--theme-headings-color) !important;}
#alfi-moules footer a {color:var(--theme-text-color,var(--theme-palette-color-3));}
@media(max-width:1200px) {
 #alfi-moules .top nav {display:none;}
 #alfi-moules .top .mnav {display:flex;}
}
@media(max-width:767px) {
 #alfi-moules footer .wrap {grid-template-columns:1fr;gap:24px;}
 #alfi-moules.alfi-speciaux .brand {width:min(48vw,210px);}
 #alfi-moules .brand {width:min(35vw,154px);}
}

/* Page hierarchy, balanced section introductions and shared navigation. */
#alfi-moules .alfi-intro-title {
 font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1.15;
}
#alfi-moules .hero h2::before {display:none;}
#alfi-moules .band .wrap {justify-content:center;text-align:center;}
#alfi-moules .band .wrap>span {display:block;width:100%;text-align:center;color:var(--theme-palette-color-8,#fff);}
#alfi-moules .fi-nav {display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:8px;align-items:stretch;}
#alfi-moules .fi-nav #fiAsk {grid-column:1 / -1;white-space:normal;text-align:center;}
#alfi-moules .fi-nav #fiPrev {grid-column:2;}
#alfi-moules .fi-nav #fiNext {grid-column:3;}
#alfi-moules .fi-nav :is(#fiPrev,#fiNext) {display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;min-width:0;font-size:1.4rem;}
#alfi-moules .top {position:sticky;top:var(--alfi-theme-header,0px);z-index:40;}
#alfi-moules .top nav {gap:14px;min-width:0;}
#alfi-moules .top nav a,#alfi-moules .top .mnav a {font-size:.9rem;}
#alfi-moules section[id] {scroll-margin-top:var(--alfi-anchor-offset,180px);}
/* The enquiry leads the anchor row. Mobile scrolls the complete row. */
#alfi-moules .top > .wrap {display:flex;justify-content:flex-start;gap:16px;}
#alfi-moules .top > .wrap > nav {display:flex;flex:1 1 auto;justify-content:flex-start;overflow-x:auto;white-space:nowrap;min-width:0;scrollbar-width:thin;}
#alfi-moules .top > .wrap > nav a {flex:0 0 auto;padding-block:10px;border-bottom:2px solid transparent;}
#alfi-moules .top > .wrap > nav a:is(.is-active,:hover,:focus-visible) {color:var(--theme-palette-color-2);border-bottom-color:var(--theme-palette-color-2);}
#alfi-moules .top > .wrap > .btn {margin:0;flex:0 0 auto;}
#alfi-moules .top > .wrap > .btn.is-active {outline:2px solid var(--theme-palette-color-2);outline-offset:3px;}
#alfi-moules .top .mnav {display:none;}
@media(max-width:999px) {
 #alfi-moules .top > .wrap {overflow-x:auto;scrollbar-width:thin;scroll-padding-inline:12px;overscroll-behavior-x:contain;}
 #alfi-moules .top > .wrap > nav {flex:0 0 auto;overflow:visible;}
 #alfi-moules .top > .wrap > .btn {margin-left:0;}
}
#alfi-moules section>.wrap>h2 {
 max-width:52rem !important;margin-inline:auto !important;text-align:center;
}
#alfi-moules section>.wrap>.lead {
 max-width:52rem;margin-inline:auto;text-align:center;
}
#alfi-moules section>.wrap>h2::before {display:none;}
#alfi-moules .proof b,#alfi-moules .clients b,#alfi-moules legend {
 color:var(--theme-headings-color,var(--theme-palette-color-3));
}
#alfi-moules .clients {
 display:grid;grid-template-columns:repeat(7,minmax(0,1fr));
 gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);
}
#alfi-moules .clients span {
 grid-column:1/-1;text-align:center;font-size:1.05rem;letter-spacing:0;
 text-transform:none;margin-bottom:8px;
}
#alfi-moules .clients b {
 display:flex;align-items:center;justify-content:center;min-height:66px;
 padding:12px;background:var(--theme-palette-color-6);border-radius:10px;
 text-align:center;font-size:1.1rem;
}
#alfi-moules footer .wrap {grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch;}
#alfi-moules footer .wrap>div {
 background:var(--theme-palette-color-8);border-radius:12px;padding:24px;
 display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
#alfi-moules footer .wrap>div>br {display:none;}
#alfi-moules footer .wrap>div>p {margin:12px 0 0;}
#alfi-moules footer img {margin-inline:auto;}
#alfi-moules .c-accordion__item {
 padding:0;background:var(--theme-palette-color-8);border:0;
 border-radius:10px;margin-bottom:12px;color:var(--ink);
}
#alfi-moules h3.c-accordion__title {
 padding:20px 52px 20px 35px !important;margin:0;font-family:var(--theme-font-family);
 font-size:1.15rem;line-height:1.4;text-transform:none;
}
#alfi-moules .c-accordion__title::before {left:20px;width:30px;}
#alfi-moules .c-accordion__title::after {right:24px;color:var(--theme-text-color,#777);}
#alfi-moules .is-open > .c-accordion__title::after {color:var(--theme-palette-color-2);}
#alfi-moules .c-accordion__content {padding:0 24px 24px;}
#alfi-moules .c-accordion__content p {color:var(--ink);margin:0;}
#alfi-moules .c-accordion__title:focus-visible {outline:2px solid var(--green);outline-offset:3px;}

/* Let the copy set the photo height, without stretching the source images. */
@media(min-width:901px) {
 #alfi-moules.alfi-speciaux :is(#lego,#machines,#service)>.two,
 #alfi-moules.alfi-speciaux #fonds .fdr-grid {align-items:stretch;}
 #alfi-moules.alfi-speciaux :is(#lego,#service) .photos,
 #alfi-moules.alfi-speciaux #fonds .col3 {
  min-height:0;contain:size;grid-template-rows:repeat(2,minmax(0,1fr));
 }
 #alfi-moules.alfi-speciaux :is(#lego,#service) .photos figure,
 #alfi-moules.alfi-speciaux #fonds .col3 figure {aspect-ratio:auto;min-height:0;}
 #alfi-moules.alfi-speciaux :is(#lego,#service) .photos img,
 #alfi-moules.alfi-speciaux #fonds .col3 img {position:absolute;inset:0;}
 #alfi-moules.alfi-speciaux #machines .figure {contain:size;min-height:0;}
 #alfi-moules.alfi-speciaux #machines .figure img {
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
 }
 #alfi-moules.alfi-speciaux #machines .figure figcaption {
  position:absolute;inset:auto 0 0;background:rgba(255,255,255,.94);margin:0;
 }
 /* The drawing stays intact; specifications use the full section width. */
 #alfi-moules #mecanique .two {gap:24px 40px;align-items:center;}
 #alfi-moules #mecanique .two>.stack:first-child {grid-column:1;grid-row:1 / 3;}
 #alfi-moules #mecanique .two>.stack:nth-child(2) {display:contents;}
 #alfi-moules #mecanique .two>.stack:nth-child(2)>p {grid-column:2;margin:0;}
 #alfi-moules #mecanique :is(.keys,.opts),
 #alfi-moules #mecanique .two>.stack:nth-child(2)>h3 {grid-column:1 / -1;}
 #alfi-moules #mecanique .opts {grid-template-columns:repeat(4,minmax(0,1fr));margin:0;}
 #alfi-moules #mecanique .opts>div {padding:18px;background:var(--theme-palette-color-8);border:0;border-radius:10px;}
 #alfi-moules.alfi-presses #service>.two {align-items:stretch;}
 #alfi-moules.alfi-presses #service .svc {flex:1;grid-template-columns:1fr;grid-template-rows:repeat(4,1fr);}
 #alfi-moules.alfi-presses #service .svc>div {justify-content:center;padding:24px;}
}
@media(max-width:900px) {
 #alfi-moules.alfi-speciaux #fonds .col3 {aspect-ratio:1.6;}
 #alfi-moules.alfi-speciaux :is(#lego,#machines,#service)>.two,
 #alfi-moules #mecanique .two,#alfi-moules.alfi-presses #service>.two {grid-template-columns:1fr;}
 #alfi-moules .clients {grid-template-columns:repeat(4,minmax(0,1fr));}
}

/* Progress is based on actual answers, not on visited steps. */
#alfi-moules input,#alfi-moules select,#alfi-moules textarea,
#alfi-moules datalist,#alfi-moules option {
 color-scheme:light;
}
#alfi-moules select option,#alfi-moules datalist option {
 background:var(--theme-palette-color-8,#fff);
 color:var(--theme-text-color,#646567);
 font-family:var(--theme-font-family);font-size:1rem;font-weight:400;
}
#alfi-moules .steps button {position:relative;padding-right:28px;min-height:76px;}
#alfi-moules .steps .alfi-step-icon {
 position:absolute;right:9px;top:10px;font:700 1rem/1.2 sans-serif;
 color:var(--theme-text-color);
}
#alfi-moules .steps .alfi-step-status {display:block;font-size:.7rem;line-height:1.3;margin-top:6px;color:var(--theme-text-color);}
#alfi-moules .steps [data-status="complete"] .alfi-step-icon {color:var(--theme-palette-color-2);}
#alfi-moules .steps [data-status="pending"] .alfi-step-icon {width:16px;height:16px;border:2px dashed currentColor;border-radius:50%;}
#alfi-moules .steps [data-status="error"] {border-color:var(--crit);}
#alfi-moules .steps [data-status="error"] .alfi-step-icon,
#alfi-moules .alfi-form-error {color:var(--crit);}
#alfi-moules .steps [data-status="error"] .alfi-step-icon {border:1px solid currentColor;border-radius:50%;width:18px;text-align:center;}
#alfi-moules #cfgForm [aria-invalid="true"] {outline:1px solid var(--crit);outline-offset:2px;}
#alfi-moules .alfi-form-help {margin:0 0 20px;}
#alfi-moules .alfi-form-error {margin:16px 0;font-size:.9rem;}
@media(max-width:767px) {
 #alfi-moules footer .wrap {grid-template-columns:1fr;}
 #alfi-moules .clients {grid-template-columns:repeat(2,minmax(0,1fr));}
 #alfi-moules section>.wrap>h2,#alfi-moules section>.wrap>.lead {text-align:left;}
}

/* The five points supplied by ALFI sit under the press moulds introduction. */
#alfi-moules .mould-summary {padding:1.1rem 1.3rem;background:var(--theme-palette-color-8,#fff);border-inline-start:4px solid var(--green);border-radius:6px;text-align:start;}
#alfi-moules .mould-summary h3 {margin:0 0 .55rem;}
#alfi-moules .mould-summary h3::before {content:none;}
#alfi-moules .mould-summary ul {margin:0;padding-inline-start:1.25em;list-style:disc;}
#alfi-moules .mould-summary li+li {margin-block-start:.35em;}
