[data-type="cavalree/text"i] {
  --c-box--gap: 2rem;
}

:where([data-type="cavalree/text"i]) .c-box_item {
  display: inline;
  display: inline flow;

  &[data-source="cavalree/post-home-type"i] {
    display: none;
  }

  &[data-source="cavalree/post-feature"i] {
    display: none;
  }

  &[data-source="cavalree/post-feature-label"i] {
		background-color: #8D241B;
		block-size: 1.25rem;
		display: inline flow-root;
		max-inline-size: fit-content;
		inset-block-start: -1.875rem;
		inset-inline-start: 0.625rem;
		margin-block-end: -1.25rem;
		position: relative;
    text-transform: var(--c--typography--mark--case);
    font-family: var(--c--typography--mark--family);
    line-height: 1;
    font-size: 0.5625rem;
    font-style: var(--c--typography--mark--style);
    letter-spacing: var(--c--typography--mark--tracking);
    font-weight: var(--c--typography--mark--weight);
    padding-inline: 0.5rem;
    padding-block-end: 0.375rem;
    padding-block-start: 0.3125rem;
    color: var(--c--color--ecru-white);
    z-index: 1;
  }

  &[data-source="cavalree/post-category"i] {
    display: none;
  }
}

:where([data-type="cavalree/group"i][data-variant="card-slider"i])
:where([data-type="cavalree/switcher"i])
[data-type="cavalree/text"i] {
  --c-box--typography--align: start;
}

:where([data-type="cavalree/group"i][data-variant="featured-text-cover"i])
[data-type="cavalree/text"i] {
  --c-box--typography--align: center;
}

@property --link-thickness {
  syntax: '<length>';
  inherits: false;
  initial-value: 0px;
}

:where([data-type="cavalree/text"i])[data-variant="body"i] {
  --c-box--typography--case: var(--c--typography--body--case);
  --c-box--typography--family: var(--c--typography--body--family);
  --c-box--typography--line-height: var(--c--typography--body--line-height);
  --c-box--typography--size: var(--c--typography--body--size);
  --c-box--typography--style: var(--c--typography--body--style);
  --c-box--typography--tracking: var(--c--typography--body--tracking);
  --c-box--typography--weight: var(--c--typography--body--weight);

  & :any-link {
    --link-thickness: 1px;

    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-thickness: var(--link-thickness);
    text-underline-offset: 3px;
    transition: --link-thickness 250ms ease-out;

    &:hover {
      --link-thickness: 3px;
    }
  }

  &:has([data-source="cavalree/qmi-compare-at"i]) {
    --c-box--color--text: var(--c--color--bean);
    --c-box--place: center;
    --c-box--size--inline--max: 45rem;
    --c-box--typography--line-height: 1;
    --c-box--typography--size: 0.875rem;
    --c-box--typography--style: italic;
  }
}

:where([data-type="cavalree/text"i])[data-variant="display"i] {
  --c-box--typography--case: var(--c--typography--display--case);
  --c-box--typography--family: var(--c--typography--display--family);
  --c-box--typography--line-height: var(--c--typography--display--line-height);
  --c-box--typography--size: clamp(2rem, 0.7316rem + 4.2279vi, 3.4375rem);
  --c-box--typography--style: var(--c--typography--display--style);
  --c-box--typography--tracking: var(--c--typography--display--tracking);
  --c-box--typography--weight: var(--c--typography--display--weight);
}

:where([data-type="cavalree/group"i][data-variant="card-slider"i])
:where([data-type="cavalree/text"i])[data-variant="display"i] {
  --c-box--typography--size: clamp(2.75rem, 0.7647rem + 6.6176vi, 5rem);
}

:where([data-type="cavalree/group"i][data-variant="footer-menu"i])
:where([data-type="cavalree/text"i])[data-variant="display"i] {
  --c-box--typography--size: 1.5rem;
}

:where([data-type="cavalree/group"i][data-variant="tab-slider"i])
:where([data-type="cavalree/text"i])[data-variant="display"i] {
  --c-box--typography--size: clamp(1.75rem, 0.8125rem + 3.125vi, 2.8125rem);
}

:where([data-type="cavalree/group"i][data-variant="floor-plan-list"i])
:where([data-type="cavalree/text"i][data-variant="display"i])
:is([data-source="cavalree/post-title"i], [data-source="cavalree/neighborhood-title"i]) {
  --c-box--typography--size: 1.5rem;
}

:where([data-type="cavalree/group"i][data-variant="floor-plan-list"i])
:where([data-type="cavalree/text"i][data-variant="display"i]):has([data-source="cavalree/price"i]) {
  --c-box--flow: column;
  --c-box--gap: 0.25em;
  --c-box--place--block: baseline;
}

:where([data-type="cavalree/group"i][data-variant="floor-plan-list"i])
:where([data-type="cavalree/text"i]) [data-source="cavalree/price"i] {
  --c-box--typography--size: 1.25rem;
}

:where([data-type="cavalree/text"i])[data-variant="display-uppercase"i] {
  --c-box--typography--case: uppercase;
  --c-box--typography--family: var(--c--typography--display--family);
  --c-box--typography--line-height: var(--c--typography--display--line-height);
  --c-box--typography--size: clamp(2rem, 1.5398rem + 2.0455vi, 3.125rem);
  --c-box--typography--style: var(--c--typography--display--style);
  --c-box--typography--tracking: var(--c--typography--display--tracking);
  --c-box--typography--weight: var(--c--typography--display--weight);
}

:where([data-type="cavalree/group"i][data-variant="featured-text-cover"i])
:where([data-type="cavalree/text"i])[data-variant="display-uppercase"i] {
  --c-box--typography--size: clamp(2.5rem, 0.5699rem + 6.4338vi, 4.6875rem);
}

:where([data-type="cavalree/group"i][data-variant="hero"i])
:where([data-type="cavalree/text"i])[data-variant="display-uppercase"i] {
  --c-box--typography--size: clamp(2.25rem, 0.6507rem + 5.3309vi, 4.0625rem);
  --c-box--size--inline--max: 40rem;
}

:where([data-type="cavalree/group"i][data-variant="tab-slider"i])
:where([data-type="cavalree/text"i])[data-variant="display-uppercase"i] {
  --c-box--typography--size: 2.6875rem;
}

:where([data-type="cavalree/group"i])[data-variant="tab-slider"i] {
  --c-box--gap: 4rem;
}

:where([data-type="cavalree/group"i][data-variant="tab-slider"i])
:where([data-type="cavalree/text"i][data-variant="display-uppercase"i]):has(~ [data-type="cavalree/tabbed"i]) {
  --c-box--typography--size: clamp(2.25rem, 0.6507rem + 5.3309vi, 4.0625rem);
}

:where([data-type="cavalree/text"i])[data-variant="mark"i] {
  --c-box--typography--case: var(--c--typography--mark--case);
  --c-box--typography--family: var(--c--typography--mark--family);
  --c-box--typography--line-height: var(--c--typography--mark--line-height);
  --c-box--typography--size: var(--c--typography--mark--size);
  --c-box--typography--style: var(--c--typography--mark--style);
  --c-box--typography--tracking: var(--c--typography--mark--tracking);
  --c-box--typography--weight: var(--c--typography--mark--weight);

	& > [data-source="cavalree/qmi-address"i] {
		line-height: 1.25;
	}
}

:where([data-type="cavalree/group"i]):where([data-variant="floor-plan-list"i], [data-variant="qmi-home-list"i])
:where([data-type="cavalree/text"i])[data-variant="mark"i] {
  --c-box--typography--size: 0.6875rem;
  --c-box--typography--tracking: var(--c--typography--mark--tracking);
}

[data-type="cavalree/text/kicker"i] {
  --c-box--typography--case: var(--c--typography--mark--case);
  --c-box--typography--family: var(--c--typography--mark--family);
  --c-box--typography--line-height: var(--c--typography--mark--line-height);
  --c-box--typography--size: var(--c--typography--mark--size);
  --c-box--typography--style: var(--c--typography--mark--style);
  --c-box--typography--tracking: var(--c--typography--mark--tracking);
  --c-box--typography--weight: var(--c--typography--mark--weight);

  :where([data-type="cavalree/group"i][data-variant="floor-plan-list"i]) &,
  :where([data-type="cavalree/group"i][data-variant="qmi-home-list"i]) & {
    --c-box--typography--size: 0.6875rem;
  }
}

:where([data-type="cavalree/group"i][data-variant="tab-slider"i])
:where([data-type="cavalree/text"i]):has(~ [data-type="cavalree/tabbed"i]) {
  --c-box--typography--align: center;
}

:where([data-type="cavalree/group"i][data-variant="floor-plan-neighborhood"i])
:where([data-type="cavalree/text"i]):has([data-source="cavalree/neighborhood-price"i]) {
  --c-box--flow: column;
  --c-box--gap: 0.25em;
  --c-box--place--block: baseline;
  --c-box--place--inline: start;
  --c-box--typography--size: 1.5rem;
}

:where([data-type="cavalree/group"i][data-variant="floor-plan-neighborhood"i])
> :where([data-type="cavalree/group/content"i])
> :where([data-type="cavalree/text"i])[data-variant="display"i] {
  --c-box--typography--size: clamp(3rem, 0.6838rem + 7.7206vi, 5.625rem);
}

:where([data-type="cavalree/group"i][data-variant="logo-grid"i])
:where([data-type="cavalree/text"i])[data-variant="display-uppercase"] {
  --c-box--typography--size: clamp(2.25rem, 0.0993rem + 7.1691vi, 4.6875rem);
}

/* === */

:where([data-type="cavalree/group"i][data-variant="floor-plan-neighborhood"i])
:where([data-type="cavalree/text"i]):has([data-source="cavalree/neighborhood-price"i]) {
  max-inline-size: fit-content;
}

:where([data-type="cavalree/text"i])[data-variant="body"i]
[data-type="cavalree/text/kicker"i] {
  display: none;
}

:where([data-type="cavalree/text"i])[data-variant="mark"i]
[data-type="cavalree/text/kicker"i] {
  display: none;
}

:where([data-type="cavalree/text"i]):has([data-type="cavalree/text/content"i]:empty) {
  display: none;
}

:where([data-type="cavalree/group"i][data-variant="tab-slider"i])
:where([data-type="cavalree/text"i]:has([data-source="cavalree/exterior-title"i]))
[data-type="cavalree/text/content"i] {
  display: inline;
}

:where([data-type="cavalree/group"i][data-variant="tab-slider"i])
:where([data-type="cavalree/text"i]:has([data-source="cavalree/exterior-title"i]))
[data-type="cavalree/text/content"i]::after {
  content: " Exterior";
}

:where([data-type="cavalree/group"i][data-variant="tab-slider"i])
:where([data-type="cavalree/text"i]:has([data-source="cavalree/post-title"i]))
[data-type="cavalree/text/kicker"i] {
  display: inline;
}

:where([data-type="cavalree/group"i][data-variant="tab-slider"i])
:where([data-type="cavalree/text"i]:has([data-source="cavalree/post-title"i]))
[data-type="cavalree/text/kicker"i]::after {
  content: " Options";
}

:where([data-type="cavalree/group"i][data-variant="qmi-home-list"i])
:where([data-type="cavalree/text"i][data-variant="display"i])
:is([data-source="cavalree/post-title"i], [data-source="cavalree/neighborhood-title"i]) {
  --c-box--typography--size: 1.75rem;
}

:where([data-type="cavalree/group"i][data-variant="qmi-home-list"i])
:where([data-type="cavalree/text"i][data-variant="display"i]):has([data-source="cavalree/price"i]) {
  --c-box--flow: column;
  --c-box--gap: 0.25em;
  --c-box--place--block: baseline;
}

:where([data-type="cavalree/group"i][data-variant="qmi-home-list"i])
:where([data-type="cavalree/text"i]) [data-source="cavalree/price"i] {
  --c-box--typography--size: 1.5rem;
}

:where([data-type="cavalree/group"i][data-variant="qmi-home-list"i])
:where([data-type="cavalree/text"i][data-variant="display"i])
:is([data-source="cavalree/post-title"i], [data-source="cavalree/neighborhood-title"i]) {
  --c-box--typography--size: 1.75rem;
}

[data-type="cavalree/content-sidebar"i]
[data-type="cavalree/group"i]:has([data-source="cavalree/exterior-description"i]) {
	--c-box--typography--align: center;

	& [data-type="cavalree/text"i][data-variant="mark"i] {
		--c-box--typography--line-height: 1.5;
	}

	& [data-type="cavalree/cluster"i][data-variant="button-group"i] {
		--c-cluster--place--inline: center;
	}

	& [data-source="cavalree/exterior-description"i] {
		display: flex;
		flex-direction: column;
		row-gap: 1em;
	}
}

[data-type="cavalree/group"i][data-variant="featured-details"i] {
	[data-type="cavalree/text"i]:has([data-source="cavalree/qmi-detail"]) {
		--c-box--typography--align: start;

		& [data-source="cavalree/qmi-detail"] {
			& > * + * {
				margin-block-start: 1rem;
			}
		}

		& h3 {
			text-transform: var(--c--typography--display--case);
			font-family: var(--c--typography--display--family);
			line-height: var(--c--typography--display--line-height);
			font-size: 1.5rem;
			font-style: var(--c--typography--display--style);
			letter-spacing: var(--c--typography--display--tracking);
			font-weight: var(--c--typography--display--weight);
			margin-block-start: 2rem;
			margin-block-end: 1rem;

			& strong {
				font-weight: inherit;
			}
		}

		& ul {
			list-style-type: "";
		}

		& li {
			content: "•";
		}

		& li::before {
			content: "•";
			margin-inline-end: 0.5em;
			margin-inline-start: -0.75em;
		}
	}
}