/* K-MIRACLE 4.19.1 — scoped typography floor and responsive containment.
   Horizontal scrolling is intentional ONLY inside sliders and table wrappers.
   Never hide body/html overflow to conceal oversized layout. */
:is(.kms5,.kmmc-wrap,.kmmc-admin,.kmmc-market-app,.kmmc-market-modal,.kmmc-v429-embed-store,.kmmc-v4-member-store,.kmmc-v3-app,.kmmc-v3-shell) {
  --kmmc-font-floor:15px;
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  font-size:var(--kmmc-copy-size,15px);
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  overflow-wrap:anywhere;
}
:is(.kms5,.kmmc-wrap,.kmmc-admin,.kmmc-market-app,.kmmc-market-modal,.kmmc-v429-embed-store,.kmmc-v4-member-store,.kmmc-v3-app,.kmmc-v3-shell) :where(*) {box-sizing:border-box;}
:is(.kms5,.kmmc-market-app,.kmmc-v429-embed-store,.kmmc-market-modal,.kmmc-v4-member-store) :where(section,article,header,footer,main,nav,form,fieldset,div,label,dl,dd) {min-width:0;}
/* A CSS baseline for browser default small text. Larger heading/price styles remain intact. */
:is(.kms5,.kmmc-wrap,.kmmc-admin,.kmmc-market-app,.kmmc-market-modal,.kmmc-v429-embed-store,.kmmc-v4-member-store) :where(small,input,select,textarea,button,option) {font-size:max(var(--kmmc-font-floor,15px),1em);}
:is(.kms5,.kmmc-wrap,.kmmc-admin,.kmmc-market-app,.kmmc-market-modal,.kmmc-v429-embed-store,.kmmc-v4-member-store) :where(p,dd,li,label,small) {line-height:1.65;}
:is(.kms5,.kmmc-market-app,.kmmc-market-modal,.kmmc-v429-embed-store) :where(input:not([type=checkbox]):not([type=radio]),textarea,select) {min-width:0;max-width:100%;}
:is(.kms5,.kmmc-market-app,.kmmc-market-modal,.kmmc-v429-embed-store) :where(img,video,iframe) {max-width:100%;}
:is(.kms5,.kmmc-market-app,.kmmc-market-modal) :where(input,textarea)::placeholder {font-size:inherit!important;}
:is(.kms5,.kmmc-market-app,.kmmc-market-modal) input[type=file]::file-selector-button {font:inherit;max-width:100%;white-space:normal;}

/* The shell remains within the actual Elementor/container width, not the viewport width. */
.kms5.kms5 .kms5-shell {max-width:100%;min-width:0;}
.kms5.kms5 .kms5-plans>.kms5-shell,
.kms5.kms5 .kms5-crm-panel,
.kmmc-v429-embed-ebooks,
.kmmc-v4-contents-page,
.kmmc-v4-member-store {container-type:inline-size;container-name:kmmc-component;}
.kms5.kms5 .kms5-plan-track {width:100%;min-width:0;max-width:100%;align-items:flex-start;}
.kms5.kms5 .kms5-plan-viewport {width:100%;max-width:100%;min-width:0;touch-action:pan-x pan-y pinch-zoom;overflow-x:auto;overflow-y:hidden;}
.kms5.kms5 .kms5-plan-card {flex:0 0 100%;width:100%;min-width:0;max-width:100%;}
.kms5.kms5 .kms5-plan-titlebar {display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px 30px;}
.kms5.kms5 .kms5-plan-titlebar h3 {flex:0 1 auto;margin:4px 0;}
.kms5.kms5 .kms5-plan-inline-price {min-width:0;justify-items:start;text-align:left;}
.kms5.kms5 .kms5-plan-card>section:nth-of-type(1) {grid-column:1;grid-row:4;}
.kms5.kms5 .kms5-plan-card>section:nth-of-type(2) {grid-column:2;grid-row:4;}
.kms5.kms5 .kms5-plan-card>section:nth-of-type(3) {grid-column:3;grid-row:4;}
.kms5.kms5 .kms5-plan-card>section {align-self:stretch;}
.kms5.kms5 .kms5-plan-tabs button {white-space:normal;overflow-wrap:anywhere;line-height:1.5;}
.kms5.kms5 .kms5-slider-nav {min-width:0;flex-wrap:wrap;}
.kms5.kms5 .kms5-fields.two {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;}
.kms5.kms5 .kms5-fields.two>.full {grid-column:1/-1;}
.kms5.kms5 .kms5-main-nav a {white-space:normal;overflow-wrap:anywhere;line-height:1.5;text-align:center;}
.kms5.kms5 .kms5-crm-head>div {min-width:0;flex:1;}
.kms5.kms5 .kms5-quiet {flex-shrink:0;}
.kms5.kms5 .kms5-file-row {flex-wrap:wrap;}
.kms5.kms5 .kms5-file-row>a {max-width:100%;}
.kms5.kms5 .kms5-pager {flex-wrap:wrap;}
.kms5.kms5 .kms5-inline-actions {overflow-wrap:anywhere;}
.kms5.kms5 .kms5-filter>* {max-width:100%;}
.kms5.kms5 .kms5-table-scroll {width:100%;max-width:100%;min-width:0;overflow:auto;touch-action:pan-x pan-y pinch-zoom;}
/* Keep all columns accessible; do not shrink the 48-column sheet or clip it off-page. */
.kms5.kms5 .kms5-table-scroll>.kms5-data-table {max-width:none;}

/* Modal viewport/safe-area sizing: content scrolls vertically, never off-screen sideways. */
dialog.kms5.kms5-dialog {
  box-sizing:border-box!important;
  width:min(880px,calc(100% - 24px))!important;
  max-width:calc(100% - 24px)!important;
  min-width:0!important;
  max-height:calc(100vh - 24px)!important;
  max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  overscroll-behavior-y:contain;
}
dialog.kms5.kms5-dialog .kms5-dialog-body {min-width:0;max-width:100%;}
.kmmc-market-modal.kmmc-market-modal {width:100%;max-width:100%;min-width:0;padding:12px;}
.kmmc-market-modal.kmmc-market-modal>.kmmc-market-modal-card {box-sizing:border-box!important;min-width:0!important;max-width:100%!important;max-height:calc(100vh - 24px)!important;max-height:calc(100dvh - 24px)!important;overflow:auto!important;}
.kmmc-market-modal.kmmc-market-modal :is(.kmmc-v42-ebook-top,.kmmc-v436-book-grid,.kmmc-v4-pay-summary,.kmmc-v4-detail-layout)>* {min-width:0!important;}

/* Preserve the book-card design; change only containment and the responsive tracks. */
:is(.kmmc-v4-contents-page,.kmmc-v429-embed-ebooks) .kmmc-v4-bookshelf.kmmc-v4-bookshelf {
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
  width:100%!important;max-width:100%!important;min-width:0!important;gap:26px 20px!important;
  padding:24px 16px 44px!important;overflow:visible!important;scroll-snap-type:none!important;
}
:is(.kmmc-v4-contents-page,.kmmc-v429-embed-ebooks) .kmmc-v4-bookshelf.kmmc-v4-bookshelf>.kmmc-v4-book {width:auto!important;max-width:100%!important;min-width:0!important;flex:none!important;}
.kmmc-v4-bookshelf.kmmc-v4-bookshelf .kmmc-v4-book-copy {width:100%!important;max-width:100%!important;min-width:0!important;}
.kmmc-v4-bookshelf.kmmc-v4-bookshelf .kmmc-v4-book-copy :is(p,small,span,strong,button) {overflow-wrap:anywhere;white-space:normal!important;}
.kmmc-v4-bookshelf.kmmc-v4-bookshelf .kmmc-v431-commerce {display:flex!important;flex-wrap:wrap!important;justify-content:center;gap:8px;}
.kmmc-v4-bookshelf.kmmc-v4-bookshelf .kmmc-v431-commerce>* {min-width:0!important;max-width:100%!important;}
.kmmc-v4-bookshelf.kmmc-v4-bookshelf .kmmc-v431-facts {display:grid!important;grid-template-columns:1fr!important;gap:7px!important;}
.kmmc-v4-bookshelf.kmmc-v4-bookshelf .kmmc-v431-facts>* {min-width:0!important;max-width:100%!important;white-space:normal!important;}
.kmmc-v4-bookshelf.kmmc-v4-bookshelf .kmmc-v4-book-copy h3 {height:auto!important;max-height:none!important;min-height:0!important;line-height:1.5!important;display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;}
.kmmc-v4-bookshelf.kmmc-v4-bookshelf .kmmc-v432-taxonomy-row {flex-wrap:wrap!important;max-width:100%!important;}
.kmmc-v4-bookshelf.kmmc-v4-bookshelf .kmmc-v432-taxonomy-row span {height:auto!important;line-height:1.5!important;}
.kmmc-v4-book-cover.kmmc-v4326-book-cover .kmmc-v4326-cover-isbn {display:block!important;left:7px!important;right:7px!important;bottom:7px!important;max-width:calc(100% - 14px)!important;white-space:normal!important;overflow-wrap:anywhere!important;}
:is(.kmmc-v4-bookshelf,.kmmc-v4326-detail-cover) .kmmc-isbn-badge {max-width:calc(100% - 16px)!important;white-space:normal!important;line-height:1.5!important;}
:is(.kmmc-market-app,.kmmc-v429-embed-store) :is(.kmmc-pagination,.kmmc-v4-pagination) {max-width:100%;flex-wrap:wrap;gap:6px;}
:is(.kmmc-market-app,.kmmc-v429-embed-store) .kmmc-v4-section-title {min-width:0;flex-wrap:wrap;gap:10px;}

@media(max-width:1023px) {
  .kms5.kms5 .kms5-plan-card {display:block!important;}
  .kms5.kms5 .kms5-plan-card>section {margin-top:18px;}
}
@media(max-width:780px) {
  .kms5.kms5 .kms5-shell {width:calc(100% - 24px);}
  .kms5.kms5 .kms5-crm-head {flex-wrap:wrap;}
  .kms5.kms5 .kms5-crm-head>div {flex-basis:100%;}
  .kms5.kms5 .kms5-crm-panel {padding:18px 12px;}
  .kms5.kms5 .kms5-plan-card {padding:20px 16px;}
  .kms5.kms5 .kms5-plan-tabs {gap:6px;}
  .kms5.kms5 .kms5-plan-tabs button {min-height:74px;padding:10px 7px;}
  .kms5.kms5 .kms5-main-nav {gap:6px;}
  .kms5.kms5 .kms5-main-nav a {padding:10px 6px;min-height:72px;}
  .kms5.kms5 .kms5-fields.two,.kms5.kms5 .kms5-fields-grid,.kms5.kms5 .kms5-form-grid {grid-template-columns:1fr;}
  .kms5.kms5 .kms5-summary-grid,.kms5.kms5 .kms5-application-summary,.kms5.kms5 .kms5-static-grid,.kms5.kms5 .kms5-bank-details,.kms5.kms5 .kms5-detail-grid {grid-template-columns:1fr;}
  .kms5.kms5 .kms5-static-grid>div {display:flex;flex-direction:column;align-items:flex-start;}
  .kms5.kms5 .kms5-plan-card>.kms5-primary {width:100%;min-width:0;}
  .kms5.kms5 .kms5-metric-grid {grid-template-columns:1fr;}
  dialog.kms5.kms5-dialog .kms5-dialog-body {padding:18px 12px;}
  .kmmc-market-modal.kmmc-market-modal :is(.kmmc-v42-ebook-top,.kmmc-v436-book-grid,.kmmc-v4-pay-summary,.kmmc-v4-detail-header,.kmmc-v4-detail-layout) {display:grid!important;grid-template-columns:minmax(0,1fr)!important;}
  .kmmc-market-modal.kmmc-market-modal .kmmc-v4-ebook-cover {max-width:100%!important;}
  :is(.kmmc-v4-contents-page,.kmmc-v429-embed-ebooks,.kmmc-v4-member-store) .kmmc-v4-bookshelf.kmmc-v4-bookshelf {
    display:flex!important;gap:16px!important;width:100%!important;max-width:100%!important;min-width:0!important;
    padding:18px 10px 36px!important;overflow-x:auto!important;overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;scroll-padding-inline:10px!important;
    overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;
  }
  :is(.kmmc-v4-contents-page,.kmmc-v429-embed-ebooks,.kmmc-v4-member-store) .kmmc-v4-bookshelf.kmmc-v4-bookshelf>.kmmc-v4-book {flex:0 0 100%!important;width:100%!important;min-width:0!important;max-width:100%!important;scroll-snap-align:start!important;}
}
/* Same reflow for a narrow Elementor column on a wide monitor. */
@container kmmc-component (max-width:900px) {
  .kms5.kms5 .kms5-plan-card {display:block!important;}
  .kms5.kms5 .kms5-fields.two,.kms5.kms5 .kms5-fields-grid {grid-template-columns:1fr;}
}
@container kmmc-component (min-width:781px) and (max-width:1100px) {
  :is(.kmmc-v4-contents-page,.kmmc-v429-embed-ebooks) .kmmc-v4-bookshelf.kmmc-v4-bookshelf {grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@container kmmc-component (max-width:780px) {
  :is(.kmmc-v4-contents-page,.kmmc-v429-embed-ebooks,.kmmc-v4-member-store) .kmmc-v4-bookshelf.kmmc-v4-bookshelf {display:flex!important;gap:16px!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:18px 10px 36px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;scroll-padding-inline:10px!important;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;}
  :is(.kmmc-v4-contents-page,.kmmc-v429-embed-ebooks,.kmmc-v4-member-store) .kmmc-v4-bookshelf.kmmc-v4-bookshelf>.kmmc-v4-book {flex:0 0 100%!important;width:100%!important;min-width:0!important;max-width:100%!important;scroll-snap-align:start!important;}
}
@media(prefers-reduced-motion:reduce) {
  :is(.kms5,.kmmc-market-app,.kmmc-v429-embed-store) [data-kmmc-ui-track],.kms5 [data-kms5-slider] {scroll-behavior:auto!important;}
}
dialog.kms5.kms5-dialog[open] {max-height:min(calc(100dvh - 24px),var(--kmmc-visual-height,100dvh))!important;}
dialog.kms5.kms5-dialog[data-kmmc-keyboard] {top:calc(var(--kmmc-visual-top,0px) + 12px)!important;bottom:auto!important;margin-top:0!important;margin-bottom:0!important;}
.kmmc-v4-bookshelf.kmmc-v4-bookshelf .kmmc-v4-book-copy h3 {white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;}

/* Per-book decorative shelf must stay inside its card's allocated gutter. */
.kmmc-v4-bookshelf.kmmc-v4-bookshelf>.kmmc-v4-book::after {left:0!important;right:0!important;max-width:100%!important;}
