#wrapper1, #wrapper2, #wrapper3, .columns, .catalogMainDiv, .catalogTable {
  max-width: 100%;
  box-sizing: border-box;
}
img { max-width: 100%; height: auto; }

.contentPage { max-width: 980px; margin: 0 auto; padding: 24px; color: #222; background: rgba(255,255,255,.96); box-sizing: border-box; }
.contentPage h1 { margin: 0 0 22px; font-size: 30px; color: #433f40; }
.contentPage h2 { margin: 22px 0 10px; color: #433f40; }
.contentPage p, .contentPage li { line-height: 1.6; }
.contentPage a, .vehicleTeaser a { color: #1464a0; }
.newsList article { padding: 16px 0; border-bottom: 1px solid #ddd; }
.newsDate { color: #777; font-size: 14px; }
.newsPages { padding-top: 22px; }
.newsPages a { display: inline-block; padding: 5px 9px; margin-right: 4px; border: 1px solid #ccc; }
.vehicleTeaser { max-width: 980px; margin: 10px auto; padding: 18px; text-align: center; font-size: 22px; font-weight: bold; background: #eee; box-shadow: 0 0 2px 1px #999; }
.at35-maps { max-width: 1100px; margin: 18px auto; padding: 18px; background: #433f40; color: #fff; box-sizing: border-box; }
.at35-maps h2 { color: #fff; text-align: center; }
.at35-map-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.at35-map-grid > div { min-width: 0; background: #fff; color: #222; padding: 10px; overflow: hidden; }
.at35-map-grid h3 { margin: 0 0 8px; font-size: 18px; }
.at35-map-grid iframe, .at35-map-grid script { max-width: 100%; }
@media (max-width: 700px) { .at35-map-grid { grid-template-columns: 1fr; } }
.vehicleHome { position: relative; margin-top: 10px; padding: 30px 145px 54px; box-sizing: border-box; box-shadow: 0 0 2px 1px; background: url('/upload/auto.png') no-repeat, url('/upload/at35n.png') repeat; background-position: 58% -14px, 0 100px; background-size: 61%, 28%; background-color: #eee; }
.vehicleHome .vehiclePicker { max-width: 100%; position: relative; z-index: 1; }
.filterMainDiv2 { position: relative; box-sizing: border-box; }
/* Home filters: Wayback 2025-12-08 at35.ru (segmented selects, translucent, ET/dia box) */
.filterSelectsTable { border-collapse: separate; border-spacing: 0; margin: 0 auto; }
.filterSelectsTable td { padding: 0; }
.filterMainDiv2 select { margin-right: -2px; font-size: 16px; width: 100px; height: 36px; background-color: #ffffffb3; border: 1px solid #767676; border-radius: 0; color: #000; }
#formFilterByWheels select { font-size: 17px; width: 105px; }
.filterMainDiv2 select.segFirst { border-radius: 8px 0 0 8px; }
.filterMainDiv2 select.segLast { border-radius: 0 8px 8px 0; }
.filterPair { display: flex; justify-content: center; margin-top: 11px; }
.filterMainDiv2 select.wide { width: 150px; }
#formFilterByWheels select.wider { width: 261px; margin-top: 0; }
.filterMainDiv2 select:focus, .vehiclePicker select:focus, .rangeFields input:focus { outline: 2px solid #e3b700; outline-offset: 1px; }
.filterMainDiv2 input.filterSubmitTires, .filterMainDiv2 input.filterSubmitWheels { display: block; width: 100%; height: 40px; margin: 14px 0 0; font-size: 17px; }
/* Both columns: content from the top, "Подобрать" buttons pinned to the same bottom line. */
@media (min-width: 701px) {
  .columns > table:has(.filterMainDiv2) > tbody > tr:not(.homeSearch) > td { vertical-align: top; position: relative; padding-bottom: 62px; }
  .columns > table:has(.filterMainDiv2) .filterMainDiv2 { position: static; }
  .filterMainDiv2 input.filterSubmitTires, .filterMainDiv2 input.filterSubmitWheels { position: absolute; left: 15px; right: 15px; bottom: 15px; width: auto; margin: 0; }
}
.rangeFields { display: flex; justify-content: space-around; box-shadow: 0 0 0 1px; width: 520px; max-width: 100%; margin: 10px auto 0; border-radius: 8px; font-size: 17px; box-sizing: border-box; }
.rangeFields fieldset { min-width: 0; margin: 6px 0 8px; padding: 0; border: 0; text-align: center; width: 250px; }
.rangeFields legend { margin: 0 auto; padding: 0; }
.rangeFields p { display: flex; gap: 8px; justify-content: center; margin: 4px 0; }
.rangeFields input[type=number] { width: 100px; box-sizing: border-box; }
.dualRange { position: relative; height: 22px; margin: 4px 11px 0; }
.dualRange input[type=range] { position: absolute; left: 0; top: 0; width: 100%; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; height: 22px; }
.dualRange::before { content: ""; position: absolute; left: 0; right: 0; top: 9px; height: 4px; border: 1px solid #aaa; border-radius: 3px; background: #ddd; }
.dualRange input[type=range]::-webkit-slider-runnable-track { background: none; height: 22px; }
.dualRange input[type=range]::-moz-range-track { background: none; }
.dualRange input[type=range]::-webkit-slider-thumb { pointer-events: auto; -webkit-appearance: none; width: 16px; height: 18px; margin-top: 2px; border: 1px solid #aaa; border-radius: 4px; background: #f6f6f6; cursor: pointer; position: relative; z-index: 2; }
.dualRange input[type=range]::-moz-range-thumb { pointer-events: auto; width: 14px; height: 16px; border: 1px solid #aaa; border-radius: 4px; background: #f6f6f6; cursor: pointer; }
@media (max-width: 700px) { .contentPage { padding: 16px; } .contentPage h1 { font-size: 24px; } .vehicleHome { padding: 22px 12px 34px; background-position: 100% -5px, 0 100px; background-size: 72%, 45%; }  .rangeFields { grid-template-columns: 1fr; } }

/* Keep navigation in the header's normal flow, including wrapped rows. */
#header { padding: 20px 0 0; }
#header_logo { display: block; position: static; float: none; }
#header_logo img { display: block; width: 100%; }
#tmheaderlinks {
  position: static;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 0;
  padding: 8px 12px;
}
#tmheaderlinks li { float: none; margin: 0; padding: 0; }
#tmheaderlinks li a { height: auto; padding: 16px 12px; line-height: 1.4; }

.columns input[type="search"], .columns input[type="number"] {
  box-sizing: border-box;
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid #888;
  background: #fff;
  color: #222;
  font: inherit;
}
/* Search: one compact bar in the site style (yellow button, rounded segmented field). */
.siteSearch { display: flex; align-items: stretch; flex-wrap: wrap; gap: 0; max-width: 640px; margin: 12px auto 18px; padding: 0 12px; box-sizing: border-box; }
.siteSearch select, .siteSearch input[type="search"], .siteSearch button { height: 38px; min-height: 38px; box-sizing: border-box; font-size: 16px; margin: 0; }
.siteSearch select { border: 1px solid #888; border-right: 0; border-radius: 19px 0 0 19px; background: #eee; padding: 0 10px 0 14px; color: #222; }
.siteSearch input[type="search"] { flex: 1 1 200px; min-width: 0; border: 1px solid #888; border-radius: 0; padding: 0 12px; background: #fff; }
.siteSearch button { border: 0; border-radius: 0 19px 19px 0; background: #f8d023; padding: 0 22px; cursor: pointer; font-weight: bold; color: #000; box-shadow: 0 0 6px rgba(0,0,0,.2); }
.siteSearch button:hover { background: #ffdc3a; }
.siteSearch input:focus, .siteSearch select:focus { outline: 2px solid #e3b700; outline-offset: -1px; }
/* Home (as at35.ru 2025): separate "Поиск шин" / "Поиск колёсных дисков" under each filter column. */
tr.homeSearch > td { box-sizing: border-box; padding: 12px 15px; background: #eee url(upload/at35n.png) repeat 0 100px / 28%; box-shadow: 0 0 2px 1px; vertical-align: middle; }
table:has(tr.homeSearch) { border-collapse: separate; border-spacing: 0 0; }
tr.homeSearch form { display: flex; margin: 0; }
tr.homeSearch input[type="search"] { flex: 1 1 auto; min-width: 0; height: 38px; box-sizing: border-box; border: 1px solid #888; border-right: 0; border-radius: 19px 0 0 19px; padding: 0 16px; font-size: 17px; background: #fff; box-shadow: inset 0 1px 2px rgba(0,0,0,.08); }
tr.homeSearch button { height: 38px; border: 0; border-radius: 0 19px 19px 0; background: #f8d023; padding: 0 18px; font-size: 16px; font-weight: bold; cursor: pointer; white-space: nowrap; box-shadow: 0 0 6px rgba(0,0,0,.2); }
tr.homeSearch button:hover { background: #ffdc3a; }
tr.homeSearch input:focus { outline: 2px solid #e3b700; outline-offset: -1px; }
.detailsPhoto { min-width: 0; max-width: 100%; height: auto; }
/* Product page: legacy 280px photo column (tochki.css), image scaled inside it. */
.fototyres, .fotowheels { width: 280px; max-width: 100%; }
img.fototyres { width: 280px; height: auto; max-height: 420px; object-fit: contain; }
.fotowheels img { width: 100%; max-width: 280px; height: auto; }

.filterMainDiv2 { box-sizing: border-box; }
.filterMainDiv2 input[type="submit"] { box-sizing: border-box; margin-left: 0; margin-right: 0; }

@media (max-width: 1100px) {
  #wrapper1, #wrapper2, #wrapper3, .columns, .catalogMainDiv { width: 100% !important; min-width: 0 !important; }
  /* The browser repairs the legacy home table into tbody > tr > td. */
  .columns > table:has(.filterMainDiv2) { display: block; width: 100%; }
  /* Flatten rows so each search sits right under its own column: tires, tire search, wheels, wheel search. */
  .columns > table:has(.filterMainDiv2) > tbody { display: flex; flex-direction: column; width: 100%; }
  .columns > table:has(.filterMainDiv2) > tbody > tr { display: contents; }
  .columns > table:has(.filterMainDiv2) > tbody > tr:first-child > td:nth-child(1) { order: 1; }
  .columns > table:has(.filterMainDiv2) > tbody > tr.homeSearch > td:nth-child(1) { order: 2; }
  .columns > table:has(.filterMainDiv2) > tbody > tr:first-child > td:nth-child(2) { order: 3; margin-top: 10px; }
  .columns > table:has(.filterMainDiv2) > tbody > tr.homeSearch > td:nth-child(2) { order: 4; }
  .columns > table:has(.filterMainDiv2) > tbody > tr:not(.homeSearch) > td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    background-position: right top !important;
  }
  .filterMainDiv2 { width: 100%; height: auto; padding: 18px 15px; }
}

@media (max-width: 700px) {
  #wrapper1 { padding-top: 0; }
  #header { padding-top: 12px; height: auto; }
  #header_logo { text-align: center; }
  #header_user { display: block; position: static; float: none; margin: 8px 0; text-align: right; }
  #shopping_cart { float: none !important; display: inline-block; margin-right: 12px; }
  #header_user #shopping_cart a { box-sizing: border-box; width: auto; min-width: 150px; padding: 0 14px 0 36px; }
  #tmheaderlinks { justify-content: center; padding: 8px 4px; }
  #tmheaderlinks li a { font-size: 13px; padding: 12px 10px; }
  .columns { border-radius: 0; }
  .columns > p { margin-left: 0; }
  .filterMainDiv2 h2 { margin-bottom: 0; }
  .filterMainDiv2 table,
  .filterMainDiv2 tbody { display: block; width: 100%; }
  .filterMainDiv2 tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 8px;
  }
  .filterMainDiv2 td { display: block; min-width: 0; width: auto; }
  .filterMainDiv2 td[colspan] { grid-column: 1 / -1; }
  .filterMainDiv2 td:empty { display: none; }
  .filterMainDiv2 select {
    width: 100%;
    min-width: 0;
    min-height: 36px;
    box-sizing: border-box;
    border: 1px solid #888;
    background-color: #fff;
    color: #222;
    padding: 5px 6px;
  }
  .filterMainDiv2 select[name="preorderNal"],
  .filterMainDiv2 select[name="nut"] {
    float: none !important;
    margin: 8px 0 0 !important;
    padding-left: 6px !important;
  }
  .filterMainDiv2 td p { display: flex; gap: 8px; width: 100% !important; margin: 4px 0; }
  .filterMainDiv2 input[type="number"] { width: 0; min-width: 0; flex: 1 1 0; }
  .filterMainDiv2 input[type="submit"] { min-height: 40px; }
  .catalogTable { width: 100% !important; margin: 0 !important; }
  .catalogTable > tbody > tr > td { display: block; min-width: 0; width: 100%; box-sizing: border-box; }
  .fototyresCatalog, .fotowheels { max-width: 100%; height: auto !important; }
  .spoil input.input-button { white-space: normal; min-height: 44px; margin-right: 0; box-sizing: border-box; }
  .fototyres, .fotowheels { float: none; display: block; margin: 12px auto; }
  .korzina { float: none; margin: 12px 0; }
  .polozhenie, .polozhenie2 { margin-top: 20px; }
  .polozhenie2 > img { margin-top: 0 !important; }
  .polozhenie2 ~ img { margin-left: 0 !important; }
  .kontur { box-sizing: border-box; max-width: 100%; }
  .polozhenie .p, .polozhenie2 .p { display: grid; width: 100%; margin-left: 0; overflow: visible; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
  .polozhenie .p:after, .polozhenie2 .p:after { display: none; }
  .polozhenie .l, .polozhenie .r, .polozhenie2 .l, .polozhenie2 .r { float: none; width: auto; min-width: 0; overflow-wrap: anywhere; }
}

/* Wholesale login (archive 2026-07-11 /opt/opt.php) */
.optLogin { margin: 25px 0; max-width: 420px; }
.optLogin h2 { font-size: 20px; margin: 0 0 12px; }
.optLogin label { display: block; }
.optLogin input[type="text"], .optLogin input[type="password"] { width: 100%; max-width: 260px; padding: 6px 8px; border: 1px solid #bbb; border-radius: 6px; font-size: 15px; box-sizing: border-box; }
.optLogin input.optSubmit, .optPage input.optSubmit { box-shadow: 0 0 10px 1px rgba(0,0,0,.25); border: 0; border-radius: 15px; background: #f8d023; padding: 10px 45px; margin-top: 20px; font-size: 16px; cursor: pointer; }
.optLogin input.optSubmit:hover { background: #ffdf4d; }
.optMessage { color: #b00020; font-weight: bold; }

/* Cart (layout after Wayback 2022-10-04 cart.php, fields made visible) */
.cartPage { max-width: 1040px; }
.cartBack { margin: -8px 0 14px; }
.cartGoods { width: 100%; overflow-x: auto; }
.cartTable { width: 100%; border-collapse: collapse; font-size: 16px; }
.cartTable th { color: #777; font-weight: normal; text-align: left; padding: 8px 10px; border-bottom: 2px solid #ddd; white-space: nowrap; }
.cartTable td { padding: 10px; border-bottom: 1px solid #e3e3e3; vertical-align: middle; text-align: left; }
.cartTable .cartColPhoto { width: 96px; }
.cartTable .cartPhoto { display: block; width: 86px; height: 86px; object-fit: contain; background: #fff; }
.cartTable .cartColName a { color: #1464a0; font-weight: bold; }
.cartTable .cartColNum { white-space: nowrap; text-align: right; }
.cartTable .cartSum { font-weight: bold; }
.cartTable .cartColQty { white-space: nowrap; }
.cartTable .cartColDel { width: 1%; text-align: right; }
.cartAction { display: flex; gap: 6px; align-items: center; margin: 0; }
.cartTable input[type="number"] { width: 64px; height: 32px; padding: 3px 6px; border: 1px solid #888; border-radius: 6px; font-size: 16px; box-sizing: border-box; }
.cartBtn { height: 32px; padding: 0 12px; border: 1px solid #999; border-radius: 6px; background: #f2f2f2; color: #2b587a; font-size: 14px; cursor: pointer; }
.cartBtn:hover { background: #e0eaf5; }
.cartDelete { color: #b00020; }
.cartTotal { text-align: right; font-size: 18px; margin: 14px 0 26px; }
.cartCheckout { border-top: 2px solid #f8d023; padding-top: 6px; }
.cartForm { font-size: 16px; }
.cartFields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 18px; }
.cartField { display: flex; flex-direction: column; gap: 5px; margin: 0; }
.cartField > span { font-weight: bold; color: #333; }
.cartReq { color: #d00; }
.cartForm input[type="text"], .cartForm input[type="email"], .cartForm input[type="tel"], .cartForm textarea { width: 100%; box-sizing: border-box; height: 38px; padding: 6px 10px; border: 1px solid #888; border-radius: 8px; background: #fff; font: 16px Arial, sans-serif; color: #000; margin: 0; }
.cartForm textarea { height: auto; min-height: 96px; resize: vertical; }
.cartForm input:focus, .cartForm textarea:focus, .cartTable input:focus { outline: none; border-color: #e3b700; box-shadow: 0 0 0 3px rgba(248, 208, 35, .45); }
.cartForm input:user-invalid, .cartForm textarea:user-invalid { border-color: #d00; }
.cartChoices { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 18px 0; }
.cartChoices fieldset { margin: 0; padding: 10px 14px 12px; border: 1px solid #ccc; border-radius: 8px; }
.cartChoices legend { font-weight: bold; padding: 0 6px; }
.cartChoices label { display: flex; align-items: center; gap: 8px; margin: 7px 0; cursor: pointer; }
.cartChoices input[type="radio"] { width: 18px; height: 18px; margin: 0; accent-color: #c9a400; flex: none; }
.cartWarn { color: #d00; font-size: 14px; margin: 2px 0 6px; line-height: 1.35; }
.cartComment { margin-top: 4px; }
.cartAgree { color: #d00; font-size: 14px; text-align: center; margin: 14px 0 4px; }
.cartSubmit { text-align: center; margin: 12px 0 0; }
.cartOrder { box-shadow: 0 0 10px 1px rgba(0,0,0,.25); border: 0; border-radius: 15px; background: #f8d023; padding: 12px 50px; font-size: 18px; cursor: pointer; color: #000; }
.cartOrder:hover { background: #ffdf4d; }
@media (max-width: 760px) {
  .cartFields, .cartChoices { grid-template-columns: 1fr; }
  .cartTable thead { display: none; }
  .cartTable, .cartTable tbody, .cartTable tr, .cartTable td { display: block; width: auto; }
  .cartTable tr { display: grid; grid-template-columns: 96px 1fr; gap: 4px 10px; padding: 10px 0; border-bottom: 1px solid #ddd; }
  .cartTable td { border: 0; padding: 2px 0; text-align: left; }
  .cartTable .cartColPhoto { grid-row: span 4; }
  .cartTable .cartColNum, .cartTable .cartColDel { text-align: left; }
  .cartTable td[data-label]:not(.cartColPhoto)::before { content: attr(data-label) ": "; color: #777; }
  .cartTotal { text-align: left; }
}

/* Vehicle picker: legacy title + four cascading selects (Wayback 2025-12-08), structured results */
.vehiclePicker { display: block; }
.vehicleTitle { width: max-content; max-width: 100%; margin: 0 auto 15px; padding: 2px 14px 6px; font-size: 160%; font-weight: bolder; background: #eeeeeeeb; text-align: center; }
.vehicleCascade { display: grid; grid-template-columns: repeat(4, minmax(0, 200px)); justify-content: center; gap: 0; box-shadow: 0 0 3px 1px; background: #ffffff80; padding: 6px; width: max-content; max-width: 100%; margin: 0 auto; box-sizing: border-box; }
.vehicleField { display: block; margin: 0; min-width: 0; }
.vehicleField span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.vehicleCascade select { width: 100%; height: 34px; font-size: 15px; background-color: #ffffffb3; border: 1px solid #767676; border-radius: 0; margin: 0 -1px 0 0; padding: 4px 6px; box-sizing: border-box; color: #000; }
.vehicleField:first-child select { border-radius: 8px 0 0 8px; }
.vehicleField:nth-child(4) select { border-radius: 0 8px 8px 0; }
.vehicleCascade select:disabled { color: #888; background-color: #f2f2f2b3; }
.vehicleCascade select:focus { outline: 2px solid #e3b700; outline-offset: 0; position: relative; z-index: 1; }
.vehicleCascade noscript button { grid-column: 1 / -1; margin-top: 8px; }
.vehiclePicker[aria-busy="true"], .vehicleHome[aria-busy="true"] .vehiclePicker { opacity: .6; transition: opacity .2s; }
.vehicleResult { margin: 22px auto 0; max-width: 1000px; background: rgba(255,255,255,.94); border-radius: 12px; box-shadow: 0 1px 6px rgba(0,0,0,.25); padding: 16px 20px 12px; text-align: left; }
.vehicleCar { margin: 0 0 8px; font-size: 22px; color: #433f40; }
.vehicleCar span { font-weight: normal; color: #666; font-size: 17px; }
.vehicleParams { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 12px; padding: 0; }
.vehicleParams li { list-style: none; background-image: none; margin: 0; background-color: #f8d023; border-radius: 14px; padding: 3px 12px; font-size: 15px; }
.vehicleSections { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.vehicleSection h3 { margin: 4px 0 8px; font-size: 18px; padding-left: 8px; border-left: 4px solid #f8d023; }
.vehicleSection.replace h3 { border-left-color: #9aa; }
.vehicleTable { width: 100%; border-collapse: collapse; margin: 0 0 12px; font-size: 15px; background: #fff; }
.vehicleTable caption { text-align: left; font-weight: bold; color: #555; padding: 4px 0; }
.vehicleTable th { text-align: left; font-weight: normal; color: #777; background: #f4f4f4; padding: 5px 8px; border-bottom: 1px solid #ddd; }
.vehicleTable td { padding: 7px 8px; border-bottom: 1px solid #eee; vertical-align: top; }
.vehicleTable tr:hover td { background: #fffbe6; }
.vehicleWheel { display: inline-block; font-weight: bold; font-size: 16px; color: #1464a0; white-space: nowrap; }
.vehicleHint { display: block; color: #888; font-size: 12px; }
.vehicleTires { display: flex; flex-direction: column; gap: 4px; }
.vehicleTire { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.vehicleTireSize { font-weight: bold; color: #1464a0; min-width: 104px; }
.vehicleSeason { font-size: 12px; border-radius: 10px; padding: 1px 8px; text-decoration: none; }
.vehicleSeason.summer { background: #fff1c2; color: #8a5a00; }
.vehicleSeason.winter { background: #dceeff; color: #0b4f8a; }
.vehicleSeason:hover { filter: brightness(.93); }
.vehicleNone { color: #aaa; }
.vehicleNote { color: #666; font-size: 13px; margin: 6px 0 0; }
.contentPage .vehicleResult { box-shadow: none; padding: 0; }
@media (max-width: 1000px) {
  .vehicleHome { padding-left: 24px !important; padding-right: 24px !important; }
  .vehicleCascade { grid-template-columns: 1fr 1fr; width: 100%; max-width: 520px; }
}
@media (max-width: 760px) {
  .vehicleCascade { grid-template-columns: 1fr 1fr; width: 100%; }
  .vehicleField select { border-radius: 0 !important; }
  .vehicleSections { grid-template-columns: 1fr; }
  .vehicleResult { padding: 12px; }
}

/* Photo zoom viewer (replaces legacy highslide) */
a.photoZoom { cursor: zoom-in; }
.zoomLock body { overflow: hidden; }
.zoomOverlay { position: fixed; inset: 0; z-index: 10000; display: none; background: rgba(20, 20, 20, .88); }
.zoomOverlay.zoomOpen { display: block; }
.zoomStage { position: absolute; inset: 50px 60px 70px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.zoomStage img { max-width: 100%; max-height: 100%; object-fit: contain; background: #fff; border-radius: 6px; box-shadow: 0 6px 30px rgba(0,0,0,.6); transition: transform .12s ease-out; touch-action: none; user-select: none; -webkit-user-drag: none; }
.zoomLoading .zoomStage::after { content: ""; position: absolute; width: 42px; height: 42px; border: 4px solid #fff; border-top-color: #f8d023; border-radius: 50%; animation: zoomSpin .8s linear infinite; }
@keyframes zoomSpin { to { transform: rotate(360deg); } }
.zoomOverlay button { border: 0; cursor: pointer; color: #fff; background: rgba(255,255,255,.14); font: bold 22px/1 Arial, sans-serif; }
.zoomOverlay button:hover, .zoomOverlay button:focus-visible { background: #f8d023; color: #000; outline: none; }
.zoomClose { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border-radius: 50%; font-size: 30px !important; }
.zoomPrev, .zoomNext { position: absolute; top: 50%; margin-top: -30px; width: 44px; height: 60px; border-radius: 8px; font-size: 40px !important; }
.zoomPrev { left: 8px; } .zoomNext { right: 8px; }
.zoomSingle .zoomPrev, .zoomSingle .zoomNext { display: none; }
.zoomBar { position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%); display: flex; gap: 6px; }
.zoomBar button { min-width: 44px; height: 38px; border-radius: 8px; font-size: 18px; }
.zoomCaption { position: absolute; left: 70px; right: 70px; top: 14px; color: #fff; text-align: center; font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 700px) { .zoomStage { inset: 50px 6px 64px; } .zoomPrev, .zoomNext { top: auto; bottom: 12px; margin: 0; height: 40px; } }
.newsItem h2 { margin: 4px 0 6px; font-size: 20px; }
.newsMore { margin: 4px 0 0; font-size: 14px; }
.newsPages a[aria-current="page"] { background: #f8d023; border-color: #c9a400; color: #000; font-weight: bold; }
.newsArticle img { max-width: 100%; height: auto; }
.newsArchiveNote { color: #888; font-style: italic; font-size: 14px; }
.newsBack { margin-top: -10px; }
@media (max-width: 520px) {
  .siteSearch { flex-wrap: nowrap; padding: 0 10px; }
  .siteSearch select { padding: 0 4px 0 10px; font-size: 15px; }
  .siteSearch input[type="search"] { flex: 1 1 auto; width: 0; }
  .siteSearch button { padding: 0 14px; }
}
@media (max-width: 420px) { tr.homeSearch input[type="search"] { font-size: 15px; padding: 0 12px; } tr.homeSearch button { padding: 0 12px; font-size: 15px; } }

/* ===== Mobile layer (sprint 2026-11-10). Legacy markup carries desktop inline offsets
   (margin-right:-161px, margin-left:114px, fixed 702/712px widths), so a few rules need !important. ===== */
html, body { max-width: 100%; }
.spoil input.input-button { box-sizing: border-box; max-width: 100%; white-space: normal; margin-left: 0; margin-right: 0; }
img, video, iframe { max-width: 100%; }
.columns textarea { max-width: 100% !important; box-sizing: border-box; }
.cartForm textarea { width: 100% !important; }
.cartApplicationForm, .cartApplicationGoods, .cartApplicationGoodsHistory { max-width: 100%; box-sizing: border-box; }
@media (max-width: 1100px) {
  #currencies_block_top { padding-left: 0; left: auto; right: 12px; max-width: calc(100% - 24px); box-sizing: border-box; }
}
@media (max-width: 760px) {
  /* Catalog rows: photo on top, then name/specs, then the price box; no desktop offsets. */
  .catalogTable, .catalogTable > tbody, .catalogTable > tbody > tr { display: block; width: 100% !important; }
  .catalogTable > tbody > tr.catalogTR { padding: 14px 12px 16px; box-sizing: border-box; border-bottom: 1px dotted #333; }
  .catalogTable > tbody > tr > td { display: flex !important; flex-direction: column; align-items: stretch; padding: 0 !important; }
  .catalogTable > tbody > tr > td > * { order: 5; }
  .catalogTable > tbody > tr > td > div:first-child { order: 1; text-align: center; float: none !important; }
  .catalogTable .leftCatalog, .catalogTable .leftCatalogWheels { order: 2; margin: 2px 0 !important; text-align: center !important; }
  .catalogTable > tbody > tr > td > div[style*="float: right"] { order: 3; float: none !important; margin: 8px 0 0 !important; text-align: center; }
  .catalogTable .korzina { order: 4; float: none !important; margin: 10px 0 0 !important; padding: 0 !important; width: auto !important; }
  .catalogTable > tbody > tr > td > br { display: none; }
  .fototyresCatalog, .fotowheelsCatalog { float: none !important; display: block; margin: 0 auto !important; padding: 0 !important; width: auto !important; max-width: 220px !important; height: auto !important; min-height: 0 !important; max-height: 240px; object-fit: contain; }
  .catalogTable .leftCatalog img, .catalogTable .leftCatalogWheels img { margin: 4px auto 0 !important; padding: 0 !important; height: auto; }
  .kontur { padding: 10px 12px !important; margin: 0 !important; max-width: 100%; box-sizing: border-box; }
  .kontur table { width: 100%; margin: 0 auto; }
  .kontur td { padding: 2px 4px; }
  .kontur input.button4 { margin: 8px auto !important; }
  .catalogTable span[style*="250%"], .korzina span[style*="250%"] { font-size: 200% !important; }

  /* Product page */
  .columns > div[style*="padding: 24px"] { padding: 14px 12px !important; margin-top: 0 !important; display: flex; flex-direction: column; }
  .columns > div[style*="padding: 24px"] > * { order: 5; }
  .columns > div[style*="padding: 24px"] > center:first-child { order: 1; margin-bottom: 10px !important; }
  .columns > div[style*="padding: 24px"] > a.photoZoom, .columns > div[style*="padding: 24px"] > img.fototyres, .columns > div[style*="padding: 24px"] > .fotowheels { order: 2; display: block; text-align: center; }
  .columns > div[style*="padding: 24px"] > div[style*="float: right"] { order: 3; float: none !important; margin: 8px 0 !important; text-align: center; }
  .columns > div[style*="padding: 24px"] > .korzina { order: 4; }
  .columns > div[style*="padding: 24px"] > br { display: none; }
  img.fototyres, .fotowheels img { width: auto !important; max-width: 100% !important; max-height: 300px; margin: 0 auto !important; min-height: 0 !important; }
  .fototyres, .fotowheels { float: none !important; width: auto !important; margin: 0 auto 8px !important; padding: 0 !important; min-height: 0 !important; }
  .polozhenie, .polozhenie2 { margin-top: 14px !important; text-align: left; }
  .polozhenie2 > img[style*="margin-top"] { display: block; margin: 0 auto 6px !important; }
  .polozhenie .p, .polozhenie2 .p { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) !important; gap: 8px !important; padding: 5px 0; border-bottom: 1px dotted #bbb; }
  .columns img[style*="margin-left"] { margin-left: 0 !important; display: block; margin-right: auto; margin-left: auto !important; }
  .columns center[style*="margin"] { margin-left: 0 !important; margin-right: 0 !important; }

  /* Generic: tables inside content pages scroll inside their box instead of the page */
  .contentPage table:not(.vehicleTable):not(.cartTable):not(.legacy-calculator table) { display: block; max-width: 100%; overflow-x: auto; }
  .contentPage img { height: auto; }
}
@media (max-width: 760px) {
  .catalogPaginationDiv { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 6px; padding: 0 8px; text-align: center; box-sizing: border-box; max-width: 100%; }
  .catalogPaginationDiv .catalogPaginationPageLink { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; font-size: 18px !important; border-radius: 6px; box-sizing: border-box; }
  .catalogPaginationDiv span.catalogPaginationPageLink { background: #f8d023; color: #000; font-weight: bold; }
  .catalogPaginationDiv a.catalogPaginationPageLink { background: #f2f2f2; }
}

/* Home filter, desktop: both columns fill .columns (no white strip on the right);
   wheels filter elements share one grid (selects / brand+warehouse / ranges / button). */
@media (min-width: 1101px) {
  .columns > table:has(.filterMainDiv2) { width: 100%; table-layout: fixed; }
  .columns > table:has(.filterMainDiv2) > tbody > tr > td { width: 50%; box-sizing: border-box; }
  .columns > table:has(.filterMainDiv2) .filterMainDiv2 { width: 100%; }
  /* Same rhythm in both columns: heading, select grid (full width), 12px row gap, pair, ranges, button. */
  .filterMainDiv2 h2 { margin: 0 0 15px; }
  #formFilterByTires .filterSelectsTable, #formFilterByWheels .filterSelectsTable { width: 100%; table-layout: fixed; border-spacing: 0; }
  #formFilterByTires .filterSelectsTable select, #formFilterByWheels .filterSelectsTable select { width: 100%; margin: 0; box-sizing: border-box; }
  #formFilterByTires .filterSelectsTable td + td select, #formFilterByWheels .filterSelectsTable td + td select { margin-left: -1px; width: calc(100% + 1px); }
  #formFilterByTires .filterSelectsTable tr + tr td { padding-top: 12px; }
  #formFilterByTires .filterPair, #formFilterByWheels .filterPair { width: 100%; margin-top: 12px; }
  #formFilterByTires .filterPair select.wider, #formFilterByWheels .filterPair select.wider { flex: 1 1 0; width: auto; min-width: 0; margin: 0; box-sizing: border-box; }
  #formFilterByTires .filterPair select.wider + select, #formFilterByWheels .filterPair select.wider + select { margin-left: -1px; }
  #formFilterByWheels .rangeFields { width: 100%; margin-top: 12px; }
}

/* Catalog AJAX preloader ("Идёт подбор…"). */
.catalogLoader { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 14px auto; padding: 14px 20px; max-width: 420px; background: #fff; border: 1px solid #e3b700; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,.15); font-size: 18px; color: #333; }
.catalogLoader.catalogLoaderBlock { min-height: 60px; }
.catalogSpinner { width: 26px; height: 26px; border: 3px solid #ddd; border-top-color: #e3b700; border-radius: 50%; animation: catalogSpin .8s linear infinite; flex: 0 0 auto; }
@keyframes catalogSpin { to { transform: rotate(360deg); } }
#catalogContainerDiv.catalogBusy { opacity: .45; pointer-events: none; transition: opacity .2s; }
.filterMainDiv2 input.isLoading { cursor: progress; opacity: .7; background-image: linear-gradient(90deg, transparent, rgba(227,183,0,.35), transparent); background-size: 200% 100%; animation: catalogBtn 1.2s linear infinite; }
@keyframes catalogBtn { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .catalogSpinner, .filterMainDiv2 input.isLoading { animation-duration: 3s; } }

/* Smart search: notice above results and autocomplete dropdown. */
.searchNotice { margin: 10px 16px 0; padding: 10px 14px; background: #fffbe6; border: 1px solid #e3b700; border-radius: 8px; font-size: 15px; line-height: 1.4; }
form.hasSuggest { position: relative; }
.searchSuggest { position: absolute; left: 0; right: 0; top: 100%; z-index: 50; margin: 4px 0 0; padding: 4px 0; list-style: none; background: #fff; border: 1px solid #bbb; border-radius: 8px; box-shadow: 0 6px 18px rgba(0,0,0,.18); max-height: 330px; overflow-y: auto; text-align: left; }
.siteSearch .searchSuggest { left: 12px; right: 12px; }
.searchSuggest li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 14px; cursor: pointer; font-size: 15px; color: #222; }
.searchSuggest li span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.searchSuggest li small { flex: 0 0 auto; color: #777; }
.searchSuggest li:hover, .searchSuggest li.active { background: #fff3b8; }
@media (max-width: 700px) { .siteSearch .searchSuggest { left: 10px; right: 10px; } .searchSuggest li { padding: 10px 12px; } }

/* Cart: stock hint and remembered checkout fields. */
.cartStockNote { display: block; margin-top: 4px; color: #8a5a00; font-size: 13px; line-height: 1.3; }
.cartRemember { margin: 8px 0 0; font-size: 13px; color: #666; }
.cartForget { margin-left: 6px; padding: 2px 8px; font-size: 13px; border: 1px solid #aaa; border-radius: 6px; background: #f4f4f4; cursor: pointer; }

/* Header cart badge + mobile bottom cart bar (recovery.js, cookie at35_cart_n). */
#header_user #shopping_cart a { position: relative; }
#header_user #shopping_cart a.cartFilled { color: #fedd00; }
.cartBadge { position: absolute; top: -9px; right: -9px; min-width: 22px; height: 22px; padding: 0 6px; box-sizing: border-box; border-radius: 11px; background: #e53935; color: #fff; font: bold 12px/22px Arial, sans-serif; text-align: center; box-shadow: 0 0 0 2px #fff, 0 1px 4px rgba(0,0,0,.4); pointer-events: none; }
.mobileCartBar { display: none; }
@media (max-width: 700px) {
  .mobileCartBar { position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); z-index: 900; display: flex; align-items: center; gap: 10px; padding: 0 16px; height: 50px; border-radius: 25px; background: #433f40; color: #fff; font: 16px Arial, sans-serif; text-decoration: none; box-shadow: 0 4px 16px rgba(0,0,0,.35); }
  .mobileCartBar b { background: #e53935; color: #fff; border-radius: 12px; padding: 2px 9px; font-size: 14px; }
  .mobileCartBar .mobileCartGo { margin-left: auto; color: #fedd00; font-weight: bold; }
  .mobileCartIcon { width: 24px; height: 22px; background: url(index_files/header_d.png) 0 -2px no-repeat; flex: 0 0 auto; }
  body.hasCartBar { padding-bottom: 76px; }
  body.hasCartBar .zoomOverlay ~ .mobileCartBar, .zoomLock .mobileCartBar { display: none; }
}

/* Tyre catalogue: freshness promise, visible but calm. */
.freshNote { display: inline-flex; align-items: center; gap: 10px; max-width: calc(100% - 24px); box-sizing: border-box; margin: 10px auto 6px; padding: 8px 16px; background: #f3faf1; border: 1px solid #b9dcb0; border-left: 4px solid #4a9a3c; border-radius: 8px; color: #24461f; font: bold 15px/1.35 Arial, sans-serif; text-align: left; }
.freshIcon { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; background: #4a9a3c; color: #fff; font-size: 14px; line-height: 22px; text-align: center; }
@media (max-width: 700px) { .freshNote { font-size: 14px; padding: 8px 12px; } }
/* Cart badge digits: white at rest (global00.css paints "#shopping_cart a span" orange #fe8900); hover keeps the theme yellow. */
#header_user #shopping_cart a span.cartBadge { color: #fff; }
#header_user #shopping_cart a:hover span.cartBadge { color: #fedd00; }

/* Home filters, tablet + mobile (≤1100px): one even grid per filter, separate rounded fields, same gaps everywhere.
   Tyres: 3 + 3 selects, then warehouse | brand. Wheels: 3 + 2 selects on a 6-column grid (spans 2/3), then brand | warehouse. */
@media (max-width: 1100px) {
  #formFilterByTires, #formFilterByWheels { max-width: 560px; margin: 0 auto; }
  .filterMainDiv2 h2 { margin: 0 0 12px; }
  #formFilterByTires .filterSelectsTable, #formFilterByWheels .filterSelectsTable { display: block; width: 100%; margin: 0; }
  #formFilterByTires .filterSelectsTable tbody { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: 100%; }
  #formFilterByWheels .filterSelectsTable tbody { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; width: 100%; }
  #formFilterByTires .filterSelectsTable tr, #formFilterByWheels .filterSelectsTable tr { display: contents; }
  #formFilterByTires .filterSelectsTable td, #formFilterByWheels .filterSelectsTable td { display: block; min-width: 0; padding: 0 !important; }
  #formFilterByWheels .filterSelectsTable td:nth-child(-n+3) { grid-column: span 2; }
  #formFilterByWheels .filterSelectsTable td:nth-child(n+4) { grid-column: span 3; }
  #formFilterByTires .filterPair, #formFilterByWheels .filterPair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; margin: 10px 0 0; }
  .filterMainDiv2 #formFilterByTires select, .filterMainDiv2 #formFilterByWheels select {
    display: block; width: 100% !important; min-width: 0; height: 44px; min-height: 44px; margin: 0 !important; float: none !important;
    box-sizing: border-box; padding: 0 28px 0 12px !important; border: 1px solid #9a9a9a; border-radius: 8px !important;
    background-color: #fff; color: #222; font-size: 16px; line-height: 42px; text-overflow: ellipsis;
  }
  #formFilterByWheels .rangeFields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; width: 100%; margin: 10px 0 0; padding: 0; background: #ffffffb3; border-radius: 8px; box-shadow: 0 0 0 1px #9a9a9a; }
  #formFilterByWheels .rangeFields fieldset { width: auto; min-width: 0; margin: 0; padding: 8px 12px 10px; box-sizing: border-box; }
  #formFilterByWheels .rangeFields fieldset + fieldset { border-left: 1px solid #c8c8c8; }
  #formFilterByWheels .rangeFields legend { float: left; width: 100%; margin: 0 0 6px; padding: 0; font: bold 14px/1.2 Arial, sans-serif; text-align: center; text-transform: uppercase; }
  #formFilterByWheels .rangeFields p { clear: both; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 0; }
  #formFilterByWheels .rangeFields input[type=number] { width: 100%; min-width: 0; height: 38px; margin: 0; padding: 0 6px; box-sizing: border-box; border: 1px solid #9a9a9a; border-radius: 6px; font-size: 15px; text-align: center; }
  #formFilterByWheels .rangeFields .dualRange { margin: 10px 4px 2px; }
  /* The button follows the fields (same width) instead of being pinned to the cell edges. */
  .columns > table:has(.filterMainDiv2) > tbody > tr:not(.homeSearch) > td { padding-bottom: 0 !important; }
  .filterMainDiv2 input.filterSubmitTires, .filterMainDiv2 input.filterSubmitWheels { position: static !important; width: 100% !important; height: 46px; margin: 14px 0 0 !important; border-radius: 8px; }
}
@media (max-width: 700px) {
  /* Short placeholders so they are not cut by the yellow button. */
  tr.homeSearch input[type="search"]::placeholder { font-size: 15px; }
  .filterMainDiv2 h2 { margin-top: 4px; }
}
@media (max-width: 480px) {
  /* Three fields per row: keep "Профиль" / "Диаметр" readable without ellipsis. */
  .filterMainDiv2 #formFilterByTires select, .filterMainDiv2 #formFilterByWheels select { padding: 0 18px 0 8px !important; font-size: 15px; background-position: right 4px center; }
}
@media (max-width: 360px) {
  .filterMainDiv2 #formFilterByTires select, .filterMainDiv2 #formFilterByWheels select { padding: 0 16px 0 6px !important; font-size: 14px; }
  #formFilterByTires .filterSelectsTable tbody, #formFilterByWheels .filterSelectsTable tbody, #formFilterByTires .filterPair, #formFilterByWheels .filterPair { gap: 8px; }
}

/* Home: admin notice from /up?pg=bans (site_info 1), rendered as a calm info plate. */
.siteNotice { display: flex; align-items: center; gap: 12px; max-width: 760px; box-sizing: border-box; margin: 18px auto 6px; padding: 12px 18px; background: #fff8e1; border: 1px solid #f1d58a; border-left: 5px solid #e3a700; border-radius: 8px; color: #4a3b10; font: 17px/1.4 Arial, sans-serif; text-align: left; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.siteNoticeIcon { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; background: #e3a700; color: #fff; font: bold 16px/26px Georgia, serif; text-align: center; }
.siteNoticeText { min-width: 0; }
@media (max-width: 700px) { .siteNotice { margin: 14px 12px 4px; padding: 10px 14px; font-size: 15px; } }

/* Vehicle block without min-height: scale the car illustration to the block height so it is never cut off (desktop). */
@media (min-width: 701px) { .vehicleHome { background-size: auto 100%, 28%; background-position: 58% 0, 0 100px; } }
/* Mobile: the car sits fully inside the block, behind the picker; selects get room for the arrow. */
@media (max-width: 700px) {
  .vehicleHome { background-size: contain, 45%; background-position: 50% 100%, 0 100px; }
  .vehicleCascade { background: #ffffffcc; }
  .vehicleCascade select { padding-right: 22px; text-overflow: ellipsis; }
}

/* Site footer: copyright, company details, offer disclaimer. */
.siteFooter { clear: both; margin: 24px 0 0; padding: 18px 20px 22px; border-top: 3px solid #fedd00; background: #433f40; color: #ddd; font: 13px/1.5 Arial, sans-serif; text-align: center; border-radius: 0 0 12px 12px; }
.siteFooter p { margin: 2px 0; }
.siteFooterCopy { color: #fff; font-size: 14px; font-weight: bold; }
.siteFooterNote { color: #bbb; }
body.hasCartBar .siteFooter { margin-bottom: 0; }
@media (max-width: 700px) { .siteFooter { border-radius: 0; padding: 16px 14px 18px; font-size: 12.5px; } }

/* Cookie notice: compact card at the bottom; on phones the cart bar moves above it. */
.cookieNotice { position: fixed; left: 50%; bottom: 16px; z-index: 950; display: flex; align-items: center; gap: 16px; width: min(760px, calc(100% - 24px)); box-sizing: border-box; padding: 12px 14px 12px 18px; transform: translateX(-50%); background: #2b2829; color: #f2f2f2; border-radius: 10px; box-shadow: 0 6px 24px rgba(0,0,0,.35); font: 14px/1.45 Arial, sans-serif; transition: opacity .25s, transform .25s; }
.cookieNotice p { margin: 0; flex: 1 1 auto; min-width: 0; }
.cookieNotice button { flex: 0 0 auto; padding: 9px 18px; border: 0; border-radius: 6px; background: #fedd00; color: #000; font: bold 14px/1 Arial, sans-serif; cursor: pointer; }
.cookieNotice button:hover { background: #ffe94d; }
.cookieNotice button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.cookieNoticeHide { opacity: 0; transform: translate(-50%, 12px); }
@media (max-width: 700px) {
  .cookieNotice { bottom: calc(10px + env(safe-area-inset-bottom, 0px)); gap: 10px; padding: 10px 10px 10px 14px; font-size: 13px; }
  body.hasCookieNotice.hasCartBar .mobileCartBar { bottom: calc(100px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 380px) { .cookieNotice { flex-direction: column; align-items: stretch; } .cookieNotice button { width: 100%; } body.hasCookieNotice.hasCartBar .mobileCartBar { bottom: calc(140px + env(safe-area-inset-bottom, 0px)); } }
@media (prefers-reduced-motion: reduce) { .cookieNotice { transition: none; } }
/* Without JS the footer may sit outside #wrapper3: keep it at the page width anyway. */
body > .siteFooter, #wrapper1 > .siteFooter, #wrapper2 > .siteFooter { max-width: 1090px; margin-left: auto; margin-right: auto; box-sizing: border-box; }
/* Footer stays readable while the cookie card is shown. */
body.hasCookieNotice { padding-bottom: 84px; }
@media (max-width: 700px) {
  .cookieNotice { padding: 8px 8px 8px 12px; font-size: 13px; line-height: 1.35; }
  .cookieNotice button { padding: 9px 14px; }
  body.hasCookieNotice { padding-bottom: 80px; }
  body.hasCookieNotice.hasCartBar { padding-bottom: 150px; }
  body.hasCookieNotice.hasCartBar .mobileCartBar { bottom: calc(82px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 380px) { .cookieNotice { flex-direction: row; align-items: center; } .cookieNotice button { width: auto; } body.hasCookieNotice.hasCartBar .mobileCartBar { bottom: calc(92px + env(safe-area-inset-bottom, 0px)); } }

/* release 65: wide images in product descriptions (inline padding-right:270px) */
.polozhenie img, .columns .polozhenie img { max-width: 100%; height: auto; box-sizing: border-box; }
@media (max-width: 700px) {
  .polozhenie img, #wrapper3 img[style*="padding"] { padding-left: 0 !important; padding-right: 0 !important; max-width: 100% !important; height: auto !important; }
  .polozhenie, .polozhenie center { max-width: 100%; overflow-wrap: anywhere; }
}
