.elementor-2415 .elementor-element.elementor-element-491eb73{--display:flex;--min-height:200px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2415 .elementor-element.elementor-element-8690aa8{--display:flex;--min-height:200px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2415 .elementor-element.elementor-element-97465d9{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-2415 .elementor-element.elementor-element-97465d9 .elementor-heading-title{font-family:"twk_lausanne", Sans-serif;font-size:96px;font-weight:600;text-transform:uppercase;line-height:96px;color:var( --e-global-color-fc2da62 );}.elementor-2415 .elementor-element.elementor-element-caa527b{width:var( --container-widget-width, 55% );max-width:55%;--container-widget-width:55%;--container-widget-flex-grow:0;font-family:"twk_lausanne", Sans-serif;font-size:14px;font-weight:600;line-height:14px;color:var( --e-global-color-fc2da62 );}.elementor-2415 .elementor-element.elementor-element-1bacdb5{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2415 .elementor-element.elementor-element-2cf0d86{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}body.elementor-page-2415{margin:10px 10px 10px 10px;}@media(min-width:768px){.elementor-2415 .elementor-element.elementor-element-1bacdb5{--width:100%;}}@media(max-width:767px){.elementor-2415 .elementor-element.elementor-element-97465d9 .elementor-heading-title{font-size:40px;}.elementor-2415 .elementor-element.elementor-element-caa527b{--container-widget-width:329px;--container-widget-flex-grow:0;width:var( --container-widget-width, 329px );max-width:329px;}}/* Start custom CSS for container, class: .elementor-element-1bacdb5 *//* =====================================================================
   ASF Artists Filter — FULL CSS v2 (All-in-One)
   Date: 2025-09-12
   ---------------------------------------------------------------------
   Inclut :
   - Verrou typographique (Elementor "Accent")
   - Dropdown pilules + caret animé
   - Bordures fines partout (1px)
   - Etats actifs/sélectionnés en double bordure
   - Double bordure au SURVOL (hover) des boutons & pilules
   - Toggle (sélecteur de styles) actif : fond NOIR + double bordure
   - Bandeau nom artiste dans l'image, taille min 24px (variable)
   - Grille responsive paramétrable (Desktop/Tablet/Mobile) via CSS vars
     * par défaut: 3 / 2 / 1
     * variables: --asf-cols-desktop, --asf-cols-tablet, --asf-cols-mobile
   ===================================================================== */

/* =====================
   TYPO LOCK (scope local)
   ===================== */
.asf-artists-wrapper {
  --asf-font-family: var(--e-global-typography-accent-font-family, var(--e-global-typography-text-font-family, inherit));
  --asf-font-size:   var(--e-global-typography-accent-font-size, 16px);
  --asf-font-weight: var(--e-global-typography-accent-font-weight, 600);
  --asf-line-height: var(--e-global-typography-accent-line-height, 1.25);
  --asf-letterspace: var(--e-global-typography-accent-letter-spacing, normal);

  font-family: var(--asf-font-family) !important;
  font-size:   var(--asf-font-size) !important;
  font-weight: var(--asf-font-weight) !important;
  line-height: var(--asf-line-height) !important;
  letter-spacing: var(--asf-letterspace) !important;

  /* Responsive grid defaults (overridable) */
  --asf-cols-desktop: 3;
  --asf-cols-tablet: 2;
  --asf-cols-mobile: 1;
}

/* Héritage typographique universel dans la zone artistes */
.asf-artists-wrapper * {
  font-family: inherit !important;
  font-size:   inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

/* =====================
   CONTROLS WRAPPER & TOKENS
   ===================== */
.asf-controls-wrapper {
  display: inline-flex; align-items: center; flex-wrap: wrap;
  gap: 14px; margin: 0; padding: 0; background: transparent; border: 0;
  max-width: 100%;

  /* Tokens MSF + bordures fines */
  --msf-color-text: #000;
  --msf-color-bg: #fff;
  --msf-color-border: #000;
  --msf-color-active-bg: #000;
  --msf-color-active-text: #fff;

  --msf-radius-pill: 9999px;
  --msf-gap: .5rem;
  --msf-shadow-focus: 0 0 0 2px var(--msf-color-border), 0 0 0 4px #fff;

  /* Bordures fines + doubles bordures */
  --msf-bw: 1px;                /* épaisseur de bordure globale */
  --msf-double-gap: 2px;        /* espace entre 1ère et 2e bordure */
  --msf-double-width: 2px;      /* épaisseur 2e bordure */
  --msf-double-gap-color: #fff; /* couleur espace intérieur */
  --msf-double-color: var(--msf-color-border, #000); /* couleur anneau externe */

  /* Caret */
  --msf-caret-size: 10px;
  --msf-caret-thickness: 2px;
}

.asf-control-label { font-weight: 700; font-size: 15px; color: #222; }
.asf-control-item { display: flex; align-items: center; }

/* Normaliser bordures fines */
.asf-controls-wrapper .msf-btn,
.asf-controls-wrapper .msf-pill,
.asf-controls-wrapper .msf-panel{
  border-width: var(--msf-bw) !important;
}

/* =====================
   BOUTONS (A-Z / TYPE) = look MSF
   ===================== */
.msf-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 38px; padding: 0 16px; border-radius: var(--msf-radius-pill);
  border: var(--msf-bw) solid var(--msf-color-border);
  background: var(--msf-color-bg); color: var(--msf-color-text);
  font-weight: 600; line-height: 1; text-decoration: none; cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
}
.msf-btn:hover {
  transform: translateY(-1px);
  /* Double bordure au survol */
  box-shadow:
    0 0 0 var(--msf-double-gap) var(--msf-double-gap-color),
    0 0 0 calc(var(--msf-double-gap) + var(--msf-double-width)) var(--msf-double-color) !important;
}
.msf-btn:focus-visible { outline: none; box-shadow: var(--msf-shadow-focus); }

/* A-Z / TYPE actifs : fond noir + double bordure */
.msf-btn.is-active,
.msf-btn[aria-pressed="true"]{
  background: var(--msf-color-active-bg); color: var(--msf-color-active-text);
  border-color: var(--msf-color-active-bg);
  box-shadow:
    0 0 0 var(--msf-double-gap) var(--msf-double-gap-color),
    0 0 0 calc(var(--msf-double-gap) + var(--msf-double-width)) var(--msf-double-color) !important;
}

/* =====================
   DROPDOWN Styles (pilules à l’intérieur)
   ===================== */
.asf-style-dropdown { position: relative; }
.asf-style-dropdown .msf-toggle { display: inline-flex; align-items:center; gap: 10px; }
.asf-style-dropdown .msf-panel {
  position: absolute; z-index: 30; top: calc(100% + 8px); left: 0;
  min-width: 280px; max-width: min(80vw, 640px);
  background: #fff; border: var(--msf-bw) solid var(--msf-color-border); border-radius: 16px;
  box-shadow: 0 16px 40px rgba(0,0,0,.18); padding: 14px;
  display: none; margin-top: 2px;
}
.asf-style-dropdown[data-open="true"] .msf-panel { display: block; }

/* Caret chevron en CSS */
.asf-style-dropdown .msf-toggle .msf-caret {
  display: inline-block; width: var(--msf-caret-size); height: var(--msf-caret-size);
  transform: rotate(0deg); transition: transform .18s ease; pointer-events: none; position: relative; top: 1px;
}
.asf-style-dropdown .msf-toggle .msf-caret::before {
  content: ""; position: absolute; inset: 0;
  border-right: var(--msf-caret-thickness) solid currentColor;
  border-bottom: var(--msf-caret-thickness) solid currentColor;
  transform: rotate(45deg); transform-origin: 50% 55%;
}
.asf-style-dropdown[data-open="true"] .msf-toggle .msf-caret { transform: rotate(180deg); }

/* Toggle actif : fond noir + double bordure */
.asf-style-dropdown .msf-toggle.is-active{
  background: var(--msf-color-active-bg); color: var(--msf-color-active-text);
  border-color: var(--msf-color-active-bg);
  box-shadow:
    0 0 0 var(--msf-double-gap) var(--msf-double-gap-color),
    0 0 0 calc(var(--msf-double-gap) + var(--msf-double-width)) var(--msf-double-color) !important;
}

/* Liste de pilules */
.asf-style-dropdown .msf-pills { display: flex; flex-wrap: wrap; gap: .6rem; }
.asf-style-dropdown .msf-pill {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  height: 36px; padding: 0 14px; border-radius: var(--msf-radius-pill);
  border: var(--msf-bw) solid var(--msf-color-border);
  background: var(--msf-color-bg); color: var(--msf-color-text);
  font-weight: 600; line-height: 1; text-decoration: none; cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
}
/* Double bordure au survol */
.asf-style-dropdown .msf-pill:hover {
  transform: translateY(-1px);
  box-shadow:
    0 0 0 var(--msf-double-gap) var(--msf-double-gap-color),
    0 0 0 calc(var(--msf-double-gap) + var(--msf-double-width)) var(--msf-double-color) !important;
}
.asf-style-dropdown .msf-pill--all { font-weight: 500; }

/* Pilule sélectionnée : FOND BLANC + DOUBLE BORDURE */
.asf-style-dropdown .msf-pill.is-active,
.asf-style-dropdown .msf-pill[aria-selected="true"]{
  background: #fff !important; color: var(--msf-color-text) !important; border-color: var(--msf-color-border) !important;
  box-shadow:
    0 0 0 var(--msf-double-gap) var(--msf-double-gap-color),
    0 0 0 calc(var(--msf-double-gap) + var(--msf-double-width)) var(--msf-double-color) !important;
}

/* =====================
   GRID & CARDS (responsive variables)
   ===================== */
.artists-grid {
  display: grid; gap: 20px;
  grid-template-columns: repeat(var(--asf-cols-desktop,3), minmax(0,1fr));
}
@media (max-width: 1024px){
  .artists-grid { grid-template-columns: repeat(var(--asf-cols-tablet,2), minmax(0,1fr)); }
}
@media (max-width: 768px){
  .artists-grid { grid-template-columns: repeat(var(--asf-cols-mobile,1), minmax(0,1fr)); }
}

.artist-card { opacity: 0; animation: fadeInUp .35s ease forwards; }
.artist-card__thumb {
  position: relative; overflow: hidden; border-radius: 12px; aspect-ratio: 1/1; background: #f2f2f2;
}
.artist-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .3s ease, transform .3s ease; }
.artist-card__thumb .img-face { position: absolute; inset: 0; opacity: 0; }
.artist-card:hover .img-face { opacity: 1; }
.artist-card:hover .img-ref  { opacity: 0; transform: scale(1.03); }

/* Bandeau nom artiste dans l'image (opacité pilotée par shortcode) */
.artist-card__label {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 10px 12px;
  background: rgba(0,0,0,var(--artist-label-opacity, .45));
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  text-align: center;
}

/* Taille du nom : min 24px, ajustable via --artist-name-size */
.artist-card__name {
  font-size: max(24px, var(--artist-name-size, 24px)) !important;
  font-weight: 700; letter-spacing: .2px;
}

/* =====================
   LOADING / EMPTY
   ===================== */
.artists-empty, .asf-loading {
  text-align: center; padding: 24px 12px; color: #666;
}
.asf-spinner {
  border: 3px solid #f3f3f3; border-top: 3px solid #000; border-radius: 50%;
  width: 30px; height: 30px; animation: spin 2s linear infinite; margin: 0 auto 8px;
}

/* =====================
   KEYFRAMES & ACCESSIBILITÉ
   ===================== */
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px);} to { opacity: 1; transform: translateY(0);} }

.artist-card__link:focus-visible,
.msf-btn:focus-visible,
.asf-style-dropdown .msf-pill:focus-visible {
  outline: none; box-shadow: 0 0 0 2px #000, 0 0 0 4px #fff;
}

/* Titres des sections "TYPE D’ŒUVRE" alignés à droite */
.asf-section-title--right {
  text-align: center;
  font-size: 28px!important;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'twk_lausanne';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://soleildart.com/DroitdeRegard/wp-content/uploads/2025/07/twklausanne-300-webfont.woff2') format('woff2');
}
@font-face {
	font-family: 'twk_lausanne';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://soleildart.com/DroitdeRegard/wp-content/uploads/2025/07/twklausanne-600-webfont.woff2') format('woff2'),
		url('https://soleildart.com/DroitdeRegard/wp-content/uploads/2025/07/poppins-v24-latin-700.woff') format('woff');
}
/* End Custom Fonts CSS */