/* ========================================================================== 
   Profil partii – Style Guide Aferoteki
   /partie/{slug}

   Produkcyjny, odseparowany arkusz pojedynczego profilu partii. Nie należy do wspólnych bundle CSS.
   ========================================================================== */

.party-detail-page{
    --party-detail-sidebar-width:296px;
    --party-detail-grid-gap:48px;
    --party-detail-line:#e2e5e9;
    --party-detail-line-soft:#edf0f2;
    --party-detail-media-border:#e3e6ea;
    --party-detail-card-gap:16px;
    --party-detail-section-padding-bottom:55px;
    --party-detail-section-margin-bottom:35px;
    --party-detail-section-head-margin-bottom:30px;
    --party-detail-scroll-offset:142px;
    background:#fff;
    letter-spacing:0;
}

.party-detail-page :where(h1,h2,h3,h4,p,a,button,summary,span,strong,small,time,label,input){
    letter-spacing:0;
}

/* Style Guide ------------------------------------------------------------ */
.party-detail-text-body{
    color:var(--color-text-primary);
    font-size:16px;
    font-weight:400;
    line-height:1.5;
}
.party-detail-text-body-lg{
    color:var(--color-text-primary);
    font-size:18px;
    font-weight:400;
    line-height:1.5;
}
.party-detail-text-meta{
    color:var(--color-text-secondary);
    font-size:14px;
    font-weight:500;
    line-height:1.4;
}
.party-detail-text-meta-label{
    color:var(--color-text-secondary);
    font-size:14px;
    font-weight:400;
    line-height:1.4;
}
.party-detail-title-card{
    color:var(--color-text-primary);
    font-size:20px;
    font-weight:700;
    line-height:1.3;
}
.party-detail-title-panel{
    color:var(--color-text-primary);
    font-size:24px;
    font-weight:700;
    line-height:1.25;
}
.party-detail-title-section{
    margin:0;
    color:var(--color-text-primary);
    font-size:32px;
    font-weight:700;
    line-height:1.08;
}
.party-detail-link-inline{
    color:var(--color-accent,var(--accent));
    font-weight:500;
    text-decoration:none;
}
.party-detail-link-inline:hover{
    color:var(--color-accent-hover,var(--accent-hover));
    text-decoration:underline;
    text-underline-offset:3px;
}
.party-detail-link-card{
    color:inherit;
    text-decoration:none;
}
.party-detail-link-card:hover{text-decoration:none}
.party-detail-link-nav{
    color:var(--color-text-secondary);
    font-size:14px;
    font-weight:500;
    text-decoration:none;
}
.party-detail-link-nav:hover{
    color:var(--color-accent,var(--accent));
    text-decoration:none;
}
.party-detail-link-disclosure{
    color:var(--color-text-primary);
    font-size:16px;
    font-weight:500;
    line-height:1.4;
    text-decoration:none;
}
.party-detail-link-disclosure:hover{
    color:var(--color-accent,var(--accent));
}
.party-detail-page :where(a,button,summary,[tabindex]):focus-visible{
    outline:3px solid rgba(179,32,37,.22);
    outline-offset:3px;
}

/* Hero ------------------------------------------------------------------- */
.party-detail-hero{
    padding:32px 0 49px;
    background:#fff;
}
.party-detail-hero .breadcrumbs{margin-bottom:32px}
.party-detail-hero-grid{
    display:grid;
    grid-template-columns:224px minmax(0,1fr) var(--party-detail-sidebar-width);
    gap:var(--party-detail-grid-gap);
    align-items:start;
}
.party-detail-portrait-column,
.party-detail-hero-copy,
.party-detail-hero-aside{min-width:0}
.party-detail-portrait{
    display:block;
    width:224px;
    aspect-ratio:4/5;
    object-fit:cover;
    border:1px solid var(--party-detail-media-border);
    border-radius:0;
    background:#f0f2f4;
}
.party-detail-portrait-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--color-text-secondary);
    font-size:64px;
    font-weight:700;
}
.party-detail-hero-copy{
    align-self:center;
    padding:5px 0;
}
.party-detail-hero-copy h1{
    max-width:780px;
    margin:0;
    color:var(--color-text-primary);
    font-size:clamp(44px,4.5vw,60px);
    font-weight:700;
    line-height:1.05;
    text-wrap:wrap;
}
.party-detail-current-office{
    margin:20px 0 0;
    color:var(--color-text-primary);
    font-size:18px;
    font-weight:500;
    line-height:1.45;
}
.party-detail-affiliation{margin-top:22px}
.party-detail-party-link{
    display:inline-flex;
    align-items:center;
    gap:11px;
    color:var(--color-text-primary);
    font-size:16px;
    font-weight:600;
    text-decoration:none;
}
.party-detail-party-link:hover{color:var(--color-accent,var(--accent))}
.party-detail-party-logo,
.party-detail-history-logo{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    overflow:hidden;
    border:1px solid var(--party-detail-media-border);
    border-radius:50%;
    background:#fff;
}
.party-detail-party-logo{width:36px;height:36px;font-size:10px;font-weight:700}
.party-detail-party-logo img,
.party-detail-history-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:0;
}
.party-detail-affiliation-status{
    color:var(--color-text-secondary);
    font-size:16px;
    font-weight:500;
}
.party-detail-hero-aside{padding-top:16px}
.party-detail-follow-card{
    padding:24px;
    background:#17191d;
}
.party-detail-follow-card .follow-hero-panel{
    display:block;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}
.party-detail-follow-card .follow-hero-copy h2,
.party-detail-follow-card .follow-hero-state h2{
    margin:0 0 9px;
    color:#fff;
    font-size:24px;
    font-weight:700;
    line-height:1.2;
}
.party-detail-follow-card .follow-hero-copy p,
.party-detail-follow-card .follow-hero-state p{
    margin:0 0 19px;
    color:#fff;
    font-size:16px;
    font-weight:400;
    line-height:1.55;
}
.party-detail-follow-card .follow-hero-action,
.party-detail-follow-card .follow-hero-action-button{width:100%;margin:0}
.party-detail-follow-card .follow-hero-action .button,
.party-detail-follow-card .follow-hero-action-button,
.party-detail-follow-card .button{
    width:100%;
    min-height:44px;
    padding:10px 15px;
    font-size:16px;
    font-weight:700;
}

/* Body ------------------------------------------------------------------- */
.party-detail-body{
    padding:41px 0 40px;
    background:#f6f7f8;
}
.party-detail-body-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) var(--party-detail-sidebar-width);
    gap:var(--party-detail-grid-gap);
    align-items:start;
}
.party-detail-content,
.party-detail-sidebar{min-width:0}
.party-detail-section{
    scroll-margin-top:var(--party-detail-scroll-offset);
    padding:0 0 var(--party-detail-section-padding-bottom);
    margin:0 0 var(--party-detail-section-margin-bottom);
    border-bottom:1px solid var(--party-detail-line);
}
.party-detail-section-head{margin-bottom:var(--party-detail-section-head-margin-bottom)}

/* O partii ------------------------------------------------------------- */
.party-detail-biography{max-width:860px}
.party-detail-biography p{margin:0}
.party-detail-biography p + p{margin-top:20px}
.party-detail-facts-card{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 32px;
    margin-top:30px;
    padding:8px 24px;
    background:#fff;
}
.party-detail-fact-row{
    display:grid;
    grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);
    gap:20px;
    align-items:start;
    padding:16px 0;
    border-bottom:1px solid var(--party-detail-line-soft);
}
.party-detail-fact-row:nth-last-child(-n+2){border-bottom:0}
.party-detail-fact-value{
    color:var(--color-text-primary);
    font-size:16px;
    font-weight:500;
    line-height:1.5;
}
.party-detail-correction{margin:22px 0 0}

/* Patronite -------------------------------------------------------------- */
.party-detail-support-callout{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:28px;
    align-items:center;
    margin:0 0 55px;
    padding:24px 28px;
    background:#de330d;
}
.party-detail-support-callout h2{margin:0;color:#fff}
.party-detail-support-callout p{
    max-width:720px;
    margin:8px 0 0;
    color:#fff;
    font-size:16px;
    font-weight:400;
    line-height:1.5;
}
.party-detail-support-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 16px;
    border:0;
    border-radius:8px;
    background:#fff;
    color:#de330d!important;
    font-size:16px;
    font-weight:700;
    text-decoration:none;
}
.party-detail-support-button:hover{background:#f4f5f6;color:#c72d0b!important}

/* Najnowsza aktualizacja ------------------------------------------------- */
.party-detail-continuation-item{
    position:relative;
    margin:0;
    padding:26px 28px;
    border:0;
    border-radius:0;
    background:#fff;
    box-shadow:none;
}
.party-detail-update-head-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    max-width:100%;
}
.party-detail-update-heading{
    display:flex;
    align-items:flex-start;
    gap:12px;
    max-width:810px;
}
.party-detail-update-date{
    flex:0 0 auto;
    margin:5px 0 0;
    white-space:nowrap;
}
.party-detail-update-live-dot{
    position:relative;
    width:8px;
    height:8px;
    flex:0 0 8px;
    margin-top:13px;
    border-radius:50%;
    background:var(--color-accent,var(--accent));
}
.party-detail-update-live-dot.is-live::after{
    content:"";
    position:absolute;
    inset:-4px;
    border:1px solid rgba(190,30,45,.34);
    border-radius:50%;
    animation:partyDevLivePulse 1.8s ease-out infinite;
}
@keyframes partyDevLivePulse{
    0%{transform:scale(.55);opacity:.75}
    70%,100%{transform:scale(1.45);opacity:0}
}
.party-detail-continuation-item h3{max-width:790px;margin:0}
.party-detail-continuation-item>p{max-width:800px;margin:18px 0 0}
.party-detail-update-disclosure{
    max-width:800px;
    margin-top:25px;
    padding-top:21px;
    border-top:1px solid var(--party-detail-line-soft);
}
.party-detail-update-disclosure summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:28px;
    padding:0;
    cursor:pointer;
    list-style:none;
}
.party-detail-update-disclosure summary::-webkit-details-marker{display:none}
.party-detail-update-counts{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    color:var(--color-text-secondary);
    font-size:16px;
    font-weight:500;
    line-height:1.4;
}
.party-detail-update-toggle{
    display:inline-flex;
    align-items:center;
    flex:0 0 auto;
}
.party-detail-update-toggle-hide{display:none}
.party-detail-update-disclosure[open] .party-detail-update-toggle-show{display:none}
.party-detail-update-disclosure[open] .party-detail-update-toggle-hide{display:inline}
.party-detail-update-disclosure[open] .party-detail-update-materials-compact{
    display:grid;
    gap:11px;
    margin-top:18px;
    padding-top:20px;
    border-top:1px solid var(--party-detail-line-soft);
}
.party-detail-update-compact-row{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    gap:12px;
    align-items:start;
}
.party-detail-update-compact-links{
    display:flex;
    flex-wrap:wrap;
    gap:3px 8px;
    min-width:0;
}
.party-detail-update-compact-sep{color:#a5adb5}
.party-detail-update-case-link{margin-top:20px!important}

/* Powiązane sprawy ------------------------------------------------------- */
.party-detail-relation-note{
    max-width:900px;
    margin:0 0 28px;
}
.party-detail-cases-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--party-detail-card-gap);
}
.party-detail-case-card{
    display:block;
    min-width:0;
    padding:22px 24px 24px;
    background:#fff;
    transition:background-color .15s ease;
}
.party-detail-case-card:hover{background:#fbfbfc}
.party-detail-case-card h3{margin:0}
.party-detail-case-card:hover h3{color:var(--color-accent,var(--accent))}
.party-detail-case-card p{margin:14px 0 0}
.party-detail-more-details{margin-top:16px}
.party-detail-more-details > summary{
    padding:16px 18px;
    background:#fff;
    cursor:pointer;
    list-style:none;
}
.party-detail-more-details > summary::-webkit-details-marker{display:none}
.party-detail-hidden-grid,
.party-detail-hidden-list{margin-top:16px}

/* Stanowiska ------------------------------------------------------------- */
.party-detail-statements-list{
    display:flex;
    flex-direction:column;
    gap:var(--party-detail-card-gap);
}
.party-detail-statement-card{
    padding:22px 24px 24px;
    background:#fff;
}
.party-detail-statement-card > p{margin:12px 0 0}
.party-detail-statement-footer{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid var(--party-detail-line-soft);
}
.party-detail-statement-case{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
    color:var(--color-text-primary);
    text-decoration:none;
}
.party-detail-statement-case strong{
    font-size:16px;
    font-weight:600;
    line-height:1.4;
}
.party-detail-statement-case:hover strong{color:var(--color-accent,var(--accent))}

/* Kariera i partie ------------------------------------------------------- */
.party-detail-career-section{border-bottom:0;margin-bottom:0}
.party-detail-career-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--party-detail-card-gap);
}
.party-detail-career-column > h3{margin:0 0 16px}
.party-detail-career-card{padding:4px 24px;background:#fff}
.party-detail-career-row,
.party-detail-party-history-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 0;
    border-bottom:1px solid var(--party-detail-line-soft);
}
.party-detail-career-row:last-child,
.party-detail-party-history-row:last-child{border-bottom:0}
.party-detail-career-row{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
}
.party-detail-career-row strong{font-size:18px}
.party-detail-party-history-row{justify-content:flex-start}
.party-detail-history-logo{width:40px;height:40px;font-size:10px;font-weight:700}
.party-detail-party-history-copy{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:3px;
}
.party-detail-party-history-copy strong{font-size:18px}
.party-detail-party-history-row:hover strong{color:var(--color-accent,var(--accent))}

/* Dolny CTA -------------------------------------------------------------- */
.party-detail-bottom-follow{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:28px;
    align-items:center;
    padding:24px 28px;
    background:#17191d;
}
.party-detail-bottom-follow h2{margin:0;color:#fff}
.party-detail-bottom-follow p{
    margin:8px 0 0;
    color:#fff;
    font-size:16px;
    line-height:1.5;
}
.party-detail-follow-form{margin:0}
.party-detail-bottom-follow-button,
.party-detail-sidebar-follow-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 16px;
    border:0;
    border-radius:8px;
    background:#fff;
    color:var(--color-text-primary)!important;
    font:inherit;
    font-size:16px;
    font-weight:700;
    text-decoration:none;
    cursor:pointer;
}
.party-detail-bottom-follow-button:hover,
.party-detail-sidebar-follow-button:hover{background:#f4f5f6}

/* Sidebar ---------------------------------------------------------------- */
.party-detail-sidebar{
    position:sticky;
    top:92px;
    background:#fff;
}
.party-detail-sidebar-nav{padding:12px 0}
.party-detail-sidebar-nav a{
    display:block;
    padding:11px 18px 11px 16px;
    border-left:3px solid transparent;
}
.party-detail-sidebar-nav a.is-active{
    border-left-color:var(--color-accent,var(--accent));
    color:var(--color-accent,var(--accent));
}
.party-detail-sidebar-verified{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:18px 16px;
    border-top:1px solid var(--party-detail-line-soft);
}
.party-detail-sidebar-follow{
    padding:18px 16px;
    border-top:1px solid var(--party-detail-line-soft);
}
.party-detail-sidebar-follow .party-detail-follow-form{width:100%}
.party-detail-sidebar-follow-button{
    width:100%;
    background:var(--color-accent,var(--accent));
    color:#fff!important;
}
.party-detail-sidebar-follow-button:hover{
    background:var(--color-accent-hover,var(--accent-hover));
}

/* Modal obserwowania – lokalny reset letter spacing ---------------------- */
.party-detail-page .follow-dialog :where(h2,p,a,button,label,input,span){letter-spacing:0}

/* Responsive ------------------------------------------------------------- */
@media (max-width:1100px){
    .party-detail-hero-grid{
        grid-template-columns:190px minmax(0,1fr) 280px;
        gap:32px;
    }
    .party-detail-portrait{width:190px}
    .party-detail-body-grid{grid-template-columns:minmax(0,1fr) 270px;gap:32px}
}

@media (max-width:900px){
    .party-detail-page{
        --party-detail-section-padding-bottom:40px;
        --party-detail-section-margin-bottom:32px;
        --party-detail-section-head-margin-bottom:24px;
        --party-detail-scroll-offset:110px;
        overflow-x:clip;
    }
    .party-detail-title-section{font-size:28px;line-height:1.12}
    .party-detail-title-panel{font-size:22px}
    .party-detail-title-card{font-size:18px}
    .party-detail-text-body-lg{font-size:16px;line-height:1.5}

    .party-detail-hero{padding:24px 0 0}
    .party-detail-hero .breadcrumbs{margin-bottom:24px}
    .party-detail-hero-grid{
        grid-template-columns:1fr;
        gap:20px;
        align-items:start;
    }
    .party-detail-portrait-column{grid-column:1;grid-row:1;display:flex;justify-content:center}
    .party-detail-portrait{
        width:80%;
        max-width:320px;
        aspect-ratio:1/1;
        margin-inline:auto;
        object-position:center 18%;
    }
    .party-detail-hero-copy{grid-column:1;grid-row:2;align-self:start;padding:0}
    .party-detail-hero-copy h1{font-size:clamp(34px,9.5vw,42px);line-height:1.1}
    .party-detail-current-office{margin-top:12px;font-size:16px;line-height:1.4}
    .party-detail-affiliation{margin-top:14px}
    .party-detail-party-link{font-size:14px;gap:8px}
    .party-detail-party-logo{width:30px;height:30px}
    .party-detail-hero-aside{
        grid-column:1;
        grid-row:3;
        width:100vw;
        margin-left:calc(50% - 50vw);
        padding:24px 16px;
        background:#17191d;
    }
    .party-detail-follow-card{padding:0;background:transparent}

    .party-detail-body{padding:40px 0 32px}
    .party-detail-body-grid{display:block}
    .party-detail-sidebar{display:none}

    .party-detail-facts-card{grid-template-columns:1fr;margin-top:24px;padding:4px 18px}
    .party-detail-fact-row{grid-template-columns:130px minmax(0,1fr);gap:16px;padding:14px 0}
    .party-detail-fact-row:nth-last-child(-n+2){border-bottom:1px solid var(--party-detail-line-soft)}
    .party-detail-fact-row:last-child{border-bottom:0}

    .party-detail-support-callout,
    .party-detail-bottom-follow{
        width:100vw;
        margin-left:calc(50% - 50vw);
        padding:24px 16px;
    }
    .party-detail-support-callout{
        grid-template-columns:1fr;
        gap:18px;
        margin-bottom:40px;
    }
    .party-detail-support-button{justify-self:start}

    .party-detail-cases-grid,
    .party-detail-career-grid{grid-template-columns:1fr}
    .party-detail-case-card,
    .party-detail-statement-card{padding:18px}
    .party-detail-continuation-item{padding:20px 18px}
    .party-detail-update-head-row{flex-direction:column;gap:8px}
    .party-detail-update-heading{align-items:center}
    .party-detail-update-live-dot{margin-top:0}
    .party-detail-update-date{order:-1;margin:0 0 2px}
    .party-detail-update-disclosure summary{align-items:flex-start}
    .party-detail-update-compact-row{grid-template-columns:1fr;gap:3px}
    .party-detail-statement-footer{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }
    .party-detail-career-card{padding:4px 18px}

    .party-detail-bottom-follow{
        grid-template-columns:1fr;
        gap:18px;
        margin-top:0;
    }
    .party-detail-bottom-follow-button{width:100%}
    .party-detail-bottom-follow .party-detail-follow-form{width:100%}


}

@media (max-width:520px){
    .party-detail-hero-grid{grid-template-columns:1fr;gap:18px}
    .party-detail-portrait{width:80%;max-width:300px}
    .party-detail-hero-copy h1{font-size:clamp(30px,9vw,38px)}
    .party-detail-current-office{font-size:15px}
    .party-detail-party-link{align-items:flex-start}
    .party-detail-fact-row{grid-template-columns:1fr;gap:4px}
    .party-detail-relation-note{margin-bottom:22px}
}

@media (prefers-reduced-motion:reduce){
    .party-detail-case-card{transition:none}
    .party-detail-update-live-dot.is-live::after{animation:none;opacity:0}
}

/* ========================================================================== 
   Party profile additions / overrides
   ========================================================================== */
.party-detail-page{
    --party-detail-sidebar-width:296px;
    --party-detail-grid-gap:48px;
    --party-detail-line:#e2e5e9;
    --party-detail-line-soft:#edf0f2;
    --party-detail-media-border:#e3e6ea;
    --party-detail-card-gap:16px;
    --party-detail-section-padding-bottom:55px;
    --party-detail-section-margin-bottom:35px;
    --party-detail-section-head-margin-bottom:30px;
    --party-detail-scroll-offset:142px;
}

/* Logo i hero ------------------------------------------------------------ */
.party-detail-logo-column,
.party-detail-hero-copy,
.party-detail-hero-aside{min-width:0}
.party-detail-logo{
    display:block;
    width:224px;
    aspect-ratio:1/1;
    object-fit:contain;
    border:1px solid var(--party-detail-media-border);
    border-radius:0;
    background:#fff;
}
.party-detail-logo-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--color-text-secondary);
    font-size:54px;
    font-weight:700;
}
.party-detail-short-name{
    margin:14px 0 0;
    color:var(--color-text-secondary);
    font-size:18px;
    font-weight:500;
    line-height:1.4;
}
.party-detail-leader{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    margin-top:24px;
}
.party-detail-leader-link{
    display:inline-flex;
    align-items:center;
    gap:12px;
    min-width:0;
    color:var(--color-text-primary);
    text-decoration:none;
}
.party-detail-leader-link strong{
    display:block;
    color:inherit;
    font-size:16px;
    font-weight:600;
    line-height:1.35;
}
.party-detail-leader-link small{
    display:block;
    margin-top:3px;
    color:var(--color-text-secondary);
    font-size:14px;
    font-weight:400;
    line-height:1.35;
}
.party-detail-leader-link:not(.is-static):hover strong{color:var(--color-accent,var(--accent))}
.party-detail-leader-avatar,
.party-detail-member-avatar,
.party-detail-statement-avatar{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:48px;
    height:48px;
    overflow:hidden;
    border:1px solid var(--party-detail-media-border);
    border-radius:50%;
    background:#fff;
    color:var(--color-text-secondary);
    font-size:15px;
    font-weight:700;
}
.party-detail-leader-avatar img,
.party-detail-member-avatar img,
.party-detail-statement-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.party-detail-status{
    display:inline-block;
    margin:20px 0 0;
    color:var(--color-text-secondary);
    font-size:14px;
    font-weight:500;
    line-height:1.4;
}

/* Fakty ------------------------------------------------------------------ */
.party-detail-fact-row.is-wide{grid-column:1/-1}
.party-detail-fact-row.is-wide .party-detail-fact-value{font-weight:400}

/* Aktualizacja ----------------------------------------------------------- */
.party-detail-update-case-context{
    max-width:800px;
    margin:16px 0 0!important;
}
.party-detail-update-case-context > span{color:var(--color-text-secondary)}

/* Politycy --------------------------------------------------------------- */
.party-detail-members-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--party-detail-card-gap);
}
.party-detail-member-card{
    display:block;
    min-width:0;
    padding:20px 22px 22px;
    background:#fff;
    transition:background-color .15s ease;
}
.party-detail-member-card:hover{background:#fbfbfc}
.party-detail-member-head{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}
.party-detail-member-head strong{min-width:0}
.party-detail-member-card:hover .party-detail-member-head strong{color:var(--color-accent,var(--accent))}
.party-detail-member-card p{margin:14px 0 0}
.party-detail-member-card .party-detail-text-meta{margin:12px 0 0}
.party-detail-former-members{margin-top:16px}

/* Stanowiska – grupowanie po autorze ------------------------------------ */
.party-detail-statement-groups{
    display:flex;
    flex-direction:column;
    gap:var(--party-detail-card-gap);
}
.party-detail-statement-group{background:#fff}
.party-detail-statement-group-head{
    display:flex;
    align-items:center;
    gap:12px;
    padding:22px 24px 0;
}
.party-detail-statement-group-head h3{margin:0}
.party-detail-statement-latest{padding:16px 24px 24px}
.party-detail-statement-latest > p,
.party-detail-statement-history > p{margin:10px 0 0}
.party-detail-statement-footer{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid var(--party-detail-line-soft);
}
.party-detail-statement-case{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
    color:var(--color-text-primary);
    text-decoration:none;
}
.party-detail-statement-case strong{
    font-size:16px;
    font-weight:600;
    line-height:1.4;
}
.party-detail-statement-case:hover strong{color:var(--color-accent,var(--accent))}
.party-detail-older-statements{border-top:1px solid var(--party-detail-line-soft)}
.party-detail-older-statements > summary{
    padding:14px 24px;
    cursor:pointer;
    list-style:none;
}
.party-detail-older-statements > summary::-webkit-details-marker{display:none}
.party-detail-older-statements > div{padding:0 24px 8px}
.party-detail-statement-history{
    padding:18px 0;
    border-top:1px solid var(--party-detail-line-soft);
}
.party-detail-statement-history:first-child{border-top:0}

/* Sidebar label nie jest weryfikacją ------------------------------------ */
.party-detail-sidebar-updated{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:18px 16px;
    border-top:1px solid var(--party-detail-line-soft);
}
.party-detail-sidebar-updated span{max-width:145px}

@media (max-width:1100px){
    .party-detail-hero-grid{grid-template-columns:190px minmax(0,1fr) 280px;gap:32px}
    .party-detail-logo{width:190px}
}

@media (max-width:900px){
    .party-detail-logo-column{
        grid-column:1;
        grid-row:1;
        display:flex;
        justify-content:center;
    }
    .party-detail-logo{
        width:70%;
        max-width:300px;
        aspect-ratio:1/1;
        margin-inline:auto;
    }
    .party-detail-hero-copy{grid-column:1;grid-row:2}
    .party-detail-leader{margin-top:18px}
    .party-detail-hero-aside{grid-column:1;grid-row:3}
    .party-detail-members-grid{grid-template-columns:1fr}
    .party-detail-member-card{padding:18px}
    .party-detail-statement-group-head{padding:18px 18px 0}
    .party-detail-statement-latest{padding:14px 18px 18px}
    .party-detail-statement-footer{align-items:flex-start;flex-direction:column;gap:10px}
    .party-detail-older-statements > summary{padding:14px 18px}
    .party-detail-older-statements > div{padding-left:18px;padding-right:18px}
    .party-detail-sidebar-updated{display:none}
}

@media (max-width:520px){
    .party-detail-logo{width:72%;max-width:280px}
}

@media (prefers-reduced-motion:reduce){
    .party-detail-member-card{transition:none}
}

/* ========================================================================== 
   Party profile dev v2 – hero refinement + mobile full width
   ========================================================================== */

/* Skrót nie konkuruje z pełną nazwą na desktopie. */
.party-detail-short-name{display:none}

/* Logo ma własną kwadratową ramę. Dzięki temu jego geometria nie zależy od
   proporcji pliku źródłowego ani atrybutów width/height obrazu. */
.party-detail-logo-frame{
    display:flex;
    align-items:center;
    justify-content:center;
    width:224px;
    height:224px;
    overflow:hidden;
    border:1px solid var(--party-detail-media-border);
    background:#fff;
}
.party-detail-logo{
    width:100%;
    height:100%;
    object-fit:contain;
    border:0;
    background:transparent;
}
.party-detail-logo-placeholder{
    width:100%;
    height:100%;
}

/* Lider jest pełnoprawnym elementem tożsamości partii, nie drobną metryką. */
.party-detail-leader{
    width:100%;
    gap:10px;
    margin-top:24px;
}
.party-detail-leader > .party-detail-text-meta-label{
    color:var(--color-text-secondary);
    font-size:14px;
    font-weight:500;
    line-height:1.4;
}
.party-detail-leader-link{
    display:flex;
    width:100%;
    max-width:430px;
    align-items:center;
    gap:14px;
}
.party-detail-leader-avatar{
    width:56px;
    height:56px;
}
.party-detail-leader-link strong{
    font-size:18px;
    font-weight:700;
    line-height:1.3;
}
.party-detail-leader-link small{
    margin-top:4px;
    font-size:14px;
    line-height:1.4;
}

@media (max-width:1100px){
    .party-detail-logo-frame{width:190px;height:190px}
}

@media (max-width:900px){
    .party-detail-logo-column{
        display:flex;
        justify-content:center;
        width:100%;
    }
    .party-detail-logo-frame{
        width:min(72vw,300px);
        height:min(72vw,300px);
        margin-inline:auto;
    }
    .party-detail-short-name{
        display:block;
        margin-top:12px;
        font-size:16px;
    }
    .party-detail-leader{
        width:100%;
        margin-top:20px;
    }
    .party-detail-leader-link{
        width:100%;
        max-width:none;
    }

    /* Full-bleed względem mobilnego .container. Do 900 px globalny gutter
       wynosi 16 px na stronę, dlatego nie opieramy geometrii na vw. */
    .party-detail-hero-aside{
        width:calc(100% + 32px);
        max-width:none;
        margin-left:-16px;
        margin-right:-16px;
        padding:24px 16px;
    }
}

@media (max-width:650px){
    /* Foundation zmienia gutter .container z 16 px na 11 px. */
    .party-detail-hero-aside{
        width:calc(100% + 22px);
        margin-left:-11px;
        margin-right:-11px;
    }
}

@media (max-width:520px){
    .party-detail-logo-frame{
        width:min(76vw,280px);
        height:min(76vw,280px);
    }
}

/* ========================================================================== 
   Party profile dev v3 – final mobile hero cascade fix
   ========================================================================== */

/*
 * UWAGA: ten blok musi pozostać po desktopowych/max-1100 regułach hero.
 * W starszej wersji późniejszy breakpoint max-width:1100 przywracał
 * trzy kolumny również na telefonie. Skutkiem było ściskanie logo,
 * lidera i panelu follow do pierwszej kolumny. Mobile jawnie resetuje
 * tutaj geometrię hero do jednej kolumny.
 */
@media (max-width:900px){
    .party-detail-hero-grid{
        grid-template-columns:minmax(0,1fr);
        gap:20px;
        align-items:start;
    }
    .party-detail-logo-column,
    .party-detail-hero-copy,
    .party-detail-hero-aside{
        grid-column:1;
        min-width:0;
    }
    .party-detail-logo-column{
        grid-row:1;
        width:100%;
        display:flex;
        justify-content:center;
    }
    .party-detail-logo-frame{
        width:min(72vw,300px);
        height:min(72vw,300px);
        margin-inline:auto;
    }
    .party-detail-hero-copy{
        grid-row:2;
        width:100%;
    }
    .party-detail-leader,
    .party-detail-leader-link{
        width:100%;
        max-width:none;
    }
    .party-detail-hero-aside{
        grid-row:3;
        width:calc(100% + 32px);
        max-width:none;
        margin-left:-16px;
        margin-right:-16px;
        padding:24px 16px;
    }
}

@media (max-width:650px){
    .party-detail-hero-aside{
        width:calc(100% + 22px);
        margin-left:-11px;
        margin-right:-11px;
    }
}

@media (max-width:520px){
    .party-detail-logo-frame{
        width:min(76vw,280px);
        height:min(76vw,280px);
    }
}
