/* ==========================================================================
   IJN+ - Composants design system (Refonte Up)
   Charge sur le front et dans l'editeur via le sandbox Novamira.
   ========================================================================== */

/* --- HEADER : barre en verre depoli ---
   Sticky via la methode officielle Ollie : on regle "Position : Fixe (sticky)"
   sur le groupe Header dans l'editeur (classe is-position-sticky), puis on rend
   collant le conteneur du template part avec :has(). Cf. olliewp.com (sticky header fix). */
/* Colonne de contenu commune (header, hero, cartes alignes au meme bord) */
:root{ --ijn-shell:1480px; --ijn-edge:40px; }
@media (max-width:781px){ :root{ --ijn-edge:18px; } }

/* Pages internes : header sticky (methode officielle Ollie) */
header:has(> .ijn-header.is-position-sticky){
  position:sticky;
  top:calc(0px + var(--wp-admin--admin-bar--height, 0px));
  z-index:100;
}
@media (max-width:600px){
  header:has(> .ijn-header.is-position-sticky){ top:0; }
}
/* Accueil : header en surimpression transparente sur le hero */
.home .wp-site-blocks{ position:relative; }
.home header:has(> .ijn-header.is-position-sticky){
  position:absolute; top:0; left:0; right:0; width:100%;
}
.ijn-header{
  padding-top:16px;
  padding-bottom:16px;
  background:transparent;
  border:0 !important;
}
/* Barre verre depoli pleine largeur (facon Apex), alignee sur la colonne */
.ijn-header .ijn-nav{
  width:100%;
  max-width:var(--ijn-shell) !important;
  margin-inline:auto;
  gap:22px;
  align-items:center;
  background:rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(20px) saturate(135%);
  backdrop-filter:blur(20px) saturate(135%);
  border:1px solid rgba(255,255,255,.25);
  border-radius:18px;
  padding:10px var(--ijn-edge);
  box-shadow:0 10px 34px -20px rgba(11,60,143,.22);
  transition:background .45s ease, box-shadow .45s ease, border-color .45s ease;
}

/* Logo texte IJN+ (en attendant le logo vectoriel) */
.ijn-logo{
  font-family:Poppins, sans-serif;
  font-weight:800;
  font-size:22px;
  line-height:1;
  letter-spacing:-.02em;
  color:#037CC9;
  text-decoration:none;
  white-space:nowrap;
}
.ijn-logo b{ color:#81C12F; }

/* Menu : liens encre, soulignement vert qui se deploie lentement */
.ijn-header .ijn-menu{ flex:1; }
.ijn-header .wp-block-navigation .wp-block-navigation-item__content{
  position:relative;
  color:#16243A;
  font-family:Inter, sans-serif;
  font-weight:500;
  font-size:14px;
  text-decoration:none;
  padding:4px 2px;
  transition:color .4s ease;
}
.ijn-header .wp-block-navigation .wp-block-navigation-item__content:hover{ color:#0B3C8F; }
.ijn-header .wp-block-navigation .wp-block-navigation-item__content::after{
  content:"";
  position:absolute;
  left:2px; right:2px; bottom:-2px;
  height:2px;
  background:#81C12F;
  border-radius:2px;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s cubic-bezier(.22,.61,.36,1);
}
.ijn-header .wp-block-navigation .wp-block-navigation-item__content:hover::after{ transform:scaleX(1); }

/* CTA pilule : fond vert, texte marine ; hover marine/blanc */
.ijn-header .ijn-cta .wp-block-button__link{
  background:#81C12F;
  color:#0B3C8F;
  border-radius:999px;
  font-family:Poppins, sans-serif;
  font-weight:600;
  font-size:15px;
  padding:10px 20px;
  border:0;
  transition:background .4s ease, color .4s ease, transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease;
}
.ijn-header .ijn-cta .wp-block-button__link:hover{
  background:#0B3C8F;
  color:#ffffff;
  transform:translateY(-2px);
  box-shadow:0 8px 20px -12px rgba(11,60,143,.45);
}

/* Chevron d'ouverture des sous-menus (Lutte anti-nuisibles, Hygiene) */
.ijn-header .wp-block-navigation .wp-block-navigation-submenu__toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.ijn-header .wp-block-navigation .wp-block-navigation__submenu-icon{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto !important;
  min-width:13px;
  margin:0 !important;
  padding:0 !important;
  color:#16243A;
  opacity:1 !important;
  transition:transform .35s ease, color .4s ease;
}
.ijn-header .wp-block-navigation .wp-block-navigation__submenu-icon svg{
  display:inline-block;
  width:13px;
  height:13px;
  fill:currentColor;
}
.ijn-header .wp-block-navigation .has-child:hover > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon,
.ijn-header .wp-block-navigation .wp-block-navigation-submenu:hover > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon{
  color:#0B3C8F;
}
.ijn-header .wp-block-navigation .has-child.open > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon{
  transform:rotate(180deg);
}

/* Sous-menu deroulant */
.ijn-header .wp-block-navigation .wp-block-navigation__submenu-container{
  border:1px solid #E3E9F0;
  border-radius:14px;
  box-shadow:0 18px 40px -18px rgba(11,60,143,.28);
  padding:8px;
  background:#ffffff;
}

/* --- MOBILE / TABLETTE : header simplifie + menu hamburger plein ecran --- */
@media (max-width: 860px){
  /* Header dans le flux : ne chevauche plus le hero */
  .home header:has(> .ijn-header.is-position-sticky){ position:relative; }
  /* Barre simple, sans verre ni largeur forcee */
  .ijn-header .ijn-nav{
    max-width:none !important;
    padding:8px 16px;
    background:transparent;
    border:0;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  /* On masque le bouton Devis sur mobile */
  .ijn-header .ijn-cta-wrap{ display:none !important; }
  /* Hamburger a droite, menu en ligne masque */
  .ijn-header .ijn-menu{ flex:0 0 auto !important; margin-left:auto !important; justify-content:flex-end !important; }
  .ijn-header .wp-block-navigation__responsive-container-open{ display:flex !important; margin-left:auto !important; color:#0B3C8F !important; }
  .ijn-header .wp-block-navigation__responsive-container:not(.is-menu-open){ display:none !important; }
  /* Overlay ouvert : plein ecran marine, liens blancs */
  .ijn-header .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    padding:28px 24px !important;
    background:#0B3C8F !important;
    z-index:100000 !important;
    overflow:auto !important;
  }
  .ijn-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    display:flex !important;
    flex-direction:column !important;
    gap:4px !important;
  }
  .ijn-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    color:#ffffff !important;
    font-size:18px !important;
    padding:10px 0 !important;
  }
  .ijn-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon{ color:#ffffff !important; }
  .ijn-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{ color:#ffffff !important; }
  .ijn-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{ background:transparent !important; border:0 !important; box-shadow:none !important; }
  .ijn-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{ color:#CDD8EA !important; font-size:16px !important; }
  /* Logo IJN+ visible (blanc) dans le menu ouvert */
  .ijn-nav:has(.wp-block-navigation__responsive-container.is-menu-open) .ijn-logo{
    position:fixed; top:calc(30px + var(--wp-admin--admin-bar--height, 0px)); left:24px; z-index:100001; color:#ffffff;
  }
  .ijn-nav:has(.wp-block-navigation__responsive-container.is-menu-open) .ijn-logo b{ color:#A9E06A; }
}

/* --- MOBILE : hero lisible (photo assombrie, texte blanc, personnage visible) --- */
@media (max-width: 781px){
  /* Voile blanc plus dense : texte fonce d'origine lisible, personnage attenue */
  .ijn-hero-cover::after{
    background:linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.70) 100%) !important;
  }
}

/* --- FOOTER : bandeau marine --- */
.ijn-footer{
  background:#0B3C8F;
  color:#C9D6EC;
  border:0 !important;
  margin-top:0;
}
.ijn-footer-inner{ max-width:var(--ijn-shell,1480px); margin:0 auto; padding:56px var(--ijn-edge,40px) 24px; }
.ijn-footer-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1.1fr;
  gap:32px;
}
.ijn-footer h3{
  color:#ffffff;
  font-family:Poppins, sans-serif;
  font-size:13px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin:0 0 16px;
}
.ijn-footer p{ font-size:14px; line-height:1.6; color:#C9D6EC; margin:0 0 12px; }
.ijn-logo--light{ color:#ffffff; display:inline-block; margin-bottom:14px; }
.ijn-logo--light b{ color:#81C12F; }
.ijn-foot-mm{ color:#A9E06A; font-weight:600; }
.ijn-foot-col ul{ list-style:none; margin:0; padding:0; }
.ijn-foot-col li{ margin:0 0 10px; }
.ijn-footer a{ color:#C9D6EC; text-decoration:none; font-size:14px; transition:color .3s ease; }
.ijn-footer a:hover{ color:#81C12F; }
.ijn-footer address{ font-style:normal; font-size:14px; line-height:1.8; color:#C9D6EC; }
.ijn-foot-social{ display:flex; gap:10px; margin-top:8px; flex-wrap:wrap; }
.ijn-foot-social a{ border:1px solid rgba(255,255,255,.25); border-radius:999px; padding:6px 14px; font-size:13px; }
.ijn-foot-social a:hover{ background:rgba(129,193,47,.18); border-color:#81C12F; color:#ffffff; }
.ijn-foot-badges{ display:flex; align-items:center; justify-content:flex-end; gap:14px; margin-top:30px; flex-wrap:wrap; }
.ijn-foot-badge-label{ color:#9FB2D2; font-size:13px; letter-spacing:.04em; margin-right:auto; }
.ijn-foot-badge{ background:#ffffff; border-radius:10px; padding:8px 14px; display:inline-flex; align-items:center; }
.ijn-foot-badge img{ height:38px; width:auto; display:block; }
@media (max-width:560px){ .ijn-foot-badges{ justify-content:flex-start; } .ijn-foot-badge-label{ width:100%; margin:0 0 4px; } }
.ijn-footer-bottom{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  margin-top:36px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.15);
}
.ijn-footer-bottom p{ margin:0; font-size:13px; color:#9FB2D2; }
.ijn-footer-bottom a{ color:#9FB2D2; }
@media (max-width:820px){ .ijn-footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .ijn-footer-grid{ grid-template-columns:1fr; } }

/* --- HERO accueil --- */
.ijn-hero{ padding-top:48px; padding-bottom:8px; }
.ijn-hero h1{ margin-bottom:.35em; }
.ijn-hero-sub{ color:#5C6B7E; font-size:1.1rem; line-height:1.6; max-width:58ch; margin-bottom:1.4em; }
.ijn-hero-cta.wp-block-buttons{ gap:12px; }
.ijn-hero-art{
  background:linear-gradient(135deg,#E6F3FB,#F1F8E6);
  border:1px solid #E3E9F0;
  border-radius:16px;
  min-height:340px;
  display:flex; align-items:center; justify-content:center;
  text-align:center; color:#5C6B7E; font-size:13px; padding:24px;
  box-shadow:0 18px 40px -22px rgba(11,60,143,.28);
}
.ijn-btn-outline .wp-block-button__link{
  background:transparent !important; color:#0B3C8F !important;
  border:1px solid rgba(11,60,143,.28) !important; box-shadow:none !important;
}
.ijn-btn-outline .wp-block-button__link:hover{
  background:rgba(11,60,143,.06) !important; color:#0B3C8F !important;
}
.ijn-reassurance{
  display:flex; flex-wrap:wrap; gap:12px 24px;
  max-width:var(--wp--style--global--wide-size,1260px); margin:0 auto;
  padding:16px var(--wp--style--root--padding-right,32px);
  border-bottom:1px solid #E3E9F0;
}
.ijn-reassure-wrap{ margin-top:0; }
/* Hero plein largeur, image en arriere-plan */
.ijn-hero-cover{ padding:0 !important; }
.ijn-hero-cover .wp-block-cover__inner-container{ width:100% !important; max-width:var(--ijn-shell,1480px) !important; margin-left:auto !important; margin-right:auto !important; padding-top:72px !important; padding-bottom:72px !important; padding-left:var(--ijn-edge,40px) !important; padding-right:var(--ijn-edge,40px) !important; }
.ijn-hero-content{ max-width:820px; }
.ijn-hero-content h1{ margin-bottom:.35em; color:#0B3C8F; }
.ijn-hero-content .ijn-hero-sub{ color:#1F2D40; max-width:58ch; }
.ijn-hero-cover::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.62) 38%, rgba(255,255,255,0) 72%); }
.ijn-hero-cover .wp-block-cover__inner-container{ position:relative; z-index:2; }
/* place du chevauchement des cartes sous le hero */
.ijn-hero-cover{ padding-bottom:0 !important; }
.ijn-reassurance span{
  font-size:14px; font-weight:500; color:#16243A;
  display:inline-flex; align-items:center; gap:8px;
}
.ijn-reassurance span::before{
  content:""; width:8px; height:8px; border-radius:50%;
  background:#81C12F; display:inline-block; flex:0 0 auto;
}
@media (max-width:781px){ .ijn-hero-art{ min-height:220px; } }

/* Header : positionnement sticky gere par la methode officielle Ollie (voir plus haut). */

/* --- Bandeau deroulant (marquee) sous le hero --- */
.ijn-marquee-wrap{ margin-top:0; }
.ijn-marquee{ background:#0B3C8F; overflow:hidden; }
.ijn-marquee__track{
  display:flex; width:max-content;
  animation:ijn-marquee 32s linear infinite;
  padding:14px 0;
}
.ijn-marquee:hover .ijn-marquee__track{ animation-play-state:paused; }
.ijn-marquee__track span{
  color:#ffffff; font-family:Inter, sans-serif; font-weight:500; font-size:14px;
  display:inline-flex; align-items:center; gap:10px; white-space:nowrap; padding:0 28px;
}
.ijn-marquee__track span::before{
  content:""; width:8px; height:8px; border-radius:50%;
  background:#81C12F; display:inline-block; flex:0 0 auto;
}
@keyframes ijn-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* --- Sections accueil --- */
.ijn-section{ padding:64px 0; }
.ijn-section--soft{ background:#F3F7FB; }
.ijn-section--white{ background:#ffffff; }
.ijn-inner{ max-width:1080px; margin:0 auto; padding:0 22px; }
.ijn-tag{ display:inline-block; font-family:Poppins,sans-serif; font-weight:600; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#3F6B17; background:#F1F8E6; padding:6px 12px; border-radius:999px; margin-bottom:14px; }
.ijn-section h2{ font-family:Poppins,sans-serif; color:#0B3C8F; font-size:clamp(26px,4vw,36px); line-height:1.15; margin:0 0 .4em; }
.ijn-lead{ color:#5C6B7E; max-width:62ch; margin:0; }
.ijn-center{ text-align:center; }
.ijn-center .ijn-lead{ margin:0 auto; }

.ijn-cards3{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:26px; }
/* Cartes en verre depoli qui chevauchent le hero */
.ijn-overlap-wrap{ background:transparent !important; margin-top:-150px; position:relative; z-index:3; padding-top:0 !important; padding-bottom:8px !important; }
.ijn-overlap-wrap .ijn-inner{ max-width:1240px; }
.ijn-overlap-wrap .ijn-cards3{ margin-top:0; gap:22px; }
.ijn-card{ background:rgba(255,255,255,.74); -webkit-backdrop-filter:blur(16px) saturate(165%); backdrop-filter:blur(16px) saturate(165%); border:1px solid rgba(255,255,255,.65); border-radius:16px; padding:26px; box-shadow:0 18px 40px -20px rgba(11,60,143,.40); transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s ease; }
.ijn-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px -18px rgba(11,60,143,.28); }
.ijn-card .ijn-ic{ width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:#F1F8E6; margin-bottom:16px; font-size:22px; }
.ijn-card h3{ font-family:Poppins,sans-serif; color:#0B3C8F; font-size:20px; margin:0 0 8px; }
.ijn-card p{ color:#5C6B7E; font-size:14px; margin:0 0 14px; }
.ijn-card .ijn-link{ font-family:Poppins,sans-serif; font-weight:600; font-size:14px; color:#3F6B17; text-decoration:none; }
.ijn-card .ijn-link::after{ content:" \203a"; }
.ijn-card.dark{ background:rgba(11,60,143,.82); -webkit-backdrop-filter:blur(16px) saturate(165%); backdrop-filter:blur(16px) saturate(165%); border-color:rgba(255,255,255,.18); }
.ijn-card.dark h3{ color:#fff; }
.ijn-card.dark p{ color:#CDD8EA; }
.ijn-card.dark .ijn-ic{ background:rgba(255,255,255,.12); }
.ijn-card.dark .ijn-link{ color:#fff; }

.ijn-poles{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:26px; }
.ijn-pole{ background:#fff; border:1px solid #E3E9F0; border-radius:16px; padding:26px; }
.ijn-pole h3{ font-family:Poppins,sans-serif; color:#0B3C8F; font-size:20px; margin:0 0 6px; }
.ijn-pole > p{ color:#5C6B7E; font-size:14px; margin:0 0 14px; }
.ijn-pole ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.ijn-pole li a{ display:inline-block; font-size:13.5px; color:#16243A; text-decoration:none; background:#F3F7FB; border:1px solid #E3E9F0; border-radius:999px; padding:6px 13px; transition:background .3s,color .3s,border-color .3s; }
.ijn-pole li a:hover{ background:#0B3C8F; color:#fff; border-color:#0B3C8F; }

.ijn-why{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:26px; }
.ijn-why-item .ijn-ic{ width:40px; height:40px; border-radius:10px; display:grid; place-items:center; background:#E6F3FB; margin-bottom:12px; font-size:20px; }
.ijn-why-item h4{ font-family:Poppins,sans-serif; color:#0B3C8F; font-size:16px; margin:0 0 6px; }
.ijn-why-item p{ color:#5C6B7E; font-size:13.5px; margin:0; }

.ijn-testimonials{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:26px; }
.ijn-testi{ background:#fff; border:1px solid #E3E9F0; border-radius:16px; padding:24px; }
.ijn-stars{ color:#81C12F; font-size:15px; letter-spacing:2px; margin-bottom:10px; }
.ijn-testi p{ color:#16243A; font-size:14px; line-height:1.6; margin:0 0 14px; }
.ijn-testi .ijn-author{ font-family:Poppins,sans-serif; font-weight:600; font-size:14px; color:#0B3C8F; }
.ijn-testi .ijn-meta{ color:#5C6B7E; font-size:12.5px; }

.ijn-zones-chips{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:22px; }
.ijn-zone-chip{ font-size:14px; color:#16243A; background:#fff; border:1px solid #E3E9F0; border-radius:999px; padding:8px 16px; }

.ijn-cta-final{ background:linear-gradient(120deg,#0B3C8F,#037CC9); border-radius:20px; padding:48px 28px; text-align:center; }
.ijn-cta-final h2{ color:#fff; }
.ijn-cta-final p{ color:#DCE9F8; max-width:52ch; margin:0 auto 22px; }
.ijn-cta-btns{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.ijn-b-green{ background:#81C12F; color:#0B3C8F; font-family:Poppins,sans-serif; font-weight:600; border-radius:999px; padding:13px 24px; text-decoration:none; transition:transform .4s ease; }
.ijn-b-green:hover{ transform:translateY(-2px); }
.ijn-b-out{ background:transparent; color:#fff; border:2px solid rgba(255,255,255,.65); font-family:Poppins,sans-serif; font-weight:600; border-radius:999px; padding:11px 22px; text-decoration:none; }
.ijn-b-out:hover{ background:#fff; color:#0B3C8F; }

@media (max-width:820px){
  .ijn-cards3,.ijn-why{ grid-template-columns:1fr 1fr; }
  .ijn-poles,.ijn-testimonials{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .ijn-cards3,.ijn-why{ grid-template-columns:1fr; }
}

/* Accessibilite : on coupe les animations si demande */
@media (prefers-reduced-motion: reduce){
  .ijn-header *{ transition:none !important; }
  .ijn-marquee__track{ animation:none !important; }
}


/* ===== Boutons CTA verts : effet bouton 3D (touche clavier) + sheen verre, site-wide ===== */
.ijn-header .ijn-cta .wp-block-button__link,
.ijn-cta-green .wp-block-button__link,
.ijn-urgency .wp-block-button__link{
  background:linear-gradient(180deg,#8FD23A,#7BB52C) !important;
  color:#0B3C8F !important;
  box-shadow:0 5px 0 #5E9220, 0 12px 20px -8px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.5) !important;
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  transition:transform .12s cubic-bezier(.2,.7,.3,1), box-shadow .12s ease, filter .2s ease !important;
  will-change:transform;
}
.ijn-header .ijn-cta .wp-block-button__link:hover,
.ijn-cta-green .wp-block-button__link:hover,
.ijn-urgency .wp-block-button__link:hover{
  background:linear-gradient(180deg,#97DA42,#81C12F) !important;
  color:#0B3C8F !important;
  transform:translateY(-2px) !important;
  box-shadow:0 7px 0 #5E9220, 0 18px 28px -10px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.6) !important;
  filter:brightness(1.02);
}
.ijn-header .ijn-cta .wp-block-button__link:active,
.ijn-cta-green .wp-block-button__link:active,
.ijn-urgency .wp-block-button__link:active{
  transform:translateY(4px) !important;
  box-shadow:0 1px 0 #5E9220, 0 5px 10px -6px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.4) !important;
}
@media (prefers-reduced-motion: reduce){
  .ijn-header .ijn-cta .wp-block-button__link,
  .ijn-cta-green .wp-block-button__link,
  .ijn-urgency .wp-block-button__link{ transition:none !important; }
}


/* Boutons secondaires (ghost) : transparent + effet 3D touche clavier */
.ijn-btn-outline .wp-block-button__link,
.ijn-cta-outline .wp-block-button__link{
  background:transparent !important;
  transition:transform .12s cubic-bezier(.2,.7,.3,1), box-shadow .12s ease, background .2s ease !important;
  will-change:transform;
}
.ijn-btn-outline .wp-block-button__link{
  color:#0B3C8F !important;
  border:1px solid rgba(11,60,143,.30) !important;
  box-shadow:0 4px 0 rgba(11,60,143,.22) !important;
}
.ijn-btn-outline .wp-block-button__link:hover{
  transform:translateY(-2px) !important;
  background:rgba(11,60,143,.05) !important;
  box-shadow:0 6px 0 rgba(11,60,143,.28), 0 10px 18px -8px rgba(11,60,143,.25) !important;
}
.ijn-btn-outline .wp-block-button__link:active{
  transform:translateY(4px) !important;
  box-shadow:0 1px 0 rgba(11,60,143,.22) !important;
}
.ijn-cta-outline .wp-block-button__link{
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.42) !important;
  box-shadow:0 4px 0 rgba(0,0,0,.28) !important;
}
.ijn-cta-outline .wp-block-button__link:hover{
  transform:translateY(-2px) !important;
  background:rgba(255,255,255,.10) !important;
  box-shadow:0 6px 0 rgba(0,0,0,.32), 0 12px 20px -8px rgba(0,0,0,.4) !important;
}
.ijn-cta-outline .wp-block-button__link:active{
  transform:translateY(4px) !important;
  box-shadow:0 1px 0 rgba(0,0,0,.28) !important;
}


/* =====================================================================
   PAGE EQUIPE (id 21) - rendu accueil, hero marine + halos vert/bleu
   ===================================================================== */
/* Header en surimpression (comme l'accueil), blanc lisible sur le bleu */
body.page-id-21 .wp-site-blocks{ position:relative; }
body.page-id-21 header:has(> .ijn-header.is-position-sticky){ position:absolute; top:0; left:0; right:0; width:100%; }
body.page-id-21 .wp-site-blocks > main{ padding-top:0 !important; }
body.page-id-21 .wp-site-blocks > main > .entry-content{ margin-top:0 !important; }
body.page-id-21 .ijn-logo{ color:#ffffff; }
body.page-id-21 .ijn-logo b{ color:#A9E06A; }
body.page-id-21 .ijn-header .wp-block-navigation .wp-block-navigation-item__content{ color:#ffffff; }
body.page-id-21 .ijn-header .wp-block-navigation .wp-block-navigation-item__content:hover{ color:#A9E06A; }
body.page-id-21 .ijn-header .wp-block-navigation .wp-block-navigation__submenu-icon{ color:#ffffff; }
body.page-id-21 .ijn-header .ijn-nav{ background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.30); }
body.page-id-21 .ijn-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{ color:#16243A; }
body.page-id-21 .ijn-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{ color:#0B3C8F; }
body.page-id-21 .ijn-header .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon{ color:#16243A; }
@media (max-width:860px){ body.page-id-21 .ijn-header .wp-block-navigation__responsive-container-open{ color:#ffffff !important; } }

/* HERO marine + halos */
.ijn-team-hero2{ position:relative; overflow:hidden; background:#0B3C8F; padding:152px var(--ijn-edge,40px) 96px; }
.ijn-team-hero2::before{ content:""; position:absolute; width:680px; height:680px; border-radius:50%; background:#2AA8EC; filter:blur(150px); opacity:.45; top:-170px; right:-70px; pointer-events:none; }
.ijn-team-hero2::after{ content:""; position:absolute; width:620px; height:620px; border-radius:50%; background:#81C12F; filter:blur(160px); opacity:.30; bottom:-220px; left:-110px; pointer-events:none; }
.ijn-team-hero2 .ijn-team-hero2-inner{ position:relative; z-index:2; width:100%; max-width:var(--ijn-shell,1480px); margin-inline:auto; }
.ijn-team-hero2 .ijn-eyebrow{ color:#A9E06A; }
.ijn-team-hero2 h1{ font-family:Poppins,sans-serif; color:#ffffff; font-size:clamp(34px,5vw,54px); line-height:1.08; margin:0 0 18px; max-width:18ch; }
.ijn-team-hero2 .ijn-hero-sub{ color:#DCE9F8; font-size:clamp(16px,2vw,18px); line-height:1.6; max-width:62ch; margin:0 0 30px; }
.ijn-team-hero2 .ijn-hero-cta.wp-block-buttons{ gap:14px; }
.ijn-team-hero2 .ijn-hero-flat-urgence{ color:#CDD8EA; font-size:14px; margin:20px 0 0; }
.ijn-team-hero2 .ijn-hero-flat-urgence a{ color:#ffffff; font-weight:600; text-decoration:none; border-bottom:2px solid #81C12F; }
@media (max-width:781px){ .ijn-team-hero2{ padding:104px var(--ijn-edge,18px) 60px; } }

/* FONDATEURS detaille (section claire) */
.ijn-founders{ background:#F3F7FB; padding:84px 0 92px; }
.ijn-founders .ijn-founders-head,
.ijn-founders .ijn-founders-grid{ width:100%; max-width:var(--ijn-shell,1480px); margin-inline:auto; padding-inline:var(--ijn-edge,40px); }
.ijn-founders .ijn-eyebrow{ color:#3F6B17; }
.ijn-founders h2{ font-family:Poppins,sans-serif; color:#0B3C8F; font-size:clamp(26px,4vw,34px); line-height:1.15; margin:0 0 14px; }
.ijn-founders .ijn-lead{ color:#5C6B7E; font-size:16px; line-height:1.6; margin:0; max-width:780px; }
.ijn-founders-grid{ display:grid !important; grid-template-columns:1fr 1fr; gap:28px; margin-top:44px; }
.ijn-founders-grid > .ijn-founder-card{ margin:0 !important; }
.ijn-founder-card{ background:#ffffff; border:1px solid #E3E9F0; border-radius:20px; overflow:hidden; box-shadow:0 24px 50px -34px rgba(11,60,143,.30); }
.ijn-founder-card .ijn-founder-photo.wp-block-image{ margin:0; }
.ijn-founder-card .ijn-founder-photo img{ width:100%; height:340px; object-fit:cover; object-position:center top; display:block; }
.ijn-founder-body{ padding:30px 32px 32px; }
.ijn-founder-name{ font-family:Poppins,sans-serif; color:#0B3C8F; font-size:22px; margin:0 0 4px; }
.ijn-founder-role{ color:#3F6B17; font-family:Inter,sans-serif; font-weight:600; font-size:13px; letter-spacing:.04em; text-transform:uppercase; margin:0 0 16px; }
.ijn-founder-bio{ color:#5C6B7E; font-size:15px; line-height:1.65; margin:0 0 18px; }
.ijn-founder-points{ list-style:none; margin:0 0 24px; padding:0; }
.ijn-founder-points li{ position:relative; color:#16243A; font-size:14.5px; line-height:1.5; padding:9px 0 9px 24px; border-top:1px solid #EEF2F7; }
.ijn-founder-points li:first-child{ border-top:0; }
.ijn-founder-points li::before{ content:""; position:absolute; left:0; top:15px; width:8px; height:8px; border-radius:50%; background:#81C12F; }
.ijn-founder-linkedin{ display:inline-flex; align-items:center; gap:8px; color:#0B3C8F; font-family:Inter,sans-serif; font-weight:600; font-size:14px; text-decoration:none; border:1px solid #CBD8EA; border-radius:999px; padding:9px 18px; transition:background .3s,color .3s,border-color .3s; }
.ijn-founder-linkedin::before{ content:"in"; font-family:Poppins,sans-serif; font-weight:800; font-size:12px; color:#fff; background:#0A66C2; border-radius:3px; padding:1px 4px; line-height:1.3; }
.ijn-founder-linkedin:hover{ background:#0B3C8F; color:#ffffff; border-color:#0B3C8F; }
@media (max-width:781px){ .ijn-founders-grid{ grid-template-columns:1fr; gap:20px; } .ijn-founder-card .ijn-founder-photo img{ height:320px; } }
/* --- PAGE EQUIPE : corrections (gaps, photos, certifs) --- */
/* 1) supprimer les sauts blancs entre sections */
body.page-id-21 .wp-site-blocks > main > .entry-content > *{ margin-block:0 !important; }
body.page-id-21 .ijn-team-hero2,
body.page-id-21 .ijn-founders,
body.page-id-21 .ijn-certifs-section,
body.page-id-21 .ijn-cta-final{ margin-top:0 !important; margin-bottom:0 !important; }
/* 2) cartes fondateurs plus compactes + photos moins zoomees */
body.page-id-21 .ijn-founders-grid{ max-width:1000px !important; margin-inline:auto !important; gap:24px; }
body.page-id-21 .ijn-founder-card .ijn-founder-photo img{ height:330px; object-position:center top; }
body.page-id-21 .ijn-founder-body{ padding:26px 28px 28px; }
@media (max-width:781px){ body.page-id-21 .ijn-founder-card .ijn-founder-photo img{ height:340px; } }
/* 3) cartes de certification au meme niveau */
body.page-id-21 .ijn-certifs-grid{ align-items:stretch !important; }
body.page-id-21 .ijn-certif-card{ height:100% !important; justify-content:flex-start !important; }
body.page-id-21 .ijn-certif-logo{ height:84px !important; display:flex !important; align-items:center !important; justify-content:center !important; margin:0 auto !important; }
body.page-id-21 .ijn-certif-logo img{ height:auto !important; max-height:68px !important; }
body.page-id-21 .ijn-certif-card.wp-block-group > .ijn-certif-label{ margin-top:auto !important; }
/* --- PAGE EQUIPE : section fondateurs v2 (profil compact, avatar moyen) --- */
body.page-id-21 .ijn-team2-grid{ display:grid !important; grid-template-columns:1fr 1fr; gap:24px; width:100%; max-width:940px !important; margin:44px auto 0 !important; padding-inline:var(--ijn-edge,40px); }
body.page-id-21 .ijn-team2-grid > .ijn-member-card{ margin:0 !important; }
.ijn-member-card{ background:#ffffff; border:1px solid #E3E9F0; border-radius:18px; padding:26px 28px 28px; box-shadow:0 18px 44px -32px rgba(11,60,143,.30); }
.ijn-member-head{ display:flex !important; flex-wrap:nowrap !important; align-items:center; gap:18px; margin-bottom:4px; }
.ijn-member-head .ijn-member-avatar.wp-block-image{ margin:0; flex:0 0 auto; }
.ijn-member-avatar img{ width:92px; height:92px; object-fit:cover; object-position:center top; border-radius:16px; display:block; }
.ijn-member-id{ min-width:0; }
.ijn-member-name{ font-family:Poppins,sans-serif; color:#0B3C8F; font-size:20px; line-height:1.15; margin:0 0 5px; }
.ijn-member-role{ color:#3F6B17; font-family:Inter,sans-serif; font-weight:600; font-size:12px; letter-spacing:.05em; text-transform:uppercase; margin:0; }
.ijn-member-bio{ color:#5C6B7E; font-size:14.5px; line-height:1.6; margin:18px 0 16px; padding-top:18px; border-top:1px solid #EEF2F7; }
.ijn-member-points{ list-style:none; margin:0 0 20px; padding:0; }
.ijn-member-points li{ position:relative; color:#16243A; font-size:14px; line-height:1.5; padding:6px 0 6px 22px; }
.ijn-member-points li::before{ content:""; position:absolute; left:0; top:12px; width:7px; height:7px; border-radius:50%; background:#81C12F; }
.ijn-member-linkedin{ display:inline-flex; align-items:center; gap:8px; color:#0B3C8F; font-family:Inter,sans-serif; font-weight:600; font-size:13.5px; text-decoration:none; border:1px solid #CBD8EA; border-radius:999px; padding:8px 16px; transition:background .3s,color .3s,border-color .3s; }
.ijn-member-linkedin::before{ content:"in"; font-family:Poppins,sans-serif; font-weight:800; font-size:11px; color:#fff; background:#0A66C2; border-radius:3px; padding:1px 4px; line-height:1.3; }
.ijn-member-linkedin:hover{ background:#0B3C8F; color:#ffffff; border-color:#0B3C8F; }
@media (max-width:781px){ body.page-id-21 .ijn-team2-grid{ grid-template-columns:1fr; gap:16px; max-width:480px !important; } }
/* --- Grille membres reutilisable (accueil + equipe) --- */
.ijn-team2-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; width:100%; max-width:940px; margin:40px auto 0; padding-inline:var(--ijn-edge,40px); }
.ijn-team2-grid > .ijn-member-card{ margin:0; }
.ijn-team .ijn-team-cta{ max-width:var(--ijn-shell,1480px); margin:30px auto 0; padding-inline:var(--ijn-edge,40px); justify-content:center; }
@media (max-width:781px){ .ijn-team2-grid{ grid-template-columns:1fr; gap:16px; max-width:480px; } }
/* --- Pages legales (mentions, confidentialite) --- */
.ijn-legal{ max-width:840px; margin:0 auto; padding:64px var(--ijn-edge,40px) 84px; }
.ijn-legal h1{ font-family:Poppins,sans-serif; color:#0B3C8F; font-size:clamp(28px,4vw,40px); line-height:1.1; margin:0 0 8px; }
.ijn-legal .ijn-legal-updated{ color:#8595AB; font-size:14px; margin:0 0 30px; }
.ijn-legal h2{ font-family:Poppins,sans-serif; color:#0B3C8F; font-size:22px; margin:34px 0 10px; }
.ijn-legal p, .ijn-legal li{ color:#42505F; font-size:15.5px; line-height:1.7; }
.ijn-legal ul{ padding-left:20px; margin:0 0 14px; }
.ijn-legal a{ color:#0B3C8F; text-decoration:underline; }
.ijn-legal .ijn-legal-note{ background:#FFF7E6; border:1px solid #F2D58A; border-radius:10px; padding:12px 16px; font-size:14px; color:#7A5B12; }