.idm-form-wrap { max-width: 640px; margin: 0 auto; }
.idm-form-row { margin-bottom: 16px; display: flex; flex-direction: column; gap: 6px; }
.idm-form-row label { font-weight: 600; }
.idm-form-row input, .idm-form-row textarea, .idm-form-row select {
	padding: 10px 12px; border: 1px solid #d0d5dd; border-radius: 8px; font-size: 15px;
}
.idm-form-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }
.idm-checkbox-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; }
.idm-checkbox { display: flex; align-items: center; gap: 6px; font-weight: 400; }
.idm-form-message { display: none; padding: 10px 14px; border-radius: 8px; margin-bottom: 12px; }
.idm-form-message.idm-success { display: block; background: #e6f7ee; color: #007a4d; }
.idm-form-message.idm-error { display: block; background: #fdecea; color: #c0392b; }

.idm-btn {
	display: inline-block; padding: 10px 20px; border-radius: var(--idm-radius, 10px);
	text-decoration: none; font-weight: 600; cursor: pointer; border: none; font-size: 14px;
}
.idm-btn-primary { background: var(--idm-primary, #E1306C); color: #fff; }
.idm-btn-outline { background: transparent; border: 1px solid var(--idm-primary, #E1306C); color: var(--idm-primary, #E1306C); }

.idm-grid { display: grid; gap: 20px; }
.idm-cols-1 { grid-template-columns: 1fr; }
.idm-cols-2 { grid-template-columns: repeat(2, 1fr); }
.idm-cols-3 { grid-template-columns: repeat(3, 1fr); }
.idm-cols-4 { grid-template-columns: repeat(4, 1fr); }
.idm-cols-5 { grid-template-columns: repeat(5, 1fr); }
.idm-cols-6 { grid-template-columns: repeat(6, 1fr); }
@media (max-width: 900px) { .idm-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px) { .idm-grid { grid-template-columns: 1fr !important; } }

.idm-card {
	background: #fff; border-radius: var(--idm-radius, 12px); overflow: hidden;
	box-shadow: 0 1px 4px rgba(0,0,0,0.08); display: flex; flex-direction: column;
}
.idm-card-media { position: relative; aspect-ratio: 4/3; }
.idm-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.idm-badge-featured { position: absolute; top: 10px; left: 10px; background: var(--idm-secondary, #405DE6); color: #fff; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 700; }
.idm-card-body { padding: 16px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.idm-card-name { margin: 0; font-size: 17px; }
.idm-verified { color: #1877f2; margin-left: 4px; }
.idm-card-meta, .idm-card-followers, .idm-card-categories { margin: 0; color: #667085; font-size: 13px; }
.idm-card-actions { margin-top: auto; padding-top: 12px; display: flex; gap: 8px; }

.idm-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 24px; }
.idm-pagination a, .idm-pagination span { padding: 8px 12px; border: 1px solid #d0d5dd; border-radius: 6px; text-decoration: none; }
.idm-pagination .current { background: var(--idm-primary, #E1306C); color: #fff; }

.idm-slider { position: relative; overflow: hidden; }
.idm-slider-track { display: flex; gap: 20px; transition: transform 0.4s ease; }
.idm-slide { flex: 0 0 260px; }
.idm-slider-prev, .idm-slider-next { position: absolute; top: 50%; transform: translateY(-50%); background: #fff; border: 1px solid #d0d5dd; border-radius: 50%; width: 36px; height: 36px; cursor: pointer; }
.idm-slider-prev { left: 8px; } .idm-slider-next { right: 8px; }

.idm-search-widget { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.idm-search-widget input, .idm-search-widget select { padding: 8px 12px; border: 1px solid #d0d5dd; border-radius: 8px; }

.idm-single-hero { display: flex; gap: 32px; flex-wrap: wrap; margin-bottom: 32px; }
.idm-single-photo { width: 260px; height: 260px; object-fit: cover; border-radius: var(--idm-radius, 12px); }
.idm-single-actions { display: flex; gap: 10px; margin: 16px 0; }
.idm-share-buttons { display: flex; gap: 12px; font-size: 13px; }
.idm-empty { grid-column: 1/-1; text-align: center; color: #667085; padding: 40px 0; }
