.rfec{--rfec-accent:var(--wp--preset--color--primary,#1d5dbf);--rfec-text:var(--wp--preset--color--contrast,#182230);--rfec-bg:var(--wp--preset--color--base,#fff);--rfec-border:color-mix(in srgb,var(--rfec-text) 16%,transparent);color:var(--rfec-text);font:inherit;max-width:960px;margin:2rem auto}.rfec *{box-sizing:border-box}.rfec__form{background:var(--rfec-bg);border:1px solid var(--rfec-border);border-radius:18px;box-shadow:0 14px 45px rgba(0,0,0,.08);overflow:hidden}.rfec__header{padding:clamp(24px,5vw,48px);padding-bottom:24px}.rfec__header h2{font-size:clamp(2rem,5vw,3.25rem);font-weight:750;line-height:1.05;margin:.25rem 0 .75rem}.rfec__header p{margin:0;max-width:640px}.rfec__eyebrow{color:var(--rfec-accent);font-size:.78rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.rfec__progress{display:flex;gap:8px;padding:0 clamp(24px,5vw,48px) 26px}.rfec__progress span{height:5px;background:var(--rfec-border);border-radius:9px;flex:1}.rfec__progress .is-active{background:var(--rfec-accent)}.rfec__step{display:none;padding:0 clamp(24px,5vw,48px) clamp(28px,5vw,48px)}.rfec__step.is-active{display:block}.rfec h3{font-size:1.35rem;font-weight:700;margin:0 0 1.25rem}.rfec__grid{display:grid;gap:18px;margin-bottom:22px}.rfec__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.rfec__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.rfec__field{display:flex;flex-direction:column;gap:7px;font-weight:650}.rfec__field small{font-weight:400;opacity:.7}.rfec input,.rfec select{font:inherit;color:inherit;background:var(--rfec-bg);border:1px solid var(--rfec-border);border-radius:8px;min-height:48px;padding:10px 12px}.rfec input:focus,.rfec select:focus{outline:3px solid color-mix(in srgb,var(--rfec-accent) 25%,transparent);border-color:var(--rfec-accent)}.rfec input[type=range]{border:0;padding:0;min-height:30px;accent-color:var(--rfec-accent);flex:1}.rfec__number{display:flex;align-items:center;gap:10px}.rfec__number input[type=number]{width:100px}.rfec fieldset{border:0;padding:0;margin:0 0 24px}.rfec legend{font-weight:700;margin-bottom:10px}.rfec__choices{display:grid;gap:10px}.rfec__choices--3{grid-template-columns:repeat(3,minmax(0,1fr))}.rfec__choice[hidden]{display:none}.rfec__choice input{position:absolute;opacity:0;pointer-events:none}.rfec__choice span{display:flex;flex-direction:column;height:100%;padding:16px;border:1px solid var(--rfec-border);border-radius:10px;cursor:pointer;font-weight:700}.rfec__choice small{font-weight:400;opacity:.65;margin-top:4px}.rfec__choice input:checked+span{border-color:var(--rfec-accent);box-shadow:inset 0 0 0 2px var(--rfec-accent);background:color-mix(in srgb,var(--rfec-accent) 5%,var(--rfec-bg))}.rfec__material-note{font-size:.85rem;margin:10px 0 0;opacity:.72}.rfec__advanced{border:1px solid var(--rfec-border);border-radius:10px;margin:10px 0 25px}.rfec__advanced summary{cursor:pointer;font-weight:700;padding:16px}.rfec__advanced[open]{padding:0 16px 18px}.rfec__advanced[open] summary{margin:0 -16px 16px}.rfec__checks{display:flex;flex-wrap:wrap;gap:18px}.rfec__checks label{display:flex;align-items:center;gap:7px}.rfec__checks input{min-height:auto;accent-color:var(--rfec-accent)}.rfec__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px}.rfec button,.rfec__book{appearance:none;border:0;border-radius:8px;background:var(--rfec-accent);color:#fff;cursor:pointer;font:inherit;font-weight:700;line-height:1.2;padding:14px 20px;text-decoration:none}.rfec button:disabled{opacity:.6;cursor:wait}.rfec__back,.rfec__print{background:transparent!important;color:var(--rfec-text)!important;border:1px solid var(--rfec-border)!important}.rfec__result{background:color-mix(in srgb,var(--rfec-accent) 9%,var(--rfec-bg));border-radius:14px;padding:25px;margin-bottom:28px;text-align:center}.rfec__result span,.rfec__result small{display:block}.rfec__result>span{font-size:1.25em}.rfec__result strong{display:block;color:var(--rfec-accent);font-size:clamp(1.75rem,5vw,3rem);line-height:1.15;margin:8px 0}.rfec__line-items table{border-collapse:collapse;width:100%}.rfec__line-items td{border-bottom:1px solid var(--rfec-border);padding:10px 4px}.rfec__line-items td:last-child{text-align:right;white-space:nowrap}.rfec__lead{background:color-mix(in srgb,var(--rfec-text) 3%,var(--rfec-bg));border:1px solid var(--rfec-border);border-radius:12px;margin-top:28px;padding:22px}.rfec__lead p{margin-top:-8px}.rfec__email{width:100%}.rfec__status{margin:10px 0 0!important;text-align:center}.rfec__status.is-success{color:#08783e}.rfec__status.is-error{color:#b42318}.rfec__disclaimer{border-top:1px solid var(--rfec-border);font-size:.82rem;line-height:1.5;margin:28px 0 0;padding-top:20px;opacity:.75}.rfec__hp{position:absolute!important;left:-9999px!important}
@media(max-width:720px){.rfec__grid--2,.rfec__grid--3,.rfec__choices--3{grid-template-columns:1fr}.rfec__number input[type=number]{width:86px}.rfec__actions>*{flex:1;text-align:center}.rfec__actions--result{flex-direction:column}.rfec__actions--result>*{width:100%}}
@media print{body>*:not(.wp-site-blocks),header,footer,.wp-block-template-part,.rfec__header,.rfec__progress,.rfec__lead,.rfec__actions{display:none!important}.rfec,.rfec__form{box-shadow:none;border:0;margin:0;max-width:none}.rfec__step{display:none!important}.rfec__step[data-step="3"]{display:block!important;padding:0}.rfec__result{border:1px solid #ccc}.rfec__disclaimer{display:block!important}.rfec{--rfec-text:#000;--rfec-bg:#fff;--rfec-accent:#000}}

/* Version 1.1 question-by-question layout */
.rfec__question-number{color:var(--rfec-accent);font-size:.8rem;font-weight:750;letter-spacing:.06em;margin:0 0 6px;text-transform:uppercase}.rfec__material-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.rfec__material-card{display:block}.rfec__material-card input{position:absolute;opacity:0;pointer-events:none}.rfec__material-card span{background:var(--rfec-bg);border:1px solid var(--rfec-border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden}.rfec__material-card img{aspect-ratio:16/9;background:#eef1f4;display:block;height:auto;object-fit:cover;width:100%}.rfec__material-card b{font-size:1rem;padding:13px 14px 2px}.rfec__material-card small{opacity:.65;padding:0 14px 14px}.rfec__material-card input:focus+span,.rfec__material-card input:checked+span{border-color:var(--rfec-accent);box-shadow:inset 0 0 0 2px var(--rfec-accent)}.rfec__validation{color:#b42318;font-weight:650;margin:12px 0 0}.rfec__field--wide{max-width:600px}.rfec__gate-group{border:1px solid var(--rfec-border);border-radius:12px;margin-bottom:18px;padding:20px}.rfec__gate-group h4{font-size:1.05rem;font-weight:750;margin:0 0 15px}.rfec__option-list{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.rfec__option-list>label{align-items:flex-start;border:1px solid var(--rfec-border);border-radius:10px;cursor:pointer;display:flex;gap:11px;padding:15px}.rfec__option-list input{accent-color:var(--rfec-accent);margin-top:3px;min-height:auto}.rfec__option-list span{display:flex;flex-direction:column}.rfec__option-list small{margin-top:3px;opacity:.68}.rfec__option-list label:has(input:checked){border-color:var(--rfec-accent);box-shadow:inset 0 0 0 1px var(--rfec-accent)}
@media(max-width:720px){.rfec__material-grid,.rfec__option-list{grid-template-columns:1fr 1fr}.rfec__material-card b{font-size:.9rem}.rfec__material-card small{font-size:.74rem}}
@media(max-width:460px){.rfec__material-grid,.rfec__option-list{grid-template-columns:1fr}}
@media print{.rfec__step[data-step="3"]{display:none!important}.rfec__step[data-step="6"]{display:block!important}}
.rfec__inspection-cta{font-size:1.05rem;font-weight:650;margin:-10px 0 28px;text-align:center}.rfec__inspection-cta a{color:var(--rfec-accent)}.rfec__edit{background:var(--rfec-bg)!important;color:var(--rfec-text)!important;border:1px solid var(--rfec-border)!important}

/* Keep theme-wide input rules from stretching option checkboxes. */
.rfec .rfec__option-list input[type="checkbox"]{appearance:auto!important;display:block!important;position:static!important;float:none!important;flex:0 0 18px!important;inline-size:18px!important;width:18px!important;min-width:18px!important;max-width:18px!important;block-size:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;margin:2px 0 0!important;padding:0!important;transform:none!important}.rfec__option-list>label>span{flex:1 1 auto;min-width:0}

@media(max-width:800px){.rfec .rfec__lead .rfec__grid--2{display:grid!important;grid-template-columns:minmax(0,1fr)!important}.rfec .rfec__lead .rfec__field,.rfec .rfec__lead input{grid-column:1!important;width:100%!important;max-width:none!important}}

@media(max-width:800px){
  .rfec .rfec__material-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rfec .rfec__step[data-step="2"] .rfec__grid--3{align-items:end!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .rfec .rfec__step[data-step="2"] .rfec__field>span,
  .rfec .rfec__step[data-step="3"] .rfec__field>span{align-items:flex-end;display:flex;min-height:2.8em}
  .rfec .rfec__step[data-step="2"] .rfec__field>input,
  .rfec .rfec__step[data-step="2"] .rfec__field>select,
  .rfec .rfec__step[data-step="3"] .rfec__field>input,
  .rfec .rfec__step[data-step="3"] .rfec__field>select{height:52px!important;min-height:52px!important}
  .rfec .rfec__step[data-step="3"] .rfec__grid{align-items:end!important}
}

/* Draw the selected-card border above custom images so every edge stays even. */
.rfec__material-card span{position:relative}.rfec__material-card input:focus+span,.rfec__material-card input:checked+span{box-shadow:none}.rfec__material-card input:focus+span::after,.rfec__material-card input:checked+span::after{border:3px solid var(--rfec-accent);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute;z-index:2}

.rfec__tax-note{color:#646970;font-size:.92rem;margin:-12px 0 22px;text-align:center}
.rfec__hint{margin:-10px 0 18px;opacity:.72}.rfec__roof-shapes{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.rfec__roof-shape{display:block;min-width:0}.rfec__roof-shape input{opacity:0;pointer-events:none;position:absolute}.rfec__roof-shape span{border:1px solid var(--rfec-border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden;padding-bottom:14px}.rfec__roof-shape img{aspect-ratio:4/3;background:color-mix(in srgb,var(--rfec-accent) 6%,var(--rfec-bg));display:block;height:auto;margin-bottom:12px;object-fit:cover;width:100%}.rfec__roof-shape b,.rfec__roof-shape small{padding:0 13px}.rfec__roof-shape small{margin-top:4px;opacity:.68}.rfec__roof-shape input:focus+span,.rfec__roof-shape input:checked+span{border-color:var(--rfec-accent);box-shadow:inset 0 0 0 2px var(--rfec-accent)}.rfec__included-note{background:color-mix(in srgb,var(--rfec-accent) 7%,var(--rfec-bg));border-left:4px solid var(--rfec-accent);border-radius:6px;line-height:1.55;margin:0 0 18px;padding:14px 16px}@media(max-width:800px){.rfec__roof-shapes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.rfec__roof-shapes{grid-template-columns:1fr}}
.rfec__roof-shape span{position:relative}.rfec__roof-shape input:focus+span,.rfec__roof-shape input:checked+span{box-shadow:none}.rfec__roof-shape input:focus+span::after,.rfec__roof-shape input:checked+span::after{border:3px solid var(--rfec-accent);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute;z-index:2}
