/* The page title stays the accessible h1; visually the advisor starts with its own heading (as on the homepage). */
.coverit-advisor .coverit-intro { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); padding:0; }
.coverit-advisor > .coverit-content { max-width:var(--coverit-width); margin-inline:auto; padding:var(--coverit-section-space) var(--coverit-gutter); }
.coverit-advisor > .coverit-content > .frame { border:0; padding:0; margin:0 0 40px; }
.coverit-advisor > .coverit-content > .frame-layout-12 { margin-bottom:60px; }
.coverit-question { border:0; padding:0; margin:0; min-width:0; }
.coverit-question legend { float:left; width:100%; padding:0; margin:0 0 24px; font:700 var(--coverit-chapter)/1.2 Montserrat,sans-serif; font-style:italic; }
.coverit-question__description { clear:both; margin:0 0 32px; font-size:18px; line-height:1.6; color:var(--coverit-muted); }
.coverit-question__answers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.coverit-answer { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:12px; min-width:0; padding:24px; border:1px solid var(--coverit-border); cursor:pointer; }
.coverit-answer input { position:absolute; width:1px; height:1px; opacity:0; }
.coverit-answer:has(input:focus-visible) { outline:2px solid var(--coverit-text); outline-offset:4px; }
.coverit-answer:has(input:enabled):hover,.coverit-answer:has(input:checked) { border-color:var(--coverit-accent); background:color-mix(in srgb,var(--coverit-accent) 7%,var(--coverit-background)); }
.coverit-answer:has(input:checked)::after { content:''; position:absolute; right:16px; top:12px; width:6px; height:12px; border:solid var(--coverit-accent); border-width:0 2px 2px 0; transform:rotate(45deg); }
.coverit-answer__icon { width:56px; height:56px; background:var(--coverit-accent); mask-size:contain; mask-position:center; mask-repeat:no-repeat; }
.coverit-answer strong { padding-right:16px; font-size:clamp(18px,1.4vw,22px); line-height:1.3; font-weight:600; overflow-wrap:anywhere; }
.coverit-answer > span { font-size:18px; line-height:1.5; color:var(--coverit-muted); }
.coverit-progress__count { margin:0 0 18px; font-size:14px; }
.coverit-progress { display:flex; gap:6px; list-style:none; margin:0; padding:0; }
.coverit-progress li { flex:1; min-width:0; }
.coverit-progress a { position:relative; display:flex; flex-direction:column; align-items:center; gap:12px; min-height:64px; padding-bottom:8px; text-align:center; text-decoration:none; font-size:14px; overflow-wrap:anywhere; }
.coverit-progress a::before { content:''; position:absolute; top:13px; inset-inline:0; height:3px; background:var(--coverit-border); }
.coverit-progress__number { z-index:1; display:grid; place-items:center; width:28px; height:28px; border:2px solid var(--coverit-border); background:var(--coverit-background); }
.coverit-progress a[aria-current=step] { color:var(--coverit-accent); }
.coverit-progress a[aria-current=step]::before { background:var(--coverit-accent); }
.coverit-progress a[aria-current=step] .coverit-progress__number { border-color:var(--coverit-accent); }
@media(max-width:1024px) { .coverit-advisor > .coverit-content { padding:40px var(--coverit-gutter); } .coverit-question__answers { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .coverit-advisor > .coverit-content { padding-block:32px; } .coverit-question legend { font-size:26px; } .coverit-question__answers { grid-template-columns:minmax(0,1fr); } .coverit-answer { padding:20px; } .coverit-answer strong { font-size:22px; } .coverit-answer > span,.coverit-question__description { font-size:16px; } }

.coverit-question--configuration { border-left:1px solid var(--coverit-border); margin-block:24px; }
.coverit-question--configuration legend { float:none; width:auto; padding:4px 16px; background:var(--coverit-accent); color:var(--coverit-background); font:600 16px/1.5 Montserrat,sans-serif; }
.coverit-question--configuration .coverit-question__description { color:var(--coverit-text); margin:12px 0 8px; padding-left:32px; font-size:16px; }
.coverit-question--configuration .coverit-question__answers { grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr)); padding-left:32px; gap:8px; }
.coverit-question--configuration .coverit-answer { align-items:center; padding:12px; text-align:center; }
.coverit-question--configuration .coverit-answer strong { font-size:16px; }
.coverit-question--configuration .coverit-answer > span { font-size:14px; }
.coverit-question--configuration .coverit-answer__icon { display:none; }

.coverit-answer:has(input:disabled) { color:var(--coverit-unavailable); border-color:var(--coverit-unavailable); border-style:dashed; cursor:not-allowed; }
.coverit-answer:has(input:disabled) > span { color:var(--coverit-unavailable); }
.coverit-answer:has(input:disabled) .coverit-answer__icon { background:var(--coverit-unavailable); }
.coverit-content > .frame-type-coverit_question.frame-layout-2 { border:0; padding-block:0; }
.coverit-question--configuration { margin-block:0 20px; }
.coverit-question--configuration legend { margin-bottom:0; }
.coverit-answer__unavailable { font-size:13px; font-weight:600; }
.coverit-advisor .frame-type-text .ce-bodytext { max-width:72ch; color:var(--coverit-muted); }
.coverit-advisor .coverit-content > .frame:last-child { margin-bottom:0; }
.coverit-advisor .coverit-progress { padding-block:4px; }

[data-coverit-advisor] [hidden] { display:none !important; }
.advisor-runtime-status { margin:0 0 24px; color:var(--coverit-muted); font-size:14px; font-weight:600; line-height:1.4; }
.advisor-runtime-status:empty { display:none; }
.advisor-runtime-trail { margin:0 0 40px; }
.advisor-runtime-trail ol { display:flex; align-items:flex-start; gap:4px; margin:0; padding:0; list-style:none; }
.advisor-runtime-trail li { display:flex; flex:1 1 0%; min-width:0; }
.advisor-runtime-trail__crumb { position:relative; display:flex; flex-direction:column; align-items:center; width:100%; min-width:0; margin:0; padding:22px 0 0; border:0; border-top:4px solid var(--coverit-border); border-radius:0; background:none; color:var(--coverit-text); font:400 var(--coverit-body)/1.5 Montserrat,sans-serif; text-align:center; }
.advisor-runtime-trail__number { position:absolute; top:-2px; left:50%; transform:translate(-50%,-50%); display:inline-grid; place-items:center; box-sizing:border-box; width:24px; height:24px; border:2px solid var(--coverit-border); background:var(--coverit-background); font-size:14px; font-weight:600; line-height:1.4; }
.advisor-runtime-trail__body { display:flex; flex-direction:column; align-items:center; width:100%; min-width:0; }
.advisor-runtime-trail__step,.advisor-runtime-trail__answer { display:block; max-width:100%; overflow-wrap:break-word; hyphens:auto; }
.advisor-runtime-trail__step { color:var(--coverit-muted); font-size:14px; font-weight:600; line-height:1.4; }
.advisor-runtime-trail [data-state=done] .advisor-runtime-trail__crumb { border-top-color:var(--coverit-accent); cursor:pointer; }
.advisor-runtime-trail [data-state=done] .advisor-runtime-trail__number { background:var(--coverit-accent); border-color:var(--coverit-accent); color:var(--coverit-background); }
.advisor-runtime-trail [data-state=done] .advisor-runtime-trail__crumb:is(:hover,:focus-visible) { border-top-color:var(--coverit-action-hover); color:var(--coverit-accent); }
.advisor-runtime-trail [data-state=done] .advisor-runtime-trail__crumb:is(:hover,:focus-visible) .advisor-runtime-trail__number { background:var(--coverit-action-hover); border-color:var(--coverit-action-hover); }
.advisor-runtime-trail__crumb:focus-visible { outline:2px solid var(--coverit-accent); outline-offset:2px; }
.advisor-runtime-trail [data-state=current] .advisor-runtime-trail__crumb { border-top-color:color-mix(in srgb,var(--coverit-accent) 64%,transparent); }
.advisor-runtime-trail [data-state=current] :is(.advisor-runtime-trail__step,.advisor-runtime-trail__number) { color:var(--coverit-accent); }
.advisor-runtime-trail [data-state=current] .advisor-runtime-trail__number { border-color:var(--coverit-accent); }
.advisor-runtime-trail [data-state=open] .advisor-runtime-trail__number { color:var(--coverit-unavailable); }
.advisor-runtime-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px; margin-block:48px; }
.advisor-runtime-actions .coverit-button { margin:0; }
.advisor-runtime-count,.advisor-runtime-note { margin:0 0 24px; color:var(--coverit-muted); font-size:var(--coverit-body); line-height:1.5; }

/* Request step: core EXT:form markup inside the advisor. */
.advisor-runtime-request { margin-top:64px; }
.advisor-runtime-request__status { margin:0 0 24px; color:var(--coverit-muted); font-size:14px; font-weight:600; }
.advisor-runtime-request__status:empty { display:none; }
.advisor-runtime-request [data-request-content] > .frame { margin:0; padding:0; border:0; }
.advisor-runtime-request [data-request-content]:focus { outline:none; }
@media(max-width:767px) { .advisor-runtime-request { margin-top:40px; } }

/* Advisor: incomplete answer rows are centred; card widths stay those of the three-column grid. */
[data-coverit-advisor] .coverit-question__answers { display:flex; flex-wrap:wrap; justify-content:center; }
[data-coverit-advisor] .coverit-answer { flex:0 0 calc((100% - 32px) / 3); box-sizing:border-box; }
@media(max-width:1024px) { [data-coverit-advisor] .coverit-answer { flex-basis:calc((100% - 16px) / 2); } }
@media(max-width:767px) { [data-coverit-advisor] .coverit-answer { flex-basis:100%; } }

/* Results: the suitable products are the recommendation; system components follow clearly subordinate and compact. */
.advisor-runtime-group--primary .coverit-product-results > li { position:relative; }
.advisor-runtime-group--primary .coverit-product-result { border:2px solid var(--coverit-accent); background:color-mix(in srgb,var(--coverit-accent) 6%,var(--coverit-background)); }
.advisor-runtime-badge { position:absolute; z-index:1; top:0; left:0; padding:6px 12px; background:var(--coverit-accent); color:var(--coverit-background); font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.advisor-runtime-group--supplement { margin-top:64px; padding-top:40px; border-top:1px solid var(--coverit-border); }
.advisor-runtime-group--supplement h3 { color:var(--coverit-muted); font-size:20px; }
.advisor-runtime-group--supplement .coverit-product-results { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.advisor-runtime-group--supplement .coverit-product-result { grid-template-columns:96px minmax(0,1fr); }
.advisor-runtime-group--supplement .coverit-product-result__image { height:100%; min-height:96px; object-fit:cover; }
.advisor-runtime-group--supplement .coverit-product-result__body { gap:10px; padding:12px 14px; }
.advisor-runtime-group--supplement .coverit-product-result__body h3 { color:var(--coverit-text); font-size:17px; font-style:normal; }
.advisor-runtime-group--supplement .coverit-product-result__body p { font-size:15px; line-height:1.45; }
.advisor-runtime-group--supplement .coverit-product-result .coverit-button { min-height:0; padding:8px 12px; font-size:14px; }
@media(max-width:1280px) { .advisor-runtime-group--supplement .coverit-product-results { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .advisor-runtime-group--supplement .coverit-product-results { grid-template-columns:minmax(0,1fr); } .advisor-runtime-group--supplement .coverit-product-result { grid-template-columns:96px minmax(0,1fr); } .advisor-runtime-group--supplement .coverit-product-result__image { height:100%; min-height:96px; object-fit:cover; } }

/* Request form: optional contact preference and availability as COVERiT check tiles. */
.advisor-runtime-request fieldset { min-width:0; margin:0 0 20px; padding:0; border:0; }
.advisor-runtime-request fieldset legend { margin:0 0 10px; padding:0; font-size:16px; font-weight:600; line-height:1.4; }
.advisor-runtime-request .coverit-availability .coverit-choices { margin-bottom:12px; }
.advisor-runtime-request .coverit-availability .coverit-choices legend { color:var(--coverit-muted); font-size:14px; }
.coverit-choices [role=group] { display:flex; flex-wrap:wrap; gap:10px; }
.coverit-choice__label { position:relative; display:flex; align-items:center; gap:12px; min-height:48px; box-sizing:border-box; padding:10px 16px; border:1px solid var(--coverit-border); cursor:pointer; font-size:16px; font-weight:600; }
.coverit-choice__input { position:absolute; width:1px; height:1px; opacity:0; }
.coverit-choice__label::before { content:''; flex:none; width:22px; height:22px; box-sizing:border-box; border:2px solid var(--coverit-border); }
.coverit-choice__label:hover { border-color:var(--coverit-accent); }
.coverit-choice__label:has(input:checked) { border-color:var(--coverit-accent); background:color-mix(in srgb,var(--coverit-accent) 10%,var(--coverit-background)); }
.coverit-choice__label:has(input:checked)::before { border-color:var(--coverit-accent); background:var(--coverit-accent); }
.coverit-choice__label:has(input:checked)::after { content:''; position:absolute; left:24px; top:50%; width:6px; height:12px; border:solid var(--coverit-background); border-width:0 3px 3px 0; transform:translate(0,-62%) rotate(45deg); }
.coverit-choice__label:has(input:focus-visible) { outline:2px solid var(--coverit-text); outline-offset:3px; }
.coverit-choices--tiles .coverit-choice { flex:1 1 200px; }
.coverit-choices--tiles .coverit-choice__label { min-height:56px; font-size:17px; }
.coverit-choices--chips .coverit-choice__label { min-height:44px; padding:8px 14px; font-size:15px; }

/* Result view: the recommendation leads. The introduction disappears, the trail stays as compact navigation
   (its numbers replace back/restart buttons) and an empty action row takes no space. */
[data-coverit-advisor][data-state=complete] .advisor-runtime-intro { display:none; }
[data-coverit-advisor][data-state=complete] .advisor-runtime-trail { margin-bottom:32px; }
[data-coverit-advisor][data-state=complete] .advisor-runtime-trail__crumb { padding-top:16px; }
[data-coverit-advisor][data-state=complete] .advisor-runtime-trail__step { font-size:12px; }
[data-coverit-advisor][data-state=complete] .advisor-runtime-trail__answer { font-size:15px; line-height:1.35; }
.advisor-runtime-actions:not(:has(> :not([hidden]))) { display:none; }
.advisor-runtime-results > h2 { margin-bottom:6px; }
.advisor-runtime-results > .advisor-runtime-count { margin-bottom:28px; }
.advisor-runtime-results > .advisor-runtime-note { margin:40px 0 0; max-width:72ch; font-size:15px; }
.advisor-runtime-group--primary h3 { margin-top:0; font-size:20px; color:var(--coverit-muted); }
/* Headings receive focus programmatically (tabindex -1) for screen readers; they are no keyboard targets. */
[data-coverit-advisor] :is(h2,legend)[tabindex="-1"]:focus { outline:none; }
@media(max-width:767px) { [data-coverit-advisor][data-state=complete] .advisor-runtime-trail__answer { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:13px; } }
[data-next] { scroll-margin-bottom: 24px; }
