/*
 * Neo-Social — Marketplace
 *
 * Οι επιλογείς είναι όλοι μέσα στο .nsmk-wrap και τα βασικά μεγέθη φέρουν
 * !important όπου το θέμα του site επιβάλλει δικά του resets σε φόρμες.
 */

.nsmk-wrap {
	--nsmk-primary: var(--neo-primary, #185fa5);
	--nsmk-border: #e3e3e0;
	--nsmk-muted: #6b6b66;
	--nsmk-bg: #fff;
	font-size: 15px;
	line-height: 1.5;
}

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

/* --- Καρτέλες --- */
.nsmk-wrap .nsmk-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	border-bottom: 1px solid var(--nsmk-border);
	margin: 0 0 16px !important;
}
.nsmk-wrap .nsmk-tab {
	padding: 9px 14px;
	text-decoration: none;
	color: var(--nsmk-muted);
	border-bottom: 2px solid transparent;
	font-size: 14px;
}
.nsmk-wrap .nsmk-tab.is-active {
	color: inherit;
	font-weight: 600;
	border-bottom-color: var(--nsmk-primary);
}

/* --- Φίλτρα --- */
.nsmk-wrap .nsmk-filters { margin: 0 0 16px !important; }
.nsmk-wrap .nsmk-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 10px !important;
}
.nsmk-wrap .nsmk-chip {
	padding: 5px 13px;
	border: 1px solid var(--nsmk-border);
	border-radius: 999px;
	text-decoration: none;
	color: var(--nsmk-muted);
	font-size: 13px;
}
.nsmk-wrap .nsmk-chip.is-on {
	border-color: var(--nsmk-primary);
	color: var(--nsmk-primary);
	font-weight: 600;
}
.nsmk-wrap .nsmk-filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.nsmk-wrap .nsmk-filter-row input[type="search"],
.nsmk-wrap .nsmk-filter-row input[type="text"],
.nsmk-wrap .nsmk-filter-row select {
	height: 36px !important;
	padding: 0 10px !important;
	border: 1px solid var(--nsmk-border) !important;
	border-radius: 6px !important;
	font-size: 14px !important;
	background: var(--nsmk-bg);
	max-width: 220px;
}
.nsmk-wrap .neo-social-city-ac { position: relative; }

/* --- Κάρτες --- */
.nsmk-wrap .nsmk-list { display: block; }
.nsmk-wrap .nsmk-card {
	display: flex;
	gap: 14px;
	align-items: stretch;
	padding: 12px;
	margin: 0 0 10px !important;
	border: 1px solid var(--nsmk-border);
	border-radius: 10px;
	background: var(--nsmk-bg);
}
.nsmk-wrap .nsmk-card.is-paused { opacity: .68; }
.nsmk-wrap .nsmk-card-media {
	flex: 0 0 auto;
	width: 96px;
	text-decoration: none;
}
.nsmk-wrap .nsmk-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	height: 96px;
	border-radius: 8px;
	overflow: hidden;
	background: #f4f3f0;
}
.nsmk-wrap .nsmk-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.nsmk-wrap .nsmk-thumb.is-empty .dashicons {
	color: #b9b8b2;
	font-size: 26px;
	width: 26px;
	height: 26px;
}
.nsmk-wrap .nsmk-card-body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.nsmk-wrap .nsmk-card-top {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}
.nsmk-wrap .nsmk-card-title {
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 1.3 !important;
	font-weight: 600;
}
.nsmk-wrap .nsmk-card-title a { text-decoration: none; }
.nsmk-wrap .nsmk-card-title a:hover { text-decoration: underline; }
.nsmk-wrap .nsmk-card-owner,
.nsmk-wrap .nsmk-card-facts,
.nsmk-wrap .nsmk-card-cat {
	margin: 0 !important;
	font-size: 13px;
	color: var(--nsmk-muted);
}
.nsmk-wrap .nsmk-card-side {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-end;
	gap: 8px;
	text-align: right;
}
.nsmk-wrap .nsmk-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: flex-end;
}
.nsmk-wrap .nsmk-price {
	font-size: 17px;
	font-weight: 600;
	white-space: nowrap;
}
.nsmk-wrap .nsmk-price.is-free {
	font-size: 14px;
	padding: 3px 10px;
	border-radius: 6px;
	background: #faeeda;
	color: #633806;
}

/* --- Σήματα --- */
.nsmk-wrap .nsmk-badge {
	font-size: 11px;
	padding: 2px 9px;
	border-radius: 6px;
	background: #f1efe8;
	color: #444441;
	white-space: nowrap;
}
.nsmk-wrap .nsmk-badge.is-rent { background: #e6f1fb; color: #0c447c; }
.nsmk-wrap .nsmk-badge.is-sale { background: #e1f5ee; color: #085041; }
.nsmk-wrap .nsmk-badge.is-paused { background: #f1efe8; color: #444441; }
.nsmk-wrap .nsmk-badge.is-alert { background: #faeeda; color: #633806; }

.nsmk-wrap .nsmk-status {
	font-size: 12px;
	padding: 3px 10px;
	border-radius: 6px;
	background: #f1efe8;
	color: #444441;
	white-space: nowrap;
}
.nsmk-wrap .nsmk-status.is-ok { background: #e1f5ee; color: #085041; }
.nsmk-wrap .nsmk-status.is-danger { background: #fcebeb; color: #791f1f; }

/* --- Κουμπιά --- */
.nsmk-wrap .nsmk-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 7px 13px;
	border: 1px solid var(--nsmk-border);
	border-radius: 6px;
	background: var(--nsmk-bg);
	color: inherit;
	text-decoration: none;
	font-size: 14px;
	line-height: 1.2;
	cursor: pointer;
}
.nsmk-wrap .nsmk-btn:hover { border-color: #bdbcb6; }
.nsmk-wrap .nsmk-btn.is-small { padding: 5px 10px; font-size: 12.5px; }
.nsmk-wrap .nsmk-btn.is-primary {
	background: var(--nsmk-primary);
	border-color: var(--nsmk-primary);
	color: #fff;
}
.nsmk-wrap .nsmk-btn.is-danger { color: #a32d2d; }
.nsmk-wrap .nsmk-btn .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
}
.nsmk-wrap .nsmk-actions-top { margin: 0 0 14px !important; }

/* --- Μία καταχώρηση --- */
.nsmk-wrap .nsmk-back { margin: 0 0 12px !important; font-size: 13px; }
.nsmk-wrap .nsmk-single {
	border: 1px solid var(--nsmk-border);
	border-radius: 10px;
	padding: 16px;
	background: var(--nsmk-bg);
}
.nsmk-wrap .nsmk-single-title { margin: 8px 0 4px !important; font-size: 21px !important; }
.nsmk-wrap .nsmk-single-price { margin: 0 0 14px !important; font-size: 19px; font-weight: 600; }
.nsmk-wrap .nsmk-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 14px !important;
}
.nsmk-wrap .nsmk-gallery img {
	width: 150px;
	height: 110px;
	object-fit: cover;
	border-radius: 8px;
	display: block;
}
.nsmk-wrap .nsmk-single-desc { margin: 0 0 14px; }
.nsmk-wrap .nsmk-specs {
	list-style: none;
	margin: 0 0 14px !important;
	padding: 0 !important;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	font-size: 13px;
	color: var(--nsmk-muted);
}
.nsmk-wrap .nsmk-specs li { margin: 0 !important; display: flex; align-items: center; gap: 4px; }
.nsmk-wrap .nsmk-specs .dashicons { font-size: 15px; width: 15px; height: 15px; }
.nsmk-wrap .nsmk-single-foot {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid var(--nsmk-border);
	padding-top: 12px;
	margin-top: 4px;
}
.nsmk-wrap .nsmk-owner { font-weight: 600; text-decoration: none; }
.nsmk-wrap .nsmk-single-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.nsmk-wrap .nsmk-file {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0 0 12px;
	font-size: 13px;
	text-decoration: none;
}

/* --- Φόρμες --- */
.nsmk-wrap .nsmk-form {
	border: 1px solid var(--nsmk-border);
	border-radius: 10px;
	padding: 16px;
	margin: 14px 0 !important;
	background: var(--nsmk-bg);
}
.nsmk-wrap .nsmk-form.is-inline { margin: 0 0 14px !important; background: #fbfaf8; }
.nsmk-wrap .nsmk-form-title { margin: 0 0 14px !important; font-size: 17px !important; }
.nsmk-wrap .nsmk-field {
	display: block;
	margin: 0 0 14px !important;
}
.nsmk-wrap .nsmk-field > span {
	display: block;
	font-size: 13px;
	color: var(--nsmk-muted);
	margin-bottom: 5px;
}
.nsmk-wrap .nsmk-field input[type="text"],
.nsmk-wrap .nsmk-field input[type="number"],
.nsmk-wrap .nsmk-field input[type="date"],
.nsmk-wrap .nsmk-field select,
.nsmk-wrap .nsmk-field textarea {
	width: 100% !important;
	padding: 8px 10px !important;
	border: 1px solid var(--nsmk-border) !important;
	border-radius: 6px !important;
	font-size: 14px !important;
	background: var(--nsmk-bg);
	max-width: none !important;
}
.nsmk-wrap .nsmk-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.nsmk-wrap .nsmk-row > .nsmk-field { flex: 1 1 180px; }
.nsmk-wrap .nsmk-radios {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.nsmk-wrap .nsmk-radio {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 13px;
	border: 1px solid var(--nsmk-border);
	border-radius: 6px;
	font-size: 13.5px;
	cursor: pointer;
}
.nsmk-wrap .nsmk-radio input { margin: 0 !important; }
.nsmk-wrap .nsmk-check {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	color: var(--nsmk-muted);
	margin-top: 7px;
}
.nsmk-wrap .nsmk-check input { margin: 0 !important; width: auto !important; }
.nsmk-wrap .nsmk-price-row {
	display: flex;
	gap: 8px;
	align-items: center;
	margin-top: 9px;
}
.nsmk-wrap .nsmk-price-row input[type="text"] {
	width: 130px !important;
	flex: 0 0 auto;
	padding: 8px 10px !important;
	border: 1px solid var(--nsmk-border) !important;
	border-radius: 6px !important;
}
/*
 * Χωρίς το width:auto το μενού κληρονομεί το 100% των πεδίων της φόρμας και
 * απλώνεται σε όλη τη γραμμή για τρεις λέξεις.
 */
.nsmk-wrap .nsmk-price-row select {
	width: auto !important;
	flex: 0 0 auto;
	min-width: 110px;
	max-width: 170px;
	padding: 8px 10px !important;
	border: 1px solid var(--nsmk-border) !important;
	border-radius: 6px !important;
}
.nsmk-wrap .nsmk-unit-wrap {
	display: flex;
	align-items: center;
	gap: 6px;
}
.nsmk-wrap .nsmk-currency { font-size: 14px; color: var(--nsmk-muted); }
.nsmk-wrap .nsmk-box {
	border: 1px solid #b5d4f4;
	background: #f4f9fe;
	border-radius: 8px;
	padding: 12px;
	margin: 0 0 14px !important;
}
.nsmk-wrap .nsmk-box-title {
	margin: 0 0 10px !important;
	font-size: 12px;
	color: #0c447c;
}
.nsmk-wrap .nsmk-hint { font-size: 12px; color: var(--nsmk-muted); display: block; margin-top: 4px; }
.nsmk-wrap .nsmk-form-foot {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid var(--nsmk-border);
	padding-top: 14px;
}

/* --- Αιτήματα --- */
.nsmk-wrap .nsmk-section { margin: 20px 0 10px !important; font-size: 16px !important; }
.nsmk-wrap .nsmk-inq {
	display: flex;
	gap: 12px;
	justify-content: space-between;
	align-items: flex-start;
	padding: 12px;
	margin: 0 0 8px !important;
	border: 1px solid var(--nsmk-border);
	border-radius: 10px;
	background: var(--nsmk-bg);
}
.nsmk-wrap .nsmk-inq-title { margin: 0 0 3px !important; font-size: 15px !important; }
.nsmk-wrap .nsmk-inq-title a { text-decoration: none; }
.nsmk-wrap .nsmk-inq-meta,
.nsmk-wrap .nsmk-inq-msg,
.nsmk-wrap .nsmk-inq-reply {
	margin: 0 !important;
	font-size: 13px;
	color: var(--nsmk-muted);
}
.nsmk-wrap .nsmk-inq-reply { color: #085041; margin-top: 4px !important; }

/* --- Διάφορα --- */
.nsmk-wrap .nsmk-empty {
	font-size: 14px;
	color: var(--nsmk-muted);
	padding: 18px 0;
	margin: 0 !important;
}
.nsmk-wrap .nsmk-notice {
	padding: 10px 13px;
	border-radius: 8px;
	margin: 0 0 14px !important;
	font-size: 14px;
	background: #e1f5ee;
	color: #085041;
}
.nsmk-wrap .nsmk-notice.is-warn { background: #faeeda; color: #633806; }
.nsmk-wrap .nsmk-notice.is-error { background: #fcebeb; color: #791f1f; }
.nsmk-wrap .nsmk-pager {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 14px;
}
.nsmk-wrap .nsmk-page {
	padding: 5px 11px;
	border: 1px solid var(--nsmk-border);
	border-radius: 6px;
	text-decoration: none;
	font-size: 13px;
	color: var(--nsmk-muted);
}
.nsmk-wrap .nsmk-page.is-on {
	border-color: var(--nsmk-primary);
	color: var(--nsmk-primary);
	font-weight: 600;
}

/* --- Εναλλαγή πλέγμα / λίστα --- */
.nsmk-wrap .nsmk-viewbar {
	display: flex;
	justify-content: flex-end;
	gap: 4px;
	margin: 0 0 10px;
}
.nsmk-wrap .nsmk-viewbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 32px;
	padding: 0;
	border: 1px solid var(--nsmk-border);
	border-radius: 8px;
	background: var(--nsmk-bg);
	color: var(--nsmk-muted);
	cursor: pointer;
}
.nsmk-wrap .nsmk-viewbtn.is-on {
	border-color: var(--nsmk-primary);
	color: var(--nsmk-primary);
}
.nsmk-wrap .nsmk-viewbtn .dashicons {
	width: 18px;
	height: 18px;
	font-size: 18px;
}

/* --- Πλέγμα --- */

/*
 * Το «auto-fill» μοιράζει μόνο του τις στήλες: τρεις σε πλατιά οθόνη,
 * δύο σε tablet, μία σε κινητό, χωρίς σταθερά σημεία αλλαγής.
 */
.nsmk-wrap .nsmk-list.is-grid {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 228px, 1fr ) );
	gap: 14px;
}
.nsmk-wrap .nsmk-list.is-grid .nsmk-card {
	flex-direction: column;
	gap: 0;
	padding: 0;
	margin: 0 !important;
	overflow: hidden;
}
.nsmk-wrap .nsmk-list.is-grid .nsmk-card-media {
	position: relative;
	width: 100%;
}
.nsmk-wrap .nsmk-list.is-grid .nsmk-thumb {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	border-radius: 0;
}
.nsmk-wrap .nsmk-list.is-grid .nsmk-card-body {
	padding: 10px 12px 0;
	gap: 4px;
}
.nsmk-wrap .nsmk-list.is-grid .nsmk-card-title {
	font-size: 15px !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.nsmk-wrap .nsmk-list.is-grid .nsmk-card-cat {
	font-size: 12px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.nsmk-wrap .nsmk-list.is-grid .nsmk-card-side {
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	text-align: left;
	padding: 8px 12px 12px;
	gap: 8px;
}
.nsmk-wrap .nsmk-list.is-grid .nsmk-card-actions {
	justify-content: flex-start;
}
.nsmk-wrap .nsmk-list.is-grid .nsmk-card-actions .nsmk-btn {
	flex: 1 1 auto;
	/* Με τρία κουμπιά σε στενή κάρτα, προτιμάμε δεύτερη σειρά από ζούληγμα. */
	min-width: 92px;
	justify-content: center;
	text-align: center;
}

/* Το σήμα του είδους: μόνο στο πλέγμα, πάνω στη φωτογραφία. */
.nsmk-wrap .nsmk-badge-float { display: none; }
.nsmk-wrap .nsmk-list.is-grid .nsmk-badge-float {
	display: inline-block;
	position: absolute;
	top: 8px;
	inset-inline-start: 8px;
	z-index: 2;
}
/* Το σήμα του είδους φεύγει από τη σειρά· τα σήματα κατάστασης μένουν. */
.nsmk-wrap .nsmk-list.is-grid .nsmk-badge-kind { display: none; }

/* --- Κινητό --- */
@media (max-width: 600px) {
	.nsmk-wrap .nsmk-card { flex-wrap: wrap; }
	.nsmk-wrap .nsmk-card-media,
	.nsmk-wrap .nsmk-thumb { width: 72px; height: 72px; }
	.nsmk-wrap .nsmk-card-side {
		flex: 1 1 100%;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		text-align: left;
	}
	.nsmk-wrap .nsmk-filter-row input,
	.nsmk-wrap .nsmk-filter-row select { max-width: none; flex: 1 1 140px; }
	.nsmk-wrap .nsmk-gallery img { width: 108px; height: 84px; }
}

/* --- Μικρογραφίες φωτογραφιών στη φόρμα --- */
.nsmk-wrap .nsmk-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 8px;
}
.nsmk-wrap .nsmk-thumbs:empty { display: none; }
.nsmk-wrap .nsmk-thumb-item {
	position: relative;
	width: 84px;
	height: 84px;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid var(--nsmk-border);
	background: #f4f3f0;
}
.nsmk-wrap .nsmk-thumb-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* Ίδια όψη είτε είναι label με checkbox (παλιές) είτε button (νέες). */
.nsmk-wrap .nsmk-thumb-x {
	position: absolute;
	top: 3px;
	right: 3px;
	width: 22px;
	height: 22px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(0, 0, 0, .58);
	color: #fff;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	margin: 0 !important;
	padding: 0;
	border: 0;
	appearance: none;
}
/* Το checkbox κρύβεται αλλά μένει εστιάσιμο με πληκτρολόγιο. */
.nsmk-wrap .nsmk-thumb-x input {
	position: absolute;
	opacity: 0;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	cursor: pointer;
}
.nsmk-wrap .nsmk-thumb-item.is-dropped { opacity: .35; }
.nsmk-wrap .nsmk-thumb-item.is-dropped .nsmk-thumb-x { background: #a32d2d; }
.nsmk-wrap .nsmk-photo-input { margin-bottom: 8px; }
.nsmk-wrap .nsmk-photo-msg {
	margin: 0 !important;
	font-size: 12px;
	color: #633806;
}
.nsmk-wrap .nsmk-photo-msg:empty { display: none; }

/*
 * Τα πεδία μοιράζονται μία γραμμή. Το καθένα παίρνει όσο χώρο του αναλογεί
 * και τυλίγεται μόνο του σε στενή οθόνη, χωρίς να τεντώνεται σε πλήρες πλάτος.
 */
.nsmk-wrap .nsmk-filter-row > * { flex: 0 1 auto; }
.nsmk-wrap .nsmk-filter-row input[type="search"] { flex: 1 1 160px; min-width: 130px; }
.nsmk-wrap .nsmk-filter-row .neo-social-city-ac { flex: 0 1 150px; }
.nsmk-wrap .nsmk-max-price { width: 96px !important; flex: 0 0 auto; }
