/* Michel semantic control colors. White small text requires a darker brand green. */
:root {
 --michel-ui-bg:#F5F8F2;
 --michel-ui-border:#DCE7D4;
 --michel-ui-active-bg:#EAF4DE;
 --michel-ui-active-border:#7CB342;
 --michel-ui-text:#1E1E1E;
 --michel-ui-muted:#666666;
 --michel-ui-active-text:#568F24;
 --michel-ui-field-text:#343D30;
 --michel-field-focus:var(--michel-ui-active-border);
 --michel-field-focus-visible:var(--michel-ui-active-text);
 --michel-action:#527d2a;
 --michel-action-hover:#4b7527;
 --michel-action-active:#426821;
 --michel-on-action:#fff;
 --michel-soft:var(--michel-ui-bg);
 --michel-soft-hover:var(--michel-ui-active-bg);
 --michel-soft-ink:#507b29;
 --michel-control-green:#689f38;
 --michel-control-border:var(--michel-ui-border);
 --michel-disabled-bg:#edf0e9;
 --michel-disabled-ink:#646f5c;
}
/* Only named solid controls inherit this contract; no site-wide SVG recoloring. */
body :is(.button,.card-cart-button,.mcf-apply,.mcf-empty-reset,.mp-call,.mc-action-primary,.catalog-menu>summary,.mcf-pagination a.current,.michel-mini-cart .drawer-checkout .drawer-checkout-button,.woocommerce [id=place_order],.wc-block-components-button:not(.is-link)) {
 background:var(--michel-control-bg,var(--michel-action));
 color:var(--michel-control-ink,var(--michel-on-action));
 border-color:var(--michel-control-bg,var(--michel-action));
}
body :is(.button,.card-cart-button,.mcf-apply,.mcf-empty-reset,.mp-call,.mc-action-primary,.catalog-menu>summary,.mcf-pagination a.current,.michel-mini-cart .drawer-checkout .drawer-checkout-button,.woocommerce [id=place_order],.wc-block-components-button:not(.is-link)):hover {
 background:var(--michel-control-hover,var(--michel-action-hover));
 color:var(--michel-control-ink,var(--michel-on-action));
 border-color:var(--michel-control-hover,var(--michel-action-hover));
}
body :is(.button,.card-cart-button,.mcf-apply,.mcf-empty-reset,.mp-call,.mc-action-primary,.catalog-menu>summary,.mcf-pagination a.current,.michel-mini-cart .drawer-checkout .drawer-checkout-button,.woocommerce [id=place_order],.wc-block-components-button:not(.is-link)):active {
 background:var(--michel-control-active,var(--michel-action-active));
 color:var(--michel-control-ink,var(--michel-on-action));
 border-color:var(--michel-control-active,var(--michel-action-active));
}
body .catalog-menu[open]>summary{background:var(--michel-action-hover);color:var(--michel-on-action)}
body :is(.button,.card-cart-button,.mcf-apply,.mcf-empty-reset,.mp-call,.mc-action-primary,.michel-mini-cart .drawer-checkout .drawer-checkout-button,.woocommerce [id=place_order],.wc-block-components-button):is(:disabled,.disabled,[aria-disabled=true]) {
 background:var(--michel-disabled-bg);color:var(--michel-disabled-ink);border-color:var(--michel-disabled-bg);opacity:1;cursor:default;box-shadow:none;transform:none;
}
body :is(.button,.card-cart-button,.mcf-apply,.mcf-empty-reset,.mp-call,.mc-action-primary,.catalog-menu>summary,.mcf-pagination a.current,.wc-block-components-button) svg {color:inherit}
body :is(.button,.card-cart-button,.mcf-apply,.mcf-empty-reset,.mp-call,.mc-action-primary,.catalog-menu>summary,.mcf-pagination a.current) svg[stroke]:not([stroke=none]) {stroke:currentColor}
body :is(.button,.card-cart-button,.mcf-apply,.mcf-empty-reset,.mp-call,.mc-action-primary,.catalog-menu>summary,.mcf-pagination a.current,.wc-block-components-button) svg[fill]:not([fill=none]) {fill:currentColor}
body :is(.button,.card-cart-button,.mcf-apply,.mp-call,.mc-action-primary,.catalog-menu>summary,.mcf-pagination a,.wc-block-components-button):focus-visible {outline:2px solid var(--michel-action);outline-offset:3px}
/* Existing secondary controls retain a light background in every state. */
.michel-mini-cart .button:not(.checkout):not(.drawer-checkout-button),.wc-block-components-button.is-secondary {
 --michel-control-bg:var(--michel-soft);--michel-control-ink:var(--michel-ui-active-text);--michel-control-hover:var(--michel-soft-hover);--michel-control-active:var(--michel-ui-active-bg);
}
.mcf-more,.mcf-chip,.mcf-pagination a.is-loaded:not(.current){color:var(--michel-ui-active-text)}
.mcf-more .mcf-more-icon,.mcf-chip .icon{color:inherit}
.mcf-more:disabled{color:var(--michel-disabled-ink)}
/* Keep the browser input, checked state, label, keyboard and form behavior. */
body:not(.wp-admin) input[type=checkbox]:not([role=switch]):not([hidden]):not(.wc-block-components-checkbox__input):not(.components-form-toggle__input) {
 appearance:none;-webkit-appearance:none;display:inline-block;box-sizing:border-box;width:18px;height:18px;min-width:18px;flex:none;padding:0;vertical-align:middle;border:1px solid var(--michel-control-border);border-radius:4px;background-color:#fff;background-position:center;background-size:14px 14px;background-repeat:no-repeat;accent-color:var(--michel-control-green);color:var(--michel-on-action);cursor:pointer;
}
body:not(.wp-admin) input[type=checkbox]:not([role=switch]):not(.wc-block-components-checkbox__input):not(.components-form-toggle__input):checked {
 background-color:var(--michel-control-green);border-color:var(--michel-control-green);
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
body:not(.wp-admin) input[type=checkbox]:not([role=switch]):not(.wc-block-components-checkbox__input):not(.components-form-toggle__input):indeterminate {
 background-color:var(--michel-control-green);border-color:var(--michel-control-green);background-image:linear-gradient(#fff,#fff);background-size:10px 2px;
}
body:not(.wp-admin) input[type=radio]:not(.wc-block-components-radio-control__input) {
 appearance:none;-webkit-appearance:none;box-sizing:border-box;width:18px;height:18px;min-width:18px;padding:0;vertical-align:middle;border:1px solid var(--michel-control-border);border-radius:50%;background:#fff;accent-color:var(--michel-control-green);cursor:pointer;
}
body:not(.wp-admin) input[type=radio]:not(.wc-block-components-radio-control__input):checked {border-color:var(--michel-control-green);background:radial-gradient(circle,var(--michel-control-green) 0 4px,#fff 4.5px)}
body:not(.wp-admin) input:is([type=checkbox],[type=radio]):focus-visible {outline:2px solid var(--michel-action);outline-offset:3px}
body:not(.wp-admin) input:is([type=checkbox],[type=radio]):disabled {cursor:default;opacity:.6}
/* Woo Blocks own SVG marks and radio dots; do not draw a second checkmark. */
body .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] {background:#fff;border-radius:4px;accent-color:var(--michel-control-green)}
body .wc-block-components-checkbox:not(.has-error) .wc-block-components-checkbox__input[type=checkbox] {border-color:var(--michel-control-border)}
body .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked {background:var(--michel-control-green)}
body .wc-block-components-checkbox:not(.has-error) .wc-block-components-checkbox__input[type=checkbox]:checked {border-color:var(--michel-control-green)}
body .wc-block-components-checkbox .wc-block-components-checkbox__input:checked~svg {color:var(--michel-on-action);fill:currentColor}
body .wc-block-components-radio-control .wc-block-components-radio-control__input {border-color:var(--michel-control-border);background:#fff;color:var(--michel-control-green)}
body .wc-block-components-radio-control .wc-block-components-radio-control__input:checked {border-color:var(--michel-control-green)}
body .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {background:var(--michel-control-green)}
/* Native checkbox switches, when used in public Woo interfaces. */
body:not(.wp-admin) input[type=checkbox][role=switch] {appearance:none;width:36px;height:22px;min-width:36px;padding:0;border:1px solid var(--michel-control-border);border-radius:12px;background-color:#e8ece5;background-image:radial-gradient(circle,#fff 0 7px,transparent 7.5px);background-size:20px 20px;background-position:left center;background-repeat:no-repeat;cursor:pointer}
body:not(.wp-admin) input[type=checkbox][role=switch]:checked {background-color:var(--michel-control-green);border-color:var(--michel-control-green);background-position:right center}
@media(forced-colors:active){
 body:not(.wp-admin) input:is([type=checkbox],[type=radio]):not(.wc-block-components-checkbox__input):not(.components-form-toggle__input):not(.wc-block-components-radio-control__input){appearance:auto;background-image:none;forced-color-adjust:auto}
}

/* Shared field states for Michel and native WooCommerce inputs. */
.product-search input::placeholder,.mcf-catalog input::placeholder,.michel-brand-search input::placeholder{color:var(--michel-ui-muted)}
/* One existing border owns focus: no external ring or resize. Keep the header's
   container focus, range controls, checkboxes, and Select2 selection controls independent. */
:is(.michel-brand-search input,.mcf-brand-search input,.mcf-price-fields input,.michel-brand-filters input:not([type=checkbox]):not([type=radio]):not([type=range]),.michel-brand-filters select,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-page .select2-container--default .select2-search--dropdown .select2-search__field):not(.select2-hidden-accessible):not([aria-hidden=true]):enabled:focus {
 outline:none;outline-offset:0;box-shadow:none;
 border-color:var(--michel-field-focus);
}
/* A darker single border gives keyboard/text-entry focus sufficient contrast.
   Text inputs may also match focus-visible on click, as decided by the browser. */
:is(.michel-brand-search input,.mcf-brand-search input,.mcf-price-fields input,.michel-brand-filters input:not([type=checkbox]):not([type=radio]):not([type=range]),.michel-brand-filters select,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-page .select2-container--default .select2-search--dropdown .select2-search__field):not(.select2-hidden-accessible):not([aria-hidden=true]):enabled:focus-visible {
 border-color:var(--michel-field-focus-visible);
}
/* Preserve Woo's error signal while the invalid field is being edited. */
.woocommerce form .form-row.woocommerce-invalid,
.woocommerce form .form-row :is([aria-invalid=true],.has-error) {
 --michel-field-focus:var(--wc-red,#a00);
 --michel-field-focus-visible:var(--wc-red,#a00);
}
@media(forced-colors:active){
 :is(.michel-brand-search input,.mcf-brand-search input,.mcf-price-fields input,.michel-brand-filters input:not([type=checkbox]):not([type=radio]):not([type=range]),.michel-brand-filters select,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-page .select2-container--default .select2-search--dropdown .select2-search__field):not(.select2-hidden-accessible):not([aria-hidden=true]):enabled:focus {
  border-color:Highlight;
 }
}
body .wc-block-components-text-input input:not([aria-invalid=true]),body .wc-block-components-combobox .components-combobox-control__input{background-color:var(--michel-ui-bg);border-color:var(--michel-ui-border);color:var(--michel-ui-text)}
body .wc-block-components-text-input input:not([aria-invalid=true]):focus,body .wc-block-components-combobox .components-combobox-control__input:focus{border-color:var(--michel-ui-active-border)}
