:root{
    --nkk-cat-paper:#f7f3ec;
    --nkk-cat-paper-light:#fffdf8;
    --nkk-cat-ink:#171411;
    --nkk-cat-muted:#696159;
    --nkk-cat-line:#d7cec1;
    --nkk-cat-line-strong:#b9ad9f;
    --nkk-cat-accent:#8a1f2d;
    --nkk-cat-accent-soft:rgba(138,31,45,.055);
    --nkk-cat-serif:Georgia,"Times New Roman",serif;
    --nkk-cat-sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

body.nkk-catechism-page{
    margin:0;
    background:var(--nkk-cat-paper);
    color:var(--nkk-cat-ink);
}

body.nkk-catechism-page *{box-sizing:border-box}
body.nkk-catechism-page a{color:inherit}

.nkk-cat{
    position:relative;
    background:
        radial-gradient(circle at 8% 9%,rgba(138,31,45,.04),transparent 20%),
        radial-gradient(circle at 92% 23%,rgba(88,72,55,.035),transparent 18%),
        var(--nkk-cat-paper);
    overflow:clip;
}

.nkk-cat-shell{
    width:min(calc(100% - 56px),1380px);
    margin-inline:auto;
}

.nkk-cat-progress{
    position:fixed;
    z-index:2147480000;
    left:0;
    right:0;
    top:0;
    height:2px;
    pointer-events:none;
}

.admin-bar .nkk-cat-progress{top:32px}
.nkk-cat-progress span{display:block;width:0;height:100%;background:var(--nkk-cat-accent);transition:width .08s linear}

.nkk-cat-eyebrow{
    display:block;
    color:var(--nkk-cat-accent);
    font-family:var(--nkk-cat-sans);
    font-size:9px;
    font-weight:850;
    line-height:1.2;
    letter-spacing:.14em;
    text-transform:uppercase;
}

/* HERO */
.nkk-cat-hero{
    padding:45px 0 0;
    border-bottom:1px solid var(--nkk-cat-line-strong);
}

.nkk-cat-hero__grid{
    min-height:310px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(250px,.38fr);
    gap:clamp(42px,7vw,100px);
    align-items:center;
}

.nkk-cat-hero__copy{padding:14px 0 34px}

.nkk-cat-hero h1{
    margin:8px 0 16px!important;
    max-width:820px;
    color:var(--nkk-cat-ink)!important;
    font-family:var(--nkk-cat-serif)!important;
    font-size:clamp(44px,6vw,78px)!important;
    font-weight:400!important;
    line-height:.96!important;
    letter-spacing:-.035em!important;
    text-align:left!important;
}

.nkk-cat-hero__lead{
    max-width:760px;
    margin:0!important;
    color:#4d4640!important;
    font-family:var(--nkk-cat-serif)!important;
    font-size:17px!important;
    line-height:1.65!important;
    text-align:left!important;
}

/* Abstrakcyjny znak: trzy kręgi / krzyż, bez grafiki stockowej. */
.nkk-cat-symbol{
    position:relative;
    width:min(100%,330px);
    aspect-ratio:1;
    margin-left:auto;
    opacity:.92;
    animation:nkkCatSymbolIn .9s cubic-bezier(.18,.8,.2,1) both;
}

.nkk-cat-symbol__circle{
    position:absolute;
    inset:12%;
    border:1px solid rgba(138,31,45,.45);
    border-radius:50%;
    animation:nkkCatBreathe 7s ease-in-out infinite;
}

.nkk-cat-symbol__circle::before,
.nkk-cat-symbol__circle::after{
    content:"";
    position:absolute;
    width:58%;
    height:58%;
    top:21%;
    border:1px solid rgba(138,31,45,.22);
    border-radius:50%;
}
.nkk-cat-symbol__circle::before{left:-7%}
.nkk-cat-symbol__circle::after{right:-7%}

.nkk-cat-symbol__cross-v,
.nkk-cat-symbol__cross-h{
    position:absolute;
    left:50%;
    top:50%;
    background:var(--nkk-cat-accent);
    transform:translate(-50%,-50%);
}
.nkk-cat-symbol__cross-v{width:1px;height:39%}
.nkk-cat-symbol__cross-h{width:23%;height:1px;top:44%}

.nkk-cat-symbol__v{
    position:absolute;
    inset:0;
    border:1px solid transparent;
    border-top-color:rgba(138,31,45,.18);
    border-radius:50%;
}
.nkk-cat-symbol__v--one{transform:rotate(58deg);animation:nkkCatOrbit 20s linear infinite}
.nkk-cat-symbol__v--two{transform:rotate(-58deg);animation:nkkCatOrbit 26s linear infinite reverse}

.nkk-cat-hero__foot{
    min-height:84px;
    display:grid;
    grid-template-columns:130px 170px minmax(0,1fr);
    gap:28px;
    align-items:center;
    border-top:1px solid var(--nkk-cat-line);
}

.nkk-cat-stat{display:flex;align-items:baseline;gap:8px}
.nkk-cat-stat strong{font:400 26px/1 var(--nkk-cat-serif);color:var(--nkk-cat-accent)}
.nkk-cat-stat span{font:750 8.5px/1.2 var(--nkk-cat-sans);letter-spacing:.07em;text-transform:uppercase;color:#81786f}
.nkk-cat-hero__foot>p{margin:0!important;color:#756c63!important;font:13px/1.5 var(--nkk-cat-serif)!important;text-align:right!important}

/* TOOLS */
.nkk-cat-tools{
    position:sticky;
    top:0;
    z-index:50;
    border-bottom:1px solid var(--nkk-cat-line);
    background:rgba(247,243,236,.91);
    backdrop-filter:blur(14px) saturate(.85);
}
.admin-bar .nkk-cat-tools{top:32px}

.nkk-cat-tools__inner{
    min-height:68px;
    display:grid;
    grid-template-columns:minmax(300px,580px) auto 1fr;
    gap:18px;
    align-items:center;
}

.nkk-cat-search{
    height:40px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:0 12px;
    border-bottom:1px solid var(--nkk-cat-line-strong);
}
.nkk-cat-search:focus-within{border-bottom-color:var(--nkk-cat-accent)}
.nkk-cat-search__icon{width:14px;height:14px;border:1px solid #665e56;border-radius:50%;position:relative;flex:0 0 auto}
.nkk-cat-search__icon::after{content:"";position:absolute;width:6px;height:1px;background:#665e56;right:-5px;bottom:-2px;transform:rotate(45deg)}
.nkk-cat-search input{width:100%;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:var(--nkk-cat-ink)!important;font:14px/1.2 var(--nkk-cat-serif)!important;padding:0!important}
.nkk-cat-search input::placeholder{color:#8a8178}

.nkk-cat-search-count{display:flex;align-items:baseline;gap:5px;white-space:nowrap;color:#887f76;font:700 8px/1.2 var(--nkk-cat-sans);letter-spacing:.05em;text-transform:uppercase}
.nkk-cat-search-count strong{color:var(--nkk-cat-accent);font-size:13px}

.nkk-cat-view-actions{display:flex;justify-content:flex-end;gap:14px}
html body .nkk-cat-view-actions button{
    appearance:none!important;
    margin:0!important;
    padding:3px 0!important;
    min-height:0!important;
    border:0!important;
    border-bottom:1px solid rgba(138,31,45,.22)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#5e554d!important;
    font:650 9px/1.2 var(--nkk-cat-sans)!important;
    letter-spacing:.02em!important;
    text-transform:none!important;
    cursor:pointer!important;
}
html body .nkk-cat-view-actions button:hover{color:var(--nkk-cat-accent)!important;border-bottom-color:var(--nkk-cat-accent)!important}

/* LAYOUT */
.nkk-cat-layout{
    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    gap:clamp(36px,5vw,76px);
    padding-top:43px;
    padding-bottom:70px;
}

.nkk-cat-index__sticky{position:sticky;top:112px}
.admin-bar .nkk-cat-index__sticky{top:144px}
.nkk-cat-index__label{display:block;margin:0 0 12px;color:#887f76;font:800 8px/1.2 var(--nkk-cat-sans);letter-spacing:.12em;text-transform:uppercase}

.nkk-cat-index nav{border-top:1px solid var(--nkk-cat-line-strong)}
.nkk-cat-index a{display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:9px;align-items:start;padding:12px 0;border-bottom:1px solid var(--nkk-cat-line);text-decoration:none;transition:padding .2s ease,color .2s ease}
.nkk-cat-index a>span{padding-top:2px;color:#a0958b;font:800 7.5px/1.2 var(--nkk-cat-sans);letter-spacing:.08em}
.nkk-cat-index a>strong{color:#5a524b;font:400 13px/1.28 var(--nkk-cat-serif);text-transform:none}
.nkk-cat-index a>small{padding-top:2px;color:#9b9188;font:700 8px/1.2 var(--nkk-cat-sans)}
.nkk-cat-index a:hover,.nkk-cat-index a.is-active{padding-left:5px;color:var(--nkk-cat-accent)}
.nkk-cat-index a.is-active>strong{color:var(--nkk-cat-accent)}

.nkk-cat-content{min-width:0}
.nkk-cat-section{scroll-margin-top:116px;margin-bottom:54px}

.nkk-cat-section__head{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:end;
    padding-bottom:17px;
    border-bottom:1px solid var(--nkk-cat-line-strong);
}
.nkk-cat-section__head>div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:baseline}
.nkk-cat-section__number{color:var(--nkk-cat-accent);font:800 8px/1 var(--nkk-cat-sans);letter-spacing:.12em}
.nkk-cat-section__head h2{margin:0!important;color:var(--nkk-cat-ink)!important;font:400 clamp(25px,2.2vw,33px)/1.08 var(--nkk-cat-serif)!important;letter-spacing:-.015em!important;text-align:left!important}
.nkk-cat-section__count{flex:0 0 auto;color:#8d8379;font:750 8px/1.2 var(--nkk-cat-sans);letter-spacing:.06em;text-transform:uppercase}

.nkk-cat-section__intro{max-width:850px;padding:18px 0 2px 55px}
.nkk-cat-section__intro p{margin:0 0 12px!important;color:#5c554e!important;font:14px/1.62 var(--nkk-cat-serif)!important;text-align:justify!important}

.nkk-cat-questions{border-top:0}
.nkk-cat-question{border-bottom:1px solid var(--nkk-cat-line);background:transparent;transition:background-color .22s ease}
.nkk-cat-question[open]{background:rgba(255,253,248,.5)}
.nkk-cat-question[hidden]{display:none!important}

.nkk-cat-question summary{
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 22px;
    gap:13px;
    align-items:center;
    min-height:67px;
    padding:13px 0;
    cursor:pointer;
    list-style:none;
}
.nkk-cat-question summary::-webkit-details-marker{display:none}
.nkk-cat-question__number{color:#998f85;font:750 9px/1 var(--nkk-cat-sans);letter-spacing:.04em;text-align:left}
.nkk-cat-question__title{color:#302b27;font:400 16px/1.4 var(--nkk-cat-serif);text-wrap:pretty}
.nkk-cat-question__toggle{position:relative;width:18px;height:18px}
.nkk-cat-question__toggle::before,.nkk-cat-question__toggle::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1px;background:#81786f;transform:translate(-50%,-50%);transition:transform .2s ease,background-color .2s ease}
.nkk-cat-question__toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.nkk-cat-question[open] .nkk-cat-question__toggle::after{transform:translate(-50%,-50%) rotate(0)}
.nkk-cat-question[open] .nkk-cat-question__toggle::before,.nkk-cat-question[open] .nkk-cat-question__toggle::after{background:var(--nkk-cat-accent)}

.nkk-cat-answer{max-width:850px;padding:0 28px 22px 55px;animation:nkkCatAnswer .24s ease both}
.nkk-cat-answer p{margin:0 0 12px!important;color:#4a433d!important;font:14.5px/1.7 var(--nkk-cat-serif)!important;text-align:justify!important;hyphens:auto}
.nkk-cat-answer p:last-child{margin-bottom:0!important}
.nkk-cat-answer-list{margin:3px 0 14px!important;padding:0!important;list-style:none!important}
.nkk-cat-answer-list li{position:relative;margin:0 0 7px!important;padding:0 0 0 15px!important;color:#4a433d!important;font:14px/1.6 var(--nkk-cat-serif)!important}
.nkk-cat-answer-list li::before{content:"";position:absolute;left:0;top:.73em;width:4px;height:4px;background:var(--nkk-cat-accent);border-radius:50%}

.nkk-cat-section.is-hidden{display:none!important}
.nkk-cat-empty{padding:50px 0;border-top:1px solid var(--nkk-cat-line-strong);text-align:center}
.nkk-cat-empty>span{color:var(--nkk-cat-accent);font:800 8px/1.2 var(--nkk-cat-sans);letter-spacing:.12em;text-transform:uppercase}
.nkk-cat-empty h2{margin:8px auto!important;font:400 28px/1.12 var(--nkk-cat-serif)!important}
.nkk-cat-empty p{margin:0!important;color:var(--nkk-cat-muted)!important;font:14px/1.6 var(--nkk-cat-serif)!important}

.nkk-cat-reveal{opacity:0;transform:translateY(13px);transition:opacity .5s ease,transform .5s ease}
.nkk-cat-reveal.is-visible{opacity:1;transform:translateY(0)}

.nkk-cat-closing{padding:35px 0 68px;border-top:1px solid var(--nkk-cat-line-strong);text-align:center}
.nkk-cat-closing blockquote{max-width:790px;margin:10px auto 0;padding:0;border:0;color:#403a35;font:italic 19px/1.6 var(--nkk-cat-serif)}

.nkk-cat-fallback{padding:46px 0 70px}
.nkk-cat-fallback h2{font:400 34px/1.1 var(--nkk-cat-serif)!important}
.nkk-cat-fallback__body{margin-top:28px;color:#3f3934;font:15px/1.7 var(--nkk-cat-serif)}
.nkk-cat-fallback__body p{text-align:justify}

@keyframes nkkCatSymbolIn{from{opacity:0;transform:scale(.9) rotate(-8deg)}to{opacity:.92;transform:scale(1) rotate(0)}}
@keyframes nkkCatBreathe{0%,100%{transform:scale(.98);opacity:.75}50%{transform:scale(1.035);opacity:1}}
@keyframes nkkCatOrbit{to{transform:rotate(418deg)}}
@keyframes nkkCatAnswer{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:1050px){
    .nkk-cat-layout{grid-template-columns:220px minmax(0,1fr);gap:34px}
    .nkk-cat-hero__grid{grid-template-columns:minmax(0,1fr) 260px}
}

@media(max-width:900px){
    .nkk-cat-shell{width:min(calc(100% - 32px),1380px)}
    .nkk-cat-hero__grid{min-height:0;grid-template-columns:minmax(0,1fr) 220px;gap:24px}
    .nkk-cat-symbol{width:220px}
    .nkk-cat-hero h1{font-size:52px!important}
    .nkk-cat-hero__foot{grid-template-columns:110px 150px minmax(0,1fr)}
    .nkk-cat-tools__inner{grid-template-columns:minmax(260px,1fr) auto}.nkk-cat-view-actions{display:none}
    .nkk-cat-layout{grid-template-columns:1fr;padding-top:25px}
    .nkk-cat-index{overflow:hidden;margin-bottom:11px}
    .nkk-cat-index__sticky{position:static}
    .nkk-cat-index__label{display:none}
    .nkk-cat-index nav{display:flex;overflow-x:auto;gap:0 18px;border-top:0;border-bottom:1px solid var(--nkk-cat-line);scrollbar-width:none}.nkk-cat-index nav::-webkit-scrollbar{display:none}
    .nkk-cat-index a{flex:0 0 auto;grid-template-columns:auto auto;gap:6px;min-height:48px;padding:14px 0;border-bottom:2px solid transparent;white-space:nowrap}
    .nkk-cat-index a>small{display:none}.nkk-cat-index a.is-active{padding-left:0;border-bottom-color:var(--nkk-cat-accent)}
    .nkk-cat-index a>strong{font-family:var(--nkk-cat-sans);font-size:9px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
}

@media(max-width:680px){
    .admin-bar .nkk-cat-tools{top:46px}.admin-bar .nkk-cat-progress{top:46px}
    .nkk-cat-shell{width:min(calc(100% - 24px),1380px)}
    .nkk-cat-hero{padding-top:30px}
    .nkk-cat-hero__grid{display:block}.nkk-cat-symbol{width:150px;margin:17px auto 20px}
    .nkk-cat-hero__copy{text-align:center;padding-bottom:8px}.nkk-cat-hero h1{font-size:43px!important;text-align:center!important}.nkk-cat-hero__lead{font-size:15px!important;text-align:center!important}
    .nkk-cat-hero__foot{grid-template-columns:1fr 1fr;gap:12px 22px;padding:17px 0}.nkk-cat-hero__foot>p{grid-column:1/-1;text-align:left!important;font-size:12px!important}
    .nkk-cat-tools__inner{display:flex;min-height:62px}.nkk-cat-search{flex:1;min-width:0}.nkk-cat-search-count span{display:none}
    .nkk-cat-layout{padding-bottom:48px}
    .nkk-cat-section{scroll-margin-top:104px;margin-bottom:41px}
    .nkk-cat-section__head{align-items:start}.nkk-cat-section__head>div{grid-template-columns:31px minmax(0,1fr);gap:9px}.nkk-cat-section__head h2{font-size:25px!important}.nkk-cat-section__count{display:none}
    .nkk-cat-section__intro{padding-left:40px}.nkk-cat-section__intro p{text-align:left!important}
    .nkk-cat-question summary{grid-template-columns:31px minmax(0,1fr) 20px;gap:9px;min-height:62px}.nkk-cat-question__title{font-size:15px}.nkk-cat-answer{padding-left:40px;padding-right:8px}.nkk-cat-answer p{text-align:left!important}
    .nkk-cat-closing blockquote{font-size:17px}
}

@media(prefers-reduced-motion:reduce){
    .nkk-cat *, .nkk-cat *::before, .nkk-cat *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
    .nkk-cat-reveal{opacity:1;transform:none}
}


/* ==========================================================
   NKK Katechizm 1.0.2 — wyraźne pytanie i odpowiedź
   ========================================================== */
html body .nkk-cat .nkk-cat-question summary{
    min-height:70px !important;
    padding:15px 0 14px !important;
}
html body .nkk-cat .nkk-cat-question__title{
    color:#27221f !important;
    font-family:var(--nkk-cat-serif) !important;
    font-size:16px !important;
    font-weight:600 !important;
    line-height:1.42 !important;
    letter-spacing:0 !important;
    word-spacing:normal !important;
    text-align:left !important;
    text-transform:none !important;
    text-wrap:pretty !important;
}
html body .nkk-cat .nkk-cat-question__number{
    color:var(--nkk-cat-accent) !important;
    font-size:8.5px !important;
    font-weight:800 !important;
    opacity:.78;
}
html body .nkk-cat .nkk-cat-answer{
    position:relative !important;
    max-width:850px !important;
    margin:0 0 0 55px !important;
    padding:15px 28px 24px 18px !important;
    border-top:1px solid rgba(138,31,45,.12) !important;
    border-left:2px solid rgba(138,31,45,.20) !important;
}
html body .nkk-cat .nkk-cat-answer::before{
    content:"Odpowiedź" !important;
    display:block !important;
    margin:0 0 8px !important;
    color:#8c8177 !important;
    font-family:var(--nkk-cat-sans) !important;
    font-size:7.5px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    letter-spacing:.11em !important;
    text-transform:uppercase !important;
}
html body .nkk-cat .nkk-cat-answer p{
    margin:0 0 12px !important;
    color:#4a433d !important;
    font-family:var(--nkk-cat-serif) !important;
    font-size:14.5px !important;
    font-weight:400 !important;
    line-height:1.72 !important;
    letter-spacing:0 !important;
    word-spacing:normal !important;
    text-align:justify !important;
    text-transform:none !important;
    hyphens:auto !important;
}
html body .nkk-cat .nkk-cat-question[open]{
    background:rgba(255,253,248,.62) !important;
}
@media(max-width:700px){
    html body .nkk-cat .nkk-cat-question__title{font-size:15px !important;}
    html body .nkk-cat .nkk-cat-answer{
        margin-left:40px !important;
        padding:13px 8px 21px 15px !important;
    }
    html body .nkk-cat .nkk-cat-answer p{text-align:left !important;}
}


/* ==========================================================
   NKK Katechizm 1.0.3 — mocniejsza hierarchia po zmianach treści
   ========================================================== */
html body.nkk-catechism-page .nkk-cat-section__head h2{
    font-weight:500!important;
    color:#211d1a!important;
}
html body.nkk-catechism-page .nkk-cat-question__title{
    font-weight:600!important;
    color:#29241f!important;
    letter-spacing:-.004em!important;
}
html body.nkk-catechism-page .nkk-cat-question summary{
    min-height:70px!important;
    padding-top:15px!important;
    padding-bottom:15px!important;
}
html body.nkk-catechism-page .nkk-cat-question[open] summary{
    border-bottom:1px solid rgba(138,31,45,.12)!important;
}
html body.nkk-catechism-page .nkk-cat-answer{
    padding-top:17px!important;
}
html body.nkk-catechism-page .nkk-cat-answer::before{
    content:"Odpowiedź";
    display:block;
    margin:0 0 8px;
    color:#8a1f2d;
    font:800 8px/1.2 var(--nkk-cat-sans);
    letter-spacing:.1em;
    text-transform:uppercase;
}
html body.nkk-catechism-page .nkk-cat-section__intro{
    padding-top:20px!important;
    padding-bottom:8px!important;
}
html body.nkk-catechism-page .nkk-cat-section__intro p{
    color:#524b45!important;
}


/* ==========================================================
   NKK Katechizm 1.0.4 — pełny parser + redakcyjny układ „atlasu wiary”
   ========================================================== */

/* Mniej pustej przestrzeni, bardziej dojrzała skala. */
html body.nkk-catechism-page .nkk-cat-hero{
    padding-top:34px!important;
}
html body.nkk-catechism-page .nkk-cat-hero__grid{
    min-height:245px!important;
    grid-template-columns:minmax(0,1fr) 270px!important;
    gap:clamp(34px,5vw,72px)!important;
}
html body.nkk-catechism-page .nkk-cat-hero__copy{
    padding:8px 0 25px!important;
}
html body.nkk-catechism-page .nkk-cat-hero h1{
    font-size:clamp(40px,4.7vw,60px)!important;
    line-height:1!important;
}
html body.nkk-catechism-page .nkk-cat-symbol{
    width:min(100%,255px)!important;
}
html body.nkk-catechism-page .nkk-cat-hero__foot{
    min-height:70px!important;
    grid-template-columns:130px 190px minmax(0,1fr)!important;
}
html body.nkk-catechism-page .nkk-cat-hero__foot>p{
    max-width:650px!important;
    justify-self:end!important;
    font-size:12.5px!important;
}

/* Narzędzia są bardziej zwarte. */
html body.nkk-catechism-page .nkk-cat-tools__inner{
    min-height:62px!important;
}
html body.nkk-catechism-page .nkk-cat-search{
    height:36px!important;
}

/* Główny układ: indeks jest częścią publikacji, nie pustym marginesem. */
html body.nkk-catechism-page .nkk-cat-layout{
    grid-template-columns:285px minmax(0,1fr)!important;
    gap:clamp(34px,4.5vw,66px)!important;
    padding-top:34px!important;
}
html body.nkk-catechism-page .nkk-cat-index__label{
    margin-bottom:10px!important;
    color:#756c63!important;
}
html body.nkk-catechism-page .nkk-cat-index nav{
    border-top:1px solid var(--nkk-cat-line-strong)!important;
}
html body.nkk-catechism-page .nkk-cat-index a{
    min-height:49px!important;
    padding:10px 0!important;
    grid-template-columns:27px minmax(0,1fr) 24px!important;
    align-items:center!important;
}
html body.nkk-catechism-page .nkk-cat-index a>strong{
    font-size:12.5px!important;
    line-height:1.3!important;
}
html body.nkk-catechism-page .nkk-cat-index a.is-active{
    position:relative!important;
    padding-left:9px!important;
}
html body.nkk-catechism-page .nkk-cat-index a.is-active::before{
    content:"";
    position:absolute;
    left:0;
    top:10px;
    bottom:10px;
    width:2px;
    background:var(--nkk-cat-accent);
}

/* Każdy dział wygląda jak rozdział publikacji. */
html body.nkk-catechism-page .nkk-cat-section{
    margin-bottom:42px!important;
}
html body.nkk-catechism-page .nkk-cat-section__head{
    min-height:66px!important;
    padding:0 0 15px!important;
    align-items:end!important;
}
html body.nkk-catechism-page .nkk-cat-section__head>div{
    grid-template-columns:42px minmax(0,1fr)!important;
}
html body.nkk-catechism-page .nkk-cat-section__head h2{
    font-size:clamp(27px,2.4vw,35px)!important;
    font-weight:400!important;
    line-height:1.05!important;
}
html body.nkk-catechism-page .nkk-cat-section__count{
    padding-bottom:4px!important;
}

/* Pytania: czytelne, ale bez ciężkich kafli. */
html body.nkk-catechism-page .nkk-cat-questions{
    border-top:1px solid rgba(215,206,193,.55)!important;
}
html body.nkk-catechism-page .nkk-cat-question{
    position:relative!important;
    border-bottom:1px solid var(--nkk-cat-line)!important;
    background:rgba(255,253,248,.18)!important;
}
html body.nkk-catechism-page .nkk-cat-question::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:2px;
    background:var(--nkk-cat-accent);
    transform:scaleY(0);
    transform-origin:center;
    transition:transform .22s ease;
}
html body.nkk-catechism-page .nkk-cat-question:hover,
html body.nkk-catechism-page .nkk-cat-question[open]{
    background:rgba(255,253,248,.72)!important;
}
html body.nkk-catechism-page .nkk-cat-question:hover::before,
html body.nkk-catechism-page .nkk-cat-question[open]::before{
    transform:scaleY(1);
}
html body.nkk-catechism-page .nkk-cat-question summary{
    min-height:64px!important;
    padding:12px 13px 12px 0!important;
    grid-template-columns:42px minmax(0,1fr) 22px!important;
}
html body.nkk-catechism-page .nkk-cat-question__number{
    padding-left:3px!important;
    color:var(--nkk-cat-accent)!important;
    opacity:.88!important;
}
html body.nkk-catechism-page .nkk-cat-question__title{
    font-size:15.5px!important;
    font-weight:600!important;
    line-height:1.38!important;
}

/* Odpowiedź wygląda jak rozwinięcie pytania, a nie drugi przypadkowy akapit. */
html body.nkk-catechism-page .nkk-cat-answer{
    max-width:900px!important;
    margin:0 28px 0 55px!important;
    padding:15px 21px 22px!important;
    border-top:1px solid rgba(138,31,45,.10)!important;
    border-left:0!important;
    background:rgba(138,31,45,.025)!important;
}
html body.nkk-catechism-page .nkk-cat-answer::before{
    margin-bottom:9px!important;
    color:var(--nkk-cat-accent)!important;
}
html body.nkk-catechism-page .nkk-cat-answer p{
    max-width:790px!important;
    font-size:14.5px!important;
    line-height:1.7!important;
}

/* Zakończenie nie tworzy ogromnej pustej planszy. */
html body.nkk-catechism-page .nkk-cat-closing{
    padding:29px 0 48px!important;
}
html body.nkk-catechism-page .nkk-cat-closing blockquote{
    max-width:720px!important;
    font-size:17px!important;
    line-height:1.55!important;
}

@media(max-width:1050px){
    html body.nkk-catechism-page .nkk-cat-layout{
        grid-template-columns:230px minmax(0,1fr)!important;
        gap:32px!important;
    }
}
@media(max-width:900px){
    html body.nkk-catechism-page .nkk-cat-layout{
        grid-template-columns:1fr!important;
    }
    html body.nkk-catechism-page .nkk-cat-hero__grid{
        grid-template-columns:minmax(0,1fr) 210px!important;
    }
}
@media(max-width:680px){
    html body.nkk-catechism-page .nkk-cat-hero__grid{
        display:block!important;
    }
    html body.nkk-catechism-page .nkk-cat-question summary{
        grid-template-columns:31px minmax(0,1fr) 20px!important;
        padding-right:4px!important;
    }
    html body.nkk-catechism-page .nkk-cat-answer{
        margin-left:40px!important;
        margin-right:0!important;
        padding:13px 14px 19px!important;
    }
}


/* NKK Katechizm 1.0.5 — osobny rozdział maryjny */
html body.nkk-catechism-page .nkk-cat-index__item--mary{position:relative!important}
html body.nkk-catechism-page .nkk-cat-index__item--mary::after{content:"";position:absolute;right:0;top:50%;width:4px;height:4px;border:1px solid var(--nkk-cat-accent);border-radius:50%;transform:translateY(-50%);opacity:.65}
html body.nkk-catechism-page .nkk-cat-section--mary{position:relative!important;padding-top:9px!important}
html body.nkk-catechism-page .nkk-cat-section--mary::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,var(--nkk-cat-accent) 0 72px,rgba(138,31,45,.16) 72px 100%)}
html body.nkk-catechism-page .nkk-cat-section--mary .nkk-cat-section__head{padding-top:17px!important}
html body.nkk-catechism-page .nkk-cat-section__context{grid-column:2;display:block;margin-top:6px;color:#8a1f2d;font:800 7.5px/1.2 var(--nkk-cat-sans);letter-spacing:.12em;text-transform:uppercase}
@media(max-width:700px){html body.nkk-catechism-page .nkk-cat-index__item--mary::after{display:none}}
