/* =========================================================
   AMP RE IDX Listings — Frontend Styles
   ========================================================= */

/* ── Variables ─────────────────────────────────────────── */
:root {
	--ampre-primary:     #1a4e8c;
	--ampre-primary-dk:  #123566;
	--ampre-accent:      #e87722;
	--ampre-bg:          #f5f7fa;
	--ampre-card-bg:     #ffffff;
	--ampre-border:      #dde3ec;
	--ampre-text:        #1a1f2e;
	--ampre-muted:       #64748b;
	--ampre-radius:      10px;
	--ampre-shadow:      0 2px 12px rgba(0,0,0,.08);
	--ampre-shadow-hover:0 6px 24px rgba(0,0,0,.14);
	--ampre-transition:  .2s ease;
}

/* ── Wrapper ────────────────────────────────────────────── */
.ampre-idx-wrap {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--ampre-text);
	max-width: 1200px;
	margin: 0 auto;
	padding: 16px 0;
}

/* ── Results header ─────────────────────────────────────── */
.ampre-results-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}
.ampre-count {
	font-size: .9rem;
	color: var(--ampre-muted);
}

/* ── Grid ───────────────────────────────────────────────── */
.ampre-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
}

/* ── Card ───────────────────────────────────────────────── */
.ampre-card {
	background: var(--ampre-card-bg);
	border: 1px solid var(--ampre-border);
	border-radius: var(--ampre-radius);
	box-shadow: var(--ampre-shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	cursor: pointer;
	transition: box-shadow var(--ampre-transition), transform var(--ampre-transition);
}
.ampre-card:hover,
.ampre-card:focus-within {
	box-shadow: var(--ampre-shadow-hover);
	transform: translateY(-3px);
	outline: none;
}

/* Card image */
.ampre-card__image {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--ampre-bg);
}
.ampre-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
.ampre-card:hover .ampre-card__image img {
	transform: scale(1.04);
}
.ampre-card__no-image {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ampre-muted);
	font-size: .85rem;
}

/* Badge */
.ampre-card__badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--ampre-primary);
	color: #fff;
	font-size: .72rem;
	font-weight: 600;
	padding: 3px 8px;
	border-radius: 4px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

/* Card body */
.ampre-card__body {
	padding: 16px;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.ampre-card__price {
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--ampre-primary);
	line-height: 1.1;
}
.ampre-card__address {
	font-size: .88rem;
	line-height: 1.4;
	color: var(--ampre-text);
}
.ampre-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 4px;
}
.ampre-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: .82rem;
	color: var(--ampre-muted);
}
.ampre-meta-item svg {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}
.ampre-card__office {
	font-size: .75rem;
	color: var(--ampre-muted);
	margin-top: auto;
	padding-top: 4px;
	border-top: 1px solid var(--ampre-border);
}

/* View details button */
.ampre-view-btn {
	margin-top: 10px;
	padding: 9px 16px;
	background: var(--ampre-primary);
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: .85rem;
	font-weight: 600;
	cursor: pointer;
	transition: background var(--ampre-transition);
	text-align: center;
}
.ampre-view-btn:hover,
.ampre-view-btn:focus {
	background: var(--ampre-primary-dk);
	outline: 2px solid var(--ampre-accent);
	outline-offset: 2px;
}

/* ── No results ─────────────────────────────────────────── */
.ampre-no-results {
	text-align: center;
	padding: 40px;
	color: var(--ampre-muted);
}
.ampre-error {
	background: #fef2f2;
	border: 1px solid #fca5a5;
	color: #991b1b;
	padding: 14px 18px;
	border-radius: var(--ampre-radius);
}

/* ── Pagination ─────────────────────────────────────────── */
.ampre-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	margin-top: 36px;
}
.ampre-page-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border: 1px solid var(--ampre-border);
	border-radius: 6px;
	font-size: .85rem;
	color: var(--ampre-primary);
	text-decoration: none;
	background: var(--ampre-card-bg);
	transition: background var(--ampre-transition), color var(--ampre-transition);
}
.ampre-page-link:hover {
	background: var(--ampre-primary);
	color: #fff;
	border-color: var(--ampre-primary);
}
.ampre-page-link.is-current {
	background: var(--ampre-primary);
	color: #fff;
	border-color: var(--ampre-primary);
	pointer-events: none;
}

/* ── Modal Overlay ──────────────────────────────────────── */
.ampre-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(10, 15, 30, .65);
	backdrop-filter: blur(4px);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	opacity: 0;
	transition: opacity .25s ease;
}
.ampre-modal-overlay:not([hidden]) {
	opacity: 1;
}
.ampre-modal-overlay[hidden] {
	display: none !important;
}

/* Modal box */
.ampre-modal {
	background: var(--ampre-card-bg);
	border-radius: 14px;
	box-shadow: 0 20px 60px rgba(0,0,0,.3);
	max-width: 900px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	position: relative;
	display: flex;
	flex-direction: column;
}

/* Close button */
.ampre-modal__close {
	position: absolute;
	top: 14px;
	right: 16px;
	background: var(--ampre-bg);
	border: none;
	border-radius: 50%;
	width: 34px;
	height: 34px;
	font-size: 1rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	transition: background var(--ampre-transition);
}
.ampre-modal__close:hover {
	background: var(--ampre-border);
}

/* Loading state */
.ampre-modal__loading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 60px 40px;
	font-size: .95rem;
	color: var(--ampre-muted);
}
.ampre-spinner {
	width: 22px;
	height: 22px;
	border: 3px solid var(--ampre-border);
	border-top-color: var(--ampre-primary);
	border-radius: 50%;
	animation: ampre-spin .8s linear infinite;
	display: inline-block;
}
@keyframes ampre-spin {
	to { transform: rotate(360deg); }
}

/* Content layout */
.ampre-modal__content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
}
@media (max-width: 640px) {
	.ampre-modal__content { grid-template-columns: 1fr; }
}

/* Gallery */
.ampre-modal__gallery {
	background: #0a0f1e;
	border-radius: 14px 0 0 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
@media (max-width: 640px) {
	.ampre-modal__gallery {
		border-radius: 14px 14px 0 0;
		aspect-ratio: 16/9;
	}
}
#ampre-modal-main-img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	display: block;
	flex: 1;
}
.ampre-modal__thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	padding: 6px;
	background: rgba(0,0,0,.4);
}
.ampre-thumb {
	width: 56px;
	height: 42px;
	object-fit: cover;
	cursor: pointer;
	border-radius: 4px;
	border: 2px solid transparent;
	transition: border-color .15s;
}
.ampre-thumb.is-active {
	border-color: var(--ampre-accent);
}

/* Details panel */
.ampre-modal__details {
	padding: 28px 24px 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	overflow-y: auto;
}
.ampre-modal__price {
	font-size: 1.8rem;
	font-weight: 800;
	color: var(--ampre-primary);
	margin: 0;
}
.ampre-modal__address {
	font-size: 1rem;
	font-weight: 500;
	margin: 0;
	color: var(--ampre-text);
}
.ampre-modal__quick-facts {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.ampre-modal__quick-facts li {
	background: var(--ampre-bg);
	border: 1px solid var(--ampre-border);
	border-radius: 20px;
	padding: 5px 12px;
	font-size: .82rem;
	color: var(--ampre-text);
	display: flex;
	align-items: center;
	gap: 5px;
}
.ampre-modal__description {
	font-size: .88rem;
	line-height: 1.65;
	color: var(--ampre-muted);
	max-height: 160px;
	overflow-y: auto;
	padding-right: 4px;
}
.ampre-modal__footer {
	font-size: .78rem;
	color: var(--ampre-muted);
	padding-top: 12px;
	border-top: 1px solid var(--ampre-border);
	margin-top: auto;
}

/* Error state */
.ampre-modal__error {
	padding: 40px;
	text-align: center;
	color: #991b1b;
}

/* ── Responsive tweaks ──────────────────────────────────── */
@media (max-width: 480px) {
	.ampre-grid {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   Showcase Card Layout  (layout = card)
   ========================================================= */

/* ── Showcase grid — 3 cols matching the screenshot ─────── */
.ampre-layout-showcase .ampre-showcase-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
@media (max-width: 900px) {
	.ampre-layout-showcase .ampre-showcase-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 540px) {
	.ampre-layout-showcase .ampre-showcase-grid {
		grid-template-columns: 1fr;
	}
}

/* ── Card shell ──────────────────────────────────────────── */
.ampre-sc-card {
	background: var(--ampre-card-bg);
	border-radius: var(--ampre-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	cursor: pointer;
	transition: box-shadow var(--ampre-transition), transform var(--ampre-transition);
	/* No border — clean look matching the screenshot */
}
.ampre-sc-card:hover,
.ampre-sc-card:focus-within {
	box-shadow: var(--ampre-shadow-hover);
	transform: translateY(-3px);
	outline: none;
}

/* ── Image block ─────────────────────────────────────────── */
.ampre-sc-card__image {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--ampre-bg);
	border-radius: var(--ampre-radius);
}
.ampre-sc-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
.ampre-sc-card:hover .ampre-sc-card__image img {
	transform: scale(1.04);
}
.ampre-sc-card__no-image {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ampre-muted);
	font-size: .85rem;
}

/* ── Status badge — top-left red pill ───────────────────── */
.ampre-sc-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	padding: 5px 11px;
	border-radius: 5px;
	line-height: 1;
	color: #fff;
}
.ampre-sc-badge.ampre-badge--selling {
	background: #e53935;   /* vibrant red — matches screenshot */
}
.ampre-sc-badge.ampre-badge--soon {
	background: #e53935;
}
.ampre-sc-badge.ampre-badge--sold {
	background: #546e7a;
}

/* ── Card body ───────────────────────────────────────────── */
.ampre-sc-card__body {
	padding: 14px 4px 4px;   /* left-flush, no side padding = tight to screenshot */
	display: flex;
	flex-direction: column;
	gap: 5px;
	flex: 1;
}

/* Title (bold, large) */
.ampre-sc-card__title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--ampre-text);
	line-height: 1.25;
}

/* Price */
.ampre-sc-card__price {
	font-size: .95rem;
	font-weight: 700;
	color: var(--ampre-text);
}

/* Address */
.ampre-sc-card__address {
	font-size: .83rem;
	color: var(--ampre-muted);
	line-height: 1.35;
}

/* ── Chip row ─────────────────────────────────────────────── */
.ampre-sc-card__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 4px;
	padding-top: 10px;
	border-top: 1px solid var(--ampre-border);
}
.ampre-sc-chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: .78rem;
	color: var(--ampre-muted);
	white-space: nowrap;
}
.ampre-sc-chip svg {
	width: 13px;
	height: 13px;
	flex-shrink: 0;
	color: var(--ampre-muted);
}
/* Divider between chips — thin pipe */
.ampre-sc-chip + .ampre-sc-chip::before {
	content: '';
	display: inline-block;
	width: 1px;
	height: 12px;
	background: var(--ampre-border);
	margin-right: 2px;
}

/* View button — reuse existing .ampre-view-btn, just push it down */
.ampre-sc-card__body .ampre-view-btn {
	margin-top: auto;
	padding-top: 10px;
	align-self: flex-start;
}


/* =========================================================
   Single Listing Detail Page  (Showcase layout → View Details)
   ========================================================= */

.ampre-detail-wrap {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--ampre-text);
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 16px 48px;
	/*background: var(--ampre-bg);*/
	min-height: 100vh;
}

/* ── Back link ─────────────────────────────────────────────── */
.ampre-detail-back {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: .85rem;
	color: var(--ampre-muted);
	text-decoration: none;
	margin-bottom: 14px;
	transition: color var(--ampre-transition);
}
.ampre-detail-back:hover { color: var(--ampre-primary); }

/* ══ HERO ══════════════════════════════════════════════════ */
.ampre-detail-hero {
	display: grid;
	grid-template-columns: 1fr 1.6fr;
	gap: 32px;
	align-items: start;
	margin-bottom: 0;
}
@media (max-width: 780px) {
	.ampre-detail-hero {
		grid-template-columns: 1fr;
	}
}

/* Tags row */
.ampre-detail-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}
.ampre-detail-badge {
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 5px 14px;
	border-radius: 4px;
	color: #fff;
}
.ampre-detail-badge--sale { background: #e53935; }
.ampre-detail-badge--soon { background: #e53935; }
.ampre-detail-badge--sold { background: #546e7a; }
.ampre-detail-tag {
	font-size: .8rem;
	font-weight: 500;
	padding: 5px 14px;
	border-radius: 20px;
	border: 1px solid var(--ampre-border);
	background: var(--ampre-card-bg);
	color: var(--ampre-text);
}

/* Title */
.ampre-detail-title {
	font-size: clamp(1.6rem, 4vw, 2.4rem);
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 10px;
	color: var(--ampre-text);
}

/* Action icons */
.ampre-detail-actions {
	display: flex;
	gap: 8px;
	margin-bottom: 24px;
}
.ampre-detail-action-btn {
	width: 50px; height: 50px;
	padding: 10px;
	display: flex; align-items: center; justify-content: center;
	border: 1px solid var(--ampre-border);
	border-radius: 8px;
	background: var(--ampre-card-bg);
	cursor: pointer;
	transition: background var(--ampre-transition);
}
.ampre-detail-action-btn svg { width: 18px; height: 18px; color: var(--ampre-muted); }
.ampre-detail-action-btn:hover { background: var(--ampre-bg); }

/* Pricing */
.ampre-detail-pricing-label {
	font-size: .85rem;
	color: var(--ampre-muted);
	margin-bottom: 2px;
}
.ampre-detail-price {
	font-size: clamp(1.3rem, 3vw, 1.9rem);
	font-weight: 800;
	color: var(--ampre-text);
	line-height: 1.1;
}

/* ── Hero gallery ─────────────────────────────────────────── */
.ampre-detail-gallery {
	position: relative;
	width: 100%;
	aspect-ratio: 16/10;
	overflow: hidden;
	border-radius: var(--ampre-radius);
	background: #1a1a2e;
}
.ampre-detail-gallery--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ampre-muted);
	font-size: .9rem;
}
#ampre-detail-main-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: opacity .3s ease;
}
.ampre-gallery-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 36px; height: 36px;
	background: rgba(0,0,0,.45);
	color: #fff;
	border: none;
	border-radius: 50%;
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: background .2s;
	z-index: 2;
}
.ampre-gallery-nav:hover { background: rgba(0,0,0,.7); }
.ampre-gallery-nav--prev { left: 10px; }
.ampre-gallery-nav--next { right: 10px; }
.ampre-gallery-counter {
	position: absolute;
	bottom: 10px; right: 12px;
	background: rgba(0,0,0,.5);
	color: #fff;
	font-size: .75rem;
	padding: 3px 8px;
	border-radius: 20px;
}

/* ══ TAB NAV ═══════════════════════════════════════════════ */
.ampre-detail-tabs {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	gap: 0;
	border-bottom: 2px solid var(--ampre-border);
	margin: 24px 0 0;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.ampre-detail-tabs::-webkit-scrollbar { display: none; }
.ampre-detail-tab {
	flex-shrink: 0;
	padding: 12px 18px;
	font-size: .85rem;
	font-weight: 500;
	color: var(--ampre-muted);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	white-space: nowrap;
	transition: color .2s, border-color .2s;
}
.ampre-detail-tab:hover { color: var(--ampre-primary); }
.ampre-detail-tab.is-active {
	color: #111111;
	border-bottom-color: unset;
	font-weight: 600;
}

/* ══ TWO-COLUMN BODY ══════════════════════════════════════ */
.ampre-detail-body {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 28px;
	align-items: start;
	padding-top: 24px;
	padding: 24px 20px;
	background: #f8f7f4;
}
@media (max-width: 960px) {
	.ampre-detail-body {
		grid-template-columns: 1fr;
	}
	.ampre-detail-sidebar { order: -1; }
}

/* ── Panels ─────────────────────────────────────────────── */
.ampre-detail-panel {
	background: var(--ampre-card-bg);
	border-radius: var(--ampre-radius);
	padding: 24px;
	margin-bottom: 20px;
}
.ampre-detail-panel__title {
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0 0 18px;
	color: var(--ampre-text);
}

/* Overview grid */
.ampre-detail-overview-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	/*border-top: 1px solid var(--ampre-border);*/
}
.ampre-detail-overview-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 20px 14px 0;
	margin-right: 24px;
	/*border-bottom: 1px solid var(--ampre-border);*/
	min-width: 130px;
}
.ampre-detail-overview-item svg {
	width: 20px; height: 20px;
	flex-shrink: 0;
	color: var(--ampre-muted);
}
.ampre-detail-ov-label {
	font-size: .75rem;
	color: var(--ampre-muted);
	display: block;
	line-height: 1.2;
}
.ampre-detail-ov-value {
	font-size: .88rem;
	font-weight: 600;
	color: var(--ampre-text);
	display: block;
}

/* Description */
.ampre-detail-description {
	font-size: .9rem;
	line-height: 1.7;
	color: var(--ampre-muted);
}
.ampre-detail-description p { margin: 0 0 12px; }

/* Video */
.ampre-detail-video-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 16/9;
	background: #000;
	border-radius: 8px;
	overflow: hidden;
}
.ampre-detail-video-wrap iframe {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	border: none;
}

/* Features grid */
.ampre-detail-features-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px 16px;
}
@media (max-width: 480px) {
	.ampre-detail-features-grid { grid-template-columns: 1fr; }
}
.ampre-detail-feature-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 0;
	border-bottom: 1px solid var(--ampre-border);
	font-size: .85rem;
	color: var(--ampre-text);
}
.ampre-feature-icon { width: 16px; height: 16px; color: var(--ampre-primary); flex-shrink: 0; }
.ampre-feature-yes {
	margin-left: auto;
	color: var(--ampre-primary);
	font-weight: 600;
	font-size: .8rem;
}

/* Map */
.ampre-detail-map-wrap {
	width: 100%;
	aspect-ratio: 16/7;
	border-radius: 8px;
	overflow: hidden;
	background: var(--ampre-bg);
}
.ampre-detail-map-wrap iframe { width: 100%; height: 100%; border: none; }

/* Floor plans */
.ampre-detail-floors { display: flex; flex-direction: column; gap: 8px; }
.ampre-detail-floor {
	border: 1px solid var(--ampre-border);
	border-radius: 8px;
	overflow: hidden;
}
.ampre-detail-floor__header {
	padding: 12px 16px;
	font-size: .9rem;
	font-weight: 600;
	cursor: pointer;
	background: var(--ampre-bg);
	list-style: none;
	display: flex;
	align-items: center;
	gap: 8px;
}
.ampre-detail-floor__header::before { content: '↑'; font-size: .8rem; color: var(--ampre-muted); }
details:not([open]) .ampre-detail-floor__header::before { content: '↓'; }
.ampre-detail-floor__img { width: 100%; display: block; }

/* Files */
.ampre-detail-files { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ampre-detail-files a {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: .85rem; color: var(--ampre-primary); text-decoration: none;
}
.ampre-detail-files a svg { width: 16px; height: 16px; }
.ampre-detail-files a:hover { text-decoration: underline; }

/* ── Sidebar / Contact card ─────────────────────────────── */
.ampre-detail-sidebar { position: sticky; top: 24px; }
.ampre-detail-contact-card {
	background: var(--ampre-card-bg);
	border-radius: var(--ampre-radius);
	padding: 24px;
	box-shadow: var(--ampre-shadow);
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.ampre-detail-contact-card__title {
	font-size: 1rem;
	font-weight: 700;
	margin: 0;
	color: var(--ampre-text);
}

/* Agent */
.ampre-detail-agent {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--ampre-border);
}
.ampre-detail-agent__avatar {
	width: 80px; height: 80px;
	border-radius: 50%;
	background: var(--ampre-primary);
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
}
.ampre-detail-agent__avatar svg { width: 48px; height: 48px; color: #fff; }
.ampre-detail-agent__initials { font-size: 1.5rem; font-weight: 700; color: #fff; }
.ampre-detail-agent__name  { font-size: 1rem; font-weight: 700; color: var(--ampre-text); }
.ampre-detail-agent__phone { font-size: .85rem; color: var(--ampre-muted); }
.ampre-detail-agent__email a { font-size: .82rem; color: var(--ampre-primary); text-decoration: none; }

/* Contact rows */
.ampre-detail-contact-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: .85rem;
}
.ampre-detail-contact-row svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--ampre-muted); margin-top: 2px; }
.ampre-detail-contact-label { font-size: .75rem; color: var(--ampre-muted); }
.ampre-detail-contact-value { color: var(--ampre-text); font-weight: 500; }

/* CTA buttons */
.ampre-detail-cta-group { display: flex; flex-direction: column; gap: 10px; }
.ampre-detail-cta {
	display: block;
	text-align: center;
	padding: 12px 16px;
	border-radius: 6px;
	font-size: .9rem;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: opacity .2s;
}
.ampre-detail-cta:hover { opacity: .88; }
.ampre-detail-cta--secondary {
	background: var(--ampre-text);
	color: #fff;
}
.ampre-detail-cta--primary {
	background: #e53935;
	color: #fff;
}

/* ── Print styles ────────────────────────────────────────── */
@media print {
	.ampre-detail-tabs,
	.ampre-detail-actions,
	.ampre-detail-back,
	.ampre-detail-sidebar { display: none !important; }
	.ampre-detail-body { grid-template-columns: 1fr; }
}

/* ── Mobile ──────────────────────────────────────────────── */
@media (max-width: 540px) {
	.ampre-detail-panel { padding: 16px; }
	.ampre-detail-overview-item { margin-right: 12px; }
	.ampre-detail-tab { padding: 10px 12px; font-size: .8rem; }
}


/* ── Showcase card link wrapper ─────────────────────────────
   Makes the entire card a native link (no JS needed).        */
.ampre-sc-card__link {
	display: flex;
	flex-direction: column;
	flex: 1;
	text-decoration: none;
	color: inherit;
}
.ampre-sc-card__link:hover,
.ampre-sc-card__link:focus {
	text-decoration: none;
	color: inherit;
	outline: none;
}
/* Remove the old standalone view-details button in card layout */
.ampre-layout-showcase .ampre-view-btn { display: none; }


/* ── Hide comments on single listing detail pages ────────────
   Belt-and-suspenders: the PHP filters should suppress them,
   but this catches anything that still renders via the theme. */
.ampre-detail-wrap ~ #comments,
.ampre-detail-wrap ~ .comments-area,
.ampre-detail-wrap ~ .comment-respond,
body.ampre-listing-page #comments,
body.ampre-listing-page .comments-area,
body.ampre-listing-page .comment-respond {
	display: none !important;
}
