/* RT Real Estate Manager — frontend styles */

.rtrem * { box-sizing: border-box; }

/* ---------- Search Form ---------- */
.rtrem-search-form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	background: #f7f8fa;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	padding: 16px;
	margin-bottom: 24px;
}
.rtrem-search-vertical { flex-direction: column; align-items: stretch; }
.rtrem-search-form .rc-field { flex: 1 1 160px; }
.rtrem-search-form input,
.rtrem-search-form select {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #d1d5db;
	border-radius: 6px;
}
.rtrem-search-form button {
	background: #1a73e8;
	color: #fff;
	border: 0;
	padding: 9px 20px;
	border-radius: 6px;
	cursor: pointer;
}
.rtrem-save-search {
	background: transparent;
	border: 1px solid #1a73e8;
	color: #1a73e8;
	padding: 8px 14px;
	border-radius: 6px;
	cursor: pointer;
}

/* ---------- Listings Grid ---------- */
.rtrem-listings-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, 1fr);
}
.rtrem-columns-1 { grid-template-columns: 1fr; }
.rtrem-columns-2 { grid-template-columns: repeat(2, 1fr); }
.rtrem-columns-3 { grid-template-columns: repeat(3, 1fr); }
.rtrem-columns-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) { .rtrem-listings-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .rtrem-listings-grid { grid-template-columns: 1fr; } }

.rtrem-card {
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	transition: box-shadow .2s ease, transform .2s ease;
}
.rtrem-card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.08); transform: translateY(-2px); }
.rtrem-card-thumb { display: block; position: relative; }
.rtrem-card-thumb img { width: 100%; height: 200px; object-fit: cover; display: block; }
.rtrem-no-thumb { width: 100%; height: 200px; background: #eee; }
.rtrem-labels { position: absolute; top: 10px; left: 10px; display: flex; gap: 6px; }
.rtrem-label {
	background: #1a73e8; color: #fff; font-size: 11px; font-weight: 600;
	padding: 3px 8px; border-radius: 4px; text-transform: uppercase;
}
.rtrem-label-featured { background: #f59e0b; }
.rtrem-label-hot { background: #ef4444; }
.rtrem-card-body { padding: 14px 16px; }
.rtrem-card-price { font-size: 18px; font-weight: 700; color: #1a7f37; }
.rtrem-card-title { margin: 4px 0; font-size: 16px; }
.rtrem-card-title a { color: inherit; text-decoration: none; }
.rtrem-card-city { color: #6b7280; font-size: 13px; margin-bottom: 8px; }
.rtrem-card-meta { display: flex; gap: 14px; font-size: 13px; color: #374151; margin-bottom: 8px; }

/* ---------- Compare button ---------- */
.rtrem-compare-toggle {
	margin-top: 6px;
	background: #fff;
	border: 1px solid #1a73e8;
	color: #1a73e8;
	border-radius: 6px;
	padding: 6px 12px;
	cursor: pointer;
	font-size: 13px;
}
.rtrem-compare-toggle.is-active { background: #1a73e8; color: #fff; }

/* ---------- Compare table ---------- */
.rtrem-compare-table { width: 100%; border-collapse: collapse; }
.rtrem-compare-table th, .rtrem-compare-table td {
	border: 1px solid #e5e7eb; padding: 10px; text-align: center; vertical-align: top;
}
.rtrem-compare-table img { max-width: 160px; }

/* ---------- Map ---------- */
.rtrem-map-wrapper { margin-bottom: 24px; }
.rtrem-map { width: 100%; border-radius: 8px; z-index: 0; }
.rtrem-map-popup img { width: 100%; max-width: 180px; border-radius: 4px; margin-bottom: 4px; }

/* ---------- Single property ---------- */
.rtrem-property-header .rtrem-price { font-size: 28px; font-weight: 700; color: #1a7f37; margin: 6px 0; }
.rtrem-property-quickfacts {
	display: flex; flex-wrap: wrap; gap: 24px; margin: 20px 0; padding: 16px 0;
	border-top: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb;
}
.rtrem-property-quickfacts div { text-align: center; }
.rtrem-property-quickfacts strong { display: block; font-size: 18px; }
.rtrem-property-quickfacts span { font-size: 12px; color: #6b7280; text-transform: uppercase; }
.rtrem-property-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 16px 0; }
.rtrem-video-embed iframe, .rtrem-tour-embed iframe { width: 100%; aspect-ratio: 16/9; border: 0; }
.rtrem-social-share a { margin-right: 10px; }
.rtrem-upgrade-btn { background: #f59e0b; color: #fff; border: 0; padding: 8px 16px; border-radius: 6px; cursor: pointer; }

/* ---------- Agent/Agency ---------- */
.rtrem-agents-grid, .rtrem-agencies-grid { display: grid; gap: 20px; grid-template-columns: repeat(4, 1fr); }
.rtrem-agent-card, .rtrem-agency-card { text-align: center; border: 1px solid #e5e7eb; border-radius: 10px; padding: 16px; }
.rtrem-agent-card img, .rtrem-agency-card img { border-radius: 50%; width: 100px; height: 100px; object-fit: cover; }

/* ---------- Ratings ---------- */
.rtrem-avg-rating, .rtrem-comment-rating { color: #f59e0b; letter-spacing: 2px; }

/* ---------- Popular locations ---------- */
.rtrem-popular-locations { display: flex; flex-wrap: wrap; gap: 8px; }
.rtrem-location-pill { background: #f3f4f6; padding: 6px 12px; border-radius: 20px; text-decoration: none; color: #111827; font-size: 13px; }

/* ---------- Submission form / dashboard ---------- */
.rtrem-submission-form p { margin-bottom: 14px; }
.rtrem-submission-form input, .rtrem-submission-form textarea, .rtrem-submission-form select { width: 100%; padding: 8px; border: 1px solid #d1d5db; border-radius: 6px; }
.rtrem-my-listings { width: 100%; border-collapse: collapse; }
.rtrem-my-listings td, .rtrem-my-listings th { border: 1px solid #e5e7eb; padding: 8px; }

.rtrem-search-results.is-loading { opacity: .5; }

/* ---------- Locked (trial expired / no subscription) notice ---------- */
.rtrem-locked-notice {
	border: 1px dashed #f59e0b; background: #fffbeb; color: #92400e;
	padding: 16px 20px; border-radius: 8px; text-align: center; margin: 16px 0;
}
.rtrem-locked-notice a { color: #1a73e8; font-weight: 600; }
