/**
 * Neo-Social — Σελίδες
 *
 * Οι μεταβλητές του Core (--neo-primary κ.λπ.) χρησιμοποιούνται όπου
 * υπάρχουν, με ασφαλή επιστροφή σε ουδέτερα χρώματα ώστε το πρόσθετο να
 * δουλεύει σε οποιοδήποτε θέμα.
 */

.nsp-wrap {
	--nsp-primary: var( --neo-primary, #2b6cb0 );
	--nsp-bg: var( --neo-bg, #f5f6f8 );
	--nsp-card: var( --neo-card-bg, #fff );
	--nsp-border: var( --neo-border, #e2e5ea );
	--nsp-text: var( --neo-text, #1f2430 );
	--nsp-muted: var( --neo-text-muted, #6b7280 );
	--nsp-radius: var( --neo-radius, 12px );

	color: var( --nsp-text );
}

.nsp-wrap * {
	box-sizing: border-box;
}

/* Κοινά ------------------------------------------------------------------ */

.nsp-card {
	background: var( --nsp-card );
	border: 1px solid var( --nsp-border );
	border-radius: var( --nsp-radius );
	padding: 16px 18px;
	margin-bottom: 16px;
}

.nsp-empty {
	background: var( --nsp-card );
	border: 1px dashed var( --nsp-border );
	border-radius: var( --nsp-radius );
	padding: 24px;
	text-align: center;
	color: var( --nsp-muted );
}

.nsp-notice {
	border-radius: var( --nsp-radius );
	padding: 10px 14px;
	margin-bottom: 16px;
	font-size: 14px;
}

.nsp-notice-success { background: #e6f5ec; color: #1c6b3f; }
.nsp-notice-info    { background: #eaf1fb; color: #24507f; }
.nsp-notice-error   { background: #fdeaea; color: #8c2a2a; }

.nsp-sub-title {
	font-weight: 600;
	margin: 18px 0 8px;
	font-size: 15px;
}

.nsp-hint {
	color: var( --nsp-muted );
	font-size: 13px;
	margin: 4px 0 0;
}

.nsp-star { color: #e0a112; }

.nsp-badge {
	display: inline-block;
	font-size: 12px;
	border-radius: 999px;
	padding: 2px 10px;
	margin: 0;
}

.nsp-badge-draft {
	background: #fdf1dc;
	color: #8a5a08;
}

/* Κουμπιά ---------------------------------------------------------------- */

.nsp-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var( --nsp-card );
	border: 1px solid var( --nsp-border );
	border-radius: var( --nsp-radius );
	padding: 8px 14px;
	font-size: 14px;
	line-height: 1.2;
	color: var( --nsp-text );
	cursor: pointer;
	text-decoration: none;
}

.nsp-btn:hover { border-color: var( --nsp-primary ); }

.nsp-btn-primary {
	background: var( --nsp-primary );
	border-color: var( --nsp-primary );
	color: #fff;
}

.nsp-btn-primary:hover { opacity: .92; }

.nsp-btn.is-on {
	border-color: var( --nsp-primary );
	color: var( --nsp-primary );
}

.nsp-btn-block {
	width: 100%;
	justify-content: center;
	margin-top: 10px;
}

.nsp-btn-icon { padding: 8px 10px; }

.nsp-btn-danger {
	background: #b3261e;
	border-color: #b3261e;
	color: #fff;
}

.nsp-btn .dashicons {
	font-size: 17px;
	width: 17px;
	height: 17px;
}

.nsp-inline-form { display: inline-block; margin: 0; }

/* Κατάλογος -------------------------------------------------------------- */

.nsp-dir-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 1px solid var( --nsp-border );
	margin-bottom: 14px;
}

.nsp-dir-head .nsp-tabs {
	border-bottom: 0;
	margin-bottom: 0;
	flex: 1;
	min-width: 0;
}

.nsp-dir-head .nsp-btn {
	margin-bottom: 8px;
	white-space: nowrap;
}

.nsp-dir-title { margin: 0; font-size: 22px; }

.nsp-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 26px;
}

.nsp-filters input[type="text"],
.nsp-filters select {
	border: 1px solid var( --nsp-border );
	border-radius: var( --nsp-radius );
	padding: 8px 10px;
	font-size: 14px;
	background: var( --nsp-card );
	min-width: 140px;
}

.nsp-filters input[type="text"]:first-of-type { flex: 1; min-width: 180px; }

.nsp-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 12px;
}

.nsp-pill {
	border: 1px solid var( --nsp-border );
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 14px;
	text-decoration: none;
	color: var( --nsp-text );
	background: var( --nsp-card );
}

.nsp-pill.is-active {
	background: var( --nsp-primary );
	border-color: var( --nsp-primary );
	color: #fff;
}

.nsp-grid {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 210px, 1fr ) );
	gap: 14px;
	margin-bottom: 18px;
}

.nsp-page-card {
	padding: 0;
	overflow: hidden;
	margin: 0;
	/* Στήλη, ώστε το κουμπί δράσης να κάθεται πάντα στο κάτω μέρος και
	   οι κάρτες της ίδιας σειράς να ευθυγραμμίζονται μεταξύ τους. */
	display: flex;
	flex-direction: column;
}

.nsp-card-cover {
	display: block;
	height: 76px;
	background: var( --nsp-primary );
	background-size: cover;
	background-position: center;
}

.nsp-card-body {
	padding: 0 14px 14px;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.nsp-card-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	margin-top: -27px;
	border-radius: 10px;
	border: 3px solid var( --nsp-card );
	background: var( --nsp-bg );
	overflow: hidden;
	color: var( --nsp-muted );
}

.nsp-card-avatar img { width: 100%; height: 100%; object-fit: cover; }

.nsp-card-avatar .dashicons { font-size: 24px; width: 24px; height: 24px; }

.nsp-card-name {
	display: block;
	margin-top: 8px;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	color: var( --nsp-text );
}

.nsp-card-meta,
.nsp-card-stats {
	margin: 3px 0 0;
	font-size: 13px;
	color: var( --nsp-muted );
}

/* Σπρώχνει ό,τι ακολουθεί (το κουμπί) στο κάτω μέρος της κάρτας. */
.nsp-card-stats { margin-bottom: auto; }

.nsp-page-card .nsp-inline-form { display: block; width: 100%; }

.nsp-card-stats .dashicons { font-size: 15px; width: 15px; height: 15px; vertical-align: -3px; }

.nsp-pagination {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	justify-content: center;
}

.nsp-page-link {
	border: 1px solid var( --nsp-border );
	border-radius: 8px;
	padding: 5px 11px;
	text-decoration: none;
	color: var( --nsp-text );
	background: var( --nsp-card );
	font-size: 14px;
}

.nsp-page-link.is-active {
	background: var( --nsp-primary );
	border-color: var( --nsp-primary );
	color: #fff;
}

/* Μονή σελίδα ------------------------------------------------------------ */

.nsp-head {
	background: var( --nsp-card );
	border: 1px solid var( --nsp-border );
	border-radius: var( --nsp-radius );
	/* Χωρίς overflow: hidden — θα έκοβε τα αναδυόμενα μενού της κεφαλίδας
	   (π.χ. «···»). Τις γωνίες τις στρογγυλεύει μόνο του το εξώφυλλο. */
	overflow: visible;
	margin-bottom: 14px;
}

.nsp-cover {
	height: 150px;
	background: var( --nsp-primary );
	background-size: cover;
	background-position: center;
	border-radius: calc( var( --nsp-radius ) - 1px ) calc( var( --nsp-radius ) - 1px ) 0 0;
}

.nsp-cover-empty { background: linear-gradient( 135deg, #edf2f7, #dce4ec ); }

.nsp-bar {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 0 18px 16px;
	flex-wrap: wrap;
}

.nsp-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	/* Μόνο το avatar μπαίνει πάνω στο εξώφυλλο· το όνομα και τα σήματα
	   μένουν από κάτω, αλλιώς το κείμενο πέφτει πάνω στην εικόνα. */
	margin-top: -40px;
	border-radius: 12px;
	border: 1px solid var( --nsp-border );
	background: var( --nsp-card );
	overflow: hidden;
	flex: 0 0 auto;
	color: var( --nsp-muted );
	/* Το εξώφυλλο είναι position: relative, οπότε χωρίς αυτά τα δύο θα
	   ζωγραφιζόταν από πάνω και θα έκρυβε το μισό avatar. */
	position: relative;
	z-index: 2;
}

.nsp-avatar img { width: 100%; height: 100%; object-fit: cover; }

.nsp-avatar .dashicons { font-size: 38px; width: 38px; height: 38px; }

.nsp-info { flex: 1; min-width: 180px; padding-top: 10px; }

.nsp-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 6px;
}

.nsp-badge-cat { background: #e1f5ee; color: #0f6e56; }
.nsp-badge-city { background: #eaf1fb; color: #24507f; }

.nsp-badge .dashicons { font-size: 14px; width: 14px; height: 14px; vertical-align: -2px; }

.nsp-count { font-size: 13px; color: var( --nsp-muted ); }

.nsp-count .dashicons { font-size: 15px; width: 15px; height: 15px; vertical-align: -3px; }

.nsp-btn-muted { color: var( --nsp-muted ); cursor: default; }
.nsp-btn-muted:hover { border-color: var( --nsp-border ); }

.nsp-name { margin: 0; font-size: 22px; }

.nsp-meta { margin: 2px 0 0; font-size: 14px; color: var( --nsp-muted ); }

.nsp-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding-top: 10px;
}

.nsp-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	border-bottom: 1px solid var( --nsp-border );
	margin-bottom: 16px;
}

.nsp-tab {
	padding: 10px 16px;
	text-decoration: none;
	color: var( --nsp-muted );
	font-size: 15px;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}

.nsp-tab.is-active {
	color: var( --nsp-text );
	border-bottom-color: var( --nsp-primary );
}

.nsp-desc { margin: 0 0 12px; line-height: 1.6; }

.nsp-info-list,
.nsp-hours {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nsp-info-list li {
	padding: 7px 0;
	border-bottom: 1px solid var( --nsp-border );
	font-size: 14px;
}

.nsp-info-list li:last-child { border-bottom: 0; }

.nsp-info-list .dashicons {
	font-size: 17px;
	width: 17px;
	height: 17px;
	vertical-align: -3px;
	margin-right: 6px;
	color: var( --nsp-muted );
}

.nsp-hours li {
	display: flex;
	justify-content: space-between;
	padding: 6px 0;
	border-bottom: 1px solid var( --nsp-border );
	font-size: 14px;
}

.nsp-hours li:last-child { border-bottom: 0; }

.nsp-time { color: var( --nsp-muted ); }

.nsp-composer-hint {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var( --nsp-muted );
	font-size: 14px;
}

/* Φόρμες ----------------------------------------------------------------- */

.nsp-field { margin-bottom: 14px; }

.nsp-field label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 5px;
}

.nsp-field input[type="text"],
.nsp-field input[type="email"],
.nsp-field input[type="url"],
.nsp-field input[type="file"],
.nsp-field select,
.nsp-field textarea {
	width: 100%;
	border: 1px solid var( --nsp-border );
	border-radius: var( --nsp-radius );
	padding: 9px 11px;
	font-size: 14px;
	background: var( --nsp-card );
	color: var( --nsp-text );
}

.nsp-field textarea { resize: vertical; }

.nsp-check {
	font-weight: 400 !important;
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	margin: 0 !important;
}

.nsp-form-actions { margin-top: 16px; }

.nsp-hours-table { width: 100%; border-collapse: collapse; }

.nsp-hours-table th {
	text-align: left;
	font-weight: 500;
	font-size: 14px;
	padding: 5px 8px 5px 0;
	width: 26%;
}

.nsp-hours-table td { padding: 5px 6px 5px 0; }

.nsp-hours-table input[type="text"] {
	width: 100%;
	max-width: 110px;
	border: 1px solid var( --nsp-border );
	border-radius: 8px;
	padding: 7px 9px;
	font-size: 14px;
	background: var( --nsp-card );
	color: var( --nsp-text );
}

.nsp-danger { border-color: #f0c8c5; }

/* Μικρές οθόνες ---------------------------------------------------------- */

@media ( max-width: 600px ) {
	.nsp-dir-head { flex-direction: column; align-items: stretch; gap: 0; }
	.nsp-dir-head .nsp-btn { margin: 10px 0; justify-content: center; }
	.nsp-tabs .nsp-tab { padding: 10px 12px; font-size: 14px; }
	.nsp-bar { flex-direction: column; align-items: flex-start; gap: 10px; }
	.nsp-actions { width: 100%; }
	.nsp-avatar { width: 68px; height: 68px; margin-top: -34px; }
	.nsp-cover { height: 110px; }
	.nsp-grid { grid-template-columns: repeat( auto-fill, minmax( 160px, 1fr ) ); }
	.nsp-hours-table th { width: 34%; }
}


/* --- Απόσταση φίλτρων από τις κάρτες ---
   Με μεγαλύτερη ειδικότητα, γιατί αρκετά θέματα ορίζουν margin στις
   φόρμες μέσα στο περιεχόμενο και ακυρώνουν τον απλό κανόνα. */
.nsp-wrap .nsp-filters { margin-bottom: 26px; }
.nsp-wrap .nsp-filters + .nsp-grid,
.nsp-wrap .nsp-filters + .nsp-empty,
.nsp-wrap .nsp-filters + .nsp-sub-title { margin-top: 26px; }


/* ===== Επεξεργασία εικόνας και εξωφύλλου πάνω στην κεφαλίδα ===== */
.nsp-head.is-editing .nsp-cover,
.nsp-head.is-editing .nsp-avatar { position: relative; }

.nsp-file-hidden { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }

.nsp-cam {
	position: absolute;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: rgba( 255, 255, 255, .94 );
	color: #1d2327;
	border-radius: 6px;
	font-size: 12px;
	line-height: 1;
	box-shadow: 0 1px 3px rgba( 0, 0, 0, .18 );
}

.nsp-cam:hover { background: #fff; }
.nsp-cam .dashicons { font-size: 15px; width: 15px; height: 15px; }

.nsp-cam-cover { top: 12px; left: 12px; padding: 7px 11px; }

.nsp-cam-avatar {
	right: -4px;
	bottom: -4px;
	width: 30px;
	height: 30px;
	padding: 0;
	border-radius: 50%;
	justify-content: center;
	background: var( --nsp-primary );
	color: #fff;
	border: 2px solid #fff;
}

.nsp-cam-avatar .dashicons { color: #fff; }

.nsp-img-remove {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba( 255, 255, 255, .94 );
	color: #5c6470;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 1px 3px rgba( 0, 0, 0, .18 );
}

.nsp-img-remove input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.nsp-img-remove .dashicons { font-size: 17px; width: 17px; height: 17px; }
.nsp-img-remove:hover { color: #b32d2e; }
.nsp-img-remove.is-on { background: #b32d2e; color: #fff; }

.nsp-img-remove-avatar {
	top: -6px;
	right: -6px;
	left: auto;
	bottom: auto;
	width: 24px;
	height: 24px;
	border: 2px solid #fff;
}

.nsp-img-remove-avatar .dashicons { font-size: 14px; width: 14px; height: 14px; }

.nsp-cover.is-removing,
.nsp-avatar.is-removing { opacity: .35; filter: grayscale( 1 ); }


/* --- Κουμπιά αφαίρεσης εικόνας ---
   Με μεγαλύτερη ειδικότητα και ρητά χρώματα, ώστε να μην τα βάφει το
   θέμα (τα labels και τα links συχνά κληρονομούν χρώμα συνδέσμου). */
.nsp-head .nsp-img-remove,
.nsp-head .nsp-img-remove .dashicons { color: #5c6470; }
.nsp-head .nsp-img-remove { background: rgba( 255, 255, 255, .96 ); border: 1px solid rgba( 0, 0, 0, .08 ); }
.nsp-head .nsp-img-remove:hover,
.nsp-head .nsp-img-remove:hover .dashicons { color: #b32d2e; }
.nsp-head .nsp-img-remove.is-on,
.nsp-head .nsp-img-remove.is-on .dashicons { background: #b32d2e; color: #fff; }
.nsp-head .nsp-img-remove-avatar { background: rgba( 255, 255, 255, .96 ); border: 2px solid #fff; box-shadow: 0 1px 3px rgba( 0, 0, 0, .25 ); }

/* --- Στοίχιση καρτών, από τη ρύθμιση του Core --- */
.nsp-page-card.nsp-al-center .nsp-card-body { text-align: center; }
.nsp-page-card.nsp-al-center .nsp-card-avatar { margin-left: auto; margin-right: auto; }
.nsp-page-card.nsp-al-right .nsp-card-body { text-align: right; }
.nsp-page-card.nsp-al-right .nsp-card-avatar { margin-left: auto; }


/* --- Κεντράρισμα του × μέσα στον κύκλο ---
   Το dashicon έχει δικά του μετρικά γραμματοσειράς, οπότε χωρίς μηδενικό
   line-height στον περιέκτη κάθεται λίγο ψηλότερα από το κέντρο. */
.nsp-head .nsp-img-remove { line-height: 0; padding: 0; }
.nsp-head .nsp-img-remove .dashicons {
	display: block;
	line-height: 1;
	width: auto;
	height: auto;
	margin: 0;
	vertical-align: middle;
}


/* --- Το × του avatar δεν πρέπει να ψαλιδίζεται ---
   Το πλαίσιο του avatar κόβει ό,τι βγαίνει έξω, για να στρογγυλεύει η
   εικόνα. Στην επεξεργασία αφήνουμε το κουμπί να ξεπροβάλλει και
   στρογγυλεύουμε την ίδια την εικόνα. */
.nsp-head.is-editing .nsp-avatar { overflow: visible; }
.nsp-head.is-editing .nsp-avatar img { border-radius: inherit; }
.nsp-head .nsp-img-remove-avatar .dashicons { font-size: 15px; }
.nsp-head .nsp-img-remove-avatar { z-index: 3; }
.nsp-head .nsp-cam-avatar { z-index: 3; }


/* Το × στο εξώφυλλο ήταν μικρό για τον κύκλο των 30px. */
.nsp-head .nsp-img-remove .dashicons { font-size: 20px; }
.nsp-head .nsp-img-remove-avatar .dashicons { font-size: 16px; }


/* ===== Επανατοποθέτηση εξωφύλλου =====
   Το UI έρχεται από το Core· εδώ ορίζουμε μόνο τη θέση της εργαλειοθήκης
   και το πώς κρύβεται όσο σέρνει ο χρήστης. */
.nsp-cover { position: relative; }

.nsp-cover-tools {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 8px;
}

.nsp-repo-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba( 0, 0, 0, .55 );
	color: #fff;
	border: 0;
	border-radius: 8px;
	padding: 8px 13px;
	font-size: 13px;
	line-height: 1;
	cursor: pointer;
}

.nsp-repo-btn:hover { background: rgba( 0, 0, 0, .7 ); }
.nsp-repo-btn .dashicons { font-size: 16px; width: 16px; height: 16px; }

.nsp-cover.is-repositioning { cursor: grab; }
.nsp-cover.is-repositioning.is-dragging { cursor: grabbing; }

.nsp-cover.is-repositioning .nsp-cam-cover,
.nsp-cover.is-repositioning .nsp-cover-tools { display: none; }


/* Ο κύκλος ήταν φαρδύς σε σχέση με το ×. */
.nsp-head .nsp-img-remove { width: 32px; height: 32px; }
.nsp-head .nsp-img-remove .dashicons { font-size: 23px; }
.nsp-head .nsp-img-remove-avatar { width: 26px; height: 26px; }
.nsp-head .nsp-img-remove-avatar .dashicons { font-size: 18px; }


/* --- Ευθυγράμμιση με το προφίλ ---
   Μέσα στην εργαλειοθήκη το × ρέει κανονικά· μόνο του avatar μένει
   απόλυτα τοποθετημένο. Ίδιο σχήμα και μέγεθος με το προφίλ. */
.nsp-head .nsp-cover-tools .nsp-img-remove {
	position: static;
	top: auto;
	right: auto;
	border-radius: 8px;
	width: 32px;
	height: 32px;
	flex: 0 0 auto;
}

.nsp-head .nsp-img-remove-avatar {
	position: absolute;
	top: -4px;
	right: -4px;
	border-radius: 50%;
	width: 26px;
	height: 26px;
}

/* Μενού «···» στην κεφαλίδα της σελίδας (στυλ από το Core). */
.nsp-more { display: inline-block; }
.nsp-more .neo-social-more-btn { height: 36px; width: 36px; }

/* Σύνδεσμος επιστροφής --------------------------------------------------- */

.nsp-back-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 12px;
	font-size: 14px;
	color: var( --nsp-muted );
	text-decoration: none;
}

.nsp-back-link:hover { color: var( --nsp-primary ); }

.nsp-back-arrow { font-size: 16px; line-height: 1; }

/* Ακολούθηση ως σελίδα --------------------------------------------------- */

.nsp-as-wrap { position: relative; }

.nsp-as-menu {
	position: absolute;
	top: calc( 100% + 6px );
	right: 0;
	z-index: 30;
	min-width: 220px;
	padding: 4px;
	background: var( --nsp-card );
	border: 1px solid var( --nsp-border );
	border-radius: var( --nsp-radius );
	box-shadow: 0 8px 24px rgba( 0, 0, 0, .12 );
}

.nsp-as-menu[hidden] { display: none; }

.nsp-as-item-form { margin: 0; }

.nsp-as-item {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 8px 10px;
	background: none;
	border: 0;
	border-radius: var( --nsp-radius );
	font-size: 14px;
	color: var( --nsp-text );
	text-align: left;
	cursor: pointer;
}

.nsp-as-item:hover { background: var( --nsp-bg ); }

.nsp-as-item.is-on { color: var( --nsp-primary ); }

.nsp-as-item .dashicons {
	font-size: 17px;
	width: 17px;
	height: 17px;
	color: var( --nsp-muted );
}

.nsp-as-item.is-on .dashicons { color: var( --nsp-primary ); }

/* Λίστα «Ακολουθεί» ------------------------------------------------------ */

.nsp-badge-page {
	background: #e6f1fb;
	color: #0c447c;
}

.nsp-follow-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var( --nsp-border );
	text-decoration: none;
	color: var( --nsp-text );
}

.nsp-follow-row:last-child { border-bottom: 0; }

.nsp-follow-av {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	object-fit: cover;
	flex: none;
}

.nsp-follow-av-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var( --nsp-bg );
	color: var( --nsp-muted );
}

.nsp-follow-name { flex: 1; font-size: 15px; }

/* Ρυθμίσεις συγκέντρωσης ------------------------------------------------- */

.nsp-src-list {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
}

.nsp-src-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid var( --nsp-border );
	font-size: 14px;
}

.nsp-src-row:last-child { border-bottom: 0; }

.nsp-cat-grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 180px, 1fr ) );
	gap: 6px 16px;
	margin-bottom: 12px;
}

.nsp-agg-note { margin-bottom: 10px; }
