/* DOU SEO & Mobile v1.0 — слой поверх существующего дизайна */
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }
img { max-width: 100%; height: auto; }
iframe, video { max-width: 100%; }
.mobile-menu-toggle { display: none; }
.productimage img, .logo_art img { max-width: 100%; height: auto; }
.content { overflow-wrap: anywhere; }
input, select, textarea, button { max-width: 100%; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #ff9c32; outline-offset: 2px;
}
.content { font-size: 16px; line-height: 1.55; }
.content h1 { color: #24333a; font-weight: 700; letter-spacing: -0.02em; }
.shadow, .catalog-item {
  border: 1px solid #e5eaec; border-radius: 10px; background: #fff;
  box-shadow: 0 3px 14px rgba(32, 55, 65, 0.08); transition: box-shadow .2s ease, transform .2s ease;
}
.shadow:hover, .catalog-item:hover { box-shadow: 0 8px 24px rgba(32, 55, 65, 0.13); transform: translateY(-2px); }
.alohacart_add_product_link, .header__callbackBtn {
  min-height: 42px; border-radius: 6px; border: 0; cursor: pointer;
}
.price { border-radius: 6px; }

@media (max-width: 767px) {
  body { min-width: 0; overflow-x: hidden; }
  .container { width: 100% !important; padding-left: 15px; padding-right: 15px; }
  .header { text-align: center; }
  .header .logo, .header .tel2, .header .tel3, .header .cartf {
    float: none !important; width: 100% !important; margin: 0 0 12px; padding: 0 !important;
  }
  .header .logo2 { width: min(300px, 86vw); height: auto; }
  .header .post { position: static !important; display: block; max-width: 180px; margin: 8px auto; }
  .menu { position: relative; }
  .mobile-menu-toggle {
    display: block; width: 100%; min-height: 46px; padding: 10px 15px;
    border: 0; border-radius: 4px; color: #fff; background: #287f90;
    font-size: 16px; font-weight: 700; text-align: left;
  }
  #bs-example-navbar-collapse-1 { display: none !important; height: auto !important; padding: 0; border: 0; }
  #bs-example-navbar-collapse-1.mobile-menu-open { display: block !important; }
  .menu .nav, .menu .nav > li { float: none !important; width: 100%; }
  .menu .nav > li > a { display: block; padding: 12px 10px; }
  .menu .col-sm-3 { width: 100%; padding: 10px 0; }
  .pathway { line-height: 1.6; overflow-wrap: anywhere; }
  .main, .content, .left, .right, .productimage, .productdescription,
  .leftdescr, .rightdescr { float: none !important; width: 100% !important; margin-left: 0 !important; }
  .content h1, h1 { font-size: 26px; line-height: 1.2; }
  .content h2, h2 { font-size: 22px; line-height: 1.25; }
  .productimage, .productdescription { padding-left: 0; padding-right: 0; }
  .logo_art { float: none; padding-right: 0; text-align: center; }
  .gallery { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; }
  .gallery li { width: calc(50% - 4px); padding: 0; }
  .gallery a { display: block; }
  .review-form textarea, #feedback input, #feedback textarea, #regions_search { width: 100% !important; }
  .productoverflow, .cat3, .cat4 { width: 100% !important; float: none !important; }
  .cart_list { width: 100%; height: auto; min-height: 160px; margin-left: 0; }
  .footer .container > div { width: 100% !important; float: none !important; }
  #cookie-banner { text-align: left !important; padding: 12px !important; }
  #cookie-banner button { display: block; margin: 10px 0 0 !important; min-height: 44px; }
  table { display: block; max-width: 100%; overflow-x: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

@media (min-width: 768px) {
  #bs-example-navbar-collapse-1 { display: block !important; }
}
