/**
 * Theme Name:     DigiFlash Child
 * Author:         CraftLasArt
 * Template:       digiflash
 * Text Domain:	   digiflash-child
 * Description:    CraftLasArt
 */

/* ===== Responsive tablet fix - pages services ===== */
@media (max-width: 1024px) {
  .page-id-423 .wp-block-columns,
  .page-id-433 .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .page-id-423 .wp-block-column,
  .page-id-433 .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .page-id-423 .wp-block-group.alignfull,
  .page-id-433 .wp-block-group.alignfull {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .page-id-423 .wp-block-image img,
  .page-id-433 .wp-block-image img {
    width: 100% !important;
    height: auto !important;
    display: block;
  }

  .page-id-423 .wp-block-group.has-white-background-color,
  .page-id-433 .wp-block-group.has-white-background-color {
    padding: 24px !important;
    border-radius: 16px !important;
  }

  .page-id-423 .wp-block-heading.has-x-large-font-size,
  .page-id-433 .wp-block-heading.has-x-large-font-size {
    font-size: 2rem !important;
    line-height: 1.2 !important;
  }

  .page-id-423 .wp-block-heading.has-xx-large-font-size,
  .page-id-433 .wp-block-heading.has-xx-large-font-size {
    font-size: 2.2rem !important;
    line-height: 1.2 !important;
  }

  .page-id-423 .wp-block-buttons,
  .page-id-433 .wp-block-buttons {
    justify-content: center !important;
  }
}

@media (max-width: 768px) {
  .page-id-423 .wp-block-group.alignfull,
  .page-id-433 .wp-block-group.alignfull {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  .page-id-423 .wp-block-group.has-white-background-color,
  .page-id-433 .wp-block-group.has-white-background-color,
  .page-id-423 .has-primary-background-color,
  .page-id-433 .has-primary-background-color {
    padding: 20px !important;
    border-radius: 14px !important;
  }

  .page-id-423 .wp-block-heading.has-x-large-font-size,
  .page-id-433 .wp-block-heading.has-x-large-font-size {
    font-size: 1.6rem !important;
  }

  .page-id-423 .wp-block-heading.has-xx-large-font-size,
  .page-id-433 .wp-block-heading.has-xx-large-font-size {
    font-size: 1.9rem !important;
  }

  .page-id-423 .wp-block-paragraph,
  .page-id-433 .wp-block-paragraph,
  .page-id-423 p,
  .page-id-433 p {
    font-size: 1rem !important;
    line-height: 1.7 !important;
  }
}


/* ===== Responsive homepage fix ===== */
@media (max-width: 1024px) {
  .home .wp-block-group.alignwide,
  .home .wp-block-group.alignfull {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
.home .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .home .team-member {
    padding: 24px !important;
    border-radius: 16px !important;
  }
.home .wp-block-image.is-resized img,
.home .video-rond {
    width: 100% !important;
    max-width: 320px !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 auto !important;
    display: block !important;
  }

  .home h1.wp-block-heading {
    font-size: 2.2rem !important;
    line-height: 1.2 !important;
    letter-spacing: 1px !important;
  }

  .home h2.wp-block-heading.has-xx-large-font-size {
    font-size: 2rem !important;
    line-height: 1.2 !important;
  }

  .home h3.wp-block-heading.has-large-font-size,
  .home h3.wp-block-heading.has-x-large-font-size,
  .home h2.wp-block-heading {
    font-size: 1.5rem !important;
    line-height: 1.25 !important;
  }

  .home .wp-block-spacer[style*="height:150px"] {
    height: 60px !important;
  }

  .home .wp-block-spacer[style*="height:100px"] {
    height: 40px !important;
  }

  .home .wp-block-spacer[style*="height:50px"] {
    height: 24px !important;
  }
}

@media (max-width: 768px) {
  .home .wp-block-group.alignwide,
  .home .wp-block-group.alignfull {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  .home .team-member,
  .home .has-light-background-color,
  .home .has-primary-background-color {
    padding: 20px !important;
    border-radius: 14px !important;
  }

  .home h1.wp-block-heading {
    font-size: 1.8rem !important;
  }

  .home h2.wp-block-heading.has-xx-large-font-size {
    font-size: 1.7rem !important;
  }

  .home h2.wp-block-heading,
  .home h3.wp-block-heading {
    font-size: 1.35rem !important;
  }

  .home p,
  .home li,
  .home blockquote {
    font-size: 1rem !important;
    line-height: 1.7 !important;
  }

  .home .video-rond {
    max-width: 260px !important;
  }

  .home .wp-block-buttons {
    justify-content: center !important;
  }
}


/* ===== Uniformiser les images de l'accueil sur tablette/mobile ===== */
@media (max-width: 1024px) {
}

@media (max-width: 768px) {
}

@media (max-width: 480px) {
}


/* ===== Galerie accueil : 2 colonnes tablette, 1 colonne mobile ===== */
@media (min-width: 782px) and (max-width: 1024px) {
.home .wp-block-columns.alignwide.is-layout-flex.wp-container-core-columns-is-layout-21b20327 > .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
    margin: 0 !important;
  }
}

@media (max-width: 781px) {
.home .wp-block-columns.alignwide.is-layout-flex.wp-container-core-columns-is-layout-21b20327 > .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
    margin: 0 !important;
  }
}


/* ===== Accueil : galerie du haut responsive robuste ===== */
@media (min-width: 782px) and (max-width: 1024px) {
.home .alignwide > .wp-block-columns > .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
    margin: 0 !important;
  }
.home .alignwide > .wp-block-columns > .wp-block-column .wp-block-image.is-resized img,
}

@media (max-width: 781px) {
.home .alignwide > .wp-block-columns > .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
    margin: 0 !important;
  }
.home .alignwide > .wp-block-columns > .wp-block-column .wp-block-image.is-resized img,
}


/* ===== Accueil tablette/mobile : correctif structure + cartes ===== */

/* TABLETTE */
@media (min-width: 782px) and (max-width: 1024px) {

  /* 1) Bloc galerie du haut :
     texte en pleine largeur, puis 2 colonnes d’images propres */
.home .alignwide > .wp-block-columns:first-of-type > .wp-block-column:first-child {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
  }
.home .alignwide > .wp-block-columns:first-of-type > .wp-block-column:nth-child(2) .wp-block-image img,
.home .alignwide > .wp-block-columns:first-of-type .wp-block-image.is-resized img,
/* 2) Section Découpe : cartes centrées et propres */
  .home #decoupe.wp-block-heading + p + hr + .wp-block-columns,
  .home #decoupe.wp-block-heading + .wp-block-paragraph + .wp-block-separator + .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .home #decoupe.wp-block-heading + p + hr + .wp-block-columns > .wp-block-column,
  .home #decoupe.wp-block-heading + .wp-block-paragraph + .wp-block-separator + .wp-block-columns > .wp-block-column {
    width: 100% !important;
    max-width: 720px !important;
    margin: 0 auto !important;
    flex-basis: auto !important;
  }

  .home .team-member {
    padding: 24px !important;
    border-radius: 18px !important;
  }

  /* 3) Images rondes et vidéo ronde : même gabarit visuel */
  .home .team-member .wp-block-image.aligncenter img,
  .home .team-member .video-rond {
    width: 260px !important;
    height: 260px !important;
    max-width: 260px !important;
    max-height: 260px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    border-radius: 50% !important;
  }

  /* 4) Badge fabriqué en France un peu plus petit */
  .home .wp-image-252 {
    width: 72px !important;
    height: auto !important;
  }
}

/* MOBILE */
@media (max-width: 781px) {

  /* Galerie du haut en une seule colonne */
.home .alignwide > .wp-block-columns:first-of-type > .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
    margin: 0 !important;
  }
/* Section Découpe */
  .home #decoupe.wp-block-heading + p + hr + .wp-block-columns,
  .home #decoupe.wp-block-heading + .wp-block-paragraph + .wp-block-separator + .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .home #decoupe.wp-block-heading + p + hr + .wp-block-columns > .wp-block-column,
  .home #decoupe.wp-block-heading + .wp-block-paragraph + .wp-block-separator + .wp-block-columns > .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    flex-basis: auto !important;
  }

  .home .team-member {
    padding: 20px !important;
    border-radius: 16px !important;
  }

  .home .team-member .wp-block-image.aligncenter img,
  .home .team-member .video-rond {
    width: 220px !important;
    height: 220px !important;
    max-width: 220px !important;
    max-height: 220px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    border-radius: 50% !important;
  }
}

/* ===== CraftLasArt - tablette header + burger natif ===== */
@media (min-width: 768px) and (max-width: 1100px) {

  /* header empilé */
  header .wp-block-group.alignwide.is-layout-flex,
  header .wp-block-group.alignwide,
  header .wp-block-group.alignfull > .wp-block-group.alignwide {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    text-align: center !important;
  }

  header .wp-block-group.alignwide > .wp-block-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
  }

  header .wp-block-site-logo img,
  header .custom-logo {
    width: 120px !important;
    max-width: 120px !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  header .wp-block-site-title,
  header .wp-block-site-title a {
    display: block !important;
    font-size: 1.6rem !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: normal !important;
    margin: 0 !important;
  }

  /* cacher le menu façade, garder le burger */
  header .wp-block-navigation > .wp-block-navigation__container {
    display: none !important;
  }

  header .wp-block-navigation__responsive-container-open,
  header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 auto !important;
  }

  /* quand l'overlay natif est ouvert, afficher la liste dedans */
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  header .wp-block-navigation__responsive-container.is-menu-open ul,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 2rem !important;
  }

  header .wp-block-navigation {
    width: auto !important;
    min-width: auto !important;
  }

  /* contenu tablette */
  .wp-block-columns {
    flex-wrap: wrap !important;
  }

  .wp-block-columns > .wp-block-column {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }

  /* images du haut visibles entièrement */
  .wp-block-image img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  /* images rondes + vidéo plus grandes */
  .video-rond,
  .media-rond,
  .wp-block-image.aligncenter img[style*="border-radius:50%"],
  .wp-block-image.is-resized img[style*="border-radius:50%"] {
    width: 320px !important;
    height: 320px !important;
    max-width: 78vw !important;
    max-height: 78vw !important;
    object-fit: cover !important;
    margin: 0 auto !important;
    display: block !important;
  }

  .video-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  h1.wp-block-heading {
    font-size: 2.2rem !important;
    line-height: 1.15 !important;
  }
}


/* Fix burger tablette : cacher le panneau tant qu'il n'est pas ouvert */
@media (min-width: 768px) and (max-width: 1100px) {
  header .wp-block-navigation__responsive-container {
    display: none !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
  }

  header .wp-block-navigation__responsive-container:not(.is-menu-open) {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

/* ===== Burger et header mobile/tablette stabilisés ===== */

/* tablette + mobile : toujours burger, jamais le menu façade */
@media (max-width: 1100px) {
  header .wp-block-navigation > .wp-block-navigation__container {
    display: none !important;
  }

  header .wp-block-navigation__responsive-container-open,
  header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
  }

  header .wp-block-navigation__responsive-container {
    display: none !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  header .wp-block-navigation__responsive-container:not(.is-menu-open) {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  header .wp-block-navigation__responsive-container.is-menu-open ul,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
  }
}

/* bouton burger plus grand */
@media (max-width: 1100px) {
  header .wp-block-navigation__responsive-container-open {
    width: 54px !important;
    height: 54px !important;
  }

  header .wp-block-navigation__responsive-container-open svg {
    width: 36px !important;
    height: 36px !important;
  }
}

/* forcer 3 lignes au burger WordPress */
@media (max-width: 1100px) {
  header .wp-block-navigation__responsive-container-open svg path {
    d: path("M4 6.5h16v1.8H4z M4 11.1h16v1.8H4z M4 15.7h16v1.8H4z");
  }
}

/* mobile : texte du site plus grand à côté du logo */
@media (max-width: 767px) {
  header .wp-block-group.alignwide {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px 14px !important;
    text-align: center !important;
  }

  header .wp-block-group.alignwide > .wp-block-group {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
  }

  header .wp-block-site-logo img,
  header .custom-logo {
    width: 92px !important;
    max-width: 92px !important;
    height: auto !important;
  }

  header .wp-block-site-title,
  header .wp-block-site-title a {
    font-size: 1.55rem !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  header .wp-block-navigation {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }
}

/* très petit mobile */
@media (max-width: 480px) {
  header .wp-block-site-title,
  header .wp-block-site-title a {
    font-size: 1.35rem !important;
  }

  header .wp-block-site-logo img,
  header .custom-logo {
    width: 78px !important;
    max-width: 78px !important;
  }

  header .wp-block-navigation__responsive-container-open {
    width: 50px !important;
    height: 50px !important;
  }

  header .wp-block-navigation__responsive-container-open svg {
    width: 32px !important;
    height: 32px !important;
  }
}

/* ===== Header tablette : logo + texte à gauche, burger à droite ===== */
@media (min-width: 768px) and (max-width: 1100px) {

  /* conteneur principal du header en ligne */
  header .wp-block-group.alignwide {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    width: 100% !important;
  }

  /* bloc logo + titre à gauche */
  header .wp-block-group.alignwide > .wp-block-group {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    margin-right: auto !important;
  }

  /* logo */
  header .wp-block-site-logo,
  header .custom-logo-link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 0 auto !important;
  }

  header .wp-block-site-logo img,
  header .custom-logo {
    width: 110px !important;
    max-width: 110px !important;
    height: auto !important;
    margin: 0 !important;
  }

  /* texte du site */
  header .wp-block-site-title,
  header .wp-block-site-title a {
    display: block !important;
    margin: 0 !important;
    font-size: 1.55rem !important;
    line-height: 1.15 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  /* navigation à droite */
  header .wp-block-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
    width: auto !important;
    min-width: 54px !important;
    flex: 0 0 auto !important;
  }

  /* cacher uniquement le menu façade */
  header .wp-block-navigation > .wp-block-navigation__container {
    display: none !important;
  }

  /* bouton burger visible à droite */
  header .wp-block-navigation__responsive-container-open,
  header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  header .wp-block-navigation__responsive-container-open svg {
    width: 36px !important;
    height: 36px !important;
  }

  /* overlay */
  header .wp-block-navigation__responsive-container {
    display: none !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  header .wp-block-navigation__responsive-container:not(.is-menu-open) {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* ===== CraftLasArt - header final tablette/mobile ===== */

/* TABLETTE */
@media (min-width: 768px) and (max-width: 1100px) {

  /* conteneur principal */
  header .wp-block-group.alignfull > .wp-block-group.alignwide {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 16px !important;
  }

  /* bloc gauche = logo + texte */
  header .wp-block-group.alignfull > .wp-block-group.alignwide > .wp-block-group:first-child {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  /* navigation à droite */
  header .wp-block-group.alignfull > .wp-block-group.alignwide > nav.wp-block-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 56px !important;
    margin: 0 !important;
  }

  /* logo */
  header .wp-block-site-logo,
  header .custom-logo-link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  header .wp-block-site-logo img,
  header .custom-logo {
    width: 96px !important;
    max-width: 96px !important;
    height: auto !important;
    margin: 0 !important;
  }

  /* texte */
  header .wp-block-site-title,
  header .wp-block-site-title a {
    display: block !important;
    font-size: 1.45rem !important;
    line-height: 1.15 !important;
    text-align: left !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  /* cacher le menu façade */
  header .wp-block-navigation > .wp-block-navigation__container {
    display: none !important;
  }

  /* burger visible à droite */
  header .wp-block-navigation__responsive-container-open,
  header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  header .wp-block-navigation__responsive-container-open svg {
    width: 36px !important;
    height: 36px !important;
  }
}

/* MOBILE */
@media (max-width: 767px) {

  /* ligne unique */
  header .wp-block-group.alignfull > .wp-block-group.alignwide {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 12px !important;
  }

  /* gauche = logo + texte */
  header .wp-block-group.alignfull > .wp-block-group.alignwide > .wp-block-group:first-child {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  /* navigation à droite */
  header .wp-block-group.alignfull > .wp-block-group.alignwide > nav.wp-block-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 50px !important;
    margin: 0 !important;
  }

  header .wp-block-site-logo img,
  header .custom-logo {
    width: 78px !important;
    max-width: 78px !important;
    height: auto !important;
    margin: 0 !important;
  }

  header .wp-block-site-title,
  header .wp-block-site-title a {
    display: block !important;
    font-size: 1.2rem !important;
    line-height: 1.1 !important;
    text-align: left !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  /* cacher le menu façade */
  header .wp-block-navigation > .wp-block-navigation__container {
    display: none !important;
  }

  /* burger */
  header .wp-block-navigation__responsive-container-open,
  header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px !important;
    height: 50px !important;
    margin: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  header .wp-block-navigation__responsive-container-open svg {
    width: 34px !important;
    height: 34px !important;
  }
}

/* overlay menu visible seulement ouvert */
@media (max-width: 1100px) {
  header .wp-block-navigation__responsive-container {
    display: none !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  header .wp-block-navigation__responsive-container:not(.is-menu-open) {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
  header .wp-block-navigation__responsive-container.is-menu-open ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
  }
}

/* ===== Fix images galerie haut de page ===== */
@media (max-width: 1100px) {

  /* conteneur image */
  .wp-block-image.size-full,
  .wp-block-image.is-resized,
  .wp-block-image.has-custom-border {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
  }

  /* image elle-même */
  .wp-block-image.size-full img,
  .wp-block-image.is-resized img,
  .wp-block-image.has-custom-border img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  /* images du haut de l'accueil : jamais écrasées */
  .wp-image-96,
  .wp-image-97,
  .wp-image-98,
  .wp-image-99,
}

/* zone tablette précise où ça se déforme */
@media (min-width: 700px) and (max-width: 820px) {
  .wp-image-96,
  .wp-image-97,
  .wp-image-98,
  .wp-image-99,
}

/* petit mobile */
@media (max-width: 380px) {
  .wp-image-96,
  .wp-image-97,
  .wp-image-98,
  .wp-image-99,
}

/* ===== Fix galerie du haut vers 750px ===== */
@media (min-width: 680px) and (max-width: 820px) {

  /* le bloc galerie du haut passe en pile */
  .wp-container-core-columns-is-layout-21b20327,
  .wp-container-core-columns-is-layout-28f84493 {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 24px !important;
  }

  .wp-container-core-columns-is-layout-21b20327 > .wp-block-column,
  .wp-container-core-columns-is-layout-28f84493 > .wp-block-column {
    flex-basis: 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* images de cette zone : jamais écrasées */
  .wp-image-96,
  .wp-image-97,
  .wp-image-98,
  .wp-image-99,
.wp-block-image.size-full,
  .wp-block-image.is-resized,
  .wp-block-image.has-custom-border {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
  }
}

/* ===== Galerie du haut CraftLasArt : fix dédié ===== */
/* tablette moyenne : la galerie passe en une colonne */
@media (min-width: 680px) and (max-width: 820px) {
.craftlasart-top-gallery > .wp-block-column {
    flex-basis: 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* mobile : même logique, aucune image écrasée */
@media (max-width: 679px) {
.craftlasart-top-gallery > .wp-block-column {
    flex-basis: 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* ===== Galerie du haut : tablette = version mobile, non écrasée ===== */
/* le guerrier avait une width inline à 429px */
/* tablette + mobile : une seule colonne, comme le mobile */
@media (max-width: 1100px) {
.craftlasart-top-gallery > .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
.craftlasart-top-gallery .wp-block-image img,
}

/* ===== CraftLasArt CLEAN gallery + overlay ===== */

/* Galerie du haut : comportement unique et propre */
@media (max-width: 1100px) {
  .craftlasart-top-gallery {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 24px !important;
  }

  .craftlasart-top-gallery > .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .craftlasart-top-gallery .wp-block-image,
  .craftlasart-top-gallery figure,
  .craftlasart-top-gallery .wp-block-column {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    aspect-ratio: auto !important;
  }

  .craftlasart-top-gallery .wp-block-image img,
  .craftlasart-top-gallery img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  /* image guerrier avec width inline */
  .craftlasart-top-gallery .wp-image-100 {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }
}

/* Overlay burger centré en tablette */
@media (min-width: 767px) and (max-width: 1100px) {
  header .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding-top: 2rem !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  header .wp-block-navigation__responsive-container.is-menu-open ul {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    text-align: center !important;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__label {
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
  }
}

/* ===== Overlay burger tablette : même comportement que mobile ===== */
@media (min-width: 767px) and (max-width: 1100px) {

  /* conteneur overlay */
  header .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  /* wrapper interne : supprimer la grande zone vide */
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: auto !important;
    height: auto !important;
    padding: 24px 20px !important;
    margin: 0 !important;
    gap: 20px !important;
  }

  /* parfois WP ajoute un bloc/flex qui s'étire */
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  header .wp-block-navigation__responsive-container.is-menu-open ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 18px !important;
  }

  /* items */
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__label {
    width: auto !important;
    text-align: center !important;
    justify-content: center !important;
  }

  /* bouton fermer */
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    margin: 0 !important;
  }

  /* neutraliser les hauteurs trop grandes imposées par WP */
  header .wp-block-navigation__responsive-container,
  header .wp-block-navigation__responsive-container > div,
  header .wp-block-navigation__responsive-container-content {
    min-height: 0 !important;
  }
}

@media (min-width: 767px) and (max-width: 1100px) {
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
  }
}

/* ===== Overlay tablette : tout en haut, pas centré ===== */
@media (min-width: 767px) and (max-width: 1100px) {

  /* panneau ouvert */
  header .wp-block-navigation__responsive-container.is-menu-open {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    align-items: initial !important;
    justify-content: initial !important;
  }

  /* wrapper interne */
  header .wp-block-navigation__responsive-container.is-menu-open > div,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 28px 24px 24px 24px !important;
    text-align: center !important;
  }

  /* liste du menu en haut */
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  header .wp-block-navigation__responsive-container.is-menu-open ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 48px 0 0 0 !important;
  }

  /* liens : taille normale */
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__label {
    font-size: 1.15rem !important;
    line-height: 1.25 !important;
    text-align: center !important;
    justify-content: center !important;
  }

  /* bouton fermer en haut à droite */
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    margin: 0 !important;
    z-index: 9999 !important;
  }

  /* supprimer toute hauteur forcée qui recentre */
  header .wp-block-navigation__responsive-container,
  header .wp-block-navigation__responsive-container > div,
  header .wp-block-navigation__responsive-container-content,
  header .wp-block-navigation__responsive-container ul {
    min-height: 0 !important;
    max-height: none !important;
  }
}

/* ===== Menu header : actif propre, sans soulignement moche ===== */

/* lien normal */
header .wp-block-navigation .wp-block-navigation-item__content {
  position: relative !important;
  display: inline-block !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  transition: color 0.18s ease !important;
}

/* on neutralise tous les soulignements par défaut */
header .wp-block-navigation .wp-block-navigation-item__content:hover,
header .wp-block-navigation .wp-block-navigation-item__content:focus,
header .wp-block-navigation .wp-block-navigation-item__content:active,
header .wp-block-navigation .wp-block-navigation-item__content:visited,
header .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* léger changement de couleur au survol / focus / clic */
header .wp-block-navigation .wp-block-navigation-item__content:hover,
header .wp-block-navigation .wp-block-navigation-item__content:focus,
header .wp-block-navigation .wp-block-navigation-item__content:active {
  color: var(--wp--preset--color--primary-dark) !important;
}

/* page courante : couleur un peu différente */
header .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
  color: var(--wp--preset--color--primary-dark) !important;
}

/* petit trait centré uniquement sur la page active */
header .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"]::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: -6px !important;
  width: 62% !important;
  height: 2px !important;
  background: currentColor !important;
  border-radius: 999px !important;
}

/* éviter un trait bizarre sur le span interne */
header .wp-block-navigation .wp-block-navigation-item__label {
  text-decoration: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* ===== Header : accueil sans trait + logo sans pointillés ===== */

/* logo / titre du site : jamais de trait ni pointillés */
header .wp-block-site-title a,
header .wp-block-site-title a:hover,
header .wp-block-site-title a:focus,
header .wp-block-site-title a:active,
header .wp-block-site-title a:visited {
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  border: 0 !important;
}

/* parfois le thème met un underline dashed au focus */
header .wp-block-site-title a:focus {
  text-decoration: none !important;
}

/* menu header : lien normal */
header .wp-block-navigation .wp-block-navigation-item__content {
  position: relative !important;
  display: inline-block !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  transition: color 0.18s ease !important;
}

/* hover / focus / active = léger changement de couleur seulement */
header .wp-block-navigation .wp-block-navigation-item__content:hover,
header .wp-block-navigation .wp-block-navigation-item__content:focus,
header .wp-block-navigation .wp-block-navigation-item__content:active {
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: var(--wp--preset--color--primary-dark) !important;
}

/* page active = couleur + petit trait centré */
header .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: var(--wp--preset--color--primary-dark) !important;
}

header .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"]::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: -6px !important;
  width: 46% !important;
  height: 1.5px !important;
  background: currentColor !important;
  border-radius: 999px !important;
}

/* MAIS : sur ACCUEIL, jamais de trait */
header .wp-block-navigation .wp-block-navigation-item:first-child .wp-block-navigation-item__content::after,
header .wp-block-navigation .wp-block-navigation-item:first-child .wp-block-navigation-item__content[aria-current="page"]::after {
  display: none !important;
  content: none !important;
}

/* label interne sans décor parasite */
header .wp-block-navigation .wp-block-navigation-item__label {
  text-decoration: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* ===== Header : accueil sans trait + logo sans pointillés ===== */

/* logo / titre du site : jamais de trait ni pointillés */
header .wp-block-site-title a,
header .wp-block-site-title a:hover,
header .wp-block-site-title a:focus,
header .wp-block-site-title a:active,
header .wp-block-site-title a:visited {
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  border: 0 !important;
}

/* parfois le thème met un underline dashed au focus */
header .wp-block-site-title a:focus {
  text-decoration: none !important;
}

/* menu header : lien normal */
header .wp-block-navigation .wp-block-navigation-item__content {
  position: relative !important;
  display: inline-block !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  transition: color 0.18s ease !important;
}

/* hover / focus / active = léger changement de couleur seulement */
header .wp-block-navigation .wp-block-navigation-item__content:hover,
header .wp-block-navigation .wp-block-navigation-item__content:focus,
header .wp-block-navigation .wp-block-navigation-item__content:active {
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: var(--wp--preset--color--primary-dark) !important;
}

/* page active = couleur + petit trait centré */
header .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: var(--wp--preset--color--primary-dark) !important;
}

header .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"]::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: -6px !important;
  width: 46% !important;
  height: 1.5px !important;
  background: currentColor !important;
  border-radius: 999px !important;
}

/* MAIS : sur ACCUEIL, jamais de trait */
header .wp-block-navigation .wp-block-navigation-item:first-child .wp-block-navigation-item__content::after,
header .wp-block-navigation .wp-block-navigation-item:first-child .wp-block-navigation-item__content[aria-current="page"]::after {
  display: none !important;
  content: none !important;
}

/* label interne sans décor parasite */
header .wp-block-navigation .wp-block-navigation-item__label {
  text-decoration: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* ===== Header links clean fix ===== */

/* logo + nom du site : jamais de soulignement/pointillés */
header .wp-block-site-title a,
header .wp-block-site-title a:hover,
header .wp-block-site-title a:focus,
header .wp-block-site-title a:active,
header .wp-block-site-title a:visited,
header .custom-logo-link,
header .custom-logo-link:hover,
header .custom-logo-link:focus,
header .custom-logo-link:active,
header .custom-logo-link:visited {
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  border: 0 !important;
}

/* liens du menu header : pas de soulignement ni pointillés au clic/focus */
header .wp-block-navigation .wp-block-navigation-item__content,
header .wp-block-navigation .wp-block-navigation-item__content:hover,
header .wp-block-navigation .wp-block-navigation-item__content:focus,
header .wp-block-navigation .wp-block-navigation-item__content:active,
header .wp-block-navigation .wp-block-navigation-item__content:visited {
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  border: 0 !important;
}

/* effet léger seulement */
header .wp-block-navigation .wp-block-navigation-item__content:hover,
header .wp-block-navigation .wp-block-navigation-item__content:focus,
header .wp-block-navigation .wp-block-navigation-item__content:active {
  color: var(--wp--preset--color--primary-dark) !important;
}

/* page active : petit trait discret */
header .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
  position: relative !important;
  color: var(--wp--preset--color--primary-dark) !important;
}

header .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"]::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: -6px !important;
  width: 46% !important;
  height: 1.5px !important;
  background: currentColor !important;
  border-radius: 999px !important;
  pointer-events: none !important;
}

/* sur ACCUEIL : pas de trait, seulement la couleur */
header .wp-block-navigation .wp-block-navigation-item:first-child .wp-block-navigation-item__content[aria-current="page"]::after {
  content: none !important;
  display: none !important;
}

/* ===== Active link header + burger : trait discret sur toute page active ===== */

/* lien actif partout dans la navigation du header */
header .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
  position: relative !important;
  display: inline-block !important;
  color: var(--wp--preset--color--primary-dark) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* trait discret sous le lien actif */
header .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"]::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: -6px !important;
  width: 46% !important;
  height: 1.5px !important;
  background: currentColor !important;
  border-radius: 999px !important;
  pointer-events: none !important;
}

/* annule l'ancienne règle qui supprimait le trait sur ACCUEIL */
header .wp-block-navigation .wp-block-navigation-item:first-child .wp-block-navigation-item__content[aria-current="page"]::after {
  content: "" !important;
  display: block !important;
}

/* dans le burger ouvert : garder le trait aussi */
header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[aria-current="page"] {
  position: relative !important;
  display: inline-block !important;
}

header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[aria-current="page"]::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: -6px !important;
  width: 46% !important;
  height: 1.5px !important;
  background: currentColor !important;
  border-radius: 999px !important;
  pointer-events: none !important;
}

/* ===== Lien actif fiable via body class + href ===== */

/* style commun du trait actif */
body.home header .wp-block-navigation a[href="/accueil"],
body.page-id-34 header .wp-block-navigation a[href="/contact"],
body.page-id-423 header .wp-block-navigation a[href="https://craftlasart.fr/gravure-laser-sur-bois/"],
body.page-id-433 header .wp-block-navigation a[href="https://craftlasart.fr/decoupe-laser-sur-bois/"] {
  position: relative !important;
  display: inline-block !important;
  color: var(--wp--preset--color--primary-dark) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}

body.home header .wp-block-navigation a[href="/accueil"]::after,
body.page-id-34 header .wp-block-navigation a[href="/contact"]::after,
body.page-id-423 header .wp-block-navigation a[href="https://craftlasart.fr/gravure-laser-sur-bois/"]::after,
body.page-id-433 header .wp-block-navigation a[href="https://craftlasart.fr/decoupe-laser-sur-bois/"]::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: -6px !important;
  width: 46% !important;
  height: 1.5px !important;
  background: currentColor !important;
  border-radius: 999px !important;
  pointer-events: none !important;
}
