.np-booking{--np-ink:#182f3a;--np-gold:#ae8755;--np-line:#e2dcd1;max-width:960px;margin:0 auto;padding:clamp(24px,5vw,55px);background:#fff;border:1px solid var(--np-line);box-shadow:0 18px 50px #172c3910;border-radius:8px;color:var(--np-ink)}.np-booking *{box-sizing:border-box}.np-eyebrow{font:700 11px/1.4 Arial,sans-serif;letter-spacing:.2em;color:var(--np-gold)}.np-booking h2{margin:12px 0;font:normal clamp(30px,4vw,45px)/1.1 Georgia,serif}.np-booking-heading>p{max-width:650px;color:#4b5960;margin-bottom:30px}.np-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}.np-form label{display:flex;flex-direction:column;font:600 13px/1.5 Arial,sans-serif;gap:8px}.np-form input:not([type=checkbox]),.np-form select,.np-form textarea{width:100%;border:1px solid #cbd1d0;background:#fcfbf8;color:#172c39;border-radius:4px;min-height:47px;padding:12px;font:normal 15px Arial,sans-serif}.np-form input:focus,.np-form select:focus,.np-form textarea:focus{outline:2px solid #b59363;outline-offset:1px}.np-form-span{grid-column:1/-1}.np-summary{background:#f6f2eb;padding:24px;margin-top:26px;border-radius:4px}.np-summary>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.np-summary strong{white-space:nowrap}.np-summary .np-total{border-top:1px solid #ded3c4;margin-top:10px;padding-top:17px;font-size:20px}.np-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px!important;margin:24px 0;font-weight:400!important;color:#43515a}.np-consent input{margin-top:4px}.np-submit{width:100%;padding:18px;background:var(--np-ink);color:white;border:0;cursor:pointer;font-size:15px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.np-submit:hover{background:#284a59}.np-submit:disabled{opacity:.6}.np-microcopy{font:12px/1.5 Arial,sans-serif;color:#6c7479}.np-honeypot{position:absolute!important;left:-99999px!important;opacity:0}.np-alert{background:#f6f2eb;padding:24px;border-left:3px solid var(--np-gold)}#np-form-feedback{color:#a32a2a;margin-bottom:14px;font-weight:700}.np-status-page{max-width:780px;margin:auto;padding:32px;background:#f6f2eb}@media(max-width:640px){.np-form-grid{grid-template-columns:1fr}.np-booking{padding:24px 18px}.np-summary{padding:16px}.np-summary .np-total{font-size:16px}}
/* Geoapify-backed address results and email-only rescheduling */
.np-address-field{position:relative}.np-suggestions{position:relative;z-index:9;background:#fff;border-radius:9px;max-height:240px;overflow-y:auto;box-shadow:0 8px 28px rgba(18,42,55,.15)}.np-suggestion{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #e9e5db;padding:11px 14px;color:#172c39;cursor:pointer;font:inherit}.np-suggestion:hover,.np-suggestion:focus{background:#f5f1e8}.np-address-field small{display:block;margin-top:6px;font-size:12px}#np-route-details{padding:11px 14px;background:#f3efe7;border-radius:8px;font-size:14px;color:#253b48}.np-status-page form[hidden]{display:none!important}.np-status-page form{padding:18px;border:1px solid #e3d8c7;border-radius:14px;margin:20px 0}.np-status-page form label{display:block;margin:12px 0}.np-status-page form input,.np-status-page form select{display:block;padding:10px;max-width:340px;width:100%;margin-top:6px}.np-status-page form button{background:#172c39;color:white;padding:12px 18px;border:0;border-radius:6px;cursor:pointer}
