/**
 * IDeactif - Custom CSS
 * Child theme impeka-child
 * Projection Web - Mars 2026
 */

/* =============================================
   QUICK VIEW
   ============================================= */

/* Sous-titres Quick View en rouge */
.grve-quick-view-description h4,
.grve-quick-view-description h5,
.grve-quick-view-description h6 {
  color: #FF4433;
}

/* Bouton height Quick View */
#grve-portfolio-quick-view .grve-height-2x {
  height: 60px;
}

/* Scrollbar galerie verticale Quick View */
#grve-quick-view-wrapper .grve-gallery-popup.grve-vertical-style {
  overflow-y: scroll !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(255,255,255,0.35) transparent !important;
}

/* =============================================
   MODALES AREA ITEMS
   ============================================= */

/* Border-radius modales */
#grve-modal-area .grve-modal-element .grve-modal-inner {
  border-radius: 20px;
}

/* Dots carousel en blanc dans modales */
#grve-modal-area .grve-carousel-pagination {
  color: #ffffff;
}

/* Position bouton close */
#grve-modal-area .grve-modal-element.grve-modal-dialog .grve-close-button-wrapper {
  top: 8px;
  right: 16px;
}

/* Responsive mobile modales */
@media only screen and (max-width: 767px) {
  #grve-modal-area .grve-modal-inner .grve-column-wrapper:first-child {
    border-radius: 20px 20px 0 0;
  }
  #grve-modal-area .grve-modal-inner .grve-column-wrapper:last-child {
    border-radius: 0 0 20px 20px;
  }
  #grve-modal-area .grve-modal-element.grve-modal-dialog .grve-close-button-wrapper {
    top: 12px;
    right: 12px;
    position: sticky;
    z-index: 10;
  }
}

/* =============================================
   SECTION NOS EXPERTISES - RESPONSIVE
   ============================================= */

@media only screen and (max-width: 1023px) {
  .grve-section.grve-percentage-height[data-mobile-height-ratio="100"] {
    min-height: auto;
  }
}

@media only screen and (max-width: 1023px) {
  .grve-section.grve-equal-columns .grve-column.grve-vertical-position-middle .grve-column-wrapper {
    min-height: 100vh;
  }
}

/* Masquer texte en mobile */
@media only screen and (max-width: 1024px) {
  .mobile-hide-text {
    display: none;
  }
}

/* =============================================
   FLECHE ANIMEE GALERIE VERTICALE
   ============================================= */

.scroll-arrow svg {
  rotate: 90deg;
  animation: pulse 0.75s ease-in-out infinite alternate;
  transform: translateY(0);
  transition: rotate 0.3s ease-in-out;
}

.scroll-arrow.reverse svg {
  rotate: -90deg;
}

@keyframes pulse {
  from { transform: translateX(-10px); }
  to { transform: translateX(10px); }
}

@media only screen and (max-width: 1023px) {
  .scroll-arrow {
    display: none;
    pointer-events: none;
    opacity: 0;
  }
}

/* =============================================
   TOOLTIPS LOGOS REFERENCES
   ============================================= */

.img-tooltip {
  position: absolute;
  transform: translate(-50%, 155%);
  background: #000;
  color: white;
  padding: 2px 4px;
  line-height: 2;
  font-size: 8px;
  border-radius: 4px;
  white-space: nowrap;
  z-index: 9999;
  pointer-events: none;
  transition: opacity 0.2s ease;
  opacity: 0;
}

.img-tooltip.show {
  opacity: 1;
}

.grve-hover-overlay {
  pointer-events: none !important;
}

.grve-entry-item .grve-thumbnail img[alt] {
  cursor: help !important;
}

/* =============================================
   GRID LOGOS FOOTER
   ============================================= */

.image-grid {
  display: grid;
  grid-template-columns: repeat(2, 90px);
  gap: 15px;
  max-width: fit-content;
}

.image-grid a {
  display: block;
  width: 90px;
  height: 90px;
}

.image-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* =============================================
   FORMULAIRES
   ============================================= */

#grve-theme-wrapper .grve-fields-grey-bg input,
#grve-theme-wrapper .grve-fields-grey-bg select,
#grve-theme-wrapper .grve-fields-grey-bg textarea {
  background-color: #f6f3e9;
}

/* =============================================
   BLOC 14 - MASQUE MODAL (A VERIFIER)
   Commente pour test. Si voile gris sur Quick View
   images, decommenter.
   ============================================= */
/*
.grve-mask {
  pointer-events: none !important;
  z-index: 0 !important;
  opacity: 0 !important;
}
*/
/* =============================================
   FORMULAIRES
   ============================================= */

#grve-theme-wrapper .grve-fields-grey-bg input,
#grve-theme-wrapper .grve-fields-grey-bg select,
#grve-theme-wrapper .grve-fields-grey-bg textarea {
  background-color: #f6f3e9;
}

/* =============================================
   GALERIE VERTICALE QUICK VIEW
   Necessaire pour le scroll des images dans
   le panneau gauche de la Quick View.
   ============================================= */

.grve-gallery.grve-vertical-style {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2rem;
  overflow-y: auto !important;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  height: 100vh;
  max-height: 100vh;
}

/* =============================================
   MASQUE MODAL QUICK VIEW
   Desactive le voile gris sur les images.
   Necessaire car Impeka applique un mask
   qui bloque le scroll.
   ============================================= */

.grve-mask {
  pointer-events: none !important;
  z-index: 0 !important;
  opacity: 0 !important;
}

/* =============================================
   SOCIAL FEEDS - HOVER
   ============================================= */

.socials-feeds-icon .grve-bg-black:hover,
.socials-feeds-icon #grve-theme-wrapper .grve-bg-black:hover {
  background-color: #FF4433 !important;
}

/* =============================================
   BADGE ELFSIGHT - MASQUE
   ============================================= */

a[href*="elfsight.com/fr/linkedin-feed-widget"] {
  display: none !important;
}

/* =============================================
   LOGOS REFERENCES - TAILLE ET HOVER
   ============================================= */

.grve-hover-item.grve-hover-style-1 .grve-thumbnail img {
  transition: transform 5s ease;
  width: 150px;
  height: auto;
  min-height: auto;
  margin: 0 auto;
  top: 50%;
  transform: translateY(-50%);
}

.grve-hover-item.grve-hover-style-1.hover .grve-thumbnail img {
  transform: translateY(-50%) !important;
  transition: none !important;
}

/* =============================================
   LOGOS PARTENAIRES - BLEND MODE
   ============================================= */

.logos-partenaires img {
  mix-blend-mode: multiply;
  background-color: transparent !important;
  display: block;
}

.logos-partenaires .grve-thumbnail {
  background-color: #f4f1e7 !important;
}

.logos-partenaires .grve-entry-item.grve-popup-item {
  border: 1px solid #ede9d7;
}

/* =============================================
   FILTRE REFERENCES - COULEUR ACTIVE
   ============================================= */

.grve-filter.grve-filter-style-simple.grve-align-left.grve-link-text ul li.selected,
.grve-filter.grve-filter-style-simple.grve-align-left.grve-link-text ul li:hover {
  color: #FF4433;
}

/* =============================================
   BOUTON EXPERTISES - HOVER
   ============================================= */

.btn-expertises:hover {
  color: #000 !important;
}

/* =============================================
   QUICK VIEW DESCRIPTION - SCROLL LONG TEXTE
   ============================================= */

#grve-quick-view-wrapper .grve-quick-view-modal .grve-quick-view-description {
  overflow-y: auto;
  max-height: 100vh;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,0.2) transparent;
}

@media only screen and (max-width: 1023px) {
  #grve-quick-view-wrapper .grve-quick-view-modal {
    overflow-y: auto;
    align-items: flex-start;
  }
  #grve-quick-view-wrapper .grve-quick-view-modal .grve-quick-view-description {
    max-height: none;
    overflow-y: visible;
    padding: 8% 6%;
  }
}

/* =============================================
   OVERLAY TITRE FIXE - SLIDER HERO
   Position left-center, identique aux slides Impeka
   ============================================= */

#grve-hero-overlay-title {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

#grve-hero-overlay-title .grve-hero-overlay-inner {
  width: calc(100% - 10.5rem);
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

@media only screen and (max-width: 1200px) {
  #grve-hero-overlay-title .grve-hero-overlay-inner {
    width: calc(100% - 7.5rem);
  }
}

@media only screen and (max-width: 960px) {
  #grve-hero-overlay-title .grve-hero-overlay-inner {
    width: calc(100% - 6rem);
  }
}

#grve-hero-overlay-title .grve-hero-title {
  font-family: henderson-sans-basic, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 84px;
  line-height: 96px;
  letter-spacing: -6px;
  text-transform: none;
  color: #f4f1e7;
  margin: 0 0 18px 0;
}

#grve-hero-overlay-title .grve-hero-caption {
  font-family: henderson-sans-basic, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 32px;
  line-height: 1.3em;
  letter-spacing: 1px;
  text-transform: none;
  color: #f4f1e7;
}

@media only screen and (max-width: 1680px) {
  #grve-hero-overlay-title .grve-hero-title {
    font-size: 76px;
    line-height: 1.14em;
  }
  #grve-hero-overlay-title .grve-hero-caption {
    font-size: 30px;
  }
}

@media only screen and (max-width: 1440px) {
  #grve-hero-overlay-title .grve-hero-title {
    font-size: 71px;
    line-height: 1.14em;
  }
  #grve-hero-overlay-title .grve-hero-caption {
    font-size: 28px;
  }
}

@media only screen and (max-width: 767px) {
  #grve-hero-overlay-title .grve-hero-overlay-inner {
    width: calc(100% - 56px);
    max-width: 500px;
  }
}

@media only screen and (max-width: 1023px) {
  #grve-hero-overlay-title .grve-hero-title {
    font-size: 50px;
    line-height: 1.14em;
    letter-spacing: -3px;
  }
  #grve-hero-overlay-title .grve-hero-caption {
    font-size: 24px;
    line-height: 1.3em;
  }
}

@media only screen and (max-width: 767px) {
  #grve-hero-overlay-title .grve-hero-title {
    font-size: 46px;
    line-height: 1.14em;
    letter-spacing: -2px;
  }
  #grve-hero-overlay-title .grve-hero-caption {
    font-size: 20px;
    line-height: 1.3em;
  }
}
