/* Omnia Sana source-card component — generated from os-cards.php (os_cards_css). Do not hand-edit. */
.os-kf-results { max-width: 880px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.os-kf-card { display: block; text-decoration: none; color: var(--os-text); background: rgba(44,69,48,0.55); border: 1px solid var(--os-border); border-radius: var(--os-radius); padding: 20px 22px; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease; }
.os-kf-card--link:hover { transform: translateY(-2px); background: rgba(50,77,54,0.85); border-color: rgba(184,92,44,0.5); box-shadow: 0 12px 28px rgba(0,0,0,0.26); }
.os-kf-card-link { display: block; text-decoration: none; color: inherit; }
.os-kf-card-title { font-family: var(--os-serif); font-size: 21px; line-height: 1.3; font-weight: 600; margin: 0 0 8px; color: var(--os-text); }
.os-kf-card-meta { font-family: var(--os-sans); font-size: 13.5px; color: var(--os-text-muted); margin: 0 0 12px; }
.os-kf-card-meta .os-kf-year { color: var(--os-text); font-weight: 600; }
.os-kf-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 12px; }
.os-kf-tag { font-family: var(--os-sans); font-size: 11.5px; font-weight: 600; letter-spacing: .3px; padding: 4px 10px; border-radius: 999px; background: rgba(184,92,44,0.16); color: #e7b48f; border: 1px solid rgba(184,92,44,0.25); }
.os-kf-tag--sci { background: rgba(242,241,239,0.06); color: var(--os-text-muted); border-color: var(--os-border); font-style: italic; }
.os-kf-go { font-family: var(--os-sans); font-size: 13px; font-weight: 600; color: var(--os-accent); display: inline-flex; align-items: center; gap: 6px; }
.os-kf-card--link:hover .os-kf-go { color: var(--os-accent-hover); }
.os-kf-go--search { color: var(--os-text-dim); }
/* evidence-tier badge (RCT / review / clinical / preclinical / traditional) */
.os-kf-tier { font-family: var(--os-sans); font-size: 11px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; border: 1px solid transparent; }
.os-kf-tier--rct { background: rgba(86,150,94,0.18); color: #8fcf97; border-color: rgba(86,150,94,0.4); }
.os-kf-tier--review { background: rgba(86,150,94,0.13); color: #7fbf88; border-color: rgba(86,150,94,0.32); }
.os-kf-tier--clinical { background: rgba(184,140,44,0.16); color: #e3b56a; border-color: rgba(184,140,44,0.35); }
.os-kf-tier--preclinical { background: rgba(242,241,239,0.06); color: var(--os-text-muted); border-color: var(--os-border); }
.os-kf-tier--traditional { background: rgba(150,110,80,0.16); color: #cda988; border-color: rgba(150,110,80,0.34); }
.os-kf-foot { margin-top: 14px; }
.os-kf-abstract-toggle { display: inline-flex; align-items: center; gap: 7px; font-family: var(--os-sans); font-size: 13px; font-weight: 600; letter-spacing: .2px; color: var(--os-text-muted); background: rgba(242,241,239,0.05); border: 1px solid var(--os-border); border-radius: 999px; padding: 7px 15px; cursor: pointer; -webkit-appearance: none; appearance: none; transition: color .15s ease, background .15s ease, border-color .15s ease; }
.os-kf-abstract-toggle:hover { color: var(--os-text); background: rgba(184,92,44,0.14); border-color: rgba(184,92,44,0.5); }
.os-kf-abstract-toggle:focus-visible { outline: 2px solid rgba(184,92,44,0.6); outline-offset: 2px; }
.os-kf-chev { flex: none; transition: transform .2s ease; }
.os-kf-abstract-toggle--open .os-kf-chev { transform: rotate(180deg); }
.os-kf-abstract { margin-top: 14px; border-top: 1px solid var(--os-border); padding-top: 14px; max-height: 360px; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.os-kf-abstract p { font-family: var(--os-sans); font-size: 14.5px; line-height: 1.62; color: var(--os-text-muted); margin: 0; white-space: pre-line; }
.os-kf-abstract[hidden] { display: none; }
.os-kf-empty { max-width: 880px; margin: 8px auto 0; text-align: center; font-family: var(--os-sans); font-size: 16px; color: var(--os-text-muted); padding: 40px 0; }
.os-kf-more { max-width: 880px; margin: 18px auto 0; text-align: center; font-family: var(--os-sans); font-size: 13px; color: var(--os-text-dim); }
.os-kf-skel { height: 96px; border-radius: var(--os-radius); background: linear-gradient(100deg, rgba(44,69,48,0.4) 30%, rgba(60,88,64,0.6) 50%, rgba(44,69,48,0.4) 70%); background-size: 200% 100%; animation: os-kf-shimmer 1.2s ease-in-out infinite; }
@keyframes os-kf-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
@media (max-width: 600px) { .os-kf-card { padding: 17px 18px; } .os-kf-card-title { font-size: 19px; } }