/* WC Addon Forms – Flatsome integration
   Loaded only when the Flatsome theme (or a child of it) is active.
   Mirrors Flatsome's own form and .ux-swatch styling so the addon form reads as part of the theme. */

/* Flatsome styles text/email/number/select/textarea itself; date & time are left out of its selector. */
.wcaf-field input[type="date"],
.wcaf-field input[type="time"] {
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
	box-sizing: border-box;
	color: #333;
	font-size: 1rem;
	height: 2.507em;
	max-width: 100%;
	padding: 0 .75em;
	width: 100%;
	transition: color .3s, border .3s, background .3s;
	-webkit-appearance: none;
	appearance: none;
}
.wcaf-field input[type="date"]:focus,
.wcaf-field input[type="time"]:focus { box-shadow: 0 0 5px #ccc; outline: 0; }

/* Labels: same weight/spacing as Flatsome variation labels. */
.wcaf-wrap .wcaf-label { color: #222; font-weight: 700; font-size: .95em; margin-bottom: .3em; width: auto; }
.wcaf-wrap .wcaf-price-tag { font-weight: 400; color: #777; }
.wcaf-wrap .wcaf-desc { color: #777; }

/* Flatsome puts margin-right:10px on radios/checkboxes; our rows use gap instead. */
.wcaf-wrap .wcaf-choice input,
.wcaf-wrap .wcaf-check input { margin-right: 0; }
.wcaf-wrap .wcaf-choice { color: #333; }
.wcaf-wrap .wcaf-choice input:focus-visible,
.wcaf-wrap .wcaf-check input:focus-visible { outline: 2px solid var(--fs-color-primary, #446084); outline-offset: 2px; }

/* Swatches: match .ux-swatch (Flatsome uses 30px swatches with 10px gaps). */
.wcaf-wrap .wcaf-swatches { gap: 10px; margin: 5px 0; }
.wcaf-wrap .wcaf-swatch { gap: 4px; }
.wcaf-wrap .wcaf-swatch-visual {
	border: 0;
	padding: 2px;
	background: #fff;
	box-shadow: 0 0 0 1px #d5d5d5;
	transition: box-shadow .2s;
}
.wcaf-wrap .wcaf-shape-rounded .wcaf-swatch-visual,
.wcaf-wrap .wcaf-shape-rounded .wcaf-swatch-visual img,
.wcaf-wrap .wcaf-shape-rounded .wcaf-swatch-color { border-radius: 2px; }
.wcaf-wrap .wcaf-shape-circle .wcaf-swatch-visual,
.wcaf-wrap .wcaf-shape-circle .wcaf-swatch-visual img,
.wcaf-wrap .wcaf-shape-circle .wcaf-swatch-color { border-radius: 50%; }
.wcaf-wrap .wcaf-swatch:hover .wcaf-swatch-visual { box-shadow: 0 0 0 1px #999; }
.wcaf-wrap .wcaf-swatch input:checked + .wcaf-swatch-visual { box-shadow: 0 0 0 2px var(--fs-color-secondary, #d26e4b); }
.wcaf-wrap .wcaf-swatch input:focus-visible + .wcaf-swatch-visual { outline: 2px solid var(--fs-color-primary, #446084); outline-offset: 2px; }
.wcaf-wrap .wcaf-swatch-label { font-size: .8em; line-height: 1.2; color: #555; }
.wcaf-wrap .wcaf-swatch-label .wcaf-price-tag { display: block; font-size: .9em; }

/* Errors use Flatsome's alert color. */
.wcaf-wrap .wcaf-error { color: var(--fs-color-alert, #b20000); }
.wcaf-wrap .wcaf-has-error input:not([type="checkbox"]):not([type="radio"]),
.wcaf-wrap .wcaf-has-error select,
.wcaf-wrap .wcaf-has-error textarea { border-color: var(--fs-color-alert, #b20000); }
.wcaf-wrap .wcaf-has-error .wcaf-swatch-visual { box-shadow: 0 0 0 1px var(--fs-color-alert, #b20000); }

/* Field quantity rendered with Flatsome's own .quantity markup (minus / number / plus). */
.wcaf-wrap .wcaf-qty { margin-top: .5em; }
.wcaf-wrap .wcaf-qty .wcaf-qty-label { display: block; font-size: .85em; color: #777; margin-bottom: .25em; }
.wcaf-wrap .wcaf-qty .quantity { display: inline-flex; margin: 0; opacity: 1; font-size: 1em; }
.wcaf-wrap .wcaf-qty .quantity .qty { width: 3.5em; text-align: center; }

/* Price summary: sits above the add-to-cart row like a variation price. */
.wcaf-wrap .wcaf-summary { border-top: 1px solid #ececec; margin: .75em 0 1em; padding-top: .6em; }
.wcaf-wrap .wcaf-summary-row { color: #777; font-size: .95em; }
.wcaf-wrap .wcaf-summary-total { color: #111; font-size: 1.25em; font-weight: bolder; }

/* Quick-view lightbox and dark content areas. */
.product-lightbox .wcaf-wrap { margin-top: .5em; }
.dark .wcaf-wrap .wcaf-label,
.dark .wcaf-wrap .wcaf-choice,
.dark .wcaf-wrap .wcaf-summary-total { color: currentColor; }
.dark .wcaf-wrap .wcaf-summary { border-color: rgba(255, 255, 255, .2); }

/* Button-style choices tuned to Flatsome */
.wcaf-wrap .wcaf-choices-button .wcaf-choice > span { border-color: #ddd; border-radius: 0; color: #333; font-size: .95em; }
.wcaf-wrap .wcaf-choices-button .wcaf-choice:hover > span { border-color: #999; }
.wcaf-wrap .wcaf-choices-button .wcaf-choice input:checked + span { border-color: #111; box-shadow: inset 0 0 0 1px #111; }
.wcaf-wrap .wcaf-selected-value { color: var(--wcaf-selected-color, var(--fs-color-primary, #446084)); }
