/* Personnalisation du footer */
body .footer-section,
body .footer-widget-wrapper,
body .footer-widget,
body .footer-wrapper,
body .footer-copyright,
body .footer-wrapper .footer-logo,
body .footer-widget-wrapper .footer-logo-wrapper,
body .footer-widget-wrapper .widget-wrapper,
body .footer-copyright-wrapper,
body .footer-wrapper .container {
    background-color: #000000;
}
body .footer-section{
    margin-top: 10rem;
}

/* Force le logo en blanc */
body .footer-logo img,
body .footer-wrapper .footer-logo {
    background: transparent;
}

/* Suppression des sections Archives et Catégories */
body .widget_archive,
body .widget_categories,
body .widget.widget_archive,
body .widget.widget_categories {
    display: none;
}

/* Style des icônes sociales */
body .footer-section .social-links-wrap li a i:hover {
    color: #000000;
}

@media (min-width: 768px) {
    .header-center-menu .header-wrapper.sticky .navbar-header,
    .header-center-menu .header-wrapper.sticky .navbar-header .navbar-brand,
    .header-center-menu .header-wrapper.sticky .navbar-nav>li {
        float: none;
        text-align: center;
    }
}

.btn-floating,
.btn-floating i {
    color: #000000;
}

#home.home .header-wrapper.navbar-fixed-top {
    position: fixed;
}
#home.home .header-wrapper.navbar-fixed-top .navbar-default{
    background: transparent;
    box-shadow: none;
}

#home.home .header-wrapper.navbar-fixed-top .navbar-default .navbar-header{
    border: 0;
    padding-bottom: 5px;
}

#home.home .header-wrapper.navbar-fixed-top .navbar-default a{
    color: #FFF;
}
#home.home .header-wrapper.navbar-fixed-top .navbar-default li:hover{
    background-color: #FFF;
}
#home.home .header-wrapper.navbar-fixed-top .navbar-default li:hover a{
    color: #000;
}
#home.home .header-wrapper.navbar-fixed-top .navbar-default li:hover a:hover{
    color: #1976D2;
}

#home.home .header-wrapper.navbar-fixed-top .navbar-default .dropdown-menu a{
    color: #000;
}
#home.home .navbar-default .navbar-nav>li>a:hover{
    color: #1976D2;
}

#home.home .header-wrapper.navbar-fixed-top.sticky{
    background: #FFF;
}
#home.home .header-wrapper.navbar-fixed-top.sticky .navbar-default{
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    -ms-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    -o-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}
#home.home .header-wrapper.navbar-fixed-top .navbar.navbar-default .navbar-header .navbar-brand a:hover{
    background: none;
}

#home.home .header-wrapper.navbar-fixed-top.sticky .navbar-default a{
    color: #000;
}

#home.home .header-wrapper.sticky .navbar-nav > li > .dropdown-wrapper{
    padding-top: 13px;
}

@media (max-width: 768px) {
    #home.home .header-wrapper.navbar-fixed-top .navbar-default{
        background: #FFF;
        /*position: fixed;
        width: 100%;*/
    }
    #home.home .header-wrapper.navbar-fixed-top .navbar-default a{
        color:#000;
    }
    /* Désactiver l'animation du menu sur mobile */
    .navbar a,
    .navbar-default,
    .header-wrapper {
        -webkit-transition: none !important;
        -moz-transition: none !important;
        -ms-transition: none !important;
        -o-transition: none !important;
        transition: none !important;
    }
}

/* Masquer le champ de recherche */
.search-wrapper {
    display: none !important;
}

.wp-block-button__link {
    background-color: #1976D2;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    border-radius: inherit;
}

.wp-block-button__link:hover {
    background-color: #000;
    color:#FFF;
}

h2.wp-block-heading.has-text-align-center {
    font-size: 4rem;
    color: #1976D2;
    text-transform: uppercase;
    margin-bottom: 50px;
}

/* Smart Slider Full Width & Height */
div#n2-ss-3 {
    width: 100vw !important;
    height: 100vh !important;
    margin: 0 calc(50% - 50vw) !important;
}

div#n2-ss-3 .n2-ss-slider-1,
div#n2-ss-3 .n2-ss-slider-2,
div#n2-ss-3 .n2-ss-slider-3,
div#n2-ss-3 .n2-ss-slide-backgrounds,
div#n2-ss-3 .n2-ss-slide-backgrounds > div,
div#n2-ss-3 .n2-ss-slide-active {
    height: 100vh !important;
}

/* Ajuster la hauteur sur mobile */
@media (max-width: 768px) {
    div#n2-ss-3,
    div#n2-ss-3 .n2-ss-slider-1,
    div#n2-ss-3 .n2-ss-slider-2,
    div#n2-ss-3 .n2-ss-slider-3,
    div#n2-ss-3 .n2-ss-slide-backgrounds,
    div#n2-ss-3 .n2-ss-slide-backgrounds > div,
    div#n2-ss-3 .n2-ss-slide-active {
        height: 100vh !important;
    }
}

label#check-error{
    color: #f44336 !important;
    width: 100%;
    float: left;
}

input[type=text], input[type=password], input[type=email], input[type=url], input[type=time], input[type=date], input[type=datetime-local], input[type=tel], input[type=number], input[type=search], textarea.materialize-textarea{
    border-bottom: 1px solid #9b9b9b;
    padding: 0 5%;
    width: 90%;
    height: 40px;
    color:#000;
}

.align-right {
    text-align: right; 
    justify-content: flex-end; 
    display: flex; 

/* ============================================================
 * WOW EFFECTS - Modernisation visuelle (charge en dernier)
 * Survit aux MAJ du theme parent (chargee depuis materialize-child)
 * ============================================================ */

/* --- Variables design (centralise les couleurs et timings) --- */
:root {
    --cotrans-primary: #03a9f4;
    --cotrans-primary-dark: #0288d1;
    --cotrans-primary-light: #e1f5fe;
    --cotrans-shadow-sm: 0 2px 8px rgba(3,169,244,0.08);
    --cotrans-shadow-md: 0 8px 24px rgba(3,169,244,0.12);
    --cotrans-shadow-lg: 0 16px 48px rgba(3,169,244,0.18);
    --cotrans-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --cotrans-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --cotrans-radius: 12px;
}

/* --- Scroll plus doux + typographie nette --- */
html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* --- Scrollbar custom --- */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--cotrans-primary) #f1f5f9;
}
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: #f1f5f9; }
*::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--cotrans-primary), var(--cotrans-primary-dark));
    border-radius: 10px;
    border: 2px solid #f1f5f9;
}
*::-webkit-scrollbar-thumb:hover { background: var(--cotrans-primary-dark); }

/* --- Selection texte bleu cotrans --- */
::selection { background: var(--cotrans-primary); color: #fff; }

/* --- Focus visible accessibilite --- */
*:focus-visible {
    outline: 2px solid var(--cotrans-primary);
    outline-offset: 3px;
    border-radius: 4px;
}

/* --- Animations d'entree au scroll (CSS pur, fallback automatique) --- */
@supports (animation-timeline: view()) {
    .wp-block-image,
    .cotrans-job-card,
    article.card,
    .card-panel {
        animation: cotrans-fade-up linear both;
        animation-timeline: view();
        animation-range: entry 0% cover 25%;
    }
    @keyframes cotrans-fade-up {
        from { opacity: 0; transform: translateY(40px); }
        to   { opacity: 1; transform: translateY(0); }
    }
}

/* --- Cards : lift au hover --- */
.card,
.card-panel,
.materialize-card {
    transition: transform 0.4s var(--cotrans-ease-out),
                box-shadow 0.4s var(--cotrans-ease-out) !important;
    will-change: transform;
}
.card:hover,
.card-panel:hover,
.materialize-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--cotrans-shadow-lg) !important;
}

/* --- Boutons : effet shine au hover --- */
.btn,
.btn-large,
.cotrans-job-card-link,
button[type="submit"],
.wp-block-button__link {
    position: relative;
    overflow: hidden;
    transition: all 0.3s var(--cotrans-ease) !important;
}
.btn::before,
.btn-large::before,
.cotrans-job-card-link::before,
button[type="submit"]::before,
.wp-block-button__link::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: left 0.6s var(--cotrans-ease-out);
    pointer-events: none;
}
.btn:hover::before,
.btn-large:hover::before,
.cotrans-job-card-link:hover::before,
button[type="submit"]:hover::before,
.wp-block-button__link:hover::before {
    left: 100%;
}
.btn:hover,
.btn-large:hover,
.cotrans-job-card-link:hover,
button[type="submit"]:hover,
.wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: var(--cotrans-shadow-md);
}

/* --- Liens menu : underline animee --- */
nav ul li a,
.main-menu a {
    position: relative;
    transition: color 0.3s var(--cotrans-ease);
}
nav ul li a::after,
.main-menu a::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 8px;
    width: 0;
    height: 2px;
    background: var(--cotrans-primary);
    transition: width 0.3s var(--cotrans-ease-out), left 0.3s var(--cotrans-ease-out);
}
nav ul li a:hover::after,
.main-menu a:hover::after,
nav ul li.active > a::after {
    width: calc(100% - 32px);
    left: 16px;
}

/* --- Images : zoom doux dans les conteneurs --- */
.wp-block-image,
.card-image {
    overflow: hidden;
    border-radius: var(--cotrans-radius);
}
.wp-block-image img,
.card-image img {
    transition: transform 0.6s var(--cotrans-ease-out);
}
.wp-block-image:hover img,
.card-image:hover img {
    transform: scale(1.05);
}

/* --- Forms : focus bleu cotrans --- */
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=number]:focus,
input[type=search]:focus,
textarea:focus {
    border-bottom-color: var(--cotrans-primary) !important;
    box-shadow: 0 1px 0 0 var(--cotrans-primary) !important;
}

/* --- Liens du contenu : underline anime --- */
.entry-content a,
.post-content a,
.page-content a {
    color: var(--cotrans-primary);
    text-decoration: none;
    background-image: linear-gradient(90deg, var(--cotrans-primary), var(--cotrans-primary));
    background-size: 0% 1px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.4s var(--cotrans-ease-out);
}
.entry-content a:hover,
.post-content a:hover,
.page-content a:hover {
    background-size: 100% 1px;
}

/* --- Spinner moderne --- */
.loader-spinner {
    animation: cotrans-spin 0.8s linear infinite;
}
@keyframes cotrans-spin { to { transform: rotate(360deg); } }

/* --- Respect prefers-reduced-motion --- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ============================================================
 * MODERNISATION LIGHT + VIEW TRANSITIONS (mai 2026)
 * ============================================================ */

/* --- Import police Inter (variable font) --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300..800&display=swap');

/* --- Application Inter en complement de la police existante --- */
body,
.entry-content,
.page-content,
.post-content,
nav,
.btn,
.btn-large,
input,
textarea,
select {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    font-feature-settings: "cv11", "ss01", "ss03";
}

/* --- Typographie fluide (s'adapte au viewport) --- */
h1, .h1 { font-size: clamp(2rem, 4vw + 1rem, 3.5rem); line-height: 1.1; letter-spacing: -0.02em; font-weight: 700; }
h2, .h2 { font-size: clamp(1.5rem, 3vw + 0.5rem, 2.5rem); line-height: 1.2; letter-spacing: -0.01em; font-weight: 700; }
h3, .h3 { font-size: clamp(1.25rem, 2vw + 0.5rem, 1.875rem); line-height: 1.3; font-weight: 600; }
h4, .h4 { font-size: clamp(1.125rem, 1.5vw + 0.5rem, 1.5rem); line-height: 1.4; font-weight: 600; }
p, li { font-size: clamp(0.95rem, 0.5vw + 0.8rem, 1.0625rem); line-height: 1.65; }

/* --- Espacement vertical aere --- */
section.section,
.section {
    padding-top: clamp(2rem, 5vw, 5rem);
    padding-bottom: clamp(2rem, 5vw, 5rem);
}

/* --- VIEW TRANSITIONS : navigations type "app mobile" --- */
@view-transition {
    navigation: auto;
}
::view-transition-old(root) {
    animation: 250ms cubic-bezier(0.4, 0, 0.2, 1) both cotrans-fade-out;
}
::view-transition-new(root) {
    animation: 350ms cubic-bezier(0.16, 1, 0.3, 1) both cotrans-fade-in-up;
}
@keyframes cotrans-fade-out {
    to { opacity: 0; transform: translateY(-10px); }
}
@keyframes cotrans-fade-in-up {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* --- GLASSMORPHISM sur le header au scroll --- */
header,
.navbar-fixed,
nav.navbar,
.header-fixed,
#header {
    transition: all 0.4s var(--cotrans-ease-out);
}

/* Quand le header est sticky/fixed, il prend l'effet verre */
header.is-scrolled,
nav.navbar.is-scrolled,
.navbar-fixed nav,
nav.scrolled {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: saturate(180%) blur(12px);
    -webkit-backdrop-filter: saturate(180%) blur(12px);
    box-shadow: 0 1px 0 rgba(0,0,0,0.05), 0 4px 24px rgba(0,0,0,0.04);
    border-bottom: 1px solid rgba(255,255,255,0.2);
}

/* Auto-application sur les navs fixed par defaut */
.navbar-fixed > nav,
nav[role="navigation"].fixed,
header.sticky {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: saturate(180%) blur(12px);
    -webkit-backdrop-filter: saturate(180%) blur(12px);
}

/* --- MICROINTERACTIONS --- */

/* Cards : effet tilt 3D leger au hover */
.cotrans-job-card,
.card,
.card-panel {
    transform-style: preserve-3d;
    perspective: 1000px;
}
.cotrans-job-card:hover {
    transform: translateY(-6px) rotateX(1deg) rotateY(-1deg);
}

/* Boutons : pulsation discrete (respiration) sur les CTA principaux */
@keyframes cotrans-breathe {
    0%, 100% { box-shadow: 0 0 0 0 rgba(3,169,244,0.4); }
    50%      { box-shadow: 0 0 0 8px rgba(3,169,244,0); }
}
.btn.btn-large,
.wp-block-button__link {
    animation: cotrans-breathe 2.5s ease-in-out infinite;
}
.btn.btn-large:hover,
.wp-block-button__link:hover {
    animation: none;
}

/* Icones materielles : leger bounce au hover sur les liens */
a:hover > .material-icons,
.btn:hover > .material-icons {
    transform: translateX(2px);
    transition: transform 0.2s var(--cotrans-ease-out);
}

/* Headings : barre accent gauche subtile */
.section h2:not(.has-text-align-center)::before,
.section h3:not(.has-text-align-center)::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 0.8em;
    background: linear-gradient(180deg, var(--cotrans-primary), var(--cotrans-primary-dark));
    border-radius: 2px;
    margin-right: 12px;
    vertical-align: middle;
    transform: translateY(-2px);
}

/* Images : aspect-ratio par defaut (pas de layout shift) */
img:not([width]):not([height]) {
    aspect-ratio: auto;
}

/* Skeleton loader pour les zones de chargement */
.is-loading {
    background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);
    background-size: 200% 100%;
    animation: cotrans-skeleton 1.4s ease-in-out infinite;
    color: transparent !important;
    pointer-events: none;
}
@keyframes cotrans-skeleton {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Polish: cursor pointer sur tous les elements interactifs */
.cotrans-job-card,
[role="button"],
button,
.btn {
    cursor: pointer;
}

/* Smooth transitions sur les changements de couleur/fond globaux */
a, button, .btn, input, select, textarea {
    transition: background-color 0.2s var(--cotrans-ease),
                color 0.2s var(--cotrans-ease),
                border-color 0.2s var(--cotrans-ease);
}
