.cm-reco-cards{display:flex;flex-direction:column;gap:12px}
.cm-reco-card{
  position:relative;
  display:flex;
  gap:12px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  transition:transform .12s ease, background .12s ease, border-color .12s ease;
  cursor:pointer;
}
.cm-reco-card:hover{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.14);
  transform:translateY(-1px);
}
.cm-reco-img{
  width:64px;height:64px;object-fit:cover;border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  flex:0 0 auto;
}
.cm-reco-meta{
  display:grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "name btn"
    "excerpt btn"
    "price btn"
    "stamp btn";
  column-gap:12px;
  row-gap:4px;
  align-items:start;
  min-width:0;
  width:100%;
}
.cm-reco-name{grid-area:name;font-weight:900;font-size:14px;line-height:1.2;min-width:0}
.cm-reco-excerpt{grid-area:excerpt;font-size:13px;opacity:.85;line-height:1.35;min-width:0}
.cm-reco-price{grid-area:price;font-weight:900;font-size:13px}
.cm-reco-stamp{grid-area:stamp;font-size:11px;opacity:.75}

.cm-reco-btn{
  grid-area:btn;
  align-self:center;
  display:inline-flex !important;
  width:auto !important;
  white-space:nowrap;
  padding:8px 12px;
  border-radius:12px;
  background:rgba(59,130,246,.18);
  border:1px solid rgba(59,130,246,.35);
  text-decoration:none;
  font-weight:900;
  font-size:13px;
}
.cm-reco-btn:hover{background:rgba(59,130,246,.25)}
.cm-reco-badge{
  position:absolute;top:10px;right:10px;
  font-size:11px;font-weight:900;
  padding:4px 8px;border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}

@media (max-width:420px){
  .cm-reco-meta{
    grid-template-columns:1fr;
    grid-template-areas:
      "name"
      "excerpt"
      "price"
      "stamp"
      "btn";
  }
  .cm-reco-btn{width:100% !important; justify-content:center;}
}

/* Tooltip */
.cm-reco-tooltip{position:absolute;z-index:99999;width:360px;max-width:calc(100vw - 24px)}
.cm-reco-tip-inner{
  display:flex;gap:12px;padding:12px;border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(15,15,16,.96);color:rgba(255,255,255,.92);
  box-shadow:0 12px 30px rgba(0,0,0,.45);
  backdrop-filter: blur(10px);
}
.cm-reco-tip-img{width:74px;height:74px;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.10)}
.cm-reco-tip-title{font-weight:900;font-size:14px;line-height:1.25;margin:0 0 6px}
.cm-reco-tip-price{font-weight:900;font-size:14px;margin:0 0 4px}
.cm-reco-tip-stamp{font-size:12px;opacity:.82;margin:0 0 6px}
.cm-reco-tip-text{font-size:12px;opacity:.88;line-height:1.35;white-space:pre-wrap}
