/*
Theme Name: Arcs
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Author: HARVEST
Author URI: https://wordpress.org
Description:
Requires at least: 6.4
Tested up to: 6.4
Requires PHP: 7.0
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Template: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, accessibility-ready, blog, portfolio, news
*/


/* -------------------------------------------------------------------------- */
/* 0) Imports & resets                                                        */
/* -------------------------------------------------------------------------- */

@import url("https://use.typekit.net/psh1lav.css");

/* Le navigateur garde le scroll vertical natif, on gère l'horizontal */
.slider-viewport{
  touch-action: pan-y;
  overscroll-behavior: contain;           /* évite le rebond iOS/Android dans la section pin */
  -webkit-overflow-scrolling: touch;
}

.dazzle{
  font-family: "dazzle-unicase" !important;
}

html,
body {
  min-height: 100vh;
  width: 100% !important;
  overflow-x: hidden !important;
  overscroll-behavior: none;
/* /*   cursor: none; */ */
}

a,
a:focus,
a:active {
  outline: 0 !important;
/*   cursor: none; */
}

.wp-block-navigation a:where(:not(.wp-element-button)):focus,
.wp-block-post-title a:where(:not(.wp-element-button)):focus,
.wp-block-site-title a:where(:not(.wp-element-button)):focus,
a:where(:not(.wp-element-button)):focus,
a {
  text-decoration: none !important;
}

.gform_confirmation_message_3.gform_confirmation_message{
	display: none;
}

html.is-modal-open,
body.is-modal-open {
  height: 100%;
  overflow: hidden !important;
  overscroll-behavior: contain;
  touch-action: none; /* utile sur mobile */
}

#dlm-no-access-modal .dlm-overflow-y-auto{
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.wp-block-post-title{
	word-break:keep-all !important;
}
  .home .head.has-contrast-background-color{
	  transition: 0.4s all cubic-bezier(0.5, 0, 0.58, 1);
	  background-color: transparent !important;
  }
  .home .main-tool-bar--scrolled .head.has-contrast-background-color{
	  
	  background-color: var(--wp--preset--color--contrast) !important;
  }
  
  .banner_home{
	  position: relative;
  }
  
.banner_home::before{
	 content: "";
	 width: 100%;
	 height: 100%;
	 background: var(--wp--preset--gradient--custom-degrad);
	 position: absolute;
	 display: block;
	 z-index: 10;
 } 

/* -------------------------------------------------------------------------- */
/* 1) États init / préchargement                                              */
/* -------------------------------------------------------------------------- */

/* la loading ne doit JAMAIS intercepter les clics une fois cachée */
.loading[hidden] { display: none !important; }      /* kill total */
.loading.is-gone  { display: none !important; }     /* classe de secours */

/* quand l’overlay est à 0 d’opacité, on n’intercepte plus les clics */
.loading:not([data-active="1"]) { pointer-events: none !important; }

.smooth-content { visibility: hidden; }

.loading {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(26, 26, 26);
  overflow: hidden;
  z-index: 999999;
  opacity: 0;
  backdrop-filter: blur(2px);
  transition: opacity .3s ease; /* sécurité si JS en panne */
}

.admin-bar .wp-site-blocks,
.admin-bar .wp-block-template-part{
  margin-top: 32px;
}

/*
.admin-bar main.smooth-content{
  padding-top: 100px !important;
}
*/


/* -------------------------------------------------------------------------- */
/* 3) Header / navigation                                                     */
/* -------------------------------------------------------------------------- */

/* Anti-flicker logo pendant l'init */
html.is-prep header .heading .wp-block-site-logo,
html.is-prep header .heading .wp-block-site-logo img {
  transition: none !important;
}

/* Un petit coup de pouce au moteur de rendu (WebKit) */
header .heading .wp-block-site-logo {
  will-change: transform, opacity;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9998;
  background-color: transparent;
  transition: 0.3s all ease-in-out;
}

/* avant : transition: 0.4s all ...  ->  provoque flicker sur mask/height */
header .heading .wp-block-site-logo {
  height: 237px;
  width: 101px;
  transform-origin: top left;
  background-color: var(--wp--preset--color--contrast);
  mask: url(/wp-content/uploads/logo_harvest.svg) no-repeat top left;
  -webkit-mask: url(/wp-content/uploads/logo_harvest.svg) no-repeat top left;
  mask-size: contain;
  transition: 0.4s all cubic-bezier(0.5, 0, 0.58, 1);
}

header .heading .wp-block-site-logo img {
  opacity: 0;
  height: 237px;
  width: 101px;
  /* idem : pas de transition sur width/height */
  transition: 0.4s all cubic-bezier(0.5, 0, 0.58, 1);
}

/* État scrolled : on change la hauteur et le mask, MAIS sans transition de mask/height */
header.main-tool-bar--scrolled .heading .wp-block-site-logo {
  height: 80px; /* se fait instantanément, sans anim -> pas de flash */
  transform-origin: top left;
}



header.main-tool-bar--scrolled .heading nav li {
  font-size: 1rem !important;
  padding: 11px 0;
}

header.main-tool-bar--scrolled .wp-block-site-logo img {
/*
  width: 45px;
  height: 118px;
*/
}

header.open { height: 100%; }

/* État actif menu / archive projets */
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--primary);
}
.current-menu-item,
.post-type-archive-projets .projets,
.single-projets .projets{
  font-style: italic;
}

/* Forcer l'ouverture quand .keep-open est appliqué par le JS */
.gw-mm-item.has-children.keep-open > .gw-mm-item__dropdown-wrapper {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto;
  height: auto;
}


/* -------------------------------------------------------------------------- */
/* 4) Hero / Intro                                                            */
/* -------------------------------------------------------------------------- */

section.intro { position: relative; }
section.intro .title { position: relative; z-index: 2; }
section.intro .two { position: relative; z-index: 3; }
section.intro .lines { position: relative; z-index: 1; }
section.two { margin-top: -50vh; }

/* h1 { opacity: 0; } /* (corrigé: suppression espace invisible) */ */


/* -------------------------------------------------------------------------- */
/* 5) Éléments graphiques (cercles, flair, gradients)                         */
/* -------------------------------------------------------------------------- */


mark a {
  position: relative;
  text-decoration: none;
  background:
    linear-gradient(to right, var(--wp--preset--color--contrast), var(--wp--preset--color--contrast)),
    linear-gradient(to right, var(--wp--preset--color--primary), var(--wp--preset--color--primary));
  background-size: 100% 2px, 0 2px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: all 400ms;
}

mark a:hover {
  color: var(--wp--preset--color--primary);
  background-size: 0 2px, 100% 2px;
}

.gradient {
  background: -webkit-linear-gradient(var(--wp--preset--color--base), #313131);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.wp-block-button__link:hover{
  background-color: var(--wp--preset--color--accent-1) !important;
  color: white !important;
}

/* Curseur flair (desktop) */
@media screen and (min-width: 600px) {
  :not(.wp-admin) .flair {
    position: fixed;
    top: 0; left: 0;
    width: 20px; height: 20px;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 10000;
    mix-blend-mode: difference;
  }
  .flair {/*  cursor: none; */ }
  .flair svg { width: 100%; height: 100%; }
  .flair #currentShape { fill: #FFD07B; }
  
  /* 1) Désactiver le pointeur partout sauf zones de saisie */
  :where(html, body) { /* cursor: none !important;  */}
  
  /* UA defaults sur tous les liens (y compris Safari) */
  :where(:any-link),
  :where(a), 
  a:-webkit-any-link { /* cursor: none !important; */ }
  
  /* Boutons & rôles cliquables */
  :where(button, [role="button"], [role="link"], .wp-element-button,
         input[type="button"], input[type="submit"], input[type="reset"],
         label, summary) { /* cursor: none !important; */ }
  
  /* Ne PAS masquer le curseur dans les zones de saisie */
  :where(input[type="text"], input[type="search"], input[type="email"],
         input[type="number"], input[type="password"], textarea,
         [contenteditable="true"]) { cursor: text !important; }
  
  /* 2) Éléments spécifiques de ton thème */
  .projects-as-slider .slider-nav button { cursor: none !important; }
  
  /* Navigation WP (parfois réimpose pointer via styles core) */
  .wp-block-navigation a,
  .wp-block-navigation__responsive-container-open,
  .wp-block-navigation__submenu-icon { /* cursor: none !important; */ }
  
  /* 3) Sécurité générale : tout élément interactif restant */
  :where([onclick], [data-action], [role="menuitem"], [role="tab"], [role="switch"]) {
  /*   cursor: none !important */;
  }
  
  /* 4) Le flair ne doit jamais capter les events ni réactiver un curseur */
  .flair { pointer-events: none; cursor: none !important; }
}

@media screen and (max-width: 600px) {
  .flair { display: none; }
}

/* Vignette qui suit la souris */
.cursor-sidecar{
  position: fixed;
  top: 0; left: 8%;
  width: clamp(150px, 15vw, 300px);
  aspect-ratio: 1 / 1;
  background: center / cover no-repeat;
  border-radius: 50%;
  pointer-events: none;
  z-index: 100;
  opacity: 0;
  transform: translate(-50%, -50%);
  box-shadow: 0 12px 48px rgba(0,0,0,.35);
}

@media (pointer: coarse) {
  .cursor-sidecar { display: none !important; }
}


/* -------------------------------------------------------------------------- */
/* 6) Texte scindé / animations de lignes                                     */
/* -------------------------------------------------------------------------- */

.lines { position: relative; will-change: transform; }
.split-line,
.line-wrap,
.line { display: block; overflow: hidden; }

.line-inner {
  display: inline-block;
  will-change: transform;
  transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Hover d’expérience */
.exp .line {
  transition: all .5s ease-in-out;
  cursor: pointer;
  transform-origin: left;
}
.exp .line:hover { transform: scale(1.1); }


/* -------------------------------------------------------------------------- */
/* 7) Blocs divers                                                            */
/* -------------------------------------------------------------------------- */

/* Citation en dégradé animé (texte en “mask”) */
.citation > div {
  background: linear-gradient(to right, var(--wp--preset--color--contrast) 50%, rgb(37,37,37) 50%);
  background-size: 200% 100%;
  background-position-x: 100%;
  color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
}
.light .citation > div {
  background: linear-gradient(to right, var(--wp--preset--color--base) 50%, rgb(37,37,37) 50%);
}

.siteWeb figure::before {
  content: '';
  display: block;
  width: 100%;
  height: 43px;
  background-color: #262626;
  border-radius: 25px 25px 0 0;
}

.grid img { border-radius: 20px; }

.wp-block-group.is-layout-grid {
  display: grid;
  /* si ce n’est pas déjà le cas */
  /* grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); */
  align-items: center; /* centrage vertical */
  justify-items: center; /* centrage horizontal */
  gap: 6rem; /* espace entre les logos */
}

.wp-block-group.is-layout-grid figure {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0; /* supprime les marges inline */
}

.wp-block-group.is-layout-grid img {
  max-width: 100%;
  height: auto;
  object-fit: contain; /* meilleure gestion des ratios */
}

.selected { color: var(--wp--preset--color--custom-rose-cp) !important; }

.pages_title{ position: relative; z-index: 100;}

.SiteVids video{
  border-radius: 0 !important;
}

/* liste pages contenu */
.ListeInfos p{
  margin: 0;
}
.ListeInfos a {
  inline-size: 25.3rem;
  display: flex !important;
  text-decoration: none !important;
  margin: 0;
  padding-bottom: 10px;
  justify-content: space-between; /* texte à gauche, flèche à droite */
  align-items: center;
  border-bottom: 1px solid #ccc;
  cursor: pointer;
  transition: transform 0.3s ease-in-out ;
}

/* la flèche */
.ListeInfos a::after {
  content: "→"; /* flèche simple */
  font-weight: 400;
  font-size: 40px;
  color: inherit;
}

/* effet au survol */
.ListeInfos a:hover {
  color: var(--wp--preset--color--primary) !important;
  transform: translateX(5px);
}

.ListeInfos a:hover::after {
  transform: translateX(5px); /* la flèche glisse légèrement à droite */
}

.wp-block-group.is-layout-grid {
  gap: 20px !important;
}
.BackgroundJaune{
  background-repeat: no-repeat;
  background-size: 60% 100%;
  background-position: left top;
  background-color: white;
  background-image: linear-gradient(var(--wp--preset--color--accent-3), var(--wp--preset--color--accent-3));
}

.BackgroundJaune2{
  background-repeat: no-repeat;
  background-size: 80% 90%;
  background-position: left top;
  background-color: white;
  background-image: linear-gradient(var(--wp--preset--color--accent-3),var(--wp--preset--color--accent-3));
}

.BackgroundBleu{
  background-repeat: no-repeat;
  background-size: 80% 90%;
  background-position: left top;
  background-color: white;
  background-image: linear-gradient(var(--wp--preset--color--accent-2),var(--wp--preset--color--accent-2));
}

.BackgroundOrange{
  background-repeat: no-repeat;
  background-size: 80% 90%;
  background-position: left top;
  background-color: white;
  background-image: linear-gradient(var(--wp--preset--color--accent-4),var(--wp--preset--color--accent-4));
} 
.BackgroundGris{
  background-repeat: no-repeat;
  background-size: 80% 90%;
  background-position: left top;
  background-color: white;
  background-image: linear-gradient(var(--wp--preset--color--accent-5),var(--wp--preset--color--accent-5));
}

.BackgroundJaune2 .wp-block-group, .BackgroundBleu .wp-block-group, .BackgroundOrange .wp-block-group, .BackgroundGris .wp-block-group{
  z-index: 1;
}
.fleche img{
  display: flex;
}
.partition::after{
  content: "";
  position: absolute;
  background-image: url(/wp-content/uploads/2026/02/partition-verti.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 100px;
  height: 370px;
  Z-INDEX: 11;
  bottom: -300px;
  left: 43%;
}

.fleche-lien .wp-block-tiptip-hyperlink-group-block .wp-block-group-is-layout-flex img{
  position: relative;
  transition: transform 0.3s ease-in-out;
}
.fleche-lien .wp-block-tiptip-hyperlink-group-block:hover .wp-block-group-is-layout-flex img{
  transform: translateX(10px);
}
.wp-block-tiptip-hyperlink-group-block:hover .black-hover h2{
  color: #ff6b01 !important;
}

.picto-a::before {
    content: "";
    background-image: url(/wp-content/uploads/2026/02/A.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 500px;
    height: 580px;
    position: absolute;
    Z-INDEX: -1;
    left: 80%;
}

.back{
  Z-INDEX: -1;
}
.wp-block-cover__inner-container{
  z-index: 11;
}

.HomeAcademie{
  margin-top: -150px
}

.ariane span {
  font-family: 'Open Sans';
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
}
.ariane{
  position: relative;
  padding:  5px 0 8px 0;
}
.ariane::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-top: 2px solid black;
  border-bottom: 2px solid black;
  Z-INDEX: -1;
}
.ariane #text{
  content:"/"
}


.yoast-breadcrumbs.ariane > span > span:first-child a {
    font-size: 0; 
    display: inline-flex;
    align-items: center;
}

.yoast-breadcrumbs.ariane > span > span:first-child a::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 13px;
    background-image: url(/wp-content/uploads/2026/02/picto-home.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 8px;
    vertical-align: middle;
}

li.artiste .wp-block-post-title{
  white-space: pre-line;
  line-height: 1.3;
}
.dazzle.artiste::before {
  content: "";
  background-image: url(/wp-content/uploads/2026/02/lignes.svg);
  position: absolute;
  width: 220px;
  right: 0;
  height: 105px;
  background-size: cover;
}

.apparitions{
  position: relative;
}
.apparitions::before{
  content: "";
  background-image: url(/wp-content/uploads/2026/02/A.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 500px;
  height: 410px;
  position: absolute;
  Z-INDEX: -1;
  left: 70%;
  top: -320px;
  transform: rotate(-10deg);
}
.evenement p, .evenement ul{
	margin-top: 5px;
}
.evenement h3{
	font-weight: bold;

}
.evenement h3, .evenement em{
	 color: var(--wp--preset--color--accent-2)
}


.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: #ff6b0129 !important;
}

/* -------------------------------------------------------------------------- */
/* 8) Footer                                                                 */
/* -------------------------------------------------------------------------- */

@media (min-width: 1017px){
  .bottom{
    margin-top: -100px;
    z-index: 300;
    position: relative;
  }
}




/* -------------------------------------------------------------------------- */
/* 10) Accordéon                                                              */
/* -------------------------------------------------------------------------- */

.accordion { width: 250px; margin: 15px; box-shadow: 0 8px 17px rgba(0,0,0,.2); }
.accordion-menu { color: #fff; padding: 10px; cursor: pointer !important; user-select: none; position: relative; }
.accordion-content { height: 0; overflow: hidden; font-size: 14px; width: 60%; }
.accordion-content.expanded { height: 0; overflow: hidden; } /* (semble volontaire) */
.accordion-plus,
.accordion-minus { position: absolute; top: 7px; right: 8px; }


/* -------------------------------------------------------------------------- */
/* 11) Formulaires (Gravity Forms)                                            */
/* -------------------------------------------------------------------------- */

/*
.gform_wrapper .ginput_container input {
  background: none;
  border: none;
  border-bottom: 1px solid var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--contrast);
}

.gform_wrapper .ginput_container textarea {
  background: none;
  border-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--contrast);
}

.contact .message .gform-field-label,
.email .gform-field-label,
.nom .gform-field-label {
  font-size: 2rem !important;
  font-weight: 400 !important;
}

.ginput_container_consent { padding-top: 3rem; }

.gform_button {
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
  border: none;
  border-radius: 20px;
  padding: 20px 40px;
  font-size: medium;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  font-weight: 600;
  transition: transform 0.3s ease;
}
*/

.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_page_footer input[type="submit"]:hover {
  transform: scale(1.05);
}

/*
.gfield_consent_label::after {
  content: "*";
  position: relative;
  top: -0.5rem;
  color: #FFD07B;
  font-weight: bold;
  font-size: 1rem;
}

.gfield_required::before {
  content: "*";
  position: relative;
  top: -1rem;
  color: #FFD07B;
  font-weight: bold;
  font-size: 1rem;
}
*/

.gfield_required_text { display: none !important; }

.gform_required_legend{ display: none !important;}

/* -------------------------------------------------------------------------- */
/* 12) Mise en page Contact                                                   */
/* -------------------------------------------------------------------------- */

.contact-page .circle.one,
.contact-page .circle.two {
  display: flex;
  position: relative !important;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  transform: rotate(90deg) !important;
}

.contact-page .circle.one { right: -13.7vw !important; }
.contact-page .circle.two { left: -13.7vw; top: -7vh; }


/* -------------------------------------------------------------------------- */
/* 13) Sections “for” (marquee + SVG latéraux)                                */
/* -------------------------------------------------------------------------- */

.panel .marquee-track {
  display: flex;
  gap: clamp(2rem, 6vw, 8rem);
  will-change: transform;
  transform: translate3d(0,0,0);
}

.panel .wp-block-heading {
  white-space: nowrap;
  display: inline-block;
}

section.for { position: relative; overflow: visible; }
section.for .panel { position: relative; z-index: 2; }

section.for .svg1,
section.for .svg2 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 0;
  display: grid;
  place-items: center;
}

section.for .svg1 { left: 0; }
section.for .svg2 { right: 0; }

section.for .svg1 svg,
section.for .svg2 svg {
  width: min(35vw, 50vw);
  height: auto;
  transform-box: fill-box;
  transform-origin: 50% 50%;
}




/* -------------------------------------------------------------------------- */
/* 14) Éléments décoratifs positionnés                                       */
/* -------------------------------------------------------------------------- */

.get-on-front { position: relative; z-index: 999 !important; }

.ligne-verte,
.beige-ligne,
.bleu-ligne {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.ligne-verte2{
  position: absolute;
  right: 10rem;
}

.ligne-verte { bottom: 10rem; width: 1rem; }
.beige-ligne { bottom: 18rem; width: 2rem; }
.bleu-ligne  { bottom: -7rem; width: 2rem; z-index: 2; }

.savoir-faire { position: relative; left: 2rem; }
.creativite   { position: relative; left: -2rem; }

.lignes { position: relative; left: 18rem; top: 15rem; }
.arcs-cercles { position: relative; left: -5rem; top: 9rem; }

.arcs-cercles .wp-image-706 { width: 8rem !important; }
.lignes .wp-image-699       { width: 10rem !important; }

.heart img{
  left:0;
  right:0;
  margin:0 auto;
}

@keyframes heartFadeInOut {
  0% {transform: scale(1);}
  25% {transform: scale(.97);}
  35% {transform: scale(.9);}
  45% {transform: scale(1.1);}
  55% {transform: scale(.9);}
  65% {transform: scale(1.1);}
  75% {transform: scale(1.03);}
  100% {transform: scale(1);}
}

.heart img { 
  top: 30%; 
  animation-name: heartFadeInOut; 
  animation-iteration-count: infinite;
  animation-duration: 2s;
  width: 40vh; 
}


/* -------------------------------------------------------------------------- */
/* 15) Utilitaires perf                                                       */
/* -------------------------------------------------------------------------- */

/* Aides GPU / reveal */
[data-reveal],
[data-parallax],
[data-item] {
  will-change: transform, opacity;
  transform: translateZ(0);
}

/* -------------------------------------------------------------------------- */
/* 16) Media queries                                                          */
/* -------------------------------------------------------------------------- */

@media (max-width: 1213px) {
  .basline { min-width: 445px !important; }

    .BackgroundJaune, .BackgroundJaune2, .BackgroundBleu, .BackgroundOrange, .BackgroundGris{
    background-size: 100% 100%;
  }

  .BackgroundJaune2 .wp-block-columns, .BackgroundBleu .wp-block-columns, .BackgroundOrange .wp-block-columns, .BackgroundGris .wp-block-columns{
    margin-top: 0 !important;
    padding: 50px 0 50px 0;
  }
  .partition::after {
    height: 260px;
    bottom: -190px;    
  }
  .artiste::before{
    display: none;
  }

}

@media (max-width: 650px) {
  .circle.one { top: 15vh; right: -47vw; }
  .circle.two { left: -15vw; }
  .circle svg { height: 60vw; }

  .creativite,
  .savoir-faire { left: 0 !important; }

  .bleu-ligne,
  .beige-ligne { display: none; }

  .ginput_container_consent { padding-top: 0 !important; }
  	
  	
  	.intro .wp-block-heading{
	  	margin-top: 80vw;
  	}
  	.intro.active-trigger{
	  	background-position: inherit;
  	}
  	.intro:after{
	  	background-position: left top;
	  	right: 10%;
  	}

  
}

@media (max-width: 400px) {
  .title { padding-left: 0 !important; padding-right: 0 !important; }
}






@media (max-width: 798px) {
	
	.wp-block-woocommerce-product-collection:has(.is-product-collection-layout-carousel) :where(.wc-block-next-previous-buttons.wc-block-next-previous-buttons){
		display: flex !important;
		padding-right: 30px;
	}
	
	.AutresProduits{
		padding: 0 !important;
	}
	
	header .logo{
		width: 250px !important;
	}
	
	.menuVert{
		  width: 142px;
		  height: 120px;
	}	
	
  .wp-block-getwid-megamenu-item > .gw-mm-item__link a:after{
  content: ""; 
    position: absolute; 
    width: 100%;
    height: 1px;
    background-color: white;
    bottom: 0;
    left: 0;
  }
  .wp-block-getwid-megamenu-item > .gw-mm-item__link a{
    font-size: 22px !important;
    position: relative !important;
    font-weight: 600 !important;
    letter-spacing: 3px !important;
    padding-left: 30px !important;
  }
  .wp-block-getwid-megamenu-item > .gw-mm-item__link a:before {
    width: 40px !important;
    height: 40px !important;
    margin: 0 auto !important;
    margin-bottom: -15px !important;
    display: inline-block !important;
    margin-right: 30px !important;
  }
  .gw-mm__toggle{
    background: none;
    border: none;
    font-size: 0;
  }
  .gw-mm__toggle .dashicons-menu {
    background-color: transparent !important;
    color: transparent !important;
    width: 30px;
    height: 30px;
    background-image: url(/wp-content/uploads/2025/11/menu-icon.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }

  :where(.wp-site-blocks *:focus) {
    outline-width: 0 !important;
  }
  .gw-mm__toggle.is-opened .dashicons-menu{
    background-image: url(/wp-content/uploads/2025/11/close_menu.svg) !important;
  }
  
  
  
  .gw-mm-item__link {
    position: relative;
  }

  .gw-mm-item__link  .gw-mm-item__toggle{
	display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    Z-INDEX: 2;
  }
  .gw-mm-item__dropdown-wrapper.is-opened .gw-mm-item__link .gw-mm-item__toggle{
  	display: none !important;
  }
  
  
  .gw-mm-item__link  .gw-mm-item__toggle .dashicons-arrow-down{
    right: 0;
    position: absolute;  
  }
  .gw-mm-item__link  .gw-mm-item__toggle .dashicons-arrow-down::before{
    background: url(/wp-content/uploads/2025/11/fleche_next.svg) no-repeat center center !important;
    content: "" !important;
    position: absolute !important;
    width: 10px !important;
    height: 35px !important;
    display: inline-block !important;
    scale: 1.4 !important;
    transition: transform 0.3s ease;
  }
  .gw-mm-item__link  .gw-mm__toggle.is-opened .dashicons-arrow-down::before{
    transform: rotate(90deg) scale(1.4) !important;
    transition: transform 0.3s ease;
  }




  .wp-block-getwid-megamenu-item.produits.is-opened ~ .wp-block-getwid-megamenu-item .gw-mm-item__link a,
  .wp-block-getwid-megamenu-item.produits.is-opened ~ .wp-block-getwid-megamenu-item .gw-mm-item__link .gw-mm-item__toggle {
    pointer-events: none !important;
  }
  .wp-block-getwid-megamenu-item.produits .gw-mm-item__dropdown a {
    pointer-events: auto !important;
  }
  
  .gw-mm.is-mobile .gw-mm__content-wrapper  .gw-mm__content-wrapper{
	  position:  relative !important;
  }
  
  .gw-mm-item__dropdown-wrapper .gw-mm-item__dropdown-wrapper{
	  display: none !important;
  }
  
  .wp-block-navigation .wp-block-navigation-item{
	  width: 100%
  }
  header .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content{
	  font-size: 22px !important;
  }
  
  .description{ 
	  border-left: 0 !important;
	  border-radius: 0 !important;
  }
  .indications{ padding: 20px !important; margin: 0 !important;}
  .gw-mm__content-wrapper{
	opacity: 0;
	}
	.wp-block-getwid-megamenu.is-opened .gw-mm__content-wrapper{
		opacity: 1;	
	}
  .revert{
    flex-direction: column-reverse;
  }
  .TelBanner{
    padding-left: 3rem !important;
  }
  .TelBanner .wp-block-term-description, .TelBanner .wp-block-group{
    max-width: 100% !important;
  }
 
  ul[role="list"] {
    padding: 10px 3px 27px 10px !important;
  }
  .ic-pdf-list{
    padding: 0;
  }
  .PhotoProduit{
    padding-left:0 !important;
  }
  .AutresProduits{
    margin-top: 5rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .techno-section{
    padding-top: 5rem !important;
  }
  .techno-section .wp-block-group{
    padding-right: 0!important;
    padding-left: 0!important;
  }
  .ContentResponsive{
    max-width: 100% !important;
    padding: 1rem 2rem 0 2rem !important;
    --wp--preset--spacing--60: 5rem;
  }
  .ContentResponsive2{
    max-width: 100% !important;
    padding: 1rem 2rem 0 2rem !important;
    --wp--preset--spacing--60: 5rem;
  }
  .ContentResponsive .wp-block-group,
  .ContentResponsive .WidthSize h1,
  .ContentResponsive .WidthSize h2,
  .ContentResponsive .WidthSize h3,
  .ContentResponsive .WidthSize P{
    max-width: 100% !important;
    padding: 0 !important;
  }
  .DetailsPost{
    border-radius: 50px;
    padding: 4rem 2rem 1rem 2rem !important;
  }
  .Coordonnees{
    padding: 2rem 0rem 2rem 0rem !important;
    border-radius: 500px !important;
  }
  .Coordonnees .mapster-wp-maps-container{
    display: none;
      justify-self: center;
  }
  
  .reverse{
    flex-direction: column-reverse;
  }
  .onlap{
    display: none !important;
  }

  .photocademie{
    margin-top: -150px !important;
  }
  .BackgroundJaune .wp-container-core-columns-is-layout-26ad6e46, .wp-container-core-columns-is-layout-26ad6e46{
    gap: 0 !important;
  }
  .nomargin{
    margin: 0 !important;
  }
  .home .wp-block-cover.is-light{
    height: 100vh !important;
  }

  
  .wp-block-cover__inner-container{
    bottom: -15% !important;
  }

  .apparitions::before{
    left: 0;
  }
  .photo-artiste{
    height: 700px !important;
  }    
  
/*
  .Coordonnees .mapster-wp-maps, .Coordonnees .maplibregl-canvas{
    height: 50% !important;
    width: 50% !important;
  }
*/

  .photos-grid.wp-block-group.is-layout-grid {
    display: flex !important;
    width: max-content;
    animation: scroll-infini 10s linear infinite;
    margin-top: 60px !important;
    scale: 5;
    margin-bottom: 100px !important;
    gap: 10px !important;
  }


}

@media (min-width: 798px) {
  .tel{
    display: none !important;
  }
}

@media (max-width: 1141px) {
	.Coordonnees .wp-block-column:first-child {
    	display: none !important;
  	}
} 	


.pum-content h4, .pum-title.popmake-title{
	font-family: "Noka" !important;
	font-weight: bold !important;
	color: var(--wp--preset--color--base) !important;
}

.popmake-close {
	padding : 10px 15px;
	margin : 15px 0;
	color : #FFFFFF;
	border : 3px solid #FFFFFF;
	background : var(--wp--preset--color--contrast);
	border-radius: 50px;
	text-transform : uppercase;
	cursor : pointer;
	width : 80px;
	text-align: center;
}
.pum-close{
	background-color: var(--wp--preset--color--contrast);
}

.popmake-close:hover {
	background : var(--wp--preset--color--accent-1);
}

.popmake button{
	display: none;
}


/* events */

/* ============================================================
   THE EVENTS CALENDAR — Custom Style "Les Prochaines Dates"
   AFMA / Arcs Music Festival
   À coller dans : Apparence > Personnaliser > CSS additionnel
   ============================================================ */

/* ---- Variables de couleur ---- */
:root {
  --afma-red:    #D00000;
  --afma-black:  #111111;
  --afma-gray:   #555555;
  --afma-light:  #F5F5F5;
  --afma-border: #E0E0E0;
}

/* ============================================================
   1. TITRE DE LA VUE / EN-TÊTE
   ============================================================ */
.tribe-events-calendar,
.tribe-events-header,
.tribe-common .tribe-events-header {
  background: #fff;
}

/* Titre de section "Les prochaines dates" — à adapter selon votre
   titre de page ou shortcode wrapper */
.tribe-events .tribe-events-l-container {
  padding: 0;
}

/* ============================================================
   2. NAVIGATION PAR DATE / BARRE DU HAUT
   ============================================================ */
.tribe-events-c-nav__list-item-link,
.tribe-common-c-btn-border {
  font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--afma-red) !important;
  border-color: var(--afma-red) !important;
}

/* ============================================================
   3. GROUPES PAR JOUR — le gros numéro + LUNDI / MARDI…
   ============================================================ */

/* Conteneur du groupe jour */
.tribe-events-calendar-list__month-separator,
.tribe-events-calendar-list__day-separator {
  border: none;
  padding: 32px 0 12px;
  margin: 0;
}

/* Nom du mois (JUILLET) */
.tribe-events-calendar-list__month-separator-title,
.tribe-events-calendar-list__day-separator-month {
  font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--afma-red);
  display: block;
  margin-bottom: 0;
}

/* Numéro du jour + nom du jour */
.tribe-events-calendar-list__day-separator-datetime,
.tribe-events-calendar-list__day-separator-title {
  display: flex;
  align-items: baseline;
  gap: 12px;
  border-bottom: 2px solid var(--afma-black);
  padding-bottom: 10px;
  margin-bottom: 0;
}

/* Le grand chiffre (12, 13…) */
.tribe-events-calendar-list__day-separator-datetime-day-of-month {
  font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  font-size: 64px;
  font-weight: 900;
  line-height: 1;
  color: var(--afma-red);
  letter-spacing: -2px;
}

/* LUNDI / MARDI… */
.tribe-events-calendar-list__day-separator-datetime-day-of-week {
  font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  font-size: 26px;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--afma-black);
  letter-spacing: 0.05em;
}

/* ============================================================
   4. GRILLE DES ÉVÉNEMENTS DU JOUR
   Disposition 3 colonnes (12h30 / 14h00 / 19h00)
   ============================================================ */

/* Wrapper des events d'une journée */
.tribe-events-calendar-list__day-events {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-left: 1px solid var(--afma-border);
}

/* Colonne individuelle */
.tribe-events-calendar-list__event-wrapper {
  border-right: 1px solid var(--afma-border);
  border-bottom: 1px solid var(--afma-border);
  padding: 0;
  margin: 0;
}

/* ============================================================
   5. CARTE ÉVÉNEMENT
   ============================================================ */
.tribe-events-calendar-list__event {
  display: flex;
  flex-direction: column;
  padding: 16px 18px 20px;
  background: #fff;
  transition: background 0.18s ease;
  position: relative;
  height: 100%;
  text-decoration: none !important;
}

.tribe-events-calendar-list__event:hover {
  background: var(--afma-light);
}

/* Heure de début — ex : "12h30*" */
.tribe-events-calendar-list__event-datetime-wrapper,
.tribe-event-schedule-details {
  font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: var(--afma-black);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Flèche ">" à droite de l'heure */
.tribe-events-calendar-list__event-datetime-wrapper::after,
.tribe-event-schedule-details::after {
  content: '›';
  font-size: 22px;
  font-weight: 400;
  color: var(--afma-black);
  opacity: 0.6;
}

/* Tag de catégorie (CONCERTS EN VILLAGES, CONFÉRENCE, JEUNE PUBLIC…) */
.tribe-events-calendar-list__event-categories,
.tribe-event-categories {
  font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--afma-gray);
  margin-bottom: 6px;
  margin-top: 10px;
  border-top: 1px solid var(--afma-border);
  padding-top: 10px;
}

/* Titre de l'événement */
.tribe-events-calendar-list__event-title,
.tribe-event-url .tribe-event-name,
.tribe-events-calendar-list__event-title-link {
  font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  font-size: 17px;
  font-weight: 800;
  color: var(--afma-red) !important;
  text-decoration: none !important;
  text-transform: none;
  line-height: 1.2;
  margin-bottom: 6px;
}

.tribe-events-calendar-list__event-title-link:hover {
  text-decoration: underline !important;
}

/* Description courte / sous-titre (italique) */
.tribe-events-calendar-list__event-description,
.tribe-event-description p {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 13px;
  font-style: italic;
  color: var(--afma-black);
  margin-bottom: 8px;
  line-height: 1.45;
}

/* Localisation avec icône pin */
.tribe-events-calendar-list__event-venue,
.tribe-venue {
  font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: var(--afma-gray);
  display: flex;
  align-items: flex-start;
  gap: 4px;
  line-height: 1.35;
  margin-top: auto;
}

/* Icône pin — on utilise un pseudo-element si l'icône n'est pas présente */
.tribe-events-calendar-list__event-venue::before,
.tribe-venue::before {
  content: '📍';
  font-size: 11px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* Badge JEUNE PUBLIC (tag spécifique) */
.tribe-events-calendar-list__event-categories a[href*="jeune"],
.tribe-events-calendar-list__event-categories a[href*="public"] {
  color: var(--afma-red);
  font-weight: 900;
}

/* ============================================================
   6. BOUTON "VOIR LE PROGRAMME"
   ============================================================ */
.tribe-events-c-subscribe-dropdown__button,
.tribe-common-c-btn,
a.tribe-events-view-nav-next,
a.tribe-events-view-nav-previous {
  font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  border: 2px solid var(--afma-red);
  color: var(--afma-red);
  background: transparent;
  padding: 10px 28px;
  transition: background 0.18s ease, color 0.18s ease;
}

.tribe-events-c-subscribe-dropdown__button:hover,
.tribe-common-c-btn:hover {
  background: var(--afma-red);
  color: #fff;
}

/* ============================================================
   7. RESPONSIVE — mobile : une colonne
   ============================================================ */
@media (max-width: 768px) {
  .tribe-events-calendar-list__day-events {
    grid-template-columns: 1fr;
  }

  .tribe-events-calendar-list__event-wrapper {
    border-right: none;
  }

  .tribe-events-calendar-list__day-separator-datetime-day-of-month {
    font-size: 48px;
  }
}

@media (max-width: 480px) {
  .tribe-events-calendar-list__day-separator-datetime-day-of-month {
    font-size: 38px;
  }
  .tribe-events-calendar-list__day-separator-datetime-day-of-week {
    font-size: 20px;
  }
}


@keyframes scroll-infini {
    0% {
        transform: translateX(40%);
    }
    100% {
        /* On se déplace de la moitié de la largeur totale du bloc doublé */
        transform: translateX(-18%);
    }
}


/* Masque les réponses par défaut */
.schema-faq-answer {
  display: none;
  margin-top: 8px;
}

/* Style visuel : curseur pointer sur la question */
.schema-faq-question {
  cursor: pointer;
  display: block;
}

/* Indicateur visuel ouvert/fermé (optionnel) */
.schema-faq-question::after {
  content: " ▾";
  font-size: 0.8em;
  opacity: 0.6;
}
.schema-faq-question.faq-open::after {
  content: " ▴";
}

.schema-faq-answer {
  display: none;
  margin-top: 8px;
}
.schema-faq-question {
  cursor: pointer;
  display: block;
  
}
div.schema-faq-section{
	margin-bottom: 30px;
}
.schema-faq-question::after {
  content: " ▾";
  font-size: 0.85em;
  opacity: 0.5;
}
.schema-faq-question.faq-open::after {
  content: " ▴";
}