/* ==========================================================================
   Home / Built for Industry — content-driven layout (2026-09-26).
   The CMS title, text and button can be of any length, so the text panel
   grows with its content instead of using a fixed height with absolutely
   positioned copy (which made long text overflow onto Latest News).
   Loaded last; overrides earlier fixed-height rules in style.css and
   feroxo-mobile-v3.css.
   ========================================================================== */

html body .home-page .built-industry {
  height: auto !important;
  min-height: calc(430 / 1840 * 100cqw) !important;
  align-items: stretch !important;
}

html body .home-page .built-industry .built-industry__text-panel {
  position: relative !important;
  height: auto !important;
  min-height: calc(430 / 1840 * 100cqw) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(20px, calc(28 / 1840 * 100cqw), 32px) !important;
  padding: clamp(28px, calc(44 / 1840 * 100cqw), 48px) clamp(20px, calc(40 / 1840 * 100cqw), 48px) !important;
  border: 1px solid rgba(13, 2, 2, .24) !important;
  border-radius: var(--home-card-radius, 24px) !important;
  background: var(--home-surface, #fafafa) !important;
  overflow: hidden !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
html body .home-page .built-industry .built-industry__text-panel::after { display: none !important; }

html body .home-page .built-industry .built-industry__text-panel .built-industry__content {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  transform: none !important;
}

html body .home-page .built-industry .built-industry__text-panel .built-industry__content :is(h1,h2) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  font-size: clamp(34px, calc(66 / 1840 * 100cqw), 72px) !important;
  line-height: .98 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
}

html body .home-page .built-industry .built-industry__text-panel .built-industry__content p {
  width: 100% !important;
  max-width: 620px !important;
  margin: clamp(16px, calc(24 / 1840 * 100cqw), 26px) auto 0 !important;
  font-family: Inter, Arial, Helvetica, sans-serif !important;
  font-size: clamp(15px, calc(20 / 1840 * 100cqw), 20px) !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-wrap: pretty !important;
  overflow-wrap: normal !important;
  hyphens: manual !important;
}

html body .home-page .built-industry .built-industry__text-panel .built-industry__button {
  position: static !important;
  inset: auto !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 14px 32px !important;
  font-size: clamp(14px, calc(17 / 1840 * 100cqw), 17px) !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  transform: none !important;
}
html body .home-page .built-industry .built-industry__text-panel .built-industry__button:hover,
html body .home-page .built-industry .built-industry__text-panel .built-industry__button:focus-visible {
  transform: translateY(-1px) !important;
}

html body .home-page .built-industry .built-industry__video-card {
  height: auto !important;
  min-height: calc(430 / 1840 * 100cqw) !important;
}
html body .home-page .built-industry .built-industry__video-card .built-industry__video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Tablet / mobile: stacked cards. */
@media (max-width: 900px) {
  html body .home-page .built-industry {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
  html body .home-page .built-industry .built-industry__text-panel {
    min-height: 0 !important;
    padding: 32px 20px !important;
    border-radius: 16px !important;
  }
  html body .home-page .built-industry .built-industry__text-panel .built-industry__content :is(h1,h2) {
    font-size: clamp(28px, 7.4vw, 52px) !important;
    line-height: 1 !important;
  }
  html body .home-page .built-industry .built-industry__text-panel .built-industry__content p {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }
  html body .home-page .built-industry .built-industry__video-card {
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
    border-radius: 16px !important;
  }
}

/* Phones: size the title so each CMS line ("A ELEKTROCENTRÁLY",
   "& DIESEL GENERATORS") fits without leaving a short word alone. */
@media (max-width: 600px) {
  html body .home-page .built-industry .built-industry__text-panel .built-industry__content :is(h1,h2) {
    font-size: clamp(22px, 6.6vw, 38px) !important;
    line-height: 1.05 !important;
  }

  /* Latest News heading: earlier rules shrank it to ~15px with .94 line
     height, so Czech diacritics (Č, Ě) touched the line above. */
  html body .home-page .latest-news .latest-news__heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }
  html body .home-page .latest-news .latest-news__heading h2 {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    font-size: clamp(22px, 6.6vw, 30px) !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
  }
  html body .home-page .latest-news .latest-news__feature > span,
  html body .home-page .latest-news .latest-news__stack a > span {
    line-height: 1.1 !important;
  }
  html body .home-page .latest-news .latest-news__heading a {
    flex: 0 0 auto !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    padding: 9px 16px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }
}

/* Footer: company identification line (§ 435 OZ) — added 2026-09-26 */
.site-footer .site-footer__legal{
  grid-column: 1 / -1;
  margin: 0 0 6px;
  font-size: 12px;
  line-height: 1.6;
  opacity: .72;
  text-align: center;
}
.site-footer .site-footer__legal a{ color: inherit; text-decoration: none; }
.site-footer .site-footer__legal a:hover{ text-decoration: underline; }

/* Desktop/tablet: the footer is a grid with named areas
   ("brand company legal social" / "copy ..."), and a later rule pins the
   copyright absolutely inside its area. Give the legal line its own grid
   row ("info") between the navigation and the copyright, and put the
   copyright back in normal flow so the two lines can never overlap.
   Phones (<=760px) already stack everything in a single column. */
@media (min-width: 761px) {
  html body .site-footer {
    grid-template-areas: "brand company legal social" "info info info info" "copy copy copy copy" !important;
    grid-template-rows: 1fr auto auto !important;
    height: auto !important;
  }
  html body .site-footer .site-footer__legal {
    grid-area: info !important;
    position: static !important;
    align-self: end !important;
    max-width: calc(100vw - 110px) !important;
    margin: 28px 0 12px !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    text-align: left !important;
    white-space: normal !important;
  }
  /* doubled classes: must outrank "body .site-footer.footer--final-locked .site-footer__copy" */
  html body .site-footer.site-footer.site-footer .site-footer__copy.site-footer__copy {
    grid-area: copy !important;
    position: static !important;
    inset: auto !important;
    align-self: end !important;
    margin: 0 !important;
  }
}

/* Contact: Google Maps embed replaces the static map image */
.contact-map-v2{ position: relative; overflow: hidden; border-radius: 16px; }
.contact-map-v2 iframe{ width: 100%; height: 100%; min-height: 320px; border: 0; display: block; }
.contact-map-v2 .contact-map-v2__pin{ display: none; }

/* ==========================================================================
   Header 761–1160px (2026-09-27; up to 1160 px since 09.10.2026, see FEROXO_HEADER_FIT): the desktop header has a fixed width and a
   non-wrapping menu, so Czech labels ran under the request button. In this
   range the menu collapses into the burger (the same toggle JS as on phones).
   ========================================================================== */
@media (min-width: 761px) and (max-width: 1160px) {
  html body .site-header .site-menu-toggle {
    display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important;
    gap: 4px !important; flex: 0 0 32px !important; width: 32px !important; height: 32px !important;
    order: 3 !important; margin: 0 0 0 8px !important; padding: 0 !important; border: 0 !important; background: transparent !important; cursor: pointer !important;
  }
  html body .site-header .site-menu-toggle span { display: block !important; width: 18px !important; height: 2px !important; margin: 0 !important; background: #0D0202 !important; border-radius: 999px !important; }
  html body .site-header .site-header__actions { order: 2 !important; margin-left: auto !important; }
  html body .site-header .site-nav {
    position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; width: auto !important;
    margin: 0 !important; padding: 8px 14px 12px !important; display: none !important; flex-direction: column !important; gap: 0 !important;
    background: #FAFAFA !important; border-radius: 0 0 16px 16px !important; box-shadow: 0 16px 30px rgba(13,2,2,.14) !important; z-index: 1001 !important;
  }
  html body .site-header.is-menu-open .site-nav { display: flex !important; }
  html body .site-header .site-nav .site-nav__link {
    display: block !important; width: 100% !important; padding: 11px 8px !important; border-bottom: 1px solid rgba(13,2,2,.08) !important;
    font-size: 15px !important; font-weight: 600 !important; line-height: 1.15 !important; white-space: normal !important;
  }
  html body .site-header .site-nav .site-nav__link:last-child { border-bottom: 0 !important; }
}


/* FEROXO_LANG_FLAGS_2026_09_28 — owner decision 28.09.2026: two flag buttons (CZ, EN) instead of globe + dropdown.
   Tap area >= 40x40 px; active language underlined in brand red, inactive dimmed. */
html body .language.language--flags { display: inline-flex !important; align-items: center !important; gap: 2px !important; position: relative !important; flex: 0 0 auto !important; }
html body .language--flags .language__option { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 5px !important; min-width: 40px !important; min-height: 40px !important; width: auto !important; height: auto !important; padding: 0 6px !important; margin: 0 !important; border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; background: transparent !important; color: #0D0202 !important; font: inherit !important; cursor: pointer !important; opacity: .6 !important; transition: opacity .15s ease, border-color .15s ease !important; }
html body .language--flags .language__option:hover,
html body .language--flags .language__option:focus-visible { opacity: 1 !important; }
html body .language--flags .language__option[aria-pressed="true"] { opacity: 1 !important; border-bottom-color: var(--red, #BF2121) !important; }
html body .language--flags .language__option img { width: 20px !important; height: 14px !important; max-width: none !important; display: block !important; object-fit: cover !important; border-radius: 2px !important; box-shadow: 0 0 0 1px rgba(13, 2, 2, .12) !important; }
html body .language--flags .language__code { font-size: 13px !important; font-weight: 600 !important; line-height: 1 !important; letter-spacing: .02em !important; }
html body .placeholder-page > .language--flags { position: absolute !important; top: 12px !important; right: 16px !important; z-index: 5 !important; }
@media (max-width: 760px) {
  html body .language--flags .language__option { padding: 0 3px !important; gap: 4px !important; }
  html body .language--flags .language__code { font-size: 12px !important; }
}
@media (min-width: 761px) and (max-width: 1160px) {
  html body .site-header .site-header__actions { gap: 4px !important; }
}
@media (max-width: 420px) {
  /* Room for the two flag buttons next to the burger: the request button keeps its text, loses the fixed min-width. */
  html body .site-header .site-header__actions .request-button { min-width: 0 !important; width: auto !important; padding-left: 12px !important; padding-right: 12px !important; }
}
@media (min-width: 761px) and (max-width: 1160px) {
  html body .language.language--flags { gap: 0 !important; }
  html body .language--flags .language__option { min-width: 40px !important; padding: 0 2px !important; gap: 4px !important; }
  html body .language--flags .language__code { font-size: 12px !important; }
}
@media (max-width: 420px) {
  html body .language.language--flags { gap: 0 !important; }
  html body .language--flags .language__option { min-width: 40px !important; padding: 0 1px !important; gap: 3px !important; }
  html body .language--flags .language__code { font-size: 11px !important; }
}


/* FEROXO_RELEASE_A_2026_09_29 */
/* A3: news feature photo keeps its proportions */
html body .home-page .latest-news__feature img { object-fit: cover !important; object-position: center !important; }
/* A3: industry card names wrap inside the card (long CZ names) */
html body .home-page .industry-card h3 { left: 0 !important; right: 0 !important; width: auto !important; max-width: 100% !important; box-sizing: border-box !important; padding: 0 14px !important; text-align: center !important; white-space: normal !important; overflow-wrap: break-word !important; hyphens: auto !important; font-size: clamp(14px, 1.35vw, 21px) !important; line-height: 1.1 !important; }
/* A4: dialogs above the sticky header; scroll inside the dialog, not the page */
html body .request-modal, html body .service-request-dialog { z-index: 3000 !important; }
html body .request-modal.is-open, html body .service-request-dialog.is-open { overflow-y: auto !important; overscroll-behavior: contain !important; }
/* A4: visible close buttons, 44 x 44 */
html body .request-modal .modal__close { width: 44px !important; height: 44px !important; color: #0D0202 !important; background: #FFFFFF !important; border: 1px solid rgba(13, 2, 2, .35) !important; font-size: 26px !important; line-height: 1 !important; }
html body .service-request-close { width: 44px !important; height: 44px !important; top: 12px !important; right: 12px !important; color: #0D0202 !important; background: #FFFFFF !important; border: 1px solid rgba(13, 2, 2, .35) !important; font-size: 26px !important; font-weight: 400 !important; }
html body .request-modal .modal__close:focus-visible, html body .service-request-close:focus-visible { outline: 2px solid var(--red, #BF2121) !important; outline-offset: 2px !important; }
@media (min-width: 1101px) {
  /* A4: request modal — consent text clear of the notch curve and above the frame line */
  html body .request-modal .request-form__privacy { margin-left: 18px !important; max-width: 520px !important; }
  /* A4: service modal — button + consent text stay inside the (widened) bottom tab of the outline */
  html body .service-request-form__bottom { right: calc(37.8% + 24px) !important; }
  html body .service-request-form__bottom p { flex: 1 1 auto !important; min-width: 0 !important; }
}
/* A5: inline validation messages */
html body .field-error { position: absolute !important; z-index: 6 !important; margin: 0 !important; padding: 2px 8px !important; border-radius: 6px !important; background: #FFFFFF !important; color: var(--red, #BF2121) !important; font-size: 12px !important; line-height: 1.2 !important; font-weight: 500 !important; white-space: nowrap !important; pointer-events: none !important; box-shadow: 0 1px 4px rgba(13, 2, 2, .12) !important; }
html body form [aria-invalid="true"] { border-color: var(--red, #BF2121) !important; box-shadow: 0 0 0 1px var(--red, #BF2121) !important; }
/* A1: spec rows in product cards — label keeps whole words, long values wrap on the right */
html body .product-card dl > div { display: grid !important; grid-template-columns: minmax(92px, 42%) minmax(0, 1fr) !important; column-gap: 10px !important; align-items: start !important; }
html body .product-card dl > div > dt { word-break: normal !important; overflow-wrap: normal !important; hyphens: none !important; min-width: 0 !important; }
html body .product-card dl > div > dd { margin: 0 !important; text-align: right !important; overflow-wrap: break-word !important; word-break: normal !important; min-width: 0 !important; }
html body.home-page .request-modal .modal__close, html body .home-page .request-modal .modal__close, html body .home-page.request-modal .modal__close { width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; }
@media (min-width: 1101px) {
  html body .home-page .request-modal .request-form__privacy { margin-left: 18px !important; max-width: 560px !important; }
}
@media (min-width: 1101px) {
  html body .request-modal .request-form__bottom .request-form__privacy, html body .home-page .request-modal .request-form__bottom .request-form__privacy { width: 560px !important; max-width: 560px !important; flex: 0 1 560px !important; }
}
@media (min-width: 1101px) {
  html body .request-modal .request-form__bottom .request-form__privacy, html body .home-page .request-modal .request-form__bottom .request-form__privacy { transform: translateY(-6px) !important; }
}

/* FEROXO_FORM_HONEYPOT_2026_09_29 */
.fx-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}

/* FEROXO_CARDS_V2_2026_10_07 (release B): one card component for catalog, categories, equipment and Related
   Accessories. Light image area, red model band, one sentence, 2-3 specs, Request / Free demonstration / Detail. */
html body .product-catalog--grouped { display: grid; gap: 48px; }
html body .catalog-group__title { margin: 0 0 18px; font-size: 26px; line-height: 1.05; font-weight: 800; letter-spacing: -.03em; text-transform: uppercase; color: var(--dark, #0D0202); }
html body .catalog-machines { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; row-gap: 40px; align-items: start; }
html body .catalog-machines .catalog-group--welders { grid-column: span 2; }
html body .product-grid.product-grid--machines,
html body .product-grid.product-grid--accessories { display: grid !important; gap: 24px !important; align-items: stretch; }
html body .product-grid.product-grid--machines { grid-template-columns: repeat(auto-fit, minmax(260px, 380px)) !important; justify-content: center; }
html body .catalog-machines .product-grid.product-grid--machines { justify-content: stretch; }
html body .catalog-group--welders .product-grid.product-grid--machines { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
html body .catalog-group--generators .product-grid.product-grid--machines { grid-template-columns: minmax(0, 1fr) !important; }
html body .product-grid.product-grid--accessories { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

html body .product-card.product-card--v2 { display: flex !important; flex-direction: column; height: 100% !important; min-height: 0 !important; overflow: hidden; border: 1px solid var(--line, #ECE7E7); border-radius: 16px; background: #fff; }
html body .product-card.product-card--v2 .product-card__image-link { display: block; height: 240px !important; padding: 20px !important; background: #f2f2f2 !important; }
html body .product-card.product-card--accessory .product-card__image-link { height: 200px !important; }
html body .product-card.product-card--v2 .product-card__image-link img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
html body .product-card.product-card--v2 .product-card__band { margin: 0 !important; min-height: 64px; padding: 12px 16px; display: flex; align-items: center; justify-content: center; text-align: center; background: var(--red, #BF2121); }
html body .product-card.product-card--v2 .product-card__band a { color: #fff !important; text-decoration: none; font-size: 22px; line-height: 1.12; font-weight: 800; letter-spacing: -.02em; overflow-wrap: anywhere; hyphens: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
html body .product-card.product-card--accessory .product-card__band a { font-size: 19px; }
html body .product-card.product-card--v2 .product-card__body { display: flex !important; flex-direction: column; flex: 1 1 auto; min-height: 0 !important; padding: 18px 20px 20px !important; }
html body .product-card.product-card--v2 .product-card__summary { margin: 0 0 14px !important; min-height: 0 !important; font-size: 14px !important; line-height: 1.45; color: rgba(13, 2, 2, .78); }
html body .product-card.product-card--v2 .product-card__specs { margin: 0 0 18px !important; padding-top: 10px !important; border-top: 1px solid rgba(13, 2, 2, .2) !important; font-size: 13px !important; }
html body .product-card.product-card--v2 .product-card__specs dd { white-space: normal !important; }
html body .product-card.product-card--v2 .product-card__actions { margin-top: auto; display: grid; gap: 8px; }
html body .product-card.product-card--v2 .product-card__request,
html body .product-card.product-card--v2 .product-card__demo { width: 100%; min-height: 44px; margin: 0; border-radius: var(--radius-pill, 25px); font: 700 14px/1.2 Inter, Arial, sans-serif; cursor: pointer; padding: 10px 16px; }
html body .product-card.product-card--v2 .product-card__request { border: 1px solid var(--red, #BF2121); background: var(--red, #BF2121); color: #fff; }
html body .product-card.product-card--v2 .product-card__demo { border: 1px solid var(--red, #BF2121); background: #fff; color: var(--red, #BF2121); }
html body .product-card.product-card--v2 .product-card__demo:hover { background: #fdf0f0; }
html body .product-card.product-card--v2 .product-card__detail { justify-self: center; padding: 6px 4px 0; font-size: 14px; font-weight: 700; color: var(--dark, #0D0202); text-decoration: underline; text-underline-offset: 3px; }
html body .product-card.product-card--v2 :is(.product-card__request, .product-card__demo, .product-card__detail, .product-card__band a, .product-card__image-link):focus-visible { outline: 3px solid #0D0202; outline-offset: 2px; }

/* Model page: demonstration button under "Add Request"; request form subtitle for a demonstration. */
html body .product-side-v2 .product-side-v2__demo { margin-top: 8px !important; background: #fff !important; color: var(--red, #BF2121) !important; border: 1px solid var(--red, #BF2121) !important; }
html body .request-modal__demo { margin: 12px 0 0 !important; font-weight: 800; color: var(--red, #BF2121) !important; }

@media (max-width: 1279px) {
  html body .product-grid.product-grid--accessories { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 1023px) {
  html body .catalog-machines { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body .product-grid.product-grid--accessories { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body .product-grid.product-grid--machines { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; }
  html body .catalog-group--generators .product-grid.product-grid--machines { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 639px) {
  html body .catalog-machines { grid-template-columns: minmax(0, 1fr); }
  html body .catalog-machines .catalog-group--welders { grid-column: auto; }
  html body .catalog-group--welders .product-grid.product-grid--machines,
  html body .product-grid.product-grid--machines,
  html body .product-grid.product-grid--accessories { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
  html body .product-card.product-card--v2 .product-card__image-link { height: 210px !important; }
  html body .catalog-group__title { font-size: 22px; }
}
/* release B, after first screenshots: same card height across the two machine groups; spec label above value */
html body .catalog-machines { align-items: stretch; }
html body .catalog-machines .catalog-group { display: flex; flex-direction: column; }
html body .catalog-machines .catalog-group > .product-grid { flex: 1 1 auto; }
html body .product-card.product-card--v2 .product-card__specs > div { display: block !important; margin: 0 0 8px !important; }
html body .product-card.product-card--v2 .product-card__specs > div:last-child { margin-bottom: 0 !important; }
html body .product-card.product-card--v2 .product-card__specs dt { font-size: 12px !important; font-weight: 700 !important; color: rgba(13, 2, 2, .62); text-transform: none; }
html body .product-card.product-card--v2 .product-card__specs dd { margin: 1px 0 0 !important; text-align: left !important; font-size: 14px !important; color: #0D0202; }
/* release B review: selected model inside "Selected equipment"; demo title fits the modal */
html body .request-form__equipment .request-form__equipment-name { font-size: 18px; font-weight: 800; color: var(--dark, #0D0202); align-self: center; overflow-wrap: anywhere; }
html body .request-form__equipment .request-form__equipment-name[hidden], html body .request-form__equipment em[hidden] { display: none !important; }
html body .request-modal[data-modal="request"] .request-modal__intro h2 { overflow-wrap: break-word; hyphens: manual; }
html body .request-modal.is-demo .request-modal__intro h2 { font-size: clamp(34px, 4.2vw, 58px) !important; line-height: 1 !important; overflow-wrap: normal !important; word-break: normal !important; hyphens: none !important; }

/* FEROXO_CERT_DOCS_2026_10_07 (release C): EU declarations of conformity + Kubota Stage V link */
html body .certifications-main .cert-docs { max-width: 920px; margin: 40px auto; padding: 0 16px; }
html body .certifications-main .cert-docs h2 { margin: 0 0 18px; font-size: 28px; line-height: 1.1; font-weight: 800; letter-spacing: -.02em; text-transform: uppercase; }
html body .certifications-main .cert-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
html body .certifications-main .cert-item { border: 1px solid var(--line, #ECE7E7); border-radius: 16px; background: #fff; padding: 22px 22px 20px; display: flex; flex-direction: column; gap: 6px; }
html body .certifications-main .cert-item h3 { margin: 0 0 6px; font-size: 19px; line-height: 1.2; font-weight: 800; }
html body .certifications-main .cert-item p, html body .certifications-main .cert-docs__lead { margin: 0; font-size: 15px; line-height: 1.45; color: rgba(13, 2, 2, .78); }
html body .certifications-main .cert-docs__lead { margin-bottom: 14px; }
html body .certifications-main .cert-item__link { align-self: flex-start; margin-top: 10px; display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border-radius: var(--radius-pill, 25px); border: 1px solid var(--red, #BF2121); color: var(--red, #BF2121); font-weight: 700; text-decoration: none; }
html body .certifications-main .cert-item__link:hover { background: #fdf0f0; }
html body .product-side-v2 .product-side-v2__doc { display: block; margin-top: 10px; font-size: 14px; font-weight: 700; color: var(--dark, #0D0202); text-decoration: underline; text-underline-offset: 3px; text-align: center; }
@media (max-width: 639px) { html body .certifications-main .cert-list { grid-template-columns: minmax(0, 1fr); } html body .certifications-main .cert-docs h2 { font-size: 22px; } }

/* FEROXO_FORM_FRAMES_2026_10_08: modal outline drawn by main.js from the real button position (see FEROXO_FORM_FRAMES) */
html body .request-modal .modal__box.fx-frame { background-image: url('/assets/images/home-figma/request-frame-fill.svg') !important; }
html body .request-modal .modal__box .fx-form-frame { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 0; }
html body .request-modal .modal__box .fx-form-frame path { fill: none; stroke: #0D0202; stroke-width: 1; vector-effect: non-scaling-stroke; }
/* Tablet widths (761-1180 px): the request modal keeps its desktop grid, but its type is scaled from the modal width
   (cqw) and dropped to 5-8 px. Readable minimum sizes; desktop and phone layouts are not affected. */
@media (min-width: 761px) and (max-width: 1180px) {
  html body .request-modal .request-modal__intro p { font-size: max(15px, calc(24 / 1632 * 100cqw)) !important; line-height: 1.3 !important; }
  html body .request-modal .request-form input, html body .request-modal .request-form textarea, html body .request-modal .request-form select { font-size: max(15px, calc(18 / 1632 * 100cqw)) !important; }
  html body .request-modal .request-form input { min-height: 40px !important; }
  html body .request-modal .request-form__equipment > span, html body .request-modal .request-form__equipment em { font-size: max(12px, calc(14 / 1632 * 100cqw)) !important; line-height: 1.25 !important; }
  html body .request-modal .request-form__equipment a, html body .request-modal .request-form__equipment .request-form__equipment-name { font-size: max(14px, calc(18 / 1632 * 100cqw)) !important; }
  html body .request-modal .request-form__equipment a { min-height: 40px !important; padding: 0 18px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; white-space: nowrap !important; }
  html body .request-modal .request-form__bottom > button { font-size: max(15px, calc(18 / 1632 * 100cqw)) !important; min-height: 44px !important; width: auto !important; min-width: max(150px, calc(183 / 1632 * 100cqw)) !important; padding: 0 18px !important; }
  html body .request-modal .request-form__privacy { font-size: max(12px, calc(14 / 1632 * 100cqw)) !important; line-height: 1.3 !important; max-width: none !important; }
}

/* FEROXO_STATIC_LANG_D2 — static /cz/ and /en/ pages: language links instead of buttons, breadcrumbs as nav > ol (17, section 7) */
html body .language--flags a.language__option { text-decoration: none !important; }
html body .language--flags .language__option[aria-current="page"] { opacity: 1 !important; border-bottom-color: var(--red, #BF2121) !important; }
html body nav.breadcrumb ol, html body nav.breadcrumb li { display: contents; }
html body nav.breadcrumb li:not(:last-child)::after { content: '›'; opacity: .55; }
html body nav.breadcrumb span::after { content: none !important; }
html body nav.breadcrumb a { color: inherit; text-decoration: none; }
html body nav.breadcrumb a:hover { color: var(--red, #BF2121); }
html body nav.breadcrumb [aria-current="page"] { color: inherit; }
/* Category titles ("SVAŘOVACÍ AGREGÁTY", "WELDING GENERATORS") stay on one line; two lines ran under the header. */
@media (min-width: 761px) {
  html body .product-list-top .inner-top__title h1 { font-size: min(clamp(72px, calc(140 / 1840 * 100vw), 140px), calc((100vw - 160px) / 12.5)) !important; }
}
/* END_FEROXO_STATIC_LANG_D2 */

/* FEROXO_DEMO_TERMS_2026_10_08 (07 No.48): demonstration terms next to the demo buttons, in the demo form, and the
   /cz/predvedeni-zdarma/ + /en/free-demonstration/ page (built on the certifications page layout) */
html body .demo-note { margin: 10px 0 0; font-size: 13px; line-height: 1.4; color: rgba(13, 2, 2, .72); }
html body .demo-note a { color: var(--red, #BF2121); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
html body .product-card.product-card--v2 .product-card__actions .product-card__demo-note { margin: -2px 0 4px; text-align: left; }
html body .product-side-v2 .product-side-v2__demo-note { margin: 8px 0 4px; }
html body .request-modal .request-modal__intro [data-request-demo-terms] .demo-note { margin: 10px 0 0 !important; font-size: 14px !important; line-height: 1.4 !important; max-width: 46ch; color: rgba(13, 2, 2, .72) !important; }
html body .request-modal .request-modal__intro [data-request-demo-terms] .demo-note a { font-size: inherit !important; }
html body .demo-page .breadcrumb { margin: 0 0 22px; }
html body .demo-page .demo-terms__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
html body .demo-page .demo-terms__list li { border: 1px solid var(--line, #ECE7E7); border-radius: 16px; background: #fff; padding: 18px 22px; font-size: 16px; line-height: 1.5; color: rgba(13, 2, 2, .82); }
html body .demo-page .demo-terms__list strong { color: var(--dark, #0D0202); font-weight: 800; }
html body .demo-page .demo-terms__cta { margin-top: 26px; min-height: 48px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--red, #BF2121); color: #fff; font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; }
html body .demo-page .demo-terms__cta:hover { filter: brightness(1.08); }
@media (max-width: 639px) { html body .demo-page .demo-terms__list li { padding: 14px 16px; font-size: 15px; } html body .demo-page .demo-terms__cta { width: 100%; } }
/* END_FEROXO_DEMO_TERMS */

/* FEROXO_FOOTER_COMPACT_2026_10_08: compact footer (ops/footer.js) - brand, company, legal, contact in one row, bottom bar
   with copyright and register data. Own class names (fx-footer), so the older .site-footer rules and scripts do not apply.
   Text contrast on #BF2121: white 6.1:1, rgba(255,255,255,.9) about 5.2:1. */
html body .fx-footer { box-sizing: border-box; margin: 40px 16px 16px; padding: 40px 48px 0; border-radius: 28px; background: var(--red, #BF2121); color: #FFFFFF; font-family: Inter, Arial, sans-serif; }
html body .fx-footer * { box-sizing: border-box; }
html body .fx-footer__main { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 24px 40px; align-items: start; }
html body .fx-footer__logo { display: inline-block; }
html body .fx-footer__logo img { display: block; height: 40px; width: auto; }
html body .fx-footer__tagline { margin: 12px 0 0; max-width: 34ch; font-size: 14px; line-height: 1.4; color: rgba(255, 255, 255, .9); }
html body .fx-footer .fx-footer__title { margin: 0 0 8px !important; font-size: 15px !important; line-height: 1.2 !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; color: #FFFFFF !important; }
html body .fx-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
html body .fx-footer li { margin: 0; padding: 0; font-size: 14px; line-height: 1.3; }
html body .fx-footer a { color: #FFFFFF; font-size: 14px; line-height: 1.3; text-decoration: none; }
html body .fx-footer a:hover, html body .fx-footer a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
html body .fx-footer a:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; border-radius: 2px; }
html body .fx-footer address { display: grid; gap: 5px; font-style: normal; font-size: 14px; line-height: 1.3; color: rgba(255, 255, 255, .9); }
html body .fx-footer__bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; margin-top: 24px; padding: 14px 0 18px; border-top: 1px solid rgba(255, 255, 255, .2); font-size: 12.5px; line-height: 1.4; color: rgba(255, 255, 255, .9); }
html body .fx-footer__bar p { margin: 0; }
@media (max-width: 1023px) {
  html body .fx-footer { padding: 32px 32px 0; }
  html body .fx-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 32px; }
}
@media (max-width: 639px) {
  html body .fx-footer { margin: 32px 16px 16px; padding: 28px 20px 0; border-radius: 22px; }
  html body .fx-footer__main { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  html body .fx-footer__bar { flex-direction: column; }
  /* touch targets: at least 24 px per link including spacing */
  html body .fx-footer ul { gap: 10px; }
  html body .fx-footer address { gap: 10px; }
}
/* END_FEROXO_FOOTER_COMPACT */

/* FEROXO_HERO_TITLES_2026_10_09: page title size, owner variant C (09.10.2026), revision 3. The group is a class on <html>
   set by ops/build-lang.js: fx-hero-a - section pages (about, service, products and categories, articles, demonstration,
   certifications), fx-hero-b - contact and service pages (thanks, error, legal; legal pages use the contact page header).
   Line height A 1.0 / B 1.08 (phones A 1.1 / B 1.16) so Czech accents keep at least 3 px from the line above.
   In the red blocks the title is in the normal flow: the block grows when the title needs more room, the title keeps
   20 px below and at least 11 px between the menu bar and the accents. Photo heroes (about, service) keep their layout. */
html.fx-hero-a body .inner-top > .inner-top__title h1,
html.fx-hero-a body .about-hero .about-hero__title,
html.fx-hero-a body .service-hero__content h1,
html.fx-hero-a body .certifications-hero h1 { font-size: clamp(40px, 4.2vw, 80px) !important; line-height: 1 !important; letter-spacing: -.04em !important; overflow-wrap: normal !important; word-break: normal !important; hyphens: manual !important; }
html.fx-hero-b body .inner-top > .inner-top__title h1,
html.fx-hero-b body .placeholder-page > h1 { font-size: clamp(32px, 3.2vw, 56px) !important; line-height: 1.08 !important; letter-spacing: -.04em !important; overflow-wrap: normal !important; word-break: normal !important; hyphens: manual !important; }

/* red .inner-top blocks: the menu bar stays on top (absolute, 62-80 px); the title is in the flow below it. Free height is
   shared above and below the title (margin: auto), so the two gaps stay within a factor of 2. The H1 bottom margin gives
   about 20 px from the letters to the block edge (the line box already holds about 0.14-0.2 em under the baseline). */
html.fx-hero-a body .inner-top, html.fx-hero-b body .inner-top { display: flex !important; flex-direction: column; padding-top: 98px; }
html.fx-hero-a body .inner-top { min-height: 195px !important; }
html.fx-hero-b body .inner-top { min-height: clamp(150px, 8.4vw, 162px) !important; }
html.fx-hero-a body .inner-top > .inner-top__title,
html.fx-hero-b body .inner-top > .inner-top__title { position: relative !important; inset: auto !important; height: auto !important; margin: auto 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
html.fx-hero-a body .inner-top > .inner-top__title h1 { margin: 0 0 calc(21px - .14em) !important; }
html.fx-hero-b body .inner-top > .inner-top__title h1 { margin: 0 0 calc(21px - .18em) !important; }
/* demonstration and certifications: the menu bar is in the flow there from 768 px */
html.fx-hero-a body .certifications-hero { display: flex !important; flex-direction: column; min-height: 195px !important; }
html.fx-hero-a body .certifications-hero h1 { position: relative !important; inset: auto !important; margin: auto clamp(40px, 3.95vw, 72px) !important; padding: 18px 0 calc(21px - .14em) !important; }
/* legal pages: the shared header block sits above the legal text (the old top bar is gone).
   From 1024 px the H1 starts at the left edge of the 1192 px text column (50vw - 596px); the red block starts at 40 px,
   so the offset is 50vw - 636px (at most 324 px once the block stops growing at 1920 px). Below about 1336 px the text
   column is wider than the block and the title keeps the standard 32 px. */
@media (min-width: 1024px) {
  html.fx-hero-b body .legal-top-shared > .inner-top__title { padding-left: clamp(32px, calc(50vw - 636px), 324px) !important; }
}
@media (max-width: 767px) {
  /* section headings in the legal text clearly smaller than the page title, room for Czech accents */
  html.fx-hero-b body .legal-top-shared + .legal-page .legal-main h2 { font-size: clamp(22px, 6.4vw, 24px) !important; line-height: 1.18 !important; }
}
html.fx-hero-b body .legal-top-shared + .legal-page { padding-top: clamp(20px, 2vw, 32px); }

@media (max-width: 767px) {
  html.fx-hero-a body .inner-top > .inner-top__title h1,
  html.fx-hero-a body .about-hero .about-hero__title,
  html.fx-hero-a body .service-hero__content h1,
  html.fx-hero-a body .certifications-hero h1 { font-size: clamp(34px, 10vw, 52px) !important; line-height: 1.1 !important; }
  html.fx-hero-b body .inner-top > .inner-top__title h1,
  html.fx-hero-b body .placeholder-page > h1 { font-size: clamp(28px, 8.5vw, 40px) !important; line-height: 1.16 !important; }
  /* phones: the block takes the height of its content (a fixed 195 px left a large empty band above a short title);
     the menu bar is absolute here (62 px) on every red block */
  html.fx-hero-a body .inner-top, html.fx-hero-b body .inner-top { min-height: 0 !important; padding-top: 80px; }
  html.fx-hero-a body .inner-top > .inner-top__title h1 { margin-bottom: calc(21px - .185em) !important; }
  html.fx-hero-b body .inner-top > .inner-top__title h1 { margin-bottom: calc(21px - .22em) !important; }
  html.fx-hero-a body .certifications-hero { min-height: 0 !important; padding-top: 62px; }
  /* long single words ("DEMONSTRATION") need the width of the red block */
  html.fx-hero-a body .certifications-hero h1 { margin-left: 12px !important; margin-right: 12px !important; padding-bottom: calc(21px - .185em) !important; }
}
@media (max-width: 340px) {
  /* 320 px phones: group A down to 30 px so single long words fit (owner 09.10.2026) */
  html.fx-hero-a body .inner-top > .inner-top__title h1,
  html.fx-hero-a body .about-hero .about-hero__title,
  html.fx-hero-a body .service-hero__content h1,
  html.fx-hero-a body .certifications-hero h1 { font-size: clamp(30px, 9.4vw, 52px) !important; }
}
/* CMS contact address: one line per row (cms-loader-live.js marks the node) */
html body [data-cms-multiline] { white-space: pre-line; line-height: 1.3 !important; }
/* END_FEROXO_HERO_TITLES */

/* FEROXO_HEADER_FIT_2026_10_09: the menu, the language switch and the request button did not fit in the header pill on
   the home and service pages between the burger breakpoint (1096 px) and about 1408 px (EN "Contact" ran into "CZ").
   Step a: tighter gaps (12 px) between menu items and in the pill; step b: compact language switch "CZ | EN" without
   flags on the same range (1161-1440 px); step c: below 1161 px (CZ "Kontakt" still touched "CZ" at 1104-1152 px) the
   burger from 761 px is used up to 1160 px. Menu font size unchanged. */
@media (min-width: 1161px) and (max-width: 1440px) {
  html body .site-header .site-nav { column-gap: 12px !important; gap: 12px !important; margin-left: 12px !important; }
  html body .hero .site-header, html body .service-hero .site-header { padding-left: 10px !important; padding-right: 10px !important; }
  html body .site-header .language--flags .language__option img { display: none !important; }
  html body .site-header .language--flags .language__option { min-width: 0 !important; padding: 0 4px !important; }
  html body .site-header .language--flags .language__option + .language__option::before { content: '|'; margin-right: 8px; opacity: .45; font-weight: 400; }
}
/* 761-820 px (burger already on): the home header pill is narrow, so the switch is compact there too (logo kept 12 px clear) */
@media (min-width: 761px) and (max-width: 820px) {
  html body .site-header .language--flags .language__option img { display: none !important; }
  html body .site-header .language--flags .language__option { min-width: 0 !important; padding: 0 2px !important; }
  html body .site-header .language--flags .language__option + .language__option::before { content: '|'; margin-right: 6px; opacity: .45; font-weight: 400; }
}
/* Button group (owner 09.10.2026): language switch -> request button and request button -> burger toggle >= 12 px on every
   width from 761 px (the toggle is shown up to 1160 px). */
@media (min-width: 761px) {
  html body .site-header .site-header__actions { column-gap: 12px !important; gap: 12px !important; }
  html body .site-header .site-menu-toggle { margin-left: 12px !important; }
}
/* END_FEROXO_HEADER_FIT */

/* FEROXO_CARD_H2_2026_10_09: card headings (service .service-copy-card, about .about-copy-card) were larger than the page
   H1 (x1.23-1.30 at 1440 px, x1.80 at 768 px) with line-height .82-.85, so Czech accents ran into the line above.
   Now <= 0.75 x the group A H1 at the same width (H1 = 36 px phone, 4.2vw / max 80 px desktop) and line-height 1.1 (Czech accents >= 3 px from the line above).
   :not(#_) outranks the cqw rules in css/style.css. LOCAL VARIANT - not deployed. */
@media (min-width: 761px) {
  html body .service-copy-card h2:not(#_),
  html body .about-page .about-copy-card h2:not(#_) { font-size: clamp(30px, 3vw, 58px) !important; line-height: 1.1 !important; }
}
@media (max-width: 760px) {
  html body .service-copy-card h2:not(#_),
  html body .about-page .about-copy-card h2:not(#_) { font-size: clamp(24px, 7.4vw, 27px) !important; line-height: 1.16 !important; }
}
/* END_FEROXO_CARD_H2 */

/* FEROXO_SERVICE_HERO_WRAP_2026_10_09: service hero paragraphs wrap naturally (fixed <br> removed by ops/build-lang.js);
   text-wrap: pretty keeps at least two words on the last line (Chrome/Edge/Safari; other browsers ignore it). */
html body .service-hero__content p { text-wrap: pretty; }
/* END_FEROXO_SERVICE_HERO_WRAP */

/* FEROXO_BODY_TEXT_2026_10_09 (owner 09.10.2026: card text ~12 px is too small). Body text >= 16 px, line-height 1.5.
   Not changed: H1, card H2, menu, buttons and button-like links, footer, small service labels (dates, notes, badges, tags,
   eyebrows, spec tables). Forced <br> inside the enlarged paragraphs are hidden (ops/build-lang.js 8e put a space before
   each one), so the text wraps by itself. LOCAL VARIANT - not deployed. */
html body .service-copy-card p:not(#_), html body .service-copy-card p:not(#_) span,
html body .service-faq-list p:not(#_), html body .service-process__steps p:not(#_), html body .service-hero__content p:not(#_),
html body .service-part-item small:not(#_),
html body .about-copy-card p:not(#_), html body .about-copy-card p:not(#_) span, html body .about-support__card p:not(#_),
html body .about-cta p:not(#_), html body .about-hero__copy:not(#_),
html body .about-proof__sectors small:not(#_), html body .about-reliability__list small:not(#_), html body .about-proof__stat span:not(#_),
html body .contact-feature-row p:not(#_),
html body .legal-main p:not(#_):not(.legal-updated), html body .legal-main li:not(#_), html body .legal-contact p:not(#_),
html body .legal-contact-card span:not(#_), html body .legal-cookie-card p:not(#_),
html body .article-prose p:not(#_),
html body .product-card__summary:not(#_), html body .product-summary p:not(#_):not(.product-summary__meta),
html body .product-accordions li:not(#_), html body .equipment-detail__grid li:not(#_), html body .equipment-detail__custom p:not(#_) {
  font-size: 16px !important; line-height: 1.5 !important;
}
html body .service-copy-card p br, html body .about-copy-card p br, html body .contact-feature-row p br,
html body .about-support__card p br, html body .about-cta p br,
html body .service-process__steps p br, html body .service-faq-list p br { display: none !important; }
/* Contact page: ADRESA / E-MAIL / TELEFON / PRACOVNÍ DOBA labels 20-22 px, values 18 px; the three cards below: titles 22-24 px. */
html body .contact-info-list h2:not(#_) { font-size: 20px !important; line-height: 1.15 !important; }
html body .contact-info-list p:not(#_), html body .contact-info-list p:not(#_) a { font-size: 18px !important; line-height: 1.5 !important; }
html body .contact-feature-row h2:not(#_) { font-size: 22px !important; line-height: 1.15 !important; }
@media (min-width: 1024px) {
  html body .contact-info-list h2:not(#_) { font-size: 22px !important; }
  html body .contact-feature-row h2:not(#_) { font-size: 24px !important; }
}
/* About cards had a fixed height (436/1840 of the width) - the 16 px text was cut off at 768-1366 px; it is now the minimum. */
@media (min-width: 761px) {
  html body .about-page .about-grid--intro > .about-card:not(#_) { height: auto !important; max-height: none !important; min-height: calc(436 / 1840 * 100cqw) !important; }
}
/* About, dark image cards up to 1366 px: the "150+" block was absolutely placed over the sector list (ŽELEZNICE covered at
   360 px even before this change). Sectors and "150+" now stack in the card; photo and shade stay as the background.
   Item titles 18 px so they stay larger than their 16 px captions. */
@media (max-width: 1366px) {
  html body .about-page .about-proof:not(#_) { position: relative !important; height: auto !important; min-height: 0 !important; display: flex !important; flex-direction: column !important; gap: 24px !important; padding: 32px 22px !important; }
  html body .about-page .about-proof > img:not(#_), html body .about-page .about-proof__shade:not(#_) { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
  html body .about-page .about-proof__sectors:not(#_), html body .about-page .about-proof__stat:not(#_) { position: relative !important; inset: auto !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important; transform: none !important; z-index: 2 !important; margin: 0 !important; }
  html body .about-page .about-proof__stat:not(#_) { align-self: center !important; text-align: center !important; }
  html body .about-proof__sectors strong:not(#_), html body .about-reliability__list strong:not(#_) { font-size: 18px !important; line-height: 1.2 !important; }
}
/* Specification tables (owner 09.10.2026): values 16 px, labels 14 px, line-height 1.4. */
html body .technical-specs__value dd:not(#_), html body .product-card__specs dd:not(#_) { font-size: 16px !important; line-height: 1.4 !important; }
html body .technical-specs__label dt:not(#_), html body .product-card__specs dt:not(#_) { font-size: 14px !important; line-height: 1.4 !important; }
/* From 1367 px the sectors sit beside "180+" in the flow (longer sector names, owner 09.10.2026): the card grows with its text. */
@media (min-width: 1367px) {
  html body .about-page .about-proof:not(#_) { position: relative !important; height: auto !important; display: flex !important; flex-direction: row !important; align-items: center !important; gap: 28px !important; padding: calc(38 / 1840 * 100cqw) calc(42 / 1840 * 100cqw) !important; }
  html body .about-page .about-proof > img:not(#_), html body .about-page .about-proof__shade:not(#_) { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
  html body .about-page .about-proof__sectors:not(#_), html body .about-page .about-proof__stat:not(#_) { position: relative !important; inset: auto !important; transform: none !important; z-index: 2 !important; margin: 0 !important; }
  html body .about-page .about-proof__sectors:not(#_) { flex: 1 1 auto !important; min-width: 0 !important; }
  html body .about-page .about-proof__stat:not(#_) { flex: 0 0 auto !important; text-align: center !important; }
}
/* Sector titles wrap at every width (long names); line-height 1.2 keeps Czech accents clear of the line above. */
html body .about-page .about-proof__sectors strong:not(#_) { white-space: normal !important; line-height: 1.2 !important; overflow-wrap: break-word; }
/* Legal contact cards: the 16 px value line needs a little room inside the icon-high row. */
html body .legal-contact-card:not(#_) { padding-top: 4px !important; padding-bottom: 4px !important; }
/* END_FEROXO_BODY_TEXT */

/* FEROXO_STOCK_DEMO_2026_10_09 (owner decisions 09.10.2026): demonstration page intro (T1) and the quotation / delivery
   times line (T5), shown on the contact page and on the model pages until the owner picks one place. */
html body .demo-page .demo-terms__intro { margin: 0 0 22px; max-width: 760px; font-size: 18px; line-height: 1.5; color: var(--dark, #0D0202); }
html body .quote-terms { margin: 14px 0 0; font-size: 16px !important; line-height: 1.5 !important; color: rgba(13, 2, 2, .82); }
html body .contact-layout-v2 .quote-terms--contact { align-self: start; margin-top: 6px; padding: 16px 20px; border: 1px solid var(--line, #ECE7E7); border-radius: 16px; background: #fff; max-width: 520px; }
html body .product-side-v2 .quote-terms--model { padding-top: 12px; border-top: 1px solid var(--line, #ECE7E7); }
/* Model pages: the demonstration note and the quotation line share one size, 16 px / 1.5 (owner 09.10.2026). */
html body .product-side-v2 .product-side-v2__demo-note:not(#_), html body .product-side-v2 .product-side-v2__demo-note:not(#_) a { font-size: 16px !important; line-height: 1.5 !important; }
/* END_FEROXO_STOCK_DEMO */

/* FEROXO_F1_2026_10_10 (owner decisions 10.10.2026, 02 o-f). */
/* b) Model / accessory pages: the red band above the breadcrumbs is as high as the header again (the H1 sits below it).
   The page-title rule of 09.10.2026 (group A: min-height 195 px, padding-top 98 px) also caught .detail-top.
   Header heights: 62 px up to 760, 70 px at 761-1040, 80 px from 1041 (css/style.css). */
html.fx-hero-a body .inner-top.detail-top, html.fx-hero-b body .inner-top.detail-top,
html body .inner-top.detail-top:not(#_) { min-height: 0 !important; padding: 0 !important; height: 80px !important; }
@media (min-width: 761px) and (max-width: 1040px) {
  html.fx-hero-a body .inner-top.detail-top, html.fx-hero-b body .inner-top.detail-top,
  html body .inner-top.detail-top:not(#_) { height: 70px !important; }
}
@media (max-width: 760px) {
  html.fx-hero-a body .inner-top.detail-top, html.fx-hero-b body .inner-top.detail-top,
  html body .inner-top.detail-top:not(#_) { height: 62px !important; }
}
/* c) Warranty badge: the PNG stays; an HTML line under it (16 px, centred under the badge). */
html body .product-warranty-note { margin: 6px 0 14px; font-size: 16px; line-height: 1.4; font-weight: 600; text-align: center; color: var(--dark, #0D0202); }
/* d) Thank-you pages: content in the site container (side gaps as the footer), group B title size kept, a normal
   button (its width was set in container units, so the label wrapped and left the red shape). */
html body.simple-page .placeholder-page.fx-thanks { box-sizing: border-box; width: min(100% - 32px, 1408px); max-width: none; margin: 0 auto; padding: 40px 48px 72px; align-items: flex-start; text-align: left; }
html body .placeholder-page.fx-thanks > img { margin-bottom: 40px !important; }
html body .placeholder-page.fx-thanks > p { max-width: 760px; margin: 18px 0 30px; font-size: 18px; line-height: 1.5; }
html body .placeholder-page.fx-thanks > p a { color: var(--red, #BF2121); font-weight: 700; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; }
html body .placeholder-page.fx-thanks .request-button:not(#_) { box-sizing: border-box; width: auto !important; height: auto !important; min-width: 0 !important; max-width: none !important; min-height: 48px !important; padding: 12px 28px !important; display: inline-flex !important; align-items: center; justify-content: center; white-space: nowrap; font-size: 16px !important; line-height: 1.2 !important; transform: none !important; }
@media (max-width: 760px) {
  html body.simple-page .placeholder-page.fx-thanks { padding: 24px 20px 56px; }
  html body .placeholder-page.fx-thanks > p { font-size: 17px; }
}
/* Model H1 on phones (owner 10.10.2026): the model code is never split ("DGW400DML/UK" + "V" on EN). Same size for CZ and EN
   (9 % of the width, at most 36 px) and no breaking inside words; "SHINDAIWA" and the model code wrap as whole words. */
@media (max-width: 760px) {
  html body main.product-detail-page h1:not(#_) { font-size: min(9vw, 36px) !important; overflow-wrap: normal !important; word-break: normal !important; hyphens: manual !important; }
}
/* The link under the model demo note stays inside the side column (it ran past it at 1440 px in EN). */
html body .product-side-v2 .product-side-v2__demo-note a:not(#_) { white-space: normal !important; overflow-wrap: anywhere; }
/* END_FEROXO_F1 */

/* FEROXO_F2_2026_10_10 (owner remark 10.10.2026): every page whose H1 sits in the red band follows the Kontakt standard
   (group B, ops/build-lang.js HERO_B): one H1 size and one band height per width. Certifikace / Předvedení zdarma use the
   .certifications-hero block, which had group A rules only - the same layout here with the group B sizes. */
html.fx-hero-b body .certifications-hero { display: flex !important; flex-direction: column; min-height: clamp(150px, 8.4vw, 162px) !important; padding-top: 98px !important; box-sizing: border-box; }
/* the menu bar sits in the flow of this block on wider screens; out of the flow as in .inner-top, so the H1 is placed the same way */
html.fx-hero-b body .certifications-page .certifications-hero > .site-header { position: absolute !important; top: 0; left: 0; right: 0; margin-left: auto; margin-right: auto; }
html.fx-hero-b body .certifications-hero h1 { position: relative !important; inset: auto !important; margin: auto 24px calc(21px - .18em) !important; padding: 0 !important; font-size: clamp(32px, 3.2vw, 56px) !important; line-height: 1.08 !important; letter-spacing: -.04em !important; overflow-wrap: normal !important; word-break: normal !important; }
@media (max-width: 767px) {
  html.fx-hero-b body .certifications-hero { min-height: 0 !important; padding-top: 80px !important; }
  html.fx-hero-b body .certifications-hero h1 { margin: auto 16px calc(21px - .22em) !important; font-size: clamp(28px, 8.5vw, 40px) !important; line-height: 1.16 !important; }
}
/* END_FEROXO_F2 */


/* FEROXO_F3B_2026_10_21 (owner 21.10.2026): home - Yamabiko factory tour, YouTube click-to-load (assets/js/feroxo-yt.js,
   ops/build-lang.js 8c4). Local photo + play button until the click, then the youtube-nocookie.com player; 16:9. */
html body .home-page .built-industry .fx-yt.built-industry__media { display: flex; flex-direction: column; justify-content: center; align-self: center; margin: 0; min-width: 0; }
html body .fx-yt__frame { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 18px; background: #0d0202; }
html body .fx-yt__frame img, html body .fx-yt__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
html body .fx-yt__frame img { object-fit: cover; }
html body .fx-yt__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 76px; height: 54px; min-width: 48px; min-height: 48px; padding: 0; border: 0; background: transparent; cursor: pointer; filter: drop-shadow(0 2px 6px rgba(0,0,0,.35)); }
html body .fx-yt__play svg { display: block; width: 100%; height: 100%; }
html body .fx-yt__play:focus-visible { outline: 3px solid #fff; outline-offset: 4px; border-radius: 14px; }
html body .fx-yt figcaption { margin: 10px 2px 0; font-size: 14px; line-height: 1.4; color: #4a4040; }
@media (max-width: 767px) {
  html body .fx-yt__frame { border-radius: 14px; }
  html body .fx-yt__play { width: 64px; height: 46px; }
  html body .fx-yt figcaption { font-size: 13px; }
}
/* Poster with the SHINDAIWA logo on white (owner 22.10.2026): the same thin frame as the neighbouring text card, so the
   white picture does not merge with the light page; the player after the click keeps the frame. */
html body .fx-yt__frame { background: #fff; }
html body .fx-yt__frame::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(13, 2, 2, .24); border-radius: inherit; pointer-events: none; z-index: 1; }
html body .fx-yt__play { z-index: 2; }
/* Play button as a pill under the logo (owner 22.10.2026): logo in the poster = 24-78 % width, 37.5-62.4 % height;
   the button centre sits in the middle of the free band under the logo (62.4 % + 37.6 % / 2 = 81.2 %), 48 px high, so it
   never covers the logo (checked 320-1920, step 10). */
html body .fx-yt__play { top: 81.2%; width: auto; height: 48px; min-height: 48px; display: inline-flex; align-items: center; gap: 10px; padding: 0 22px; border-radius: 999px; background: #BF2121; color: #fff; font: 600 16px/1 Inter, Arial, sans-serif; white-space: nowrap; filter: none; box-shadow: 0 2px 8px rgba(13, 2, 2, .25); }
html body .fx-yt__play svg { width: 16px; height: 16px; flex: 0 0 16px; }
html body .fx-yt__play:hover { background: #a51c1c; }
html body .fx-yt__play:focus-visible { outline: 3px solid #0d0202; outline-offset: 3px; border-radius: 999px; }
@media (max-width: 767px) { html body .fx-yt__play { width: auto; height: 48px; padding: 0 18px; } }
/* Button text "Přehrát video (YouTube)" (owner 22.10.2026) stays on one line: smaller side padding below 360 px. */
html body .fx-yt__play span { white-space: nowrap; }
@media (max-width: 359px) { html body .fx-yt__play { padding: 0 12px; gap: 8px; } }
/* END_FEROXO_F3B */

/* FEROXO_HERO_V3_2026_10_22 (owner 22.10.2026, docs/seo/27-HERO-FIT.md section 8): 6 hero slides, all 2 : 1 WebP
   (/assets/images/hero/hero-v3-N-*.webp, ops/make-hero-slides.js). The machine is fully visible and not under the white
   menu tab at 360 / 768 / 1440 / 1920. Desktop band 2.6 : 1 (was 3.5-3.7 : 1); 761-900 px: 16 : 10 without the black
   strip under the photo; <= 760 px: 4 : 3, the photo fills the band. Focus point: desktop and 761-900 the same for all
   slides (2 : 1 photos, machine in the 25-90 % height band); phones - horizontal focus per slide (file name). */
html body .home-page .hero__slide .hero__image { object-position: var(--hx, 50%) var(--hy, 56%) !important; }
@media (min-width: 901px) {
  html body .home-page .hero { height: auto !important; aspect-ratio: 2.6 / 1; min-height: 0 !important; }
}
@media (max-width: 900px) {
  html body .home-page .hero__slide { min-height: 0 !important; height: 100% !important; }
}
@media (min-width: 761px) and (max-width: 900px) {
  html body .home-page .hero__media { height: auto !important; aspect-ratio: 16 / 10; }
}
@media (max-width: 760px) {
  html body .home-page .hero { height: auto !important; aspect-ratio: 4 / 3; }
  html body .home-page .hero__image[src*="hero-v3-1-"], html body .home-page .hero__image[data-src*="hero-v3-1-"] { --hx: 0%; }
  html body .home-page .hero__image[src*="hero-v3-2-"], html body .home-page .hero__image[data-src*="hero-v3-2-"] { --hx: 81%; }
  html body .home-page .hero__image[src*="hero-v3-4-"], html body .home-page .hero__image[data-src*="hero-v3-4-"] { --hx: 90%; }
  html body .home-page .hero__image[src*="hero-v3-6-"], html body .home-page .hero__image[data-src*="hero-v3-6-"] { --hx: 100%; }
}
/* END_FEROXO_HERO_V3 */

/* FEROXO_ART_PHOTO_2026_10_22 (owner 22.10.2026): article photo IMG-20201022-WA0004 (4:3). The machine on the trailer is at
   40-81 % of the width; the tall card in the article list (768 px: ~0.55 : 1) shows it with the focus at 69 %. */
html body img.fx-art-reliability { object-position: 69% 50% !important; }
/* Home card of the article (owner 23.10.2026): the title lies over the lower part of the photo; the machine (35-66 % of the
   photo height) sits above it on wide screens with the vertical focus at 58 %. */
html body .home-page img.fx-news-reliability { object-position: 50% 58% !important; }
/* END_FEROXO_ART_PHOTO */

/* FEROXO_NEWS_CARDS_2026_10_23 (owner 23.10.2026, variant B): on phones (<= 760 px) every card of the block
   "Nejnovější zprávy a články / Latest news & articles" shows the title UNDER the photo in dark text, so the photo stays
   uncovered; 768 px and wider unchanged (title over the photo). Same rule for the big card and the side cards. */
@media (max-width: 760px) {
  html body .home-page :is(.latest-news__feature, .latest-news__stack > a) { height: auto !important; min-height: 0 !important; background: transparent !important; }
  html body .home-page :is(.latest-news__feature, .latest-news__stack > a)::before, html body .home-page :is(.latest-news__feature, .latest-news__stack > a)::after { display: none !important; }
  html body .home-page :is(.latest-news__feature, .latest-news__stack > a) img { position: static !important; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
  html body .home-page :is(.latest-news__feature, .latest-news__stack > a) span { position: static !important; inset: auto !important; display: block; margin: 12px 2px 0 !important; color: #0d0202 !important; text-shadow: none !important; font-size: 24px !important; line-height: 1.12 !important; }
}
/* END_FEROXO_NEWS_CARDS */
