/* ==========================================================
   CHIRALA RESORTS — MODERN COMPACT PROPERTY CARD
========================================================== */

.crms-property-card,
.crms-property-card *,
.crms-property-card *::before,
.crms-property-card *::after { box-sizing: border-box; }

.crms-property-card {
    display:flex; min-width:0; height:100%; overflow:hidden; flex-direction:column;
    margin:0; border:1px solid #dbe5e9; border-radius:17px; background:#fff;
    box-shadow:0 7px 20px rgba(17,42,62,.07); cursor:pointer;
    transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.crms-property-card:hover { transform:translateY(-5px); border-color:#bfd7d3; box-shadow:0 15px 34px rgba(17,42,62,.12); }
.crms-property-card:focus-visible { outline:3px solid rgba(15,118,110,.28); outline-offset:4px; }

/* MEDIA */
.crms-card-media { position:relative; width:100%; height:195px; min-height:195px; padding:0; overflow:hidden; background:#e9f0f2; }
.crms-property-slider,.crms-property-slider .swiper-wrapper,.crms-property-slider .swiper-slide { width:100%; height:100%; min-height:0; }
.crms-property-slider { overflow:hidden; border-radius:0; }
.crms-property-slider img { display:block; width:100%; height:100%; min-height:0; object-fit:cover; object-position:center; transition:transform .4s ease; }
.crms-property-card:hover .crms-property-slider img { transform:scale(1.035); }

.crms-property-rating-badge {
    position:absolute; top:12px; left:12px; z-index:8; display:inline-flex; align-items:center; gap:5px;
    min-height:27px; max-width:calc(100% - 70px); padding:5px 10px; border-radius:999px;
    background:rgba(0,128,115,.94); color:#fff; font-size:9px; font-weight:800; line-height:1;
    box-shadow:0 5px 13px rgba(0,91,82,.20); backdrop-filter:blur(7px);
}
.crms-property-rating-badge span:first-child { color:#ffd239; font-size:11px; }

.crms-property-favourite {
    position:absolute; top:11px; right:11px; z-index:9; display:grid; place-items:center;
    width:38px; height:38px; margin:0; padding:0; border:1px solid rgba(219,229,233,.92);
    border-radius:50%; background:rgba(255,255,255,.96); color:#607087; font-family:Arial,sans-serif;
    font-size:25px; line-height:1; cursor:pointer; box-shadow:0 5px 15px rgba(15,23,42,.12);
    transition:transform .2s ease,color .2s ease;
}
.crms-property-favourite:hover { transform:scale(1.06); color:#e33d34; }
.crms-property-favourite.is-active { color:#e33d34; }

.crms-property-gallery-count {
    position:absolute; bottom:10px; left:10px; z-index:8; padding:5px 8px; border-radius:7px;
    background:rgba(8,22,33,.78); color:#fff; font-size:10px; font-weight:800; line-height:1; backdrop-filter:blur(6px);
}

.crms-property-urgency {
    position:absolute; right:20px; bottom:10px; z-index:8; display:inline-flex; align-items:center; gap:5px;
    min-height:29px; padding:6px 9px; border-radius:7px; background:#e8342a; color:#fff;
    font-size:9px; font-weight:800; line-height:1; box-shadow:0 5px 14px rgba(185,32,25,.22);
}

.crms-property-slider .swiper-button-prev,.crms-property-slider .swiper-button-next {
    width:31px; height:31px; margin-top:-15px; border:1px solid rgba(214,224,229,.96); border-radius:50%;
    background:rgba(255,255,255,.96); color:#18334d; box-shadow:0 4px 10px rgba(15,23,42,.13); opacity:0;
    transition:opacity .2s ease,transform .2s ease;
}
.crms-property-card:hover .swiper-button-prev,.crms-property-card:hover .swiper-button-next,
.crms-property-slider:focus-within .swiper-button-prev,.crms-property-slider:focus-within .swiper-button-next { opacity:1; }
.crms-property-slider .swiper-button-prev { left:8px; }
.crms-property-slider .swiper-button-next { right:8px; }
.crms-property-slider .swiper-button-prev::after,.crms-property-slider .swiper-button-next::after { font-size:11px; font-weight:900; }
.crms-property-slider .swiper-pagination { display:none; }

/* CONTENT */
.crms-card-content { display:flex; flex:1; min-width:0; padding:13px 14px 14px; flex-direction:column; justify-content:space-between; }
.crms-card-main { display:flex; flex:1; min-width:0; flex-direction:column; }
.crms-card-title { margin:0 0 5px; color:#10243e; font-size:17px; font-weight:850; line-height:1.22; letter-spacing:-.025em; }
.crms-card-title::before,.crms-card-title::after { display:none!important; }
.crms-card-title a { color:inherit; text-decoration:none; }
.crms-card-title a:hover { color:#0f766e; }

.crms-card-location { display:flex; align-items:flex-start; gap:6px; min-height:17px; margin:0; color:#69798c; font-size:10px; line-height:1.35; }
.crms-card-icon { display:inline-block; width:auto; height:auto; flex:0 0 auto; color:#ef3340; font-size:8px; line-height:1.45; }

.crms-card-amenities { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; margin:8px 0 0; }
.crms-amenity-item { display:inline-flex; align-items:center; gap:4px; color:#596a7e; font-size:9px; font-weight:600; line-height:1.3; }
.crms-amenity-icon { display:inline-flex; align-items:center; justify-content:center; min-width:12px; color:#07887d; font-size:10px; font-weight:900; }

.crms-card-meta { display:flex; align-items:center; flex-wrap:wrap; gap:7px 13px; margin-top:8px; padding:0 0 11px; border-bottom:1px solid #e8edef; color:#64758a; font-size:9px; }
.crms-meta-item { display:inline-flex; align-items:center; gap:4px; color:inherit; font-size:inherit; }
.crms-meta-icon { display:inline-flex; align-items:center; justify-content:center; min-width:12px; color:#087c9a; font-size:10px; font-weight:800; }

/* FOOTER */
.crms-card-footer { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-top:auto; padding-top:10px; }
.crms-card-price { min-width:0; }
.crms-price-line { display:flex; align-items:baseline; flex-wrap:wrap; gap:3px; }
.crms-card-price strong { display:block; color:#00796f; font-size:20px; font-weight:850; line-height:1; letter-spacing:-.02em; }
.crms-card-price span { color:#6a798b; font-size:8px; }
.crms-card-price small { display:block; max-width:145px; margin-top:4px; color:#8290a0; font-size:7.5px; line-height:1.35; }
.crms-price-unavailable { padding-bottom:4px; }
.crms-card-actions { display:contents; }

.crms-card-button {
    display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:35px; padding:8px 11px;
    border:1px solid #007f75; border-radius:8px; background:#007f75; color:#fff!important; font-size:8.5px;
    font-weight:800; line-height:1; text-decoration:none!important; white-space:nowrap; box-shadow:0 5px 12px rgba(0,127,117,.14);
    transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.crms-card-button:hover { transform:translateY(-1px); background:#006a62; box-shadow:0 8px 17px rgba(0,106,98,.20); }

.cr-v2-discover__grid,.crms-resorts-grid { align-items:stretch; }
.cr-v2-discover__grid .crms-property-card,.crms-resorts-grid .crms-property-card { width:100%; }
.crms-search-grid { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:20px!important; width:100%; }

@media (max-width:1100px) { .crms-card-media { height:185px; min-height:185px; } }
@media (max-width:760px) {
    .crms-card-media { height:230px; min-height:230px; }
    .crms-property-slider .swiper-button-prev,.crms-property-slider .swiper-button-next { opacity:1; }
    .crms-card-title { font-size:19px; }
}
@media (max-width:420px) { .crms-card-media { height:205px; min-height:205px; } }
@media (prefers-reduced-motion:reduce) {
    .crms-property-card,.crms-property-slider img,.crms-card-button,.crms-property-favourite { transition:none; }
    .crms-property-card:hover,.crms-card-button:hover,.crms-property-favourite:hover { transform:none; }
}
