/* Sponsor Logos Block — front-end + editor */
.sponsor-logos-block { width: 100%; padding: 2rem 0; }

.sponsor-logos-block .slb-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px;
    max-width: 900px;
    margin: 0 auto;
}

.sponsor-logos-block .slb-cell {
    aspect-ratio: 16 / 7;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow 0.2s ease;
}

.sponsor-logos-block .slb-cell:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); }

.sponsor-logos-block .slb-cell--empty {
    border-style: dashed;
    background: transparent;
    border-color: #d1d5db;
}

.sponsor-logos-block .slb-logo-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 24px;
    text-decoration: none;
    position: relative;
}

.sponsor-logos-block .slb-logo {
    max-width: 100% !important;
    max-height: 80px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    display: block;
}

/* Editor: add button */
.sponsor-logos-block .slb-cell--empty { min-height: 80px; cursor: pointer; }
.sponsor-logos-block .slb-add-btn { width:100%;height:100%;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#6b7280!important;background:transparent!important;border:none!important;padding:16px!important;font-size:12px!important;cursor:pointer; }
.sponsor-logos-block .slb-add-btn:hover { color:#1d4ed8!important; }
.sponsor-logos-block .slb-add-icon { font-size:22px;line-height:1;font-weight:300; }
.sponsor-logos-block .slb-logo-actions { position:absolute;top:4px;right:4px;display:none;gap:4px;background:rgba(255,255,255,.9);border-radius:4px;padding:2px; }
.sponsor-logos-block .slb-cell:hover .slb-logo-actions { display:flex; }
.sponsor-logos-block .slb-btn { padding:4px!important;min-width:unset!important;width:28px!important;height:28px!important; }

@media (max-width: 600px) {
    .sponsor-logos-block .slb-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px; }
}
@media (max-width: 360px) {
    .sponsor-logos-block .slb-grid { grid-template-columns: 1fr !important; }
}
