/* VVT Tour Grid */
.vvt-grid-wrap{width:100%;font-family:'Barlow',-apple-system,sans-serif}

/* ── Filtri ── */
.vvt-filter-bar{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-bottom:28px;
}
.vvt-filter-btn{
  padding:8px 20px;border-radius:20px;
  border:1.5px solid rgba(0,0,0,.12);
  background:#fff;color:#555;
  font-size:11px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  cursor:pointer;transition:all .15s;font-family:'Barlow',sans-serif;
}
.vvt-filter-btn:hover{border-color:#B69855;color:#B69855}
.vvt-filter-btn.active{
  background:#0f0f0f;color:#F1E796;
  border-color:#0f0f0f;
}

/* ── Griglia ── */
.vvt-grid{
  display:grid;
  grid-template-columns:repeat(var(--cols,3),1fr);
  gap:20px;
}

/* ── Card ── */
.vvt-card{
  background:#fff;border:1px solid rgba(0,0,0,.09);
  border-radius:10px;overflow:hidden;
  transition:transform .2s,box-shadow .2s;
  display:flex;flex-direction:column;
}
.vvt-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(0,0,0,.1);
}
.vvt-card.hidden{display:none}

/* ── Immagine ── */
.vvt-card-img{
  position:relative;height:280px;overflow:hidden;
  background:#f0ede6;
}
.vvt-card-img-link{
  display:block;width:100%;height:100%;
  position:absolute;inset:0;z-index:1;
}
.vvt-card-img img{
  width:100%;height:100%;
  object-fit:cover;display:block;
  transition:transform .4s;
}
.vvt-card:hover .vvt-card-img img{transform:scale(1.05)}
.vvt-card-img-placeholder{
  width:100%;height:100%;
  background:linear-gradient(135deg,#e8e4dc,#d4cfc5);
}
.vvt-card-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.45) 0%,transparent 60%);
}
.vvt-card-badges{
  position:absolute;top:12px;left:12px;
  display:flex;flex-direction:column;gap:6px;
  z-index:2;
}
.vvt-badge{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 10px;border-radius:20px;
  font-size:11px;font-weight:700;
  letter-spacing:.03em;white-space:nowrap;
  font-family:'Barlow',sans-serif;
}
.vvt-badge-top{background:#0f0f0f;color:#F1E796}
.vvt-badge-urgent{background:#c0392b;color:#fff}
.vvt-badge-social{background:rgba(255,255,255,.95);color:#0f0f0f}
.vvt-badge-new{background:#B69855;color:#fff}
.vvt-badge-dot{
  width:6px;height:6px;border-radius:50%;
  background:currentColor;opacity:.85;
  animation:vvt-pulse 1.5s infinite;flex-shrink:0;
}
@keyframes vvt-pulse{0%,100%{opacity:.85}50%{opacity:.25}}
.vvt-card-cat{
  position:absolute;bottom:12px;left:12px;
  font-size:9px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.8);
  z-index:2;pointer-events:none;
}

/* ── Body ── */
.vvt-card-body{padding:16px;flex:1;display:flex;flex-direction:column}
.vvt-card-title{
  font-size:17px;font-weight:800;
  color:#0f0f0f;margin-bottom:6px;
  line-height:1.25;letter-spacing:-.01em;
}
.vvt-card-desc{
  font-size:15px;color:#666;
  font-weight:300;line-height:1.65;
  margin-bottom:12px;flex:1;
}

/* ── Meta tag ── */
.vvt-card-meta{
  display:flex;flex-wrap:wrap;gap:6px;
  margin-bottom:14px;
}
.vvt-card-tag{
  display:inline-flex;align-items:center;gap:4px;
  font-size:11px;color:#666;
  background:#f7f6f3;padding:4px 10px;
  border-radius:20px;font-weight:500;
}
.vvt-card-tag i{font-size:12px}
.vvt-card-tag-green{color:#27ae60;background:rgba(39,174,96,.08)}

/* ── Footer ── */
.vvt-card-footer{
  display:flex;align-items:center;
  justify-content:space-between;
  padding-top:12px;
  border-top:1px solid rgba(0,0,0,.07);
  margin-top:auto;
}
.vvt-card-price{display:flex;flex-direction:column;line-height:1}
.vvt-card-price-from{
  font-size:10px;font-weight:700;
  color:#aaa;text-transform:uppercase;
  letter-spacing:.1em;margin-bottom:2px;
}
.vvt-card-price-val{
  font-size:20px;font-weight:800;
  color:#0f0f0f;letter-spacing:-.02em;
}
.vvt-card-price-val .woocommerce-Price-amount{
  font-size:20px!important;font-weight:800!important;color:#0f0f0f!important;
}
.vvt-card-price-per{
  font-size:11px;color:#aaa;
  font-weight:300;margin-top:2px;
}
.vvt-card-btn{
  background:#0f0f0f;color:#fff;
  border:none;border-radius:6px;
  padding:10px 16px;font-size:11px;
  font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;cursor:pointer;
  text-decoration:none;display:inline-block;
  transition:background .2s;
  white-space:nowrap;font-family:'Barlow',sans-serif;
  flex-shrink:0;
}
.vvt-card-btn:hover{background:#B69855;color:#fff}

/* ── Barra urgenza ── */
.vvt-urgency{
  display:flex;align-items:center;gap:7px;
  padding:9px 16px;font-size:12px;font-weight:500;
  border-top:1px solid rgba(0,0,0,.06);
}
.vvt-urgency i{font-size:14px;flex-shrink:0}
.vvt-urgency-fire{background:#fff8f0;color:#854F0B}
.vvt-urgency-fire i{color:#EF9F27}
.vvt-urgency-red{background:#fff5f5;color:#791F1F}
.vvt-urgency-red i{color:#E24B4A}
.vvt-urgency-green{background:#eaf3de;color:#27500A}
.vvt-urgency-green i{color:#639922}
.vvt-urgency-default{background:#f7f6f3;color:#888}
.vvt-urgency-default i{color:#B69855}

/* ── Rating bar in fondo alla card ── */
.vvt-rating-bar{
  display:flex;align-items:center;gap:8px;
  padding:10px 16px;
  border-top:1px solid rgba(0,0,0,.06);
  background:#fff;
}
.vvt-rating-stars{
  display:flex;gap:2px;
  font-size:13px;line-height:1;
}
.vvt-rating-star{color:#f0a500}
.vvt-rating-star.half{color:#f0a500;opacity:.5}
.vvt-rating-star.empty{color:#ddd}
.vvt-rating-score{
  font-size:13px;font-weight:800;
  color:#0f0f0f;
}
.vvt-rating-count{
  font-size:11px;color:#aaa;
  font-weight:300;
}
/* viewers rimossi dalla rating bar */
.vvt-viewers{ display:none !important; }

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .vvt-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:600px){
  .vvt-grid{grid-template-columns:1fr!important}
  .vvt-card-img{height:240px}
  .vvt-card-title{font-size:18px}
  .vvt-card-btn{font-size:12px;padding:11px 14px}
  .vvt-filter-bar{gap:6px}
  .vvt-filter-btn{padding:7px 14px;font-size:11px}
}
