/**
 * Pinnacle Market UI Bridge — Phase 2C GeoDirectory listing cards.
 *
 * GeoDirectory owns all listing data, links, media, favorites, hours, and
 * actions. Every selector is rooted at the exact Archive Item scope.
 */

.pm-shell-v1.pm-business-card-v1 {
	background: var(--pm-color-white);
	border: 1px solid #ddd7ca;
	border-radius: var(--pm-radius-square);
	box-sizing: border-box;
	color: var(--pm-color-ink);
	display: flex;
	flex-direction: column;
	font-family: var(--pm-font-sans);
	height: 100%;
	min-width: 0;
	overflow: hidden;
}

.pm-shell-v1.pm-business-card-v1 *,
.pm-shell-v1.pm-business-card-v1 *::before,
.pm-shell-v1.pm-business-card-v1 *::after {
	box-sizing: border-box;
}

.pm-shell-v1.pm-business-card-v1 > .card-img-top {
	background: var(--pm-color-sage);
	border-radius: var(--pm-radius-square);
	height: auto;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: relative;
}

.pm-shell-v1.pm-business-card-v1 > .card-img-top .geodir-image-container,
.pm-shell-v1.pm-business-card-v1 > .card-img-top .geodir-post-slider,
.pm-shell-v1.pm-business-card-v1 > .card-img-top .geodir-post-slider .geodir-image-wrapper {
	border-radius: var(--pm-radius-square);
	margin: 0;
	width: 100%;
}

.pm-shell-v1.pm-business-card-v1 > .card-img-top .ratio,
.pm-shell-v1.pm-business-card-v1 > .card-img-top .ratio-16x9 {
	--bs-aspect-ratio: 56.25%;
}

.pm-shell-v1.pm-business-card-v1 > .card-img-top .geodir-link-image,
.pm-shell-v1.pm-business-card-v1 > .card-img-top .geodir-image-wrapper > a {
	display: block;
	min-width: 0;
}

.pm-shell-v1.pm-business-card-v1 > .card-img-top img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.pm-shell-v1.pm-business-card-v1 > .card-img-top .gd-badge,
.pm-shell-v1.pm-business-card-v1 > .card-img-top .geodir-post-badge {
	background: var(--pm-color-deep) !important;
	border: 0;
	border-radius: var(--pm-radius-square);
	box-shadow: none;
	color: var(--pm-color-white) !important;
	font-family: var(--pm-font-sans);
	font-size: 8px;
	font-weight: var(--pm-font-weight-bold);
	letter-spacing: 0.08em;
	line-height: 1.2;
	padding: 7px 9px;
	text-transform: uppercase;
}

.pm-shell-v1.pm-business-card-v1 > .card-img-top .geodir-post-fav,
.pm-shell-v1.pm-business-card-v1 > .card-img-top .geodir-addtofav {
	align-items: center;
	background: var(--pm-color-paper);
	border: 0;
	border-radius: var(--pm-radius-round);
	color: var(--pm-color-deep);
	display: inline-flex;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.pm-shell-v1.pm-business-card-v1 > .card-img-top .geodir-addtofav:hover,
.pm-shell-v1.pm-business-card-v1 > .card-img-top .geodir-addtofav.geodir-act-fav {
	background: var(--pm-color-orange);
	color: var(--pm-color-white);
}

.pm-shell-v1.pm-business-card-v1 > .card-body {
	background: var(--pm-color-white);
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	margin: 0;
	min-width: 0;
	padding: 17px;
}

.pm-shell-v1.pm-business-card-v1 > .card-body .geodir-post-address-container {
	color: #747c75;
	font-family: var(--pm-font-sans);
	font-size: 8px;
	font-weight: var(--pm-font-weight-medium);
	letter-spacing: var(--pm-text-meta-letter-spacing);
	line-height: 1.4;
	margin: 0 0 var(--pm-space-2);
	text-transform: uppercase;
}

.pm-shell-v1.pm-business-card-v1 > .card-body .geodir-post-address-container .geodir-i-address {
	margin: 0;
}

.pm-shell-v1.pm-business-card-v1 > .card-body .geodir-post-address-container i,
.pm-shell-v1.pm-business-card-v1 > .card-body .geodir-post-address-container .gd-secondary {
	display: none;
}

.pm-shell-v1.pm-business-card-v1 > .card-body .geodir-post-title,
.pm-shell-v1.pm-business-card-v1 > .card-body h2 {
	color: var(--pm-color-ink);
	font-family: var(--pm-font-serif);
	font-size: 19px;
	font-weight: var(--pm-font-weight-semibold);
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 var(--pm-space-3);
}

.pm-shell-v1.pm-business-card-v1 > .card-body .geodir-post-title a,
.pm-shell-v1.pm-business-card-v1 > .card-body h2 a {
	color: inherit;
	text-decoration: none;
	transition: color var(--pm-duration-fast);
}

.pm-shell-v1.pm-business-card-v1 > .card-body .geodir-post-title a:hover,
.pm-shell-v1.pm-business-card-v1 > .card-body h2 a:hover {
	color: var(--pm-color-orange);
}

.pm-shell-v1.pm-business-card-v1 > .card-body .geodir-post-content-container,
.pm-shell-v1.pm-business-card-v1 > .card-body .geodir-post-content {
	color: #687169;
	font-family: var(--pm-font-sans);
	font-size: 10px;
	line-height: 1.45;
	margin: 0;
	min-height: 44px;
}

.pm-shell-v1.pm-business-card-v1 > .card-footer {
	align-items: center;
	background: var(--pm-color-white);
	border: 0;
	border-radius: var(--pm-radius-square);
	border-top: 1px solid #e0ddd5;
	display: flex;
	flex-wrap: wrap;
	gap: var(--pm-space-4) var(--pm-space-6);
	margin: 0 17px;
	min-width: 0;
	padding: 11px 0 15px;
}

.pm-shell-v1.pm-business-card-v1 > .card-footer .geodir-post-meta-container,
.pm-shell-v1.pm-business-card-v1 > .card-footer .geodir-post-directions-container {
	color: #687169;
	font-family: var(--pm-font-sans);
	font-size: 9px;
	line-height: 1.4;
	margin: 0;
	min-width: 0;
}

.pm-shell-v1.pm-business-card-v1 > .card-footer a,
.pm-shell-v1.pm-business-card-v1 > .card-footer button,
.pm-shell-v1.pm-business-card-v1 > .card-footer .gd-bh-show-field {
	color: var(--pm-color-deep);
	font-family: var(--pm-font-sans);
	font-size: 9px;
	font-weight: var(--pm-font-weight-bold);
	text-decoration: none;
	transition: color var(--pm-duration-fast);
}

.pm-shell-v1.pm-business-card-v1 > .card-footer a:hover,
.pm-shell-v1.pm-business-card-v1 > .card-footer button:hover,
.pm-shell-v1.pm-business-card-v1 > .card-footer .gd-bh-show-field:hover {
	color: var(--pm-color-orange);
}

.pm-shell-v1.pm-business-card-v1 > .card-footer .gd-bh-open {
	color: var(--pm-color-forest);
}

.pm-shell-v1.pm-business-card-v1 > .card-footer .gd-bh-close,
.pm-shell-v1.pm-business-card-v1 > .card-footer .gd-bh-closed {
	color: var(--pm-color-orange);
}

.pm-shell-v1.pm-business-card-v1 > .card-footer .dropdown-menu {
	background: var(--pm-color-paper);
	border: var(--pm-border-standard);
	border-radius: var(--pm-radius-square);
	box-shadow: var(--pm-shadow-menu);
	font-family: var(--pm-font-sans);
}

.pm-shell-v1.pm-business-card-v1 a:focus-visible,
.pm-shell-v1.pm-business-card-v1 button:focus-visible,
.pm-shell-v1.pm-business-card-v1 [role="button"]:focus-visible {
	outline: 2px solid var(--pm-color-orange);
	outline-offset: 3px;
}

@media (max-width: 390px) {
	.pm-shell-v1.pm-business-card-v1 > .card-body {
		padding: var(--pm-space-6);
	}

	.pm-shell-v1.pm-business-card-v1 > .card-footer {
		margin-left: var(--pm-space-6);
		margin-right: var(--pm-space-6);
	}
}

@media (prefers-reduced-motion: reduce) {
	.pm-shell-v1.pm-business-card-v1 > .card-body .geodir-post-title a,
	.pm-shell-v1.pm-business-card-v1 > .card-body h2 a,
	.pm-shell-v1.pm-business-card-v1 > .card-footer a,
	.pm-shell-v1.pm-business-card-v1 > .card-footer button,
	.pm-shell-v1.pm-business-card-v1 > .card-footer .gd-bh-show-field {
		transition-duration: 0.01ms;
	}
}
/* GeoDirectory can retain an empty archive-item slot after favorites are disabled. */
.pm-shell-v1.pm-business-card-v1 .gd-list-favorite:empty {
	display: none;
}
