/* Frozen theme: только то, чего нет в CSS сайта для нашей разметки. */
.blog-body img { max-width: 100%; height: auto; }
.blog-body figure { margin: 0 0 1rem; }
.blog-body table { width: 100%; border-collapse: collapse; margin: 0 0 1rem; }
.blog-body th, .blog-body td { padding: .5rem; border: 1px solid #dee2e6; vertical-align: top; }
.blog-posts .blog-post { margin-bottom: 2rem; }
.blog-posts .blog-post-image { width: 100%; height: auto; display: block; margin-bottom: .75rem; }
.blog-posts .blog-post-title { font-size: 1.35rem; margin: 0 0 .25rem; }
.blog-posts .blog-post-excerpt { margin: .5rem 0 0; }
.blog-sidebar-categories ul, .blog-recent-posts ul { list-style: none; padding: 0; margin: 0; }
.blog-sidebar-categories li, .blog-recent-posts li { padding: .35rem 0; }
.blog-pagination { margin: 1rem 0 2rem; }
.blog-pagination .page-numbers { display: inline-block; padding: .35rem .7rem; margin-right: .25rem; border: 1px solid #dee2e6; }
.blog-pagination .page-numbers.current { font-weight: 700; }
.mobile-navigation, .basket-preview { display: none !important; }
/* Байлайн editorial-authors (класс = <prefix>-byline, префикс на каждом сайте свой): плагин даёт .95em от контейнера — фиксируем размер мета-строки сайта. */
.blog-post-header [class*="-byline"] { font-size: 14px; margin: 0 0 20px; }
.blog-post-header [class*="-byline"] p { margin: 0; }

/* Разделы домена под пунктом раздела (14.09, сабсайт = раздел): выпадашка по hover в цветах меню сайта (золото #d8b43f / белый). */
.mainmenu > li.fz-has-sub { position: relative; }
.mainmenu > li > .fz-sub { display: none; position: absolute; top: 100%; left: 0; z-index: 1000; min-width: 14rem; margin: 0; padding: .5rem 0; list-style: none; background: #fff; border: 1px solid rgba(0,0,0,.15); box-shadow: 0 6px 16px rgba(0,0,0,.15); visibility: visible; opacity: 1; }
.mainmenu > li.fz-has-sub:hover > .fz-sub, .mainmenu > li.fz-has-sub:focus-within > .fz-sub { display: block; }
.mainmenu .fz-sub a { display: block; padding: .6rem 1.25rem; color: #333; font-weight: 600; text-decoration: none; white-space: nowrap; }
.mainmenu .fz-sub a:hover, .mainmenu .fz-sub a.fz-cur { color: #d8b43f; }
.fz-mobile-nav .fz-sub { list-style: none; margin: 0; padding: 0 0 0 1rem; }
.fz-mobile-nav .fz-sub li a { font-weight: 400; }

/* Мобильное меню без JS (см. freeze-theme.py): checkbox + label вместо кнопки-бургера. */
.fz-nav-toggle { display: none; }
/* Символ ☰ в шапке сайта не отрисовывается (кнопка у них рисовалась скриптом) — рисуем полоски сами. */
/* Кнопку рисуем сами и ставим в угол шапки: стили сайта двигают .navbar-toggler top-смещением
   под блок логотипа, где её перекрывают. Иконка — SVG фоном, чтобы не зависеть от шрифтов. */
/* В потоке ряда меню (ряд под шапкой белый): top/left обнулены, чтобы стили сайта не утащили
   кнопку под логотип; ряд получает высоту кнопки, панель раскрывается под ней. */
label.navbar-toggler { position: relative !important; top: 0 !important; left: 0 !important; margin: 4px 0 4px 10px !important; padding: 0 !important; width: 44px; height: 40px; border: 0; font-size: 0 !important; line-height: 0; cursor: pointer; z-index: 2; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='18' viewBox='0 0 24 18'%3E%3Cpath fill='%23fff' d='M0 0h24v2H0zM0 8h24v2H0zM0 16h24v2H0z'/%3E%3C/svg%3E") center / 24px 18px no-repeat !important; }
label.navbar-toggler::before, label.navbar-toggler::after { content: none !important; }
#fz-nav:checked ~ label.navbar-toggler { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='18' viewBox='0 0 24 18'%3E%3Cpath fill='%23d4af37' d='M0 0h24v2H0zM0 8h24v2H0zM0 16h24v2H0z'/%3E%3C/svg%3E") !important; }
.fz-mobile-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 1030; background: #fff; border-top: 1px solid #ddd; box-shadow: 0 8px 16px rgba(0,0,0,.15); padding: .25rem 1rem .5rem; text-align: left; }
#fz-nav:checked ~ .fz-mobile-nav { display: block; }
.fz-mobile-nav ul { list-style: none; margin: 0; padding: 0; }
.fz-mobile-nav li a { display: block; padding: .75rem 0; border-bottom: 1px solid #eee; color: #333; font-weight: 600; text-decoration: none; }
.fz-mobile-nav li:last-child a { border-bottom: 0; }
@media (min-width: 992px) { .fz-mobile-nav { display: none !important; } }
