/* Desertus — Autres Expériences
 * Rendu fidèle à la maquette Adobe XD (desktop 1920 / mobile 430).
 * Toutes les cotes sont écrites en pixels maquette et multipliées par --dex-k (0.85 = ratio 85 %).
 */
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/barlow-condensed-400.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/barlow-condensed-500.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/barlow-condensed-600.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/barlow-condensed-700.woff2") format("woff2")}

.desertus-experiences{
  /* Ratio maquette → rendu */
  --dex-k:.85;
  --u:calc(var(--dex-k) * 1px);

  /* Palette (surchargée par les réglages Apparence) */
  --dex-primary:#151515;      /* top-bar + bouton du site actuel */
  --dex-secondary:#E2DDD2;    /* bordures cartes / boutons */
  --dex-accent:#F5BF21;       /* jaune signature */
  --dex-menu-bg:#FCF6EB;      /* fond du mega-menu */
  --dex-text:#000000;
  --dex-text-secondary:#4C4B4A;
  --dex-card-bg:#FCF7EB;
  --dex-hover:#FDF1DC;
  --dex-radius:10px;

  --dex-font:"Barlow Condensed","Arial Narrow",sans-serif;
  --dex-display:"Tanker","Barlow Condensed",Impact,sans-serif;
  --dex-ease:cubic-bezier(.22,1,.36,1);
  --dex-r:calc(var(--dex-radius) * var(--dex-k));
  --dex-bw:2px; /* bordures 2px maquette : arrondies à 2px pour rester nettes */

  position:relative;
  z-index:100000;
  visibility:hidden;
  width:100%;
  font-family:var(--dex-font);
  color:var(--dex-text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
.desertus-experiences.dex-mounted{visibility:visible}
.desertus-experiences.dex-pending{display:none!important}
.desertus-experiences *,
.desertus-experiences *::before,
.desertus-experiences *::after{box-sizing:border-box}

/* ------------------------------------------------------------------ */
/* Top-bar                                                             */
/* ------------------------------------------------------------------ */
.dex-topbar-host.dex-topbar-host,
.dex-auto-topbar{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  background:var(--dex-topbar-bg,#151515)!important;
  border:0!important;
  line-height:normal!important;
}
.desertus-experiences .dex-bar{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  height:calc(50 * var(--u));
  background:var(--dex-primary);
}
.desertus-experiences .dex-trigger,
.desertus-experiences .dex-explore,
.desertus-experiences .dex-close{
  -webkit-appearance:none;
  appearance:none;
  margin:0;
  padding:0;
  min-height:0;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  text-shadow:none;
  cursor:pointer;
  font-family:var(--dex-font);
  text-transform:none;
  vertical-align:middle;
}
.desertus-experiences .dex-trigger{
  display:inline-flex;
  align-items:center;
  color:#fff;
  font-size:calc(18 * var(--u));
  font-weight:700;
  line-height:1.2;
  letter-spacing:calc(1.64 * var(--u));
  white-space:nowrap;
  transition:opacity .18s ease;
}
.desertus-experiences .dex-trigger-icon{
  display:block;
  flex:none;
  width:calc(33 * var(--u));
  height:calc(36 * var(--u));
  margin:0 calc(10 * var(--u)) 0 0;
  object-fit:contain;
}
.desertus-experiences .dex-trigger-label{display:block}
.desertus-experiences .dex-trigger-chevron{
  display:block;
  flex:none;
  width:calc(8 * var(--u));
  height:calc(4 * var(--u));
  margin-left:calc(15 * var(--u) - 1.64 * var(--u));
  color:#fff;
  transition:transform .25s var(--dex-ease);
}
.desertus-experiences.dex-open .dex-trigger-chevron{transform:rotate(180deg)}
.desertus-experiences .dex-explore{
  margin-left:calc(54 * var(--u));
  color:#fff;
  opacity:.5;
  font-size:calc(14 * var(--u));
  font-weight:700;
  line-height:1.2;
  letter-spacing:calc(2.63 * var(--u));
  text-transform:uppercase;
  white-space:nowrap;
  transition:opacity .18s ease;
}
.desertus-experiences .dex-trigger:hover{opacity:.85}
.desertus-experiences .dex-explore:hover{opacity:.8}
.desertus-experiences .dex-trigger:focus-visible,
.desertus-experiences .dex-explore:focus-visible,
.desertus-experiences .dex-close:focus-visible,
.desertus-experiences .dex-card:focus-visible{outline:2px solid var(--dex-accent);outline-offset:3px}

/* ------------------------------------------------------------------ */
/* Panneau                                                             */
/* ------------------------------------------------------------------ */
.desertus-experiences .dex-backdrop{display:none;position:fixed;inset:0;z-index:1;background:transparent}
.desertus-experiences.dex-open .dex-backdrop{display:block}

.desertus-experiences .dex-panel{
  position:absolute;
  z-index:2;
  top:calc(100% + 40 * var(--u));
  left:calc(50% - 606 * var(--u));
  width:calc(1320 * var(--u));
  max-width:none;
  filter:drop-shadow(calc(1.5 * var(--u)) calc(2.6 * var(--u)) calc(23 * var(--u)) rgba(0,0,0,.35));
  opacity:0;
  visibility:hidden;
  transform:translateY(calc(-6 * var(--u)));
  transition:opacity .22s ease,transform .32s var(--dex-ease),visibility 0s linear .32s;
  pointer-events:none;
}
.desertus-experiences .dex-panel[hidden]{display:block}
.desertus-experiences.dex-open .dex-panel{
  opacity:1;
  visibility:visible;
  transform:none;
  transition:opacity .22s ease,transform .32s var(--dex-ease),visibility 0s;
  pointer-events:auto;
}
.desertus-experiences .dex-caret{
  position:absolute;
  top:calc(-12.7 * var(--u));
  left:var(--dex-caret-x,calc(342.5 * var(--u)));
  width:calc(62.61 * var(--u));
  height:calc(29 * var(--u));
  margin-left:calc(-31.3 * var(--u));
  background:var(--dex-menu-bg);
  clip-path:polygon(50% 0,100% 100%,0 100%);
}
/* Isolation du mega-menu vis-à-vis des thèmes clair/sombre du site hôte.
 * Les couleurs du module doivent rester lisibles quel que soit le mode du site. */
.desertus-experiences .dex-panel{color:var(--dex-text)!important;color-scheme:light}
.desertus-experiences .dex-panel-inner,
.desertus-experiences .dex-caret{
  color:var(--dex-text)!important;
  background-color:var(--dex-menu-bg)!important;
  color-scheme:light;
}
.desertus-experiences .dex-title,
.desertus-experiences .dex-title-by,
.desertus-experiences .dex-signature-text,
.desertus-experiences .dex-card-title,
.desertus-experiences .dex-card-info{color:var(--dex-text)!important;}
.desertus-experiences .dex-eyebrow,
.desertus-experiences .dex-intro,
.desertus-experiences .dex-card-desc{color:var(--dex-text-secondary)!important;}
.desertus-experiences .dex-card{background:var(--dex-card-bg)!important;color:var(--dex-text)!important;}

.desertus-experiences .dex-panel-inner{
  position:relative;
  padding:calc(30 * var(--u)) calc(50 * var(--u)) calc(29 * var(--u));
  background:var(--dex-menu-bg);
  border-radius:var(--dex-r);
}
.desertus-experiences .dex-close{display:none}

.desertus-experiences .dex-header{position:relative}
.desertus-experiences .dex-heading{position:relative;z-index:1}
.desertus-experiences .dex-eyebrow{
  display:block;
  margin:0;
  color:var(--dex-text-secondary);
  font-size:calc(14 * var(--u));
  font-weight:700;
  line-height:1.2;
  letter-spacing:calc(2.63 * var(--u));
  text-transform:uppercase;
}
.desertus-experiences .dex-title{
  display:block;
  /* Neutralise les styles globaux h1 du thème WordPress (taille, marges et typo). */
  margin:calc(8 * var(--u)) 0 0 !important;
  padding:0 !important;
  color:var(--dex-text) !important;
  font-family:var(--dex-display) !important;
  font-size:calc(48 * var(--u)) !important;
  font-weight:400 !important;
  font-style:normal !important;
  line-height:calc(60 * var(--u)) !important;
  letter-spacing:0 !important;
  text-transform:uppercase !important;
  white-space:nowrap;
}
.desertus-experiences .dex-subtitle{display:none}
.desertus-experiences .dex-intro{
  margin:calc(9 * var(--u)) 0 0;
  padding:0;
  color:var(--dex-text-secondary);
  font-size:calc(18 * var(--u));
  font-weight:400;
  line-height:calc(25 * var(--u));
  letter-spacing:calc(-.3 * var(--u));
}
.desertus-experiences .dex-intro-mobile{display:none}

.desertus-experiences .dex-signature{position:absolute;inset:0;pointer-events:none}
.desertus-experiences .dex-signature-forme{
  position:absolute;
  left:calc(886 * var(--u));
  top:calc(36.5 * var(--u));
  width:calc(150.65 * var(--u));
  height:calc(81.3 * var(--u));
  max-width:none;
  margin:0;
}
.desertus-experiences .dex-signature-text{
  position:absolute;
  left:calc(1053 * var(--u));
  top:calc(58.5 * var(--u));
  color:var(--dex-text);
  font-size:calc(16 * var(--u));
  font-weight:500;
  line-height:calc(19.2 * var(--u));
  letter-spacing:calc(2.98 * var(--u));
  text-transform:uppercase;
  white-space:nowrap;
}

/* ------------------------------------------------------------------ */
/* Cartes (desktop)                                                    */
/* ------------------------------------------------------------------ */
.desertus-experiences .dex-grid{
  display:flex;
  flex-wrap:wrap;
  gap:calc(20 * var(--u));
  margin-top:calc(30 * var(--u));
}
.desertus-experiences .dex-card{
  position:relative;
  display:flex;
  flex-direction:column;
  flex:none;
  width:calc(228 * var(--u));
  height:calc(360 * var(--u));
  overflow:hidden;
  color:var(--dex-text);
  text-decoration:none;
  background:var(--dex-card-bg);
  border:var(--dex-bw) solid var(--dex-secondary);
  border-radius:var(--dex-r);
  transition:border-color .2s ease,background-color .2s ease,transform .3s var(--dex-ease);
}
.desertus-experiences .dex-card:hover,
.desertus-experiences .dex-card:focus-visible{color:var(--dex-text);text-decoration:none}
.desertus-experiences .dex-card-media{
  position:relative;
  display:block;
  flex:none;
  width:100%;
  height:calc(168 * var(--u));
  overflow:hidden;
  background:#e8e2d4;
  border-radius:calc(var(--dex-r) - var(--dex-bw)) calc(var(--dex-r) - var(--dex-bw)) 0 0;
}
.desertus-experiences .dex-card-media img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  margin:0;
  object-fit:cover;
  transition:transform .45s var(--dex-ease);
}
.desertus-experiences .dex-card:hover .dex-card-media img{transform:scale(1.03)}
.desertus-experiences .dex-badge{
  position:absolute;
  z-index:2;
  left:calc(16 * var(--u));
  top:calc(11 * var(--u));
  display:flex;
  align-items:center;
  justify-content:center;
  width:calc(95 * var(--u));
  height:calc(25 * var(--u));
  padding:0;
  border-radius:calc(4 * var(--u));
  background:var(--dex-accent);
  color:#000;
  font-size:calc(14 * var(--u));
  font-weight:600;
  line-height:1;
  letter-spacing:calc(-.25 * var(--u));
  text-transform:uppercase;
  white-space:nowrap;
}
.desertus-experiences .dex-card-body{
  position:relative;
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:0;
  padding:calc(17.3 * var(--u)) calc(16 * var(--u)) 0;
}
.desertus-experiences .dex-card-title{
  display:block;
  margin:0;
  color:var(--dex-text);
  font-family:var(--dex-display);
  font-size:calc(25 * var(--u));
  font-weight:400;
  line-height:calc(31.5 * var(--u));
  letter-spacing:0;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.desertus-experiences .dex-card-desc{
  display:block;
  margin:calc(2 * var(--u)) 0 0;
  color:var(--dex-text-secondary);
  font-size:calc(14 * var(--u));
  font-weight:400;
  line-height:calc(22 * var(--u));
  letter-spacing:calc(-.21 * var(--u));
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.desertus-experiences .dex-card-info{
  display:block;
  margin:calc(12.6 * var(--u)) 0 0;
  color:var(--dex-text);
  font-size:calc(12 * var(--u));
  font-weight:600;
  line-height:1.2;
  letter-spacing:calc(-.06 * var(--u));
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.desertus-experiences .dex-card-btn{
  position:absolute;
  left:calc(10 * var(--u));
  bottom:calc(10.6 * var(--u));
  display:flex;
  align-items:center;
  justify-content:center;
  width:calc(196 * var(--u));
  height:calc(41.7 * var(--u));
  padding:0 0 calc(2.9 * var(--u));
  border:var(--dex-bw) solid var(--dex-secondary);
  border-radius:calc(6 * var(--u));
  background:transparent;
  color:#000;
  font-size:calc(12 * var(--u));
  font-weight:700;
  line-height:1;
  letter-spacing:calc(1.1 * var(--u));
  white-space:nowrap;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease;
}
.desertus-experiences .dex-arrow{
  display:block;
  flex:none;
  width:calc(12 * var(--u));
  height:calc(12 * var(--u));
  margin-left:calc(6 * var(--u) - 1.1 * var(--u));
  transition:transform .25s var(--dex-ease);
}

/* Site actuel */
.desertus-experiences .dex-card.is-current{border-color:var(--dex-accent)}
.desertus-experiences .dex-card.is-current .dex-card-btn{
  border-color:var(--dex-primary);
  background:var(--dex-primary);
  color:#fff;
}
.desertus-experiences .dex-card.is-current .dex-arrow{color:var(--dex-accent)}

/* Survol */
.desertus-experiences .dex-card:hover,
.desertus-experiences .dex-card:focus-visible{border-color:var(--dex-accent)}
.desertus-experiences .dex-card:not(.is-current):hover .dex-card-btn,
.desertus-experiences .dex-card:not(.is-current):focus-visible .dex-card-btn{
  border-color:var(--dex-accent);
  background:var(--dex-accent);
  color:#000;
}
.desertus-experiences .dex-card:hover .dex-arrow{transform:translateX(calc(3 * var(--u)))}

/* ------------------------------------------------------------------ */
/* Écrans intermédiaires                                               */
/* ------------------------------------------------------------------ */
@media (max-width:1199px) and (min-width:768px){
  .desertus-experiences .dex-panel{width:calc(100vw - 32px)}
  .desertus-experiences .dex-signature{display:none}
  .desertus-experiences .dex-title{white-space:normal}
  .desertus-experiences .dex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(228 * var(--u)),1fr))}
  .desertus-experiences .dex-card{width:auto}
  .desertus-experiences .dex-card-btn{left:calc(10 * var(--u));right:calc(14 * var(--u));width:auto}
}

/* ------------------------------------------------------------------ */
/* Mobile (maquette 430)                                               */
/* ------------------------------------------------------------------ */
@media (max-width:767px){
  .desertus-experiences .dex-bar{
    justify-content:space-between;
    height:calc(40 * var(--u));
    padding:0 calc(18 * var(--u)) 0 calc(15 * var(--u));
  }
  .desertus-experiences .dex-trigger{font-size:calc(12 * var(--u));letter-spacing:calc(1.1 * var(--u))}
  .desertus-experiences .dex-trigger-icon{width:calc(25 * var(--u));height:calc(28 * var(--u));margin-right:calc(10 * var(--u))}
  .desertus-experiences .dex-trigger-chevron{width:calc(6 * var(--u));height:calc(3 * var(--u));margin-left:calc(10 * var(--u))}
  .desertus-experiences .dex-explore{margin-left:calc(10 * var(--u));font-size:calc(9 * var(--u));letter-spacing:calc(.8 * var(--u))}

  .desertus-experiences .dex-panel{
    top:calc(100% + 4 * var(--u));
    left:calc(16.5 * var(--u));
    right:calc(16.5 * var(--u));
    width:auto;
  }
  .desertus-experiences .dex-caret{
    top:calc(-8.7 * var(--u));
    left:var(--dex-caret-x,calc(53.5 * var(--u)));
    width:calc(45 * var(--u));
    height:calc(20 * var(--u));
    margin-left:calc(-22.5 * var(--u));
  }
  .desertus-experiences .dex-panel-inner{
    max-height:var(--dex-panel-max,calc(100vh - 64 * var(--u)));
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:calc(36 * var(--u)) calc(26.5 * var(--u)) calc(37 * var(--u)) calc(23.5 * var(--u));
  }
  .desertus-experiences .dex-close{
    position:absolute;
    z-index:3;
    top:calc(1.6 * var(--u));
    right:calc(6.8 * var(--u));
    display:flex;
    align-items:center;
    justify-content:center;
    width:calc(52 * var(--u));
    height:calc(52 * var(--u));
    color:#1F1F1F;
  }
  .desertus-experiences .dex-close svg{display:block;width:calc(12.61 * var(--u));height:calc(12.61 * var(--u))}
  .desertus-experiences .dex-eyebrow,
  .desertus-experiences .dex-title-by,
  .desertus-experiences .dex-signature,
  .desertus-experiences .dex-intro-desktop,
  .desertus-experiences .dex-card-btn{display:none}
  .desertus-experiences .dex-title{
    margin:0;
    font-size:calc(36 * var(--u));
    line-height:calc(45 * var(--u));
  }
  .desertus-experiences .dex-subtitle{
    display:block;
    margin:0 0 0 calc(1 * var(--u));
    color:var(--dex-text-secondary);
    font-size:calc(14 * var(--u));
    font-weight:700;
    line-height:1.2;
    letter-spacing:calc(2.63 * var(--u));
    text-transform:uppercase;
  }
  .desertus-experiences .dex-intro-mobile{
    display:block;
    margin-top:calc(10.2 * var(--u));
    font-size:calc(16 * var(--u));
    line-height:calc(25 * var(--u));
    letter-spacing:calc(-.27 * var(--u));
  }
  .desertus-experiences .dex-grid{
    display:flex;
    flex-direction:column;
    flex-wrap:nowrap;
    gap:calc(15 * var(--u));
    margin-top:calc(13 * var(--u));
  }
  .desertus-experiences .dex-card{
    flex-direction:row;
    width:100%;
    height:calc(120 * var(--u));
  }
  .desertus-experiences .dex-card-media{
    width:calc(118 * var(--u));
    height:100%;
    border-radius:calc(var(--dex-r) - var(--dex-bw)) 0 0 calc(var(--dex-r) - var(--dex-bw));
  }
  .desertus-experiences .dex-badge{
    left:calc(7 * var(--u));
    top:calc(7 * var(--u));
    width:calc(71 * var(--u));
    height:calc(21 * var(--u));
    font-size:calc(10 * var(--u));
  }
  .desertus-experiences .dex-card-body{padding:calc(10.15 * var(--u)) calc(12 * var(--u)) 0 calc(21 * var(--u))}
  .desertus-experiences .dex-card-title{font-size:calc(21 * var(--u));line-height:calc(26.5 * var(--u))}
  .desertus-experiences .dex-card-desc{margin-top:0;font-size:calc(14 * var(--u));line-height:calc(21 * var(--u))}
  .desertus-experiences .dex-card-info{margin-top:calc(8.2 * var(--u))}
  .desertus-experiences .dex-card:hover,
  .desertus-experiences .dex-card:focus-visible{background:var(--dex-hover)!important}
  .desertus-experiences .dex-card:hover .dex-card-media img{transform:none}
  body.dex-menu-open{overflow:hidden}
}

@media (prefers-reduced-motion:reduce){
  .desertus-experiences .dex-panel,
  .desertus-experiences .dex-card,
  .desertus-experiences .dex-card-media img,
  .desertus-experiences .dex-card-btn,
  .desertus-experiences .dex-arrow,
  .desertus-experiences .dex-trigger-chevron{transition:none!important}
}
