/* Close editorial tables without changing their inner cells or responsive layout. */
#product :is(#ec27-product-description, #ec27-product-specifications, #ec27-product-manual) table,
:is(#category, #manufacturer) :is(.cat_desc, .rte) table { border: 1px solid #e0e4e8; }

/* Shared column separators, including tables with merged cells. */
body table > :is(thead, tbody, tfoot) > tr > :is(th, td),
body table > tr > :is(th, td) {
  border-left: 1px solid #e0e4e8 !important;
  border-right: 1px solid #e0e4e8 !important;
}

/* CMS manual library: download actions and readable document rows. */
#cms.cms-7 .rte .table-responsive table { width: 100%; border-collapse: collapse; }
#cms.cms-7 .rte .table-responsive :is(td, th) {
  padding: 10px 12px; vertical-align: middle; border-bottom: 1px solid #e0e4e8;
}
#cms.cms-7 .rte .table-responsive th { background: #f7f8fa; border-top: 1px solid #e0e4e8; }
#cms.cms-7 .rte :is(.obflink[data-o], .ec27-manual-download, .table-responsive a[href]:not([href^="#"])) {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  box-sizing: border-box; min-height: 38px; padding: 8px 14px;
  border: 1px solid #f80823; border-radius: 6px; background: #f80823;
  color: #fff; font-size: 13px; line-height: 20px; font-weight: 600;
  text-decoration: none; text-align: center; cursor: pointer; white-space: nowrap;
  transition: background-color .15s, border-color .15s;
}
#cms.cms-7 .rte :is(.obflink[data-o], .ec27-manual-download, .table-responsive a[href]:not([href^="#"]))::before {
  content: "\f019"; font-family: FontAwesome; font-weight: normal; flex-shrink: 0;
}
#cms.cms-7 .rte :is(.obflink[data-o], .ec27-manual-download, .table-responsive a[href]:not([href^="#"])):hover {
  background: #d9061e; border-color: #d9061e; color: #fff;
}
#cms.cms-7 .rte :is(.obflink[data-o], .ec27-manual-download, .table-responsive a[href]:not([href^="#"])):focus-visible {
  outline: 2px solid #24282d; outline-offset: 3px;
}
@media (max-width: 767px) {
  #cms.cms-7 .rte .table-responsive :is(td, th) { padding: 8px 6px; }
  #cms.cms-7 .rte :is(.obflink[data-o], .ec27-manual-download, .table-responsive a[href]:not([href^="#"])) { padding: 8px; gap: 5px; }
}

/* Homepage section titles match the short red rule in the mockup. */
#index .ec27-benefits + .ec27-home-section .ec27-section-heading { margin-bottom: 0; }
#index .ec27-benefits + .ec27-home-section .ec27-section-heading p { margin-bottom: 0; line-height: 1.2; }
#index .ec27-home .ec27-best-heading { margin-bottom: 8px; }
#index .ec27-home .ec27-best-heading h2 { margin-bottom: 2px; }
#index .ec27-section-heading > div { min-width: 0; }
#index .ec27-section-heading h2 {
  display: flex; align-items: center; gap: 20px;
}
#index .ec27-section-heading h2::after {
  content: ""; display: block; width: 50px; height: 2px;
  flex: 0 0 50px; background: #f80823;
}
@media (max-width: 767px) {
  #index .ec27-section-heading h2 { gap: 12px; }
  #index .ec27-section-heading h2::after { width: 30px; flex-basis: 30px; }
}

/* Shared RSS presentation. */
body #prestablog_block_rss { margin: 12px 0 18px; padding: 0; border: 0; background: transparent; box-shadow: none; }
body #prestablog_block_rss a.bloc-rss { display: inline-flex; width: auto; max-width: 100%; align-items: center; justify-content: flex-start; gap: 8px; margin: 8px 4px; padding: 0; border: 0; background: transparent; box-shadow: none; text-shadow: none; color: #687382; font-family: inherit; font-size: 12px; line-height: 18px; font-weight: 500; text-transform: none; text-decoration: none; }
body #prestablog_block_rss a.bloc-rss i { position: static; order: -1; flex: 0 0 16px; margin: 0; color: #f80823; font-size: 14px; }
body #prestablog_block_rss a.bloc-rss:hover { color: #f80823; }
body #prestablog_block_rss a.bloc-rss:focus-visible { outline: 1px solid #f80823; outline-offset: 2px; }

/* CMS content fills the site container; the RSS occupies the following row. */
#cms #page, #cms .columns-container { background: #f7f8fa; }
#cms .footer-container { margin-top: 0; }
#cms #columns { padding-bottom: 8px; }
#cms #prestablog_block_rss { margin-bottom: 0; }
#cms #columns > .row { display: flex; flex-wrap: wrap; }
#cms #columns > .row::before, #cms #columns > .row::after { display: none; }
#cms #center_column { order: 0; flex: 0 0 100%; width: 100%; min-width: 0; }
#cms #left_column { display: block !important; order: 1; flex: 0 0 100%; width: 100%; }
#cms #right_column, #cms #left_column > :not(#prestablog_block_rss) { display: none; }
#cms #center_column > :is(.rte, .block-cms) { margin: 0 0 16px; padding: 24px; border: 1px solid #e0e4e8; border-radius: 6px; background: #fff; color: #000; overflow-wrap: break-word; }
#cms #center_column > .rte img, #cms #center_column > .rte iframe { max-width: 100%; }
#cms #center_column > .rte img { height: auto; }
@media (max-width: 767px) {
  #cms #center_column > :is(.rte, .block-cms) { padding: 16px; }
}

/* Keep the technology logo clear of the text that follows it. */
body img:is([src*="/img/cms/MD2"], [src*="/img/cms/acusense-hd-"]) { margin-inline-end: 8px; }

/* Compact AI badge in kit summaries and product listings. */
body :is(#short_description_content, .product-desc) img[src*="img/cms/logo_ai_mini"] {
  width: auto !important; height: 28px !important; max-width: 100%;
  object-fit: contain; vertical-align: middle; margin-inline-end: 8px;
}
