/* MYLOCALEXPLORE 2.4.30 : fiches partenaires, mobile first */
.mle-aff-section{margin:1.25rem 0 1.5rem;padding:1.2rem;background:linear-gradient(135deg,#f0fdf4,#fff);border:1px solid #dcfce7;border-radius:1.25rem}
.mle-aff-heading{font-size:1.3rem;font-weight:800;color:#0f172a;line-height:1.3;margin:0 0 .4rem}
.mle-aff-intro{color:#64748b;font-size:.875rem;margin:0 0 1rem}
.mle-aff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1rem}
.mle-aff-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 2px 10px #00000008}
.mle-aff-photo{width:100%;height:145px;object-fit:cover}
.mle-aff-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:1rem;gap:.6rem}
.mle-aff-tag{background:#e0f2fe;color:#075985;padding:.2rem .6rem;border-radius:2rem;font-size:.74rem;font-weight:700}
.mle-aff-title{font-size:1rem;font-weight:800;color:#0f172a;line-height:1.35}
.mle-aff-description{color:#475569;font-size:.875rem;line-height:1.55;white-space:pre-line}
.mle-aff-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;max-width:100%;padding:.65rem 1.3rem;margin-top:auto;background:#15803d;border-radius:50px;color:#fff!important;font-weight:700;text-decoration:none!important;text-align:center;font-size:.875rem}
.mle-aff-cta:hover,.mle-aff-cta:focus-visible{background:#166534}
.mle-aff-disclosure{font-size:.73rem;color:#64748b}
.mle-aff-backdrop{position:fixed;inset:0;background:#0f172abf;z-index:2147483600;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto}
.mle-aff-dialog{position:relative;width:min(100%,480px);max-height:min(90vh,760px);overflow-y:auto;background:#fff;border-radius:1.4rem;padding:1.6rem;display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;box-shadow:0 24px 80px #0003}
.mle-aff-modal-img{width:100%;height:200px;object-fit:cover;border-radius:.8rem}
.mle-aff-close{position:absolute;top:.55rem;right:.65rem;display:grid;place-items:center;width:38px;height:38px;background:#f1f5f9;border-radius:50%;font-size:26px;color:#0f172a;z-index:1}
.mle-aff-code{font-size:1rem;font-weight:800;background:#fef3c7;color:#92400e;padding:.7rem 1rem;border-radius:.8rem;word-break:break-all}
body.mle-aff-modal-open{overflow:hidden}
@media(max-width:480px){.mle-aff-section{margin:1rem 0;padding:.85rem;border-radius:1rem}.mle-aff-grid{gap:.75rem}.mle-aff-photo{height:120px}.mle-aff-card-body{padding:.85rem;gap:.45rem}.mle-aff-dialog{max-height:calc(100dvh - 2rem);padding:1.1rem}}

/* 2.4.31 — catalogue partenaire visible dans l'espace gérant, sans édition. */
.mle-aff-admin-section{margin:1.4rem 0 0;padding:1.15rem;background:#f8fafc;border:1px solid #dbeafe;border-radius:1.3rem;color:#0f172a}
.mle-aff-admin-heading{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem 1rem;justify-content:space-between}
.mle-aff-admin-title{font-size:1.05rem;font-weight:800;margin:0}
.mle-aff-admin-label{font-size:.75rem;color:#1d4ed8;background:#dbeafe;padding:.3rem .65rem;border-radius:30px;font-weight:700}
.mle-aff-admin-help{font-size:.84rem;line-height:1.55;color:#64748b;margin:.6rem 0}
.mle-aff-admin-empty{font-size:.875rem;color:#64748b;margin:1rem 0 .2rem}
.mle-aff-admin-count{font-size:.85rem;color:#475569;margin:.6rem 0}
.mle-aff-admin-list{list-style:none!important;background:white;border:1px solid #e2e8f0;border-radius:1rem;overflow:hidden;margin:0;padding:0}
.mle-aff-admin-row{display:flex;gap:.85rem;align-items:center;padding:1rem;border-bottom:1px solid #f1f5f9}
.mle-aff-admin-row:last-child{border-bottom:none}
.mle-aff-admin-image,.mle-aff-admin-icon{flex:none;width:48px;height:48px;object-fit:cover;border-radius:12px}
.mle-aff-admin-icon{display:grid;place-items:center;color:#0369a1;background:#e0f2fe}
.mle-aff-admin-text{min-width:0;flex:1}
.mle-aff-admin-offer-title{font-size:.94rem;font-weight:800;display:block;overflow-wrap:anywhere}
.mle-aff-admin-meta{font-size:.78rem;color:#64748b;margin:.15rem 0}
.mle-aff-admin-description{font-size:.79rem;color:#64748b;margin:.2rem 0;white-space:pre-line}
.mle-aff-admin-status{flex:none;background:#dcfce7;border-radius:20px;color:#166534;padding:.24rem .6rem;font-size:.74rem;font-weight:800}
@media(max-width:480px){.mle-aff-admin-section{padding:.85rem;border-radius:1rem}.mle-aff-admin-row{padding:.7rem;gap:.6rem}.mle-aff-admin-status{font-size:.68rem}}

.mle-aff-admin-preview{display:inline-block;font-size:.8rem;font-weight:700;color:#2563eb;text-decoration:underline;margin-top:.2rem}
