.wootilities-product-field-input [data-child-choice][hidden]{display:none!important}
.wootilities-product-field-input fieldset .wootilities-child-search{display:grid;font-weight:400}
.wootilities-child-products[data-count-mode="quantity"] [data-child-price]{width:76px!important;flex:0 0 76px;min-height:44px}
.wootilities-product-field-input[hidden]{display:none!important}.wootilities-product-fields{display:grid;gap:1.25rem;margin:1.25rem 0}.wootilities-product-fields__group{border:0;display:grid;gap:1rem;margin:0;padding:0}.wootilities-product-fields__group>legend{font-size:1.125em;font-weight:600;margin-bottom:.75rem;padding:0}.wootilities-product-field-input{display:grid;gap:.4rem}.wootilities-product-field-input>label,.wootilities-product-field-input legend{font-weight:600}.wootilities-product-field-input input:not([type=checkbox]):not([type=radio]):not([type=file]),.wootilities-product-field-input select,.wootilities-product-field-input textarea{box-sizing:border-box;max-width:100%;width:100%}.wootilities-product-field-input textarea{min-height:7rem;resize:vertical}.wootilities-product-field-input fieldset{border:0;display:grid;gap:.55rem;margin:0;padding:0}.wootilities-product-field-input fieldset label,.wootilities-product-field-input>label:has(input[type=checkbox]){align-items:flex-start;cursor:pointer;display:flex;gap:.55rem;font-weight:400}.wootilities-product-field-input input[type=checkbox],.wootilities-product-field-input input[type=radio]{flex:0 0 auto;margin-top:.2em}.wootilities-product-field-input small{color:inherit;opacity:.72}.wootilities-product-field-input__price{white-space:nowrap}.wootilities-product-fields__total{border-top:1px solid currentColor;display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;margin:0;opacity:.9;padding-top:1rem}.wootilities-product-fields__total:empty{display:none}@media(max-width:480px){.wootilities-product-fields__total{align-items:flex-start;flex-direction:column}}
.wootilities-product-fields__group,
.wootilities-product-fields__group > legend,
.wootilities-product-field-input fieldset,
.wootilities-product-field-input fieldset > legend { background: transparent; }
.wootilities-product-field-input fieldset.wootilities-swatches { display: flex; flex-wrap: wrap; gap: .6rem; }
/* N columns while each stays at least 8rem wide; narrower containers drop columns. */
.wootilities-product-field-input fieldset[data-columns] { grid-template-columns: repeat(auto-fill, minmax(max(8rem, calc((100% - (var(--wootilities-columns) - 1) * .55rem) / var(--wootilities-columns))), 1fr)); }
.wootilities-swatches > legend { width: 100%; margin-bottom: .5rem; }
.wootilities-product-field-input .wootilities-swatches label { align-items: center; box-sizing: border-box; gap: var(--wootilities-swatch-gap, .55rem); min-height: 44px; min-width: 44px; max-width: 100%; margin: 0; padding: .6rem .8rem; border: 1px solid var(--wootilities-swatch-border, currentColor); border-radius: var(--wootilities-swatch-radius, .25rem); overflow-wrap: anywhere; }
.wootilities-swatches label:has(input:checked) { box-shadow: inset 0 0 0 1px currentColor; }
.wootilities-swatches label:has(input:focus-visible) { outline: 2px solid var(--wootilities-ring, #e2001a); outline-offset: 3px; }
.wootilities-swatches label > span { min-width: 0; }
.wootilities-product-field-input .wootilities-swatches input { margin: 0; }
.wootilities-swatch-color { display: inline-block; width: 1.5em; height: 1.5em; margin-inline-end: .5em; border: 1px solid currentColor; border-radius: var(--wootilities-swatch-radius, .2em); vertical-align: middle; }
body.wootilities-swatch-outline .wootilities-swatches label { background: var(--wootilities-card, #fff); border-color: var(--wootilities-swatch-border, var(--wootilities-border, currentColor)); }
body.wootilities-swatch-outline .wootilities-swatches label:has(input:checked) { border-color: var(--wootilities-primary, currentColor); box-shadow: inset 0 0 0 1px var(--wootilities-primary, currentColor); }
body.wootilities-swatch-filled .wootilities-swatches label { background: var(--wootilities-muted, #f5f5f5); border-color: transparent; }
body.wootilities-swatch-filled .wootilities-swatches label:has(input:checked) { background: var(--wootilities-primary, #e2001a); border-color: var(--wootilities-primary, #e2001a); box-shadow: none; color: var(--wootilities-primary-text, #fff); }
body.wootilities-swatch-minimal .wootilities-swatches label { border-color: transparent; }
body.wootilities-swatch-minimal .wootilities-swatches label:has(input:checked) { border-color: var(--wootilities-primary, currentColor); box-shadow: none; }
body.wootilities-swatches-hide-inputs .wootilities-swatches input[type="radio"],
body.wootilities-swatches-hide-inputs .wootilities-swatches input[type="checkbox"] { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
@media (forced-colors: active) { .wootilities-swatch-color { forced-color-adjust: none; } }
.wootilities-choice-image { display: block; width: 5rem; height: 5rem; max-width: 100%; margin-bottom: .4rem; object-fit: cover; border-radius: .2rem; }
.wootilities-swatches .wootilities-choice-image { border-radius: var(--wootilities-swatch-radius, .2rem); }
.wootilities-product-field-input fieldset.wootilities-cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap: .75rem; }
.wootilities-cards > legend { grid-column: 1/-1; }
.wootilities-product-field-input .wootilities-cards label { box-sizing: border-box; min-height: 44px; margin: 0; padding: .8rem; border: 1px solid currentColor; border-radius: .25rem; }
.wootilities-cards label:has(input:checked) { box-shadow: inset 0 0 0 1px currentColor; }
.wootilities-cards label:has(input:focus-visible) { outline: 2px solid var(--wootilities-ring, #e2001a); outline-offset: 3px; }
.wootilities-cards label > span { display: grid; min-width: 0; gap: .25rem; }
.wootilities-cards .wootilities-choice-text { display: grid; gap: .25rem; min-width: 0; }
.wootilities-cards--horizontal label > span { grid-template-columns: auto minmax(0,1fr); align-items: center; }
.wootilities-cards--horizontal .wootilities-choice-image { width: 4rem; height: 4rem; margin: 0 .5rem 0 0; }
.wootilities-cards--horizontal .wootilities-choice-text { grid-column: 2; }
.wootilities-content { display: grid; gap: .6rem; }
.wootilities-content__image { display: block; max-width: 100%; height: auto; }
.wootilities-upload { display: grid; gap: .5rem; min-width: 0; }
.wootilities-upload ul { display: grid; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.wootilities-upload li { align-items: center; background: var(--wootilities-muted, #f6f7f7); border-radius: var(--wootilities-card-radius, .375rem); display: flex; gap: .75rem; justify-content: space-between; overflow-wrap: anywhere; padding: .5rem .75rem; }
.wootilities-upload__filename { min-width: 0; overflow-wrap: anywhere; }
.wootilities-upload li > button { flex: 0 0 auto; }
.wootilities-upload button { min-height: 44px; }
.wootilities-upload progress { max-width: 100%; width: 100%; }
.wootilities-upload__input { border: 0; clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px !important; margin: -1px; max-width: 1px !important; min-height: 0 !important; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px !important; }
.wootilities-upload > small[data-wootilities-upload-status] { min-width: 0; overflow-wrap: anywhere; }
.wootilities-upload__dropzone { align-items: center; background: var(--wootilities-card, #fff); border: 1px dashed var(--wootilities-border, #c3c4c7); border-radius: var(--wootilities-card-radius, .5rem); box-sizing: border-box; color: var(--wootilities-muted-foreground, inherit); cursor: pointer; display: flex; flex-direction: column; gap: .4rem; padding: 1.4rem 1rem; text-align: center; transition: border-color .15s ease, background-color .15s ease; }
.wootilities-upload__dropzone:hover { border-color: var(--wootilities-ring, #2271b1); }
.wootilities-upload.is-dragging .wootilities-upload__dropzone { background: var(--wootilities-card, #fff); border-color: var(--wootilities-ring, #2271b1); }
.wootilities-upload:has(.wootilities-upload__input:focus-visible) .wootilities-upload__dropzone { outline: 2px solid var(--wootilities-ring, #2271b1); outline-offset: 2px; }
.wootilities-upload__icon svg { display: block; height: 1.75rem; width: 1.75rem; }
.wootilities-upload__prompt { font-weight: 500; }
.wootilities-product-field-input select { appearance: none; -webkit-appearance: none; background-color: var(--wootilities-card, #fff); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23646970' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-position: right .7rem center; background-repeat: no-repeat; background-size: 1rem; border: 1px solid var(--wootilities-border, #8c8f94); border-radius: var(--wootilities-card-radius, .375rem); color: inherit; min-height: 2.875rem; padding: .5rem 2.4rem .5rem .8rem; }
.wootilities-product-field-input input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),
.wootilities-product-field-input textarea { background-color: var(--wootilities-card, #fff); border: 1px solid var(--wootilities-border, #8c8f94); border-radius: var(--wootilities-card-radius, .375rem); box-sizing: border-box; color: inherit; min-height: 2.875rem; padding: .5rem .8rem; }
.wootilities-product-field-input textarea { min-height: 7rem; }
.wootilities-product-field-input select:focus-visible,
.wootilities-product-field-input input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):focus-visible,
.wootilities-product-field-input textarea:focus-visible { outline: 2px solid var(--wootilities-ring, #2271b1); outline-offset: 1px; }
.wootilities-child-products__options { display: grid; gap: .55rem; grid-template-columns: repeat(auto-fit,minmax(min(100%,14rem),1fr)); min-width: 0; }
.wootilities-child-products > legend { width: 100%; }
.wootilities-product-field-input .wootilities-child-products label { align-items: center; border: 1px solid var(--wootilities-child-product-border, currentColor); border-radius: var(--wootilities-child-product-radius, .25rem); box-sizing: border-box; min-height: 44px; padding: .7rem; }
.wootilities-child-products label:has(input:focus-visible) { outline: 2px solid var(--wootilities-ring, #e2001a); outline-offset: 3px; }
.wootilities-child-products label:has(input:checked) { border-color: var(--wootilities-primary, currentColor); box-shadow: inset 0 0 0 1px var(--wootilities-primary, currentColor); }
body.wootilities-child-product-outline .wootilities-child-products label { background: var(--wootilities-card, #fff); }
body.wootilities-child-product-filled .wootilities-child-products label { background: var(--wootilities-muted, #f5f5f5); border-color: transparent; }
body.wootilities-child-product-filled .wootilities-child-products label:has(input:checked) { background: var(--wootilities-primary, #e2001a); border-color: var(--wootilities-primary, #e2001a); box-shadow: none; color: var(--wootilities-primary-text, #fff); }
body.wootilities-child-product-minimal .wootilities-child-products label { border-color: transparent; }
body.wootilities-child-product-minimal .wootilities-child-products label:has(input:checked) { border-color: var(--wootilities-primary, currentColor); box-shadow: none; }
body.wootilities-child-products-hide-inputs .wootilities-child-products input[type="checkbox"] { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.wootilities-child-product__image { border-radius: var(--wootilities-child-product-radius, .2rem); flex: 0 0 auto; height: 3.5rem; object-fit: cover; width: 3.5rem; }
.wootilities-child-products label > span { display: grid; gap: .2rem; min-width: 0; overflow-wrap: anywhere; }
.wootilities-product-field-input fieldset.wootilities-image-quantities { grid-template-columns: repeat(auto-fit,minmax(min(100%,10rem),1fr)); }
.wootilities-image-quantities > legend { grid-column: 1/-1; }
.wootilities-image-quantity { border: 1px solid currentColor; border-radius: .25rem; display: grid; gap: .6rem; min-width: 0; padding: .7rem; }
.wootilities-image-quantity__image { aspect-ratio: 1; border-radius: .2rem; height: auto; object-fit: cover; width: 100%; }
.wootilities-product-field-input .wootilities-image-quantity label { cursor: default; display: grid; gap: .35rem; min-width: 0; overflow-wrap: anywhere; }
.wootilities-image-quantity:focus-within { outline: 2px solid currentColor; outline-offset: 3px; }
.wootilities-bundled-child,
.wootilities-bundle-parent .wc-block-components-product-price__value { display: none !important; }
.wootilities-bundle-parent .wc-block-components-product-price { white-space: nowrap; }
/* Keep custom fields on their own row in WooCommerce and flex-based builders such as Elementor. */
body.single-product form.cart:has(> .wootilities-product-fields),
body.single-product form.cart .woocommerce-variation-add-to-cart:has(> .wootilities-product-fields) { align-items: flex-start; flex-wrap: wrap !important; }
body.single-product form.cart:has(> .wootilities-product-fields) > .wootilities-product-fields,
body.single-product form.cart .woocommerce-variation-add-to-cart:has(> .wootilities-product-fields) > .wootilities-product-fields { flex: 0 0 100% !important; max-width: 100%; }
/* Themes style form controls with higher specificity, so full width is enforced here. */
.wootilities-product-fields .wootilities-product-field-input input:not([type=checkbox]):not([type=radio]):not([type=file]),
.wootilities-product-fields .wootilities-product-field-input select,
.wootilities-product-fields .wootilities-product-field-input textarea { box-sizing: border-box !important; width: 100% !important; max-width: 100% !important; min-width: 0; }
.wootilities-product-fields .wootilities-product-field-input input[type=color] { height: 2.75rem; padding: .25rem; }
.wootilities-product-fields, .wootilities-product-fields__group { min-width: 0; width: 100%; }
.wootilities-product-fields__total[hidden] { display: none !important; }
.wootilities-product-fields__total--price { border: 0; font-size: .9em; gap: .25rem .75rem; justify-content: flex-start; margin: .35rem 0 0; padding: 0; width: 100%; }
.wootilities-price--replaced > *:not(.wootilities-product-fields__total), .wootilities-price--replaced > bdi { opacity: .65; text-decoration: line-through; }
.wootilities-price--replaced .wootilities-product-fields__total { font-size: 1em; opacity: 1; text-decoration: none; }
.wootilities-price--updated > *:not(.wootilities-product-fields__total), .wootilities-price--updated > bdi { display: none; }
.wootilities-price--updated .wootilities-product-fields__total { font-size: 1em; margin: 0; }
.wootilities-product-field-input--silent { display: none !important; }

@media (min-width: 641px) {
	body.wootilities-product-fields-rows .wootilities-product-field-input { align-items: start; column-gap: 1rem; grid-template-columns: minmax(0, min(var(--wootilities-product-field-label-width, max(8rem, 28%)), calc(100% - 5rem))) minmax(0, 1fr); }
	body.wootilities-product-fields-rows .wootilities-product-field-input > :is(label, strong),
	body.wootilities-product-fields-rows .wootilities-product-field-input legend { min-width: 0; overflow-wrap: anywhere; }
	body.wootilities-product-fields-rows .wootilities-product-field-input > :is(label, strong) { grid-column: 1; }
	body.wootilities-product-fields-rows .wootilities-product-field-input > :is(input, select, textarea, output, .wootilities-upload) { grid-column: 2; grid-row: 1; }
	body.wootilities-product-fields-rows .wootilities-product-field-input > small { grid-column: 2; }
	body.wootilities-product-fields-rows .wootilities-product-field-input > fieldset { grid-column: 1 / -1; }
	body.wootilities-product-fields-rows .wootilities-product-field-input > fieldset:not(.wootilities-cards):not(.wootilities-child-products):not(.wootilities-image-quantities) { display: grid; grid-template-columns: minmax(0, min(var(--wootilities-product-field-label-width, max(8rem, 28%)), calc(100% - 5rem))) minmax(0, 1fr); }
	body.wootilities-product-fields-rows .wootilities-product-field-input > fieldset:not(.wootilities-cards):not(.wootilities-child-products):not(.wootilities-image-quantities) > legend { float: left; grid-column: 1; margin: 0; padding: 0; width: auto; }
	body.wootilities-product-fields-rows .wootilities-product-field-input > fieldset:not(.wootilities-cards):not(.wootilities-child-products):not(.wootilities-image-quantities) > :not(legend) { grid-column: 2; }
	body.wootilities-product-fields-rows .wootilities-child-products { display: grid; grid-template-columns: minmax(0, min(var(--wootilities-product-field-label-width, max(8rem, 28%)), calc(100% - 5rem))) minmax(0, 1fr); }
	body.wootilities-product-fields-rows .wootilities-child-products > legend { float: left; grid-column: 1; margin: 0; padding: 0; width: auto; }
	body.wootilities-product-fields-rows .wootilities-child-products > .wootilities-child-products__options { grid-column: 2; }
	body.wootilities-product-fields-rows .wootilities-product-field-input[data-field-type="true_false"] > label { grid-column: 2; }
	body.wootilities-product-fields-rows .wootilities-product-field-input[data-field-type="content"],
	body.wootilities-product-fields-rows .wootilities-product-field-input[data-field-type="shortcode"] { display: block; }
}
