// Boolland brand artwork — embedded from the official SVG files.
// All paths use currentColor so the logo can be themed via CSS.

const MARK_PATH = "M106.882 0C124.62 0.000206159 139 14.3799 139 32.1182V106.882C139 124.62 124.62 139 106.882 139H32.1182C14.3799 139 0.000206171 124.62 0 106.882V32.1182C0.000226775 14.3799 14.3799 0.000202049 32.1182 0H106.882ZM31.0234 113.148H58.8594V31.2031H31.0234V113.148ZM66.1338 112.789H93.9697L107.917 84.8926H80.0811L66.1338 112.789ZM80.0811 77.7979H107.917L93.9697 49.9619H66.1338L80.0811 77.7979Z";

// Wordmark "boolland" — letter paths from the official full-logo SVG.
// Original viewBox was 0..1051, wordmark occupies x = 249.564..1050.98 (width ≈ 801).
// We use a cropped viewBox to render just the wordmark.
const WORDMARK_PATHS = [
  "M307.401 138.938C300.367 138.938 293.813 137.616 287.861 135.091C281.849 132.505 277.04 128.718 273.372 123.668L276.017 117.836V138.998H249.564V0.0585938H277.941V53.2056L273.613 47.5543C277.04 42.3839 281.669 38.3558 287.501 35.5301C293.332 32.7044 300.066 31.2615 307.641 31.2615C317.501 31.2615 326.339 33.6663 334.275 38.4159C342.211 43.2255 348.524 49.6585 353.153 57.7749C357.842 65.8912 360.127 75.0296 360.127 85.0699C360.127 95.1101 357.842 104.128 353.213 112.305C348.584 120.481 342.331 126.974 334.395 131.784C326.459 136.594 317.441 138.938 307.341 138.938H307.401ZM303.974 113.387C309.264 113.387 313.954 112.184 317.982 109.78C322.01 107.375 325.136 104.068 327.421 99.7394C329.706 95.4708 330.848 90.5409 330.848 85.0097C330.848 79.4786 329.706 74.6088 327.421 70.3402C325.136 66.1317 322.01 62.7649 317.982 60.2999C313.954 57.835 309.264 56.6325 303.974 56.6325C298.683 56.6325 294.414 57.835 290.446 60.2398C286.479 62.6447 283.412 65.9513 281.188 70.2801C278.963 74.5487 277.881 79.4786 277.881 85.0097C277.881 90.5409 278.963 95.4708 281.188 99.7394C283.412 104.008 286.479 107.375 290.446 109.78C294.414 112.184 298.924 113.387 303.974 113.387Z",
  "M428.005 138.94C417.785 138.94 408.526 136.595 400.109 131.966C391.752 127.276 385.019 120.903 380.089 112.787C375.099 104.671 372.634 95.412 372.634 85.0712C372.634 74.7303 375.099 65.3514 380.089 57.2952C385.079 49.239 391.752 42.8661 400.109 38.1767C408.466 33.4872 417.785 31.2026 428.005 31.2026C438.226 31.2026 447.484 33.5473 455.781 38.1767C464.078 42.8661 470.751 49.1788 475.741 57.2952C480.731 65.3514 483.196 74.6101 483.196 85.0712C483.196 95.5322 480.731 104.611 475.741 112.787C470.751 120.903 464.138 127.336 455.781 131.966C447.484 136.655 438.226 138.94 428.005 138.94ZM428.005 113.388C433.176 113.388 437.685 112.186 441.532 109.781C445.38 107.376 448.386 104.069 450.611 99.7407C452.835 95.4721 453.917 90.5422 453.917 85.011C453.917 79.4799 452.835 74.6101 450.611 70.3415C448.386 66.133 445.38 62.7662 441.532 60.3012C437.685 57.8363 433.176 56.6338 428.005 56.6338C422.835 56.6338 418.326 57.8363 414.418 60.3012C410.51 62.7662 407.444 66.0729 405.219 70.3415C402.995 74.55 401.913 79.4198 401.913 85.011C401.913 90.6023 402.995 95.4721 405.219 99.7407C407.444 104.009 410.51 107.376 414.418 109.781C418.326 112.186 422.835 113.388 428.005 113.388Z",
  "M551.071 138.94C540.851 138.94 531.592 136.595 523.175 131.966C514.818 127.276 508.085 120.903 503.155 112.787C498.165 104.671 495.7 95.412 495.7 85.0712C495.7 74.7303 498.165 65.3514 503.155 57.2952C508.145 49.239 514.818 42.8661 523.175 38.1767C531.532 33.4872 540.851 31.2026 551.071 31.2026C561.292 31.2026 570.551 33.5473 578.847 38.1767C587.144 42.8661 593.817 49.1788 598.807 57.2952C603.798 65.3514 606.262 74.6101 606.262 85.0712C606.262 95.5322 603.798 104.611 598.807 112.787C593.817 120.903 587.204 127.336 578.847 131.966C570.551 136.655 561.292 138.94 551.071 138.94ZM551.071 113.388C556.242 113.388 560.751 112.186 564.599 109.781C568.446 107.376 571.452 104.069 573.677 99.7407C575.901 95.4721 576.983 90.5422 576.983 85.011C576.983 79.4799 575.901 74.6101 573.677 70.3415C571.452 66.133 568.446 62.7662 564.599 60.3012C560.751 57.8363 556.242 56.6338 551.071 56.6338C545.901 56.6338 541.392 57.8363 537.484 60.3012C533.576 62.7662 530.51 66.0729 528.285 70.3415C526.061 74.55 524.979 79.4198 524.979 85.011C524.979 90.6023 526.061 95.4721 528.285 99.7407C530.51 104.009 533.576 107.376 537.484 109.781C541.392 112.186 545.901 113.388 551.071 113.388Z",
  "M622.917 138.94V0H651.294V138.94H622.917Z",
  "M672.036 138.94V0H700.413V138.94H672.036Z",
  "M753.139 138.941C745.684 138.941 739.251 137.738 733.84 135.333C728.429 132.929 724.281 129.502 721.335 125.053C718.449 120.604 717.006 115.253 717.006 109.061C717.006 103.289 718.329 98.1185 720.974 93.6695C723.619 89.2206 727.708 85.4329 733.179 82.4269C738.65 79.4208 745.503 77.2564 753.68 75.9939L785.244 70.8836V91.6855L758.79 96.4351C754.762 97.2167 751.696 98.4792 749.532 100.283C747.367 102.086 746.345 104.732 746.345 108.099C746.345 111.225 747.548 113.69 749.952 115.494C752.357 117.237 755.303 118.139 758.85 118.139C763.54 118.139 767.628 117.117 771.115 115.133C774.662 113.149 777.368 110.383 779.352 106.896C781.276 103.409 782.298 99.6215 782.298 95.4732V68.599C782.298 64.6912 780.734 61.4446 777.668 58.7392C774.602 56.0938 770.394 54.7712 765.103 54.7712C759.812 54.7712 755.604 56.154 751.756 58.9195C747.908 61.6851 745.083 65.3525 743.339 69.8616L720.673 59.0999C722.657 53.3283 725.904 48.3382 730.293 44.1898C734.682 40.0415 739.972 36.7949 746.165 34.5705C752.357 32.2859 759.091 31.1436 766.365 31.1436C775.083 31.1436 782.718 32.7067 789.452 35.8931C796.125 39.0194 801.356 43.4083 805.023 49.0597C808.751 54.6509 810.615 61.2041 810.615 68.599V138.941H784.161V120.063L790.594 118.92C787.588 123.429 784.221 127.217 780.554 130.163C776.887 133.109 772.798 135.333 768.289 136.776C763.78 138.219 758.73 138.941 753.139 138.941Z",
  "M831.417 138.94V31.2026H857.87V53.8683L856.367 49.3592C858.772 43.1667 862.619 38.5975 867.97 35.6516C873.321 32.7057 879.574 31.2026 886.788 31.2026C894.604 31.2026 901.458 32.8259 907.289 36.1326C913.121 39.4392 917.69 43.9483 920.997 49.8402C924.244 55.6719 925.927 62.5258 925.927 70.3415V138.94H897.55V76.3536C897.55 72.3255 896.768 68.8385 895.205 65.9526C893.642 63.0668 891.417 60.7822 888.592 59.159C885.766 57.5357 882.459 56.694 878.672 56.694C874.884 56.694 871.758 57.5357 868.812 59.159C865.926 60.7822 863.702 63.0668 862.078 65.9526C860.515 68.8385 859.734 72.3255 859.734 76.3536V138.94H831.356H831.417Z",
  "M993.202 138.938C983.102 138.938 974.083 136.534 966.147 131.784C958.211 126.974 951.959 120.481 947.329 112.305C942.7 104.128 940.416 95.05 940.416 85.0699C940.416 75.0897 942.76 65.8912 947.39 57.7749C952.019 49.6585 958.332 43.1654 966.268 38.4159C974.204 33.6062 983.101 31.2615 992.901 31.2615C1000.48 31.2615 1007.15 32.7044 1013.04 35.5301C1018.93 38.3558 1023.56 42.3839 1026.93 47.5543L1022.6 53.2056V0.0585938H1050.98V138.998H1024.52V117.836L1027.17 123.668C1023.62 128.718 1018.87 132.505 1012.8 135.091C1006.73 137.676 1000.18 138.938 993.142 138.938H993.202ZM996.629 113.387C1001.8 113.387 1006.31 112.184 1010.22 109.78C1014.12 107.375 1017.19 104.068 1019.35 99.7394C1021.58 95.4708 1022.66 90.5409 1022.66 85.0097C1022.66 79.4786 1021.58 74.5487 1019.35 70.2801C1017.13 66.0115 1014.06 62.6447 1010.22 60.2398C1006.31 57.835 1001.8 56.6325 996.629 56.6325C991.458 56.6325 986.829 57.835 982.741 60.2999C978.652 62.7649 975.466 66.0716 973.181 70.3402C970.897 74.5487 969.754 79.4185 969.754 85.0097C969.754 90.601 970.897 95.4708 973.181 99.7394C975.466 104.008 978.652 107.375 982.741 109.78C986.829 112.184 991.458 113.387 996.629 113.387Z",
];

// The icon mark only — square aspect.
// The path includes the rounded-square outline AND the interior cutouts
// (vertical bar + two diagonal parallelograms). Cutouts are transparent,
// so the surrounding background shows through them.
const Mark = ({ size = 80, color = '#000945', style = {} }) => (
  <svg width={size} height={size} viewBox="0 0 139 139" fill="currentColor" style={{ color, display: 'block', ...style }} aria-label="Boolland mark">
    <path d={MARK_PATH}/>
  </svg>
);

// Wordmark "boolland" only — using cropped viewBox over the original artwork.
const Wordmark = ({ height = 28, color = '#000945', style = {} }) => (
  <svg height={height} viewBox="249.564 0 801.42 139" fill="currentColor" style={{ color, display: 'block', ...style }} aria-label="boolland">
    {WORDMARK_PATHS.map((d, i) => <path key={i} d={d}/>)}
  </svg>
);

// Full lockup: icon + wordmark together. Pass `height` (full height of the lockup);
// the icon and wordmark are scaled together so it always matches the original
// 1051 × 139 proportion.
const Lockup = ({ height = 40, color = '#000945', style = {} }) => (
  <svg height={height} viewBox="0 0 1051 139" fill="currentColor" style={{ color, display: 'block', ...style }} aria-label="Boolland">
    <path d={MARK_PATH}/>
    {WORDMARK_PATHS.map((d, i) => <path key={i} d={d}/>)}
  </svg>
);

Object.assign(window, { Mark, Wordmark, Lockup, MARK_PATH, WORDMARK_PATHS });
