.brief-wizard{max-width:960px;overflow:visible;margin:0;background:white;border:1px solid var(--line);border-radius:20px;scroll-margin-top:12px}
.brief-wizard form{min-height:calc(100dvh - 24px)}
.brief-wizard .wizard-heading{padding:28px 30px 8px}
.brief-wizard .wizard-heading h2{font-size:28px;letter-spacing:-.5px;line-height:1.25;margin:0 0 9px;scroll-margin-top:100px}
.brief-wizard .wizard-heading>p:last-child{font-size:15px;color:var(--muted);margin:0;max-width:700px}
.brief-wizard .wizard-content{padding:6px 30px 24px}
.brief-wizard .wizard-block>h3{margin:18px 0 0;font-size:19px;letter-spacing:-.2px}
.brief-wizard .wizard-block+.wizard-block{margin-top:22px;padding-top:12px;border-top:2px solid var(--line)}
.brief-wizard .wizard-question{border:0;margin:0;padding:22px 0;min-width:0}
.brief-wizard .wizard-question+.wizard-question{border-top:1px solid var(--line)}
.brief-wizard .wizard-question legend{padding:0;float:left;width:100%;font-size:16px;font-weight:700;color:var(--ink);margin-bottom:11px}
.brief-wizard .wizard-question legend+*{clear:both}
.brief-wizard .wizard-hint{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 12px}
.brief-wizard .wizard-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;clear:both}
.brief-wizard .wizard-choice{display:flex;align-items:flex-start;gap:9px;min-height:48px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:white;font-size:14px;font-weight:500;cursor:pointer;line-height:1.45;min-width:0}
.brief-wizard .wizard-choice:has(input:checked){background:var(--soft);border-color:#5ba39f;color:var(--ink)}
.brief-wizard .wizard-choice:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.brief-wizard .wizard-choice input,.brief-wizard .wizard-toggle input{width:18px;height:18px;min-height:18px;padding:0;margin:1px 0 0;flex:0 0 18px;accent-color:var(--accent)}
.brief-wizard .wizard-choice>span{min-width:0;overflow-wrap:anywhere}
.brief-wizard .wizard-choice small{display:block;margin-top:5px;font-size:13px;line-height:1.5;color:var(--muted);font-weight:400}
.brief-wizard .wizard-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin:10px 0 4px}
.brief-wizard .wizard-field{display:block;min-width:0;font-size:14px;font-weight:650;line-height:1.5}
.brief-wizard .wizard-field input,.brief-wizard .wizard-field select,.brief-wizard .wizard-field textarea{margin-top:7px;min-width:0;min-height:48px;font-size:16px;border-radius:9px}
.brief-wizard .wizard-field small{display:block;margin-top:6px;font-size:12px;font-weight:400;color:var(--muted);line-height:1.5}
.brief-wizard .wizard-wide{grid-column:1/-1}
.brief-wizard .wizard-toggle{display:flex;align-items:center;gap:9px;min-height:44px;font-size:14px;font-weight:500;margin:0 0 12px;clear:both;cursor:pointer}
.brief-wizard .wizard-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.brief-wizard .wizard-counts input{max-width:150px}
.brief-wizard .wizard-child-ages{margin-top:18px}
.brief-wizard .wizard-city-contexts{display:grid;gap:18px;margin-top:24px}
.brief-wizard .wizard-city-context{padding:20px 22px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}
.brief-wizard .wizard-city-context h3{font-size:20px;margin:0 0 6px;overflow-wrap:anywhere}
.brief-wizard .wizard-city-context .wizard-question{padding:14px 0}
.brief-wizard .wizard-city-context .wizard-fields{margin-bottom:0}
.brief-wizard .wizard-city-context textarea{background:white}
.brief-wizard .wizard-detail-fields{gap:24px}
.brief-wizard .wizard-detail-fields textarea{min-height:180px;line-height:1.6}
.brief-wizard .wizard-actions{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);border-radius:20px 20px 0 0;padding:16px 30px;background:var(--paper);box-shadow:0 3px 8px #14364b08}
.brief-wizard .wizard-actions button{min-height:48px;font-size:15px}
.brief-wizard .wizard-actions .primary{display:inline-flex;align-items:center;justify-content:center;min-width:180px;margin-left:auto}
.brief-wizard .wizard-actions button:disabled{opacity:.45;cursor:default}
.brief-wizard input,.brief-wizard select,.brief-wizard textarea{scroll-margin-top:100px}
.brief-wizard .wizard-feedback:empty{display:none}
.brief-wizard .wizard-feedback:not(:empty){margin:8px 30px 16px;border-radius:9px;padding:12px 14px;background:#f9eae5;color:#943e2b;font-size:14px;scroll-margin-top:100px}
.brief-wizard .wizard-itinerary:empty{display:none}
@media(max-width:700px){
  .brief-wizard{border-radius:16px}
  .brief-wizard .wizard-heading{padding:23px 18px 10px}
  .brief-wizard .wizard-heading h2{font-size:25px;letter-spacing:-.4px}
  .brief-wizard .wizard-heading>p:last-child{font-size:14px}
  .brief-wizard .wizard-content{padding:4px 18px 22px}
  .brief-wizard .wizard-block>h3{font-size:18px;margin-top:14px}
  .brief-wizard .wizard-block+.wizard-block{margin-top:16px;padding-top:10px}
  .brief-wizard .wizard-question{padding:20px 0}
  .brief-wizard .wizard-question legend{font-size:16px}
  .brief-wizard .wizard-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .brief-wizard .wizard-choice{font-size:13px;padding:10px;gap:7px}
  .brief-wizard .wizard-fields{grid-template-columns:1fr;gap:16px}
  .brief-wizard .wizard-counts{gap:10px;grid-template-columns:1fr}
  .brief-wizard .wizard-counts .wizard-field{display:grid;grid-template-columns:minmax(0,1fr) 90px;align-items:center;gap:0 12px}
  .brief-wizard .wizard-counts input{margin:0}
  .brief-wizard .wizard-counts small{grid-column:1;margin-top:0}
  .brief-wizard .wizard-counts .wizard-field:has(small) input{grid-column:2;grid-row:1/3}
  .brief-wizard .wizard-city-context{padding:18px 14px}
  .brief-wizard .wizard-city-context h3{font-size:19px}
  .brief-wizard .wizard-city-context .wizard-choices{grid-template-columns:1fr}
  .brief-wizard .wizard-detail-fields textarea{min-height:190px}
  .brief-wizard .wizard-actions{padding:13px 18px;gap:12px;border-radius:16px 16px 0 0}
  .brief-wizard .wizard-actions .primary{min-width:140px;font-size:14px;padding-inline:13px}
  .brief-wizard .wizard-feedback:not(:empty){margin:0 18px 18px}
}
@media(max-width:370px){.brief-wizard .wizard-choices{grid-template-columns:1fr}.brief-wizard .wizard-actions>button{padding-inline:12px}}
