@media not all and (min-width: 1512px) {
  .picto-burger.active,
  .picto-close.active {
    display: block !important;
  }
}

@media not all and (min-width: 1280px) {

  /* POPUP */

  .popup-formulaire {
    width: 600px !important;
    padding: var(--wp--preset--spacing--60) !important;
  }

  .popup-formulaire .title-popup {
    font-size: 36px !important;
  }

  .popup-formulaire .text-popup {
    font-size: 24px !important;
  }
}

@media not all and (min-width: 1024px) {
  .picto-burger,
  .picto-close {
    width: 42px !important;
    height: 42px !important;
  }

  /* POPUP */

  .popup-formulaire {
    padding: var(--wp--preset--spacing--40) !important;
  }
}

@media not all and (min-width: 1024px) {
  body h1 {
    font-size: 36px !important;
    line-height: 42px !important;
  }
  
  body h2,
  .menu {
    font-size: 32px !important;
    line-height: 42px !important;
  }

  body h3 {
    font-size: 28px !important;
  }

  .swiper-texte p{
    font-size: 36px !important;
  }
}
@media not all and (min-width: 768px) {
  /* POPUP */

  .popup-formulaire {
    width: 500px !important;
  }

  .popup-formulaire .title-popup {
    font-size: 32px !important;
  }

  .popup-formulaire .text-popup {
    font-size: 20px !important;
  }
}

@media not all and (min-width: 640px) {
  body h1 {
    font-size: 28px !important;
    line-height: 34px !important;
  }

  body h2{
    font-size: 24px !important;
    line-height: 30px !important;
  }
  
  body h3,
  .menu {
    font-size: 20px !important;
    line-height: 26px !important;
  }

  .swiper-texte p{
    font-size: 28px !important;
  }

  /* POPUP */

  .popup-formulaire {
    width: 90% !important;
    padding: var(--wp--preset--spacing--32) !important;
  }

  .popup-formulaire .title-popup {
    font-size: 28px !important;
  }

  .img-modale {
  object-fit: contain !important;
  }
}

/* GENERAL */


html {
  scroll-padding-top: 130px;
  scroll-behavior: smooth !important;
}

.button-filled {
  display: flex;
  padding: 12px 24px;
  gap: 10px;
  background-color: var(--wp--preset--color--color-button);
  border-radius: 360px;
  color: var(--wp--preset--color--light);
  font-family: var(--wp--preset--font-family--tertiary);
  font-weight: 300;
  cursor: pointer;
}

.button-filled:hover {
  background: var(--wp--preset--color--color-button-hovered);
}

.button-outlined-light,
.button-outlined {
  display: flex;
  padding: 12px 24px;
  gap: 10px;
  background-color: transparent;
  border: solid 1px var(--wp--preset--color--color-button);
  border-radius: 360px;
  color: var(--wp--preset--color--color-button);
  font-family: var(--wp--preset--font-family--tertiary);
  font-weight: 300;
  cursor: pointer;
}

.button-outlined:hover {
  background: var(--wp--preset--gradient--color-button-hovered);
}

.button-outlined-light {
  border: solid 1px var(--wp--preset--color--light);
  color: var(--wp--preset--color--light);
}

.button-outlined-light:hover {
  background: var(--wp--preset--color--light);
  color: var(--wp--preset--color--dark);
}

/* HEADER */

.navbar-header{
  display: none !important
}

.navbar-header.active{
  display: flex !important;
}

.navbar{
  width: 100%;
}

.menu{
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: start;
  gap: 20px;
  font-family: var(--wp--preset--font-family--tertiary);
  font-size: var(--wp--preset--font-size--h-1);
  color: var(--wp--preset--color--primary);
  text-transform: uppercase;
}

.menu li:hover,
.menu li.current-menu-item{
  color: var(--wp--preset--color--secondary);
  cursor: pointer;
}

header:has(.active) ~ main,
header:has(.active) ~ footer,
header:has(.active) ~ .netdev-footer{
  display: none !important;
}

.menu-header .button-outlined:hover{
  background-color: #B9B7BB;
  border-color: #B9B7BB;
  color: var(--wp--preset--color--dark);
}


.swiper-texte {
  animation: 20s linear infinite swiper-text;
}

@keyframes swiper-text {
  from {
    transform: translateX(0%);
  }

  to {
    transform: translateX(-100%);
  }
}

.swiper-texte p {
  font-family: var(--wp--preset--font-family--primary) !important;
  color: var(--wp--preset--color--primary);
  font-size: 48px ;
  font-weight: 300 !important;
  white-space: nowrap !important;
}

/* PAGE ACCUEIL */

/* Player Video */

.video-hero {
  position: absolute;
  aspect-ratio: 21/9;
  left: 50% !important;
  top: 50% !important;
  transform: translatex(-50%) translateY(-50%) !important;
  width: auto !important;
  height: auto !important;
  min-width: 116% !important;
  min-height: 100% !important;
}

.filtre-video::after {
  position: absolute;
  content: "";
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--wp--preset--gradient--filter-video);
  pointer-events: none;
}

.filtre-img::after {
  position: absolute;
  content: "";
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--wp--preset--gradient--filter-dark);
  opacity: 1;
  pointer-events: none;
}

.filtre-img-left::after {
  position: absolute;
  content: "";
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--wp--preset--gradient--filter-img-left);
  opacity: 1;
  pointer-events: none;
}

.filtre-img-right::after {
  position: absolute;
  content: "";
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--wp--preset--gradient--filter-img-right);
  opacity: 1;
  pointer-events: none;
}

/* Formulaire */

.formulaire .wpforms-container {
  margin: unset !important;
}

.formulaire .wpforms-field-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: var(--wp--preset--spacing--16);
  width: 100%;
}

.formulaire .wpforms-field {
  padding: unset;
  width: 100%;
}

.formulaire .wpforms-field input,
.formulaire .wpforms-field textarea,
.formulaire .wpforms-field input::placeholder,
.formulaire .wpforms-field-required input::before,
.formulaire .wpforms-field-required input::after,
.formulaire .wpforms-field-required input {
  background-color: transparent !important;
  border-color: var(--wp--preset--color--dark) !important;
  color: var(--wp--preset--color--dark) !important;
}

.formulaire .wpforms-field input,
.formulaire .wpforms-field textarea {
  max-width: 100%;
  border-radius: 0px !important;
  font-weight: 200;
}

.formulaire .wpforms-field textarea {
  height: 115px !important;
}

.formulaire .wpforms-field-required input::before,
.formulaire .wpforms-field-required input::after,
.formulaire .wpforms-field-required input {
  border-radius: 0 !important;
}

.formulaire .wpforms-field-label,
.formulaire .wpforms-field-label-inline {
  margin-bottom: 6px !important;
  font-family: var(--wp--preset--font-family--secondary);
  font-weight: 200;
  color: var(--wp--preset--color--dark) !important;
  word-break: auto-phrase;
}

.formulaire .wpforms-field-large {
  padding: 10px var(--wp--preset--spacing--16);
}

.formulaire .wpforms-required-label {
  display: none;
}

.formulaire .wpforms-submit-container {
  margin-top: var(--wp--preset--spacing--16) !important;
}

.formulaire .wpforms-field-checkbox .choice-1 input {
  align-self: center;
}

.formulaire .wpforms-submit {
  height: auto !important;
  background-color: var(--wp--preset--color--color-button) !important;
  border-radius: 360px !important;
  padding: 12px 24px !important;
  font-family: var(--wp--preset--font-family--secondary) !important;
  color: var(--wp--preset--color--light) !important;
  font-weight: 300 !important;
}

.formulaire .wpforms-submit:hover {
  background-color: var(--wp--preset--color--color-button-hovered) !important;
}

/* POP UP FORMULAIRE */

.popup-formulaire {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: var(--wp--preset--color--dark);
  border-radius: 18px;
  color: var(--wp--preset--color--light);
  padding: 100px;
  gap: 26px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 900px;
  line-height: 1.2;
  text-align: center;
  z-index: 10000;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  pointer-events: none;
}

.popup-formulaire .title-popup {
  font-family: var(--wp--preset--font-family--primary);
  font-size: var(--wp--preset--font-size--h-2);
  font-weight: 300;
}

.popup-formulaire .text-popup {
  font-family: var(--wp--preset--font-family--secondary);
  font-size: var(--wp--preset--font-size--paragraphe);
  font-weight: 200;
}

.popup-formulaire .button-popup {
  background: var(--wp--preset--color--color-button);
  color: var(--wp--preset--color--light);
  padding: 12px 24px;
  border: none;
  border-radius: 360px;
  font-family: var(--wp--preset--font-family--secondary);
  font-weight: 300;
  cursor: pointer;
}

.popup-formulaire .button-popup:hover {
  background: var(--wp--preset--color--color-button-hovered);
}

.popup-formulaire.active {
  opacity: 1;
  pointer-events: all;
}

.wpforms-confirmation-container-full {
  background: transparent !important;
  border: 1px solid var(--wp--preset--color--secondary) !important;
  border-radius: 6px !important;
}

.wpforms-confirmation-container-full span {
  text-wrap-mode: wrap;
  font-family: var(--wp--preset--font-family--secondary);
  color: var(--wp--preset--color--dark) !important;
}

/* Footer Netdev */

.netdev-footer {
  background-color: var(--wp--preset--color--dark) !important;
}

.netdev-footer,
.netdev-footer .netdev-footer-content .netdev-footer-text a {
  color: var(--wp--preset--color--light) !important;
}

.netdev-footer .logo,
.netdev-footer .netdev-footer-content .netdev-footer-text a {
  opacity: unset !important;
}

/* Mentions légales */

.netdev-mentions-legales h2 {
  margin-top: 32px;
  margin-bottom: 20px;
}

.netdev-mentions-legales a {
  text-decoration: underline;
}

.square-bg-enseignes{
  background-image: url(/wp-content/uploads/2025/11/enseigne-dbosstech.jpg);
  background-size: cover;
  background-position-x: center;
}

.square-bg-events{
  background-image: url(/wp-content/uploads/2025/11/INFINITY.jpg);
  background-size: cover;
  background-position-x: center;
}

.square-bg-vehicules{
  background-image: url(/wp-content/uploads/2025/11/covering-lambo2.jpg);
  background-size: cover;
  background-position-x: center;
}

.square-bg-signaletique{
  background-image: url(/wp-content/uploads/2025/11/signaletique-museaographie-scenographie-3.jpg);
  background-size: cover;
  background-position-x: center;
}

.square-bg-covering{
  background-image: url(/wp-content/uploads/2025/11/covering-porsche-bleu.jpg);
  background-size: cover;
  background-position-x: center;
}

.square-bg-enseigne-perso{
  background-image: url(/wp-content/uploads/2025/11/litrimarche-2.jpg);
  background-size: cover;
  background-position-x: center;
}

.square-bg-realisation{
  background-image: url(/wp-content/uploads/2025/11/enseigne-lumineuse-lettre-decoupe.jpg);
  background-size: cover;
  background-position-x: center;
}

.square-bg:hover{
  background-image: none;
  background-color: var(--wp--preset--color--secondary);
}

.square-bg:hover::after,
.square-bg:hover .square-bg-text{
  display: none;
}

.square-bg:hover .square-bg-content{
  display: flex;
}


/* GALLERY */

@keyframes fadeInProjects {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeUpGallery {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.modale-image {
  transition: height 0.3s ease-out;
}

.container-div-img {
  width: 100%;
  height: calc(100% - 48px);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

.div-img-modale {
  overflow: hidden;
  height: 100%;
}

.img-modale {
  height: 100%;
  object-fit: cover;
}

.img-modale-press {
  height: 100%;
  object-fit: contain;
}

.icon-fermer-modale svg {
  stroke: var(--wp--preset--color--color-button);
  transition: stroke 0.3s ease-out;
}

.icon-fermer-modale:hover svg {
  stroke: var(--wp--preset--color--color-button-hovered);
}

.next-prev-gallery svg {
  stroke: var(--wp--preset--color--dark);
  transition: stroke 0.3s ease-out;
}

.filter-gallery {
  padding: 12px 24px;
  border-radius: 360px;
  border: solid 1px;
  border-color: var(--wp--preset--color--color-button);
  background: rgba(0, 0, 0, 0);
  transition: border-color 0.2s ease-out, background 0.3s ease-out;
}

.filter-gallery p {
  font-family: var(--wp--preset--font-family--secondary);
  color: var(--wp--preset--color--primary);
  font-weight: 200;
  text-transform: uppercase;
}

.filter-gallery.active {
  background: var(--wp--preset--color--color-button) !important;
  border-color: var(--wp--preset--color--color-button) !important;
}

.filter-gallery:hover {
  background: #B9B7BB;
  border-color: var(--wp--preset--color--dark);
}

.filter-gallery.active {
  pointer-events: none !important;
}

.filter-gallery.active p {
  color: var(--wp--preset--color--light);
}

.overlay-loading {
  display: none;
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(2px);
}

.overlay-loading.active {
  display: flex;
  justify-content: center;
  align-items: center;
}

.loader {
  width: 60px;
  aspect-ratio: 2;
  --_g: no-repeat radial-gradient(circle closest-side, var(--red) 90%, #0000);
  background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%;
  background-size: calc(100% / 3) 50%;
  animation: l3 1s infinite linear;
}

@keyframes l3 {
  20% {
    background-position: 0% 0%, 50% 50%, 100% 50%;
  }

  40% {
    background-position: 0% 100%, 50% 0%, 100% 50%;
  }

  60% {
    background-position: 0% 50%, 50% 100%, 100% 0%;
  }

  80% {
    background-position: 0% 50%, 50% 50%, 100% 100%;
  }
}