/* Briefing wizard */
.bf-body{background:#fff linear-gradient(180deg,var(--soft),#fff 420px) no-repeat}
.bf-step legend:focus{outline:0}
.bf-main{padding:40px 0 80px}
.bf-wrap{max-width:820px}
.bf-intro{text-align:center;margin-bottom:28px}
.bf-intro h1{font-size:clamp(1.9rem,4.4vw,2.8rem)}
.bf-intro p:last-child{color:var(--muted);max-width:640px;margin-inline:auto}
.bf-progress{height:8px;background:var(--line);border-radius:99px;overflow:hidden}
.bf-progress-bar{height:100%;width:16.6%;background:linear-gradient(90deg,var(--teal),var(--violet),var(--coral));border-radius:99px;transition:width .3s}
.bf-steps-nav{list-style:none;display:flex;justify-content:space-between;padding:0;margin:10px 0 22px;font-size:.78rem;font-weight:700;color:var(--muted)}
.bf-steps-nav li.on{color:var(--teal-d)}
.bf-steps-nav li.done{color:var(--mint-d)}
.bf-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow)}
.bf-step{border:0;margin:0;padding:0;min-width:0}
.bf-step legend{display:block;width:100%;font-size:1.45rem;font-weight:800;letter-spacing:-.02em;margin-bottom:22px;padding:0;color:var(--ink)}
.bf-num{display:block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-d);margin-bottom:6px}
.bf-help{color:var(--muted);margin:-10px 0 18px;font-size:.95rem}

/* Option cards */
.cards{display:grid;gap:10px}
.cards-2{grid-template-columns:repeat(2,1fr)}
.cards-3{grid-template-columns:repeat(3,1fr)}
.cards-5{grid-template-columns:repeat(5,1fr)}
.opt-card{position:relative;cursor:pointer}
.opt-card input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt-card > span{display:block;height:100%;border:1.5px solid #cfdde2;border-radius:14px;padding:14px 12px;transition:border-color .15s,background .15s,box-shadow .15s}
.opt-card b{display:block;font-size:.95rem;color:var(--ink)}
.opt-card small{display:block;font-size:.8rem;color:var(--muted);margin-top:2px}
.opt-card:hover > span{border-color:var(--teal-l)}
.opt-card input:checked + span{border-color:var(--teal);background:var(--teal-50);box-shadow:0 0 0 3px #159cba26}
.opt-card input:focus-visible + span{outline:3px solid var(--teal);outline-offset:2px}
.styles i{display:block;height:34px;border-radius:8px;margin-bottom:10px}
.st-clean i{background:linear-gradient(90deg,#fff 0 50%,#159cba 50%);box-shadow:inset 0 0 0 1px var(--line)}
.st-elegant i{background:linear-gradient(90deg,#1c2a4a 0 60%,#d9b66a 60%)}
.st-fun i{background:linear-gradient(90deg,#ff6b4a,#ffc533,#12b886,#6d5df5)}
.st-corp i{background:linear-gradient(90deg,#0d2530 0 60%,#5b6f78 60%)}
.st-nature i{background:linear-gradient(90deg,#7f9f80 0 50%,#efe6d6 50%)}

/* Checkbox chips */
label:focus-within{outline:0}
.chips,.extras{display:flex;flex-wrap:wrap;gap:8px}
.extras{flex-direction:column}
.chk{position:relative;display:inline-flex;cursor:pointer}
.chk input{position:absolute;opacity:0;width:1px;height:1px}
.chk > span{display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 38px;border:1.5px solid #cfdde2;border-radius:99px;font-size:.92rem;font-weight:600;color:var(--ink-2);position:relative;transition:border-color .15s,background .15s}
.chk > span::before{content:"";position:absolute;left:12px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:6px;border:1.5px solid #9fb3ba;background:#fff}
.chk input:checked + span{border-color:var(--teal);background:var(--teal-50);color:var(--ink)}
.chk input:checked + span::before{border-color:var(--teal-d);background:var(--teal-d) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 6.5' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.chk input:focus-visible + span{outline:3px solid var(--teal);outline-offset:2px}
.extras .chk > span{border-radius:12px;width:100%;justify-content:space-between}
.extras .chk{display:flex}
.extras b{color:var(--coral-d);white-space:nowrap}

.bf-colors{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.color{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:var(--ink-2);border:1.5px solid #cfdde2;border-radius:99px;padding:5px 14px 5px 6px;cursor:pointer}
.color input{width:32px;height:32px;border:0;padding:0;border-radius:50%;background:none;cursor:pointer}
.color input::-webkit-color-swatch-wrapper{padding:0}
.color input::-webkit-color-swatch{border:0;border-radius:50%}
.color input::-moz-color-swatch{border:0;border-radius:50%}
.bf-colors.muted .color{opacity:.45}

input[type=file]{display:block;width:100%;font:500 .92rem var(--font);color:var(--ink-2);border:1.5px dashed #9fb3ba;border-radius:12px;padding:14px;background:var(--soft);cursor:pointer}
input[type=file]::file-selector-button{font:700 .9rem var(--font);border:0;border-radius:9px;padding:9px 14px;margin-right:12px;background:var(--teal-d);color:#fff;cursor:pointer}
.bf-files{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.bf-files li{font-size:.8rem;background:var(--teal-50);color:var(--teal-d);padding:4px 10px;border-radius:99px}
.bf-files li.err{background:var(--coral-50);color:var(--coral-d)}

.bf-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.bf-actions [data-next],.bf-actions [type=submit]{margin-left:auto;min-width:180px}
.field-error{display:block;color:var(--coral-d);font-size:.84rem;font-weight:600;margin-top:6px}

.bf-review{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:0;margin:0 0 20px;border:1px solid var(--line);border-radius:16px;overflow:hidden;font-size:.92rem}
.bf-review dt,.bf-review dd{margin:0;padding:10px 14px;border-bottom:1px solid var(--line)}
.bf-review dt{font-weight:700;background:var(--soft);color:var(--ink)}
.bf-review dd{color:var(--ink-2);white-space:pre-line;overflow-wrap:anywhere}
.bf-review dt:last-of-type,.bf-review dd:last-of-type{border-bottom:0}
.bf-consent{display:flex;margin-bottom:16px}
.bf-consent > span{border-radius:14px;font-weight:500;line-height:1.5;padding-block:12px}
.bf-consent > span::before{top:22px}
.bf-next{background:var(--sun-50);border-radius:14px;padding:14px 16px}
.bf-next p{margin:0;font-size:.92rem}

.bf-done{text-align:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:48px 28px;box-shadow:var(--shadow)}
.bf-done:focus{outline:0}
.bf-done-icon{width:72px;height:72px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:var(--mint-50);color:var(--mint-d)}
.bf-done-icon svg{width:36px;height:36px}
.bf-done p{max-width:520px;margin-inline:auto}
.bf-done .btn{margin:8px 0 18px}

@media(max-width:760px){
  .bf-form{padding:22px 18px;border-radius:20px}
  .cards-5{grid-template-columns:repeat(2,1fr)}
  .cards-3{grid-template-columns:1fr}
  .bf-steps-nav{font-size:.68rem}
  .bf-review{grid-template-columns:1fr}
  .bf-review dt{border-bottom:0;padding-bottom:2px}
  .bf-actions [data-next],.bf-actions [type=submit]{min-width:0;flex:1}
}
@media(max-width:420px){.bf-steps-nav li:not(.on){font-size:0;width:10px}.bf-steps-nav li:not(.on)::before{content:"•";font-size:.9rem}}
