/* SIBO charcoal palette. Color-only layer; retain approved layout and interactions.
 * Explicit surface/text tokens avoid using a light heading color as a button fill.
 * Product/document/partner artwork keeps its original light image canvas.
 */
body.sibo-site {
    color-scheme: dark;
    --sibo-surface: #131519;
    --sibo-surface-raised: #1c1f24;
    --sibo-surface-hover: #272b31;
    --sibo-text: #f4f5f6;
    --sibo-text-muted: #b5bac2;
    --sibo-accent: #21c4b8;
    --sibo-accent-hover: #62ded3;
    --sibo-teal: #009e96; /* original logo / decorative brand mark */
    --sibo-teal-dark: var(--sibo-accent);
    --sibo-ink: var(--sibo-text);
    --sibo-muted: var(--sibo-text-muted);
    --sibo-line: #343940;
    --sibo-mist: var(--sibo-surface-raised);
    --sibo-dark: #0d0f12;
    --sibo-header-surface: #131519;
    --sibo-action-gradient: #21c4b8;
    --sibo-action-hover: #62ded3;
    --theme-palette-color-1: var(--sibo-accent);
    --theme-palette-color-2: var(--sibo-accent-hover);
    --theme-palette-color-3: var(--sibo-text-muted);
    --theme-palette-color-4: var(--sibo-text);
    --theme-palette-color-5: var(--sibo-line);
    --theme-palette-color-6: var(--sibo-surface-raised);
    --theme-palette-color-7: var(--sibo-surface-raised);
    --theme-palette-color-8: var(--sibo-surface);
    --theme-text-color: var(--sibo-text-muted);
    --theme-headings-color: var(--sibo-text);
    --theme-link-initial-color: var(--sibo-accent);
    --theme-link-hover-color: var(--sibo-accent-hover);
    --theme-border-color: var(--sibo-line);
    --theme-background-color: var(--sibo-surface);
    --theme-form-text-initial-color: var(--sibo-text);
    --theme-form-text-focus-color: var(--sibo-text);
    --theme-form-field-background-initial-color: var(--sibo-surface-raised);
    --theme-form-field-background-focus-color: var(--sibo-surface-hover);
    --theme-form-field-border-initial-color: #535b65;
    --theme-form-field-border-focus-color: var(--sibo-accent);
    --theme-button-text-initial-color: #071b1a;
    --theme-button-text-hover-color: #071b1a;
    --theme-button-background-initial-color: var(--sibo-accent);
    --theme-button-background-hover-color: var(--sibo-accent-hover);
    color: var(--sibo-text-muted);
    background: var(--sibo-surface);
}
body.sibo-site :is(h1,h2,h3,h4,h5,h6) { color:var(--sibo-text); }
body.sibo-site ::selection { background:#21c4b8; color:#071b1a; }
body.sibo-site :is(a,button,input,textarea,select,summary):focus-visible { outline-color:var(--sibo-accent-hover); }
/* Primary actions: bright teal + dark ink, including native WP/plugin controls. */
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"])) {
    background:var(--sibo-action-gradient)!important; color:#071b1a!important;
    border-color:transparent; box-shadow:none;
}
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"])):is(:hover,:focus-visible) {
    background:var(--sibo-action-hover)!important; color:#071b1a!important;
}
body.sibo-site .sibo-button-white { background:#f4f5f6!important; color:#131519!important; }
body.sibo-site .sibo-button-white:is(:hover,:focus-visible) { background:#d9e0e3!important; }
body.sibo-site .sibo-button-dark { background:#272b31!important; color:#f4f5f6!important; border-color:#535b65; }
body.sibo-site .sibo-button-dark:is(:hover,:focus-visible) { background:#343940!important; color:#fff!important; }
body.sibo-site .sibo-skip { background:#f4f5f6; color:#131519; }
body.sibo-site .sibo-kicker { color:var(--sibo-accent); --sibo-kicker-mark:var(--sibo-accent); }
/* Navigation/search: neutral charcoal instead of green-tinted panels. */
body.sibo-site .sibo-header .sibo-nav-link,
body.sibo-site .sibo-header .sibo-submenu-toggle { color:#d5d8dd; }
body.sibo-site.sibo-home:is(.sibo-header-scrolled,.sibo-mega-open,.sibo-mobile-open,.sibo-search-open) .sibo-header { background:#131519f5; border-color:#ffffff20; }
body.sibo-site .sibo-header .sibo-mega-card { background:#22262c; }
body.sibo-site .sibo-header .sibo-mega-card:is(:hover,:focus-within) { background:#2c3138; border-color:#21c4b8; }
body.sibo-site .sibo-header :is(.sibo-mega-description,.sibo-mega-rail-title) { color:var(--sibo-text-muted); }
body.sibo-site .sibo-header .sibo-mega-card-image { background:#f5f6f7; }
body.sibo-site .sibo-header .sibo-mega-fallback { background:#22262c; }
body.sibo-site :is(.sibo-nav-backdrop,.sibo-search-backdrop) { background:#0009; }
body.sibo-site .sibo-search-panel { background:var(--sibo-header-surface); }
body.sibo-site :is(.sibo-search-hint,.sibo-search-panel h3) { color:var(--sibo-text-muted); }
body.sibo-site .sibo-search-results .sibo-search-form { color:var(--sibo-text); background:var(--sibo-surface-raised); border-color:#535b65; }
body.sibo-site .sibo-search-form > button { background:var(--sibo-accent); color:#071b1a; }
body.sibo-site .sibo-search-form > button:hover { background:var(--sibo-accent-hover); }
body.sibo-site .sibo-search-result { background:var(--sibo-surface-raised); }
body.sibo-site .sibo-search-pagination .current { background:var(--sibo-accent); color:#071b1a; }
/* Homepage: neutral dark section rhythm; do not recolor actual photography. */
body.sibo-home .sibo-hero-cover .sibo-hero-shade {
    background:linear-gradient(90deg,#080c12bf 0%,#0c11177d 43%,#0c11171f 100%),linear-gradient(0deg,#080c123d,#080c1212 70%);
}
body.sibo-home .sibo-hero-cover .sibo-hero-description { color:#e2e4e8; }
body.sibo-home .sibo-products { background:var(--sibo-surface); }
body.sibo-home .sibo-products .sibo-product-card-link { background:var(--sibo-surface-raised); }
body.sibo-home .sibo-products .sibo-product-image { background:#fff; }
body.sibo-home .sibo-products .sibo-product-tab:is(:hover,:focus-visible,[aria-selected=true]) { color:var(--sibo-accent); }
body.sibo-home .sibo-products .sibo-product-card-link:hover { box-shadow:none; }
body.sibo-home .sibo-about-detail-image { border-color:var(--sibo-surface); background:var(--sibo-surface); }
body.sibo-home .sibo-about-stamp { background:var(--sibo-accent); color:#071b1a; }
body.sibo-home .sibo-capability > span { color:var(--sibo-accent); }
body.sibo-home .sibo-inquiry-section { background:var(--sibo-surface); }
body.sibo-home .sibo-inquiry-section .sibo-hero-inquiry { background:radial-gradient(ellipse at 0 100%,#009e9612,transparent 65%),var(--sibo-surface-raised); }
body.sibo-home :is(.sibo-inquiry-intro,.sibo-heading-description) { color:var(--sibo-text-muted); }
/* Company, resources, archives, articles, commerce: shared dark surfaces. */
body.sibo-site :is(.sibo-company-contact,.sibo-company-culture>.wp-block-group,.sibo-resource-card,.sibo-resource-faq,.sibo-search-result,.entry-card,.ct-order-review,.cart_totals) {
    background:var(--sibo-surface-raised); border-color:var(--sibo-line); color:var(--sibo-text-muted); box-shadow:none;
}
body.sibo-site :is(.sibo-company-page,.sibo-resources) { color:var(--sibo-text-muted); --sibo-resource-accent:var(--sibo-accent); }
body.sibo-site :is(.sibo-company-contact dt,figcaption,.sibo-resource-meta,.sibo-resource-excerpt) { color:var(--sibo-text-muted); }
body.sibo-site .sibo-company-contact dd { color:var(--sibo-text); }
body.sibo-site .sibo-company-socials a { color:var(--sibo-accent); border-color:#535b65; }
body.sibo-site .sibo-company-socials a:hover { color:#071b1a; background:var(--sibo-accent); }
body.sibo-site .sibo-resource-faq summary { color:var(--sibo-text); }
body.sibo-site .sibo-resource-faq[open] summary { color:var(--sibo-accent); background:#252a30; border-color:var(--sibo-line); }
body.sibo-site :is(.sibo-resource-card h2 a,.entry-card .entry-title a,.woocommerce-loop-product__title a) { color:var(--sibo-text); }
body.sibo-site :is(.sibo-resource-card h2 a,.entry-card .entry-title a,.woocommerce-loop-product__title a):hover { color:var(--sibo-accent); }
body.sibo-site :is(.sibo-resource-card,.sibo-company-certificates) img { color-scheme:light; }
body.sibo-site .entry-card .entry-meta { color:var(--sibo-text-muted); }
body.sibo-site :is(.woocommerce-product-gallery,.woocommerce .products .ct-media-container,.product_list_widget .ct-media-container) { background:#fff; }
body.sibo-site :is(.woocommerce-tabs .panel,.woocommerce-MyAccount-content,.woocommerce-MyAccount-navigation,.woocommerce-cart-form,table.shop_table) { color:var(--sibo-text-muted); border-color:var(--sibo-line); }
body.sibo-site :is(.woocommerce-MyAccount-navigation .is-active a,.ct-pagination [aria-current=page]) { color:var(--sibo-accent); }
body.sibo-site :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) { background:#22262c; color:var(--sibo-text); border-color:var(--sibo-accent); }
body.sibo-site .woocommerce-error { border-color:#f3a5a5; }
/* Real form controls: readable values, placeholders, focus and validation. */
body.sibo-site :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]),textarea,select) {
    color:var(--sibo-text); background-color:var(--sibo-surface-raised); border-color:#535b65;
}
body.sibo-site :is(input,textarea)::placeholder { color:var(--sibo-text-muted); opacity:1; }
body.sibo-site :is(input,textarea,select):focus { border-color:var(--sibo-accent); }
body.sibo-site :is(select option,.sibo-inquiry-form select option) { color:var(--sibo-text); background:var(--sibo-surface-raised); }
body.sibo-site :is(input[type=checkbox],input[type=radio]) { accent-color:var(--sibo-accent); }
body.sibo-site .sibo-inquiry-form .ff-el-form-control::placeholder { color:var(--sibo-text-muted); }
body.sibo-site .sibo-inquiry-form .ff-el-is-error .ff-el-form-control { border-color:#f3a5a5; }
body.sibo-site .sibo-inquiry-form :is(.text-danger,.error.text-danger) { color:#ffc7c7; }
/* Footer: near black, neutral-gray secondary type, restrained brand glow. */
body.sibo-site .sibo-footer--editorial { color:var(--sibo-text-muted); background:radial-gradient(ellipse 38% 46% at 52% 112%,#009e961f,transparent 100%),#010606; }
body.sibo-site .sibo-footer--editorial :is(.sibo-footer-summary,.sibo-footer-details,.sibo-footer-socials a,.sibo-footer-column a,.sibo-footer-bottom,.sibo-footer-contact-strip .sibo-footer-email) { color:var(--sibo-text-muted); }
body.sibo-site .sibo-footer--editorial :is(.sibo-footer-contact-strip,.sibo-footer-feature-arrow) { background:#1c2024; }
body.sibo-site .sibo-footer--editorial .sibo-footer-contact-link { background:var(--sibo-accent); color:#071b1a; }
body.sibo-site .sibo-footer--editorial .sibo-footer-contact-link:hover { background:var(--sibo-accent-hover); color:#071b1a; }
body.sibo-site .sibo-footer--editorial :is(.sibo-footer-column a,.sibo-footer-details a):hover { color:var(--sibo-accent-hover); }

/* Match the showcase module specificity without changing card dimensions. */
body.sibo-site.sibo-home .sibo-products .sibo-product-card-link { background:var(--sibo-surface-raised); }
body.sibo-site.sibo-home .sibo-products .sibo-product-image { background:#fff; }
body.sibo-home .sibo-industry-showcase { background:var(--sibo-surface); }
body.sibo-home .sibo-industry-showcase::before { background:linear-gradient(90deg,#080c12e8 0%,#0c1117b3 42%,#0c111766 72%,#0c111780 100%); }
body.sibo-home .sibo-industry-options { background:#13151980; border-color:#ffffff26; }
body.sibo-home .sibo-industry-option { border-color:#ffffff26; }
body.sibo-home .sibo-industry-option:is(:hover,.is-active) { background:#1d4244f5; color:#fff; }
body.sibo-home .sibo-industry-option.is-active .sibo-industry-icon { color:var(--sibo-accent-hover); }
body.sibo-home :is(.sibo-industry-intro,.sibo-industry-summary) { color:#e2e4e8; }
body.sibo-home :is(.sibo-newsroom-copy time,.sibo-newsroom-copy p,.sibo-newsroom-no-image,.sibo-newsroom-empty) { color:var(--sibo-text-muted); }
body.sibo-home .sibo-newsroom-media { background:var(--sibo-surface-raised); }
@media(max-width:800px) {
 body.sibo-home .sibo-industry-showcase::before { background:linear-gradient(90deg,#080c12e0,#0c111799),linear-gradient(0deg,#080c12e8,transparent 60%); }
 body.sibo-home .sibo-industry-options { background:#171b20f5; }
}
@media print {
 body.sibo-site { color-scheme:light; --sibo-text:#131519; --sibo-text-muted:#333; --sibo-surface:#fff; --sibo-surface-raised:#fff; --sibo-accent:#007c76; --sibo-line:#bbb; background:#fff; color:#131519; }
}

/* Higher-specificity legacy form and motion rules also receive the new colors. */
body.sibo-site .sibo-inquiry-form .ff-btn-submit { background:var(--sibo-action-gradient)!important; color:#071b1a!important; }
body.sibo-site .sibo-inquiry-form .ff-btn-submit:is(:hover,:focus-visible) { background:var(--sibo-action-hover)!important; color:#071b1a!important; }
body.sibo-site.sibo-home.sibo-header-scrolled:not(.sibo-mega-open):not(.sibo-mobile-open):not(.sibo-search-open) .sibo-header { background:#131519f5; }
body.sibo-site .ct-pagination .page-numbers.current { background:var(--sibo-accent); color:#071b1a; }
body.sibo-site .woocommerce-product-gallery__trigger { color:#131519; }
body.sibo-site .sibo-footer-partners:not(.sibo-inquiry-partners) { color:#263238; color-scheme:light; }
body.sibo-site .sibo-footer-partners:not(.sibo-inquiry-partners) .sibo-footer-partners-title { color:#263238; }
body.sibo-site .sibo-footer-partners-title::before { background:var(--sibo-teal); }
body.sibo-home .sibo-inquiry-section .sibo-footer-partners-title { color:var(--sibo-text-muted); }
