/*
 Theme Name: GeneratePress Child
 Theme URI: https://jeffpdental.com
 Description: Theme Child GP
 Author: Jeff P
 Template: generatepress
 Version: 11-07-25
*/



/* ====================================================
  #VIGNETTE BUREAU
==================================================== */

.wp-block-latest-posts__list.is-grid li a{
  position: relative;
}

.wp-block-latest-posts__list.is-grid {
  margin: auto;
}

.wp-block-latest-posts__list.is-grid li,
.post-content {
  background: #fff;
  border: 1px solid #e7e7e7;
  border-radius: 10px;
}

.wp-block-latest-posts__list.is-grid li .text-block {
  padding: 10px;
  margin: 0;
}

h2.entry-title,
.wp-block-latest-posts__post-title {
  font-size: 22px;
  font-weight: bold !important;
  color: #000 !important;
  text-decoration: none;
  line-height: 1.2em;
  display: block;
  margin: 0;
}

.wp-block-latest-posts__post-excerpt {
  font-size: 16px;
}

.wp-block-latest-posts__featured-image {
  width: 100%;
  overflow: hidden;
  display: block;
  border-radius: 10px 10px 0 0;
  margin: 0;
}

.wp-block-latest-posts__featured-image img {
  width: 100% !important;
  height: auto !important;
  display: block;
}

.wp-block-latest-posts__featured-image a {
  display: block;
}


/* ====================================================
  #VIGNETTE Mobile <980px 
==================================================== */
@media (max-width: 980px) {
  .wp-block-latest-posts__list.is-grid {
    display: block !important; 
  }

  .wp-block-latest-posts__list.is-grid li {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    border-radius: 10px;
    overflow: hidden;
    width: 100% !important;
    margin: 0 0 1.25em 0;
  }

  .wp-block-latest-posts__featured-image {
    flex: 0 0 130px;
    width: 130px !important;
    height: 130px;
    margin: 0 !important;
    border-radius: 8px 0 0 8px;
    overflow: hidden;
  }

  .wp-block-latest-posts__featured-image img {
    width: 100% !important;
    height: 100% !important; 
    object-fit: cover;
    display: block;
  }

  .wp-block-latest-posts__list.is-grid li .text-block {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 10px;
  }

  .wp-block-latest-posts__post-title {
    font-size: 22px;
    line-height: 1.4em;
    margin: 0 0 0.5em 0;
  }

  .wp-block-latest-posts__post-excerpt {
    font-size: 16px;
    line-height: 1.4em;
    margin: 0;
  }
}

/* Mobile Standard */
@media (max-width: 760px) {
  .wp-block-latest-posts__post-title {
    font-size: 18px;
    line-height: 1.3em;
    margin: 0 0 0.5em 0;
  }

  .wp-block-latest-posts__post-excerpt {
    font-size: 15px;
    line-height: 1.3em;
    margin: 0;
  }
}

/* Mobile Standard */
@media (max-width: 500px) {
  .wp-block-latest-posts__post-title {
    font-size: 15px;
    line-height: 1.2em;
    margin: 0 0 0.5em 0;
  }

  .wp-block-latest-posts__post-excerpt {
    font-size: 13px;
    line-height: 1.2em;
    margin: 0;
  }
}

/* Mobile Small */
@media (max-width: 360px) {
  .wp-block-latest-posts__post-title {
    font-size: 13px;
    line-height: 1.2em;
    margin: 0 0 0.5em 0;
  }

  .wp-block-latest-posts__post-excerpt {
    font-size: 12px;
    line-height: 1.2em;
    margin: 0;
  }
}

/* === Hover vignette / liste === */
.wp-block-latest-posts__list.is-grid li {
  transition: all 0.15s ease;
}

.wp-block-latest-posts__list.is-grid li:hover {
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  transform: translateY(-4px) scale(1.01);
  cursor: pointer;
  border: 1px solid #dddddd;
}


/* ====================================================
  #END VIGNETTE
==================================================== */




.wp-block-group.nomarge{margin-bottom: 0 !important}

/* Blank page Garder le footer pour le blank page à la place */
.entry-content {margin-bottom: 0 !important;}


/* ====================================================
  #UNDER MENU
==================================================== */
.menu-item-has-children > a {
  display: inline-flex;
  align-items: center;
}

.dropdown-menu-toggle {
  display: inline-flex;
  align-items: center;
}

.gp-icon.icon-arrow {
  display: block;
  height: 35px;
}

.main-navigation:not(.toggled) ul li.sfHover>ul, .main-navigation:not(.toggled) ul li:hover>ul {
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

.main-navigation .main-nav ul ul {
  position: absolute;
  top: 100%; 
  left: 0;
  padding: 8px 0;
}

.main-navigation ul ul{
  box-shadow: none;
}

.main-navigation .main-nav ul ul li a {
    line-height: normal;
    padding: 10px;
    font-size: 19px;
}

@media (max-width: 768px){
.main-navigation .main-nav ul ul li a{
  padding-left: 40px;
  line-height: 1.4em !important;
  font-size: 17px;
}}

.menu-item-has-children .dropdown-menu-toggle{
  padding-right: 0;
  padding-left: 3px;
}

.toggled .menu-item-has-children .dropdown-menu-toggle {
    padding-left: 3px;
}

/* ====================================================
  #MODAL + ICONE
==================================================== */

/* === WHATSAPP BUBBLE === */
#whatsapp-bubble {
  position: fixed;
  bottom: 25px;
  right: 18px;
  z-index: 9999;
}

#wa-btn {
  background: #25d366;
  border: none;
  border-radius: 50%;
  width: 55px;
  height: 55px;
  font-size: 0;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
}

#wa-btn .icon {
  width: 32px;
  height: 32px;
}

#wa-popup {
  display: none;
  position: absolute;
  bottom: 80px;
  right: 0;
  background: #fff;
  padding: 10px;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  width: 175px;
  text-align: center;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

#wa-popup p,
#wa-popup a {
  margin-bottom: 0;
  font-weight: bold;
  font-size: 17px;
}

#wa-popup img {
  margin: 10px 0;
}

#wa-popup a {
  color: #25d366;
  text-decoration: none;
}

/* === LANG GLOBE === */
.floating-lang-button {
  position: fixed;
  bottom: 25px;
  right: 95px;
  z-index: 9999;
}

.floating-lang-button button {
  background: #2196f3;
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
}

.floating-lang-button .icon {
  width: 32px;
  height: 32px;
}

/* === ICONE SPRITE BASE === */
.icon {
  display: inline-block;
  width: 32px;
  height: 32px;
  background: url('/wp-content/themes/gp_child/img/sprite.svg') no-repeat;
  background-size: 64px 32px;
}

.icon--wa       { background-position:   0   0; }
.icon--globe    { background-position: -32px 0; }

.main-navigation .main-nav li.icon a {
  text-indent: -9999px;
  overflow: hidden;
  display: inline-block;
  width: 32px;
  height: 32px;
}


/* === LANG POPUP === */
.lang-popup {
  display: none;
  position: fixed;
  bottom: 80px;
  right: 90px;
  background: #fff;
  padding: 0 0 5px 15px;
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  width: 130px;
  z-index: 9999;
}

.lang-popup.visible {
  display: block;
}

.lang-popup-inner {
  text-align: left;
}

.lang-popup ul.lang-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.lang-popup ul.lang-list li {
  margin: 8px 0;
}

.lang-popup ul.lang-list li a {
  text-decoration: none;
  border-bottom: 1px solid transparent;
  color: #000;
  font-size: 16px;
}

.lang-popup ul.lang-list li a:hover {
  border-bottom: 1px solid #000;
}

.lang-popup ul.lang-list li a span {
  font-weight: 700;
  display: inline-block;
  width: 30px;
}


/* ====================================================
  #GENERAL SITE STYLES 
==================================================== */
body, .separate-containers .inside-article {
    background: #fafafa;
}

.main-navigation a, body, button, input, select, textarea{
    font-size: 19px; 
    line-height: 1.4;
}

::selection {background: #18ee9bb5;}

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

.site {
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

.site-content {
    flex: 1 0 auto;
    margin: 30px 0;
}

.site-footer {
    flex-shrink: 0;
}

p {
    margin-bottom: 1em;
}

hr {background-color: rgba(0, 0, 0, 0);}

/* ====================================================
  #TYPOGRAPHY & TEXT ELEMENTS
==================================================== */

h1{font-size: 38px;}
h2{font-size: 32px;}
h3{font-size: 26px;}
h6{font-size: 17px;}


@media (max-width: 980px) {
  h1{font-size: 32px;}
  h2{font-size: 26px;}
  h3{font-size: 22px;}
}

@media (max-width: 599px) {
  h1{font-size: 30px;}
  h2{font-size: 24px;}
  h3{font-size: 20px;}
}

.wp-block-heading{margin-bottom: 0 !important;}

/* Block text styles */
.entry-content > :is(p, h1, h2, h3, h4, h5, h6, blockquote, pre, .wp-block-group, .wp-block-coblocks-accordion, .wp-block-buttons) {
  max-width: 840px;
  margin: 0 auto;
  margin-bottom: 1em;
}

/* Espacement des titles */
.entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
  padding: 20px 0;
  font-weight: 700;
}
.home .entry-content h2, .home .entry-content h3, .home .entry-content h4, .home .entry-content h5, .home .entry-content h6 {padding: 0;}

body.vertical_menu > > :is(p, h1, h2, h3, h4, h5, h6, blockquote, pre, .wp-block-group, .wp-block-coblocks-accordion, .wp-block-buttons) {
  max-width: 840px;
  margin: 0 auto;
  margin-bottom: 1em;
}

ul.wp-block-list, 
ol.wp-block-list, 
.wp-block-group ul, 
.wp-block-group ol{
  max-width: 840px;
  margin: 0 auto;
  padding-left: 20px;
}

.alignfull ul.wp-block-list, 
.alignfull ol.wp-block-list{
  padding-left: 38px !important;
  padding-right: 9px !important;
}

.alignfull .wp-block-coblocks-accordion {
  padding: 0 13px !important;
}

.wp-block-group.alignfull .wp-block-coblocks-accordion :is(p, h1, h2, h3, h4, h5, h6) {
  padding: 0 10px !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.wp-block-list li, .wp-block-list ol {
  margin-bottom: .6em;
}

.wp-block-group.alignfull :is(p, h1, h2, h3, h4, h5, h6) {
  padding-left: 15px !important;
  padding-right: 15px !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.alignfull.wp-block-group ul.wp-block-list, 
.alignfull.wp-block-group ol.wp-block-list, 
.alignfull.wp-block-group .wp-block-coblocks-accordion,
.alignfull.wp-block-group .wp-block-buttons{
  max-width: 1440px;
  margin: 0 auto;
}

.alignfull.wp-block-group .wp-block-buttons{
  padding: 0 15px;
}


/* Espace des blocs */
.wp-block-cover, 
.wp-block-coblocks-gallery-masonry, 
.wp-block-image, 
.wp-block-gallery, 
.wp-block-embed__wrapper{
  margin-bottom: 1.5em;
}

 .wp-block-heading{
    margin-bottom: .3em !important;
 }

.site-main .wp-block-group__inner-container, 
.size-full {
  padding: 0 !important;
}

/* ====================================================
  #LAYOUT & STRUCTURE
==================================================== */
.alignfull{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-100vw / 2 + 100% / 2) !important;
  margin-right: calc(-100vw / 2 + 100% / 2) !important;
}

.entry-content{
    padding: 0 10px;
    margin-bottom: 3em;
}

:where(.wp-block-columns.has-background) {
    padding: 0 10px;
}

:where(.wp-block-group.has-background) {
    padding: 10px;
}

.separate-containers .site-main, .site-content  {
    margin:0 !important;
}

.page-header, .sidebar .widget, .site-main>* {
    margin-bottom: 0;
}

.separate-containers .inside-article{
    padding:0 !important;
}

.entry-content:not(:first-child){
    margin-top: 0;
}

.site {
  margin-top: 2em;
  margin-bottom: 3em;
}

body.single-post .site,
body.page .site {
  margin-top: 0;
  margin-bottom: 0;
}

body.home .entry-content:not(:first-child){
    margin-top: 0;
}

#primary {
    width: 100%;
}

#right-sidebar {
    display: none;
}

/* ====================================================
  #HEADER & NAVIGATION
==================================================== */
/* Header structure */
.site-header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
}

.site-header.has-inline-mobile-toggle {
  position: sticky;
}

.inside-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100px;
  padding: 0 15px;
  border-bottom: 1px solid #e4e4e4;
}

/* lOGO Menu & Footer */
.main-title {
    font-size: 32px;
    font-style: italic;
    font-weight: 900;
    line-height: 1;
}

.main-title a:hover{
  opacity: .7;
}

.site-branding {
    display: flex;
    align-items: center;
    flex-direction: column;
}

.site-name {
    font-weight: 900 !important;
    font-size: 30px;
    font-style: italic;
    line-height: .6;
}

/* Desktop navigation */
.main-navigation,
.main-navigation ul ul {
  background-color: transparent;
}

.main-navigation .inside-navigation {
  justify-content: end;
}

.main-navigation .main-nav ul li a {
  line-height: 47px;
  padding-left: 30px;
  padding-right: 0;
}

/* Mobile navigation */
.has-inline-mobile-toggle .mobile-menu-control-wrapper {
  position: relative;
  z-index: 999;
}

.mobile-menu-control-wrapper {
  display: flex;
  align-items: center;
  height: 100%;
}

.mobile-menu-control-wrapper .menu-toggle,
.mobile-menu-control-wrapper .menu-toggle:hover,
.mobile-menu-control-wrapper .menu-toggle:focus,
.has-inline-mobile-toggle #site-navigation.toggled {
  background-color: transparent;
}

.menu-toggle:before {
  font-size: 26px;
  font-weight: bold;
}

.menu-toggle{
  padding: 0;
  margin-top: 10px;
}

/* Tablet menu center */
@media (max-width: 768px){
.main-navigation .main-nav ul li a {
  padding-left: 20px;}

  #site-navigation.toggled {
    width: 320px;
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    z-index: 100;
    overflow-y: auto;
  }
  
  #primary-menu.main-nav {
    background: #fff;}
}

.main-navigation.toggled .main-nav {
  margin-top: 89px;
}

.has-inline-mobile-toggle #site-navigation.toggled {
  margin-top: 0;
}

/* ====================================================
  #VERTICAL MENU STYLES
==================================================== */

/* Menu vertical fixe à gauche */
body.vertical_menu .main-navigation.toggled .main-nav > ul {
    padding-right: 0;
}

@media (max-width: 769px) {
body.transparent_menu .entry-content{margin-top: 50px !important;}
body.transparent_menu.vertical_menu .entry-content{margin-top: 0 !important;}
}

@media (min-width: 1300px) {
  .vertical_menu .reusable-block-after-article{
    padding-left: 90px !important;
    padding-right: 90px !important;}
}

/* Horizontal */
@media (max-width: 802px) and (min-width: 769px) {
 .transparent_menu{margin-top: -42px !important;}
}

/* Menu vertical Action à 1080px et plus */
@media (min-width: 1080px) {
  body.vertical_menu .entry-content > *:not(.alignfull){
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;}

  body.vertical_menu .sub-menu {
    margin-left: 25px;
    margin-top: -10px;}

  body.vertical_menu .main-navigation .main-nav ul li a {
    padding-left: 0;}

 .transparent_menu.vertical_menu{
    margin-top: 150px !important;}

  .vertical_menu.nav-float-right #site-navigation{
     margin-left: inherit;}


  body.vertical_menu .entry-content > :is(p, h1, h2, h3, h4, h5, h6, blockquote, pre, 
  .wp-block-group, .wp-block-coblocks-accordion, .wp-block-list) {
    max-width: 840px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5em;
  }

  body.vertical_menu header.site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 270px;
    height: 100vh;
    background: #fff;
    display: flex;
    flex-direction: column;
    padding: 40px 10px 0;
    z-index: 999;}

  body.vertical_menu .inside-header,
  body.vertical_menu .main-navigation,
  body.vertical_menu .inside-navigation {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
    border-bottom: none;
    width: 250px;}

  body.vertical_menu .main-navigation .main-nav {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 250px;
    margin-top: 60px;}

  body.vertical_menu .main-navigation .main-nav > ul {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    margin: 0;}

  body.vertical_menu .main-navigation .main-nav > ul > li,
  body.vertical_menu .main-navigation .main-nav > ul > li > a {
    display: block;
    width: 100%;}

  .vertical_menu .site-branding {
    flex-direction: row;
    display: block;
    width: 225px;
  }

  body.vertical_menu #mobile-menu-control-wrapper {
    display: none !important;}

  body.vertical_menu.transparent_menu header.site-header {
    background-color: #fff !important;
    box-shadow: none !important;}

  body.vertical_menu.transparent_menu .main-navigation,
  body.vertical_menu.transparent_menu .inside-header {
    background-color: inherit !important;}

  body.vertical_menu .grid-container,
  body.vertical_menu .site-footer  {
    max-width: calc(100% - 270px);
    margin-left: 270px;
    margin-right: 0;
    width: 100%;}

  .vertical_menu .alignfull {
    width: 100% !important;
    margin: auto !important;}

  .vertical_menu .entry-content > .alignfull {
    margin-left: -10px !important;
    margin-right: -10px !important;
    width: calc(100% + 20px) !important;
    margin-bottom: 1.5em !important;
  }
}

/* ====================================================
  #TRANSPARENT MENU STYLES
==================================================== */
.hide_title .entry-header {
  display: none !important;
}

.transparent_menu #content.site-content {
  margin-top: -150px !important;
}

/* Initial transparent state */
.transparent_menu .site-header,
.transparent_menu .main-navigation,
.transparent_menu .main-navigation ul ul {
  background-color: transparent !important;
  transition: background-color 0.3s ease;
}

/* Remove header border */
.transparent_menu .inside-header {
  border-bottom: none !important;
}

/* Menu transparent */
@media (max-width: 768px) {
  .main-navigation .inside-navigation {
    margin-top: -100px !important;
  }
}

/* Mobile toggle z-index */
.transparent_menu .has-inline-mobile-toggle .mobile-menu-control-wrapper {
  z-index: 999 !important;
}

/* ====================================================
  #SCROLL MENU EFFECTS
==================================================== */
.navigation-stick,
.main-navigation.is_stuck,
.sticky-enabled .site-header {
  position: relative !important;
  top: auto !important;
  z-index: auto !important;
}

body.hide-menu .site-header {
  top: -200px !important;
  opacity: 0 !important;
}

body.show-menu-on-scroll-up .site-header {
  position: fixed !important;
  top: 0 !important;
  width: 100% !important;
  z-index: 999 !important;
  opacity: 1 !important;
}

body.transparent_menu.show-menu-on-scroll-up .site-header {
  background-color: rgba(255, 255, 255, 0.5) !important;
  backdrop-filter: blur(15px);
}

/* Bug scroll horizontal*/
body:not(.gp-menu-open) {
  overflow-x: hidden;
}

/* Supprime le bug du scoll top */
body.show-menu-on-scroll-up {
  padding-top: 100px; 
}

/* ====================================================
  #SOCIAL ICONS IN MENU FONT8
==================================================== */
@media (max-width: 768px) {
  .main-navigation.toggled .main-nav > ul {
    text-align: center;
    padding-top: 140px !important;
    height: 101vh;
    border-left: solid 1px #e4e4e4;
  }

  .main-navigation.toggled .main-nav > ul > li.social {
    display: ruby;
    margin: 0 auto;
    padding: 0 10% 0 5%;
  }
}

/* ====================================================
  #BLOCK STYLES
==================================================== */
@media only screen and (min-width: 620px) and (max-width: 1080px) {
    figure.wp-block-coblocks-gallery-masonry.masonry-grid {
        column-count: 2 ;}
}

/* Accordion block */
.wp-block-coblocks-accordion-item__content {
  border: none;
  padding: 20px 0;
}

/* Accordion title */
.wp-block-coblocks-accordion-item__title,
.wp-block-coblocks-accordion-item__title:hover:after {
  background: none !important;
  border-radius: 0;
  user-select: none;
}

.wp-block-coblocks-accordion-item__title {
  border-bottom: 2px solid #666;
  font-weight: bold;
  font-size: 20px;
  cursor: pointer;
  padding: 0 0 5px 3px !important;
}

/* Reusable blocks */
.reusable-block-after-article{
  padding: 0 10px;
}

/* Media text block */
@media (max-width: 599px) {
  .wp-block-media-text>.wp-block-media-text__content {
    padding: 0;}
}

/* Columns block */
@media (max-width: 781px) {
  :where(.wp-block-columns.is-layout-flex) {
    gap: 1em;
    margin-bottom: 1em;}
}

/* Image full width mobile */
.wp-block-image > a,
.wp-block-image > figure > a {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* add bloc For accordeon */
.wp-block-coblocks-accordion .wp-block-columns {
    margin: 1.3em 0 0;
}

/* Si une img dans accordeon */
.wp-block-columns .wp-block-image {
    margin-bottom: 0;
}

@media (max-width: 781px) {
.wp-block-coblocks-accordion .wp-block-columns :is(p, h1, h2, h3, h4, h5, h6){
  margin-bottom: 1.3em !important;}

.alignfull .wp-block-coblocks-accordion .wp-block-columns :is(p, h1, h2, h3, h4, h5, h6){
  padding: 0 10px !important;}
}

.wp-block-button{
  height: 3em;
  margin-bottom: 1em !important;
}

/* ====================================================
  #PAGES & ARTICLES
==================================================== */
.inside-article .entry-header {
  padding-top: 30px;
}

@media (max-width: 768px) {
  .inside-article .entry-header {
    padding-top: 10px;
  }
}

.home .inside-article .entry-header {
  padding-top: 0;
}

body.page .entry-title,
body.single .entry-title {
  text-align: center;
  font-weight: bold;
  padding: 10px 10px 40px;
}

.related{
  font-size: 26px;
  font-weight: 700;
}

/* ====================================================
  #ARCHIVE & CATEGORY PAGES
==================================================== */
/* Grille principale */
body.archive .site-main, 
body.blog .site-main, 
body.category .site-main {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-content: center;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
}

/* Chaque article */
body.archive .site-main > article,
body.blog .site-main > article,
body.category .site-main > article {
  width: calc(33.333% - 20px);
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  overflow: hidden;
}

/* Image */
.inside-article img,
.post-content img {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
  border: 0;
}

/* Conteneur du texte */
.post-content {
  padding: 10px 10px 15px 10px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Pagination */
body.archive .site-main > nav,
body.blog .site-main > nav,
body.category .site-main > nav {
  width: 100%;
  display: block;
  margin-top: 10px;
} 

/* Responsive Layout */
@media (max-width: 768px) {
  body.archive .site-main > article,
  body.blog .site-main > article,
  body.category .site-main > article {
    width: calc(50% - 20px);}
}

@media (max-width: 480px) {
  body.archive .site-main > article,
  body.blog .site-main > article,
  body.category .site-main > article {
    width: 100%;}
}


/* Vignette cat */
@media (max-width: 768px) {
  .container.grid-container {
    padding: 0 ;
  }
}

@media (max-width: 480px) {
  body.category .container.grid-container {
    padding: 0 10px;
  }
}

body.category .entry-summary:not(:first-child){
  margin-top: 1em;
}

/* ====================================================
  #FOOTER
==================================================== */
.footer-pages{
	padding:20px 0 15px 0;
}

.site-info .footer-pages a {
    color: #000; 
    text-decoration: none;
}

.site-info .footer-pages a:hover {
    text-decoration: underline !important;
}

.site-footer{padding-top:150px}
.home .site-footer{padding-top:0}


.site-description {
    line-height: 1.2;
}

p.site-description, span.site-description {
    font-weight: 600;
    font-size: 17px;
}

.site-info-custom{
  font-size: 9pt;
}

.site-description, .main-title a{
  color: #000;
}


.site-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 125px;
  border-top: 1px solid #e4e4e4;
  line-height: .4;
  padding-top: 20px;
  padding-bottom: 10px;
}

#nav-below{
  text-align: center;
  padding: 15px;
  margin-bottom: 20px;
  background: #ffffff00;
}

/* ====================================================
  #PASSWORD PROTECTED PAGES
==================================================== */
input[type="password"],
input[type="submit"] {
  width: 100%;
  border-radius: 12px;
  margin-bottom: 30px;
  box-sizing: border-box;
  height: 55px;
  border: solid 2px #eee;
}

/* Mot de passe */
input[type="password"] {
  background-color: #fff !important;
}

input[type="password"]:hover,
input[type="password"]:focus {
  border-color: #7feb2e;
}

/* Bouton*/
input[type="submit"] {
  background-color: #fff;
  color: #000;
  cursor: pointer;
}

input[type="submit"]:hover{
  background-color: #000;
}

/* Formulaire */
.post-password-form {
  width: 600px;
  margin: auto;
  padding-top: 90px;
}

@media (max-width: 599px) {
  .post-password-form {
    width: auto;
  }
}

/* ====================================================
  #LIGHTBOX STYLES
==================================================== */
.coblocks-lightbox{z-index:99999} 
.coblocks-lightbox__image img{max-height:85vh; max-width:100vw} 
.coblocks-lightbox__count{font-size:15px} 
@media (max-width:981px){.coblocks-lightbox__image{padding-top:0}} 
.coblocks-lightbox__arrow {background-color:transparent; border:none} 
.coblocks-lightbox__arrow>div{background-color:#000} 
.coblocks-lightbox__caption{color:#fff!important}
.pswp__button--arrow--right:before,.pswp__button--arrow--left:before{background: none !important; font-size:42px} 
.pswp__button--arrow--left:before{content:"\2039" !important; color:#000}
.pswp__button--arrow--right:before{content:"\203a" !important; color:#000}
.pswp__button.pswp__button--share:before{content:"\21A7"!important; font-size:30px; color:#000; line-height:.8em}/* download */
.pswp__button{background:none!important}
.pswp__counter,.pswp__caption__center{color:#000}
.lightbox-0 img{cursor:pointer}
.pswp__icn {fill:#fff0; color: #000000;}
.pswp__icn-shadow {stroke: #ffffff00; fill: #000;}
.pswp__counter {text-shadow:none; opacity:1;}
.pswp__top-bar, .pswp__caption {color:#000;}
.pswp--zoom-allowed .pswp__button--zoom, .pswp__button.pswp__button--fullscreen-button {display: none !important}
.pswp__dynamic-caption--overlay {background: rgba(0, 0, 0, 0)}
figure.wp-block-coblocks-gallery-masonry.masonry-grid figure.wp-block-image figcaption{display: none;}
.pswp__bg, .pswp__top-bar,.pswp__caption {background-color:#f5f5f5 !important}
/* Legende */
.pswp__caption__alt{font-size: 17px; padding: 7px; line-height: 1.4em; max-width: 1080px; margin: auto;}


/* ====================================================
  #AUTRE
==================================================== */
/* Lien texte pur dans le contenu */
#menu-menu a:hover,
.wp-block-buttons a:hover,
.entry-content p a:hover{
  opacity: 0.6 !important;
}

.wp-block-image figcaption, .wp-block-gallery.has-nested-images figcaption{
  font-size: 14px;
  margin-bottom: 20px;
}

/* ====================================================
  #BLANK PAGE STYLES
==================================================== */
.blank_page header,
.blank_page .entry-header {
  display: none !important;
}

.blank_page .site-footer{
  display: none !important;
}

body.vertical_menu.blank_page .grid-container{
  max-width: 100% !important;
  margin-left: 0 !important;
}

/* ====================================================
  #CUSTOMIZER OVERRIDES
==================================================== */
/* Icon Menu hamburger */
.gp-icon svg {
  font-size: 30px;
}

/* Logo SVG + Nameblog */
.site-branding-container .site-logo {
  margin-right: 12px;
}

@media (max-width: 960px) and (min-width: 769px) {
  .site-logo, .site-branding {
    margin-bottom: 5px
  }
}

/* ====================================================
  #Snippet
==================================================== */
/*  Lien actif du menu */
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
  color: #000;
}

/* Tous les autres liens */
.entry-content a,
a {
  color: #431aea;
}

.margeimg{
	max-width: 840px;
	margin: 0 auto;
}

.wp-block-buttons.full {
  display: grid;
  width: 100% !important;
  max-width: 100% !important;
}

.bold a{
  font-weight: bold;
}

@media not all and (min-width: 768px) and (max-width: 1079px) {
  .boldmobile a {
    font-weight: bold;
  }
}

@media (max-width: 768px) {
  .bmobile a {font-weight: bold;}
}

@media (max-width: 600px) {
  .hidemobile {display: none !important;}
}

@media (min-width: 600px) {
  .displaymobile {display: none !important;}
}

@media (min-width: 768px) {
  .displaytablet {display: none !important;}
}

@media (min-width: 768px) and (max-width: 1200px) {
  .hidemedium {display: none !important;}
}

/* Masquer partout */
.allhide {display: none !important;}

:where(.wp-block-columns.is-layout-flex) {
    gap: 20px;
}

@media screen and (max-width: 780px) {
  :where(.wp-block-columns.is-layout-flex) {
    gap: 0;}

.reverse,
.wp-block-columns.reverse {
    display: flex !important;
    flex-direction: column-reverse !important;}
}

@media (max-width: 980px) {
  .center{text-align: center;}
  .justify{text-align: justify;}
}

@media (max-width: 768px) {
  .main-navigation .main-nav li.sub-menu {
    padding-left: 20px;}

  .main-navigation .sub-menu a {
    line-height: 40px !important;}
}

@media (max-width: 960px) {
  .inside-header{
    height: auto;
    padding: 10px;}
}

/* Separator block */
.wp-block-separator {
  width: 100px;
  margin: 0 auto ;
  padding: 10px;
}

.wp-block-separator.full   { width: initial; }
.wp-block-separator.large  { width: 400px; }
.wp-block-separator.medium { width: 300px; }
.wp-block-separator.small  { width: 200px; }