{"id":7544,"date":"2026-07-21T19:26:38","date_gmt":"2026-07-21T16:26:38","guid":{"rendered":"https:\/\/bobcut3d.gr\/?page_id=7544"},"modified":"2026-07-21T19:49:01","modified_gmt":"2026-07-21T16:49:01","slug":"material-guide","status":"publish","type":"page","link":"https:\/\/bobcut3d.gr\/el\/material-guide\/","title":{"rendered":""},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7544\" class=\"elementor elementor-7544\" wpc-filter-elementor-widget=\"1\">\n\t\t\t\t<div class=\"elementor-element elementor-element-000a92a e-flex e-con-boxed e-con e-parent\" data-id=\"000a92a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e039288 elementor-widget elementor-widget-html\" data-id=\"e039288\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- BOBCUT3D MATERIAL GUIDE \u2014 paste into a WordPress Custom HTML element -->\r\n<section id=\"bobcut-material-guide\" aria-labelledby=\"bc-material-title\">\r\n  <style>\r\n    html,\r\n    body {\r\n      overflow-x: clip;\r\n    }\r\n\r\n    #bobcut-material-guide {\r\n      --bc-bg: #05080d;\r\n      --bc-panel: rgba(10, 16, 25, 0.88);\r\n      --bc-panel-2: rgba(13, 22, 34, 0.92);\r\n      --bc-line: rgba(63, 156, 255, 0.24);\r\n      --bc-line-strong: rgba(63, 156, 255, 0.58);\r\n      --bc-blue: #168cff;\r\n      --bc-cyan: #67c7ff;\r\n      --bc-text: #f3f7fb;\r\n      --bc-muted: #9aa9ba;\r\n      --bc-good: #77dbb5;\r\n      --bc-warning: #ffce70;\r\n      --bc-danger: #ff8c8c;\r\n      position: relative;\r\n      isolation: isolate;\r\n      overflow: hidden;\r\n\r\n      \/* Full-bleed layout: escapes the width limit of the WordPress container *\/\r\n      width: 100vw;\r\n      max-width: 100vw;\r\n      margin-left: calc(50% - 50vw);\r\n      margin-right: calc(50% - 50vw);\r\n\r\n      color: var(--bc-text);\r\n      background:\r\n        radial-gradient(circle at 15% 10%, rgba(22, 140, 255, 0.15), transparent 32%),\r\n        radial-gradient(circle at 90% 75%, rgba(25, 92, 175, 0.12), transparent 35%),\r\n        linear-gradient(180deg, #05080d 0%, #070c13 50%, #04070b 100%);\r\n      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\r\n    }\r\n\r\n    #bobcut-material-guide *,\r\n    #bobcut-material-guide *::before,\r\n    #bobcut-material-guide *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-grid-overlay {\r\n      position: absolute;\r\n      inset: 0;\r\n      z-index: -2;\r\n      pointer-events: none;\r\n      opacity: 0.34;\r\n      background-image:\r\n        linear-gradient(rgba(63, 156, 255, 0.07) 1px, transparent 1px),\r\n        linear-gradient(90deg, rgba(63, 156, 255, 0.07) 1px, transparent 1px);\r\n      background-size: 42px 42px;\r\n      mask-image: linear-gradient(to bottom, black, transparent 96%);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-hex-overlay {\r\n      position: absolute;\r\n      inset: 0;\r\n      z-index: -1;\r\n      pointer-events: none;\r\n      opacity: 0.13;\r\n      background-size: 52px 90px;\r\n      background-image:\r\n        linear-gradient(30deg, var(--bc-line-strong) 12%, transparent 12.5%, transparent 87%, var(--bc-line-strong) 87.5%, var(--bc-line-strong)),\r\n        linear-gradient(150deg, var(--bc-line-strong) 12%, transparent 12.5%, transparent 87%, var(--bc-line-strong) 87.5%, var(--bc-line-strong)),\r\n        linear-gradient(30deg, var(--bc-line-strong) 12%, transparent 12.5%, transparent 87%, var(--bc-line-strong) 87.5%, var(--bc-line-strong)),\r\n        linear-gradient(150deg, var(--bc-line-strong) 12%, transparent 12.5%, transparent 87%, var(--bc-line-strong) 87.5%, var(--bc-line-strong)),\r\n        linear-gradient(60deg, rgba(63,156,255,.18) 25%, transparent 25.5%, transparent 75%, rgba(63,156,255,.18) 75%, rgba(63,156,255,.18));\r\n      background-position: 0 0, 0 0, 26px 45px, 26px 45px, 0 0;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-shell {\r\n      width: 100%;\r\n      max-width: none;\r\n      margin: 0;\r\n      padding: clamp(64px, 8vw, 118px) clamp(18px, 3.5vw, 64px) 90px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-eyebrow {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 10px;\r\n      margin-bottom: 18px;\r\n      color: var(--bc-cyan);\r\n      font-size: 12px;\r\n      font-weight: 700;\r\n      letter-spacing: 0.2em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-eyebrow::before {\r\n      content: \"\";\r\n      width: 34px;\r\n      height: 1px;\r\n      background: var(--bc-blue);\r\n      box-shadow: 0 0 12px rgba(22, 140, 255, 0.8);\r\n    }\r\n\r\n    #bobcut-material-guide h2 {\r\n      max-width: 940px;\r\n      margin: 0;\r\n      font-size: clamp(38px, 6vw, 78px);\r\n      line-height: 0.98;\r\n      letter-spacing: -0.045em;\r\n      font-weight: 760;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-lead {\r\n      max-width: 780px;\r\n      margin: 24px 0 0;\r\n      color: var(--bc-muted);\r\n      font-size: clamp(17px, 1.8vw, 21px);\r\n      line-height: 1.65;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-status-row {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      gap: 10px;\r\n      margin-top: 30px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-status {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 9px;\r\n      padding: 9px 12px;\r\n      border: 1px solid var(--bc-line);\r\n      border-radius: 999px;\r\n      background: rgba(5, 12, 20, 0.68);\r\n      color: #c9d8e8;\r\n      font-size: 11px;\r\n      letter-spacing: 0.12em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-status-dot {\r\n      width: 7px;\r\n      height: 7px;\r\n      border-radius: 50%;\r\n      background: var(--bc-good);\r\n      box-shadow: 0 0 12px rgba(119, 219, 181, 0.8);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-toolbar {\r\n      display: grid;\r\n      grid-template-columns: minmax(250px, 1fr) auto;\r\n      gap: 16px;\r\n      align-items: end;\r\n      margin-top: 54px;\r\n      padding: 18px;\r\n      border: 1px solid var(--bc-line);\r\n      background: rgba(7, 13, 21, 0.78);\r\n      backdrop-filter: blur(14px);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-search-wrap {\r\n      position: relative;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-search-wrap svg {\r\n      position: absolute;\r\n      top: 50%;\r\n      left: 15px;\r\n      width: 18px;\r\n      transform: translateY(-50%);\r\n      color: var(--bc-muted);\r\n      pointer-events: none;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-search {\r\n      width: 100%;\r\n      min-height: 48px;\r\n      padding: 0 16px 0 46px;\r\n      border: 1px solid var(--bc-line);\r\n      border-radius: 3px;\r\n      outline: none;\r\n      background: rgba(2, 7, 12, 0.82);\r\n      color: var(--bc-text);\r\n      font: inherit;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-search:focus {\r\n      border-color: var(--bc-blue);\r\n      box-shadow: 0 0 0 3px rgba(22, 140, 255, 0.13);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-filter-list {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      justify-content: flex-end;\r\n      gap: 8px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-filter,\r\n    #bobcut-material-guide .bc-action,\r\n    #bobcut-material-guide .bc-card-button,\r\n    #bobcut-material-guide .bc-modal-close {\r\n      appearance: none;\r\n      border: 0;\r\n      cursor: pointer;\r\n      font: inherit;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-filter {\r\n      min-height: 42px;\r\n      padding: 0 14px;\r\n      border: 1px solid var(--bc-line);\r\n      border-radius: 3px;\r\n      background: rgba(5, 11, 18, 0.9);\r\n      color: #b9c8d7;\r\n      font-size: 12px;\r\n      font-weight: 700;\r\n      letter-spacing: 0.08em;\r\n      text-transform: uppercase;\r\n      transition: 180ms ease;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-filter:hover,\r\n    #bobcut-material-guide .bc-filter.is-active {\r\n      border-color: var(--bc-blue);\r\n      color: white;\r\n      background: rgba(22, 140, 255, 0.15);\r\n      box-shadow: inset 0 -2px 0 var(--bc-blue);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-section-head {\r\n      display: flex;\r\n      align-items: end;\r\n      justify-content: space-between;\r\n      gap: 20px;\r\n      margin: 34px 0 18px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-section-head h3 {\r\n      margin: 0;\r\n      font-size: clamp(24px, 3vw, 34px);\r\n      letter-spacing: -0.025em;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-count {\r\n      color: var(--bc-muted);\r\n      font-size: 13px;\r\n      letter-spacing: 0.08em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-material-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      gap: 16px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-material-card {\r\n      position: relative;\r\n      min-height: 100%;\r\n      padding: 22px;\r\n      border: 1px solid var(--bc-line);\r\n      background:\r\n        linear-gradient(145deg, rgba(16, 27, 42, 0.9), rgba(5, 10, 17, 0.94));\r\n      transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-material-card::before,\r\n    #bobcut-material-guide .bc-material-card::after {\r\n      content: \"\";\r\n      position: absolute;\r\n      width: 18px;\r\n      height: 18px;\r\n      pointer-events: none;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-material-card::before {\r\n      top: -1px;\r\n      left: -1px;\r\n      border-top: 2px solid var(--bc-blue);\r\n      border-left: 2px solid var(--bc-blue);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-material-card::after {\r\n      right: -1px;\r\n      bottom: -1px;\r\n      border-right: 2px solid rgba(22, 140, 255, 0.7);\r\n      border-bottom: 2px solid rgba(22, 140, 255, 0.7);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-material-card:hover {\r\n      transform: translateY(-4px);\r\n      border-color: var(--bc-line-strong);\r\n      box-shadow: 0 18px 44px rgba(0, 0, 0, 0.26), 0 0 30px rgba(22, 140, 255, 0.08);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-card-top {\r\n      display: flex;\r\n      align-items: flex-start;\r\n      justify-content: space-between;\r\n      gap: 16px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-code {\r\n      display: inline-flex;\r\n      min-width: 70px;\r\n      min-height: 38px;\r\n      align-items: center;\r\n      justify-content: center;\r\n      padding: 0 10px;\r\n      border: 1px solid rgba(22, 140, 255, 0.45);\r\n      background: rgba(22, 140, 255, 0.12);\r\n      color: #dff2ff;\r\n      font-size: 17px;\r\n      font-weight: 800;\r\n      letter-spacing: 0.12em;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-compare-label {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      color: var(--bc-muted);\r\n      font-size: 12px;\r\n      cursor: pointer;\r\n      user-select: none;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-compare-checkbox {\r\n      width: 17px;\r\n      height: 17px;\r\n      accent-color: var(--bc-blue);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-card-title {\r\n      margin: 18px 0 0;\r\n      font-size: 22px;\r\n      line-height: 1.15;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-card-summary {\r\n      min-height: 66px;\r\n      margin: 10px 0 0;\r\n      color: var(--bc-muted);\r\n      font-size: 14px;\r\n      line-height: 1.58;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-tags {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      gap: 7px;\r\n      margin: 16px 0 20px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-tag {\r\n      padding: 6px 8px;\r\n      border: 1px solid rgba(135, 181, 226, 0.18);\r\n      background: rgba(255, 255, 255, 0.025);\r\n      color: #b6c7d8;\r\n      font-size: 10px;\r\n      letter-spacing: 0.08em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-property-list {\r\n      display: grid;\r\n      gap: 11px;\r\n      margin-top: 8px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-property-row {\r\n      display: grid;\r\n      grid-template-columns: 94px 1fr 26px;\r\n      gap: 10px;\r\n      align-items: center;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-property-name {\r\n      color: #c3d2e0;\r\n      font-size: 11px;\r\n      letter-spacing: 0.06em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-bar {\r\n      display: grid;\r\n      grid-template-columns: repeat(5, 1fr);\r\n      gap: 4px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-bar span {\r\n      height: 6px;\r\n      border: 1px solid rgba(126, 165, 205, 0.18);\r\n      background: rgba(255, 255, 255, 0.035);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-bar span.is-filled {\r\n      border-color: rgba(22, 140, 255, 0.65);\r\n      background: linear-gradient(90deg, rgba(22, 140, 255, 0.65), rgba(103, 199, 255, 0.95));\r\n      box-shadow: 0 0 8px rgba(22, 140, 255, 0.24);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-score {\r\n      color: var(--bc-cyan);\r\n      font-size: 11px;\r\n      text-align: right;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-card-footer {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      gap: 12px;\r\n      margin-top: 22px;\r\n      padding-top: 17px;\r\n      border-top: 1px solid rgba(97, 151, 207, 0.16);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-requirement {\r\n      color: var(--bc-muted);\r\n      font-size: 11px;\r\n      line-height: 1.4;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-card-button {\r\n      flex: 0 0 auto;\r\n      padding: 9px 0 9px 12px;\r\n      background: transparent;\r\n      color: var(--bc-cyan);\r\n      font-size: 12px;\r\n      font-weight: 750;\r\n      letter-spacing: 0.08em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-card-button:hover {\r\n      color: white;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-empty {\r\n      display: none;\r\n      padding: 34px;\r\n      border: 1px dashed var(--bc-line-strong);\r\n      color: var(--bc-muted);\r\n      text-align: center;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-note {\r\n      margin-top: 28px;\r\n      padding: 18px 20px;\r\n      border-left: 3px solid var(--bc-blue);\r\n      background: rgba(22, 140, 255, 0.07);\r\n      color: #b8c8d8;\r\n      font-size: 13px;\r\n      line-height: 1.65;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-cta {\r\n      display: grid;\r\n      grid-template-columns: 1fr auto;\r\n      gap: 24px;\r\n      align-items: center;\r\n      margin-top: 34px;\r\n      padding: clamp(24px, 4vw, 38px);\r\n      border: 1px solid var(--bc-line-strong);\r\n      background:\r\n        linear-gradient(100deg, rgba(22, 140, 255, 0.16), rgba(7, 13, 21, 0.9) 55%),\r\n        rgba(7, 13, 21, 0.95);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-cta h3 {\r\n      margin: 0;\r\n      font-size: clamp(24px, 3vw, 38px);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-cta p {\r\n      max-width: 720px;\r\n      margin: 10px 0 0;\r\n      color: var(--bc-muted);\r\n      line-height: 1.6;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-action {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      min-height: 48px;\r\n      padding: 0 20px;\r\n      border: 1px solid var(--bc-blue);\r\n      border-radius: 2px;\r\n      background: var(--bc-blue);\r\n      color: white;\r\n      text-decoration: none;\r\n      font-size: 12px;\r\n      font-weight: 800;\r\n      letter-spacing: 0.11em;\r\n      text-transform: uppercase;\r\n      box-shadow: 0 0 25px rgba(22, 140, 255, 0.22);\r\n      transition: 180ms ease;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-action:hover {\r\n      transform: translateY(-2px);\r\n      background: #2b9aff;\r\n      color: white;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-compare-dock {\r\n      position: sticky;\r\n      bottom: 18px;\r\n      z-index: 20;\r\n      display: none;\r\n      grid-template-columns: 1fr auto auto;\r\n      gap: 12px;\r\n      align-items: center;\r\n      width: min(900px, calc(100% - 24px));\r\n      margin: 24px auto 0;\r\n      padding: 13px;\r\n      border: 1px solid var(--bc-line-strong);\r\n      background: rgba(5, 10, 17, 0.94);\r\n      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);\r\n      backdrop-filter: blur(16px);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-compare-dock.is-visible {\r\n      display: grid;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-selected-list {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      gap: 7px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-selected-chip {\r\n      padding: 7px 9px;\r\n      border: 1px solid var(--bc-line);\r\n      background: rgba(22, 140, 255, 0.1);\r\n      color: #d8efff;\r\n      font-size: 11px;\r\n      font-weight: 700;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-clear {\r\n      background: transparent;\r\n      border-color: rgba(255, 255, 255, 0.2);\r\n      color: #c6d1dc;\r\n      box-shadow: none;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-clear:hover {\r\n      background: rgba(255, 255, 255, 0.06);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-modal {\r\n      position: fixed;\r\n      inset: 0;\r\n      z-index: 99999;\r\n      display: none;\r\n      align-items: center;\r\n      justify-content: center;\r\n      padding: 20px;\r\n      background: rgba(0, 3, 7, 0.82);\r\n      backdrop-filter: blur(10px);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-modal.is-open {\r\n      display: flex;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-modal-panel {\r\n      position: relative;\r\n      width: min(1040px, 100%);\r\n      max-height: min(820px, calc(100vh - 40px));\r\n      overflow: auto;\r\n      border: 1px solid var(--bc-line-strong);\r\n      background: #08101a;\r\n      box-shadow: 0 24px 90px rgba(0, 0, 0, 0.58);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-modal-head {\r\n      position: sticky;\r\n      top: 0;\r\n      z-index: 2;\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      gap: 18px;\r\n      padding: 18px 20px;\r\n      border-bottom: 1px solid var(--bc-line);\r\n      background: rgba(8, 16, 26, 0.96);\r\n      backdrop-filter: blur(12px);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-modal-head h3 {\r\n      margin: 0;\r\n      font-size: 24px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-modal-close {\r\n      width: 42px;\r\n      height: 42px;\r\n      border: 1px solid var(--bc-line);\r\n      background: rgba(255, 255, 255, 0.03);\r\n      color: white;\r\n      font-size: 24px;\r\n      line-height: 1;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-modal-body {\r\n      padding: 22px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-detail-grid {\r\n      display: grid;\r\n      grid-template-columns: 1.1fr 0.9fr;\r\n      gap: 24px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-detail-panel {\r\n      padding: 20px;\r\n      border: 1px solid var(--bc-line);\r\n      background: rgba(255, 255, 255, 0.018);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-detail-panel h4 {\r\n      margin: 0 0 13px;\r\n      color: var(--bc-cyan);\r\n      font-size: 12px;\r\n      letter-spacing: 0.12em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-detail-panel p,\r\n    #bobcut-material-guide .bc-detail-panel li {\r\n      color: #b5c4d3;\r\n      line-height: 1.65;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-detail-panel ul {\r\n      margin: 0;\r\n      padding-left: 20px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-comparison-wrap {\r\n      overflow-x: auto;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-comparison-table {\r\n      width: 100%;\r\n      min-width: 680px;\r\n      border-collapse: collapse;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-comparison-table th,\r\n    #bobcut-material-guide .bc-comparison-table td {\r\n      padding: 13px 14px;\r\n      border: 1px solid var(--bc-line);\r\n      text-align: left;\r\n      vertical-align: middle;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-comparison-table th {\r\n      color: var(--bc-cyan);\r\n      background: rgba(22, 140, 255, 0.08);\r\n      font-size: 12px;\r\n      letter-spacing: 0.07em;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-comparison-table td {\r\n      color: #c2ceda;\r\n      font-size: 13px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-mini-score {\r\n      display: inline-flex;\r\n      gap: 3px;\r\n    }\r\n\r\n    #bobcut-material-guide .bc-mini-score i {\r\n      display: block;\r\n      width: 15px;\r\n      height: 5px;\r\n      border: 1px solid rgba(126, 165, 205, 0.18);\r\n      background: rgba(255, 255, 255, 0.035);\r\n    }\r\n\r\n    #bobcut-material-guide .bc-mini-score i.is-filled {\r\n      border-color: rgba(22, 140, 255, 0.65);\r\n      background: var(--bc-blue);\r\n    }\r\n\r\n    @media (max-width: 1050px) {\r\n      #bobcut-material-guide .bc-material-grid {\r\n        grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      }\r\n\r\n      #bobcut-material-guide .bc-toolbar {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #bobcut-material-guide .bc-filter-list {\r\n        justify-content: flex-start;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 720px) {\r\n      #bobcut-material-guide .bc-shell {\r\n        width: 100%;\r\n        padding: 58px 12px 68px;\r\n      }\r\n\r\n      #bobcut-material-guide .bc-material-grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #bobcut-material-guide .bc-toolbar {\r\n        padding: 12px;\r\n      }\r\n\r\n      #bobcut-material-guide .bc-filter-list {\r\n        display: grid;\r\n        grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      }\r\n\r\n      #bobcut-material-guide .bc-filter {\r\n        width: 100%;\r\n      }\r\n\r\n      #bobcut-material-guide .bc-cta,\r\n      #bobcut-material-guide .bc-detail-grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n\r\n      #bobcut-material-guide .bc-cta .bc-action {\r\n        width: 100%;\r\n      }\r\n\r\n      #bobcut-material-guide .bc-compare-dock {\r\n        grid-template-columns: 1fr 1fr;\r\n      }\r\n\r\n      #bobcut-material-guide .bc-selected-list {\r\n        grid-column: 1 \/ -1;\r\n      }\r\n\r\n      #bobcut-material-guide .bc-property-row {\r\n        grid-template-columns: 82px 1fr 24px;\r\n      }\r\n    }\r\n\r\n    @media (prefers-reduced-motion: reduce) {\r\n      #bobcut-material-guide *,\r\n      #bobcut-material-guide *::before,\r\n      #bobcut-material-guide *::after {\r\n        scroll-behavior: auto !important;\r\n        animation-duration: 0.01ms !important;\r\n        animation-iteration-count: 1 !important;\r\n        transition-duration: 0.01ms !important;\r\n      }\r\n    }\r\n\r\n\r\n    \/* WordPress\/theme override: keep every guide heading pure white *\/\r\n    #bobcut-material-guide h1,\r\n    #bobcut-material-guide h2,\r\n    #bobcut-material-guide h3,\r\n    #bobcut-material-guide h4,\r\n    #bobcut-material-guide h5,\r\n    #bobcut-material-guide h6,\r\n    #bobcut-material-guide #bc-material-title,\r\n    #bobcut-material-guide .bc-section-head h3,\r\n    #bobcut-material-guide .bc-card-title,\r\n    #bobcut-material-guide .bc-cta h3,\r\n    #bobcut-material-guide .bc-modal-head h3,\r\n    #bobcut-material-guide .bc-detail-panel h4 {\r\n      color: #ffffff !important;\r\n      -webkit-text-fill-color: #ffffff !important;\r\n      opacity: 1 !important;\r\n    }\r\n\r\n  <\/style>\r\n\r\n  <div class=\"bc-grid-overlay\" aria-hidden=\"true\"><\/div>\r\n  <div class=\"bc-hex-overlay\" aria-hidden=\"true\"><\/div>\r\n\r\n  <div class=\"bc-shell\">\r\n    <header>\r\n      <div class=\"bc-eyebrow\">Engineering Material Database<\/div>\r\n      <h2 id=\"bc-material-title\">Choose the right material for every application.<\/h2>\r\n      <p class=\"bc-lead\">\r\n        Compare our most commonly used 3D-printing materials by strength, stiffness,\r\n        heat resistance, impact performance and manufacturing requirements.\r\n      <\/p>\r\n      <div class=\"bc-status-row\" aria-label=\"Service capabilities\">\r\n        <span class=\"bc-status\"><span class=\"bc-status-dot\"><\/span>Material selection support<\/span>\r\n        <span class=\"bc-status\"><span class=\"bc-status-dot\"><\/span>Functional prototyping<\/span>\r\n        <span class=\"bc-status\"><span class=\"bc-status-dot\"><\/span>Low-volume production<\/span>\r\n      <\/div>\r\n    <\/header>\r\n\r\n    <div class=\"bc-toolbar\" aria-label=\"Material filters\">\r\n      <div class=\"bc-search-wrap\">\r\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\">\r\n          <circle cx=\"11\" cy=\"11\" r=\"7\"><\/circle>\r\n          <path d=\"m20 20-3.5-3.5\"><\/path>\r\n        <\/svg>\r\n        <label class=\"screen-reader-text\" for=\"bc-material-search\">Search materials<\/label>\r\n        <input id=\"bc-material-search\" class=\"bc-search\" type=\"search\" placeholder=\"Search by material, property or application\u2026\" autocomplete=\"off\">\r\n      <\/div>\r\n      <div class=\"bc-filter-list\" role=\"group\" aria-label=\"Filter by material family\">\r\n        <button class=\"bc-filter is-active\" type=\"button\" data-filter=\"all\">All materials<\/button>\r\n        <button class=\"bc-filter\" type=\"button\" data-filter=\"general\">General use<\/button>\r\n        <button class=\"bc-filter\" type=\"button\" data-filter=\"outdoor\">Outdoor<\/button>\r\n        <button class=\"bc-filter\" type=\"button\" data-filter=\"flexible\">Flexible<\/button>\r\n        <button class=\"bc-filter\" type=\"button\" data-filter=\"engineering\">Engineering<\/button>\r\n        <button class=\"bc-filter\" type=\"button\" data-filter=\"fiber\">Fiber reinforced<\/button>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"bc-section-head\">\r\n      <h3>Material selection guide<\/h3>\r\n      <div id=\"bc-material-count\" class=\"bc-count\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n\r\n    <div id=\"bc-material-grid\" class=\"bc-material-grid\"><\/div>\r\n    <div id=\"bc-empty\" class=\"bc-empty\">No materials match your search.<\/div>\r\n\r\n    <div class=\"bc-note\">\r\n      Performance scores are relative selection aids. Final material choice depends on geometry,\r\n      wall thickness, print orientation, environment, loading conditions and the exact material grade.\r\n      Critical or safety-related components require engineering validation and physical testing.\r\n    <\/div>\r\n\r\n    <div class=\"bc-cta\">\r\n      <div>\r\n        <h3>Not sure which material you need?<\/h3>\r\n        <p>Send us your model, damaged part, drawing or application requirements. We will recommend the most suitable manufacturing material and process.<\/p>\r\n      <\/div>\r\n      <a class=\"bc-action\" href=\"mailto:sales@bobcut3d.gr?subject=Material%20Selection%20Request\">Request material advice<\/a>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div id=\"bc-compare-dock\" class=\"bc-compare-dock\" aria-live=\"polite\">\r\n    <div id=\"bc-selected-list\" class=\"bc-selected-list\"><\/div>\r\n    <button id=\"bc-clear-compare\" class=\"bc-action bc-clear\" type=\"button\">Clear<\/button>\r\n    <button id=\"bc-open-compare\" class=\"bc-action\" type=\"button\">Compare<\/button>\r\n  <\/div>\r\n\r\n  <div id=\"bc-material-modal\" class=\"bc-modal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"bc-modal-title\">\r\n    <div class=\"bc-modal-panel\">\r\n      <div class=\"bc-modal-head\">\r\n        <h3 id=\"bc-modal-title\">Material details<\/h3>\r\n        <button class=\"bc-modal-close\" type=\"button\" aria-label=\"Close material details\">\u00d7<\/button>\r\n      <\/div>\r\n      <div id=\"bc-modal-body\" class=\"bc-modal-body\"><\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    (() => {\r\n      const root = document.getElementById('bobcut-material-guide');\r\n      if (!root || root.dataset.initialized === 'true') return;\r\n      root.dataset.initialized = 'true';\r\n\r\n      const materials = [\r\n        {\r\n          id: 'pla', code: 'PLA', name: 'Polylactic Acid', family: ['general'],\r\n          summary: 'Clean surface finish and excellent detail for visual models, prototypes and indoor products.',\r\n          tags: ['Easy to print', 'Fine detail', 'Indoor use'],\r\n          scores: { printability: 5, strength: 3, stiffness: 4, heat: 1, impact: 2 },\r\n          setup: 'Open or enclosed system',\r\n          best: ['Visual prototypes', 'Display models', 'Fixtures with light loads', 'Decorative products'],\r\n          pros: ['Excellent dimensional accuracy', 'Wide range of finishes', 'Low warping', 'Good surface quality'],\r\n          limits: ['Low heat resistance', 'Not recommended for prolonged outdoor exposure', 'Can fracture under impact'],\r\n          requirements: ['Standard nozzle', 'Dry storage recommended', 'No enclosure normally required']\r\n        },\r\n        {\r\n          id: 'petg', code: 'PETG', name: 'Polyethylene Terephthalate Glycol', family: ['general'],\r\n          summary: 'A balanced material with good durability, chemical resistance and dependable functional performance.',\r\n          tags: ['Water resistant', 'Functional', 'Chemical resistant'],\r\n          scores: { printability: 4, strength: 3, stiffness: 3, heat: 2, impact: 3 },\r\n          setup: 'Open or enclosed system',\r\n          best: ['Functional prototypes', 'Containers and covers', 'Workshop components', 'Light-duty brackets'],\r\n          pros: ['Good layer adhesion', 'Better impact resistance than PLA', 'Low odor', 'Good moisture resistance'],\r\n          limits: ['Moderate heat resistance', 'Can string during printing', 'Less rigid than PLA or fiber-filled materials'],\r\n          requirements: ['Standard nozzle', 'Drying recommended for best finish', 'No enclosure normally required']\r\n        },\r\n        {\r\n          id: 'abs', code: 'ABS', name: 'Acrylonitrile Butadiene Styrene', family: ['engineering'],\r\n          summary: 'Durable engineering polymer for functional parts that require impact and temperature resistance.',\r\n          tags: ['Impact resistant', 'Heat resistant', 'Machinable'],\r\n          scores: { printability: 2, strength: 3, stiffness: 3, heat: 3, impact: 4 },\r\n          setup: 'Enclosed heated system',\r\n          best: ['Automotive interior parts', 'Functional housings', 'Brackets', 'Replacement components'],\r\n          pros: ['Good impact resistance', 'Can be sanded and finished', 'Useful heat performance', 'Reliable for functional parts'],\r\n          limits: ['Prone to warping without controlled temperature', 'Noticeable fumes', 'Limited long-term UV resistance'],\r\n          requirements: ['Enclosure required', 'Ventilation recommended', 'Drying recommended']\r\n        },\r\n        {\r\n          id: 'asa', code: 'ASA', name: 'Acrylonitrile Styrene Acrylate', family: ['outdoor', 'engineering'],\r\n          summary: 'Weather-resistant engineering material designed for outdoor, automotive and long-life applications.',\r\n          tags: ['UV resistant', 'Weather resistant', 'Automotive'],\r\n          scores: { printability: 2, strength: 3, stiffness: 3, heat: 4, impact: 4 },\r\n          setup: 'Enclosed heated system',\r\n          best: ['Exterior automotive trim', 'Outdoor housings', 'Air ducts', 'Weather-exposed parts'],\r\n          pros: ['Excellent UV stability', 'Good heat resistance', 'Good impact performance', 'Suitable for outdoor service'],\r\n          limits: ['Requires controlled chamber temperature', 'Fumes during printing', 'Can warp on large geometries'],\r\n          requirements: ['Enclosure required', 'Ventilation recommended', 'Drying recommended']\r\n        },\r\n        {\r\n          id: 'tpu', code: 'TPU', name: 'Thermoplastic Polyurethane', family: ['flexible'],\r\n          summary: 'Flexible, elastic and impact-absorbing material for protective parts, seals and vibration control.',\r\n          tags: ['Flexible', 'Shock absorbing', 'Wear resistant'],\r\n          scores: { printability: 3, strength: 3, stiffness: 1, heat: 2, impact: 5 },\r\n          setup: 'Controlled low-speed extrusion',\r\n          best: ['Gaskets', 'Protective covers', 'Flexible mounts', 'Anti-vibration components'],\r\n          pros: ['Excellent impact absorption', 'High flexibility', 'Good abrasion resistance', 'Useful for snap and grip features'],\r\n          limits: ['Slow production speed', 'Difficult bridging and support removal', 'Not suitable for rigid structures'],\r\n          requirements: ['Direct-drive extrusion preferred', 'Drying strongly recommended', 'Low and controlled print speed']\r\n        },\r\n        {\r\n          id: 'pc', code: 'PC', name: 'Polycarbonate', family: ['engineering'],\r\n          summary: 'High-strength thermoplastic for demanding functional components, structural prototypes and heat exposure.',\r\n          tags: ['High strength', 'Heat resistant', 'Structural'],\r\n          scores: { printability: 2, strength: 5, stiffness: 4, heat: 4, impact: 4 },\r\n          setup: 'High-temperature enclosed system',\r\n          best: ['Load-bearing prototypes', 'Protective housings', 'Machine components', 'High-temperature fixtures'],\r\n          pros: ['High mechanical strength', 'Strong impact performance', 'Good temperature resistance', 'Dimensional stability when processed correctly'],\r\n          limits: ['Moisture sensitive', 'Prone to warping', 'Requires high processing temperatures'],\r\n          requirements: ['Enclosure required', 'Thorough drying required', 'High-temperature build surface']\r\n        },\r\n        {\r\n          id: 'abs-gf', code: 'ABS-GF', name: 'Glass-Fiber Reinforced ABS', family: ['engineering', 'fiber'],\r\n          summary: 'Rigid, dimensionally stable ABS composite for accurate functional parts and production tooling.',\r\n          tags: ['Glass fiber', 'Rigid', 'Dimensionally stable'],\r\n          scores: { printability: 2, strength: 4, stiffness: 5, heat: 4, impact: 2 },\r\n          setup: 'Enclosed system + wear-resistant nozzle',\r\n          best: ['Jigs and fixtures', 'Automotive brackets', 'Rigid housings', 'Dimensional prototypes'],\r\n          pros: ['High stiffness', 'Reduced shrinkage compared with standard ABS', 'Good dimensional stability', 'Professional matte finish'],\r\n          limits: ['Lower impact flexibility than standard ABS', 'Abrasive to standard nozzles', 'Visible layer texture may increase'],\r\n          requirements: ['Hardened nozzle required', 'Enclosure required', 'Drying recommended']\r\n        },\r\n        {\r\n          id: 'abs-cf', code: 'ABS-CF', name: 'Carbon-Fiber Reinforced ABS', family: ['engineering', 'fiber'],\r\n          summary: 'Lightweight and rigid carbon-fiber composite for technical parts with improved dimensional control.',\r\n          tags: ['Carbon fiber', 'Lightweight', 'Technical'],\r\n          scores: { printability: 2, strength: 4, stiffness: 5, heat: 4, impact: 2 },\r\n          setup: 'Enclosed system + wear-resistant nozzle',\r\n          best: ['Technical covers', 'Automotive accessories', 'Rigid brackets', 'Functional prototypes'],\r\n          pros: ['High stiffness-to-weight ratio', 'Reduced warping', 'Good heat performance', 'Premium technical appearance'],\r\n          limits: ['More brittle than unfilled ABS', 'Abrasive material', 'Not ideal for repeated flexing'],\r\n          requirements: ['Hardened nozzle required', 'Enclosure required', 'Drying recommended']\r\n        },\r\n        {\r\n          id: 'pa-cf', code: 'PA-CF', name: 'Carbon-Fiber Reinforced Nylon', family: ['engineering', 'fiber'],\r\n          summary: 'High-performance composite for strong, lightweight parts exposed to load, vibration and temperature.',\r\n          tags: ['High performance', 'Vibration resistant', 'Automotive'],\r\n          scores: { printability: 1, strength: 5, stiffness: 5, heat: 5, impact: 4 },\r\n          setup: 'High-temperature enclosed system',\r\n          best: ['Automotive ducts and brackets', 'Machine components', 'Structural prototypes', 'Production tooling'],\r\n          pros: ['Excellent strength-to-weight ratio', 'High thermal capability', 'Good vibration performance', 'High rigidity'],\r\n          limits: ['Strongly moisture sensitive', 'Abrasive material', 'Properties depend heavily on conditioning and orientation'],\r\n          requirements: ['Hardened nozzle required', 'Thorough drying required', 'Enclosure strongly recommended']\r\n        },\r\n        {\r\n          id: 'pa-gf', code: 'PA-GF', name: 'Glass-Fiber Reinforced Nylon', family: ['engineering', 'fiber'],\r\n          summary: 'Strong, stable nylon composite for industrial components that require rigidity and dimensional accuracy.',\r\n          tags: ['Glass fiber', 'Industrial', 'Stable'],\r\n          scores: { printability: 1, strength: 5, stiffness: 5, heat: 5, impact: 3 },\r\n          setup: 'High-temperature enclosed system',\r\n          best: ['Industrial housings', 'Rigid tooling', 'Automotive components', 'Machine brackets'],\r\n          pros: ['High stiffness', 'Good thermal resistance', 'Strong dimensional stability', 'Suitable for demanding parts'],\r\n          limits: ['Moisture sensitive', 'Abrasive to nozzles', 'Can be less impact-tolerant than unfilled nylon'],\r\n          requirements: ['Hardened nozzle required', 'Thorough drying required', 'Enclosure strongly recommended']\r\n        },\r\n        {\r\n          id: 'pet-cf', code: 'PET-CF', name: 'Carbon-Fiber Reinforced PET', family: ['engineering', 'fiber'],\r\n          summary: 'A dimensionally stable carbon-fiber composite with low moisture sensitivity and high rigidity.',\r\n          tags: ['Stable', 'Low moisture uptake', 'High rigidity'],\r\n          scores: { printability: 2, strength: 5, stiffness: 5, heat: 5, impact: 3 },\r\n          setup: 'High-temperature enclosed system',\r\n          best: ['Precision fixtures', 'Structural brackets', 'Machine components', 'Heat-exposed prototypes'],\r\n          pros: ['Excellent dimensional stability', 'High stiffness', 'Lower moisture sensitivity than many nylons', 'Good thermal performance'],\r\n          limits: ['Abrasive material', 'Requires high processing temperature', 'Not intended for flexible features'],\r\n          requirements: ['Hardened nozzle required', 'Drying required', 'Enclosure recommended']\r\n        },\r\n        {\r\n          id: 'ppa-cf', code: 'PPA-CF', name: 'Carbon-Fiber Reinforced PPA', family: ['engineering', 'fiber'],\r\n          summary: 'Ultra-high-performance composite for severe thermal, mechanical and dimensional requirements.',\r\n          tags: ['Ultra performance', 'High temperature', 'Industrial'],\r\n          scores: { printability: 1, strength: 5, stiffness: 5, heat: 5, impact: 4 },\r\n          setup: 'Advanced high-temperature system',\r\n          best: ['High-temperature automotive parts', 'Industrial tooling', 'Structural components', 'Demanding machine parts'],\r\n          pros: ['Very high stiffness and strength', 'Excellent thermal capability', 'Strong dimensional stability', 'Suitable for severe environments'],\r\n          limits: ['Advanced processing requirements', 'High material cost', 'Abrasive and moisture sensitive'],\r\n          requirements: ['Hardened nozzle required', 'Intensive drying required', 'High-temperature enclosure required']\r\n        },\r\n        {\r\n          id: 'pps-cf', code: 'PPS-CF', name: 'Carbon-Fiber Reinforced PPS', family: ['engineering', 'fiber'],\r\n          summary: 'Specialty composite for chemical exposure, extreme temperature and highly demanding industrial use.',\r\n          tags: ['Chemical resistant', 'Extreme heat', 'Specialty'],\r\n          scores: { printability: 1, strength: 5, stiffness: 5, heat: 5, impact: 3 },\r\n          setup: 'Specialized high-temperature system',\r\n          best: ['Chemical-resistant components', 'High-temperature tooling', 'Industrial electrical parts', 'Specialized automotive applications'],\r\n          pros: ['Exceptional chemical resistance', 'Very high thermal stability', 'High stiffness', 'Low moisture absorption'],\r\n          limits: ['Specialized manufacturing conditions', 'High cost', 'Not necessary for ordinary applications'],\r\n          requirements: ['Hardened nozzle required', 'High-temperature chamber required', 'Strict drying and process control']\r\n        }\r\n      ];\r\n\r\n      const propertyLabels = {\r\n        printability: 'Printability', strength: 'Strength', stiffness: 'Stiffness', heat: 'Heat', impact: 'Impact'\r\n      };\r\n\r\n      const grid = root.querySelector('#bc-material-grid');\r\n      const search = root.querySelector('#bc-material-search');\r\n      const filters = [...root.querySelectorAll('.bc-filter')];\r\n      const count = root.querySelector('#bc-material-count');\r\n      const empty = root.querySelector('#bc-empty');\r\n      const dock = root.querySelector('#bc-compare-dock');\r\n      const selectedList = root.querySelector('#bc-selected-list');\r\n      const clearCompare = root.querySelector('#bc-clear-compare');\r\n      const openCompare = root.querySelector('#bc-open-compare');\r\n      const modal = root.querySelector('#bc-material-modal');\r\n      const modalTitle = root.querySelector('#bc-modal-title');\r\n      const modalBody = root.querySelector('#bc-modal-body');\r\n      const modalClose = root.querySelector('.bc-modal-close');\r\n\r\n      let activeFilter = 'all';\r\n      const selected = new Set();\r\n\r\n      const escapeHtml = (value) => String(value).replace(\/[&<>'\"]\/g, (char) => ({\r\n        '&': '&amp;', '<': '&lt;', '>': '&gt;', \"'\": '&#039;', '\"': '&quot;'\r\n      }[char]));\r\n\r\n      const scoreBars = (score, mini = false) => {\r\n        const tag = mini ? 'i' : 'span';\r\n        const cls = mini ? 'bc-mini-score' : 'bc-bar';\r\n        return `<span class=\"${cls}\" aria-label=\"${score} out of 5\">${[1,2,3,4,5].map(n => `<${tag} class=\"${n <= score ? 'is-filled' : ''}\"><\/${tag}>`).join('')}<\/span>`;\r\n      };\r\n\r\n      const renderCards = () => {\r\n        const query = search.value.trim().toLowerCase();\r\n        const visible = materials.filter(material => {\r\n          const familyMatch = activeFilter === 'all' || material.family.includes(activeFilter);\r\n          const haystack = [material.code, material.name, material.summary, ...material.tags, ...material.best].join(' ').toLowerCase();\r\n          return familyMatch && (!query || haystack.includes(query));\r\n        });\r\n\r\n        grid.innerHTML = visible.map(material => `\r\n          <article class=\"bc-material-card\" data-id=\"${material.id}\">\r\n            <div class=\"bc-card-top\">\r\n              <span class=\"bc-code\">${escapeHtml(material.code)}<\/span>\r\n              <label class=\"bc-compare-label\">\r\n                <input class=\"bc-compare-checkbox\" type=\"checkbox\" data-compare=\"${material.id}\" ${selected.has(material.id) ? 'checked' : ''}>\r\n                Compare\r\n              <\/label>\r\n            <\/div>\r\n            <h4 class=\"bc-card-title\">${escapeHtml(material.name)}<\/h4>\r\n            <p class=\"bc-card-summary\">${escapeHtml(material.summary)}<\/p>\r\n            <div class=\"bc-tags\">${material.tags.map(tag => `<span class=\"bc-tag\">${escapeHtml(tag)}<\/span>`).join('')}<\/div>\r\n            <div class=\"bc-property-list\">\r\n              ${Object.entries(material.scores).map(([key, value]) => `\r\n                <div class=\"bc-property-row\">\r\n                  <span class=\"bc-property-name\">${propertyLabels[key]}<\/span>\r\n                  ${scoreBars(value)}\r\n                  <span class=\"bc-score\">${value}\/5<\/span>\r\n                <\/div>\r\n              `).join('')}\r\n            <\/div>\r\n            <div class=\"bc-card-footer\">\r\n              <span class=\"bc-requirement\">${escapeHtml(material.setup)}<\/span>\r\n              <button class=\"bc-card-button\" type=\"button\" data-details=\"${material.id}\">Details \u2192<\/button>\r\n            <\/div>\r\n          <\/article>\r\n        `).join('');\r\n\r\n        count.textContent = `${visible.length} material${visible.length === 1 ? '' : 's'} shown`;\r\n        empty.style.display = visible.length ? 'none' : 'block';\r\n      };\r\n\r\n      const updateDock = () => {\r\n        const chosen = materials.filter(material => selected.has(material.id));\r\n        dock.classList.toggle('is-visible', chosen.length > 0);\r\n        selectedList.innerHTML = chosen.map(material => `<span class=\"bc-selected-chip\">${escapeHtml(material.code)}<\/span>`).join('');\r\n        openCompare.textContent = `Compare ${chosen.length}`;\r\n        openCompare.disabled = chosen.length < 2;\r\n        openCompare.style.opacity = chosen.length < 2 ? '0.5' : '1';\r\n        openCompare.style.cursor = chosen.length < 2 ? 'not-allowed' : 'pointer';\r\n      };\r\n\r\n      const openDetails = (id) => {\r\n        const material = materials.find(item => item.id === id);\r\n        if (!material) return;\r\n        modalTitle.textContent = `${material.code} \u2014 ${material.name}`;\r\n        modalBody.innerHTML = `\r\n          <div class=\"bc-detail-grid\">\r\n            <div class=\"bc-detail-panel\">\r\n              <h4>Material overview<\/h4>\r\n              <p>${escapeHtml(material.summary)}<\/p>\r\n              <div class=\"bc-property-list\">\r\n                ${Object.entries(material.scores).map(([key, value]) => `\r\n                  <div class=\"bc-property-row\">\r\n                    <span class=\"bc-property-name\">${propertyLabels[key]}<\/span>\r\n                    ${scoreBars(value)}\r\n                    <span class=\"bc-score\">${value}\/5<\/span>\r\n                  <\/div>\r\n                `).join('')}\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"bc-detail-panel\">\r\n              <h4>Recommended applications<\/h4>\r\n              <ul>${material.best.map(item => `<li>${escapeHtml(item)}<\/li>`).join('')}<\/ul>\r\n            <\/div>\r\n            <div class=\"bc-detail-panel\">\r\n              <h4>Advantages<\/h4>\r\n              <ul>${material.pros.map(item => `<li>${escapeHtml(item)}<\/li>`).join('')}<\/ul>\r\n            <\/div>\r\n            <div class=\"bc-detail-panel\">\r\n              <h4>Limitations<\/h4>\r\n              <ul>${material.limits.map(item => `<li>${escapeHtml(item)}<\/li>`).join('')}<\/ul>\r\n            <\/div>\r\n            <div class=\"bc-detail-panel\" style=\"grid-column:1\/-1\">\r\n              <h4>Manufacturing requirements<\/h4>\r\n              <ul>${material.requirements.map(item => `<li>${escapeHtml(item)}<\/li>`).join('')}<\/ul>\r\n            <\/div>\r\n          <\/div>\r\n        `;\r\n        modal.classList.add('is-open');\r\n        document.documentElement.style.overflow = 'hidden';\r\n        modalClose.focus();\r\n      };\r\n\r\n      const openComparison = () => {\r\n        const chosen = materials.filter(material => selected.has(material.id));\r\n        if (chosen.length < 2) return;\r\n        const rows = [\r\n          ['Material', ...chosen.map(m => `<strong>${escapeHtml(m.code)}<\/strong><br>${escapeHtml(m.name)}`)],\r\n          ...Object.keys(propertyLabels).map(key => [propertyLabels[key], ...chosen.map(m => scoreBars(m.scores[key], true))]),\r\n          ['Manufacturing setup', ...chosen.map(m => escapeHtml(m.setup))],\r\n          ['Best suited for', ...chosen.map(m => escapeHtml(m.best.slice(0, 3).join(', ')))],\r\n          ['Primary limitation', ...chosen.map(m => escapeHtml(m.limits[0]))]\r\n        ];\r\n\r\n        modalTitle.textContent = 'Material comparison';\r\n        modalBody.innerHTML = `\r\n          <div class=\"bc-comparison-wrap\">\r\n            <table class=\"bc-comparison-table\">\r\n              <thead><tr>${rows[0].map((cell, index) => `<th>${index === 0 ? 'Property' : cell}<\/th>`).join('')}<\/tr><\/thead>\r\n              <tbody>${rows.slice(1).map(row => `<tr>${row.map((cell, index) => `<${index === 0 ? 'th' : 'td'}>${cell}<\/${index === 0 ? 'th' : 'td'}>`).join('')}<\/tr>`).join('')}<\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        `;\r\n        modal.classList.add('is-open');\r\n        document.documentElement.style.overflow = 'hidden';\r\n        modalClose.focus();\r\n      };\r\n\r\n      const closeModal = () => {\r\n        modal.classList.remove('is-open');\r\n        document.documentElement.style.overflow = '';\r\n      };\r\n\r\n      filters.forEach(button => button.addEventListener('click', () => {\r\n        activeFilter = button.dataset.filter;\r\n        filters.forEach(item => item.classList.toggle('is-active', item === button));\r\n        renderCards();\r\n      }));\r\n\r\n      search.addEventListener('input', renderCards);\r\n\r\n      grid.addEventListener('click', (event) => {\r\n        const detailButton = event.target.closest('[data-details]');\r\n        if (detailButton) openDetails(detailButton.dataset.details);\r\n      });\r\n\r\n      grid.addEventListener('change', (event) => {\r\n        const checkbox = event.target.closest('[data-compare]');\r\n        if (!checkbox) return;\r\n        const id = checkbox.dataset.compare;\r\n        if (checkbox.checked && selected.size >= 4) {\r\n          checkbox.checked = false;\r\n          window.alert('You can compare up to four materials at a time.');\r\n          return;\r\n        }\r\n        checkbox.checked ? selected.add(id) : selected.delete(id);\r\n        updateDock();\r\n      });\r\n\r\n      clearCompare.addEventListener('click', () => {\r\n        selected.clear();\r\n        renderCards();\r\n        updateDock();\r\n      });\r\n\r\n      openCompare.addEventListener('click', openComparison);\r\n      modalClose.addEventListener('click', closeModal);\r\n      modal.addEventListener('click', (event) => {\r\n        if (event.target === modal) closeModal();\r\n      });\r\n      document.addEventListener('keydown', (event) => {\r\n        if (event.key === 'Escape' && modal.classList.contains('is-open')) closeModal();\r\n      });\r\n\r\n      renderCards();\r\n      updateDock();\r\n    })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Engineering Material Database Choose the right material for every application. Compare our most commonly used 3D-printing materials by strength, stiffness, heat resistance, impact performance and manufacturing requirements. Material selection support Functional prototyping Low-volume production Search materials All materials General use Outdoor Flexible Engineering Fiber reinforced Material selection guide No materials match your search. Performance scores [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"unboxed","site-sidebar-style":"unboxed","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-7544","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"trp-custom-language-flag":false,"woocommerce_thumbnail":false,"woocommerce_single":false,"woocommerce_gallery_thumbnail":false},"uagb_author_info":{"display_name":"admin","author_link":"https:\/\/bobcut3d.gr\/el\/author\/chatesoglou_fkco26zw\/"},"uagb_comment_info":0,"uagb_excerpt":"Engineering Material Database Choose the right material for every application. Compare our most commonly used 3D-printing materials by strength, stiffness, heat resistance, impact performance and manufacturing requirements. Material selection support Functional prototyping Low-volume production Search materials All materials General use Outdoor Flexible Engineering Fiber reinforced Material selection guide No materials match your search. Performance scores&hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bobcut3d.gr\/el\/wp-json\/wp\/v2\/pages\/7544","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bobcut3d.gr\/el\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bobcut3d.gr\/el\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bobcut3d.gr\/el\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bobcut3d.gr\/el\/wp-json\/wp\/v2\/comments?post=7544"}],"version-history":[{"count":15,"href":"https:\/\/bobcut3d.gr\/el\/wp-json\/wp\/v2\/pages\/7544\/revisions"}],"predecessor-version":[{"id":7767,"href":"https:\/\/bobcut3d.gr\/el\/wp-json\/wp\/v2\/pages\/7544\/revisions\/7767"}],"wp:attachment":[{"href":"https:\/\/bobcut3d.gr\/el\/wp-json\/wp\/v2\/media?parent=7544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}