.elementor-3285 .elementor-element.elementor-element-e74d7f8{--display:flex;--min-height:0px;--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;--z-index:3;}.elementor-3285 .elementor-element.elementor-element-e74d7f8:not(.elementor-motion-effects-element-type-background), .elementor-3285 .elementor-element.elementor-element-e74d7f8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-3285 .elementor-element.elementor-element-dbe3121{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3285 .elementor-element.elementor-element-b4f2091{--display:flex;--min-height:598px;--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;--justify-content:center;--margin-top:41px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3285 .elementor-element.elementor-element-aa6d257 .elementor-heading-title{font-family:"Oswald", Sans-serif;font-size:50px;font-weight:600;color:var( --e-global-color-17fecef );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3285 .elementor-element.elementor-element-ac564b8{width:var( --container-widget-width, 80% );max-width:80%;--container-widget-width:80%;--container-widget-flex-grow:0;font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;color:#000000;}.elementor-3285 .elementor-element.elementor-element-d53a219{--display:flex;--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-3285 .elementor-element.elementor-element-30e2c58{width:var( --container-widget-width, 80% );max-width:80%;--container-widget-width:80%;--container-widget-flex-grow:0;font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;color:#000000;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3285 .elementor-element.elementor-element-24c28e5 .elementor-button{background-color:var( --e-global-color-17fecef );font-family:"Oswald", Sans-serif;font-weight:500;fill:var( --e-global-color-secondary );color:var( --e-global-color-secondary );border-style:solid;border-width:1px 1px 1px 1px;border-radius:50% 50% 50% 50%;padding:20px 20px 20px 20px;}.elementor-3285 .elementor-element.elementor-element-24c28e5 .elementor-button:hover, .elementor-3285 .elementor-element.elementor-element-24c28e5 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-17fecef );}.elementor-3285 .elementor-element.elementor-element-24c28e5 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-3285 .elementor-element.elementor-element-24c28e5 .elementor-button:hover svg, .elementor-3285 .elementor-element.elementor-element-24c28e5 .elementor-button:focus svg{fill:var( --e-global-color-17fecef );}.elementor-3285 .elementor-element.elementor-element-3ccca89{--display:flex;--padding-top:0px;--padding-bottom:72px;--padding-left:0px;--padding-right:0px;}@media(max-width:767px){.elementor-3285 .elementor-element.elementor-element-ac564b8 > .elementor-widget-container{padding:25px 25px 25px 25px;}.elementor-3285 .elementor-element.elementor-element-ac564b8{font-size:15px;line-height:1.3em;}.elementor-3285 .elementor-element.elementor-element-d53a219.e-con{--order:-99999 /* order start hack */;}.elementor-3285 .elementor-element.elementor-element-30e2c58 > .elementor-widget-container{padding:25px 25px 25px 25px;}.elementor-3285 .elementor-element.elementor-element-30e2c58{font-size:15px;line-height:1.3em;}}@media(min-width:768px){.elementor-3285 .elementor-element.elementor-element-dbe3121{--content-width:957px;}.elementor-3285 .elementor-element.elementor-element-b4f2091{--width:90%;}.elementor-3285 .elementor-element.elementor-element-d53a219{--width:67%;}}/* Start custom CSS for html, class: .elementor-element-95ab029 *//* ==========================
   VARIABLES
   ========================== */
:root {
  --nh-maxw: 1280px;
  --nh-gap: 32px;
  --nh-dark: #0b0f19;
  --nh-gray: #e5e7eb;
  --nh-text: #111827;
  --nh-white: #ffffff;
}

/* ==========================
   WRAPPER GLOBAL
   ========================== */
.nh-litho-wrap {
  max-width: var(--nh-maxw);
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.nh-litho-wrap * { box-sizing: border-box; }

/* ==========================
   GRID
   ========================== */
.nh-litho-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--nh-gap);
  align-items: start;
}
@media (max-width: 1024px) {
  .nh-litho-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .nh-litho-grid { grid-template-columns: 1fr; }
}

/* ==========================
   CARD
   ========================== */
.nh-litho-card {
  position: relative;
  display: flex;
  flex-direction: column;
  transition: transform .28s ease;
}
.nh-litho-card:hover {
  transform: translateY(-6px);
}

/* ==========================
   BADGES
   ========================== */
.nh-litho-badge {
  position: absolute;
  z-index: 3;
  top: 14px; left: 14px;
  background: #eef0f4;
  color: var(--nh-text);
  font: 700 12px/1.2 system-ui, sans-serif;
  padding: 8px 12px;
  border-radius: 10px;
  letter-spacing: .02em;
  transition: opacity .25s ease;
}
.nh-litho-badge.nh--dark {
  background: var(--nh-dark);
  color: var(--nh-white);
}
.nh-litho-card:hover .nh-litho-badge { opacity: 0; }

/* ==========================
   FRAME / IMAGE
   ========================== */
.nh-litho-frame {
  margin: 0;
  background: var(--nh-white);
  border: 1px solid var(--nh-gray);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .06);
  width: 100%;
}

/* Fenêtre image avec ratio verrouillé */
.nh-litho-media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

/* fallback ratio */
.nh-litho-media::before {
  content: "";
  display: block;
  padding-top: 75%;
}
@supports (aspect-ratio: 1/1) {
  .nh-litho-media::before { display: none; }
}

/* Image */
.nh-litho-media img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  display: block;
  transform: scale(1);
  transition: transform .35s ease;
}
.nh-litho-card:hover .nh-litho-media img {
  transform: scale(1.035);
}

/* ==========================
   OVERLAY (infos au hover)
   ========================== */
.nh-litho-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px; /* moins d’espace vertical */
  padding: 28px 26px; /* plus d’air sur les côtés */
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.92) 0%,
    rgba(0, 0, 0, 0.80) 50%,
    rgba(0, 0, 0, 0.55) 75%,
    rgba(0, 0, 0, 0.20) 100%
  );
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .28s ease, transform .28s ease;
}
.nh-litho-card:hover .nh-litho-overlay {
  opacity: 1;
  transform: translateY(0);
}

/* Textes overlay */
.nh-litho-overlay h3,
.nh-litho-overlay p,
.nh-litho-overlay li,
.nh-litho-overlay a {
  color: var(--nh-white) !important;
  line-height: 1.35; /* compact mais lisible */
}
.nh-litho-overlay h3 {
  margin: 0 0 4px;
  font: 700 20px/1.3 "Oswald", system-ui, sans-serif;
  text-transform: uppercase;
}
.nh-litho-sub {
  margin: 0;
  opacity: .95;
  font-size: 14px;
}
.nh-litho-list {
  margin: 6px 0 0;
  padding: 0 0 0 18px;
  font-size: 14px;
}
.nh-litho-list li { margin: 3px 0; }

/* ==========================
   BUTTON (Commander)
   ========================== */
/* Bouton COMMANDER – toujours sombre, lisible sur overlay */
.nh-litho-overlay .nh-litho-btn{
  display:inline-block;
  margin-top:10px;
  background:#0b0f19;               /* noir par défaut */
  color:#fff;
  font:700 14px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:.02em;
  padding:10px 18px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.22);  /* léger contour pour détacher */
  box-shadow:0 6px 18px rgba(0,0,0,.35);    /* lisible même sur zones claires */
  text-decoration:none;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .3s ease, transform .3s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

/* Hover/focus: on reste sombre (pas de blanc sur blanc) */
.nh-litho-overlay .nh-litho-btn:hover,
.nh-litho-overlay .nh-litho-btn:focus{
  background:#111827;                 /* ~noir/gris très foncé */
  color:#fff;
  border-color:rgba(255,255,255,.35);
  box-shadow:0 8px 22px rgba(0,0,0,.45);
  transform:translateY(0);
}

/* Apparition au survol de la carte */
.nh-litho-card:hover .nh-litho-btn{ opacity:1; transform:translateY(0); }

/* Sold out: pas de bouton */
.nh-litho-card.is-soldout .nh-litho-btn{ display:none !important; }
/* ==========================
   RIBBON (bandeau titre sous l’image)
   ========================== */
.nh-litho-ribbon {
  background: var(--nh-dark);
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nh-litho-ribbon .nh-litho-title {
  margin: 0;
  color: var(--nh-white) !important;
  font: 700 16px/1.2 "Oswald", system-ui, sans-serif;
  text-transform: uppercase;
  letter-spacing: .02em;
}

/* ==========================
   YEARS (dates)
   ========================== */
.nh-litho-years {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--nh-gap);
  margin-top: 10px;
  text-align: center;
  color: #6b7280;
  font-weight: 600;
}
@media (max-width: 1024px) {
  .nh-litho-years { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .nh-litho-years { grid-template-columns: 1fr; }
}

/* ==========================
   SAFETY RESET (Elementor)
   ========================== */
.elementor .nh-litho-wrap img {
  max-width: 100% !important;
  height: auto;
}
.elementor .nh-litho-media img {
  height: 100% !important;
}/* End custom CSS */