/* Kartomancja Autorski 1.0 — niezależna warstwa prezentacyjna */
:root {
 --kz-bg:#faf7f1; --kz-ink:#2e2137; --kz-ink-soft:#564c5b; --kz-purple:#593674;
 --kz-deep:#291e36; --kz-lilac:#f1e9f6; --kz-gold:#bc965c; --kz-line:#e6d9e8;
 --kz-sage:#4e735d; --kz-surface:#fffdfb; --kz-shadow:0 15px 44px rgba(44,31,50,.08);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body.kz-theme{margin:0;color:var(--kz-ink);background:var(--kz-bg);font:16px/1.65 system-ui,-apple-system,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.kz-theme img{max-width:100%;height:auto}
body.kz-theme a{color:var(--kz-purple);text-underline-offset:3px}
body.kz-theme :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #c79e53;outline-offset:3px}
body.kz-theme :where(button,input,select,textarea){font:inherit}
.kz-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.kz-skip{position:absolute;z-index:99999;left:20px;top:-200px;padding:12px 18px;background:#fff;color:var(--kz-ink);border-radius:10px}.kz-skip:focus{top:12px}
.kz-ribbon{min-height:30px;background:var(--kz-deep);color:#e7d8c6;display:flex;align-items:center;justify-content:center;gap:12px;letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:650;text-align:center}
.kz-ribbon-star{color:#c8a56c;font-size:17px}
.kz-header{position:relative;z-index:100;background:rgba(255,253,251,.98);border-bottom:1px solid #e9e0e8;box-shadow:0 6px 32px rgba(30,20,30,.045)}
.kz-head-inner{width:min(100%,1510px);min-height:95px;margin:auto;padding:14px clamp(20px,4vw,62px);display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
.kz-brand{margin-right:auto;min-width:0}.kz-brand-link{display:flex;gap:13px;align-items:center;text-decoration:none!important;color:var(--kz-ink)!important}
.kz-mark{font:40px/1 Georgia,serif;width:56px;height:56px;flex:none;display:grid;place-items:center;background:linear-gradient(155deg,#fffbef,#eeddb7);border:1px solid #d5b87c;color:#8c6741;border-radius:17px;box-shadow:inset 0 1px 0 #ffffffb5,0 4px 10px #46341813}
.kz-name{display:block;color:#32243e;font:700 clamp(25px,2.3vw,32px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-.028em;white-space:nowrap}.kz-dot{color:#9068a3}.kz-name small{display:block;margin-top:8px;color:#85718a;letter-spacing:.12em;text-transform:uppercase;font:700 9px/1.3 system-ui,Arial,sans-serif;white-space:normal}
.kz-brand .custom-logo{max-width:260px;max-height:74px;width:auto;height:auto}
.kz-nav{min-width:0}.kz-nav-list{margin:0;padding:0;list-style:none;display:flex;gap:2px;align-items:center}.kz-nav-list>li{position:relative;list-style:none}.kz-nav-list a{display:block;padding:13px 13px;text-decoration:none!important;color:#4e4054!important;font-size:14px;font-weight:750;white-space:nowrap;border-radius:10px;transition:background .15s,color .15s}
.kz-nav-list a:hover,.kz-nav-list .current-menu-item>a,.kz-nav-list .current-menu-ancestor>a{background:#f3ebf5;color:#593377!important}
.kz-nav-list .sub-menu{display:none;position:absolute;z-index:250;top:100%;left:0;margin:0;padding:8px;min-width:240px;max-width:350px;max-height:65vh;overflow:auto;list-style:none;background:#fffdfb;border:1px solid var(--kz-line);border-radius:15px;box-shadow:0 20px 55px #281c3731}
.kz-nav-list .sub-menu li{list-style:none}.kz-nav-list .sub-menu a{white-space:normal;font-size:13px;line-height:1.45;padding:10px 13px}
.kz-nav-list li:hover>.sub-menu,.kz-nav-list li:focus-within>.sub-menu{display:block}
.kz-header-cta,.kz-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 19px;min-height:44px;border:1px solid transparent;border-radius:12px;background:var(--kz-purple);color:#fff!important;text-decoration:none!important;white-space:nowrap;font-size:14px;font-weight:750;box-shadow:0 8px 20px #5b398222}.kz-header-cta:hover,.kz-button:hover{background:#402456}
.kz-menu-toggle{display:none;width:46px;height:44px;border:1px solid #d8c9da;background:#fff;border-radius:12px;padding:11px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.kz-menu-toggle span{display:block;width:21px;height:2px;border-radius:2px;background:var(--kz-deep)}
.kz-main{width:min(100%,1460px);min-height:52vh;padding:clamp(25px,3.5vw,48px) clamp(16px,3vw,52px) 88px;margin:0 auto}.kz-main-home{padding-top:clamp(16px,2.5vw,32px)}
.kz-main .kz-article{margin:0 auto;width:100%;min-width:0;max-width:none}.kz-page-body{min-width:0;max-width:none;width:100%;overflow-wrap:break-word}
.kz-page-body>*:first-child{margin-top:0}.kz-page-body>p{max-width:88ch;line-height:1.8}
.kz-page-body :is(h1,h2,h3,h4){overflow-wrap:break-word}
.kz-page-body :where(figure){max-width:100%}
.kz-page-body :where(table){display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse}
.kz-page-body :where(pre){max-width:100%;overflow:auto}
.kz-page-body :where(input,select,textarea){max-width:100%}
.kz-page-body :where(.wp-block-image img){border-radius:14px}
.kz-crumbs{margin:0 0 17px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:#918296}
.kz-crumbs a{color:#6e5d76!important;text-decoration:none}.kz-crumbs a:hover{text-decoration:underline}
.kz-page-heading{margin:0 0 clamp(26px,3vw,38px);padding:0 0 23px;border-bottom:1px solid var(--kz-line)}
.kz-eyebrow{display:block;margin:0 0 9px;font-size:11px;font-weight:850;letter-spacing:.17em;text-transform:uppercase;color:#936d96}
.kz-page-heading h1,.kz-fallback-hero h1{margin:0;font:700 clamp(31px,4vw,54px)/1.13 Georgia,'Times New Roman',serif;letter-spacing:-.035em;color:var(--kz-ink)}
.kz-reading-column{max-width:990px}.kz-reading-column .kz-page-body{max-width:890px}
.kz-reading-column .kz-page-body p{font-size:17px;line-height:1.85}
.kz-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.kz-post-tile{padding:26px;border:1px solid var(--kz-line);border-radius:19px;background:var(--kz-surface);box-shadow:var(--kz-shadow)}
.kz-post-tile h2{font:700 24px/1.24 Georgia,serif;margin:12px 0}.kz-post-tile h2 a{text-decoration:none}.kz-post-tile p{color:var(--kz-ink-soft)}.kz-post-date{font-size:12px}.kz-read-more{font-weight:750}
.kz-featured img{border-radius:18px}.kz-pagination{padding:20px 0}
.kz-fallback-hero{background:linear-gradient(118deg,#fffaf7 0%,#f5eaf7 100%);border:1px solid #ead7ee;border-radius:24px;padding:clamp(36px,6vw,72px);margin:10px auto;max-width:1300px}
.kz-fallback-hero h1{max-width:750px}.kz-fallback-hero p:not(.kz-eyebrow){font-size:18px;max-width:640px}.kz-fallback-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
/* Obecna strona główna, generowana przez Kartomancja Engine: nie duplikujemy treści. */
.kz-main-home .kme-home{max-width:100%;margin-inline:auto}
.kz-main-home .kme-home-hero{border-radius:26px;box-shadow:0 20px 60px rgba(49,32,65,.055)}
.kz-main-home .kme-home-section{scroll-margin-top:100px}
.kz-main-home :where(.kme-home-morning-card,.kme-home-tool,.kme-home-topic){border-radius:20px}
/* Rune OS — nadanie pełnej szerokości bez ingerowania w jego mechanikę. */
.kz-section-runes .kz-page-body{width:100%;max-width:none}
.kz-section-runes .kz-page-heading{border-color:#d9cfb6}
.kz-section-runes .kz-eyebrow{color:#906e40}
.kz-section-runes :is(.rz-shell,.runo-app){max-width:1300px;margin-left:auto;margin-right:auto}
.kz-section-runes .rz-shell{padding:clamp(19px,3vw,40px);box-shadow:0 14px 46px rgba(44,35,25,.08)}
.kz-section-runes .runo-app{box-shadow:0 14px 46px rgba(44,35,25,.065)}
.kz-section-runes .runo-result-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:18px}
.kz-section-runes .runo-result-card img{width:100%;height:auto;object-fit:contain;aspect-ratio:2/3}
.kz-section-runes .runo-result-card{min-width:0}
.kz-section-runes .runo-results:has(.runo-result-card:only-child) .runo-result-grid{grid-template-columns:minmax(0,390px);justify-content:center}
.kz-section-runes .rz-atlas-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.kz-section-runes .rz-detail-grid{grid-template-columns:minmax(220px,350px) minmax(0,1fr)}
.kz-section-runes .rz-reading-card{grid-template-columns:minmax(190px,280px) minmax(0,1fr)}
/* Existing Tarot plugin: ensure no third-party theme sidebar squeezes cards. */
.kz-section-tarot .kz-page-body,.kz-main-home .kz-page-body{max-width:none}
.kz-theme :is(.kme-home,.rz-shell,.runo-app){width:100%}
.kz-theme :is(.rz-shell,.runo-app) img{max-width:100%}
/* Standard WordPress blocks / accessibility */
.kz-theme .alignwide{max-width:min(100%,1320px);margin-inline:auto}
.kz-theme .alignfull{width:100vw;max-width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.kz-theme .wp-block-button__link{border-radius:11px}
.kz-theme .wp-block-quote{padding:15px 23px;border-left:4px solid var(--kz-gold);background:#fffaf1}
.kz-theme .wp-caption{max-width:100%}
.kz-theme .screen-reader-text:focus{background:white;color:black;left:5px;top:5px;width:auto;height:auto;clip:auto;z-index:100000;padding:15px}
.kz-search-form{margin:22px 0 30px}.kz-search-form>div{display:flex;gap:10px}.kz-search-form label{display:block;margin-bottom:8px;font-weight:750}.kz-search-form input{padding:13px 16px;border:1px solid #d5c7d8;border-radius:11px;flex:1;min-width:0;background:white}.kz-search-form button{border:0;background:var(--kz-purple);color:white;border-radius:11px;padding:13px 22px;font-weight:750;cursor:pointer}
.kz-404{text-align:center;max-width:670px}.kz-404 h1{font:700 45px Georgia,serif}
/* Footer */
.kz-footer{padding:65px clamp(20px,4vw,60px) 23px;background:var(--kz-deep);color:#efe8f2;position:relative}
.kz-footer::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#b68d55,#6e5481,#b68d55)}
.kz-footer-inner{max-width:1340px;margin:auto;display:grid;grid-template-columns:minmax(260px,2.1fr) minmax(140px,1fr) minmax(140px,1fr);gap:clamp(24px,4vw,60px)}
.kz-footer-brand{color:#fff!important;text-decoration:none;font:700 26px/1.2 Georgia,serif}.kz-footer-brand span{color:#c1a9d1}.kz-footer p{color:#d5c8d9;line-height:1.7}.kz-footer-about p{max-width:550px}
.kz-footer-note{font-size:12px;opacity:.8}.kz-footer-title{color:#e8cf9f!important;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;margin:5px 0 20px}
.kz-footer-links{display:flex;flex-direction:column;gap:12px}.kz-footer-links a{color:#e8daed!important;text-decoration:none;font-size:14px}.kz-footer-links a:hover{text-decoration:underline}
.kz-footer-bottom{max-width:1340px;margin:50px auto 0;border-top:1px solid #574765;padding-top:22px;color:#c4b5c8;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px}
@media(max-width:1090px){
 .kz-head-inner{min-height:82px;flex-wrap:wrap;gap:15px;padding:11px 22px}
 .kz-menu-toggle{display:flex;order:2}
 .kz-header-cta{order:1;margin-left:auto}
 .kz-nav{display:none;order:3;flex-basis:100%;width:100%;margin:0;padding:0 0 12px;border-top:1px solid #e9e0e8}
 .kz-nav.kz-open{display:block}
 .kz-nav-list{flex-direction:column;align-items:stretch;gap:2px;padding:12px 0 0}
 .kz-nav-list a{padding:12px 15px;white-space:normal}
 .kz-nav-list .sub-menu{display:block;position:static;min-width:0;max-width:none;max-height:none;overflow:visible;box-shadow:none;background:transparent;border:0;border-radius:0;padding:0 0 0 22px;margin:0}
 .kz-main{padding-left:23px;padding-right:23px}
 .kz-section-runes .runo-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .kz-section-runes .runo-controls .runo-draw{grid-column:span 2}
}
@media(max-width:700px){
 .kz-ribbon{font-size:9px;letter-spacing:.09em;padding:0 8px}
 .kz-head-inner{gap:10px;padding:9px 14px;min-height:72px}
 .kz-name{font-size:clamp(21px,5.8vw,27px)}.kz-name small{font-size:7px;margin-top:5px;letter-spacing:.075em}
 .kz-mark{width:42px;height:42px;font-size:30px;border-radius:13px}
 .kz-header-cta{display:none}
 .kz-menu-toggle{margin-left:auto}
 .kz-main{padding:21px 13px 56px}.kz-main-home{padding-top:13px}
 .kz-page-heading h1{font-size:clamp(30px,7vw,40px)}.kz-page-heading{margin-bottom:24px}
 .kz-post-grid{grid-template-columns:1fr;gap:14px}
 .kz-main-home .kme-home-hero{border-radius:18px}
 .kz-section-runes .rz-shell,.kz-section-runes .runo-app{padding:17px 13px;margin:12px auto;border-radius:14px}
 .kz-section-runes .runo-controls{grid-template-columns:1fr}
 .kz-section-runes .runo-controls .runo-draw{grid-column:auto;width:100%}
 .kz-section-runes .runo-result-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px}
 .kz-section-runes .rz-detail-grid,.kz-section-runes .rz-reading-card{grid-template-columns:1fr}
 .kz-section-runes .rz-reading-art,.kz-section-runes .rz-detail-grid>.rz-card{max-width:330px;margin-left:auto;margin-right:auto}
 .kz-footer{padding:45px 20px 20px}
 .kz-footer-inner{grid-template-columns:1fr 1fr;gap:27px}.kz-footer-about{grid-column:1/-1}.kz-footer-bottom{margin-top:30px}
 .kz-search-form>div{flex-direction:column}.kz-search-form button{min-height:46px}
}
@media(max-width:390px){.kz-name small{max-width:210px}.kz-footer-inner{grid-template-columns:1fr}.kz-footer-about{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
