.tessolva-blog-card + .tessolva-blog-card { border-top: 1px solid var(--site-line); }
.tessolva-blog-card[hidden] { display: none !important; }
.tessolva-blog-filter { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; padding: 18px 20px; border: 1px solid var(--site-line); border-radius: 12px; background: var(--site-surface-alt); }
.tessolva-blog-filter label { display: block; font-size: 14px; font-weight: 500; color: var(--site-ink); }
.tessolva-blog-filter [data-blog-count] { display: block; margin-top: 4px; font-size: 12px; color: var(--site-muted); }
.tessolva-blog-filter select { width: 220px; max-width: 100%; min-height: 42px; padding: 9px 14px; border: 1px solid var(--site-line-strong); border-radius: 999px; background: var(--site-surface); color: var(--site-ink); font: inherit; font-size: 14px; cursor: pointer; }
.tessolva-blog-filter select:focus-visible { outline: 2px solid var(--site-ink); outline-offset: 3px; }
@media (max-width: 480px) { .tessolva-blog-filter { align-items: stretch; flex-direction: column; gap: 12px; padding: 16px; } .tessolva-blog-filter select { width: 100%; } }
.tessolva-blog-article .site-legal-prose blockquote { margin: 28px 0; padding: 18px 22px; border-left: 3px solid var(--site-line-strong); border-radius: 0 12px 12px 0; background: var(--site-surface-alt); }
.tessolva-blog-article .site-legal-prose blockquote p { margin-top: 12px; }
.tessolva-blog-article .site-legal-prose blockquote p:first-child { margin-top: 0; }
.tessolva-blog-article .site-legal-prose section { scroll-margin-top: 80px; }
.tessolva-blog-article .site-legal-prose a { overflow-wrap: anywhere; }
@media (max-width: 640px) { .tessolva-blog-article .site-legal-prose blockquote { padding: 16px; } }

/* Custom topic picker: the native select remains the no-JavaScript fallback. */
.tessolva-blog-filter select[hidden]{display:none}
.blog-topic-picker{position:relative;width:260px;max-width:100%;flex:none}
.blog-topic-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:46px;padding:11px 16px;border:1px solid var(--site-line-strong);border-radius:12px;background:var(--site-surface);color:var(--site-ink);font:inherit;font-size:14px;text-align:left;cursor:pointer;transition:border-color 160ms,box-shadow 160ms}
.blog-topic-trigger svg{width:18px;height:18px;flex:none;color:var(--site-muted);transition:transform 160ms}
.blog-topic-trigger:hover{border-color:var(--site-muted)}
.blog-topic-trigger[aria-expanded=true]{border-color:var(--site-muted);box-shadow:0 0 0 3px var(--site-line)}
.blog-topic-trigger[aria-expanded=true] svg{transform:rotate(180deg)}
.blog-topic-trigger:focus-visible{outline:2px solid var(--site-ink);outline-offset:3px}
.blog-topic-panel{position:absolute;z-index:40;top:calc(100% + 8px);right:0;width:300px;max-width:calc(100vw - 48px);padding:8px;border:1px solid var(--site-line-strong);border-radius:16px;background:var(--site-surface);color:var(--site-ink);box-shadow:0 16px 40px -12px rgb(0 0 0 / .2),0 2px 8px rgb(0 0 0 / .04)}
.blog-topic-panel[hidden]{display:none}
.blog-topic-eyebrow{margin:5px 10px 9px;color:var(--site-muted);font-size:10px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase}
.blog-topic-list{max-height:min(360px,50vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--site-line-strong) transparent}
.blog-topic-option{display:flex;align-items:center;gap:10px;min-height:39px;padding:9px 10px;border-radius:9px;font-size:13px;line-height:1.5;cursor:pointer}
.blog-topic-option:hover,.blog-topic-option.is-active{background:var(--site-surface-alt)}
.blog-topic-option[aria-selected=true]{font-weight:500;background:var(--site-surface-alt)}
.blog-topic-option::before{content:'';width:14px;height:14px;flex:none}
.blog-topic-option[aria-selected=true]::before{background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat}
.blog-topic-total{margin-left:auto;color:var(--site-muted);font-size:11px;font-weight:400;font-variant-numeric:tabular-nums}
.dark .blog-topic-panel{box-shadow:0 16px 40px -12px rgb(0 0 0 / .6)}
@media(max-width:480px){.blog-topic-picker,.blog-topic-panel{width:100%}.blog-topic-panel{max-width:100%}}
@media(prefers-reduced-motion:reduce){.blog-topic-trigger,.blog-topic-trigger svg{transition:none}}
