/* SnapHub shared form field border/focus policy
 * Standard cascade only; no forced-priority overrides.
 * Text-like input/select/textarea:
 * - normal: 1px neutral gray border
 * - editable focus/focus-visible: 2px soft SnapHub pink border in the same box
 * - disabled/readonly: fixed 1px gray, no focus/hover/active ring
 * Checkbox/radio/file/range/color/button controls are intentionally excluded.
 */

input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not(.cur-year):not([data-borderless]),
select:not([multiple]):not(.flatpickr-monthDropdown-months):not([data-form-focus-ignore]):not([data-borderless]),
textarea:not([data-form-focus-ignore]):not([data-borderless]):not([data-native-border]) {
	box-sizing: border-box;
	border-width: 1px;
	border-style: solid;
	border-color: #c5c6ca;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not(.cur-year):not([data-borderless]):focus:not(:disabled):not([readonly]),
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not(.cur-year):not([data-borderless]):focus-visible:not(:disabled):not([readonly]),
select:not([multiple]):not(.flatpickr-monthDropdown-months):not([data-form-focus-ignore]):not([data-borderless]):focus:not(:disabled),
select:not([multiple]):not(.flatpickr-monthDropdown-months):not([data-form-focus-ignore]):not([data-borderless]):focus-visible:not(:disabled),
textarea:not([data-form-focus-ignore]):not([data-borderless]):not([data-native-border]):focus:not(:disabled):not([readonly]),
textarea:not([data-form-focus-ignore]):not([data-borderless]):not([data-native-border]):focus-visible:not(:disabled):not([readonly]) {
	border-width: 2px;
	border-style: solid;
	border-color: rgba(255, 85, 85, .32);
	outline: none;
	box-shadow: none;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not(.cur-year):not([data-borderless]):is(:disabled, [readonly]),
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not(.cur-year):not([data-borderless]):is(:disabled, [readonly]):hover,
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not(.cur-year):not([data-borderless]):is(:disabled, [readonly]):focus,
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not(.cur-year):not([data-borderless]):is(:disabled, [readonly]):focus-visible,
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not(.cur-year):not([data-borderless]):is(:disabled, [readonly]):active,
select:not([multiple]):not(.flatpickr-monthDropdown-months):not([data-form-focus-ignore]):not([data-borderless]):disabled,
select:not([multiple]):not(.flatpickr-monthDropdown-months):not([data-form-focus-ignore]):not([data-borderless]):disabled:hover,
select:not([multiple]):not(.flatpickr-monthDropdown-months):not([data-form-focus-ignore]):not([data-borderless]):disabled:focus,
select:not([multiple]):not(.flatpickr-monthDropdown-months):not([data-form-focus-ignore]):not([data-borderless]):disabled:focus-visible,
textarea:not([data-form-focus-ignore]):not([data-borderless]):not([data-native-border]):is(:disabled, [readonly]),
textarea:not([data-form-focus-ignore]):not([data-borderless]):not([data-native-border]):is(:disabled, [readonly]):hover,
textarea:not([data-form-focus-ignore]):not([data-borderless]):not([data-native-border]):is(:disabled, [readonly]):focus,
textarea:not([data-form-focus-ignore]):not([data-borderless]):not([data-native-border]):is(:disabled, [readonly]):focus-visible,
textarea:not([data-form-focus-ignore]):not([data-borderless]):not([data-native-border]):is(:disabled, [readonly]):active {
	border-width: 1px;
	border-style: solid;
	border-color: #e2e3e6;
	outline: none;
	box-shadow: none;
}


/*
 * Flatpickr 내부 월/연도 컨트롤은 달력 라이브러리 자체 CSS가 레이아웃을 소유합니다.
 * 공통 폼 정책이 내부 select/input에 테두리·focus 스타일을 다시 입히면 월/연도 헤더가 깨지므로
 * 위 공통 선택자에서 .flatpickr-monthDropdown-months / .cur-year를 명시적으로 제외합니다.
 * 페이지별 !important 또는 JS 속성 주입으로 우회하지 않고 공통 책임에서 충돌을 제거하는 방식입니다.
 */

/* Studio register compound price/duration fields.
 * The wrapper owns the visible border; the inner input is intentionally borderless.
 */
.page-studio-register #register-product .input-suffix {
	box-sizing: border-box;
	border-width: 1px;
	border-style: solid;
	border-color: #c5c6ca;
	transition: border-color .16s ease, border-width .16s ease;
}

.page-studio-register #register-product .input-suffix > input {
	height: 100%;
	border: 0;
	outline: none;
	box-shadow: none;
}

.page-studio-register #register-product .input-suffix:focus-within:not(:has(> input:disabled)):not(:has(> input[readonly])) {
	border-width: 2px;
	border-color: rgba(255, 85, 85, .32);
	outline: none;
	box-shadow: none;
}

.page-studio-register #register-product .input-suffix:has(> input:disabled),
.page-studio-register #register-product .input-suffix:has(> input[readonly]),
.page-studio-register #register-product .input-suffix:has(> input:disabled):hover,
.page-studio-register #register-product .input-suffix:has(> input[readonly]):hover,
.page-studio-register #register-product .input-suffix:has(> input:disabled):focus-within,
.page-studio-register #register-product .input-suffix:has(> input[readonly]):focus-within {
	border-width: 1px;
	border-color: #e2e3e6;
	outline: none;
	box-shadow: none;
}
