/* Onest (SIL OFL) — self-hosted geometric grotesque, Cyrillic + Latin */
/* Source: Google Fonts / https://fonts.google.com/specimen/Onest */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/onest/onest-cyrillic-ext.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/onest/onest-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/onest/onest-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/onest/onest-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Apply Onest wherever GT Walsheim Pro (or its Arial fallback) was used. */
html, body, .t-records, .tn-atom, .tn-elem,
input, button, select, textarea, .page-wrap, .page-inner-main, .light-page {
  font-family: 'Onest', sans-serif;
}


/* Shared typography and inner-page layout (Tilda look) */
body.page-inner, body.t-body {
  font-family: 'Onest', sans-serif;
  background: #0c0c0c;
  color: #eaeaea;
}
/* Language codes in the header should stay on one line */
#rec609347214 .tn-elem[data-elem-id="1687665610932"],
#rec609347214 .tn-elem[data-elem-id="1687665611849"],
#rec609347214 .tn-elem[data-elem-id="1687578405712"] {
  width: auto !important;
  white-space: nowrap;
}


/* Header nav labels were sized for GT Walsheim Pro; Onest is slightly wider and was wrapping mid-word. */
#rec609347214 .tn-elem[data-elem-id="1687579518588"],
#rec609347214 .tn-elem[data-elem-id="1687579132437"],
#rec609347214 .tn-elem[data-elem-id="1687665600815"],
#rec609347214 .tn-elem[data-elem-id="1687931779237"] {
  width: auto !important;
}
#rec609347214 .tn-elem[data-elem-id="1687579518588"] .tn-atom,
#rec609347214 .tn-elem[data-elem-id="1687579132437"] .tn-atom,
#rec609347214 .tn-elem[data-elem-id="1687665600815"] .tn-atom,
#rec609347214 .tn-elem[data-elem-id="1687931779237"] .tn-atom {
  white-space: nowrap;
}


.page-wrap { position: relative; width: 100%; }
.page-inner-main { max-width: 1160px; margin: 0 auto; padding: 70px 40px 100px; box-sizing: border-box; }
@media (max-width: 640px) {
  .page-inner-main { padding: 40px 20px 70px; }
}

.eyebrow { color: #e30917; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; font-weight: 500; margin: 0 0 22px; }
.h-hero { font-size: 42px; line-height: 1.2; font-weight: 400; margin: 0 0 24px; color: #fff; }
@media (max-width: 640px) { .h-hero { font-size: 28px; } }
.lead { font-size: 18px; line-height: 1.55; color: #d0d0d0; margin: 0 0 28px; max-width: 820px; }
.body-copy { font-size: 16px; line-height: 1.7; color: #cfcfcf; max-width: 900px; margin: 0 0 20px; }

/* About */
.about-hero { position: relative; overflow: hidden; background: #0c0c0c; padding-bottom: 40px; }
.about-map { width: 100%; max-width: 1100px; margin: 10px auto 50px; display: block; }
.steps-title { font-size: 22px; margin: 10px 0 36px; color: #fff; font-weight: 400; }
.steps { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 36px 40px; position: relative; }
@media (max-width: 800px) { .steps { grid-template-columns: 1fr; } }
.step { position: relative; }
.step-num { width: 42px; height: 42px; border-radius: 50%; border: 1px solid #e30917; display: flex; align-items: center; justify-content: center; color: #e30917; margin-bottom: 14px; }
.step-num img { width: 18px; height: 18px; }
.step p { margin: 0; font-size: 14px; line-height: 1.5; color: #c8c8c8; max-width: 280px; }
.factory-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 70px; }
.factory-grid img { width: 100%; height: auto; display: block; object-fit: cover; }
@media (max-width: 700px) { .factory-grid { grid-template-columns: 1fr; } }

/* Contact */
.contact-section { position: relative; background: #0c0c0c; min-height: 640px; }
.contact-section .grid-bg { position: absolute; inset: 0; background-repeat: repeat; opacity: .35; pointer-events: none; }
.contact-grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: 1160px; margin: 0 auto; padding: 80px 40px 90px; align-items: start; }
@media (max-width: 800px) { .contact-grid { grid-template-columns: 1fr; padding: 50px 20px 70px; } }
.contact-meta h3 { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #8a8a8a; font-weight: 500; margin: 28px 0 8px; }
.contact-meta p, .contact-meta a { margin: 0; color: #eaeaea; text-decoration: none; font-size: 16px; line-height: 1.5; }
.contact-meta p.eyebrow { color: #e30917; font-size: 13px; }
.contact-form, .page-form { display: flex; flex-direction: column; gap: 12px; }
.page-form input, .page-form select, .page-form textarea {
  background: transparent; border: 1px solid #3a3a3a; color: #eaeaea; padding: 14px 16px;
  font-family: inherit; font-size: 15px; width: 100%; box-sizing: border-box; border-radius: 0;
}
.page-form input::placeholder, .page-form textarea::placeholder { color: #7a7a7a; }
.page-form select { color: #eaeaea; }
.page-form select option { color: #111; }
.page-form .consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: #bdbdbd; }
.page-form .consent input { width: auto; margin-top: 3px; accent-color: #e30917; }
.page-form button, .btn-light {
  background: #ececec; color: #111; border: 0; padding: 16px 20px; font-family: inherit; font-size: 15px; cursor: pointer;
}
.page-form button:hover, .btn-light:hover { background: #fff; }

/* Guarantee */
.g-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 40px; }
@media (max-width: 800px) { .g-cards { grid-template-columns: 1fr; } }
.g-card { background: #161616; padding: 36px 32px 40px; border-radius: 2px; }
.g-card h3 { font-size: 20px; font-weight: 400; margin: 16px 0 18px; color: #fff; }
.g-card p, .g-card li { font-size: 14px; line-height: 1.6; color: #c4c4c4; margin: 0 0 10px; }
.g-card ul { padding-left: 18px; margin: 0 0 10px; }
.g-card .icon { width: 36px; height: 36px; }
.g-card .icon img { width: 36px; height: 36px; }

/* Privacy */
.privacy-body { font-size: 14px; line-height: 1.65; color: #cfcfcf; max-width: 980px; }
.privacy-body h2 { color: #fff; font-size: 16px; font-weight: 500; margin: 22px 0 8px; }
.privacy-body p { margin: 0 0 8px; }

/* Catalog / product — light canvas */
.light-page { background: #f3f3f3; color: #1a1a1a; }
.light-page a { color: inherit; }
.crumbs { font-size: 13px; color: #7a7a7a; margin: 0 0 28px; }
.crumbs a { color: #7a7a7a; text-decoration: none; }
.crumbs a:hover { color: #111; }
.cat-title { font-size: 32px; font-weight: 400; margin: 0 0 32px; color: #1a1a1a; }
.cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 960px) { .cat-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .cat-grid { grid-template-columns: 1fr; } }
.p-card { background: #fff; display: flex; flex-direction: column; min-height: 100%; }
.p-card .p-img { background: #f0f0f0; aspect-ratio: 1.15/1; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.p-card .p-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p-card .p-body { padding: 18px 18px 22px; }
.p-card h3 { font-size: 16px; font-weight: 500; margin: 0 0 6px; line-height: 1.3; }
.p-card h3 a { text-decoration: none; }
.p-card .sku { font-size: 13px; color: #8a8a8a; margin: 0 0 14px; }
.specs { width: 100%; font-size: 13px; border-collapse: collapse; }
.specs td { padding: 5px 0; border-bottom: 1px solid #ececec; }
.specs td:last-child { text-align: right; font-weight: 500; }
.stock { display: flex; align-items: center; gap: 8px; margin: 14px 0; font-size: 13px; }
.stock i { width: 10px; height: 10px; background: #3cba54; display: inline-block; margin-right: 2px; }
.btn-red { display: block; text-align: center; background: #d0121a; color: #fff !important; text-decoration: none; padding: 12px 10px; font-size: 14px; border: 0; width: 100%; box-sizing: border-box; cursor: pointer; font-family: inherit; }
.btn-red:hover { background: #b10f16; }

/* Product template */
.product-hero { display: grid; grid-template-columns: 1.1fr 1fr 0.85fr; gap: 28px; align-items: start; }
@media (max-width: 1000px) { .product-hero { grid-template-columns: 1fr; } }
.product-gallery { background: #111; }
.product-gallery img { width: 100%; height: auto; display: block; }
.gallery-nav { display: flex; gap: 8px; justify-content: center; margin-top: 10px; color: #777; }
.product-buy { background: #fff; padding: 20px; }
.product-buy .btn-red { margin: 10px 0; }
.btn-outline { display: block; text-align: center; border: 1px solid #ddd; padding: 11px 10px; text-decoration: none; font-size: 14px; margin-top: 8px; background: #fff; }
.tabs { display: flex; gap: 8px; border-bottom: 1px solid #e1e1e1; margin: 48px 0 0; }
.tabs button { background: none; border: 0; border-bottom: 2px solid transparent; padding: 12px 22px; cursor: pointer; font-family: inherit; font-size: 14px; color: #333; }
.tabs button.active { color: #e30917; border-bottom-color: #e30917; }
.tab-panel { display: none; padding: 28px 0 10px; }
.tab-panel.active { display: block; }
.oem-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; font-size: 13px; }
.oem-grid div { padding: 10px 8px; border-bottom: 1px solid #e8e8e8; }
@media (max-width: 700px) { .oem-grid { grid-template-columns: 1fr 1fr; } }

/* Footer labels were sized for GTWalsheimPro; keep nowrap + auto width so Onest cannot wrap mid-word. */
#rec609347613 .tn-elem[data-elem-id="1687775094936"],
#rec609347613 .tn-elem[data-elem-id="1687775094338"],
#rec609347613 .tn-elem[data-elem-id="1687775134080"],
#rec609347613 .tn-elem[data-elem-id="1687775122179"],
#rec609347613 .tn-elem[data-elem-id="1687775129197"],
#rec609347613 .tn-elem[data-elem-id="1687775091604"] {
  width: auto !important;
}
#rec609347613 .tn-elem:not([data-elem-id="1687599253102"]) .tn-atom {
  white-space: nowrap;
}

.product-gallery { position: relative; background: #111; overflow: hidden; }
.product-gallery img { width: 100%; height: auto; display: none; }
.product-gallery img.is-active { display: block; }
.gallery-nav { display: flex; gap: 16px; justify-content: flex-start; margin-top: 10px; }
.gallery-nav button {
  background: none; border: 0; color: #888; cursor: pointer; font-size: 18px; padding: 4px 8px;
}
.gallery-nav button:hover { color: #111; }
.oem-grid {
  display: block;
  columns: 4;
  column-gap: 24px;
  font-size: 13px;
  color: #222;
}
.oem-grid div {
  break-inside: avoid;
  padding: 8px 8px;
  border-bottom: 1px solid #e8e8e8;
}
@media (max-width: 700px) {
  .oem-grid { columns: 2; }
}

/* DET.ALL wordmark is wider than DET.ALL; keep letter size, grow the box. */
#rec609347214 .tn-elem[data-elem-id="1687578356934"] { width: 126px !important; }
@media screen and (max-width: 639px) {
  #rec609347214 .tn-elem[data-elem-id="1687578356934"] { width: 88px !important; }
}
#rec609347613 .tn-elem[data-elem-id="1687599225990"] { width: 152px !important; }
@media screen and (max-width: 639px) {
  #rec609347613 .tn-elem[data-elem-id="1687599225990"] { width: 177px !important; }
}

/* Footer socials: keep OK, Yandex Market, WB, Ozon; hide Telegram, WhatsApp, VK. */
#rec609347613 .tn-elem[data-elem-id="1687599837178"],
#rec609347613 .tn-elem[data-elem-id="1687599842211"],
#rec609347613 .tn-elem[data-elem-id="1687599848511"] {
  display: none !important;
}
@media screen and (max-width: 1199px) {
  #rec609347613 .tn-elem[data-elem-id="1687599857428"] { left: calc(50% - 320px + 0px) !important; }
  #rec609347613 .tn-elem[data-elem-id="1687599867536"] { left: calc(50% - 320px + 90px) !important; }
  #rec609347613 .tn-elem[data-elem-id="1687599874688"] { left: calc(50% - 320px + 180px) !important; }
  #rec609347613 .tn-elem[data-elem-id="1687599826027"] { left: calc(50% - 320px + 270px) !important; }
}
@media screen and (max-width: 639px) {
  #rec609347613 .tn-elem[data-elem-id="1687599857428"] { top: 308px !important; left: calc(50% - 160px + 0px) !important; }
  #rec609347613 .tn-elem[data-elem-id="1687599867536"] { top: 308px !important; left: calc(50% - 160px + 80px) !important; }
  #rec609347613 .tn-elem[data-elem-id="1687599874688"] { top: 308px !important; left: calc(50% - 160px + 160px) !important; }
  #rec609347613 .tn-elem[data-elem-id="1687599826027"] { top: 308px !important; left: calc(50% - 160px + 240px) !important; }
}

/* Header: remove WhatsApp (and the old Telegram slot is reused for MAX). */
#rec609347214 .tn-elem[data-elem-id="1687579486310"] {
  display: none !important;
}

/* ---- Overlap + button alignment (Onest is wider than GT Walsheim Pro) ---- */

/* Home hero headline was overflowing onto the marketplace buttons. */
#rec608568961 .tn-elem[data-elem-id="1687671330564"] .tn-atom {
  font-size: 58px !important;
  line-height: 1.08 !important;
}
@media screen and (max-width: 1199px) {
  #rec608568961 .tn-elem[data-elem-id="1687671330564"] .tn-atom {
    font-size: 40px !important;
    line-height: 1.12 !important;
  }
}
@media screen and (max-width: 639px) {
  #rec608568961 .tn-elem[data-elem-id="1687671330564"] .tn-atom {
    font-size: 34px !important;
    line-height: 1.15 !important;
  }
}

/* Hero lead-form title: keep a gap above the first field if the line wraps. */
#rec608568961 .tn-elem[data-elem-id="1687581016309"] .tn-atom,
#rec608833628 .tn-elem[data-elem-id="1687756582297"] .tn-atom,
#rec610228245 .tn-elem[data-elem-id="1687845135509"] .tn-atom {
  line-height: 1.3 !important;
}
@media screen and (max-width: 1199px) {
  #rec608568961 .tn-elem[data-elem-id="1687581016309"] .tn-atom,
  #rec608833628 .tn-elem[data-elem-id="1687756582297"] .tn-atom,
  #rec610228245 .tn-elem[data-elem-id="1687845135509"] .tn-atom {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }
}

/* Center labels in every Zero Block button, Tilda submit, and site buttons. */
.tn-elem[data-elem-type="button"] .tn-atom,
.tn-elem[data-elem-type="button"] a.tn-atom,
.t-btn,
.t-submit,
button.t-submit,
button.tn-atom,
.btn-red,
.btn-outline,
.page-form button,
.page-form input[type="submit"],
.contact-form button,
.product-buy .btn-red,
.product-buy .btn-outline,
.product-buy a.btn-red,
.product-buy a.btn-outline {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box;
  text-align: center;
}

/* Single-line form controls: keep typed/placeholder text vertically centered. */
#allrecords input.t-input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="submit"]):not([type="button"]),
#allrecords input.t-input-phonemask,
#allrecords select.t-input,
#allrecords select {
  box-sizing: border-box !important;
  line-height: 1.25 !important;
}

/* Partners intro: Onest wraps to an extra line and sits on the following paragraph. */
#rec608830935 .tn-elem[data-elem-id="1687774255697"] .tn-atom {
  font-size: 21px !important;
  line-height: 1.2 !important;
}
@media screen and (max-width: 639px) {
  #rec608830935 .tn-elem[data-elem-id="1687774255697"] .tn-atom {
    font-size: 16px !important;
    line-height: 1.2 !important;
  }
}
