/* AffiliPartnerCS subdomain add-on presentation. Business rules live in the store plugin. */
.asd-product-summary .cart .asd-subdomain-addon {
	background: linear-gradient(145deg, #f5fbff, #edf6fd);
	border: 1px solid #b8d5ea;
	border-left: 4px solid #0b92c5;
	border-radius: var(--asd-radius-s);
	box-sizing: border-box;
	color: #29465f;
	flex: 1 0 100%;
	margin: 0.4rem 0 0.65rem;
	max-width: 100%;
	min-inline-size: 0;
	min-width: 0;
	padding: 1rem 1.05rem;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
	width: 100%;
}

.asd-product-summary .cart .asd-subdomain-addon *,
.asd-product-summary .cart .asd-subdomain-addon *::before,
.asd-product-summary .cart .asd-subdomain-addon *::after {
	box-sizing: border-box;
}

.asd-product-summary .cart .asd-subdomain-addon:focus-within {
	border-color: #0b6ed1;
	box-shadow: 0 0 0 3px rgba(11, 110, 209, 0.14);
}

.asd-product-summary .cart .asd-subdomain-addon.is-selected {
	background: linear-gradient(145deg, #eafaff, #eef5ff);
	border-color: #08aeca;
	border-left-color: #075eb7;
}

.asd-subdomain-addon legend {
	color: #102033;
	font-size: 1.02rem;
	font-weight: 750;
	line-height: 1.35;
	max-width: calc(100% - 0.5rem);
	padding: 0 0.35rem;
}

.asd-subdomain-addon__price {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-bottom: 0.5rem;
}

.asd-subdomain-addon__price strong {
	color: #075eb7;
	font-size: 1.25rem;
}

.asd-subdomain-addon__price span {
	color: #52677e;
	font-size: 0.88rem;
	font-weight: 650;
}

.asd-subdomain-addon__description,
.asd-subdomain-addon__timing,
.asd-subdomain-addon__status {
	font-size: 0.86rem;
	line-height: 1.55;
}

.asd-subdomain-addon__description {
	color: #38536d;
	margin: 0 0 0.8rem;
}

.asd-subdomain-addon__control {
	align-items: center;
	display: grid;
	gap: 0.45rem 0.9rem;
	grid-template-columns: minmax(0, 1fr) auto;
}

.asd-subdomain-addon__control label {
	color: #102033;
	font-size: 0.88rem;
	font-weight: 700;
}

.asd-subdomain-addon__stepper {
	display: grid;
	grid-template-columns: 46px minmax(72px, 92px) 46px;
	max-width: 100%;
}

.asd-subdomain-addon__stepper-button {
	align-items: center;
	background: #075eb7;
	border: 1px solid #075eb7;
	color: #ffffff;
	cursor: pointer;
	display: inline-flex;
	font-size: 1.35rem;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 46px;
	padding: 0;
}

.asd-subdomain-addon__stepper-button:first-child {
	border-radius: 8px 0 0 8px;
}

.asd-subdomain-addon__stepper-button:last-child {
	border-radius: 0 8px 8px 0;
}

.asd-subdomain-addon__stepper-button:hover,
.asd-subdomain-addon__stepper-button:focus-visible {
	background: #084f99;
	border-color: #084f99;
	color: #ffffff;
}

.asd-subdomain-addon__stepper-button:disabled {
	background: #d5e1ec;
	border-color: #9fb2c5;
	color: #60758b;
	cursor: not-allowed;
}

.asd-subdomain-addon__stepper-button[hidden] {
	display: none;
}

.asd-product-summary .cart .asd-subdomain-addon__stepper .qty {
	background: #ffffff;
	border: solid #8299b0;
	border-radius: 0;
	border-width: 1px 0;
	color: #102033;
	font-size: 1rem;
	font-weight: 700;
	margin: 0;
	max-width: 100%;
	min-height: 46px;
	padding: 0.55rem 0.45rem;
	text-align: center;
	width: 100%;
}

.asd-subdomain-addon__control-hint {
	color: #60758b;
	font-size: 0.75rem;
	grid-column: 1 / -1;
	line-height: 1.45;
}

.asd-subdomain-addon__cart-note {
	background: #ffffff;
	border: 1px solid #a7cce5;
	border-radius: 8px;
	color: #29465f;
	font-size: 0.8rem;
	font-weight: 650;
	line-height: 1.5;
	margin: 0.75rem 0 0;
	padding: 0.65rem 0.75rem;
}

.asd-subdomain-addon__cart-note[hidden] {
	display: none;
}

.asd-subdomain-addon__status {
	color: #075eb7;
	font-weight: 700;
	margin: 0.7rem 0 0;
}

.asd-subdomain-addon__timing {
	border-top: 1px solid #d0e2ef;
	color: #52677e;
	margin: 0.7rem 0 0;
	padding-top: 0.7rem;
}

.asd-subdomain-addon.is-unavailable,
.asd-subdomain-addon.is-deferred {
	background: #f3f5f8;
	border-color: #c9d2dc;
	border-left-color: #8292a3;
	color: #66798d;
}

.asd-subdomain-addon.is-unavailable :is(input, button),
.asd-subdomain-addon.is-deferred :is(input, button) {
	cursor: not-allowed;
	opacity: 0.65;
}

/* Keep relationship metadata readable in classic and block cart/order surfaces. */
.woocommerce-cart .variation,
.woocommerce-checkout .variation,
.woocommerce-account .wc-item-meta,
.woocommerce-order-received .wc-item-meta,
.wc-block-components-product-details {
	color: #52677e;
	font-size: 0.82rem;
	line-height: 1.45;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.woocommerce-cart .variation dt,
.woocommerce-checkout .variation dt,
.woocommerce-account .wc-item-meta-label,
.woocommerce-order-received .wc-item-meta-label,
.wc-block-components-product-details__name {
	color: #29465f;
	font-weight: 700;
}

.woocommerce-cart .variation dd,
.woocommerce-checkout .variation dd,
.woocommerce-account .wc-item-meta p,
.woocommerce-order-received .wc-item-meta p,
.wc-block-components-product-details__value {
	margin: 0 0 0.35rem;
}

.asd-subdomain-addon__edit-link {
	color: #075eb7;
	font-weight: 750;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

.asd-subdomain-addon__edit-link:hover,
.asd-subdomain-addon__edit-link:focus-visible {
	color: #084f99;
}

@media (max-width: 600px) {
	.asd-product-summary .cart .asd-subdomain-addon {
		padding: 0.9rem;
	}

	.asd-subdomain-addon__control {
		align-items: stretch;
		grid-template-columns: minmax(0, 1fr);
	}

	.asd-subdomain-addon__stepper {
		grid-template-columns: 48px minmax(84px, 1fr) 48px;
		width: min(100%, 260px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.asd-product-summary .cart .asd-subdomain-addon {
		transition: none;
	}
}
