/* Shared form treatment for compiled page widgets, including WooCommerce forms. */
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] {
  --l4d-field-green:#315f57;
  --l4d-field-surface:#f2f5f0;
  --l4d-field-error:#a83b38;
}
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] :is(input:not(:is([type=hidden],[type=checkbox],[type=radio],[type=range],[type=color],[type=button],[type=submit],[type=reset],[type=image])),select,textarea) {
  border:0 !important; box-shadow:none !important;
  background-color:var(--l4d-field-surface) !important;
}
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] :is(input,select,textarea):focus-visible {
  outline:1px solid var(--l4d-field-green) !important; outline-offset:2px !important;
}
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] :is(input[type=checkbox],input[type=radio],input[type=color]) { border-width:1px !important; }
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] .select2-selection { border:0 !important; box-shadow:none !important; background-color:var(--l4d-field-surface) !important; }
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] .select2-container--focus .select2-selection { outline:1px solid var(--l4d-field-green); outline-offset:2px; }
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] :is(.woocommerce-invalid input,.woocommerce-invalid select,[aria-invalid=true],:user-invalid) {
  outline:1px solid var(--l4d-field-error) !important; outline-offset:2px !important;
}
/* Search fields live inside an existing search surface: focus that whole surface. */
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] :is(.he-search-control,.he-shop-search-main,.he-site-search-form,.he-site-scroll-search-row,.he-hub-search,.he-not-found-search,.he-field-search):focus-within {
  outline:1px solid var(--l4d-field-green) !important; outline-offset:2px !important;
  box-shadow:none !important;
}
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] :is(.he-search-control,.he-shop-search-main,.he-site-search-form,.he-site-scroll-search-row,.he-hub-search,.he-not-found-search):has(.he-field-search):focus-within .he-field-search { outline:0 !important; }
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] .he-field-search {
  position:relative; display:flex; align-items:center; flex:1 1 0%;
  min-width:0; width:100%; border:0; border-radius:inherit;
}
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] .he-field-search input[type=search] {
  width:100%; min-width:0; padding-inline-end:2.75rem !important;
  border:0 !important; outline:0 !important; box-shadow:none !important;
  background:transparent !important;
}
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] input[type=search]::-webkit-search-cancel-button { -webkit-appearance:none; appearance:none; }
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] .he-field-search .he-search-clear {
  position:absolute; inset-inline-end:0; top:50%; transform:translateY(-50%);
  display:inline-flex !important; align-items:center; justify-content:center;
  width:44px !important; min-width:44px !important; height:44px !important; min-height:44px !important;
  margin:0 !important; padding:0 !important; border:0 !important; border-radius:50% !important;
  background:transparent !important; color:var(--l4d-field-green) !important;
  box-shadow:none !important; cursor:pointer;
}
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] .he-field-search .he-search-clear[hidden] { display:none !important; }
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] .he-field-search input:is(:disabled,[readonly]) + .he-search-clear { display:none !important; }
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] .he-field-search .he-search-clear:is(:hover,:active) { background:#e8eee6 !important; }
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] .he-field-search .he-search-clear:focus-visible { outline:1px solid var(--l4d-field-green) !important; outline-offset:-4px !important; }
.l4d-compiled-page.l4d-page-widgets-live[data-l4d-page] .he-search-clear svg { display:block; width:20px !important; height:20px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.75; stroke-linecap:round; pointer-events:none; }
