/* Kapitelo.cz / Kapitelo.com
   Společný vzhled celé platformové domény.
   platform.html i pro_autory.html mají obsah/layout, ne vlastní vizuální základ.
*/

:root {
    --kp-bg: #ece7df;
    --kp-card: rgba(255,255,255,.94);
    --kp-text: #1f1f1f;
    --kp-muted: #6c6a66;
    --kp-line: rgba(0,0,0,.08);
    --kp-soft: #f5f3ef;
    --kp-dark: #111;
    --kp-radius: 24px;
    --kp-shadow: 0 12px 35px rgba(0,0,0,.08);
}

body {
    background-color: var(--kp-bg);
}

.kp-page{max-width:1180px;margin:0 auto;padding:28px 20px 70px;}
.kp-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;}
.kp-brand{font-size:28px;font-weight:800;color:var(--kp-text);text-decoration:none;letter-spacing:-.03em;}
.kp-nav{display:flex;gap:22px;flex-wrap:wrap;align-items:center;}
.kp-nav a{color:#4b4a47;text-decoration:none;font-weight:700;font-size:15px;}
.kp-nav a:hover{text-decoration:underline;}

.kp-hero{
    background:var(--kp-card);
    border-radius:28px;
    padding:56px;
    box-shadow:0 18px 50px rgba(0,0,0,.08);
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);
    gap:48px;
    align-items:center;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.kp-kicker{margin:0 0 14px;text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:#777;}
.kp-hero h1{margin:0;font-size:clamp(48px,7vw,82px);line-height:.95;letter-spacing:-.05em;}
.kp-lead{margin:24px 0 0;font-size:22px;line-height:1.5;color:#4f4d49;max-width:800px;}
.kp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;}
.kp-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid var(--kp-line);}
.kp-btn-primary{background:#111;color:#fff;}
.kp-btn-secondary{background:#fff;color:#111;}
.kp-note{background:var(--kp-soft);border-radius:22px;padding:26px;}
.kp-note h3{margin:0 0 10px;font-size:20px;}
.kp-note p{margin:0;color:#5b5955;line-height:1.55;}
.kp-note ul{margin:16px 0 0;padding-left:20px;color:#4f4d49;line-height:1.7;}

.kp-building{
    margin-top:22px;
    background:#171717;
    color:#fff;
    border-radius:22px;
    padding:22px 26px;
    display:flex;
    gap:18px;
    align-items:center;
    justify-content:space-between;
}
.kp-building strong{font-size:18px;}
.kp-building span{color:#d7d7d7;line-height:1.45;}

.kp-duo{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px;}
.kp-panel{
    background:var(--kp-card);
    border-radius:24px;
    padding:34px;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}
.kp-panel .kp-kicker{margin-bottom:10px;}
.kp-panel h2{margin:0 0 16px;font-size:28px;letter-spacing:-.02em;}
.kp-panel p{margin:0;color:#5b5955;line-height:1.65;}
.kp-panel ul{margin:18px 0 0;padding-left:20px;line-height:1.75;color:#4d4b47;}
.kp-panel .kp-actions{margin-top:24px;}

.kp-catalog{
    margin-top:28px;
    background:var(--kp-card);
    border-radius:28px;
    padding:34px;
    box-shadow:0 12px 35px rgba(0,0,0,.055);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.kp-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px;}
.kp-section-head h2{margin:0;font-size:30px;}
.kp-section-head p{margin:4px 0 0;color:var(--kp-muted);}

.author-block{display:grid;grid-template-columns:92px 1fr;gap:22px;align-items:start;padding:18px 0;}
.author-block + .author-block{border-top:1px solid var(--kp-line);}
.author-photo img{width:92px;height:92px;display:block;object-fit:cover;border-radius:50%;}
.author-name{font-size:27px;font-weight:800;margin:0 0 6px;}
.author-name a{color:inherit;text-decoration:none;}
.author-name a:hover{text-decoration:underline;}
.author-tagline{color:#686560;line-height:1.5;margin-bottom:18px;max-width:800px;}

.book-list{display:grid;gap:16px;}
.platform-book-card{
    display:grid;
    grid-template-columns:180px 1fr;
    gap:28px;
    align-items:center;
    padding:22px;
    border-radius:20px;
    background:#f6f5f2;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.platform-book-stack-link{display:block;width:150px;color:inherit;text-decoration:none;}
.platform-book-stack{position:relative;width:150px;height:190px;}
.platform-book-cover{position:absolute;top:0;width:120px;height:180px;object-fit:cover;border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.18);border:1px solid rgba(0,0,0,.08);background:#eee;}
.platform-book-cover.is-third{left:32px;top:14px;z-index:1;opacity:.78;}
.platform-book-cover.is-second{left:16px;top:7px;z-index:2;opacity:.88;}
.platform-book-cover.is-first{left:0;top:0;z-index:3;}
.platform-book-placeholder{width:120px;height:180px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(0,0,0,.05);color:#aaa;font-size:44px;font-weight:700;}
.platform-book-title{margin:0 0 6px;font-size:34px;line-height:1.1;font-weight:800;letter-spacing:-.025em;}
.platform-book-title a{color:inherit;text-decoration:none;}
.platform-book-title a:hover{text-decoration:underline;}
.platform-book-meta{margin-bottom:12px;color:#6d6a66;font-size:15px;}
.platform-book-parts{margin-top:14px;display:grid;gap:8px;}
.platform-book-part-row{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;padding:10px 14px;border-radius:12px;background:#fff;color:inherit;text-decoration:none;}
a.platform-book-part-row:hover{background:#fcfcfc;}
.platform-book-part-row.is-preparing{opacity:.72;}
.platform-book-part-number{color:#777;}
.platform-book-part-title{font-weight:700;}
.platform-book-part-status{color:#777;white-space:nowrap;}

.kp-about{
    margin-top:28px;
    display:grid;
    grid-template-columns:1fr .75fr;
    gap:22px;
}
.kp-about-card{
    background:var(--kp-card);
    border-radius:24px;
    padding:34px;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}
.kp-about-card h2{margin:0 0 14px;font-size:28px;}
.kp-about-card p{margin:0;color:#5b5955;line-height:1.7;}
.kp-about-cta{background:#171717;color:#fff;border-radius:24px;padding:34px;display:flex;flex-direction:column;justify-content:center;}
.kp-about-cta .kp-kicker{color:#aaa;}
.kp-about-cta h2{margin:0 0 12px;font-size:30px;}
.kp-about-cta p{margin:0;color:#d8d8d8;line-height:1.6;}
.kp-about-cta .kp-btn{margin-top:22px;align-self:flex-start;background:#fff;color:#111;border:none;}

@media (max-width:850px){
    .kp-hero,.kp-duo,.kp-about{grid-template-columns:1fr;}
    .kp-hero{padding:34px;}
}
@media (max-width:700px){
    .kp-topbar{align-items:flex-start;flex-direction:column;}
    .kp-nav{gap:14px;}
    .kp-page{padding:20px 14px 48px;}
    .kp-hero,.kp-panel,.kp-catalog,.kp-about-card,.kp-about-cta{padding:24px;}
    .kp-hero h1{font-size:48px;}
    .kp-lead{font-size:19px;}
    .kp-building{align-items:flex-start;flex-direction:column;}
    .author-block{grid-template-columns:64px 1fr;gap:16px;}
    .author-photo img{width:64px;height:64px;}
    .platform-book-card{grid-template-columns:1fr;}
    .platform-book-stack{margin:0 auto;}
    .platform-book-title{font-size:28px;}
    .platform-book-part-row{grid-template-columns:32px 1fr;}
    .platform-book-part-status{grid-column:2;}
}


/* /pro-autory/ */
.author-page{max-width:1040px;margin:0 auto;padding:28px 20px 70px;}
.author-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;}
.author-top a{color:#222;text-decoration:none;font-weight:800;}
.author-hero,
.author-section,
.author-form-wrap {
    background: rgba(255,255,255,.90);
    border-radius: 26px;
    box-shadow: 0 14px 40px rgba(0,0,0,.07);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.author-hero{padding:50px;}
.author-kicker{margin:0 0 12px;text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:#777;}
.author-hero h1{margin:0;font-size:clamp(44px,6vw,72px);line-height:1;letter-spacing:-.045em;}
.author-lead{margin:22px 0 0;max-width:780px;font-size:21px;line-height:1.55;color:#514f4b;}
.author-status{margin-top:24px;padding:18px 20px;border-radius:18px;background:#171717;color:#fff;}
.author-status strong{display:block;margin-bottom:4px;}
.author-status span{color:#d4d4d4;}

.author-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px;}
.author-section{padding:32px;}
.author-section h2{margin:0 0 14px;font-size:28px;}
.author-section p{color:#5a5752;line-height:1.65;margin:0;}
.author-section ul{padding-left:20px;line-height:1.8;color:#4e4b47;}

.author-form-wrap{margin-top:24px;padding:36px;}
.author-form-wrap h2{margin:0 0 8px;font-size:30px;}
.author-form-wrap > p{margin:0 0 24px;color:#5e5b56;line-height:1.6;}
.author-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.author-field{display:flex;flex-direction:column;gap:7px;}
.author-field.full{grid-column:1/-1;}
.author-field label{font-weight:800;font-size:14px;}
.author-field input,.author-field select,.author-field textarea{
    width:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.14);border-radius:14px;
    padding:13px 14px;font:inherit;background:#fff;
}
.author-field textarea{min-height:130px;resize:vertical;}
.author-check{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;color:#555;line-height:1.45;}
.author-check input{margin-top:3px;}
.author-submit{grid-column:1/-1;}
.author-submit button{
    border:0;border-radius:999px;background:#111;color:#fff;font:inherit;font-weight:800;
    padding:14px 22px;cursor:pointer;
}
.author-note{margin-top:14px;color:#777;font-size:13px;line-height:1.5;}
.author-success{margin:0 0 20px;padding:16px 18px;border-radius:14px;background:#f0f7ee;}
.author-error{margin:0 0 20px;padding:16px 18px;border-radius:14px;background:#fff0f0;}

@media(max-width:760px){
    .author-grid,.author-form{grid-template-columns:1fr;}
    .author-field.full,.author-check,.author-submit{grid-column:1;}
    .author-hero,.author-section,.author-form-wrap{padding:24px;}
}


/* Společná "okna" na platformové doméně */
.kp-hero,
.kp-panel,
.kp-catalog,
.kp-about-card,
.author-hero,
.author-section,
.author-form-wrap {
    background: var(--kp-card);
    border-radius: var(--kp-radius);
    box-shadow: var(--kp-shadow);
}

/* Žádný backdrop blur: okna mají mít konzistentní světlou výplň. */
.kp-hero,
.kp-panel,
.kp-catalog,
.kp-about-card,
.author-hero,
.author-section,
.author-form-wrap {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}


/* --------------------------------------------------
   Můj účet
   -------------------------------------------------- */

.account-page{
    max-width:1180px;
    margin:0 auto;
    display:grid;
    gap:22px;
}

.account-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    padding:18px 6px 8px;
}

.account-header h1{
    margin:3px 0 6px;
    font-size:clamp(42px,6vw,68px);
    line-height:1;
    letter-spacing:-.045em;
}

.account-header p{
    margin:0;
    color:var(--kp-muted);
}

.account-kicker,
.account-section-kicker{
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:12px;
    font-weight:800;
    color:#88847e;
}

.account-logout{
    color:#555;
    text-decoration:none;
    font-weight:700;
}

.account-logout:hover{
    text-decoration:underline;
}


/* Horní přehled */

.account-summary{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
}

.account-summary-card{
    background:var(--kp-card);
    border-radius:var(--kp-radius);
    box-shadow:var(--kp-shadow);
    padding:28px;
    min-height:150px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.account-summary-label{
    color:var(--kp-muted);
    font-weight:700;
    margin-bottom:8px;
}

.account-summary-card strong{
    font-size:38px;
    line-height:1;
    letter-spacing:-.04em;
}

.account-summary-card small{
    margin-top:10px;
    color:var(--kp-muted);
    line-height:1.4;
}


/* Sekce */

.account-section{
    background:var(--kp-card);
    border-radius:var(--kp-radius);
    box-shadow:var(--kp-shadow);
    padding:32px;
}

.account-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px;
}

.account-section-head h2{
    margin:4px 0 0;
    font-size:29px;
    letter-spacing:-.025em;
}

.account-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}


/* Knihy */

.account-books{
    display:grid;
    gap:12px;
}

.account-book{
    background:var(--kp-soft);
    border-radius:18px;
    padding:20px 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.account-book-meta{
    color:var(--kp-muted);
    font-size:14px;
    margin-bottom:5px;
}

.account-book h3{
    margin:0;
    font-size:22px;
    letter-spacing:-.02em;
}


/* Peněženka */

.account-money-row{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:13px 0;
    border-bottom:1px solid var(--kp-line);
}

.account-money-row span{
    color:var(--kp-muted);
}

.account-money-row strong{
    font-size:18px;
}

.account-money-total{
    margin-top:5px;
    border-bottom:0;
}

.account-money-total span,
.account-money-total strong{
    color:var(--kp-text);
    font-weight:800;
}

.account-money-total strong{
    font-size:24px;
}

.account-actions{
    margin-top:20px;
}


/* Affiliate */

.account-affiliate-code{
    display:inline-block;
    padding:10px 14px;
    border-radius:12px;
    background:var(--kp-soft);
    font-family:monospace;
    font-size:17px;
    font-weight:700;
    letter-spacing:.03em;
}

.account-muted{
    margin:22px 0 7px;
    color:var(--kp-muted);
    font-size:14px;
}

.account-copy-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
}

.account-copy-row input{
    min-width:0;
    border:1px solid rgba(0,0,0,.12);
    border-radius:14px;
    background:#fff;
}

.account-affiliate-stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:22px;
}

.account-affiliate-stats > div{
    background:var(--kp-soft);
    border-radius:16px;
    padding:18px;
}

.account-affiliate-stats strong{
    display:block;
    font-size:22px;
    margin-bottom:4px;
}

.account-affiliate-stats span{
    color:var(--kp-muted);
    font-size:13px;
}


/* Ledger */

.account-ledger{
    display:grid;
}

.account-ledger-row{
    display:grid;
    grid-template-columns:120px 1fr auto;
    gap:20px;
    align-items:center;
    padding:15px 0;
    border-top:1px solid var(--kp-line);
}

.account-ledger-row:first-child{
    border-top:0;
}

.account-ledger-date{
    color:#555;
    font-size:14px;
}

.account-ledger-date small{
    display:block;
    color:#999;
    margin-top:2px;
}

.account-ledger-main strong{
    display:block;
    font-size:15px;
}

.account-ledger-main span{
    display:block;
    color:var(--kp-muted);
    font-size:13px;
    margin-top:3px;
}

.account-ledger-amount{
    font-weight:800;
    white-space:nowrap;
    font-size:16px;
}

.account-ledger-amount.is-positive{
    color:#246b42;
}

.account-ledger-amount.is-negative{
    color:#8a3b35;
}

.account-empty{
    color:var(--kp-muted);
}


/* Responsive */

@media(max-width:800px){

    .account-summary{
        grid-template-columns:1fr;
    }

    .account-columns{
        grid-template-columns:1fr;
    }

    .account-header{
        align-items:flex-start;
        flex-direction:column;
    }

    .account-book{
        align-items:flex-start;
        flex-direction:column;
    }

    .account-ledger-row{
        grid-template-columns:90px 1fr;
    }

    .account-ledger-amount{
        grid-column:2;
    }
}

@media(max-width:520px){

    .account-section,
    .account-summary-card{
        padding:22px;
    }

    .account-copy-row{
        grid-template-columns:1fr;
    }

    .account-affiliate-stats{
        grid-template-columns:1fr;
    }

    .account-header h1{
        font-size:42px;
    }
}

.account-header-actions{
    display:flex;
    gap:18px;
    align-items:center;
}

.account-header-actions a{
    color:#555;
    text-decoration:none;
    font-weight:700;
}

.account-header-actions a:hover{
    text-decoration:underline;
}

.account-back{
    display:inline-block;
    margin-bottom:20px;
    color:#555;
    text-decoration:none;
    font-weight:700;
}

.account-back:hover{
    text-decoration:underline;
}

.account-auth-switch{
    margin-top:20px;
    color:var(--kp-muted);
}

.account-auth-switch a{
    color:var(--kp-text);
    font-weight:700;
    text-decoration:none;
}

.account-auth-switch a:hover{
    text-decoration:underline;
}

.featured-book {
    margin: 34px 0;
}

.featured-book-inner {
    display: grid;
    grid-template-columns: minmax(180px, 260px) 1fr;
    gap: 38px;
    padding: 34px;
    border-radius: 24px;
    background: rgba(255,255,255,0.72);
}

.featured-book-visual {
    min-width: 0;
}

.featured-book-cover {
    display: block;
    width: 100%;
    max-width: 260px;
    height: auto;
    border-radius: 16px;
    box-shadow: 0 18px 45px rgba(0,0,0,0.18);
}

.featured-book-part-covers {
    display: flex;
    gap: 8px;
    margin-top: 14px;
}

.featured-book-part-covers a {
    display: block;
    width: 31%;
}

.featured-book-part-covers img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 5px 14px rgba(0,0,0,0.15);
}

.featured-book-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.featured-book-author {
    margin-bottom: 6px;
    font-size: 15px;
    font-weight: 600;
    color: #777;
}

.featured-book-author a {
    color: inherit;
    text-decoration: none;
}

.featured-book-title {
    margin: 0 0 14px;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.05;
}

.featured-book-title a {
    color: inherit;
    text-decoration: none;
}

.featured-book-genres {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 18px;
}

.featured-book-genre {
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(0,0,0,0.06);
    font-size: 13px;
    font-weight: 600;
}

.featured-book-tagline {
    margin-bottom: 10px;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 600;
}

.featured-book-annotation {
    max-width: 720px;
    margin-bottom: 18px;
    color: #555;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.featured-book-status {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-bottom: 18px;
    font-size: 15px;
    color: #666;
}

.featured-book-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-bottom: 22px;
}

.featured-book-price-main {
    display: flex;
    align-items: baseline;
    gap: 7px;
}

.featured-book-price-label {
    color: #777;
}

.featured-book-price-main strong {
    font-size: 30px;
}

.featured-book-discount {
    display: flex;
    align-items: center;
    gap: 8px;
}

.featured-book-old-price {
    color: #888;
    text-decoration: line-through;
}

.featured-book-discount-badge {
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(0,0,0,0.08);
    font-size: 13px;
    font-weight: 700;
}

.featured-book-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 760px) {
    .featured-book-inner {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 22px;
    }

    .featured-book-cover {
        margin: 0 auto;
        max-width: 230px;
    }

    .featured-book-part-covers {
        justify-content: center;
    }

    .featured-book-part-covers a {
        max-width: 72px;
    }

    .featured-book-title {
        font-size: 32px;
    }
}

.featured-book-actions .kp-btn-primary {
    background: #111;
    color: #fff;
    border-color: #111;
}

.featured-book-actions .kp-btn-secondary {
    background: #fff;
    color: #111;
    border-color: rgba(0,0,0,.10);
}

.featured-book-actions .kp-btn-primary,
.featured-book-actions .kp-btn-primary:visited {
    color: #fff;
}

.featured-book-actions .kp-btn-secondary,
.featured-book-actions .kp-btn-secondary:visited {
    color: #111;
}


.featured-book-type {
    margin-bottom: 6px;
    color: #777;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.featured-book-genres {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 8px;
}

.featured-book-genre {
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(0,0,0,.06);
    font-size: 13px;
    font-weight: 700;
}

.featured-book-themes {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 12px;
    margin-bottom: 20px;
    color: #777;
    font-size: 13px;
}

.featured-book-detail-link {
    display: inline-flex;
    align-items: center;
    padding: 14px 4px;
    color: #444;
    text-decoration: none;
    font-weight: 700;
}

.featured-book-detail-link:hover {
    text-decoration: underline;
}

.featured-book-genre {
    padding: 3px 0;
    border-radius: 0;
    background: none;
    font-size: 14px;
    font-weight: 800;
    color: #222;
}

.featured-book-genres {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-bottom: 8px;
}

.featured-book-themes {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    margin-bottom: 20px;
    color: #777;
    font-size: 13px;
}

.featured-book-old-price {
    color: #8a8782;
    text-decoration: line-through;
    font-size: 15px;
}

.featured-book-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.featured-book-price strong {
    font-size: 24px;
}

/* Homepage editorial placements: independent of article/help/page type. */
.kp-promo-hero,.kp-promo-feed{margin-top:28px}
.kp-promo-hero{background:#fff;border-radius:26px;padding:32px;box-shadow:var(--kp-shadow)}
.kp-promo-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.kp-promo-heading h2,.kp-promo-feed h2{margin:0 0 16px;font-size:28px}
.kp-promo-controls{display:flex;align-items:center;gap:12px}
.kp-promo-controls button{border:1px solid #ddd;background:white;border-radius:12px;padding:8px 13px;cursor:pointer}
.kp-promo-slide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:24px;min-height:230px;padding:26px;background:#f5f0e8;border-radius:19px}
.kp-promo-slide[hidden]{display:none!important}
.kp-promo-slide h3{font-size:clamp(28px,4vw,45px);line-height:1.1;margin:0 0 14px;color:#1b2a3a}
.kp-promo-slide p{line-height:1.6;color:#526070}
.kp-promo-slide .kp-actions,.kp-promo-slide .kp-btn{margin-top:12px}
.kp-promo-picture img{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:14px;box-shadow:0 14px 40px #1b2a3a25}
.kp-promo-feed{background:#fff;border-radius:26px;padding:32px}
.kp-promo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:28px}
.kp-promo-card{border:1px solid #e8e5e0;border-radius:18px;overflow:hidden}
.kp-promo-card>img{display:block;width:100%;height:170px;object-fit:cover}
.kp-promo-card>div{padding:18px}.kp-promo-card h3{margin:0 0 12px}.kp-promo-card h3 a{color:inherit}
.kp-promo-card p{line-height:1.5;color:#58616b}
.kp-promo-news{display:grid;gap:8px}.kp-promo-news>a{padding:12px 16px;border:1px solid #e8e5e0;border-radius:12px;display:flex;justify-content:space-between;color:#1b2a3a;text-decoration:none}
@media(max-width:700px){.kp-promo-slide{grid-template-columns:1fr}.kp-promo-hero,.kp-promo-feed{padding:18px}}

/* Editable presentation styles for homepage screenshots. */
.kp-express-view{overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f1ebe3}.kp-express-art{position:relative;max-width:86%;max-height:88%;transform:rotate(var(--promo-rotation,0deg)) scale(var(--promo-scale,1));filter:drop-shadow(0 calc(var(--promo-shadow,18px) * .45) var(--promo-shadow,18px) rgba(27,42,58,.27))}.kp-express-art>img{display:block;max-width:100%;max-height:310px;object-fit:contain;border-radius:var(--promo-round,12px)}.kp-promo-card-visual{height:190px}.kp-promo-card-visual img{max-height:155px}.kp-promo-picture{min-height:245px}.kp-express-mark{border-width:2px}.kp-promo-card>.kp-promo-card-visual{width:100%}
@media(max-width:820px){.promo-express-layout{grid-template-columns:1fr}.promo-express-stage{height:275px}}

.kp-promo-card>.kp-promo-card-visual{padding:0}

/* Homepage 2026: editorial presentation. Scoped to the platform landing page. */
.kp-page{--kp-home-navy:#1b2a3a;--kp-home-gold:#c79a52;--kp-home-cream:#f6f0e6;max-width:1260px;padding-top:30px}
.kp-page .kp-home-intro{position:relative;min-height:470px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:28px;overflow:hidden;padding:clamp(36px,5vw,70px);background:linear-gradient(120deg,#faf7f0,#f4eadb);box-shadow:0 16px 52px #283a4c13;border:1px solid #e8dece}
.kp-page .kp-home-copy{position:relative;z-index:2;max-width:680px}
.kp-page .kp-home-intro .kp-kicker{color:#926b32;font-weight:800;letter-spacing:.19em;font-size:12px}
.kp-page .kp-home-intro h1{font-size:clamp(43px,5.5vw,75px);line-height:1.03;letter-spacing:-.052em;color:var(--kp-home-navy);max-width:690px}
.kp-page .kp-home-intro .kp-lead{font-size:clamp(17px,1.8vw,21px);line-height:1.65;color:#506071;margin-top:25px;max-width:540px}
.kp-page .kp-home-intro .kp-btn-primary{background:var(--kp-home-navy);border-color:var(--kp-home-navy);color:white}
.kp-page .kp-btn-primary:hover{background:#314962;color:white}
.kp-page .kp-btn-secondary{border-color:#c9b99e;color:#24364b;background:#fffdf9}
.kp-page .kp-home-art{position:relative;min-height:355px;align-self:stretch;isolation:isolate;display:grid;place-items:center}
.kp-page .kp-home-orbit{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;border:1px solid #cdaa70;opacity:.32}
.kp-page .kp-home-orbit-one{transform:scale(1.12) rotate(-18deg)}
.kp-page .kp-home-orbit-two{transform:scale(.76) rotate(24deg);border-style:dashed}
.kp-page .kp-home-book{position:absolute;width:50%;height:64%;max-height:260px;display:flex;gap:3px;filter:drop-shadow(8px 20px 18px #19273d26)}
.kp-page .kp-home-book span{width:50%;background:linear-gradient(140deg,#f3d6a0,#c18e41 72%,#a67333);border:1px solid #ad7b3c}
.kp-page .kp-home-book span:first-child{border-radius:14px 4px 8px 24px;transform:skewY(-13deg);transform-origin:right bottom}
.kp-page .kp-home-book span:last-child{border-radius:4px 14px 24px 8px;transform:skewY(13deg);transform-origin:left bottom}
.kp-page .kp-home-book-back{transform:translate(10%,-12%) rotate(12deg) scale(.95);opacity:.6}
.kp-page .kp-home-book-front{transform:rotate(-8deg)}
.kp-page .kp-home-art-caption{position:absolute;bottom:0;font-size:10px;letter-spacing:.22em;color:#7b6448;font-weight:800;white-space:nowrap}
.kp-page .kp-home-art-caption i{font-size:16px;color:#b98338;margin:0 9px}
.kp-page .kp-home-introline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 34px}
.kp-page .kp-home-introline>div{background:#fffdfa;border:1px solid #e9e0d3;border-radius:16px;display:grid;grid-template-columns:36px 1fr;column-gap:12px;align-items:center;padding:16px 18px}
.kp-page .kp-home-introline span{grid-row:span 2;color:#ae7b36;font-size:27px;line-height:1;text-align:center}
.kp-page .kp-home-introline strong{color:var(--kp-home-navy);font-size:15px}
.kp-page .kp-home-introline small{color:#6e7882;font-size:12px}
.kp-page .kp-promo-hero,.kp-page .kp-promo-feed{background:#fffdf9;border:1px solid #e8dfd1;box-shadow:0 12px 35px #17283c0c;border-radius:26px;padding:clamp(20px,3vw,36px)}
.kp-page .kp-promo-hero{margin-top:14px}
.kp-page .kp-promo-heading{margin-bottom:17px}
.kp-page .kp-promo-heading h2,.kp-page .kp-promo-feed h2,.kp-page .kp-section-heading h2{color:var(--kp-home-navy);font-size:clamp(24px,3vw,34px);line-height:1.15;margin:0;letter-spacing:-.035em}
.kp-page .kp-section-heading{margin:28px 0 17px}
.kp-page .kp-promo-feed .kp-section-heading:first-child{margin-top:0}
.kp-page .kp-promo-controls button{color:var(--kp-home-navy);border:1px solid #dcd0be;background:#fff;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;padding:0;font-size:19px}
.kp-page .kp-promo-controls button:hover{background:#f4eadc}
.kp-page .kp-promo-controls button[hidden],.kp-page .kp-promo-controls span[hidden]{display:none}
.kp-page .kp-promo-controls span{font-variant-numeric:tabular-nums;color:#6b6f75;font-size:13px}
.kp-page .kp-promo-slide{background:linear-gradient(125deg,#f3e9da,#e6ecf0);border-radius:20px;min-height:310px;padding:clamp(22px,4vw,42px);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);overflow:hidden}
.kp-page .kp-promo-slide-content{z-index:2}
.kp-page .kp-promo-slide h3{font-size:clamp(29px,3.8vw,51px);letter-spacing:-.04em;line-height:1.08}
.kp-page .kp-promo-slide p{color:#4e6171;max-width:530px}
.kp-page .kp-promo-picture{border-radius:16px;min-height:250px;max-height:340px}
.kp-page .kp-promo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kp-page .kp-promo-card{background:white;border-color:#e6ded2;border-radius:18px;overflow:hidden;transition:transform .18s,box-shadow .18s}
.kp-page .kp-promo-card:hover{transform:translateY(-3px);box-shadow:0 13px 25px #12253c17}
.kp-page .kp-promo-card>div:last-child{padding:22px}
.kp-page .kp-promo-card h3{font-size:20px;line-height:1.25;letter-spacing:-.025em}
.kp-page .kp-promo-card a{text-decoration:none;color:var(--kp-home-navy)}
.kp-page .kp-promo-card a:hover{text-decoration:underline}
.kp-page .kp-promo-news{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));margin-top:20px}
.kp-page .kp-promo-news>a{border-color:#e2d7c6;background:#faf7f1;gap:12px;font-weight:650}
.kp-page .kp-building{background:#1b2a3a;box-shadow:0 10px 30px #17283c19}
.kp-page .kp-duo-heading{margin-top:46px}
.kp-page .kp-duo{margin-top:0}
.kp-page .kp-panel{box-shadow:0 9px 26px #17283c0c;border:1px solid #e7e0d5}
.kp-page .kp-panel h2,.kp-page .kp-about h2{color:var(--kp-home-navy)}
.kp-page .kp-about-cta{background:var(--kp-home-navy)}
.kp-page .kp-about-cta h2{color:#fff}
.kp-page .kp-featured-heading{margin-top:42px}
.kp-page :is(a,button):focus-visible{outline:3px solid #bc873c;outline-offset:3px}
@media(max-width:980px){.kp-page .kp-home-intro{grid-template-columns:1.2fr .8fr}.kp-page .kp-home-art{min-height:270px}.kp-page .kp-home-introline{grid-template-columns:repeat(2,1fr)}.kp-page .kp-promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.kp-page .kp-home-intro{grid-template-columns:1fr;padding:30px 24px}.kp-page .kp-home-art{min-height:190px;max-height:240px}.kp-page .kp-home-book{height:72%;width:37%}.kp-page .kp-home-intro h1{font-size:clamp(38px,11vw,56px)}.kp-page .kp-home-intro .kp-lead{font-size:17px}.kp-page .kp-promo-slide{grid-template-columns:1fr}.kp-page .kp-promo-picture{min-height:180px}.kp-page .kp-promo-grid{grid-template-columns:1fr}.kp-page .kp-home-introline>div{padding:12px}.kp-page .kp-promo-heading{align-items:flex-start}.kp-page .kp-home-art-caption{bottom:3px}}
@media(max-width:410px){.kp-page .kp-home-introline{grid-template-columns:1fr 1fr;gap:8px}.kp-page .kp-home-introline>div{grid-template-columns:1fr;text-align:center}.kp-page .kp-home-introline span{grid-row:auto}.kp-page .kp-home-art{min-height:170px}}
@media(prefers-reduced-motion:reduce){.kp-page .kp-promo-card{transition:none}}

/* Branding + content-driven hero (no separate demo illustration). */
.kp-brand{display:inline-flex;align-items:center;gap:10px;color:#1b2a3a}
.kp-brand .kp-brand-icon{display:block;width:44px;height:44px;object-fit:contain;flex-shrink:0}
.kp-brand span{white-space:nowrap}
.kp-page .kp-primary-hero{margin-top:0;padding:clamp(16px,2.5vw,27px);background:linear-gradient(120deg,#faf7f0,#f3eadb);border-color:#e8dece}
.kp-page .kp-primary-hero .kp-promo-heading{margin-bottom:8px;padding:0 8px}
.kp-page .kp-primary-hero .kp-promo-heading .kp-kicker{margin:0;color:#916932}
.kp-page .kp-primary-hero .kp-promo-slide{min-height:440px;background:transparent;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.kp-page .kp-primary-hero .kp-promo-slide:not(:has(.kp-promo-picture)){grid-template-columns:1fr}
.kp-page .kp-primary-hero .kp-promo-slide h3{font-size:clamp(34px,5.1vw,68px);max-width:750px}
.kp-page .kp-primary-hero .kp-promo-slide-content>p:not(.kp-kicker){font-size:clamp(17px,1.8vw,21px);line-height:1.6}
.kp-page .kp-home-fallback{min-height:340px;grid-template-columns:1fr;max-width:none}
.kp-page .kp-home-fallback .kp-home-copy{max-width:900px}
.kp-page .kp-home-fallback h1{max-width:900px;font-size:clamp(38px,5vw,66px)}
@media(max-width:700px){.kp-brand .kp-brand-icon{width:35px;height:35px}.kp-page .kp-primary-hero .kp-promo-slide{grid-template-columns:1fr;min-height:300px}.kp-page .kp-primary-hero .kp-promo-picture{min-height:180px}}

/* Primary hero is the editable full-bleed canvas, not an image in a second frame. */
.kp-page .kp-primary-hero .kp-promo-slide.kp-hero-canvas{display:flex!important;min-height:440px;grid-template-columns:none;background:#f7f0e5;padding:clamp(24px,5vw,70px)!important}
.kp-page .kp-primary-hero .kp-promo-slide.kp-hero-canvas[hidden]{display:none!important}
.kp-page .kp-primary-hero .kp-promo-slide.kp-hero-canvas .kp-hero-copy{z-index:2}
.kp-page .kp-primary-hero .kp-promo-slide.kp-hero-canvas .kp-hero-image{position:absolute;inset:0}
.kp-page .kp-primary-hero .kp-promo-slide.kp-hero-canvas.kp-hero-split .kp-hero-image{left:50%}
.kp-page .kp-primary-hero .kp-promo-slide.kp-hero-canvas.kp-hero-split.kp-hero-text-right .kp-hero-image{left:0;right:50%}
.kp-page .kp-primary-hero .kp-promo-slide.kp-hero-canvas.kp-hero-floating .kp-hero-image{inset:15% 5% 15% 53%}
.kp-page .kp-primary-hero .kp-promo-slide.kp-hero-canvas.kp-hero-floating.kp-hero-text-right .kp-hero-image{inset:15% 53% 15% 5%}

/* Editorial news cards: compact article previews, not duplicated hero slides. */
.kp-page .kp-promo-news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.kp-page .kp-news-card{display:grid;grid-template-columns:minmax(0,41%) minmax(0,1fr);min-width:0;overflow:hidden;border:1px solid #e6ded2;border-radius:18px;background:#fff;box-shadow:0 7px 21px #17283c0a}
.kp-page .kp-news-card-textonly{grid-template-columns:1fr}
.kp-page .kp-news-card-media{display:block;min-width:0;overflow:hidden;text-decoration:none}
.kp-page .kp-news-card .kp-promo-card-visual{height:100%;min-height:215px;border-radius:0}
.kp-page .kp-news-card .kp-promo-card-visual img{max-height:155px}
.kp-page .kp-news-card-copy{padding:24px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:9px}
.kp-page .kp-news-card-copy .kp-kicker{font-size:11px;letter-spacing:.12em;margin:0;color:#98703b}
.kp-page .kp-news-card h3{font-size:clamp(20px,2vw,26px);line-height:1.15;margin:0;letter-spacing:-.025em}
.kp-page .kp-news-card h3 a{color:var(--kp-home-navy);text-decoration:none}
.kp-page .kp-news-card .kp-news-summary{color:#536173;font-size:15px;line-height:1.5;margin:0}
.kp-page .kp-news-card .kp-news-readmore{margin-top:auto;padding-top:12px;font-weight:750;color:var(--kp-home-navy);text-decoration:none}
.kp-page .kp-news-card .kp-news-readmore span{margin-left:7px}
.kp-page .kp-news-card h3 a:hover,.kp-page .kp-news-card .kp-news-readmore:hover{text-decoration:underline}
@media(max-width:600px){.kp-page .kp-news-card{grid-template-columns:1fr}.kp-page .kp-news-card .kp-promo-card-visual{height:200px;min-height:200px}.kp-page .kp-news-card-copy{padding:20px}}

/* Compact news: three balanced cards on desktop, two on tablet, one on mobile. */
@media(min-width:1051px){
 .kp-page .kp-promo-news .kp-news-card{grid-template-columns:1fr}
 .kp-page .kp-promo-news .kp-news-card-media .kp-promo-card-visual{height:145px;min-height:145px}
 .kp-page .kp-promo-news .kp-auto-news-cover{height:145px;min-height:145px}
 .kp-page .kp-promo-news .kp-news-card-copy{padding:16px;gap:7px}
 .kp-page .kp-promo-news .kp-news-card h3{font-size:20px}
 .kp-page .kp-promo-news .kp-news-summary{font-size:14px;line-height:1.45}
}
@media(min-width:651px) and (max-width:1050px){
 .kp-page .kp-promo-news{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 .kp-page .kp-promo-news{grid-template-columns:minmax(0,1fr)}
}


/* News card content starts directly below its image; links remain bottom-aligned. */
.kp-page .kp-promo-news .kp-news-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
.kp-page .kp-promo-news .kp-news-card-textonly,
.kp-page .kp-promo-news .kp-auto-news-card:not(:has(.kp-auto-news-cover)){grid-template-rows:minmax(0,1fr)}
.kp-page .kp-promo-news .kp-news-card-media .kp-promo-card-visual,
.kp-page .kp-promo-news .kp-auto-news-cover{height:145px;min-height:145px}
.kp-page .kp-promo-news .kp-news-card-copy{justify-content:flex-start}
.kp-page .kp-promo-news .kp-news-meta{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;row-gap:3px}
.kp-page .kp-promo-news .kp-news-meta time{font-size:12px;color:#697787;white-space:nowrap}

/* Automated public updates and archive. */
.kp-page .kp-primary-hero .kp-promo-slide.kp-auto-hero{display:flex;align-items:center;gap:3rem;min-height:340px;background:#f7f0e5;padding:clamp(24px,4vw,50px);border-radius:18px}
.kp-page .kp-primary-hero .kp-auto-hero[hidden]{display:none!important}
.kp-auto-hero-cover{flex:0 0 29%;display:flex;justify-content:center;align-items:center;max-height:310px}
.kp-auto-hero-cover img{display:block;max-width:100%;max-height:290px;object-fit:contain;filter:drop-shadow(0 12px 17px #14273b35)}
.kp-auto-news-cover{display:block;overflow:hidden;min-height:160px;align-self:stretch}
.kp-auto-news-cover img{height:100%;width:100%;object-fit:cover}
.kp-auto-news-card:not(:has(.kp-auto-news-cover)){grid-template-columns:1fr}
.kp-all-updates{font-weight:700;color:#213a56;text-decoration:none;white-space:nowrap}
.kp-all-updates:hover{text-decoration:underline}
.kp-updates-archive .kp-archive-list{display:grid;gap:14px;margin:20px 0}
.kp-archive-item{display:flex;align-items:center;gap:24px;padding:20px;background:#fff;border:1px solid #e4ddd3;border-radius:18px}
.kp-archive-item img{width:96px;height:110px;object-fit:contain;flex:0 0 auto}
.kp-archive-item h2{margin:0 0 8px;font-size:24px}
.kp-archive-item a{color:#1b2c40;text-decoration:none}
.kp-archive-item p{margin:0 0 8px;color:#596373}
.kp-archive-pagination{display:flex;justify-content:space-between;gap:15px}
@media(max-width:650px){.kp-page .kp-primary-hero .kp-promo-slide.kp-auto-hero{flex-direction:column;align-items:stretch}.kp-auto-hero-cover{max-height:190px}.kp-auto-hero-cover img{max-height:180px}.kp-auto-news-card:has(.kp-auto-news-cover){grid-template-columns:1fr}.kp-auto-news-cover{max-height:180px}.kp-archive-item img{width:70px;height:90px}}

/* Compact homepage layout: feature the books sooner, not the marketing panels. */
.kp-page .kp-primary-hero{padding:clamp(14px,2vw,23px)}
.kp-page .kp-primary-hero .kp-promo-slide{min-height:350px;padding:clamp(22px,3.3vw,42px)}
.kp-page .kp-primary-hero .kp-promo-slide.kp-hero-canvas{min-height:350px;padding:clamp(22px,3.3vw,42px)!important}
.kp-page .kp-primary-hero .kp-promo-slide.kp-auto-hero{min-height:350px}
.kp-page .kp-primary-hero .kp-promo-slide h3{font-size:clamp(30px,4vw,54px)}
.kp-page .kp-primary-hero .kp-promo-slide-content>p:not(.kp-kicker){font-size:clamp(15px,1.45vw,18px)}
.kp-page .kp-primary-hero .kp-promo-heading{margin-bottom:6px}
.kp-page .kp-home-introline{margin-bottom:24px}
.kp-page .kp-featured-heading{margin-top:30px}
.kp-page .kp-duo-heading{margin-top:36px}
.kp-page .kp-duo .kp-panel{padding:clamp(22px,3vw,32px)}
@media(max-width:700px){
 .kp-page .kp-primary-hero .kp-promo-slide,.kp-page .kp-primary-hero .kp-promo-slide.kp-hero-canvas,.kp-page .kp-primary-hero .kp-promo-slide.kp-auto-hero{min-height:310px}
 .kp-page .kp-primary-hero .kp-promo-slide.kp-hero-canvas{padding:24px!important}
}

/* Homepage fine-tuning: compact 3:1 hero and one concise news heading. */
@media(min-width:701px){
 .kp-page .kp-primary-hero .kp-promo-slide,
 .kp-page .kp-primary-hero .kp-promo-slide.kp-hero-canvas,
 .kp-page .kp-primary-hero .kp-promo-slide.kp-auto-hero{min-height:300px}
}
.kp-page .kp-promo-feed .kp-section-heading h2{font-size:clamp(23px,2.6vw,31px)}
.kp-all-updates-bottom{display:flex;justify-content:flex-end;margin-top:15px;padding-right:2px}
