
/* KENDOS – Dokumentacja wypadków
   Unikalny prefiks kwd- – brak konfliktów z innymi modułami. */

.kwd-section{
    --kwd-bg:#f7f7f7;
    --kwd-red:#d40000;
    --kwd-yellow:#f5c400;
    width:100%;
    margin:0;
    padding:72px 24px 84px;
    background:var(--kwd-bg);
    color:#111;
    font-family:inherit;
    box-sizing:border-box;
}
.kwd-section *,
.kwd-section *::before,
.kwd-section *::after{box-sizing:border-box}

.kwd-inner{
    width:min(1180px,100%);
    margin:0 auto;
}

.kwd-header{
    max-width:930px;
    margin:0 auto 34px;
    text-align:center;
}
.kwd-eyebrow{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:17px;
    margin:0 0 12px;
    color:var(--kwd-red);
    font-size:13px;
    line-height:1.2;
    font-weight:700;
}
.kwd-eyebrow span{
    width:52px;
    height:2px;
    display:block;
    background:var(--kwd-red);
}
.kwd-title{
    margin:0;
    padding:0;
    color:#111;
    font-size:clamp(34px,4vw,50px);
    line-height:1.08;
    font-weight:700;
    letter-spacing:-.035em;
}
.kwd-intro{
    max-width:760px;
    margin:17px auto 0;
    color:#4a4a4a;
    font-size:16px;
    line-height:1.62;
}
.kwd-rule{
    display:flex;
    width:118px;
    height:4px;
    margin:20px auto 0;
    overflow:hidden;
}
.kwd-rule i:nth-child(1){flex:1;background:#111}
.kwd-rule i:nth-child(2){flex:1;background:var(--kwd-red)}
.kwd-rule i:nth-child(3){flex:1;background:var(--kwd-yellow)}

.kwd-accordion{
    display:flex;
    flex-direction:column;
    gap:15px;
    max-width:1040px;
    margin:0 auto;
}
.kwd-item{
    margin:0;
    border:1px solid rgba(0,0,0,.08);
    border-radius:12px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 9px 30px rgba(0,0,0,.055);
}
.kwd-item[open]{
    box-shadow:0 16px 42px rgba(0,0,0,.085);
}
.kwd-summary{
    position:relative;
    min-height:104px;
    display:flex;
    align-items:center;
    gap:18px;
    padding:20px 26px;
    cursor:pointer;
    list-style:none;
    user-select:none;
}
.kwd-summary::-webkit-details-marker{display:none}
.kwd-summary::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:5px;
    background:var(--kwd-red);
}
.kwd-item--road .kwd-summary::before{background:var(--kwd-yellow)}

.kwd-icon{
    width:54px;
    height:54px;
    flex:0 0 54px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:var(--kwd-red);
    background:rgba(212,0,0,.07);
}
.kwd-item--road .kwd-icon{
    color:#ae8900;
    background:rgba(245,196,0,.14);
}
.kwd-icon svg{width:26px;height:26px}

.kwd-summary-copy{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
    gap:5px;
}
.kwd-summary-copy strong{
    color:#111;
    font-size:20px;
    line-height:1.25;
    font-weight:700;
}
.kwd-summary-copy small{
    color:#626262;
    font-size:14px;
    line-height:1.4;
    font-weight:400;
}

.kwd-plus{
    width:34px;
    height:34px;
    flex:0 0 34px;
    position:relative;
    border:1.5px solid var(--kwd-red);
    border-radius:50%;
}
.kwd-item--road .kwd-plus{border-color:#b18c00}
.kwd-plus i{
    position:absolute;
    left:50%;
    top:50%;
    width:13px;
    height:2px;
    background:var(--kwd-red);
    transform:translate(-50%,-50%);
    transition:transform .18s ease, opacity .18s ease;
}
.kwd-item--road .kwd-plus i{background:#b18c00}
.kwd-plus i:nth-child(2){transform:translate(-50%,-50%) rotate(90deg)}
.kwd-item[open] .kwd-plus i:nth-child(2){
    transform:translate(-50%,-50%) rotate(0deg);
    opacity:0;
}

.kwd-content{
    border-top:1px solid rgba(0,0,0,.07);
    padding:31px 34px 38px 98px;
    color:#303030;
    font-size:15px;
    line-height:1.72;
}
.kwd-content > *:first-child{margin-top:0}
.kwd-content > *:last-child{margin-bottom:0}
.kwd-content p{
    margin:0 0 15px;
}
.kwd-content h3{
    margin:32px 0 13px;
    padding:0 0 9px;
    color:#111;
    font-size:24px;
    line-height:1.25;
    font-weight:700;
    border-bottom:2px solid var(--kwd-yellow);
}
.kwd-content h4{
    margin:22px 0 8px;
    color:var(--kwd-red);
    font-size:17px;
    line-height:1.35;
    font-weight:700;
}
.kwd-content ul{
    margin:8px 0 20px;
    padding:0;
    list-style:none;
}
.kwd-content li{
    position:relative;
    margin:7px 0;
    padding-left:22px;
}
.kwd-content li::before{
    content:"";
    position:absolute;
    left:2px;
    top:.75em;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--kwd-red);
    transform:translateY(-50%);
}
.kwd-item--road .kwd-content li::before{background:var(--kwd-yellow)}

@media(max-width:760px){
    .kwd-section{padding:52px 16px 58px}
    .kwd-header{text-align:left;margin-bottom:26px}
    .kwd-eyebrow{justify-content:flex-start;gap:11px}
    .kwd-eyebrow span{width:34px}
    .kwd-title{font-size:32px;line-height:1.1}
    .kwd-intro{font-size:15px;margin-left:0}
    .kwd-rule{margin-left:0}

    .kwd-summary{
        min-height:94px;
        gap:13px;
        padding:16px 17px;
    }
    .kwd-icon{
        width:46px;
        height:46px;
        flex-basis:46px;
    }
    .kwd-icon svg{width:22px;height:22px}
    .kwd-summary-copy strong{font-size:16px}
    .kwd-summary-copy small{font-size:12px}
    .kwd-plus{
        width:30px;
        height:30px;
        flex-basis:30px;
    }
    .kwd-content{
        padding:24px 18px 30px;
        font-size:14px;
        line-height:1.68;
    }
    .kwd-content h3{
        font-size:20px;
        margin-top:27px;
    }
    .kwd-content h4{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
    .kwd-plus i{transition:none}
}


/* ==========================================================
   1.0.3 – galerie przykładowych dokumentów
   ========================================================== */
.kwd-doc-block{
    margin:30px 0 36px;
    padding:24px;
    border:1px solid rgba(0,0,0,.08);
    border-radius:12px;
    background:#fafafa;
}
.kwd-doc-heading{
    margin:0 0 18px;
}
.kwd-doc-heading .kwd-doc-kicker{
    display:block;
    margin-bottom:5px;
    color:var(--kwd-red);
    font-size:11px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.08em;
}
.kwd-doc-heading h4{
    margin:0 0 7px !important;
    color:#111 !important;
    font-size:19px !important;
    border:0 !important;
    padding:0 !important;
}
.kwd-doc-heading p{
    margin:0;
    color:#606060;
    font-size:13px;
    line-height:1.55;
}
.kwd-doc-grid{
    display:grid;
    gap:12px;
}
.kwd-doc-grid--many{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.kwd-doc-grid--two{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:720px;
}
.kwd-doc-grid--single{
    grid-template-columns:minmax(0,520px);
}
.kwd-doc-thumb{
    position:relative;
    display:block;
    width:100%;
    margin:0;
    padding:8px;
    border:1px solid rgba(0,0,0,.10);
    border-radius:8px;
    background:#fff;
    cursor:zoom-in;
    box-shadow:0 5px 16px rgba(0,0,0,.05);
    transition:transform .15s ease, box-shadow .15s ease;
}
.kwd-doc-thumb:hover{
    transform:translateY(-2px);
    box-shadow:0 9px 22px rgba(0,0,0,.10);
}
.kwd-doc-thumb img{
    display:block;
    width:100%;
    height:220px;
    margin:0;
    object-fit:contain;
    object-position:center;
    background:#f2f2f2;
}
.kwd-doc-grid--single .kwd-doc-thumb img,
.kwd-doc-grid--two .kwd-doc-thumb img{
    height:330px;
}
.kwd-doc-zoom{
    position:absolute;
    right:14px;
    bottom:14px;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(17,17,17,.86);
    color:#fff;
    font-size:20px;
    line-height:1;
    font-weight:400;
}
.kwd-doc-lightbox{
    position:fixed;
    inset:0;
    z-index:999999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:30px;
    background:rgba(0,0,0,.88);
}
.kwd-doc-lightbox.is-open{display:flex}
.kwd-doc-lightbox img{
    display:block;
    max-width:min(1200px,94vw);
    max-height:92vh;
    width:auto;
    height:auto;
    object-fit:contain;
    background:#fff;
    box-shadow:0 15px 60px rgba(0,0,0,.4);
}
.kwd-doc-lightbox-close{
    position:fixed;
    top:18px;
    right:22px;
    width:44px;
    height:44px;
    border:1px solid rgba(255,255,255,.45);
    border-radius:50%;
    background:rgba(0,0,0,.35);
    color:#fff;
    font-size:30px;
    line-height:1;
    cursor:pointer;
}
body.kwd-doc-lightbox-open{overflow:hidden}

@media(max-width:900px){
    .kwd-doc-grid--many{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
    .kwd-doc-block{margin:24px 0 30px;padding:16px}
    .kwd-doc-grid--many,
    .kwd-doc-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
    .kwd-doc-thumb img{height:180px}
    .kwd-doc-grid--single .kwd-doc-thumb img,
    .kwd-doc-grid--two .kwd-doc-thumb img{height:220px}
}
@media(max-width:390px){
    .kwd-doc-grid--many{grid-template-columns:1fr 1fr}
}
