/* Kids' Island — site public : menu mobile de verre.
   Sous 1024 px, les liens de section (.nav-links) sont masqués par le CSS d'origine ;
   ce bouton ☰ les rend à nouveau accessibles, avec le choix de la langue. */
.ki-burger{
  display:none;
  flex:0 0 auto;
  width:44px; height:44px;
  align-items:center; justify-content:center;
  padding:0;
  border:1.5px solid rgba(26,46,41,.14);
  border-radius:50%;
  background:rgba(255,255,255,.7);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  backdrop-filter:blur(14px) saturate(140%);
  color:var(--ink,#1A2E29);
  cursor:pointer;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 10px 24px -14px rgba(26,46,41,.4);
  transition:background .2s ease, transform .2s cubic-bezier(.16,1,.3,1);
}
.ki-burger:active{ transform:scale(.94); }
.ki-burger:focus-visible{ outline:none; box-shadow:0 0 0 2px #fff, 0 0 0 5px var(--coral,#F47D60); }
.ki-burger svg{ width:20px; height:20px; }
.ki-burger .ki-burger-x{ display:none; }
.ki-burger[aria-expanded="true"]{ background:var(--ink,#1A2E29); color:#fff; border-color:var(--ink,#1A2E29); }
.ki-burger[aria-expanded="true"] .ki-burger-lines{ display:none; }
.ki-burger[aria-expanded="true"] .ki-burger-x{ display:block; }

.ki-mobile-menu{
  position:fixed;
  z-index:99;
  top:calc(var(--ki-nav-h,72px) + 8px);
  left:12px; right:12px;
  max-height:calc(100dvh - var(--ki-nav-h,72px) - 24px);
  overflow:auto;
  padding:12px;
  border:1px solid rgba(255,255,255,.85);
  border-radius:26px;
  background:linear-gradient(165deg,rgba(255,255,255,.86),rgba(251,246,238,.78));
  -webkit-backdrop-filter:blur(24px) saturate(160%);
  backdrop-filter:blur(24px) saturate(160%);
  box-shadow:0 1px 0 #fff inset, 0 30px 70px -30px rgba(26,46,41,.45);
  opacity:0;
  transform:translate3d(0,-10px,0) scale(.98);
  filter:blur(10px);
  pointer-events:none;
  visibility:hidden;
  transition:opacity .28s ease, transform .4s cubic-bezier(.16,1,.3,1), filter .32s ease, visibility 0s linear .4s;
}
.ki-mobile-menu.is-open{
  opacity:1;
  transform:none;
  filter:blur(0);
  pointer-events:auto;
  visibility:visible;
  transition:opacity .28s ease, transform .4s cubic-bezier(.16,1,.3,1), filter .32s ease, visibility 0s;
}
.ki-mobile-menu ul{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.ki-mobile-menu li{ opacity:0; transform:translate3d(0,10px,0); filter:blur(6px); }
.ki-mobile-menu.is-open li{
  opacity:1; transform:none; filter:blur(0);
  transition:opacity .45s cubic-bezier(.16,1,.3,1) calc(var(--i,0) * 40ms), transform .6s cubic-bezier(.16,1,.3,1) calc(var(--i,0) * 40ms), filter .5s ease calc(var(--i,0) * 40ms);
}
.ki-mobile-menu a{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  min-height:50px;
  padding:12px 16px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:16px;
  background:rgba(255,255,255,.45);
  color:var(--ink,#1A2E29);
  font-family:'DM Sans',sans-serif;
  font-size:1rem; font-weight:600;
  text-decoration:none;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
.ki-mobile-menu a::after{ content:"→"; color:var(--coral,#F47D60); font-weight:500; }
.ki-mobile-menu a:active{ background:rgba(255,255,255,.8); }
.ki-mobile-menu a:focus-visible{ outline:none; box-shadow:0 0 0 2px #fff, 0 0 0 5px var(--coral,#F47D60); }

.ki-mobile-menu-foot{
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
  margin:12px 4px 2px;
  font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(26,46,41,.55);
}
.ki-mobile-menu-langs{ display:flex; gap:6px; }
.ki-mobile-menu-langs button{
  min-width:44px; min-height:40px;
  padding:6px 12px;
  border:1px solid rgba(26,46,41,.12);
  border-radius:999px;
  background:rgba(255,255,255,.6);
  color:var(--ink,#1A2E29);
  font-family:'DM Sans',sans-serif; font-size:.78rem; font-weight:700; letter-spacing:.06em;
  cursor:pointer;
}
.ki-mobile-menu-langs button[aria-pressed="true"]{ background:var(--ink,#1A2E29); color:#fff; border-color:var(--ink,#1A2E29); }
.ki-mobile-menu-langs button:focus-visible{ outline:none; box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--coral,#F47D60); }

/* Écrans de 1025 à 1440 px : la barre d'origine débordait (liens sur deux lignes).
   Liens resserrés sur une ligne, icônes sociales masquées (elles restent dans le pied de page). */
@media (min-width:1025px) and (max-width:1440px){
  #nav{ padding:0 28px; gap:14px; }
  .nav-links{ gap:18px; flex-shrink:1; min-width:0; }
  .nav-links a{ white-space:nowrap; font-size:.84rem; }
  #nav .social-mini{ display:none; }
  #nav > div:last-child{ gap:8px; flex-shrink:0; }
  .nav-logo{ min-width:0 !important; }
}
@media (max-width:1024px){
  .ki-burger{ display:inline-flex; }
  /* Place pour le bouton : le lien « Nous contacter » est déjà dans le menu, l'« Espace parent » reste visible. */
  #nav .nav-btn{ display:none !important; }
}
@media (max-width:768px){
  .ki-mobile-menu{ top:calc(60px + 8px); max-height:calc(100dvh - 60px - 24px); }
}
html.portal-open .ki-mobile-menu,
html.portal-open .ki-burger{ display:none !important; }

@media (prefers-reduced-motion:reduce){
  .ki-mobile-menu, .ki-mobile-menu li, .ki-burger{ transition:none; filter:none; transform:none; }
  .ki-mobile-menu li{ opacity:1; }
}
