/* DF24 – bandeau et fiches partenaires */
.dfp-grille{display:flex;flex-wrap:wrap;gap:12px;padding:0 0 4px;width:100%}
.dfp-carte{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:calc((100% - 48px)/5);min-height:112px;padding:12px;background:#fff;border:1px solid #E4EAF2;border-radius:10px;text-decoration:none!important;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.dfp-carte:hover,.dfp-carte:focus-visible{border-color:#52A0D3;box-shadow:0 10px 24px rgba(14,35,80,.10);outline:0}
.dfp-grille .dfp-carte img{display:block;width:86%;height:60px;object-fit:contain}
.dfp-officiels .dfp-carte{min-height:108px;padding:10px}
.dfp-grille.dfp-officiels .dfp-carte img{width:92%;height:76px}
.dfp-sans-logo{font:800 18px/1.1 "Barlow Condensed",Barlow,sans-serif;text-transform:uppercase;color:#0E2350;text-align:center}
.dfp-mention{display:inline-block;padding:3px 8px;border-radius:3px;background:#0E2350;color:#fff;font:700 11px/1.2 Barlow,sans-serif;text-transform:uppercase;letter-spacing:.8px;text-align:center}
@media (max-width:1100px){.dfp-carte{width:calc((100% - 24px)/3)}.dfp-grille.dfp-officiels .dfp-carte img{height:68px}}
.dfp-grille{justify-content:center}
/* Mobile : tous les logos visibles sans défilement (titres 2 par ligne, officiels 3 par ligne, dernière ligne centrée) */
@media (max-width:767px){.dfp-grille{gap:8px}.dfp-carte{width:calc((100% - 8px)/2);min-height:84px;padding:10px 8px;gap:6px;border-radius:8px}.dfp-grille .dfp-carte img{width:88%;height:40px}.dfp-officiels .dfp-carte{width:calc((100% - 16px)/3);min-height:70px;padding:8px 6px}.dfp-grille.dfp-officiels .dfp-carte img{width:94%;height:44px}.dfp-mention{font-size:10px;letter-spacing:.4px;padding:3px 6px}}

/* Fiche */
body.dfp-ouvert{overflow:hidden}
.dfp-modal{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:20px;font-family:Barlow,sans-serif;color:#14213D}
.dfp-modal[hidden]{display:none!important}
.dfp-fond{position:absolute;inset:0;background:rgba(14,35,80,.62);animation:dfpFade .2s ease}
.dfp-boite{position:relative;box-sizing:border-box;width:560px;max-width:100%;max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:14px;box-shadow:0 30px 70px rgba(14,35,80,.35);animation:dfpIn .22s ease;outline:0}
.dfp-tete{display:flex;align-items:center;gap:18px;padding:24px 72px 18px 24px;border-bottom:1px solid #E4EAF2}
.dfp-logo{box-sizing:border-box;flex:none;display:flex;align-items:center;justify-content:center;width:96px;height:96px;padding:8px;background:#fff;border:1px solid #E4EAF2;border-radius:12px}
.dfp-modal .dfp-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:78px;object-fit:contain}
.dfp-ident{min-width:0}
.dfp-badge{display:inline-block;padding:4px 10px;border-radius:3px;background:#264075;color:#fff;font:700 12px/1.2 Barlow,sans-serif;text-transform:uppercase;letter-spacing:.6px}
.dfp-badge.is-rouge{background:#CF3535}
.dfp-modal h2{margin:8px 0 0;padding:0;font:800 32px/1.05 "Barlow Condensed",Barlow,sans-serif;text-transform:uppercase;color:#0E2350;letter-spacing:0}
.dfp-corps{display:flex;flex-direction:column;gap:14px;padding:20px 24px 8px}
.dfp-texte{font-size:17px;line-height:1.55}
.dfp-texte p{margin:0 0 .6em}.dfp-texte p:last-child{margin:0}
.dfp-texte a{color:#264075;text-decoration:underline}
.dfp-points{display:flex;flex-wrap:wrap;gap:8px}
.dfp-points:empty{display:none}
.dfp-points span{padding:6px 12px;border-radius:20px;background:#EAF3FB;color:#264075;font:600 14px/1.2 Barlow,sans-serif}
.dfp-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px 22px}
.dfp-modal .dfp-site{display:inline-flex;align-items:center;gap:10px;padding:15px 20px;border-radius:8px;background:#264075;color:#fff!important;font:700 16px/1.2 Barlow,sans-serif;text-decoration:none!important;transition:background .2s}
.dfp-modal .dfp-site:hover,.dfp-modal .dfp-site:focus-visible{background:#0E2350}
.dfp-site[hidden]{display:none!important}
.dfp-nav{display:flex;align-items:center;gap:8px}
.dfp-nav[hidden]{display:none!important}
.dfp-modal .dfp-nav a{display:inline-flex;align-items:center;gap:6px;padding:12px 14px;border:1px solid #C9D5E6;border-radius:8px;background:#fff;color:#264075!important;font:700 15px/1.2 Barlow,sans-serif;text-decoration:none!important;transition:border-color .2s}
.dfp-modal .dfp-nav a:hover,.dfp-modal .dfp-nav a:focus-visible{border-color:#264075;color:#0E2350!important}
.dfp-compteur{min-width:52px;text-align:center;color:#4A5878;font:500 14px/1.2 Barlow,sans-serif}
.dfp-modal .dfp-fermer{position:absolute;top:18px;right:18px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#F3F6FA;color:#0E2350!important;text-decoration:none!important;transition:background .2s}
.dfp-modal .dfp-fermer:hover,.dfp-modal .dfp-fermer:focus-visible{background:#E4EAF2}
@media (max-width:767px){
	.dfp-modal{align-items:flex-end;padding:0}
	.dfp-boite{width:100%;max-height:88vh;border-radius:16px 16px 0 0;animation-name:dfpUp;padding-bottom:env(safe-area-inset-bottom,0px)}
	.dfp-tete{gap:14px;padding:22px 64px 16px 20px}
	.dfp-logo{width:76px;height:76px}.dfp-modal .dfp-logo img{max-height:60px}
	.dfp-modal h2{font-size:26px}
	.dfp-corps{padding:16px 20px 4px}
	.dfp-texte{font-size:16px}
	.dfp-actions{padding:14px 20px 20px}
	.dfp-modal .dfp-site{width:100%;justify-content:center}
	.dfp-nav{width:100%;justify-content:space-between}
	.dfp-modal .dfp-fermer{top:16px;right:16px}
}
@keyframes dfpFade{from{opacity:0}to{opacity:1}}
@keyframes dfpIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes dfpUp{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.dfp-fond,.dfp-boite{animation:none}}

/* Mobile : logos plus lisibles (24/10/2026) */
@media (max-width:767px){.dfp-grille .dfp-carte img{height:50px}.dfp-officiels .dfp-carte{min-height:82px}.dfp-grille.dfp-officiels .dfp-carte img{height:58px}}

/* Logos presque carrés (ex. Buffet Moderne, 01/11/2026) : cadre plus haut pour rester lisibles à côté des logos larges */
.dfp-grille .dfp-carte[href="#partenaire-buffet-moderne"] img{height:88px}
@media (max-width:767px){.dfp-grille .dfp-carte[href="#partenaire-buffet-moderne"] img{height:64px}}
