/*
Theme Name: Theme TrouverDuMonde
Theme URI: https://trouverdumonde.com/
Author: TrouverDuMonde
Description: Thème léger et responsive pour TrouverDuMonde.com, compatible Elementor et Elementor Pro Theme Builder. La logique métier reste dans le plugin.
Version: 0.8.5
Text Domain: themetrouverdumonde
*/

:root{
    --tdm-navy:#071426;
    --tdm-orange:#ff7a00;
    --tdm-yellow:#ffb000;
    --tdm-red:#e60000;
    --tdm-muted:#697386;
    --tdm-bg:#fff7ef;
    --tdm-border:#eceff4;
    --tdm-radius:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    color:var(--tdm-navy);
    background:#fff;
    line-height:1.6;
}
a{color:inherit}
img{max-width:100%;height:auto}

.tdm-container{
    width:min(1120px, calc(100% - 40px));
    margin:45px auto;
}
.tdm-full-width,
.tdm-elementor-page,
.tdm-front-page{
    width:100%;
    margin:0;
    padding:0;
}
.tdm-content > *:first-child{margin-top:0}
.tdm-content > *:last-child{margin-bottom:0}
.tdm-page-title{
    font-size:clamp(32px, 5vw, 52px);
    line-height:1.08;
    letter-spacing:-1.4px;
    margin:0 0 24px;
}

/* Header fallback : utilisé seulement si aucun header Elementor n'est défini */
.tdm-header{
    border-bottom:1px solid var(--tdm-border);
    background:#fff;
}
.tdm-header-inner{
    width:min(1180px, calc(100% - 36px));
    margin:0 auto;
    padding:22px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.tdm-branding{display:flex;flex-direction:column;gap:4px}
.tdm-logo{
    font-size:30px;
    line-height:1;
    font-weight:900;
    letter-spacing:-1.3px;
    text-decoration:none;
    display:inline-block;
}
.tdm-logo .du{color:var(--tdm-orange)}
.tdm-logo .monde{color:var(--tdm-red)}
.tdm-logo .dot{font-size:.55em}
.tdm-tagline{color:var(--tdm-muted);font-size:14px}
.tdm-nav .tdm-menu,
.tdm-footer-menu{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    gap:22px;
    flex-wrap:wrap;
    font-weight:800;
}
.tdm-nav a,
.tdm-footer-menu a{text-decoration:none}
.tdm-nav a:hover,
.tdm-footer-menu a:hover{color:var(--tdm-orange)}

/* Articles / archives fallback */
.tdm-card{
    background:#fff;
    border:1px solid var(--tdm-border);
    border-radius:var(--tdm-radius);
    padding:24px;
    margin:0 0 18px;
    box-shadow:0 8px 22px rgba(10,20,40,.05);
}
.tdm-card h2{margin:0 0 10px;font-size:26px;line-height:1.2}
.tdm-card h2 a{text-decoration:none}
.tdm-card h2 a:hover{color:var(--tdm-orange)}
.tdm-featured-image{margin:0 0 28px;border-radius:var(--tdm-radius);overflow:hidden}
.tdm-featured-image img{display:block;width:100%}
.tdm-archive-header{margin-bottom:26px}
.tdm-archive-description{color:var(--tdm-muted);font-size:18px}
.tdm-pagination{margin-top:30px}

/* Footer fallback : utilisé seulement si aucun footer Elementor n'est défini */
.tdm-footer{
    border-top:1px solid var(--tdm-border);
    color:var(--tdm-muted);
    background:#fff;
}
.tdm-footer-inner{
    width:min(1180px, calc(100% - 36px));
    margin:0 auto;
    padding:30px 0;
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    flex-wrap:wrap;
}

/* Compat Elementor */
.elementor-page .tdm-site-main{margin:0;padding:0;width:100%}
.elementor-section.elementor-section-boxed > .elementor-container{max-width:1180px}
.tdm-blank-template{background:#fff}

@media(max-width:760px){
    .tdm-container{width:min(100% - 28px, 1120px);margin:28px auto}
    .tdm-header-inner{align-items:flex-start;flex-direction:column}
    .tdm-nav .tdm-menu{gap:16px;font-size:16px}
    .tdm-footer-inner{flex-direction:column;align-items:flex-start}
    .tdm-footer-menu{gap:14px}
}


/* v0.5.0 - Header/logo + blocs Elementor/TDM */
.tdm-header-inner{padding:14px 0 !important;}
.tdm-branding img,
.tdm-logo img,
.custom-logo,
header img.custom-logo{
    display:block !important;
    max-width:260px !important;
    width:auto !important;
    height:auto !important;
    max-height:70px !important;
}
.tdm-nav{margin-left:auto;}
.tdm-home-hero{
    background:linear-gradient(135deg,#fff7ef 0%,#ffffff 52%,#eef7ff 100%);
    border-radius:32px;
    padding:70px 32px;
    box-shadow:0 18px 45px rgba(7,20,38,.07);
}
.tdm-home-pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #ffe2c2;color:#ff7a00;border-radius:999px;padding:8px 14px;font-weight:800;font-size:14px;box-shadow:0 10px 24px rgba(255,122,0,.10)}
.tdm-home-title{font-size:clamp(36px,6vw,72px);line-height:.98;letter-spacing:-2.8px;margin:18px 0;color:#071426;font-weight:950;}
.tdm-home-title span{color:#ff7a00;}
.tdm-home-text{max-width:760px;color:#4d5b70;font-size:19px;margin:0 auto 28px;}
.tdm-home-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.tdm-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 22px;font-weight:900;text-decoration:none;border:2px solid transparent;transition:.2s ease;}
.tdm-btn-primary{background:#ff7a00;color:#fff !important;box-shadow:0 12px 28px rgba(255,122,0,.25)}
.tdm-btn-secondary{background:#071426;color:#fff !important;box-shadow:0 12px 28px rgba(7,20,38,.18)}
.tdm-btn:hover{transform:translateY(-2px)}
.tdm-annonces-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:28px 0;}
.tdm-annonce-card{background:#fff;border:1px solid #eceff4;border-radius:24px;overflow:hidden;box-shadow:0 12px 30px rgba(7,20,38,.08);display:flex;flex-direction:column;min-height:100%;}
.tdm-annonce-thumb{height:165px;background:linear-gradient(135deg,#ff7a00,#ffb000);display:flex;align-items:center;justify-content:center;font-size:46px;color:#fff;overflow:hidden;}
.tdm-annonce-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.tdm-annonce-body{padding:20px;}
.tdm-annonce-title{font-size:20px;line-height:1.2;margin:0 0 10px;font-weight:900;color:#071426;}
.tdm-annonce-title a{text-decoration:none;color:inherit;}
.tdm-annonce-title a:hover{color:#ff7a00;}
.tdm-annonce-excerpt{color:#697386;font-size:15px;margin:0 0 14px;}
.tdm-annonce-meta{font-size:13px;color:#ff7a00;font-weight:800;}
.tdm-annonces-empty{background:#fff7ef;border:1px dashed #ffbf7a;color:#071426;border-radius:18px;padding:18px;text-align:center;font-weight:700;}
.tdm-home-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.tdm-home-step{background:#fff;border-radius:24px;border:1px solid #eceff4;padding:28px;box-shadow:0 10px 24px rgba(7,20,38,.05)}
.tdm-home-step strong{display:block;font-size:24px;color:#071426;margin-bottom:8px}.tdm-home-step span{font-size:38px;display:block;margin-bottom:12px}.tdm-home-step p{color:#697386;margin:0}
@media(max-width:900px){.tdm-annonces-grid,.tdm-home-steps{grid-template-columns:1fr 1fr}.tdm-branding img,.tdm-logo img,.custom-logo,header img.custom-logo{max-width:220px !important;}}
@media(max-width:650px){.tdm-annonces-grid,.tdm-home-steps{grid-template-columns:1fr}.tdm-branding img,.tdm-logo img,.custom-logo,header img.custom-logo{max-width:190px !important;max-height:55px !important}.tdm-header-inner{align-items:center!important}.tdm-home-hero{padding:48px 20px}.tdm-home-title{letter-spacing:-1.6px}}


/* v0.5.0 - corrections globales */
:root{
    --tdm-navy:#071426;
    --tdm-orange:#ff8a00;
    --tdm-orange2:#ffb000;
    --tdm-red:#e60000;
    --tdm-blue:#1488d8;
    --tdm-soft:#fff8f1;
}
body{font-size:16px;}
.tdm-header{position:relative;z-index:20;background:#fff;}
.tdm-header-inner{min-height:84px;}
.tdm-branding{flex:0 1 auto;min-width:0;}
.tdm-custom-logo-link,.custom-logo-link{display:inline-flex!important;align-items:center!important;max-width:270px!important;line-height:0!important;}
.tdm-branding .custom-logo-link img,
.tdm-branding img.custom-logo,
a.custom-logo-link img,
.site-logo img,
.site-branding img,
.custom-logo,
header img,
.elementor-widget-theme-site-logo img{
    max-width:270px!important;
    width:auto!important;
    height:auto!important;
    max-height:76px!important;
    object-fit:contain!important;
}
.tdm-nav .tdm-menu{gap:18px;font-size:15px;}
.tdm-tagline{font-size:13px;color:#506077;}

.tdm-section{width:min(1120px,calc(100% - 36px));margin:0 auto;padding:70px 0;}
.tdm-section-title{text-align:center;font-size:clamp(28px,4vw,44px);line-height:1.08;margin:0 0 12px;color:var(--tdm-navy);letter-spacing:-1px;font-weight:950;}
.tdm-section-subtitle{text-align:center;color:#5b6778;max-width:720px;margin:0 auto 34px;}

.tdm-home-hero{
    width:min(1120px,calc(100% - 36px));
    margin:42px auto 34px;
    background:radial-gradient(circle at 15% 20%,rgba(255,138,0,.16),transparent 34%),radial-gradient(circle at 85% 10%,rgba(20,136,216,.13),transparent 35%),linear-gradient(135deg,#fff 0%,#fff8f1 100%);
    border:1px solid #ffe2c2;
    text-align:left!important;
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:34px;
    align-items:center;
}
.tdm-home-hero-inner{text-align:left;}
.tdm-home-hero-visual{min-height:320px;border-radius:30px;background:linear-gradient(135deg,#fff,#fff4e7);box-shadow:inset 0 0 0 1px #ffe2c2;display:grid;place-items:center;position:relative;overflow:hidden;}
.tdm-home-hero-visual:before,.tdm-home-hero-visual:after{content:"";position:absolute;border-radius:999px;background:rgba(255,138,0,.15)}
.tdm-home-hero-visual:before{width:220px;height:220px;right:-60px;top:-40px}.tdm-home-hero-visual:after{width:160px;height:160px;left:-40px;bottom:-50px;background:rgba(20,136,216,.13)}
.tdm-people-bubble{position:relative;z-index:2;width:min(270px,72%);aspect-ratio:1;background:#fff;border:12px solid var(--tdm-orange);border-radius:50% 50% 50% 18%;box-shadow:0 26px 50px rgba(7,20,38,.14);display:grid;place-items:center;}
.tdm-people-bubble span{position:absolute;width:50px;height:50px;border-radius:50%;background:var(--tdm-orange);box-shadow:0 58px 0 -12px var(--tdm-orange);}
.tdm-people-bubble span:nth-child(1){top:52px;left:50%;transform:translateX(-50%)}
.tdm-people-bubble span:nth-child(2){left:55px;bottom:78px;background:#ff3b1f;box-shadow:0 58px 0 -12px #ff3b1f}
.tdm-people-bubble span:nth-child(3){right:55px;bottom:78px;background:#1488d8;box-shadow:0 58px 0 -12px #1488d8}
.tdm-home-pill{margin-bottom:14px;background:#fff;color:var(--tdm-orange);}
.tdm-home-title{font-size:clamp(42px,5.4vw,70px);}
.tdm-home-text{margin:0 0 28px!important;font-size:20px;max-width:680px;}
.tdm-home-actions{justify-content:flex-start!important;}
.tdm-btn-primary{background:linear-gradient(135deg,#ff7900,#ffb000)!important;}
.tdm-btn-secondary{background:#071426!important;}

.tdm-home-visuals{width:min(1120px,calc(100% - 36px));margin:10px auto 20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.tdm-visual-card{background:#fff;border:1px solid #eceff4;border-radius:26px;padding:24px;box-shadow:0 14px 34px rgba(7,20,38,.07);min-height:180px;}
.tdm-visual-icon{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;font-size:30px;background:linear-gradient(135deg,#fff0df,#eaf7ff);margin-bottom:18px;}
.tdm-visual-card strong{display:block;font-size:20px;margin-bottom:8px}.tdm-visual-card p{color:#667386;margin:0;font-size:15px;}

/* Cards annonces : cohérence avec page Annonces */
.tdm-annonces-grid{width:min(1120px,calc(100% - 36px));margin:30px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.tdm-annonce-card{border-radius:18px!important;border:1px solid #e6e8ee!important;box-shadow:0 12px 26px rgba(7,20,38,.08)!important;overflow:hidden;background:#fff;min-height:100%;}
.tdm-annonce-body{padding:22px!important;display:flex;flex-direction:column;min-height:320px;}
.tdm-annonce-head{display:flex;gap:12px;align-items:center;margin-bottom:18px;}
.tdm-annonce-avatar img,.tdm-annonce-avatar{width:46px;height:46px;border-radius:50%;background:#d7dbe2;display:block;overflow:hidden;flex:0 0 auto;}
.tdm-annonce-author{font-weight:900;color:#071426;font-size:15px;}
.tdm-annonce-title{font-size:20px!important;line-height:1.22!important;margin:0 0 16px!important;min-height:48px;}
.tdm-annonce-excerpt{color:#536174!important;font-size:14px!important;margin:0 0 14px!important;}
.tdm-annonce-meta{font-size:14px!important;color:#536174!important;font-weight:500!important;margin:0 0 8px!important;}
.tdm-annonce-meta strong{color:#ff3b70;font-weight:900;margin-right:5px;}
.tdm-annonce-date{font-size:14px;color:#536174;margin-bottom:14px;}
.tdm-annonce-button{margin-top:auto;display:block;text-align:center;background:linear-gradient(135deg,#ff7900,#ffb000);color:#fff!important;text-decoration:none;font-weight:900;border-radius:999px;padding:12px 16px;}
.tdm-annonce-button:hover{filter:brightness(.96);transform:translateY(-1px)}
.tdm-annonce-thumb{display:none!important;}

.tdm-home-steps-wrap{background:#fff7ef;margin-top:70px;}
.tdm-home-steps{width:min(1120px,calc(100% - 36px));margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:0 0 70px;}
.tdm-home-step{box-shadow:0 12px 26px rgba(7,20,38,.06)!important;}

.tdm-admin-shortcodes{max-width:1080px}.tdm-admin-shortcodes code{font-size:14px;background:#fff;border:1px solid #ccd0d4;padding:8px 10px;display:inline-block;border-radius:6px}.tdm-admin-shortcodes table{background:#fff;border:1px solid #dcdcde;border-collapse:collapse;width:100%;margin-top:15px}.tdm-admin-shortcodes th,.tdm-admin-shortcodes td{padding:12px;border-bottom:1px solid #dcdcde;text-align:left;vertical-align:top}.tdm-admin-shortcodes th{background:#f6f7f7}.tdm-admin-shortcodes .regular-text{width:100%;max-width:620px}

@media(max-width:980px){
    .tdm-home-hero{grid-template-columns:1fr;text-align:center!important;padding:44px 22px}.tdm-home-hero-inner{text-align:center}.tdm-home-actions{justify-content:center!important}.tdm-home-hero-visual{min-height:260px}.tdm-home-visuals,.tdm-annonces-grid,.tdm-home-steps{grid-template-columns:1fr 1fr}.tdm-nav .tdm-menu{font-size:14px;gap:12px}.tdm-branding .custom-logo-link img,a.custom-logo-link img,.custom-logo,header img,.elementor-widget-theme-site-logo img{max-width:230px!important;max-height:64px!important;}
}
@media(max-width:680px){
    .tdm-header-inner{align-items:center!important;text-align:center!important;gap:12px!important}.tdm-branding{align-items:center}.tdm-nav{margin-left:0!important;width:100%;}.tdm-nav .tdm-menu{justify-content:center}.tdm-home-visuals,.tdm-annonces-grid,.tdm-home-steps{grid-template-columns:1fr}.tdm-branding .custom-logo-link img,a.custom-logo-link img,.custom-logo,header img,.elementor-widget-theme-site-logo img{max-width:210px!important;max-height:58px!important}.tdm-home-title{font-size:40px}.tdm-home-text{font-size:17px}.tdm-annonce-body{min-height:auto;}
}


/* v0.6.0 - Nettoyage homepage + cartes strictement proches de la page Annonces */
.tdm-header-inner{min-height:72px!important;padding:10px 0!important;}
.tdm-branding .custom-logo-link img,
a.custom-logo-link img,
.custom-logo,
.site-logo img,
.site-branding img,
header .custom-logo,
.elementor-widget-theme-site-logo img{
    max-width:230px!important;
    max-height:64px!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain!important;
}
.tdm-tagline{font-size:12px!important;margin-top:2px;}
.tdm-nav .tdm-menu{gap:16px!important;font-size:14px!important;}

.tdm-section{padding:42px 0!important;}
.tdm-section-tight{padding:34px 0 12px!important;}
.tdm-section-title{font-size:clamp(28px,3.5vw,38px)!important;margin-bottom:10px!important;}
.tdm-section-subtitle{margin-bottom:18px!important;}

.tdm-home-hero{
    padding:44px 30px!important;
    margin:30px auto 22px!important;
    border-radius:26px!important;
    gap:28px!important;
}
.tdm-home-title{font-size:clamp(38px,4.6vw,60px)!important;letter-spacing:-1.8px!important;margin:12px 0!important;}
.tdm-home-text{font-size:17px!important;margin-bottom:20px!important;}
.tdm-home-hero-visual{min-height:245px!important;}
.tdm-people-bubble{width:min(220px,70%)!important;border-width:10px!important;}
.tdm-home-actions{gap:10px!important;}
.tdm-btn{padding:11px 18px!important;font-size:14px!important;}

.tdm-home-annonces-section{padding:0 0 12px!important;}
.tdm-annonces-grid{
    width:min(1120px,calc(100% - 36px))!important;
    margin:22px auto 0!important;
    display:grid!important;
    gap:26px!important;
    align-items:stretch!important;
}
.tdm-annonces-grid-cols-1{grid-template-columns:1fr!important;}
.tdm-annonces-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.tdm-annonces-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.tdm-annonce-card{
    background:#fff!important;
    border:1px solid #e4e8f0!important;
    border-radius:20px!important;
    box-shadow:0 10px 24px rgba(7,20,38,.07)!important;
    overflow:hidden!important;
    min-height:0!important;
    height:100%!important;
}
.tdm-annonce-body{
    padding:24px!important;
    min-height:310px!important;
    display:flex!important;
    flex-direction:column!important;
}
.tdm-annonce-head{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:18px!important;}
.tdm-annonce-avatar,.tdm-annonce-avatar img{width:48px!important;height:48px!important;border-radius:50%!important;display:block!important;overflow:hidden!important;}
.tdm-annonce-author{font-size:15px!important;font-weight:900!important;color:#071426!important;}
.tdm-annonce-title{font-size:21px!important;line-height:1.22!important;margin:0 0 14px!important;min-height:auto!important;color:#071426!important;}
.tdm-annonce-title a{text-decoration:none!important;color:inherit!important;}
.tdm-annonce-meta{font-size:15px!important;line-height:1.45!important;color:#4f5f73!important;font-weight:500!important;margin:0 0 12px!important;display:flex!important;gap:7px!important;align-items:flex-start!important;}
.tdm-annonce-meta strong{color:#ff315d!important;line-height:1.4!important;margin:0!important;}
.tdm-annonce-date{display:none!important;}
.tdm-annonce-excerpt{font-size:15px!important;line-height:1.45!important;color:#4f5f73!important;margin:0 0 20px!important;}
.tdm-annonce-button{
    margin-top:auto!important;
    display:block!important;
    width:100%!important;
    text-align:center!important;
    background:linear-gradient(135deg,#ff7900,#ffb000)!important;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:900!important;
    border-radius:999px!important;
    padding:13px 16px!important;
    box-shadow:none!important;
}
.tdm-annonce-button:hover{filter:brightness(.96)!important;transform:none!important;}

.tdm-home-steps-wrap{margin-top:42px!important;padding-bottom:42px!important;}
.tdm-home-steps{padding:0!important;gap:18px!important;}
.tdm-home-step{padding:24px!important;border-radius:20px!important;}
.tdm-home-step span{font-size:28px!important;margin-bottom:8px!important;}
.tdm-home-step strong{font-size:20px!important;}
.tdm-home-cta{text-align:center!important;}

@media(max-width:980px){
    .tdm-annonces-grid-cols-2,.tdm-annonces-grid-cols-3{grid-template-columns:1fr 1fr!important;}
    .tdm-home-hero{grid-template-columns:1fr!important;text-align:center!important;}
    .tdm-home-hero-inner{text-align:center!important;}
    .tdm-home-actions{justify-content:center!important;}
    .tdm-home-hero-visual{display:none!important;}
}
@media(max-width:680px){
    .tdm-branding .custom-logo-link img,a.custom-logo-link img,.custom-logo,.site-logo img,.site-branding img,header .custom-logo,.elementor-widget-theme-site-logo img{max-width:190px!important;max-height:54px!important;}
    .tdm-annonces-grid-cols-2,.tdm-annonces-grid-cols-3{grid-template-columns:1fr!important;}
    .tdm-annonce-body{min-height:auto!important;}
    .tdm-home-hero{padding:34px 18px!important;}
    .tdm-home-title{font-size:34px!important;}
}


/* v0.7.0 - Homepage annonces administrables et cohérentes */
.tdm-home-annonces-section .tdm-annonces-grid{
    max-width:1120px!important;
}
.tdm-annonces-grid{
    align-items:stretch!important;
}
.tdm-annonce-card{
    display:flex!important;
    height:100%!important;
}
.tdm-annonce-body{
    width:100%!important;
}
.tdm-annonce-title{
    min-height:0!important;
}
.tdm-annonce-location{
    display:flex!important;
}
.tdm-annonce-date{
    color:#4f5f73!important;
    font-size:15px!important;
    margin:0 0 12px!important;
}
.tdm-annonce-excerpt{
    min-height:40px!important;
}
.tdm-home-annonces-section .tdm-section-tight{
    padding-bottom:4px!important;
}
.tdm-home-annonces-section .tdm-section-subtitle{
    margin-bottom:8px!important;
}
@media(min-width:981px){
    .tdm-annonces-grid-cols-3 .tdm-annonce-body{
        min-height:310px!important;
    }
    .tdm-annonces-grid-cols-2 .tdm-annonce-body{
        min-height:295px!important;
    }
}


/* v0.7.2 - Header uniforme + couleurs front Elementor */
.tdm-header-global,
.tdm-header{
    background:#ffffff!important;
    border-bottom:1px solid #e7ebf2!important;
    position:relative!important;
    z-index:50!important;
}
.tdm-header-inner{
    width:min(1180px,calc(100% - 36px))!important;
    margin:0 auto!important;
    padding:12px 0!important;
    min-height:84px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:28px!important;
    text-align:left!important;
}
.tdm-branding{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:4px!important;
    flex:0 0 auto!important;
    max-width:330px!important;
}
.tdm-branding .custom-logo-link,
.custom-logo-link{
    display:inline-flex!important;
    align-items:center!important;
    line-height:0!important;
    max-width:300px!important;
}
.tdm-branding .custom-logo-link img,
.custom-logo-link img,
.custom-logo,
header img.custom-logo{
    width:auto!important;
    max-width:270px!important;
    max-height:68px!important;
    height:auto!important;
    object-fit:contain!important;
}
.tdm-logo{
    font-size:30px!important;
    font-weight:950!important;
    line-height:1!important;
    letter-spacing:-1.2px!important;
    text-decoration:none!important;
    color:#071426!important;
    white-space:nowrap!important;
}
.tdm-logo .du{color:#ff7900!important;}
.tdm-logo .monde{color:#e60000!important;}
.tdm-logo .dot{font-size:.55em!important;}
.tdm-tagline{
    font-size:13px!important;
    line-height:1.25!important;
    color:#536174!important;
    margin:0!important;
    text-align:left!important;
}
.tdm-nav{
    margin-left:auto!important;
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
}
.tdm-nav .tdm-menu{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:20px!important;
    list-style:none!important;
    margin:0!important;
    padding:0!important;
    flex-wrap:wrap!important;
    font-size:15px!important;
    font-weight:900!important;
}
.tdm-nav .tdm-menu a{
    color:#071426!important;
    text-decoration:none!important;
}
.tdm-nav .tdm-menu a:hover{color:#ff7900!important;}

/* Couleurs du modèle Elementor même si le CSS Elementor n'est pas régénéré */
.elementor-page .elementor-widget-button .elementor-button{
    border-radius:999px!important;
    padding:13px 22px!important;
    font-weight:900!important;
    text-decoration:none!important;
}
.elementor-page .elementor-widget-button:nth-of-type(1) .elementor-button,
.elementor-page .elementor-button{
    background:linear-gradient(135deg,#ff7900,#ffb000)!important;
    color:#ffffff!important;
}
.elementor-page .elementor-column:first-child .elementor-widget-button + .elementor-widget-button .elementor-button{
    background:#071426!important;
    color:#ffffff!important;
}
.elementor-page .elementor-top-section:first-of-type{
    background:#fff8f1!important;
}
.elementor-page .elementor-widget-heading h1,
.elementor-page .elementor-widget-heading h2{
    color:#071426!important;
}
.elementor-page .elementor-widget-text-editor{
    color:#536174!important;
}

/* Bloc visuels */
.tdm-home-visuals{
    width:min(1120px,calc(100% - 36px));
    margin:18px auto 28px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}
.tdm-visual-card{
    background:#fff!important;
    border:1px solid #e4e8f0!important;
    border-radius:22px!important;
    padding:22px!important;
    box-shadow:0 10px 24px rgba(7,20,38,.06)!important;
}
.tdm-visual-icon{
    width:54px;height:54px;border-radius:18px;
    display:grid;place-items:center;
    background:#fff2e3;color:#ff7900;
    font-size:26px;margin-bottom:14px;
}
.tdm-visual-card strong{display:block;font-size:18px;font-weight:900;color:#071426;margin-bottom:6px}
.tdm-visual-card p{margin:0;color:#536174;font-size:14px;line-height:1.45}

@media(max-width:900px){
    .tdm-header-inner{
        flex-direction:column!important;
        justify-content:center!important;
        gap:12px!important;
        text-align:center!important;
    }
    .tdm-branding{
        align-items:center!important;
        text-align:center!important;
    }
    .tdm-tagline{text-align:center!important;}
    .tdm-nav{margin-left:0!important;justify-content:center!important;}
    .tdm-nav .tdm-menu{justify-content:center!important;}
    .tdm-home-visuals{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
    .tdm-branding .custom-logo-link img,
    .custom-logo-link img,
    .custom-logo,
    header img.custom-logo{
        max-width:210px!important;
        max-height:58px!important;
    }
    .tdm-home-visuals{grid-template-columns:1fr;}
}


/* v0.7.4 - Type d'annonce dans les cartes */
.tdm-annonce-type{
    display:inline-flex!important;
    align-items:center!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0 0 12px!important;
    padding:6px 11px!important;
    border-radius:999px!important;
    background:#fff2e3!important;
    color:#d85f00!important;
    font-size:13px!important;
    line-height:1.2!important;
    font-weight:900!important;
}


/* v0.7.8 - Footer administrable stable */
.tdm-footer-global{background:#071426!important;color:#d9e2ef!important;border-top:0!important;margin-top:50px!important}
.tdm-footer-global .tdm-footer-inner{width:min(1180px,calc(100% - 36px))!important;margin:0 auto!important;padding:46px 0 34px!important;display:grid!important;grid-template-columns:1.5fr 1fr 1fr 1fr!important;gap:28px!important;align-items:start!important}
.tdm-footer-brand{display:flex!important;flex-direction:column!important;gap:10px!important}
.tdm-footer-brand strong{color:#fff!important;font-size:20px!important;font-weight:950!important}
.tdm-footer-brand p{margin:0!important;color:#aebbd0!important;line-height:1.55!important}
.tdm-footer-global a{color:#d9e2ef!important;text-decoration:none!important}
.tdm-footer-global a:hover{color:#ffb000!important}
.tdm-footer-col h3{margin:0 0 14px!important;font-size:16px!important;color:#fff!important;font-weight:950!important}
.tdm-footer-links{list-style:none!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;gap:9px!important}
.tdm-footer-bottom{width:min(1180px,calc(100% - 36px))!important;margin:0 auto!important;padding:16px 0 22px!important;border-top:1px solid rgba(255,255,255,.12)!important;color:#92a0b6!important;font-size:14px!important;text-align:center!important}
.tdm-footer-logo{margin-bottom:8px!important}
.tdm-footer-logo .custom-logo-link,.tdm-footer-logo a{display:inline-flex!important;line-height:0!important;max-width:230px!important}
.tdm-footer-logo img{display:block!important;max-width:230px!important;max-height:62px!important;width:auto!important;height:auto!important;object-fit:contain!important}
.tdm-footer-brand > .custom-logo-link{display:none!important}
@media(max-width:900px){.tdm-footer-global .tdm-footer-inner{grid-template-columns:1fr 1fr!important}}
@media(max-width:620px){.tdm-footer-global .tdm-footer-inner{grid-template-columns:1fr!important;text-align:center!important}.tdm-footer-brand{align-items:center!important}.tdm-footer-links{align-items:center!important}}

/* v0.8.0 - Correction footer : logo lisible sur fond sombre */
.tdm-footer-global{background:#071426!important;color:#d9e2ef!important;margin-top:50px!important;}
.tdm-footer-global .tdm-footer-inner{width:min(1280px,calc(100% - 72px))!important;margin:0 auto!important;padding:64px 0 46px!important;display:grid!important;grid-template-columns:minmax(430px,540px) 1fr 1fr 1fr!important;gap:44px!important;align-items:start!important;}
.tdm-footer-global .tdm-footer-brand{width:100%!important;max-width:540px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;}
.tdm-footer-global .tdm-footer-logo,.tdm-footer-global .tdm-footer-logo a,.tdm-footer-global .tdm-footer-logo .custom-logo-link{width:100%!important;max-width:540px!important;display:block!important;line-height:0!important;}
.tdm-footer-global .tdm-footer-logo img,.tdm-footer-global .tdm-footer-logo img.custom-logo,.tdm-footer-global .tdm-footer-logo .custom-logo-link img,.tdm-footer-global .tdm-footer-logo a img{display:block!important;width:min(100%,540px)!important;max-width:540px!important;min-width:360px!important;height:auto!important;max-height:none!important;object-fit:contain!important;}
.tdm-footer-global .tdm-footer-brand > .custom-logo-link{display:none!important;}
.tdm-footer-global .tdm-footer-brand strong{margin-top:12px!important;color:#fff!important;font-size:22px!important;line-height:1.2!important;font-weight:950!important;}
.tdm-footer-global .tdm-footer-brand p{max-width:420px!important;margin:0!important;color:#d7e2f2!important;font-size:16px!important;line-height:1.55!important;}
.tdm-footer-global .tdm-footer-col h3{margin:0 0 18px!important;font-size:18px!important;color:#fff!important;font-weight:950!important;}
.tdm-footer-global .tdm-footer-links{gap:12px!important;}
.tdm-footer-global .tdm-footer-links a{font-size:17px!important;}
.tdm-footer-global .tdm-footer-bottom{width:min(1280px,calc(100% - 72px))!important;}
@media(max-width:1050px){.tdm-footer-global .tdm-footer-inner{grid-template-columns:1fr 1fr!important;}.tdm-footer-global .tdm-footer-brand{grid-column:1 / -1!important;max-width:540px!important;}}
@media(max-width:620px){.tdm-footer-global .tdm-footer-inner{width:min(100% - 32px,1280px)!important;grid-template-columns:1fr!important;text-align:center!important;padding:42px 0 32px!important;}.tdm-footer-global .tdm-footer-brand{align-items:center!important;max-width:100%!important;}.tdm-footer-global .tdm-footer-logo,.tdm-footer-global .tdm-footer-logo a,.tdm-footer-global .tdm-footer-logo .custom-logo-link{max-width:360px!important;margin:0 auto!important;}.tdm-footer-global .tdm-footer-logo img,.tdm-footer-global .tdm-footer-logo img.custom-logo,.tdm-footer-global .tdm-footer-logo .custom-logo-link img,.tdm-footer-global .tdm-footer-logo a img{width:100%!important;max-width:360px!important;min-width:0!important;margin:0 auto!important;}.tdm-footer-global .tdm-footer-links{align-items:center!important;}.tdm-footer-global .tdm-footer-bottom{width:min(100% - 32px,1280px)!important;}}

/* v0.8.1 - Anti-cache + logo footer grand */
.tdm-footer-global .tdm-footer-logo img{width:520px!important;max-width:100%!important;height:auto!important;max-height:none!important;}
@media(max-width:620px){.tdm-footer-global .tdm-footer-logo img{width:340px!important;}}
.tdm-footer-global .tdm-footer-logo-main .custom-logo-link{display:block!important;width:520px!important;max-width:100%!important;line-height:0!important;}
.tdm-footer-global .tdm-footer-logo-main .custom-logo-link img{width:520px!important;max-width:100%!important;height:auto!important;max-height:none!important;}

/* v0.8.2 - Footer propre */
.tdm-footer-global{background:#071426!important;color:#d9e2ef!important;margin-top:50px!important;overflow:hidden!important;}
.tdm-footer-global .tdm-footer-inner{width:min(1180px,calc(100% - 48px))!important;margin:0 auto!important;padding:56px 0 42px!important;display:grid!important;grid-template-columns:minmax(360px,1.35fr) repeat(3,minmax(150px,.65fr))!important;gap:48px!important;align-items:center!important;}
.tdm-footer-global .tdm-footer-brand{width:100%!important;max-width:560px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:14px!important;}
.tdm-footer-global .tdm-footer-logo,.tdm-footer-global .tdm-footer-logo a,.tdm-footer-global .tdm-footer-logo .custom-logo-link{display:block!important;width:100%!important;max-width:520px!important;line-height:0!important;}
.tdm-footer-global .tdm-footer-logo img,.tdm-footer-global .tdm-footer-logo img.custom-logo,.tdm-footer-global .tdm-footer-logo a img,.tdm-footer-global .tdm-footer-logo .custom-logo-link img{display:block!important;width:100%!important;max-width:520px!important;min-width:0!important;height:auto!important;max-height:none!important;object-fit:contain!important;}
.tdm-footer-global .tdm-footer-brand strong{margin-top:18px!important;color:#fff!important;font-size:24px!important;line-height:1.2!important;font-weight:950!important;}
.tdm-footer-global .tdm-footer-brand p{margin:0!important;max-width:480px!important;color:#d7e2f2!important;font-size:18px!important;line-height:1.55!important;}
.tdm-footer-global .tdm-footer-col{align-self:start!important;padding-top:10px!important;}
.tdm-footer-global .tdm-footer-col h3{margin:0 0 18px!important;color:#fff!important;font-size:18px!important;line-height:1.2!important;font-weight:950!important;}
.tdm-footer-global .tdm-footer-links{list-style:none!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;gap:13px!important;}
.tdm-footer-global .tdm-footer-links a{color:#d9e2ef!important;text-decoration:none!important;font-size:17px!important;line-height:1.35!important;}
.tdm-footer-global .tdm-footer-links a:hover{color:#ffb000!important;}
.tdm-footer-global .tdm-footer-bottom{width:min(1180px,calc(100% - 48px))!important;margin:0 auto!important;padding:18px 0 24px!important;border-top:1px solid rgba(255,255,255,.12)!important;color:#92a0b6!important;font-size:14px!important;text-align:center!important;}
@media(max-width:1050px){.tdm-footer-global .tdm-footer-inner{grid-template-columns:1fr 1fr 1fr!important;align-items:start!important;}.tdm-footer-global .tdm-footer-brand{grid-column:1 / -1!important;max-width:560px!important;}}
@media(max-width:720px){.tdm-footer-global .tdm-footer-inner{width:min(100% - 32px,1180px)!important;grid-template-columns:1fr!important;gap:28px!important;padding:42px 0 32px!important;text-align:center!important;}.tdm-footer-global .tdm-footer-brand{align-items:center!important;max-width:100%!important;}.tdm-footer-global .tdm-footer-logo,.tdm-footer-global .tdm-footer-logo a,.tdm-footer-global .tdm-footer-logo .custom-logo-link{max-width:360px!important;margin:0 auto!important;}.tdm-footer-global .tdm-footer-logo img,.tdm-footer-global .tdm-footer-logo img.custom-logo,.tdm-footer-global .tdm-footer-logo a img,.tdm-footer-global .tdm-footer-logo .custom-logo-link img{max-width:360px!important;margin:0 auto!important;}.tdm-footer-global .tdm-footer-brand strong{font-size:22px!important;}.tdm-footer-global .tdm-footer-brand p{font-size:16px!important;}.tdm-footer-global .tdm-footer-col{padding-top:0!important;}.tdm-footer-global .tdm-footer-links{align-items:center!important;}.tdm-footer-global .tdm-footer-bottom{width:min(100% - 32px,1180px)!important;}}

/* v0.8.3 - FAQ stable + correctif filtre mobile OSM
   Objectif : intégrer dans le thème les styles qui ne doivent plus dépendre du CSS additionnel. */

/* FAQ TrouverDuMonde : rendu stable même si le thème ou Elementor appliquent des styles globaux */
.tdm-faq-page{
    max-width:980px!important;
    margin:0 auto!important;
    padding:30px 18px 50px!important;
}
.tdm-faq-page h1{
    font-size:clamp(32px,5vw,44px)!important;
    line-height:1.15!important;
    margin:0 0 14px!important;
    color:#071426!important;
    font-weight:950!important;
    letter-spacing:-1px!important;
}
.tdm-faq-page > p{
    margin:0 0 24px!important;
    color:#475569!important;
    font-size:16px!important;
    line-height:1.6!important;
}
.tdm-faq-box,
.tdm-faq-box *{
    box-sizing:border-box!important;
}
.tdm-faq-box{
    display:block!important;
    background:#fff!important;
    border:1px solid #e5e7eb!important;
    border-radius:18px!important;
    margin:0 0 14px!important;
    padding:0!important;
    overflow:hidden!important;
    box-shadow:0 10px 28px rgba(7,20,38,.06)!important;
}
.tdm-faq-box summary{
    all:unset;
    box-sizing:border-box!important;
    display:flex!important;
    width:100%!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    padding:18px 22px!important;
    cursor:pointer!important;
    font-size:16px!important;
    line-height:1.35!important;
    font-weight:800!important;
    color:#071426!important;
    list-style:none!important;
}
.tdm-faq-box summary::-webkit-details-marker{display:none!important;}
.tdm-faq-box summary::marker{content:""!important;}
.tdm-faq-box summary::after{
    content:"+"!important;
    flex:0 0 auto!important;
    margin-left:18px!important;
    font-size:24px!important;
    line-height:1!important;
    font-weight:900!important;
    color:#ff8a00!important;
}
.tdm-faq-box[open] summary{
    background:#fff7ed!important;
}
.tdm-faq-box[open] summary::after{
    content:"−"!important;
}
.tdm-faq-content{
    padding:0 22px 22px!important;
    color:#334155!important;
    font-size:15.5px!important;
    line-height:1.7!important;
}
.tdm-faq-content p{
    margin:0 0 14px!important;
}
.tdm-faq-content p:last-child{
    margin-bottom:0!important;
}

/* Filtre annonces + OSM : correction mobile sans toucher aux autres pages */
@media(max-width:768px){
    .tdm-filter-form{
        display:block!important;
        position:relative!important;
        overflow:visible!important;
        z-index:20!important;
    }
    .tdm-filter-form input,
    .tdm-filter-form select,
    .tdm-filter-form button{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        margin:0 0 10px!important;
    }
    .tdm-filter-form button{
        margin-bottom:0!important;
    }
    .tdm-osm-suggestions,
    .tdm-location-suggestions,
    .tdm-form-suggestions{
        position:absolute!important;
        left:0!important;
        right:0!important;
        top:auto!important;
        z-index:999999!important;
        max-height:220px!important;
        overflow-y:auto!important;
        background:#fff!important;
        border:1px solid #e5e7eb!important;
        border-radius:12px!important;
        box-shadow:0 12px 30px rgba(7,20,38,.15)!important;
    }
    .tdm-faq-page{
        padding:22px 14px 40px!important;
    }
    .tdm-faq-box summary{
        padding:16px!important;
        font-size:15px!important;
    }
    .tdm-faq-content{
        padding:0 16px 18px!important;
    }
}

/* v0.8.4 - Footer TDM en widgets WordPress */
.tdm-footer-widgets .tdm-footer-inner{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:start!important;
}
.tdm-footer-widgets .tdm-footer-widget-col{
    align-self:start!important;
    padding-top:0!important;
}
.tdm-footer-widgets .tdm-footer-widget{
    margin:0 0 22px!important;
    color:#d7e2f2!important;
}
.tdm-footer-widgets .tdm-footer-widget:last-child{
    margin-bottom:0!important;
}
.tdm-footer-widgets .tdm-footer-widget-title,
.tdm-footer-widgets .wp-block-heading,
.tdm-footer-widgets h2,
.tdm-footer-widgets h3{
    margin:0 0 14px!important;
    color:#fff!important;
    font-size:18px!important;
    line-height:1.25!important;
    font-weight:950!important;
}
.tdm-footer-widgets p,
.tdm-footer-widgets li,
.tdm-footer-widgets .textwidget{
    color:#d7e2f2!important;
    font-size:16px!important;
    line-height:1.55!important;
}
.tdm-footer-widgets p{
    margin:0 0 10px!important;
}
.tdm-footer-widgets ul,
.tdm-footer-widgets ol,
.tdm-footer-widgets .wp-block-list{
    list-style:none!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
}
.tdm-footer-widgets a{
    color:#d9e2ef!important;
    text-decoration:none!important;
}
.tdm-footer-widgets a:hover{
    color:#ffb000!important;
}
.tdm-footer-widgets img{
    max-width:100%!important;
    height:auto!important;
}
.tdm-footer-widgets .wp-block-image,
.tdm-footer-widgets figure{
    margin:0 0 14px!important;
}
@media(max-width:1050px){
    .tdm-footer-widgets .tdm-footer-inner{
        grid-template-columns:1fr 1fr!important;
    }
}
@media(max-width:720px){
    .tdm-footer-widgets .tdm-footer-inner{
        grid-template-columns:1fr!important;
        text-align:center!important;
    }
    .tdm-footer-widgets ul,
    .tdm-footer-widgets ol,
    .tdm-footer-widgets .wp-block-list{
        align-items:center!important;
    }
}


/* v0.8.5 - Sidebar articles TDM en widgets WordPress */
.tdm-single-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:32px;
    align-items:start;
}
.tdm-single-layout.tdm-has-sidebar{
    grid-template-columns:minmax(0,2fr) minmax(260px,0.85fr);
}
.tdm-single-main{
    min-width:0;
}
.tdm-sidebar-articles{
    min-width:0;
}
.tdm-sidebar-widget{
    background:#ffffff;
    border:1px solid var(--tdm-border);
    border-radius:18px;
    padding:20px;
    margin:0 0 18px;
    box-shadow:0 10px 24px rgba(7,20,38,.07);
}
.tdm-sidebar-widget-title,
.tdm-sidebar-widget h2,
.tdm-sidebar-widget h3{
    margin:0 0 12px!important;
    color:var(--tdm-navy)!important;
    font-size:18px!important;
    line-height:1.25!important;
    font-weight:900!important;
}
.tdm-sidebar-widget p,
.tdm-sidebar-widget li{
    color:#263449;
    font-size:15px;
    line-height:1.55;
}
.tdm-sidebar-widget ul,
.tdm-sidebar-widget ol{
    margin:0!important;
    padding-left:18px!important;
}
.tdm-sidebar-widget a{
    color:var(--tdm-navy);
    text-decoration:none;
    font-weight:700;
}
.tdm-sidebar-widget a:hover{
    color:var(--tdm-orange);
}
@media(max-width:900px){
    .tdm-single-layout.tdm-has-sidebar{
        grid-template-columns:1fr;
    }
    .tdm-sidebar-articles{
        margin-top:10px;
    }
}
