/* Réécrit automatiquement depuis la maquette (site-depth.css) pour l’arbre Elementor. Ne pas modifier à la main : regénérer. */
/* Shared surface treatment across the FQI portal. Reading text stays unboxed. */
:root{
  --fqi-panel-radius: 12px;
  --fqi-surface-border: #d5e2ef;
  --fqi-shadow-soft: 0 4px 10px #12365812, 0 12px 28px #275f981c;
  --fqi-shadow-panel: 0 6px 14px #1236580d, 0 20px 44px #275f9824;
  --fqi-shadow-on-blue: 0 4px 10px #102f4e26, 0 18px 40px #102f4e59;
  --fqi-shadow-hover: 0 8px 18px #1236581a, 0 22px 40px #275f9830;
  --fqi-shadow-raised-on-blue: 0 8px 16px #102f4e33, 0 28px 48px #102f4e66;
  --fqi-shadow-dialog: 0 30px 80px #12365833;
}

/* Existing large panels share one border, corner and elevation language. */
body .elementor.elementor.elementor .brand-feature,
body .elementor.elementor.elementor .bes-feature,
body .elementor.elementor.elementor .monaco-feature,
body .elementor.elementor.elementor .organisation,
body .elementor.elementor.elementor .map-frame,
body .elementor.elementor.elementor .service-grid,
body .elementor.elementor.elementor .contact-form-panel,
body .elementor.elementor.elementor .blog-card,
body .elementor.elementor.elementor .editorial-news{
  border: 1px solid var(--fqi-surface-border);
  border-radius: var(--fqi-panel-radius);
  box-shadow: var(--fqi-shadow-panel);
}
body .elementor.elementor.elementor .cultural-partnerships .editorial-news{
  border: 1px solid var(--fqi-surface-border);
  border-radius: var(--fqi-panel-radius);
  box-shadow: var(--fqi-shadow-panel);
}
body .elementor.elementor.elementor .organisation,
body .elementor.elementor.elementor .map-frame,
body .elementor.elementor.elementor .group-org-flow{box-shadow: var(--fqi-shadow-on-blue)}
body .elementor.elementor.elementor .location-directory details[open]{border-radius: var(--fqi-panel-radius); box-shadow: var(--fqi-shadow-on-blue)}
body .elementor.elementor.elementor .client-card{border-radius: var(--fqi-panel-radius); box-shadow: var(--fqi-shadow-soft)}
body .elementor.elementor.elementor .clients-home .client-card,
body .elementor.elementor.elementor .client-section .client-card{box-shadow: var(--fqi-shadow-on-blue)}
body .elementor.elementor.elementor .client-tile:hover .client-card,
body .elementor.elementor.elementor .client-card:focus-within{box-shadow: var(--fqi-shadow-hover)}
body .elementor.elementor.elementor .clients-home .client-tile:hover .client-card,
body .elementor.elementor.elementor .clients-home .client-card:focus-within,
body .elementor.elementor.elementor .client-section .client-tile:hover .client-card,
body .elementor.elementor.elementor .client-section .client-card:focus-within{box-shadow: var(--fqi-shadow-raised-on-blue)}
body .elementor.elementor.elementor .client-card{transition: translate 220ms var(--ease), border-color 180ms var(--ease), box-shadow 220ms var(--ease)}
@media (hover: hover) and (pointer: fine) {
  html[data-motion="on"] body .elementor.elementor.elementor .client-tile:hover .client-card{translate: 0 -4px}
}
body .elementor.elementor.elementor .client-dialog{border-radius: var(--fqi-panel-radius); box-shadow: var(--fqi-shadow-dialog)}

/* One surface holds each list of equal responsibilities or practices. */
body .elementor.elementor.elementor .eco-practices{background: #f3f8fc}
body .elementor.elementor.elementor .eco-list,
body .elementor.elementor.elementor .communication-work .responsibility-list{
  padding: 0 32px;
  gap: 0 48px;
  background: #fff;
  border: 1px solid var(--fqi-surface-border);
  border-radius: var(--fqi-panel-radius);
  box-shadow: var(--fqi-shadow-panel);
}
body .elementor.elementor.elementor .eco-list :where(.cdp-t-li,.cdp-li,li:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi){grid-template-columns: 48px minmax(0, 1fr)}
body .elementor.elementor.elementor .eco-list :where(.cdp-t-li,.cdp-li,li:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi):nth-child(-n+2){border-top: 0}
body .elementor.elementor.elementor .eco-list .institution-item-wide{border-bottom: 0}
body .elementor.elementor.elementor .eco-list .institution-icon{
  width: 48px;
  height: 48px;
  padding: 8px;
  background: #edf4fb;
  border-radius: 10px;
}

/* News previews use the same treatment on the homepage, blog and related links. */
body .elementor.elementor.elementor .editorial-news,
body .elementor.elementor.elementor .cultural-partnerships .editorial-news{background: #fff}
body .elementor.elementor.elementor .editorial-news .news-card-copy,
body .elementor.elementor.elementor .cultural-partnerships .editorial-news .news-card-copy{
  padding: 32px;
  min-height: 280px;
}
body .elementor.elementor.elementor .blog-grid{gap: 32px}
body .elementor.elementor.elementor .blog-card{background: #fff; padding-bottom: 0; overflow: hidden}
body .elementor.elementor.elementor .blog-card .blog-thumbnail{border-radius: 0}
body .elementor.elementor.elementor .blog-card .blog-card-copy{padding: 24px}
body .elementor.elementor.elementor .blog-card,
body .elementor.elementor.elementor .editorial-news{transition: border-color 180ms var(--ease), box-shadow 180ms var(--ease)}
body .elementor.elementor.elementor .blog-card:hover,
body .elementor.elementor.elementor .blog-card:focus-within,
body .elementor.elementor.elementor .editorial-news:hover,
body .elementor.elementor.elementor .editorial-news:focus-within{border-color: #93b4d6; box-shadow: var(--fqi-shadow-hover)}

/* Task choices and the contact form remain distinct from editorial paragraphs. */
body .elementor.elementor.elementor .join-paths{gap: 32px}
body .elementor.elementor.elementor .join-paths > :where(.cdp-t-article,.cdp-article,article:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi),
body .elementor.elementor.elementor .join-paths > :where(.cdp-t-article,.cdp-article,article:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi) + :where(.cdp-t-article,.cdp-article,article:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi){
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 36px;
  background: #fff;
  border: 1px solid var(--fqi-surface-border);
  border-radius: var(--fqi-panel-radius);
  box-shadow: var(--fqi-shadow-panel);
}
body .elementor.elementor.elementor .join-paths > :where(.cdp-t-article,.cdp-article,article:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi) :where(.cdp-t-p,.cdp-p,p:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi):not(.eyebrow){margin-bottom: 32px}
body .elementor.elementor.elementor .join-paths > :where(.cdp-t-article,.cdp-article,article:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi) .button{margin-top: auto}
body .elementor.elementor.elementor .contact-aside{
  min-width: 0;
  padding: 32px;
  background: #fff;
  border: 1px solid var(--fqi-surface-border);
  border-radius: var(--fqi-panel-radius);
  box-shadow: var(--fqi-shadow-soft);
}
body .elementor.elementor.elementor .contact-aside .contact-email{overflow-wrap: anywhere}
body .elementor.elementor.elementor .sitemap-grid > :where(.cdp-t-div,.cdp-div,div:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi){
  min-width: 0;
  padding: 32px;
  border: 1px solid var(--fqi-surface-border);
  border-radius: var(--fqi-panel-radius);
  background: #fff;
  box-shadow: var(--fqi-shadow-soft);
}
body.fqi-route-l-esprit-du-groupe .elementor.elementor.elementor .narrow-prose{
  padding: 40px;
  border: 1px solid var(--fqi-surface-border);
  border-radius: var(--fqi-panel-radius);
  background: #fff;
  box-shadow: var(--fqi-shadow-panel);
}
body .elementor.elementor.elementor .button{box-shadow: var(--fqi-shadow-soft)}
body .elementor.elementor.elementor .button:hover{box-shadow: var(--fqi-shadow-hover)}

/* Keep the two southern labels apart without changing the geographic markers. */
body .elementor.elementor.elementor .pin-castelmaurou{flex-direction: row-reverse; transform: translate(calc(-100% + 12px), -50%)}
@media (max-width: 1020px) {
  body .elementor.elementor.elementor .eco-list,
body .elementor.elementor.elementor .communication-work .responsibility-list{padding-inline: 28px; gap: 0 32px}
  body .elementor.elementor.elementor .pin-castelmaurou{flex-direction: row; transform: translate(-12px, -50%)}
  body .elementor.elementor.elementor .pin-castelmaurou .pin-label{position: absolute; top: 44px; left: 12px; transform: translateX(-50%)}
}
@media (max-width: 720px) {
  body .elementor.elementor.elementor .eco-list :where(.cdp-t-li,.cdp-li,li:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi):nth-child(2){border-top: 1px solid var(--line)}
  body .elementor.elementor.elementor .editorial-news .news-card-copy,
body .elementor.elementor.elementor .cultural-partnerships .editorial-news .news-card-copy{min-height: 0}
}
@media (max-width: 600px) {
  body .elementor.elementor.elementor .pin-castelmaurou{transform: translate(-10px, -50%)}
  body .elementor.elementor.elementor .pin-castelmaurou .pin-label{left: 10px}
  body .elementor.elementor.elementor .eco-list,
body .elementor.elementor.elementor .communication-work .responsibility-list{padding-inline: 24px}
  body .elementor.elementor.elementor .eco-list :where(.cdp-t-li,.cdp-li,li:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi){grid-template-columns: 40px minmax(0, 1fr); gap: 20px}
  body .elementor.elementor.elementor .eco-list .institution-icon{width: 40px; height: 40px; padding: 6px}
  body .elementor.elementor.elementor .editorial-news .news-card-copy,
body .elementor.elementor.elementor .cultural-partnerships .editorial-news .news-card-copy{padding: 28px 24px}
  body .elementor.elementor.elementor .blog-card .blog-card-copy{padding: 24px 20px}
  body .elementor.elementor.elementor .join-paths > :where(.cdp-t-article,.cdp-article,article:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi),
body .elementor.elementor.elementor .join-paths > :where(.cdp-t-article,.cdp-article,article:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi) + :where(.cdp-t-article,.cdp-article,article:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi){padding: 28px 24px}
  body .elementor.elementor.elementor .contact-aside,
body .elementor.elementor.elementor .sitemap-grid > :where(.cdp-t-div,.cdp-div,div:not(.elementor-element,.elementor-heading-title,.elementor,.e-con-inner)):not(x-fqi){padding: 28px 24px}
  body.fqi-route-l-esprit-du-groupe .elementor.elementor.elementor .narrow-prose{padding: 28px 24px}
}
html[data-motion="off"] body .elementor.elementor.elementor .blog-card,
html[data-motion="off"] body .elementor.elementor.elementor .editorial-news{transition: none}
html[data-motion="off"] body .elementor.elementor.elementor .client-card{translate: none}
@media (prefers-reduced-motion: reduce) {
  body .elementor.elementor.elementor .blog-card,
body .elementor.elementor.elementor .editorial-news{transition: none}
  body .elementor.elementor.elementor .client-card{translate: none!important}
}
