/* Rivali replica: native quote form (.qf). White, clean; matches the booking page. */
.qf{background:#fff;color:#1d1b20;font-family:Barlow,"Open Sans",sans-serif;text-align:left;max-width:860px;margin:0 auto;padding:26px 26px 18px;border:1px solid #e3dfe6}
.qf *{box-sizing:border-box}
.qf--page{border:0;padding:8px 0 32px;max-width:900px}
.qf--footer{max-width:760px;margin:10px auto;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.qf .qf__title{font-family:SweetSansProRegular,Barlow,sans-serif!important;text-transform:uppercase;letter-spacing:.1em;font-size:20px!important;color:#111!important;margin:0 0 6px!important;text-align:left!important}
.qf .qf__lede{font-size:15px!important;color:#4a4650!important;margin:0 0 18px!important;text-align:left!important}
.qf__demo{border:1px dashed #73378a;background:#f7f1fa;padding:9px 12px;color:#4b2259;font-size:14px;margin:0 0 14px}
.qf__form[hidden],.qf__done[hidden],.qf__finish[hidden],.qf__tint[hidden]{display:none!important}
.qf__row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.qf__row4{display:grid;grid-template-columns:90px 1fr 1fr 1fr;gap:12px}
.qf__f{margin:0 0 12px;min-width:0}
.qf label,.qf .qf__lbl{display:block;font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:#4a4650;margin:0 0 6px;font-weight:600;text-align:left}
.qf__opt{text-transform:none;letter-spacing:0;font-weight:400}
.qf input:not([type=checkbox]):not([type=radio]):not([type=file]),.qf select,.qf textarea{width:100%;background:#fff;color:#111;border:1px solid #b9b4bf;border-radius:0;padding:11px 12px;font:400 16px Barlow,sans-serif;min-height:46px;color-scheme:light;margin:0}
.qf input[type=file]{display:block;font:14px Barlow,sans-serif;color:#2f2b34;margin:0 0 6px;max-width:100%}
.qf input:focus,.qf select:focus,.qf textarea:focus{border-color:#73378a;outline:none}
.qf input:focus-visible,.qf select:focus-visible,.qf textarea:focus-visible,.qf button:focus-visible,.qf__chk:has(input:focus-visible),.qf__seg label:has(input:focus-visible){outline:2px solid #73378a;outline-offset:2px}
.qf__fs{border:0;margin:4px 0 12px;padding:0;min-width:0}.qf__fs legend{font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:#111;font-weight:700;margin:0 0 8px;padding:0}
.qf__chks{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 10px}
.qf .qf__chk{display:flex;align-items:center;gap:9px;border:1px solid #d9d5dd;padding:9px 11px;min-height:44px;cursor:pointer;font-size:14px;color:#1d1b20;text-transform:none;letter-spacing:0;font-weight:400;margin:0}
.qf__chk input{width:18px;height:18px;margin:0;accent-color:#73378a;flex:none}
.qf__chk:has(input:checked){border-color:#73378a;background:#faf6fc}
.qf .qf__chk--line{border:0;padding:4px 0;min-height:36px;font-size:14px;color:#3d3943}
.qf__seg{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.qf .qf__seg label{position:relative;display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border:1px solid #b9b4bf;font-size:14px;text-transform:none;letter-spacing:0;font-weight:500;color:#1d1b20;cursor:pointer;margin:0}
.qf__seg input{position:absolute;opacity:0;width:1px;height:1px}
.qf__seg label:has(input:checked){border-color:#73378a;background:#73378a;color:#fff}
.qf .qf__tint{font-size:13px!important;color:#55505b!important;margin:0 0 8px!important}
.qf__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.qf__err{color:#a3122c;font-size:14px;font-weight:600;margin:4px 0 10px}
.qf__submit{width:100%;min-height:54px;background:#73378a;border:1px solid #73378a;color:#fff;font:600 15px Barlow,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;margin:6px 0 8px}
.qf__submit:hover{background:#5e2a73}.qf__submit:disabled{opacity:.6;cursor:wait}
.qf__done{border:1px solid #73378a;background:#faf6fc;padding:18px 18px 8px;outline:none}
.qf__donetitle{font-family:SweetSansProRegular,Barlow,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:18px;color:#111;margin:0 0 6px}
.qf .qf__fine{font-size:13.5px!important;color:#55505b!important;margin:0 0 10px!important}
@media (max-width:760px){.qf{padding:18px 16px 12px}.qf__row2{grid-template-columns:1fr;gap:0}.qf__row4{grid-template-columns:1fr 1fr;gap:0 12px}.qf__chks{grid-template-columns:1fr 1fr}}
@media (max-width:380px){.qf__chks{grid-template-columns:1fr}}
.qf-page-wrap{background:#fff;padding:12px 20px 40px}
