/* ===========================
   CIAN Style Section Header
   =========================== */
.cian-header-container {
    padding: 0 20px;
    margin-bottom: 10px;
}

.cian-section-title {
    font-size: 24px;
    font-weight: 700;
    color: #000;
    margin: 0 0 5px 0;
}

.cian-title-line {
    border: none;
    border-top: 1px solid #ddd;
    margin: 0;
}

/* ===========================
   Cards Grid
   =========================== */
.cian-cards-section {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 0 20px 30px;
    max-width: 1400px;
    margin: 0 auto;
}

/* ===========================
   Card Design
   =========================== */
.cian-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cian-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.cian-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.cian-card .card-content {
    padding: 12px 15px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/* ===========================
   Text Styles
   =========================== */
.cian-card .price {
    font-size: 18px;
    font-weight: 700;
    color: #000;
}

.cian-card .details {
  font-weight: 700;            /* Bold text for better visibility */
  font-size: 15px;             /* Slightly larger font size */
  color: #222;                 /* Stronger contrast */
  line-height: 1.4;            /* Better readability */
  letter-spacing: 0.3px;       /* Slight letter spacing */
  margin-bottom: 6px;          /* Space below title */

  /* Multi-line ellipsis (show up to 2 lines, then ...) */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cian-card .details:hover {
  color: #0073ff;              /* Highlight color on hover */
  transition: color 0.3s ease; /* Smooth color transition */
}


.cian-card .address {
    font-size: 13px;
    color: #666;
    margin-top: 5px;
}

/* ===========================
   Responsive Design
   =========================== */
@media (max-width: 1024px) {
    .cian-cards-section {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .cian-cards-section {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 0 10px 20px;
    }

    .cian-card img {
        height: 180px;
    }
}

.cian-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    height: 100%; /* Make cards stretch */
}

.cian-cards-section {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 0 20px 30px;
    max-width: 1400px;
    margin: 0 auto;
    align-items: stretch; /* Force equal card heights */
}

.recommended-section {
    max-width: 1300px;
    margin: 0 auto;
    padding: 10px;
}

.recommended-title {
    margin-bottom: 20px;
}

.recommended-title h2 {
    font-size: 22px;
    font-weight: bold;
    margin: 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #eee;
}

.cian-cards-section {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

/* Main grid styling */
.cian-cards-section {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columns for desktop */
    gap: 20px;
    max-width: 1300px;
    margin: 0 auto;
    padding: 20px 10px;
}

/* Card styling */
.cian-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    text-decoration: none;
    color: #000;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* RESPONSIVE FIX */
@media (max-width: 1024px) {
    .cian-cards-section {
        grid-template-columns: repeat(2, 1fr); /* 2 columns for tablets */
    }
}

@media (max-width: 600px) {
    .cian-cards-section {
        grid-template-columns: 1fr; /* 1 column for mobile */
    }
}

.cian-cards-wrapper {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 10px;
}

.section-title {
    font-size: 22px;
    font-weight: bold;
    margin: 20px 0 10px;
    color: #111;
}

.section-title {
    font-size: 22px;
    font-weight: bold;
    margin: 10px 0 15px; /* Reduce bottom margin */
    color: #111;
}

.cian-cards-section {
    margin-top: 0 !important; /* Remove extra spacing */
}

.section-title {
    font-size: 22px;
    font-weight: 700;
    color: #111;
    margin: 0 0 12px; /* Small bottom margin */
    padding: 0;
}

.cian-cards-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

@media (max-width: 600px) {
    .cian-cards-section {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 0 0 20px; /* Remove left and right padding */
    }

    .cian-card {
        border-radius: 0; /* Optional: Remove corner radius for full width */
        width: 100%;
        margin: 0; /* Ensure no extra margin */
    }

    .cian-card img {
        height: 200px;
        object-fit: cover;
    }
}



.cian-card {
    position: relative;
}

.badge-premium {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 3px 8px;
    font-size: 14px;
    font-weight: 600;
    color: #fff; /* White text */
    background: rgba(0, 0, 0, 0.4); /* Transparent dark background */
    border-radius: 4px;
    text-transform: uppercase;
    pointer-events: none;
}




.price-type-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 5px;
}

.badge-premium {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 2px 6px;
    font-size: 13px;
    font-weight: 600;
    color: #000; /* Black text */
    background: rgba(255, 255, 255, 0.8); /* Soft white background */
    border-radius: 4px;
}

