/* Configurator plugin — colours come from the active theme's tokens. */
.cf-box { --cf-primary: var(--color-theme-primary, var(--theme-primary, #4f46e5)); --cf-border: var(--color-theme-border, var(--theme-border, #e4e4e7)); --cf-muted: var(--color-theme-muted, var(--theme-text-muted, #71717a)); margin-top: 1.25rem; padding: 1.25rem; border: 1px solid var(--cf-border); border-radius: 1rem; color: var(--color-theme-text, var(--theme-text, inherit)); }
.cf-box h3 { margin: 0 0 .75rem; font-size: 1.15rem; font-weight: 600; }
.cf-group { margin-top: 1rem; }
.cf-group h4 { margin: 0 0 .4rem; font-size: .9rem; font-weight: 600; }
.cf-group h4 small { color: var(--cf-muted); font-weight: 400; }
.cf-options { display: grid; gap: .4rem; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); }
.cf-option { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .55rem .75rem; border: 1px solid var(--cf-border); border-radius: .65rem; font-size: .85rem; cursor: pointer; }
.cf-option.is-active { border-color: var(--cf-primary); box-shadow: 0 0 0 1px var(--cf-primary); }
.cf-option.is-disabled { opacity: .45; cursor: not-allowed; }
.cf-option input { accent-color: var(--cf-primary); }
.cf-option small { color: var(--cf-muted); }
.cf-total { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--cf-border); }
.cf-total strong { font-size: 1.4rem; color: var(--cf-primary); }
.cf-button { padding: .7rem 1.3rem; border: 0; border-radius: 999px; background: var(--cf-primary); color: var(--color-theme-on-primary, #fff); font: inherit; font-weight: 600; cursor: pointer; }
.cf-link { border: 0; background: none; color: var(--cf-muted); font: inherit; font-size: .85rem; text-decoration: underline; cursor: pointer; }
.cf-errors { margin: .75rem 0 0; padding-left: 1.1rem; color: #b91c1c; font-size: .85rem; }
.cf-ok { margin: .6rem 0 0; color: #047857; font-size: .85rem; font-weight: 600; word-break: break-all; }
