.namfs-finder { margin: 0 0 24px; }
.namfs-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin: 0 0 12px; }
.namfs-filters label { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.namfs-filters select { width: auto; min-width: 160px; }
.namfs-count { margin-left: auto; font-weight: 600; }

.namfs-body { display: grid; grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); gap: 16px; }
.namfs-map { border-radius: 8px; z-index: 0; }
.namfs-list { list-style: none; margin: 0; padding: 0; overflow-y: auto; }
.namfs-list li { margin: 0; padding: 12px 4px; border-bottom: 1px solid rgba(0, 0, 0, .1); }
.namfs-empty { opacity: .7; }

.namfs-card-name { font-weight: 700; text-decoration: none; }
.namfs-card-city, .namfs-card-sells, .namfs-card-hours { font-size: 13px; line-height: 1.4; }
.namfs-card-city { opacity: .7; }
.namfs-card-status { display: inline-block; margin: 4px 0; padding: 1px 8px; border-radius: 10px; font-size: 12px; font-weight: 600; }
.namfs-card-status.is-open { background: #e3f2e4; color: #1e5a21; }
.namfs-card-status.is-closed { background: #eceef1; color: #555b66; }

.namfs-tip { max-width: 560px; }
.namfs-tip input[type="text"], .namfs-tip input[type="email"], .namfs-tip textarea { width: 100%; }
.namfs-tip-message { padding: 12px 16px; border-radius: 6px; background: #e3f2e4; color: #1e5a21; }
.namfs-tip-message.namfs-tip-error { background: #fbe9e9; color: #8a1c1c; }

@media (max-width: 720px) {
	.namfs-body { grid-template-columns: 1fr; }
	.namfs-map { height: 380px !important; }
	.namfs-list { max-height: none !important; }
	.namfs-count { margin-left: 0; }
}

.namfs-details-row { margin: 0 0 20px; }
.namfs-details-row h3 { margin: 0 0 8px; font-size: 1rem; }
.namfs-details-row p { margin: 0 0 8px; }
.namfs-chips { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px; margin: 0; padding: 0; list-style: none; }
.namfs-chips li { margin: 0 !important; line-height: 1.5; padding: 3px 12px; border-radius: 14px; background: #eef4ec; color: #24452a; font-size: 14px; }
.namfs-spot { height: 240px; margin: 0 0 10px; border-radius: 8px; z-index: 0; }
.namfs-details-address { opacity: .8; }
.namfs-button { display: inline-block; padding: 8px 18px; border-radius: 6px; background: #2f7d32; color: #fff !important; font-weight: 600; text-decoration: none !important; }
.namfs-button:hover { background: #24622a; }

.namfs-header { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 24px; margin: 0 0 20px; }
.namfs-heading { margin: 0 0 6px; font-size: 2rem; line-height: 1.2; }
.namfs-intro { margin: 0; max-width: 640px; opacity: .8; }
.namfs-button-quiet { background: transparent; color: #2f7d32 !important; border: 2px solid #2f7d32; }
.namfs-button-quiet:hover { background: #eef4ec; }
.namfs-near { padding: 6px 14px; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; background: #fff; color: inherit; font: inherit; cursor: pointer; }
.namfs-near:hover { border-color: #2f7d32; color: #2f7d32; }
.namfs-near:disabled { opacity: .6; cursor: wait; }
@media (max-width: 720px) {
	.namfs-heading { font-size: 1.5rem; }
}

.namfs-claim { margin: 8px 0 20px; padding: 12px 16px; border-left: 4px solid #2f7d32; border-radius: 6px; background: #f4f8f3; font-size: 15px; }
.namfs-claim p { margin: 0; }
.namfs-report { font-size: 14px; opacity: .8; }
