@charset "UTF-8";
/* Цвета */
.bg-primary {
  background-color: #0d6efd !important;
}

.bg-secondary {
  background-color: #6c757d !important;
}

.bg-success {
  background-color: #198754 !important;
}

.bg-danger {
  background-color: #dc3545 !important;
}

.bg-warning {
  background-color: #ffc107 !important;
}

.bg-info {
  background-color: #17a2b8 !important;
}

.bg-light {
  background-color: #f8f9fa !important;
}

.bg-dark {
  background-color: #212529 !important;
}

.bg-white {
  background-color: #fff !important;
}

.bg-transparent {
  background-color: transparent !important;
}

/* Это из bootstrap */
.text-primary {
  color: #0d6efd !important;
}

.text-secondary {
  color: #6c757d !important;
}

.text-success {
  color: #198754 !important;
}

.text-danger {
  color: #dc3545 !important;
}

.text-warning {
  color: #ffc107 !important;
}

.text-info {
  color: #17a2b8 !important;
}

.text-light {
  color: #f8f9fa !important;
}

.text-dark {
  color: #212529 !important;
}

.text-white {
  color: #fff !important;
}

.text-muted {
  color: #6c757d !important;
}

/* SCSS-переменные */
/* Генерация :root с CSS-переменными */
:root {
  --red: #d00000;
  --yellow: #ffd60a;
  --green: #008000;
  --blue: #0000ff;
  --gray-100: rgb(243.1974248927, 244.0472103004, 244.8025751073);
  --gray-200: rgb(215.8369098712, 218.6566523605, 221.1630901288);
  --gray-300: rgb(188.4763948498, 193.2660944206, 197.5236051502);
  --gray-400: rgb(161.1158798283, 167.8755364807, 173.8841201717);
  --gray-500: rgb(133.7553648069, 142.4849785408, 150.2446351931);
  --gray-600: #6c757d;
  --gray-700: rgb(84.3605150215, 91.3905579399, 97.6394849785);
  --gray-800: rgb(60.7210300429, 65.7811158798, 70.2789699571);
  --gray-900: rgb(37.0815450644, 40.1716738197, 42.9184549356);
  --black: hsl(208.2352941176, 7.2961373391%, -4.3137254902%);
}

/* Генерация :root с CSS-переменными */
:root {
  --base-red: #d00000;
  --base-yellow: #ffd60a;
  --base-green: #008000;
  --base-blue: #0000ff;
  --base-black: hsl(208.2352941176, 7.2961373391%, -4.3137254902%);
  --gray-100: rgb(243.1974248927, 244.0472103004, 244.8025751073);
  --gray-200: rgb(215.8369098712, 218.6566523605, 221.1630901288);
  --gray-300: rgb(188.4763948498, 193.2660944206, 197.5236051502);
  --gray-400: rgb(161.1158798283, 167.8755364807, 173.8841201717);
  --gray-500: rgb(133.7553648069, 142.4849785408, 150.2446351931);
  --gray-600: #6c757d;
  --gray-700: rgb(84.3605150215, 91.3905579399, 97.6394849785);
  --gray-800: rgb(60.7210300429, 65.7811158798, 70.2789699571);
  --gray-900: rgb(37.0815450644, 40.1716738197, 42.9184549356);
}

/* Градации серого */
/* Общие настройки */
/* Другие переменные */
/* Генерация :root с CSS-переменными */
:root {
  --font-default: "Open Sans", Arial, serif;
  --font-roboto: "Roboto", Arial, sans-serif;
  --font-pt-sans: "PT Sans Regular", Arial, sans-serif;
  --font-oswald: "Oswald", Arial, sans-serif;
  --font-open-sans: "Open Sans", Arial, serif;
  --font-futurabook: "FuturaBookC", Arial, sans-serif;
  --font-sofia-sans-condensed: "Sofia Sans Condensed", Arial, serif;
  --font-sans-serif: system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Noto Sans, Liberation Sans, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  --font-monospace: ui-monospace, Menlo, Monaco, Cascadia Mono, Segoe UI Mono, Roboto Mono, Oxygen Mono, Ubuntu Monospace, Source Code Pro, Fira Mono, Droid Sans Mono, Courier New, monospace, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  --font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

:root {
  --bg-color: var(--gray-100);
  --text-color: var(--gray-900);
  --link-color: #007bff;
  --link-hover-color: var(--main-orange-color);
  --link-active-color: var(--main-orange-color);
  --main-border-width: 1px;
  --main-border-style: solid;
  --main-border-color: var(--gray-200);
  --main-font-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
  /*
  #1a94d1 = rgb(26, 148, 209) = rgba(26, 148, 209, 1)
  */
  --main-blue-color-h: 200;
  --main-blue-color-s: 78%;
  --main-blue-color-l: 46%;
  --main-blue-color-hsl: var(--main-blue-color-h), var(--main-blue-color-s), var(--main-blue-color-l);
  --main-blue-color: hsl(var(--main-blue-color-hsl));
  --main-blue-color-10: hsla(var(--main-blue-color-hsl), .1);
  --main-blue-color-20: hsla(var(--main-blue-color-hsl), .2);
  --main-blue-color-30: hsla(var(--main-blue-color-hsl), .3);
  --main-blue-color-40: hsla(var(--main-blue-color-hsl), .4);
  --main-blue-color-50: hsla(var(--main-blue-color-hsl), .5);
  --main-blue-color-60: hsla(var(--main-blue-color-hsl), .6);
  --main-blue-color-70: hsla(var(--main-blue-color-hsl), .7);
  --main-blue-color-80: hsla(var(--main-blue-color-hsl), .8);
  --main-blue-color-90: hsla(var(--main-blue-color-hsl), .9);
  --main-blue-color-warm: hsl(calc(var(--main-blue-color-h) + 80), var(--main-blue-color-s), var(--main-blue-color-l));
  --main-blue-color-cold: hsl(calc(var(--main-blue-color-h) - 80), var(--main-blue-color-s), var(--main-blue-color-l));
  --main-blue-color-low: hsl(var(--main-blue-color-h), calc(var(--main-blue-color-s) / 2), var(--main-blue-color-l));
  --main-blue-color-lowest: hsl(var(--main-blue-color-h), calc(var(--main-blue-color-s) / 4), var(--main-blue-color-l));
  --main-blue-color-light: hsl(var(--main-blue-color-h), var(--main-blue-color-s), calc(var(--main-blue-color-l) / .9));
  --main-blue-color-dark: hsl(var(--main-blue-color-h), var(--main-blue-color-s), calc(var(--main-blue-color-l) * .9));
  --main-code-color: #6f42c1;
  --main-light-blue-color: #49b4e9;
  --main-orange-color: #ff4001;
  --main-red-color: #d00000;
  --main-gray-color: #44494b;
  --main-light-gray-color: #f0f0f1;
  --main-yellow-color: #f5d006;
  --main-green-color: #00a32a;
  --main-light-green-color: #81d742;
  --main-purple-color: #6f42c1;
  --table-striped-bg: #f9f9f9;
}

.m-0 {
  margin: 0rem !important;
}

.p-0 {
  padding: 0rem !important;
}

.fs-1 {
  font-size: 1.5rem;
}

.mt-0 {
  margin-top: 0rem !important;
}

.mb-0 {
  margin-bottom: 0rem !important;
}

.ml-0 {
  margin-left: 0rem !important;
}

.mr-0 {
  margin-right: 0rem !important;
}

.mx-0 {
  margin-left: 0rem !important;
  margin-right: 0rem !important;
}

.my-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.pt-0 {
  padding-top: 0rem !important;
}

.pb-0 {
  padding-bottom: 0rem !important;
}

.pl-0 {
  padding-left: 0rem !important;
}

.pr-0 {
  padding-right: 0rem !important;
}

.px-0 {
  padding-left: 0rem !important;
  padding-right: 0rem !important;
}

.py-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.fs-2 {
  font-size: 1.35rem;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1 {
  margin-left: 0.25rem !important;
}

.mr-1 {
  margin-right: 0.25rem !important;
}

.mx-1 {
  margin-left: 0.25rem !important;
  margin-right: 0.25rem !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1 {
  padding-left: 0.25rem !important;
}

.pr-1 {
  padding-right: 0.25rem !important;
}

.px-1 {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.fs-3 {
  font-size: 1.2rem;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2 {
  margin-left: 0.5rem !important;
}

.mr-2 {
  margin-right: 0.5rem !important;
}

.mx-2 {
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2 {
  padding-left: 0.5rem !important;
}

.pr-2 {
  padding-right: 0.5rem !important;
}

.px-2 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.m-3 {
  margin: 0.75rem !important;
}

.p-3 {
  padding: 0.75rem !important;
}

.fs-4 {
  font-size: 1.05rem;
}

.mt-3 {
  margin-top: 0.75rem !important;
}

.mb-3 {
  margin-bottom: 0.75rem !important;
}

.ml-3 {
  margin-left: 0.75rem !important;
}

.mr-3 {
  margin-right: 0.75rem !important;
}

.mx-3 {
  margin-left: 0.75rem !important;
  margin-right: 0.75rem !important;
}

.my-3 {
  margin-top: 0.75rem !important;
  margin-bottom: 0.75rem !important;
}

.pt-3 {
  padding-top: 0.75rem !important;
}

.pb-3 {
  padding-bottom: 0.75rem !important;
}

.pl-3 {
  padding-left: 0.75rem !important;
}

.pr-3 {
  padding-right: 0.75rem !important;
}

.px-3 {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}

.py-3 {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

.m-4 {
  margin: 1rem !important;
}

.p-4 {
  padding: 1rem !important;
}

.fs-5 {
  font-size: 0.9rem;
}

.mt-4 {
  margin-top: 1rem !important;
}

.mb-4 {
  margin-bottom: 1rem !important;
}

.ml-4 {
  margin-left: 1rem !important;
}

.mr-4 {
  margin-right: 1rem !important;
}

.mx-4 {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.my-4 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.pt-4 {
  padding-top: 1rem !important;
}

.pb-4 {
  padding-bottom: 1rem !important;
}

.pl-4 {
  padding-left: 1rem !important;
}

.pr-4 {
  padding-right: 1rem !important;
}

.px-4 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.py-4 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.m-5 {
  margin: 1.25rem !important;
}

.p-5 {
  padding: 1.25rem !important;
}

.fs-6 {
  font-size: 0.75rem;
}

.mt-5 {
  margin-top: 1.25rem !important;
}

.mb-5 {
  margin-bottom: 1.25rem !important;
}

.ml-5 {
  margin-left: 1.25rem !important;
}

.mr-5 {
  margin-right: 1.25rem !important;
}

.mx-5 {
  margin-left: 1.25rem !important;
  margin-right: 1.25rem !important;
}

.my-5 {
  margin-top: 1.25rem !important;
  margin-bottom: 1.25rem !important;
}

.pt-5 {
  padding-top: 1.25rem !important;
}

.pb-5 {
  padding-bottom: 1.25rem !important;
}

.pl-5 {
  padding-left: 1.25rem !important;
}

.pr-5 {
  padding-right: 1.25rem !important;
}

.px-5 {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

.py-5 {
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
}

.box {
  border: 1px solid var(--gray-300, #dee2e6);
  border-radius: 4px;
  background-color: #fff;
  padding: 1rem;
  margin-bottom: 1rem;
}

.box-primary {
  border-color: #0d6efd;
  background-color: rgb(230.8, 240.5, 254.8);
  color: rgb(0.9262295082, 45.8483606557, 112.0737704918);
}

.box-secondary {
  border-color: #6c757d;
  background-color: rgb(240.3, 241.2, 242);
  color: rgb(37.0815450644, 40.1716738197, 42.9184549356);
}

.box-success {
  border-color: #198754;
  background-color: rgb(232, 243, 237.9);
  color: rgb(1.09375, 5.90625, 3.675);
}

.box-info {
  border-color: #17a2b8;
  background-color: rgb(231.8, 245.7, 247.9);
  color: rgb(6, 42.2608695652, 48);
}

.box-warning {
  border-color: #ffc107;
  background-color: rgb(255, 248.8, 230.2);
  color: rgb(109, 81.75, 0);
}

.box-danger {
  border-color: #dc3545;
  background-color: rgb(251.5, 234.8, 236.4);
  color: rgb(102.2784810127, 17.7215189873, 25.8227848101);
}

.box-light {
  border-color: #f8f9fa;
  background-color: rgb(254.3, 254.4, 254.5);
  color: rgb(158.75, 172.5, 186.25);
}

.box-dark {
  border-color: #212529;
  background-color: rgb(232.8, 233.2, 233.6);
  color: hsl(210, 10.8108108108%, -15.4901960784%);
}

.box-purple {
  border-color: #6f42c1;
  background-color: rgb(240.6, 236.1, 248.8);
  color: rgb(45.187250996, 26.1832669323, 79.8167330677);
}

.box-pink {
  border-color: #e83e8c;
  background-color: rgb(252.7, 235.7, 243.5);
  color: rgb(125.9861111111, 15.0138888889, 65.9305555556);
}

.box-teal {
  border-color: #20c997;
  background-color: rgb(232.7, 249.6, 244.6);
  color: rgb(10.9871244635, 69.0128755365, 51.8454935622);
}

.box-orange {
  border-color: #fd7e14;
  background-color: rgb(254.8, 242.1, 231.5);
  color: rgb(118.9873417722, 54.6835443038, 1.0126582278);
}

.btn-outline-primary {
  color: #0d6efd;
  border: 1px solid;
  border-color: #0d6efd;
  background-color: transparent;
  background: transparent;
}
.btn-outline-primary:hover, .btn-outline-primary:focus {
  background-color: #0d6efd;
  color: #fff;
}

.btn-outline-secondary {
  color: #6c757d;
  border: 1px solid;
  border-color: #6c757d;
  background-color: transparent;
  background: transparent;
}
.btn-outline-secondary:hover, .btn-outline-secondary:focus {
  background-color: #6c757d;
  color: #fff;
}

.btn-outline-success {
  color: #198754;
  border: 1px solid;
  border-color: #198754;
  background-color: transparent;
  background: transparent;
}
.btn-outline-success:hover, .btn-outline-success:focus {
  background-color: #198754;
  color: #fff;
}

.btn-outline-info {
  color: #17a2b8;
  border: 1px solid;
  border-color: #17a2b8;
  background-color: transparent;
  background: transparent;
}
.btn-outline-info:hover, .btn-outline-info:focus {
  background-color: #17a2b8;
  color: #fff;
}

.btn-outline-warning {
  color: #ffc107;
  border: 1px solid;
  border-color: #ffc107;
  background-color: transparent;
  background: transparent;
}
.btn-outline-warning:hover, .btn-outline-warning:focus {
  background-color: #ffc107;
  color: #fff;
}

.btn-outline-danger {
  color: #dc3545;
  border: 1px solid;
  border-color: #dc3545;
  background-color: transparent;
  background: transparent;
}
.btn-outline-danger:hover, .btn-outline-danger:focus {
  background-color: #dc3545;
  color: #fff;
}

.btn-outline-light {
  color: rgb(84.3605150215, 91.3905579399, 97.6394849785);
  border: 1px solid;
  border-color: rgb(188.4763948498, 193.2660944206, 197.5236051502);
  background-color: transparent;
  background: transparent;
}
.btn-outline-light:hover, .btn-outline-light:focus {
  background-color: rgb(188.4763948498, 193.2660944206, 197.5236051502);
  color: #000;
}

.btn-outline-dark {
  color: #212529;
  border: 1px solid;
  border-color: #212529;
  background-color: transparent;
  background: transparent;
}
.btn-outline-dark:hover, .btn-outline-dark:focus {
  background-color: #212529;
  color: #fff;
}

.btn-outline-purple {
  color: #6f42c1;
  border: 1px solid;
  border-color: #6f42c1;
  background-color: transparent;
  background: transparent;
}
.btn-outline-purple:hover, .btn-outline-purple:focus {
  background-color: #6f42c1;
  color: #fff;
}

.btn-outline-pink {
  color: #e83e8c;
  border: 1px solid;
  border-color: #e83e8c;
  background-color: transparent;
  background: transparent;
}
.btn-outline-pink:hover, .btn-outline-pink:focus {
  background-color: #e83e8c;
  color: #fff;
}

.btn-outline-teal {
  color: #20c997;
  border: 1px solid;
  border-color: #20c997;
  background-color: transparent;
  background: transparent;
}
.btn-outline-teal:hover, .btn-outline-teal:focus {
  background-color: #20c997;
  color: #fff;
}

.btn-outline-orange {
  color: #fd7e14;
  border: 1px solid;
  border-color: #fd7e14;
  background-color: transparent;
  background: transparent;
}
.btn-outline-orange:hover, .btn-outline-orange:focus {
  background-color: #fd7e14;
  color: #fff;
}

.alert {
  padding: 1rem;
  border-radius: 4px;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  font-size: 1rem;
}

.alert i {
  margin-right: 0.5rem;
  vertical-align: middle;
}

.alert-primary {
  background-color: rgb(218.7, 233.25, 254.7);
  border-color: rgb(182.4, 211.5, 254.4);
  color: #0d6efd;
}

.alert-secondary {
  background-color: rgb(232.95, 234.3, 235.5);
  border-color: rgb(210.9, 213.6, 216);
  color: #6c757d;
}

.alert-success {
  background-color: rgb(220.5, 237, 229.35);
  border-color: rgb(186, 219, 203.7);
  color: #198754;
}

.alert-info {
  background-color: rgb(220.2, 241.05, 244.35);
  border-color: rgb(185.4, 227.1, 233.7);
  color: #17a2b8;
}

.alert-warning {
  background-color: rgb(255, 245.7, 217.8);
  border-color: rgb(255, 236.4, 180.6);
  color: rgb(84.3605150215, 91.3905579399, 97.6394849785);
}

.alert-danger {
  background-color: rgb(249.75, 224.7, 227.1);
  border-color: rgb(244.5, 194.4, 199.2);
  color: #dc3545;
}

.alert-light {
  background-color: rgb(253.95, 254.1, 254.25);
  border-color: rgb(252.9, 253.2, 253.5);
  color: #f8f9fa;
}

.alert-dark {
  background-color: rgb(221.7, 222.3, 222.9);
  border-color: rgb(188.4, 189.6, 190.8);
  color: #212529;
}

.alert-purple {
  background-color: rgb(233.4, 226.65, 245.7);
  border-color: rgb(211.8, 198.3, 236.4);
  color: #6f42c1;
}

.alert-pink {
  background-color: rgb(251.55, 226.05, 237.75);
  border-color: rgb(248.1, 197.1, 220.5);
  color: #e83e8c;
}

.alert-teal {
  background-color: rgb(221.55, 246.9, 239.4);
  border-color: rgb(188.1, 238.8, 223.8);
  color: #20c997;
}

.alert-orange {
  background-color: rgb(254.7, 235.65, 219.75);
  border-color: rgb(254.4, 216.3, 184.5);
  color: #fd7e14;
}

.bold {
  font-weight: bold;
}

.italic {
  font-style: italic !important;
}

.normal {
  font-style: normal !important;
  font-weight: normal;
}

.orange {
  color: var(--main-orange-color);
}

.red {
  color: #d00000;
}

.green {
  color: var(--main-green-color);
}

.black {
  color: var(--black);
}

.white {
  color: #fff;
}

.blue {
  color: var(--main-blue-color);
}

.yellow {
  color: var(--main-yellow-color);
}

.gray {
  color: var(--main-gray-color);
}

.purple {
  color: #6f42c1;
}

.pink {
  color: #e83e8c;
}

.center {
  text-align: center;
}

.aligncenter {
  display: block;
  margin: 15px auto;
  clear: both;
}

img.center {
  display: block; /* Обязательно, иначе `margin: auto` не работает */
  margin: 15px auto;
  max-width: 70%;
  height: auto;
  clear: both;
}

.monospace {
  font-family: var(--font-monospace);
}

.small, small {
  font-size: 0.875em;
  opacity: 0.85;
}

.mini {
  font-family: var(--font-pt-sans);
  font-size: 0.75em;
  opacity: 0.85;
  line-height: 1;
}

.border {
  border: var(--main-border-width) var(--main-border-style) var(--main-border-color);
}

.frame {
  border: 1px solid #888;
  border-radius: 3px;
  padding: 0 5px;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}

code, kbd, pre, samp {
  font-family: var(--main-font-monospace);
  font-size: 1em;
}

code {
  border: 1px solid #e1e1e8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 3px;
  padding: 0px 5px;
  font-size: 80%;
  background-color: #f9f2f4;
  word-wrap: break-word;
  color: var(--main-code-color);
}

.hide {
  display: none;
}

.spacer {
  border: 1px solid #ccc;
  height: 100px;
  background-color: #f9f9f9;
}

@media screen and (max-width: 575px) {
  div.spacer {
    height: 50px;
  }
}
/* Заголовки-главы */
/* Ссылки на “пергаменте” */
a {
  color: var(--abirim-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

a:hover {
  text-decoration-thickness: 2px;
}

/* Кнопка “печать” (простая) */
.btn-seal {
  display: inline-block;
  border: 1px solid rgba(42, 30, 22, 0.22);
  background: var(--abirim-parchment-2);
  color: var(--abirim-ink);
  border-radius: 999px;
  padding: 10px 14px;
  text-decoration: none;
}

.btn-seal:hover {
  border-color: rgba(140, 26, 34, 0.35);
}

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
  :root {
    --abirim-spine-w: 260px;
    --abirim-page-pad: 18px;
  }
}
@media (max-width: 760px) {
  /*
    .layout {
      grid-template-columns: 1fr;
    }

    .sidebar {
      position: relative;
      height: auto;
    }

    .content {
      box-shadow: none;
    }
  */
}
/* =========================================
	 ABIRIM — Book UI Theme (Spine + Parchment)
	 ========================================= */
:root {
  --sidebar-w: 300px;
  --gap: 24px;
  --border: rgba(0,0,0,.12);
  --bg: #ffffff;
  --bg-soft: rgba(0,0,0,.03);
  --text: #121212;
  --muted: rgba(0,0,0,.6);
  --radius: 12px;
  --main-yellow-color: #f5d006;
  /* Spine (корешок) */
  --abirim-spine: #5B0F16;
  --abirim-spine-deep: #3E0A10;
  /* Parchment (пергамент) */
  --abirim-parchment: #FFFFF9;
  --abirim-parchment-2: #FAF1DA;
  --abirim-parchment-line: #E2D3B4;
  /* Ink */
  --abirim-ink: #2A1E16;
  --abirim-ink-muted: #6B5A4A;
  /* Accents */
  --abirim-accent: #8C1A22;
  --abirim-gold: #B08D3B;
  --abirim-gold-light: #D2B45A;
  --abirim-gold-text: #7B601D;
  /* UI */
  --abirim-border: rgba(42, 30, 22, 0.18);
  --abirim-shadow: rgba(62, 10, 16, 0.28);
  /* Layout */
  --abirim-spine-w: 300px;
  --abirim-page-max: 980px;
  --abirim-page-pad: 24px;
  --abirim-radius: 12px;
  --font-decor: "Cormorant Infant", Georgia, serif;
  --font-serif: "Cormorant Infant", Georgia, serif;
  --font-hebrew: "Secular One", "Fredoka", Arial, sans-serif;
  --font-sans-serif: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Ссылка быстрого перехода становится видимой только при клавиатурном фокусе. */
.skip-link {
  position: fixed;
  inset-block-start: 10px;
  inset-inline-start: 10px;
  z-index: 1000;
  padding: 10px 14px;
  border: 2px solid var(--abirim-gold);
  border-radius: 6px;
  background: var(--abirim-spine-deep);
  color: #fff6c8;
  text-decoration: none;
  -webkit-transform: translateY(-160%);
          transform: translateY(-160%);
  -webkit-transition: -webkit-transform 0.15s ease;
  transition: -webkit-transform 0.15s ease;
  transition: transform 0.15s ease;
  transition: transform 0.15s ease, -webkit-transform 0.15s ease;
}

.skip-link:focus {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
iframe:focus-visible {
  outline: 3px solid var(--abirim-gold-text);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
  }
}
/* ---------- Mixins ---------- */
/* ---------- Base ---------- */
html, body {
  height: 100%;
  margin: 0;
  color: var(--text);
  background: var(--bg);
  font-family: var(--font-serif);
  font-family: var(--font-sans-serif);
}

html[lang=he] body {
  font-family: var(--font-hebrew);
}

body {
  background: var(--abirim-parchment);
  color: var(--abirim-ink);
  -webkit-margin-start: var(--sidebar-w);
          margin-inline-start: var(--sidebar-w);
  min-height: 100vh;
  overflow: auto;
  margin: 0;
}

/* Макет “книга”: слева корешок, справа страницы */
.layout {
  min-height: 100vh;
}

/**************************************************************************************************/
p {
  margin: 0 0 15px 0;
}

a {
  color: inherit;
  color: var(--abirim-accent);
}

a:hover {
  text-decoration: underline;
  color: var(--abirim-gold-text);
}

/* ---------- Pages / Main ---------- */
.content {
  background: var(--abirim-parchment);
  color: var(--abirim-ink);
  -webkit-margin-start: var(--sidebar-w);
          margin-inline-start: var(--sidebar-w);
  min-height: 100vh;
  overflow: auto;
  /* “сгиб переплёта”: тень от корешка на страницу */
  -webkit-box-shadow: 18px 0 28px var(--abirim-shadow);
          box-shadow: 18px 0 28px var(--abirim-shadow);
}

/* “Полоса текста” как на странице книги */
.page-wrap {
  max-width: var(--abirim-page-max);
  padding: 28px var(--abirim-page-pad);
  margin: 0 auto;
}
@media screen and (max-width: 575px) {
  .page-wrap {
    padding: 0;
  }
}

.content__header {
  padding-bottom: 16px;
  margin-bottom: 20px;
  margin: 0 0 10px;
  letter-spacing: 0.02em;
}

/* Заголовок страницы */
.chapter-title {
  font-family: var(--font-serif);
  font-variant: small-caps;
  font-size: 2.5rem;
  margin: 0 0 10px;
  letter-spacing: 0.02em;
}

/* Орнаментный разделитель между крупными блоками */
.chapter-rule {
  /* тонкий “орнаментный” разделитель без картинок */
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(var(--abirim-parchment-line)), to(transparent));
  background: linear-gradient(to right, transparent, var(--abirim-parchment-line), transparent);
  margin: 18px 0 22px;
}

/* Инициал (первая буква главы) */
.chapter-lead {
  margin: 0;
  color: var(--abirim-ink);
  line-height: 1.7;
}

.chapter-lead::first-letter {
  float: left;
  font-weight: 800;
  font-size: 3.2rem;
  line-height: 1;
  padding: 6px 10px 0 0;
  color: var(--abirim-accent);
}

/* Карточки (программа, блоки расписания, FAQ) */
.card {
  background: var(--abirim-parchment-2);
  border: 1px solid var(--abirim-border);
  border-radius: var(--abirim-radius);
  padding: 16px 16px;
}

.content__body {
  max-width: 980px;
  line-height: 1.6;
}

.content__body a:hover {
  color: var(--abirim-gold-text);
}

.content__footer {
  font-size: 0.8rem;
  color: #888;
  margin-top: 40px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

/* RTL-аккуратность (иврит) */
.is-rtl .content__body {
  direction: rtl;
}

.schedule {
  display: -ms-grid;
  display: grid;
  gap: 10px;
  margin: 14px 0 26px;
}

.schedule-item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 120px 14px 50px 14px 1fr;
  grid-template-columns: 120px 50px 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--bg);
}

.schedule-time {
  font-weight: 600;
  color: var(--muted);
  white-space: nowrap;
}

.schedule-title {
  font-weight: 700;
}

.schedule-desc {
  margin-top: 6px;
  color: var(--muted);
}

@media (max-width: 767px) {
  .schedule-item {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .schedule-time {
    color: var(--text);
  }
}
/* блок годов */
.program-years {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--bg);
}

.program-years__title {
  font-weight: 700;
  margin-bottom: 8px;
}

.program-years__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}

.program-years__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  text-decoration: none;
}

.program-years__link.is-active {
  background: var(--bg-soft);
  font-weight: 700;
}

/* БЛОК ФЕСТИВАЛЯ НА ГЛАВНОЙ */
.home-festival {
  margin: 0 0 18px;
  padding: 16px 16px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--bg-soft);
}

.home-festival__kicker {
  color: var(--muted);
  font-weight: 700;
  margin-bottom: 6px;
}

.home-festival__title {
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 10px;
}

.home-festival__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  color: var(--muted);
  margin-bottom: 12px;
}

.home-festival__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}

/* простые кнопки (если у тебя ещё нет) */
.btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid var(--border);
  text-decoration: none;
  font-weight: 700;
}

.btn:hover {
  text-decoration: none;
}

.btn-primary {
  background: var(--bg);
}

.btn-secondary {
  background: transparent;
}

/* НАВИГАЦИИ ПО ДНЯМ В ПРОГРАММЕ ФЕСТИВАЛЯ */
.days-nav {
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--bg);
}

.days-nav__title {
  font-weight: 800;
  margin-bottom: 8px;
}

.days-nav__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}

.days-nav__link {
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  text-decoration: none;
}

.days-nav__link:hover {
  background: var(--bg-soft);
  text-decoration: none;
}

.day-title {
  margin-top: 22px;
}

.activity-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 14px 1fr 14px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 12px 0 22px;
}

.activity-card {
  display: -ms-grid;
  display: grid;
  gap: 10px;
  text-decoration: none;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  background: var(--bg);
}

.activity-card__img picture,
.activity-row__img picture {
  display: block;
  width: 100%;
}

.activity-row__img picture {
  height: 100%;
}

.activity-card__img img,
.activity-hero img,
.activity-gallery__item img {
  width: 100%;
  height: auto;
  height: 195px;
  display: block;
  border-radius: 12px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.activity-gallery__item img {
  height: 120px;
  border: 1px solid #eee;
  border-radius: 5px;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  cursor: pointer;
}

.activity-card__placeholder {
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 12px;
  border: 1px dashed var(--border);
  background: var(--bg-soft);
}

.activity-card__title {
  font-weight: 800;
}

.activity-hero {
  margin: 0 0 14px;
}

.activity-gallery {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 10px 1fr 10px 1fr 10px 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 12px 0 22px;
}

.activity-gallery__item {
  display: block;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 6px;
  background: var(--bg);
}

@media (max-width: 767px) {
  .activity-grid {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
  .activity-gallery {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.activities-list {
  display: -ms-grid;
  display: grid;
  gap: 12px;
  margin: 12px 0 22px;
}

.activity-row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 180px 14px 1fr;
  grid-template-columns: 180px 1fr;
  gap: 14px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--bg);
  text-decoration: none;
}

.activity-row__img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

.activity-row__title {
  font-weight: 900;
  margin-bottom: 6px;
}

.activity-row__excerpt {
  color: var(--muted);
}

@media (max-width: 767px) {
  .activity-row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
/* Главная: карточки активностей работают как мозаика фотографий. */
.activity-card--home {
  overflow: hidden;
  padding: 0;
  border-color: rgba(91, 15, 22, 0.18);
  border-radius: 10px;
  background: var(--abirim-parchment-2);
  -webkit-box-shadow: 0 5px 16px rgba(62, 10, 16, 0.08);
          box-shadow: 0 5px 16px rgba(62, 10, 16, 0.08);
}

.activity-card--home .activity-card__img {
  overflow: hidden;
  border-radius: 9px 9px 0 0;
}

.activity-card--home .activity-card__img img {
  height: 210px;
  border-radius: 0;
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
}

.activity-card--home:hover .activity-card__img img {
  -webkit-transform: scale(1.045);
          transform: scale(1.045);
}

.activity-card--home .activity-card__title {
  padding: 2px 14px 14px;
  color: var(--abirim-ink);
  font-family: var(--font-serif);
  font-size: 1.12rem;
  text-align: center;
}

@media (max-width: 575px) {
  .activity-grid--home {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .activity-card--home .activity-card__img img {
    height: clamp(210px, 62vw, 310px);
  }
}
/**************************************************************************************************/
debug {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid #999;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: var(--main-font-monospace);
  font-size: 80%;
  line-height: 1.42857143;
  background-color: #f1faee;
  border-radius: 3px;
  word-wrap: break-word;
  color: var(--main-code-color);
  margin: 10px 0;
  padding: 2px 10px;
}

.debug {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-family: "PT Sans", sans-serif;
  border: 1px solid #d00000;
  background-color: #ffcccc;
  color: #545454;
  font-size: 0.85rem;
  border-radius: 3px; /*0.375rem;*/
  padding: 10px 10px;
  margin-top: 1rem;
  margin-bottom: 1rem;
  line-height: normal;
}
.debug h1 {
  font-size: 1.5rem;
}
.debug ul {
  padding-left: 10px;
  margin-bottom: 0;
  line-height: 1;
}
.debug li:not(:last-child) {
  margin-bottom: 6px;
}

.debug .info-block {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(25% - 10px);
          flex: 0 0 calc(25% - 10px); /* 4 элемента в строке с учётом gap */
  min-width: 340px; /* минимальная ширина, чтобы красиво переносилось */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #ccc;
  background-color: var(--gray-100);
  padding: 10px;
}

pre.pretty_dump {
  font-family: var(--main-font-monospace);
  font-size: 0.75rem;
  line-height: 1.42857143;
  background: #fdfcdc;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 200px;
  border: 1px solid #ddd;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 3px;
  padding: 10px;
}

/**************************************************************************************************/
/**************************************************************************************************/
@font-face {
  font-family: "Open Sans";
  src: url("../fonts/open_sans/OpenSans-VariableFont_wdth,wght.woff2") format("woff2"), url("../fonts/open_sans/OpenSans-VariableFont_wdth,wght.woff") format("woff");
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  src: url("../fonts/open_sans/OpenSans-Italic-VariableFont_wdth,wght.woff2") format("woff2"), url("../fonts/open_sans/OpenSans-Italic-VariableFont_wdth,wght.woff") format("woff");
  font-weight: 300 800;
  font-style: italic;
  font-display: swap;
}
/**************************************************************************************************/
.page-header {
  margin: 0;
  line-height: 1.15;
  font-family: var(--font-decor);
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
}

.page-header .festival {
  font-size: 2.5rem;
}

.page-header .main_title {
  text-transform: uppercase;
}

.page-header .subtitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  line-height: 0.75;
}

.page-header .subtitle img {
  width: 48px;
  height: 48px;
}

.page-header-rule {
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(var(--abirim-parchment-line)), to(transparent));
  background: linear-gradient(to right, transparent, var(--abirim-parchment-line), transparent);
  margin: 12px 0 0;
}

@media screen and (max-width: 575px) {
  .page-header {
    font-size: 3rem;
  }
  .page-header .festival {
    font-size: 2.5rem;
  }
  .page-header .subtitle {
    gap: 12px;
  }
  .page-header .subtitle img {
    width: 38px;
    height: 38px;
  }
}
/* Ряды */
.row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 15px 1fr 15px 1fr 15px 1fr 15px 1fr 15px 1fr 15px 1fr 15px 1fr 15px 1fr 15px 1fr 15px 1fr 15px 1fr;
  grid-template-columns: repeat(12, 1fr); /* Сетка из 12 колонок */
  gap: 15px; /* Зазоры между колонками */
}

/* Колонки */
.col {
  -ms-grid-column-span: 12;
  grid-column: span 12; /* По умолчанию занимает всю ширину */
}

/* Ширина колонок */
.col-1 {
  -ms-grid-column-span: 1;
  grid-column: span 1;
}

.col-2 {
  -ms-grid-column-span: 2;
  grid-column: span 2;
}

.col-3 {
  -ms-grid-column-span: 3;
  grid-column: span 3;
}

.col-4 {
  -ms-grid-column-span: 4;
  grid-column: span 4;
}

.col-5 {
  -ms-grid-column-span: 5;
  grid-column: span 5;
}

.col-6 {
  -ms-grid-column-span: 6;
  grid-column: span 6;
}

.col-7 {
  -ms-grid-column-span: 7;
  grid-column: span 7;
}

.col-8 {
  -ms-grid-column-span: 8;
  grid-column: span 8;
}

.col-9 {
  -ms-grid-column-span: 9;
  grid-column: span 9;
}

.col-10 {
  -ms-grid-column-span: 10;
  grid-column: span 10;
}

.col-11 {
  -ms-grid-column-span: 11;
  grid-column: span 11;
}

.col-12 {
  -ms-grid-column-span: 12;
  grid-column: span 12;
}

@media (max-width: 768px) {
  .row {
    -ms-grid-columns: (1fr)[6];
    grid-template-columns: repeat(6, 1fr);
  }
  .col-1,
  .col-2,
  .col-3,
  .col-4,
  .col-5,
  .col-6,
  .col-7,
  .col-8,
  .col-9,
  .col-10,
  .col-11,
  .col-12 {
    -ms-grid-column-span: 6;
    grid-column: span 6;
  }
}
@media (max-width: 576px) {
  .row {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
  .col-1,
  .col-2,
  .col-3,
  .col-4,
  .col-5,
  .col-6,
  .col-7,
  .col-8,
  .col-9,
  .col-10,
  .col-11,
  .col-12 {
    -ms-grid-column-span: 4;
    grid-column: span 4;
  }
}
.col,
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12 {
  padding: 15px;
}

@media screen and (max-width: 575px) {
  .col,
  .col-1,
  .col-2,
  .col-3,
  .col-4,
  .col-5,
  .col-6,
  .col-7,
  .col-8,
  .col-9,
  .col-10,
  .col-11,
  .col-12 {
    padding: 10px;
  }
}
.col-xs-1 {
  -ms-grid-column-span: 1;
  grid-column: span 1;
}

.col-xs-2 {
  -ms-grid-column-span: 2;
  grid-column: span 2;
}

.col-xs-3 {
  -ms-grid-column-span: 3;
  grid-column: span 3;
}

.col-xs-4 {
  -ms-grid-column-span: 4;
  grid-column: span 4;
}

.col-xs-5 {
  -ms-grid-column-span: 5;
  grid-column: span 5;
}

.col-xs-6 {
  -ms-grid-column-span: 6;
  grid-column: span 6;
}

.col-xs-7 {
  -ms-grid-column-span: 7;
  grid-column: span 7;
}

.col-xs-8 {
  -ms-grid-column-span: 8;
  grid-column: span 8;
}

.col-xs-9 {
  -ms-grid-column-span: 9;
  grid-column: span 9;
}

.col-xs-10 {
  -ms-grid-column-span: 10;
  grid-column: span 10;
}

.col-xs-11 {
  -ms-grid-column-span: 11;
  grid-column: span 11;
}

.col-xs-12 {
  -ms-grid-column-span: 12;
  grid-column: span 12;
}

@media (min-width: 576px) {
  .col-sm-1 {
    -ms-grid-column-span: 1;
    grid-column: span 1;
  }
}
@media (min-width: 576px) {
  .col-sm-2 {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }
}
@media (min-width: 576px) {
  .col-sm-3 {
    -ms-grid-column-span: 3;
    grid-column: span 3;
  }
}
@media (min-width: 576px) {
  .col-sm-4 {
    -ms-grid-column-span: 4;
    grid-column: span 4;
  }
}
@media (min-width: 576px) {
  .col-sm-5 {
    -ms-grid-column-span: 5;
    grid-column: span 5;
  }
}
@media (min-width: 576px) {
  .col-sm-6 {
    -ms-grid-column-span: 6;
    grid-column: span 6;
  }
}
@media (min-width: 576px) {
  .col-sm-7 {
    -ms-grid-column-span: 7;
    grid-column: span 7;
  }
}
@media (min-width: 576px) {
  .col-sm-8 {
    -ms-grid-column-span: 8;
    grid-column: span 8;
  }
}
@media (min-width: 576px) {
  .col-sm-9 {
    -ms-grid-column-span: 9;
    grid-column: span 9;
  }
}
@media (min-width: 576px) {
  .col-sm-10 {
    -ms-grid-column-span: 10;
    grid-column: span 10;
  }
}
@media (min-width: 576px) {
  .col-sm-11 {
    -ms-grid-column-span: 11;
    grid-column: span 11;
  }
}
@media (min-width: 576px) {
  .col-sm-12 {
    -ms-grid-column-span: 12;
    grid-column: span 12;
  }
}
@media (min-width: 768px) {
  .col-md-1 {
    -ms-grid-column-span: 1;
    grid-column: span 1;
  }
}
@media (min-width: 768px) {
  .col-md-2 {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }
}
@media (min-width: 768px) {
  .col-md-3 {
    -ms-grid-column-span: 3;
    grid-column: span 3;
  }
}
@media (min-width: 768px) {
  .col-md-4 {
    -ms-grid-column-span: 4;
    grid-column: span 4;
  }
}
@media (min-width: 768px) {
  .col-md-5 {
    -ms-grid-column-span: 5;
    grid-column: span 5;
  }
}
@media (min-width: 768px) {
  .col-md-6 {
    -ms-grid-column-span: 6;
    grid-column: span 6;
  }
}
@media (min-width: 768px) {
  .col-md-7 {
    -ms-grid-column-span: 7;
    grid-column: span 7;
  }
}
@media (min-width: 768px) {
  .col-md-8 {
    -ms-grid-column-span: 8;
    grid-column: span 8;
  }
}
@media (min-width: 768px) {
  .col-md-9 {
    -ms-grid-column-span: 9;
    grid-column: span 9;
  }
}
@media (min-width: 768px) {
  .col-md-10 {
    -ms-grid-column-span: 10;
    grid-column: span 10;
  }
}
@media (min-width: 768px) {
  .col-md-11 {
    -ms-grid-column-span: 11;
    grid-column: span 11;
  }
}
@media (min-width: 768px) {
  .col-md-12 {
    -ms-grid-column-span: 12;
    grid-column: span 12;
  }
}
@media (min-width: 992px) {
  .col-lg-1 {
    -ms-grid-column-span: 1;
    grid-column: span 1;
  }
}
@media (min-width: 992px) {
  .col-lg-2 {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }
}
@media (min-width: 992px) {
  .col-lg-3 {
    -ms-grid-column-span: 3;
    grid-column: span 3;
  }
}
@media (min-width: 992px) {
  .col-lg-4 {
    -ms-grid-column-span: 4;
    grid-column: span 4;
  }
}
@media (min-width: 992px) {
  .col-lg-5 {
    -ms-grid-column-span: 5;
    grid-column: span 5;
  }
}
@media (min-width: 992px) {
  .col-lg-6 {
    -ms-grid-column-span: 6;
    grid-column: span 6;
  }
}
@media (min-width: 992px) {
  .col-lg-7 {
    -ms-grid-column-span: 7;
    grid-column: span 7;
  }
}
@media (min-width: 992px) {
  .col-lg-8 {
    -ms-grid-column-span: 8;
    grid-column: span 8;
  }
}
@media (min-width: 992px) {
  .col-lg-9 {
    -ms-grid-column-span: 9;
    grid-column: span 9;
  }
}
@media (min-width: 992px) {
  .col-lg-10 {
    -ms-grid-column-span: 10;
    grid-column: span 10;
  }
}
@media (min-width: 992px) {
  .col-lg-11 {
    -ms-grid-column-span: 11;
    grid-column: span 11;
  }
}
@media (min-width: 992px) {
  .col-lg-12 {
    -ms-grid-column-span: 12;
    grid-column: span 12;
  }
}
@media (min-width: 1200px) {
  .col-xl-1 {
    -ms-grid-column-span: 1;
    grid-column: span 1;
  }
}
@media (min-width: 1200px) {
  .col-xl-2 {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }
}
@media (min-width: 1200px) {
  .col-xl-3 {
    -ms-grid-column-span: 3;
    grid-column: span 3;
  }
}
@media (min-width: 1200px) {
  .col-xl-4 {
    -ms-grid-column-span: 4;
    grid-column: span 4;
  }
}
@media (min-width: 1200px) {
  .col-xl-5 {
    -ms-grid-column-span: 5;
    grid-column: span 5;
  }
}
@media (min-width: 1200px) {
  .col-xl-6 {
    -ms-grid-column-span: 6;
    grid-column: span 6;
  }
}
@media (min-width: 1200px) {
  .col-xl-7 {
    -ms-grid-column-span: 7;
    grid-column: span 7;
  }
}
@media (min-width: 1200px) {
  .col-xl-8 {
    -ms-grid-column-span: 8;
    grid-column: span 8;
  }
}
@media (min-width: 1200px) {
  .col-xl-9 {
    -ms-grid-column-span: 9;
    grid-column: span 9;
  }
}
@media (min-width: 1200px) {
  .col-xl-10 {
    -ms-grid-column-span: 10;
    grid-column: span 10;
  }
}
@media (min-width: 1200px) {
  .col-xl-11 {
    -ms-grid-column-span: 11;
    grid-column: span 11;
  }
}
@media (min-width: 1200px) {
  .col-xl-12 {
    -ms-grid-column-span: 12;
    grid-column: span 12;
  }
}
@media (min-width: 1400px) {
  .col-xxl-1 {
    -ms-grid-column-span: 1;
    grid-column: span 1;
  }
}
@media (min-width: 1400px) {
  .col-xxl-2 {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }
}
@media (min-width: 1400px) {
  .col-xxl-3 {
    -ms-grid-column-span: 3;
    grid-column: span 3;
  }
}
@media (min-width: 1400px) {
  .col-xxl-4 {
    -ms-grid-column-span: 4;
    grid-column: span 4;
  }
}
@media (min-width: 1400px) {
  .col-xxl-5 {
    -ms-grid-column-span: 5;
    grid-column: span 5;
  }
}
@media (min-width: 1400px) {
  .col-xxl-6 {
    -ms-grid-column-span: 6;
    grid-column: span 6;
  }
}
@media (min-width: 1400px) {
  .col-xxl-7 {
    -ms-grid-column-span: 7;
    grid-column: span 7;
  }
}
@media (min-width: 1400px) {
  .col-xxl-8 {
    -ms-grid-column-span: 8;
    grid-column: span 8;
  }
}
@media (min-width: 1400px) {
  .col-xxl-9 {
    -ms-grid-column-span: 9;
    grid-column: span 9;
  }
}
@media (min-width: 1400px) {
  .col-xxl-10 {
    -ms-grid-column-span: 10;
    grid-column: span 10;
  }
}
@media (min-width: 1400px) {
  .col-xxl-11 {
    -ms-grid-column-span: 11;
    grid-column: span 11;
  }
}
@media (min-width: 1400px) {
  .col-xxl-12 {
    -ms-grid-column-span: 12;
    grid-column: span 12;
  }
}
.gap-0 {
  gap: 0;
}

.gap-1 {
  gap: 5px;
}

.gap-2 {
  gap: 10px;
}

.gap-3 {
  gap: 15px;
}

.gap-4 {
  gap: 30px;
}

.align-items-start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.align-items-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.align-items-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}

/* По умолчанию порядок - 0 */
.order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.order-3 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}

.order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}

.order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
}

.order-7 {
  -webkit-box-ordinal-group: 8;
      -ms-flex-order: 7;
          order: 7;
}

.order-8 {
  -webkit-box-ordinal-group: 9;
      -ms-flex-order: 8;
          order: 8;
}

.order-9 {
  -webkit-box-ordinal-group: 10;
      -ms-flex-order: 9;
          order: 9;
}

.order-10 {
  -webkit-box-ordinal-group: 11;
      -ms-flex-order: 10;
          order: 10;
}

.order-11 {
  -webkit-box-ordinal-group: 12;
      -ms-flex-order: 11;
          order: 11;
}

.order-12 {
  -webkit-box-ordinal-group: 13;
      -ms-flex-order: 12;
          order: 12;
}

@media (max-width: 768px) {
  .order-md-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .order-md-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .order-md-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .order-md-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .order-md-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .order-md-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
  .order-md-7 {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }
  .order-md-8 {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }
  .order-md-9 {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }
  .order-md-10 {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }
  .order-md-11 {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11;
  }
  .order-md-12 {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12;
  }
}
/* Desktop: sidebar слева фиксированный, контент с отступом */
.sidebar {
  position: fixed;
  inset-block: 0;
  inset-inline-start: 0;
  width: var(--sidebar-w);
  -webkit-border-end: 1px solid var(--border);
          border-inline-end: 1px solid var(--border);
  background: #c1121f;
  color: #fdf0d5;
  padding: 18px 16px;
  overflow: hidden; /* сайдбар статичный и не скроллится */
  -webkit-box-shadow: 3px 3px 32px #555;
          box-shadow: 3px 3px 32px #555;
}

/* ---------- Spine / Sidebar ---------- */
.sidebar {
  background: var(--abirim-spine);
  color: #F8ECDD;
  /* лёгкая “кожаная” глубина без текстур */
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.06)), to(rgba(0, 0, 0, 0.12)));
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.06), rgba(0, 0, 0, 0.12));
  /* линия-сгиб справа */
  border-right: 1px solid rgba(248, 236, 221, 0.18);
}

.sidebar-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
}

@media (max-width: 767px) {
  .sidebar-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    max-height: 200px;
  }
}
@media screen and (max-width: 575px) {
  .sidebar-inner {
    padding: 0px 0px;
  }
}
/* Навигация как “оглавление” */
.nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}

.nav__primary,
.nav__secondary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}

.nav__secondary .nav__link {
  font-size: 0.92rem;
  color: rgba(248, 236, 221, 0.72);
}

.nav__link {
  color: rgba(248, 236, 221, 0.88);
  text-decoration: none;
  padding: 8px 10px;
  border-radius: 10px;
}

.nav__link:hover {
  background: rgba(248, 236, 221, 0.08);
}

.nav__primary .nav__link:hover {
  color: var(--abirim-gold-light);
}

.nav__link.is-active {
  background: rgba(248, 236, 221, 0.14);
  position: relative;
}

.nav__primary .nav__link.is-active {
  color: var(--abirim-gold-light);
}

/* “Закладка” активной главы */
.nav__link.is-active::after {
  content: "";
  position: absolute;
  inset-inline-end: -1px;
  top: 8px;
  bottom: 8px;
  width: 6px;
  background: var(--abirim-gold);
  border-radius: 4px 0 0 4px;
}

.nav__divider {
  height: 1px;
  background: var(--border);
  background: rgba(248, 236, 221, 0.25);
  margin: 10px 0;
}

.brand__logo img {
  width: 100%;
  max-width: 250px;
  height: auto;
}

.brand__main-title {
  font-weight: 700;
  word-spacing: 5px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.brand__subtitle {
  color: var(--muted);
  font-size: 12px;
}

.brand__subtitle {
  color: rgba(248, 236, 221, 0.78);
  font-size: 0.95rem;
}

@media screen and (max-width: 575px) {
  .brand__logo {
    max-width: 80px;
  }
}
/* Постоянная CTA покупки билетов — часть "корешка" книги, а не пункт оглавления. */
.sidebar-ticket-cta {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #6c4a16;
  border-radius: 6px;
  background: -webkit-gradient(linear, left top, left bottom, from(#e2b900), to(#b88912));
  background: linear-gradient(180deg, #e2b900 0%, #b88912 100%);
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 4px 12px rgba(0, 0, 0, 0.24);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 4px 12px rgba(0, 0, 0, 0.24);
  color: #fff6c8;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  -webkit-transition: -webkit-transform 0.15s ease, -webkit-filter 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: -webkit-transform 0.15s ease, -webkit-filter 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease;
  transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease, -webkit-transform 0.15s ease, -webkit-filter 0.15s ease, -webkit-box-shadow 0.15s ease;
}

.sidebar-ticket-cta:hover {
  color: #fff8d8;
  text-decoration: none;
  -webkit-filter: brightness(1.08) saturate(1.05);
          filter: brightness(1.08) saturate(1.05);
}

.sidebar-ticket-cta:active {
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.22), 0 2px 6px rgba(0, 0, 0, 0.2);
          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.22), 0 2px 6px rgba(0, 0, 0, 0.2);
}

.lang {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 1rem 0;
}

.lang__link {
  padding: 6px 10px;
  border-radius: 5px;
  border: none;
  font-size: 12px;
  color: var(--muted);
  color: rgba(248, 236, 221, 0.88);
}

.lang__link:hover {
  color: var(--abirim-gold-light);
}

.lang__link.is-active {
  border: 1px solid #fff;
  color: #000;
  background: #fff;
}

/* Бургер на десктопе скрыт */
.burger {
  display: none;
  border: 1px solid var(--border);
  background: var(--bg);
  border-radius: 10px;
  padding: 10px;
  cursor: pointer;
}

.burger__lines {
  display: block;
  width: 18px;
  height: 2px;
  background: var(--text);
  position: relative;
}

.burger__lines::before,
.burger__lines::after {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  width: 18px;
  height: 2px;
  background: var(--text);
}

.burger__lines::before {
  top: -6px;
}

.burger__lines::after {
  top: 6px;
}

/* Mobile: сайдбар превращается в верхнюю панель */
@media (max-width: 767px) {
  .sidebar {
    position: fixed;
    inset-inline: 0;
    inset-block-start: 0;
    inset-block-end: auto;
    width: auto;
    -webkit-border-end: 0;
            border-inline-end: 0;
    border-bottom: 1px solid var(--border);
    padding: 12px 12px;
    overflow: visible;
    z-index: 10;
  }
  .sidebar-inner {
    gap: 10px;
  }
  .brand__logo {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 88px;
  }
  .brand__logo img {
    max-width: 88px;
  }
  .brand__title {
    min-width: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .brand__main-title {
    font-size: 0.82rem;
    line-height: 1.15;
    word-spacing: normal;
  }
  .brand__subtitle {
    font-size: 0.75rem;
  }
  .sidebar-ticket-cta {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 40px;
    padding: 8px 12px;
    font-size: 0.82rem;
  }
  .burger {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  /* меню по умолчанию скрыто, открывается классом */
  .nav {
    margin-top: 10px;
    display: none;
    padding-top: 10px;
    border-top: 1px solid var(--border);
  }
  .nav.is-open {
    display: -ms-grid;
    display: grid;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
    -ms-scroll-chaining: none;
        overscroll-behavior: contain;
  }
  .content {
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    padding: 18px 14px;
    padding-top: 120px; /* место под компактную фикс-шапку */
    overflow: auto;
  }
}
@media (max-width: 575px) {
  .content {
    padding-top: 120px; /* место под фикс-шапку */
  }
}
@media (max-width: 575px) {
  .brand__title {
    display: none;
  }
  .brand__logo,
  .brand__logo img {
    max-width: 68px;
  }
  .sidebar-ticket-cta {
    -webkit-margin-start: auto;
            margin-inline-start: auto;
    font-size: 0.76rem;
    padding-inline: 10px;
  }
  .content {
    padding-top: 105px;
  }
}
/**************************************************************************************************/
.page-divider {
  max-width: 612px;
  margin: 0 auto;
  height: 100px;
  background-image: url("/images/frames/gold-frame-page-divider_1024.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 500px auto;
  background-size: contain;
}

/**************************************************************************************************/
.lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 56px 20px 20px;
  background: rgba(0, 0, 0, 0.88);
}

.lightbox[hidden] {
  display: none;
}

.lightbox__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: min(1100px, 100%);
  max-height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.lightbox__stage {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.lightbox .image {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 150px);
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 8px;
  -webkit-box-shadow: 0 16px 50px rgba(0, 0, 0, 0.45);
          box-shadow: 0 16px 50px rgba(0, 0, 0, 0.45);
}

.lightbox .caption {
  max-width: 780px;
  margin-top: 10px;
  color: #fff;
  text-align: center;
}

.lightbox__credit {
  max-width: 780px;
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
}

.lightbox__credit a {
  color: inherit;
  text-decoration-color: rgba(255, 255, 255, 0.42);
}

.lightbox__credit a:hover,
.lightbox__credit a:focus-visible {
  color: #fff;
  text-decoration-color: currentColor;
}

.lightbox--has-credit .image {
  max-height: calc(100vh - 190px);
  max-height: calc(100dvh - 190px);
}

.lightbox__counter {
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
}

.lightbox__close {
  position: absolute;
  inset-block-start: 14px;
  inset-inline-end: 16px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 44px;
  height: 44px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 2px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  background: rgba(62, 10, 16, 0.92);
  color: #fff;
  font: inherit;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.lightbox__nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 48px;
  height: 48px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  background: rgba(62, 10, 16, 0.78);
  color: #fff;
  font: inherit;
  font-size: 38px;
  line-height: 1;
  cursor: pointer;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: background-color 0.2s ease, opacity 0.2s ease;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}

.lightbox__nav:hover,
.lightbox__nav:focus-visible {
  background: rgba(62, 10, 16, 0.96);
}

.lightbox__nav > span {
  display: block;
  line-height: 1;
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
}

.lightbox__nav--prev {
  left: 12px;
}

.lightbox__nav--next {
  right: 12px;
}

.is-lightbox-open {
  overflow: hidden;
}

@media (max-width: 767px) {
  .lightbox {
    padding-inline: 10px;
  }
  .lightbox__nav {
    width: 42px;
    height: 42px;
    font-size: 34px;
  }
  .lightbox__nav--prev {
    left: 6px;
  }
  .lightbox__nav--next {
    right: 6px;
  }
  .lightbox__credit {
    font-size: 12px;
  }
}
/* ABIRIM — simple image slideshow */
.slider-container-simple {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  min-height: 260px;
  max-height: 520px;
  overflow: hidden;
  border-radius: 5px;
  background: rgba(42, 30, 22, 0.08);
}

.slider-container-simple .slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 1s ease-in-out;
  transition: -webkit-transform 1s ease-in-out;
  transition: transform 1s ease-in-out;
  transition: transform 1s ease-in-out, -webkit-transform 1s ease-in-out;
}

.slider-container-simple .slider img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

.slider-container-simple .fade {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
}

.slider-container-simple .fade img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  opacity: 0;
  -webkit-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
}

.slider-container-simple .fade img.active {
  opacity: 1;
}

@media (max-width: 575px) {
  .slider-container-simple {
    min-height: 220px;
    aspect-ratio: 4/3;
  }
}
@media (prefers-reduced-motion: reduce) {
  .slider-container-simple .slider,
  .slider-container-simple .fade img {
    -webkit-transition: none;
    transition: none;
  }
}
/* ABIRIM — privacy-friendly home video */
.home-video {
  margin-inline: auto;
  margin-bottom: clamp(52px, 8vw, 82px);
}

.home-video__frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
  border: 1px solid rgba(91, 15, 22, 0.28);
  border-radius: 10px;
  background: #1b1410;
  -webkit-box-shadow: 0 10px 26px rgba(62, 10, 16, 0.16);
          box-shadow: 0 10px 26px rgba(62, 10, 16, 0.16);
}

.home-video__poster,
.home-video__iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.home-video__poster {
  display: block;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}

.home-video__poster::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.02)), to(rgba(0, 0, 0, 0.22)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.22));
  -webkit-transition: background 180ms ease;
  transition: background 180ms ease;
}

.home-video__poster:hover::after,
.home-video__poster:focus-visible::after {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.14)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.14));
}

.home-video__poster picture {
  display: block;
  width: 100%;
  height: 100%;
}

.home-video__poster img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 260ms ease;
  transition: -webkit-transform 260ms ease;
  transition: transform 260ms ease;
  transition: transform 260ms ease, -webkit-transform 260ms ease;
}

.home-video__poster:hover img,
.home-video__poster:focus-visible img {
  -webkit-transform: scale(1.012);
          transform: scale(1.012);
}

.home-video__play {
  position: absolute;
  z-index: 2;
  inset-block-start: 50%;
  left: 50%;
  display: -ms-grid;
  display: grid;
  width: clamp(68px, 9vw, 92px);
  aspect-ratio: 1;
  place-items: center;
  border: 2px solid rgba(255, 246, 200, 0.9);
  border-radius: 50%;
  background: rgba(91, 15, 22, 0.9);
  -webkit-box-shadow: 0 8px 22px rgba(0, 0, 0, 0.34), inset 0 0 0 5px rgba(176, 141, 59, 0.18);
          box-shadow: 0 8px 22px rgba(0, 0, 0, 0.34), inset 0 0 0 5px rgba(176, 141, 59, 0.18);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: background 180ms ease, -webkit-transform 180ms ease;
  transition: background 180ms ease, -webkit-transform 180ms ease;
  transition: transform 180ms ease, background 180ms ease;
  transition: transform 180ms ease, background 180ms ease, -webkit-transform 180ms ease;
}

.home-video__poster:hover .home-video__play,
.home-video__poster:focus-visible .home-video__play {
  background: rgba(122, 20, 30, 0.96);
  -webkit-transform: translate(-50%, -50%) scale(1.05);
          transform: translate(-50%, -50%) scale(1.05);
}

.home-video__play::before {
  content: "";
  width: 0;
  height: 0;
  margin-left: 6px;
  border-block: 13px solid transparent;
  border-left: 21px solid #fff6c8;
}

.home-video__caption {
  max-width: 780px;
  margin: 14px auto 0;
  color: var(--abirim-ink-muted);
  text-align: center;
  line-height: 1.6;
}

.home-video__privacy {
  display: block;
  margin-top: 8px;
  color: var(--abirim-ink-muted);
  font-size: 0.84rem;
  text-align: center;
}

.home-video__privacy .fa {
  -webkit-margin-end: 5px;
          margin-inline-end: 5px;
  color: var(--abirim-gold-text);
}

@media (max-width: 767px) {
  .home-video {
    padding-inline: 14px;
  }
}
@media (max-width: 575px) {
  .home-video__frame {
    border-radius: 6px;
  }
  .home-video__play::before {
    border-block-width: 10px;
    border-left-width: 17px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-video__poster::after,
  .home-video__poster img,
  .home-video__play {
    -webkit-transition: none;
    transition: none;
  }
}
/* Декоративный вводный блок в стиле средневековой иллюминированной книги */
.illuminated-intro {
  position: relative;
  margin: 0 0 26px;
  padding-block: 14px;
  -webkit-padding-start: 78px;
          padding-inline-start: 78px;
  -webkit-padding-end: 4px;
          padding-inline-end: 4px;
}

.illuminated-intro::before {
  content: "";
  position: absolute;
  inset-block: 8px;
  inset-inline-start: 30px;
  width: 1px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(176, 141, 59, 0)), color-stop(12%, rgba(176, 141, 59, 0.55)), color-stop(50%, rgba(91, 15, 22, 0.28)), color-stop(88%, rgba(176, 141, 59, 0.55)), to(rgba(176, 141, 59, 0)));
  background: linear-gradient(to bottom, rgba(176, 141, 59, 0), rgba(176, 141, 59, 0.55) 12%, rgba(91, 15, 22, 0.28) 50%, rgba(176, 141, 59, 0.55) 88%, rgba(176, 141, 59, 0));
  pointer-events: none;
}

.illuminated-intro::after {
  content: "";
  position: absolute;
  inset-block: 4px;
  inset-inline-start: 0;
  width: 62px;
  background: url("/images/decor/illuminated-border.webp") center/contain no-repeat;
  -webkit-filter: drop-shadow(0 2px 2px rgba(62, 10, 16, 0.16));
          filter: drop-shadow(0 2px 2px rgba(62, 10, 16, 0.16));
  pointer-events: none;
}

@media (max-width: 575px) {
  .illuminated-intro {
    padding-block: 10px;
    -webkit-padding-start: 54px;
            padding-inline-start: 54px;
    -webkit-padding-end: 0;
            padding-inline-end: 0;
  }
  .illuminated-intro::before {
    inset-inline-start: 20px;
  }
  .illuminated-intro::after {
    width: 42px;
  }
}
/* ABIRIM — global footer */
.site-footer.content__footer {
  margin-top: 34px;
  padding: 30px clamp(18px, 4vw, 36px) 18px;
  border-top: 0;
  border-radius: 14px 14px 0 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.035), transparent 42%), var(--abirim-spine-deep);
  color: #f8ecdd;
  font-size: 0.9rem;
}

.site-footer a {
  color: #f4d78f;
}

.site-footer a:hover {
  color: #fff2c0;
}

.site-footer__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(140px, 0.8fr) 26px minmax(180px, 1fr) 26px minmax(220px, 1.25fr);
  grid-template-columns: minmax(140px, 0.8fr) minmax(180px, 1fr) minmax(220px, 1.25fr);
  gap: 26px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.site-footer__brand img {
  display: block;
  width: min(165px, 100%);
  height: auto;
  -webkit-filter: drop-shadow(0 4px 9px rgba(0, 0, 0, 0.24));
          filter: drop-shadow(0 4px 9px rgba(0, 0, 0, 0.24));
}

.site-footer h2 {
  margin: 0 0 12px;
  color: #fff5df;
  font-family: var(--font-serif);
  font-size: 1.2rem;
}

.site-footer p {
  margin: 0 0 8px;
}

.site-footer__contact-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 9px;
}

.site-footer__contact-item .fa {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 1.15em;
          flex: 0 0 1.15em;
  width: 1.15em;
  color: #f4d78f;
  font-size: 1rem;
  text-align: center;
}

.site-footer__contact-item a[dir=ltr] {
  unicode-bidi: isolate;
}

.site-footer__social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

.site-footer__social a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  opacity: 0.88;
}

.site-footer__social a:hover {
  opacity: 1;
}

.site-footer__links .fa-heart {
  color: #d8aa3c;
}

.site-footer__bottom {
  margin-top: 24px;
  padding-top: 15px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(248, 236, 221, 0.72);
  font-size: 0.8rem;
  text-align: center;
}

@media (max-width: 767px) {
  .site-footer.content__footer {
    border-radius: 0;
  }
  .site-footer__grid {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .site-footer__brand {
    grid-column: 1/-1;
  }
  .site-footer__brand img {
    margin-inline: auto;
  }
}
@media (max-width: 575px) {
  .site-footer__grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    text-align: center;
  }
  .site-footer__contact-item,
  .site-footer__social {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
/* ABIRIM — privacy consent */
.consent-banner[hidden] {
  display: none;
}

.consent-banner {
  position: fixed;
  z-index: 1200;
  inset-inline: 18px;
  bottom: 18px;
  max-width: 980px;
  margin-inline: auto;
  color: var(--abirim-ink);
}

.consent-banner__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 22px auto;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 18px 20px;
  border: 1px solid rgba(91, 15, 22, 0.25);
  border-radius: 14px;
  background: rgba(250, 241, 218, 0.98);
  -webkit-box-shadow: 0 16px 42px rgba(45, 20, 14, 0.28);
          box-shadow: 0 16px 42px rgba(45, 20, 14, 0.28);
  backdrop-filter: blur(8px);
}

.consent-banner__title {
  display: block;
  margin-bottom: 5px;
  color: var(--abirim-spine);
  font-family: var(--font-serif);
  font-size: 1.18rem;
}

.consent-banner__copy p {
  margin: 0;
  line-height: 1.55;
}

.consent-banner__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 9px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.consent-button {
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--abirim-spine);
  border-radius: 9px;
  font: 700 0.92rem/1.2 var(--font-sans-serif);
  cursor: pointer;
}

.consent-button--primary {
  background: -webkit-gradient(linear, left top, left bottom, from(#e0b657), to(#c9962f));
  background: linear-gradient(180deg, #e0b657, #c9962f);
  color: #28170e;
}

.consent-button--secondary {
  background: transparent;
  color: var(--abirim-spine);
}

.consent-button:hover {
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}

.site-footer__link-button {
  padding: 0;
  border: 0;
  background: none;
  color: #f4d78f;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.site-footer__link-button:hover {
  color: #fff2c0;
}

@media (max-width: 700px) {
  .consent-banner {
    inset-inline: 10px;
    bottom: 10px;
  }
  .consent-banner__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 15px;
  }
  .consent-banner__actions {
    -webkit-box-pack: stretch;
        -ms-flex-pack: stretch;
            justify-content: stretch;
  }
  .consent-button {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 180px;
            flex: 1 1 180px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .consent-button:hover {
    -webkit-transform: none;
            transform: none;
  }
}
.type-badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  -webkit-margin-start: 10px;
          margin-inline-start: 10px;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  vertical-align: middle;
}

/* Отличия типов (пока без цвета, можно потом подключить “рыцарскую” палитру) */
.schedule-item.type-horse .type-badge {
  font-style: italic;
}

.schedule-item.type-music .type-badge {
  text-decoration: underline;
}

.schedule-item.is-cancelled {
  opacity: 0.6;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}

.status-badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-margin-start: 8px;
          margin-inline-start: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-size: 12px;
  font-weight: 800;
}

.status-cancelled {
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.type-filter {
  margin: 10px 0 14px;
  color: var(--muted);
}

.type-filter__link {
  color: inherit;
  text-decoration: none;
  font-weight: 700;
}

.type-filter__link:hover {
  text-decoration: underline;
}

.type-filter__link.is-active {
  color: var(--text);
  text-decoration: underline;
}

.type-filter__sep {
  margin: 0 8px;
  color: var(--border);
}

/* ABIRIM — homepage composition */
.next-event-card {
  max-width: 640px;
  margin: 0 auto 18px;
  text-align: center;
}

.home-hero,
.home-intro,
.home-gallery,
.home-activities,
.home-included-note,
.home-final-cta {
  margin-inline: auto;
}

.home-hero {
  position: relative;
  overflow: hidden;
  margin-top: 8px;
  margin-bottom: clamp(42px, 7vw, 72px);
  padding: clamp(24px, 5vw, 52px) clamp(18px, 5vw, 48px);
  border: 1px solid rgba(91, 15, 22, 0.24);
  border-radius: 18px;
  background: radial-gradient(circle at top, rgba(255, 255, 255, 0.46), transparent 42%), -webkit-gradient(linear, left top, left bottom, from(rgba(250, 241, 218, 0.92)), to(rgba(243, 230, 200, 0.96)));
  background: radial-gradient(circle at top, rgba(255, 255, 255, 0.46), transparent 42%), linear-gradient(180deg, rgba(250, 241, 218, 0.92), rgba(243, 230, 200, 0.96));
  -webkit-box-shadow: inset 0 0 0 5px rgba(176, 141, 59, 0.08), 0 12px 30px rgba(62, 10, 16, 0.1);
          box-shadow: inset 0 0 0 5px rgba(176, 141, 59, 0.08), 0 12px 30px rgba(62, 10, 16, 0.1);
  text-align: center;
}

/*
.home-hero::before,
.home-hero::after {
    content: "";
    position: absolute;
    inset-inline: 8%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(176, 141, 59, 0.7), transparent);
}

.home-hero::before { inset-block-start: 14px; }
.home-hero::after { inset-block-end: 14px; }
*/
.home-hero__ornament {
  margin-bottom: 8px;
  color: var(--abirim-gold);
  font-size: 1.15rem;
}

.home-hero__kicker {
  margin-bottom: 22px;
  color: var(--abirim-accent);
  font-family: var(--font-serif);
  font-size: clamp(1.55rem, 4vw, 2.45rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.home-hero__facts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px 24px;
  margin: 0 auto 18px;
  color: var(--abirim-ink);
  font-size: clamp(1rem, 2vw, 1.18rem);
  font-weight: 600;
}

.home-hero__fact {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}

.home-hero__fact .fa {
  color: var(--abirim-accent);
}

.home-hero__maps {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  margin: 18px 0 24px;
}

.home-hero__maps a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border: 1px solid rgba(42, 30, 22, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.28);
  color: var(--abirim-ink);
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
}

.home-hero__maps a:hover {
  border-color: rgba(140, 26, 34, 0.42);
  color: var(--abirim-accent);
  text-decoration: none;
}

.home-hero__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}

.home-ticket-cta,
.home-secondary-cta {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 48px;
  padding: 12px 24px;
  border-radius: 6px;
  font-weight: 800;
  text-decoration: none;
}

.home-ticket-cta {
  border: 2px solid #6c4a16;
  background: -webkit-gradient(linear, left top, left bottom, from(#e2b900), to(#b88912));
  background: linear-gradient(180deg, #e2b900 0%, #b88912 100%);
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 5px 12px rgba(0, 0, 0, 0.2);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 5px 12px rgba(0, 0, 0, 0.2);
  color: #fff6c8;
  text-transform: uppercase;
}

.home-ticket-cta:hover {
  color: #fffdf0;
  -webkit-filter: brightness(1.07) saturate(1.05);
          filter: brightness(1.07) saturate(1.05);
  text-decoration: none;
}

.home-secondary-cta {
  border: 1px solid rgba(91, 15, 22, 0.45);
  background: transparent;
  color: var(--abirim-accent);
}

.home-secondary-cta:hover {
  background: rgba(91, 15, 22, 0.06);
  color: var(--abirim-accent);
  text-decoration: none;
}

.home-intro {
  max-width: 790px;
  margin-bottom: clamp(48px, 8vw, 78px);
  padding: 0 clamp(18px, 4vw, 34px);
  text-align: center;
}

.home-intro p {
  margin: 0;
  color: var(--abirim-ink);
  font-size: clamp(1.08rem, 2.1vw, 1.32rem);
  line-height: 1.75;
}

.home-section-heading {
  margin-bottom: 28px;
  text-align: center;
}

.home-section-title {
  margin: 0;
  color: var(--abirim-ink);
  font-family: var(--font-serif);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  font-variant: small-caps;
  letter-spacing: 0.025em;
}

.home-section-rule {
  width: min(320px, 60%);
  height: 1px;
  margin: 12px auto 0;
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(var(--abirim-gold)), to(transparent));
  background: linear-gradient(90deg, transparent, var(--abirim-gold), transparent);
}

.home-gallery {
  margin-bottom: clamp(52px, 8vw, 82px);
}

.home-gallery__frame {
  padding: 9px;
  border: 1px solid rgba(91, 15, 22, 0.28);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(176, 141, 59, 0.22), rgba(91, 15, 22, 0.08));
  -webkit-box-shadow: 0 10px 24px rgba(62, 10, 16, 0.13);
          box-shadow: 0 10px 24px rgba(62, 10, 16, 0.13);
}

.home-gallery__frame .slider-container-simple {
  border-radius: 5px;
}

.home-activities {
  margin-bottom: 34px;
}

.home-activities__more {
  margin: 24px 0 0;
  text-align: center;
}

.home-activities__more a {
  font-weight: 800;
}

.home-included-note {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 14px 1fr;
  grid-template-columns: auto 1fr;
  gap: 14px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  max-width: 820px;
  margin-top: 44px;
  margin-bottom: clamp(52px, 8vw, 78px);
  padding: 18px 20px;
  -webkit-border-start: 4px solid var(--abirim-gold);
          border-inline-start: 4px solid var(--abirim-gold);
  background: rgba(176, 141, 59, 0.1);
  color: var(--abirim-ink);
}

.home-included-note .fa {
  margin-top: 3px;
  color: var(--abirim-accent);
  font-size: 1.35rem;
}

.home-included-note p {
  margin: 0;
  line-height: 1.65;
}

.home-final-cta {
  max-width: 760px;
  margin-bottom: 28px;
  padding: clamp(26px, 5vw, 42px) 18px;
  text-align: center;
}

.home-final-cta__ornament {
  color: var(--abirim-gold);
  font-size: 1.7rem;
}

.home-final-cta h2 {
  margin: 6px 0 8px;
  font-family: var(--font-serif);
  font-size: clamp(1.8rem, 4vw, 2.45rem);
}

.home-final-cta p {
  margin: 0 0 20px;
  color: var(--abirim-ink-muted);
  font-weight: 700;
}

@media (max-width: 767px) {
  .home-hero {
    border-radius: 10px;
  }
  .home-hero__facts {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
  }
  .home-hero__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .home-ticket-cta,
  .home-secondary-cta {
    width: min(100%, 320px);
  }
  .home-gallery,
  .home-activities {
    padding-inline: 14px;
  }
}
@media (max-width: 575px) {
  .home-hero {
    margin-inline: 10px;
    padding-inline: 14px;
  }
  .home-intro,
  .home-final-cta,
  .home-included-note {
    margin-inline: 14px;
  }
  .home-included-note {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    text-align: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-ticket-cta,
  .home-secondary-cta,
  .activity-card--home img {
    -webkit-transition: none !important;
    transition: none !important;
  }
}
/* =========================================
   ABIRIM — внутренние страницы
   ========================================= */
.page-chapter-title {
  margin-top: 4rem;
  margin-bottom: 1.25rem;
}

.internal-section-title {
  margin: 0 0 18px;
  color: var(--abirim-spine);
  font-family: var(--font-serif);
  font-size: clamp(1.55rem, 3vw, 2rem);
  line-height: 1.1;
}

.internal-empty,
.program-empty {
  padding: 16px 18px;
  border: 1px dashed var(--abirim-border);
  border-radius: 10px;
  background: rgba(250, 241, 218, 0.65);
  color: var(--abirim-ink-muted);
}

/* История фестиваля */
.history-page {
  max-width: 820px;
  margin-inline: auto;
  font-family: var(--font-sans-serif);
  font-size: 1.02rem;
  line-height: 1.75;
}

.history-page::after {
  content: "";
  display: block;
  clear: both;
}

.history-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.history-lead {
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.5vw, 1.45rem);
  line-height: 1.5;
  color: var(--abirim-ink);
  font-weight: bold;
}

.history-portrait {
  float: left;
  width: min(355px, 46%);
  margin: 4px 24px 18px 0;
}

.history-portrait img {
  display: block;
  width: 100%;
  height: auto;
  padding: 6px;
  border: 1px solid rgba(91, 15, 22, 0.22);
  background: var(--abirim-parchment-2);
  -webkit-box-shadow: 0 8px 22px rgba(62, 10, 16, 0.16);
          box-shadow: 0 8px 22px rgba(62, 10, 16, 0.16);
}

/* Как добраться */
.howto-page {
  display: -ms-grid;
  display: grid;
  gap: 28px;
}

.howto-summary {
  padding: clamp(18px, 4vw, 28px);
  border: 1px solid rgba(91, 15, 22, 0.18);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(250, 241, 218, 0.92), rgba(243, 230, 200, 0.82));
  -webkit-box-shadow: 0 8px 24px rgba(62, 10, 16, 0.09);
          box-shadow: 0 8px 24px rgba(62, 10, 16, 0.09);
}

.howto-summary__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 14px minmax(0, 1fr) 14px minmax(0, 1fr);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.howto-fact {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 34px 10px 1fr;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(42, 30, 22, 0.12);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.26);
}

.howto-fact > i {
  padding-top: 2px;
  color: var(--abirim-accent);
  font-size: 1.25rem;
  text-align: center;
}

.howto-fact div {
  display: -ms-grid;
  display: grid;
  gap: 3px;
}

.howto-fact__label {
  color: var(--abirim-ink-muted);
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.howto-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.internal-action {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid rgba(91, 15, 22, 0.24);
  border-radius: 8px;
  background: rgba(250, 241, 218, 0.72);
  color: var(--abirim-spine);
  font-weight: 700;
  text-decoration: none;
}

.internal-action:hover {
  border-color: var(--abirim-gold);
  background: var(--abirim-parchment-2);
  color: var(--abirim-accent);
  text-decoration: none;
}

.internal-action--primary {
  border-color: var(--abirim-spine);
  background: var(--abirim-spine);
  color: #fff8dc;
}

.internal-action--primary:hover {
  background: var(--abirim-spine-deep);
  color: #fff8dc;
}

.map-embed {
  overflow: hidden;
  border: 1px solid rgba(91, 15, 22, 0.2);
  border-radius: 12px;
  background: var(--abirim-parchment-2);
  -webkit-box-shadow: 0 8px 24px rgba(62, 10, 16, 0.1);
          box-shadow: 0 8px 24px rgba(62, 10, 16, 0.1);
}

.map-embed iframe {
  display: block;
  width: 100%;
  height: 430px;
  border: 0;
}

/* Общий список активностей */
.activities-page__intro {
  max-width: 760px;
  margin: 0 auto 26px;
  color: var(--abirim-ink-muted);
  font-size: 1.05rem;
  line-height: 1.65;
}

.activities-list {
  gap: 16px;
}

.activity-row {
  -ms-grid-columns: 230px 20px minmax(0, 1fr);
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 20px;
  overflow: hidden;
  padding: 0;
  border-color: rgba(91, 15, 22, 0.16);
  border-radius: 10px;
  background: var(--abirim-parchment-2);
  -webkit-box-shadow: 0 5px 16px rgba(62, 10, 16, 0.07);
          box-shadow: 0 5px 16px rgba(62, 10, 16, 0.07);
  color: var(--abirim-ink);
  -webkit-transition: border-color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
}

.activity-row:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  border-color: rgba(176, 141, 59, 0.55);
  -webkit-box-shadow: 0 10px 24px rgba(62, 10, 16, 0.12);
          box-shadow: 0 10px 24px rgba(62, 10, 16, 0.12);
  color: var(--abirim-ink);
  text-decoration: none;
}

.activity-row__img {
  overflow: hidden;
  min-height: 170px;
}

.activity-row__img img {
  width: 100%;
  height: 100%;
  min-height: 170px;
  border-radius: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
}

.activity-row:hover .activity-row__img img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}

.activity-row__body {
  position: relative;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  padding: 18px 50px 18px 0;
}

html[dir=rtl] .activity-row__body {
  padding: 18px 0 18px 50px;
}

.activity-row__title {
  margin: 0 0 8px;
  color: var(--abirim-spine);
  font-family: var(--font-serif);
  font-size: 1.5rem;
  line-height: 1.1;
}

.activity-row__excerpt {
  color: var(--abirim-ink-muted);
  line-height: 1.55;
}

.activity-row__more {
  position: absolute;
  inset-inline-end: 20px;
  top: 50%;
  color: var(--abirim-gold);
  font-family: var(--font-serif);
  font-size: 2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

html[dir=rtl] .activity-row__more {
  -webkit-transform: translateY(-50%) scaleX(-1);
          transform: translateY(-50%) scaleX(-1);
}

/* Страница одной активности */
.activity-detail__back {
  margin-bottom: 18px;
  font-size: 0.92rem;
  font-weight: 700;
}

.activity-detail__back a {
  text-decoration: none;
}

.activity-detail__lead {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(260px, 38%) clamp(22px, 4vw, 38px) minmax(0, 1fr);
  grid-template-columns: minmax(260px, 38%) minmax(0, 1fr);
  gap: clamp(22px, 4vw, 38px);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.activity-detail__cover {
  margin: 0;
}

.activity-detail__cover img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 470px;
  border: 6px solid rgba(250, 241, 218, 0.85);
  outline: 1px solid rgba(91, 15, 22, 0.2);
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-box-shadow: 0 10px 26px rgba(62, 10, 16, 0.14);
          box-shadow: 0 10px 26px rgba(62, 10, 16, 0.14);
}

.activity-detail__excerpt {
  max-width: 860px;
  margin: -2px 0 24px;
  color: var(--abirim-ink-muted);
  font-family: var(--font-serif);
  font-size: clamp(1.04rem, 1.7vw, 1.2rem);
  line-height: 1.55;
}

.activity-detail__lead--no-cover {
  -ms-grid-columns: minmax(0, 1fr);
  grid-template-columns: minmax(0, 1fr);
}

.activity-detail__lead--cover-only {
  -ms-grid-columns: minmax(260px, 620px);
  grid-template-columns: minmax(260px, 620px);
}

.activity-facts {
  min-width: 0;
}

.activity-facts__title {
  margin: 0 0 14px;
  color: var(--abirim-spine);
  font-family: var(--font-serif);
  font-size: 1.3rem;
}

.activity-facts__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 12px minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.activity-fact {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 38px 11px minmax(0, 1fr);
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 11px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  padding: 13px 14px;
  border: 1px solid rgba(91, 15, 22, 0.14);
  border-radius: 9px;
  background: rgba(250, 241, 218, 0.55);
}

.activity-fact--no-icon {
  -ms-grid-columns: minmax(0, 1fr);
  grid-template-columns: minmax(0, 1fr);
}

.activity-fact__icon {
  display: -ms-grid;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(176, 141, 59, 0.42);
  border-radius: 50%;
  color: var(--abirim-spine);
  background: rgba(210, 180, 90, 0.17);
}

.activity-fact__label {
  margin-bottom: 3px;
  color: var(--abirim-spine);
  font-family: var(--font-serif);
  font-weight: 700;
  line-height: 1.25;
}

.activity-fact__value {
  color: var(--abirim-ink);
  font-size: 0.95rem;
  line-height: 1.48;
  white-space: pre-line;
}

.activity-detail__concept {
  margin-top: 32px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid rgba(176, 141, 59, 0.26);
  -webkit-border-start: 4px solid var(--abirim-gold);
          border-inline-start: 4px solid var(--abirim-gold);
  border-radius: 8px;
  background: rgba(250, 241, 218, 0.42);
}

.activity-detail__concept .activity-content > :first-child {
  margin-top: 0;
}

.activity-detail__concept .activity-content > :last-child {
  margin-bottom: 0;
}

.activity-detail__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 34px;
}

.activity-content {
  color: var(--abirim-ink);
  line-height: 1.7;
}

html[lang=he] .activity-content {
  font-family: var(--font-hebrew);
  font-size: 1.08rem;
  letter-spacing: normal;
  word-spacing: normal;
  line-height: 1.65;
}

.activity-gallery-section {
  margin-top: 38px;
}

.activity-gallery {
  -ms-grid-columns: minmax(0, 1fr) 12px minmax(0, 1fr) 12px minmax(0, 1fr) 12px minmax(0, 1fr);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.activity-gallery__item {
  overflow: hidden;
  padding: 4px;
  border-color: rgba(91, 15, 22, 0.16);
  border-radius: 8px;
  background: var(--abirim-parchment-2);
}

.activity-gallery__item img {
  height: 130px;
  border: 0;
  border-radius: 5px;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.activity-gallery__item:hover img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}

/* Программа */
.program-page {
  display: -ms-grid;
  display: grid;
  gap: 24px;
}

.program-years,
.days-nav,
.type-filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px 14px;
  padding: 12px 14px;
  border: 1px solid rgba(91, 15, 22, 0.14);
  border-radius: 9px;
  background: rgba(250, 241, 218, 0.65);
}

.program-years__title,
.days-nav__title,
.type-filter__title {
  color: var(--abirim-ink-muted);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.program-years__links,
.days-nav__links,
.type-filter__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 7px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.program-years__link,
.days-nav__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-height: 34px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 5px 10px;
  border: 1px solid rgba(91, 15, 22, 0.16);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.22);
  color: var(--abirim-spine);
  font-weight: 700;
  text-decoration: none;
}

.program-years__link:hover,
.days-nav__link:hover,
.program-years__link.is-active {
  border-color: var(--abirim-gold);
  background: var(--abirim-spine);
  color: #fff7d8;
  text-decoration: none;
}

.program-poster {
  margin: 0;
  text-align: center;
}

.program-poster img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  border: 6px solid rgba(250, 241, 218, 0.9);
  outline: 1px solid rgba(91, 15, 22, 0.18);
  -webkit-box-shadow: 0 10px 26px rgba(62, 10, 16, 0.12);
          box-shadow: 0 10px 26px rgba(62, 10, 16, 0.12);
}

.program-intro {
  max-width: 800px;
  margin-inline: auto;
  font-size: 1.05rem;
  line-height: 1.7;
}

.type-filter {
  color: var(--abirim-ink-muted);
}

.type-filter__link {
  color: var(--abirim-spine);
  font-weight: 700;
  text-decoration: none;
}

.type-filter__link:hover,
.type-filter__link.is-active {
  color: var(--abirim-accent);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.type-filter__sep {
  color: var(--abirim-gold);
}

.program-days {
  display: -ms-grid;
  display: grid;
  gap: 34px;
}

.program-day {
  scroll-margin-top: 20px;
}

.day-title {
  margin: 0 0 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(91, 15, 22, 0.2);
  color: var(--abirim-spine);
  font-family: var(--font-serif);
  font-size: clamp(1.45rem, 3vw, 2rem);
}

.schedule {
  gap: 10px;
  margin: 0;
}

.schedule-item {
  -ms-grid-columns: 112px 14px 42px 14px minmax(0, 1fr);
  grid-template-columns: 112px 42px minmax(0, 1fr);
  gap: 14px;
  padding: 14px 16px;
  border-color: rgba(91, 15, 22, 0.14);
  border-radius: 9px;
  background: rgba(250, 241, 218, 0.72);
  -webkit-transition: border-color 0.2s ease, -webkit-transform 0.2s ease;
  transition: border-color 0.2s ease, -webkit-transform 0.2s ease;
  transition: border-color 0.2s ease, transform 0.2s ease;
  transition: border-color 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}

.schedule-item:hover {
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
  border-color: rgba(176, 141, 59, 0.55);
}

.schedule-time {
  color: var(--abirim-spine);
  font-weight: 800;
}

.schedule-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.schedule-title {
  color: var(--abirim-ink);
  font-size: 1.03rem;
}

.schedule-stage {
  margin-top: 4px;
  color: var(--abirim-ink-muted);
  font-size: 0.88rem;
}

.schedule-desc {
  margin-top: 7px;
  color: var(--abirim-ink-muted);
  line-height: 1.5;
}

.type-badge,
.status-badge {
  border-color: rgba(91, 15, 22, 0.18);
  background: rgba(255, 255, 255, 0.25);
}

.schedule-item.is-cancelled {
  opacity: 0.58;
  -webkit-filter: grayscale(0.85);
          filter: grayscale(0.85);
}

@media (max-width: 767px) {
  .page-chapter-title {
    margin-top: 2.5rem;
  }
  .history-portrait {
    float: none;
    width: min(100%, 420px);
    margin: 22px auto;
  }
  .howto-summary__grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .map-embed iframe {
    height: 340px;
  }
  .activity-row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .activity-row__img {
    height: clamp(220px, 58vw, 330px);
  }
  .activity-row__img img {
    min-height: 0;
  }
  .activity-row__body,
  html[dir=rtl] .activity-row__body {
    padding: 16px 46px 18px 16px;
  }
  html[dir=rtl] .activity-row__body {
    padding-inline: 46px 16px;
  }
  .activity-detail__lead {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .activity-detail__cover {
    max-width: 520px;
    margin-inline: auto;
  }
  .activity-facts__grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .activity-detail__actions .internal-action {
    width: min(100%, 360px);
  }
  .activity-gallery {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .program-years,
  .days-nav,
  .type-filter {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .schedule-item {
    -ms-grid-columns: 88px 9px 34px 9px minmax(0, 1fr);
    grid-template-columns: 88px 34px minmax(0, 1fr);
    gap: 9px;
    padding: 12px 10px;
  }
  .schedule-time {
    font-size: 0.88rem;
  }
  .schedule-icon img {
    width: 26px;
    height: 26px;
  }
}
@media (max-width: 480px) {
  .howto-actions {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .internal-action {
    width: 100%;
  }
  .activity-row__title {
    font-size: 1.35rem;
  }
  .activity-gallery__item img {
    height: 110px;
  }
  .schedule-item {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .schedule-icon {
    display: none;
  }
  .schedule-time {
    font-size: 0.95rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .activity-row,
  .activity-row__img img,
  .activity-gallery__item img,
  .schedule-item {
    -webkit-transition: none;
    transition: none;
  }
  .activity-row:hover,
  .schedule-item:hover {
    -webkit-transform: none;
            transform: none;
  }
}
/* HEMA и билеты */
.hema-page {
  max-width: 820px;
  margin-inline: auto;
  font-family: var(--font-sans-serif);
  line-height: 1.72;
}

.hema-contact {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 250px 24px minmax(0, 1fr);
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 700px;
  margin: 34px auto;
  padding: 18px;
  border: 1px solid rgba(91, 15, 22, 0.16);
  border-radius: 10px;
  background: var(--abirim-parchment-2);
}

.hema-contact__portrait {
  margin: 0;
}

.hema-contact__portrait img {
  display: block;
  width: 100%;
  height: auto;
}

.hema-contact__portrait figcaption {
  margin-top: 5px;
  color: var(--abirim-ink-muted);
  font-size: 0.72rem;
  font-style: italic;
}

.hema-contact p {
  margin: 0;
}

.hema-photo {
  max-width: 700px;
  margin: 34px auto 0;
}

.hema-photo img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-box-shadow: 0 10px 26px rgba(62, 10, 16, 0.14);
          box-shadow: 0 10px 26px rgba(62, 10, 16, 0.14);
}

.tickets-page {
  display: -ms-grid;
  display: grid;
  gap: 24px;
}

.tickets-page__intro {
  max-width: 760px;
  margin-inline: auto;
  color: var(--abirim-ink-muted);
  line-height: 1.65;
}

@media (max-width: 575px) {
  .hema-contact {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .hema-contact__portrait {
    width: min(250px, 100%);
    margin-inline: auto;
  }
}
@media (max-width: 575px) {
  .page-chapter-title,
  .next-event-card {
    margin-inline: 16px;
  }
  .history-page,
  .howto-page,
  .activities-page,
  .activity-detail,
  .program-page,
  .hema-page,
  .tickets-page,
  .privacy-page {
    padding-inline: 16px;
  }
}
/* Accessibility statement */
.accessibility-page {
  max-width: 820px;
  margin-inline: auto;
}

.accessibility-page section + section {
  margin-top: 30px;
}

.accessibility-lead {
  font-size: 1.08rem;
  line-height: 1.75;
  color: var(--abirim-ink);
}

.accessibility-list {
  display: -ms-grid;
  display: grid;
  gap: 8px;
  -webkit-padding-start: 1.4rem;
          padding-inline-start: 1.4rem;
}

.accessibility-contact {
  padding: 14px 16px;
  -webkit-border-start: 4px solid var(--abirim-gold);
          border-inline-start: 4px solid var(--abirim-gold);
  background: rgba(250, 241, 218, 0.72);
}

.accessibility-updated {
  margin-top: 34px;
  color: var(--abirim-ink-muted);
  font-size: 0.88rem;
  font-style: italic;
}

/* Privacy policy */
.privacy-page {
  max-width: 820px;
  margin-inline: auto;
}

.privacy-page section + section {
  margin-top: 30px;
}

.privacy-lead {
  font-size: 1.08rem;
  line-height: 1.75;
  color: var(--abirim-ink);
}

.privacy-contact {
  padding: 14px 16px;
  -webkit-border-start: 4px solid var(--abirim-gold);
          border-inline-start: 4px solid var(--abirim-gold);
  background: rgba(250, 241, 218, 0.72);
}

.privacy-updated {
  margin-top: 34px;
  color: var(--abirim-ink-muted);
  font-size: 0.88rem;
  font-style: italic;
}

/* External map is loaded only after an explicit user action. */
.map-embed--private {
  min-height: 320px;
}

.map-embed__placeholder {
  display: -ms-grid;
  display: grid;
  min-height: 320px;
  place-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 14px;
  padding: 28px;
  text-align: center;
  color: var(--abirim-ink-muted);
  background: linear-gradient(145deg, rgba(250, 241, 218, 0.9), rgba(243, 230, 200, 0.78));
}

.map-embed__placeholder .fa {
  color: var(--abirim-spine);
  font-size: 2.4rem;
}

.map-embed__placeholder p {
  max-width: 560px;
  margin: 0;
}
/*# sourceMappingURL=styles.css.map */