/* 4.23.3 — compact membership + centered catalog titles + shorter book hero.
   The ID alternative is a specificity shield for the previously supplied
   #km-membership-page snippet. It still matches ONLY our membership component.
   No zoom/transform scaling, fixed text heights, content removal or body clipping. */
:is(body,#km-membership-page) .kms5.km426-membership {
 --w:1240px; --km426-copy:13.8px; --km426-heading:14.8px; --km426-label:13.8px;
 --km426-font-floor:13.8px; --kmmc-font-floor:13.8px; --kmmc-copy-size:13.8px; --kmmc-help-size:13.8px;
 width:100%;max-width:100%;min-width:0;
 font-size:var(--km426-copy)!important;font-weight:500!important;font-synthesis:none;
}
:is(body,#km-membership-page) .kms5.km426-membership * {font-weight:500!important;font-synthesis:none;}
:is(body,#km-membership-page) .kms5.km426-membership :is(h1,h2,h3,h4,h5,h6,dt,b,strong) {font-weight:600!important;}
:is(body,#km-membership-page) .kms5.km426-membership :is(p,dd,li,small,label,legend,span,a,button,input,select,textarea) {
 font-size:var(--km426-copy)!important;line-height:1.6!important;
}
:is(body,#km-membership-page) .kms5.km426-membership :is(p,dd,li) {word-break:normal;overflow-wrap:break-word;}
:is(body,#km-membership-page) .kms5.km426-membership .kms5-shell {
 width:min(1240px,calc(100% - 40px))!important;max-width:100%!important;min-width:0;margin-inline:auto!important;
}
:is(body,#km-membership-page) .kms5.km426-membership .kms5-plans {padding:24px 0 20px!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms5-hero-inner {min-height:196px;padding-block:26px!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms5-hero-copy h1 {font-size:26.8px!important;line-height:1.38!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms5-section-head h2 {font-size:19.8px!important;line-height:1.4!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms5-section-head {margin-bottom:14px!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms5-plan-tabs {margin:14px 0 12px!important;gap:8px!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms5-plan-tabs button {
 min-height:42px!important;padding:8px 12px!important;border-radius:10px!important;
 white-space:normal!important;line-height:1.45!important;
}
:is(body,#km-membership-page) .kms5.km426-membership .kms5-plan-tabs button.is-active {font-weight:600!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-card {
 padding:20px 20px 18px!important;border-radius:18px!important;
 background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)!important;
 box-shadow:0 12px 30px #19395508!important;
}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-card::before {
 inset:0 auto auto 20px!important;width:32px!important;height:2px!important;
 background:linear-gradient(90deg,#c43a50,#163957)!important;border-radius:0 0 3px 3px!important;
}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-header {padding:0!important;margin:0!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms5-plan-no {font-size:13.8px!important;line-height:1.5!important;letter-spacing:.015em;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-titlebar {
 display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
 align-items:center!important;gap:14px!important;margin:9px 0 12px!important;
}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-titlebar h3 {grid-column:auto!important;margin:0!important;font-size:18.8px!important;line-height:1.4!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-price {
 grid-column:auto!important;justify-self:end!important;min-width:196px!important;max-width:100%;
 padding:9px 13px!important;border:1px solid #e1e8f1!important;border-radius:12px!important;
 gap:1px!important;background:#f5f8fc!important;
}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-price::before {width:24px!important;height:2px!important;margin:0 0 5px!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-price :is(span,small) {font-size:var(--km426-copy)!important;line-height:1.45!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-price strong {font-size:16.8px!important;line-height:1.4!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-header>.kms5-plan-lead {font-size:var(--km426-copy)!important;line-height:1.6!important;margin:0!important;max-width:none;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-columns {
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
 align-items:stretch!important;gap:14px!important;margin:16px 0 0!important;
}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column {
 min-width:0;padding:14px 14px 10px!important;margin:0!important;
 border:1px solid #e2e8f0!important;border-radius:13px!important;
 background:#fff!important;box-shadow:0 6px 18px #15395304!important;
}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column h4 {font-size:var(--km426-heading)!important;line-height:1.4!important;margin:0 0 12px!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column h4::after {width:20px!important;height:1px!important;margin-top:7px!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column :is(dl,ol) {display:block!important;position:static!important;margin:0!important;padding:0!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column :is(dl>div,ol>li) {
 display:block!important;position:relative!important;grid-area:auto!important;
 margin:0 0 10px!important;padding:0 0 10px 10px!important;height:auto!important;
}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column :is(dl>div,ol>li):last-child {margin-bottom:0!important;padding-bottom:0!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column :is(dl>div,ol>li)::before {
 width:3px!important;height:3px!important;left:0!important;top:8px!important;
 background:#c44b59!important;box-shadow:none!important;
}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column :is(dt,li>b) {
 font-size:var(--km426-label)!important;font-weight:600!important;line-height:1.5!important;margin:0 0 4px!important;
}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column :is(dd,li>span) {
 font-size:var(--km426-copy)!important;font-weight:500!important;line-height:1.58!important;
 margin:0!important;color:#53677e!important;word-break:normal!important;overflow-wrap:break-word!important;
}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-foot {grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin-top:12px!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-foot>.kms5-primary {min-height:44px!important;padding:10px 14px!important;border-radius:11px!important;box-shadow:0 7px 18px #15385810!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms5-slider-nav {margin-top:8px!important;gap:10px!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms5-slider-nav button {width:36px!important;height:36px!important;min-width:36px!important;font-size:19.8px!important;line-height:1!important;padding:0!important;}
/* Keep the existing comparison and logged-in/guest login content, at the same narrower width. */
:is(body,#km-membership-page) .kms5.km426-membership .kms421-membership-price-wrap {
 width:min(1240px,calc(100% - 40px))!important;max-width:100%!important;min-width:0;margin-inline:auto!important;padding-block:8px 4px!important;
}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-price-table {width:100%!important;max-width:100%!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-price-head h3 {font-size:22.8px!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-price-head p {font-size:var(--km426-copy)!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-price-card {padding:20px 18px 18px!important;border-radius:16px!important;box-shadow:0 8px 24px #19395907!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-price-card h4 {font-size:19.8px!important;margin:12px 0 9px!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-price-amount strong {font-size:28.8px!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-price-card li {font-size:var(--km426-copy)!important;line-height:1.6!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms421-price-actions :is(a,button) {min-height:44px!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms5-login-card {padding:22px!important;border-radius:16px!important;}
:is(body,#km-membership-page) .kms5.km426-membership .kms5-login-card h2 {font-size:22.8px!important;}
:is(body,#km-membership-page) .kms5.km426-membership :is(.kms5-app-form,.kms5-login-fields) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
 font-size:16px!important;line-height:1.5!important;
}
/* New sizes apply to this page, not the shared portal or invoice document. */
@media(max-width:1023px) {
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-columns {grid-template-columns:minmax(0,1fr)!important;gap:10px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column :is(dl>div,ol>li) {min-height:0!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-foot {display:block!important;}
}
@media(max-width:780px) {
 :is(body,#km-membership-page) .kms5.km426-membership {
  --km426-copy:11.8px;--km426-label:12.3px;--km426-heading:13.8px;--km426-font-floor:11.8px;
  --kmmc-copy-size:11.8px;--kmmc-help-size:11.8px;--kmmc-font-floor:11.8px;
 }
 :is(body,#km-membership-page) .kms5.km426-membership .kms5-shell {width:calc(100% - 24px)!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms5-plans {padding:20px 0 16px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms5-hero-inner {min-height:0!important;padding:24px 0!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms5-hero-copy h1 {font-size:20.8px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms5-section-head h2 {font-size:17.8px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms5-plan-tabs button {min-height:46px!important;padding:8px 7px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-card {padding:16px 13px 14px!important;border-radius:15px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms5-plan-no {font-size:11.8px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-titlebar {display:flex!important;flex-wrap:wrap!important;gap:10px!important;justify-content:space-between!important;margin:10px 0 11px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-titlebar h3 {font-size:16.8px!important;flex:1 1 100px;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-price {width:auto!important;min-width:0!important;flex:0 1 auto;padding:8px 10px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-price strong {font-size:15.8px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-columns {margin-top:12px!important;gap:9px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column {padding:12px 12px 9px!important;border-radius:11px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column h4 {margin-bottom:10px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column :is(dl>div,ol>li) {padding-bottom:0!important;margin-bottom:11px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column :is(dl>div,ol>li)::before {top:7px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-foot {margin-top:10px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-membership-price-wrap {width:calc(100% - 24px)!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-price-head h3 {font-size:19.8px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-price-card h4 {font-size:16.8px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-price-amount strong {font-size:23.8px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms5-login-card {padding:18px 14px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms5-login-card h2 {font-size:20.8px!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms5-dialog-bar button {font-size:22px!important;}
}
@container kmmc-component (max-width:900px) {
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-columns {grid-template-columns:minmax(0,1fr)!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-column :is(dl>div,ol>li) {min-height:0!important;}
 :is(body,#km-membership-page) .kms5.km426-membership .kms421-plan-foot {display:block!important;}
}
/* Book list: preserve the existing 1500px / 3-column / 20-item behavior. */
.km423-book.km423-book.km423-book.km423-book .km423-book-copy h3,
.km423-book.km423-book.km423-book.km423-book .km423-book-copy h3 a {
 text-align:center!important;font-weight:500!important;
}
.km423-book.km423-book.km423-book.km423-book .km423-book-copy h3 {width:100%;}
.km423-book.km423-book.km423-book:not(.is-mini) {padding:8px 0 6px!important;}
.km423-book.km423-book.km423-book:not(.is-mini) .km423-cover {margin:0 auto 18px!important;box-shadow:-4px 3px 0 #e2e7ee,0 12px 22px #18375610;}
.km423-book.km423-book.km423-book:not(.is-mini) .km423-book-copy {box-shadow:0 8px 20px #15355506;border-color:#dfe6ee;}
/* Detail upper pair: reduce real geometry, never scale text or crop the cover. */
.km425-sheet.km425-book-sheet.km425-sheet.km425-sheet.km425-sheet {
 --km425-hero-height:clamp(288px,23vw,340px);
 padding:18px!important;
}
.km425-book-sheet.km425-sheet.km425-sheet .km425-book-hero {gap:18px;}
.km425-book-sheet.km425-sheet.km425-sheet .km425-cover-cell {
 height:var(--km425-hero-height);padding:14px 16px;border-radius:13px;
 background:linear-gradient(145deg,#fbfcfe,#f3f6fa);box-shadow:inset 0 0 0 1px #ffffffb3;
}
.km425-book-sheet.km425-sheet.km425-sheet .km425-cover-stage {height:100%;max-height:100%;max-width:100%;}
.km425-book-sheet .km425-cover-stage>img {object-fit:contain!important;object-position:center!important;box-shadow:0 9px 20px #122d4c16;}
.km425-book-sheet.km425-sheet.km425-sheet .km425-info-card {height:var(--km425-hero-height);max-height:var(--km425-hero-height);padding:17px 20px;border-radius:13px;}
.km425-book-sheet.km425-sheet.km425-sheet.km425-sheet.km425-sheet .km425-info-card h2 {margin:4px 0 11px!important;font-size:24.2px!important;line-height:1.35!important;}
.km425-book-sheet.km425-sheet.km425-sheet .km425-inline-facts {padding:10px 0;margin-bottom:12px;gap:12px;}
.km425-book-sheet .km425-price-row.km425-price-row {padding:10px 13px;gap:12px;}
.km425-book-sheet.km425-sheet.km425-sheet .km425-access-note {margin-top:8px;}
.km425-book-sheet .km425-deck {margin-top:18px;}
@media(max-width:780px) {
 .km425-sheet.km425-book-sheet.km425-sheet.km425-sheet.km425-sheet {padding:12px!important;}
 .km425-book-sheet.km425-sheet.km425-sheet .km425-book-hero {gap:10px;}
 .km425-book-sheet.km425-sheet.km425-sheet .km425-cover-cell {height:clamp(260px,46svh,390px);padding:16px;}
 .km425-book-sheet.km425-sheet.km425-sheet .km425-info-card {height:auto;max-height:none;padding:12px 14px;overflow:visible;}
 .km425-book-sheet.km425-sheet.km425-sheet.km425-sheet.km425-sheet .km425-info-card h2 {font-size:18.2px!important;margin:3px 0 8px!important;}
 .km425-book-sheet.km425-sheet.km425-sheet .km425-inline-facts {padding:7px 0;margin-bottom:8px;}
 .km425-book-sheet .km425-price-row.km425-price-row {padding:9px 11px;gap:9px;}
 .km425-book-sheet.km425-sheet.km425-sheet .km425-access-note {margin-top:7px;}
 .km423-book.km423-book.km423-book:not(.is-mini) {padding-block:6px 4px!important;}
 .km423-book.km423-book.km423-book:not(.is-mini) .km423-cover {margin-bottom:16px!important;}
}

/* v4.27.0: responsive action feedback. */
:where(.kms5,.kmmc-market-app,.kmmc-v3-shell) :is(button,input[type=submit],a.kms5-btn,a.kmmc-v3-btn){transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .08s ease,opacity .12s ease;}
:where(.kms5,.kmmc-market-app,.kmmc-v3-shell) :is(button,input[type=submit],a.kms5-btn,a.kmmc-v3-btn):active{transform:translateY(1px);}
:where(.kms5,.kmmc-market-app,.kmmc-v3-shell) [aria-busy="true"]{cursor:progress!important;opacity:.78;}
