.qodef-e .qodef-info--date {
display: none !important;
}

.qodef-e .qodef-info--category {
display: none !important;
}

.qodef-e .qodef-info--tags {
display: none !important;
}

.jp-relatedposts {
display: none !important;
}

/* Screen width 400px and below */
@media (max-width: 500px) {
  .qodef-e-title {
    font-size: 20px;
  }
}


.qodef-portfolio-info {
margin-bottom: 50px !important;
}

.page-id-10178 .site-header {
display: none !important;
}

  /* 1. La section prend toute la hauteur de l'écran */
  .page-id-10178 .elementor-section.elementor-section-height-full,
  .page-id-10178 .elementor-section.elementor-section-full_height,
  .page-id-10178 .qodef-full-height,
  .page-id-10178 .qodef-content-full-height {
      min-height: 100vh !important;
      min-height: 100dvh !important; /* meilleure gestion des barres du navigateur mobile */
  }

  /* 2. Le conteneur interne suit aussi la hauteur de la section */
  .page-id-10178 .elementor-section.elementor-section-height-full > .elementor-container,
  .page-id-10178 .elementor-section.elementor-section-full_height > .elementor-container {
      min-height: 100vh;
      min-height: 100dvh;
      display: flex;
      align-items: stretch; /* étire les colonnes */
  }

  /* 3. Chaque colonne occupe toute la hauteur dispo */
  .page-id-10178 .elementor-section.elementor-section-height-full .elementor-column,
  .page-id-10178 .elementor-section.elementor-section-full_height .elementor-column {
      display: flex;
  }

  /* 4. Le contenu à l'intérieur de la colonne est aligné en bas */
  .page-id-10178 .elementor-section.elementor-section-height-full .elementor-widget-wrap,
  .page-id-10178 .elementor-section.elementor-section-full_height .elementor-widget-wrap {
      display: flex;
      flex-direction: column;
      justify-content: flex-end; /* ✅ contenu en bas */
      flex: 1;
      padding-bottom: 5px; 
  }

@media (max-width: 767px) {
.qodef-portfolio-title {
margin-top: 20px !important;
}
}

.qodef-info--info-items {
margin-bottom: 24px !important;
}

@media (min-width: 1025px) {
.qodef-portfolio-single {
	padding: 0 3.5% !important;}
}

/* ================================
   Clean custom + / - for Qode accordion
   ================================ */

/* Icon container */
.qodef-accordion.qodef-layout--simple .qodef-accordion-title .qodef-accordion-mark {
    position: relative;
    width: 20px;
    height: 20px;
    display: inline-block;
    clip-path: none !important; /* cancel any weird clipping */
}

/* Hide Qode's built-in spans (we'll draw our own icons) */
.qodef-accordion.qodef-layout--simple .qodef-accordion-title .qodef-accordion-mark span {
    display: none !important;
}

/* Base for our custom lines */
.qodef-accordion.qodef-layout--simple .qodef-accordion-title .qodef-accordion-mark::before,
.qodef-accordion.qodef-layout--simple .qodef-accordion-title .qodef-accordion-mark::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background-color: currentColor; /* use text colour */
    transform: translate(-50%, -50%);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

/* Horizontal bar (minus) */
.qodef-accordion.qodef-layout--simple .qodef-accordion-title .qodef-accordion-mark::before {
    width: 18px;   /* length of the minus */
    height: 1px;
}

/* Vertical bar (to make the "+") */
.qodef-accordion.qodef-layout--simple .qodef-accordion-title .qodef-accordion-mark::after {
    width: 1px;
    height: 16px; /* height of the plus */
}

/* OPEN state: show only "-" (hide vertical bar) */
.qodef-accordion.qodef-layout--simple
.qodef-accordion-title.ui-accordion-header-active
.qodef-accordion-mark::after {
    opacity: 0;
    transform: translate(-50%, -50%) scaleY(0.1);
}

/* Hover: widen the minus line smoothly */
.qodef-accordion.qodef-layout--simple .qodef-accordion-title:hover .qodef-accordion-mark::before {
    width: 22px; /* slightly wider than the default 18px */
    transition: width 0.3s ease;
}

/* ============================================
   CUSTOM + / – ICON FOR QODE ACCORDION
   ============================================ */

/* Icon container */
.qodef-accordion.qodef-layout--simple .qodef-accordion-title .qodef-accordion-mark {
    position: relative;
    width: 20px;
    height: 20px;
    display: inline-block;
    clip-path: none !important;
}

/* Hide Qode's original icons */
.qodef-accordion.qodef-layout--simple .qodef-accordion-title .qodef-accordion-mark span {
    display: none !important;
}

/* Base setup for our custom bars */
.qodef-accordion.qodef-layout--simple .qodef-accordion-title .qodef-accordion-mark::before,
.qodef-accordion.qodef-layout--simple .qodef-accordion-title .qodef-accordion-mark::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background-color: currentColor;
    transform: translate(-50%, -50%);
    transition: opacity 0.25s ease; /* No transform transition = no movement on load */
}

/* Horizontal bar (minus) */
.qodef-accordion.qodef-layout--simple .qodef-accordion-title .qodef-accordion-mark::before {
    width: 18px;
    height: 1px;
}

/* Vertical bar (plus) */
.qodef-accordion.qodef-layout--simple .qodef-accordion-title .qodef-accordion-mark::after {
    width: 1px;
    height: 16px;
}

/* Open state → only minus is visible */
.qodef-accordion.qodef-layout--simple
.qodef-accordion-title.ui-accordion-header-active
.qodef-accordion-mark::after {
    opacity: 0; /* fade out only, no movement */
}

/* ============================================
   HOVER ANIMATION (minus widens smoothly)
   ============================================ */

/* Smooth widen on hover */
.qodef-accordion.qodef-layout--simple .qodef-accordion-title:hover .qodef-accordion-mark::before {
    width: 22px;
    transition: width 0.25s ease;
}

/* Ensure normal (non-hover) width animates back smoothly */
.qodef-accordion.qodef-layout--simple .qodef-accordion-title .qodef-accordion-mark::before {
    transition: width 0.25s ease, opacity 0.25s ease;
}

/* Hide Tabbed Portfolio until JS marks it ready (prevents open→close flash) */
body:not(.qodef-tabs-ready) .qodef-shortcode.qodef-tabbed-portfolio {
  opacity: 0;
  pointer-events: none;
}

/* Reveal once ready */
body.qodef-tabs-ready .qodef-shortcode.qodef-tabbed-portfolio {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.15s ease;
}


 /* 1. La section prend toute la hauteur de l'écran */
  .page-id-10561 .elementor-section.elementor-section-height-full,
  .page-id-10561 .elementor-section.elementor-section-full_height,
  .page-id-10561 .qodef-full-height,
  .page-id-10561 .qodef-content-full-height {
      min-height: 100vh !important;
      min-height: 100dvh !important; /* meilleure gestion des barres du navigateur mobile */
  }

  /* 2. Le conteneur interne suit aussi la hauteur de la section */
  .page-id-10561 .elementor-section.elementor-section-height-full > .elementor-container,
  .page-id-10561 .elementor-section.elementor-section-full_height > .elementor-container {
      min-height: 100vh;
      min-height: 100dvh;
      display: flex;
      align-items: stretch; /* étire les colonnes */
  }

  /* 3. Chaque colonne occupe toute la hauteur dispo */
  .page-id-10561 .elementor-section.elementor-section-height-full .elementor-column,
  .page-id-10561 .elementor-section.elementor-section-full_height .elementor-column {
      display: flex;
  }

  /* 4. Le contenu à l'intérieur de la colonne est aligné en bas */
  .page-id-10561 .elementor-section.elementor-section-height-full .elementor-widget-wrap,
  .page-id-10561 .elementor-section.elementor-section-full_height .elementor-widget-wrap {
      display: flex;
      flex-direction: column;
      justify-content: flex-end; /* ✅ contenu en bas */
      flex: 1;
      padding-bottom: 5px; 
  }
