/* Tutto Print quote form (interim styling; Phase 2 theme takes over). */
.tp-quote{background:#fff;border-radius:14px;padding:1.5rem;max-width:1100px;margin:0 auto 1.25rem}
.tp-quote__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;max-width:840px;margin:0 auto}
.tp-quote .tp-field{margin:0;display:flex;flex-direction:column;gap:.35rem}
.tp-quote .tp-field--wide{grid-column:1/-1}
.tp-quote label,.tp-quote legend{font-weight:600;color:#1d1d1f}
.tp-quote .tp-req{color:#b3261e}
.tp-quote input[type=text],.tp-quote input[type=email],.tp-quote input[type=tel],.tp-quote input[type=url],.tp-quote input[type=date],.tp-quote select,.tp-quote textarea{width:100%;padding:.65rem .75rem;border:1px solid #c9c4d6;border-radius:8px;font:inherit;background:#fff}
.tp-quote input:focus,.tp-quote select:focus,.tp-quote textarea:focus{outline:2px solid #5128ab;outline-offset:1px;border-color:#5128ab}
.tp-quote small{color:#555;font-size:.85rem}
.tp-quote fieldset{border:0;padding:0}
.tp-quote .tp-radio{font-weight:400;display:flex;gap:.5rem;align-items:center;margin:.2rem 0}
.tp-quote .tp-consent label{font-weight:400;display:block;position:relative;padding-left:1.75rem}
.tp-quote .tp-consent input[type=checkbox]{position:absolute;left:0;top:.2rem;margin:0}
.tp-quote__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.tp-quote button.tp-quote__submit{background:#5128ab!important;color:#fff!important;border:0!important;border-radius:999px;padding:.8em 1.8em;font-weight:700;font-size:1rem;cursor:pointer}
.tp-quote button.tp-quote__submit:hover,.tp-quote button.tp-quote__submit:focus{background:#6a3fd0!important;color:#fff!important}
.tp-quote>p:last-child{max-width:840px;margin:1.25rem auto 0}
.tp-quote__errors{max-width:840px;margin:0 auto 1rem;padding:1rem 1.25rem;border-radius:10px;background:#fdecea;color:#5f2120;border:1px solid #f5c2c0}
.tp-quote--sent{max-width:840px;background:#e8f7ee;border:1px solid #b7e1c6}
@media (max-width:640px){.tp-quote__grid{grid-template-columns:1fr}.tp-quote{border-radius:0;padding:1.25rem 1rem}}
