.cvh-property-energy__label svg { vertical-align: middle; margin-inline-end: 0.25rem; }
.cvh-property-energy { margin-top: clamp(2rem, 5vw, 4rem); overflow-wrap: anywhere; }
.cvh-property-energy .cvh-energy-facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.cvh-property-energy .cvh-energy-facts > div { min-width: 0; padding: 1rem; background: var(--color-surface); border-radius: var(--radius); }
.cvh-property-energy dd { margin: 0.5rem 0 0; color: var(--color-primary-dark); }
.cvh-property-energy__label a:focus-visible { outline: 3px solid var(--color-primary-dark); outline-offset: 3px; }
@media (min-width: 40rem) { .cvh-property-energy .cvh-energy-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cvh-property-single { flex: 1; min-width: 0; padding-block: var(--section-spacing); }
.cvh-property-booking { margin-top: clamp(1.5rem, 3vw, 2rem); min-width: 0; }
.cvh-property-booking h2 { font-size: clamp(1.5rem, 2.5vw, 1.75rem); margin-bottom: 1rem; }
.cvh-property-booking + .cvh-property-single__description { margin-top: clamp(1.5rem, 3vw, 2rem); }
.cvh-property-booking .avaibook-search-widget { width: 100%; max-width: 100%; min-width: 0; }
.cvh-property-single__back { display: inline-block; padding-block: 0.5rem; margin-bottom: 1.5rem; }
.cvh-property-single h1 { max-width: 28ch; font-size: clamp(2rem, 3.5vw, 3rem); }
.cvh-property-single__summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.75rem 1.5rem; margin-block: 1.5rem 2rem; }
.cvh-property-single__summary p { margin: 0; }
.cvh-property-single__operation { padding: 0.25rem 0.75rem; border-radius: var(--radius); color: var(--color-primary-dark); background: var(--color-primary-light); font-weight: 600; }
.cvh-property-single__area { color: var(--color-muted); }
.cvh-property-single__status { flex-basis: 100%; padding: 0.85rem 1rem; border-left: 3px solid var(--color-accent); border-radius: var(--radius); background: var(--color-primary-light); color: var(--color-primary-dark); overflow-wrap: anywhere; }
.cvh-property-single__price { flex-basis: 100%; font-size: clamp(1.25rem, 2.5vw, 1.75rem); font-weight: 700; color: var(--color-primary-dark); }
.cvh-property-single__media { height: 260px; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: var(--radius); background: var(--color-surface); color: var(--color-muted); }
/* Keep small images at their intrinsic size; crop tall images centrally without stretching. */
.cvh-property-single__media img { display: block; flex: none; max-width: 100%; height: auto; object-fit: cover; object-position: center; }
.cvh-property-single__description { margin-top: clamp(2rem, 5vw, 4rem); max-width: 75ch; }
.cvh-property-single__content { overflow-wrap: anywhere; }
.cvh-property-single__content > * { max-width: 100%; }
.cvh-property-single__content figure { margin-inline: 0; }
.cvh-property-single__content pre, .cvh-property-single__content .wp-block-table { overflow-x: auto; }
@media (min-width: 40rem) { .cvh-property-single__media { height: 350px; } }
@media (min-width: 64rem) { .cvh-property-single__media { height: 440px; } }
.cvh-property-gallery__thumbnails { display: flex; flex-wrap: wrap; gap: 0.75rem; list-style: none; padding: 0; margin: 1rem 0 0; }
.cvh-property-gallery__thumbnails li { width: 96px; max-width: 100%; }
.cvh-property-gallery__thumbnail { display: block; border: 3px solid transparent; border-radius: var(--radius); padding: 2px; }
.cvh-property-gallery__thumbnail[aria-current="true"] { border-color: var(--color-primary-dark); }
.cvh-property-gallery__thumbnail img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: calc(var(--radius) / 2); }
.cvh-property-gallery__thumbnail:focus-visible { outline: 3px solid var(--color-primary-dark); outline-offset: 3px; }
.cvh-property-features { margin-top: clamp(2rem, 5vw, 4rem); }
.cvh-property-features__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0 0 2rem; }
.cvh-property-features__fact { min-width: 0; padding: 1.25rem; background: var(--color-surface); border-radius: var(--radius); overflow-wrap: anywhere; }
.cvh-property-features__fact dt { color: var(--color-muted); font-size: var(--font-small); }
.cvh-property-features__fact dd { margin: 0.5rem 0 0; color: var(--color-primary-dark); font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 700; }
.cvh-property-features__equipment { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.75rem 2rem; padding: 0; margin: 0; list-style: none; }
.cvh-property-features__equipment li { display: flex; gap: 0.75rem; min-width: 0; overflow-wrap: anywhere; }
.cvh-property-features__mark { color: var(--color-primary-dark); flex-shrink: 0; }
.cvh-property-contact { margin-top: clamp(2rem, 5vw, 4rem); padding: clamp(1.25rem, 4vw, 2.5rem); background: var(--color-primary-light); border: 1px solid var(--color-border); border-radius: var(--radius); overflow-wrap: anywhere; }
.cvh-property-contact h2 { margin-top: 0; }
.cvh-property-contact__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.5rem; }
.cvh-property-contact__email { display: inline-flex; align-items: center; min-height: 2.875rem; max-width: 100%; }
.cvh-property-contact a:focus-visible { outline: 3px solid var(--color-primary-dark); outline-offset: 4px; }
@media (min-width: 64rem) {
	div.cvh-property-contact { max-width: 850px; margin-inline: auto; }
	div.cvh-property-contact .cvh-contact__form-section { max-width: none; }
}
@media (min-width: 48rem) {
	.cvh-property-features__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cvh-property-features__equipment { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.cvh-property-single .cvh-tourist-registration { margin-block: 1.5rem; overflow-wrap: anywhere; color: var(--color-muted); }
