*{box-sizing:border-box}
:root{--purple:#9b6cff;--purple2:#7c4dff;--ink:#17131f;--muted:#706a78;--soft:#f7f5fb;--line:#ebe7f0;--white:#fff}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
.container{width:min(1160px,calc(100% - 40px));margin:auto}
.site-header{height:82px;display:flex;align-items:center;border-bottom:1px solid rgba(30,20,40,.07);background:rgba(255,255,255,.88);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}
.nav-wrap{display:flex;justify-content:space-between;align-items:center}
.brand img{width:94px;height:auto;display:block}
.nav-links{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600;color:#554e5e}
.nav-links a{transition:.2s}
.nav-links a:hover{color:var(--purple2)}
.nav-support{border:1px solid var(--line);padding:10px 15px;border-radius:100px}
.hero{position:relative;overflow:hidden;background:#16111e;min-height:550px;display:flex;align-items:center}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 77% 28%,rgba(155,108,255,.35),transparent 24%),radial-gradient(circle at 20% 90%,rgba(155,108,255,.18),transparent 27%)}
.hero:after{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(255,255,255,.07);border-radius:50%;right:-150px;top:-170px}
.hero-inner{position:relative;z-index:2;padding:90px 0}
.eyebrow,.section-kicker{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--purple)}
.hero .eyebrow{color:#b99bff}
.hero h1{font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(42px,6.5vw,76px);line-height:1.02;letter-spacing:-.055em;color:#fff;max-width:800px;margin:18px 0 22px}
.hero p{max-width:660px;font-size:18px;line-height:1.7;color:#c7c1cf;margin:0 0 32px}
.btn{display:inline-flex;align-items:center;gap:14px;padding:14px 21px;border-radius:12px;font-weight:700;font-size:14px;transition:.2s;border:1px solid transparent}
.btn-primary{background:var(--purple);color:#fff;box-shadow:0 10px 30px rgba(124,77,255,.22)}
.btn-primary:hover{background:#a97cff;transform:translateY(-2px)}
.btn-large{padding:17px 25px;font-size:15px}
.ebook-section{padding:90px 0 110px;background:linear-gradient(180deg,#fff 0%,#fbfaff 100%)}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}
.section-heading h2{font-family:"Plus Jakarta Sans",sans-serif;font-size:38px;letter-spacing:-.04em;margin:8px 0 0}
.ebook-count{font-size:13px;color:var(--muted);background:#f2eef8;border-radius:100px;padding:9px 13px}
.ebook-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.ebook-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 14px 45px rgba(45,31,62,.07);transition:.25s}
.ebook-card:hover{transform:translateY(-5px);box-shadow:0 22px 60px rgba(45,31,62,.12)}
.ebook-cover{display:block;aspect-ratio:16/9;position:relative;overflow:hidden;background:#eee}
.ebook-cover img{width:100%;height:100%;display:block;object-fit:contain;background:#f2f0f5;transition:.35s}
.ebook-card:hover .ebook-cover img{transform:scale(1.035)}
.cover-badge{position:absolute;top:14px;left:14px;background:rgba(20,15,27,.82);color:#fff;border:1px solid rgba(255,255,255,.16);padding:7px 10px;border-radius:100px;font-size:10px;font-weight:700;letter-spacing:.04em}
.cover-fallback{height:100%;padding:35px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#241b30,#8055dd 65%,#c09cff);color:#fff}
.cover-fallback span{font-size:13px;font-weight:700;opacity:.8}
.cover-fallback strong{font-family:"Plus Jakarta Sans";font-size:27px;line-height:1.1;max-width:90%}
.ebook-content{padding:22px}
.ebook-content h3{font-family:"Plus Jakarta Sans",sans-serif;font-size:20px;letter-spacing:-.025em;margin:0 0 10px;line-height:1.25}
.ebook-content h3 a:hover{color:var(--purple2)}
.ebook-content p{font-size:14px;line-height:1.65;color:var(--muted);min-height:68px;margin:0}
.card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:17px}
.read-more{font-size:12px;font-weight:600;color:#8b8492}
.buy-link{font-size:13px;font-weight:800;color:var(--purple2);display:flex;gap:7px}
.empty-state{border:1px dashed #dcd5e6;border-radius:22px;padding:80px 20px;text-align:center;background:#fcfbfe}
.empty-icon{width:58px;height:58px;margin:auto;border-radius:18px;background:#efe9fa;display:grid;place-items:center;color:var(--purple2);font-size:25px}
.empty-state h3{font-family:"Plus Jakarta Sans";margin:20px 0 8px}
.empty-state p{margin:0;color:var(--muted)}
.site-footer{background:#15111b;color:#d9d3df;padding:65px 0 25px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}
.footer-brand img{width:94px;filter:drop-shadow(0 0 18px rgba(155,108,255,.12))}
.footer-copy{max-width:340px;line-height:1.7;color:#8e8797;font-size:14px}
.site-footer h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 17px}
.site-footer a{display:block;color:#a59eac;font-size:14px;margin:0 0 11px}
.site-footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid #29232f;margin-top:55px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#77717e;font-size:12px}
.detail-page{padding:50px 0 100px}
.back-link{display:inline-block;color:#746b7d;font-size:13px;font-weight:700;margin-bottom:34px}
.detail-layout{display:grid;grid-template-columns:minmax(300px,480px) 1fr;gap:75px;align-items:center}
.detail-cover{border-radius:24px;overflow:hidden;box-shadow:0 25px 70px rgba(40,28,55,.16);background:#f2f0f5;aspect-ratio:16/9}
.detail-cover img{width:100%;height:100%;object-fit:contain;display:block}
.cover-fallback.large{padding:50px}.cover-fallback.large strong{font-size:40px}
.detail-copy h1{font-family:"Plus Jakarta Sans";font-size:clamp(38px,5vw,62px);line-height:1.05;letter-spacing:-.05em;margin:14px 0 18px}
.detail-meta{font-size:13px;color:#7c7485;margin-bottom:28px}
.detail-meta strong{color:#4f4858}
.description{font-size:16px;line-height:1.85;color:#5f5867;white-space:normal;margin-bottom:32px}
.purchase-note{font-size:12px;color:#8a8390;margin:14px 0 0}
.not-found{text-align:center;padding:120px 0}
.not-found h1{font-family:"Plus Jakarta Sans";font-size:44px}
@media(max-width:900px){.ebook-grid{grid-template-columns:repeat(2,1fr)}.detail-layout{grid-template-columns:1fr;gap:40px;max-width:720px}.detail-cover{max-width:560px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:640px){.container{width:min(100% - 28px,1160px)}.site-header{height:70px}.brand img{width:78px}.nav-links{gap:14px}.nav-links a:not(.nav-support){display:none}.nav-support{padding:8px 12px}.hero{min-height:520px}.hero-inner{padding:70px 0}.hero h1{font-size:44px}.hero p{font-size:16px}.ebook-section{padding:65px 0 80px}.section-heading{align-items:start;gap:12px}.section-heading h2{font-size:31px}.ebook-grid{grid-template-columns:1fr;gap:22px}.ebook-cover{aspect-ratio:16/9}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.detail-page{padding-top:30px}.detail-layout{gap:30px}.detail-copy h1{font-size:40px}}


/* Ebook details: title + cover on the left, description + purchase on the right */
.ebook-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 48px;
    align-items: start;
    margin: 24px 0 60px;
}

.ebook-detail-left {
    min-width: 0;
}

.ebook-detail-right {
    min-width: 0;
    padding-top: 48px;
}

.ebook-detail-title {
    margin: 0 0 22px;
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.12;
}

.ebook-detail-cover {
    width: 100%;
    overflow: hidden;
    border-radius: 18px;
    background: #f6f6f8;
}

.ebook-detail-cover img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: contain;
}

.ebook-detail-description {
    font-size: 17px;
    line-height: 1.75;
    color: #4b4b55;
    margin-bottom: 30px;
}

.ebook-buy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 170px;
}

.view-details {
    cursor: pointer;
    text-decoration: none;
}

.view-details:hover {
    text-decoration: underline;
}

@media (max-width: 767px) {
    .ebook-detail-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ebook-detail-right {
        padding-top: 0;
    }

    .ebook-detail-title {
        font-size: 30px;
    }
}


/* Final ebook detail layout */
.detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 56px;
    align-items: start;
}

.detail-left {
    min-width: 0;
}

.detail-left-title {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.08;
    letter-spacing: -.045em;
    margin: 0 0 22px;
}

.detail-left .detail-cover {
    width: 100%;
    max-width: none;
    aspect-ratio: 16 / 9;
    border-radius: 24px;
    overflow: hidden;
    background: #f2f0f5;
    box-shadow: 0 25px 70px rgba(40,28,55,.16);
}

.detail-left .detail-cover img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.detail-copy {
    min-width: 0;
    padding-top: 12px;
}

.detail-copy .description {
    font-size: 16px;
    line-height: 1.85;
    color: #5f5867;
    margin-bottom: 30px;
}

.detail-copy .btn-large {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

@media (max-width: 900px) {
    .detail-layout {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .detail-left-title {
        font-size: clamp(34px, 7vw, 56px);
        margin-bottom: 20px;
    }

    .detail-copy {
        padding-top: 0;
    }
}

@media (max-width: 640px) {
    .detail-layout {
        gap: 28px;
    }

    .detail-left-title {
        font-size: 30px;
    }

    .detail-left .detail-cover {
        border-radius: 18px;
    }
}
