.gcp-opt{position:relative;border:1px solid var(--stone,#e7dfd4);border-radius:18px;padding:18px 18px 8px;margin:0 0 22px;background:#fff;min-width:0}
.gcp-opt legend{font:700 19px/1.3 'DynaPuff',system-ui,sans-serif;padding:0 6px}
.gcp-opt-hint{font-size:14px;margin:0 0 12px;color:#5b4a6e}
.gcp-opt-group{margin:0 0 14px}.gcp-opt-group h4{margin:0 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.08em}
.gcp-opt-schemes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.gcp-opt-singles{display:flex;flex-wrap:wrap;gap:8px}
.gcp-opt input[type=radio],.gcp-opt input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px}
.gcp-opt-card label,.gcp-opt-chip label{display:flex;cursor:pointer;border:2px solid var(--stone,#e7dfd4);border-radius:14px;background:#fff;transition:border-color .15s,background .15s}
.gcp-opt-card label{flex-direction:column;gap:4px;padding:10px 12px;height:100%}
.gcp-opt-card small{font-size:12px;line-height:1.35;color:#5b4a6e}
.gcp-opt-chip label{align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;font-size:14px}
.gcp-opt input:checked+label{border-color:var(--berry,#d6246e);background:#fff4f9;box-shadow:0 0 0 1px var(--berry,#d6246e)}
.gcp-opt input:focus-visible+label{outline:3px solid #176953;outline-offset:2px}
.gcp-opt input:disabled+label{opacity:.45;cursor:not-allowed}
.gcp-opt-dots{display:flex;gap:4px}
.gcp-opt-dot{display:inline-block;width:24px;height:24px;border-radius:50%;border:1px solid #0002;flex:none;box-shadow:inset 0 -3px 5px #0001}
.gcp-opt-dot.is-blank{background:repeating-linear-gradient(45deg,#eee 0 4px,#fff 4px 8px)}
.gcp-opt-scheme-img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.gcp-opt-more{display:grid;gap:10px}
.gcp-opt-note label,.gcp-opt-count{display:block;font-size:14px;font-weight:700;margin:0 0 6px}
.gcp-opt-note textarea{width:100%;border:1px solid var(--stone,#e7dfd4);border-radius:12px;padding:10px}
.gcp-opt-custom{padding:4px 0 6px}
.gcp-opt [hidden]{display:none!important}
@media(max-width:600px){.gcp-opt{padding:14px 12px 6px}.gcp-opt-schemes{grid-template-columns:repeat(2,minmax(0,1fr))}}
