.vlp-wrap { max-width: 1180px; }
.vlp-card { color: #1f2937; }
.vlp-shortcode-card { max-width: 760px; margin: 1.5rem auto; box-sizing: border-box; }
.vlp-shortcode-empty { padding: 0.75rem 1rem; border-left: 4px solid #7c3aed; background: #f7f3ff; }
.vlp-public-demo { margin: 1.5rem 0; text-align: center; font-family: Georgia, serif; font-size: clamp(18px, 2vw, 24px); color: #5b2a1e; }
.vlp-lock, .vlp-unlock { display: inline-block; margin-right: 4px; font-size: 15px; line-height: 1; vertical-align: -1px; cursor: help; }
.vlp-shortcode-card .vlp-text { margin: 10px 0 18px; font-family: Georgia, serif; font-size: 19px; line-height: 1.6; }
.vlp-card blockquote,
.vlp-detail blockquote { margin: 16px 0; padding: 12px 18px; border-left: 4px solid #7c3aed; font-family: Georgia, serif; font-size: 17px; line-height: 1.55; }
.vlp-private-label { display: inline-block; padding: 4px 8px; border-radius: 4px; background: #fef3c7; color: #92400e; font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.vlp-attribution { margin-bottom: 8px; }
.vlp-editorial-card { max-width: 760px; margin: 1.5rem auto; box-sizing: border-box; }
.vlp-editorial-card .vlp-text { margin: 0 0 14px; font-family: Georgia, serif; font-size: 19px; line-height: 1.6; }
.vlp-editorial-title { margin: 0 0 9px; }
.vlp-editorial-title a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.vlp-editorial-title a:hover, .vlp-editorial-title a:focus { color: #7c3aed; }
.vlp-editorial-meta .dashicons { width: 18px; height: 18px; padding: 2px 1px 2px 0; color: #6b4f45; font-size: 18px; line-height: 18px; }
.vlp-editorial-meta .vlp-tag { background: #f3ece9; color: #6b3325; }
.vlp-editorial-meta a.vlp-tag { text-decoration: none; }
.vlp-editorial-meta a.vlp-tag:hover,
.vlp-editorial-meta a.vlp-tag:focus { background: #eadbd5; color: #4f241a; text-decoration: underline; text-underline-offset: 2px; }
.vlp-card.is-preview { padding: 22px; border: 1px solid #dcdcde; border-radius: 8px; background: #fff; }
.vlp-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.vlp-meta span,
.vlp-meta a.vlp-tag { padding: 3px 7px; border-radius: 999px; background: #ede9fe; color: #5b21b6; font-size: 12px; }
.vlp-meta .vlp-theme-amor { background: #fce7f3; color: #9d174d; }
.vlp-meta .vlp-theme-amizade { background: #dbeafe; color: #1e40af; }
.vlp-meta .vlp-status-autoral_confirmada,
.vlp-meta .vlp-status-confirmada_fonte_documental { background: #dcfce7; color: #166534; }
.vlp-meta .vlp-status-autor_desconhecido,
.vlp-meta .vlp-status-autoria_nao_localizada,
.vlp-meta .vlp-status-autoria_indeterminada,
.vlp-meta .vlp-status-nao_pesquisada { background: #fef3c7; color: #92400e; }
.vlp-meta .vlp-status-internal { background: #e5e7eb; color: #374151; }
.vlp-note { padding: 10px; background: #f8fafc; border-radius: 5px; }
.vlp-actions { margin-bottom: 0; }
.vlp-admin-banner { padding: 12px 16px; border-left-color: #7c3aed; }
.vlp-admin-banner .vlp-banner-title { font-weight: 700; color: #5b21b6; }
.vlp-admin-banner .vlp-card blockquote { margin: 8px 0; font-size: 14px; }
.vlp-filters { display: flex; gap: 8px; margin: 18px 0; }
.vlp-table td { vertical-align: top; }
.vlp-locked { color: #991b1b; font-weight: 600; }
.vlp-call-state { display: inline-block; padding: 3px 7px; border-radius: 999px; background: #e5e7eb; font-weight: 600; }
.vlp-state-circulating { background: #dcfce7; color: #166534; }
.vlp-state-scheduled { background: #dbeafe; color: #1e40af; }
.vlp-state-destination_unavailable { background: #fee2e2; color: #991b1b; }
.vlp-state-paused, .vlp-state-ended { background: #f3f4f6; color: #4b5563; }
.vlp-call-form select#linked_post_id { min-width: min(620px, 100%); }
.vlp-tag-choice { display: inline-block; margin: 0 10px 8px 0; }
#vlp-phrase-count.is-over-recommendation { color: #b45309; font-weight: 700; }
.vlp-detail { max-width: 820px; padding: 24px; background: #fff; border: 1px solid #dcdcde; border-radius: 8px; }
.vlp-detail dl { display: grid; grid-template-columns: 190px 1fr; gap: 8px 16px; }
.vlp-detail dt { font-weight: 700; }
.vlp-detail dd { margin: 0; }
@media (max-width: 782px) {
  .vlp-filters { flex-direction: column; align-items: stretch; }
  .vlp-detail dl { grid-template-columns: 1fr; }
  .vlp-detail dd { margin-bottom: 8px; }
}
