body#cms #wrapper > .container:has(.nf-dl-page) {
  width: 100% !important; max-width: none !important; margin-inline: 0 !important; padding-inline: 0 !important;
}
body#cms #content:has(.nf-dl-page) { padding: 0 !important; background: transparent; border: 0; box-shadow: none; }
body#cms #main:has(.nf-dl-page) > .page-header { display: none; }
body#cms .nf-dl-page {
  --dl-gap: 12px;
  --dl-gutter: 48px;
  --dl-radius: 24px;
  --dl-ink: var(--noir1, #111);
  --dl-orange: var(--color1, #f88222);
  --dl-bg: #f1f1f1;
  --dl-line: #e3e3e3;
  --dl-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16m-7-7 7 7-7 7' fill='none' stroke='%23111111' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --dl-download: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v12m-5-5 5 5 5-5M4 16v5h16v-5' fill='none' stroke='%23111111' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --dl-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.8' fill='none' stroke='%23111111' stroke-width='1.6'/%3E%3Cpath d='m16 16 5 5' stroke='%23111111' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  padding: 0 var(--dl-gutter) 40px !important; margin: 0 !important;
  color: var(--dl-ink); font: 400 14px/1.65 var(--font-defaut, sans-serif);
}
.nf-dl-page *, .nf-dl-page *::before, .nf-dl-page *::after { box-sizing: border-box; }
.nf-dl-page [hidden] { display: none !important; }
.nf-dl-page > .elementor-container, .nf-dl-page .nf-dl-row > .elementor-container {
  width: 100%; max-width: none; padding: 0; margin: 0;
}
.nf-dl-page .nf-dl-row { margin: 0 !important; padding: 0 !important; }
.nf-dl-page .nf-dl-row > .elementor-container > .elementor-row {
  width: 100%; margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--dl-gap);
}
.nf-dl-page .nf-dl-row > .elementor-container > .elementor-row > .elementor-column { width: 100% !important; min-width: 0; }
.nf-dl-page :is(.nf-dl-main,.nf-dl-row .elementor-column) > .elementor-column-wrap { width: 100%; padding: 0 !important; margin: 0 !important; }
.nf-dl-page :is(.nf-dl-main,.nf-dl-row .elementor-column) > .elementor-column-wrap > .elementor-widget-wrap { display: block; padding: 0 !important; }
.nf-dl-page :is(.nf-dl-heading,.nf-dl-text,.nf-dl-image,.nf-dl-button,.nf-dl-anchor) { margin: 0 !important; }
.nf-dl-page .nf-dl-heading .elementor-heading-title {
  margin: 0; color: inherit; text-transform: none;
  font: 800 clamp(30px, 3vw, 48px)/1.08 var(--font-titre, sans-serif); letter-spacing: -.025em;
}
.nf-dl-page .nf-dl-title { margin: 6px 0 16px !important; }
.nf-dl-page .nf-dl-title .elementor-heading-title { font-size: clamp(36px, 4.3vw, 66px); }
.nf-dl-page .nf-dl-text p { margin: 0; }
.nf-dl-page .nf-dl-kicker { font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.nf-dl-page .nf-dl-hero > .elementor-container > .elementor-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nf-dl-page .nf-dl-hero-copy {
  display: flex; align-items: center; min-height: 360px; padding: clamp(24px, 3.2vw, 48px);
  border-radius: var(--dl-radius); background: #151515; color: #fff;
}
.nf-dl-page .nf-dl-hero-copy > .elementor-column-wrap > .elementor-widget-wrap { display: grid; }
.nf-dl-page .nf-dl-hero-copy .nf-dl-kicker { color: #ffb371; }
.nf-dl-page .nf-dl-hero-copy .nf-dl-text:not(.nf-dl-kicker) { color: #e5e5e5; max-width: 49ch; }
.nf-dl-page .nf-dl-hero-copy .nf-dl-heading .elementor-heading-title { font-size: clamp(34px, 3.8vw, 60px); }
.nf-dl-page .nf-dl-hero-art { align-items: center; background: #ebe9e7; border-radius: var(--dl-radius); padding: 24px; }
.nf-dl-page .nf-dl-hero-art img { display: block; margin: auto; width: auto; max-width: 100%; height: min(29vw, 320px); min-height: 190px; object-fit: contain; filter: drop-shadow(10px 12px 16px #221d1938); }
.nf-dl-page .nf-dl-button:where(:not(.nf-btn-arrow)) .elementor-button {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 100%; min-height: 44px; padding: 0;
  border: 0; box-shadow: none; background: transparent; color: var(--dl-ink) !important; text-transform: none;
  font: 750 13px/1.35 var(--font-defaut, sans-serif); text-align: left; white-space: normal;
}
.nf-dl-page .nf-dl-button:where(:not(.nf-btn-arrow)) .elementor-button::before { content: none !important; }
.nf-dl-page .nf-dl-button:where(:not(.nf-btn-arrow)) .elementor-button::after {
  content: ""; position: static; display: block; width: 36px; height: 36px; flex: 0 0 36px;
  background: var(--dl-orange) var(--dl-arrow) center/23px no-repeat; border: 0; border-radius: 50%; box-shadow: none;
  transform: none; transition: transform .18s ease, background-color .18s ease;
}
.nf-dl-page .nf-dl-hero-copy .nf-dl-jump :is(.elementor-button,.elementor-button-content-wrapper,.elementor-button-text) { color: #fff !important; }
.nf-dl-page .nf-dl-jump .elementor-button { text-decoration: underline; text-underline-offset: 4px; }
.nf-dl-page .nf-dl-jump .elementor-button::after { width: 24px; height: 24px; flex-basis: 24px; background-size: 15px; transform: rotate(90deg); }
.nf-dl-page .nf-dl-section { margin-top: clamp(34px, 4vw, 56px) !important; }
.nf-dl-page .nf-dl-section .nf-dl-kicker { color: #555; margin-bottom: 6px !important; }
.nf-dl-page .nf-dl-documentation .nf-dl-heading + .nf-dl-text { color: #555; margin-top: 6px !important; }
.nf-dl-page .nf-dl-anchor { height: 0; }
.nf-dl-page .nf-dl-anchor .elementor-menu-anchor { scroll-margin-top: 110px; }
.nf-dl-page .nf-dl-search-mount { height: auto; margin-top: 16px !important; }
.nf-dl-page .nf-dl-engine { width: 100%; }
.nf-dl-page .nf-dl-search {
  min-height: 54px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--dl-line); border-radius: 999px;
  padding: 0 8px 0 17px; background: var(--dl-bg);
}
.nf-dl-page .nf-dl-search::before { content: ""; flex: 0 0 21px; height: 21px; background: var(--dl-search) center/contain no-repeat; }
.nf-dl-page .nf-dl-search input {
  width: 100%; min-width: 0; min-height: 52px; padding: 0; font: inherit; font-size: 16px;
  color: var(--dl-ink); border: 0; background: transparent; box-shadow: none; outline: none;
}
.nf-dl-page .nf-dl-search input::-webkit-search-cancel-button { appearance: none; }
.nf-dl-page .nf-dl-search:focus-within, .nf-dl-page :is(a,button):focus-visible { outline: 2px solid #ad4d00; outline-offset: 3px; }
.nf-dl-page .nf-dl-clear {
  flex: 0 0 44px; height: 44px; border: 0; background: transparent; color: var(--dl-ink);
  border-radius: 50%; font: 400 23px/1 var(--font-defaut, sans-serif); cursor: pointer;
}
.nf-dl-page .nf-dl-filters { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.nf-dl-page :is(.nf-dl-filters button,.nf-dl-more,.nf-dl-retry) {
  padding: 8px 14px; min-height: 44px; border: 1px solid #bcbcbc; border-radius: 999px;
  background: #fff; color: var(--dl-ink); font: 700 12px/1.3 var(--font-defaut, sans-serif);
  cursor: pointer; transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}
.nf-dl-page .nf-dl-filters button[aria-pressed="true"] { background: var(--dl-ink); border-color: var(--dl-ink); color: #fff; }
.nf-dl-page .nf-dl-filters button {
  display: inline-flex; align-items: center; gap: 11px; min-height: 56px;
  padding: 8px 18px 8px 10px; font-size: 13px; border-color: var(--gris4,#ccc);
}
.nf-dl-page .nf-dl-filters button:first-child { padding-inline: 22px; }
.nf-dl-page .nf-dl-filters button[aria-pressed="true"] .nf-dl-type-icon { background: var(--dl-orange); }
.nf-dl-page .nf-dl-type-icon {
  --dl-icon-size: 36px;
  flex: 0 0 var(--dl-icon-size); width: var(--dl-icon-size); height: var(--dl-icon-size);
  display: inline-grid; place-items: center; border-radius: 50%; background: var(--dl-bg); color: #333;
}
.nf-dl-page .nf-dl-type-icon::before {
  content: ""; width: 16px; height: 16px; background: currentColor;
  -webkit-mask: var(--dl-type-glyph) center/contain no-repeat; mask: var(--dl-type-glyph) center/contain no-repeat;
}
.nf-dl-page .nf-dl-type-icon[data-doc-type="ft"] { --dl-type-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h7l4 4v14H6V3zm7 0v5h4M9 12h6m-6 4h6' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.nf-dl-page .nf-dl-type-icon[data-doc-type="dc"] { --dl-type-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3c3 2 5 3 8 3v5c0 5-3 8-8 10-5-2-8-5-8-10V6c3 0 5-1 8-3zm-3 9 2 2 4-4' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.nf-dl-page .nf-dl-type-icon[data-doc-type="dex"] { --dl-type-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6c-3-2-6-3-9-2v14c3-1 6 0 9 2 3-2 6-3 9-2V4c-3-1-6 0-9 2zm0 0v14' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.nf-dl-page .nf-dl-type-icon[data-doc-type="other"] { --dl-type-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h8l4 4v14H6zm8 0v5h4' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.nf-dl-page .nf-dl-status { margin: 20px 0 10px; font-weight: 750; font-size: 12px; min-height: 20px; }
.nf-dl-page .nf-dl-engine .nf-dl-results { margin: 0 !important; padding: 0 !important; list-style: none !important; border-top: 1px solid var(--dl-line); }
.nf-dl-page .nf-dl-engine .nf-dl-results > li {
  display: block; list-style: none !important; margin: 0 !important; padding: 0 !important;
  border-bottom: 1px solid var(--dl-line);
}
.nf-dl-page .nf-dl-result-name { display: block; color: var(--dl-ink); font-weight: 750; overflow-wrap: anywhere; }
.nf-dl-page :is(.nf-dl-result-ref,.nf-dl-result-file,.nf-dl-result-type) { color: #555; font-size: 12px; overflow-wrap: anywhere; min-width: 0; }
.nf-dl-page .nf-dl-result-type { display: flex; align-items: center; gap: 8px; }
.nf-dl-page .nf-dl-result-type .nf-dl-type-icon { --dl-icon-size: 28px; }
.nf-dl-page :is(.nf-dl-doc-link,.nf-dl-result-head) {
  display: grid; grid-template-columns: 44px minmax(0,1.15fr) minmax(0,.85fr) minmax(0,1.15fr) minmax(0,1.05fr);
  align-items: center; gap: 15px; padding-inline: 16px;
}
.nf-dl-page .nf-dl-result-head {
  color: #555; font-size: 11px; font-weight: 750; letter-spacing: .04em;
  text-transform: uppercase; padding-block: 4px 10px;
}
.nf-dl-page .nf-dl-doc-link {
  padding-block: 13px; border-radius: 12px; color: var(--dl-ink); text-decoration: none;
  transition: background-color .18s ease; outline-offset: -2px;
}
.nf-dl-page .nf-dl-doc-icon {
  display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  background: var(--dl-bg); transition: background-color .18s ease;
}
.nf-dl-page .nf-dl-doc-icon::after {
  content: ""; width: 21px; height: 21px; background: var(--dl-download) center/contain no-repeat; transition: transform .18s ease;
}
.nf-dl-page .nf-dl-doc-link:focus-visible { background: #f5f5f5; outline-offset: -2px; }
.nf-dl-page :is(.nf-dl-more,.nf-dl-retry) { margin-top: 18px; }
.nf-dl-page .nf-dl-empty { margin: 4px 0 0; color: #555; }
.nf-dl-page .nf-dl-grid { margin-top: 16px !important; }
.nf-dl-page .nf-dl-card { border-radius: var(--dl-radius); background: var(--dl-bg); overflow: hidden; }
.nf-dl-page .nf-dl-card > .elementor-column-wrap > .elementor-widget-wrap { display: flex; flex-direction: column; }
.nf-dl-page .nf-dl-card .nf-dl-image { background: #ebe9e7; }
.nf-dl-page .nf-dl-card .nf-dl-image img { display: block; width: 100%; height: 178px; padding: 14px; object-fit: contain; }
.nf-dl-page .nf-dl-card .nf-dl-kicker { padding: 14px 16px 0; margin: 0 !important; }
.nf-dl-page .nf-dl-card .nf-dl-heading { padding: 3px 16px 0; }
.nf-dl-page .nf-dl-card .nf-dl-heading .elementor-heading-title { font-size: clamp(18px, 2vw, 26px); }
.nf-dl-page .nf-dl-card .nf-dl-brochure-link { margin-top: auto !important; padding: 8px 16px 12px; }
.nf-dl-page .nf-dl-brochure-link .elementor-button { justify-content: flex-start; }
.nf-dl-page .nf-dl-card { position: relative; transition: background-color .18s ease; }
.nf-dl-page .nf-dl-card > .elementor-column-wrap,
.nf-dl-page .nf-dl-card > .elementor-column-wrap > .elementor-widget-wrap,
.nf-dl-page .nf-dl-card :is(.nf-dl-brochure-link,.nf-dl-brochure-link .elementor-widget-container,.nf-dl-brochure-link .elementor-button-wrapper,.nf-dl-brochure-link .elementor-button) { position: static !important; }
.nf-dl-page .nf-dl-card .nf-dl-brochure-link .elementor-button::before {
  content: "" !important; display: block !important; position: absolute; inset: 0; z-index: 2;
}
.nf-dl-page .nf-dl-card:focus-within { box-shadow: inset 0 0 0 2px #ad4d00; }
.nf-dl-page .nf-dl-brochure-link .elementor-button:focus-visible { outline-offset: 1px; }
.nf-dl-page .nf-dl-card .nf-dl-brochure-link .elementor-button::after { background-image: var(--dl-download); background-size: 19px; }
.nf-dl-page .nf-dl-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (hover: hover) {
  .nf-dl-page .nf-dl-jump .elementor-button:hover::after { transform: translateY(3px) rotate(90deg); }
  .nf-dl-page .nf-dl-card:hover .nf-dl-brochure-link .elementor-button::after,
  .nf-dl-page .nf-dl-doc-link:hover .nf-dl-doc-icon::after { transform: translateY(2px); }
  .nf-dl-page :is(.nf-dl-card,.nf-dl-doc-link):hover { background: #fff3e9; }
  .nf-dl-page .nf-dl-doc-link:hover .nf-dl-doc-icon,
  .nf-dl-page .nf-dl-clear:hover { background: var(--dl-orange); }
  .nf-dl-page :is(.nf-dl-filters button:not([aria-pressed="true"]),.nf-dl-more,.nf-dl-retry):hover { background: var(--dl-bg); border-color: #555; }
}
.nf-dl-page :is(.nf-dl-filters button,.nf-dl-more,.nf-dl-retry):active { transform: scale(.97); }
@media (max-width: 1024px) { body#cms .nf-dl-page { --dl-gutter: 28px; } }
@media (max-width: 767px) {
  body#cms .nf-dl-page { --dl-gap: 8px; --dl-gutter: 20px; --dl-radius: 20px; }
  .nf-dl-page .nf-dl-hero > .elementor-container > .elementor-row { grid-template-columns: 1fr; }
  .nf-dl-page .nf-dl-hero-copy { min-height: 0; }
  .nf-dl-page .nf-dl-hero-art { padding: 14px; }
  .nf-dl-page .nf-dl-hero-art img { height: 160px; min-height: 0; }
  .nf-dl-page .nf-dl-filters { gap: 8px; }
  .nf-dl-page .nf-dl-filters button { gap: 8px; min-height: 48px; padding: 7px 15px 7px 8px; font-size: 12px; }
  .nf-dl-page .nf-dl-filters button:first-child { padding-inline: 18px; }
  .nf-dl-page .nf-dl-filters .nf-dl-type-icon { --dl-icon-size: 32px; }
  .nf-dl-page .nf-dl-result-head { display: none; }
  .nf-dl-page .nf-dl-doc-link {
    grid-template-columns: 44px minmax(0,1fr) minmax(0,1fr);
    grid-template-areas: "download name name" "download ref file" "download type type";
    gap: 3px 10px; padding: 12px 8px;
  }
  .nf-dl-page .nf-dl-doc-icon { grid-area: download; }
  .nf-dl-page .nf-dl-result-name { grid-area: name; }
  .nf-dl-page .nf-dl-result-ref { grid-area: ref; }
  .nf-dl-page .nf-dl-result-file { grid-area: file; }
  .nf-dl-page .nf-dl-result-type { grid-area: type; margin-top: 3px; }
  .nf-dl-page .nf-dl-card .nf-dl-image img { height: 126px; padding: 10px; }
  .nf-dl-page .nf-dl-card :is(.nf-dl-kicker,.nf-dl-heading,.nf-dl-brochure-link) { padding-inline: 10px; }
  .nf-dl-page .nf-dl-brochure-link .elementor-button { gap: 5px; font-size: 12px; }
  .nf-dl-page .nf-dl-brochure-link .elementor-button::after { width: 32px; height: 32px; flex-basis: 32px; }
}
@media (max-width: 479px) {
  .nf-dl-page .nf-dl-doc-link {
    grid-template-columns: 44px minmax(0,1fr);
    grid-template-areas: "download name" "download ref" "download file" "download type";
  }
}
@media (prefers-reduced-motion: reduce) {
  .nf-dl-page *, .nf-dl-page *::before, .nf-dl-page *::after { transition-duration: 0s !important; }
}

/* Spacing on the actual Creative Elements widgets, independent of wrapper styles. */
body#cms .nf-dl-page .nf-dl-hero-copy > .elementor-column-wrap > .elementor-widget-wrap { gap: 0; }
body#cms .nf-dl-page .nf-dl-hero-copy .nf-dl-kicker { margin-bottom: 13px !important; }
body#cms .nf-dl-page .nf-dl-hero-copy .nf-dl-heading { margin-bottom: 16px !important; }
body#cms .nf-dl-page .nf-dl-hero-copy .nf-dl-pill { margin-top: 23px !important; }
body#cms .nf-dl-page .nf-dl-hero-copy .nf-dl-jump { margin-top: 10px !important; }

.nf-dl-page .nf-dl-grid { --dl-visible: 4; }
.nf-dl-page .nf-dl-grid > .elementor-container > .elementor-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.nf-dl-page .nf-dl-grid > .elementor-container > .elementor-row.nf-dl-track {
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--dl-visible) - 1) * var(--dl-gap)) / var(--dl-visible));
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.nf-dl-page .nf-dl-track::-webkit-scrollbar { display: none; }
.nf-dl-page .nf-dl-track > .nf-dl-card { scroll-snap-align: start; min-height: 100%; }
.nf-dl-page .nf-dl-track.nf-dl-seeking { scroll-snap-type: none; }
.nf-dl-page .nf-dl-grid.neofeu-progress { --nf-progress-spacing: 20px; }
.nf-dl-page .nf-dl-grid > .elementor-container { display: block; }
.nf-dl-page .nf-dl-grid .nf-dl-carousel-controls { width: 100%; max-width: 100%; margin-inline: 0; }
.nf-dl-page .nf-dl-grid .nf-carousel-progress { cursor: grab; touch-action: none; }
.nf-dl-page .nf-dl-grid .nf-carousel-progress.is-dragging { cursor: grabbing; }
.nf-dl-page .nf-dl-carousel-arrow {
  display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; padding: 0;
  border: 1px solid var(--dl-ink); border-radius: 50%; background: #fff; color: var(--dl-ink); cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease;
}
.nf-dl-page .nf-dl-carousel-arrow::after {
  content: ''; width: 12px; height: 12px; border: solid currentColor; border-width: 1px 1px 0 0;
  transform: translateX(-2px) rotate(45deg);
}
.nf-dl-page .nf-dl-carousel-arrow:first-child::after { transform: translateX(2px) rotate(225deg); }
.nf-dl-page .nf-dl-carousel-arrow:disabled { opacity: .35; cursor: default; }
@media (hover: hover) {
  .nf-dl-page .nf-dl-carousel-arrow:not(:disabled):hover { background: var(--dl-bg); }
}
@media (max-width: 1024px) { .nf-dl-page .nf-dl-grid { --dl-visible: 3; } }
@media (max-width: 767px) {
  .nf-dl-page .nf-dl-grid > .elementor-container > .elementor-row:not(.nf-dl-track) { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .nf-dl-page .nf-dl-grid { --dl-visible: 1.23; }
  .nf-dl-page .nf-dl-carousel-arrow { display: none; }
}
