/* My Account content padding (all endpoints, not just address). */
body.woocommerce-account #brxe-c10mai .woocommerce-MyAccount-content {
	padding: 50px 50px !important;
}

@media (max-width: 767px) {
	body.woocommerce-account #brxe-c10mai .woocommerce-MyAccount-content {
		padding: 32px 24px !important;
	}
}

/*
 * Woo default float (form-row-first/last) lets 郵便番号 tuck under 姓
 * when 名 is even 1px taller — left column sits higher than 都道府県.
 */
#brxe-c10mai .woocommerce-address-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 1.5rem;
	align-items: start;
}

#brxe-c10mai .woocommerce-address-fields__field-wrapper::after,
#brxe-c10mai .woocommerce-address-fields__field-wrapper::before {
	display: none !important;
	content: none !important;
}

#brxe-c10mai .woocommerce-address-fields__field-wrapper .form-row {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

#brxe-c10mai .woocommerce-address-fields__field-wrapper .form-row-wide {
	grid-column: 1 / -1;
}

#brxe-c10mai .woocommerce-address-fields__field-wrapper .uc-address-section,
.woocommerce-address-fields .uc-address-section,
.wc-block-components-address-form .uc-address-section {
	grid-column: 1 / -1;
	margin: 1.25rem 0 0.65rem;
	padding: 0;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	color: #1a1a1a;
}

#brxe-c10mai .woocommerce-address-fields__field-wrapper .uc-address-section:first-child,
.woocommerce-address-fields .uc-address-section:first-child {
	margin-top: 0;
}

#brxe-c10mai .woocommerce-address-fields__field-wrapper .uc-is-individual-row,
.woocommerce-address-fields .uc-is-individual-row,
.uc-is-individual-row--blocks {
	grid-column: 1 / -1;
	margin: 0 0 0.75rem;
}

.uc-is-individual-row label {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 500;
	cursor: pointer;
}

.uc-is-individual-row input[type="checkbox"] {
	width: auto;
	height: auto;
	margin: 0;
}

#brxe-c10mai .woocommerce-address-fields input.input-text[readonly],
.woocommerce-address-fields input.input-text[readonly],
.wc-block-components-text-input input[readonly] {
	background-color: #f6f6f6 !important;
	color: #333;
}

.uc-address-hidden,
.wc-block-components-address-form--shipping .wc-block-components-address-form__first-name,
.wc-block-components-address-form--shipping .wc-block-components-address-form__last-name,
.wc-block-components-address-form--shipping .wc-block-components-address-form__first_name,
.wc-block-components-address-form--shipping .wc-block-components-address-form__last_name,
.wc-block-components-address-form--shipping .wc-block-components-address-form__phone,
.wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form__first-name,
.wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form__last-name,
.wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form__first_name,
.wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form__last_name,
.wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form__phone {
	display: none !important;
}

/*
 * Checkout Blocks: class names use underscores (__last_name), not hyphens.
 * Hyphen selectors never matched, so 姓/名 stayed order:0 and appeared first.
 */
.wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form,
.wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form {
	display: flex !important;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0 1rem;
}

.wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form > *,
.wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form > * {
	box-sizing: border-box;
}

.wc-block-components-address-form__country {
	display: none !important;
}

.wc-block-components-address-form__address_2-hidden-input {
	display: none !important;
}

.wc-block-components-address-form .uc-address-section--company {
	order: 10;
	width: 100%;
	flex: 0 0 100%;
}

.wc-block-components-address-form .uc-is-individual-row--blocks {
	order: 20;
	width: 100%;
	flex: 0 0 100%;
}

.wc-block-components-address-form .wc-block-components-address-form__company {
	order: 30;
	width: 100% !important;
	max-width: none !important;
	flex: 0 0 100% !important;
}

.wc-block-components-address-form .wc-block-components-address-form__postcode {
	order: 40;
	width: calc(50% - 0.5rem) !important;
	max-width: none !important;
	flex: 0 0 calc(50% - 0.5rem) !important;
}

.wc-block-components-address-form .wc-block-components-address-form__state {
	order: 50;
	width: calc(50% - 0.5rem) !important;
	max-width: none !important;
	flex: 0 0 calc(50% - 0.5rem) !important;
}

.wc-block-components-address-form .wc-block-components-address-form__city {
	order: 60;
	width: calc(50% - 0.5rem) !important;
	max-width: none !important;
	flex: 0 0 calc(50% - 0.5rem) !important;
}

.wc-block-components-address-form .wc-block-components-address-form__address_1,
.wc-block-components-address-form .wc-block-components-address-form__address-1 {
	order: 70;
	width: calc(50% - 0.5rem) !important;
	max-width: none !important;
	flex: 0 0 calc(50% - 0.5rem) !important;
}

.wc-block-components-address-form .wc-block-components-address-form__address_2,
.wc-block-components-address-form .wc-block-components-address-form__address-2,
.wc-block-components-address-form .wc-block-components-address-form__address_2-toggle {
	order: 80;
	width: 100% !important;
	max-width: none !important;
	flex: 0 0 100% !important;
}

.wc-block-components-address-form .uc-address-section--contact {
	order: 90;
	width: 100%;
	flex: 0 0 100%;
}

.wc-block-components-address-form .wc-block-components-address-form__last_name,
.wc-block-components-address-form .wc-block-components-address-form__last-name {
	order: 100;
	width: calc(50% - 0.5rem) !important;
	max-width: none !important;
	flex: 0 0 calc(50% - 0.5rem) !important;
}

.wc-block-components-address-form .wc-block-components-address-form__first_name,
.wc-block-components-address-form .wc-block-components-address-form__first-name {
	order: 110;
	width: calc(50% - 0.5rem) !important;
	max-width: none !important;
	flex: 0 0 calc(50% - 0.5rem) !important;
}

.wc-block-components-address-form .wc-block-components-address-form__email,
.wc-block-components-address-form .uc-checkout-email {
	order: 120;
	width: 100% !important;
	max-width: none !important;
	flex: 0 0 100% !important;
}

.wc-block-components-address-form .wc-block-components-address-form__phone {
	order: 130;
	width: 100% !important;
	max-width: none !important;
	flex: 0 0 100% !important;
}

.wp-block-woocommerce-checkout-contact-information-block.uc-contact-relocated {
	display: none !important;
}

@media (max-width: 767px) {
	.wc-block-components-address-form .wc-block-components-address-form__postcode,
	.wc-block-components-address-form .wc-block-components-address-form__state,
	.wc-block-components-address-form .wc-block-components-address-form__city,
	.wc-block-components-address-form .wc-block-components-address-form__address_1,
	.wc-block-components-address-form .wc-block-components-address-form__address-1,
	.wc-block-components-address-form .wc-block-components-address-form__last_name,
	.wc-block-components-address-form .wc-block-components-address-form__last-name,
	.wc-block-components-address-form .wc-block-components-address-form__first_name,
	.wc-block-components-address-form .wc-block-components-address-form__first-name {
		width: 100% !important;
		flex: 0 0 100% !important;
	}
}

#brxe-c10mai .woocommerce-address-fields__field-wrapper .form-row > label {
	display: block;
	min-height: 1.35em;
	margin-bottom: 0.35rem;
}

@media (max-width: 767px) {
	#brxe-c10mai .woocommerce-address-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	#brxe-c10mai .woocommerce-address-fields__field-wrapper .form-row-first,
	#brxe-c10mai .woocommerce-address-fields__field-wrapper .form-row-last,
	#brxe-c10mai .woocommerce-address-fields__field-wrapper .form-row-wide {
		grid-column: 1 / -1;
	}
}

/*
 * Prefecture vs postcode: same box. #brxe-c10mai beats Skin A padding-only rules.
 * Native select is shorter than text inputs unless height/line-height are explicit.
 */
#brxe-c10mai .woocommerce-address-fields input.input-text,
#brxe-c10mai .woocommerce-address-fields select,
#brxe-c10mai .woocommerce-address-fields select.state_select,
.woocommerce-address-fields input.input-text,
.woocommerce-address-fields select.state_select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select.state_select {
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 48px !important;
	min-height: 48px !important;
	margin: 0;
	padding: 0 0.7rem !important;
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	background-color: #fff !important;
	font-size: 0.95rem !important;
	line-height: 46px !important;
	color: inherit;
	vertical-align: top;
}

#brxe-c10mai .woocommerce-address-fields select,
#brxe-c10mai .woocommerce-address-fields select.state_select,
.woocommerce-address-fields select.state_select,
.woocommerce form .form-row select.state_select {
	padding-right: 2rem !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M1.4 1.2 6 5.8 10.6 1.2'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 0.7rem center !important;
	background-size: 12px 8px !important;
}

.woocommerce-address-fields .select2-container,
#brxe-c10mai .woocommerce-address-fields .select2-container {
	display: block !important;
	width: 100% !important;
}

#brxe-c10mai .woocommerce-address-fields .select2-container .select2-selection--single,
.woocommerce-address-fields .select2-container .select2-selection--single,
.woocommerce form .form-row .select2-container .select2-selection--single {
	box-sizing: border-box !important;
	height: 48px !important;
	min-height: 48px !important;
	padding: 0 0.7rem !important;
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	background-color: #fff !important;
}

#brxe-c10mai .woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__rendered,
.woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__rendered,
.woocommerce form .form-row .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 46px !important;
	padding: 0 !important;
}

#brxe-c10mai .woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__arrow,
.woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__arrow,
.woocommerce form .form-row .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100% !important;
	top: 0 !important;
	right: 6px !important;
}

.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-combobox input,
.wp-block-woocommerce-checkout .wc-block-components-combobox-control__input,
.wp-block-woocommerce-checkout .components-combobox-control__input,
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-combobox input,
.wc-block-checkout .wc-block-components-combobox-control__input,
.wc-block-checkout .components-combobox-control__input {
	box-sizing: border-box !important;
	min-height: 3.5rem !important;
	height: 3.5rem !important;
	padding: 1.4em 0.875em 0.5em !important;
	font-size: 1em !important;
	line-height: 1.25 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-combobox,
.wp-block-woocommerce-checkout .wc-block-components-combobox-control,
.wp-block-woocommerce-checkout .components-combobox-control,
.wc-block-checkout .wc-block-components-combobox,
.wc-block-checkout .wc-block-components-combobox-control,
.wc-block-checkout .components-combobox-control {
	min-height: 3.5rem !important;
}
