.sicv-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    align-items: stretch;
    gap: 22px;
}

.sicv-card {
    position: relative;
    display: flex;
    overflow: hidden;
    min-width: 0;
    height: 100%;
    flex-direction: column;
    border: 1px solid var(--sicv-line);
    border-radius: var(--sicv-radius-md);
    background: #fff;
    box-shadow: var(--sicv-shadow-sm);
    isolation: isolate;
    contain: layout paint;
}

.sicv-card.is-premium {
    border: 2px solid #d99111;
    background: #fffaf0;
    box-shadow: 0 16px 36px rgba(7, 26, 61, .18);
}

.sicv-card.is-premium::before {
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    left: 0;
    height: 5px;
    background: #ed7a16;
    content: "";
    pointer-events: none;
}

.sicv-card.is-featured:not(.is-premium) { border-top: 4px solid #ed7a16; }

.sicv-card__media {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 4 / 3;
    flex: 0 0 auto;
    background: #dfe6ee;
}

.sicv-card__media > img,
.sicv-card__media > picture,
.sicv-card__media > picture > img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
}

.sicv-card__placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 32px;
    background: #0a2758;
    color: #fff;
}

.sicv-card__placeholder img {
    position: static !important;
    width: min(220px, 75%) !important;
    height: auto !important;
    object-fit: contain !important;
}

.sicv-card__premium {
    position: absolute;
    z-index: 2;
    top: 16px;
    left: 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 6px 10px;
    background: #f5b62e;
    color: #071a3d;
    font-size: 11px;
    font-weight: 900;
}

.sicv-card__featured {
    position: absolute;
    z-index: 2;
    top: 12px;
    left: 12px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    padding: 6px 10px;
    background: #0a2758;
    color: #fff;
    box-shadow: 0 4px 14px rgba(7, 26, 61, .2);
    font-size: 11px;
    font-weight: 900;
}

.sicv-card.is-premium.is-featured .sicv-card__featured {
    top: 54px;
    background: #fff;
    color: #0a2758;
}

.sicv-card__body {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    padding: 19px;
}

.sicv-card.is-premium .sicv-card__body { padding: 21px; }
.sicv-card.is-premium .sicv-card__price-row { background: #fff; }

.sicv-card__badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 11px; }
.sicv-card__badges span { border-radius: 999px; padding: 4px 8px; background: #eaf0f6; color: #163f6e; font-size: 11px; font-weight: 800; }
.sicv-card__pricing { display: grid; gap: 6px; margin: 0 0 10px; }
.sicv-card__price-row { display: grid; gap: 2px; border-left: 4px solid var(--sicv-gold-500); border-radius: 8px; padding: 8px 10px; background: var(--sicv-gold-100); }
.sicv-card__price-row.is-rent { border-left-color: var(--sicv-orange-500); background: var(--sicv-orange-100); }
.sicv-card__price-row span { color: #70400e; font-size: 11px; font-weight: 850; letter-spacing: .025em; text-transform: uppercase; }
.sicv-card__price-row strong { color: #071a3d; font-size: 21px; font-weight: 900; line-height: 1.15; font-variant-numeric: tabular-nums; }
.sicv-card h2 { margin: 0; color: #0a2758 !important; font-size: 17px; line-height: 1.35; }
.sicv-card h2 a { color: #0a2758 !important; text-decoration: none; }
.sicv-card h2 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.sicv-card .sicv-card__location { margin: 7px 0 0; color: #50647c !important; font-size: 14px; line-height: 1.4; }
.sicv-card .sicv-fact { display: inline-flex; align-items: center; gap: 6px; padding: 8px 0; }
.sicv-card .sicv-fact__icon { display: inline-grid; width: 20px; height: 20px; place-items: center; color: #174b82; }
.sicv-card .sicv-fact dt { position: absolute; overflow: hidden; width: 1px; height: 1px; margin: -1px; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.sicv-card .sicv-fact dd { margin: 0; color: #14243b !important; font-size: 13px; }
.sicv-card dl { display: flex; flex-wrap: wrap; gap: 8px 15px; margin: 11px 0 17px; }
.sicv-card .sicv-button { display: inline-flex; width: fit-content; min-height: 44px; align-items: center; gap: 8px; margin-top: auto; color: #fff !important; }
.sicv-card .sicv-button--premium { border-color: #a83f00; background: #c95808; color: #fff !important; }
.sicv-card .sicv-button--premium:hover { border-color: #a83f00; background: #c95808; color: #fff !important; }
.sicv-card .sicv-card__cta i { font-size: 12px; }

.sicv-card:focus-within { outline: 3px solid #f5b62e; outline-offset: 3px; }

@media (max-width: 1050px) {
    .sicv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
    .sicv-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
}
