/* ==========================================================================
   AFRIKSHOW — Feuille de style principale
   Palette : navy #0D1B5E · or #F5A800 · rouge #E63946 · vert #2DC653
   ========================================================================== */

:root{
  --navy:#0D1B5E; --gold:#F5A800; --gold2:#E09000; --red:#E63946; --green:#2DC653;
  --bg:#f0f0ec; --txt:#111; --txt2:#555; --border:#e0ddd5; --card:#fff; --navy2:#1a2d7a;
}

*{box-sizing:border-box}
body{font-family:'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--txt);font-size:15px;line-height:1.5;margin:0}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
button,select,input,textarea{font-family:inherit}
.afk-wrap{max-width:1200px;margin:0 auto;padding:0 15px}

/* ---------- TOPBAR ---------- */
.afk-topbar{background:var(--navy);color:#aab4d8;font-size:12px;padding:5px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}
.afk-lang-btn{background:none;border:1px solid #aab4d8;color:#aab4d8;padding:2px 10px;border-radius:20px;cursor:pointer;font-size:11px;margin-left:4px}
.afk-lang-btn.active{background:var(--gold);border-color:var(--gold);color:#000}
.afk-badge-live{background:var(--red);color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:10px;animation:afk-blink 1.5s infinite}
@keyframes afk-blink{0%,100%{opacity:1}50%{opacity:.4}}

/* ---------- TICKER ---------- */
.afk-ticker-wrap{background:var(--red);padding:6px 0;display:flex;align-items:center;gap:10px;overflow:hidden;position:relative}
.afk-ticker-label{position:relative;z-index:2;flex:0 0 auto;margin-left:12px;background:#fff;color:var(--red);font-weight:800;font-size:11px;letter-spacing:.06em;padding:4px 10px;border-radius:2px;white-space:nowrap}
.afk-ticker-view{flex:1 1 auto;min-width:0;overflow:hidden;position:relative}
.afk-ticker-track{display:flex;width:max-content;animation:afk-ticker 45s linear infinite;will-change:transform}
.afk-ticker-seq{display:flex;flex:0 0 auto;white-space:nowrap}
.afk-ticker-seq a{padding:0 30px;font-size:13px;line-height:1.4;color:#fff;text-decoration:none;white-space:nowrap}
.afk-ticker-seq a:hover{text-decoration:underline}
.afk-ticker-wrap:hover .afk-ticker-track,.afk-ticker-wrap:focus-within .afk-ticker-track{animation-play-state:paused}
@keyframes afk-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:640px){
  .afk-ticker-label{font-size:10px;padding:3px 8px;margin-left:8px}
  .afk-ticker-seq a{padding:0 18px;font-size:12px}
}
@media (prefers-reduced-motion:reduce){
  .afk-ticker-track{animation:none}
  .afk-ticker-view{overflow-x:auto}
}

/* ---------- HEADER ---------- */
.afk-header{background:var(--navy);padding:12px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--gold);gap:12px;flex-wrap:wrap}
.afk-logo{display:flex;align-items:center;gap:12px}
.afk-logo-icon{width:46px;height:46px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;color:var(--navy);font-style:italic}
.afk-logo-text h1,.afk-logo-text .afk-site-title{color:#fff;font-size:21px;font-weight:900;letter-spacing:2px;margin:0}
.afk-logo-text p{color:var(--gold);font-size:10px;letter-spacing:3px;margin:0}
.afk-logo img{max-height:52px;width:auto}
.afk-header-right{display:flex;align-items:center;gap:9px}
.afk-search{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:6px 14px;color:#fff;font-size:13px;width:185px}
.afk-search::placeholder{color:#aab4d8}
.afk-btn-pub{background:var(--gold);color:#000;border:none;padding:7px 14px;border-radius:20px;font-weight:700;font-size:12px;cursor:pointer}

/* ---------- NAV ---------- */
.afk-nav{background:var(--navy2);position:sticky;top:0;z-index:200;overflow-x:auto}
.afk-nav::-webkit-scrollbar{height:3px}
.afk-nav::-webkit-scrollbar-thumb{background:var(--gold)}
.afk-nav ul{display:flex;list-style:none;padding:0 10px;margin:0;min-width:max-content}
.afk-nav ul li a{display:block;padding:10px 12px;color:#ccd5f5;font-size:12px;font-weight:600;transition:all .2s;white-space:nowrap;text-transform:uppercase}
.afk-nav ul li a:hover,.afk-nav ul li.current-menu-item>a,.afk-nav ul li.current_page_item>a{color:var(--gold);border-bottom:3px solid var(--gold)}
.afk-badge-new{background:var(--red);color:#fff;font-size:8px;font-weight:700;padding:1px 4px;border-radius:3px;margin-left:3px}

/* ---------- LAYOUT ---------- */
.afk-main-grid{display:grid;grid-template-columns:1fr 300px;gap:20px;max-width:1200px;margin:14px auto;padding:0 15px}
@media(max-width:900px){.afk-main-grid{grid-template-columns:1fr}}

/* ---------- PUB ---------- */
.afk-ad-bar{background:linear-gradient(90deg,var(--navy),var(--navy2));color:#fff;text-align:center;padding:11px;font-size:12px;border:2px dashed var(--gold);border-radius:6px;position:relative;margin-bottom:14px}
.afk-ad-lbl{background:var(--gold);color:#000;font-size:9px;font-weight:700;padding:1px 7px;border-radius:10px;position:absolute;top:4px;right:8px}
.afk-ad-side{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-radius:8px;padding:16px;text-align:center;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed var(--gold);position:relative}
.afk-ad-side p{color:var(--gold);font-size:16px;font-weight:800;margin:8px 0 2px}
.afk-ad-side small{color:#aab4d8}

/* ---------- HERO ---------- */
.afk-hero{position:relative;border-radius:10px;overflow:hidden;height:360px;margin-bottom:18px;display:block;background:var(--navy)}
.afk-hero img{width:100%;height:100%;object-fit:cover;display:block}
.afk-hero-ov{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.88));padding:24px 20px 16px}
.afk-cat-badge{background:var(--red);color:#fff;font-size:10px;font-weight:700;padding:2px 9px;border-radius:3px;display:inline-block;margin-bottom:6px;text-transform:uppercase}
.afk-hero-title{color:#fff;font-size:22px;font-weight:800;line-height:1.3;margin:0 0 6px}
.afk-hero-meta{color:#ccc;font-size:12px;display:flex;gap:12px;flex-wrap:wrap}

/* ---------- CARDS ---------- */
.afk-card{background:var(--card);border-radius:8px;overflow:hidden;border:1px solid var(--border);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;height:100%}
.afk-card:hover{transform:translateY(-3px);box-shadow:0 6px 18px rgba(0,0,0,.12)}
.afk-card-img{overflow:hidden;position:relative;background:#1a3080;height:160px;flex-shrink:0}
.afk-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.afk-card:hover .afk-card-img img{transform:scale(1.04)}
.afk-card-body{padding:12px;flex:1;display:flex;flex-direction:column}
.afk-cat-lbl{font-size:10px;font-weight:700;text-transform:uppercase;margin-bottom:4px;color:var(--navy);letter-spacing:.4px}
.afk-card-title{font-size:13.5px;font-weight:700;line-height:1.4;color:var(--txt);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.afk-card-meta{font-size:11px;color:var(--txt2);display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:auto}

.afk-card-h{background:var(--card);border-radius:8px;overflow:hidden;border:1px solid var(--border);display:flex;transition:box-shadow .2s;margin-bottom:10px;min-height:82px}
.afk-card-h:hover{box-shadow:0 4px 14px rgba(0,0,0,.1)}
.afk-card-h-img{overflow:hidden;background:#1a3080;flex-shrink:0;width:112px}
.afk-card-h-img img{width:100%;height:100%;object-fit:cover;display:block}
.afk-card-h-body{padding:11px;flex:1;display:flex;flex-direction:column;justify-content:space-between}
.afk-card-h-title{font-size:13px;font-weight:700;line-height:1.4;color:var(--txt);margin-bottom:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.afk-card-large{background:var(--card);border-radius:10px;overflow:hidden;border:1px solid var(--border);position:relative;display:flex;flex-direction:column;height:100%}
.afk-card-large:hover{box-shadow:0 6px 22px rgba(0,0,0,.13)}
.afk-card-large-img{height:100%;min-height:230px;position:relative;overflow:hidden;flex:1}
.afk-card-large-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.afk-card-large:hover .afk-card-large-img img{transform:scale(1.04)}
.afk-card-large-body{padding:15px}
.afk-card-large-title{font-size:17px;font-weight:800;line-height:1.3;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.afk-card-large-excerpt{font-size:12px;color:var(--txt2);line-height:1.6;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- GRIDS ---------- */
.afk-g1{display:grid;grid-template-columns:1fr;gap:14px}
.afk-g2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;align-items:stretch}
.afk-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch}
.afk-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:stretch}
.afk-g1-2{display:grid;grid-template-columns:1.7fr 1fr;gap:14px;align-items:stretch}
.afk-list-col{display:flex;flex-direction:column;gap:10px}
.afk-list-col .afk-card-h{flex:1;margin-bottom:0}
@media(max-width:900px){.afk-g3,.afk-g4{grid-template-columns:repeat(2,1fr)}.afk-g1-2{grid-template-columns:1fr}}
@media(max-width:560px){.afk-g2,.afk-g3,.afk-g4{grid-template-columns:1fr}}

/* ---------- BLOC RUBRIQUE ---------- */
.afk-bloc{background:var(--card);border-radius:10px;border:1px solid var(--border);margin-bottom:22px;overflow:hidden}
.afk-bloc-head{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;border-bottom:2px solid var(--border)}
.afk-bloc-head-left{display:flex;align-items:center;gap:8px}
.afk-bloc-head-left .afk-stripe{width:4px;height:18px;border-radius:2px;background:var(--gold)}
.afk-bloc-head h3{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;margin:0;color:var(--navy)}
.afk-bloc-more{font-size:11px;color:var(--txt2);font-weight:600}
.afk-bloc-more:hover{color:var(--navy)}
.afk-bloc-body{padding:13px}

/* ---------- SECTION TITLE ---------- */
.afk-sec-title{display:flex;align-items:center;gap:10px;margin:22px 0 14px;font-size:16px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:1px}
.afk-sec-title::before{content:'';display:block;width:5px;height:22px;background:var(--gold);border-radius:2px}

/* ---------- RUBRIQUE HERO (archive) ---------- */
.afk-rub-hero{border-radius:10px;padding:22px 20px;margin-bottom:14px;color:#fff;display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,var(--navy),#1a2a7a)}
.afk-rub-hero-icon{font-size:48px}
.afk-rub-hero h2{font-size:23px;font-weight:900;margin:0 0 4px}
.afk-rub-hero p{font-size:12px;opacity:.85;max-width:520px;margin:0}
@media(max-width:560px){.afk-rub-hero{flex-direction:column;text-align:center}}

/* ---------- SIDEBAR / WIDGETS ---------- */
.afk-sidebar{display:flex;flex-direction:column;gap:14px}
.afk-widget{background:var(--card);border-radius:8px;border:1px solid var(--border);overflow:hidden}
.afk-widget .widget-title,.afk-whead{background:var(--navy);color:#fff;padding:9px 13px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin:0;display:flex;align-items:center;gap:6px}
.afk-whead .afk-dot,.afk-widget .widget-title::before{content:'';display:inline-block;width:7px;height:7px;background:var(--gold);border-radius:50%}
.afk-wbody,.afk-widget .textwidget,.afk-widget ul{padding:11px}
.afk-widget ul{list-style:none;margin:0}
.afk-widget ul li{padding:6px 0;border-bottom:1px solid var(--border);font-size:12px}
.afk-widget ul li:last-child{border-bottom:none}
.afk-widget a:hover{color:var(--navy)}

.afk-ag-item{display:flex;gap:9px;padding:8px 0;border-bottom:1px solid var(--border);align-items:flex-start}
.afk-ag-item:last-child{border-bottom:none}
.afk-ag-date{background:var(--navy);color:#fff;border-radius:5px;text-align:center;min-width:44px;padding:4px;flex-shrink:0}
.afk-ag-date .d{font-size:17px;font-weight:800;line-height:1;color:var(--gold)}
.afk-ag-date .m{font-size:8px;text-transform:uppercase;letter-spacing:1px}
.afk-ag-info{flex:1}
.afk-ag-info h4{font-size:11px;font-weight:700;margin:0 0 1px}
.afk-ag-info p{font-size:10px;color:var(--txt2);margin:0}

.afk-tr-item{display:flex;gap:8px;padding:7px 0;border-bottom:1px solid var(--border)}
.afk-tr-item:last-child{border-bottom:none}
.afk-tr-num{font-size:18px;font-weight:900;color:var(--border);min-width:22px}
.afk-tr-info h4{font-size:11px;font-weight:700;line-height:1.3;margin:0}
.afk-tr-info p{font-size:10px;color:var(--txt2);margin:1px 0 0}

/* ---------- SHARE ---------- */
.afk-share{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.afk-share a{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}
.afk-share .fb{background:#1877F2}.afk-share .tw{background:#000}.afk-share .wa{background:#25D366}
.afk-share .tg{background:#0088CC}.afk-share .li{background:#0077B5}
.afk-s-btn{background:var(--gold);color:#000;border:none;padding:3px 8px;border-radius:20px;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}

/* ---------- NEWSLETTER ---------- */
.afk-nl-box{border-radius:10px;padding:24px;text-align:center;margin:14px 0;color:#fff;background:linear-gradient(135deg,var(--navy),#1a3080)}
.afk-nl-box h3{font-size:17px;font-weight:800;margin:0 0 4px}
.afk-nl-box p{color:#aab4d8;font-size:12px;margin:0 0 12px}
.afk-nl-form{display:flex;gap:7px;max-width:380px;margin:0 auto}
.afk-nl-form input{flex:1;padding:9px 12px;border:none;border-radius:20px;font-size:13px}
.afk-nl-form button{background:var(--gold);color:#000;border:none;padding:9px 15px;border-radius:20px;font-weight:700;cursor:pointer;font-size:12px}

/* ---------- SINGLE ---------- */
.afk-article{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.afk-article-cover img{width:100%;max-height:420px;object-fit:cover;display:block}
.afk-article-body{padding:22px}
.afk-article-body h1{font-size:26px;line-height:1.25;color:var(--navy);margin:0 0 10px}
.afk-article-meta{font-size:12px;color:var(--txt2);display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.afk-article-content{font-size:16px;line-height:1.8;color:#222}
.afk-article-content p{margin:0 0 16px}
.afk-article-content h2{color:var(--navy);font-size:20px;margin:24px 0 10px}
.afk-article-content h3{color:var(--navy);font-size:17px;margin:20px 0 8px}
.afk-article-content img{border-radius:8px;margin:12px 0}
.afk-article-content blockquote{border-left:4px solid var(--gold);background:#faf7ee;padding:12px 16px;margin:16px 0;font-style:italic;color:var(--navy)}
.afk-article-share{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.afk-article-share strong{font-size:12px;text-transform:uppercase;color:var(--navy)}

/* ---------- PAGINATION ---------- */
.afk-pagination{display:flex;justify-content:center;gap:6px;margin:20px 0;flex-wrap:wrap}
.afk-pagination .page-numbers{padding:7px 12px;border:1px solid var(--border);border-radius:6px;background:#fff;font-size:13px;font-weight:600}
.afk-pagination .current{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ---------- FOOTER ---------- */
.afk-footer{background:var(--navy);color:#aab4d8;padding:34px 20px 16px;margin-top:30px}
.afk-footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1200px;margin:0 auto 22px}
.afk-footer-col h4{color:var(--gold);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}
.afk-footer-col ul{list-style:none;padding:0;margin:0}
.afk-footer-col ul li{padding:3px 0;font-size:11px}
.afk-footer-col ul li a:hover{color:var(--gold)}
.afk-footer-col p{font-size:11px;line-height:1.6;margin:0 0 7px}
.afk-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:14px;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:11px;flex-wrap:wrap;gap:10px}
.afk-soc{display:flex;gap:7px}
.afk-soc a{background:rgba(255,255,255,.1);color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:background .2s}
.afk-soc a:hover{background:var(--gold);color:#000}
@media(max-width:700px){.afk-footer-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- OVERLAY PARTAGE VISITEUR ---------- */
.afk-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9999;display:none;align-items:center;justify-content:center;padding:16px}
.afk-overlay.show{display:flex}
.afk-vs-box{background:#fff;border-radius:14px;width:100%;max-width:380px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.afk-vs-head{background:var(--navy);padding:14px 18px;display:flex;justify-content:space-between;align-items:center}
.afk-vs-head h3{color:var(--gold);font-size:14px;font-weight:800;margin:0}
.afk-vs-close{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;line-height:1}
.afk-vs-body{padding:16px}
.afk-vs-nets{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}
.afk-vs-nets a{padding:10px 7px;border-radius:8px;font-size:12px;font-weight:700;text-align:center;color:#fff;display:flex;align-items:center;justify-content:center;gap:5px}
.afk-vs-copy{display:flex;gap:7px}
.afk-vs-copy input{flex:1;background:#f0f4ff;border:1px solid var(--border);border-radius:7px;padding:8px 10px;font-size:11px;color:var(--txt2)}
.afk-vs-copy button{background:var(--navy);color:#fff;border:none;padding:8px 12px;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer}

/* ---------- MODULE ÉVÉNEMENTIEL ---------- */
.afk-ev{background:#fff;border-radius:12px;border:1px solid var(--border);overflow:hidden;margin-bottom:22px}
.afk-ev-tabs{display:flex;border-bottom:2px solid var(--border)}
.afk-ev-tab{flex:1;padding:13px;border:none;font-weight:700;font-size:13px;cursor:pointer;background:#f4f4f0;color:var(--txt2)}
.afk-ev-tab.active{background:var(--navy);color:var(--gold);border-bottom:3px solid var(--gold)}
.afk-ev-panel{padding:22px}
.afk-ev-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.afk-ev-grid{grid-template-columns:1fr}}
.afk-ev label{font-size:11px;font-weight:700;color:var(--navy);text-transform:uppercase;display:block;margin-bottom:5px}
.afk-ev select,.afk-ev input,.afk-ev textarea{width:100%;padding:9px 11px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;background:#fff}
.afk-ev-opt{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}
@media(max-width:560px){.afk-ev-opt{grid-template-columns:1fr 1fr}}
.afk-ev-opt .opt{display:flex;align-items:center;gap:6px;padding:9px;border:1.5px solid var(--border);border-radius:7px;cursor:pointer;background:#fff;font-size:12px}
.afk-ev-opt .opt.checked{background:#e8f0ff;border-color:var(--navy)}
.afk-ev-btn{background:var(--gold);color:#000;border:none;padding:11px;border-radius:8px;font-weight:800;font-size:13px;cursor:pointer;width:100%}
.afk-ev-recap{background:linear-gradient(135deg,var(--navy),#1a3080);border-radius:10px;padding:15px;color:#fff;margin-top:16px}
.afk-ev-recap-total{font-size:20px;font-weight:900;color:var(--gold)}
.afk-pay{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.afk-pay .p{border:2px solid var(--border);border-radius:9px;padding:13px 7px;text-align:center;cursor:pointer;background:#fff}
.afk-pay .p.sel{border-color:var(--gold);background:#fff9e6}

/* ---------- LISTES ANNONCES / DJ / HOTELS ---------- */
.afk-list-banner{background:linear-gradient(135deg,#0D6E4E,#15a86b);border-radius:10px;padding:16px 20px;color:#fff;margin-bottom:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.afk-list-banner .free{margin-left:auto;background:#fff;color:#0D6E4E;border:none;padding:9px 16px;border-radius:20px;font-weight:800;font-size:12px;cursor:pointer}
.afk-badge-free{background:#15a86b;color:#fff;font-size:9px;font-weight:700;padding:2px 8px;border-radius:3px}
.afk-badge-price{font-weight:800;color:var(--navy);font-size:14px}

/* ---------- BANNIÈRES PUBLICITAIRES (pleine largeur, bords alignés) ---------- */
.afk-ad-house{position:relative;display:flex;align-items:center;gap:14px;border-radius:8px;padding:14px 22px;color:#fff;overflow:hidden;text-decoration:none;border:2px dashed rgba(255,255,255,.4);margin:0 0 18px;width:100%;box-sizing:border-box}
.afk-ad-house h4{font-size:16px;margin:0 0 3px;font-weight:800}
.afk-ad-house p{font-size:12px;opacity:.92;margin:0;line-height:1.4}
.afk-ad-house .afk-ad-cta{margin-left:auto;background:#fff;color:#111;padding:9px 18px;border-radius:20px;font-weight:800;font-size:12px;white-space:nowrap;flex-shrink:0}
/* Formats horizontaux : pleine largeur de la colonne */
.afk-ad-house.lead{min-height:90px}
.afk-ad-house.wide{min-height:90px}
.afk-ad-house.bill{min-height:150px;flex-direction:column;text-align:center;justify-content:center}
.afk-ad-house.bill .afk-ad-cta{margin:12px 0 0}
/* Formats colonne (sidebar) : pleine largeur de la colonne latérale */
.afk-ad-house.box{flex-direction:column;text-align:center;justify-content:center}
.afk-ad-house.box .afk-ad-cta{margin:12px 0 0}
.afk-ad-house.box.rect{min-height:250px}
.afk-ad-house.box.tall{min-height:600px}
@media(max-width:560px){.afk-ad-house.lead,.afk-ad-house.wide{flex-direction:column;text-align:center;min-height:120px}.afk-ad-house.lead .afk-ad-cta,.afk-ad-house.wide .afk-ad-cta{margin:8px 0 0}}
/* Emplacements avec bannière image personnalisée : occupe toute la largeur de la colonne
   (bords alignés sur le contenu = rectangle parfait). */
.afk-adslot{width:100%;margin:0 0 18px;line-height:0}
.afk-adslot img,.afk-adslot iframe,.afk-adslot a>img{display:block;width:100%!important;height:auto!important;max-width:100%;border-radius:8px}
.afk-adslot > *{max-width:100%}

/* ---------- ÉCRAN PROMO ÉVÉNEMENT (splash) ---------- */
.afk-splash{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:#0D1B5E;color:#fff;text-align:center;padding:24px;overflow:hidden}
.afk-splash-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.32}
.afk-splash::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(13,27,94,.55),rgba(13,27,94,.92))}
.afk-splash-inner{position:relative;z-index:2;max-width:640px}
.afk-splash-logo .afk-logo-icon{width:56px;height:56px;font-size:24px}
.afk-splash-badge{background:var(--red);color:#fff;font-size:12px;font-weight:800;padding:5px 14px;border-radius:20px;display:inline-block;text-transform:uppercase;letter-spacing:1px}
.afk-splash h2{font-size:36px;font-weight:900;margin:16px 0 10px;line-height:1.15}
.afk-splash .meta{font-size:16px;color:var(--gold);font-weight:700;margin-bottom:6px}
.afk-splash .lieu{font-size:14px;opacity:.85;margin-bottom:22px}
.afk-splash .cta{display:inline-block;background:var(--gold);color:#000;padding:13px 28px;border-radius:30px;font-weight:800;font-size:15px;text-decoration:none}
.afk-splash .cta:hover{background:var(--gold2)}
.afk-splash .count{font-size:12px;color:#aab4d8;margin-top:16px}
.afk-splash .skip{display:block;margin:20px auto 0;color:#cdd6f5;font-size:13px;cursor:pointer;background:none;border:1px solid rgba(255,255,255,.25);padding:8px 18px;border-radius:24px}
.afk-splash .skip:hover{background:rgba(255,255,255,.1)}
.afk-splash-progress{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(255,255,255,.15);z-index:2}
.afk-splash-progress span{display:block;height:100%;width:0;background:var(--gold)}
.afk-splash.afk-splash-hide{opacity:0;transition:opacity .5s ease;pointer-events:none}
@media(max-width:560px){.afk-splash h2{font-size:26px}}

/* ---------- BOUTONS ÉVÉNEMENTIEL (devis / ticket) ---------- */
.afk-evbtns{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}
.afk-evbtn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:30px;font-weight:800;font-size:13px;text-decoration:none;border:2px solid transparent;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .15s ease,box-shadow .25s ease}
.afk-evbtn:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.afk-evbtn.devis{background:var(--gold);color:#0D1B5E}
.afk-evbtn.devis:hover{background:#0D1B5E;color:var(--gold);border-color:var(--gold)}
.afk-evbtn.ticket{background:var(--red);color:#fff}
.afk-evbtn.ticket:hover{background:#fff;color:var(--red);border-color:var(--red)}
.afk-evbtn.afk-evbtn-lg{padding:15px 28px;font-size:15px}

/* ---------- BOUTONS FLOTTANTS (FAB) ---------- */
.afk-fab{position:fixed;right:18px;bottom:18px;z-index:900;display:flex;flex-direction:column;gap:10px}
.afk-fab-btn{display:flex;align-items:center;gap:8px;padding:13px 20px;border-radius:30px;font-weight:800;font-size:13px;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.28);transition:background .25s ease,color .25s ease,transform .15s ease}
.afk-fab-btn span{font-size:16px;line-height:1}
.afk-fab-btn:hover{transform:translateY(-3px)}
.afk-fab-btn.devis{background:var(--gold);color:#0D1B5E}
.afk-fab-btn.devis:hover{background:#0D1B5E;color:var(--gold)}
.afk-fab-btn.ticket{background:var(--red);color:#fff}
.afk-fab-btn.ticket:hover{background:#0D1B5E;color:#fff}
@media(max-width:560px){.afk-fab{right:8px;left:8px;bottom:8px;flex-direction:row}.afk-fab-btn{flex:1;justify-content:center;padding:12px 6px;font-size:12px}.afk-fab-btn span{font-size:15px}}

/* ---------- LOGOS PAIEMENT MOBILE MONEY ---------- */
.afk-pay .p{min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.afk-pay-logo{height:40px;width:auto;max-width:90%;object-fit:contain;display:block;border-radius:6px}
.afk-pay-emoji{font-size:30px;line-height:1}
.afk-pay-name{font-weight:800;font-size:11px;letter-spacing:.3px}

/* ---------- BOUTON TÉLÉCHARGEMENT DOCUMENT (devis / e-ticket) ---------- */
.afk-doc-btn{margin-top:10px;background:var(--gold);color:#0D1B5E;border:none;padding:10px 18px;border-radius:24px;font-weight:800;font-size:12px;cursor:pointer;transition:background .25s ease,color .25s ease}
.afk-doc-btn:hover{background:#0D1B5E;color:var(--gold)}

/* ---------- BANNIÈRE OLYLIFE (leaderboard) ---------- */
.afk-oly-ad{display:block;width:100%;border-radius:8px;overflow:hidden;margin:0 0 18px;box-shadow:0 4px 14px rgba(2,47,51,.18);transition:transform .2s ease,box-shadow .2s ease;line-height:0}
.afk-oly-ad img{display:block;width:100%;height:auto}
.afk-oly-ad--img:hover,.afk-oly-ad--img:focus-visible{transform:translateY(-2px);box-shadow:0 7px 20px rgba(2,47,51,.28);outline:3px solid #D39A1A;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.afk-oly-ad{transition:none}}

/* Bannière OlyLife premium (HTML/CSS, sans image lourde) */
.afk-oly-ad--html{position:relative;text-decoration:none;line-height:1.2;
	background:linear-gradient(100deg,#022F33 0%,#02524F 46%,#03695B 100%)}
.afk-oly-ad--html .oly-ad-photo{position:absolute;top:0;right:0;bottom:0;width:54%;z-index:0;
	background-size:cover;background-position:center right;
	-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 34%,#000 74%);
	        mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 34%,#000 74%)}
.afk-oly-ad--html::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
	background:
		linear-gradient(100deg,#022F33 0%,rgba(2,47,51,.9) 30%,rgba(2,47,51,.35) 52%,rgba(2,47,51,0) 70%),
		radial-gradient(150px 150px at 84% 50%,rgba(211,154,26,.28),transparent 70%),
		repeating-radial-gradient(circle at 101% 50%,rgba(255,255,255,.045) 0 1px,transparent 1px 15px)}
.afk-oly-ad--html .oly-ad-wrap{position:relative;z-index:2;max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:16px 22px;min-height:64px}
.afk-oly-ad--html .oly-ad-tag{position:absolute;top:5px;left:22px;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.5)}
.afk-oly-ad--html .oly-ad-logo{height:32px;width:auto;flex-shrink:0}
.afk-oly-ad--html .oly-ad-txt{display:flex;flex-direction:column;min-width:0}
.afk-oly-ad--html .oly-ad-title{color:#fff;font-size:clamp(1rem,.8rem + .8vw,1.4rem);font-weight:900;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.afk-oly-ad--html .oly-ad-sub{color:#dcefe7;font-size:clamp(.78rem,.7rem + .3vw,.95rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 6px rgba(0,0,0,.3)}
.afk-oly-ad--html .oly-ad-sub b{color:#F5A800}
.afk-oly-ad--html .oly-ad-cta{margin-left:auto;flex-shrink:0;background:#F5A800;color:#0D1B5E;font-weight:800;padding:11px 20px;border-radius:30px;font-size:clamp(.82rem,.75rem + .3vw,1rem);white-space:nowrap;box-shadow:0 6px 16px rgba(211,154,26,.35);transition:transform .2s,box-shadow .2s,background .2s}
.afk-oly-ad--html:hover .oly-ad-cta{transform:translateY(-2px);background:#ffb71a;box-shadow:0 10px 22px rgba(211,154,26,.45)}
.afk-oly-ad--html:focus-visible{outline:3px solid #F5A800;outline-offset:2px}
@media(max-width:680px){
	.afk-oly-ad--html .oly-ad-photo{width:64%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 40%,#000 82%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 40%,#000 82%)}
	.afk-oly-ad--html .oly-ad-wrap{gap:12px;padding:15px 16px}
	.afk-oly-ad--html .oly-ad-logo{height:26px}
	.afk-oly-ad--html .oly-ad-sub{display:none}
	.afk-oly-ad--html .oly-ad-cta{padding:9px 15px}
}
@media(max-width:430px){
	.afk-oly-ad--html .oly-ad-title{font-size:.95rem}
	.afk-oly-ad--html .oly-ad-cta{font-size:.78rem;padding:8px 12px}
	.afk-oly-ad--html .oly-ad-tag{display:none}
}
