/*
Theme Name: Twenty Twenty-One Child
Template: twentytwentyone
*/

/* ======================
   GLOBAL RESET & BASE
====================== */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  
}

.home {
    background-color: white;
}

body {
  max-width: 1440px;
  margin: auto;
  background-color: white;
}

#page {
  max-width: 1440px;
  margin: 0 auto;
  background-color: white;
}

.red { color: #bb0000; }
.purple { color: #BA69E1; }

h1 {
  color: #3152BB;
  margin: 20px 0;
  font-family: 'Edu AU VIC WA NT Pre', sans-serif;
}

/* Separator bar */
.separator {
  height: 10px;
  border-radius: 5px;
  margin: 30px 0;
  width: 100%;
  background: rgb(8, 153, 199);
}

/* ======================
   HEADER
====================== */
.site-branding { display: none; } /* hides default WP logo block */

.site-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 20px;
  max-width: 100%;
  margin: 0 auto;
  background: rgb(8, 153, 199);
  padding: 15px 20px !important; /* 15px top & bottom, 20px left & right */
  border-bottom: 1px solid #ddd;
}

/* --- Header left: logo + nav --- */
.header-left {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px;
  flex: 1 1 auto;
}

.logo img {
  max-height: 200px;
  width: auto;
  height: auto;
  display: block;
  background-color: white;
  border-radius: 50%;
  border: 5px solid #fff;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

.main-navigation {
  flex: 1 1 auto;
  align-self: flex-end;
  margin-bottom: 15px;
}

.main-navigation .menu {
  display: flex;
  list-style: none;
  gap: 18px;
}

.main-navigation .menu li a {
  text-decoration: none;
  color: white !important;
  font-weight: 500;
}

/* --- Header right: account menu --- */
.header-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  flex: 0 0 auto;
}

.account-menu li { list-style-type: none; }

.account-menu .menu_compte {
  display: flex;
  gap: 10px;
  margin: 15px 0 0 0; /* 15px from top */
}

.account-menu .menu_compte li a {
  text-decoration: none;
  color: white;
  font-weight: normal;
  font-size: 18px;
  padding: 4px 6px;
}

.menu li.menu-item-has-children:focus-within > ul {
  display: block;
}

.account-menu .menu-compte li a:hover {
  color: #0073aa;
}


/* PAGE CONTENT*/

.home-h1 {

      max-width: 1240px;  /* match your site’s design */
  margin: 0 auto;     /* center horizontally */
  padding: 0px;
  margin-bottom: 20px;
  font-size: 32px;
  text-align: center;
}

#content {
    max-width: 1240px;  /* match your site’s design */
  margin: 0 auto;     /* center horizontally */
  padding: 0px;      /* breathing space */
  box-sizing: border-box;
}


/* ======================
   SLIDER
====================== */
.slider_container {
  width: 80%;
  height: 300px;
  margin: 0 auto;
  border-radius: 10px;
  border: 4px solid white;
  overflow: hidden;
}

.slider {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.slides {
  display: flex;
  transition: transform 0.5s ease;
  width: 100%;
  height: 100%;
}

.slide {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.navigation {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  display: none;
}

.nav-btn {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: white;
  margin: 5px;
  cursor: pointer;
  border: none;
  transition: background-color 0.3s ease;
}

.nav-btn.active { background-color: #3152BB; }
.nav-btn:hover { background-color: #f0a500; }


/* ======================
   MOBILE SUBMENU FIX
====================== */

/* Hide submenu by default */
.menu li.menu-item-has-children > ul {
  display: none;
  position: absolute; /* ensures it appears on top */
  background-color: rgb(8, 153, 199);
  list-style: none;
  padding: 10px 0;
  margin: 0;
  z-index: 9999;
}

/* Show submenu when hovering or tapping the parent item */
.menu li.menu-item-has-children:hover > ul,
.menu li.menu-item-has-children:focus-within > ul {
  display: block;
}

/* Make sure submenus display properly on mobile */
@media (max-width: 1024px) {
  .menu li.menu-item-has-children > ul {
    position: static; /* stack under parent */
    background-color: rgba(8, 153, 199, 0.95);
  }

  .menu li.menu-item-has-children:hover > ul,
  .menu li.menu-item-has-children:focus-within > ul {
    display: block;
  }
}



/* ======================
   CONTENT
====================== */
.content_home {
  margin: 50px 5% 0 5%;
}

article {
  width: 100%;
  display: flex;
  align-items: center;
  margin: 30px 0;
}

article img {
  width: 50%;
  height: 100%;
}

article p {
  margin: 30px;
  font-size: 25px;
  text-align: justify;
  color: #3152BB;
}

.front-texte {
  font-size: 22px;
  color: #0073aa;
}

.front-h2{
  font-size: 32px;
}

/* ======================
   FOOTER
====================== */
footer {
  margin-top: 0px;
  height: 280px;
  display: flex;
  width: 100%;
  background: rgb(8, 153, 199);
}

.footer_left, .footer_right {
  width: 50%;
  height: 100%;
}

.footer_right {
	margin-top: 0px;
}

.footer_left p, .footer_right p {
  color: white;
  margin-left: 30px;
  font-size: 20px;
  line-height: 1.4;
}

.footer_right img {
  max-width: 160px;       /* adjust as needed (try 100–150px) */
  height: auto;           /* keeps correct proportions */
  display: block;         /* allows centering with margin */
  margin: 10px auto;      /* centers image horizontally */
  border-radius: 5px;    /* optional: rounded corners */
}






/* WP footer cleanup */
.footer-navigation, .site-info { visibility: hidden; }

/* ======================
   PAGE-SPECIFIC
====================== */
/* Langues pages */
.chinois .container_img_langues img,
.francais .container_img_langues img,
.japonais .container_img_langues img,
.coreen .container_img_langues img {
  width: auto;
  max-width: 100%;
  /*max-width: 1240px;*/
  height: auto;
  max-height: 800px;
  display: block;
  margin: 20px auto;
  border-radius: 10px;
  object-fit: contain;
}

.text_langue {
  font-size: 20px;
  line-height: 1.6;
  text-align: justify;
  color: #3152BB;
  margin: 20px auto;
  max-width: 1000px;
}

/* Maths */
.math_legende {
  font-size: 18px;
  color: #3152BB;
  line-height: 1.5;
  text-align: justify;
  margin: 10px auto 30px auto;
  max-width: 900px;
}

/* Agenda */
.agenda-container {
  margin: 30px auto;
  text-align: center;
}

.btn-contact {
  display: inline-block;
  padding: 12px 25px;
  margin: 20px 0;
  background-color: #3152BB;
  color: white;
  text-decoration: none;
  border-radius: 10px;
  font-size: 18px;
  transition: background 0.3s ease;
}

.btn-contact:hover { background-color: #BA69E1; }

.image-container img {
  display: block;              /* allows margin centering */
  margin: 20px auto;           /* centers horizontally and adds spacing */
  max-width: 90%;              /* responsive width — never exceeds container */
  height: auto;                /* keeps proportions */
  max-height: 1200px;           /* optional limit to avoid huge images */
  border-radius: 10px;         /* optional: smooth corners */
  object-fit: contain;         /* ensures no distortion */
}



/* Background Images */


.page-id-56 #main { /* French */
  background: url('https://aubeeducative-k3kyidhlyr.live-website.com/wp-content/uploads/2025/10/background_french.jpg') no-repeat center center / cover;
  background-attachment: fixed;
}

.my-calendar-month, .day-heading, .weekend-heading, .page-id-56 h3, .page-id-56 .home-h1 {
  background: rgba(0, 0, 0, 0.4) !important;
  color: #f0f0f0 !important;
  font-size: 24px;
}


.page-id-58 #main { /*Chinese */
  background: url('https://aubeeducative-k3kyidhlyr.live-website.com/wp-content/uploads/2025/10/background_chinese.jpg') no-repeat center center / cover;
  background-attachment: fixed;
}




.page-id-58 body{ /*Chinese*/

}


/* Contact page */
.page-id-52 h1 { display: none; }
#post-52 { display: inline; }

.page-id-52 .wpforms-container,
.page-id-52 .wpforms-container .wpforms-form {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 20px;
}

.page-id-52 .wpforms-form input,
.page-id-52 .wpforms-form textarea,
.page-id-52 .wpforms-form select {
  width: 100%;
}

/* ======================
   RESPONSIVE
====================== */
@media screen and (max-width: 1024px) {
  /* Footer stacked */
  footer {
    flex-direction: column;
    height: 260px;
    align-items: flex-start;
  }
  .footer_left, .footer_right {
    width: 100%;
    text-align: center;
    margin: 10px 0;
  }
  .footer_left p, .footer_right p {
    margin: 30px;
    font-size: 22px;
  }

  /* Articles stacked */
  article { flex-direction: column; }
  article:nth-of-type(2), article:nth-of-type(4) {
    flex-direction: column-reverse;
  }
  article img { width: 100%; margin-bottom: 20px; }
  article p { width: 90%; font-size: 20px; text-align: center; }

  /* Slider hidden */
  .slider_container { display: none; }

  /* Header gradient */
  header {
    background: linear-gradient(to right, white 13%, #3152BB 40%, #BA69E1 100%);
    padding-bottom: 15px;
  }

  /* Nav wrap */
  nav ul {
    flex-wrap: wrap;
    justify-content: center;
  }
  nav ul li { flex: 1 1 45%; text-align: center; margin: 10px 0; }
  nav ul li a { font-size: 24px; }

  h1 { font-size: 26px; margin: 0 15px; }
  .content_home { margin-top: 0; }
}




/* Mobile header layout */


@media (max-width: 1112px) {
  .site-header {
    flex-direction: column !important;
    align-items: center !important;
    row-gap: 5px !important;
  }

  .header-right {
    order: 1;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 30px !important;
    margin-bottom: 10px;
  }

  .header-left {
    order: 2;
    width: 100%;
    justify-content: space-between;
  }

  .account-menu .menu_compte {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: nowrap;
  }
}



@media (max-width: 768px) {
  .site-header {
    flex-direction: column;
    align-items: center;
    padding-top: 15px;
  }

  /* Account menu at top, centered */
  /*.header-right {
    order: 1;
    height: 30px !important;
    
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
  }*/

@media (max-width: 768px) {
    .site-header {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    row-gap: 5px !important;
  }


  .site-header .header-right {
    height: 30px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 auto !important;	
  }
	
	.site-header .header-left {
		margin-right: 30px !important;
	}
	
	#menu-menu-nav{
		padding-left: 20px !important; 
	}
	
	#menu-menu-nav li {
		margin-top: 7px !important;
		margin-bottom: 7px !important;
	}
	

  /* Make sure the menu_compte links are inline */
  .site-header .account-menu .menu_compte,
  .site-header .account-menu .menu-compte {
    display: flex !important;
    flex-direction: row !important;       /* force horizontal layout */
    justify-content: center !important;   /* center horizontally */
    align-items: center !important;       /* center vertically */
    width: 100% !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-wrap: nowrap !important;         /* prevent wrapping */
  }

  /* Ensure li elements behave inline */
  .site-header .account-menu .menu_compte li,
  .site-header .account-menu .menu-compte li {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Style for links */
  .site-header .account-menu .menu_compte li a,
  .site-header .account-menu .menu-compte li a {
    font-size: 18px !important;
    padding: 0 6px !important;
    line-height: 1 !important;
    color: white !important;
    text-decoration: none !important;
  }
	
	footer {
  	height: 560px;
  }
	
	
	
}

 

/*
  .header-right .menu,
  .header-right .menu-compte {
    display: flex;

    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
  }

  .header-right .menu-compte{
    flex-direction: row !important;
  }
*/





  /* Logo + menu_nav below */
  .header-left {
    order: 2;
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  .header-left .logo img {
    margin-top: 30px;
    width: 150px;
    height: auto;
  }

  .menu_nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-left: 10px;
  }

  .site-header .main-navigation .menu {
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px !important;   /* reduce vertical + horizontal gap */
    line-height: 1.2 !important; /* tighter line spacing */
  }

  .site-header .main-navigation .menu li a {
    padding: 4px 8px !important; /* reduce internal link padding */
    font-size: 20px !important;  /* optional: slightly smaller text */
  }




}
