.ja-home{font-family:Arial,sans-serif;color:#30292b}.ja-home a{color:#56323e}.ja-home a:focus-visible,.ja-home button:focus-visible,.ja-books input:focus-visible,.ja-books select:focus-visible{outline:3px solid #775940;outline-offset:4px}.ja-home .elementor-section,.ja-home .elementor-column{min-width:0}.ja-home img{height:auto}.ja-books{font-family:Arial,sans-serif;color:#30292b;max-width:1180px;margin:auto}.ja-books *{box-sizing:border-box}.ja-controls{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:14px;margin:24px 0}.ja-controls label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.ja-controls input[type=search],.ja-controls select{width:100%;min-height:46px;padding:10px;border:1px solid #c8b9b5;background:#fffdf8;color:#30292b;border-radius:3px;font-size:15px}.ja-checks{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px}.ja-checks label{flex-direction:row;align-items:center;gap:4px;min-height:36px}.ja-checks input{accent-color:#56323e;width:17px;height:17px}.ja-quiet{justify-self:start;background:transparent!important;color:#56323e!important;border:0!important;text-decoration:underline;font-size:14px}.ja-count{color:#6a5c60;font-size:14px}.ja-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.ja-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;padding-bottom:20px;border-bottom:1px solid #ddd3c9}.ja-cover-button{padding:0!important;border:0!important;background:transparent!important;display:block;width:100%;border-radius:0!important}.ja-cover{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;display:block;background:#efe5dd}.ja-placeholder{display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center;text-align:center;padding:20px;border:1px solid #ddd3c9;background:linear-gradient(145deg,#e6e9df,#f9f5ee);color:#56323e}.ja-placeholder strong{font:28px/1.2 Georgia,serif}.ja-placeholder span,.ja-placeholder small{font-size:12px}.ja-eyebrow{margin:18px 0 9px;color:#775940;font-size:11px;letter-spacing:1px}.ja-card h3{font:26px/1.15 Georgia,serif;margin:0 0 9px;color:#30292b;overflow-wrap:anywhere}.ja-meta{font-size:12px;color:#6a5c60;margin:0 0 15px}.ja-more,.ja-shop-link{display:inline-block;padding:12px 16px;background:#56323e!important;color:#fffdf8!important;border:1px solid #56323e;text-align:center;font-size:14px;cursor:pointer;border-radius:3px;text-decoration:none!important}.ja-more{margin-top:auto}.ja-save{background:transparent!important;color:#56323e!important;border:0!important;margin:8px 0;padding:8px;font-size:13px;text-decoration:underline;cursor:pointer}.ja-save[aria-pressed=true]{font-weight:700}.ja-empty{grid-column:1/-1;background:#f9f5ee;padding:30px}.ja-empty h3{font:28px Georgia,serif}.ja-dialog{width:min(900px,calc(100vw - 32px));max-height:88vh;border:1px solid #ddd3c9;padding:28px;background:#fffdf8;color:#30292b}.ja-dialog::backdrop{background:rgba(35,22,28,.72)}.ja-close{display:block;margin:0 0 24px auto;background:#56323e!important;color:#fffdf8!important;border:0;padding:10px 18px;cursor:pointer}.ja-detail-top{display:grid;grid-template-columns:220px 1fr;gap:30px}.ja-detail-top .ja-cover{align-self:start}.ja-detail h2{font:38px/1.15 Georgia,serif;color:#30292b;margin:0 0 12px}.ja-detail h3{font:26px/1.25 Georgia,serif;margin:28px 0 15px;color:#30292b}.ja-description{font-size:16px;line-height:1.75;color:#6a5c60}.ja-shop-links{display:flex;flex-wrap:wrap;gap:10px}.ja-shop-link{font-size:13px}.ja-order{padding-left:24px}.ja-text-button{background:transparent!important;border:0!important;color:#56323e!important;padding:6px 0!important;text-align:left;text-decoration:underline;cursor:pointer;white-space:normal}.ja-detail details{margin-top:24px;border-top:1px solid #ddd3c9;padding-top:18px;line-height:1.75}.ja-detail summary{color:#56323e;cursor:pointer;font-weight:600}.ja-happiness-posts{padding-left:20px;line-height:1.8}
@media(max-width:1000px){.ja-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.ja-controls label:first-child{grid-column:1/-1}.ja-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.ja-nav .elementor-container{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.ja-nav .elementor-column{width:100%!important}.ja-nav .elementor-widget-wrap{padding:2px!important}.ja-nav .elementor-button{width:100%;white-space:normal}.ja-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ja-card h3{font-size:22px}.ja-detail-top{grid-template-columns:1fr}.ja-detail-top .ja-cover{max-width:180px;margin:0 auto}.ja-detail h2{font-size:30px}.ja-dialog{padding:20px}.ja-shop-link{width:100%}}
@media(max-width:360px){.ja-grid,.ja-controls{grid-template-columns:1fr}.ja-card .ja-cover{max-height:400px}.ja-checks{gap:8px}}
@media(prefers-reduced-motion:reduce){.ja-books *{scroll-behavior:auto!important}}
/* Keep long planned-book titles inside their cover button despite theme button styles. */
.ja-books .ja-cover-button{white-space:normal!important;text-transform:none;letter-spacing:normal}
.ja-books .ja-placeholder{min-width:0;max-width:100%;white-space:normal!important;text-transform:none}
.ja-books .ja-placeholder>span,.ja-books .ja-placeholder>strong,.ja-books .ja-placeholder>small{display:block;width:100%;max-width:100%;min-width:0;white-space:normal!important;overflow-wrap:anywhere;word-break:normal}
.ja-card-shops{display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0 0}
.ja-books .ja-shop-link{min-height:44px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.ja-shop-note{flex-basis:100%;margin:4px 0 0;font-size:13px;color:#6a5c60;line-height:1.5}
.ja-book-permalink{display:inline-block;color:#56323e;margin:0 0 16px;text-decoration:underline}

.ja-single-book{padding:30px 0}.ja-single-book .ja-detail h1{font:44px/1.15 Georgia,serif;color:#30292b;margin:0 0 16px;overflow-wrap:anywhere}.ja-back{display:inline-block;margin:0 0 28px;color:#56323e}.ja-single-book .ja-detail-top{grid-template-columns:260px 1fr}.ja-single-book .ja-order a{display:inline-block;line-height:1.6}.ja-single-book .ja-detail{padding:0 4px}@media(max-width:767px){.ja-single-book .ja-detail-top{grid-template-columns:1fr}.ja-single-book .ja-detail h1{font-size:32px}}
