.rsc-configurator { --rsc-green: var(--rs-blue,var(--rsh-green,#0066d7)); --rsc-border: var(--rs-border,var(--rsh-border,#d9e1ee)); box-sizing: border-box; }
.rsc-configurator *, .rsc-configurator *::before, .rsc-configurator *::after { box-sizing: border-box; }
.rsc-configurator [hidden] { display: none !important; }
.rsc-live-summary { display:grid; margin:10px 0 0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 14px; }
.rsc-live-summary > div { display:flex; min-width:0; padding:5px 0; align-items:baseline; justify-content:space-between; border-bottom:1px solid var(--rsc-border); gap:8px; }
.rsc-live-summary dt,.rsc-live-summary dd { min-width:0; margin:0; font-size:.74rem; }
.rsc-live-summary dt { color:#66718a; }
.rsc-live-summary dd { overflow:hidden; color:#001229; font-weight:750; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.rsc-warning { border: 1px solid #efcc91; border-radius: 10px; background: #fff8ec; color: #744600; padding: 12px; }
.rsc-error { color: #b42318; }
.rsc-cart-feedback { margin:10px 0 0; color:#176b35; font-size:.84rem; font-weight:750; }
.rsc-cart-feedback a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.rsc-add-to-cart:disabled { opacity: .55; cursor: not-allowed; }
.rsc-price { display:flex; min-height:30px; align-items:center; gap:9px; }
.rsc-summary__shipping { display:flex; margin:0 0 10px; align-items:baseline; flex-wrap:wrap; color:#66718a; font-size:.76rem; line-height:1.4; gap:3px 8px; }
.rsc-summary__shipping > span { display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:4px; }
.rsc-summary__shipping strong { color:#001229; font-size:.84rem; font-weight:850; white-space:nowrap; }
.rsc-summary__shipping-tax { color:#66718a; font-size:.7rem; font-style:normal; }
.rsc-summary__shipping small { color:#66718a; font-size:.7rem; }
.rsc-price-loader { display:inline-block; width:17px; height:17px; border:2px solid #b8d6f4; border-top-color:var(--rsc-green); border-radius:50%; animation:rsc-public-price-spin .7s linear infinite; }
.rsc-price-unavailable { margin:8px 0 0; color:#744600; font-size:.8rem; font-weight:750; }
.rsc-quote-link { display:flex; width:100%; min-height:48px; margin-top:10px; align-items:center; justify-content:center; text-align:center; }
@keyframes rsc-public-price-spin { to { rotate:360deg; } }
.rsc-option-browser { display:grid; gap:14px; }
.rsc-option-search { position:relative; display:block !important; max-width:520px; }
.rsc-option-search svg { position:absolute; z-index:1; top:13px; left:14px; width:19px; height:19px; fill:none; stroke:#66718a; stroke-width:1.8; }
.rsc-option-search input { width:100%; min-height:46px; padding-left:44px !important; border-color:#b8c5d9 !important; }
.rsc-visual-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.rsc-configurator .rsc-visual-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.rsc-visual-choice { position:relative; min-width:0; }
.rsc-visual-choice.is-filtered-out, .rsc-visual-choice.is-limit-hidden { display:none; }
.rsc-visual-choice__surface { display:flex !important; height:100%; min-height:165px; overflow:hidden; border:1px solid #d9e1ee; border-radius:11px; background:#fff; flex-direction:column; cursor:pointer; transition:border-color 160ms ease,box-shadow 160ms ease; }
.rsc-visual-choice__surface:hover { border-color:#8eb9ed; box-shadow:0 8px 18px rgba(0,18,41,.08); }
.rsc-visual-choice > input:focus-visible + .rsc-visual-choice__surface { outline:3px solid rgba(0,102,215,.22); outline-offset:2px; }
.rsc-visual-choice > input:checked + .rsc-visual-choice__surface { border-color:#0066d7; background:#f3f7ff; box-shadow:inset 0 0 0 2px #0066d7,0 9px 22px rgba(0,102,215,.12); }
.rsc-visual-choice__media { position:relative; display:grid; width:100%; min-height:0; aspect-ratio:1 / 1; overflow:hidden; place-items:center; border-bottom:1px solid #d9e1ee; background:#f0f4fa; }
.rsc-visual-choice__media img { display:block; width:100%; height:100%; min-height:0; aspect-ratio:1 / 1; object-fit:var(--rsc-media-fit,cover); object-position:var(--rsc-media-position,50% 50%); }
.rsc-visual-choice__media .rsc-sample-fallback,.rsc-sample-placeholder { display:grid; width:100%; height:100%; min-height:0; aspect-ratio:1 / 1; place-content:center; gap:5px; background:linear-gradient(145deg,#f3f7ff,#eaf3ff); color:#001229; text-align:center; }
.rsc-sample-placeholder strong { font-size:1.12rem; letter-spacing:.04em; }
.rsc-sample-placeholder small { color:#66718a; font-size:.72rem; }
.rsc-choice-check { position:absolute; top:8px; left:8px; display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:#0066d7; color:#fff; opacity:0; transition:opacity 140ms ease; }
.rsc-visual-choice > input:checked + .rsc-visual-choice__surface .rsc-choice-check { opacity:1; }
.rsc-visual-choice__body { display:grid; padding:10px; gap:3px; }
.rsc-visual-choice__body > strong { color:#001229; font-size:.92rem; line-height:1.3; }
.rsc-choice-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.rsc-choice-meta small { color:#66718a; font-size:.66rem; font-weight:750; }
.rsc-choice-code { color:#46546d; font-size:.72rem; font-weight:750; }
.rsc-choice-price { margin-top:4px; color:#0066d7; font-size:.75rem; font-weight:800; }
.rsc-sample-open { position:absolute; z-index:3; top:10px; right:10px; display:grid; width:36px; height:36px; place-items:center; border:1px solid rgba(0,18,41,.12); border-radius:50%; background:rgba(255,255,255,.94); color:#001229; cursor:pointer; box-shadow:0 4px 12px rgba(0,18,41,.12); }
.rsc-sample-open:hover,.rsc-sample-open:focus-visible { border-color:#0066d7; color:#0066d7; }
.rsc-sample-open svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.rsc-options-toggle { justify-self:center; min-height:44px; border:1px solid #0066d7; border-radius:10px; background:#fff; color:#0055b5; padding:9px 18px; font-weight:750; cursor:pointer; }
.rsc-option-no-results,.rsc-empty-options { padding:22px; border:1px dashed #b8c5d9; border-radius:12px; background:#f7f9fc; color:#66718a; text-align:center; }
.rsc-selected-material { display:grid; margin-bottom:14px; padding:10px; align-items:center; border:1px solid #b8d6f4; border-radius:11px; background:#f3f8ff; grid-template-columns:72px minmax(0,1fr) auto; gap:12px; }
.rsc-selected-material__media { display:grid; width:72px; height:72px; aspect-ratio:1 / 1; overflow:hidden; place-items:center; border:1px solid #d9e1ee; border-radius:9px; background:#fff; }
.rsc-selected-material__media img { width:100%; height:100%; object-fit:contain; }
.rsc-selected-material__media .rsc-sample-fallback { display:grid; width:100%; height:100%; place-content:center; color:#001229; text-align:center; }
.rsc-selected-material__copy h3,.rsc-selected-material__copy p { margin:0; }
.rsc-selected-material__copy h3 { color:#001229; font-size:.96rem; }
.rsc-selected-material__copy p { color:#66718a; font-size:.76rem; }
.rsc-selected-material__change { min-height:40px; padding:9px 12px; border:1px solid #0066d7; border-radius:9px; background:#fff; color:#0055b5; font-size:.76rem; font-weight:800; text-decoration:none; white-space:nowrap; }
.rsc-sample-modal { position:fixed; z-index:100100; inset:0; display:grid; place-items:center; padding:24px; background:rgba(0,18,41,.72); }
.rsc-sample-modal__dialog { position:relative; display:grid; width:min(820px,100%); max-height:min(760px,calc(100vh - 48px)); overflow:auto; border-radius:20px; background:#fff; grid-template-columns:minmax(260px,1.05fr) minmax(280px,.95fr); box-shadow:0 28px 80px rgba(0,18,41,.34); }
.rsc-sample-modal__close { position:absolute; z-index:2; top:12px; right:12px; display:grid; width:40px; height:40px; place-items:center; border:1px solid #d9e1ee; border-radius:50%; background:#fff; color:#001229; font-size:25px; cursor:pointer; }
.rsc-sample-modal__media { display:grid; min-height:430px; overflow:hidden; place-items:center; background:#f0f4fa; }
.rsc-sample-modal__media img { width:100%; height:100%; min-height:430px; object-fit:var(--rsc-detail-fit,contain); object-position:var(--rsc-detail-position,50% 50%); }
.rsc-sample-modal__media .rsc-sample-placeholder { min-height:430px; }
.rsc-sample-modal__content { display:flex; padding:54px 34px 34px; flex-direction:column; align-items:flex-start; }
.rsc-sample-modal__content h3 { margin:8px 0 2px; color:#001229; font-size:1.45rem; }
.rsc-sample-modal__content p { color:#66718a; }
.rsc-sample-modal__code { margin:0 0 16px; font-size:.78rem; font-weight:800; }
.rsc-modal-choose { width:100%; min-height:50px; margin-top:auto; border:1px solid #0066d7; border-radius:10px; background:#0066d7; color:#fff; padding:11px 18px; font-weight:800; cursor:pointer; }
body.rsc-modal-open { overflow:hidden; }
@media (max-width:1100px) { .rsc-visual-options { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:1024px) { .single-product .rsc-configurator .rsc-visual-options { grid-template-columns:repeat(3,minmax(0,1fr)); } .single-product .rsc-configurator .rsc-visual-choice__surface { min-height:150px; } }
@media (max-width:760px) { .rsc-visual-options { grid-template-columns:repeat(2,minmax(0,1fr)); } .rsc-visual-choice__surface { min-height:150px; } .rsc-sample-modal__dialog { grid-template-columns:1fr; } .rsc-sample-modal__media,.rsc-sample-modal__media img,.rsc-sample-modal__media .rsc-sample-placeholder { min-height:240px; max-height:300px; } .rsc-selected-material { grid-template-columns:64px minmax(0,1fr); } .rsc-selected-material__media { width:64px; height:64px; } .rsc-selected-material__change { grid-column:1 / -1; text-align:center; } }
@media (max-width:520px) { .rsc-live-summary { grid-template-columns:1fr; } }
@media (max-width:360px) { .rsc-visual-options,.rsc-configurator .rsc-visual-options { grid-template-columns:1fr; } }
.rsc-edit-notice{margin:0 0 14px;padding:11px 13px;border:1px solid #b8d6f4;border-radius:10px;background:#f2f8ff;color:#123b66;font-size:.84rem}.rsc-cancel-edit{display:block;margin-top:10px;color:#35506d;font-size:.82rem;font-weight:700;text-align:center}.rsc-cancel-edit:hover{color:#0066d7}
