/* Переходные страницы используют общие чернила и бумагу новой системы. */
:root { --text: var(--ink); --green: var(--accent); --surface: var(--stage); --forest: var(--paper); --soft: var(--accent-soft); --button-text: var(--accent-ink); --ui: var(--font); --display: var(--hand); }
.legacy-page { min-height: 55vh; }
.prototype-main { min-width: 0; }
.footer-setting { display: inline-block; margin: 0 12px 12px; font-size: var(--fs-small); }
.footer-service { display: flex; flex-wrap: wrap; gap: 18px; font-size: var(--fs-small); margin-top: 24px; color: var(--muted); }
.header form { margin: 0; }
.header .message-bell { flex: none; }
.notice { padding: 20px; border: 1px solid var(--line); border-radius: var(--r); }
.catalog-facts { margin-top: 28px; }
.catalog-facts summary { cursor: pointer; font-weight: 700; }
.catalog-facts dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 20px 0; }
.catalog-facts dl > div { padding: 12px; border-bottom: 1px solid var(--line); }
.catalog-facts dt { color: var(--muted); }
.catalog-facts dd { margin: 4px 0 0; }
.nb-sub, .nb-cv .lbl span { overflow-wrap: anywhere; }
.nb-sub { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nb-page > :not(.nb-close) { flex-shrink: 0; }
.shelf { --nb-min-h: 470px; }
.nb-name, .nb-cv .lbl b { overflow-wrap: anywhere; }
.nb-feats li { line-height: 1.25; }
.motion-reduced .nb.is-open .nb-feats li { animation: none; }
.nb-page .nb-price { flex-wrap: wrap; }
.catalog-empty { padding: 40px 0; }
.shelf:has(> .nb:only-child) { grid-template-columns: minmax(0, 370px); justify-content: center; }
.shelf:has(> .nb:first-child:nth-last-child(2)) { grid-template-columns: repeat(2, minmax(0, 370px)); justify-content: center; }
.shelf:not(:has(.nb)) { display: none; }
.shelf:has(.nb:nth-child(4)) { row-gap: calc(var(--nb-h) * .62 + 56px); }
.pack .btn { margin-top: 16px; }
.image-dialog { width: min(1100px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 24px; border: 1px solid var(--line); border-radius: var(--r); color: var(--ink); background: var(--paper); }
.image-dialog::backdrop { background: #0b0f1ccc; }
.dialog-heading, .viewer-tools { display: flex; gap: 16px; align-items: center; justify-content: space-between; }
.dialog-heading h2 { font-size: 24px; }
.dialog-close { padding: 8px 14px; border: 1px solid var(--line); border-radius: var(--r-s); background: var(--stage); color: var(--ink); }
.image-dialog figure { overflow: auto; margin-top: 20px; }
.image-dialog img { width: 100%; max-height: 70dvh; object-fit: contain; }
.image-dialog.is-zoomed img { max-width: none; max-height: none; width: auto; }
.image-dialog.is-zoomed figure { max-height: 70dvh; }
.viewer-tools { margin-top: 20px; flex-wrap: wrap; }
#homeSamples { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
#homeSamples .sample-sheet { margin: 0; padding: 16px; background: var(--sheet); border-radius: var(--r-s); box-shadow: var(--shadow-1); }
#homeSamples .sample-sheet img { width: 100%; height: auto; }
#homeSamples figcaption { margin-top: 12px; font-size: var(--fs-small); color: var(--on-sheet-muted); }
@media (max-width: 760px) { #homeSamples { grid-template-columns: 1fr; } }
html:not(.js) .picker { display: none; }
html:not(.js) .nb-page { height: auto; min-height: var(--nb-h); }
html:not(.js) .shelf { gap: 32px; }
html:not(.js) .menu-panel { display: block; position: static; width: auto; max-height: none; transform: none; visibility: visible; margin: 12px var(--gutter); }
html:not(.js) .phrase-box canvas, html:not(.js) .phrase-box .more { display: none; }
html:not(.js) .phrase-box #footText { position: static; width: auto; height: auto; clip-path: none; overflow: visible; white-space: normal; }
@media (max-width: 960px) { .shelf:has(> .nb:first-child:nth-last-child(2)) { grid-template-columns: minmax(0, 420px); } }
@media (max-width: 480px) { .header .header-actions form { display: none; } .nb-feats li { font-size: 14px; } }
@media (max-width: 420px) { .shelf { --nb-min-h: 450px; } }

[data-phrase-place] { overflow-wrap: anywhere; }
.sticky { font-size: 20px; line-height: 1.08; }
.sticky span { display: block; }
