/* v10.6 React + Vue UI islands. Additive only: does not replace storefront theme. */
:root{--gc-ui-ink:#18221d;--gc-ui-line:#dedbd4;--gc-ui-surface:#fffdfa;--gc-ui-soft:#f6f2ea;--gc-ui-forest:#1f382f;--gc-ui-shadow:0 26px 90px rgba(18,26,22,.2)}
.gc-react-search-root{position:relative;z-index:9998}
.gc-search-backdrop{position:fixed;inset:0;background:rgba(12,17,14,.34);backdrop-filter:blur(3px);z-index:9996;animation:gcFadeIn .16s ease-out}
.gc-search-shell{position:fixed;z-index:9997;top:clamp(84px,11vh,128px);left:50%;transform:translateX(-50%);width:min(860px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 120px));overflow:auto;background:var(--gc-ui-surface);border:1px solid rgba(31,56,47,.15);border-radius:24px;box-shadow:var(--gc-ui-shadow);padding:16px;animation:gcSearchIn .22s cubic-bezier(.2,.78,.25,1)}
.gc-search-box{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;align-items:center;gap:10px;background:#fff;border:1px solid #cbc7be;border-radius:16px;padding:9px 10px 9px 15px;box-shadow:0 3px 16px rgba(18,26,22,.04)}
.gc-search-box:focus-within{border-color:var(--gc-ui-forest);box-shadow:0 0 0 3px rgba(31,56,47,.08)}
.gc-search-box svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}
.gc-search-box input{width:100%;border:0!important;box-shadow:none!important;outline:0!important;background:transparent!important;padding:9px 0!important;font:500 16px/1.3 Inter,Aptos,"Segoe UI",sans-serif;color:var(--gc-ui-ink)}
.gc-search-clear,.gc-search-close{border:0;background:transparent;cursor:pointer;color:#5e655f;font:600 13px/1 Inter,Aptos,"Segoe UI",sans-serif;padding:9px;border-radius:9px}
.gc-search-clear{font-size:22px;font-weight:300}.gc-search-clear:hover,.gc-search-close:hover{background:var(--gc-ui-soft);color:var(--gc-ui-ink)}
.gc-search-meta,.gc-search-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:11px 5px 8px;color:#777b76;font-size:12px}.gc-search-meta kbd{border:1px solid var(--gc-ui-line);background:var(--gc-ui-soft);border-radius:6px;padding:3px 6px;font:500 10px/1 Inter,sans-serif}
.gc-search-results{display:grid;gap:4px;margin-top:4px}.gc-search-result{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;text-align:left;border:0;background:transparent;padding:9px;border-radius:14px;cursor:pointer;color:var(--gc-ui-ink);transition:background .16s ease,transform .16s ease}.gc-search-result:hover,.gc-search-result.is-active{background:var(--gc-ui-soft);transform:translateX(2px)}
.gc-search-result img{width:76px;height:64px;object-fit:cover;border-radius:10px;background:#eee}.gc-search-result-main{display:grid;gap:4px;min-width:0}.gc-search-result-main strong{font:600 15px/1.25 Inter,sans-serif}.gc-search-result-main small{font:500 11px/1.2 Inter,sans-serif;color:#6a716b}.gc-search-result-main em{font:400 12px/1.35 Inter,sans-serif;color:#7e827d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:normal}.gc-search-result-action{font:600 12px/1 Inter,sans-serif;white-space:nowrap;color:var(--gc-ui-forest)}
.gc-search-empty{padding:36px 18px;text-align:center;color:#687068}.gc-search-empty strong{display:block;font-family:"Bodoni Moda",Georgia,serif;font-size:28px;font-weight:500;color:var(--gc-ui-ink);margin-bottom:8px}.gc-search-empty p{max-width:620px;margin:0 auto;line-height:1.6}.gc-search-loading,.gc-search-error{padding:28px 16px;text-align:center;color:#687068}.gc-search-loading span{display:inline-block;width:16px;height:16px;margin-right:8px;border:2px solid #d5d7d4;border-top-color:var(--gc-ui-forest);border-radius:50%;vertical-align:-3px;animation:gcSpin .65s linear infinite}.gc-search-error{color:#8a3131}

/* Vue configurator assistant */
.gc-vue-configurator{margin:10px 0 18px;border:1px solid rgba(31,56,47,.13);background:linear-gradient(135deg,#fffdfa,#f4f0e7);border-radius:16px;padding:12px 14px;box-shadow:0 7px 22px rgba(28,32,27,.04)}
.gc-vue-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:10px}.gc-vue-title{display:grid;gap:3px}.gc-vue-title small{text-transform:uppercase;letter-spacing:.12em;font:600 9px/1 Inter,sans-serif;color:#758079}.gc-vue-title strong{font:600 13px/1.2 Inter,sans-serif;color:var(--gc-ui-ink)}.gc-vue-price{font:600 14px/1 Inter,sans-serif;color:var(--gc-ui-forest)}
.gc-vue-steps{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.gc-vue-steps::-webkit-scrollbar{display:none}.gc-vue-step{flex:none;border:1px solid #d7d4cc;background:#fff;border-radius:999px;padding:7px 10px;cursor:pointer;font:600 10px/1 Inter,sans-serif;color:#737972;transition:.16s ease}.gc-vue-step:hover:not(:disabled){border-color:#8b9d94;color:var(--gc-ui-forest)}.gc-vue-step.is-active{background:var(--gc-ui-forest);border-color:var(--gc-ui-forest);color:#fff}.gc-vue-step.is-complete:not(.is-active){background:#edf3ef;border-color:#c4d6cb;color:#285a43}.gc-vue-step:disabled{opacity:.45;cursor:not-allowed}.gc-vue-detail{display:flex;gap:14px;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid rgba(31,56,47,.09);font:500 11px/1.4 Inter,sans-serif;color:#667068}.gc-vue-detail strong{color:var(--gc-ui-ink)}.gc-vue-readiness{white-space:nowrap;padding:5px 8px;border-radius:999px;background:#eee9de;color:#6d6659}.gc-vue-readiness.is-ready{background:#e6f2ea;color:#21613f}

@keyframes gcFadeIn{from{opacity:0}to{opacity:1}}@keyframes gcSearchIn{from{opacity:0;transform:translate(-50%,-10px) scale(.985)}to{opacity:1;transform:translate(-50%,0) scale(1)}}@keyframes gcSpin{to{transform:rotate(360deg)}}
@media(max-width:720px){.gc-search-shell{top:70px;width:calc(100vw - 20px);padding:10px;border-radius:18px}.gc-search-box{grid-template-columns:22px minmax(0,1fr) auto}.gc-search-close{display:none}.gc-search-result{grid-template-columns:60px minmax(0,1fr)}.gc-search-result img{width:60px;height:54px}.gc-search-result-action{grid-column:2}.gc-search-result-main em{display:none}.gc-vue-detail{align-items:flex-start;flex-direction:column;gap:7px}}
@media(prefers-reduced-motion:reduce){.gc-search-backdrop,.gc-search-shell,.gc-search-result,.gc-search-loading span,.gc-vue-step{animation:none!important;transition:none!important}}
.lux-actions button.lux-icon{border:0;background:transparent;padding:0;margin:0;cursor:pointer;font:inherit}
@media(max-width:980px){.lux-actions [data-react-search-toggle]{display:grid!important}}
