/* Pita the Original : feuille unique, écrite à la main.
   Valeurs reprises des CSS générées par Elementor (kit 7, pages 523/744, en-tête 155, pied 162, gabarit 195)
   et vérifiées par mesure sur le site WordPress. Points de rupture : mobile ≤ 767, tablette 768-1024, bureau ≥ 1025. */

/* ---------- Polices auto-hébergées (fichiers d'Elementor, chemins d'origine) ---------- */
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(/wp-content/uploads/elementor/google-fonts/fonts/outfit-qgyvz_mvcbenp4njuktqq4e.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(/wp-content/uploads/elementor/google-fonts/fonts/outfit-qgyvz_mvcbenp4njtetq.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Work Sans'; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(/wp-content/uploads/elementor/google-fonts/fonts/worksans-qgysz_wnahgadqq43rh_c6dpp_k.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Work Sans'; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(/wp-content/uploads/elementor/google-fonts/fonts/worksans-qgysz_wnahgadqq43rh_cqdpp_k.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Work Sans'; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(/wp-content/uploads/elementor/google-fonts/fonts/worksans-qgysz_wnahgadqq43rh_fkdp.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- Base (reprise de la remise à zéro du thème Hello Elementor) ---------- */
:root {
  --bleu: #243D94;        /* couleur principale du kit */
  --texte: #000C36;       /* couleur de texte du kit */
  --survol-pied: #D5B1AB; /* survol des listes du pied de page */
  --outfit: 'Outfit', Sans-serif;
  --work: 'Work Sans', Sans-serif;
  --systeme: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
}
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
*, ::before, ::after { box-sizing: border-box; }
body { margin: 0; background: #fff; color: #333; font-family: var(--systeme); font-size: 1rem; font-weight: 400; line-height: 1.5;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img { border-style: none; height: auto; max-width: 100%; }
a { background-color: transparent; color: #c36; text-decoration: none; }
p { margin-block: 0 .9rem; }
h1, h2, h3, h4, h5, h6 { color: inherit; font-family: inherit; font-weight: 500; line-height: 1.2; margin-block: .5rem 1rem; }
button, input, textarea { font-family: inherit; font-size: 1rem; line-height: 1.5; margin: 0; }
iframe, video { border: none; display: block; width: 100%; max-width: 100%; margin: 0; }
[hidden] { display: none !important; }
.lecteur { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; white-space: nowrap; }
.aller-au-contenu { position: absolute; left: -10000em; top: 0; z-index: 100000; }
.aller-au-contenu:focus { left: 6px; top: 7px; padding: 15px 23px 14px; background: #f1f1f1; color: #21759b; font-size: 14px; font-weight: 600; line-height: normal; box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6); }

/* Titres « Elementor » : interligne 1, aucune marge */
.titre { margin: 0; padding: 0; line-height: 1; }

/* ---------- Boutons (kit : bleu, bordure 1 px, rayon arrondi) ---------- */
.bouton { display: inline-block; padding: 12px 24px; border: 1px solid var(--bleu); border-radius: 100px; background: var(--bleu); color: #fff;
  font-family: var(--outfit); font-size: 15px; font-weight: 700; line-height: 1; text-transform: uppercase; text-align: center; transition: all .3s; }
.bouton:hover, .bouton:focus { background-color: #FFFFFF00; color: var(--bleu); border-color: var(--bleu); }
.bouton--contour { background-color: #FFFFFF00; color: var(--bleu); }
.bouton--epais { border-width: 2px; }
.bouton--blanc { background: #fff; color: var(--bleu); border: 2px solid #fff; }
.bouton--blanc:hover, .bouton--blanc:focus { background-color: #00000000; color: #fff; border-color: #fff; }

/* ---------- En-tête ---------- */
.entete { position: relative; z-index: 9999; }
.entete-bureau, .entete-mobile { position: relative; width: 100%; max-width: 100%; z-index: 9999; padding: 10px;
  transition: all .4s ease-in-out, height .4s ease-in-out, background-color .4s ease-in-out, margin 0s; }
@media (prefers-reduced-motion: no-preference) {
  .entete-bureau, .entete-mobile { animation: fadeInDown 1.25s; }
}
@keyframes fadeInDown { from { opacity: 0; transform: translate3d(0, -100%, 0); } to { opacity: 1; transform: none; } }
.entete-bureau__in, .entete-mobile__in { display: flex; align-items: center; gap: 20px; max-width: 1140px; margin-inline: auto; }
/* Au-delà de 60 px de défilement (bureau seulement), l'en-tête devient fixe sur fond blanc, comme avec Sticky Header Effects. */
.entete-bureau.est-fixe { position: fixed !important; top: 0; left: 0; background-color: #FFFFFF; }

.entete-bureau__gauche { flex: 0 1 40%; display: flex; align-items: center; gap: 20px; min-width: 0; }
.entete-bureau__logo { flex: 0 1 20%; text-align: center; min-width: 0; }
.entete-bureau__logo img { display: inline-block; vertical-align: middle; width: 65%; }
.entete-bureau__droite { flex: 0 1 40%; display: flex; flex-direction: column; align-items: flex-end; min-width: 0; }

.bouton-entete { display: inline-block; padding: 8px; border: 1px solid var(--bleu); border-radius: 100px; background-color: #FFFFFF00; color: var(--bleu);
  font-family: var(--outfit); font-size: 16px; font-weight: 500; line-height: 1; text-align: center; transition: all .3s; }
.bouton-entete:hover, .bouton-entete:focus { background-color: var(--bleu); color: #fff; border-color: var(--bleu); }
.bouton-entete__in { display: flex; flex-direction: row; justify-content: center; gap: 5px; }
.bouton-entete svg { display: flex; align-self: center; width: 1em; height: 1em; fill: currentColor; }

/* Menu principal (pilule bleue sur l'élément actif et au survol) */
.menu-principal ul { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.menu-principal li { display: block; position: relative; }
.menu-principal li:not(:first-child) > a { margin-inline-start: 5px; }
.menu-principal li:not(:last-child) > a { margin-inline-end: 5px; }
.menu-principal a { display: flex; align-items: center; position: relative; isolation: isolate; padding: 5px 10px; white-space: nowrap;
  font-family: var(--outfit); font-size: 16px; font-weight: 500; line-height: 20px; color: var(--bleu); transition: .4s; }
.menu-principal a::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 100px; background: var(--bleu); opacity: 0; transition: .3s; }
.menu-principal a:hover, .menu-principal a:focus, .menu-principal a.actif { color: #fff; }
.menu-principal a:hover::before, .menu-principal a:focus::before, .menu-principal a.actif::before { opacity: 1; }

/* Sélecteur de langue en liste déroulante (Connect Polylang for Elementor) */
.langues { --langs: 2; text-align: left; }
.langues__nav { display: inline-block; position: relative; user-select: none; }
.langues__actif { position: relative; }
.langues__actif::after { content: ""; position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; width: 100%; cursor: pointer; }
.langues__actif.est-ouvert::after { width: min(33%, 2.5em); }
.langues a { display: block; text-align: left; white-space: nowrap; padding: 0; background-color: #FFFFFF;
  font-family: var(--outfit); font-size: 16px; font-weight: 500; color: var(--bleu); text-decoration: none; }
.langues a:hover, .langues a:focus { background-color: #D9D9D9; }
.langues__drapeau, .langues__code { display: inline-block; vertical-align: middle; }
.langues__drapeau { width: 20px; height: 15px; line-height: .5em; }
.langues__drapeau img { width: 100%; max-width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 0; }
.langues__drapeau--us img { object-position: left; }
.langues__code { padding-left: 10px; }
.langues__caret { display: inline-block; vertical-align: middle; width: .625em; height: 1em; margin-left: 4px; fill: currentColor;
  transform: rotateX(0deg); transition: transform 0s .2s; }
.langues__actif.est-ouvert .langues__caret { transform: rotateX(180deg); transition-delay: 0s; }
.langues__liste { position: absolute; z-index: 10; top: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start;
  min-width: 100%; max-height: 0; overflow: hidden; margin: 0; padding: 0; list-style: none; line-height: normal; transition: max-height .3s ease-out; }
.langues__actif.est-ouvert + .langues__liste { max-height: calc(100% * var(--langs)); transition: max-height .4s ease-in; }
.langues__liste li { width: 100%; margin: 0; }

/* En-tête mobile et tablette */
.entete-mobile__droite { flex: 0 1 40%; display: flex; flex-direction: row; justify-content: flex-end; align-items: center; gap: 20px; min-width: 0; }
.entete-mobile__gauche { flex: 0 1 60%; display: flex; align-items: center; gap: 20px; min-width: 0; }
.entete-mobile__logo { text-align: center; }
.entete-mobile__logo img { display: inline-block; vertical-align: middle; width: 120px; }
.entete-mobile .bouton-entete { padding: 8px 12px; }
.burger { display: flex; align-items: center; justify-content: center; margin: 0; padding: .25em; border: 0; border-radius: 0; background-color: #FFFFFF00;
  color: var(--bleu); font-size: 26px; line-height: 1; cursor: pointer; } /* 26 px tablette, 27 px mobile */
.burger svg { width: 1em; height: 1em; fill: currentColor; }
.burger .burger__fermer, .burger[aria-expanded="true"] .burger__ouvrir { display: none; }
.burger[aria-expanded="true"] .burger__fermer { display: block; }
.menu-deroulant { position: absolute; left: 0; right: 0; top: 100%; z-index: 9997; background-color: #fff; font-size: 13px;
  max-height: 0; overflow: hidden; transform: scaleY(0); transform-origin: top; transition: max-height .3s, transform .3s; }
.menu-deroulant.est-ouvert { max-height: 100vh; overflow-y: auto; transform: scaleY(1); }
.menu-deroulant ul { list-style: none; margin: 0; padding: 0; }
.menu-deroulant a { display: flex; padding: 10px 20px; font-family: var(--outfit); font-size: 16px; font-weight: 500; line-height: 20px; color: #33373d;
  border-inline-start: 8px solid transparent; border-inline-start-width: 0; }
.menu-deroulant a:hover, .menu-deroulant a:focus, .menu-deroulant a.actif { background-color: #3f444b; color: #fff; }

@media (min-width: 1025px) { .entete-mobile { display: none; } }
@media (max-width: 1024px) {
  .entete-bureau { display: none; }
  .entete-mobile__in { max-width: 1024px; }
  .entete-mobile__gauche, .entete-mobile__droite { flex-basis: 50%; }
}
@media (max-width: 767px) {
  .entete-mobile__in { gap: 2%; flex-wrap: nowrap; }
  .entete-mobile__gauche { flex-basis: 60%; }
  .entete-mobile__droite { flex-basis: 40%; }
  .entete-mobile__logo img { width: 100px; }
  .burger { font-size: 27px; }
  .entete-mobile .bouton-entete { display: none; }
}

/* ---------- Accueil : en-tête de page ---------- */
.hero { display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 100px 0; }
.hero__titre { font-family: var(--outfit); font-size: 72px; font-weight: 800; color: var(--bleu); text-align: center; }
.hero__sous-titre { width: 75%; max-width: 75%; font-family: var(--outfit); font-size: 31px; font-weight: 400; line-height: 1em; color: var(--bleu); text-align: center; }
.hero__image { align-self: center; margin: -60px 0; }
.hero__image img { display: block; margin-inline: auto; }
.hero__boutons { display: flex; flex-direction: row; justify-content: center; align-items: center; gap: 20px; width: 100%; padding: 10px; }

/* ---------- Vitrine ---------- */
.vitrine { padding: 10px; }
.vitrine img { display: block; width: 100%; height: 500px; object-fit: cover; object-position: center center; border-radius: 2px; }

/* ---------- Ta pita ---------- */
.ta-pita { display: flex; flex-direction: column; gap: 20px; padding: 10px; }
.ta-pita__titres { display: flex; flex-direction: row; gap: 0; padding: 10px; }
.ta-pita__titre-boite { flex: 0 0 70.181%; }
.ta-pita__tag-boite { flex: 0 1 50%; min-width: 0; }
.ta-pita__titre { font-family: var(--outfit); font-size: 48px; font-weight: 800; color: var(--bleu); text-align: start; }
.ta-pita__tag { font-family: var(--outfit); font-size: 20px; font-weight: 400; line-height: 1.2em; color: var(--bleu); text-align: end; }
.ta-pita__trait { padding-block: 10px; }
.ta-pita__trait span { display: block; border-top: 2px solid var(--bleu); }
.ta-pita__images { display: flex; flex-direction: row; gap: 20px; padding: 10px; }
.ta-pita__images img { display: block; flex: 1 1 800px; min-width: 0; width: 800px; }

/* ---------- Vidéos ---------- */
.videos { display: flex; flex-direction: column; gap: 20px; margin-top: 20px; }
.videos video { aspect-ratio: var(--ratio); height: auto; background-color: #000; object-fit: cover; }
.videos__paysage { --ratio: 1.77777; }
.videos__portrait { --ratio: 0.5625; }

/* ---------- Galerie (Modula, galerie « créative ») ---------- */
.galerie { padding: 80px; }
.galerie__in { display: flex; flex-direction: column; align-items: center; gap: 20px; max-width: 1140px; margin-inline: auto; }
.galerie__titre { font-family: var(--outfit); font-size: 48px; font-weight: 800; color: var(--bleu); text-transform: uppercase; text-align: start; }
.galerie__cadre { width: 100%; padding: 10px; }
.galerie__tuiles { position: relative; z-index: 1; height: 800px; }
.tuile { position: absolute; overflow: hidden; }
.tuile img { position: absolute; max-width: 999em; width: 100%; height: 100%; object-fit: cover; object-position: center;
  font-size: 12px; opacity: 0; transition: opacity .2s linear; }
.tuile.est-chargee img { opacity: 1; }
.tuile:hover img { opacity: .8; }
.tuile__lien { position: absolute; inset: 0; z-index: 2; cursor: zoom-in; }
/* Sans JavaScript : simple grille (la mise en page aléatoire de Modula est calculée en JS) */
.galerie__tuiles:not(.est-calculee) { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); grid-auto-rows: 180px; gap: 10px; height: auto; }
.galerie__tuiles:not(.est-calculee) .tuile { position: relative; }
.galerie__tuiles:not(.est-calculee) .tuile img { opacity: 1; }

/* Visionneuse (comportement de la Fancybox de Modula : compteur, fermer, flèches, pas de boucle) */
.visionneuse { position: fixed; inset: 0; z-index: 99999999; color: #f8f8f8; font-family: var(--systeme); outline: none;
  opacity: 0; transition: opacity .25s ease; touch-action: pan-y; }
.visionneuse.est-ouverte { opacity: 1; }
.visionneuse__fond { position: fixed; inset: 0; z-index: -1; background-color: rgba(24, 24, 27, .98); }
.visionneuse__barre { position: absolute; top: 0; left: 0; right: 0; z-index: 20; display: flex; justify-content: space-between; align-items: flex-start; height: 46px;
  color: #dbdbdb; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; pointer-events: none; }
.visionneuse__compteur { padding: 0 10px; font-size: 17px; line-height: 46px; font-variant-numeric: tabular-nums; -webkit-font-smoothing: subpixel-antialiased; }
.visionneuse__compteur span { padding: 0 5px; }
.visionneuse__compteur span:first-child { padding-left: 0; } .visionneuse__compteur span:last-child { padding-right: 0; }
.visionneuse button { display: flex; align-items: center; justify-content: center; margin: 0; padding: 0; border: 0; color: #fff; cursor: pointer; pointer-events: all; box-shadow: none; transition: opacity .15s ease; }
.visionneuse button svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.visionneuse__fermer { width: 46px; height: 46px; border-radius: 0; background: rgba(70, 70, 73, .65); }
.visionneuse__fermer:hover { background: rgba(70, 70, 73, .9); }
.visionneuse .visionneuse__fermer svg { width: 24px; height: 24px; stroke-width: 1.5; filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .15)); }
.visionneuse__fleche { position: absolute; z-index: 1; top: calc(50% - 25px); width: 50px; height: 50px; border-radius: 50%; background: rgba(24, 24, 27, .3); }
.visionneuse__fleche:hover { background: rgba(24, 24, 27, .5); }
.visionneuse .visionneuse__fleche svg { width: 26px; height: 26px; stroke-width: 2.5; filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .5)); }
.visionneuse__fleche--prec { left: 128px; }
.visionneuse__fleche--suiv { right: 128px; }
.visionneuse__fleche[disabled] { opacity: 0; pointer-events: none; }
.visionneuse__scene { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 4px; overflow: hidden; }
.visionneuse__scene img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; user-select: none; -webkit-user-drag: none;
  cursor: zoom-in; transition: transform .3s ease; }
.visionneuse__scene img.est-zoomee { cursor: zoom-out; }
html.visionneuse-ouverte, html.visionneuse-ouverte body { overflow: hidden; }

/* ---------- Notre menu ---------- */
.carte { padding: 80px; background-color: var(--bleu); }
.carte__in { display: flex; flex-direction: column; align-items: center; gap: 20px; max-width: 1140px; margin-inline: auto; }
.carte__titre { font-family: var(--outfit); font-size: 48px; font-weight: 800; color: #FFFFFF; text-transform: uppercase; text-align: start; }
.carte__cadre { width: 100%; padding: 10px; border-radius: 2px; background-color: #FFFFFF; }
.carte__pages { display: flex; flex-direction: row; gap: 0; padding: 10px; }
.carte__pages img { display: block; flex: 1 1 var(--l); min-width: 0; width: var(--l); }

/* ---------- Suivez-nous ---------- */
.suivre { padding: 50px; }
.suivre__boite { max-width: 1140px; margin-inline: auto; display: flex; flex-direction: column; align-items: center; }
.suivre__in { width: 80%; display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 10px; }
.suivre__titre { font-family: var(--outfit); font-size: 48px; font-weight: 800; color: var(--bleu); text-transform: uppercase; text-align: start; }

/* ---------- Newsletter ---------- */
.newsletter { padding: 40px; background-color: var(--bleu); }
.newsletter__in { display: flex; flex-direction: row; align-items: center; gap: 20px; max-width: 1140px; margin-inline: auto; }
.newsletter__textes { flex: 0 1 60%; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 10px; }
.newsletter__titre { font-family: var(--outfit); font-size: 28px; font-weight: 900; color: #FFFFFF; text-transform: uppercase; }
.newsletter__sous-titre { font-family: var(--work); font-size: 16px; font-weight: 400; color: #FFFFFF; }
.newsletter__sous-titre--maj { text-transform: uppercase; }
.newsletter__formulaire { flex: 0 1 40%; min-width: 0; padding: 10px; }

/* Formulaires (styles Elementor Pro + thème) */
.champ { padding-inline: 5px; }
.champ input, .champ textarea { display: block; width: 100%; max-width: 100%; min-height: 40px; font-family: var(--work); font-size: 15px; font-weight: 400; line-height: 1.4;
  border: 1px solid #666; border-radius: 3px; background-color: transparent; transition: all .3s; vertical-align: middle; }
.champ input { padding: .5rem 1rem; }
.champ textarea { padding: 5px 14px; overflow: auto; resize: vertical; }
.champ input:focus, .champ textarea:focus { outline: 0; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); }
.champ input::placeholder, .champ textarea::placeholder { color: inherit; font-family: inherit; opacity: .6; }
.bouton-formulaire { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 40px; padding: 0 24px; border: 1px solid var(--bleu); border-radius: 20px;
  background-color: #FFFFFF; color: var(--bleu); font-family: var(--work); font-size: 15px; font-weight: 500; line-height: 1; letter-spacing: -0.8px;
  text-transform: uppercase; text-align: center; white-space: nowrap; cursor: pointer; transition: all .3s; -webkit-appearance: button; }
.bouton-formulaire:hover, .bouton-formulaire:focus { background-color: #FFFFFF00; color: #ffffff; }
.bouton-formulaire:focus:not(:focus-visible) { outline: none; }
.bouton-formulaire[disabled] { cursor: default; }
.formulaire { transition: opacity .1s; }
.formulaire.est-en-cours { opacity: .45; transition: opacity .5s; }
.bouton-formulaire__attente svg { display: inline-block; vertical-align: -2px; animation: tourner 2s linear infinite; }
@keyframes tourner { to { transform: rotate(360deg); } }
.piege { position: absolute !important; left: -10000em; width: 1px; height: 1px; overflow: hidden; }
.message { margin: 10px 0; font-family: var(--work); font-size: 1em; line-height: 1; color: #333; }
.message--succes::before { content: ""; display: inline-block; width: 1em; height: 1em; margin-inline-end: 5px; vertical-align: middle;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxMSIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE0IDExIj48cGF0aCBmaWxsPSIjMDA4QTIwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00Ljc1IDguMTUgMS42IDUgLjU1IDYuMDVsNC4yIDQuMiA5LTlMMTIuNy4yeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+") 50% / auto no-repeat; }
.message--erreur { color: #d9534f; }

/* Newsletter en « pilule » ; Turnstile sous le contour, centré (correctif CSS du 02/11/2026 reporté tel quel) */
.pilule { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; position: relative; margin: 0 -5px 80px; padding: 10px;
  border: 1px solid #fff; border-radius: 100px; }
.pilule .champ--email { flex: 1 1 0; min-width: 0; }
.pilule .champ--bouton { flex: 0 0 auto; display: flex; position: static; }
.pilule input { color: #FFFFFF; background-color: #FFFFFF00; border-color: #FFFFFF00; border-width: 0; }
.pilule input:focus { box-shadow: none !important; }
.pilule .cf-turnstile { position: absolute; top: calc(100% + 15px); left: 0; right: 0; display: flex; justify-content: center; width: auto; margin: 0; line-height: 0; }
.pilule .cf-turnstile > div { flex-shrink: 0; }

/* ---------- Plan ---------- */
.plan { overflow: hidden; line-height: 0; }
.plan iframe { height: 400px; }

/* ---------- Pied de page ---------- */
.pied { background-color: var(--bleu); }
.pied__haut { display: flex; flex-direction: row; gap: 0; padding-top: 40px; }
.pied__col { display: flex; flex-direction: column; gap: 20px; padding: 10px; min-width: 0; }
.pied__col--1 { flex: 0 1 25%; } .pied__col--2 { flex: 0 1 20%; } .pied__col--3 { flex: 0 1 30%; } .pied__col--4 { flex: 0 1 25%; }
.pied__logo { display: block; width: 25%; }
.pied__titre { font-family: var(--outfit); font-size: 24px; font-weight: 800; color: #FFFFFF; text-align: start; }
.liste { list-style: none; margin: 0; padding: 0; }
.liste li { display: flex; align-items: flex-start; position: relative; margin: 0; padding: 0; font-size: inherit; }
.liste:not(.liste--ligne) li:not(:last-child) { padding-block-end: 2.5px; }
.liste:not(.liste--ligne) li:not(:first-child) { margin-block-start: 2.5px; }
.liste a { display: flex; align-items: inherit; font-size: inherit; }
.liste__texte { font-family: var(--work); font-size: 15px; font-weight: 400; text-transform: uppercase; letter-spacing: -0.8px; color: #FFFFFF; transition: color .3s; }
.liste li:hover .liste__texte { color: var(--survol-pied); }
.liste--icones li, .liste--icones a { align-items: center; }
.liste__icone { display: flex; position: relative; }
.liste__icone + .liste__texte { padding-inline-start: 5px; }
.liste__icone svg { width: 18px; height: 18px; margin: 0 4.5px 0 0; fill: #FFFFFF; transition: fill .3s; }
.liste--ligne { display: flex; flex-wrap: wrap; margin-inline: -2.5px; }
.liste--ligne li { margin-inline: 2.5px; }
.pied__bas { display: flex; flex-direction: row; gap: 0; padding-top: 40px; }
.pied__bas > div { flex: 0 1 100%; min-width: 0; display: flex; flex-direction: column; padding: 10px; overflow: hidden; }
.pied__bas .pied__legal { align-items: flex-end; }

/* ---------- Bandeau d'infos (masqué partout dans WordPress, gardé masqué) ---------- */
.bandeau-infos { display: none; }

/* ---------- Contact ---------- */
.contact { display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 100px 0 0; background-color: var(--bleu); }
.contact__titre { font-family: var(--outfit); font-size: 48px; font-weight: 800; color: #FFFFFF; text-transform: uppercase; text-align: start; }
.contact__carte { width: 600px; max-width: 100%; padding: 30px; border-radius: 20px; background-color: #FFFFFF; }
.contact__champs { display: flex; flex-wrap: wrap; margin: 0 -5px -10px; }
.contact__champs .champ { flex: 0 0 100%; width: 100%; margin-bottom: 10px; }
.contact__champs input, .contact__champs textarea { color: var(--texte); background-color: #FFFFFF00; border: 1px solid var(--bleu); border-radius: 20px; }
.contact .champ--envoi { display: flex; flex-wrap: wrap; align-items: flex-end; }
.contact .champ--envoi .cf-turnstile { display: block; width: 100%; margin: 10px 0 15px; }
.contact .bouton-formulaire { flex-basis: 100%; width: 100%; }
.contact__plan { width: 100%; }
.contact__plan .plan iframe { height: 400px; }

/* ---------- 404 (thème Hello Elementor) ---------- */
.page-404 { margin-inline: auto; width: 100%; padding-inline: 10px; }
.page-404 h1 { font-size: 2.5rem; }
.page-404 .contenu-404 p { margin-block: 0 .9rem; }
@media (min-width: 576px) { .page-404 { max-width: 500px; padding-inline: 0; } }
@media (min-width: 768px) { .page-404 { max-width: 600px; } }
@media (min-width: 992px) { .page-404 { max-width: 800px; } }
@media (min-width: 1200px) { .page-404 { max-width: 1140px; } }

/* ---------- Bouton retour en haut (WPFront Scroll Top) ---------- */
.haut { position: fixed; right: 20px; bottom: 20px; z-index: 9999; display: none; align-items: center; justify-content: center; margin: 0; padding: 0;
  border: none; border-radius: 20px; outline: none; background-color: rgba(0, 0, 0, 0); box-shadow: none; cursor: pointer; opacity: .8; }
.haut.est-visible { display: flex; }
.haut:hover { opacity: 1; }
.haut svg { display: block; width: 48px; height: 48px; fill: #253D94; }

/* ---------- Tablette (≤ 1024) ---------- */
@media (max-width: 1024px) {
  .hero { padding: 80px 0 50px; }
  .hero__titre { font-size: 52px; }
  .hero__sous-titre { width: 90%; max-width: 90%; font-size: 24px; }
  .hero__image { margin: -40px 0; }
  .ta-pita__titre { font-size: 42px; }
  .ta-pita__tag { font-size: 16px; }
  .galerie__in, .carte__in, .suivre__boite, .newsletter__in { max-width: 1024px; }
  .suivre__in { width: 100%; }
  .newsletter { padding: 20px; }
  .newsletter__textes { flex-basis: 100%; }
  .newsletter__formulaire { flex-basis: 70%; }
  .newsletter__titre { font-size: 22px; }
  .newsletter__sous-titre { font-size: 14px; }
  .pied__haut { flex-wrap: wrap; }
  .pied__col--1, .pied__col--2, .pied__col--3, .pied__col--4 { flex-basis: 50%; }
  .contact__carte { width: 75%; }
}

/* ---------- Mobile (≤ 767) ---------- */
@media (max-width: 767px) {
  .hero { padding: 40px 0; }
  .hero__titre { font-size: 32px; }
  .hero__sous-titre { font-size: 14px; }
  .hero__image { margin: -20px 0; }
  .hero__boutons { flex-direction: column; gap: 5px; }
  .hero__boutons .bouton--contour { font-size: 12px; }
  .vitrine img { height: 200px; }
  .ta-pita__titres { flex-wrap: wrap; gap: 10px; }
  .ta-pita__titre-boite, .ta-pita__tag-boite { flex-basis: 100%; }
  .ta-pita__titre { font-size: 24px; }
  .ta-pita__tag { font-size: 14px; }
  .ta-pita__images { flex-wrap: wrap; }
  .ta-pita__images img { flex-basis: 100%; }
  .videos__paysage { display: none; }
  .galerie { padding: 30px; }
  .galerie__titre { font-size: 32px; text-align: center; }
  .carte { padding: 30px; }
  .carte__titre { font-size: 32px; text-align: center; }
  .carte__pages { flex-wrap: wrap; }
  .carte__pages img { flex-basis: 100%; }
  .suivre { padding: 30px; }
  .suivre__titre { font-size: 32px; }
  .newsletter { padding: 30px; }
  .newsletter__in { flex-wrap: wrap; }
  .newsletter__textes, .newsletter__formulaire { flex-basis: 100%; padding: 0; }
  .newsletter__titre, .newsletter__sous-titre { text-align: center; }
  .pied__col--1, .pied__col--2, .pied__col--3, .pied__col--4 { flex-basis: 100%; }
  .pied__bas { flex-wrap: wrap; }
  .pied__bas > div { align-items: center; }
  .pied__bas .pied__legal { align-items: center; }
  .contact__titre { font-size: 32px; text-align: center; }
  .contact__carte { width: 90%; padding: 15px; }
  .contact__plan .plan iframe { height: 200px; }
}
@media (min-width: 768px) { .videos__portrait { display: none; } }
