
    /* css/normalize.css */* {box-sizing:border-box;}button,
    hr,
    input {overflow:visible;}audio,
    canvas,
    progress,
    video {display:inline-block;}progress,
    sub,
    sup {vertical-align:baseline;}[type="checkbox"],
    [type="radio"],
    legend {box-sizing:border-box;padding:0;}html {font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body {margin:0;}article,
    aside,
    details,
    figcaption,
    figure,
    footer,
    header,
    main,
    menu,
    nav,
    section {display:block;}h1 {font-size:2em;margin:0.67em 0;}figure {margin:1em 40px;}hr {box-sizing:content-box;height:0;}code,
    kbd,
    pre,
    samp {font-family:monospace, monospace;font-size:1em;}a {background-color:transparent;-webkit-text-decoration-skip:objects;}a:active,
    a:hover {outline-width:0;}abbr[title] {border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,
    strong {font-weight:bolder;}dfn {font-style:italic;}mark {background-color:#ff0;color:#000;}small {font-size:80%;}sub,
    sup {font-size:75%;line-height:0;position:relative;}sub {bottom:-0.25em;}sup {top:-0.5em;}audio:not([controls]) {display:none;height:0;}img {border-style:none;}svg:not(:root) {overflow:hidden;}button,
    input,
    optgroup,
    select,
    textarea {font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,
    select {text-transform:none;}[type="reset"],
    [type="submit"],
    button,
    html [type="button"] {-webkit-appearance:button;appearance:button;}[type="button"]::-moz-focus-inner,
    [type="reset"]::-moz-focus-inner,
    [type="submit"]::-moz-focus-inner,
    button::-moz-focus-inner {border-style:none;padding:0;}[type="button"]:-moz-focusring,
    [type="reset"]:-moz-focusring,
    [type="submit"]:-moz-focusring,
    button:-moz-focusring {outline:ButtonText dotted 1px;}fieldset {border:1px solid silver;margin:0 2px;padding:0.35em 0.625em 0.75em;}legend {color:inherit;display:table;max-width:100%;white-space:normal;}textarea {overflow:auto;}[type="number"]::-webkit-inner-spin-button,
    [type="number"]::-webkit-outer-spin-button {height:auto;}[type="search"] {appearance:textfield;-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-cancel-button,
    [type="search"]::-webkit-search-decoration {-webkit-appearance:none;}::-webkit-file-upload-button {-webkit-appearance:button;font:inherit;}summary {display:list-item;}[hidden],
    template {display:none;}
    /* css/theme.css */:root {
      /* vars */--baseTextSize: 16px;--baseRatio: calc(1vw + 1vh);--baseMaxContentWidth: 1400px;
      /* Колонка содержимого: на широком экране блоки не растягиваются — фон полосы идёт во всю ширину, а то, что в
         ней, стоит в колонке --frame по центру. --gutter — поле блока: обычное (--edge), пока экран уже колонки. */--frame: 86rem;--edge: 4rem;--gutter: max(var(--edge), calc((100vw - var(--frame)) / 2));

      /* colors */--colorDanger: #eb3d26;--colorAlert: #f87e25;--colorSuccess: #4caf50;--colorInfo: #368ace;--primaryColor: #24b4b0;--primaryColor10: #02b3bb10;--primaryMidColor: #119096;--primaryDarkColor: #156966;--primaryDarkColor10: #006b7010;--primaryDarkColor50: #006b7050;

      /* complemetary */--primaryBlue: #248cb5;--primaryBlueMid: #1c7ca1;--primaryBlueDark: #10506a;--primaryGreen: #24b57f;--primaryGreenMid: #1ea473;--primaryGreenDark: #136e4d;--primaryOrange: #f87e25;--primaryOrangeMid: #de6e1e;--primaryOrangeDark: #904612;--baseLight: #fefefe;--baseMidLight: #f3f3f3;--baseGray: #bbb;--baseDarkGray: #575757;--baseMidGray: #ddd;--baseLightGray: #eee;--baseDark: #111111;--baseDarkMode: #333;--baseDarkShadow10: #11111110;--baseDarkShadow30: #11111130;--baseDarkShadow50: #11111150;--baseLightShadow10: #fefefe10;--baseLightShadow30: #fefefe30;--baseLightShadow50: #fefefe50;--linkColor: var(--primaryDarkColor);--linkVisitedColor: #135956;--linkHoverColor: #0a3d3b;--textMuted: #575757;

      /* icons — абсолютные пути: url() в custom properties резолвится от файла, который их использует */--asset-root: /frontend;--iconAlert: url("/media/theme/i/alert.svg");--iconChecked: url("/media/theme/i/checked.svg");--iconDate: url("/media/theme/i/date.svg");--iconExpander: url("/media/theme/i/expander.svg");--iconInfo: url("/media/theme/i/info.svg");--iconRound: url("/media/theme/i/round.svg");--iconSuccess: url("/media/theme/i/check-double.svg");--iconPaperclip: url("/media/theme/i/paperclip.svg");--iconError: url("/media/theme/i/error.svg");--iconClose: url("/media/theme/i/close.svg");--iconFilter: url("/media/theme/i/filter.svg");--iconSearch: url("/media/theme/i/search.svg");--iconSearchWhite: url("/media/theme/i/search-white.svg");

      /* filters */--imgInverted: grayscale(100) brightness(0.1) invert(1) drop-shadow(0 1px 0 #1112);--grayscaled: grayscale(100);

      /* backgrounds */--textured: url("/media/theme/images/texture-dark.png") repeat center center;--noised: url("/media/theme/images/noize.png") repeat center center;--marble: url("/media/theme/images/marble.jpg") no-repeat center top;

      /* motion & focus */--focus-ring: 2px solid var(--primaryDarkColor);--focus-offset: 3px;--motion: 200ms;--touch-min: 2.75rem;

      /* scale */--space-xs: 0.25em;--space-sm: 0.5em;--space-md: 1em;--space-lg: 2em;--space-xl: 4rem;--radius: 0.3em;--font-family: 'Jost', sans-serif;}

    /* Телефон: поле блока — 1rem (с 4rem блоки на var(--gutter) стояли в 64 px от края экрана) */
    @media screen and (max-width: 768px) {:root {--edge: 1rem;}
    }[data-theme='dark'] {--linkColor: #7fe3df;--linkVisitedColor: #5ecfcb;--linkHoverColor: #c5faf7;--textMuted: #c8c8c8;--focus-ring: 2px solid #7fe3df;
      /* подписи серым (префикс телефона, часы, «BYN»): #575757 на тёмном — 2.6:1, нужно ≥4.5 */--baseDarkGray: #a8a8a8;--placeholder: #9a9a9a;}
    /* css/fonts.css: шрифт Jost подключает Layout ссылкой на Google Fonts */* {font-family:'Jost', sans-serif;font-weight:400;}

    /* css/base.css */* {scroll-behavior:smooth;}::selection {color:var(--baseLight);background:var(--baseDark);text-shadow:0 1px 0 var(--baseDarkShadow30);}[data-theme='dark'] {background:var(--baseDarkMode);}[data-theme='dark'] body {color:var(--baseLight);text-shadow:0 1px 0 black;}[data-theme='dark'] ::selection {color:var(--baseDark);background:var(--baseLight);text-shadow:0 1px 0 #fff9;}html.no-scroll {overflow:hidden !important;}html,
    body {font-size:clamp(1rem, 0.9vw, 1.125rem);}body {color:var(--baseDark);line-height:1.5;text-shadow:0 1px 0 var(--baseLight);min-height:100vh;width:100%;}a,
    button,
    .button,
    [role='button'],
    [role='switch'],
    summary {cursor:pointer;}:focus-visible {outline:var(--focus-ring);outline-offset:var(--focus-offset);}

    @media (prefers-reduced-motion: reduce) {*,
      *::before,
      *::after {animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
    }body * {line-height:inherit;}hr {border:0;border-top:1px dotted var(--baseLightGray);margin:0.5rem 0;width:100%;}[data-theme='dark'] hr {border-top-color:var(--baseGray);}a {color:var(--linkColor);text-decoration:underline;transition:all 0.3s linear;cursor:pointer;}a:visited {color:var(--linkColor);}a:active,
    a:hover {color:var(--linkHoverColor);text-decoration-thickness:2px;}h1,
    h2,
    h3,
    h4,
    h5,
    h6 {margin:0 0 1rem;font-weight:600;line-height:1.2em;letter-spacing:0.05em;}h1 {font-size:2.5rem;}h2 {font-size:2.2rem;}h1,
    h2 {letter-spacing:0.1em;}h3 {font-size:2rem;}h4 {font-size:1.75rem;}h5 {font-size:1.5rem;}address {font-style:inherit;}p {margin:0 0 0.5em;}p.centered {text-align:center;}* > p:last-child {margin:0;}ol,
    ul {margin:0 0 0.7em;padding:0;}ol:last-child,
    ul:last-child {margin-bottom:0;}p + ol,
    p + ul {margin:0 0 0.7em;}ol li,
    ul li {margin:0 0 0.3em;list-style-position:inside;}ul li {list-style-type:square;}ul li::marker {color:var(--primaryColor);font-size:80%;}form {display:block;clear:both;width:100%;}label {position:relative;user-select:none;}form label {display:inline-block;text-align:left;}label > * {user-select:none;transition:0.2s;}label > input:not(:focus) + span.inputOverlay {position:absolute;display:block;width:100%;z-index:2;inset:0;opacity:0;transition-behavior:allow-discrete;}label > input:focus + span.inputOverlay {display:none;}

    /* label:not(.button-wrapper):before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      transition: 0.4s;
      font-size: 70%;
    }

    label[data-placeholder]:before {
      content: attr(data-placeholder);
      position: absolute;
      color: var(--baseGray);
      opacity: 1;
      pointer-events: none;
      text-indent: 0.45rem;
    } */label > svg {position:absolute;bottom:1.3rem;left:0.5rem;width:1.3rem;transition:0.4s;filter:drop-shadow(0 1px 0 var(--baseLightShadow));}label > svg * {fill:var(--primaryColor);}label > svg + input {text-indent:1.8rem;}.button,
    button,
    input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='hidden']),
    select,
    textarea {appearance:none;}a.button {text-decoration:none;color:inherit;}.button,
    button,
    input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='hidden']),
    select,
    textarea {user-select:none;display:inline-flex;align-items:center;justify-content:center;border:none;min-height:var(--touch-min);height:2.7em;line-height:1.2;border:1px solid var(--baseGray);background:none;outline:0;box-shadow:0 1px 0 var(--baseDarkShadow30);border-radius:0.3em;}output,
    input[type='datetime-local'],
    input[type='file'],
    input[type='email'],
    input[type='number'],
    input[type='password'],
    input[type='search'],
    input[type='tel'],
    input[type='text'],
    input[type='date'],
    select:not([multiple]),
    textarea {background-color:var(--baseLight);padding:0 1em;line-height:2em;width:100%;text-transform:none;background-repeat:no-repeat;background-position:right 0.5rem center;}input:not([type='search']):invalid {border-color:var(--colorAlert);background-image:var(--iconAlert);background-size:1.25rem;background-blend-mode:luminosity;}input[pattern]:valid {background-image:var(--iconSuccess);background-size:1.25rem;background-blend-mode:luminosity;}input[pattern]:active:valid,
    input[pattern]:active:invalid,
    input[pattern]:focus:valid,
    input[pattern]:focus:invalid {background-blend-mode:normal;}input[type='file'] {position:relative;box-sizing:border-box;padding:0 7.6rem 0 2.7rem;background:var(--iconPaperclip) no-repeat left 0.5rem center;background-size:2em;height:2.7rem;line-height:2.7rem;}input[type='file']::file-selector-button {position:absolute;inset:auto;height:2.5em;line-height:2.5em;right:0;width:7rem;text-align:center;font-size:0.8em;margin:0.4em 0.3em;padding:0;outline:none;border:none;border-radius:0.3em;background:#13807c;color:var(--baseLight);text-shadow:0 1px 0 var(--baseDarkShadow30);cursor:pointer;transition:all 0.2s linear;}input[type='file']::file-selector-button:hover {background:var(--baseDark);}input[type='datetime-local'],
    input[type='email'],
    input[type='number'],
    input[type='password'],
    input[type='search'],
    input[type='tel'],
    input[type='text'],
    input[type='date'],
    select:not([multiple]) {height:2.7em;}input[type='range'] {height:14px;border-radius:0;border:none;box-shadow:none;padding:0.3em 2px;}input[type='range']:focus {outline:0;}input[type='range']:active {background:radial-gradient(#1111, transparent) center center;background-size:cover;}input[type='range']::-webkit-slider-thumb {appearance:none;height:0.8em;width:0.8em;border-radius:50%;background:var(--baseGray);cursor:pointer;margin:-0.3em 0;align-self:center;transition:0.2s;box-shadow:0 1px 5px var(--baseDarkShadow30);}input[type='range']::-webkit-slider-thumb:hover {background:var(--baseDark);}input[type='range']::-webkit-slider-thumb:active {border-radius:2px;transform:scale(1, 2);width:0.5em;}input[type='range']::-webkit-slider-runnable-track {appearance:none;align-self:center;width:100%;height:100%;border-radius:2rem;cursor:pointer;background:var(--baseGray);box-shadow:0 1px 3px var(--baseDarkShadow10);}input[type='range']:focus::-webkit-slider-runnable-track {background:var(--baseGray);}input[type='radio'] {appearance:none;display:inline-block;width:1.25rem;height:1.25rem;min-width:1.25rem;min-height:1.25rem;max-width:1.25rem;max-height:1.25rem;vertical-align:middle;margin:0 0.5em 0 0;padding:0;flex:none;box-shadow:none;border:2px solid var(--baseGray);border-radius:50%;background:var(--baseLight);transition:border-color 0.2s linear;cursor:pointer;}input[type='radio']:hover {border-color:var(--baseDark);}input[type='checkbox'][disabled],
    input[type='radio'][disabled] {opacity:0.5;filter:grayscale(1);}input[type='radio']:checked {background-image:var(--iconChecked);background-repeat:no-repeat;background-position:center center;background-size:12px;}input[type='checkbox'] {appearance:none;display:inline-block;width:1.25rem;height:1.25rem;min-width:1.25rem;min-height:1.25rem;max-width:1.25rem;max-height:1.25rem;vertical-align:middle;margin:0 0.5em 0 0;padding:0;flex:none;box-shadow:none;border:2px solid var(--baseGray);border-radius:0.2em;background:var(--baseLight);cursor:pointer;}input[type='checkbox']:hover {filter:grayscale(0);}input[type='checkbox']:checked {background-image:var(--iconChecked);background-repeat:no-repeat;background-position:top left;background-size:18px;}input[type='checkbox'].ambivalent {background-color:var(--baseLight);background-image:var(--iconRound);background-repeat:no-repeat;background-position:-2px;background-size:24px;border:1px solid var(--baseGray);width:2.5rem;border-radius:20px;opacity:0.5;cursor:pointer;}input[type='checkbox'].ambivalent:checked {background-color:transparent;background-position:calc(100% + 2px) -2px;opacity:1;}input[type='checkbox'].ambivalent.colored {border:1px solid var(--colorDanger);}input[type='checkbox'].ambivalent.colored:checked {border-color:var(--colorSuccess);}input[type='checkbox'].ambivalent.form-checkbox {float:right;}input[type='color'] {position:relative;padding:0;margin:-4px 7px -4px -3px;vertical-align:middle;height:38px;width:38px;background:0 0;border:none;}select:not([multiple]) {padding-right:2.4em;background-image:var(--iconExpander);background-repeat:no-repeat;background-position:calc(100% - 0.6em) center;background-size:1.2em;color:inherit;}select:not([multiple]) > option:nth-child(even) {background:#00000010;}.button,
    button,
    input[type='button'],
    input[type='reset'],
    input[type='submit'] {letter-spacing:1px;padding:0 1.25em;line-height:2.7em;font-weight:600;height:2.7em;background:linear-gradient(to bottom, var(--baseLight), var(--baseLightGray));color:var(--baseDark);cursor:pointer;white-space:nowrap;transition:all 0.2s linear;text-shadow:0 1px 0 var(--baseLightShadow);text-align:center;}.button img {height:1.25em;vertical-align:middle;display:inline-block;margin:-4px 0.3rem 0 0;}.button:hover,
    .input-file:hover,
    button:hover,
    input[type='button']:hover,
    input[type='reset']:hover,
    input[type='submit']:hover {background:linear-gradient(to top, var(--baseLight), var(--baseLightGray));border-bottom-color:var(--baseDark);}.button:active,
    .input-file:active,
    button:active,
    input[type='button']:active,
    input[type='reset']:active,
    input[type='submit']:active {background:var(--baseLightGray);}[data-theme='dark'] .button,
    [data-theme='dark'] button,
    [data-theme='dark'] input[type='button'],
    [data-theme='dark'] input[type='reset'],
    [data-theme='dark'] input[type='submit'] {background:linear-gradient(#2a2a2a, #161616);color:var(--baseLight);border-color:#ffffff40;box-shadow:none;}[data-theme='dark'] .button:hover,
    [data-theme='dark'] .input-file:hover,
    [data-theme='dark'] button:hover,
    [data-theme='dark'] input[type='button']:hover,
    [data-theme='dark'] input[type='reset']:hover,
    [data-theme='dark'] input[type='submit']:hover {background:linear-gradient(var(--baseDark), black);border-bottom-color:black;}[data-theme='dark'] .button:active,
    [data-theme='dark'] .input-file:active,
    [data-theme='dark'] button:active,
    [data-theme='dark'] input[type='button']:active,
    [data-theme='dark'] input[type='reset']:active,
    [data-theme='dark'] input[type='submit']:active {background:black;}.button:disabled,
    .input-file[data-disabled],
    button:disabled,
    input[type='button']:disabled,
    input[type='reset']:disabled,
    input[type='submit']:disabled {filter:grayscale(1);cursor:not-allowed;opacity:0.5;}.button > svg,
    button > svg,
    input[type='button'] > svg,
    input[type='reset'] > svg,
    input[type='submit'] > svg {width:1.2rem;vertical-align:middle;filter:drop-shadow(0 1px 3px var(--baseDarkShadow30));}.button > svg *,
    button > svg *,
    input[type='button'] > svg *,
    input[type='reset'] > svg *,
    input[type='submit'] > svg * {fill:var(--baseLight);}form label button,
    form label .button,
    form label input[type='button'],
    form label input[type='reset'],
    form label input[type='submit'] {width:100%;}textarea {resize:none;background-size:100% 2.7em;line-height:2.7em;height:120px;max-height:120px;}input[type='date'] {width:100%;overflow:hidden;}input[type='date']::-webkit-calendar-picker-indicator {display:block;position:absolute;right:10px;height:30px;width:30px;background:var(--iconDate) no-repeat center center;background-size:20px 20px;opacity:0.5;transition:all 0.2s linear;}input[type='date']:hover::-webkit-calendar-picker-indicator {opacity:1;}input[type='date']::-webkit-datetime-edit-fields-wrapper {width:auto;font-size:1em;font-family:inherit;}

    /* Подсказка в поле — приглушённая: цветом текста она выглядела уже введённым значением */*::placeholder {font-family:inherit;color:var(--placeholder, #6f6f6f);opacity:1;}

    /* Tables */table {width:100%;border:none;border-collapse:collapse;margin:0 0 2rem;overflow:auto;}table tr {margin:0;}table tr:nth-child(even) {background:var(--baseDarkShadow10);}table td {margin:0;padding:0.9em 0.7em;border:1px solid var(--baseDark);}table tbody th + td:first-child td {border-top:none;}table th {padding:0.7em;font-weight:300;background:var(--baseDark);border:1px solid black;vertical-align:bottom;color:var(--baseLight);text-shadow:0 1px 0 black;}table.transparent-table {margin-bottom:2rem;}table.transparent-table * {border:none;background:transparent;}table.transparent-table tr {background:transparent;}table.transparent-table td,
    table.transparent-table th {padding:0.7em 0;}table.transparent-table img {vertical-align:middle;margin-right:0.5rem;}table.transparent-table h1,
    table.transparent-table h2,
    table.transparent-table h3,
    table.transparent-table h4,
    table.transparent-table h5 {margin:0;font-size:1.3rem;}

    /* scrollbar */

    /* Полосы прокрутки — из палитры темы: светлая дорожка и серый бегунок днём, тёмные ночью; при наведении — бирюза.
       scrollbar-color — Firefox и Chrome 121+, ::-webkit-* — Safari и старый Chrome. */:root {--scrollTrack: #ececec;--scrollThumb: #b5b5b5;--scrollThumbHover: var(--primaryDarkColor);scrollbar-color:var(--scrollThumb) var(--scrollTrack);}[data-theme='dark'] {--scrollTrack: #262626;--scrollThumb: #575757;--scrollThumbHover: #7fe3df;}* {scrollbar-color:var(--scrollThumb) var(--scrollTrack);}::-webkit-scrollbar {width:0.6rem;height:0.6rem;}::-webkit-scrollbar-track {background:var(--scrollTrack);}::-webkit-scrollbar-thumb {border:2px solid var(--scrollTrack);border-radius:1rem;background:var(--scrollThumb);}::-webkit-scrollbar-thumb:hover {background:var(--scrollThumbHover);}::-webkit-scrollbar-corner {background:var(--scrollTrack);}

    /* main */main {display:flex;position:relative;flex-direction:column;align-content:center;justify-content:flex-start;align-items:center;flex-wrap:nowrap;min-height:100vh;
      /* clip, а не hidden: hidden делает main прокручиваемым, и фокус на элементе за краем (стрелка слайдера) сдвигал
         страницу вбок без возможности вернуть */overflow:clip;}header,
    article,
    footer {width:100%;}

    /* Без переноса: колонка с flex-wrap подстраивалась под самый широкий блок (пагинация 491 px) — на телефоне весь
       каталог выходил за экран и обрезался */article#contentRoot {display:flex;flex-wrap:nowrap;flex-direction:column;flex:1;min-width:0;}article#contentRoot > * {min-width:0;}article#contentRoot > section {width:100%;}article#contentRoot > section.pageContent {padding:4em;font-size:1.1em;line-height:1.5;}article#contentRoot > section.pageContent h1,
    article#contentRoot > section.pageContent p:not(:last-of-type) {margin-bottom:1.25em;}span.action {display:inline-flex;cursor:pointer;align-items:center;gap:0.3em;cursor:pointer;text-underline-offset:0.3em;text-decoration:underline;text-decoration-style:dotted;}span.action img {height:1.25em;}[data-theme='dark'] span.action img {filter:var(--imgInverted);}

    /* windows and dialogs */dialog.window:not([open]) {inset:0;max-height:0;max-width:0;opacity:0;overflow:hidden;}dialog.window[open] {background:var(--marble);background-size:cover;inset:0;display:flex;flex-direction:column;gap:15px;align-items:center;align-content:center;margin:auto;width:fit-content;max-height:80vh;padding:2rem;border:none;border-bottom:5px solid var(--baseGray);border-radius:3px;overflow:auto;box-shadow:0 0 20px rgba(0, 0, 0, 0.05),
        0 0 40px rgba(0, 0, 0, 0.15);color:var(--baseDark);text-shadow:0 1px 0 var(--baseLight);z-index:1000;opacity:1;transition:0.2s;outline:none;}dialog.window[data-visible='false'] {position:absolute;opacity:0;bottom:100%;max-height:0;}dialog.window[open]::backdrop {position:fixed;height:100vh;width:100%;background:radial-gradient(circle, rgba(5, 5, 5, 0.5) 0%, rgba(5, 5, 5, 0.9) 100%);transition:1s;backdrop-filter:blur(5px);}dialog.wrapper > span.action,
    dialog.window > span.action {display:flex;justify-content:center;align-items:center;position:fixed;right:2rem;top:2rem;width:3rem;height:3rem;text-align:center;border-radius:50%;font-size:2rem;font-weight:600;
      /* Закрыть окно — графит, а не тревожный красный */background:#2b2b2b;box-shadow:0 0.2rem 0.8rem #0006;text-shadow:none;color:var(--baseLight);cursor:pointer;z-index:1000;text-decoration:none;font-size:1.3rem;transition:0.5s;}dialog.wrapper > span.action img,
    dialog.window > span.action img {filter:var(--imgInverted);width:1rem;height:1rem;margin:0;}dialog.window a,
    dialog.window a:visited {color:var(--linkColor);}dialog.window a:hover {color:var(--linkVisitedColor);}dialog.window h1,
    dialog.window h2,
    dialog.window h3,
    dialog.window h4,
    dialog.window h5 {margin:0;text-align:center;}

    @media screen and (max-width: 600px) {h1 {font-size:1.8rem;}h2 {font-size:1.5rem;}h3 {font-size:1.3rem;}h4 {font-size:1.25rem;}h5 {font-size:1.15rem;}
    }.button.highlighted.blue {background:linear-gradient(var(--primaryBlueMid), var(--primaryBlueDark));color:var(--baseLight);border-color:var(--primaryBlueDark);text-shadow:0 1px 0 var(--primaryBlueDark);}.button.highlighted.blue:hover {background:linear-gradient(var(--primaryBlueDark), var(--primaryBlueMid));}.button.highlighted.blue:active {background:var(--primaryBlueMid);}

    /* Бирюзовая кнопка: верх #13807c — белому тексту 4.7:1 (на #119096 было 3.8) */.button.highlighted.primary {background:linear-gradient(#13807c, var(--primaryDarkColor));color:var(--baseLight);border-color:var(--primaryDarkColor);text-shadow:0 1px 0 var(--primaryDarkColor);}.button.highlighted.primary:hover {background:linear-gradient(var(--primaryDarkColor), #0a3d3b);}.button.highlighted.primary:active {background:var(--primaryMidColor);}

    /* Зелёная заливка темнее темы (#1ea473→#136e4d давал белому тексту 3.2–3.8:1): верх #147f58 — 4.95:1 */.button.highlighted,
    .button.highlighted.green {background:linear-gradient(#147f58, #0d5139);color:var(--baseLight);border-color:#0d5139;text-shadow:0 1px 0 #0a3b2a;}.button.highlighted:hover,
    .button.highlighted.green:hover {background:linear-gradient(#0d5139, #093a29);}.button.highlighted:active,
    .button.highlighted.green:active {background:var(--primaryGreenMid);}

    /* Оранжевая — жжёный оттенок: белый текст на #b8560f — 4.76:1 (на #f87e25 было 2.6) */.button.highlighted.orange {background:linear-gradient(#b8560f, #8a3f08);color:var(--baseLight);border-color:#8a3f08;text-shadow:0 1px 0 #6a3006;}.button.highlighted.orange:hover {background:linear-gradient(#8a3f08, #6a3006);}.button.highlighted.orange:active {background:var(--primaryOrangeMid);}.button.blink.highlighted {position:relative;overflow:hidden;}.button.blink.highlighted::after {content:'';position:absolute;left:-160px;top:-50px;height:140px;width:100px;transform:rotate(25deg);background:linear-gradient(#fff, #ffffff20, #fff);background-blend-mode:hard-light;filter:blur(2px) saturate(2);
      animation: 3s linear 0s infinite blink_to_right;}.button.highlighted img {filter:invert(1) drop-shadow(0 1px 0 #1116) !important;}

    /* Ширина по подписи (min-content ломал «Выбрать памятник» на две строки), но не шире колонки */.button.centered {margin-inline:auto;display:flex;width:max-content;max-width:100%;}.button.large {font-size:1.25em;}

    @keyframes blink_to_right {
      0% {
        left: -50%;
        transform: rotate(25deg) scale(1);
        opacity: 0;
        filter: blur(5px);
      }

      20% {
        opacity: 1;
        transform: rotate(25deg) scale(1.5);
        filter: blur(15px);
      }

      40% {
        left: 150%;
        transform: rotate(25deg) scale(1);
        opacity: 0;
        filter: blur(5px);
      }

      100% {
        left: 150%;
        transform: rotate(25deg) scale(1);
        opacity: 0;
        filter: blur(5px);
      }
    }

    /* assets */img.inverted {filter:var(--imgInverted);}

    /* bordered button */.bordered {position:relative;overflow:visible;}.bordered:before,
    .bordered:after {content:'';position:absolute;inset:-0.15em;background:linear-gradient(
        45deg,
        #24b4b0,
        #0a8682,
        #1ab3ad,
        #2bc8c3,
        #0c7471,
        #13aea9,
        #0c6a67,
        #49b6b2,
        #5cf5f0,
        #24b4b0
      );background-size:600%;width:calc(100% + 0.3em);height:calc(100% + 0.3em);
      animation: steam 40s linear infinite;border-radius:0.35em;z-index:-1;}.bordered:after {filter:blur(10px);opacity:0.2;}

    @keyframes steam {
      0% {
        background-position: 0 0;
      }
      50% {
        background-position: 600% 0;
      }
      100% {
        background-position: 0 0;
      }
    }
    /* css/layout.css */main article > aside,
    main article > section > aside {position:relative;padding:4rem;margin:0;align-items:center;max-width:100%;}main article > aside {padding-inline:var(--gutter);}

    /* Заголовок секции — одной ступени, h2 он или h3 (после правки уровней h2 «Аксессуаров» вышел 28 px с разрядкой
       0.1em, а соседние h3 — 32 px) */main article > aside > :is(h2, h3):first-of-type {font-size:2rem;letter-spacing:0.05em;}

    @media screen and (max-width: 600px) {main article > aside > :is(h2, h3):first-of-type {font-size:1.45rem;}
    }aside#portfolio .button {white-space:nowrap;}main article > aside:not([id]):nth-child(even) {background-color:var(--baseDarkShadow10);}main article > aside > *,
    main article > section > aside > * {position:relative;z-index:2;}img.blockIllustration {position:absolute;inset:0;top:auto;user-select:none;pointer-events:none;width:100%;z-index:1;opacity:0.25;mix-blend-mode:difference;}aside:not([data-theme='dark']) img.blockIllustration {mix-blend-mode:darken;}main article > article,
    main article > section {position:relative;margin:0;}

    /* Телефон: сверху и снизу полосы — воздух 2.5rem (было 1em со всех сторон: заголовок в 16 px от края полосы) */
    @media screen and (max-width: 768px) {main article > aside,
      main article > section > aside {padding:2.5rem 1rem;}
    }
    /* css/elements.css */

    /* Shared primitives used by several modules */.phone {font-size:1.5rem;display:flex;align-items:center;gap:0.5rem;}.phone > img {height:1em;}.phone a {text-decoration:none;color:inherit;font-weight:bold;white-space:nowrap;}.phone a > span.preffix {font-weight:normal;color:var(--baseDarkGray);}[data-theme='dark'] .phone > img {filter:var(--imgInverted);}.hSeparator {display:flex;width:100%;height:5px;align-items:center;font-size:0.5rem;margin:0.2rem 0;color:var(--baseDarkGray);justify-content:space-between;filter:drop-shadow(0 1px 0 white);opacity:0.7;user-select:none;pointer-events:none;}.hSeparator::before,
    .hSeparator::after {content:'';display:block;width:calc(50% - 1em);height:0;border-bottom:1px dotted var(--baseDarkGray);}.hSeparator i {font-style:normal;}[data-theme='dark'] .hSeparator {filter:drop-shadow(0 1px 0 black);}form.mailerForm {display:flex;flex-direction:column;align-items:center;flex-wrap:wrap;gap:1rem;}form.mailerForm label {width:100%;}form.mailerForm label p:first-of-type {margin:0.5rem 0 0;}form.mailerForm label sup {font-weight:bold;color:var(--colorAlert);top:-0.25em;}form.mailerForm label button {font-size:1.2rem;margin:auto;}form.mailerForm[data-state='loading'] .mailerIdle,
    form.mailerForm[data-state='error'] .mailerIdle,
    form.mailerForm[data-state='success'] .mailerIdle,
    form.mailerForm[data-state='idle'] .mailerLoading,
    form.mailerForm[data-state='idle'] .mailerError,
    form.mailerForm[data-state='idle'] .mailerSuccess,
    form.mailerForm[data-state='loading'] .mailerError,
    form.mailerForm[data-state='loading'] .mailerSuccess,
    form.mailerForm[data-state='error'] .mailerLoading,
    form.mailerForm[data-state='error'] .mailerSuccess,
    form.mailerForm[data-state='success'] .mailerLoading,
    form.mailerForm[data-state='success'] .mailerError {display:none;}.loader {position:relative;font-size:inherit;}.loader::before {content:'';display:inline-block;vertical-align:middle;height:1.5em;width:1.5em;border:3px solid transparent;border-radius:50%;border-top-color:var(--primaryColor);
      animation: gabriel-spin 1s linear infinite;}.loader[data-type='inline'] {padding:1em;}.loader[data-type='inline']::before {margin-right:0.5em;}

    @keyframes gabriel-spin {
      to {
        transform: rotate(360deg);
      }
    }dialog.window:not(.youtubeVideoWrapper) {max-width:500px;}.sliderWrapper {position:relative;}.sliderWrapper .slider {display:flex;flex-direction:row;overflow:auto;user-select:none;align-items:flex-start;flex-wrap:nowrap;flex:1;scroll-snap-type:x mandatory;}.sliderWrapper .slider::-webkit-scrollbar {height:0.25em;width:0.25em;}.sliderWrapper .slider img {width:100%;min-width:100%;height:auto;scroll-snap-align:start;}.sliderWrapper .sliderActions {position:static;display:flex;align-items:center;justify-content:space-between;padding:1em 0 0;gap:1rem;}.sliderWrapper .sliderActions > i {font-weight:300;flex:1;font-style:normal;text-align:center;}.sliderWrapper .sliderActions > span {height:var(--touch-min);width:var(--touch-min);border-radius:50%;background:var(--primaryColor10);display:flex;align-items:center;justify-content:center;border:1px solid var(--primaryColor);font-size:0;cursor:pointer;transition:0.2s;user-select:none;filter:grayscale(1);}.sliderWrapper .sliderActions > span::after {content:'';display:block;height:0.5rem;width:0.5rem;border:4px solid transparent;transform:rotate(45deg);border-radius:3px;}.sliderWrapper .sliderActions > span.next::after {margin-left:-0.5rem;border-top-color:var(--linkColor);border-right-color:var(--linkColor);}.sliderWrapper .sliderActions > span.prev::after {margin-left:0.5rem;border-left-color:var(--linkColor);border-bottom-color:var(--linkColor);}.sliderWrapper .sliderActions > span:hover {transform:scale(1.08);filter:none;background:var(--primaryDarkColor10);border-color:var(--linkHoverColor);}.categoryItem {position:relative;display:flex;background:var(--baseMidLight);flex-direction:column;min-width:20vw;margin:2em 0;gap:0;border:1px solid var(--baseDarkShadow10);transition:0.3s;}.categoryItem:hover {border-color:var(--linkColor);box-shadow:0 0.2rem 1.5rem var(--baseDarkShadow10);}.categoryItem .labelsWrapper {position:absolute;display:flex;flex-direction:column;left:0;top:1em;gap:0.5em;z-index:2;}.categoryItem .label {--color: var(--baseDarkShadow30);width:fit-content;font-size:0.8em;background:var(--color);text-shadow:none;padding:0.1em 0.5em;color:var(--baseLight);border:3px double var(--baseLightShadow50);font-weight:400;backdrop-filter:blur(0.5em);box-shadow:0 0 0 0.2em var(--color),
        0 0.1em 0.5em var(--baseDarkShadow30);}.categoryItem .label.discount {--color: #c4301f;}.categoryItem .label.popular {--color: #147f58;}.categoryItem .productHeader {display:flex;padding:1em 2em;align-items:center;justify-content:space-between;background:var(--baseDarkShadow10);gap:1em;}.categoryItem .productTitle {font-weight:400;font-size:1.5em;line-height:1.15;margin:0;color:inherit;text-decoration:none;}.categoryItem .priceWrapper {font-size:1.2em;font-weight:300;text-align:right;white-space:nowrap;}.categoryItem .price {display:inline-flex;width:fit-content;gap:0.5em;font-size:1.25em;}.categoryItem .currency {color:var(--baseDarkGray);}.categoryItem img.titleImage {user-select:none;pointer-events:none;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:contain;background:#e8e8e8;}.categoryItem .more {padding:1em 2em;display:inline-flex;font-size:0.9em;cursor:pointer;text-underline-offset:0.3em;text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:1px;color:var(--baseDark);justify-content:center;}.categoryItem .more::after {content:'\00A0\290F';}.categoryItem .more:hover {text-decoration-style:solid;color:var(--linkHoverColor);}[data-theme='dark'] .categoryItem {background:var(--baseDark);color:var(--baseGray);}[data-theme='dark'] .categoryItem img.titleImage {background:#3a3a3a;}[data-theme='dark'] .categoryItem .more {background:var(--baseLightShadow30);color:var(--linkColor);}[data-theme='dark'] .categoryItem .more:hover {color:var(--linkHoverColor);}.categorySliderWrapper {position:relative;width:100vw;margin:0 calc(var(--gutter) * -1);}.categorySlider {display:flex;gap:4em;padding:0 var(--gutter) 2em;overflow-x:auto;height:auto;scrollbar-width:thin;
      /* Стрелка листает на карточку и ставит её к краю колонки */scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);}.categorySlider > .categoryItem {scroll-snap-align:start;}

    /* Край ленты: стрелка гаснет и не нажимается */.categorySliderWrapper > span.action[aria-disabled='true'] {opacity:0.3;pointer-events:none;}.categorySliderWrapper > span.action {position:absolute;height:var(--touch-min);width:var(--touch-min);top:calc(50% - 1.5rem);display:flex;align-items:center;justify-content:center;font-size:0;cursor:pointer;transition:0.2s;user-select:none;filter:grayscale(1);z-index:10;}.categorySliderWrapper > span.action[data-direction='prev'] {left:0;}.categorySliderWrapper > span.action[data-direction='next'] {right:0;}.categorySliderWrapper > span.action::after {content:'';display:block;height:0.5rem;width:0.5rem;border:4px solid transparent;transform:rotate(45deg);border-radius:3px;}.categorySliderWrapper > span.action[data-direction='prev']::after {margin-left:0.5rem;border-left-color:var(--baseDark);border-bottom-color:var(--baseDark);}.categorySliderWrapper > span.action[data-direction='next']::after {margin-left:-0.5rem;border-top-color:var(--baseDark);border-right-color:var(--baseDark);}.categorySliderWrapper > span.action:hover {transform:scale(1.08);filter:none;background:var(--primaryDarkColor10);}ul.socialLinks {display:flex;color:white;flex-direction:row;align-items:center;gap:0.5em;list-style:none;}ul.socialLinks li {display:contents;list-style:none;}ul.socialLinks a[href*='instagram'] {color:#f72585;}ul.socialLinks a[href*='youtube'] {color:red;}ul.socialLinks svg {width:2em;height:2em;}ul.socialLinks a:hover {color:var(--primaryColor);}

    @media screen and (max-width: 768px) {.categorySliderWrapper {width:calc(100% + 2rem);margin:0 -1rem;}

      /* Ленту листают пальцем: стрелки ложились на картинку карточки */.categorySliderWrapper > span.action {display:none;}.categorySlider {padding:0 1em 2em;gap:1.5em;}.categoryItem {min-width:70vw;}
    }.emptyState {padding:var(--space-lg, 2em);text-align:center;background:var(--baseMidLight);border-radius:var(--radius, 0.3em);color:var(--baseDarkGray);}.emptyState a {display:inline-block;margin-top:0.75em;}

    /* дополнения сайта */
    /* Кольцо фокуса: правила темы для кнопок и полей ставили outline: 0 и перебивали :focus-visible — клавиатура
       не видела, где она. Селекторы повторяют тему, чтобы перевесить её по специфичности. */.button:focus-visible,
    button:focus-visible,
    select:focus-visible,
    textarea:focus-visible,
    summary:focus-visible,
    input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='hidden']):focus-visible {outline:var(--focus-ring);outline-offset:2px;}input[type='checkbox']:focus-visible,
    input[type='radio']:focus-visible {outline:var(--focus-ring);outline-offset:2px;}

    /* Ошибка поля на тёмных полосах (форма менеджера, такси): красный темы там ~3.5:1 — светлее, ≥4.5 */:is(aside#leadHook, aside#taxiForm, footer) .field-error {color:#ff9d92;}

    /* Тёмные зоны в светлой теме (подвал, такси): кольцо светлой бирюзой */footer,
    aside#taxiForm {--focus-ring: 2px solid #7fe3df;--placeholder: #9a9a9a;}

    /* Окна форм в тёмной теме остаются светлыми (мрамор): серый текст и подсказки — тёмные, иначе 1.6:1 */[data-theme='dark'] dialog.window {--textMuted: #575757;--placeholder: #6f6f6f;--focus-ring: 2px solid var(--primaryDarkColor);--linkColor: var(--primaryDarkColor);}

    /* Длинные заголовки текста страниц (SEO-предложения в 3–8 строк): разрядка темы 0.1em их растягивает */:is(.pageContent, .productDescription) h1 {letter-spacing:0.03em;}

    /* Переход к содержанию для клавиатуры: виден, только когда в фокусе */a.skipLink {position:fixed;left:1rem;top:-4rem;z-index:100000;padding:0.75rem 1.25rem;border-radius:0.4rem;background:var(--baseDark);color:var(--baseLight);font-weight:600;text-decoration:none;transition:top 0.2s;}a.skipLink:focus-visible {top:1rem;}

    /* Узкий экран: длинная подпись кнопки переносится, а не обрезается за краем («Получить примеры договора и сметы») */
    @media screen and (max-width: 640px) {.button,
      button.button {white-space:normal;height:auto;min-height:2.75rem;line-height:1.3;padding-block:0.6em;max-width:100%;}
    }

    /* Выбор файлов в «Отправить фото»: цель нажатия не ниже 44 px */input[type='file']::file-selector-button {min-height:2.75rem;}

    /* Вложения: зона «выберите или перетащите» — само поле прозрачное поверх неё (клик и перетаскивание
       достаются ему), список выбранного — под зоной (scripts/fields.js) */.fileDrop {border:1.5px dashed #b4b4b4;border-radius:0.6rem;background:rgb(255 255 255 / 0.7);transition:border-color 0.15s ease-out,
        background-color 0.15s ease-out;}.fileDrop:hover,
    .fileDrop[data-drag] {border-color:var(--primaryDarkColor);background:#e9f5f4;}.fileDropZone {position:relative;display:flex;align-items:center;justify-content:center;gap:0.75rem;min-height:4.5rem;padding:0.75rem 1rem;border-radius:0.6rem;text-align:left;}.fileDropZone::before {content:'';flex:none;width:1.6rem;height:1.6rem;background:var(--primaryDarkColor);mask:var(--iconPaperclip) center / contain no-repeat;}.fileDropZone:has(input:focus-visible) {outline:var(--focus-ring);outline-offset:2px;}.fileDrop input[type='file'] {position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;}.fileDropPrompt {margin:0;color:var(--baseDarkGray);line-height:1.35;}.fileDropAction {color:var(--primaryDarkColor);font-weight:600;text-decoration:underline dotted 1px;text-underline-offset:0.2em;}.fileDrop:hover .fileDropAction {text-decoration-style:solid;}.fileList {display:grid;gap:0.25rem;margin:0;padding:0.5rem;border-top:1px solid #0000001a;list-style:none;}.fileList[hidden] {display:none;}.fileList .fileItem {display:flex;align-items:center;gap:0.6rem;margin:0;padding:0.25rem 0.25rem 0.25rem 0.35rem;border-radius:0.4rem;list-style:none;background:var(--baseLight);font-size:0.9rem;line-height:1.25;}.fileList .fileItem::marker {content:none;}.fileThumb {display:inline-flex;align-items:center;justify-content:center;flex:none;width:2.25rem;height:2.25rem;overflow:hidden;border-radius:0.3rem;background:#e9f5f4;color:var(--primaryDarkColor);font-size:0.65rem;font-weight:700;letter-spacing:0.02em;}.fileThumb img {width:100%;height:100%;object-fit:cover;}.fileName {flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.fileSize {flex:none;color:var(--baseDarkGray);font-variant-numeric:tabular-nums;}.fileTooBig .fileSize {color:#b3261e;font-weight:600;}button.fileRemove {position:relative;flex:none;width:2.25rem;height:2.25rem;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:none;box-shadow:none;color:var(--baseDarkGray);line-height:1;}button.fileRemove::before {content:'';position:absolute;inset:0.7rem;background:currentColor;mask:var(--iconClose) center / contain no-repeat;}button.fileRemove:hover {background:#0000000d;color:#b3261e;}

    /* Заголовок раздела прямо в article (эпитафия: «Ещё надписи:») — с полями секций, а не у края экрана */article#contentRoot > .catalogHeading {box-sizing:border-box;margin:2rem 0 1rem;padding-inline:var(--gutter);}

    @media screen and (max-width: 768px) {article#contentRoot > .catalogHeading {padding-inline:1rem;}
    }

    /* Заголовки без висячих слов; блик на кнопке «Отправить фото» убран — бесконечное движение не к месту на этом сайте */h1,
    h2,
    h3,
    h4,
    h5,
    h6 {text-wrap:balance;}.button.blink.highlighted::after {content:none;}

    /* дополнения сайта */
    /* Формы Eile (.cms-form) в оформлении темы: как form.mailerForm */.cms-form {display:flex;flex-direction:column;align-items:stretch;gap:1rem;width:100%;}.cms-form .field {display:flex;flex-direction:column;gap:0.35rem;width:100%;}.cms-form .field label .required {font-weight:bold;color:var(--colorAlert);}.cms-form .field .hint {color:var(--textMuted);font-size:0.85rem;}.cms-form .field-submit {align-items:center;}.cms-form .field-submit button {font-size:1.2rem;background:linear-gradient(#147f58, #0d5139);color:var(--baseLight);border-color:#0d5139;text-shadow:0 1px 0 #0a3b2a;}.cms-form .field-submit button:hover {background:linear-gradient(#0d5139, #093a29);}.cms-form[data-cms-form='taxi'] .field-submit button,
    .cms-form[data-cms-form='quiz'] .field-submit button {background:linear-gradient(#b8560f, #8a3f08);border-color:#8a3f08;text-shadow:0 1px 0 #6a3006;}.cms-form[data-cms-form='taxi'] .field-submit button:hover,
    .cms-form[data-cms-form='quiz'] .field-submit button:hover {background:linear-gradient(#8a3f08, #6a3006);}.cms-form .cms-form-proof {margin:0;font-size:0.8rem;color:var(--textMuted);}.cms-form .cms-form-proof:empty {display:none;}#quiz .cms-form:not([data-last]) .field-submit {display:none;}

    /* Карточка без картинки: та же рамка 4:3 */.categoryItem .titleImage.placeholder {display:block;width:100%;aspect-ratio:4 / 3;background:#e8e8e8 url('/media/theme/i/placeholder.svg') no-repeat center / 3rem;}#quiz .cms-form .quizQuestion {display:none;gap:2em;}#quiz .cms-form .quizQuestion.current {display:flex;}

    /* дополнения сайта */
    /* Карточка товара кликабельна целиком: ссылка названия растянута на карточку (в теме ссылкой было только название,
       а «Подробнее» и картинка не вели никуда). Ярлыки (z-index 2) остаются поверх. */.categoryItem .productTitle::after {content:'';position:absolute;inset:0;z-index:1;}.categoryItem .productTitle:focus-visible {outline:none;}.categoryItem:has(.productTitle:focus-visible) {outline:var(--focus-ring, 2px solid var(--primaryColor));outline-offset:2px;}.categoryItem .productHeader {position:static;}

    /* В узкой карточке (слайдер оград) «от 570 BYN» не помещалась рядом с названием и вылезала за край: перенос строки */.categoryItem .productHeader {flex:1 1 auto;flex-wrap:wrap;align-content:center;padding:1em 1.25em;}.categoryItem .priceWrapper {margin-left:auto;}

    /* дополнения сайта */
    /* Менеджер в блоках «Здравствуйте, меня зовут…»: со скриптом фото появляется, когда выбран случайный менеджер. */.js [data-manager]:not([data-ready]) [data-manager-photo],
    .js [data-manager]:not([data-ready]) [data-manager-avatar],
    .js [data-manager]:not([data-ready]) [data-manager-name],
    .js [data-manager]:not([data-ready]) [data-manager-role] {opacity:0;}[data-manager] [data-manager-photo],
    [data-manager] [data-manager-avatar],
    [data-manager] [data-manager-name],
    [data-manager] [data-manager-role] {transition:opacity 0.3s;}

    /* Обычное фото (не вырезка) — круглый портрет */img.managerPhoto.round {aspect-ratio:1;object-fit:cover;object-position:center 20%;border-radius:50%;border:0.3rem solid var(--primaryColor);}aside#leadHook img.managerPhoto.round {width:18em;height:18em;margin:2em;align-self:center;}aside#quiz .managerPhotoWrapper img.round {width:200px;height:200px;margin-top:3em;}

    /* дополнения сайта */
    /* Текст страниц (перенесён со старого сайта): ширина строки, ритм заголовков, картинки с обтеканием, таблицы.
       Обёртки: .pageContent (текст и поля «до/после»), .contentAdd (текст под каталогом), .productDescription. */::selection {background:#13807c;color:var(--baseLight);text-shadow:none;}input,
    textarea {caret-color:var(--primaryColor);}article#contentRoot > section.pageContent,
    article#contentRoot > section.contentAdd {box-sizing:border-box;padding:3em var(--gutter);}

    /* Текст — во всю ширину колонки: соседей справа нет — строке незачем обрываться посреди экрана.
       Рядом колонка PageAside — ширину тексту задаёт сетка (46rem). */:is(.pageContent, .productDescription) :is(p, li, blockquote) {text-wrap:pretty;}:is(.pageContent, .productDescription) :is(h2, h3, h4) {text-wrap:balance;clear:both;}:is(.pageContent, .productDescription) h1 {font-size:clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem);text-wrap:balance;margin:0 0 1em;}

    /* Ступени заголовков текста заметны и на телефоне: h3 был 19.2 px — ровно как основной текст */:is(.pageContent, .productDescription) h2 {font-size:clamp(1.6rem, 1.2rem + 0.9vw, 1.9rem);margin:1.8em 0 0.6em;}:is(.pageContent, .productDescription) h3 {font-size:clamp(1.35rem, 1.1rem + 0.6vw, 1.5rem);margin:1.5em 0 0.5em;}:is(.pageContent, .productDescription) h4 {font-size:1.2rem;margin:1.2em 0 0.4em;}:is(.pageContent, .productDescription) > :first-child,
    :is(.pageContent, .productDescription) .pre > :first-child {margin-top:0;}:is(.pageContent, .productDescription) p {margin:0 0 1em;}

    /* Маркер — снаружи строки: перенесённые строки пункта начинаются под текстом, а не под маркером */:is(.pageContent, .productDescription) ul,
    :is(.pageContent, .productDescription) ol {margin:0 0 1.2em;padding-left:1.3em;}:is(.pageContent, .productDescription) li {margin:0 0 0.45em;padding-left:0.2em;list-style-position:outside;}:is(.pageContent, .productDescription) li > :is(ul, ol) {margin:0.45em 0 0;padding-left:1.5em;}

    /* Картинка с обтеканием внутри абзаца: абзац обнимает её целиком (иначе одна строка сбоку, остальной текст
       под картинкой) — получается «картинка + текст рядом», следующий абзац начинается ниже */:is(.pageContent, .productDescription) p:has(> img:is(.justifyleft, .justifyright)) {display:flow-root;}:is(.pageContent, .productDescription) a:not(.button) {text-underline-offset:0.2em;text-decoration-thickness:1px;}:is(.pageContent, .productDescription) img {max-width:100%;height:auto;border-radius:0.4rem;}:is(.pageContent, .productDescription) img.justifyleft {float:left;max-width:min(45%, 28rem);margin:0.3em 2em 1em 0;}:is(.pageContent, .productDescription) img.justifyright {float:right;max-width:min(45%, 28rem);margin:0.3em 0 1em 2em;}:is(.pageContent, .productDescription) .image.align-center,
    :is(.pageContent, .productDescription) img.align-center {display:block;margin-inline:auto;}:is(.pageContent, .contentAdd, .productDescription)::after {content:'';display:block;clear:both;}:is(.pageContent, .productDescription) table {font-size:0.95em;margin:1.5em 0 2em;}:is(.pageContent, .productDescription) table td {border-color:var(--baseGray);vertical-align:top;}:is(.pageContent, .productDescription) table td :is(h3, h4) {margin:0;font-size:1.1em;max-width:none;}:is(.pageContent, .productDescription) table td img {border-radius:0.25rem;}

    /* Таблица-карточка из старых текстов («Акции», «Элитные комплексы», «Под ключ»): картинка в ячейке на все строки,
       справа — строки характеристик. Колонка картинки — одной ширины во всех карточках, картинка — во всю колонку. */:is(.pageContent, .productDescription) td[rowspan] {width:40%;padding-right:1.5rem;}:is(.pageContent, .productDescription) td[rowspan] img {float:none;display:block;width:100%;max-width:100%;height:auto;margin:0;}:is(.pageContent, .productDescription) table:has(td[rowspan]) + table:has(td[rowspan]) {padding-top:2rem;border-top:1px solid var(--baseMidGray);}

    /* Старая цена (была зачёркнута стилем, который не пережил перенос) */:is(.pageContent, .productDescription) s {color:var(--textMuted);font-weight:400;text-decoration-thickness:1.5px;}

    /* Свойства камня: шапка таблицы — светлая, пустое значение — прочерк */:is(.pageContent, .stoneInfo) table.item-parameters-table th {background:var(--baseMidLight);color:var(--baseDark);text-shadow:none;font-weight:600;text-align:left;}:is(.pageContent, .stoneInfo) table.item-parameters-table td:empty::after {content:'—';color:var(--textMuted);}

    /* Несколько картинок в одном абзаце старого текста (отзывы, сертификаты) — плиткой во всю ширину текста,
       каждая открывается целиком (tidy() делает из абзаца .contentGallery) */:is(.pageContent, .productDescription) .contentGallery {columns:3 13rem;column-gap:1rem;margin:1.5em 0 2em;}:is(.pageContent, .productDescription) .contentGallery a {display:block;margin:0 0 1rem;break-inside:avoid;text-decoration:none;}:is(.pageContent, .productDescription) .contentGallery img {display:block;width:100%;height:auto;margin:0;border-radius:0.3rem;box-shadow:0 0.1rem 0.6rem rgb(0 0 0 / 0.12);}[data-theme='dark'] :is(.pageContent, .stoneInfo) table.item-parameters-table th {background:#2a2a2a;color:var(--baseLightGray);}:is(.pageContent, .productDescription) blockquote {margin:1.5em 0;padding:0.2em 0 0.2em 1.2em;border-left:1px solid var(--primaryColor);font-style:italic;}:is(.pageContent, .productDescription) .pre,
    :is(.pageContent, .productDescription) .after {margin:0 0 2em;}:is(.pageContent, .productDescription) .after {margin:2em 0 0;}

    @media screen and (max-width: 1100px) {article#contentRoot > section.pageContent,
      article#contentRoot > section.contentAdd {padding:2rem 1rem;}
    }

    @media screen and (max-width: 768px) {:is(.pageContent, .productDescription) img.justifyleft,
      :is(.pageContent, .productDescription) img.justifyright {float:none;display:block;max-width:100%;margin:0 0 1em;}:is(.pageContent, .productDescription) table {display:block;overflow-x:auto;}

      /* Таблица-карточка на телефоне — столбиком: картинка во всю ширину, под ней строки (было: картинка 165 px,
         справа узкий столбец текста за краем экрана и ~1200 px пустоты под картинкой) */:is(.pageContent, .productDescription) table:has(td[rowspan]) {overflow:visible;margin:0 0 1.5rem;}:is(.pageContent, .productDescription) table:has(td[rowspan]) + table:has(td[rowspan]) {padding-top:1.5rem;}:is(.pageContent, .productDescription) table:has(td[rowspan]) :is(tbody, tr, td) {display:block;width:auto;}:is(.pageContent, .productDescription) table td[rowspan] {min-width:0;padding:0 0 0.75rem;border:0;}
    }

    /* дополнения сайта */
    /* Цветные кнопки — ярче, с объёмом: светлый верх, сочный низ, блик сверху, цветная тень снизу; при наведении — чуть
       приподнимается и по ней пробегает отблеск. Белый текст на середине заливки — не ниже 4.5:1. */
    /* Цвет по умолчанию — зелёный; без веса селектора, чтобы классы цвета (.primary, .orange…) его перекрывали */:where(.button.highlighted, .cms-form .field-submit button) {--btnTop: #18a06e;--btnBottom: #0b6b48;--btnShadow: 11 107 72;}:is(.button.highlighted, .button.highlighted.green, .button.highlighted.primary, .button.highlighted.orange, .button.highlighted.blue, .cms-form .field-submit button, .cms-form[data-cms-form] .field-submit button) {border-color:var(--btnBottom);background:linear-gradient(110deg, transparent 30%, rgb(255 255 255 / 0.32) 48%, transparent 66%) 100% 0 / 250% 100% no-repeat,
        linear-gradient(var(--btnTop), var(--btnBottom));color:#fff;text-shadow:0 1px 1px rgb(0 0 0 / 0.28);box-shadow:inset 0 1px 0 rgb(255 255 255 / 0.3),
        0 2px 4px rgb(var(--btnShadow) / 0.25),
        0 8px 18px -6px rgb(var(--btnShadow) / 0.55);transition:transform 0.2s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.2s ease-out,
        filter 0.2s ease-out,
        background-position 0s;}:is(.button.highlighted, .button.highlighted.green, .button.highlighted.primary, .button.highlighted.orange, .button.highlighted.blue, .cms-form .field-submit button, .cms-form[data-cms-form] .field-submit button):hover {background:linear-gradient(110deg, transparent 30%, rgb(255 255 255 / 0.32) 48%, transparent 66%) 0 0 / 250% 100% no-repeat,
        linear-gradient(var(--btnTop), var(--btnBottom));filter:saturate(1.1) brightness(1.04);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgb(255 255 255 / 0.35),
        0 3px 6px rgb(var(--btnShadow) / 0.28),
        0 12px 24px -6px rgb(var(--btnShadow) / 0.6);transition:transform 0.2s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.2s ease-out,
        filter 0.2s ease-out,
        background-position 0.75s cubic-bezier(0.22, 1, 0.36, 1);}:is(.button.highlighted, .button.highlighted.green, .button.highlighted.primary, .button.highlighted.orange, .button.highlighted.blue, .cms-form .field-submit button, .cms-form[data-cms-form] .field-submit button):active {filter:brightness(0.96);transform:translateY(0);box-shadow:inset 0 2px 4px rgb(0 0 0 / 0.2),
        0 1px 2px rgb(var(--btnShadow) / 0.3);}:is(.button.highlighted, .button.highlighted.green, .button.highlighted.primary, .button.highlighted.orange, .button.highlighted.blue, .cms-form .field-submit button, .cms-form[data-cms-form] .field-submit button)[disabled] {filter:grayscale(1);opacity:0.6;transform:none;box-shadow:none;}.button.highlighted.primary {--btnTop: #15979a;--btnBottom: #0e6e6b;--btnShadow: 14 110 107;}.button.highlighted.blue {--btnTop: #2a8fc4;--btnBottom: #145f86;--btnShadow: 20 95 134;}:is(.button.highlighted.orange, .cms-form[data-cms-form='taxi'] .field-submit button, .cms-form[data-cms-form='quiz'] .field-submit button) {--btnTop: #d4641a;--btnBottom: #a8480b;--btnShadow: 168 72 11;}

    @media (prefers-reduced-motion: reduce) {:is(.button.highlighted, .button.highlighted.green, .button.highlighted.primary, .button.highlighted.orange, .button.highlighted.blue, .cms-form .field-submit button, .cms-form[data-cms-form] .field-submit button):hover {transform:none;transition:none;}
    }

    /* Кнопки-ссылки из старых текстов (.sell-button > a.sell-btn-item) — как кнопки темы, в ряд. */.in-o-buttons-inline {display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;margin:0 0 1.5em;}.in-o-buttons-inline > * {margin:0;}.sell-button {display:inline-flex;margin:0.5rem 0.5rem 0.5rem 0;}a.sell-btn-item,
    a.pageButton {display:inline-flex;align-items:center;gap:0.4em;min-height:var(--touch-min);padding:0.4em 1.2em;border:1px solid var(--primaryColor);border-radius:2em;color:var(--primaryDarkColor, var(--primaryColor));background:transparent;text-decoration:none;font-weight:600;letter-spacing:0.03em;text-shadow:none;transition:background-color 0.2s ease-out,
        color 0.2s ease-out;}a.sell-btn-item:hover,
    a.pageButton:hover {background:#13807c;color:var(--baseLight);}a.sell-btn-item img {height:1.2em;width:auto;}[data-theme='dark'] a.sell-btn-item,
    [data-theme='dark'] a.pageButton {color:var(--baseLight);}

    /* Найденное в выдаче поиска — акцентом темы, а не жёлтым браузера. */mark {background:color-mix(in srgb, var(--primaryColor) 22%, transparent);color:inherit;padding:0 0.1em;border-radius:0.15em;}

    /* дополнения сайта */
    /* Страница 404: крупная цифра из старого текста */article#contentRoot > section.pageContent h1.errorpage-heading,
    .pageContent h1.errorpage-heading {font-size:clamp(5rem, 3rem + 10vw, 11rem);line-height:1;letter-spacing:0.02em;font-weight:200;color:var(--primaryDarkColor);margin:0 0 0.25em;}[data-theme='dark'] .pageContent h1.errorpage-heading {color:var(--primaryColor);}

    /* дополнения сайта */
    /* Рамка картинки карточки товара: белая (снимки каталога — на белом), широкий баннер — крупнее, по центру. */.categoryItem .titleImageBox {display:block;overflow:hidden;aspect-ratio:4 / 3;background:#fff;}.categoryItem .titleImageBox img.titleImage {display:block;height:100%;background:transparent;transition:transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);}

    /* Баннер 1000×300: памятник в центральных ~400 px — заполняем рамку, серых полос нет. */.categoryItem .titleImageBox:is(.wide, .landscape) img.titleImage {object-fit:cover;}.categoryItem:hover .titleImageBox img.titleImage {transform:scale(1.04);}


    /* дополнения сайта */