/*
Theme Name: GeneratePress CLC WEB CHILD THEME 1
Theme URI: http://dream-theme.com/the7/
Description: GeneratePress CLC WEB CHILD THEME 1
Author: CLC Web
Author URI: http://dream-theme.com/
Template: generatepress
Version: 1.1.0
Text Domain: the7mk2
*/
.widget-title,h4{margin-bottom:10px!important}.colorcopyright,.gal,.myfab,.ngg-navigation .ellipsis,.read-more,.sharify-container li a,.tag{text-decoration:none}.site-header .header-image,a .sharify-icon img{vertical-align:middle}pre,textarea{overflow:auto}.gallery-item img,.wp-caption img{vertical-align:bottom}.dropdown-menu-toggle:before,.menu-toggle:before{speak:none;font-family:FontAwesome}.mobile-bar-items a,.nav-float-right .inside-header .site-branding,.site-branding,.site-logo{display:inline-block}h1{font-size:30px!important;color:#000;margin-top:0!important}.h3_gal{font-size:18px;margin-top:8px}.h3_galmin{font-size:16px;margin-top:8px}.ngg-album-compact{height:200px!important}a .sharify-icon img{margin-top:0}.header-image{width:288px}.socialbtn{float:left;padding-right:15px}.widget-title{margin-top:10px!important;color:#c7c7c7}#breadcrumbs,.entry-content{margin:0!important}.footer-widgets,h1.entry-title{padding:5px 0 15px}.footer-bar .widget_nav_menu li:last-child,.site-logo,.top-bar .widget_nav_menu li:last-child{margin-right:0}.fluid-header .inside-header,.header-aligned-left .site-header,.header-widget,.nav-aligned-left.nav-above-header .main-navigation,.nav-aligned-left.nav-below-header .main-navigation,.nav-search-enabled .main-navigation .menu-toggle,caption,td,th{text-align:left}.inside-header>:not(:last-child){margin-bottom:5px;margin-top:5px}.site-logo{position:absolute;float:left}#adheader{padding-bottom:5px}@media screen and (min-width:1001px){.searchelement{height:40px;margin-top:10px;font-size:12pt}.container-2{float:left;overflow:hidden;width:300px;vertical-align:middle;white-space:nowrap;margin-left:400px}.container-2 input#search{margin-top:10px;width:300px;height:40px;float:left;padding-left:15px;background-color:#fafafa;border:2px solid #003872;color:#3a3a3a}.container-2 input#search::-webkit-input-placeholder{color:#65737e}.container-2 input#search:-moz-placeholder{color:#65737e}.container-2 input#search::-moz-placeholder{color:#65737e}.container-2 input#search:-ms-input-placeholder{color:#65737e}.container-2 i.fa.fa-search{display:none}}@media screen and (max-width:1000px){.div.form{float:right}.container-2,.loginlogout,.polyglot-language-switcher,.searchelement{display:none}.div.site-logo{z-index:1;position:relative}.container-2 input#search{width:50px;height:41px;background:#003872;border:none;font-size:10pt;float:right;padding-left:35px;color:#fff;-webkit-transition:width .55s;-moz-transition:width .55s;-ms-transition:width .55s;-o-transition:width .55s;transition:width .55s}.container-2 input#search::-webkit-input-placeholder{color:#fff}.container-2 input#search:-moz-placeholder{color:#fff}.container-2 input#search::-moz-placeholder{color:#fff}.container-2 input#search:-ms-input-placeholder{color:#fff}.container-2 .icon{position:absolute;top:50%;margin-left:-12px;margin-top:-35px;z-index:2;color:#fff}.container-2 input#search:active,.container-2 input#search:focus,.container-2:hover input#search{width:1000px}.container-2:hover .icon{color:#fff}}@media (min-width:1944px){.stickyad{display:none!important}}@media (max-width:1944px){.stickyad{text-align:center}}.entry-summary,.post-image{margin:.5em 0 0!important}.post-image img{float:left;margin-right:1.5em;width:400px;padding-bottom:10px}.page-header-blog{background-color:#262626;padding:30px}.entry-title-blog{color:#fff;text-transform:uppercase;font-weight:400}h2.entry-title{font-weight:400}#breadcrumbs{font-size:15px}.intro-page,.intro-page-full{padding-bottom:15px!important}.intro-page p,.intro-page-full p{text-align:justify;font-size:15px;margin-bottom:.2em!important}.tooltip:hover:after{background:rgba(0,0,0,.8);border-radius:5px;bottom:26px;color:#fff;left:20%;padding:5px 15px;position:absolute;z-index:98;width:220px}.tooltip:hover:before{border:solid;border-color:#333 transparent;border-width:6px 6px 0;bottom:20px;content:"";left:50%;position:absolute;z-index:99}.colorcopyright{color:#424242!important;border-bottom:1px dotted gray;cursor:pointer}.entry-meta{padding-bottom:10px}#adbottom,.separate-containers .inside-left-sidebar,.separate-containers .inside-right-sidebar,.separate-containers .site-main{margin-top:20px;margin-bottom:20px}.inside-left-sidebar{padding-left:10px}#siderightzoomcolor-infos{font-size:smaller;padding-bottom:20px}@media (max-width:1150px){#siderightzoomcolor,#zoomcolor{width:100%!important}#zoomcolor{margin-right:0!important}#adrightzoomcolor{display:none}}@media (min-width:1150px){#siderightzoomcolor-infos{padding-top:40px}.widget-area.grid-25{width:20%!important}.push-25{left:20%!important}.content-area.grid-75{width:80%!important}.pull-75{left:-80%!important}}.site-footer .footer-widgets-container .inside-footer-widgets{margin-left:0!important}.modal-header{padding-bottom:12px!important}.modal-title{font-size:18px;font-weight:700}.modal-footer{color:#424242;font-size:14px;font-weight:400}.read-more{background-color:#20307a;color:#fff!important;line-height:80px;text-align:center;font-size:18px;text-transform:uppercase;padding:9px 20px 10px}.read-more-container{margin-bottom:0!important}.gal-container,.tag-container{padding:0;display:inline-block}.gal,.tag{display:inline-block;padding:3px 8px;margin:2px 8px 4px 0;border-radius:5px;font-size:14px;transition:background-color .3s}.grid .google-auto-placed,.main-navigation.toggled .main-nav li.hide-on-mobile,.main-navigation.toggled .menu li.search-item,.no-ads .google-auto-placed{display:none!important}.grid{width:100%;margin:20px auto}.grid-item,.grid-sizer{width:calc(20% - 16px)}.grid-item img{display:block;width:100%;border:1px solid rgba(0,0,0,.2);border-radius:4px}.grid-item{margin-bottom:15px}.grid-ad-min,.grid-ad-min-mobile{width:calc(40% - 16px);height:320px;margin-bottom:20px}@media (max-width:1024px){.grid-item,.grid-sizer{width:calc(33.33% - 12px)}.grid-ad-min,.grid-ad-min-mobile{width:calc(66.66% - 12px)}}.grid:after{content:'';display:block;clear:both}.gallery-grid-item p,.grid-item p{font-size:14px;color:#3a3a3a}.gallery-grid-item h2,.grid-item h2{font-size:14px;font-weight:400;color:#3a3a3a}.gallery-grid-item h3,.grid-item h3{font-size:14px;font-weight:400}.gallery-grid-item-lig1,.grid-item-lig1{font-size:14px;margin-top:.5em!important;margin-bottom:0!important}.gallery-grid-item-lig2,.grid-item-lig2{font-size:14px;margin-top:8px;margin-bottom:8px}.h2_gal{font-size:18px!important;font-weight:400;margin-top:15px}*,.grid-item,.grid-sizer,::after,::before{box-sizing:border-box}@media (max-width:769px){.inside-article{padding-left:16px!important;padding-right:16px!important}}@media (min-width:769px){.inside-article{padding-top:20px!important;padding-bottom:20px!important}}.myfab{padding:15px;font-size:30px!important;width:30px;text-align:center;margin:5px 8px;border-radius:50%;box-sizing:content-box}.myfab:hover,.widget ul li ul li:before{opacity:.7}.fa-facebook{background:#3b5998;color:#fff}.fa-twitter{background:#55acee;color:#fff}.fa-instagram{background:#125688;color:#fff}.fa-pinterest{background:#cb2027;color:#fff}.clear,.clear:after,.clearfix:after,.grid-100:after,.grid-10:after,.grid-15:after,.grid-20:after,.grid-25:after,.grid-30:after,.grid-33:after,.grid-35:after,.grid-40:after,.grid-45:after,.grid-50:after,.grid-55:after,.grid-5:after,.grid-60:after,.grid-65:after,.grid-66:after,.grid-70:after,.grid-75:after,.grid-80:after,.grid-85:after,.grid-90:after,.grid-95:after,.grid-container:after,.ngg-clear,.paging-navigation:after,[class*=content]:after,[class*=mobile-grid-]:after,[class*=site]:after,[class*=tablet-grid-]:after{clear:both}.lightbox-hidden{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);justify-content:center;align-items:center;z-index:9999}.lightbox-visible{display:flex}#lightbox-modal img{max-width:90%;max-height:90%}#lightbox-close{position:absolute;top:20px;right:30px;color:#fff;font-size:2rem;cursor:pointer}[class*=" sharify-"]:before,[class^=sharify-]:before{font-family:sharify;font-style:normal;font-weight:400;text-decoration:inherit;width:1em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#box_search_mobile,.menu-toggle .mobile-menu:empty,[hidden],template{display:none}.site-header {
    height: 60px;
}

.ngg-gallery-thumbnail-box {
    background: #a7d3f3!important;
    border: 1px solid #6eaed6!important;
    margin: 0 10px 15px!important;
    padding: 10px!important;
    padding-bottom: 10px!important;
    transition: opacity .4s ease-in-out !important;
    display: inline-block !important;
    text-align: center !important;
}

.ngg-gallery-thumbnail {
    width: 210px !important;
    height: auto !important;
}

/* Alternative simple a Masonry */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

@media (min-width: 769px) {
    .gallery-grid {
        row-gap: 30px;
        column-gap: 20px;
    }
}

/* For grids with few items, avoid stretching columns (except ad blocks). */
.gallery-grid > div:not(.gallery-grid-ad-min):not(.gallery-grid-ad-min-mobile) {
    width: 100%;
    max-width: 200px;
}

@media (max-width: 600px) {
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.gallery-grid img {
    width: 100%;
    height: auto;
    max-height: 283px;
    object-fit: cover;
    border: 1px rgba(0, 0, 0, 0.2) solid;
    border-radius: 4px;
}

/* Mandalas : vignettes carrées (grille principale, pas les blocs extras) */
body.jc-family-cla.page-id-4 .gallery-grid img,
body.jc-blog-2.page-id-63 .gallery-grid img,
body.jc-family-cle.page-id-374 .gallery-grid img,
body.jc-family-mdl .gallery-grid img {
    aspect-ratio: 1 / 1;
    max-height: none;
}

/* Reset carré dans les blocs extras (dernières additions, populaires, etc.) */
.jc-extra-block .gallery-grid img {
    aspect-ratio: auto !important;
    max-height: 283px !important;
}

/* Reserve space for NGG thumbnail images (250×150) to prevent CLS
 * when Ezoic lazy-loading strips width/height HTML attributes. */
.gallery-grid .ngg-album-link picture {
    display: block;
    width: 100%;
    aspect-ratio: 250 / 150;
}

.gallery-grid .ngg-album-link img.Thumb {
    aspect-ratio: 250 / 150;
}

@media (max-width: 768px) {
    .gallery-grid-ad-min {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .gallery-grid-ad-min-mobile {
        display: none !important;
    }
}


/* Autocomplete search dropdown */
.jc-suggest-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    border-radius: 0 0 4px 4px;
    z-index: 9999;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    max-height: 320px;
    overflow-y: auto;
}
.jc-suggest-dropdown:empty {
    display: none;
}
.jc-suggest-item {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    text-decoration: none;
    color: #3a3a3a;
    font-size: 14px;
    border-bottom: 1px solid #f0f0f0;
}
.jc-suggest-item:last-child {
    border-bottom: none;
}
.jc-suggest-item:hover {
    background: #f5f8fc;
}
.jc-suggest-icon {
    margin-right: 8px;
    font-size: 14px;
    flex-shrink: 0;
}
.jc-suggest-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inside-header {
	padding-top: 0px !important;
}

.grayborder {
 	border: solid 1px lightgray; 
}


.widget_text {
    background-color: rgba(0, 0, 0, 0)!important;
}


.widget_nav_menu {
    background-color: rgba(0, 0, 0, 0)!important;
}
.widget_nav_menu a {
    color: white!important;
}

.widget-title {
	color:#b8c5d9!important;
}

/*.inside-header {
    background-image: linear-gradient(90deg,#003872,#c60aa5);
}*/

.inside-left-sidebar, .inside-right-sidebar, .site-main {
    margin: 0px !important;
}

.container-2 input#search {
    background-color:#ffffff!important;
    border:0px!important;
    -webkit-appearance: none;
    appearance: none;
   
}
.container-2 input#search:focus,
.container-2 input#search:active,
#box_search_mobile input#search:focus,
#box_search_mobile input#search:active,
#box_search_mobile input#search-mobile:focus,
#box_search_mobile input#search-mobile:active,
#box_search_mobile input[type="search"]:focus,
#box_search_mobile input[type="text"]:focus {
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}
.searchelement {
    background-color: #383838!important;
}

.jc-search-submit {
    background-color: #003872 !important;
}

.jc-header-lang-switch {
    float: right;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 10px;
}

.jc-header-lang-flag {
    height: 10px;
    width: 20px;
    aspect-ratio: 2 / 1;
}




/* Menu accordeon */
div.nextend-accordion-menu-inner-container dl.level1 dt span { 
    line-height: normal!important;
}

div.nextend-accordion-menu-inner-container dl.level2 .inner {
    padding: 1px 0px 2px 20px!important;
}

.desc_p {
    margin-bottom: 0.5em;
}

.reaori_title {
    font-size: 15px;
    padding-bottom: 10px;
}

h2.reaori_title {
    background-color: #003872;
    color: white;
    font-size: larger;
    padding: 10px;
    font-weight: normal;
    border-radius: 5px;
}

h2.reaori_title a {
    color: white;
}

body.jc-family-cle h2.reaori_title {
    background-color: #016183;
}

/* Pagination (optimized: larger blocks + historical colors) */
.ngg-navigation {
    font-size: 0.9em !important;
    clear: both !important;
    display: block !important;
    padding-top: 50px !important;
    text-align: center;
    line-height: 2.2 !important;
}

.ngg-navigation a.page-numbers,
.ngg-navigation span.page-numbers,
.ngg-navigation span.current {
    background: #003872 !important;
    color: #fff !important;
    border: none;
    border-radius: 2px;
    box-shadow: none;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    height: 40px;
    padding: 0 13px !important;
    margin-right: 6px;
    margin-bottom: 6px;
    text-decoration: none;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.2;
    box-sizing: border-box;
    cursor: pointer !important;
}

.ngg-navigation span.current {
    background: #5e7da5 !important;
}

.ngg-navigation a.page-numbers:hover,
.ngg-navigation span.page-numbers:hover,
.ngg-navigation span.current:hover {
    background: #a78c43 !important;
    color: #fff !important;
    text-decoration: none !important;
}

.ngg-navigation a.next,
.ngg-navigation a.prev,
.ngg-navigation span.next,
.ngg-navigation span.prev {
    background: transparent !important;
    color: #003872 !important;
    border: none !important;
    padding: 0 !important;
    margin-right: 6px;
    margin-bottom: 6px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 52px;
    min-width: 52px;
    height: 40px;
    min-height: 40px;
    font-size: 0 !important;
    font-weight: bold;
    line-height: 1;
    position: relative;
}

.ngg-navigation a.prev::before,
.ngg-navigation span.prev::before,
.ngg-navigation a.next::before,
.ngg-navigation span.next::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    transform: translateY(3px);
}

.ngg-navigation a.prev::before,
.ngg-navigation span.prev::before {
    border-right: 22px solid #003872;
}

.ngg-navigation a.next::before,
.ngg-navigation span.next::before {
    border-left: 22px solid #003872;
}

.ngg-navigation a.next:hover,
.ngg-navigation a.prev:hover,
.ngg-navigation span.next:hover,
.ngg-navigation span.prev:hover {
    color: #a78c43 !important;
}

.ngg-navigation a.prev:hover::before,
.ngg-navigation span.prev:hover::before {
    border-right-color: #a78c43;
}

.ngg-navigation a.next:hover::before,
.ngg-navigation span.next:hover::before {
    border-left-color: #a78c43;
}

.ngg-navigation .ellipsis {
    color: #6582a6;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
    padding: 0 4px;
    font-size: 14px;
    font-weight: bold;
}

.ngg-clear {
    clear: both;
}

/* Album pages: bigger gallery titles + spacing from thumbnail (no impact on image grids). */
.gallery-grid > .gallery-grid-item > .gallery-grid-album-lig1 {
    font-size: 18px !important;
    margin-top: 5px !important;
}

/* Related tags / Main galleries chips (works with legacy and rebuilt HTML) */
.tag-container,
.gal-container {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 5px;
}

.tag,
.jc-meta-tag-chip,
.tag-container > a,
.tag-container .tag a {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    margin: 0;
    border-radius: 5px;
    background-color: #ffecb2;
    color: #2d2d2d !important;
    text-decoration: none !important;
    line-height: 1.25;
    font-size: 13px;
    transition: background-color 0.2s ease;
}

.gal,
.jc-meta-gallery-chip,
.gal-container > a,
.gal-container .gal a {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    margin: 0;
    border-radius: 5px;
    background-color: #a9d6ff;
    color: #2d2d2d !important;
    text-decoration: none !important;
    line-height: 1.25;
    font-size: 13px;
    transition: background-color 0.2s ease;
}

.tag:hover,
.jc-meta-tag-chip:hover,
.tag-container > a:hover,
.tag-container .tag a:hover {
    background-color: #f9dc83;
}

.gal:hover,
.jc-meta-gallery-chip:hover,
.gal-container > a:hover,
.gal-container .gal a:hover {
    background-color: #85c3fb;
}

.ngg-sort-control {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 6px 0 14px;
  font-size: 14px;
  color: #4b4b4b;
}

.ngg-sort-control label {
  font-weight: 600;
  color: #3a3a3a;
}

.ngg-sort-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff;
  border: 1px solid #d8dde3;
  border-radius: 8px;
  padding: 6px 28px 6px 10px;
  font-size: 14px;
  color: #1c1c1c;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  background-image: linear-gradient(45deg, transparent 50%, #6b7785 50%),
    linear-gradient(135deg, #6b7785 50%, transparent 50%),
    linear-gradient(to right, #e9edf2, #e9edf2);
  background-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%, calc(100% - 28px) 50%;
  background-size: 5px 5px, 5px 5px, 1px 14px;
  background-repeat: no-repeat;
}

.ngg-sort-select:focus {
  outline: none;
  border-color: #8aa4c2;
  box-shadow: 0 0 0 3px rgba(0, 56, 114, 0.15);
}

/* === CSS Typography (externalisé depuis generate_font_css() - optimisation PageSpeed) === */
body{background-color:#003872;color:#3a3a3a;}a, a:visited{color:#1e73be;}a:hover, a:focus, a:active{color:#000000;}body .grid-container{max-width:1500px;}body, button, input, select, textarea{font-family:Helvetica;font-size:16px;}.entry-content > [class*="wp-block-"]:not(:last-child){margin-bottom:1.5em;}.main-navigation .main-nav ul ul li a{font-size:14px;}@media (max-width:768px){.main-title{font-size:30px;}h1{font-size:30px;}h2{font-size:25px;}}.top-bar{background-color:#636363;color:#ffffff;}.top-bar a,.top-bar a:visited{color:#ffffff;}.top-bar a:hover{color:#303030;}.site-header{background-color:#ffffff;color:#3a3a3a;}.site-header a,.site-header a:visited{color:#3a3a3a;}.main-title a,.main-title a:hover,.main-title a:visited{color:#222222;}.site-description{color:#757575;}.main-navigation,.main-navigation ul ul{background-color:#222222;}.main-navigation .main-nav ul li a,.menu-toggle{color:#ffffff;}.main-navigation .main-nav ul li:hover > a,.main-navigation .main-nav ul li:focus > a, .main-navigation .main-nav ul li.sfHover > a{color:#ffffff;background-color:#3f3f3f;}button.menu-toggle:hover,button.menu-toggle:focus,.main-navigation .mobile-bar-items a,.main-navigation .mobile-bar-items a:hover,.main-navigation .mobile-bar-items a:focus{color:#ffffff;}.main-navigation .main-nav ul li[class*="current-menu-"] > a{color:#ffffff;background-color:#3f3f3f;}.main-navigation .main-nav ul li[class*="current-menu-"] > a:hover,.main-navigation .main-nav ul li[class*="current-menu-"].sfHover > a{color:#ffffff;background-color:#3f3f3f;}.navigation-search input[type="search"],.navigation-search input[type="search"]:active{color:#3f3f3f;background-color:#3f3f3f;}.navigation-search input[type="search"]:focus{color:#ffffff;background-color:#3f3f3f;}.main-navigation ul ul{background-color:#3f3f3f;}.main-navigation .main-nav ul ul li a{color:#ffffff;}.main-navigation .main-nav ul ul li:hover > a,.main-navigation .main-nav ul ul li:focus > a,.main-navigation .main-nav ul ul li.sfHover > a{color:#ffffff;background-color:#4f4f4f;}.main-navigation .main-nav ul ul li[class*="current-menu-"] > a{color:#ffffff;background-color:#4f4f4f;}.main-navigation .main-nav ul ul li[class*="current-menu-"] > a:hover,.main-navigation .main-nav ul ul li[class*="current-menu-"].sfHover > a{color:#ffffff;background-color:#4f4f4f;}.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .one-container .container, .separate-containers .paging-navigation, .inside-page-header{background-color:#ffffff;}.entry-meta{color:#595959;}.entry-meta a,.entry-meta a:visited{color:#595959;}.entry-meta a:hover{color:#1e73be;}.sidebar .widget{background-color:#ffffff;}.sidebar .widget .widget-title{color:#000000;}.footer-widgets{background-color:#ffffff;}.footer-widgets .widget-title{color:#000000;}.site-info{color:#ffffff;background-color:#222222;}.site-info a,.site-info a:visited{color:#ffffff;}.site-info a:hover{color:#606060;}.footer-bar .widget_nav_menu .current-menu-item a{color:#606060;}input[type="text"],input[type="email"],input[type="url"],input[type="password"],input[type="search"],input[type="tel"],input[type="number"],textarea,select{color:#666666;background-color:#fafafa;border-color:#cccccc;}input[type="text"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="password"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="number"]:focus,textarea:focus,select:focus{color:#666666;background-color:#ffffff;border-color:#bfbfbf;}button,html input[type="button"],input[type="reset"],input[type="submit"],a.button,a.button:visited,a.wp-block-button__link:not(.has-background){color:#ffffff;background-color:#666666;}button:hover,html input[type="button"]:hover,input[type="reset"]:hover,input[type="submit"]:hover,a.button:hover,button:focus,html input[type="button"]:focus,input[type="reset"]:focus,input[type="submit"]:focus,a.button:focus,a.wp-block-button__link:not(.has-background):active,a.wp-block-button__link:not(.has-background):focus,a.wp-block-button__link:not(.has-background):hover{color:#ffffff;background-color:#3f3f3f;}.generate-back-to-top,.generate-back-to-top:visited{background-color:rgba( 0,0,0,0.4 );color:#ffffff;}.generate-back-to-top:hover,.generate-back-to-top:focus{background-color:rgba( 0,0,0,0.6 );color:#ffffff;}.entry-content .alignwide, body:not(.no-sidebar) .entry-content .alignfull{margin-left:-40px;width:calc(100% + 80px);max-width:calc(100% + 80px);}@media (max-width:768px){.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation, .one-container .site-content, .inside-page-header{padding:30px;}.entry-content .alignwide, body:not(.no-sidebar) .entry-content .alignfull{margin-left:-30px;width:calc(100% + 60px);max-width:calc(100% + 60px);}}.rtl .menu-item-has-children .dropdown-menu-toggle{padding-left:20px;}.rtl .main-navigation .main-nav ul li.menu-item-has-children > a{padding-right:20px;}.one-container .sidebar .widget{padding:0px;}

.jc-nav-prev {
    margin-right: auto;
}

.jc-nav-next {
    margin-left: auto;
}

/* Mobile responsive */
@media (max-width: 600px) {
    .jc-image-nav {
        gap: 10px;
        margin: 15px 0 12px;
    }
}

/* Très petit écran : icônes seulement */
@media (max-width: 400px) {
    .jc-nav-btn {
        max-width: 50px;
        padding: 10px;
    }

    .jc-nav-icon {
        font-size: 20px;
    }
}
/* === Harmonisation PRINT/DOWNLOAD/COLOR ONLINE === */
.sharify-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 5px 0 !important;
    overflow: visible !important;
}

.sharify-container ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.sharify-container li {
    list-style: none !important;
    margin: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    flex: 1 1 0 !important;
    max-width: calc((100% - 16px) / 3) !important;
    min-width: 0 !important;
}

.sharify-container li a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    min-height: 48px !important;
    height: auto !important;
    line-height: 1.2 !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    color: #fff !important;
    border: 0 !important;
    margin: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
}

/* PRINT - Bleu (garde sa couleur d'origine) */
.sharify-container li.sharify-btn-vk a {
    background: linear-gradient(135deg, #5a9fd4 0%, #4a8fc4 100%) !important;
}

.sharify-container li.sharify-btn-vk a:hover {
    background: linear-gradient(135deg, #4a8fc4 0%, #3a7fb4 100%) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
}

/* DOWNLOAD - Vert (garde sa couleur d'origine) */
.sharify-container li.sharify-btn-skype a {
    background: linear-gradient(135deg, #61ba46 0%, #51aa36 100%) !important;
}

.sharify-container li.sharify-btn-skype a:hover {
    background: linear-gradient(135deg, #51aa36 0%, #419a26 100%) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
}

/* COLOR ONLINE - Rouge bordeaux (spécificité renforcée) */
.sharify-container li.sharify-btn-skype.sharify-btn-color-online a {
    background: linear-gradient(135deg, #8b0000 0%, #6b0000 100%) !important;
}

.sharify-container li.sharify-btn-skype.sharify-btn-color-online a:hover {
    background: linear-gradient(135deg, #6b0000 0%, #4b0000 100%) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
}

.sharify-container li a:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.sharify-icon {
    font-size: 20px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.sharify-icon img {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
}

.sharify-title {
    font-size: 14px !important;
    line-height: 1.2 !important;
}

/* === Navigation Précédent/Suivant (UX - réduction taux de rebond) === */
.jc-image-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
}

.jc-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    background: linear-gradient(135deg, #95a5a6 0%, #7f8c8d 100%);
    color: #fff !important;
    text-decoration: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    white-space: nowrap;
}

.jc-nav-btn:hover {
    background: linear-gradient(135deg, #7f8c8d 0%, #6c7a7b 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    color: #fff !important;
}

.jc-nav-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.jc-nav-icon {
    font-size: 20px;
    line-height: 1;
    font-weight: bold;
}

.jc-nav-text {
    font-size: 16px;
    line-height: 1.2;
}

/* Tablette : réduire padding */
@media (max-width: 768px) {
    .sharify-container li a {
        padding: 10px 12px !important;
        font-size: 13px !important;
    }

    .sharify-icon img {
        width: 18px !important;
        height: 18px !important;
    }

    .sharify-title {
        font-size: 13px !important;
    }

    .jc-nav-btn {
        padding: 10px 18px;
        font-size: 15px;
    }

    .jc-nav-icon {
        font-size: 18px;
    }

    .jc-nav-text {
        font-size: 15px;
    }
}

/* Mobile : texte masqué, icône seule */
@media (max-width: 600px) {
    .sharify-container li a {
        padding: 12px !important;
        gap: 0 !important;
    }

    .sharify-title {
        display: none !important;
    }

    .sharify-icon {
        font-size: 24px !important;
    }

    .sharify-icon img {
        width: 24px !important;
        height: 24px !important;
    }

    .jc-nav-btn {
        padding: 12px 16px;
        gap: 0;
    }

    .jc-nav-text {
        display: none;
    }

    .jc-nav-icon {
        font-size: 24px;
    }
}

/* ===== Sidebar Left (migre depuis sidebar-left.css) ===== */
.jc-sidebar-section-title {
    padding-top: 10px;
}

.jc-sidebar-section-title-light {
    color: whitesmoke;
}

.gallery-link {
    padding-bottom: 5px;
}

.gallery-link a {
    color: #fff;
    font-size: 14px;
}

.grid-item-lig2 a,
.gallery-grid-item-lig2 a,
.grid-item-lig2 a:hover,
.gallery-grid-item-lig2 a:hover,
.grid-item-lig2 a:focus,
.gallery-grid-item-lig2 a:focus {
    text-decoration: none !important;
}

/* Restore grid flow after progressive CSS dedup in style.css */
.grid-item,
.grid-sizer,
.grid-ad-min,
.grid-ad-min-mobile {
    float: left;
}

.grid::after {
    content: "";
    display: block;
    clear: both;
}

.ebook-rainbow-link {
    font-size: 15px;
    font-weight: 700;
    background: linear-gradient(90deg, #ff5f6d, #ffc371, #47e3ff, #6a67ce, #ff6ec4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    margin-top: 10px;
    text-decoration: none;
}

.ebook-rainbow-link:hover {
    text-decoration: underline;
}

.jc-sidebar-spacer {
    clear: left;
}

.jc-sidebar-spacer-sm {
    padding-bottom: 30px;
}

.jc-sidebar-spacer-lg {
    padding-bottom: 100px;
}

body.jc-family-cla,
body.jc-family-cla .site-header {
    background-color: #003872 !important;
}

body.jc-family-cle,
body.jc-family-cle .site-header {
    background-color: #016183 !important;
}

/* ===== CSS optim scope (migre depuis jc-css-optim-scope.css) ===== */
.jc-extra-block {
    padding-top: 20px;
    padding-bottom: 10px;
}

.jc-extra-block-more {
    padding-top: 20px;
    padding-bottom: 10px;
}

.jc-extra-block-more-popular {
    padding-top: 30px;
}

.jc-thumb-border {
    border: 1px solid #b0b0b0;
}

/* Menu caret fallback: avoid tofu square if icon font is unavailable */
.main-navigation .dropdown-menu-toggle::before,
.main-navigation .menu-item-has-children > a .dropdown-menu-toggle::before {
    content: "\25BE" !important;
    font-family: inherit !important;
    font-size: 0.85em;
    font-weight: 700;
    line-height: 1;
}

.main-navigation .sfHover > a .dropdown-menu-toggle::before,
.main-navigation .sub-menu-open > a .dropdown-menu-toggle::before {
    content: "\25B4" !important;
}

/* Sidebar accordion: keep sub-menu items in regular weight */
#left-sidebar .wpb_category_n_menu_accordion > ul > li > ul li > a {
    font-weight: 400 !important;
    font-size: 15px !important;
}

.ngg-galleryoverview .ngg-gallery-thumbnail a:focus-visible,
.ngg-galleryoverview .ngg-gallery-thumbnail-box a:focus-visible,
.ngg-albumoverview a:focus-visible,
.ngg-album-compactbox a:focus-visible {
    border-radius: 4px;
}

.ngg-galleryoverview .ngg-gallery-thumbnail span,
.ngg-galleryoverview .ngg-gallery-thumbnail-box span,
.ngg-galleryoverview .ngg-gallery-caption,
.ngg-albumoverview .ngg-albumtitle,
.ngg-albumoverview .ngg-albumdescription,
.ngg-album-compactbox .ngg-album-desc,
.ngg-album-compactbox .ngg-albumtitle {
    color: #666666 !important;
}


/* Clamp long thumbnail descriptions on gallery/grid cards.
 * The mask fade is an approximation for the "last lines in gray" effect. */
.gallery-grid-item > p:not(:has(img)),
.grid-item > p:not(:has(img)),
.gallery-grid-item > .gallery-grid-item-lig1,
.grid-item > .grid-item-lig1,
.gallery-grid-item > h3.ngg-thumb-title,
.grid-item > h3.ngg-thumb-title,
.gallery-grid-item > h3.grid-item-lig1,
.grid-item > h3.grid-item-lig1 {
    line-height: 1.35;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 8.1em;
    position: relative;
}

@media (max-width: 768px) {
    .gallery-grid-item > p:not(:has(img)),
    .grid-item > p:not(:has(img)),
    .gallery-grid-item > .gallery-grid-item-lig1,
    .grid-item > .grid-item-lig1,
    .gallery-grid-item > h3.ngg-thumb-title,
    .grid-item > h3.ngg-thumb-title,
    .gallery-grid-item > h3.grid-item-lig1,
    .grid-item > h3.grid-item-lig1 {
        -webkit-line-clamp: 6;
        max-height: 8.1em;
    }
}

/* FAQ section — pages catégorie (details/summary, contenu présent dans le DOM pour indexation) */
.jc-faq {
    margin: 32px 0 24px;
    max-width: 900px;
}
.jc-faq-title {
    font-size: 1.2em;
    margin: 0 0 12px;
    color: #333;
}
.jc-faq-item {
    border-bottom: 1px solid #e5e5e5;
    margin: 0;
}
.jc-faq-item:first-of-type {
    border-top: 1px solid #e5e5e5;
}
.jc-faq-question {
    list-style: none;
    cursor: pointer;
    padding: 16px 0;
    font-weight: 700;
    font-size: 1em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    color: #222;
}
.jc-faq-question::-webkit-details-marker { display: none; }
.jc-faq-question:hover { color: #c0392b; }
.jc-faq-icon {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    transition: transform 0.22s ease;
    flex-shrink: 0;
}
.jc-faq-item[open] .jc-faq-icon { transform: rotate(180deg); }
.jc-faq-answer {
    padding: 0 0 16px 0;
    color: #555;
    line-height: 1.65;
}
.jc-faq-answer a { color: #c0392b; text-decoration: underline; }
.jc-faq-item[open] .jc-faq-answer {
    animation: jc-faq-fade 0.25s ease;
}
@keyframes jc-faq-fade {
    from { opacity: 0; transform: translateY(-3px); }
    to   { opacity: 1; transform: translateY(0); }
}
@media (max-width: 600px) {
    .jc-faq-question { font-size: 0.97em; padding: 13px 0; }
}
