/* Shared, explicitly linked political profiles. No Manage Sources styling. */
.political-profile-name{color:inherit;font:inherit;text-decoration:none;cursor:pointer}
.political-profile-name:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.political-profile-name:focus-visible,.political-profile-portrait-link:focus-visible{outline:2px solid #d92535;outline-offset:3px;border-radius:3px}
.political-portrait-frame{position:relative;display:block;flex:none;width:48px;height:48px;overflow:hidden;border-radius:50%;background:#edf1f6;color:#62748b;box-shadow:inset 0 0 0 1px #dfe7f2}
.political-portrait-frame .political-portrait-initials{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:#62748b;font:600 16px/1 'DM Sans',sans-serif}
.political-portrait-frame img{position:relative;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0%;border:0;box-shadow:none;border-radius:0}
.political-portrait-tight img{transform:scale(1.5);transform-origin:50% 0}
.political-portrait-frame img[hidden]{display:none}
.political-profile-portrait-link{display:block;flex:none;width:48px;height:48px;border-radius:50%;text-decoration:none}
.statement-author .political-portrait-frame{border:3px solid #fff;box-shadow:0 0 0 1px #e7cdd4}
.statement-author .political-portrait-frame img{width:100%;height:100%;border:0;border-radius:0;box-shadow:none}
.article-political-figures{display:flex;flex-wrap:wrap;gap:4px 7px;margin:8px 0;color:#62748b;font-size:12px;line-height:1.5}
.political-profile-dialog{direction:ltr;text-align:left;width:min(420px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #e1e6ee;border-radius:18px;overflow:auto;background:#fff;color:#19283d;box-shadow:0 12px 40px #15233a24;overscroll-behavior:contain}
.political-profile-dialog[open]{animation:political-profile-enter 160ms ease-out}
.political-profile-dialog::backdrop{background:#14223865;backdrop-filter:blur(3px)}
.political-profile-card{position:relative;padding:22px 24px 0;direction:ltr;text-align:left;isolation:isolate}
.political-profile-card *{direction:ltr}
.political-profile-kicker{display:block;min-height:18px;max-width:calc(100% - 110px);font:600 10px/1.8 'DM Sans',sans-serif;letter-spacing:1.5px;color:#62748b}
.political-profile-close{position:absolute;top:5px;right:5px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#62748b;z-index:2}
.political-profile-close:hover{background:#f3f5f8;color:#19283d}
.political-profile-close:focus-visible{outline:2px solid #d92535;outline-offset:-3px}
.political-profile-flag{position:absolute;top:0;right:52px;width:72px;height:auto;overflow:visible;pointer-events:none;z-index:1}
.political-profile-identity{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:start;gap:15px;margin:57px 0 18px}
.political-profile-identity>.political-portrait-frame{width:84px;height:84px;box-shadow:0 0 0 1px #e0e6ee}
.political-profile-identity .political-portrait-initials{font-size:24px}
.political-profile-copy{min-width:0}
.political-profile-copy h2{margin:0;padding-right:0;font:400 25px/1.35 'Libre Baskerville',Georgia,serif;letter-spacing:-.6px;overflow-wrap:break-word;color:#19283d}
.political-profile-copy h2.political-profile-long-name{font-size:22px}
.political-profile-copy p{font:400 12px/1.55 'DM Sans',sans-serif;overflow-wrap:break-word}
.political-profile-country{margin:7px 0 1px;color:#62748b}
.political-profile-position{margin:0;color:#394c65}
.political-profile-biography{padding:15px 0 17px;border-top:1px solid #e6ebf1}
.political-profile-biography p{margin:0;font:400 13px/1.75 'DM Sans',sans-serif;color:#52647b}
.political-profile-source{display:inline-block;margin-top:7px;color:#6a7b90;font-size:10px;line-height:1.5;text-decoration:none}
.political-profile-source:hover{text-decoration:underline}
.political-profile-posts-action{display:flex;align-items:center;gap:12px;min-height:70px;padding:14px 0 16px;border-top:1px solid #e6ebf1;color:#253247;text-decoration:none;font:400 13px/1.5 'DM Sans',sans-serif}
.political-profile-document{flex:none;color:#62748b}
.political-profile-posts-action>span:not(.political-profile-arrow){flex:1;min-width:0;overflow-wrap:break-word}
.political-profile-posts-action strong{font-weight:600}
.political-profile-arrow{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:#fcecee;color:#d92535;transition:background 160ms ease}
.political-profile-posts-action:hover .political-profile-arrow{background:#f8dce1}
.political-profile-posts-action:focus-visible{outline:2px solid #d92535;outline-offset:2px;border-radius:6px}
body.political-profile-scroll-lock{position:fixed;top:var(--political-profile-scroll-top,0px);left:0;right:0;width:100%;overflow:hidden}
.political-posts-heading{direction:ltr;text-align:left;margin:0 0 18px}
.political-posts-identity{display:flex;align-items:center;gap:14px;min-width:0}
.political-posts-identity>.political-portrait-frame{width:76px;height:76px}
.political-posts-identity>div{min-width:0}
.political-posts-kicker{font-size:10px;letter-spacing:1.1px;color:#b92332;font-weight:600}
.political-posts-identity h1{font:400 28px/1.35 'Libre Baskerville',Georgia,serif;letter-spacing:-.6px;margin:5px 0;overflow-wrap:break-word}
.political-posts-identity p,.political-posts-description{font-size:12px;line-height:1.6;color:#62748b;margin:0}
.political-posts-description{margin:12px 0 8px}
.political-posts-back{display:inline-flex;align-items:center;min-height:44px;color:#62748b;font-size:12px;text-decoration:none}
.political-posts-back:hover{color:#b92332}
.search-result-person{color:inherit;font-weight:600;text-decoration:none}
.search-result-person:hover{text-decoration:underline;text-underline-offset:3px}
.search-result-story{text-decoration:none;color:inherit}
.search-result-story:hover strong{color:#b92332}
@media(max-width:600px){
 .political-profile-dialog{width:min(340px,calc(100vw - 32px));border-radius:16px}
 .political-profile-card{padding:19px 20px 0}
 .political-profile-identity{grid-template-columns:76px minmax(0,1fr);gap:12px;margin-top:57px}
 .political-profile-identity>.political-portrait-frame{width:76px;height:76px}
 .political-profile-copy h2{font-size:22px;padding-right:0;letter-spacing:-.55px}
 .political-profile-copy h2.political-profile-long-name{font-size:19px;letter-spacing:-.3px}
 .political-profile-copy p{font-size:11px;line-height:1.5}
 .political-profile-biography{padding:14px 0}
 .political-profile-biography p{font-size:13px;line-height:1.7}
 .political-profile-posts-action{gap:10px;min-height:66px;font-size:12px}
 .political-posts-identity h1{font-size:23px}
}
@keyframes political-profile-enter{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.political-profile-dialog[open]{animation:none}.political-profile-arrow{transition:none}}



/* Keep the published card; remove the visible close icon. */
.political-profile-close{width:1px;height:1px;min-height:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.political-profile-close:focus-visible{top:8px;right:12px;width:auto;height:auto;min-height:32px;padding:4px 7px;clip-path:none;white-space:normal;font:500 10px/1.4 'DM Sans',sans-serif;background:#fff;color:#62748b;border-radius:4px;outline:1px solid #62748b}
#political-profile-title:focus{outline:none}
