/* Lead forms + campaign page additions (Mighty, Oct 2026) */
.lead-form{display:grid;gap:14px;margin:26px 0 8px;max-width:560px}
.lead-form label{display:grid;gap:6px;font-size:14px;color:var(--ink)}
.lead-form input,.lead-form select,.lead-form textarea{font:16px Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;border:1px solid #b9c7cf;border-radius:0;padding:12px 13px;min-height:48px;width:100%}
.lead-form textarea{min-height:90px;resize:vertical}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:3px solid #159fe3;outline-offset:1px;border-color:var(--blue)}
.lead-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lead-form .optional{color:var(--muted);font-size:12px}
.lead-form button[type=submit]{justify-self:start;min-width:200px}
.lead-form button[disabled]{opacity:.6;cursor:wait}
.lead-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:12px;color:var(--muted);margin:0}.form-note a{text-decoration:underline}
.form-status:empty{display:none}
.form-status{padding:14px 16px;font-size:15px;border-left:3px solid var(--blue);background:#fff}
.form-status.error{border-color:#b3261e}
.lead-form.sent>*:not(.form-status){display:none}
.lead-form.sent .form-status{display:block;padding:24px;font-size:17px}
.lead-form.sent .form-status strong{display:block;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:28px;margin-bottom:6px}
/* dark card variant (Tilbury aside) */
.enquiry-card .lead-form{margin:18px 0}
.enquiry-card .lead-form .field-row{grid-template-columns:1fr}
.local-band .lead-form label{color:inherit}
/* campaign header */
.campaign-header{justify-content:space-between}
.header-actions{display:flex;align-items:center;gap:18px;margin-left:auto}
.header-call{font-size:14px;color:var(--ink)}.header-call span{color:var(--blue);font-weight:700}
.button.light{background:#fff;color:var(--navy);border-color:#fff;margin-top:26px}.button.light:hover{background:#dbe8f0}
.feature-copy .button{margin-top:22px}
.faq{margin-top:28px}
.campaign-footer img{width:190px}
.mobile-call{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid var(--blue);color:var(--blue);font-weight:700}
@media(max-width:850px){.campaign-header{flex-wrap:nowrap}.header-call{display:none}}
@media(max-width:700px){.lead-form .field-row{grid-template-columns:1fr}.lead-form button[type=submit]{width:100%}.mobile-visit{gap:10px}.mobile-visit span{flex:1}.campaign-header .button.small{min-height:42px}}
img.logo,.campaign-footer img,footer img{height:auto}

/* Safari ignores height on native selects: draw our own so they match the text fields */
.lead-form select{-webkit-appearance:none;appearance:none;height:48px;padding-right:40px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%231b303f' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center/16px}

.campaign-footer img.tr-logo{width:150px;height:auto}
