.hkb { --kit-ink:#191321; --kit-purple:#6d268b; --kit-pink:#c92488; --kit-line:#e6e1e9; --kit-muted:#675e70; color:var(--kit-ink); background:#fff; }
.hkb *, .hkb *::before, .hkb *::after { box-sizing:border-box; }
.hkb [hidden] { display:none !important; }
.hkb button, .hkb input, .hkb textarea { font:inherit; }
.hkb button { cursor:pointer; }
.hkb button:disabled { cursor:not-allowed; opacity:.45; }
.hkb a:focus-visible, .hkb button:focus-visible, .hkb input:focus-visible, .hkb textarea:focus-visible { outline:3px solid #087d98; outline-offset:3px; }
.hkb-hero { padding:48px 0 42px; background:#f5f0f7; border-bottom:1px solid var(--kit-line); }
.hkb-back { color:var(--kit-purple); font-size:14px; display:inline-block; margin-bottom:28px; }
.hkb-eyebrow { text-transform:uppercase; letter-spacing:.12em; font-size:12px; font-weight:800; margin:0 0 12px; color:var(--kit-purple); }
.hkb h1 { color:var(--kit-ink); font-size:clamp(38px,5vw,68px); line-height:1.03; margin:0 0 22px; letter-spacing:-.035em; }
.hkb h1 span { color:var(--kit-purple); }
.hkb-hero > .container > p:not(.hkb-eyebrow) { max-width:680px; font-size:18px; line-height:1.7; margin-bottom:24px; }
.hkb-button { border:1px solid var(--kit-purple); background:var(--kit-purple); color:#fff; padding:13px 20px; min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:12px; border-radius:8px; font-weight:700; text-align:center; text-decoration:none; line-height:1.35; }
.hkb-button:hover { background:#51156a; color:#fff; }
.hkb-button--outline { background:white; color:var(--kit-purple); }
.hkb-steps { list-style:none; display:flex; flex-wrap:wrap; gap:28px; margin:32px 0 0; padding:0; }
.hkb-steps li { display:flex; align-items:center; gap:10px; font-weight:600; }
.hkb-steps b { display:grid; place-items:center; width:30px; height:30px; background:#fff; border:1px solid #cbb9d7; border-radius:50%; color:var(--kit-purple); }
.hkb-workspace { padding-top:30px; padding-bottom:40px; scroll-margin-top:90px; }
.hkb-summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px; background:#f9f7fa; border:1px solid var(--kit-line); border-radius:12px; margin-bottom:28px; }
.hkb-summary h2 { font-size:25px; margin:0 0 5px; }
.hkb-summary p { margin:0; color:var(--kit-muted); }
.hkb-summary__action { display:flex; align-items:center; gap:20px; }
.hkb-summary__action strong { font-size:22px; white-space:nowrap; }
.hkb-summary__action small { display:block; font-size:12px; font-weight:400; }
.hkb-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:28px; align-items:start; }
.hkb-tabs { display:flex; gap:8px; overflow-x:auto; padding:2px 2px 14px; scrollbar-width:thin; }
.hkb-tab { flex-shrink:0; padding:12px 16px; border:1px solid var(--kit-line); background:#fff; border-radius:8px; font-weight:700; color:var(--kit-ink); }
.hkb-tab[aria-selected=true] { background:var(--kit-purple); border-color:var(--kit-purple); color:#fff; }
.hkb-search { display:flex; gap:10px; margin:6px 0 16px; }
.hkb-search input { flex:1; min-width:0; border:1px solid #d7cddd; padding:12px; border-radius:8px; }
.hkb-status { color:var(--kit-muted); font-size:14px; min-height:22px; }
.hkb-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 16px; }
.hkb-card { min-width:0; }
.hkb-card__image { display:block; width:100%; border:0; border-radius:10px; background:#f3f2ef; overflow:hidden; padding:15px; aspect-ratio:4/5; }
.hkb-card__image img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.hkb-card h3 { font-size:15px; line-height:1.35; margin:12px 0 7px; }
.hkb-card__bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.hkb-card__bottom p { font-size:13px; margin:0; }
.hkb-card__bottom strong { font-size:17px; }
.hkb-card__add { background:#f4f0f6; border:1px solid #d8ccdf; padding:8px 14px; border-radius:20px; font-weight:700; color:var(--kit-ink); min-height:40px; }
.hkb-card__add.is-added { background:#ede4f3; color:#51156a; border-color:#b695c7; }
.hkb-card-swatches { display:flex; gap:7px; align-items:center; margin-top:12px; }
.hkb-card-swatches button { width:20px; height:20px; padding:0; border:1px solid #999; border-radius:50%; }
.hkb-card-swatches button[aria-pressed=true] { outline:2px solid #332439; outline-offset:2px; }
.hkb-card-swatches span { font-size:12px; }
.hkb-pagination { display:flex; justify-content:center; align-items:center; gap:16px; margin:30px 0; }
.hkb-basket { position:sticky; top:110px; border:1px solid var(--kit-line); border-radius:12px; padding:22px; background:#fff; }
.hkb-basket h2 { font-size:23px; line-height:1.2; margin:0 0 18px; }
.hkb-basket .hkb-button { width:100%; }
.hkb-basket__totals { border-top:1px solid var(--kit-line); padding:16px 0 8px; display:flex; flex-direction:column; gap:5px; }
.hkb-muted { color:var(--kit-muted); font-size:13px; line-height:1.6; }
.hkb-kit-line { border-top:1px solid var(--kit-line); padding:14px 0; display:grid; grid-template-columns:46px minmax(0,1fr); gap:10px; }
.hkb-kit-line img { width:46px; height:60px; object-fit:contain; background:#f5f3f6; }
.hkb-kit-line strong { font-size:14px; line-height:1.35; display:block; }
.hkb-kit-line p { font-size:12px; color:var(--kit-muted); margin:4px 0; }
.hkb-kit-line button { background:none; border:0; text-decoration:underline; color:var(--kit-purple); padding:5px 8px 5px 0; min-height:32px; font-size:13px; }
.hkb-help { padding-top:40px; padding-bottom:60px; border-top:1px solid var(--kit-line); }
.hkb-help h2 { font-size:32px; margin-bottom:25px; }
.hkb-help > div { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-bottom:24px; }
.hkb-help h3 { font-size:20px; margin-bottom:12px; }
.hkb-help p { color:var(--kit-muted); line-height:1.7; }
.hkb-help a { color:var(--kit-purple); text-decoration:underline; font-weight:700; }
.hkb-dialog { padding:0; border:0; border-radius:18px; width:min(1000px,calc(100vw - 40px)); max-height:90dvh; color:var(--kit-ink); background:#fff; overflow:auto; box-shadow:0 25px 100px #0005; }
.hkb-dialog::backdrop { background:rgba(15,9,22,.55); }
.hkb-dialog__loading { padding:65px 30px; text-align:center; }
.hkb-dialog__header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:24px 28px; }
.hkb-dialog__header h2 { font-size:21px; line-height:1.3; margin:0 0 8px; }
.hkb-dialog__header p { margin:0; }
.hkb-close { border:0; border-radius:50%; width:40px; height:40px; min-width:40px; font-size:27px !important; line-height:1; background:#f2eef4; color:var(--kit-ink); display:grid; place-items:center; }
.hkb-loading-close { position:absolute; right:16px; top:16px; }
.hkb-product-editor { display:grid; grid-template-columns:44% 56%; min-height:550px; }
.hkb-product-visual { background:#f3f2ef; display:flex; align-items:center; position:relative; padding:35px 25px; }
.hkb-product-visual img { width:100%; height:480px; max-height:65dvh; object-fit:contain; mix-blend-mode:multiply; }
.hkb-view-image { position:absolute; bottom:20px; left:20px; background:#fff; border:1px solid var(--kit-line); padding:8px 14px; border-radius:20px; color:var(--kit-ink); }
.hkb-product-options { display:flex; flex-direction:column; min-width:0; }
.hkb-product-options__body { padding:0 28px 22px; overflow:auto; max-height:55dvh; }
.hkb-label-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:16px 0; }
.hkb-label-row h3 { font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; margin:0; }
.hkb-label-row h3 span { text-transform:none; font-weight:400; margin-left:8px; }
.hkb-label-row a { color:var(--kit-purple); text-decoration:underline; font-size:13px; }
.hkb-text-button { background:none; border:0; color:var(--kit-purple); text-decoration:underline; text-underline-offset:3px; font-weight:600; padding:8px 0; }
.hkb-swatches { display:flex; flex-wrap:wrap; gap:12px; padding:5px; }
.hkb-swatch { border:1px solid #aaa; width:30px; height:30px; padding:0; border-radius:50%; }
.hkb-swatch[aria-pressed=true] { outline:2px solid #24162b; outline-offset:4px; }
.hkb-sizes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.hkb-size { border:1px solid var(--kit-line); border-radius:12px; padding:10px 5px; text-align:center; }
.hkb-size label { font-weight:700; font-size:13px; display:block; margin-bottom:8px; }
.hkb-size > div { display:flex; align-items:center; justify-content:center; }
.hkb-size button { border:0; width:28px; min-width:24px; height:32px; background:#f3f0f5; border-radius:50%; font-weight:800; color:var(--kit-ink); }
.hkb-size input { appearance:textfield; width:32px; min-width:0; padding:4px 0; text-align:center; font-size:14px; font-weight:700; border:0; background:#fff; color:var(--kit-ink); }
.hkb-size input::-webkit-inner-spin-button { appearance:none; }
.hkb-product-footer { margin-top:auto; border-top:1px solid var(--kit-line); padding:20px 28px; display:flex; align-items:center; justify-content:space-between; gap:12px; position:sticky; bottom:0; background:#fff; }
.hkb-product-footer strong { font-size:16px; }
.hkb-error { color:#a41930; font-size:14px; margin:12px 0; }
.hkb-logo-dialog { width:min(900px,calc(100vw - 40px)); }
.hkb-flow-nav { display:flex; gap:12px; border-top:1px solid var(--kit-line); border-bottom:1px solid var(--kit-line); padding:14px 28px; flex-wrap:wrap; font-size:13px; color:var(--kit-muted); }
.hkb-flow-nav .is-current { color:var(--kit-purple); font-weight:800; }
.hkb-logo-body { padding:28px; }
.hkb-logo-body > p { margin-bottom:22px; }
.hkb-logo-body h3 { margin:0 0 12px; font-size:23px; }
.hkb-logo-modes { display:flex; gap:10px; margin:22px 0; }
.hkb-choice { flex:1; border:1px solid var(--kit-line); background:#fff; border-radius:8px; padding:12px; color:var(--kit-ink); }
.hkb-choice[aria-pressed=true] { border-color:var(--kit-purple); background:#f3edf7; color:var(--kit-purple); font-weight:700; }
.hkb-dropzone { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:35px 20px; border:2px dashed #bfabc9; border-radius:12px; background:#faf8fc; cursor:pointer; text-align:center; }
.hkb-dropzone > span:first-child { font-size:32px; }
.hkb-dropzone small { color:var(--kit-muted); }
.hkb-dropzone.is-dragging { background:#eee4f6; border-color:var(--kit-purple); }
.hkb-file-input { display:block; max-width:100%; margin:12px 0; }
.hkb-logo-preview { max-width:200px; max-height:120px; object-fit:contain; margin:15px 0; }
.hkb-logo-body label:not(.hkb-dropzone) { display:block; font-weight:600; margin:20px 0 10px; }
.hkb-input { width:100%; padding:12px; border:1px solid #d4c8dc; border-radius:8px; color:var(--kit-ink); background:#fff; }
.hkb-later { padding:24px; background:#eef7f1; border:1px solid #bad8c4; border-radius:12px; }
.hkb-later p { margin:10px 0 0; }
.hkb-logo-footer { padding:22px 28px; background:#fff; border-top:1px solid var(--kit-line); position:sticky; bottom:0; }
.hkb-logo-total { display:flex; align-items:center; justify-content:space-between; gap:12px; font-weight:700; }
.hkb-logo-total strong { font-size:23px; }
.hkb-footer-actions { display:flex; justify-content:space-between; gap:20px; margin-top:12px; }
.hkb-footer-actions .hkb-button { min-width:55%; }
.hkb-decoration-product { padding:20px; border:1px solid var(--kit-line); border-radius:12px; margin:18px 0; }
.hkb-decoration-product h4 { margin:0 0 12px; font-size:18px; }
.hkb-decoration-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.hkb-logo-body .hkb-decoration-option { display:flex !important; align-items:flex-start; gap:10px; padding:12px; border:1px solid var(--kit-line); border-radius:8px; margin:0 !important; font-weight:400 !important; font-size:14px; cursor:pointer; }
.hkb-decoration-option input { margin-top:3px; accent-color:var(--kit-purple); }
.hkb-decoration-option small { display:block; color:var(--kit-muted); }
.hkb-review-line { display:grid; grid-template-columns:55px minmax(0,1fr) auto; gap:14px; border-bottom:1px solid var(--kit-line); padding:18px 0; }
.hkb-review-line img { width:55px; height:70px; object-fit:contain; }
.hkb-review-line p { font-size:13px; color:var(--kit-muted); margin:5px 0; }
.hkb-review-totals { margin-top:22px; }
.hkb-review-totals > div { display:flex; justify-content:space-between; gap:16px; padding:6px 0; }
.hkb-review-totals > div:last-child { border-top:1px solid var(--kit-line); font-size:22px; font-weight:800; margin-top:10px; padding-top:14px; }
.hkb-image-dialog { width:min(800px,calc(100vw - 30px)); padding:20px; }
.hkb-image-dialog > .hkb-close { position:absolute; top:15px; right:15px; }
.hkb-image-dialog img { display:block; width:100%; max-height:80dvh; object-fit:contain; }
@media(min-width:1500px) { .hkb-products { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:1100px) { .hkb-layout { grid-template-columns:minmax(0,1fr) 250px; gap:20px; } .hkb-products { grid-template-columns:repeat(2,minmax(0,1fr)); } .hkb-summary__action { flex-direction:column; gap:8px; align-items:flex-end; } }
@media(max-width:767px) { .hkb-layout { grid-template-columns:1fr; } .hkb-basket { position:static; } .hkb-summary { align-items:flex-start; flex-direction:column; padding:18px; } .hkb-summary__action { flex-direction:row; width:100%; align-items:center; justify-content:space-between; gap:14px; } .hkb-summary__action .hkb-button { font-size:13px; padding:12px; } .hkb-summary__action strong { font-size:18px; } .hkb-hero { padding:28px 0; } .hkb-steps { gap:16px; font-size:13px; } .hkb-help > div { grid-template-columns:1fr; gap:14px; } .hkb-dialog { width:calc(100vw - 20px); max-height:94dvh; border-radius:12px; } .hkb-product-editor { grid-template-columns:1fr; } .hkb-product-visual { padding:15px; min-height:170px; } .hkb-product-visual img { height:180px; } .hkb-product-options__body { max-height:none; padding:0 18px 16px; } .hkb-dialog__header { padding:18px; } .hkb-dialog__header h2 { font-size:19px; } .hkb-product-footer { padding:15px 18px; } .hkb-product-footer strong { font-size:14px; } .hkb-logo-body { padding:20px; } .hkb-logo-footer { padding:16px 20px; } .hkb-logo-total strong { font-size:19px; } .hkb-flow-nav { padding:12px 20px; gap:10px; } .hkb-decoration-options { grid-template-columns:1fr; } .hkb-logo-modes { gap:6px; } .hkb-choice { font-size:13px !important; padding:12px 8px; } }
@media(max-width:370px) { .hkb-sizes { grid-template-columns:repeat(3,minmax(0,1fr)); } .hkb-search .hkb-button { padding:10px; } .hkb-products { gap:18px 10px; } .hkb-card__bottom { align-items:flex-start; flex-direction:column; } }

.hkb-image-note { position:absolute; left:20px; right:20px; top:15px; padding:9px 12px; background:#fff; border-radius:8px; font-size:12px; color:#514958; }

.hkb .hkb-icon { font-family: 'Material Symbols Outlined'; font-weight: normal; font-style: normal; font-size: 22px; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; word-wrap: normal; direction: ltr; font-feature-settings: 'liga'; -webkit-font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; vertical-align: middle; flex-shrink: 0; }
.hkb-card__add, .hkb-view-image { display: inline-flex; align-items: center; justify-content: center; gap: 5px; }
.hkb-size button { display: inline-flex; align-items: center; justify-content: center; }
.hkb-size button .hkb-icon { font-size: 18px; }
.hkb-dropzone > .hkb-icon { font-size: 34px; }
