/* SIBO shared type scale. Loaded after component, page and layout styles.
 * Keep the browser's root font size intact; rem values respect user settings.
 * Content, colours, CTA geometry and arrow states remain owned by their modules.
 */
body.sibo-site {
    --sibo-text-body: 1.0625rem;
    --sibo-text-reading: 1.125rem;
    --sibo-text-control: 1rem;
    --sibo-text-nav: 1.125rem;
    --sibo-text-action: .9375rem;
    --sibo-text-small: .875rem;
    --sibo-text-caption: .8125rem;
    --theme-font-size: var(--sibo-text-body);
    --theme-line-height: 1.75;
    font-size: var(--sibo-text-body);
    line-height: 1.75;
}

/* Shared navigation: retain the existing desktop/mobile interaction breakpoint. */
body.sibo-site .sibo-header { font-size: var(--sibo-text-control); }
body.sibo-site .sibo-header .sibo-navigation .sibo-nav-link { font-size: var(--sibo-text-nav); line-height: 1.5; }
body.sibo-site .sibo-mega-link,
body.sibo-site .sibo-header .sibo-navigation .sibo-mega-card-link { font-size: var(--sibo-text-action); line-height: 1.55; }
body.sibo-site .sibo-kicker,
body.sibo-site .sibo-hero-split .sibo-kicker,
body.sibo-site .sibo-company-page .sibo-company-kicker,
body.sibo-home .sibo-industry-content .sibo-kicker {
    font-size: var(--sibo-text-small);
    line-height: 1.6;
    letter-spacing: .09em;
}

body.sibo-site .sibo-header .sibo-navigation .sibo-mega-descendants,
body.sibo-site .sibo-header .sibo-navigation .sibo-mega-collection-heading,
body.sibo-site .sibo-header .sibo-navigation .sibo-mega-rail-title {
    font-size: var(--sibo-text-small);
    line-height: 1.6;
}

/* The existing shared CTA rule uses an important font shorthand. Override only
 * its type, not padding, icon transforms, backgrounds or the plugin spinner. */
body.sibo-site .sibo-product-detail-label { font-size: inherit; }
body.sibo-site :is(.sibo-button, .sibo-text-link, .sibo-product-detail, .button,
    .wp-block-button__link, .wp-element-button, .ff-btn-submit,
    .single_add_to_cart_button, .ct-button, .sibo-resource-button):not(:where(
    [class*="wishlist"], [class*="compare"], [class*="quick-view"])) {
    font-size: var(--sibo-text-action) !important;
    line-height: 1.5 !important;
}
body.sibo-site .sibo-inquiry-form .ff-btn-submit {
    font-size: var(--sibo-text-action) !important;
    line-height: 1.5 !important;
}

/* Homepage supporting copy, product navigation and card titles. */
body.sibo-home .sibo-hero-split .sibo-hero-description,
body.sibo-home .sibo-heading-description,
body.sibo-home .sibo-about-summary,
body.sibo-home .sibo-industries-intro,
body.sibo-home .sibo-industry-description {
    font-size: var(--sibo-text-body);
    line-height: 1.8;
}
body.sibo-home .sibo-hero-split .sibo-hero-description { max-width: 42ch; }
body.sibo-home .sibo-hero-benefits li { font-size: var(--sibo-text-small); line-height: 1.7; }
body.sibo-home .sibo-inquiry-intro { font-size: var(--sibo-text-control); line-height: 1.75; }
body.sibo-home .sibo-product-tab { font-size: var(--sibo-text-action); line-height: 1.6; }
body.sibo-home .sibo-autoplay-toggle,
body.sibo-home .sibo-product-feedback { font-size: var(--sibo-text-small); line-height: 1.6; }
body.sibo-site .sibo-products .sibo-product-info h3 {
    font-size: 1.375rem;
    line-height: 1.35;
    min-height: 4.05em;
}
body.sibo-home .sibo-about-stamp > span:last-child {
    font-size: .75rem;
    letter-spacing: .12em;
}
body.sibo-home .sibo-capability > span,
body.sibo-home .sibo-application-number { font-size: var(--sibo-text-caption); }
body.sibo-home .sibo-capability h3 { font-size: 1.125rem; line-height: 1.5; }
body.sibo-home .sibo-capability p { font-size: var(--sibo-text-control); line-height: 1.75; }
body.sibo-home .sibo-application-copy h3 { font-size: 1.375rem; line-height: 1.3; }
body.sibo-home .sibo-application-copy p { font-size: var(--sibo-text-action); line-height: 1.7; }
body.sibo-home .sibo-application-card:is(:hover, :focus) p { max-height: 16em; }
body.sibo-home .sibo-feature-number { font-size: var(--sibo-text-small); }
body.sibo-home .sibo-feature h2 { font-size: 1.125rem; }
body.sibo-home .sibo-feature p { font-size: var(--sibo-text-small); line-height: 1.7; }
body.sibo-site .sibo-news-meta {
    font-size: var(--sibo-text-caption);
    line-height: 1.6;
    letter-spacing: .03em;
    flex-wrap: wrap;
}
body.sibo-site .sibo-news-card h3 { font-size: 1.4375rem; line-height: 1.4; }
body.sibo-home .sibo-contact-inner p:not(.sibo-kicker),
body.sibo-home .sibo-contact-phone { font-size: var(--sibo-text-body); line-height: 1.75; }

/* Native Blocksy/WooCommerce content keeps its real queries and pagination. */
body.sibo-site .entry-content,
body.sibo-site .entry-excerpt,
body.sibo-site .sibo-company-page p,
body.sibo-site .sibo-resources p,
body.sibo-site .woocommerce-product-details__short-description,
body.sibo-site .woocommerce-Tabs-panel {
    font-size: var(--sibo-text-body);
    line-height: 1.8;
}
body.sibo-site.single-post .entry-content { font-size: var(--sibo-text-reading); line-height: 1.85; }
body.sibo-site .entry-meta,
body.sibo-site .ct-breadcrumbs,
body.sibo-site .product_meta,
body.sibo-site .woocommerce-result-count,
body.sibo-site .ct-filter-count,
body.sibo-site .ct-tooltip,
body.sibo-site .post-navigation .item-label,
body.sibo-site .sibo-company-contact dt,
body.sibo-site .sibo-company-gallery figcaption {
    font-size: var(--sibo-text-small);
    line-height: 1.65;
}
body.sibo-site :is(.pagination, .woocommerce-pagination, .ct-pagination) .page-numbers {
    font-size: var(--sibo-text-action);
}
/* Match native plugin selectors without changing third-party sources. */
body.sibo-site .ct-filter-widget .ct-filter-item-inner a > .ct-filter-count {
    font-size: var(--sibo-text-small);
    height: auto;
    min-height: 24px;
}
body.sibo-site .woocommerce-tabs .tabs > li > a {
    font-size: var(--sibo-text-control);
    line-height: 1.6;
}
body.sibo-site .woocommerce-loop-product__title { font-size: 1.25rem; line-height: 1.5; }
body.sibo-site :is(.ct-filter-label, .sibo-company-socials a, .post-navigation .item-title) {
    font-size: var(--sibo-text-control);
    line-height: 1.6;
}
body.sibo-site .sibo-sidebar-inquiry p { font-size: var(--sibo-text-control); line-height: 1.8; }
body.sibo-site .sibo-article-table table { font-size: var(--sibo-text-control); line-height: 1.7; }

/* Real Fluent Forms fields, including validation messages; no submission changes. */
body.sibo-site .fluentform :is(.ff-el-form-control, .ff-el-input--label, label) {
    font-size: var(--sibo-text-control);
    line-height: 1.5;
}
body.sibo-site .fluentform :is(.text-danger, .error, .ff-el-help-message) {
    font-size: var(--sibo-text-small);
    line-height: 1.6;
}
body.sibo-site .fluentform .ff-message-success { font-size: var(--sibo-text-control); line-height: 1.7; }
body.sibo-site .sibo-inquiry-form .ff-el-form-control { font-size: var(--sibo-text-control); }
body.sibo-site .sibo-inquiry-form :is(.ff-el-is-error .text-danger, .error.text-danger) {
    font-size: var(--sibo-text-small);
}

/* A readable shared footer, including long category names and contact details. */
body.sibo-site .sibo-footer { font-size: var(--sibo-text-action); line-height: 1.8; }
body.sibo-site .sibo-footer-brand > p { font-size: var(--sibo-text-action); line-height: 1.8; }
body.sibo-site .sibo-footer-column h2 { font-size: 1.125rem; line-height: 1.5; }
body.sibo-site .sibo-footer-email { font-size: var(--sibo-text-control); }
body.sibo-site .sibo-footer-socials { font-size: var(--sibo-text-small); line-height: 1.7; }
body.sibo-site .sibo-footer-bottom { font-size: var(--sibo-text-caption); line-height: 1.7; }
body.sibo-site .sibo-footer :is(a, p, address) { overflow-wrap: anywhere; }

@media (min-width: 1001px) and (max-width: 1200px) {
    body.sibo-site .sibo-header-inner { gap: 16px; }
    body.sibo-site .sibo-nav-list { gap: 12px; }
    body.sibo-site { --sibo-text-nav: 1rem; }
    body.sibo-site .sibo-header .sibo-header-cta { font-size: var(--sibo-text-small) !important; }
}
@media (max-width: 1200px) {
    body.sibo-site .sibo-header .sibo-navigation .sibo-mega-card-link { font-size: var(--sibo-text-small); }
}
@media (max-width: 1000px) {
    body.sibo-site .sibo-header .sibo-navigation .sibo-nav-link { font-size: var(--sibo-text-nav); }
    body.sibo-home .sibo-application-copy p { max-height: 16em; }
}
@media (max-width: 600px) {
    body.sibo-site {
        --sibo-text-body: 1rem;
        --sibo-text-reading: 1rem;
    }
    body.sibo-site .sibo-header .sibo-header-cta { font-size: var(--sibo-text-caption) !important; }
    body.sibo-site .ct-woo-card-extra > a.button { font-size: var(--sibo-text-small) !important; }
    body.sibo-site .sibo-products .sibo-product-info h3 { font-size: 1.125rem; min-height: 4.05em; }
    body.sibo-site .sibo-news-card h3 { font-size: 1.375rem; }
    body.sibo-home .sibo-application-copy h3 { font-size: 1.375rem; }
    body.sibo-home .sibo-application-copy p { font-size: var(--sibo-text-control); }
}
