/* Block checkout follows the same form language as Gladys account screens. */
body.woocommerce-checkout .wp-block-woocommerce-checkout {
	--gladys-checkout-field: var(--gladys-form-field-size, 22px);
	--gladys-checkout-label: clamp(20px, 1.85vw, 26px);
	--gladys-checkout-copy: clamp(18px, 1.55vw, 22px);
	--wc-form-color-background: #fff;
	--wc-form-color-text: #111;
	--wc-form-border-radius: 0;
	color: var(--gladys-color-text, #111);
	font: 400 var(--gladys-checkout-copy)/1.4 var(--gladys-font-sans, Arial, sans-serif);
}
body.woocommerce-checkout .wp-block-woocommerce-checkout :is(.wc-block-components-main, .wc-block-components-sidebar) {
	min-width: 0;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout :is(.wc-block-components-title, .wc-block-components-checkout-step__title) {
	font: 400 clamp(28px, 2.4vw, 34px)/1.15 var(--gladys-font-sans, Arial, sans-serif);
	letter-spacing: normal;
	text-transform: none;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading {
	margin-bottom: 24px;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-step {
	margin-bottom: 36px;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout :is(.wc-block-components-checkout-step__description, .wc-block-components-checkbox__label, .wc-block-components-radio-control__label, .wc-block-components-address-card, .wc-block-checkout__terms, .wc-block-components-checkout-step__container > p) {
	font-size: var(--gladys-checkout-copy);
	line-height: 1.4;
}
/* Payment headings and explanatory copy follow the checkout type scale. */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__label {
	font: 400 clamp(24px, 2vw, 28px)/1.25 var(--gladys-font-sans, Arial, sans-serif);
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
	font: 400 var(--gladys-checkout-copy)/1.45 var(--gladys-font-sans, Arial, sans-serif);
	text-align: left;
	overflow-wrap: anywhere;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content p {
	margin: 0 0 12px;
	font: inherit;
	text-align: left;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content p:last-child {
	margin-bottom: 0;
}
/* PayPal renders this paragraph with an inline text-align:center. */
body.woocommerce-checkout .wp-block-woocommerce-checkout .ppcp-place-order-description {
	text-align: left !important;
}
/* Keep labels permanently above inputs, including focus, filled and autofill states. */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select__container {
	display: flex;
	flex-direction: column;
	background: transparent;
	border-radius: 0;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input.is-active label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input:-webkit-autofill + label,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select__label {
	position: static;
	order: -1;
	display: block;
	max-width: none;
	margin: 0 0 8px;
	color: inherit;
	font: 400 var(--gladys-checkout-label)/1.2 var(--gladys-font-sans, Arial, sans-serif);
	transform: none;
	transition: none;
	white-space: normal;
	overflow: visible;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input:is([type="text"], [type="email"], [type="tel"], [type="number"], [type="password"], [type="url"]),
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select__select,
body.woocommerce-checkout .wp-block-woocommerce-checkout textarea {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: var(--gladys-form-field-height, 58px);
	height: auto;
	margin: 0;
	padding: 10px 16px;
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	color: #111;
	font: 400 var(--gladys-checkout-field)/1.2 var(--gladys-font-sans, Arial, sans-serif);
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select__select { padding-right: 48px; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-blocks-components-select__expand { top: auto; bottom: 26px; transform: none; }
body.woocommerce-checkout .wp-block-woocommerce-checkout textarea { min-height: 150px; }
body.woocommerce-checkout .wp-block-woocommerce-checkout :is(input, select, textarea):focus {
	outline: 2px solid #111;
	outline-offset: 2px;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .has-error :is(input, select, textarea) {
	outline: 2px solid #b3261e;
	outline-offset: 2px;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-validation-error {
	font-size: 18px;
	line-height: 1.35;
	color: #b3261e;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkbox__input { border-radius: 0; }
body.woocommerce-checkout .wp-block-woocommerce-checkout :is(.wc-block-components-product-name, .wc-block-components-product-price, .wc-block-components-totals-item) {
	font-size: var(--gladys-checkout-copy);
	line-height: 1.35;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout :is(.wc-block-components-product-metadata, .wc-block-components-product-metadata__description, .wc-block-components-totals-footer-item-tax) {
	font-size: 16px;
	line-height: 1.4;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary { overflow-wrap: anywhere; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-order-summary .wc-block-components-product-name { color: #111; }
body.woocommerce-checkout .wp-block-woocommerce-checkout :is(.wc-block-components-order-summary, .wc-block-components-checkout-order-summary__content, .wc-block-components-radio-control-accordion-option) { border-radius: 0; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-panel__button {
	font: 400 var(--gladys-checkout-copy)/1.3 var(--gladys-font-sans, Arial, sans-serif);
}
body.woocommerce-checkout .wp-block-woocommerce-checkout :is(.wc-block-components-order-summary__button-text, .wc-block-components-checkout-order-summary__title-text) {
	font: 400 clamp(24px, 2vw, 28px)/1.2 var(--gladys-font-sans, Arial, sans-serif);
}
body.woocommerce-checkout .wp-block-woocommerce-checkout :is(.wc-block-checkout__guest-checkout-notice, .wc-block-components-address-form__address_2-toggle) {
	font: 400 18px/1.4 var(--gladys-font-sans, Arial, sans-serif);
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link) {
	box-sizing: border-box;
	min-height: 60px;
	padding: 16px 22px;
	border: 1px solid #111;
	border-radius: 0;
	background: #111;
	box-shadow: none;
	color: #fff;
	font: 400 20px/1.2 var(--gladys-font-sans, Arial, sans-serif);
	text-decoration: none;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button:not(.is-link):not(:disabled):hover {
	background: #fff;
	color: #111;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button:disabled { opacity: .55; cursor: not-allowed; }
body.woocommerce-checkout .wp-block-woocommerce-checkout :is(a, button):focus-visible { outline: 2px solid #111; outline-offset: 3px; }
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-notice-banner {
	border-radius: 0;
	font: 400 var(--gladys-checkout-copy)/1.4 var(--gladys-font-sans, Arial, sans-serif);
}
@media (max-width: 600px) {
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-address-form :is(.wc-block-components-text-input, .wc-block-components-country-input, .wc-block-components-state-input) {
		flex-basis: 100%;
		width: 100%;
	}
}

/* Shared classic order views: received, pay and account order details. */
body:is(.woocommerce-order-received, .woocommerce-order-pay) .page-content--full-width .entry-content > .woocommerce {
	box-sizing: border-box;
	width: min(calc(100% - (var(--gladys-page-gutter, 28px) * 2)), var(--gladys-page-max, 1600px));
	max-width: none;
	margin: 24px auto 50px;
	padding: 0;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) {
	min-width: 0;
	font: 400 clamp(18px, 1.55vw, 22px)/1.45 var(--gladys-font-sans, Arial, sans-serif);
	overflow-wrap: anywhere;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) > .woocommerce-notice {
	margin: 0 0 28px;
	padding: 20px 24px;
	border: 1px solid #111;
	font: inherit;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) > .woocommerce-thankyou-order-received {
	background: #fff;
	color: #111;
	font-weight: 700;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) ul.order_details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px 32px;
	margin: 0 0 44px;
	padding: 0 0 28px;
	border-bottom: 1px solid #111;
	list-style: none;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) ul.order_details::before,
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) ul.order_details::after {
	display: none;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) ul.order_details li {
	float: none;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	text-transform: none;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) ul.order_details li strong {
	display: block;
	margin-top: 6px;
	font-size: 1em;
	font-weight: 700;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) :is(.woocommerce-order-details, .woocommerce-customer-details) {
	margin: 0 0 40px;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) h2 {
	margin: 0 0 24px;
	font: 400 clamp(26px, 2.4vw, 34px)/1.2 var(--gladys-font-sans, Arial, sans-serif);
	text-align: left;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) table.shop_table {
	width: 100%;
	table-layout: fixed;
	border: 0;
	border-collapse: collapse;
	border-radius: 0;
	margin: 0;
	background: transparent;
	font: inherit;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) table.shop_table :is(th, td) {
	padding: 18px 16px;
	border: 0;
	border-bottom: 1px solid #111;
	background: transparent;
	font-size: inherit;
	line-height: 1.45;
	vertical-align: top;
	text-align: left;
	overflow-wrap: anywhere;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) table.shop_table tr > :first-child {
	width: 58%;
	padding-left: 0;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) table.shop_table tr > :last-child {
	padding-right: 0;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) table.shop_table tfoot td {
	font-weight: 400;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) .woocommerce-columns--addresses::before,
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) .woocommerce-columns--addresses::after {
	display: none;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) .woocommerce-columns--addresses .woocommerce-column {
	float: none;
	width: auto;
	min-width: 0;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) .woocommerce-customer-details address {
	box-sizing: border-box;
	width: 100%;
	padding: 20px 0;
	border: 0;
	border-top: 1px solid #111;
	border-radius: 0;
	font: inherit;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) .woocommerce-customer-details address p {
	margin: 12px 0 0;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) a:not(.button):hover {
	color: var(--gladys-color-primary, #50b8bf);
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	max-width: 100%;
	box-sizing: border-box;
	padding: 12px 20px;
	border: 1px solid #111;
	border-radius: 0;
	background: #111;
	color: #fff;
	font: 400 clamp(18px, 1.4vw, 20px)/1.2 var(--gladys-font-sans, Arial, sans-serif);
	text-align: center;
	text-decoration: none;
	white-space: normal;
}
body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) .button:is(:hover, :focus-visible) {
	background: #fff;
	color: #111;
}
@media (max-width: 1024px) {
	body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) ul.order_details {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 600px) {
	body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) ul.order_details,
	body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) .woocommerce-columns--addresses {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}
	body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) > .woocommerce-notice {
		padding: 16px;
	}
	body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) table.shop_table :is(th, td) {
		padding: 14px 8px;
	}
	body.gladys-woo-order-view :is(.woocommerce-order, .woocommerce-MyAccount-content, #order_review) table.shop_table tr > :first-child {
		width: 52%;
	}
}

/* Pay-for-order has three columns; account details/confirmation have two. */
body.woocommerce-order-pay #order_review {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}
body.woocommerce-order-pay #order_review table.shop_table thead th:first-child,
body.woocommerce-order-pay #order_review table.shop_table tbody td:first-child { width: 50%; }
body.woocommerce-order-pay #order_review table.shop_table thead th:nth-child(2) { width: 15%; }
body.woocommerce-order-pay #order_review table.shop_table tfoot th { width: auto; }
body.gladys-woo-payment-view :is(#payment, #add_payment_method) {
	min-width: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	font: 400 clamp(18px, 1.55vw, 22px)/1.45 var(--gladys-font-sans, Arial, sans-serif);
}
body.gladys-woo-payment-view #payment { margin-top: 32px; }
body.gladys-woo-payment-view #payment ul.payment_methods {
	margin: 0 0 24px;
	padding: 0;
	border: 0;
	list-style: none;
}
body.gladys-woo-payment-view #payment ul.payment_methods > li {
	margin: 0 0 16px;
	padding: clamp(16px, 2vw, 24px);
	border: 1px solid #111;
	text-align: left;
}
body.gladys-woo-payment-view #payment ul.payment_methods > li > label {
	font: 400 clamp(24px, 2vw, 28px)/1.25 var(--gladys-font-sans, Arial, sans-serif);
}
body.gladys-woo-payment-view #payment .payment_box {
	box-sizing: border-box;
	width: 100%;
	margin: 16px 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #111;
	font: inherit;
	text-align: left;
	overflow-wrap: anywhere;
}
body.gladys-woo-payment-view #payment .payment_box::before { display: none; }
body.gladys-woo-payment-view #payment .payment_box p { margin: 0 0 12px; font: inherit; }
body.gladys-woo-payment-view #payment .ppcp-place-order-description { text-align: left !important; }
body.gladys-woo-payment-view #payment > .form-row { padding: 0; margin: 24px 0 0; }
body.gladys-woo-payment-view #payment fieldset {
	min-width: 0;
	margin: 20px 0;
	padding: 0;
	border: 0;
}
body.gladys-woo-payment-view #payment .form-row label { font-size: inherit; line-height: 1.4; }
body.gladys-woo-payment-view #payment .input-text {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: var(--gladys-form-field-height, 58px);
	padding: 10px 16px;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: #111;
	font: 400 var(--gladys-form-field-size, 22px)/1.2 var(--gladys-font-sans, Arial, sans-serif);
}
body.gladys-woo-payment-view #payment .input-text:focus-visible { outline: 2px solid #111; outline-offset: 2px; }
body.gladys-woo-payment-view :is(#payment, .woocommerce-MyAccount-content) .button {
	float: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	max-width: 100%;
	min-height: 48px;
	margin: 4px 0;
	padding: 12px 20px;
	border: 1px solid #111;
	border-radius: 0;
	background: #111;
	color: #fff;
	font: 400 clamp(18px, 1.4vw, 20px)/1.2 var(--gladys-font-sans, Arial, sans-serif);
	white-space: normal;
	text-align: center;
	text-decoration: none;
}
body.gladys-woo-payment-view :is(#payment, .woocommerce-MyAccount-content) .button:is(:hover, :focus-visible) {
	background: #fff;
	color: #111;
}
body.gladys-woo-payment-view .woocommerce-MyAccount-content table.payment_methods,
body.gladys-woo-payment-view .woocommerce-MyAccount-content table.woocommerce-MyAccount-paymentMethods {
	margin: 0 0 28px;
	font-size: clamp(18px, 1.55vw, 22px);
}
body.gladys-woo-payment-view .woocommerce-MyAccount-content table.shop_table :is(th, td) {
	padding: 16px 10px;
	vertical-align: top;
	overflow-wrap: anywhere;
}
@media (max-width: 768px) {
	body.gladys-woo-payment-view .woocommerce-MyAccount-content table.shop_table_responsive td {
		background: transparent;
	}
	body.gladys-woo-payment-view .woocommerce-MyAccount-content table.shop_table_responsive td::before {
		margin-right: 12px;
	}
}
@media (max-width: 600px) {
	body.gladys-woo-payment-view #payment .form-row-first,
	body.gladys-woo-payment-view #payment .form-row-last {
		float: none;
		width: 100%;
	}
	body.woocommerce-order-pay #order_review table.shop_table thead th:first-child,
	body.woocommerce-order-pay #order_review table.shop_table tbody td:first-child { width: 45%; }
	body.woocommerce-order-pay #order_review table.shop_table thead th:nth-child(2) { width: 18%; }
}
