/* VendezVotreDossard.fr — charte « Sentier » (maquettes Figma, octobre 2026) */
:root{
  --foret:#0F2A1F; --sous-bois:#1C3D30; --bord-sombre:#24463A; --mousse:#A9BDB1;
  --citron:#D4F24A; --citron-2:#C5E33A;
  --brume:#F2F5F1; --blanc:#FFFFFF; --bord:#DCE4DD; --bord-2:#E8EDE8;
  --olive:#4D6B0B; --lichen:#4F5F56;
  --bourse-fond:#E3EAFB; --bourse:#1E40AF; --rouge-fond:#FCE7E4; --rouge:#A61B1B;
  --r-card:20px; --r-bloc:28px;
  --font:'Bricolage Grotesque', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --wrap:1200px;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px;background:var(--brume);}
body{margin:0;background:var(--brume);color:var(--foret);font-family:var(--font);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;font-variation-settings:"opsz" 14;}
img,svg{max-width:100%;}
a{color:inherit;}
button,input,select,textarea{font:inherit;color:inherit;}
h1,h2,h3,h4{margin:0;font-weight:800;line-height:1.1;}
p{margin:0;}
:focus-visible{outline:3px solid var(--olive);outline-offset:2px;border-radius:6px;}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip{position:absolute;left:-999px;top:8px;background:var(--citron);padding:8px 14px;border-radius:999px;z-index:100;font-weight:700;}
.skip:focus{left:12px;}
.wrap{width:min(var(--wrap),100% - 48px);margin:0 auto;}
.ico{flex-shrink:0;}
.preprod-bar{background:#FFB020;color:#1A1200;text-align:center;font-size:12px;font-weight:800;letter-spacing:.06em;padding:5px 12px;}

/* Typo */
.h1{font-size:clamp(44px,7.5vw,96px);letter-spacing:-.035em;line-height:.95;font-variation-settings:"opsz" 96;}
.h2{font-size:clamp(30px,4.5vw,48px);letter-spacing:-.03em;line-height:1.05;font-variation-settings:"opsz" 96;}
.h3{font-size:22px;letter-spacing:-.01em;line-height:1.3;font-weight:700;}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--olive);}
.on-dark .eyebrow,.eyebrow.citron{color:var(--citron);}
.lead{font-size:20px;line-height:1.55;}
.muted{color:var(--lichen);}
.small{font-size:14px;line-height:1.45;font-weight:500;}
.mini{font-size:12px;line-height:1.4;font-weight:500;color:var(--lichen);}
.link{font-weight:700;font-size:14px;color:var(--olive);text-decoration:underline;text-underline-offset:3px;}
.link-citron{font-weight:700;color:var(--citron);text-decoration:none;}
.link-citron:hover{text-decoration:underline;}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:999px;border:1.5px solid transparent;font-weight:700;font-size:16px;line-height:1.2;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;}
.btn-citron{background:var(--citron);color:var(--foret);}
.btn-citron:hover{background:var(--citron-2);}
.btn-forest{background:var(--foret);color:var(--brume);}
.btn-forest:hover{background:var(--sous-bois);}
.btn-light{background:var(--brume);color:var(--foret);}
.btn-light:hover{background:#fff;}
.btn-outline{border-color:var(--foret);color:var(--foret);background:transparent;}
.btn-outline:hover{background:var(--foret);color:#fff;}
.btn-outline-light{border-color:#fff;color:#fff;background:transparent;}
.btn-outline-light:hover{background:#fff;color:var(--foret);}
.btn-danger{border-color:var(--rouge);color:var(--rouge);background:transparent;}
.btn-sm{height:40px;padding:0 18px;font-size:14px;}
.btn-xs{height:34px;padding:0 14px;font-size:13px;}
.btn-block{width:100%;}
.btn[disabled]{opacity:.5;cursor:not-allowed;}

/* Étiquettes, puces, avatars */
.tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;}
.tag-sell{background:var(--foret);color:var(--citron);}
.tag-want{border:1.5px solid var(--foret);color:var(--foret);}
.tag-ok{background:var(--citron);color:var(--foret);}
.tag-muted{background:var(--brume);color:var(--lichen);border:1px solid var(--bord);}
.tag-danger{background:var(--rouge-fond);color:var(--rouge);}
.tag-info{background:var(--bourse-fond);color:var(--bourse);}
.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.chip{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid var(--bord);font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap;cursor:pointer;color:var(--foret);}
.chip:hover{border-color:#B9C6BC;}
.chip.on,.chip[aria-pressed="true"],.chip[aria-current="page"]{background:var(--foret);border-color:var(--foret);color:var(--brume);}
.on-dark .chip{background:transparent;border-color:var(--bord-sombre);color:#fff;}
.on-dark .chip:hover{border-color:var(--mousse);}
.chip-sep{width:1px;height:24px;background:var(--bord);margin:0 4px;}
.avatar{width:32px;height:32px;border-radius:999px;background:var(--mousse);color:var(--foret);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;text-decoration:none;}
.avatar-me{background:var(--citron);}
.avatar-lg{width:44px;height:44px;font-size:17px;}

/* En-tête */
.site-header{position:sticky;top:0;z-index:50;background:var(--foret);color:#fff;}
.header-in{display:flex;align-items:center;gap:32px;height:80px;}
.brand{text-decoration:none;color:#fff;display:inline-flex;}
.logo{display:inline-flex;align-items:center;gap:10px;}
.logo img{width:34px;height:34px;}
.logo-name{font-weight:800;font-size:21px;letter-spacing:-.03em;line-height:1.3;font-variation-settings:"opsz" 96;}
.logo-tld{color:var(--citron);}
.main-nav{display:flex;gap:32px;margin-left:auto;}
.main-nav a{color:#fff;text-decoration:none;font-weight:700;font-size:16px;}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--citron);}
.header-actions{display:flex;align-items:center;gap:20px;}
.icon-link{position:relative;color:#fff;display:inline-flex;}
.icon-link .dot{position:absolute;top:-6px;right:-9px;min-width:18px;height:18px;border-radius:999px;background:var(--citron);color:var(--foret);font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;}
.burger{background:none;border:0;color:#fff;padding:6px;cursor:pointer;}
.mobile-menu{background:var(--foret);border-top:1px solid var(--bord-sombre);padding:8px 24px 20px;display:flex;flex-direction:column;}
.mobile-menu a{color:#fff;text-decoration:none;font-weight:700;padding:12px 0;border-bottom:1px solid var(--bord-sombre);}
.mobile-menu[hidden]{display:none;}
.show-sm,.show-md{display:none !important;}

/* Messages flash */
.flash{margin:20px 0 0;padding:14px 18px;border-radius:16px;font-weight:600;font-size:15px;}
.flash-ok{background:#EEF8D0;border:1px solid #CFE68A;}
.flash-err{background:var(--rouge-fond);color:var(--rouge);border:1px solid #F2C2BB;}
.flash-info{background:var(--bourse-fond);color:#17337F;}

/* Sections */
.section{padding:96px 0 0;}
.section:last-of-type{padding-bottom:96px;}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px;flex-wrap:wrap;}
.section-head p{margin-top:8px;max-width:600px;}
.on-dark{background:var(--foret);color:#fff;}
.on-dark .muted{color:var(--mousse);}

/* Héro accueil */
.hero{padding:96px 0;}
.hero-in{display:grid;grid-template-columns:minmax(0,720px) 400px;gap:56px;align-items:center;justify-content:space-between;}
.hero .h1{color:#fff;margin:24px 0;}
.hero .lead{color:var(--mousse);max-width:620px;margin-bottom:24px;}
.hero-visual{position:relative;height:380px;border-radius:var(--r-bloc);background:var(--sous-bois);overflow:hidden;}
.hero-visual .trace{position:absolute;left:-19px;top:0;width:400px;height:380px;}
.hero-visual .sample{position:absolute;left:24px;right:24px;bottom:24px;background:#fff;color:var(--foret);border-radius:var(--r-card);padding:16px 20px;display:flex;flex-direction:column;gap:10px;text-decoration:none;}
.sample .row{display:flex;justify-content:space-between;gap:8px;align-items:baseline;}
.sample b{font-size:18px;line-height:1.35;}
.popular{margin-top:24px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.popular>span{font-size:14px;font-weight:700;color:var(--mousse);margin-right:4px;}

/* Recherche */
.search{display:flex;align-items:center;gap:12px;height:64px;padding:8px 8px 8px 24px;border-radius:999px;background:var(--sous-bois);max-width:680px;}
.search input{flex:1;min-width:0;background:none;border:0;outline:0;color:#fff;font-size:17px;}
.search input::placeholder{color:#fff;opacity:.9;}
.search .sep{width:1px;height:32px;background:var(--bord-sombre);}
.search .date{display:flex;align-items:center;gap:8px;color:var(--mousse);}
.search .date input{width:140px;color:var(--mousse);color-scheme:dark;}
.search .ico{color:#fff;}
.search.light{background:#fff;border:1px solid var(--bord);}
.search.light input,.search.light .ico{color:var(--foret);}
.search.light input::placeholder{color:var(--lichen);}
.search.light .date,.search.light .date input{color:var(--lichen);color-scheme:light;}
.search.light .sep{background:var(--bord);}

/* Cartes */
.card{background:#fff;border:1px solid var(--bord);border-radius:var(--r-card);}
.grid{display:grid;gap:24px;}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.ad-card{padding:24px;display:flex;flex-direction:column;gap:16px;}
.ad-top{display:flex;gap:16px;align-items:flex-start;}
.ad-head{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.ad-title{font-size:18px;font-weight:700;line-height:1.35;letter-spacing:-.005em;}
.ad-title a{text-decoration:none;}
.ad-title a:hover{text-decoration:underline;}
.ad-meta{font-size:14px;font-weight:500;line-height:1.45;color:var(--lichen);}
.ad-price{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.1;white-space:nowrap;}
.ad-budget{font-size:13px;font-weight:700;color:var(--lichen);white-space:nowrap;}
.ad-desc{font-size:17px;line-height:1.6;flex:1;overflow-wrap:anywhere;}
.ad-when{font-size:12px;color:var(--lichen);font-weight:500;}
.ad-foot{display:flex;align-items:center;gap:12px;border-top:1px solid var(--bord);padding-top:16px;}
.ad-author{flex:1;font-weight:700;font-size:14px;}
.course-card{padding:24px;display:flex;flex-direction:column;gap:12px;}
.course-card h3{font-size:22px;font-weight:700;line-height:1.3;}
.course-card h3 a{text-decoration:none;}
.course-card h3 a:hover{text-decoration:underline;}
.course-card .meta{font-size:14px;font-weight:500;color:var(--lichen);}
.course-card .counts{display:flex;gap:16px;font-size:14px;font-weight:700;}
.course-card .counts span{color:var(--lichen);}
.empty-state{padding:40px 24px;text-align:center;}
.empty-state p+p{margin-top:8px;}
.center{display:flex;justify-content:center;margin-top:32px;}

/* Étapes */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.step{background:#fff;border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column;gap:16px;}
.step-n{width:48px;height:48px;border-radius:24px;background:var(--citron);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;}
.step p{color:var(--lichen);}

/* Bloc alerte */
.alert-block{background:var(--citron);border-radius:var(--r-bloc);padding:32px;display:flex;flex-direction:column;gap:16px;}
.alert-block.forest{background:var(--foret);color:#fff;}
.alert-block .t{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:700;line-height:1.3;}
.alert-form{display:flex;gap:8px;flex-wrap:wrap;}
.alert-form input[type=email],.alert-form input[type=text]{flex:1 1 220px;height:48px;border:0;border-radius:999px;padding:0 20px;background:#fff;font-size:17px;min-width:0;}
.alert-block.forest .alert-form input{background:var(--sous-bois);color:#fff;}
.alert-block.forest .alert-form input::placeholder{color:var(--mousse);}

/* Avant de payer / soutien */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.panel{background:#fff;border-radius:var(--r-bloc);padding:32px;display:flex;flex-direction:column;gap:16px;}
.panel.forest{background:var(--foret);color:#fff;}
.panel.forest p{color:var(--mousse);}
.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.checks li{display:flex;gap:12px;align-items:flex-start;}
.checks .box{width:24px;height:24px;border-radius:6px;background:var(--citron);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.panel-sm{padding:24px;border-radius:var(--r-card);gap:12px;}
.panel-sm .checks{gap:10px;font-size:14px;line-height:1.45;}
.panel-sm .checks .box{width:20px;height:20px;}

/* Texte SEO, FAQ */
.prose-cols p{font-size:18px;color:var(--lichen);max-width:1144px;}
.prose-cols p+p{margin-top:20px;}
.faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.faq-item{background:#fff;border-radius:var(--r-card);padding:28px;}
.faq-item h3{font-size:22px;font-weight:700;line-height:1.3;margin-bottom:16px;}
.faq-item p{color:var(--lichen);}

/* Pied de page */
.site-footer{background:var(--foret);color:#fff;padding:56px 0 32px;}
.footer-top{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.footer-brand p{margin-top:16px;max-width:420px;font-size:14px;font-weight:500;line-height:1.45;color:var(--mousse);}
.footer-links{display:flex;gap:56px;flex-wrap:wrap;}
.footer-links div{display:flex;flex-direction:column;gap:12px;}
.footer-links a{color:#fff;text-decoration:none;font-size:14px;font-weight:500;}
.footer-links a:hover{text-decoration:underline;}
.footer-title{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--citron);}
.footer-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--bord-sombre);margin-top:32px;padding-top:32px;font-size:12px;color:var(--mousse);}
.footer-bottom .link-citron{font-size:14px;text-decoration:underline;}

/* Fil d'Ariane */
.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:14px;font-weight:500;color:var(--lichen);padding-top:24px;}
.crumbs a{color:var(--lichen);}
.on-dark .crumbs,.on-dark .crumbs a{color:var(--mousse);}

/* Formulaires */
.field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.field label,.label{font-size:14px;font-weight:700;}
.field input,.field select,.field textarea{width:100%;height:48px;border:1px solid var(--bord);border-radius:999px;background:#fff;padding:0 20px;font-size:17px;}
.field textarea{height:auto;min-height:130px;border-radius:20px;padding:14px 18px;resize:vertical;line-height:1.55;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--foret);box-shadow:0 0 0 3px rgba(15,42,31,.08);}
.field .help{font-size:12px;color:var(--lichen);font-weight:500;}
.field .err{font-size:13px;color:var(--rouge);font-weight:600;}
.field.has-err input,.field.has-err select,.field.has-err textarea{border-color:var(--rouge);}
.field select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230F2A1F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 18px center;padding-right:42px;}
.row-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;cursor:pointer;}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--foret);flex-shrink:0;}
.seg{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--bord);border-radius:999px;padding:4px;}
.seg label{display:flex;align-items:center;justify-content:center;height:44px;border-radius:999px;font-weight:700;font-size:15px;cursor:pointer;}
.seg input{position:absolute;opacity:0;pointer-events:none;}
.seg input:checked+span{display:contents;}
.seg label:has(input:checked){background:var(--foret);color:#fff;}
.seg label:has(input:focus-visible){outline:3px solid var(--olive);}
.note{display:flex;gap:10px;align-items:flex-start;background:var(--brume);border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.45;color:var(--lichen);}

/* Déposer */
.page-head{padding:56px 0 32px;}
.page-head p{margin-top:12px;}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start;padding-bottom:96px;}
.form-card{background:#fff;border-radius:var(--r-card);padding:24px;display:flex;flex-direction:column;gap:18px;}
.form-card+.form-card{margin-top:16px;}
.step-label{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--olive);}
.aside-sticky{position:sticky;top:104px;display:flex;flex-direction:column;gap:16px;}
.aside-title{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--olive);}
.counter{text-align:right;font-size:12px;color:var(--lichen);}
.success{max-width:640px;margin:56px auto 96px;display:flex;flex-direction:column;gap:20px;}
.success .badge-ok{width:56px;height:56px;border-radius:999px;background:var(--citron);display:flex;align-items:center;justify-content:center;}

/* Fiche annonce */
.ad-page{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start;padding:24px 0 0;}
.ad-main{background:#fff;border-radius:var(--r-bloc);padding:32px;display:flex;flex-direction:column;gap:20px;}
.ad-main h1{font-size:clamp(30px,3.6vw,40px);letter-spacing:-.025em;line-height:1.1;font-variation-settings:"opsz" 96;}
.facts{display:flex;gap:18px;flex-wrap:wrap;font-size:15px;font-weight:500;}
.facts span{display:inline-flex;gap:6px;align-items:center;}
.big-price{font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1;}
.big-price small{font-size:13px;font-weight:500;color:var(--lichen);letter-spacing:0;margin-left:8px;}
.ad-main .desc{white-space:pre-wrap;overflow-wrap:anywhere;}
.info-box{border:1px solid var(--bord);border-radius:var(--r-card);padding:20px;display:flex;flex-direction:column;gap:8px;}
.info-box .t{display:flex;gap:8px;align-items:center;font-weight:700;}
.seller-card{padding:24px;display:flex;flex-direction:column;gap:14px;}
.seller{display:flex;gap:12px;align-items:center;}
.seller b{display:block;}
.quick{display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.quick button{height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--bord);background:#fff;font-size:13px;font-weight:700;cursor:pointer;}
.quick button:hover{border-color:var(--foret);}
.sticky-buy{display:none;}
.composer textarea{min-height:120px;}
.composer .counter{margin-top:-8px;}
dialog.sheet{width:min(560px,100% - 24px);border:0;border-radius:28px;padding:0;background:#fff;color:var(--foret);box-shadow:0 24px 60px rgba(15,42,31,.3);}
dialog.sheet::backdrop{background:rgba(15,42,31,.5);}
.sheet-in{padding:24px;display:flex;flex-direction:column;gap:14px;}
.sheet-in h2{font-size:24px;}
.sheet-recap{display:flex;justify-content:space-between;gap:12px;background:var(--brume);border-radius:14px;padding:12px 14px;font-weight:700;font-size:14px;}

/* Page course */
.course-hero{padding:16px 0 56px;}
.course-hero .h1{color:#fff;margin:12px 0 20px;}
.course-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start;padding:56px 0 96px;}
.course-layout .grid-2{gap:16px;}
.kv{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;font-size:14px;}
.kv dt{display:flex;gap:8px;align-items:center;color:var(--lichen);}
.kv dd{margin:0;font-weight:700;text-align:right;}

/* Liste d'annonces */
.filters-bar{display:flex;flex-direction:column;gap:16px;margin-bottom:28px;}
.pager{display:flex;gap:8px;justify-content:center;margin-top:32px;}

/* Connexion */
.auth{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:56px 0 96px;align-items:stretch;}
.auth-promo{background:var(--foret);color:#fff;border-radius:var(--r-bloc);padding:48px;display:flex;flex-direction:column;gap:24px;position:relative;overflow:hidden;}
.auth-promo h1{font-size:clamp(30px,3.5vw,40px);letter-spacing:-.025em;line-height:1.1;}
.auth-promo ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;font-size:15px;}
.auth-promo li{display:flex;gap:12px;align-items:center;}
.auth-promo li .i{width:32px;height:32px;border-radius:999px;background:var(--sous-bois);display:inline-flex;align-items:center;justify-content:center;color:var(--citron);}
.auth-promo svg.wave{margin-top:auto;}
.auth-card{background:#fff;border-radius:var(--r-bloc);padding:40px;display:flex;flex-direction:column;gap:16px;}
.auth-card h2{font-size:36px;letter-spacing:-.025em;}
.or{display:flex;align-items:center;gap:12px;color:var(--lichen);font-size:13px;}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--bord);}
.tabs-line{display:flex;gap:8px;}

/* Messagerie */
.inbox{display:grid;grid-template-columns:400px minmax(0,1fr);gap:16px;padding:24px 0 32px;height:calc(100vh - 80px);min-height:560px;}
.inbox-list,.thread{background:#fff;border-radius:var(--r-card);display:flex;flex-direction:column;min-height:0;overflow:hidden;}
.inbox-list header{padding:20px 20px 12px;display:flex;flex-direction:column;gap:12px;}
.inbox-list h1{font-size:26px;letter-spacing:-.02em;}
.conv-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;}
.conv-list a{display:flex;gap:12px;padding:14px 20px;text-decoration:none;border-top:1px solid var(--bord-2);}
.conv-list a:hover{background:var(--brume);}
.conv-list a[aria-current="page"]{background:var(--brume);box-shadow:inset 3px 0 0 var(--foret);}
.conv-list .who{flex:1;min-width:0;}
.conv-list .who b{display:block;font-size:15px;}
.conv-list .who .course{display:block;font-size:12px;font-weight:700;color:var(--olive);}
.conv-list .who .last{display:block;font-size:13px;color:var(--lichen);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.conv-list .when{font-size:12px;color:var(--lichen);display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.conv-list .badge{min-width:20px;height:20px;border-radius:999px;background:var(--citron);font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;color:var(--foret);}
.thread-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--bord-2);}
.thread-head .who{flex:1;min-width:0;}
.thread-head .who b{display:block;}
.thread-ad{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 20px;background:var(--brume);font-size:13px;font-weight:700;text-decoration:none;}
.thread-ad .price{margin-left:auto;}
.msgs{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;}
.msg{max-width:min(78%,460px);padding:12px 14px;border-radius:16px;border:1px solid var(--bord);font-size:15px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;}
.msg time{display:block;font-size:11px;color:var(--lichen);margin-top:4px;}
.msg.mine{align-self:flex-end;background:var(--foret);border-color:var(--foret);color:#fff;}
.msg.mine time{color:var(--mousse);text-align:right;}
.msg.system,.msg-tip{align-self:stretch;max-width:none;background:var(--bourse-fond);border:0;color:#17337F;font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center;border-radius:999px;padding:10px 16px;white-space:normal;}
.msg-warn{align-self:stretch;background:var(--rouge-fond);color:var(--rouge);border-radius:14px;padding:10px 14px;font-size:13px;font-weight:600;display:flex;gap:8px;}
.composer-bar{display:flex;gap:10px;align-items:flex-end;padding:14px 20px;border-top:1px solid var(--bord-2);}
.composer-bar textarea{flex:1;min-height:48px;max-height:160px;border:1px solid var(--bord);background:var(--brume);border-radius:24px;padding:12px 18px;resize:none;font-size:15px;line-height:1.4;}
.send{width:48px;height:48px;border-radius:999px;border:0;background:var(--citron);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.menu{position:relative;}
.menu summary{list-style:none;cursor:pointer;width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;}
.menu summary::-webkit-details-marker{display:none;}
.menu summary:hover{background:var(--brume);}
.menu-pop{position:absolute;right:0;top:42px;z-index:20;background:#fff;border:1px solid var(--bord);border-radius:14px;box-shadow:0 12px 32px rgba(15,42,31,.14);padding:6px;min-width:200px;display:flex;flex-direction:column;}
.menu-pop a,.menu-pop button{display:flex;gap:8px;align-items:center;padding:9px 10px;border-radius:9px;text-decoration:none;background:none;border:0;text-align:left;font-size:14px;cursor:pointer;width:100%;}
.menu-pop a:hover,.menu-pop button:hover{background:var(--brume);}
.thread-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;text-align:center;color:var(--lichen);}

/* Mes annonces */
.account{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start;padding-bottom:96px;}
.my-ad{padding:24px;display:flex;flex-direction:column;gap:12px;}
.my-ad .top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.my-ad .stats{display:flex;gap:16px;font-size:13px;color:var(--lichen);font-weight:600;}
.my-ad .stats span{display:inline-flex;gap:6px;align-items:center;}
.my-ad .acts{display:flex;gap:8px;flex-wrap:wrap;}
.stack{display:flex;flex-direction:column;gap:16px;}
.alerts-list{list-style:none;margin:0;padding:0;}
.alerts-list li{display:flex;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--bord-2);}
.alerts-list li:first-child{border-top:0;}
.alerts-list .who{flex:1;min-width:0;}
.switch{position:relative;width:44px;height:26px;flex-shrink:0;}
.switch input{position:absolute;opacity:0;inset:0;cursor:pointer;z-index:1;margin:0;}
.switch span{position:absolute;inset:0;border-radius:999px;background:var(--bord);transition:.15s;}
.switch span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:999px;background:#fff;transition:.15s;}
.switch input:checked+span{background:var(--foret);}
.switch input:checked+span::after{left:21px;background:var(--citron);}
.switch input:focus-visible+span{outline:3px solid var(--olive);outline-offset:2px;}

/* Blog */
.blog-feature{display:grid;grid-template-columns:1.2fr 1fr;overflow:hidden;border-radius:var(--r-bloc);background:#fff;text-decoration:none;}
.cover{position:relative;background:var(--foret);color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:space-between;min-height:220px;overflow:hidden;}
.cover.citron{background:var(--citron);color:var(--foret);}
.cover.sous-bois{background:var(--sous-bois);}
.cover .cat{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--citron);position:relative;}
.cover.citron .cat{color:var(--olive);}
.cover .ct{font-size:22px;font-weight:800;line-height:1.15;letter-spacing:-.02em;position:relative;max-width:90%;}
.cover svg.bg{position:absolute;right:-20px;bottom:-20px;width:90%;opacity:.25;}
.blog-feature .cover{min-height:340px;}
.blog-feature .cover .ct{font-size:34px;}
.blog-feature .body{padding:32px;display:flex;flex-direction:column;gap:14px;justify-content:center;}
.post-card{overflow:hidden;text-decoration:none;display:flex;flex-direction:column;}
.post-card .cover{min-height:170px;border-radius:0;}
.post-card .body{padding:20px;display:flex;flex-direction:column;gap:8px;}
.post-card h3{font-size:18px;font-weight:700;line-height:1.35;}
.article{display:grid;grid-template-columns:220px minmax(0,720px);gap:48px;justify-content:center;padding:32px 0 0;}
.toc{position:sticky;top:104px;align-self:start;background:#fff;border-radius:var(--r-card);padding:20px;font-size:14px;}
.toc p{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--olive);margin-bottom:10px;}
.toc ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;}
.toc a{text-decoration:none;}
.toc a:hover{text-decoration:underline;}
.prose{font-size:18px;line-height:1.7;}
.prose h2{font-size:24px;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin:40px 0 12px;scroll-margin-top:100px;}
.prose p{margin:0 0 18px;}
.prose ul,.prose ol{margin:0 0 18px;padding-left:22px;}
.prose li{margin-bottom:8px;}
.prose a{color:var(--olive);font-weight:700;}
.keep{background:var(--citron);border-radius:var(--r-card);padding:20px 22px;margin:24px 0;font-weight:600;display:flex;gap:12px;}
.cta-forest{background:var(--foret);color:#fff;border-radius:var(--r-card);padding:24px;margin:28px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.cta-forest p{color:var(--mousse);font-size:15px;margin:0;}
.cta-forest b{display:block;color:#fff;font-size:18px;}
.article-head{max-width:1000px;margin:0 auto;padding:24px 0 0;}
.article-head .h1{font-size:clamp(36px,5vw,56px);margin:12px 0 16px;}
.byline{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--lichen);margin-top:16px;}
.article-cover{max-width:1000px;margin:32px auto 0;border-radius:var(--r-bloc);}
.article-cover.cover{min-height:300px;}
.article-cover .ct{font-size:34px;}

/* Pages légales */
.legal{max-width:780px;padding:56px 0 96px;}
.legal h1{margin-bottom:24px;}

/* ─── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width:1180px){
  .main-nav{gap:20px;}
  .hero-in{grid-template-columns:1fr;}
  .hero-visual{display:none;}
}
@media (max-width:1000px){
  .main-nav,.header-actions .hide-sm{display:none !important;}
  .show-md{display:inline-flex !important;}
  .header-in{gap:12px;}
  .header-actions{margin-left:auto;gap:14px;}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .form-layout,.ad-page,.course-layout,.account,.auth{grid-template-columns:1fr;}
  .aside-sticky{position:static;}
  .article{grid-template-columns:1fr;}
  .toc{position:static;}
  .inbox{grid-template-columns:1fr;height:auto;min-height:0;}
  .inbox.has-thread .inbox-list{display:none;}
  .inbox:not(.has-thread) .thread{display:none;}
  .thread{height:calc(100vh - 140px);height:calc(100dvh - 140px);min-height:480px;}
  .blog-feature{grid-template-columns:1fr;}
}
@media (max-width:760px){
  body{font-size:16px;}
  .wrap{width:calc(100% - 32px);}
  .header-in{height:64px;}
  .logo-name{display:none;}
  .show-sm{display:inline !important;}
  .header-actions .btn-header .hide-sm{display:none !important;}
  .btn-header{height:40px;padding:0 18px;}
  .section{padding-top:64px;}
  .section:last-of-type{padding-bottom:64px;}
  .hero{padding:48px 0 56px;}
  .lead{font-size:18px;}
  .search{flex-wrap:wrap;height:auto;border-radius:28px;padding:12px;gap:10px;}
  .search .sep{display:none;}
  .search input[type=search]{flex:1 1 100%;height:40px;padding-left:6px;}
  .search .date{flex:1;padding-left:6px;}
  .search .date input{width:100%;}
  .grid-3,.grid-2,.steps,.duo,.faq,.row-2{grid-template-columns:1fr;}
  .panel,.alert-block{padding:24px;}
  .ad-main{padding:22px;}
  .big-price{font-size:36px;}
  .footer-links{gap:32px;}
  .auth-promo{display:none;}
  .auth-card{padding:24px;}
  .sticky-buy{display:flex;position:sticky;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--bord);padding:12px 16px calc(12px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:12px;margin:0 -16px;}
  .sticky-buy .p{font-size:24px;font-weight:800;line-height:1;}
  .inbox{padding:12px 0;}
  .msg{max-width:88%;}
  dialog.sheet{margin:auto 0 0;width:100%;max-width:100%;border-radius:28px 28px 0 0;}
}

/* Bandeau cookies (js/consent.js) aux couleurs du site */
body .cc-banner{background:var(--foret);color:#fff;border:1px solid var(--bord-sombre);border-radius:var(--r-card);font-family:inherit;box-shadow:0 18px 48px rgba(15,42,31,.35);}
body .cc-banner h2{font-family:inherit;text-transform:none;font-size:18px;font-weight:800;letter-spacing:-.01em;}
body .cc-banner p{color:var(--mousse);font-size:14px;}
body .cc-actions button{border-radius:999px;font-weight:700;}
body .cc-refuse{border-color:var(--bord-sombre);}
body .cc-accept{background:var(--citron);border-color:var(--citron);color:var(--foret);}
body .cc-actions button:focus-visible{outline-color:var(--citron);}

/* Messages flottants (après une action) et fenêtre de confirmation */
.toasts{position:fixed;top:96px;right:24px;z-index:60;display:flex;flex-direction:column;gap:10px;width:min(440px,calc(100% - 32px));pointer-events:none;}
.flash.toast{margin:0;display:flex;align-items:flex-start;gap:12px;justify-content:space-between;box-shadow:0 14px 36px rgba(15,42,31,.18);pointer-events:auto;animation:toast-in .25s ease-out;}
.flash.toast.out{opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .3s;}
.toast-x{background:none;border:0;padding:2px;cursor:pointer;color:inherit;opacity:.7;flex:none;}
.toast-x:hover{opacity:1;}
@keyframes toast-in{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
.popup-ic{width:56px;height:56px;border-radius:999px;background:var(--citron);color:var(--foret);display:flex;align-items:center;justify-content:center;}
.alert-on .t .ok{width:28px;height:28px;border-radius:999px;background:var(--citron);color:var(--foret);display:inline-flex;align-items:center;justify-content:center;flex:none;}
.alert-on .acts{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.alert-on .acts a,.alert-on .acts button{color:var(--citron);font-weight:700;font-size:14px;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
@media (max-width:760px){.toasts{top:84px;right:16px;}}
@media (prefers-reduced-motion:reduce){.flash.toast{animation:none;}}

/* Signalement */
.report-link{background:none;border:0;padding:4px 0;cursor:pointer;display:inline-flex;gap:6px;align-items:center;font-size:14px;color:var(--lichen);align-self:flex-start;}
.report-link:hover{color:var(--rouge);}
.report-motifs{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.report-motifs .label{margin-bottom:4px;}

/* Compteur en direct (accueil) */
.hero-visual.live{display:flex;flex-direction:column;justify-content:space-between;padding:24px;}
.hero-visual.live .trace{opacity:.35;}
.live-pill{position:relative;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:rgba(15,42,31,.6);border:1px solid var(--bord-sombre);color:#fff;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:999px;}
.live-dot{width:8px;height:8px;border-radius:999px;background:var(--citron);box-shadow:0 0 0 0 rgba(212,242,74,.7);animation:live-pulse 2s infinite;}
@keyframes live-pulse{0%{box-shadow:0 0 0 0 rgba(212,242,74,.6);}70%{box-shadow:0 0 0 10px rgba(212,242,74,0);}100%{box-shadow:0 0 0 0 rgba(212,242,74,0);}}
.live-main{position:relative;}
.live-num{font-size:clamp(64px,8vw,104px);font-weight:800;line-height:.95;letter-spacing:-.04em;color:var(--citron);font-variant-numeric:tabular-nums;margin:0;}
.live-num.bump{animation:live-bump .6s ease-out;}
@keyframes live-bump{0%{transform:scale(1);}30%{transform:scale(1.06);}100%{transform:scale(1);}}
.live-label{font-size:20px;font-weight:700;color:#fff;margin:8px 0 0;}
.hero-visual .sample.live-foot{position:relative;left:auto;right:auto;bottom:auto;flex-direction:row;align-items:center;gap:24px;flex-wrap:wrap;}
.live-foot > div{display:flex;flex-direction:column;}
.live-foot b{font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums;}
.live-foot .tag{margin-left:auto;}
@media (max-width:1000px){ .hero-visual.live{display:flex;height:auto;gap:20px;margin-top:8px;} .hero-visual.live .trace{display:none;} }
@media (prefers-reduced-motion:reduce){ .live-dot,.live-num.bump{animation:none;} }
