/* DSK Congo - habillage moderne du site public (se superpose à style.css, sans changer la structure) */
:root{--font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}
body{font-family:var(--font);background:var(--bg);background-image:radial-gradient(900px 500px at 100% 0%,rgba(var(--blue-rgb),.06),transparent 60%),radial-gradient(700px 500px at 0% 40%,rgba(var(--gold-rgb),.07),transparent 60%);-webkit-font-smoothing:antialiased}
::selection{background:var(--gold);color:var(--navy)}
html{scrollbar-color:#9db4d6 #eef3fb}
/* Pas d'animation d'entrée du texte d'accueil après le premier chargement */
.no-intro .hero h1 .w,.no-intro .hero-content>*{animation:none!important;opacity:1!important;transform:none!important}

/* Barre du haut + navigation */
.top{background:linear-gradient(90deg,var(--navy),var(--blue) 60%,var(--green));font-size:13px;letter-spacing:.2px;text-align:center}
.nav{background:rgba(255,255,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(var(--blue-rgb),.1)}
.navin{padding:10px 0}
.brand{font-weight:800;letter-spacing:-.2px}.brand small{font-weight:600;font-size:12.5px}
.logo{width:56px;height:56px;border-radius:18px;font-size:17px;box-shadow:0 10px 24px rgba(var(--blue-rgb),.3)}
.menu{gap:4px;align-items:center}
.menu button{font:700 14.5px var(--font);padding:10px 14px;border-radius:12px;color:#334155;transition:background .2s,color .2s}
.menu button:hover{background:var(--tint);color:var(--blue)}
.menu button.active{background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;box-shadow:0 8px 20px rgba(var(--blue-rgb),.28)}
.menu button.active::after,.menu button:hover::after{display:none}

/* Accueil */
.hero{min-height:640px;background:radial-gradient(900px 520px at 88% 8%,rgba(var(--gold-rgb),.28),transparent 60%),radial-gradient(800px 600px at 0% 100%,rgba(6,182,212,.3),transparent 60%),linear-gradient(125deg,var(--navy) 0%,var(--blue2) 55%,var(--green) 120%)}
.hero::before{opacity:.9}
.hero-content{max-width:940px}
.kicker{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px);font-weight:700;font-size:14px;letter-spacing:.3px}
.hero h1{font-weight:800;font-size:clamp(34px,5.4vw,64px);letter-spacing:-2px;line-height:1.03;text-shadow:0 8px 40px rgba(0,0,0,.25)}
.hero p{font-size:clamp(16px,1.6vw,20px);line-height:1.65;opacity:.95}
.hero .btn{margin:6px 10px 6px 0;padding:15px 26px;font-size:16px}

/* Titres et sections */
.title{font-weight:800;letter-spacing:-1px}
.section{padding:78px 0}
.sub{font-size:17px}

/* Boutons */
.btn{font-family:var(--font);font-weight:800;letter-spacing:.1px;background:linear-gradient(135deg,var(--navy),var(--blue));box-shadow:0 12px 26px rgba(var(--blue-rgb),.25);transition:transform .22s var(--ease),box-shadow .22s,filter .22s}
.btn:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(var(--blue-rgb),.32)}
.btn.gold{background:linear-gradient(135deg,var(--gold),#ffdf7a);color:#1a2438;box-shadow:0 12px 28px rgba(var(--gold-rgb),.4)}
.btn.light{background:#fff;color:var(--navy);border:1.5px solid #dbe5f3;box-shadow:0 4px 14px rgba(var(--navy-rgb),.06)}
.btn.light:hover{border-color:var(--blue);color:var(--blue)}
.btn.red{background:linear-gradient(135deg,#c1121f,#e5484d)}.btn.green{background:linear-gradient(135deg,var(--green),#14b8a6)}.btn.blue{background:linear-gradient(135deg,var(--blue),#2b7bd6)}

/* Cartes */
.card{border-radius:24px;border:1px solid rgba(var(--blue-rgb),.09);box-shadow:0 10px 40px rgba(var(--navy-rgb),.08)}
.card:hover{box-shadow:0 26px 60px rgba(var(--navy-rgb),.16)}
.card .icon{width:60px;height:60px;border-radius:19px;display:grid;place-items:center;font-size:28px;background:linear-gradient(135deg,var(--tint),#fff7da);box-shadow:inset 0 0 0 1px rgba(var(--blue-rgb),.1),0 10px 22px rgba(var(--blue-rgb),.1);margin-bottom:12px;transition:transform .35s var(--ease)}
.card:hover .icon{transform:rotate(-6deg) scale(1.08)}
.card h3{font-weight:800;letter-spacing:-.3px;color:var(--navy)}
.media{border-radius:26px}.cover{height:240px}
.media-body{padding:24px}
.badge{background:linear-gradient(135deg,var(--tint),#e6f6f4);color:var(--blue);font-weight:800;letter-spacing:.2px}
.news-slide,.home-gallery-slider{border-radius:30px}
.detail-gallery img{transition:transform .35s var(--ease),box-shadow .35s}.detail-gallery img:hover{transform:scale(1.03);box-shadow:0 18px 40px rgba(var(--navy-rgb),.25)}

/* Formulaires */
input,textarea,select{font-family:var(--font);border:1.5px solid #d6e0ef;border-radius:14px;padding:13px 15px;transition:border-color .2s,box-shadow .2s,background .2s;background:#fbfdff}
input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 5px rgba(var(--blue-rgb),.13);background:#fff}
label{font-weight:800;font-size:14px}
form h2{font-weight:800;display:flex;align-items:center;gap:10px;border-bottom:0;padding-bottom:0}
form h2::before{content:"";width:6px;height:24px;border-radius:5px;background:linear-gradient(var(--gold),var(--blue))}
#f button.btn,#f .btn{padding:15px 30px;font-size:16px}

/* Documents */
.doc-card{display:flex;gap:16px;align-items:flex-start}
.doc-ico{font-size:34px;width:66px;height:66px;border-radius:20px;background:linear-gradient(135deg,var(--tint),#fff);display:grid;place-items:center;flex:none;box-shadow:0 10px 24px rgba(var(--blue-rgb),.14)}
.doc-card h3{margin:8px 0 4px}.doc-card p{margin:0 0 12px;color:#64748b}

/* Pied de page */
.footer{background:radial-gradient(700px 300px at 90% 0%,rgba(var(--gold-rgb),.12),transparent 60%),linear-gradient(160deg,var(--navy),var(--navy3));border-radius:36px 36px 0 0;margin-top:60px;padding:58px 0}
.footer h3{color:#fff;font-weight:800}.footer a{transition:color .2s,padding .2s}.footer a:hover{color:#fff;padding-left:4px}
.floating-contact-actions .float-btn{box-shadow:0 16px 34px rgba(var(--navy-rgb),.3)}
#dskToast{font-family:var(--font)}
@media(max-width:900px){.section{padding:48px 0}.hero{min-height:auto}.menu button.active{box-shadow:none}}
@media print{.nav,.top,.footer{display:none}}
@media(min-width:901px) and (max-width:1500px){.menu button{padding:9px 10px;font-size:13.5px}.brand small{display:none}}
