/*
Css Addons for JustColor
*/
.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;
    padding-top: 10px;
}

/* 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;
    border: 1px rgba(0, 0, 0, 0.2) solid;
    border-radius: 4px;
}

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

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


.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;
   
}
.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: 13px;
    width: auto;
}



/* Marge sticky ad pour JC car left sidebar collée */
.stickyad {
    margin-right:20px;
}


/* 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;
}

/* 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;
}

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

.ngg-navigation a.next::before,
.ngg-navigation span.next::before {
    border-right: 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-left-color: #a78c43;
}

.ngg-navigation a.next:hover::before,
.ngg-navigation span.next:hover::before {
    border-right-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;
}

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

.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: 14px;
    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: 14px;
    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-btn {
    flex: 1;
    max-width: 200px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%);
    color: #fff !important;
    text-decoration: none;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 500;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.jc-nav-btn:hover {
    background: linear-gradient(135deg, #357abd 0%, #2868a8 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-disabled {
    background: transparent;
    box-shadow: none;
    cursor: default;
    pointer-events: none;
}

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

.jc-nav-label {
    font-size: 15px;
    line-height: 1.2;
}

.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;
    }

    .jc-nav-btn {
        max-width: 160px;
        padding: 8px 14px;
        font-size: 14px;
        gap: 6px;
    }

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

    .jc-nav-label {
        font-size: 14px;
    }
}

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

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

    .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;
}

/* 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;
}
