/* QUOTE02: scoped quotation actions, accessible validation, optional accounts. */
.v-quote-actions{display:grid;gap:10px;margin-top:12px}
.v-quote-actions>a,.v-quote-actions>button{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.35;padding:13px 12px;white-space:normal;box-sizing:border-box;overflow-wrap:anywhere;min-width:0}
.v-quote-secondary{background:#fbf7f0;color:#172f40;border:1px solid #172f40;text-decoration:none}
.v-quote-secondary:hover{background:#ece3d4}
.v-quote-view{border:0;background:transparent;color:#172f40;text-decoration:underline;text-underline-offset:.25em;cursor:pointer;font:inherit}
.v-quote-quantity{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 0}
.v-quote-quantity input{width:88px;min-height:44px;padding:10px;border:1px solid #b9ad9a;background:white;color:#172f40}
.v-quote-continue{display:flex;margin-top:24px;justify-content:center;white-space:normal;text-align:center}
.v-required-note{font-size:13px;line-height:1.65;color:#435666;margin:0 0 24px}
.v-form-errors{border:1px solid #9d292c;border-left:4px solid #9d292c;background:#fff5f3;color:#7b1b21;padding:16px;margin-bottom:20px;scroll-margin-top:210px}
.v-form-errors ul{padding-left:20px;margin:10px 0 0}.v-form-errors a{color:inherit;text-decoration:underline}
.v-field-error{display:block;color:#9d292c;font-size:13px;font-weight:600;line-height:1.5;margin-top:6px}
.enquiry-form [aria-invalid="true"]{border-color:#9d292c;outline:1px solid #9d292c}
.enquiry-form [name],#quotation-form{scroll-margin-top:210px}
.v-review-details{border:1px solid #172f40;color:#172f40;background:#fbf7f0;margin:12px 0;white-space:normal}
.v-account-panel label{display:block;margin:16px 0}.v-account-panel input:not([type=checkbox]){display:block;box-sizing:border-box;width:100%;padding:13px;min-height:46px;border:1px solid #b9ad9a;color:#172f40;background:#fff}
.v-account-panel .consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.6}.v-account-panel .consent input{margin-top:4px}
.v-account-panel [hidden]{display:none!important}.v-account-panel [role=status]{line-height:1.6}.v-account-actions{display:grid;gap:12px}
.v-account-panel .button{white-space:normal;text-align:center;min-height:46px}.v-account-panel .v-note{font-size:12px;line-height:1.7;margin-top:24px}
.v-quote-actions a:focus-visible,.v-quote-actions button:focus-visible,.v-account-panel button:focus-visible{outline:3px solid #ad8c58;outline-offset:3px}
@media(max-width:760px){body.v-home .home-hero .hero-actions .button-ghost-light{background:#fff3db!important;color:#182b3b!important;border:1px solid #fff3db!important}body.v-home .home-hero .hero-actions .button-ghost-light:hover{background:#fffaf1!important;color:#182b3b!important}.v-quote-actions>a,.v-quote-actions>button{font-size:12px;padding:12px 8px}.enquiry-form [name],#quotation-form,.v-form-errors{scroll-margin-top:135px}.v-quote-quantity{font-size:13px;flex-wrap:wrap}.v-quote-quantity input{width:100%;min-width:0}.header-positioning{max-width:100%;white-space:normal}}

/* QUOTE03: added B2B header shortcut; submission readiness stays enforced. */
.site-header .v-header-b2b{justify-content:center;white-space:nowrap}
.site-header .v-header-b2b span{display:inline!important;font-weight:650;letter-spacing:.04em}
.v-enquiry-status.is-info{background:#edf1f4;border-left-color:#637989;color:#203746}
form[data-enquiry-state="unavailable"] button[type="submit"]{cursor:not-allowed}
.v-enquiry-fallback:not([hidden]){padding:14px 16px;border:1px solid #d8c5a8;background:#fbf7ef;font-size:13px}
@media(max-width:720px){.site-header .v-header-b2b span{font-size:10px;letter-spacing:0}}
@media(max-width:390px){.site-header .header-actions .header-tool{width:28px!important;min-width:28px!important}.site-header .header-main-inner>.header-actions{gap:1px!important}.site-header .header-main-inner{column-gap:4px!important}}

/* QUOTE03 HEADER01: desktop positioning and locale controls share one row.
   All existing small-screen header rules are preserved. */
@media (min-width:1101px){
 .site-header .header-main-inner{
  grid-template-columns:auto minmax(0,1fr) auto!important;
  column-gap:clamp(12px,1.25vw,24px)!important;
 }
 .site-header .v-positioning{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:clamp(10px,1.15vw,22px)!important;
 }
 .site-header .v-positioning .header-positioning{
  flex:1 1 auto;
  min-width:0;
  max-width:none;
  margin:0!important;
  font-size:clamp(12px,1vw,16px)!important;
  letter-spacing:.06em;
  line-height:1.4!important;
  text-align:center!important;
  text-wrap:balance;
 }
 .site-header .v-positioning .v-locale-controls{
  flex:0 0 auto;
  align-items:center;
  margin:0;
 }
}
