/* Contact details and the server-confirmed receipt share the HandyTackle palette. */
.handy-native .contact-card{background:#fafaf6;border:1px solid #d6decf;border-radius:12px;padding:28px;margin:28px 0 20px}
.contact-card-heading{padding-bottom:22px;border-bottom:1px solid #dce2d4;margin-bottom:24px}
.contact-card-heading .panel-kicker{margin-bottom:10px}
.handy-native .contact-card-heading h4{font-family:Manrope,sans-serif;font-size:1.6rem;font-weight:500;letter-spacing:-.035em;margin:0 0 12px}
.contact-card-heading>p:last-child{font-size:.9375rem;color:#596650;line-height:1.7;margin:0}
.contact-group{border:0;padding:0;margin:0 0 24px;min-width:0}
.contact-group legend{font-size:1rem;font-weight:600;padding:0 0 20px;line-height:1.5;width:100%}
.contact-group legend>span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:.7rem;background:#e6ebdc;color:#586b43;margin-right:10px;font-weight:500}
.handy-native .contact-group label{font-size:.875rem;margin-bottom:9px}
.handy-native .contact-group input:not([type=hidden]),.handy-native .contact-group select{background:#fff;border-color:#c7d1bb;border-radius:6px;min-height:50px;padding:13px 14px;margin-bottom:8px;width:100%;max-width:none}
.contact-group .field-grid{gap:20px 22px}
.contact-group.address-group{padding-top:22px;border-top:1px solid #dce2d4}
.contact-group.address-group>input:not([type=hidden]){margin-bottom:18px}
.handy-native .contact-hint{font-size:.75rem;line-height:1.6;color:#68745f;margin:4px 0 8px}
.handy-native .contact-field-error{font-size:.8125rem;color:#a22f25;line-height:1.6;margin:2px 0 10px}
.handy-native .contact-group input[aria-invalid=true]{border:2px solid #a22f25;padding:12px 13px;background:#fffaf8}
.postcode-review{position:relative}
.handy-native .postcode-review input{background:#eef1e7!important;padding-right:58px!important;color:#445437}
.postcode-review button{position:absolute;right:6px;top:4px;min-height:42px;padding:8px 10px;border:0;background:transparent;color:#8c4316;font-size:.8125rem;font-weight:600;text-decoration:underline;text-underline-offset:3px;border-radius:4px}
.contact-consent{padding-top:18px;border-top:1px solid #dce2d4;margin-bottom:12px!important;font-size:.8125rem!important}
.contact-privacy{font-size:.75rem;color:#68745f;line-height:1.7;margin:0}
.contact-privacy a{text-decoration:underline;text-underline-offset:3px}
.handy-native .booking-confirmation{max-width:860px;margin:0 auto;border:1px solid #d6decc;border-radius:16px;overflow:hidden;background:#faf9f3;box-shadow:0 12px 38px #26352312}
.confirmation-hero{position:relative;padding:40px 40px 36px;background:#1d2c19;color:#f7f4ea;overflow:hidden}
.confirmation-hero::after{content:'';position:absolute;width:240px;height:240px;border:1px solid #405138;border-radius:50%;top:-120px;right:-60px;pointer-events:none}
.confirmation-brand{font-family:Manrope,sans-serif;font-weight:700;font-size:1.125rem;letter-spacing:-.055em;margin-bottom:28px}
.confirmation-brand>span{color:#ffb06e}
.confirmation-check{display:grid;place-items:center;width:58px;height:58px;background:#344b2c;border:1px solid #6b8558;border-radius:50%;color:#c9dfa9;margin-bottom:24px}
.confirmation-check svg{width:34px;height:34px}
.confirmation-kicker{color:#f0b681;font-size:.7rem;letter-spacing:.16em;font-weight:600;margin:0 0 14px}
.handy-native .confirmation-hero h2{font-size:clamp(2.3rem,5vw,3.6rem);font-weight:500;line-height:1.15;letter-spacing:-.055em;margin:0 0 22px;outline:none}
.confirmation-hero h2>em{color:#d2dfb9}
.confirmation-hero>p:not(.confirmation-kicker){font-size:.9375rem;line-height:1.75;max-width:490px;color:#d7dfcc;margin:0 0 22px}
.confirmation-status{display:inline-flex;border:1px solid #71815f;background:#2b3c23;padding:8px 12px;border-radius:20px;font-size:.75rem;color:#e2e9d7;line-height:1.5}
.confirmation-body{padding:32px 40px}
.reference-card{border:1px solid #d6decc;border-radius:10px;padding:20px 22px;background:#fff;margin-bottom:28px}
.reference-card>p:first-child{font-size:.6875rem;font-weight:700;letter-spacing:.13em;color:#69765f;margin:0 0 14px}
.reference-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}
.handy-native .reference-controls textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.6;letter-spacing:.02em;color:#22331d;background:#f2f5ec;border:0;border-radius:5px;padding:10px 12px;margin:0;resize:none;min-height:64px;width:100%;overflow:hidden;overflow-wrap:anywhere}
.reference-controls button{background:#e8eddf;border:1px solid #d1dcc4;padding:12px 16px;min-height:44px;color:#344d28;border-radius:6px;font-size:.8125rem;font-weight:600;white-space:nowrap}
.reference-card .contact-hint{margin-top:12px;margin-bottom:0}
.confirmation-summary{margin:0 0 26px;padding:0}
.confirmation-summary>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;padding:16px 0;border-bottom:1px solid #dce2d3;font-size:.875rem;line-height:1.7}
.confirmation-summary dt{color:#68755e}
.confirmation-summary dd{margin:0;color:#263b20;font-weight:500}
.confirmation-summary>div:last-child dd{font-size:1.25rem;font-weight:600}
.confirmation-next{display:flex;gap:18px;padding:22px;background:#e9eddf;border-radius:10px;margin-bottom:28px}
.confirmation-next>span{font-size:1.5rem;color:#8f4f23;line-height:1.4}
.handy-native .confirmation-next h3{font-size:1rem;font-weight:600;letter-spacing:-.015em;margin:0 0 10px}
.confirmation-next p{font-size:.8125rem;line-height:1.75;color:#59694c;margin:0 0 6px}
.confirmation-next p:last-child{margin:0}
.confirmation-actions{display:flex;gap:14px;flex-wrap:wrap}
.handy-native .confirmation-actions .button{display:inline-flex;align-items:center;gap:20px;font-size:.875rem;min-height:48px;padding:14px 18px;border-radius:6px}
.handy-native .confirmation-footnote{font-size:.75rem;line-height:1.7;color:#68755e;margin:20px 0 0}
@media(max-width:700px){.handy-native .contact-card{padding:22px 18px;border-radius:10px}.contact-card-heading{padding-bottom:18px;margin-bottom:20px}.handy-native .contact-card-heading h4{font-size:1.4rem}.contact-group .field-grid{grid-template-columns:1fr;gap:16px}.contact-group legend{font-size:.9375rem}.confirmation-hero{padding:28px 24px}.confirmation-brand{margin-bottom:24px}.confirmation-check{width:52px;height:52px;margin-bottom:22px}.handy-native .confirmation-hero h2{font-size:clamp(2rem,8.5vw,3rem)}.confirmation-body{padding:24px 20px}.reference-card{padding:18px}.reference-controls{grid-template-columns:1fr;gap:12px}.reference-controls button{width:100%}.confirmation-summary>div{grid-template-columns:1fr;gap:4px;padding:14px 0}.confirmation-summary dt{font-size:.75rem}.confirmation-next{padding:18px;gap:12px}.confirmation-actions{display:grid;grid-template-columns:1fr;width:100%}.handy-native .confirmation-actions .button{justify-content:center;width:100%}.handy-native .booking-confirmation{border-radius:12px}}
