/* Self-hosted Barlow: regular-width interface/body text; semi-condensed display headings.
 * Latin, Latin extended and Vietnamese subsets are loaded only when needed.
 * No Google Fonts or other font service is contacted by the public site. */
/* vietnamese */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/barlow/barlow-400-italic-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/barlow/barlow-400-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/barlow/barlow-400-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/barlow/barlow-500-italic-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/barlow/barlow-500-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/barlow/barlow-500-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/barlow/barlow-600-italic-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/barlow/barlow-600-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/barlow/barlow-600-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/barlow/barlow-700-italic-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/barlow/barlow-700-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/barlow/barlow-700-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/barlow/barlow-400-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/barlow/barlow-400-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/barlow/barlow-400-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/barlow/barlow-500-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/barlow/barlow-500-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/barlow/barlow-500-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/barlow/barlow-600-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/barlow/barlow-600-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/barlow/barlow-600-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/barlow/barlow-700-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/barlow/barlow-700-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/barlow/barlow-700-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/barlow/barlow-semi-condensed-600-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/barlow/barlow-semi-condensed-600-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/barlow/barlow-semi-condensed-600-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/barlow/barlow-semi-condensed-700-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/barlow/barlow-semi-condensed-700-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/barlow/barlow-semi-condensed-700-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body.sibo-site {
    --sibo-font-family: "Barlow", sans-serif;
    --sibo-heading-font-family: "Barlow Semi Condensed", sans-serif;
    --sibo-text-font: var(--sibo-font-family);
    --theme-font-family: var(--sibo-font-family);
    --theme-heading-font-family: var(--sibo-heading-font-family);
    --theme-button-font-family: var(--sibo-font-family);
    --theme-form-font-family: var(--sibo-font-family);
    --sibo-text-body: 1.0625rem;
    --sibo-text-reading: 1.0625rem;
    --theme-font-size: var(--sibo-text-body);
    --theme-line-height: 1.65;
    font-family: var(--sibo-font-family);
    font-size: var(--sibo-text-body);
    font-weight: 400;
    line-height: 1.65;
}
/* One text reset, with an inherited role token rather than forcing the body face
 * onto headings and their nested spans/links. Keep icon fonts and admin UI intact. */
body.sibo-site :where(h1,h2,h3,h4,h5,h6,p,a,button,input,textarea,select,option,label,span,div,section,article,header,footer,nav,aside,ul,ol,li,dl,dt,dd,table,th,td,caption,figcaption,blockquote,small,strong,b,em,i,address,summary,details,legend,time,code,pre,mark,sup,sub):not(:where(#wpadminbar,#wpadminbar *,[class*="dashicons"],[class*="fa-"],.fa,.fas,.far,.fab,.material-icons,.material-symbols-outlined,[class*="eicon"],[class*="ct-icon"])) {
    font-family: var(--sibo-text-font) !important;
}
body.sibo-site :is(h1,h2,h3,h4,h5,h6,.sibo-mega-feature-title,.sibo-mega-product-name) {
    font-weight: 600;
    letter-spacing: -.01em;
}
/* Display hierarchy. Small headings, product cards and sidebar titles deliberately
 * do not enter this list: semantic h2/h3 alone does not make a display heading. */
body.sibo-site :where(
    h1,
    .sibo-section-heading h2,
    .sibo-about-copy h2,
    .sibo-inquiry-section h2,
    .sibo-hero-inquiry h2,
    .sibo-newsroom-heading h2,
    .sibo-industry-showcase-heading h2,
    .sibo-contact-inner h2,
    .sibo-about-main h2,
    .sibo-application-main h2,
    .sibo-application-copy h3,
    .sibo-application-card.is-featured h3,
    .sibo-contact-copy h2,
    .sibo-contact-form-heading h2,
    .sibo-contact-location-heading h2,
    .sibo-products-intro h2,
    .sibo-products-series h2,
    .sibo-products-contact h2,
    .sibo-news-archive-intro h2,
    .sibo-article-content h2,
    #sibo-hub-contact-title,
    .sibo-hub-document-copy h3,
    .sibo-video-library-title,
    .sibo-solution-main h2,
    .sibo-not-found-search-copy h2,
    .sibo-company-page h2,
    .entry-content > h2
) {
    --sibo-text-font: var(--sibo-heading-font-family);
    font-weight: 600;
    letter-spacing: -.01em;
}
body.sibo-site.sibo-home #sibo-hero-title { font-weight: 700; line-height: 1.1; }
/* A product name is technical information, even when it is the page h1. */
body.sibo-site :is(.sibo-pdp-heading h1,.product_title,.entry-summary h1,
    .sibo-product-info h3,.woocommerce-loop-product__title,.sibo-category-product h2,
    .sibo-pdp-related-card h3,.sibo-solution-product h3,.sibo-mega-product-name) {
    --sibo-text-font: var(--sibo-font-family);
    font-weight: 600;
    letter-spacing: -.01em;
}
/* Controls always retain the regular-width face, including nested text labels. */
body.sibo-site :is(button,input,select,textarea,label,.sibo-button,.button,
    .wp-block-button__link,.ff-btn-submit,.ct-button,.sibo-nav-link,.sibo-mega-list-link) {
    --sibo-text-font: var(--sibo-font-family);
}
body.sibo-site :is(.sibo-button,.button,.wp-block-button__link,.ff-btn-submit,
    .ct-button,.single_add_to_cart_button,.sibo-header-cta,.sibo-text-link,
    .sibo-product-detail,.sibo-resource-button,label,.ff-el-input--label) { font-weight: 600; }
body.sibo-site .sibo-header .sibo-navigation .sibo-nav-link {
    font-size: var(--sibo-text-nav);
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0;
}
body.sibo-site .sibo-header .sibo-mega-list-link { font-weight: 500; }
/* Comfortable reading copy, without inflating compact cards, captions or controls. */
body.sibo-site :is(.sibo-hero-description,.sibo-heading-description,.sibo-about-summary,
    .sibo-industries-intro,.sibo-industry-description,.sibo-page-hero-description,
    .sibo-products-intro-description,.sibo-products-series-description,
    .sibo-category-description,.sibo-pdp-intro,.sibo-pdp-prose,.sibo-contact-description,
    .entry-content,.entry-excerpt,.woocommerce-product-details__short-description,
    .woocommerce-Tabs-panel),
body.sibo-site.sibo-article-page .sibo-article-content,
body.sibo-site.single-post .entry-content,
body.sibo-home .sibo-hero-cover .sibo-hero-description {
    font-size: var(--sibo-text-body);
    font-weight: 400;
    line-height: 1.65;
}
body.sibo-site :is(.sibo-pdp-key-specs,.woocommerce-product-attributes,.sibo-pdp-specifications) {
    font-variant-numeric: tabular-nums;
}
body.sibo-site :is(.sibo-pdp-key-specs dt,.woocommerce-product-attributes th) { font-weight: 500; }
body.sibo-site :is(.sibo-pdp-key-specs dd,.woocommerce-product-attributes td) { font-weight: 400; }

/* Barlow's narrower numeral metrics make ch-based measures shorter than Inter's.
 * Keep the hero description at a balanced reading width, within its existing column. */
body.sibo-home .sibo-hero-cover .sibo-hero-description { max-width: 32rem; }

/* Keep plugin label weights aligned with the shared control hierarchy. */
body.sibo-site .fluentform :is(label,.ff-el-input--label) { font-weight: 600 !important; }
