.kw-configurator {
  --kw-ink: #17241f;
  --kw-green: #8f2026;
  --kw-green-2: #ad2931;
  --kw-cream: #f7f2e8;
  --kw-paper: #fffdf9;
  --kw-gold: #c88b39;
  --kw-rust: #c23a42;
  --kw-line: rgba(143, 32, 38, .16);
  --kw-muted: #68736e;
  color: var(--kw-ink);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  margin: 0 calc(50% - 50vw);
  background:
    radial-gradient(circle at 8% 3%, rgba(194, 58, 66, .10), transparent 28rem),
    linear-gradient(180deg, #fbf8f1 0%, #f5f0e6 100%);
}
.kw-configurator *, .kw-configurator *::before, .kw-configurator *::after { box-sizing: border-box; }
.kw-configurator button, .kw-configurator input, .kw-configurator select, .kw-configurator textarea { font: inherit; }
.kw-configurator button { color: inherit; }
.kw-shell { width: min(1240px, calc(100% - 34px)); margin: 0 auto; padding: 58px 0 38px; }
.kw-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; max-width: 950px; margin: 0 auto 30px; text-align: center; }
.kw-hero > div { flex: 1; }
.kw-eyebrow, .kw-step-kicker { margin: 0 0 8px; color: var(--kw-rust); font-size: 12px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.kw-hero h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(38px, 5.4vw, 68px); font-weight: 500; letter-spacing: -.04em; line-height: .99; }
.kw-hero h1 em { color: var(--kw-green-2); font-weight: 500; }
.kw-intro { max-width: 650px; margin: 22px auto 0; color: var(--kw-muted); font-size: 18px; }
.kw-language { flex: 0 0 auto; border: 1px solid var(--kw-line); border-radius: 999px; background: rgba(255,255,255,.65); padding: 9px 13px; font-size: 12px; font-weight: 800; letter-spacing: .08em; cursor: pointer; }
.kw-progress { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 720px; margin: 40px auto 35px; position: relative; }
.kw-progress::before { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: 17px; height: 1px; background: var(--kw-line); }
.kw-progress button { z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 7px; border: 0; background: transparent; color: #8b928e; font-size: 12px; cursor: default; }
.kw-progress span { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid #cad0cc; border-radius: 50%; background: var(--kw-cream); font-weight: 800; }
.kw-progress b { font-weight: 700; }
.kw-progress .is-active { color: var(--kw-green); }
.kw-progress .is-active span { border-color: var(--kw-green); background: var(--kw-green); color: white; box-shadow: 0 0 0 5px rgba(23,63,50,.09); }
.kw-progress .is-complete span { border-color: var(--kw-gold); background: var(--kw-gold); color: white; }
.kw-main { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .75fr); min-height: 650px; overflow: hidden; border: 1px solid rgba(23,63,50,.12); border-radius: 28px; background: rgba(255,253,249,.93); box-shadow: 0 25px 70px rgba(32,45,39,.11); }
.kw-stage { position: relative; padding: clamp(30px, 5vw, 66px); }
.kw-step { display: none; animation: kwFade .26s ease both; }
.kw-step.is-active { display: block; }
@keyframes kwFade { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
.kw-step-heading { margin-bottom: 28px; }
.kw-step-heading h2 { margin: 0 0 8px; color: var(--kw-ink) !important; font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 3.5vw, 45px); font-weight: 500; letter-spacing: -.025em; line-height: 1.08; }
.kw-step-heading > p:last-child { margin: 0; color: var(--kw-muted) !important; opacity: 1 !important; }
.kw-step-heading .kw-step-kicker { color: var(--kw-rust) !important; opacity: 1 !important; }
.kw-back { display: inline-flex; align-items: center; gap: 7px; margin: -15px 0 24px; padding: 0; border: 0; background: transparent; color: var(--kw-green-2); font-size: 14px; font-weight: 750; cursor: pointer; }
.kw-back span:first-child { transition: transform .2s ease; }
.kw-back:hover span:first-child { transform: translateX(-4px); }
.kw-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.kw-choice-card { position: relative; display: grid; grid-template-columns: 112px 1fr auto; align-items: center; min-height: 158px; padding: 20px; overflow: hidden; border: 1px solid var(--kw-line); border-radius: 20px; background: white; text-align: left; cursor: pointer; box-shadow: 0 5px 20px rgba(23,36,31,.04); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.kw-choice-card:hover, .kw-choice-card:focus-visible { z-index: 2; transform: translateY(-5px) scale(1.035); border-color: rgba(180,93,55,.55); box-shadow: 0 16px 35px rgba(23,36,31,.12); outline: none; }
.kw-choice-card.is-selected { border: 2px solid var(--kw-rust); box-shadow: 0 10px 26px rgba(180,93,55,.13); }
.kw-choice-copy { display: flex; flex-direction: column; min-width: 0; }
.kw-choice-copy strong { font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 600; line-height: 1.1; }
.kw-choice-copy small { margin-top: 6px; color: var(--kw-muted); font-size: 13px; line-height: 1.35; }
.kw-arrow { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: var(--kw-cream); color: var(--kw-green); font-size: 18px; }
.kw-price { align-self: start; color: var(--kw-rust); font-size: 18px; white-space: nowrap; }
.kw-price-small { max-width: 80px; font-size: 12px; text-align: right; white-space: normal; }
.kw-price-pair { display: grid; align-self: start; justify-items: end; gap: 3px; color: var(--kw-rust); text-align: right; line-height: 1.2; }
.kw-price-pair > b { font-size: 13px; white-space: nowrap; }
.kw-price-pair > small { color: var(--kw-muted); font-size: 11px; font-weight: 700; white-space: nowrap; }
.kw-product-grid .kw-product-choice, .kw-engraving-grid .kw-engraving-choice { display: block; min-height: 190px; padding: 48px 20px 43px; }
.kw-product-grid .kw-product-choice > .kw-shape-art { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); }
.kw-product-grid .kw-product-choice:hover > .kw-shape-art { transform: translateY(-50%) scale(1.12) rotate(-1deg); }
.kw-engraving-grid .kw-engraving-choice > .kw-engraving-icon { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); }
.kw-engraving-grid .kw-engraving-choice:hover > .kw-engraving-icon { transform: translateY(-50%) scale(1.12) rotate(-1deg); }
.kw-product-grid .kw-product-choice > .kw-choice-copy, .kw-engraving-grid .kw-engraving-choice > .kw-choice-copy { display: block; width: auto; margin-left: 100px; }
.kw-product-grid .kw-product-choice > .kw-choice-copy strong, .kw-engraving-grid .kw-engraving-choice > .kw-choice-copy strong { display: block; }
.kw-product-grid .kw-product-choice > .kw-choice-copy small, .kw-engraving-grid .kw-engraving-choice > .kw-choice-copy small { display: block; }
.kw-product-grid .kw-product-choice > .kw-price-summary, .kw-engraving-grid .kw-engraving-choice > .kw-price-pair { position: absolute; inset: 0; z-index: 2; display: block; height: 100%; pointer-events: none; }
.kw-product-grid .kw-product-choice > .kw-price-summary > b, .kw-engraving-grid .kw-engraving-choice > .kw-price-pair > b { position: absolute; top: 18px; right: 20px; color: var(--kw-rust); font-size: 16px; white-space: nowrap; }
.kw-product-grid .kw-product-choice > .kw-price-summary > small, .kw-engraving-grid .kw-engraving-choice > .kw-price-pair > small { position: absolute; right: 20px; bottom: 16px; max-width: calc(100% - 40px); color: var(--kw-muted); font-size: 10px; line-height: 1.25; text-align: right; white-space: normal; }
.kw-product-grid .kw-circle-choice > .kw-shape-art { top: 42%; }
.kw-circle-size-list { position: absolute; top: calc(42% + 37px); left: 20px; width: 78px; color: var(--kw-muted); font-size: 11px; line-height: 1.25; text-align: center; }
.kw-circle-sizes { grid-column: 1 / -1; padding: 17px; border: 1px solid var(--kw-line); border-radius: 18px; background: #fdf8ee; }
.kw-circle-sizes[hidden] { display: none !important; }
.kw-circle-sizes > p { margin: 0 0 12px; color: var(--kw-ink); font-weight: 800; }
.kw-circle-size-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.kw-circle-size-choice { position: relative; display: block; width: 100%; min-height: 204px; padding: 43px 13px 36px; border: 1px solid var(--kw-line); border-radius: 15px; background: white; color: var(--kw-ink); text-align: center; cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .2s; }
.kw-circle-size-choice:hover, .kw-circle-size-choice:focus-visible { border-color: var(--kw-rust); box-shadow: 0 9px 21px rgba(23,36,31,.11); transform: translateY(-2px); outline: none; }
.kw-circle-size-art { width: 78px; height: 78px; margin: 0 auto 8px; }
.kw-circle-size-choice > strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 19px; line-height: 1.15; }
.kw-circle-size-choice > small:not(.kw-price-summary) { display: block; margin-top: 5px; color: var(--kw-muted); font-size: 11px; line-height: 1.3; }
.kw-circle-size-choice > .kw-price-summary { position: absolute; inset: 0; display: block; height: 100%; pointer-events: none; }
.kw-circle-size-choice > .kw-price-summary > b { position: absolute; top: 12px; right: 13px; color: var(--kw-rust); font-size: 13px; white-space: nowrap; }
.kw-circle-size-choice > .kw-price-summary > small { position: absolute; right: 13px; bottom: 11px; color: var(--kw-muted); font-size: 10px; line-height: 1.2; text-align: right; }
.kw-product-art { display: grid; place-items: center; width: 94px; height: 110px; transition: transform .28s ease; }
.kw-choice-card:hover .kw-product-art, .kw-choice-card:hover .kw-shape-art, .kw-choice-card:hover .kw-engraving-icon { transform: scale(1.12) rotate(-1deg); }
.kw-slate-art span { position: relative; width: 82px; height: 82px; border-radius: 7px; background: linear-gradient(145deg, #242725, #454844); box-shadow: 0 12px 18px rgba(0,0,0,.24); transform: rotate(-4deg); }
.kw-slate-art span::after { content: "LUNA"; position: absolute; inset: 0; display: grid; place-items: center; color: #d7d4c9; font-family: Georgia, serif; font-size: 13px; letter-spacing: .12em; }
.kw-metal-art span { position: relative; width: 66px; height: 98px; border: 1px solid rgba(23,36,31,.14); border-radius: 8px; background: #e9e4da url("images/vito-military-tag-clean.webp") center / contain no-repeat; box-shadow: 0 10px 18px rgba(31,42,37,.19); transform: rotate(-4deg); }
.kw-metal-art span::before, .kw-metal-art span::after { display: none; }
.kw-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kw-product-choice { min-height: 145px; }
.kw-shape-art { display: grid; place-items: center; width: 78px; height: 84px; transition: transform .28s ease; }
.kw-shape-art > span { position: relative; display: block; background: linear-gradient(145deg, #87918e 0%, #f5f5f2 42%, #9ca5a2 76%, #e4e6e3 100%); box-shadow: 0 9px 15px rgba(30,40,36,.2); }
.kw-shape-art > span::after { content: ""; position: absolute; width: 6px; height: 6px; left: 50%; top: 6px; border: 1px solid #78817e; border-radius: 50%; transform: translateX(-50%); }
.kw-shape-art.military > span { width: 42.56px; height: 76px; border-radius: 50% / 12%; }
.kw-shape-art.round-large > span { width: 58px; height: 58px; border-radius: 50%; }
.kw-shape-art.round-small > span { width: 48px; height: 48px; border-radius: 50%; }
.kw-shape-art.round-extra-large > span { width: 68px; height: 68px; border-radius: 50%; }
.kw-shape-art.rectangle > span { width: 43.2px; height: 72px; border-radius: 5px; }
.kw-shape-art.heart > span { width: 66px; height: 68px; clip-path: none; background: transparent url("images/heart-tag.webp") center / contain no-repeat; box-shadow: none; }
.kw-shape-art.heart > span::after { display: none; }
.kw-shape-art.bone > span { width: 78px; height: 50px; background: transparent url("images/bone-tag-simple.png") center / contain no-repeat; box-shadow: none; }
.kw-shape-art.bone > span::after { display: none; }
.kw-shape-art.slate-square > span, .kw-shape-art.slate-wide > span { background: linear-gradient(145deg, #242725, #494b48); border-radius: 5px; }
.kw-shape-art.slate-square > span { width: 66px; height: 66px; }
.kw-shape-art.slate-wide > span { width: 78px; height: 42px; }
.kw-shape-art.slate-square > span::after, .kw-shape-art.slate-wide > span::after { display: none; }
.kw-example-art { overflow: hidden; border-radius: 8px; background: #e9e4da; box-shadow: 0 9px 15px rgba(30,40,36,.2); }
.kw-example-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.kw-example-art.slate-square { width: 78px; height: 78px; }
.kw-example-art.slate-wide { width: 86px; height: 58px; }
.kw-popular { position: absolute; top: 10px; left: 10px; padding: 4px 8px; border-radius: 999px; background: #f4e4cc; color: #8d4e2f; font-size: 9px; font-weight: 900; letter-spacing: .09em; }
.kw-engraving-grid { margin-bottom: 20px; }
.kw-engraving-choice { grid-template-columns: 100px 1fr auto; }
.kw-engraving-icon { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 88px; height: 74px; color: #303936; transition: transform .28s ease; }
.kw-text-icon { width: 49.3px; height: 88px; border-radius: 50% / 12%; background: linear-gradient(145deg, #afb5b3, #f2f3ef 45%, #9aa29f); box-shadow: 0 8px 15px rgba(31,42,37,.18); font-size: 10px; font-weight: 900; letter-spacing: .05em; }
.kw-text-icon small { margin-top: 4px; font-size: 5px; letter-spacing: 0; }
.kw-photo-icon { width: 58px; height: 88px; overflow: hidden; border: 1px solid rgba(23,36,31,.16); border-radius: 8px; background: #e9e4da; box-shadow: 0 8px 15px rgba(31,42,37,.18); }
.kw-photo-icon img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 48%; }
.kw-detail-panel, .kw-contact-form { margin-top: 20px; padding: 24px; border: 1px solid var(--kw-line); border-radius: 20px; background: #fbfaf6; }
.kw-detail-panel[hidden], .kw-engraving-grid[hidden] { display: none !important; }
.kw-configurator[data-material="slate"] [data-engraving="text"] { display: none !important; }
.kw-upload { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 190px; padding: 24px; border: 1.5px dashed rgba(23,63,50,.32); border-radius: 16px; background: white; text-align: center; cursor: pointer; transition: border-color .2s, background .2s; }
.kw-upload:hover { border-color: var(--kw-rust); background: #fffdfa; }
.kw-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.kw-upload-icon { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 10px; border-radius: 50%; background: var(--kw-green); color: white; font-size: 22px; }
.kw-upload strong { font-family: Georgia, serif; font-size: 21px; }
.kw-upload small { color: var(--kw-muted); }
.kw-file-name { margin-top: 8px; color: var(--kw-rust); font-size: 13px; font-weight: 800; word-break: break-all; }
.kw-photo-advice { margin: 15px 0; padding: 15px 17px; border: 1px solid rgba(143,32,38,.18); border-left: 4px solid var(--kw-rust); border-radius: 13px; background: #f5eee4; }
.kw-photo-advice strong { color: var(--kw-green) !important; font-size: 13px; opacity: 1 !important; }
.kw-photo-advice p { margin: 5px 0 0; color: var(--kw-ink) !important; font-size: 14px; font-weight: 600; line-height: 1.5; opacity: 1 !important; }
.kw-field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 16px; }
.kw-field > span { font-size: 13px; font-weight: 800; }
.kw-field input, .kw-field select, .kw-field textarea { width: 100%; border: 1px solid rgba(23,63,50,.2); border-radius: 11px; background: white; padding: 12px 14px; color: var(--kw-ink); outline: none; transition: border-color .2s, box-shadow .2s; }
.kw-field input:focus, .kw-field select:focus, .kw-field textarea:focus { border-color: var(--kw-green-2); box-shadow: 0 0 0 3px rgba(36,92,73,.1); }
.kw-two-fields { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; }
.kw-primary, .kw-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; border-radius: 999px; padding: 12px 24px; font-weight: 800; cursor: pointer; transition: transform .2s, opacity .2s, background .2s; }
.kw-primary { width: 100%; border: 0; background: var(--kw-green); color: white !important; }
.kw-primary:hover:not(:disabled) { transform: translateY(-2px); background: var(--kw-green-2); }
.kw-primary:disabled { opacity: .4; cursor: not-allowed; }
.kw-secondary { border: 1px solid var(--kw-green); background: transparent; color: var(--kw-green); }
.kw-preview-panel { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 32px; background: var(--kw-green); color: white; }
.kw-preview-topline { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: #d6e2dc; font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.kw-preview-topline small { font-weight: 500; letter-spacing: 0; opacity: .75; }
.kw-flip-tag { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; border: 1px solid #e3d7c2; border-radius: 999px; background: var(--kw-cream); padding: 7px 12px; color: #111 !important; font: inherit; font-weight: 800; letter-spacing: 0; box-shadow: 0 5px 14px rgba(31,20,15,.18); cursor: pointer; transition: background .2s, transform .2s, box-shadow .2s; }
.kw-flip-tag:hover, .kw-flip-tag:focus-visible { background: #fffdf7; color: #111 !important; transform: translateY(-1px); box-shadow: 0 7px 18px rgba(31,20,15,.24); outline: 2px solid rgba(255,255,255,.72); outline-offset: 2px; }
.kw-flip-tag b { font-size: 15px; line-height: 1; }
.kw-flip-tag[hidden] { display: none; }
.kw-preview-scene { display: grid; place-items: center; min-height: 330px; padding: 25px; perspective: 800px; }
.kw-live-object { position: relative; display: grid; place-items: center; width: 240px; height: 240px; overflow: hidden; background: linear-gradient(145deg, #262b28, #575c58); box-shadow: 0 32px 36px rgba(0,0,0,.35); transform: rotate(-1.5deg); transition: width .3s, height .3s, border-radius .3s, clip-path .3s, transform .3s; }
.kw-live-object.is-flipping { animation: kw-tag-flip .56s ease-in-out; }
@keyframes kw-tag-flip { 0% { transform: rotate(-1.5deg) rotateY(0); } 49% { transform: rotate(-1.5deg) rotateY(90deg) scale(.96); } 50% { transform: rotate(-1.5deg) rotateY(-90deg) scale(.96); } 100% { transform: rotate(-1.5deg) rotateY(0); } }
.kw-live-object.is-slate { width: 240px; height: 240px; aspect-ratio: 1 / 1; border-radius: 7px; }
.kw-live-object.shape-slate-wide { width: 300px; height: 150px; aspect-ratio: 2 / 1; }
.kw-live-object.is-metal { width: 168px; height: 300px; aspect-ratio: 28 / 50; border-radius: 50% / 12%; background: linear-gradient(135deg, #7b8582 0%, #f5f6f3 38%, #959e9b 67%, #dfe2df 100%); color: #26322d; }
.kw-live-object.is-metal::before { content: ""; position: absolute; top: 14px; left: 50%; width: 16px; height: 16px; border: 2px solid #6f7975; border-radius: 50%; transform: translateX(-50%); z-index: 4; box-shadow: inset 0 1px 3px rgba(0,0,0,.2); }
.kw-live-object.shape-round-large { width: 205px; height: 205px; border-radius: 50%; }
.kw-live-object.shape-round-small { width: 175px; height: 175px; border-radius: 50%; }
.kw-live-object.shape-round-extra-large { width: 240px; height: 240px; border-radius: 50%; }
.kw-live-object.shape-rectangle { width: 168px; height: 280px; aspect-ratio: 3 / 5; border-radius: 10px; }
.kw-live-object.shape-heart { width: 225px; height: 234px; border-radius: 0; clip-path: none; background: #edf0eb url("images/heart-tag.webp") center / contain no-repeat; -webkit-mask: url("images/heart-tag.webp") center / contain no-repeat; mask: url("images/heart-tag.webp") center / contain no-repeat; }
.kw-live-object.shape-heart::before { display: none; }
.kw-live-object.shape-bone { width: 300px; height: 177px; aspect-ratio: 1059 / 625; overflow: visible; border-radius: 0; background: transparent url("images/bone-tag-plain.png") center / contain no-repeat; box-shadow: none; clip-path: none; }
.kw-live-object.shape-bone::before { display: none; }
.kw-live-object.shape-bone .kw-live-text { max-width: 64%; transform: translateY(7px); }
.kw-live-object.is-back-side .kw-live-text strong { font-size: 19px; }
.kw-live-object.is-back-side .kw-live-text small { margin-top: 3px; font-size: 12px; }
.kw-live-image { position: absolute; inset: 0; z-index: 1; background-size: cover; background-position: center; filter: grayscale(1) contrast(1.15); opacity: 0; mix-blend-mode: screen; }
.kw-live-image.is-visible { opacity: .7; }
.kw-live-image.is-draggable { cursor: grab; touch-action: none; user-select: none; }
.kw-live-image.is-dragging { cursor: grabbing; }
.kw-live-text { position: relative; z-index: 2; max-width: 82%; color: #e4dfd5; font-family: Georgia, serif; text-align: center; text-shadow: 0 1px 1px rgba(0,0,0,.65); letter-spacing: .08em; pointer-events: none; }
.kw-live-object.is-metal .kw-live-text { color: #29332f; text-shadow: 0 1px 0 rgba(255,255,255,.35); }
.kw-live-text strong { font-size: 18px; line-height: 1.25; }
.kw-live-text.is-id-text { display: flex; flex-direction: column; gap: 8px; }
.kw-live-text.is-id-text strong { font-family: Inter, sans-serif; font-size: 27px; font-weight: 900; }
.kw-live-text.is-id-text small { font-family: Inter, sans-serif; font-size: 14px; font-weight: 800; letter-spacing: .02em; }
.kw-photo-move-hint { align-self: center; margin: -13px 0 17px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; padding: 7px 12px; color: #fff; background: rgba(255,255,255,.1); font-size: 12px; font-weight: 700; text-align: center; }
.kw-photo-move-hint[hidden] { display: none; }
.kw-preview-summary { margin-top: auto; border-top: 1px solid rgba(255,255,255,.17); }
.kw-preview-summary > div { display: grid; grid-template-columns: 78px 1fr; gap: 12px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.kw-preview-summary span { color: #b9ccc3; font-size: 12px; }
.kw-preview-summary strong { font-size: 14px; }
.kw-preview-summary .kw-summary-price strong { color: #f4c983; font-size: 22px; }
.kw-cart-link { display: flex; align-items: center; gap: 12px; width: 100%; margin: 18px 0 0; padding: 12px 14px; border: 1px solid rgba(255,255,255,.52); border-radius: 14px; background: rgba(255,253,249,.12); color: #fff !important; text-align: left; cursor: pointer; transition: background .2s, transform .2s, border-color .2s; }
.kw-cart-link[hidden], .kw-cross-sells[hidden] { display: none !important; }
.kw-stage > .kw-cart-link { position: absolute; top: 24px; right: clamp(24px, 4vw, 58px); z-index: 4; width: auto; min-width: 150px; margin: 0; border-color: var(--kw-rust); background: var(--kw-rust); color: #fff !important; box-shadow: 0 8px 18px rgba(23,36,31,.12); }
.kw-stage > .kw-cart-link:hover, .kw-stage > .kw-cart-link:focus-visible { border-color: var(--kw-green-2); background: var(--kw-green-2); }
.kw-cart-link:hover, .kw-cart-link:focus-visible { border-color: #fff; background: rgba(255,253,249,.22); transform: translateY(-2px); outline: none; }
.kw-cart-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--kw-cream); color: var(--kw-green); font-size: 17px; }
.kw-cart-link > span:last-child { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.kw-cart-link strong { font-size: 13px; }
.kw-cart-link small { color: #eadfd1; font-size: 11px; }
.kw-cross-sells { z-index: 3; display: flex; flex-direction: column; margin: auto 0 18px; }
.kw-cross-sells:not([hidden]) + .kw-preview-summary { margin-top: 0; }
.kw-cross-sells:not([hidden]) ~ .kw-preview-note { display: none; }
.kw-cross-sells-kicker { margin: 0 0 9px; color: #f7d9b7; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.kw-cross-sell-list { display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; }
.kw-cross-sell-card { position: relative; display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 10px; padding: 9px 9px 26px; border: 1px solid rgba(255,255,255,.45); border-radius: 13px; background: var(--kw-cream); color: var(--kw-ink); box-shadow: 0 7px 18px rgba(0,0,0,.13); }
.kw-cross-sell-anchor { position: absolute; right: 10px; bottom: 7px; color: var(--kw-muted); font-size: 10px; font-weight: 700; line-height: 1.2; text-align: right; }
.kw-cross-sell-media { position: relative; display: block; width: 84px; height: 84px; overflow: hidden; border-radius: 8px; background: #e9e4da; }
.kw-cross-sell-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kw-cross-sell-media b { position: absolute; top: 5px; right: 5px; padding: 4px 5px; border-radius: 4px; background: var(--kw-rust); color: #fff; font-size: 10px; line-height: 1; white-space: nowrap; }
.kw-cross-sell-content { display: flex; min-width: 0; flex-direction: column; justify-content: space-between; gap: 8px; }
.kw-cross-sell-content > strong { font-family: Georgia, "Times New Roman", serif; font-size: 15px; line-height: 1.12; }
.kw-cross-sell-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.kw-cross-sell-more, .kw-cross-sell-add { display: inline-flex; align-items: center; justify-content: center; min-height: 27px; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; line-height: 1.1; text-decoration: none; cursor: pointer; }
.kw-cross-sell-more { border: 1px solid var(--kw-rust); background: transparent; color: var(--kw-rust) !important; }
.kw-cross-sell-add { border: 1px solid var(--kw-rust); background: var(--kw-rust); color: #fff; }
.kw-cross-sell-more:hover, .kw-cross-sell-more:focus-visible { background: rgba(194,58,66,.1); }
.kw-cross-sell-add:hover, .kw-cross-sell-add:focus-visible { background: var(--kw-green-2); }
.kw-cross-sell-add.is-added { border-color: #546d4d; background: #546d4d; }
.kw-cross-sell-add:disabled { cursor: wait; opacity: .8; }
.kw-preview-note { margin: 17px 0 0; color: #bdcbc5; font-size: 11px; line-height: 1.5; }
.kw-review-card { overflow: hidden; margin-bottom: 18px; border: 1px solid var(--kw-line); border-radius: 18px; background: white; }
.kw-review-card > div { display: grid; grid-template-columns: 125px 1fr; gap: 6px 16px; padding: 15px 18px; border-bottom: 1px solid var(--kw-line); }
.kw-review-card > .kw-review-item { grid-template-columns: 42px 64px minmax(0, 1fr) auto auto; align-items: center; gap: 5px 14px; }
.kw-review-card > div:last-child { border-bottom: 0; }
.kw-review-card span { grid-row: 1 / span 2; color: var(--kw-muted); font-size: 12px; }
.kw-review-card .kw-review-index { grid-row: 1 / span 3; align-self: start; padding-top: 4px; }
.kw-review-thumb { grid-row: 1 / span 3; display: grid; place-items: center; width: 64px; height: 64px; overflow: hidden; border: 1px solid var(--kw-line); border-radius: 11px; background: var(--kw-cream); }
.kw-review-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kw-review-thumb-empty { color: var(--kw-rust); font-size: 22px !important; }
.kw-review-card strong { font-size: 14px; }
.kw-review-card small { color: var(--kw-muted); }
.kw-review-card .kw-review-total { background: var(--kw-cream); }
.kw-review-card .kw-review-total strong { color: var(--kw-rust); font-size: 22px; }
.kw-review-card .kw-review-delivery { background: #fffaf1; }
.kw-review-card .kw-review-delivery strong { color: var(--kw-rust); }
.kw-review-card > div > b { grid-column: 2; color: var(--kw-rust); font-size: 14px; }
.kw-review-prices { grid-column: 4; grid-row: 1 / span 3; display: grid; justify-items: end; gap: 3px; color: var(--kw-rust) !important; text-align: right; }
.kw-review-prices b { font-size: 13px; white-space: nowrap; }
.kw-review-prices small { color: var(--kw-muted); font-size: 11px; white-space: nowrap; }
.kw-review-remove { grid-column: 5; grid-row: 1 / span 3; border: 1px solid rgba(143,32,38,.35); border-radius: 999px; background: transparent; padding: 7px 10px; color: var(--kw-rust); font-size: 11px; font-weight: 800; cursor: pointer; }
.kw-review-remove:hover, .kw-review-remove:focus-visible { background: rgba(143,32,38,.08); }
.kw-review-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 18px; }
.kw-review-actions .kw-secondary { flex: 1 1 220px; min-height: 44px; }
.kw-upload.is-locked { opacity: .72; cursor: not-allowed; pointer-events: none; }
.kw-copy-lock { margin: -4px 0 14px; color: var(--kw-rust); font-size: 12px; font-weight: 700; line-height: 1.4; }
.kw-slate-progress { margin: 0 0 16px; padding: 13px 16px; border: 1px solid var(--kw-line); border-radius: 16px; background: #fdf8ee; }
.kw-slate-progress-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 10px; color: var(--kw-ink); }
.kw-slate-progress-heading strong { font-size: 13px; }
.kw-slate-progress-heading span { color: var(--kw-rust); font-size: 11px; font-weight: 800; text-align: right; }
.kw-slate-slots { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.kw-slate-slot { display: grid; place-items: center; min-height: 45px; border: 2px dashed rgba(143,32,38,.4); border-radius: 9px; color: var(--kw-muted); font-size: 13px; font-weight: 900; }
.kw-slate-slot.is-filled { border-style: solid; background: rgba(143,32,38,.1); color: var(--kw-rust); }
.kw-slate-slot.is-free { border-color: var(--kw-green); background: var(--kw-green); color: white; }
.kw-consent { display: grid; grid-template-columns: 19px 1fr; gap: 10px; align-items: start; margin: 18px 0; color: var(--kw-muted); font-size: 12px; }
.kw-consent input { width: 18px; height: 18px; accent-color: var(--kw-green); }
.kw-form-status { min-height: 22px; margin: 10px 0 0; color: var(--kw-green); text-align: center; font-size: 13px; font-weight: 700; }
.kw-form-status.is-error { color: #ad3d30; }
.kw-success { max-width: 540px; margin: 80px auto; text-align: center; }
.kw-success-mark { display: grid; place-items: center; width: 70px; height: 70px; margin: 0 auto 22px; border-radius: 50%; background: var(--kw-green); color: white; font-size: 35px; box-shadow: 0 0 0 10px rgba(23,63,50,.08); }
.kw-success h2 { margin: 0 0 12px; font-family: Georgia, serif; font-size: 40px; font-weight: 500; }
.kw-success p:not(.kw-step-kicker) { color: var(--kw-muted); }
.kw-trust-row { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px 44px; margin-top: 14px; padding: 16px 15px; border: 1px solid var(--kw-line); border-radius: 16px; background: #fdf8ee !important; color: var(--kw-ink) !important; font-size: 13px; font-weight: 600; line-height: 1.35; }
.kw-trust-row b { color: var(--kw-rust) !important; }
.kw-showcase { margin-top: 30px; padding: 20px 0 2px; border-top: 1px solid var(--kw-line); }
.kw-showcase-heading { margin-bottom: 13px; }
.kw-showcase-kicker { margin: 0 0 4px; color: var(--kw-ink); font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.kw-showcase-heading h3 { margin: 0; color: var(--kw-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(20px, 2.35vw, 29px); font-weight: 600; letter-spacing: -.02em; line-height: 1.05; }
.kw-showcase-note { color: var(--kw-muted); font-size: 11px; font-weight: 700; text-align: right; white-space: nowrap; }
.kw-showcase-window { position: relative; width: 100%; overflow: hidden; border-radius: 15px; }
.kw-showcase-track { display: flex; width: max-content; gap: 14px; animation: kwShowcaseScroll 52s linear infinite; }
.kw-showcase-window:hover .kw-showcase-track, .kw-showcase-window:focus-within .kw-showcase-track { animation-play-state: paused; }
.kw-showcase-card { display: block !important; flex: 0 0 160px !important; width: 160px !important; height: 260px !important; min-height: 260px !important; margin: 0 !important; overflow: hidden; border: 1px solid var(--kw-line); border-radius: 14px; background: var(--kw-cream); box-shadow: 0 8px 18px rgba(23,36,31,.08); }
.kw-showcase-image { display: grid; place-items: center; width: 100%; height: 100%; padding: 10px; background: #e8e2d8; }
.kw-showcase-image img { display: block; width: auto !important; height: auto !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain; object-position: center; }
.kw-showcase-duplicate { display: flex; gap: 14px; }
@keyframes kwShowcaseScroll { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 7px)); } }
@media (prefers-reduced-motion: reduce) {
  .kw-showcase-track { animation: none; }
  .kw-showcase-window { overflow-x: auto; scrollbar-width: thin; }
}
@media (max-width: 950px) {
  .kw-main { grid-template-columns: 1fr; }
  .kw-preview-panel { min-height: 530px; }
  .kw-preview-scene { min-height: 290px; }
}
@media (max-width: 680px) {
  .kw-shell { width: min(100% - 20px, 1240px); padding-top: 35px; }
  .kw-hero { gap: 8px; }
  .kw-hero h1 { font-size: 40px; }
  .kw-intro { font-size: 16px; }
  .kw-language { margin-top: -8px; }
  .kw-progress b { display: none; }
  .kw-progress { margin: 28px auto 22px; }
  .kw-stage { padding: 28px 20px 34px; }
  .kw-stage > .kw-cart-link { position: static; width: 100%; min-width: 0; margin: 0 0 20px; }
  .kw-choice-grid, .kw-product-grid, .kw-two-fields { grid-template-columns: 1fr; }
  .kw-choice-card, .kw-engraving-choice { grid-template-columns: 90px 1fr auto; min-height: 128px; padding: 16px; }
  .kw-product-grid .kw-product-choice, .kw-engraving-grid .kw-engraving-choice { min-height: 180px; padding: 43px 16px 40px; }
  .kw-product-grid .kw-product-choice > .kw-shape-art, .kw-engraving-grid .kw-engraving-choice > .kw-engraving-icon { left: 16px; }
  .kw-circle-size-list { left: 16px; }
  .kw-product-grid .kw-product-choice > .kw-choice-copy, .kw-engraving-grid .kw-engraving-choice > .kw-choice-copy { margin-left: 90px; }
  .kw-circle-size-grid { grid-template-columns: 1fr; }
  .kw-circle-size-choice { min-height: 126px; padding: 38px 16px 32px 104px; text-align: left; }
  .kw-circle-size-art { position: absolute; left: 16px; top: 50%; margin: 0; transform: translateY(-50%); }
  .kw-product-grid .kw-product-choice > .kw-price-summary > b, .kw-engraving-grid .kw-engraving-choice > .kw-price-pair > b { top: 14px; right: 16px; }
  .kw-product-grid .kw-product-choice > .kw-price-summary > small, .kw-engraving-grid .kw-engraving-choice > .kw-price-pair > small { right: 16px; bottom: 13px; max-width: calc(100% - 32px); }
  .kw-product-art { width: 78px; height: 90px; }
  .kw-choice-copy strong { font-size: 20px; }
  .kw-detail-panel, .kw-contact-form { padding: 17px; }
  .kw-preview-panel { min-height: 500px; padding: 25px 20px; }
  .kw-cross-sells { position: static; margin: 18px 0 18px; }
  .kw-cross-sells:not([hidden]) ~ .kw-preview-note { display: block; }
  .kw-live-object.is-metal { transform: scale(.86) rotate(-3deg); }
  .kw-review-card > div { grid-template-columns: 95px 1fr; }
  .kw-review-card > .kw-review-item { grid-template-columns: 30px 52px minmax(0, 1fr); gap: 5px 9px; }
  .kw-review-thumb { width: 52px; height: 52px; }
  .kw-review-card > .kw-review-item > .kw-review-prices { grid-column: 3; grid-row: auto; justify-items: start; text-align: left; }
  .kw-review-card > .kw-review-item > .kw-review-remove { grid-column: 3; grid-row: auto; justify-self: start; }
  .kw-showcase { margin-top: 24px; }
  .kw-showcase-card { flex-basis: 142px !important; width: 142px !important; height: 220px !important; min-height: 220px !important; }
}
