:root{
  --lagune:#1f7a7e;
  --lagune-foncee:#145558;
  --lagune-claire:#6ec8cc;
  --lagune-douce:#e7f6f6;
  --fuchsia:#e00080;
  --fuchsia-fonce:#b00066;
  --champagne:#e8c98a;
  --papier:#f4fbfa;
  --carte:#ffffff;
  --encre:#1a2426;
  --mute:#4a5c5e;
  --ligne:#c5e0e0;
  --titre:"Josefin Sans",system-ui,"Segoe UI",sans-serif;
  --texte:"Source Serif 4",Georgia,"Times New Roman",serif;
}
html{scroll-behavior:smooth}
body{
  background-color:var(--papier);
  background-image:
    radial-gradient(circle at 8% 6%, rgba(224,0,128,.07) 0 7px, transparent 8px),
    radial-gradient(circle at 92% 14%, rgba(110,200,204,.16) 0 9px, transparent 10px),
    radial-gradient(circle at 18% 88%, rgba(232,201,138,.16) 0 6px, transparent 7px),
    radial-gradient(circle at 78% 92%, rgba(224,0,128,.06) 0 8px, transparent 9px);
  color:var(--encre);
  font-family:var(--texte);
  font-size:1.05rem;
  line-height:1.65;
  margin:0;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--titre);
  font-weight:700;
  line-height:1.2;
  color:var(--encre);
  letter-spacing:.01em;
}
a{color:var(--lagune-foncee)}
a:hover{color:var(--fuchsia-fonce)}
.saut-contenu{
  position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;
}
.saut-contenu:focus{
  left:16px;top:16px;width:auto;height:auto;padding:8px 14px;background:#fff;z-index:10000;color:var(--encre);
}

/* En-tête invitation : logo centré, menu dessous, guirlande entre les deux */
.site-header,.header-wrap,.inside-header{
  position:relative!important;
  top:auto!important;left:auto!important;right:auto!important;
  background:var(--carte)!important;
  width:100%;
  height:auto!important;
  min-height:0!important;
  inset:auto!important;
}
#site-navigation.has-sticky-branding{height:auto!important}
.site-header{
  border-top:3px solid var(--fuchsia);
  border-bottom:0;
  z-index:40;
  box-shadow:none;
}
.inside-header{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  max-width:1180px;
  margin:0 auto;
  padding:12px 24px 8px!important;
  text-align:center!important;
}
.site-branding,.site-logo,.header-widget{
  position:relative!important;
  float:none!important;
  margin:0 auto!important;
  text-align:center!important;
}
.site-logo img,.custom-logo,.site-header .custom-logo,.header-image.is-logo-image{
  max-height:64px!important;
  width:auto!important;
  max-width:240px!important;
  height:auto!important;
  margin:0 auto;
}
#site-navigation.main-navigation,
#site-navigation{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  height:auto!important;
  margin:0!important;
  background:var(--carte)!important;
  z-index:41;
  border:0;
  border-bottom:1px solid var(--ligne);
  box-shadow:none;
  float:none!important;
  width:100%!important;
}
#site-navigation .inside-navigation{
  display:flex!important;
  align-items:center;
  justify-content:center;
  background:transparent!important;
  max-width:1180px;
  margin:0 auto;
  height:auto!important;
  padding:6px 16px;
  box-sizing:border-box;
  flex-wrap:wrap;
}
.main-navigation .menu-toggle{
  margin-left:auto;background:var(--lagune);color:#fff;border:0;padding:8px 14px;
  font-family:var(--titre);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;
}
.main-navigation .main-nav>ul{
  align-items:center;justify-content:center;gap:0;margin:0;
}
.main-navigation .main-nav>ul>li{float:none}
.main-navigation .main-nav>ul>li>a{
  font-family:var(--titre)!important;
  font-weight:600!important;
  font-size:.76rem!important;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--encre)!important;
  padding:10px 10px!important;
  background:transparent!important;
  line-height:1.2;
}
.main-navigation .main-nav>ul>li>a:hover,
.main-navigation .main-nav>ul>li.current-menu-item>a{
  color:var(--fuchsia)!important;
}
.main-navigation .main-nav>ul>li a[href*="/contact/"]{
  background:var(--fuchsia)!important;
  color:#fff!important;
  border-radius:999px;
  padding:8px 16px!important;
  margin-left:6px;
}
.main-navigation .main-nav>ul>li a[href*="/contact/"]:hover{
  background:var(--fuchsia-fonce)!important;color:#fff!important;
}
.main-navigation .menu-bar-items,.menu-bar-item.search-item{align-self:center}
.main-navigation .search-item a{color:var(--lagune)}
@media (min-width:769px){
  .menu-toggle{display:none!important}
  #site-navigation .main-nav,
  #site-navigation .main-nav>ul{display:flex!important;flex-wrap:wrap;justify-content:center}
}
@media (max-width:768px){
  .menu-toggle{display:inline-flex!important;align-items:center;gap:6px}
  #site-navigation .inside-navigation{justify-content:flex-end;padding:8px 16px}
  #site-navigation .main-nav{display:none!important}
  #site-navigation.toggled{
    background:var(--carte)!important;
    box-shadow:0 12px 28px rgba(26,36,38,.1);
  }
  #site-navigation.toggled .main-nav,
  #site-navigation.toggled .main-nav>ul{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    align-items:stretch!important;
  }
  #site-navigation.toggled .main-nav>ul>li>a{padding:12px 8px!important;font-size:.85rem!important}
}

/* Guirlande */
.guirlande{
  display:flex;justify-content:center;align-items:flex-start;
  height:26px;overflow:hidden;pointer-events:none;
  background:transparent;margin:0;padding:0 8px;
}
.guirlande span{
  width:0;height:0;display:block;
  border-left:13px solid transparent;
  border-right:13px solid transparent;
  border-top:22px solid var(--lagune-claire);
  margin:0 3px;
}
.guirlande span:nth-child(3n){border-top-color:var(--fuchsia)}
.guirlande span:nth-child(3n+1){border-top-color:var(--lagune-claire)}
.guirlande span:nth-child(3n+2){border-top-color:var(--champagne)}

/* Accueil : carton d’invitation */
.accueil-fetes{max-width:1180px;margin:0 auto;padding:0 0 48px}
.scene-accueil{
  padding:36px 20px 12px;
  display:flex;justify-content:center;
}
.carton-invitation{
  position:relative;
  max-width:740px;
  width:100%;
  background:var(--carte);
  padding:56px 52px 48px;
  text-align:center;
  box-shadow:0 22px 48px rgba(31,122,126,.12);
  border:1px solid var(--ligne);
}
.carton-invitation::before{
  content:"";position:absolute;inset:12px;border:1px solid var(--lagune-claire);pointer-events:none;
}
.carton-invitation::after{
  content:"";position:absolute;width:18px;height:18px;border:2px solid var(--fuchsia);
  border-left:0;border-bottom:0;top:22px;right:22px;pointer-events:none;
}
.sur-titre,.etiquette{
  font-family:var(--titre);
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--fuchsia);
  margin:0 0 14px;
}
.carton-invitation h1{
  font-size:clamp(2rem,4.6vw,3.05rem);
  font-weight:700;
  margin:0 0 18px;
  color:var(--lagune-foncee);
  max-width:16em;
  margin-left:auto;margin-right:auto;
}
.chapo,.intro-bloc{
  font-size:1.12rem;
  color:var(--mute);
  max-width:38em;
  margin:0 auto 24px;
}
.actions-carton{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0}
.bouton-principal,.bouton-secondaire,button.bouton-principal{
  font-family:var(--titre);
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.78rem;
  text-decoration:none!important;
  padding:12px 22px;
  border-radius:999px;
  display:inline-block;
  border:0;
  cursor:pointer;
  line-height:1.2;
}
.bouton-principal,button.bouton-principal{
  background:var(--fuchsia);color:#fff!important;
}
.bouton-principal:hover,button.bouton-principal:hover{background:var(--fuchsia-fonce);color:#fff!important}
.bouton-secondaire{
  background:transparent;color:var(--lagune-foncee)!important;
  box-shadow:inset 0 0 0 1.5px var(--lagune);
}
.bouton-secondaire:hover{background:var(--lagune-douce)}

/* Polaroids */
.bloc-polaroids,.bloc-rubriques,.bloc-recents{padding:28px 24px 12px}
.bloc-polaroids h2,.bloc-rubriques h2,.bloc-recents h2,.encart-fete h2,.tirage-idee h2,.bandeau-publier h2{
  font-size:clamp(1.6rem,3vw,2.15rem);margin:0 0 22px;
}
.grille-polaroids{
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
}
.polaroid,.carte-article{
  background:var(--carte);
  padding:10px 10px 22px;
  box-shadow:0 10px 26px rgba(26,36,38,.1);
  border:1px solid rgba(197,224,224,.7);
}
.polaroid-1{transform:rotate(-1.8deg)}
.polaroid-2{transform:rotate(1.5deg)}
.polaroid-3{transform:rotate(-.7deg)}
.polaroid:nth-child(4){transform:rotate(1.1deg)}
.polaroid:hover{transform:rotate(0) translateY(-6px);transition:transform .2s ease}
.carte-visuel{display:block;overflow:hidden;aspect-ratio:3/2;background:var(--lagune-douce)}
.carte-visuel img{width:100%;height:100%;object-fit:cover;display:block}
.carte-corps{padding:12px 8px 0}
.carte-date{font-family:var(--titre);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:0 0 6px}
.carte-corps h3{font-size:1.05rem;margin:0;font-weight:600;line-height:1.3}
.carte-corps h3 a{color:var(--encre);text-decoration:none}
.carte-corps h3 a:hover{color:var(--fuchsia)}
.grille-articles{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:24px;
}
.grille-articles .carte-article{padding:0 0 18px;transform:none;box-shadow:0 6px 20px rgba(26,36,38,.08)}
.grille-articles .carte-corps{padding:14px 16px 0}

/* Encart interactif 1 */
.encart-fete{
  margin:36px 24px;
  background:var(--lagune-foncee);
  color:#f4fbfa;
  padding:44px 40px 40px;
  position:relative;
}
.encart-fete .etiquette{color:var(--champagne)}
.encart-fete h2,.encart-fete a{color:#fff}
.encart-fete .intro-bloc{color:#d5ecec;margin-bottom:20px}
.encart-fete::before{
  content:"";position:absolute;left:16px;right:16px;top:16px;bottom:16px;
  border:1px dashed rgba(232,201,138,.45);pointer-events:none;
}
.puces-fete{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;position:relative}
.puce-fete{
  font-family:var(--titre);font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  font-size:.75rem;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);
  border-radius:999px;padding:9px 16px;cursor:pointer;
}
.puce-fete.actif,.puce-fete:hover{background:var(--fuchsia);border-color:var(--fuchsia)}
.liste-fete{list-style:none;margin:0;padding:0;position:relative}
.liste-fete li{border-top:1px solid rgba(255,255,255,.15);padding:10px 0}
.liste-fete a{color:#fff;text-decoration:none;font-size:1.08rem}
.liste-fete a:hover{color:var(--champagne)}

/* Rubriques */
.grille-rubriques{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.carte-rubrique{
  display:flex;flex-direction:column;background:var(--carte);text-decoration:none;
  border:1px solid var(--ligne);color:var(--encre);overflow:hidden;
  transition:transform .15s ease,box-shadow .15s ease;
}
.carte-rubrique:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(31,122,126,.12);color:var(--encre)}
.carte-rubrique .carte-visuel{aspect-ratio:4/3}
.carte-rubrique h3{font-size:.98rem;margin:0 0 6px;color:var(--lagune-foncee)}
.carte-rubrique p{margin:0;font-size:.92rem;color:var(--mute);line-height:1.45}
.carte-rubrique .carte-corps{padding:12px 14px 16px}

/* Tirage */
.tirage-idee{padding:12px 24px 36px}
.billet-tirage{
  max-width:760px;margin:0 auto;background:var(--carte);
  border:1.5px dashed var(--lagune);padding:40px 36px 32px;text-align:center;
  position:relative;
}
.billet-tirage::before,.billet-tirage::after{
  content:"";position:absolute;width:22px;height:22px;background:var(--papier);
  border-radius:50%;top:50%;transform:translateY(-50%);
}
.billet-tirage::before{left:-12px;box-shadow:inset -1px 0 0 var(--lagune)}
.billet-tirage::after{right:-12px;box-shadow:inset 1px 0 0 var(--lagune)}
.pile-idees{min-height:220px;margin:12px 0 20px}
.idee-tiree{display:grid;grid-template-columns:200px 1fr;gap:20px;text-align:left;align-items:center}
.idee-tiree[hidden]{display:none!important}
.bandeau-publier{
  margin:12px 24px 48px;padding:40px 36px;text-align:center;
  background:var(--lagune-douce);border-top:3px solid var(--lagune);
}
.bandeau-publier p{max-width:40em;margin:0 auto 20px;color:var(--mute)}

/* Pied */
.site-footer,.site-info,.footer-widgets{display:none!important}
.pied-site{
  display:block;background:var(--lagune-foncee);color:#e7f6f6;
  padding:48px 28px 28px;margin-top:0;
}
.pied-site a{color:#fff}
.pied-site a:hover{color:var(--champagne)}
.pied-site-grille{
  max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;
}
.pied-site h2{font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--champagne);margin:0 0 14px;font-weight:600}
.pied-site ul{list-style:none;margin:0;padding:0}
.pied-site li{margin:0 0 8px}
.pied-site-mention{max-width:1180px;margin:32px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);font-size:.9rem;color:#b7d4d4}

/* Pages intérieures */
body.page:not(.home) .entete-page{
  max-width:760px;margin:28px auto 8px;padding:12px 28px 0;text-align:left;
}
body.page:not(.home) .entete-page .entry-title{
  font-family:var(--titre);font-size:clamp(2rem,4vw,2.7rem);margin:0;color:var(--lagune-foncee);
}
/* éviter un second titre du thème Journal, tout en conservant un H1 visible */
body.page:not(.home) .page-hero,
body.page:not(.home) .gb-container.page-hero,
body.page:not(.home) .gb-container-bfd4aed6,
body.page:not(.home) h1.gb-headline-f502a4da,
body.page:not(.home) .entry-header .entry-title,
body.page:not(.home) .inside-article > .entry-header{
  display:none!important;min-height:0!important;padding:0!important;margin:0!important;height:auto!important;
}
body.page:not(.home) .entry-content,
body.single .entry-content{max-width:760px;margin:0 auto;padding:8px 28px 48px;font-size:1.08rem}
body.single h1,
body.single .entry-title,
body.single h1.gb-headline,
body.single h1.gb-text{
  font-family:var(--titre)!important;
  font-size:clamp(2rem,4.2vw,2.85rem)!important;
  font-weight:700!important;
  color:var(--lagune-foncee)!important;
  line-height:1.2;max-width:20em;letter-spacing:.01em;
}
body.single .page-hero,body.archive .page-hero,body.blog .page-hero{
  background:var(--lagune-douce)!important;
  padding:36px 28px 24px!important;
  text-align:center;
}
body.archive h1,body.blog h1{font-family:var(--titre);color:var(--lagune-foncee)}

/* Auteur public masqué déjà en PHP ; styles barre latérale */
.widget-title,.sidebar .widget-title{
  font-family:var(--titre);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lagune);
}
/* 404 : cacher le bloc Journal, garder le nôtre */
body.error404 .site-main .inside-article,
body.error404 .separate-containers .site-main > article,
body.error404 .content-area .inside-article{display:none!important}
body.error404 .page-introuvable,body.error404 .pied-site{display:block!important}
.page-introuvable{max-width:680px;margin:48px auto 64px;padding:0 28px}
.page-introuvable h1{font-size:2.2rem;margin:0 0 16px;color:var(--lagune-foncee)}
.page-introuvable ul{padding-left:1.2em}
.recherche-vide{max-width:680px;margin:32px auto;padding:0 28px}

/* Formulaire contact */
.wpcf7 input,.wpcf7 textarea,.wpcf7 select{
  font-family:var(--texte);border:1px solid var(--ligne);padding:10px 12px;width:100%;background:#fff;
}
.wpcf7 input[type=submit]{
  font-family:var(--titre);background:var(--fuchsia);color:#fff;border:0;padding:12px 22px;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer;width:auto;
}

/* Divers Journal à neutraliser */
.journal-drop-letter::first-letter{font-size:inherit!important;float:none!important;line-height:inherit!important}
body.home .gb-container[class*="9316ff8b"]{display:none}

@media (max-width:1100px){
  .grille-polaroids{grid-template-columns:repeat(2,1fr)}
  .grille-rubriques{grid-template-columns:repeat(3,1fr)}
  .grille-articles{grid-template-columns:1fr 1fr}
}
@media (max-width:880px){
  .inside-header{padding:8px 16px!important}
  .main-navigation .main-nav>ul>li>a{padding:10px 8px!important;font-size:.72rem!important}
  .carton-invitation{padding:40px 24px 32px}
  .encart-fete{padding:32px 22px;margin:24px 16px}
  .pied-site-grille{grid-template-columns:1fr;gap:24px}
  .idee-tiree{grid-template-columns:1fr}
  .grille-rubriques{grid-template-columns:1fr 1fr}
}

/* Libellé anglais du bandeau Journal + titre d’archive */
.gb-headline-851c7a7b{display:none!important}
body.archive h1.gb-headline-f502a4da,
body.blog h1.gb-headline-f502a4da,
body.archive h1.gb-headline-text{
  font-family:var(--titre)!important;
  font-size:clamp(2rem,4vw,2.8rem)!important;
  font-weight:700!important;
  color:var(--lagune-foncee)!important;
  display:block!important;
  text-align:center;
  margin:0 auto 8px;
}

@media (max-width:700px){
  .site-logo img,.custom-logo{max-height:52px!important;max-width:200px}
  .grille-polaroids,.grille-articles,.grille-rubriques{grid-template-columns:1fr}
  .polaroid-1,.polaroid-2,.polaroid-3,.polaroid:nth-child(4){transform:none}
  .guirlande span:nth-child(n+11){display:none}
  .bandeau-publier,.tirage-idee,.bloc-polaroids,.bloc-rubriques,.bloc-recents{padding-left:16px;padding-right:16px}
  .billet-tirage{padding:28px 18px}
}