:root {--field-accent:var(--green);--field-surface:#faf8f1;--field-border:#959789;--field-radius:6px}
/* Default controls: preserve native semantics and brand-specific geometry. */
:root body input:not([type]),
:root body input:is([type=text],[type=tel],[type=email],[type=search],[type=url],[type=password],[type=number],[type=date],[type=time]),
:root body select,
:root body textarea {
  display:block;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:52px;
  margin-top:8px;
  padding:13px 15px;
  border:1px solid var(--field-border);
  border-radius:var(--field-radius);
  background-color:var(--field-surface);
  color:var(--ink);
  font-family:inherit;
  font-size:16px;
  font-weight:400;
  line-height:1.5;
  box-shadow:inset 0 1px 2px #00000004;
  transition:border-color 160ms ease,background-color 160ms ease,box-shadow 160ms ease;
}
:root body select {
  appearance:none;
  padding-right:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m6 8 4 4 4-4' stroke='%23535b56' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:20px;
  cursor:pointer;
}
:root body textarea {min-height:128px;resize:vertical}
:root input::placeholder,:root body textarea::placeholder {color:var(--muted);opacity:1}
:root :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea):hover:not(:disabled) {border-color:var(--field-accent)}
:root :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea):focus {
  border-color:var(--field-accent);
  background-color:#fff;
  outline:2px solid var(--field-accent);
  outline-offset:2px;
  box-shadow:none;
}
:root input:is([type=checkbox],[type=radio]) {
  appearance:auto;
  width:19px;
  height:19px;
  min-height:0;
  padding:0;
  margin:3px 0 0;
  flex:none;
  accent-color:var(--field-accent);
  cursor:pointer;
}
:root :is(input,select,textarea):disabled {opacity:.6;cursor:not-allowed}
:root :is(input,select,textarea):user-invalid {border-color:#b42318}
:root :is(input,select,textarea)[aria-invalid=true] {border-color:#b42318}
/* Leave room for the existing search icon. */
:root .search-input input {padding-left:50px;margin-top:0;min-height:59px}
@media(prefers-reduced-motion:reduce) {:root :is(input,select,textarea){transition:none}}
@media(forced-colors:active) {:root body select{appearance:auto;background-image:none}}
/* Contact form activation: retain Total's established field styling. */
.total-enquiry{margin:40px 0;padding:32px;background:#f4f3eb;border:1px solid #d7d9ca;border-radius:12px;text-align:left}.total-enquiry h2{margin:0 0 24px}.total-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.total-form-grid label{display:grid;gap:8px;font-size:15px}.total-form-grid .wide{grid-column:1/-1}.total-form-grid :is(input,select,textarea){width:100%;min-width:0;box-sizing:border-box}.total-consent{display:flex;align-items:flex-start;gap:12px;margin:24px 0;font-size:14px}.total-consent input{flex-shrink:0;margin-top:4px}.total-enquiry .form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.total-enquiry .form-status{font-size:15px;line-height:1.6;margin-top:18px}.total-enquiry .form-status:empty{display:none}@media(max-width:600px){.total-enquiry{padding:22px 18px}.total-form-grid{grid-template-columns:1fr}}
