:root{
  --red:#c8102e; --red-dark:#9c0c23; --green:#009739; --green-dark:#026e2a;
  --gold:#fcd116; --dark:#181a1b; --bg:#f6f6f4; --card:#fff; --text:#222;
  --muted:#6b6b6b; --border:#e7e5e0; --radius:8px; --max:1180px;
  --shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.08);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.55;}
h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;line-height:1.2;margin:0 0 .5em;color:var(--text);}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--red);}
ul{list-style:none;margin:0;padding:0;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px;}

.eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--red);background:rgba(200,16,46,.08);padding:3px 9px;border-radius:3px;margin-bottom:8px;}
.eyebrow.green{color:var(--green);background:rgba(0,151,57,.09);}
.eyebrow.gold{color:#7a5f00;background:rgba(252,209,22,.22);}
.eyebrow-onphoto{background:rgba(255,255,255,.18);color:#fcd116;}

/* branded placeholders for posts without a featured image */
.ph{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--c1,#c8102e),var(--c2,#181a1b));min-height:180px;}
.ph-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%, rgba(255,255,255,.14) 0, transparent 40%),radial-gradient(circle at 80% 70%, rgba(255,255,255,.12) 0, transparent 45%),radial-gradient(circle at 60% 20%, rgba(0,0,0,.15) 0, transparent 40%);}
.ph-red{--c1:#c8102e;--c2:#5c0716;}
.ph-green{--c1:#009739;--c2:#023d17;}
.ph-gold{--c1:#fcd116;--c2:#7a5f00;}
.ph-blue{--c1:#2c6fd1;--c2:#0f2e5c;}
.ph-teal{--c1:#0f9488;--c2:#053b35;}
.ph-purple{--c1:#6a3fa0;--c2:#2a1740;}
.ph-magenta{--c1:#a5348f;--c2:#3d1233;}
.ph-brown{--c1:#8a5a2a;--c2:#2e1c0c;}
.ph-img{width:100%;height:180px;object-fit:cover;display:block;}
.featured-img{height:380px;object-fit:cover;width:100%;display:block;}

/* top bar */
.topbar{background:var(--dark);color:#cfcfcf;font-size:12.5px;}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:36px;flex-wrap:wrap;}
.topbar a{color:#cfcfcf;}
.topbar a:hover{color:var(--gold);}
.topbar .sep{margin:0 10px;opacity:.4;}
.topbar .social a{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.1);margin-left:8px;font-size:11px;}
.topbar .social a:hover{background:var(--red);color:#fff;}

/* header */
.site-header{background:var(--card);border-bottom:1px solid var(--border);}
.site-header .inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:20px;flex-wrap:wrap;}
.logo{display:flex;align-items:center;gap:12px;}
.logo-custom img{max-height:56px;width:auto;}
.mark{position:relative;width:46px;height:46px;border-radius:50%;overflow:hidden;flex:none;box-shadow:0 0 0 3px var(--card),0 0 0 4px var(--border);}
.mark-sm{width:34px;height:34px;box-shadow:none;margin-bottom:12px;}
.mark-half{position:absolute;inset:0;}
.mark-red{background:var(--red);clip-path:polygon(0 0,50% 0,50% 100%,0 100%);}
.mark-green{background:var(--green);clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%);}
.mark-star{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:16px;}
.mark-sm .mark-star{font-size:12px;}
.logo-text{display:flex;flex-direction:column;line-height:1.2;}
.logo-text strong{font-family:Georgia,serif;font-size:20px;letter-spacing:.01em;}
.logo-text em{font-size:11px;color:var(--muted);font-style:normal;}
.footer-logo-custom{display:inline-flex;align-items:center;background:#fff;padding:10px 16px;border-radius:10px;margin-bottom:14px;}
.footer-logo-custom img{max-height:36px;width:auto;display:block;}
.footer-logo p{margin:0 0 4px;}
.footer-social{min-height:32px;}

/* nav */
.main-nav .nav-list{display:flex;gap:4px;flex-wrap:wrap;}
.main-nav .nav-list li{position:relative;}
.main-nav .nav-list > li > a{display:block;padding:9px 13px;font-size:13px;font-weight:600;border-radius:20px;}
.main-nav .nav-list > li > a:hover{background:var(--bg);color:var(--red);}
.main-nav .nav-list ul{position:absolute;top:100%;left:0;background:var(--card);box-shadow:var(--shadow);border-radius:8px;padding:6px;min-width:200px;display:none;z-index:30;}
.main-nav .nav-list li:hover > ul{display:block;}
.main-nav .nav-list ul a{display:block;padding:8px 12px;font-size:13px;border-radius:6px;white-space:nowrap;}
.main-nav .nav-list ul a:hover{background:var(--bg);}
.nav-toggle{display:none;background:none;border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer;color:var(--text);font-size:18px;}

/* flash info */
.flash{background:var(--red);color:#fff;display:flex;align-items:center;font-size:13px;overflow:hidden;}
.flash-label{flex:none;background:var(--red-dark);font-weight:700;letter-spacing:.05em;padding:9px 14px;text-transform:uppercase;font-size:11.5px;}
.flash-track-wrap{overflow:hidden;flex:1;}
.flash-track{display:flex;white-space:nowrap;animation:scroll-left 34s linear infinite;padding:9px 0;}
.flash-track a{color:#fff;margin-right:46px;}
.flash-track a:hover{color:var(--gold);}
@keyframes scroll-left{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* layout */
.site-main{padding-top:8px;}
.layout{display:grid;grid-template-columns:2.1fr 1fr;gap:34px;align-items:start;padding:10px 0 40px;}
section{padding:26px 0 6px;}
.section-title{display:flex;align-items:baseline;justify-content:space-between;border-bottom:3px solid var(--text);padding-bottom:8px;margin-bottom:18px;flex-wrap:wrap;gap:8px;}
.section-title h2{font-size:20px;text-transform:uppercase;letter-spacing:.02em;margin:0;}
.section-title .see-all{font-size:12.5px;font-weight:700;color:var(--green);text-transform:uppercase;}

/* featured */
.featured-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;}
.featured-main{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:block;height:380px;}
.featured-main .cap{position:absolute;left:0;right:0;bottom:0;padding:22px;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent);}
.featured-main .cap h1{color:#fff;font-size:25px;margin-bottom:6px;}
.meta{font-size:12px;color:var(--muted);}
.meta-onphoto{color:#ddd;}
.featured-side{display:flex;flex-direction:column;gap:14px;}
.mini-card{display:flex;gap:12px;background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.mini-visual{width:108px;height:84px;flex:none;overflow:hidden;}
.mini-visual .ph,.mini-visual img{width:108px;height:84px;object-fit:cover;}
.mc-body{padding:8px 10px 8px 0;}
.mini-card h3{font-size:14.5px;margin:0 0 4px;}

/* cards */
.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;}
.card .ph,.card .ph-img{height:180px;}
.card .body{padding:14px 16px 18px;flex:1;display:flex;flex-direction:column;}
.card h3{font-size:16.5px;margin-bottom:8px;}
.card .excerpt{font-size:13.5px;color:var(--muted);margin:0 0 10px;flex:1;}

.langue-note{border-left:4px solid var(--gold);background:rgba(252,209,22,.12);padding:14px 16px;border-radius:4px;font-size:13px;margin-bottom:18px;}
.cat-desc{color:#cfcfcf;font-size:14px;margin-top:8px;}

/* sidebar */
.sidebar>*{margin-bottom:26px;}
.widget{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;}
.widget h4{font-size:13px;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--text);padding-bottom:8px;margin-bottom:14px;}
.widget ul li{padding:6px 0;font-size:13.5px;}
.newsletter-box{background:var(--dark);color:#fff;border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);}
.newsletter-box h4{color:#fff;font-size:16px;font-family:Georgia,serif;border:0;}
.newsletter-box p{font-size:13px;color:#cfcfcf;margin:0 0 14px;}
.newsletter-box form{display:flex;gap:8px;flex-wrap:wrap;}
.newsletter-box input{flex:1;padding:10px 12px;border-radius:4px;border:0;font-size:13px;min-width:120px;}
.newsletter-box button{background:var(--gold);border:0;padding:10px 14px;border-radius:4px;font-weight:700;cursor:pointer;}
.search-widget-form{display:flex;gap:8px;}
.search-widget-form input{flex:1;padding:9px 12px;border:1px solid var(--border);border-radius:4px;font-size:13px;}
.search-widget-form button{background:var(--text);color:var(--bg);border:0;padding:9px 14px;border-radius:4px;cursor:pointer;}
.quote-box{background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;border-radius:var(--radius);padding:22px;text-align:center;}
.quote-box p{font-family:Georgia,serif;font-style:italic;font-size:14.5px;margin:0 0 8px;}
.quote-box span{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.8);}
.tag-cloud a,.widget.widget_tag_cloud a{display:inline-block;font-size:12px;background:var(--bg);border:1px solid var(--border);padding:5px 10px;border-radius:20px;margin:0 6px 6px 0;}
.tag-cloud a:hover,.widget.widget_tag_cloud a:hover{background:var(--red);color:#fff;border-color:var(--red);}

/* category hero */
.cat-hero{background:var(--dark);color:#fff;padding:34px 0;margin-bottom:32px;}
.cat-hero h1{color:#fff;font-size:30px;margin-bottom:8px;}

/* pagination (WP default the_posts_pagination markup) */
.pagination-wrap{display:flex;justify-content:center;margin:10px 0 40px;}
.pagination-wrap .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:20px;border:1px solid var(--border);background:var(--card);margin:0 4px;font-size:13px;}
.pagination-wrap .page-numbers.current{background:var(--red);color:#fff;border-color:var(--red);}
.pagination-wrap .page-numbers.dots{border:0;background:none;}

/* article */
.article-head{max-width:780px;margin:0 auto 22px;text-align:left;}
.article-head h1{font-size:32px;margin:10px 0 14px;}
.article-head .meta{font-size:13px;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:18px;}
.article-cover{max-width:900px;margin:0 auto 28px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.article-cover img{width:100%;height:420px;object-fit:cover;display:block;}
.article-body{max-width:780px;margin:0 auto;font-size:16.5px;}
.article-body p{margin:0 0 18px;}
.article-body h2{font-size:21px;margin-top:30px;}
.article-body blockquote{border-left:4px solid var(--red);margin:24px 0;padding:4px 0 4px 20px;font-style:italic;color:#444;font-size:17px;}
.article-body img{border-radius:var(--radius);}
.share-row{display:flex;align-items:center;gap:10px;margin:26px 0;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.share-row span{font-size:12.5px;font-weight:700;text-transform:uppercase;color:var(--muted);}
.share-row a{width:32px;height:32px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:13px;border:1px solid var(--border);}
.article-tags{max-width:780px;margin:0 auto 30px;}
.related{max-width:900px;margin:0 auto 50px;}
.author-box{max-width:780px;margin:0 auto 40px;display:flex;gap:14px;background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);}
.author-box .avatar{width:54px;height:54px;border-radius:50%;background:var(--dark);color:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:700;flex:none;font-family:Georgia,serif;}
.author-box h5{margin:0 0 4px;font-size:14.5px;}
.author-box p{margin:0;font-size:13px;color:var(--muted);}

/* comments */
.comments-area{max-width:780px;margin:0 auto 60px;}
.comments-area .comment-list > li{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:14px;}
.comment-form label{display:block;font-size:12.5px;font-weight:700;margin-bottom:6px;text-transform:uppercase;color:var(--muted);}
.comment-form input,.comment-form textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:4px;margin-bottom:14px;font-family:inherit;}
.comment-form button, .comment-reply-title{font-family:Georgia,serif;}

/* about / contact */
.simple-hero{text-align:center;padding:50px 0 30px;}
.simple-hero h1{font-size:34px;}
.simple-hero p{color:var(--muted);max-width:620px;margin:0 auto;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:40px 0 60px;}
.contact-info .item{display:flex;gap:14px;margin-bottom:22px;}
.contact-info .icon{width:40px;height:40px;border-radius:50%;background:var(--dark);color:var(--gold);display:flex;align-items:center;justify-content:center;flex:none;}
.contact-info h5{margin:0 0 4px;font-size:14.5px;}
.contact-info p,.contact-info a{font-size:13.5px;color:var(--muted);margin:0;}
.contact-form{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;}
.contact-form label{display:block;font-size:12.5px;font-weight:700;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:4px;font-size:14px;margin-bottom:16px;font-family:inherit;}
.contact-form button{background:var(--red);color:#fff;border:0;padding:12px 22px;border-radius:4px;font-weight:700;cursor:pointer;font-size:14px;}
.contact-form button:hover{background:var(--red-dark);}

/* footer */
.site-footer{background:var(--dark);color:#cfcfcf;margin-top:40px;}
.footer-top{padding:50px 0 30px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;}
.footer-grid h5{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;}
.footer-grid p{font-size:13px;line-height:1.7;color:#a9a9a9;}
.footer-grid ul li{margin-bottom:9px;font-size:13px;}
.footer-grid a{color:#cfcfcf;}
.footer-grid a:hover{color:var(--gold);}
.footer-social{display:flex;gap:10px;margin-top:14px;}
.footer-social a{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:13px;}
.footer-social a:hover{background:var(--red);color:#fff;}
.contact-list li{display:flex;align-items:center;gap:8px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:16px 0;font-size:12px;color:#999;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.footer-bottom a{color:#999;}
.footer-bottom a:hover{color:var(--gold);}

.btn{display:inline-block;background:var(--red);color:#fff;padding:11px 22px;border-radius:4px;font-weight:700;font-size:13.5px;}
.btn:hover{background:var(--red-dark);color:#fff;}

/* responsive */
@media (max-width:980px){
  .layout{grid-template-columns:1fr;}
  .featured-grid{grid-template-columns:1fr;}
  .card-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
  .topbar .contact-line span:nth-child(2){display:none;}
  .main-nav{position:relative;width:100%;}
  .main-nav .nav-list{display:none;flex-direction:column;width:100%;position:absolute;top:100%;left:0;background:var(--card);box-shadow:var(--shadow);padding:8px;z-index:30;}
  .main-nav.open .nav-list{display:flex;}
  .main-nav .nav-list ul{position:static;box-shadow:none;padding-left:14px;}
  .nav-toggle{display:block;}
  .site-header .inner{position:relative;}
  .featured-main{height:260px;}
  .article-cover img{height:240px;}
  .footer-grid{grid-template-columns:1fr;}
}


/* Carrousel banniere accueil */
.fk-carousel{position:relative;overflow:hidden;background:var(--dark);padding:0;margin:0;}
.fk-carousel-track{position:relative;width:100%;aspect-ratio:16/7;min-height:260px;max-height:520px;}
.fk-carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;pointer-events:none;}
.fk-carousel-slide.is-active{opacity:1;pointer-events:auto;}
.fk-carousel-slide img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block;}
.fk-carousel-slide a{display:block;width:100%;height:100%;}
.fk-carousel-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.05) 45%,rgba(0,0,0,.75) 100%);pointer-events:none;}
.fk-carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:22px 28px 28px;background:none;color:#fff;font-weight:700;font-size:26px;line-height:1.25;text-shadow:0 2px 10px rgba(0,0,0,.6);max-width:900px;z-index:2;}
.fk-carousel-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:8px;z-index:2;}
.fk-carousel-dot{width:9px;height:9px;border-radius:50%;border:none;background:rgba(255,255,255,.5);cursor:pointer;padding:0;}
.fk-carousel-dot.is-active{background:var(--gold);}
@media (max-width:640px){.fk-carousel-track{aspect-ratio:4/3;}}
