/* Listing amenities, using the taxonomy's configured icons and labels. */
.listing-features.listeo-feature-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; columns: auto; padding: 0; }
.listing-features.listeo-feature-cards li { position: relative; overflow: hidden; isolation: isolate; transition: background-color .35s cubic-bezier(.2,.8,.2,1); display: flex; align-items: center; gap: 12px; width: auto; min-width: 0; min-height: 62px; box-sizing: border-box; margin: 0; padding: 12px 14px 12px 12px; border-radius: 8px; background: #f8f8f8; font-size: 15px; line-height: 1.3; }
.listing-features.listeo-feature-cards li.faicon { padding: 12px 14px 12px 12px; }
.listing-features.listeo-feature-cards li > a { color: #222; overflow-wrap: anywhere; }
.listing-features.listeo-feature-cards li > a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.listing-features.listeo-feature-cards li > a:focus-visible { outline: none; }
.listing-features.listeo-feature-cards li > a:focus-visible::after { outline: 2px solid var(--listeo-primary-color, #f91942); outline-offset: -2px; }
.listing-features.listeo-feature-cards li > i,
.listing-features.listeo-feature-cards li > .feature-svg-icon,
.listing-features.listeo-feature-cards li.feature-no-icon::before { position: static; display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; margin: 0; padding: 0; border: 0; border-radius: 8px; background: #fff; box-shadow: 0 1px 1px #00000014; color: var(--listeo-primary-color, #f91942); font-size: 21px; line-height: 1; transition: transform .5s cubic-bezier(.34,1.56,.64,1); }
.listing-features.listeo-feature-cards li.feature-no-icon::before { font-size: 17px; }
.listing-features.listeo-feature-cards .feature-svg-icon svg { display: block; width: 21px; max-width: 21px; height: 21px; }
.listing-features.listeo-feature-cards .feature-svg-icon svg:not([fill="none"]) { fill: currentColor; }
.listing-features.listeo-feature-cards .feature-svg-icon svg [fill]:not([fill="none"]) { fill: currentColor; }
@media (max-width: 767px) { .listing-features.listeo-feature-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .listing-features.listeo-feature-cards { grid-template-columns: minmax(0, 1fr); } }

.listing-features.listeo-feature-cards li::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(200px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.6), rgba(255,255,255,0) 70%); opacity: 0; transition: opacity .35s; pointer-events: none; }
.listing-features.listeo-feature-cards li:hover,
.listing-features.listeo-feature-cards li:focus-within { background: var(--listeo-primary-color-light, #ffecef); }
.listing-features.listeo-feature-cards li:hover::after,
.listing-features.listeo-feature-cards li:focus-within::after { opacity: 1; }
.listing-features.listeo-feature-cards li:hover > i,
.listing-features.listeo-feature-cards li:hover > .feature-svg-icon,
.listing-features.listeo-feature-cards li:hover.feature-no-icon::before,
.listing-features.listeo-feature-cards li:focus-within > i,
.listing-features.listeo-feature-cards li:focus-within > .feature-svg-icon,
.listing-features.listeo-feature-cards li.feature-no-icon:focus-within::before { transform: rotate(-7deg); }
.listing-features.listeo-feature-cards .feature-svg-icon svg[fill="none"] :is(path, circle, ellipse, rect, g):not([fill]) { fill: none; }
.listing-features.listeo-feature-cards .feature-svg-icon svg[fill="none"] .duo { fill: var(--listeo-primary-color-light, #ffd3dc); stroke: none; }
@media (prefers-reduced-motion: reduce) {
 .listing-features.listeo-feature-cards li, .listing-features.listeo-feature-cards li::after,
 .listing-features.listeo-feature-cards li > i, .listing-features.listeo-feature-cards li > .feature-svg-icon,
 .listing-features.listeo-feature-cards li.feature-no-icon::before { transition: none; }
}
