/* Dark refresh, scoped to the public CMS shell. Legacy CSS loads first. */
body.mp-theme {
  color-scheme: dark;
  --mp-paper: #171918;
  --mp-surface: #242724;
  --mp-sidebar: #202320;
  --mp-ink: #eeeae2;
  --mp-muted: #b9b6ae;
  --mp-line: #393d37;
  --mp-accent: #d3a17a;
  --mp-accent-wash: #302b25;
  --mp-ornament: #ede0ce;
  --mp-font-sans: "Golos Text", Arial, sans-serif;
  --mp-font-serif: Lora, Georgia, serif;
  margin: 0;
  padding: 0;
  background: var(--mp-paper);
  color: var(--mp-ink);
  font: 14px/1.55 var(--mp-font-sans);
  -webkit-font-smoothing: antialiased;
}
body.mp-theme #entry_page { text-align: left; }
body.mp-theme a { color: var(--mp-accent); text-underline-offset: 3px; }
body.mp-theme a:hover { color: var(--mp-ink); }
body.mp-theme :focus-visible { outline: 2px solid var(--mp-accent); outline-offset: 4px; }
body.mp-theme .mp-skip { position: fixed; top: 8px; left: 8px; z-index: 150; padding: 10px 16px; background: var(--mp-surface); transform: translateY(-160%); }
body.mp-theme .mp-skip:focus { transform: none; }
body.mp-theme #hdr { position: relative; isolation: isolate; height: 94px; background: none; border-bottom: 1px solid var(--mp-line); box-sizing: border-box; }
body.mp-theme #hdr::before {
  content: ""; position: absolute; top: 0; right: 0; left: 0; height: 86px; pointer-events: none;
  background: var(--mp-ornament);
  mask: url("../assets/decor/hdr_bg.gif") center top / 1096px 94px no-repeat;
  mask-mode: luminance;
}
body.mp-theme #hdr .c { position: relative; z-index: 1; width: 925px; height: 94px; margin: 0 auto; }
body.mp-theme #logo { position: absolute; top: 15px; left: 67px; display: block; margin: 0; text-decoration: none; }
body.mp-theme #logo .mp-brand { display: block; color: var(--mp-accent); font: 400 26px/1.2 var(--mp-font-serif); letter-spacing: -0.7px; white-space: nowrap; }
body.mp-theme #logo .mp-tagline { display: block; margin-top: 2px; color: var(--mp-muted); font: 10px/1.55 var(--mp-font-sans); letter-spacing: 0.2px; }
body.mp-theme #phone { position: absolute; right: 4px; bottom: 55px; display: flex; flex-wrap: wrap; gap: 5px; align-items: baseline; color: var(--mp-muted); font: 500 14px/1.3 var(--mp-font-sans); }
body.mp-theme #phone a { color: var(--mp-ink); text-decoration: none; white-space: nowrap; }
body.mp-theme #phone a:hover { color: var(--mp-accent); }
body.mp-theme #lang { bottom: 19px; left: 600px; color: var(--mp-line); font: 12px/1.4 var(--mp-font-sans); }
body.mp-theme #lang a { color: var(--mp-muted); padding: 6px 3px; }
body.mp-theme #nav { position: absolute; right: 2px; bottom: 15px; display: flex; }
body.mp-theme #nav a { float: none; display: grid; place-items: center; width: 36px; height: 30px; padding: 0; border: 0; color: var(--mp-muted); }
body.mp-theme #nav a + a { border-left: 1px solid var(--mp-line); }
body.mp-theme #nav a:hover { color: var(--mp-accent); }
body.mp-theme #nav svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
body.mp-theme #body { width: 925px; margin: 0 auto; padding: 16px 0 20px; }
body.mp-theme #body::after { content: ""; display: block; clear: both; }
body.mp-theme #mod111 { width: 251px; overflow: visible; }
body.mp-theme #mod112 { width: 632px; margin-left: 291px; min-width: 0; overflow-wrap: break-word; }
body.mp-theme #mod2 { width: 100%; border-spacing: 0; font: inherit; table-layout: fixed; }
body.mp-theme #mod211 { width: 99%; vertical-align: top; }
body.mp-theme #contact_block { height: 35px; margin-bottom: 25px; padding: 0; border: 0; border-radius: 0; }
body.mp-theme #caption_left_form { display: block; box-sizing: border-box; width: 100%; height: 35px; padding: 0 12px; border: 1px solid var(--mp-line); border-radius: 18px; color: var(--mp-accent); background: transparent; font: 500 11px/1.2 var(--mp-font-sans); text-decoration: none; text-transform: uppercase; cursor: pointer; }
body.mp-theme #caption_left_form:hover { border-color: var(--mp-accent); background: var(--mp-accent-wash); }
body.mp-theme #menu { background: var(--mp-sidebar); border-radius: 10px 10px 0 0; }
body.mp-theme #menu .c { padding: 10px 16px 24px; background: none; }
body.mp-theme #menu a { display: flex; align-items: center; box-sizing: border-box; height: 46px; padding: 0 8px; border-bottom: 1px solid var(--mp-line); color: var(--mp-ink); font: 500 13px/1.5 var(--mp-font-sans); }
body.mp-theme #menu a:hover, body.mp-theme #menu a.s { color: var(--mp-accent); }
body.mp-theme #menu a:last-child { border-bottom: 0; }
body.mp-theme #mod111 #exhib_news, body.mp-theme #body > #exhib_news { padding: 19px 24px 28px; border-top: 1px solid var(--mp-line); border-radius: 0 0 10px 10px; color: var(--mp-muted); background: var(--mp-sidebar); }
body.mp-theme #exhib_news h2 { margin: 0 0 23px; padding: 0; color: var(--mp-ink); font: 400 25px/1.2 var(--mp-font-serif); }
body.mp-theme #exhib_news > a { display: block; padding: 0 0 18px; color: var(--mp-muted); font-size: 12px; line-height: 1.65; text-decoration: none; }
body.mp-theme #exhib_news > a:last-child { padding-bottom: 0; }
body.mp-theme #exhib_news a:hover { color: var(--mp-ink); }
body.mp-theme #exhib_news a .date { display: block; margin-bottom: 4px; color: var(--mp-accent); font-size: 11px; font-weight: 500; }
body.mp-theme #genSkypeCall_01:empty { display: none; }
body.mp-theme #mod112 h1, body.mp-theme #mod112 h2, body.mp-theme #mod112 h3 { color: var(--mp-ink); font-family: var(--mp-font-serif); font-weight: 400; }
body.mp-theme #mod112 h1 { padding: 0; margin: 0 0 24px; font-size: 28px; line-height: 1.3; }
body.mp-theme #mod112 h2 { padding: 0; margin: 26px 0 18px; font-size: 25px; line-height: 1.45; }
body.mp-theme #mod112 h3 { margin: 24px 0 12px; font-size: 21px; }
body.mp-theme #mod112 p { line-height: 1.75; }
body.mp-theme #mod112 img { max-width: 100%; height: auto; }
body.mp-theme .mp-cms-text { clear: both; }
body.mp-theme .mp-cms-text table { max-width: 100%; font: inherit; }
body.mp-theme .mp-cms-text td { overflow-wrap: anywhere; }
body.mp-theme .mp-cms-text font { color: inherit; font-family: inherit; }
body.mp-theme .mp-cms-text iframe { display: block; box-sizing: border-box; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
body.mp-theme .mp-cms-text object, body.mp-theme .mp-cms-text embed { box-sizing: border-box; max-width: 100%; }
body.mp-theme .mp-cms-text object[type="application/x-shockwave-flash"], body.mp-theme .mp-cms-text embed[type="application/x-shockwave-flash"] { display: none; }
body.mp-theme .mp-archive-media { padding: 16px; border: 1px solid var(--mp-line); border-radius: 6px; color: var(--mp-muted); background: var(--mp-surface); font-size: 13px; }
body.mp-theme #mod112 .c1 { font: inherit; }
body.mp-theme #ftr { box-sizing: border-box; width: 925px; margin: 0 auto; padding: 23px 0 36px; border-top: 1px solid var(--mp-line); color: var(--mp-muted); background: none; font-size: 12px; }
body.mp-theme #ftr a { color: var(--mp-muted); }
body.mp-theme #ftr a:hover { color: var(--mp-accent); }
body.mp-theme .pages { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; }
body.mp-theme .pages a, body.mp-theme .pages .s { padding: 6px 10px; border: 1px solid var(--mp-line); border-radius: 4px; background: var(--mp-surface); }
body.mp-theme #clback { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); box-sizing: border-box; width: min(440px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 30px; border: 1px solid var(--mp-line); border-radius: 12px; color: var(--mp-ink); background: var(--mp-surface); box-shadow: 0 12px 48px #0006; text-align: left; }
body.mp-theme #clback h2 { margin: 0 26px 20px 0; padding: 0; font: 400 26px/1.3 var(--mp-font-serif); }
body.mp-theme #closebtn_clback { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 34px; height: 34px; margin: 0; padding: 0; border: 0; background: transparent; color: var(--mp-muted); font-size: 26px; cursor: pointer; }
body.mp-theme #clbackform { display: grid; gap: 8px; width: auto; margin: 0; }
body.mp-theme #clbackform label { display: block; width: auto; font-size: 12px; }
body.mp-theme #clbackform input[type="text"] { width: 100%; height: 44px; margin: 0 0 10px; }
body.mp-theme #clbackform input[type="submit"] { width: 100%; min-height: 44px; margin: 4px 0 0; }
body.mp-theme #clbackform input, body.mp-theme .mp-mailform input, body.mp-theme .mp-mailform textarea, body.mp-theme .mp-mailform select, body.mp-theme #new_search input, body.mp-theme #mod112 .callbackform input, body.mp-theme #mod112 .callbackform textarea { box-sizing: border-box; max-width: 100%; padding: 10px 12px; border: 1px solid var(--mp-line); border-radius: 6px; color: var(--mp-ink); background: var(--mp-paper); font: inherit; }
body.mp-theme #clbackform .button, body.mp-theme .mp-mailform .button, body.mp-theme #new_search input[type="submit"] { min-height: 44px; color: var(--mp-ink); background: var(--mp-accent-wash); border: 1px solid var(--mp-accent); cursor: pointer; }
body.mp-theme #mail_message_box_float { box-sizing: border-box; width: auto; margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid var(--mp-line); color: var(--mp-ink); font-size: 13px; }
body.mp-theme .mess_ok, body.mp-theme .mess_err { position: static; box-sizing: border-box; width: auto; height: auto; padding: 12px; color: var(--mp-ink); background: var(--mp-accent-wash); }
body.mp-theme .inner_border { margin: 0; padding: 0; border: 0; }
body.mp-theme .fail_message, body.mp-theme .mess_err .err { color: #efa79c; }
body.mp-theme .ok_message { color: var(--mp-accent); }
body.mp-theme .mp-mailform .form { width: 100%; font: inherit; }
body.mp-theme .mp-mailform .form td { padding: 0 12px 16px 0; }
body.mp-theme .mp-mailform textarea { min-height: 160px; resize: vertical; }
body.mp-theme .mp-mailform label { display: inline-block; padding-top: 8px; }
body.mp-theme .mp-form-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
body.mp-theme #new_search { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 26px; }
body.mp-theme #new_search .input { flex: 1; width: auto; min-width: 140px; }
body.mp-theme #search_results_list { width: 100%; font: inherit; }
body.mp-theme #search_results_list td { padding: 16px 10px 16px 0; border-bottom: 1px solid var(--mp-line); }
body.mp-theme #search_results_list .small { display: block; margin-top: 6px; color: var(--mp-muted); font-size: 12px; }
body.mp-theme #faq .form input, body.mp-theme #faq .form textarea { box-sizing: border-box; max-width: 100%; padding: 10px 12px; border: 1px solid var(--mp-line); border-radius: 6px; color: var(--mp-ink); background: var(--mp-paper); font: inherit; }
body.mp-theme #faq .form .button { min-height: 44px; background: var(--mp-accent-wash); cursor: pointer; }
body.mp-theme #shadow { height: 100% !important; background: #000b; }
@media (max-width: 959px) {
  body.mp-theme #hdr { height: auto; }
  body.mp-theme #hdr::before { left: auto; width: 260px; mask-position: -404px top; opacity: 0.8; }
  body.mp-theme #hdr .c { display: grid; grid-template-columns: 1fr auto; gap: 16px; width: auto; height: auto; margin: 0 24px; padding: 24px 0 20px; }
  body.mp-theme #logo, body.mp-theme #phone, body.mp-theme #lang, body.mp-theme #nav { position: static; }
  body.mp-theme #logo, body.mp-theme #phone { grid-column: 1 / -1; }
  body.mp-theme #phone { font-size: 13px; }
  body.mp-theme #lang { align-self: center; }
  body.mp-theme #nav { justify-self: end; }
  body.mp-theme #body { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "callback" "menu" "content" "exhibitions"; gap: 20px; width: auto; margin: 0 24px; padding: 16px 0 32px; }
  body.mp-theme #body::after, body.mp-theme #body > br, body.mp-theme #mod111 > br { display: none; }
  body.mp-theme #mod111, body.mp-theme #mod111 > noindex { display: contents; }
  body.mp-theme #contact_block { grid-area: callback; height: auto; margin: 0; }
  body.mp-theme #caption_left_form { height: 44px; border-radius: 8px; font-size: 12px; }
  body.mp-theme #menu { grid-area: menu; border-radius: 8px; }
  body.mp-theme #menu .c { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; padding: 8px 16px; }
  body.mp-theme #menu a { height: auto; min-height: 46px; padding: 10px 0; }
  body.mp-theme #menu a:nth-last-child(-n+2) { border-bottom: 0; }
  body.mp-theme #mod112 { grid-area: content; width: 100%; min-width: 0; margin-left: 0; }
  body.mp-theme #body > #exhib_news { grid-area: exhibitions; padding: 24px; border: 1px solid var(--mp-line); border-radius: 8px; }
  body.mp-theme #exhib_news > a { font-size: 13px; }
  body.mp-theme #ftr { width: auto; margin: 0 24px; }
  body.mp-theme .mp-cms-text table { width: 100% !important; table-layout: fixed; }
  body.mp-theme .mp-cms-text td { width: auto !important; }
  body.mp-theme #mod112 table:has(.sitemapa) { width: 100%; max-width: 100%; table-layout: fixed; }
  body.mp-theme #mod112 table:has(.sitemapa) td, body.mp-theme #mod112 .sitemapa { white-space: normal; overflow-wrap: anywhere; }
}
@media (max-width: 479px) {
  body.mp-theme #hdr::before { width: 190px; mask-position: -448px top; opacity: 0.55; }
  body.mp-theme #hdr .c { margin: 0 20px; gap: 14px; }
  body.mp-theme #logo .mp-brand { font-size: clamp(19px, 6.4vw, 26px); }
  body.mp-theme #logo .mp-tagline { font-size: 9px; }
  body.mp-theme #phone { font-size: 11px; gap: 4px; }
  body.mp-theme #body, body.mp-theme #ftr { margin-right: 20px; margin-left: 20px; }
  body.mp-theme #menu .c { column-gap: 14px; }
  body.mp-theme #menu a { font-size: 12px; }
  body.mp-theme #clback { padding: 26px 20px; }
  body.mp-theme .mp-mailform .form, body.mp-theme .mp-mailform .form tbody, body.mp-theme .mp-mailform .form tr, body.mp-theme .mp-mailform .form td { display: block; width: 100%; box-sizing: border-box; }
  body.mp-theme .mp-mailform .form td { padding-right: 0; padding-bottom: 8px; }
  body.mp-theme .mp-mailform .input, body.mp-theme .mp-mailform textarea, body.mp-theme .mp-mailform select { width: 100%; }
  body.mp-theme #faq table.form, body.mp-theme #faq table.form tbody, body.mp-theme #faq table.form tr, body.mp-theme #faq table.form td { display: block; width: 100%; max-width: 100%; box-sizing: border-box; }
  body.mp-theme #faq table.form td { padding: 0 0 8px; }
  body.mp-theme #faq table.form .input, body.mp-theme #faq table.form textarea { width: 100%; }
}
