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

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

/* Keep theme-wide input rules from stretching option checkboxes. */
.cfec .cfec__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}.cfec__option-list>label>span{flex:1 1 auto;min-width:0}

@media(max-width:800px){.cfec .cfec__lead .cfec__grid--2{display:grid!important;grid-template-columns:minmax(0,1fr)!important}.cfec .cfec__lead .cfec__field,.cfec .cfec__lead input{grid-column:1!important;width:100%!important;max-width:none!important}}

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

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

.cfec__tax-note{color:#646970;font-size:.92rem;margin:-12px 0 22px;text-align:center}
