.coverit-native-configuration { margin:0; padding:var(--coverit-section-space) max(var(--coverit-gutter),calc((100% - var(--coverit-width))/2)); border-top:1px solid var(--coverit-border); }
.coverit-native-configuration h2 { border-left:3px solid var(--coverit-accent); padding-left:12px; }

/* Steps and the confirmed result share one guide line, as on the evidenced product pages. */
.configuration-flow { margin-top:32px; padding:0 0 0 32px; border-left:1px solid var(--coverit-border); }
.coverit-native-configuration__fields { display:grid; gap:20px; margin:0; }
.configuration-step { min-width:0; margin:0; padding:0; border:0; }
.configuration-step legend { display:inline-flex; align-items:center; min-height:32px; margin:0 0 10px -49px; padding:0 8px 0 0; font-size:16px; line-height:20px; font-weight:600; background:var(--coverit-accent); color:var(--coverit-background); }
.configuration-step__number { display:inline-flex; justify-content:center; align-items:center; width:32px; font-variant-numeric:tabular-nums; }
.configuration-step > p { margin:0 0 8px; font-size:16px; line-height:1.5; }
.configuration-help { display:grid; gap:0; margin-bottom:8px; max-width:none; }
.configuration-help p { margin:0; font-size:16px; line-height:1.5; color:var(--coverit-text); }
.configuration-step__choices { display:flex; flex-wrap:wrap; gap:12px; }
.configuration-step__footnote { display:grid; gap:2px; margin:12px 0 0; }
.configuration-step__footnote p { margin:0; font-size:13px; line-height:1.5; color:var(--coverit-muted); }

/* Option card (single choice, so a round radio indicator): value large, the advantage and the key figures of that option below, so values compare side by side. */
.configuration-choice { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:8px; flex:1 1 13rem; max-width:20rem; min-width:0; min-height:46px; padding:16px; border:2px solid var(--coverit-border); background:var(--coverit-background); cursor:pointer; text-align:left; }
.configuration-choice input { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.configuration-choice::before { content:""; position:absolute; top:16px; right:16px; width:20px; height:20px; box-sizing:border-box; border:2px solid var(--coverit-muted); border-radius:50%; }
.configuration-choice:has(:checked)::before { border-color:var(--coverit-accent); }
.configuration-choice:has(:checked)::after { content:""; position:absolute; top:21px; right:21px; width:10px; height:10px; border-radius:50%; background:var(--coverit-accent); }
.configuration-choice:has(:checked) { border-color:var(--coverit-accent); }
.configuration-choice:hover:not(:has(:disabled)) { border-color:var(--coverit-accent); }
.configuration-choice:has(:disabled) { color:var(--coverit-unavailable); border-color:var(--coverit-unavailable); border-style:dashed; cursor:not-allowed; }
.configuration-choice:has(:disabled)::before { border-color:var(--coverit-unavailable); }
.configuration-choice:has(:focus-visible) { outline:2px solid var(--coverit-text); outline-offset:3px; }
.configuration-choice__value { padding-right:32px; font-size:clamp(18px,1.4vw,22px); line-height:1.3; font-weight:600; font-style:italic; overflow-wrap:anywhere; }
.configuration-choice__detail { flex:1 1 auto; display:grid; gap:4px; font-size:16px; line-height:1.4; font-weight:400; }
.configuration-choice__detail:empty { display:none; }
.configuration-choice__detail small { font-size:13px; }
.configuration-choice__metrics { display:grid; gap:8px; align-self:stretch; padding-top:12px; border-top:1px solid var(--coverit-border); }
.configuration-choice__metric { display:grid; gap:2px; }
.configuration-choice__name { font-size:13px; line-height:1.4; color:var(--coverit-muted); }
.configuration-choice__figure { font-size:16px; line-height:1.4; font-weight:600; font-variant-numeric:tabular-nums; }
.configuration-choice:has(:disabled) .configuration-choice__name { color:inherit; }
.configuration-submit { margin-top:20px; }
[data-configuration-enhanced] .configuration-submit { display:none; }
.configuration-flow > [role="status"] { margin:20px 0 0; }

/* Result: product data left, shop action right inside the orange confirmation. */
.coverit-native-configuration__result { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,376px); gap:24px; align-items:stretch; margin:24px 0 0; padding:20px; border:1px solid var(--coverit-accent); background:var(--coverit-accent); color:var(--coverit-background); }
.configuration-result__info { min-width:0; }
.coverit-native-configuration__result h3 { margin:0; font-size:clamp(24px,2.1vw,30px); line-height:1.2; font-style:italic; font-weight:700; }
.coverit-native-configuration__result p { margin:0; font-size:16px; line-height:1.5; }
.coverit-native-configuration__result p:empty { display:none; }
.coverit-native-configuration__result > .coverit-status { align-self:center; }
.configuration-result__shop.coverit-button { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:0; padding:20px; background:var(--coverit-background); color:var(--coverit-accent); border:1px solid var(--coverit-accent); font-size:16px; line-height:20px; text-align:left; }
.configuration-result__shop.coverit-button:hover { background:var(--coverit-text); color:var(--coverit-background); }
.configuration-cart { flex:none; }

.configuration-alternatives { margin:56px 0 24px; padding-top:32px; border-top:1px solid var(--coverit-border); }
.configuration-alternatives > h3 { margin:0 0 20px; font-size:clamp(24px,2.1vw,30px); line-height:1.2; font-style:italic; font-weight:700; }
.configuration-alternatives .coverit-native-configuration__result { margin-top:16px; background:var(--coverit-background); color:var(--coverit-text); border-color:var(--coverit-border); }
.configuration-alternatives .configuration-result__shop.coverit-button { background:transparent; color:var(--coverit-text); border-color:var(--coverit-text); }
.configuration-alternatives .configuration-result__shop.coverit-button .configuration-cart { color:var(--coverit-accent); }
.configuration-alternatives .configuration-result__shop.coverit-button:hover { border-color:var(--coverit-accent); }
.configuration-note { margin:12px 0 0; font-size:16px; line-height:1.5; }
.configuration-all { margin:56px 0 0; text-align:center; }
.configuration-all .coverit-button { display:inline-flex; justify-content:center; align-items:center; gap:20px; width:min(100%,876px); margin:0; }

.coverit-native-configuration[aria-busy] { cursor:progress; }
.coverit-native-configuration[aria-busy] form { pointer-events:none; opacity:.65; }

@media(max-width:767px) {
 .configuration-flow { padding-left:20px; }
 .configuration-step legend { margin-left:-37px; }
 .configuration-choice { flex-basis:100%; max-width:none; padding:12px; }
 .configuration-choice::before { top:12px; right:12px; }
 .configuration-choice:has(:checked)::after { top:17px; right:17px; }
 .coverit-native-configuration__result { grid-template-columns:minmax(0,1fr); gap:16px; padding:20px; }
 .configuration-alternatives { margin-top:40px; padding-top:28px; }
 .configuration-all { margin-top:32px; }
 .configuration-all .coverit-button { width:100%; }
}
.configuration-result__label { margin: 0 0 4px; font-size: 13px; font-weight: 600; text-transform: none; }
