.tcu-save-button,
.tcu-save-login {
  --tcu-teal: #00B8A9;
  --tcu-purple: #9D4EDD;
  --tcu-yellow: #FFB703;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 11px 18px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: inherit;
  font: inherit;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, opacity .2s ease;
}
.tcu-save-button:hover,
.tcu-save-login:hover { transform: translateY(-1px); border-color: var(--tcu-teal); }
.tcu-save-button.is-saved { background: rgba(0,184,169,.12); border-color: var(--tcu-teal); }
.tcu-save-button.is-loading { opacity: .6; cursor: wait; }
.tcu-save-icon { font-size: 21px; line-height: 1; color: var(--tcu-teal); }
.tcu-save-button.is-saved .tcu-save-icon { color: var(--tcu-yellow); }
.tcu-save-count { display:inline-grid; place-items:center; min-width:24px; height:24px; padding:0 7px; border-radius:999px; background:rgba(157,78,221,.18); font-size:12px; }

.tcu-saved-posts-wrap { width:100%; }
.tcu-saved-posts-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:28px; }
.tcu-saved-posts-head h2 { margin:0 0 6px; }
.tcu-saved-total { opacity:.7; font-size:14px; }
.tcu-saved-sort select { min-height:44px; border-radius:10px; padding:0 36px 0 14px; }
.tcu-saved-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.tcu-saved-card { overflow:hidden; border:1px solid rgba(128,128,128,.18); border-radius:18px; background:rgba(255,255,255,.02); transition:opacity .18s ease, transform .18s ease; }
.tcu-saved-image { display:block; aspect-ratio:16/10; overflow:hidden; background:rgba(128,128,128,.08); }
.tcu-saved-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.tcu-saved-card:hover .tcu-saved-image img { transform:scale(1.035); }
.tcu-saved-no-image { display:block; width:100%; height:100%; background:linear-gradient(135deg, rgba(0,184,169,.12), rgba(157,78,221,.12)); }
.tcu-saved-card-body { padding:20px; }
.tcu-saved-category { margin-bottom:9px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#00B8A9; }
.tcu-saved-card h3 { margin:0 0 10px; font-size:22px; line-height:1.25; }
.tcu-saved-card h3 a { color:inherit; text-decoration:none; }
.tcu-saved-excerpt { margin:0 0 14px; opacity:.75; }
.tcu-saved-date { margin-bottom:18px; font-size:12px; opacity:.55; }
.tcu-saved-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:15px; border-top:1px solid rgba(128,128,128,.15); }
.tcu-saved-view { font-weight:700; text-decoration:none; }
.tcu-saved-remove { padding:0; border:0; background:none; color:inherit; font:inherit; font-size:13px; opacity:.62; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.tcu-saved-remove:hover { opacity:1; }
.tcu-saved-empty { padding:54px 24px; text-align:center; border:1px dashed rgba(128,128,128,.25); border-radius:18px; }
.tcu-saved-empty-icon { margin-bottom:12px; font-size:42px; color:#00B8A9; }
.tcu-saved-empty h3 { margin:0 0 8px; }
.tcu-saved-empty p { margin:0 auto; max-width:520px; opacity:.7; }

@media (max-width: 999px) {
  .tcu-saved-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .tcu-saved-posts-head { align-items:stretch; flex-direction:column; }
  .tcu-saved-sort select { width:100%; }
  .tcu-saved-grid { grid-template-columns:1fr; }
  .tcu-save-button, .tcu-save-login { width:100%; justify-content:center; }
}
