/*
Theme Name: FB Machinery (WPFlow)
Theme URI: https://www.fb-machinery.com
Description: fb-machinery.com / .hu / .ro – the look of the old FB Machinery site (Raleway, orange #FAB536, skewed tab menu). Machines, catalogue models, spare parts, slideshow, brand logos and pages come from WPFlow (WPFlow Sync 1.2.0+). Child theme of WPFlow Base.
Author: Working Platform WP
Template: wpflow-base
Version: 1.0.1
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: wpflow-fbmachinery
*/

@font-face { font-family: 'Raleway'; font-style: normal; font-display: swap; font-weight: 100 900; src: url(assets/fonts/raleway-latin-wght-normal.woff2) format('woff2-variations'), url(assets/fonts/raleway-latin-wght-normal.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; }
@font-face { font-family: 'Raleway'; font-style: normal; font-display: swap; font-weight: 100 900; src: url(assets/fonts/raleway-latin-ext-wght-normal.woff2) format('woff2-variations'), url(assets/fonts/raleway-latin-ext-wght-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

:root {
  --orange: #FAB536;
  --orange-d: #E59D12;
  --ink: #272727;
  --text: #333;
  --muted: #6b6b6b;
  --bg: #F4F4F4;
  --box: #F8F8F8;
  --line: #E3E3E3;
  --tab1: #d6d6d6;
  --tab2: #9c9c9c;
  --navy: #0f3560;
  --wrap: 1170px;
  --gap: 30px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 15px/1.6 'Raleway', 'Segoe UI', Arial, sans-serif; font-variant-numeric: lining-nums; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
a:hover { color: var(--orange-d); }
h1, h2, h3 { color: var(--ink); line-height: 1.2; font-weight: 500; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--ink); color: #fff; padding: 10px 16px; }
.skip:focus { left: 8px; }
.wrap { width: 100%; max-width: calc(var(--wrap) + 32px); margin: 0 auto; padding: 0 16px; }
.ico { flex: 0 0 auto; vertical-align: middle; }

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 9px 22px; border: 0; border-radius: 2px; cursor: pointer;
  font: 700 13px/1.2 'Raleway', sans-serif; text-transform: uppercase; letter-spacing: .02em; text-decoration: none; transition: background .15s ease; }
.btn-orange { background: var(--orange); color: #fff; }
.btn-orange:hover { background: var(--orange-d); color: #fff; }
.btn-block { display: flex; width: 100%; }
.link-more { color: var(--orange-d); font-weight: 700; text-decoration: none; }

/* ---------- header ---------- */
.site-header { background: #fff; border-bottom: 5px solid var(--orange); position: relative; z-index: 20; }
.header-in { display: flex; align-items: stretch; gap: 20px; min-height: 113px; }
.brand { display: flex; align-items: center; padding: 6px 0; flex: 0 0 auto; }
.logo { display: block; width: auto; height: 86px; }
.header-right { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; min-width: 0; }
.header-top { display: flex; align-items: center; gap: 18px; padding-top: 12px; }
.phones { display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: 14px; color: var(--ink); }
.phones .ico { color: var(--orange); }
.phones a { text-decoration: none; white-space: nowrap; }
.langs { display: flex; gap: 2px; }
.langs a { font-size: 12px; font-weight: 700; text-decoration: none; padding: 3px 7px; color: var(--muted); border: 1px solid var(--line); }
.langs a.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.nav-toggle { display: none; width: 46px; height: 42px; border: 0; background: var(--orange); color: #fff; cursor: pointer; align-items: center; justify-content: center; }

/* skewed grey tabs, active / hover orange */
.nav .menu { display: flex; list-style: none; margin: 0; padding: 0 0 0 14px; }
.nav .menu > li { position: relative; margin-left: 4px; }
.nav .menu > li > a { position: relative; z-index: 0; display: flex; align-items: center; gap: 5px; height: 41px; padding: 0 20px; color: #363435; text-decoration: none;
  font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .01em; white-space: nowrap; }
.nav .menu > li > a::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to bottom, var(--tab1), var(--tab2)); transform: skewX(-16deg); transition: background .15s ease; }
.nav .menu > li:hover > a::before, .nav .menu > li.open > a::before, .nav .menu > li.current-menu-item > a::before, .nav .menu > li.current-menu-ancestor > a::before { background: var(--orange); }
.nav .menu > li:hover > a, .nav .menu > li.current-menu-item > a { color: #fff; }
.nav .sub-toggle { display: none; }
.nav .sub-menu { position: absolute; top: 100%; left: 0; min-width: 260px; margin: 0; padding: 8px 0; list-style: none; background: #fff; border-top: 3px solid var(--orange);
  box-shadow: 0 10px 24px rgba(0,0,0,.14); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s; }
.nav .menu > li:last-child .sub-menu, .nav .menu > li:nth-last-child(2) .sub-menu { left: auto; right: 0; }
.nav li:hover > .sub-menu, .nav li.open > .sub-menu, .nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.nav .sub-menu a { display: block; padding: 7px 18px; font-size: 13px; font-weight: 700; color: var(--ink); text-decoration: none; }
.nav .sub-menu a:hover, .nav .sub-menu .current-menu-item a { color: var(--orange-d); background: #fafafa; }

/* ---------- breadcrumb ---------- */
.crumbs { padding: 12px 0; font-size: 14px; }
.crumbs a { text-decoration: none; color: var(--text); }
.crumbs .sep { margin: 0 10px; color: var(--muted); }
.crumbs [aria-current] { color: var(--orange-d); }

/* ---------- headings with the orange underline ---------- */
.fbm-h { margin: 0 0 22px; font-size: 28px; font-weight: 400; text-transform: uppercase; letter-spacing: .01em; color: var(--ink); }
.fbm-h span { display: inline-block; padding-bottom: 4px; border-bottom: 3px solid var(--orange); }
.fbm-h.center { text-align: center; }
h1.fbm-h { font-size: 30px; }

/* ---------- boxes / layout ---------- */
.box { background: var(--box); padding: 22px 16px 26px; }
.slides-wrap { padding-top: 6px; }
.fbm-slides { --wpf-slide-accent: var(--orange); --wpf-slide-ink: #fff; background: #fff; }
.home-cols { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 24px; padding-top: 24px; padding-bottom: 10px; align-items: start; }
.home-cols.no-side { grid-template-columns: minmax(0, 1fr); }
.home-main > .box + .box { margin-top: 0; border-top: 14px solid transparent; border-image: repeating-linear-gradient(-45deg, #dcdcdc 0 3px, transparent 3px 6px) 14; }
.box-more { margin: 14px 0 0; text-align: right; }
.page-cols { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: var(--gap); padding-top: 14px; padding-bottom: 50px; align-items: start; }
.page-cols-r { grid-template-columns: minmax(0, 1fr) 260px; }
.sec { padding: 46px 0; }

/* ---------- cards ---------- */
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 22px; }
.cards-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mcard { display: flex; flex-direction: column; text-align: center; }
.mcard-img { position: relative; display: block; aspect-ratio: 4 / 3; background: #fff; border: 1px solid #ececec; overflow: hidden; }
.mcard-img img, .mcard-img .noimg { position: absolute; inset: 6px; width: calc(100% - 12px); height: calc(100% - 12px); object-fit: contain; aspect-ratio: auto; }
.noimg { display: block; width: 100%; aspect-ratio: 4 / 3; background: repeating-linear-gradient(135deg, #eee 0 12px, #f6f6f6 12px 24px); }
.mcard-h { margin: 10px 4px 6px; font-size: 13px; font-weight: 500; line-height: 1.35; flex: 1 1 auto; }
.mcard-h a { text-decoration: none; color: var(--ink); }
.mcard-h a:hover { color: var(--orange-d); }
.mcard-price, .mcard-sub { margin: 0 0 8px; font-size: 13px; color: var(--muted); }
.mcard-price { font-weight: 700; color: var(--ink); }
.mcard-btn { margin: 4px auto 0; width: 90%; max-width: 200px; padding: 9px 10px; white-space: nowrap; }
.cards-plain .mcard-btn { display: none; }
.cards-plain .mcard-h { text-align: left; margin-left: 0; }

/* second hand category tiles */
.tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 22px; }
.tile { display: flex; flex-direction: column; text-decoration: none; }
.tile-h { min-height: 40px; display: flex; align-items: flex-end; justify-content: center; text-align: center; font-size: 13px; font-weight: 700; text-transform: uppercase; color: var(--ink); padding-bottom: 6px; }
.tile-img { position: relative; display: block; aspect-ratio: 1; background: #fff; overflow: hidden; }
.tile-img img, .tile-img .noimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; aspect-ratio: auto; transition: transform .25s ease; }
.tile:hover .tile-img img { transform: scale(1.04); }
.tile:hover .tile-h { color: var(--orange-d); }

/* right column of the home page: new spare parts */
.home-side { padding: 18px 14px; }
.side-h { font-size: 18px; margin-bottom: 16px; }
.mini-list { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 14px; }
.mini-list a { display: block; text-decoration: none; font-size: 12px; line-height: 1.35; color: var(--ink); }
.mini-list img, .mini-list .noimg { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; margin-bottom: 6px; }

/* leasing band */
.band { margin-top: 36px; background: linear-gradient(115deg, #0b2747 0%, var(--navy) 45%, #164a80 100%); color: #fff; }
.band-in { padding-top: 34px; padding-bottom: 34px; text-align: center; font-size: clamp(18px, 2.4vw, 30px); font-weight: 300; line-height: 1.5; }
.band-in p, .band-in div { margin: 0; }
.band-in strong { font-weight: 600; }

/* about */
.about-in { max-width: 860px; margin: 0 auto; color: var(--muted); }
.about-in.has-ph { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 30px; align-items: start; }
.about-ph { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.about-ph img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
.about-txt { text-align: center; font-size: 15px; }
.has-ph .about-txt { text-align: left; }
.rec { padding-top: 10px; }

/* brand logos strip */
.fbm-logos { background: #fff; margin: 10px 0 40px; padding: 22px 0; }
.fbm-logos .wpf-logos-track img { filter: none; }

/* ---------- catalogue ---------- */
.side-list { list-style: none; margin: 0 0 26px; padding: 0; }
.side-list li { position: relative; padding-left: 22px; }
.side-list li::before { content: ''; position: absolute; left: 2px; top: 13px; width: 9px; height: 9px; border: 1.5px solid var(--orange); border-radius: 50%; }
.side-list li.on::before { background: var(--orange); }
.side-list a { display: block; padding: 6px 0; text-decoration: none; font-size: 14px; color: var(--ink); }
.side-list li.on > a { color: var(--orange-d); font-weight: 700; }
.side-list .cnt { color: #9a9a9a; font-size: 12px; font-weight: 400; }
.side-h2 { margin-top: 6px; }
.cat-head { margin-bottom: 20px; }
.cat-title { margin: 0 0 12px; font-size: 26px; font-weight: 400; text-transform: uppercase; }
.chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.chip { display: inline-block; padding: 6px 14px; background: #fff; border: 1px solid var(--line); border-radius: 2px; font-size: 13px; font-weight: 700; text-decoration: none; color: var(--ink); }
.chip.on { background: var(--orange); border-color: var(--orange); color: #fff; }
.chip-sep { width: 1px; height: 22px; background: var(--line); margin: 0 4px; }
.cat-lead { color: var(--muted); max-width: 760px; }
.cat-count { margin: 12px 0 0; font-size: 13px; color: var(--muted); }
.empty { padding: 30px; background: #fff; text-align: center; color: var(--muted); }
.pager { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-top: 30px; }
.pager .page-numbers { min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; background: #fff; text-decoration: none; font-weight: 700; border: 1px solid var(--line); }
.pager .current { background: var(--orange); color: #fff; border-color: var(--orange); }

/* ---------- product ---------- */
.prod-title { margin: 6px 0 8px; font-size: 26px; font-weight: 400; }
.tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.tag { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; padding: 3px 8px; background: var(--ink); color: #fff; }
.tag:first-child { background: var(--orange); }
.gallery-main { background: #fff; display: flex; align-items: center; justify-content: center; }
.gallery-big { display: block; width: 100%; max-height: 640px; object-fit: contain; }
.thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.thumb { width: 78px; height: 78px; padding: 0; border: 2px solid transparent; background: #fff; cursor: pointer; }
.thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.thumb.on { border-color: var(--orange); }
.specbox { background: #efebe9; padding: 0 22px 22px; margin-top: 0; }
.specbox > :first-child { margin-top: 0; }
.specbox .spec-cols, .specbox .prices { background: #fff; padding: 12px; }
.spec-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.spec { width: 100%; border-collapse: collapse; font-size: 13px; }
.spec th, .spec td { border: 1px solid var(--line); padding: 7px 8px; text-align: left; vertical-align: top; }
.spec th { font-weight: 700; color: var(--ink); width: 52%; }
.files { display: flex; flex-wrap: wrap; gap: 10px; background: #fff; padding: 16px 12px; border-top: 1px solid var(--line); }
.prices { display: flex; flex-wrap: wrap; gap: 26px; border-bottom: 1px solid var(--line); }
.prices span { display: block; font-size: 12px; color: var(--muted); }
.prices strong { font-size: 20px; color: var(--ink); }
.prod-desc { margin-top: 24px; background: #fff; padding: 18px 20px; }
.prose ul { padding-left: 20px; }
.prose p:first-child { margin-top: 0; }
.video { position: relative; margin-top: 24px; aspect-ratio: 16 / 9; background: #000; }
.video img, .video iframe { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; }
.video-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 10px; border: 0; background: rgba(0,0,0,.35); color: #fff; font: 700 15px 'Raleway', sans-serif; cursor: pointer; }
.offer { margin-top: 26px; padding-bottom: 22px; border-bottom: 14px solid transparent; border-image: repeating-linear-gradient(-45deg, #dcdcdc 0 3px, transparent 3px 6px) 14; }
.offer-h { font-size: 19px; font-weight: 400; margin: 0 0 12px; }
.related { margin-top: 26px; }
.part-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.part-data { padding: 16px; background: #fff; }
.part-data .btn { margin-top: 14px; }

/* right contact box */
.side-r { position: sticky; top: 14px; }
.cbox { background: var(--box); border: 1px solid #ececec; padding: 18px; }
.cbox-h { font-size: 16px; font-weight: 600; margin: 0 0 12px; }
.cbox-list { list-style: none; margin: 0 0 16px; padding: 0; font-size: 13px; }
.cbox-list li { display: flex; gap: 10px; padding: 6px 0; }
.cbox-list .ico { color: var(--orange); margin-top: 2px; }
.cbox-list a { text-decoration: none; word-break: break-word; }

/* pages */
.page-box { background: var(--box); padding: 26px 24px; }
.page-ph { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin-bottom: 18px; }
.page-ph img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.contact-list ul { list-style: none; padding: 0; }
.contact-list li { padding: 5px 0; border-bottom: 1px solid var(--line); }
.plain-list { padding-left: 18px; }

/* ---------- WPFlow forms (quote, newsletter) ---------- */
.wpf-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; }
.wpf-form .wpf-f { margin: 0; display: flex; flex-direction: column; gap: 4px; }
.wpf-form .wpf-wide { grid-column: 1 / -1; }
.wpf-form label { font-size: 13px; color: var(--muted); }
.wpf-form .inp, .wpf-nl input { width: 100%; min-height: 42px; padding: 9px 12px; border: 1px solid #ddd; background: #fff; font: inherit; color: var(--ink); border-radius: 0; }
.wpf-form textarea.inp { min-height: 96px; resize: vertical; }
.wpf-form .inp:focus, .wpf-nl input:focus { border-color: var(--orange); outline: 2px solid rgba(250,181,54,.35); outline-offset: 0; }
.wpf-form .wpf-submit { flex-direction: row; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.wpf-form .wpf-submit .btn { background: var(--orange); color: #fff; min-width: 200px; }
.wpf-form .wpf-submit .btn:hover { background: var(--orange-d); }
.wpf-small { font-size: 12px; color: var(--muted); }
.wpf-hp { position: absolute; left: -9999px; }
.wpf-form-msg { padding: 10px 14px; margin: 0 0 12px; font-weight: 600; }
.wpf-ok { background: #e8f6e8; color: #1f6b1f; }
.wpf-err { background: #fdeaea; color: #9a1c1c; }

/* ---------- footer ---------- */
.site-footer { color: #cfcfcf; font-size: 14px; }
.nl-band { background: #1f1f1f; padding: 18px 0 22px; }
.fbm-nl .wpf-nl-title { color: var(--orange); font-size: 22px; font-weight: 400; margin: 0 0 10px; }
.fbm-nl .wpf-nl-fields { display: grid; grid-template-columns: 1fr 1fr auto; gap: 18px; align-items: end; }
.fbm-nl .wpf-nl-f { display: flex; flex-direction: column; gap: 4px; color: #e5e5e5; font-size: 14px; }
.fbm-nl input { background: #4a4a4a; border-color: #5a5a5a; color: #fff; }
.fbm-nl .wpf-nl-btn { min-height: 42px; padding: 0 40px; background: var(--orange); color: #fff; border: 0; font: 700 13px 'Raleway', sans-serif; text-transform: uppercase; cursor: pointer; }
.fbm-nl .wpf-nl-btn:hover { background: var(--orange-d); }
.fbm-nl .wpf-nl-privacy { font-size: 12px; color: #9a9a9a; margin: 8px 0 0; }
.fbm-nl .wpf-nl-msg { color: #fff; background: #333; padding: 8px 12px; }
.foot-main { background: #2b2b2b linear-gradient(180deg, #2f2f2f, #252525); padding: 34px 0 26px; }
.foot-grid { display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: 30px; }
.foot-about img { width: 210px; height: auto; display: block; margin-bottom: 18px; }
.foot-about p { line-height: 1.7; }
.foot-h { margin: 0 0 14px; padding: 12px 16px; background: #1e1e1e; color: var(--orange); font-size: 17px; font-weight: 700; text-transform: uppercase; }
.foot-links, .foot-contact { list-style: none; margin: 0; padding: 0; }
.foot-links li a { display: block; padding: 6px 0; text-decoration: none; color: #e5e5e5; }
.foot-links li a:hover { color: var(--orange); }
.foot-contact li { display: flex; gap: 12px; align-items: flex-start; padding: 8px 0; border-bottom: 1px solid #3a3a3a; }
.foot-contact .ico { color: var(--orange); margin-top: 2px; }
.foot-contact a { color: #e5e5e5; text-decoration: none; word-break: break-word; }
.foot-bottom { background: #1b1b1b; padding: 14px 0; font-size: 13px; color: #9a9a9a; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .nav .menu > li > a { padding: 0 13px; font-size: 12px; }
  .logo { height: 70px; }
}
@media (max-width: 960px) {
  .header-in { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 6px 12px; min-height: 0; padding-top: 8px; padding-bottom: 8px; }
  .header-right, .header-top { display: contents; }
  .brand { grid-column: 1; grid-row: 1; padding: 0; }
  .langs { grid-column: 2; grid-row: 1; justify-self: end; }
  .nav-toggle { display: inline-flex; grid-column: 3; grid-row: 1; }
  .phones { grid-column: 1 / -1; grid-row: 2; justify-content: center; flex-wrap: wrap; gap: 4px 14px; }
  .nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 3px solid var(--orange); box-shadow: 0 14px 24px rgba(0,0,0,.15); }
  .nav.open { display: block; }
  .nav .menu { flex-direction: column; padding: 6px 0; }
  .nav .menu > li { margin: 0; display: flex; flex-wrap: wrap; border-bottom: 1px solid #eee; }
  .nav .menu > li > a { flex: 1 1 auto; height: auto; padding: 13px 18px; }
  .nav .menu > li > a .ico { display: none; }
  .nav .menu > li > a::before { display: none; }
  .nav .menu > li.current-menu-item > a, .nav .menu > li:hover > a { color: var(--orange-d); }
  .nav .sub-toggle { display: inline-flex; align-items: center; justify-content: center; width: 52px; border: 0; border-left: 1px solid #eee; background: transparent; cursor: pointer; color: var(--ink); }
  .nav li.open > .sub-toggle .ico { transform: rotate(180deg); }
  .nav .sub-menu { position: static; flex: 1 0 100%; box-shadow: none; border-top: 0; padding: 0 0 8px 14px; display: none; opacity: 1; visibility: visible; transform: none; }
  .nav li:hover > .sub-menu, .nav li:focus-within > .sub-menu { display: none; }
  .nav li.open > .sub-menu { display: block; }
  .home-cols { grid-template-columns: minmax(0, 1fr); }
  .home-side .mini-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .page-cols, .page-cols-r { grid-template-columns: minmax(0, 1fr); }
  .page-cols .side:not(.side-r) { order: 2; }
  .side-r { position: static; }
  .cards-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .foot-grid { grid-template-columns: 1fr 1fr; }
  .foot-about { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  body { font-size: 14px; }
  .logo { height: 50px; }
  .phones { font-size: 13px; }
  .langs a { padding: 3px 6px; }
  .cards-plain .mcard:nth-child(n+5) { display: none; }
  .cards, .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .home-side .mini-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fbm-h { font-size: 22px; }
  .spec-cols, .part-top, .about-in.has-ph { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .spec-cols .spec + .spec tr:first-child th, .spec-cols .spec + .spec tr:first-child td { border-top: 0; }
  .specbox { padding: 0 10px 10px; }
  .wpf-form { grid-template-columns: minmax(0, 1fr); }
  .fbm-nl .wpf-nl-fields { grid-template-columns: minmax(0, 1fr); }
  .foot-grid { grid-template-columns: minmax(0, 1fr); }
  .prod-title, .cat-title { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }

/* privacy notice link in the footer (WPFlow page "privacy") */
.foot-bottom .privacy-link { color: inherit; text-decoration: underline; }
