/**
 * Style ekranu importera – zamierzenie minimalistyczne, spójne
 * z domyślnym wyglądem wp-admin (bez narzucania własnego designu).
 */

.npi-wrap .npi-settings-box {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	padding: 12px 16px;
	margin: 16px 0;
}

.npi-wrap .npi-settings-box summary {
	cursor: pointer;
	font-weight: 600;
	font-size: 14px;
}

.npi-banner {
	margin: 16px 0;
	text-align: center;
}

.npi-banner img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
}

.npi-upload-box {
	margin: 20px 0;
}

.npi-dropzone {
	position: relative;
	border: 2px dashed #8c8f94;
	border-radius: 6px;
	padding: 40px 20px;
	text-align: center;
	background: #fff;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease;
}

.npi-dropzone:hover,
.npi-dropzone.is-dragover {
	border-color: #2271b1;
	background: #f0f6fc;
}

.npi-dropzone .dashicons {
	font-size: 36px;
	width: 36px;
	height: 36px;
	color: #8c8f94;
}

.npi-dropzone input[type="file"] {
	position: absolute;
	inset: 0;
	opacity: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

.npi-progress-wrap {
	margin-top: 16px;
}

.npi-progress-bar {
	background: #e5e5e5;
	border-radius: 4px;
	height: 10px;
	overflow: hidden;
}

.npi-progress-fill {
	background: #2271b1;
	height: 100%;
	width: 0%;
	transition: width .2s ease;
}

.npi-progress-wrap p {
	margin: 6px 0 0;
	font-size: 12px;
	color: #50575e;
}

.npi-bulk-actions {
	margin: 16px 0 8px;
	display: flex;
	gap: 8px;
}

#npi-results-table td,
#npi-results-table th {
	vertical-align: middle;
}

#npi-results-table img {
	border-radius: 3px;
	display: block;
}

.npi-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 10px;
	line-height: 1.6;
	white-space: nowrap;
}

.npi-badge-ok {
	background: #edfaef;
	color: #1a7f37;
}

.npi-badge-warning {
	background: #fff8e5;
	color: #9a6700;
}

.npi-badge-error {
	background: #fdeceb;
	color: #b32d2e;
}

.npi-badge-new {
	background: #eef1ff;
	color: #3538cd;
}

tr.npi-row-review {
	background: #fffdf5;
}

tr.npi-row-error {
	background: #fff5f5;
}

tr.npi-row-duplicate {
	background: #f5f5ff;
}

tr.npi-row-published {
	opacity: .55;
}

.npi-row-placeholder {
	display: none;
}

/* ==========================================================================
   Style treści eventu generowanej przez NPI_Content_Builder (post_content
   na froncie strony) – plakat, lead, harmonogram, artyści, mapa, wideo.
   ========================================================================== */

.npi-poster-figure {
	margin: 0 0 24px;
	text-align: center;
}

.npi-poster-image {
	max-width: 100%;
	height: auto;
	border-radius: 6px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, .15);
}

.npi-poster-figure--inline {
	max-width: 480px;
	float: right;
	margin: 0 0 16px 24px;
}

.npi-poster-figure--inline figcaption {
	font-size: .8em;
	opacity: .7;
	margin-top: 6px;
	text-align: center;
}

.npi-poster-link {
	display: block;
	cursor: zoom-in;
}

.npi-poster-zoom-hint {
	text-decoration: underline;
}

.npi-lead {
	font-size: 1.15em;
	line-height: 1.6;
	font-weight: 500;
}

.npi-lead-facts {
	font-size: 1em;
	font-weight: 400;
	opacity: .85;
}

.npi-schedule-list {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
}

.npi-schedule-list li {
	padding: 8px 0;
	border-bottom: 1px solid #eaeaea;
}

.npi-artists-list,
.npi-location-list {
	margin: 0 0 20px;
	padding-left: 1.3em;
}

.npi-artists-list li,
.npi-location-list li {
	padding: 4px 0;
	line-height: 1.5;
}

.npi-map-embed {
	margin: 12px 0;
	border-radius: 6px;
	overflow: hidden;
}

.npi-map-embed iframe {
	display: block;
	width: 100%;
	border: 0;
}

.npi-video-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px;
	margin: 16px 0 24px;
}

.npi-video-item h4 {
	margin: 0 0 8px;
	font-size: 1em;
}

.npi-video-embed {
	position: relative;
	overflow: hidden;
	border-radius: 6px;
}

.npi-video-embed iframe {
	display: block;
	width: 100%;
	border: 0;
}

.npi-video-fallback-link {
	display: inline-block;
	padding: 8px 14px;
	border: 1px solid #cc0000;
	border-radius: 4px;
	color: #cc0000;
	text-decoration: none;
	font-weight: 600;
}

.npi-video-fallback-link:hover {
	background: #cc0000;
	color: #fff;
}

@media (max-width: 640px) {
	.npi-poster-figure--inline {
		float: none;
		max-width: 100%;
		margin: 0 0 20px;
	}
}
