:root {
  --siot-blue: #064b87;
  --siot-blue-dark: #003c71;
  --siot-blue-bright: #3d93de;
  --siot-link: #1777c8;
  --siot-text: #243746;
  --siot-muted: #687784;
  --siot-border: #d9e0e7;
  --siot-soft: #f5f6f7;
  --siot-soft-blue: #eef6fd;
  --siot-green: #26864a;
  --siot-page: #f5f6f7;
  --siot-white: #fff;
  --siot-orange: #e98a00;
  --siot-shadow: 0 5px 18px rgba(16,35,55,.06);
  --siot-max: 1320px;
}

html { scroll-behavior: smooth; }
body.siot-theme-body { margin: 0; background: var(--siot-page); color: var(--siot-text); font-family: Arial, Helvetica, sans-serif; line-height: 1.45; }
body.siot-theme-body * { box-sizing: border-box; }
body.siot-menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
a:hover { color: inherit; }
button, input, select, textarea { font: inherit; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.siot-skip-link:focus { clip: auto; width: auto; height: auto; margin: 0; padding: 10px 14px; left: 10px; top: 10px; z-index: 99999; background: #fff; }
.siot-container,
.siot-product-shell,
.siot-home-shell { width: min(var(--siot-max), calc(100% - 36px)); margin-inline: auto; }
.siot-main-content { min-height: 55vh; }
.single-product .product-title.product-above,
.single-product .entry-hero,
.single-product .kadence-breadcrumbs:not(.siot-breadcrumbs .kadence-breadcrumbs) { display: none !important; }

/* Header */
.siot-header { position: relative; z-index: 150; }
.siot-utility-bar { background: #f2f2f2; border-top: 1px solid #dedede; border-bottom: 1px solid #dedede; }
.siot-utility-inner { width: min(var(--siot-max), calc(100% - 36px)); height: 56px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.siot-utility-brand { display: flex; align-items: center; gap: 10px; color: inherit; font-weight: 800; }
.siot-utility-brand-image { display: block; width: auto; max-height: 38px; }
.siot-brandmark { display: inline-flex; align-items: center; justify-content: center; background: var(--siot-blue); color: #fff; padding: 9px 16px; font-size: 22px; letter-spacing: .3px; line-height: 1; }
.siot-online-word { font-size: 22px; color: #ed9500; line-height: 1; }
.siot-utility-links { display: flex; align-items: center; justify-content: flex-end; gap: 24px; flex-wrap: wrap; color: #5c6570; font-size: 14px; }
.siot-utility-item, .siot-utility-link { display: inline-flex; align-items: center; gap: 8px; color: #5c6570; }
.siot-utility-icon svg { width: 18px; height: 18px; }

.siot-nav-bar { position: sticky; top: 0; background: var(--siot-blue); color: #fff; z-index: 40; box-shadow: 0 2px 8px rgba(0,0,0,.10); }
.siot-nav-inner { width: min(var(--siot-max), calc(100% - 36px)); height: 66px; margin: 0 auto; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 26px; }
.siot-desktop-nav { min-width: 0; display: flex; align-items: stretch; }
.siot-main-menu-list { display: flex; align-items: stretch; list-style: none; margin: 0; padding: 0; gap: 28px; }
.siot-main-menu-list > li { position: relative; display: flex; align-items: stretch; }
.siot-main-menu-list > li > a { display: flex; align-items: center; gap: 10px; padding: 22px 0; color: #fff; font-size: 16px; font-weight: 700; line-height: 1; white-space: nowrap; background: transparent !important; }
.siot-main-menu-list > li:hover > a,
.siot-main-menu-list > li:focus-within > a,
.siot-main-menu-list > li.current-menu-item > a,
.siot-main-menu-list > li.current-menu-ancestor > a,
.siot-main-menu-list > li > a:active,
.siot-main-menu-list > li > a:focus { background: transparent !important; color: #fff; box-shadow: none !important; }
.siot-main-menu-list > li.menu-item-has-children > a::after { content: ''; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }

.siot-desktop-nav .sub-menu { list-style: none; margin: 0; padding: 0; }
.siot-desktop-nav > ul > li > .sub-menu { display: none; position: absolute; top: 100%; left: 0; width: 760px; min-height: 330px; background: #ededed; border: 1px solid #cfd6dc; box-shadow: 0 12px 28px rgba(0,0,0,.18); z-index: 180; padding: 0; }
.siot-desktop-nav > ul > li:last-child > .sub-menu,
.siot-desktop-nav > ul > li:nth-last-child(2) > .sub-menu { left: auto; right: 0; }
.siot-desktop-nav > ul > li:hover > .sub-menu,
.siot-desktop-nav > ul > li:focus-within > .sub-menu { display: block; }
.siot-desktop-nav > ul > li > .sub-menu > li { width: 50%; position: static; }
.siot-desktop-nav > ul > li > .sub-menu > li > a { display: flex; align-items: center; justify-content: space-between; min-height: 60px; padding: 13px 28px; color: #60656b; font-size: 18px; border-bottom: 1px solid rgba(255,255,255,.4); background: transparent; }
.siot-desktop-nav > ul > li > .sub-menu > li.menu-item-has-children > a::after { content: ''; width: 9px; height: 9px; border-right: 3px solid currentColor; border-top: 3px solid currentColor; transform: rotate(45deg); }
.siot-desktop-nav > ul > li > .sub-menu > li:hover > a,
.siot-desktop-nav > ul > li > .sub-menu > li:focus-within > a { background: var(--siot-blue); color: #fff; }
.siot-desktop-nav > ul > li > .sub-menu > li > .sub-menu { display: none; position: absolute; left: 50%; top: 0; width: 50%; min-height: 100%; background: #ededed; border-left: 1px solid #cdd5db; padding: 10px 0; }
.siot-desktop-nav > ul > li > .sub-menu > li:hover > .sub-menu,
.siot-desktop-nav > ul > li > .sub-menu > li:focus-within > .sub-menu { display: block; }
.siot-desktop-nav > ul > li > .sub-menu > li > .sub-menu a { display: block; padding: 13px 24px; color: #60656b; font-size: 17px; }
.siot-desktop-nav > ul > li > .sub-menu > li > .sub-menu a:hover { color: var(--siot-blue); background: #fff; }
.siot-desktop-nav .sub-menu .sub-menu .sub-menu { position: static; display: block; padding-left: 14px; background: transparent; }

.siot-header-tools { display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; }
.siot-product-search { display: flex; background: #fff; height: 40px; width: 350px; border: 0; }
.siot-product-search input[type="search"] { border: 0; outline: 0; width: 100%; min-width: 0; padding: 0 12px; color: #333; background: #fff; font-size: 14px; }
.siot-product-search button { width: 50px; border: 0; background: var(--siot-blue-dark); color: #fff; display: grid; place-items: center; cursor: pointer; }
.siot-product-search svg { width: 17px; height: 17px; }
.siot-icon-button, .siot-mobile-menu-toggle, .siot-language-toggle { position: relative; width: 38px; height: 38px; display: grid; place-items: center; border: 0; background: transparent; color: #fff; cursor: pointer; border-radius: 0; }
.siot-icon-button:hover, .siot-mobile-menu-toggle:hover, .siot-language-toggle:hover { background: transparent; color: #fff; }
.siot-icon-button svg, .siot-language svg, .siot-mobile-menu-toggle svg { width: 21px; height: 21px; }
.siot-cart-count { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 20px; background: #fff; color: var(--siot-blue); font-size: 11px; font-weight: 800; line-height: 18px; text-align: center; }
.siot-language { position: relative; }
.siot-language-toggle { width: auto; padding: 0 7px; display: flex; gap: 6px; }
.siot-language-code { font-weight: 700; font-size: 13px; }
.siot-language-chevron { width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.siot-language-menu { display: none; position: absolute; right: 0; top: calc(100% + 8px); width: 210px; padding: 7px; background: #fff; border: 1px solid var(--siot-border); box-shadow: var(--siot-shadow); }
.siot-language.is-open .siot-language-menu { display: block; }
.siot-language-menu a, .siot-language-placeholder { display: block; padding: 10px 12px; color: var(--siot-text); font-size: 14px; }
.siot-language-menu a:hover, .siot-language-menu a.is-current { background: var(--siot-soft-blue); color: var(--siot-blue); }
.siot-language-placeholder { color: var(--siot-muted); line-height: 1.4; }
.siot-mobile-menu-toggle, .siot-mobile-search-wrap, .siot-mobile-drawer { display: none; }
.siot-menu-icon-close { display: none; }

/* Breadcrumb */
.siot-breadcrumb-bar { width: 100%; background: transparent; border-bottom: 0; }
.siot-breadcrumbs { padding: 17px 0; display: flex; align-items: center; gap: 10px; font-size: 14px; color: #6c7885; overflow-x: auto; white-space: nowrap; }
.siot-breadcrumbs a { color: #4c83b4; }
.siot-breadcrumb-sep { color: #a6afb6; font-size: 16px; font-weight: 400; }

/* Buttons */
.siot-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 10px 14px; border-radius: 3px; font-weight: 700; font-size: 14px; text-align: center; }
.siot-btn-primary { background: var(--siot-blue); color: #fff; border: 0; }
.siot-btn-primary:hover { background: var(--siot-blue); color: #fff; }
.siot-btn-outline { background: #fff; color: var(--siot-link); border: 1px solid #8eb8dd; }
.siot-btn-outline:hover { background: #fff; }

/* Homepage slider */
.siot-hero { position: relative; width: 100%; background: #fff; padding: 24px 0 0; overflow: hidden; }
.siot-hero::before { content: none; }
.siot-hero-track { position: relative; height: 512px; min-height: 512px; }
.siot-hero-slide { display: none; position: absolute; inset: 0; background-image: var(--siot-slide-bg); background-size: cover; background-position: center; background-repeat: no-repeat; }
.siot-hero-slide.is-active { display: block; animation: siotFade .28s ease; }
@keyframes siotFade { from { opacity: .55; } to { opacity: 1; } }
.siot-hero-overlay { position: absolute; inset: 0; width: 100%; margin: 0; display: flex; align-items: flex-end; justify-content: flex-start; padding: 255px 0 0 132px; pointer-events: none; }
.siot-hero-card { pointer-events: auto; width: 900px; max-width: calc(100% - 264px); min-height: 250px; padding: 32px 36px 34px; background: linear-gradient(180deg, #dbe5ee 0%, #f6f8fb 100%); border: 1px solid #cfd8e1; box-shadow: none; }
.siot-hero-card::before { content: none; }
.siot-hero-card h2 { margin: 0 0 24px; font-weight: 500; font-size: 60px; line-height: 1.06; color: #05080b; letter-spacing: -.02em; }
.siot-hero-copy { max-width: 760px; font-size: 27px; color: #161a1f; line-height: 1.42; }
.siot-hero-copy p { margin: 0; }
.siot-hero-actions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 28px; }
.siot-hero .siot-btn { min-height: 62px; padding: 0 30px; font-size: 22px; font-weight: 500; border-radius: 0 !important; }
.siot-hero .siot-btn-primary { background: #3d6f9f; border: 1px solid #3d6f9f; color: #fff; }
.siot-hero .siot-btn-primary:hover { background: #3d6f9f; }
.siot-hero .siot-btn-outline { background: #fff; border: 1px solid #6f9cc4; color: #1f5f97; }
.siot-hero .siot-btn-outline:hover { background: #fff; }
.siot-slider-arrow { position: absolute; top: 50%; z-index: 6; width: 58px; height: 58px; margin-top: -29px; border: 0; background: transparent; color: #f4f6f7; font-size: 86px; line-height: 1; cursor: pointer; display: grid; place-items: center; text-shadow: 0 2px 6px rgba(0,0,0,.18); padding: 0; }
.siot-slider-prev { left: 6px; }
.siot-slider-next { right: 6px; }
.siot-slider-arrow span { transform: translateY(-3px); display: inline-block; }
.siot-slider-dots { position: absolute; right: 88px; bottom: 16px; z-index: 6; display: flex; gap: 12px; }
.siot-slider-dots button { width: 30px; height: 14px; border: 0; background: transparent; cursor: pointer; position: relative; padding: 0; border-radius: 0 !important; }
.siot-slider-dots button::before { content: ''; position: absolute; left: 0; right: 0; top: 2px; bottom: 2px; background: #cececf; }
.siot-slider-dots button.is-active::before { background: #0a4f8c; }
.siot-home-content { background: #fff; border: 1px solid var(--siot-border); padding: 28px; box-shadow: var(--siot-shadow); margin-top: 28px; margin-bottom: 42px; }

/* Product */
.siot-product-shell { margin-top: 0; margin-bottom: 28px; }
.siot-product { background: #fff; border: 1px solid var(--siot-border); box-shadow: var(--siot-shadow); }
.siot-product::before, .siot-product::after { display: none !important; }
.siot-product .summary, .siot-product div.images { float: none !important; width: auto !important; }
.siot-product .woocommerce-notices-wrapper { padding: 16px 16px 0; }
.siot-product-heading { padding: 24px 28px 10px; display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.siot-product-heading h1 { margin: 0; color: #075293; font-size: 31px; letter-spacing: -.45px; line-height: 1.1; }
.siot-product-subtitle { margin-top: 7px; font-size: 20px; font-weight: 700; color: #252f38; }
.siot-title-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.siot-small-action { border: 1px solid #cbd5df; background: #fff; color: #546575; border-radius: 3px; padding: 8px 11px; font-size: 13px; }
.siot-small-action:hover { background: #f5f8fb; }

.siot-product-grid { display: grid; grid-template-columns: 330px minmax(390px,1fr) 390px; gap: 34px; padding: 15px 28px 30px; align-items: start; }
.siot-product-gallery { text-align: center; }
.siot-product-gallery .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; }
.siot-product-gallery .woocommerce-product-gallery__trigger { display: none !important; }
.siot-product-gallery .woocommerce-product-gallery__wrapper { margin: 0; }
.siot-product-gallery .woocommerce-product-gallery__image { background: #fff; }
.siot-product-gallery .woocommerce-product-gallery__image a { height: 310px; display: flex; align-items: center; justify-content: center; }
.siot-product-gallery .woocommerce-product-gallery__image img { max-width: 100%; max-height: 290px; width: auto; object-fit: contain; display: block; margin: 0 auto; }
.siot-product-gallery .flex-control-thumbs { display: flex !important; justify-content: center; gap: 8px; flex-wrap: wrap; margin: 12px 0 0 !important; padding: 0 !important; }
.siot-product-gallery .flex-control-thumbs li { width: 62px !important; height: 55px; float: none !important; margin: 0 !important; border: 1px solid #cfd8e2; background: #fff; border-radius: 2px; display: grid; place-items: center; overflow: hidden; }
.siot-product-gallery .flex-control-thumbs img { width: 100%; height: 100%; object-fit: cover; opacity: 1 !important; cursor: pointer; }
.siot-product-gallery .flex-control-thumbs img.flex-active { outline: 2px solid var(--siot-link); outline-offset: -2px; }
.siot-view-image { display: inline-block; margin-top: 14px; font-size: 13px; color: var(--siot-link); }

.siot-product-info { padding-top: 3px; }
.siot-product-meta-row { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; color: #566575; font-size: 14px; }
.siot-copy-inline { border: 0; background: #eff6fc; color: #176fae; border-radius: 3px; padding: 6px 9px; font-size: 12px; }
.siot-condition-badge { background: #eef4f8; color: #526a7e; border-radius: 3px; padding: 6px 9px; font-size: 12px; font-weight: 700; }
.siot-short-description { color: #4f5d69; font-size: 15px; line-height: 1.7; }
.siot-short-description ul { margin: 0; padding-left: 20px; }
.siot-short-description li { margin-bottom: 4px; }
.siot-short-description p { margin: 0; }
.siot-spec-link { display: inline-block; margin-top: 6px; color: var(--siot-link); }
.siot-service-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin-top: 20px; }
.siot-service-card { border: 1px solid #e1e6eb; background: #fafbfc; padding: 10px 11px; font-size: 12px; color: #5b6773; }
.siot-service-card strong { display: block; color: #344657; margin-bottom: 2px; font-size: 13px; }
.siot-service-card span { display: block; font-size: 12px; }
.siot-resources { margin-top: 22px; padding-top: 17px; border-top: 1px solid #e8edf1; }
.siot-resources h3 { font-size: 14px; margin: 0 0 9px; color: #778490; font-weight: 600; }
.siot-resource-links { display: flex; gap: 8px; flex-wrap: wrap; }
.siot-resource-links a { color: var(--siot-link); border-right: 1px solid #cfd6de; padding-right: 8px; font-size: 14px; }
.siot-resource-links a:last-child { border-right: 0; }

.siot-buy-panel { border-left: 1px solid #e2e7ec; padding-left: 28px; align-self: stretch; }
.siot-buy-topline { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.siot-net-label { font-size: 13px; color: #74808c; }
.siot-main-price { font-size: 31px; font-weight: 700; color: #1e2d38; margin: 2px 0; line-height: 1.1; }
.siot-main-price small { font-size: 14px; font-weight: 400; color: #687784; }
.siot-tax-note { margin: 0; font-size: 12px; color: #75818c; }
.siot-stock-pill { background: #89a5c2; color: #fff; font-weight: 700; padding: 6px 9px; border-radius: 3px; font-size: 12px; min-height: 0; }
.siot-stock-pill.is-out-of-stock { background: #bd2e2e; }
.siot-tier-table { border: 1px solid #dfe5eb; margin: 17px 0 14px; }
.siot-tier-head, .siot-tier-row { display: grid; grid-template-columns: 1fr 1fr; padding: 8px 11px; font-size: 13px; }
.siot-tier-head { background: #f7f9fb; font-weight: 700; color: #65717d; }
.siot-tier-row { border-top: 1px solid #e6ebef; }
.siot-tier-row.is-active { background: #eef6fd; color: #0e619f; font-weight: 700; }
.siot-tier-row.is-active strong { color: #0e619f; }

.siot-add-to-cart-wrap form.cart { margin: 0; }
.siot-add-to-cart-wrap form.cart:not(.variations_form) { display: grid; grid-template-columns: 105px 1fr; gap: 9px; margin-top: 13px; align-items: stretch; }
.siot-add-to-cart-wrap .variations_form { display: block; margin-top: 13px; }
.siot-add-to-cart-wrap .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: 105px 1fr; gap: 9px; align-items: stretch; }
.siot-add-to-cart-wrap .quantity { display: grid; grid-template-columns: 30px 1fr 30px; border: 1px solid #cbd5df; height: 42px; margin: 0 !important; }
.siot-add-to-cart-wrap .quantity .qty { min-width: 0; border: 0; text-align: center; font-weight: 700; outline: 0; }
.siot-qty-btn { border: 0; background: #f7f8fa; color: #40515f; font-size: 18px; }
.siot-add-to-cart-wrap .single_add_to_cart_button { border: 1px solid #3a91db !important; background: #3d93de !important; color: #fff !important; font-weight: 700 !important; border-radius: 3px !important; font-size: 16px !important; min-height: 42px !important; line-height: 1.1 !important; padding: 0 14px !important; width: 100%; }
.siot-add-to-cart-wrap .single_add_to_cart_button:hover { background: #287fc7 !important; }

.siot-buy-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 9px; }
.siot-buy-secondary, .siot-buy-tertiary { min-height: 40px; display: flex; align-items: center; justify-content: center; text-align: center; border-radius: 3px; padding: 8px 10px; font-size: 14px; }
.siot-buy-secondary { border: 1px solid #78afe1; background: #fff; color: #2e83cc; }
.siot-buy-tertiary { border: 1px solid #8b99a7; background: #fff; color: #526170; }

.siot-delivery-box { margin-top: 17px; border-top: 1px solid #e4e8ec; padding-top: 15px; }
.siot-delivery-title, .siot-payment-title { font-weight: 700; font-size: 14px; margin-bottom: 8px; }
.siot-delivery-form { display: grid; grid-template-columns: 1fr 95px; gap: 7px; }
.siot-delivery-form select, .siot-delivery-form input { height: 37px; border: 1px solid #cbd4dd; padding: 0 9px; background: #fff; color: #4d5a65; }
.siot-delivery-result { margin-top: 9px; font-size: 13px; color: #50606d; }
.siot-delivery-result strong { color: #25834a; }

.siot-payment-box { margin-top: 16px; padding-top: 14px; border-top: 1px solid #e4e8ec; }
.siot-payment-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.siot-payment-badges span { border: 1px solid #d7dde3; background: #fafafa; border-radius: 2px; padding: 5px 7px; font-size: 11px; color: #596772; }

.siot-account-box { margin-top: 16px; background: #f5f9fc; border: 1px solid #dce8f2; padding: 12px; }
.siot-account-box strong { font-size: 13px; }
.siot-account-box p { margin: 5px 0 9px; color: #657482; font-size: 12px; }
.siot-account-box a { color: var(--siot-link); font-size: 13px; font-weight: 700; }

.siot-product-tabs { margin-top: 24px; background: #fff; border: 1px solid var(--siot-border); box-shadow: var(--siot-shadow); border-radius: 0 !important; overflow: hidden; }
.siot-tab-nav { display: flex; border-bottom: 1px solid var(--siot-border); overflow: auto; background: #f8f9fa; }
.siot-tab-nav button { border: 0; border-right: 1px solid var(--siot-border); background: transparent; padding: 14px 21px; font-weight: 700; color: #53616e; white-space: nowrap; cursor: pointer; font-size: 13px; border-radius: 0 !important; }
.siot-tab-nav button.is-active { background: #fff; color: var(--siot-blue); box-shadow: inset 0 3px 0 var(--siot-blue); }
.siot-tab-panel { display: block; padding: 22px; font-size: 14px; color: #657482; }
.siot-tab-panel h3 { margin: 0 0 8px; font-size: 18px; color: #243f56; }
.siot-tab-panel h4 { margin: 7px 0 8px; font-size: 15px; color: #24547c; }
.siot-tab-panel p { color: #657482; font-size: 14px; line-height: 1.55; }
.siot-spec-table { width: 100%; border-collapse: collapse; }
.siot-spec-table th, .siot-spec-table td { padding: 11px 15px; border-top: 1px solid #e8edf1; text-align: left; vertical-align: top; font-size: 14px; }
.siot-spec-table tr:first-child th, .siot-spec-table tr:first-child td { border-top: 0; }
.siot-spec-table th { width: 290px; font-weight: 700; background: #f8fafb; border-right: 1px solid #e1e6eb; color: #4f5e6c; }

.siot-procurement-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 18px; }
.siot-supplier-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.siot-procurement-card { border: 1px solid #dde4ea; background: #fff; padding: 19px; }
.siot-procurement-card h3 { margin: 0 0 8px; font-size: 18px; color: #243f56; }
.siot-procurement-card p { color: #657482; font-size: 14px; }
.siot-upload-box { border: 2px dashed #b8c9d8; background: #f8fbfd; padding: 24px; text-align: center; margin-top: 13px; }
.siot-upload-icon { width: 44px; height: 44px; margin: 0 auto 10px; border-radius: 50%; background: #e7f1fb; color: var(--siot-blue); font-size: 22px; display: grid; place-items: center; }
.siot-procurement-features { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.siot-procurement-features span { font-size: 13px; color: #5a6874; }
.siot-procurement-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

.siot-compatibility-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.siot-compat-card { border: 1px solid #dfe5ea; background: #fff; padding: 16px; }
.siot-compat-tag { font-size: 11px; text-transform: uppercase; color: #81909c; letter-spacing: .4px; display: block; }
.siot-compat-card h4 { margin: 7px 0 8px; }
.siot-compat-card p { font-size: 13px; color: #687682; margin: 0 0 12px; }
.siot-compat-price { font-weight: 700; margin-bottom: 10px; color: var(--siot-text); font-size: 16px; }

.siot-qa-list { display: block; }
.siot-qa-item { border-top: 1px solid #e4e9ed; padding: 14px 0; }
.siot-qa-item:first-child { border-top: 0; }
.siot-qa-item strong { color: #405260; font-size: 14px; display: block; }
.siot-qa-item p { margin-top: 5px; color: #697682; font-size: 14px; }

.siot-supplier-table { width: 100%; border-collapse: collapse; }
.siot-supplier-table td { padding: 9px; border-bottom: 1px solid #e4e9ed; font-size: 13px; color: #697682; }
.siot-supplier-table td:first-child { font-weight: 700; width: 180px; color: #50606d; }

.siot-sticky-cart { position: fixed; left: 0; right: 0; bottom: -80px; z-index: 45; background: #fff; border-top: 1px solid #cfd7de; box-shadow: 0 -5px 16px rgba(0,0,0,.08); transition: .2s ease; min-height: 0; padding: 0; transform: none; }
.siot-sticky-cart.is-visible { bottom: 0; transform: none; }
.siot-sticky-cart { padding-inline: 0; }
.siot-sticky-cart::before { content: ''; display: none; }
.siot-sticky-product, .siot-sticky-actions { width: min(var(--siot-max), calc(100% - 36px)); margin: 0 auto; }
.siot-sticky-cart { display: block; }
.siot-sticky-cart .siot-sticky-actions, .siot-sticky-cart .siot-sticky-product { display: inline-flex; }
.siot-sticky-cart { text-align: center; }
.siot-sticky-cart > .siot-sticky-product,
.siot-sticky-cart > .siot-sticky-actions { vertical-align: middle; }
.siot-sticky-cart { white-space: nowrap; }
.siot-sticky-product { flex: 1; min-width: 0; align-items: center; gap: 0; padding: 12px 0; text-align: left; }
.siot-sticky-product strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 15px; color: var(--siot-text); }
.siot-sticky-product span { display: block; font-size: 12px; color: #75818c; }
.siot-sticky-actions { display: inline-flex; align-items: center; gap: 18px; justify-content: flex-end; padding: 12px 0; }
.siot-sticky-price { font-size: 20px; font-weight: 700; color: var(--siot-text); }
.siot-sticky-stock { font-size: 12px; color: var(--siot-green); font-weight: 700; }
.siot-sticky-add { height: 42px; padding: 0 25px; border: 1px solid #3a91db; background: #3d93de; color: #fff; font-weight: 700; border-radius: 3px; font-size: 14px; }

/* Footer */
.siot-footer { margin-top: 28px; background: #fff; border-top: 1px solid #dce2e7; color: #657482; }
.siot-footer-inner { display: grid; grid-template-columns: 1.2fr repeat(3,1fr); gap: 28px; padding: 30px 0; }
.siot-footer-brand h2 { margin: 0 0 8px; color: #344b5e; font-size: 17px; }
.siot-footer-brand p { display: block; font-size: 12px; margin: 6px 0; color: #687784; }
.siot-footer-section { min-width: 0; }
.siot-footer-desktop-title { margin: 0 0 8px; color: #344b5e; font-size: 17px; }
.siot-footer-accordion { display: none; width: 100%; border: 0; background: transparent; padding: 0; justify-content: space-between; align-items: center; color: #344b5e; font-size: 17px; font-weight: 700; }
.siot-footer-menu, .siot-footer-menu ul { list-style: none; margin: 0; padding: 0; }
.siot-footer-menu li + li { margin-top: 6px; }
.siot-footer-menu a, .siot-footer-setup { display: block; font-size: 12px; margin: 6px 0; color: #687784; }
.siot-footer-bottom { border-top: 1px solid #e2e7eb; padding: 15px 0; font-size: 12px; }

/* Responsive */
@media (max-width: 1120px) {
  .siot-nav-inner { grid-template-columns: 1fr auto; height: auto; padding: 10px 0; }
  .siot-desktop-nav { display: none; }
  .siot-mobile-menu-toggle { display: grid; }
  .siot-header-tools > .siot-product-search { display: none; }
  .siot-mobile-search-wrap { display: block; width: min(var(--siot-max), calc(100% - 36px)); margin: 0 auto; padding: 0 0 10px; }
  .siot-mobile-search { width: 100%; }
  .siot-mobile-drawer { display: block; position: fixed; inset: 0; background: rgba(0,0,0,.34); opacity: 0; pointer-events: none; transition: opacity .18s ease; }
  .siot-mobile-drawer.is-open { opacity: 1; pointer-events: auto; }
  .siot-mobile-drawer-inner { width: min(92vw, 430px); max-width: 100%; height: 100%; background: #fff; padding: 18px 0 40px; overflow: auto; }
  .siot-mobile-menu-list, .siot-mobile-menu-list ul { list-style: none; padding: 0; margin: 0; }
  .siot-mobile-menu-list > li > a { display: block; padding: 14px 18px; color: #203544; font-size: 17px; font-weight: 700; border-bottom: 1px solid #edf1f4; }
  .siot-mobile-menu-list .sub-menu { display: none; background: #f7f9fb; }
  .siot-mobile-menu-list li.is-open > .sub-menu { display: block; }
  .siot-mobile-menu-list .sub-menu a { display: block; padding: 12px 22px 12px 30px; color: #526573; border-bottom: 1px solid #edf1f4; }
  .siot-mobile-sub-toggle { position: absolute; top: 6px; right: 10px; width: 36px; height: 36px; border: 0; background: transparent; color: #1f3443; font-size: 22px; }
  .siot-mobile-menu-list > li { position: relative; }
  .siot-product-grid { grid-template-columns: 280px 1fr; }
  .siot-buy-panel { grid-column: 1/-1; border-left: 0; border-top: 1px solid #e3e8ec; padding: 22px 0 0; }
  .siot-procurement-grid { grid-template-columns: 1fr 1fr; }
  .siot-compatibility-cards { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 800px) {
  .siot-container,
  .siot-product-shell,
  .siot-home-shell,
  .siot-utility-inner,
  .siot-nav-inner,
  .siot-mobile-search-wrap,
  .siot-hero-overlay,
  .siot-sticky-product,
  .siot-sticky-actions { width: min(100% - 22px, 100%); }
  .siot-utility-links { gap: 14px; }
  .siot-utility-link:nth-last-child(2), .siot-utility-link:last-child { display: none; }
  .siot-main-menu-list { overflow: auto; gap: 20px; font-size: 14px; }
  .siot-product-heading { padding: 18px 16px; display: block; }
  .siot-title-actions { margin-top: 10px; }
  .siot-product-heading h1 { font-size: 26px; }
  .siot-product-grid { display: block; padding: 12px 16px 22px; }
  .siot-product-gallery { margin-bottom: 20px; }
  .siot-buy-panel { padding-top: 22px; }
  .siot-service-cards { grid-template-columns: 1fr; }
  .siot-add-to-cart-wrap form.cart:not(.variations_form),
  .siot-add-to-cart-wrap .woocommerce-variation-add-to-cart { grid-template-columns: 1fr; }
  .siot-product-tabs { margin-top: 20px; }
  .siot-spec-table th, .siot-spec-table td { display: block; width: 100%; }
  .siot-spec-table th { border-right: 0; border-bottom: 0; }
  .siot-procurement-grid,
  .siot-supplier-grid,
  .siot-compatibility-cards { grid-template-columns: 1fr; }
  .siot-footer-inner { grid-template-columns: 1fr; gap: 0; padding: 20px 0; }
  .siot-footer-section { border-top: 1px solid #edf1f4; padding: 12px 0; }
  .siot-footer-accordion { display: flex; }
  .siot-footer-desktop-title { display: none; }
  .siot-footer-menu-wrap { display: none; padding-top: 12px; }
  .siot-footer-section.is-open .siot-footer-menu-wrap { display: block; }
}

@media (max-width: 560px) {
  .siot-hero { padding-top: 14px; }
  .siot-hero-track { min-height: 390px; height: 390px; }
  .siot-hero-overlay { padding: 180px 0 0 18px; }
  .siot-hero-card { padding: 22px 20px 24px; width: calc(100% - 36px); max-width: none; min-height: 0; }
  .siot-hero-card h2 { font-size: 33px; margin-bottom: 12px; }
  .siot-hero-copy { font-size: 18px; }
  .siot-hero-actions { gap: 10px; margin-top: 18px; }
  .siot-hero .siot-btn { min-height: 48px; padding: 0 18px; font-size: 18px; }
  .siot-slider-dots { right: 18px; bottom: 12px; gap: 10px; }
  .siot-slider-dots button { width: 24px; height: 12px; }
  .siot-buy-actions { grid-template-columns: 1fr; }
  .siot-delivery-form { grid-template-columns: 1fr; }
  .siot-sticky-product { display: none; }
  .siot-sticky-actions { width: min(100% - 22px, 100%); justify-content: space-between; gap: 10px; }
  .siot-sticky-stock { display: none; }
  .siot-sticky-add { flex: 1; padding: 0 14px; }
}

/* V5 exact HTML / reference alignment overrides */
.siot-utility-brand-image { height: 48px; max-height: 48px; width: auto; object-fit: contain; }

/* Mega menu: 450px master column + 450px flyout column, matching reference structure. */
.siot-desktop-nav > ul > li > .sub-menu {
  width: 450px;
  min-height: 0;
  background: #ededed;
  border: 1px solid #cfd6dc;
  box-shadow: none;
  padding: 0;
}
.siot-desktop-nav > ul > li > .sub-menu > li { width: 100%; position: static; }
.siot-desktop-nav > ul > li > .sub-menu > li > a {
  min-height: 62px;
  padding: 13px 24px;
  font-size: 18px;
  line-height: 1.35;
  color: #60656b;
  border-bottom: 0;
}
.siot-desktop-nav > ul > li > .sub-menu > li:hover > a,
.siot-desktop-nav > ul > li > .sub-menu > li:focus-within > a {
  background: #064b87;
  color: #fff;
}
.siot-desktop-nav > ul > li > .sub-menu > li > .sub-menu {
  left: 100%;
  top: -1px;
  width: 450px;
  min-height: 0;
  height: auto;
  padding: 4px 0;
  background: #ededed;
  border: 1px solid #cfd6dc;
  box-shadow: none;
}
.siot-desktop-nav > ul > li > .sub-menu > li > .sub-menu a {
  padding: 13px 24px;
  font-size: 17px;
  line-height: 1.4;
  color: #60656b;
  background: transparent;
}
.siot-desktop-nav > ul > li > .sub-menu > li > .sub-menu a:hover {
  color: #60656b;
  background: #f7f7f7;
}

/* Product and tabs are two separate white boxes on the light grey page, like the HTML. */
.siot-product-shell { background: transparent !important; }
.siot-product-shell > .siot-product,
.woocommerce .siot-product-shell > .product.siot-product,
.single-product .siot-product {
  background: #fff !important;
  border: 1px solid #d9e0e7 !important;
  box-shadow: 0 5px 18px rgba(16,35,55,.06) !important;
}
.siot-product-tabs {
  margin: 24px 0 0;
  background: #fff;
  border: 1px solid #d9e0e7;
  box-shadow: 0 5px 18px rgba(16,35,55,.06);
  border-radius: 0 !important;
  overflow: visible;
}
.siot-tab-nav {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid #d9e0e7;
  background: #f8f9fa;
  overflow-x: auto;
  overflow-y: hidden;
}
.siot-tab-nav button {
  flex: 0 0 auto;
  margin: 0 !important;
  border: 0 !important;
  border-right: 1px solid #d9e0e7 !important;
  border-top: 3px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 15px 23px !important;
  color: #53616e !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  white-space: nowrap;
  box-shadow: none !important;
  min-height: 0 !important;
}
.siot-tab-nav button.is-active {
  background: #fff !important;
  color: #064b87 !important;
  border-top-color: #064b87 !important;
  box-shadow: none !important;
}
.siot-tab-panel { padding: 25px; font-size: 14px; }
.siot-tab-panel p { font-size: 14px; }
.siot-spec-table { border: 1px solid #e1e6eb; }
.siot-spec-table th,
.siot-spec-table td { padding: 11px 15px; font-size: 14px; }
.siot-spec-table th { width: 290px; }

/* Exact HTML add-to-cart row. */
.siot-add-to-cart-wrap { width: 100%; margin: 0; }
.siot-add-to-cart-wrap form.cart.siot-cart-form,
.siot-add-to-cart-wrap form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: 105px minmax(0, 1fr) !important;
  gap: 9px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 13px 0 0 !important;
  padding: 0 !important;
}
.siot-add-to-cart-wrap .quantity,
.siot-add-to-cart-wrap .siot-qty-control {
  float: none !important;
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) 30px !important;
  width: 105px !important;
  min-width: 105px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #cbd5df !important;
  border-radius: 0 !important;
  background: #fff !important;
  overflow: hidden;
}
.siot-add-to-cart-wrap .quantity .qty,
.siot-add-to-cart-wrap .siot-qty-control .qty {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  text-align: center !important;
  color: #243746 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 40px !important;
  box-shadow: none !important;
  outline: 0 !important;
  appearance: textfield;
  -moz-appearance: textfield;
}
.siot-add-to-cart-wrap .quantity .qty::-webkit-inner-spin-button,
.siot-add-to-cart-wrap .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.siot-add-to-cart-wrap .siot-qty-btn {
  width: 30px !important;
  height: 40px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f7f8fa !important;
  color: #40515f !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 40px !important;
  box-shadow: none !important;
}
.siot-add-to-cart-wrap .single_add_to_cart_button {
  float: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid #3a91db !important;
  border-radius: 3px !important;
  background: #3d93de !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}
.siot-add-to-cart-wrap .single_add_to_cart_button .woocommerce-Price-amount,
.siot-add-to-cart-wrap .single_add_to_cart_button .woocommerce-Price-currencySymbol { color: inherit !important; font-size: inherit !important; line-height: inherit !important; }
.siot-add-to-cart-wrap .single_add_to_cart_button:hover { background: #287fc7 !important; }

.siot-buy-actions { grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 9px; }
.siot-buy-secondary,
.siot-buy-tertiary {
  height: 40px;
  min-height: 40px;
  padding: 0 10px;
  font-size: 16px !important;
  line-height: 1.2;
}

/* Sticky buy bar: HTML dimensions, with requested product thumbnail added. */
.siot-sticky-cart {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -80px !important;
  z-index: 450 !important;
  display: block !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border-top: 1px solid #cfd7de !important;
  box-shadow: 0 -5px 16px rgba(0,0,0,.08) !important;
  transform: none !important;
  transition: bottom .2s ease !important;
  white-space: normal !important;
}
.siot-sticky-cart.is-visible { bottom: 0 !important; transform: none !important; }
.siot-sticky-inner {
  width: min(1320px, calc(100% - 36px)) !important;
  height: 67px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}
.siot-sticky-image {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e1e6eb;
  background: #fff;
}
.siot-sticky-image img { display: block; max-width: 44px; max-height: 44px; width: auto; height: auto; object-fit: contain; }
.siot-sticky-product { flex: 1 1 auto !important; min-width: 0 !important; width: auto !important; margin: 0 !important; padding: 0 !important; display: block !important; text-align: left !important; }
.siot-sticky-product strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #243746; font-size: 15px; line-height: 1.3; }
.siot-sticky-product span { display: block; margin-top: 2px; color: #75818c; font-size: 12px; line-height: 1.3; }
.siot-sticky-stock { flex: 0 0 auto; margin: 0; padding: 0; color: #26864a; font-size: 12px; font-weight: 700; }
.siot-sticky-price { flex: 0 0 auto; margin: 0; padding: 0; color: #243746; font-size: 20px; font-weight: 700; }
.siot-sticky-add {
  flex: 0 0 auto;
  height: 42px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 25px !important;
  border: 1px solid #3a91db !important;
  border-radius: 3px !important;
  background: #3d93de !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

@media (max-width: 1120px) {
  .siot-desktop-nav > ul > li > .sub-menu { width: 420px; }
  .siot-desktop-nav > ul > li > .sub-menu > li > .sub-menu { width: 420px; }
}
@media (max-width: 800px) {
  .siot-tab-nav button { padding: 15px 18px !important; font-size: 15px !important; }
  .siot-add-to-cart-wrap form.cart.siot-cart-form,
  .siot-add-to-cart-wrap form.cart:not(.variations_form) { grid-template-columns: 95px minmax(0,1fr) !important; }
  .siot-add-to-cart-wrap .quantity,
  .siot-add-to-cart-wrap .siot-qty-control { width: 95px !important; min-width: 95px !important; grid-template-columns: 30px minmax(0,1fr) 30px !important; }
  .siot-sticky-inner { width: min(100% - 22px, 100%) !important; gap: 10px !important; }
  .siot-sticky-image { flex-basis: 42px; width: 42px; height: 42px; }
  .siot-sticky-image img { max-width: 40px; max-height: 40px; }
  .siot-sticky-stock { display: none; }
}
@media (max-width: 560px) {
  .siot-buy-actions { grid-template-columns: 1fr; }
  .siot-sticky-image { display: none; }
  .siot-sticky-product span { display: none; }
  .siot-sticky-price { font-size: 17px; }
  .siot-sticky-add { padding: 0 13px !important; }
}

/* Search bar: square corners exactly like the HTML reference. */
.siot-product-search,
.siot-product-search input[type="search"],
.siot-product-search button,
.siot-mobile-search,
.siot-mobile-search input[type="search"],
.siot-mobile-search button {
  border-radius: 0 !important;
}
