.ci-properties,
.ci-property-details {
	--ci-accent: #a94700;
	--ci-danger: var(--danger, #df1b46);
	--ci-ink: #15222e;
	--ci-muted: #65717c;
	--ci-line: #e4e8eb;
	--ci-surface: #fff;
}

.ci-properties {
	margin-block: 2rem;
}

.ci-demo-notice {
	background: color-mix(in srgb, var(--danger, #df1b46) 8%, #fff);
	border: .18rem solid var(--danger, #df1b46);
	border-radius: .35rem;
	color: var(--danger, #df1b46);
	font-weight: 700;
	margin: 1rem 0 1.5rem;
	padding: .85rem 1rem;
}

.ci-country-filter {
	background: #f6f8f9;
	border: 1px solid var(--ci-line);
	border-radius: .65rem;
	margin: 0 0 1.5rem;
	padding: 1rem;
}

.ci-country-filter__title {
	color: var(--ci-ink);
	font-size: .82rem;
	font-weight: 700;
	margin: 0 0 .65rem;
}

.ci-country-filter__options {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
}

.ci-country-filter__toggle {
	margin: 0;
}

.ci-country-filter__option {
	align-items: center;
	background: #fff;
	border: 1px solid #aeb8c0;
	border-radius: 999px;
	color: var(--ci-ink);
	display: inline-flex;
	font-weight: 700;
	gap: .45rem;
	line-height: 1.2;
	min-height: 2.7rem;
	padding: .55rem .75rem;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.ci-country-filter__option:not(:disabled):hover {
	background: #eef3f5;
	border-color: var(--ci-accent);
}

.ci-country-filter__option[aria-pressed="true"] {
	background: var(--ci-accent);
	border-color: var(--ci-accent);
	color: #fff;
}

.ci-country-filter__option:focus-visible,
.ci-country-filter__reset button:focus-visible {
	outline: .18rem solid var(--ci-accent);
	outline-offset: .15rem;
}

.ci-country-filter__option:disabled {
	background: #e7ebee;
	border-color: #d5dbe0;
	color: #7d8992;
	cursor: not-allowed;
	opacity: .72;
}

.ci-country-filter__indicator {
	font-size: 1rem;
	line-height: 1;
	min-width: 1em;
	text-align: center;
}

.ci-country-filter__count {
	align-items: center;
	background: rgba(21, 34, 46, .1);
	border-radius: 999px;
	display: inline-flex;
	font-size: .72rem;
	justify-content: center;
	min-height: 1.45rem;
	min-width: 1.45rem;
	padding: 0 .35rem;
}

.ci-country-filter__option[aria-pressed="true"] .ci-country-filter__count {
	background: rgba(255, 255, 255, .22);
}

.ci-country-filter__status {
	color: var(--ci-muted);
	font-size: .85rem;
	margin: .75rem 0 0;
}

.ci-country-filter__reset {
	margin: .55rem 0 0;
}

.ci-country-filter__reset button {
	background: transparent;
	border: 0;
	color: var(--ci-accent);
	font-size: .82rem;
	font-weight: 700;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: .15em;
}

.ci-properties__grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(auto-fill, minmax(18rem, 23rem));
	justify-content: start;
}

.ci-property-card {
	background: var(--ci-surface);
	border: 1px solid var(--ci-line);
	border-radius: .75rem;
	box-shadow: 0 .4rem 1.4rem rgba(21, 34, 46, .08);
	overflow: hidden;
	transition: box-shadow .2s ease, transform .2s ease;
}

.ci-property-card:hover,
.ci-property-card:focus-within {
	box-shadow: 0 .75rem 2rem rgba(21, 34, 46, .14);
	transform: translateY(-2px);
}

.ci-property-card__media {
	aspect-ratio: 4 / 3;
	background: #eef1f3;
	display: block;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.ci-property-card__image {
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
	width: 100%;
}

.ci-property-card:hover .ci-property-card__image {
	transform: scale(1.025);
}

.ci-property-card__placeholder {
	align-items: center;
	background: linear-gradient(135deg, #eef1f3, #dce3e8);
	color: #8a969f;
	display: flex;
	font-size: 2rem;
	font-weight: 700;
	height: 100%;
	justify-content: center;
	letter-spacing: .12em;
	width: 100%;
}

.ci-property-card__badge {
	border-radius: .2rem;
	color: #fff;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.2;
	max-width: calc(100% - 1rem);
	padding: .5rem .7rem;
	position: absolute;
	text-transform: uppercase;
}

.ci-property-card__badge--sold {
	background: var(--ci-danger);
	border: .18rem solid #fff;
	box-shadow: 0 .2rem .65rem rgba(0, 0, 0, .24);
	font-size: .9rem;
	left: 50%;
	padding: .55rem .9rem;
	top: 50%;
	transform: translate(-50%, -50%) rotate(-10deg);
}

.ci-property-card__badge--demo {
	background: rgba(21, 34, 46, .94);
	bottom: .65rem;
	left: .65rem;
}

.ci-property-card__body {
	padding: 1.15rem 1.2rem 1.25rem;
}

.ci-property-card__eyebrow {
	color: var(--ci-accent);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .045em;
	margin: 0 0 .4rem;
	text-transform: uppercase;
}

.ci-property-card__title {
	color: var(--ci-ink);
	font-size: 1.15rem;
	line-height: 1.35;
	margin: 0 0 1rem;
}

.ci-property-card__title a {
	color: inherit;
	text-decoration: none;
}

.ci-property-card__title a:focus-visible {
	outline: .18rem solid var(--ci-accent);
	outline-offset: .18rem;
}

.ci-property-card__price {
	color: var(--ci-ink);
	font-size: 1.08rem;
	font-weight: 700;
	margin: -.45rem 0 .9rem;
}

.ci-property-facts {
	display: grid;
	gap: .75rem;
	grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
	margin: 1rem 0 0;
}

.ci-property-facts > div {
	border-top: 1px solid var(--ci-line);
	padding-top: .6rem;
}

.ci-property-facts dt {
	color: var(--ci-muted);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .025em;
	text-transform: uppercase;
}

.ci-property-facts dd {
	color: var(--ci-ink);
	font-size: .95rem;
	font-weight: 650;
	margin: .15rem 0 0;
}

.ci-property-facts--compact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ci-property-details {
	margin-block: 2rem;
}

.ci-property-details__facts {
	min-height: 12rem;
	position: relative;
}

.single-ci_property .entry-title > span:first-child,
.ci-property-title-status {
	border: .18rem solid currentColor;
	color: var(--danger, #df1b46);
	display: inline-block;
	font-size: .46em;
	font-weight: 800;
	letter-spacing: .09em;
	line-height: 1;
	margin: 0 .4em .3em 0;
	padding: .32em .48em;
	text-transform: uppercase;
	transform: rotate(-3deg);
	vertical-align: middle;
}

.ci-property-visual {
	position: relative;
}

.ci-property-hero {
	display: table;
	margin: 0 0 1.5rem;
	max-width: 100%;
	overflow: hidden;
}

.ci-property-hero img {
	display: block;
	height: auto;
	max-width: 100%;
}

.ci-property-stamp {
	font-weight: 800;
	letter-spacing: .09em;
	line-height: 1;
	pointer-events: none;
	position: absolute;
	text-align: center;
	text-transform: uppercase;
	z-index: 2;
}

.ci-property-stamp--image {
	border: .22rem solid #fff;
	box-shadow: 0 .25rem .8rem rgba(0, 0, 0, .3);
	font-size: clamp(.9rem, 3vw, 1.7rem);
	left: 50%;
	max-width: calc(100% - 2rem);
	padding: .58rem 1rem;
	top: 50%;
	transform: translate(-50%, -50%) rotate(-11deg);
}

.ci-property-stamp--details {
	background: rgba(255, 255, 255, .88);
	border: .3rem solid currentColor;
	font-size: clamp(1.15rem, 5vw, 2.35rem);
	left: 50%;
	max-width: calc(100% - 2rem);
	opacity: .82;
	padding: .65rem 1.15rem;
	top: 48%;
	transform: translate(-50%, -50%) rotate(-11deg);
	white-space: nowrap;
}

.ci-property-gallery {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	margin-top: 1.5rem;
}

.ci-property-gallery figure {
	aspect-ratio: 4 / 3;
	margin: 0;
	overflow: hidden;
}

.ci-property-gallery img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.ci-properties__empty {
	background: #f6f8f9;
	border-left: .25rem solid var(--ci-accent);
	padding: 1rem 1.25rem;
}

@media (prefers-reduced-motion: reduce) {
	.ci-property-card,
	.ci-property-card__image {
		transition: none;
	}
}

@media (max-width: 36rem) {
	.ci-country-filter__option {
		justify-content: flex-start;
		width: 100%;
	}

	.ci-properties__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.ci-property-stamp--details {
		white-space: normal;
	}
}
