/* GRID */
.ctv-cards-grid {
  display: grid;
  gap: 26px;
  margin: 52px auto;
}
.ctv-cards-grid.cols-3 { grid-template-columns: repeat(3,1fr); }
.ctv-cards-grid.cols-2 { grid-template-columns: repeat(2,1fr); }

@media (max-width:900px){
  .ctv-cards-grid.cols-3,
  .ctv-cards-grid.cols-2 { grid-template-columns: repeat(2,1fr); }
}
@media (max-width:600px){
  .ctv-cards-grid { grid-template-columns: 1fr; }
}

/* CARD */
.ctv-card{
  display:block;
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  text-decoration:none!important;
  box-shadow:0 12px 34px rgba(0,0,0,.10);
  transition:.25s ease;
}
.ctv-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 46px rgba(0,0,0,.14);
}

/* IMAGE */
.ctv-card-image{position:relative;}
.ctv-card-image img{
  width:100%;
  height:250px;
  object-fit:cover;
  display:block;
}

/* COUNTRY BADGE (CENTERED) */
.ctv-card-country{
  position:absolute;
  top:14px;
  left:50%;
  transform:translateX(-50%);
  background:#fff;
  color:#25343F;
  padding:5px 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
}

/* CONTENT */
.ctv-card-content{
  padding:18px 20px 20px;
  text-align:left;
}

/* TITLE */
.ctv-card-title{
  margin:6px 0 8px;
  font-size:18px;
  font-weight:700;
  color:#111;
  line-height:1.3;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* DESCRIPTION */
.ctv-card-desc{
  margin:0 0 12px;
  font-size:15px;
  color:#555;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* CTA (CENTERED) */
.ctv-card-cta-wrap{
  text-align:center;
}
.ctv-card-cta{
  display:inline-block;
  font-size:15px;
  font-weight:700;
  color:#e35a1c;
}


/* === FIX v1.6.3: FORCE ORIGINAL CARD LINK DESIGN === */
.ctv-card {
  text-decoration: none !important;
}

.ctv-card *,
.ctv-card:hover * {
  text-decoration: none !important;
}

.ctv-card a {
  color: inherit !important;
}

/* === FIX v1.6.4: MOBILE SINGLE COLUMN === */
@media (max-width: 640px) {
  .ctv-cards-grid {
    grid-template-columns: 1fr !important;
  }
}

/* === v1.6.5: EXPLORE BUTTON === */
.ctv-card-cta-wrap {
  margin-top: 14px;
}

.ctv-card-cta {
  display: inline-block;
  background: #E8E2DB;
  color: #383838;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 14px;
  transition: all .25s ease;
}

.ctv-card:hover .ctv-card-cta {
  background: #c05621;
  color: #fff;
}


/* === v1.6.6: LIGHT GREY CARD BORDER === */
.ctv-card {
  border: 1px solid #E9E9E9;
}
