﻿/* WordPress + Artisteer bridge */
body {
  background: #fff;
  min-width: 0 !important;
}

/* Admin bar: Artisteer .quicklinks must not restyle #wp-toolbar */
#wpadminbar,
#wpadminbar * {
  box-sizing: content-box;
}
#wpadminbar #wp-toolbar.quicklinks,
#wpadminbar .quicklinks {
  background: transparent !important;
  background-color: transparent !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  overflow: visible !important;
}
#wpadminbar .ab-top-menu > li {
  float: left !important;
}
html.admin-bar {
  margin-top: 32px !important;
}
@media screen and (max-width: 782px) {
  html.admin-bar {
    margin-top: 46px !important;
  }
}

#art-main {
  min-width: 0 !important;
  max-width: 100%;
  overflow-x: hidden;
}

/* Header: one banner image (Artisteer multi-layer duplicates = vertical "ghost") */
.art-header {
  position: relative !important;
  width: 970px !important;
  max-width: 100% !important;
  /* Match banner image height (978×175) — no blue strip under photo */
  height: 175px !important;
  /* Gap like original site (TZ-20) */
  margin: 0 auto 5px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background-color: #01b2fd !important;
  /* Single layer (multi-layer Artisteer ghosts). Native 978×175 — no stretch (TZ-21). */
  background-image: url("../artisteer/images/object453559996.png") !important;
  background-position: 0 0 !important;
  background-repeat: no-repeat !important;
  background-size: auto !important;
  border-radius: 12px 0 0 0;
}

/* Phone / hours — under slogan, clear of logo icon */
.art-header > .art-nostyle.object1164788583 {
  position: absolute !important;
  top: 100px !important;
  left: 118px !important;
  right: auto !important;
  width: auto !important;
  max-width: 420px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 102 !important;
  line-height: 1.25 !important;
}

/* Logo (white on black → screen blend) */
.art-header > .art-nostyle.logolink {
  position: absolute !important;
  top: 6px !important;
  left: 6px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  z-index: 103 !important;
}

/* Reset nested Artisteer .logolink { top:-154px } that hid the icon */
.art-header .custom.logolink,
.art-header .logolink .custom,
.art-header .logolink p {
  position: static !important;
  top: auto !important;
  left: auto !important;
  margin: 0 !important;
  transform: none !important;
}

.art-header .logolink img {
  display: block;
  width: 92px;
  height: 78px;
  max-width: none;
  object-fit: cover;
  object-position: left center;
  mix-blend-mode: screen;
}

/* Title + slogan — right of icon, above phone */
.art-header .art-shapes {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: visible !important;
  z-index: 101 !important;
}

.art-header .art-headline {
  position: absolute !important;
  top: 22px !important;
  left: 118px !important;
  margin: 0 !important;
  transform: none !important;
  white-space: nowrap !important;
  z-index: 101 !important;
}

.art-header .art-slogan {
  position: absolute !important;
  top: 58px !important;
  left: 118px !important;
  margin: 0 !important;
  transform: none !important;
  white-space: nowrap !important;
  z-index: 101 !important;
}

.art-nav {
  width: 970px !important;
  max-width: 100%;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
}

.art-hmenu .art-menu-image {
  display: inline-block;
  vertical-align: middle;
  width: 16px;
  height: 16px;
}

.art-content img,
.art-postcontent img,
.art-blockcontent img {
  max-width: 100% !important;
  height: auto !important;
}

.art-post .alignleft {
  float: left;
  margin: 0 1em 0.5em 0;
}

.art-post .alignright {
  float: right;
  margin: 0 0 0.5em 1em;
}

.art-post .aligncenter {
  display: block;
  margin: 0.5em auto;
}

.art-header .object1164788583 h2 {
  margin: 0;
  font-size: 19.5px;
  font-weight: 700;
  color: #e7e6e6;
  line-height: 1.2;
}

.art-header .object1164788583 p {
  margin: 0;
  color: #e7e6e6;
  line-height: 1.35;
}

.art-nav .art-hmenu {
  text-align: left;
}

.art-hmenu .current-menu-item > a,
.art-hmenu .current_page_item > a,
.art-hmenu .current-menu-ancestor > a {
  /* keep Artisteer active styles when WP classes present */
}

.art-menu-toggle {
  display: none;
  background: #feca03;
  border: 0;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 12px 14px;
  cursor: pointer;
  width: 100%;
  text-align: left;
  font-size: 14px;
  font-family: Arial, Helvetica, sans-serif;
  position: relative;
  z-index: 120;
}

.art-menu-toggle::after {
  content: "☰";
  float: right;
  font-weight: 400;
  font-size: 18px;
  line-height: 1;
}

.art-nav.is-open .art-menu-toggle::after {
  content: "✕";
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.bl-wp-search {
  display: none;
}

#fpssContainer148.fpss-template-uncut .slide-loading {
  display: none !important;
}

/* FPSS lite — slide visibility */
#fpssContainer148.fpss-template-uncut .slides-wrapper .slides {
  position: relative;
  width: 490px;
  height: 320px;
}

#fpssContainer148.fpss-template-uncut .slides .slide {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  z-index: 1;
  transition: opacity 0.45s ease;
  pointer-events: none;
}

#fpssContainer148.fpss-template-uncut .slides .slide.is-active {
  opacity: 1;
  z-index: 2;
  pointer-events: auto;
}

#fpssContainer148.fpss-template-uncut .slides .slide img {
  display: block;
  width: 490px;
  height: 320px;
  object-fit: cover;
}

#fpssContainer148.fpss-template-uncut {
  margin: 0 0 16px;
}

#fpssContainer148.fpss-template-uncut::after {
  content: "";
  display: table;
  clear: both;
}

/* Content / sidebar like Artisteer sheet */
.art-content-layout .art-layout-cell.art-content {
  width: auto;
}

.art-content-layout .art-layout-cell.art-sidebar1 {
  width: 240px;
}

/* Home menu columns — reinforce Artisteer floats */
.home .art-postcontent .art-nostyle.menu1,
.home .art-postcontent .art-nostyle.menu2,
.home .art-postcontent .art-nostyle.menu3 {
  float: left !important;
  width: 245px !important;
  box-sizing: border-box;
  padding-right: 10px;
}

.home .art-postcontent .art-nostyle.menu3 {
  width: 200px !important;
}

.home .art-postcontent .art-nostyle.menu4 {
  clear: both !important;
  float: none !important;
  width: 100% !important;
}

.home .art-postcontent .art-nostyle.menu5 {
  clear: both !important;
  float: none !important;
  width: 100% !important;
}

.home .art-postcontent .art-nostyle.menu1 h3,
.home .art-postcontent .art-nostyle.menu2 h3,
.home .art-postcontent .art-nostyle.menu3 h3,
.home .art-postcontent .art-nostyle.menu4 h3,
.home .art-postcontent .art-nostyle.menu5 h3 {
  font-style: normal;
  font-size: 16px;
  font-family: Georgia, "Times New Roman", Times, serif;
  color: #3b6197;
  font-weight: normal;
  margin: 0;
}

.home .art-postcontent .art-nostyle.menu1 ul.menu,
.home .art-postcontent .art-nostyle.menu2 ul.menu,
.home .art-postcontent .art-nostyle.menu3 ul.menu,
.home .art-postcontent .art-nostyle.menu4 ul.menu,
.home .art-postcontent .art-nostyle.menu5 ul.menu {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}

.home .art-postcontent .art-nostyle.menu1 ul.menu a,
.home .art-postcontent .art-nostyle.menu2 ul.menu a,
.home .art-postcontent .art-nostyle.menu3 ul.menu a,
.home .art-postcontent .art-nostyle.menu4 ul.menu a,
.home .art-postcontent .art-nostyle.menu5 ul.menu a {
  color: #35516f;
  text-decoration: none;
  font-size: 13px;
  line-height: 1.45;
}

.home .art-postcontent .art-nostyle.menu1 ul.menu a:hover,
.home .art-postcontent .art-nostyle.menu2 ul.menu a:hover,
.home .art-postcontent .art-nostyle.menu3 ul.menu a:hover,
.home .art-postcontent .art-nostyle.menu4 ul.menu a:hover,
.home .art-postcontent .art-nostyle.menu5 ul.menu a:hover {
  color: #01b2fd;
  text-decoration: underline;
}

.home .art-postcontent .art-nostyle.menu4 ul.menu li {
  display: inline-block;
  width: 245px;
  vertical-align: top;
}

.home .art-postcontent .art-nostyle.menu4 ul.menu li:nth-child(3n) {
  width: 200px;
}

.home .art-postcontent .art-nostyle.menu5 ul.menu {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  column-count: 3;
  column-gap: 24px;
  -webkit-column-count: 3;
  -moz-column-count: 3;
}

.home .art-postcontent .art-nostyle.menu5 ul.menu li {
  display: block;
  width: auto;
  margin: 0 0 6px;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
}

.home .art-postcontent .art-nostyle.menu5 ul.menu .separator {
  color: #333;
  font-size: 13px;
}

/* Horizontal ad: full sheet width, height 250px */
.art-sheet > .bl-banner-horizontal {
  width: 100%;
  margin: 0 0 10px;
  padding: 0;
  background: #01b2fd;
  line-height: 0;
  text-align: center;
  overflow: hidden;
}

.bl-banner-horizontal__link {
  display: block;
  line-height: 0;
}

.bl-banner-horizontal__img,
.bl-banner-horizontal img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 250px;
  object-fit: fill;
  margin: 0 auto;
}

/* In-content / under-pagination banner (article width, 250px) */
.bl-banner-content {
  clear: both;
  width: 100%;
  max-width: 100%;
  height: 250px;
  margin: 16px 0 20px;
  padding: 0;
  line-height: 0;
  text-align: center;
  overflow: hidden;
  box-sizing: border-box;
  background: #01b2fd;
}

.bl-banner-content__link {
  display: block;
  line-height: 0;
  height: 250px;
}

.bl-banner-content__img,
.bl-banner-content img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 250px !important;
  min-height: 250px;
  max-height: 250px;
  object-fit: fill;
  margin: 0 auto;
}

#art-main {
  overflow: visible !important;
}

.nspArt {
  /* no extra border — breaks Artisteer/GK home grid */
  margin-bottom: 10px;
  padding-bottom: 0;
  border-bottom: 0;
}

.home #gkTab-90 {
  clear: both !important;
  float: none !important;
  width: 100% !important;
  margin-left: 0 !important;
}

#gkTab-113 .gkTabContainer0,
#gkTab-113 .gkTabContainer1,
#gkTab-113 .gkTabContainer2 {
  min-height: 0;
}

.nspArt .nspInfo {
  font-size: 11px;
  color: #888;
  margin: 0 0 4px;
}

.nspArt .nspHeader {
  margin: 0 0 4px;
  font-size: 13px;
  font-weight: 700;
}

.nspArt .nspHeader a {
  color: #3b6197;
}

.nspArt .nspText {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
  color: #4e4e4e;
}

/* Online consultation (FSF) */
.fsf_main tr,
.fsf_main td {
  border: none;
  padding: 1px;
}

.fsf_main .inp {
  margin: 8px 0;
}

.fsf_main .inp label {
  display: inline-block;
  min-width: 160px;
  vertical-align: top;
}

.fsf_main #qa_buttonFF {
  margin-left: 225px;
}

.fsf_main .g-recaptcha,
.bl-contact-form .g-recaptcha {
  margin: 12px 0;
}

.fsf_main #messFF,
.fsf_main .qa_mess {
  display: none;
  color: #2a7a2a;
  margin: 8px 0;
}

.fsf_faq_inline {
  margin: 12px 0;
  padding: 10px 0;
  border-bottom: 1px solid #e5e5e5;
}

.fsf_faq_question {
  font-size: 13px;
  line-height: 1.4;
}

.fsf_faq_answer {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.45;
  color: #444;
}

/* Contact form */
.bl-contact-form__row {
  margin: 0 0 10px;
}

.bl-contact-form input[type="text"],
.bl-contact-form input[type="email"],
.bl-contact-form textarea {
  max-width: 100%;
}

.bl-contact-form--ok {
  color: #2a7a2a;
  margin: 10px 0;
}

.bl-contact-form--err {
  color: #a33;
  margin: 10px 0;
}

/* Categories on Статьи */
.categories-module.art-block {
  list-style: none;
  margin: 0;
  padding: 0;
}
.categories-module.art-block li {
  margin: 6px 0;
}
.categories-module.art-block h4 {
  margin: 0;
  font-size: 14px;
}
.categories-module.art-block a {
  color: #3b6197;
}
.logoped-blog-list .art-postheader {
  font-size: 16px;
  margin: 8px 0 4px;
}
.logoped-blog-list .art-postdateicon {
  font-size: 11px;
  color: #777;
}
.logoped-blog-list .items-row {
  margin: 0 0 14px;
  clear: both;
  overflow: hidden;
}
.fsf_main .empty_field {
  border-color: #d8512d !important;
}
.fsf_main #messFF.bl-show,
.fsf_main .qa_mess.bl-show {
  display: block;
}

.search-page .search-form {
  margin: 12px 0 24px;
}
.search-page .search-field {
  width: 280px;
  max-width: 70%;
  padding: 6px 8px;
}
.search-page .search-submit {
  padding: 6px 14px;
  margin-left: 6px;
}

/* Site search (/poisk-po-sajtu/) */
.search .searchintro {
  margin: 12px 0;
}
.search .search-results {
  margin: 16px 0 8px;
}
.search .search-results .result-title {
  margin-top: 14px;
  font-weight: 700;
}
.search .search-results .result-category {
  margin: 2px 0 4px;
  color: #666;
}
.search .search-results .result-text {
  margin: 0 0 10px;
  line-height: 1.45;
}
.search .search-results .highlight {
  background: #fff3a0;
  color: inherit;
  padding: 0 1px;
}
.search .pagination ul {
  list-style: none;
  margin: 12px 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  justify-content: center;
}
.search .pagination .pagenav {
  display: inline-block;
  padding: 2px 6px;
}
.search .form-limit,
.search .counter {
  margin: 10px 0;
}
.search fieldset.word {
  margin-bottom: 10px;
}
.search fieldset.phrases {
  margin: 12px 0;
  border: 0;
  padding: 0;
}
.search .phrases-box {
  margin-bottom: 8px;
}
.search .phrases-box .radiobtn {
  margin-right: 12px;
}

/* News / blog list */
.blog .art-article img {
  max-width: 150px;
  height: auto;
}
.blog .pagination,
.pagination.logoped-pagination,
.fsf_pagination.logoped-pagination {
  clear: both;
  text-align: center;
  margin: 10px auto;
}
.blog .pagination ul,
.pagination.logoped-pagination ul,
.fsf_pagination.logoped-pagination ul {
  list-style: none;
  margin: 16px auto 8px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  justify-content: center;
  float: none;
}
.blog .pagination ul li,
.pagination.logoped-pagination ul li,
.fsf_pagination.logoped-pagination ul li {
  float: none;
  display: inline-block;
}
.blog .pagination .pagenav,
.pagination.logoped-pagination .pagenav,
.fsf_pagination.logoped-pagination .pagenav,
.blog .pagination ul li a,
.blog .pagination ul li span,
.pagination.logoped-pagination ul li a,
.pagination.logoped-pagination ul li span,
.fsf_pagination.logoped-pagination ul li a,
.fsf_pagination.logoped-pagination ul li span {
  display: inline-block;
  float: none;
  padding: 2px 6px;
}
.pagination.logoped-pagination .pagination-dots .pagenav {
  background: none;
  border: 0;
  box-shadow: none;
  cursor: default;
  min-width: 0;
  padding: 2px 4px;
  color: #666 !important;
}
.pagination-counter,
.fsf_counter {
  margin: 0 0 16px;
  color: #666;
  text-align: center;
  clear: both;
}
.fsf_pagination {
  margin: 16px 0 8px;
  clear: both;
  text-align: center;
}
.bl-contact-form--ok {
  color: #1a7a1a;
  font-weight: 700;
}
.bl-contact-form--err {
  color: #d8512d;
  font-weight: 700;
}
.qa_mess.bl-show {
  display: block !important;
}

/* Submenus: Artisteer dropdowns */
.art-nav,
.desktop-nav.art-nav {
  overflow: visible !important;
}

.desktop-nav ul.art-hmenu > li {
  position: relative;
}

.desktop-nav ul.art-hmenu > li > ul {
  visibility: hidden !important;
  opacity: 0;
  pointer-events: none;
  display: block !important;
}

.desktop-nav ul.art-hmenu > li.deeper:hover > ul,
.desktop-nav ul.art-hmenu > li.parent:hover > ul,
.desktop-nav ul.art-hmenu > li.menu-item-has-children:hover > ul,
.desktop-nav ul.art-hmenu > li:hover > ul {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 1000;
  top: 100% !important;
}

/* Horizontal banner under menu (keep in sync with block above) */
.art-sheet > .bl-banner-horizontal {
  width: 100%;
  max-width: 100%;
  margin: 0 0 8px;
  box-sizing: border-box;
  text-align: center;
  line-height: 0;
  overflow: hidden;
  background: #01b2fd;
}

.bl-banner-horizontal__link {
  display: block;
  line-height: 0;
}

.bl-banner-horizontal__img,
.bl-banner-horizontal img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 250px;
  object-fit: fill;
  margin: 0 auto;
}

/* Vertical sidebar banners: flush left, gap between them (no merge) */
.art-sidebar1 .bl-sidebar-banner {
  margin: 0 0 10px !important;
  padding: 0 !important;
  float: none !important;
  text-align: left !important;
  overflow: hidden;
}

.art-sidebar1 .bl-sidebar-banner .art-blockcontent,
.art-sidebar1 .bl-sidebar-banner .bannergroup,
.art-sidebar1 .bl-sidebar-banner .banneritem,
.art-sidebar1 .bl-sidebar-banner .custom,
.art-sidebar1 .bl-sidebar-banner p {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: left !important;
  line-height: 0;
}

.bl-banner-vertical__link {
  display: block;
  line-height: 0;
  width: 100%;
}

.bl-banner-vertical__img,
.bl-banner-vertical img,
.art-sidebar1 .bl-sidebar-banner img {
  display: block !important;
  width: 100% !important;
  max-width: 240px !important;
  height: auto !important;
  margin: 0 !important;
  float: none !important;
  object-fit: contain;
  box-sizing: border-box;
}

.art-sidebar1 .bannergroup,
.art-sidebar1 .banneritem {
  margin: 0;
  padding: 0;
  text-align: left;
}

.art-sidebar1 .banneritem img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0;
}

/* Most Read / sidebar blocks with header — light plate + contour like old site */
.art-sidebar1 .art-block:has(> .art-blockheader),
.art-sidebar1 .art-block.bl-most-read {
  background-color: #f4f8fb;
  border: 1px solid #dce4ec;
  box-sizing: border-box;
  padding-bottom: 6px;
}

.art-sidebar1 .art-block:has(> .art-blockheader) > .art-blockheader,
.art-sidebar1 .art-block.bl-most-read > .art-blockheader {
  margin-top: 0;
  margin-bottom: 7px;
}

/* Legacy promo strip (kept for old markup) */
.art-sheet > .bl-top-banner {
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
  overflow: hidden;
  background: linear-gradient(90deg, #1e4f8a 0%, #2a6cb0 45%, #feca03 100%);
  color: #fff;
}

.bl-top-banner__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px;
  flex-wrap: wrap;
  box-sizing: border-box;
  max-width: 100%;
}

.bl-top-banner__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 600;
  flex: 1 1 240px;
  min-width: 0;
}

.bl-top-banner__text strong {
  font-size: 16px;
  letter-spacing: 0.02em;
}

.bl-top-banner__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  flex: 0 1 auto;
}

.bl-top-banner__actions a {
  display: inline-block;
  padding: 7px 14px;
  border-radius: 3px;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
}

.bl-top-banner__actions a.bl-btn-primary {
  background: #feca03;
  color: #1a1a1a;
}

.bl-top-banner__actions a.bl-btn-ghost {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.55);
}

.art-articlebody {
  overflow-x: auto;
  overflow-y: visible;
  max-width: 100%;
}

.art-articlebody::after {
  content: "";
  display: table;
  clear: both;
}

/*
 * Editor / Word-pasted content: readable tables, text, lists
 * (bare <table> from Word otherwise has no borders/spacing).
 */
.art-articlebody,
.art-postcontent .art-articlebody {
  font-size: 13px;
  line-height: 1.45;
  color: #333;
}

.art-articlebody > *:first-child {
  margin-top: 0;
}

.art-articlebody p,
.art-articlebody .MsoNormal {
  margin: 0 0 0.75em;
  line-height: 1.45;
}

.art-articlebody h1,
.art-articlebody h2,
.art-articlebody h3,
.art-articlebody h4 {
  margin: 1em 0 0.5em;
  line-height: 1.25;
  color: #35516f;
  font-weight: 700;
}

.art-articlebody ul,
.art-articlebody ol {
  margin: 0.5em 0 1em 1.25em;
  padding: 0;
}

.art-articlebody li {
  margin: 0.25em 0;
}

.art-articlebody img {
  max-width: 100%;
  height: auto;
}

.art-articlebody table,
.art-postcontent table:not(.bl-specialist-card),
.art-content .art-articlebody table {
  width: 100% !important;
  max-width: 100%;
  border-collapse: collapse !important;
  border: 1px solid #9cafc4 !important;
  margin: 12px 0 16px !important;
  background: #fff;
  table-layout: auto;
}

.art-articlebody table td,
.art-articlebody table th,
.art-postcontent table:not(.bl-specialist-card) td,
.art-postcontent table:not(.bl-specialist-card) th {
  border: 1px solid #9cafc4 !important;
  padding: 6px 8px !important;
  vertical-align: top;
  text-align: left;
  word-break: break-word;
  overflow-wrap: break-word;
  font-size: 12px;
  line-height: 1.35;
}

.art-articlebody table th,
.art-postcontent table:not(.bl-specialist-card) th {
  background: #e4edf5;
  font-weight: 700;
  color: #35516f;
}

.art-articlebody table tr:nth-child(even) td {
  background: #f7fafc;
}

/*
 * TZ-35: Word price tables — don't let long service names crush
 * duration/price columns. Cols 2+ shrink-wrap to header text.
 */
.art-articlebody table td:nth-child(n + 2):not([colspan]),
.art-articlebody table th:nth-child(n + 2):not([colspan]),
.art-postcontent table:not(.bl-specialist-card) td:nth-child(n + 2):not([colspan]),
.art-postcontent table:not(.bl-specialist-card) th:nth-child(n + 2):not([colspan]) {
  width: 1% !important;
  min-width: 5.5em;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-align: center;
  vertical-align: middle;
}

.art-articlebody table td:first-child:not([colspan]),
.art-articlebody table th:first-child:not([colspan]),
.art-postcontent table:not(.bl-specialist-card) td:first-child:not([colspan]),
.art-postcontent table:not(.bl-specialist-card) th:first-child:not([colspan]) {
  width: auto !important;
  white-space: normal !important;
  text-align: left;
}

/* Keep table width fluid; do NOT zero out cell width= from Word */
.art-articlebody > table[width] {
  width: 100% !important;
}

/*
 * TZ-36: responsive price / Tomatis tables → labeled cards on narrow screens.
 * Full width, no horizontal scroll, each field keeps its column title.
 */
.bl-table-scroll {
  /* legacy wrapper from older builds — unwrap via JS; keep harmless */
  max-width: 100%;
}

.bl-table-scroll__hint {
  display: none !important;
}

.bl-price-table {
  width: 100% !important;
  max-width: 100%;
  border: 0 !important;
  background: transparent !important;
  margin: 8px 0 14px !important;
}

@media (max-width: 980px) {
  .bl-price-table,
  .bl-price-table > tbody,
  .bl-price-table > thead {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .bl-price-table tr.bl-table-head,
  .bl-price-table tr.bl-cell-skip {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
  }

  .bl-price-table tr.bl-table-section {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .bl-price-table tr.bl-table-section td,
  .bl-price-table tr.bl-table-section th {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-radius: 4px;
    background: #e4edf5 !important;
    color: #35516f !important;
    font-family: Tahoma, Arial, Helvetica, sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .bl-price-table tr.bl-table-section td::before,
  .bl-price-table tr.bl-table-section th::before {
    display: none !important;
    content: none !important;
  }

  .bl-price-table tr.bl-table-card {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 1px solid #c5d4e2 !important;
    border-radius: 4px;
    background: #fff !important;
    box-shadow: none !important;
  }

  .bl-price-table tr.bl-table-card td,
  .bl-price-table tr.bl-table-card th,
  .bl-price-table tr.bl-table-card td:nth-child(n),
  .bl-price-table tr.bl-table-card th:nth-child(n),
  .art-articlebody .bl-price-table tr.bl-table-card td:nth-child(n + 2),
  .art-articlebody .bl-price-table tr.bl-table-card th:nth-child(n + 2),
  .art-postcontent .bl-price-table tr.bl-table-card td:nth-child(n + 2),
  .art-postcontent .bl-price-table tr.bl-table-card th:nth-child(n + 2) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #e4edf5 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #333 !important;
    text-align: left !important;
    text-indent: 0 !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    overflow: visible !important;
    font-family: Tahoma, Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    line-height: 1.4 !important;
  }

  .bl-price-table tr.bl-table-card td.bl-cell-empty,
  .bl-price-table tr.bl-table-card th.bl-cell-empty {
    display: none !important;
  }

  .bl-price-table tr.bl-table-card td p,
  .bl-price-table tr.bl-table-card th p,
  .bl-price-table tr.bl-table-card td span,
  .bl-price-table tr.bl-table-card th span,
  .bl-price-table tr.bl-table-card td b,
  .bl-price-table tr.bl-table-card th b,
  .bl-price-table tr.bl-table-card td strong,
  .bl-price-table tr.bl-table-card th strong {
    display: inline !important;
    max-width: 100% !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 400 !important;
    font-style: normal !important;
    line-height: inherit !important;
    text-align: left !important;
    text-indent: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  .bl-price-table tr.bl-table-card td p,
  .bl-price-table tr.bl-table-card th p {
    display: block !important;
    margin: 0 0 4px !important;
  }

  .bl-price-table tr.bl-table-card td p:last-child,
  .bl-price-table tr.bl-table-card th p:last-child {
    margin-bottom: 0 !important;
  }

  .bl-price-table tr.bl-table-card td:last-child,
  .bl-price-table tr.bl-table-card th:last-child {
    border-bottom: 0 !important;
  }

  .bl-price-table tr.bl-table-card td::before,
  .bl-price-table tr.bl-table-card th::before {
    content: attr(data-label);
    display: block;
    margin: 0 0 4px;
    padding: 0;
    color: #35516f;
    font-family: Tahoma, Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    line-height: 1.3 !important;
    letter-spacing: 0;
    text-transform: none;
    text-align: left !important;
    white-space: normal !important;
  }

  .bl-price-table tr.bl-table-card td.bl-cell-carried::after,
  .bl-price-table tr.bl-table-card th.bl-cell-carried::after {
    content: attr(data-filled);
    display: inline;
    font-weight: 400 !important;
  }

  .bl-price-table tr:nth-child(even) td {
    background: #fff !important;
  }
}

.art-content .nspArt.nspCol3 {
  float: left;
  width: 33.33%;
  box-sizing: border-box;
}

.art-content .nspArt .nspImageWrapper {
  display: block;
  clear: both;
  width: 100%;
  float: none;
}

.art-content .nspArt .nspImage {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  margin-bottom: 6px;
}

.art-content .nspArt .nspInfo1,
.art-content .nspArt .nspHeader {
  clear: both;
  width: 100%;
  float: none;
}

.art-content .nspArtScroll1::after,
.art-content .nspArtPage::after {
  content: "";
  display: table;
  clear: both;
}

.art-content .linkbox {
  clear: both;
  float: none;
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px dotted #01B2FD;
  text-align: left;
}

/* Avoid doubled borders on nested .linkbox / .custom */
.art-content .linkbox .linkbox,
.art-content .linkbox .custom,
.art-content .custom.linkbox {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

/* Home: section titles (Логопедия / Психология / ИЗО) left-aligned, clear floats */
.home #gkTab-90,
.home .art-postcontent > .art-nostyle.catbox,
.home .art-postcontent > .art-nostyle:has(> .custom > h3),
.home .art-postcontent > .art-nostyle:has(> .custom.catbox) {
  clear: both !important;
  float: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.home .art-postcontent .catbox,
.home .art-postcontent .custom.catbox,
.home .art-postcontent .custom > h3,
.home .art-postcontent .art-nostyle.catbox,
.home .art-postcontent .art-nostyle.linkbox,
.home .art-postcontent .linkbox .custom,
.home .art-postcontent .linkbox p {
  clear: both;
  float: none !important;
  width: 100%;
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-align: left !important;
}

.home .art-postcontent .custom > h3 a,
.home .art-postcontent .linkbox a {
  margin-left: 0;
  text-align: left;
}

.bl-article-search {
  margin-bottom: 10px;
}

.bl-article-search form.art-search {
  margin: 0 0 8px;
  position: relative;
}

.bl-article-search form.art-search input[type=submit],
.bl-article-search form.art-search .art-search-button {
  color: #fff !important;
  position: absolute;
  display: block;
  left: auto;
  right: 0;
  top: 0;
  border: none;
  background: url("../artisteer/images/searchicon.png") center center no-repeat;
  background-color: transparent;
  width: 24px;
  height: 100%;
  margin: 0;
  padding: 0;
  cursor: pointer;
  text-indent: -999em;
  overflow: hidden;
}

.bl-article-search form.art-search .art-search-button::before {
  content: none;
  display: none;
}

.bl-article-search form.art-search input[type=text] {
  padding-right: 28px;
}

.bl-map-embed {
  margin: 12px 0;
  max-width: 100%;
  overflow: hidden;
}

.bl-map-embed iframe {
  max-width: 100%;
}

.blog .subheading-category {
  color: #3b6197;
  font-size: 18px;
  font-weight: 700;
}

#vk_groups {
  min-height: 290px;
  position: relative;
  z-index: 1;
  overflow: visible;
}

#vk_groups iframe {
  position: relative !important;
  z-index: 2;
  pointer-events: auto !important;
}

.bl-vk-link {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.35;
}

.bl-vk-link a {
  color: #2a5885 !important;
  font-weight: 700;
  text-decoration: underline;
}

.art-footer {
  clear: both;
}

.art-footer p {
  margin: 8px 0;
}

#megamenubottom table {
  table-layout: auto;
}

#megamenubottom .bl-footer-counter {
  width: 100px;
  min-width: 100px;
  white-space: nowrap;
  padding: 8px 8px 4px 12px;
  text-align: right;
  vertical-align: bottom;
}

.bl-footer-counter__inner {
  display: inline-block;
  line-height: 0;
  width: 88px;
  min-width: 88px;
  min-height: 31px;
}

.bl-footer-counter__inner iframe,
.bl-footer-counter__inner img,
.bl-footer-counter__img {
  display: inline-block !important;
  width: 88px !important;
  height: 31px !important;
  max-width: none !important;
  vertical-align: bottom;
  border: 0;
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 980px) {
  html,
  body,
  #art-main {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html,
  body {
    overflow-x: hidden !important;
  }

  #art-main,
  .art-header,
  .art-nav,
  .desktop-nav.art-nav,
  .art-sheet,
  .art-layout-wrapper,
  .art-content-layout,
  .art-content-layout-row,
  .art-layout-cell {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .art-sheet {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    overflow-x: hidden !important;
  }

  .art-layout-cell.art-content,
  .art-layout-cell.art-sidebar1 {
    display: block !important;
    float: none !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .art-content-layout-row {
    display: block !important;
  }

  .art-content-layout {
    display: block !important;
  }

  /* Header adaptive — single banner, stack text on the left */
  .art-header {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 160px !important;
    margin-bottom: 5px !important;
    padding: 12px 12px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background-color: #01b2fd !important;
    background-image: url("../artisteer/images/object453559996.png") !important;
    background-position: right top !important;
    background-repeat: no-repeat !important;
    /* Keep aspect ratio — cover was stretching the family photo */
    background-size: auto 100% !important;
    border-radius: 12px 0 0 0 !important;
    isolation: isolate;
  }

  /* Adaptive header: light-blue scrim (readable white text, soft over photo) */
  .art-header::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(
      105deg,
      rgba(1, 178, 253, 0.88) 0%,
      rgba(80, 195, 250, 0.72) 42%,
      rgba(150, 220, 250, 0.45) 100%
    );
  }

  .art-header > * {
    position: relative;
    z-index: 2;
  }

  .art-header .art-shapes {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    order: 2;
    max-width: 70%;
    z-index: 2 !important;
  }

  .art-header .art-headline,
  .art-header .art-slogan {
    position: static !important;
    display: block !important;
    left: auto !important;
    top: auto !important;
    margin: 0 !important;
    transform: none !important;
    white-space: normal !important;
    line-height: 1.25 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35) !important;
  }

  .art-header .art-headline {
    font-size: 20px !important;
  }

  .art-header .art-slogan {
    font-size: 14px !important;
    margin-top: 4px !important;
  }

  .art-header > div.art-nostyle,
  .art-header > div.art-block,
  .art-header > div.art-post,
  .art-header > .art-nostyle.object1164788583,
  .art-header > .art-nostyle.logolink {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    max-width: 70% !important;
    height: auto !important;
    margin: 0 !important;
    z-index: 2 !important;
  }

  .art-header > .art-nostyle.object1164788583 {
    padding: 10px 0 0 !important;
    order: 3;
  }

  .art-header > .art-nostyle.logolink {
    padding: 0 0 8px !important;
    order: 1;
  }

  .art-header .object1164788583 h2,
  .art-header .object1164788583 p {
    color: #fff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  }

  .art-header .logolink img {
    width: 72px !important;
    height: 62px !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: left center !important;
    mix-blend-mode: screen;
  }

  .art-nav,
  .desktop-nav.art-nav {
    width: 100% !important;
    padding: 0 !important;
  }

  /* Horizontal / content banners: full visible image on any phone width */
  .art-sheet > .bl-banner-horizontal {
    margin-left: -8px !important;
    margin-right: -8px !important;
    width: calc(100% + 16px) !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .bl-banner-horizontal__link,
  .bl-banner-content__link {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    line-height: 0 !important;
  }

  .bl-banner-horizontal__img,
  .bl-banner-horizontal img,
  .bl-banner-content,
  .bl-banner-content__img,
  .bl-banner-content img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  .bl-banner-content {
    height: auto !important;
    margin-top: 20px !important;
    margin-bottom: 16px !important;
  }

  #fpssContainer148.fpss-template-uncut {
    width: 100%;
    height: auto;
  }

  #fpssContainer148.fpss-template-uncut .slides-wrapper,
  #fpssContainer148.fpss-template-uncut .slides-wrapper .slides .slide {
    width: 100%;
    max-width: 100%;
  }

  #fpssContainer148.fpss-template-uncut .navigation-wrapper {
    width: 100%;
    height: auto;
  }

  .art-hmenu > li:nth-child(2) > ul {
    width: auto !important;
    max-width: 100%;
  }

  .art-sidebar1 img,
  .bannergroup img,
  .art-blockcontent img {
    max-width: 100%;
    height: auto;
  }

  .art-postcontent table,
  .art-content table,
  .entry-content table {
    width: 100% !important;
    max-width: 100%;
  }

  .art-postcontent table img,
  .art-content table img {
    max-width: 100%;
    height: auto;
  }
}

@media (max-width: 760px) {
  .art-header {
    min-height: 0 !important;
    background-position: 65% top !important;
  }

  .art-header::before {
    background: linear-gradient(
      180deg,
      rgba(1, 178, 253, 0.9) 0%,
      rgba(70, 190, 248, 0.78) 50%,
      rgba(140, 215, 250, 0.55) 100%
    );
  }

  .art-header .art-shapes,
  .art-header > .art-nostyle.object1164788583,
  .art-header > .art-nostyle.logolink {
    max-width: 100% !important;
  }

  .art-header .art-headline {
    font-size: 18px !important;
  }

  .art-menu-toggle {
    display: block !important;
    width: 100%;
  }

  /* Beat Artisteer ul.art-hmenu { display:inline-block; float:left } */
  .art-nav:not(.is-open) ul.art-hmenu,
  .art-nav:not(.is-open) .art-hmenu {
    display: none !important;
    float: none !important;
  }

  .art-nav.is-open ul.art-hmenu,
  .art-nav.is-open .art-hmenu {
    display: block !important;
    float: none !important;
    width: 100% !important;
    background: #feca03;
    text-align: left;
    margin: 0 !important;
    padding: 0 !important;
  }

  .art-hmenu > li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    position: relative !important;
    margin: 0 !important;
  }

  .art-hmenu > li > a {
    display: block !important;
    text-align: left !important;
    padding: 10px 14px !important;
    height: auto !important;
    line-height: 1.4 !important;
  }

  .art-hmenu > li > .art-hmenu-separator {
    display: none !important;
  }

  /* Услуги dropdown: flush full-width list (no Artisteer indent / column offset) */
  .art-hmenu > li:nth-child(2) > ul,
  .art-hmenu > li.menu-uslugi > ul,
  .desktop-nav ul.art-hmenu > li > ul,
  .art-nav ul.art-hmenu > li > ul {
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    display: none !important;
    box-shadow: none !important;
    background: #fff7c2 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    text-align: left !important;
    font-size: 0 !important; /* kill whitespace gaps between inline/block leftovers */
  }

  .art-hmenu > li:nth-child(2) > ul:before,
  .art-hmenu > li.menu-uslugi > ul:before,
  .art-nav ul.art-hmenu > li > ul:before,
  .art-nav ul.art-hmenu > li > ul:after,
  ul.art-hmenu li li:before,
  ul.art-hmenu li li:after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .desktop-nav ul.art-hmenu > li.is-sub-open > ul,
  .desktop-nav ul.art-hmenu > li.deeper.is-sub-open > ul,
  .art-nav ul.art-hmenu > li.is-sub-open > ul {
    display: block !important;
  }

  .art-nav .column,
  .art-nav .column.last,
  .art-hmenu .column,
  .art-hmenu .column.last {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .art-hmenu ul li,
  .art-nav ul.art-hmenu ul li,
  .art-nav li li,
  ul.art-hmenu li li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    border: 0 !important;
    list-style: none !important;
  }

  .art-hmenu ul a,
  .art-hmenu ul a:link,
  .art-hmenu ul a:visited,
  .art-hmenu ul a:hover,
  .art-hmenu ul a:focus,
  .art-hmenu ul a.active,
  ul.art-hmenu li li a,
  .desktop-nav .art-hmenu ul li:hover > a,
  .art-hmenu ul li a:hover,
  .art-nav .art-hmenu ul a {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    color: #333 !important;
    background: transparent !important;
    white-space: normal !important;
    line-height: 1.35 !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-bottom: 1px dotted #c9b36a !important;
    font-size: 13px !important;
  }

  .art-hmenu ul li:last-child > a {
    border-bottom: 0 !important;
  }

  .art-hmenu ul a.separator-without-submenu,
  .art-hmenu ul a.separator {
    font-weight: 700 !important;
    color: #c47a00 !important;
    pointer-events: none;
    border-bottom: 1px dotted #c9b36a !important;
  }

  /* Unified offset: content → stacked sidebar banners (service pages) */
  .art-layout-cell.art-content {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .art-post,
  .art-postcontent,
  .art-article,
  .art-articlebody {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .art-articlebody > p:last-child {
    margin-bottom: 0 !important;
  }

  .art-sidebar1 {
    margin-top: 24px !important;
    padding-top: 0 !important;
    clear: both !important;
  }

  .art-sidebar1 > aside > .bl-sidebar-banner:first-child,
  .art-sidebar1 .bl-sidebar-banner:first-of-type {
    margin-top: 0 !important;
  }

  .art-content .nspArt.nspCol3 {
    float: none;
    width: 100%;
  }

  .bl-top-banner__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 12px 14px;
  }

  .bl-top-banner__text {
    font-size: 13px;
    white-space: normal;
  }

  .bl-top-banner__actions {
    width: 100%;
  }

  .bl-top-banner__actions a {
    flex: 1 1 auto;
    text-align: center;
    white-space: normal;
  }

  /* Specialist cards: stack photo + text */
  .bl-specialist-card,
  .bl-specialist-card tbody,
  .bl-specialist-card tr,
  .bl-specialist-card td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
  }

  .bl-specialist-card td {
    padding: 8px 0 !important;
  }

  .bl-specialist-card td img {
    display: block;
    margin: 0 auto 8px;
  }

  /*
   * TZ-36: price / Tomatis tables use .bl-price-table card layout (see ≤980px).
   * Do not force horizontal scroll or unlabeled stacking here.
   */
  .art-postcontent,
  .art-articlebody,
  .art-content .art-article {
    display: block !important;
    max-width: 100% !important;
    overflow-x: visible !important;
  }

  .art-articlebody table:not(.bl-price-table):not(.bl-specialist-card),
  .art-postcontent table:not(.bl-price-table):not(.bl-specialist-card),
  .art-content table:not(.bl-price-table):not(.bl-specialist-card),
  .entry-content table:not(.bl-price-table):not(.bl-specialist-card) {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    border-collapse: collapse !important;
  }

  .art-articlebody table:not(.bl-price-table) td,
  .art-articlebody table:not(.bl-price-table) th,
  .art-postcontent table:not(.bl-price-table):not(.bl-specialist-card) td,
  .art-postcontent table:not(.bl-price-table):not(.bl-specialist-card) th {
    display: table-cell !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    padding: 5px 6px !important;
    vertical-align: top;
    word-break: break-word;
    overflow-wrap: break-word;
    font-size: 11px;
    line-height: 1.3;
    white-space: normal !important;
  }

  /* Reinforce card layout against older table !important rules */
  .bl-price-table,
  .bl-price-table > tbody,
  .bl-price-table > thead {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
  }

  .bl-price-table tr.bl-table-card,
  .bl-price-table tr.bl-table-section {
    display: block !important;
    width: 100% !important;
  }

  .bl-price-table tr.bl-table-card td,
  .bl-price-table tr.bl-table-card th,
  .bl-price-table tr.bl-table-section td,
  .bl-price-table tr.bl-table-section th,
  .art-articlebody .bl-price-table tr.bl-table-card td:nth-child(n + 2),
  .art-articlebody .bl-price-table tr.bl-table-card th:nth-child(n + 2) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  /* Long text on narrow screens: wrap words, keep author alignment */
  .art-postcontent p,
  .art-articlebody p,
  .art-postcontent span {
    overflow-wrap: anywhere;
    word-wrap: break-word;
  }

  .art-postcontent p[style*="justify"],
  .art-articlebody p[style*="justify"],
  .art-postcontent [style*="text-align: justify"],
  .art-articlebody [style*="text-align: justify"] {
    text-align: justify !important;
    hyphens: auto;
  }

  /*
   * Beat Artisteer #formFF { width:700px } / inputs 464px float —
   * that is what made the consult form overflow on mobile.
   */
  .fsf_main,
  .qa_box,
  .qa_cont,
  .qa_innerform,
  #formFF,
  .bl-consult-form,
  .bl-contact-form {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    float: none !important;
    overflow: hidden !important;
  }

  #formFF label,
  .fsf_main .inp label,
  #formFF .inp label {
    display: block !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 0 4px !important;
  }

  .fsf_main .inp,
  #formFF .inp,
  div.inp {
    height: auto !important;
    min-height: 0 !important;
    margin: 10px 0 !important;
    overflow: hidden !important;
    clear: both !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #formFF .inp input,
  #formFF .inp textarea,
  #formFF .inp select,
  .fsf_main .inp input,
  .fsf_main .inp textarea,
  .fsf_main .inp select,
  .fsf_main input[type="text"],
  .fsf_main input[type="email"],
  .fsf_main textarea,
  .fsf_main select,
  .bl-contact-form input[type="text"],
  .bl-contact-form input[type="email"],
  .bl-contact-form input[type="tel"],
  .bl-contact-form textarea {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
  }

  .fsf_main .qa_button,
  #formFF .qa_button {
    clear: both !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 0 !important;
  }

  .fsf_main #qa_buttonFF,
  .fsf_main .qa_button input[type="submit"],
  #formFF #qa_buttonFF {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .fsf_main #textFF,
  .fsf_main .qa_button p,
  #textFF {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .fsf_main .g-recaptcha,
  .bl-contact-form .g-recaptcha {
    transform: scale(0.85);
    transform-origin: left top;
    max-width: 100%;
    overflow: hidden;
  }

  .art-nostyle.menu1,
  .art-nostyle.menu2,
  .art-nostyle.menu3,
  .art-nostyle.menu4,
  .art-nostyle.menu5 {
    float: none !important;
    width: 100% !important;
    height: auto !important;
  }

  .art-nostyle.menu4 ul li,
  .art-nostyle.menu5 ul li {
    display: block !important;
    width: 100% !important;
  }

  .home .art-postcontent .art-nostyle.menu5 ul.menu {
    column-count: 1;
    -webkit-column-count: 1;
    -moz-column-count: 1;
  }

  iframe,
  embed,
  object,
  video {
    max-width: 100%;
  }

  .art-postcontent img,
  .art-content img,
  .alignleft,
  .alignright {
    float: none !important;
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    height: auto;
  }

  .search-page .search-field {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .fsf_main input[type="text"],
  .fsf_main input[type="email"],
  .fsf_main textarea,
  .fsf_main select {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
  }

  .art-postcontent form input[type="text"],
  .art-postcontent form input[type="email"],
  .art-postcontent form input[type="tel"],
  .art-postcontent form textarea,
  .art-postcontent form select {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box;
  }

  #fpss-container,
  .fpss-container,
  .fpss-template-uncut {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Footer menu: full-width stacked columns (was a narrow left strip) */
  #megamenubottom {
    width: 100% !important;
    overflow: hidden;
  }

  #megamenubottom table,
  #megamenubottom tbody,
  #megamenubottom tr,
  #megamenubottom td {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }

  #megamenubottom td {
    padding: 8px 12px !important;
  }

  #megamenubottom .bl-footer-counter {
    text-align: left !important;
    min-width: 0 !important;
    width: 100% !important;
    padding-top: 12px !important;
  }

  .art-sidebar1 {
    margin-top: 20px;
  }

  .bl-specialist-card,
  .bl-specialist-card tbody,
  .bl-specialist-card tr,
  .bl-specialist-card td {
    display: block !important;
    width: 100% !important;
  }
}
