/* ==================================================
   MONTESSORI… MAIS PAS QUE — CSS PROPRE
   ================================================== */


/* ===== BASE ===== */

body,
#page,
.site {
  background: #fffdfb !important;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

hr,
.separator {
  display: none !important;
}


/* ===== PAGES classiques sans sidebar ===== */

body.page:not(.woocommerce) #primary,
body.page:not(.woocommerce) .primary,
body.page:not(.woocommerce) .content-area,
body.page:not(.woocommerce) .site-main {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* ===== PAGE ACCUEIL ===== */

.home #secondary {
  display: none !important;
}

.home #primary {
  width: 100% !important;
  max-width: 100% !important;
}


/* ===== PAGE SPÉCIFIQUE : ACCUEIL / ELEMENTOR ===== */

.page-id-33224 .entry-title {
  display: none !important;
}

.page-id-33224 .site-content,
.page-id-33224 .content-area,
.page-id-33224 #main,
.page-id-33224 .site-main,
.page-id-33224 article,
.page-id-33224 .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
  box-shadow: none !important;
  background: #fffdfb !important;
}
/* Supprimer la sidebar hors blog */
body.page:not(.woocommerce) #secondary,
body.page:not(.woocommerce) .sidebar,
body.page:not(.woocommerce) .widget-area {
  display: none !important;
}

/* Masquer les titres des pages */
body.page .entry-title,
body.page .page-title,
body.page h1.entry-title {
    display: none !important;
}
/* Contenu pleine largeur hors blog */
body.page:not(.woocommerce) #primary,
body.page:not(.woocommerce) .content-area,
body.page:not(.woocommerce) .site-main {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* ===== HEADER ===== */

.site-header,
.header-wrapper,
.navigation-top,
.main-navigation,
#site-navigation,
.nav-primary {
  border: none !important;
  box-shadow: none !important;
}

.site-header {
  background: #fffdfb !important;
  padding-bottom: 0 !important;
}

.site-header::before,
.site-header::after,
.main-navigation::before,
.main-navigation::after {
  display: none !important;
}

.site-branding,
.custom-logo-link,
.site-logo,
.site-title,
.header-image,
.custom-header,
.social-navigation,
.jetpack-social-navigation {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* ===== MENU DESKTOP ===== */

.main-navigation,
#site-navigation {
  background: transparent !important;
  width: auto;
  max-width: none;
  margin: 8px auto 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0;
  box-shadow: none !important;
}

.main-navigation ul,
#site-navigation ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.main-navigation li,
#site-navigation li {
  position: relative !important;
  padding-bottom: 12px !important;
}

.main-navigation a,
#site-navigation a {
  display: block;
  padding: 10px 14px !important;
  border-radius: 999px;
  color: #2f2b28 !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2px !important;
  line-height: 1.3;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: all 0.25s ease;
}

.main-navigation a:hover,
#site-navigation a:hover,
.current-menu-item > a,
.current_page_item > a {
  background: #efe6df !important;
  color: #8f5f58 !important;
}


/* ===== SOUS-MENUS DESKTOP ===== */

.main-navigation ul ul,
#site-navigation ul ul {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  position: absolute !important;
  top: 100% !important;
  min-width: 300px !important;
  margin-top: 0 !important;
  padding: 14px !important;
  background: #fffdfb !important;
  border: none !important;
  border-radius: 24px !important;
  box-shadow: 0 22px 50px rgba(60, 40, 30, 0.12) !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
}

.main-navigation li:hover > ul,
#site-navigation li:hover > ul {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.main-navigation ul ul li,
#site-navigation ul ul li {
  display: block !important;
  width: 100% !important;
  float: none !important;
  padding-bottom: 0 !important;
}

.main-navigation ul ul a,
#site-navigation ul ul a {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
  white-space: normal !important;
}

.main-navigation ul ul a:hover,
#site-navigation ul ul a:hover {
  background: #f5eee8 !important;
  color: #8f5f58 !important;
  transform: none !important;
}


/* ===== SOUS-SOUS-MENUS DESKTOP ===== */

.main-navigation ul ul ul,
#site-navigation ul ul ul {
  position: absolute !important;
  top: 0 !important;
  left: 100% !important;
  margin-top: 0 !important;
  margin-left: -6px !important;
  z-index: 99999 !important;
}


/* ===== LIENS NON CLIQUABLES DU MENU ===== */

.menu-no-link > a {
  pointer-events: none !important;
  cursor: default !important;
}


/* ===== FOOTER ===== */

footer,
.wp-block-template-part,
.site-footer {
  background: #fffdfb !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* ===== COMMENTAIRES ===== */

.comments-area,
#comments,
.comment-respond {
  display: none !important;
}


/* ===== BLOC RESSOURCES GRAPHOTHÉRAPIE ===== */

.mpq-grapho-ressources {
  max-width: 1180px;
  margin: 70px auto 40px;
  padding: 46px 34px;
  background: #f8efea;
  border-radius: 30px;
  text-align: center;
}

.mpq-grapho-ressources h2 {
  margin-bottom: 12px;
  font-size: 34px;
}

.mpq-grapho-ressources-intro {
  max-width: 680px;
  margin: 0 auto 34px;
  font-size: 17px;
  line-height: 1.6;
}

.mpq-grapho-ressources-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.mpq-grapho-card {
  display: block;
  padding: 32px 24px;
  background: #fff;
  border-radius: 24px;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mpq-grapho-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.09);
}

.mpq-grapho-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  border-radius: 50%;
  background: #f2ded5;
  color: #b56f5d;
  font-size: 26px;
}

.mpq-grapho-card h3 {
  margin-bottom: 12px;
  font-size: 21px;
  line-height: 1.3;
}

.mpq-grapho-card p {
  margin-bottom: 20px;
  font-size: 15px;
  line-height: 1.55;
}

.mpq-grapho-link {
  color: #b56f5d;
  font-weight: 600;
}


/* ===== MOBILE ===== */

@media (max-width: 768px) {

  .site-header img,
  .custom-header img,
  .header-image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  .main-navigation,
  #site-navigation {
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px auto 12px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .main-navigation ul,
  #site-navigation ul {
    display: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .main-navigation.toggled ul,
  #site-navigation.toggled ul,
  .main-navigation[aria-expanded="true"] ul,
  #site-navigation[aria-expanded="true"] ul {
    display: block !important;
  }

  .main-navigation li,
  #site-navigation li {
    display: block !important;
    width: 100% !important;
    padding-bottom: 0 !important;
    text-align: left !important;
  }

  .main-navigation a,
  #site-navigation a,
  li.menu-contact > a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 18px !important;
    border-radius: 0 !important;
    color: #2f2b28 !important;
    font-size: 18px !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .main-navigation ul ul,
  #site-navigation ul ul,
  .main-navigation ul ul ul,
  #site-navigation ul ul ul {
    display: none !important;
    position: static !important;
    min-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 0 20px !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .main-navigation li:hover > ul,
  #site-navigation li:hover > ul,
  .main-navigation li:focus-within > ul,
  #site-navigation li:focus-within > ul {
    display: block !important;
  }

  .main-navigation ul ul a,
  #site-navigation ul ul a {
    padding: 10px 18px !important;
    font-size: 15px !important;
    background: transparent !important;
  }

  h1 {
    font-size: 34px !important;
    line-height: 1.2 !important;
  }

  h2 {
    font-size: 28px !important;
    line-height: 1.3 !important;
  }

  h3 {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }

  section {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }

  .mpq-grapho-ressources {
    padding: 34px 20px;
  }

  .mpq-grapho-ressources-grid {
    grid-template-columns: 1fr;
  }
body:not(.blog):not(.single-post):not(.archive) {
    overflow-x: hidden !important;
}

body:not(.blog):not(.single-post):not(.archive) #page,
body:not(.blog):not(.single-post):not(.archive) .site,
body:not(.blog):not(.single-post):not(.archive) .site-content {
    overflow-x: hidden !important;
}