/**
 * Identidade Barovi nas telas comerciais do WooCommerce.
 * Carregado somente no carrinho, checkout e endpoints de pedido.
 */
:root {
	--bbs-navy: #001020;
	--bbs-blue: #2f8ee5;
	--bbs-cta: #83baf1;
	--bbs-cta-hover: #63a3ea;
	--bbs-soft-blue: #f1f8fe;
}

/* Links de conteudo, inclusive os toggles opcionais do Fluid Checkout Lite. */
body.woocommerce-cart a:not(.button):not(.wc-forward):not(.wc-block-cart__submit-button),
body.woocommerce-checkout a:not(.button):not(.wc-forward):not(.fc-step__next-step):not(.fc-place-order-button),
body.woocommerce-order-received a:not(.button):not(.wc-forward),
body.woocommerce-order-pay a:not(.button):not(.wc-forward),
body.woocommerce-view-order a:not(.button):not(.wc-forward),
body.has-fluid-checkout .fc-expansible-form-section__toggle,
body.has-fluid-checkout .expansible-section__toggle-plus {
	color: var(--bbs-blue) !important;
	text-decoration-color: rgba(47, 142, 229, 0.45) !important;
}

body.woocommerce-cart a:not(.button):not(.wc-forward):not(.wc-block-cart__submit-button):hover,
body.woocommerce-cart a:not(.button):not(.wc-forward):not(.wc-block-cart__submit-button):focus-visible,
body.woocommerce-checkout a:not(.button):not(.wc-forward):not(.fc-step__next-step):not(.fc-place-order-button):hover,
body.woocommerce-checkout a:not(.button):not(.wc-forward):not(.fc-step__next-step):not(.fc-place-order-button):focus-visible,
body.woocommerce-order-received a:not(.button):not(.wc-forward):hover,
body.woocommerce-order-received a:not(.button):not(.wc-forward):focus-visible,
body.woocommerce-order-pay a:not(.button):not(.wc-forward):hover,
body.woocommerce-order-pay a:not(.button):not(.wc-forward):focus-visible,
body.woocommerce-view-order a:not(.button):not(.wc-forward):hover,
body.woocommerce-view-order a:not(.button):not(.wc-forward):focus-visible,
body.has-fluid-checkout .fc-expansible-form-section__toggle:hover,
body.has-fluid-checkout .fc-expansible-form-section__toggle:focus-visible,
body.has-fluid-checkout .expansible-section__toggle-plus:hover,
body.has-fluid-checkout .expansible-section__toggle-plus:focus-visible {
	color: var(--bbs-navy) !important;
	text-decoration-color: var(--bbs-navy) !important;
}

body.woocommerce-cart a:focus-visible,
body.woocommerce-checkout a:focus-visible,
body.woocommerce-order-received a:focus-visible,
body.woocommerce-order-pay a:focus-visible,
body.woocommerce-view-order a:focus-visible {
	outline: 3px solid var(--bbs-cta) !important;
	outline-offset: 3px;
}

/* Titulo do site, que herdava o rosa do tema nas telas WooCommerce. */
body.woocommerce-cart .site-title a,
body.woocommerce-cart .wp-block-site-title a,
body.woocommerce-checkout .site-title a,
body.woocommerce-checkout .wp-block-site-title a,
body.woocommerce-order-received .site-title a,
body.woocommerce-order-received .wp-block-site-title a {
	color: var(--bbs-blue) !important;
}

/* Carrinho em blocos: produto, cupom e CTA Finalizar compra. */
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-components-totals-coupon-link {
	color: var(--bbs-blue) !important;
}

body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-cart__submit-button:visited {
	min-height: 54px;
	border: 1px solid var(--bbs-cta) !important;
	border-radius: 14px;
	background: var(--bbs-cta) !important;
	box-shadow: 0 8px 16px rgba(0, 16, 32, 0.1);
	color: var(--bbs-navy) !important;
	font-weight: 700;
	text-decoration: none !important;
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button:focus-visible {
	border-color: var(--bbs-cta-hover) !important;
	background: var(--bbs-cta-hover) !important;
	color: var(--bbs-navy) !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:active {
	transform: translateY(1px);
}

body.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text {
	color: inherit !important;
}

/* Carrinho classico, caso o bloco seja trocado no futuro. */
body.woocommerce-cart .checkout-button,
body.woocommerce-cart .checkout-button:visited {
	border: 1px solid var(--bbs-cta) !important;
	border-radius: 14px !important;
	background: var(--bbs-cta) !important;
	color: var(--bbs-navy) !important;
	font-weight: 700 !important;
}

body.woocommerce-cart .checkout-button:hover,
body.woocommerce-cart .checkout-button:focus-visible {
	border-color: var(--bbs-cta-hover) !important;
	background: var(--bbs-cta-hover) !important;
	color: var(--bbs-navy) !important;
}

/*
 * Hello Elementor aplica margens laterais negativas a .alignwide. Em janelas
 * estreitas isso empurra o WooCommerce Cart Block para fora da viewport.
 */
@media (max-width: 1100px) {
	body.woocommerce-cart .wp-block-woocommerce-cart.alignwide {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}

/* O Cart Block criava uma quarta coluna implícita e alargava a tabela. */
@media (max-width: 600px) {
	body.woocommerce-cart .wc-block-cart-items {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		table-layout: fixed;
	}

	body.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		grid-template-columns: minmax(64px, 80px) minmax(0, 1fr) minmax(72px, 96px) !important;
		column-gap: 12px !important;
	}

	body.woocommerce-cart .wc-block-cart-item__image {
		width: auto !important;
		min-width: 0;
		padding-right: 0 !important;
		grid-column: 1 !important;
	}

	body.woocommerce-cart .wc-block-cart-item__image img {
		max-width: 100%;
		height: auto;
	}

	body.woocommerce-cart .wc-block-cart-item__product {
		width: auto !important;
		min-width: 0;
		grid-column: 2 !important;
	}

	body.woocommerce-cart .wc-block-cart-item__total {
		width: auto !important;
		min-width: 0;
		max-width: 96px;
		grid-column: 3 !important;
	}

	body.woocommerce-cart .wc-block-components-product-price {
		flex-wrap: wrap;
		max-width: 100%;
	}

	body.woocommerce-cart .wc-block-components-product-badge {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		white-space: normal !important;
		overflow-wrap: anywhere;
		word-break: normal;
	}
}

/* Pesquisa de vendedor no checkout clássico/Fluid Checkout Lite. */
body.woocommerce-checkout #bbs_course_seller_field .select2-container {
	width: 100% !important;
}

body.woocommerce-checkout #bbs_course_seller_field .select2-selection--single {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	min-height: 50px;
	border: 1px solid #8c8f94;
	border-radius: 8px;
	background: #fff;
}

body.woocommerce-checkout #bbs_course_seller_field .select2-selection__rendered {
	width: 100%;
	padding-right: 42px;
	padding-left: 14px;
	color: var(--bbs-navy);
	line-height: 1.35;
}

body.woocommerce-checkout #bbs_course_seller_field .select2-selection__clear {
	display: none !important;
}

body.woocommerce-checkout #bbs_course_seller_field .select2-selection--single:focus,
body.woocommerce-checkout #bbs_course_seller_field .select2-container--focus .select2-selection--single,
body.woocommerce-checkout #bbs_course_seller_field .select2-container--open .select2-selection--single {
	border-color: var(--bbs-blue) !important;
	outline: 0 !important;
	box-shadow: 0 0 0 2px rgba(47, 142, 229, 0.2) !important;
}

body.woocommerce-checkout #bbs_course_seller_field.woocommerce-validated .select2-selection__rendered {
	padding-right: 82px;
}

body.woocommerce-checkout #bbs_course_seller_field.woocommerce-validated .select2-selection--single::after {
	right: 46px !important;
}

body.woocommerce-checkout #bbs_course_seller_field .select2-selection__arrow {
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
}

body.woocommerce-checkout .select2-container--open .select2-dropdown {
	border-color: var(--bbs-cta);
	border-radius: 8px;
	box-shadow: 0 10px 24px rgba(0, 16, 32, 0.14);
	overflow: hidden;
}

body.woocommerce-checkout .select2-search--dropdown {
	display: block;
	padding: 10px;
	background: var(--bbs-soft-blue);
}

body.woocommerce-checkout .select2-search--dropdown .select2-search__field {
	box-sizing: border-box;
	width: 100%;
	min-height: 42px;
	border: 1px solid var(--bbs-cta);
	border-radius: 7px;
	outline: 0;
}

body.woocommerce-checkout .select2-results__option--highlighted[aria-selected] {
	background: var(--bbs-blue) !important;
	color: #fff !important;
}

/* Empresa e setor são obrigatórios tanto para pessoa física quanto jurídica. */
body.woocommerce-checkout #billing_company_field,
body.woocommerce-checkout #billing_company_sector_field {
	display: block !important;
	width: 100% !important;
	max-height: none !important;
	margin-bottom: 16px !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Formulário transparente do cartão Asaas dentro do Fluid Checkout Lite. */
body.woocommerce-checkout .payment_method_asaas-credit-card .asaas-cc-form-wrapper {
	display: flex;
	box-sizing: border-box;
	width: 100%;
	margin: 12px 0 0 !important;
	flex-wrap: wrap;
	column-gap: 16px;
	row-gap: 0;
}

body.woocommerce-checkout .payment_method_asaas-credit-card .asaas-cc-form-field {
	box-sizing: border-box;
	width: 100% !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
	clear: none !important;
	float: none !important;
}

body.woocommerce-checkout .payment_method_asaas-credit-card #assas-cc-expiration-label_field {
	margin: 0 0 8px !important;
}

body.woocommerce-checkout .payment_method_asaas-credit-card #asaas-cc-expiration-month_field,
body.woocommerce-checkout .payment_method_asaas-credit-card #asaas-cc-expiration-year_field {
	width: calc(50% - 8px) !important;
}

body.woocommerce-checkout .payment_method_asaas-credit-card .asaas-cc-form-field label,
body.woocommerce-checkout .payment_method_asaas-credit-card .asaas_field_cc label {
	margin: 0 0 6px !important;
}

body.woocommerce-checkout .payment_method_asaas-credit-card .asaas-cc-form-field input,
body.woocommerce-checkout .payment_method_asaas-credit-card .asaas_field_cc select {
	box-sizing: border-box;
	width: 100% !important;
	min-height: 50px;
}

body.woocommerce-checkout .payment_method_asaas-credit-card .asaas_field_cc {
	box-sizing: border-box;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bbs-payment-pricing-data-row,
.bbs-payment-pricing-data-row td,
#bbs-payment-pricing-data {
	display: none !important;
}

body.woocommerce-checkout .fc-checkout-order-review.bbs-price-switching {
	transition: opacity 90ms ease;
	opacity: 0.88;
}

@media (max-width: 480px) {
	body.woocommerce-checkout .payment_method_asaas-credit-card #asaas-cc-expiration-month_field,
	body.woocommerce-checkout .payment_method_asaas-credit-card #asaas-cc-expiration-year_field {
		width: 100% !important;
	}
}

/* Preço regular e promocional no resumo do checkout e carrinho clássico. */
.bbs-course-promo-price {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	line-height: 1.3;
}

.bbs-course-promo-price del {
	display: inline-flex;
	align-items: baseline;
	gap: 3px;
	color: #667788;
	font-size: 0.82em;
	white-space: nowrap;
}

.bbs-course-promo-price ins {
	display: inline-flex;
	align-items: baseline;
	gap: 3px;
	padding: 3px 7px;
	border-radius: 7px;
	background: var(--bbs-soft-blue);
	color: var(--bbs-blue);
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}

.bbs-course-promo-price__label {
	font-size: 0.72em;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Narrativa comercial configurável: treinamento, parceria, bônus e valor final. */
.bbs-course-price-story {
	display: flex;
	box-sizing: border-box;
	width: min(100%, 330px);
	flex-direction: column;
	gap: 5px;
	padding: 10px;
	border: 1px solid #d7e8f6;
	border-radius: 10px;
	background: #fff;
	font-size: 12px;
	line-height: 1.3;
}

.bbs-course-price-story__row,
.bbs-course-price-story__final {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}

.bbs-course-price-story__row > span,
.bbs-course-price-story__final > span {
	color: #526b7e;
}

.bbs-course-price-story__row strong,
.bbs-course-price-story__row del {
	flex: 0 0 auto;
	white-space: nowrap;
}

.bbs-course-price-story__row--regular del {
	color: #6c7c89;
}

.bbs-course-price-story__row--bonus strong {
	color: #16834b;
}

.bbs-course-price-story__final {
	margin-top: 3px;
	padding: 7px 8px;
	border-radius: 7px;
	background: var(--bbs-soft-blue);
}

.bbs-course-price-story__final > span {
	color: var(--bbs-navy);
	font-weight: 800;
}

.bbs-course-price-story__final > strong {
	color: var(--bbs-blue);
	font-size: 1.25em;
	white-space: nowrap;
}

/* Destaque equivalente para o Cart Block, que já fornece del/ins nativamente. */
body.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price {
	align-items: center;
	gap: 6px;
}

body.woocommerce-cart .wc-block-cart-item__prices del {
	color: #667788;
	font-size: 0.86em;
}

body.woocommerce-cart .wc-block-cart-item__prices ins {
	padding: 3px 7px;
	border-radius: 7px;
	background: var(--bbs-soft-blue);
	color: var(--bbs-blue);
	font-weight: 800;
	text-decoration: none;
}

/* Convite permanente liberado somente após a confirmação do pagamento. */
.bbs-whatsapp-confirmed-card {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	gap: 18px;
	width: 100%;
	margin: 0 0 28px;
	padding: 22px;
	border: 1px solid #81cfaa;
	border-radius: 16px;
	background: #effbf5;
	box-shadow: 0 10px 26px rgba(0, 16, 32, 0.08);
}

.bbs-whatsapp-confirmed-card__icon {
	display: grid;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 50%;
	background: #16834b;
	color: #fff;
	font-size: 25px;
	font-weight: 900;
}

.bbs-whatsapp-confirmed-card__content {
	min-width: 0;
	flex: 1 1 auto;
}

.bbs-whatsapp-confirmed-card__eyebrow {
	display: block;
	margin-bottom: 4px;
	color: #16834b;
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bbs-whatsapp-confirmed-card h2 {
	margin: 0 0 5px;
	color: var(--bbs-navy);
	font-size: clamp(21px, 4vw, 27px);
	line-height: 1.2;
}

.bbs-whatsapp-confirmed-card p {
	margin: 0;
	color: #30465b;
}

body.woocommerce-order-received .bbs-whatsapp-confirmed-card__button,
body.woocommerce-order-received .bbs-whatsapp-confirmed-card__button:visited {
	flex: 0 0 auto;
	min-height: 50px;
	padding: 14px 20px !important;
	border: 1px solid var(--bbs-cta) !important;
	border-radius: 12px !important;
	background: var(--bbs-cta) !important;
	color: var(--bbs-navy) !important;
	font-weight: 800 !important;
	text-align: center;
	text-decoration: none !important;
}

body.woocommerce-order-received .bbs-whatsapp-confirmed-card__button:hover,
body.woocommerce-order-received .bbs-whatsapp-confirmed-card__button:focus-visible {
	border-color: var(--bbs-cta-hover) !important;
	background: var(--bbs-cta-hover) !important;
	color: var(--bbs-navy) !important;
}

/* Popup do convite da turma. */
body.bbs-whatsapp-modal-open {
	overflow: hidden;
}

.bbs-whatsapp-modal[hidden] {
	display: none !important;
}

.bbs-whatsapp-modal {
	position: fixed;
	z-index: 999999;
	inset: 0;
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(0, 16, 32, 0.78);
}

.bbs-whatsapp-modal__panel {
	position: relative;
	box-sizing: border-box;
	width: min(100%, 560px);
	max-height: calc(100vh - 40px);
	padding: clamp(28px, 6vw, 46px);
	overflow-y: auto;
	border: 1px solid rgba(131, 186, 241, 0.52);
	border-radius: 20px;
	background: var(--bbs-navy);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
	color: #fff;
	text-align: center;
}

.bbs-whatsapp-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	display: grid;
	width: 40px;
	height: 40px;
	padding: 0;
	place-items: center;
	border: 1px solid rgba(131, 186, 241, 0.55);
	border-radius: 50%;
	background: transparent;
	color: #fff;
	font-size: 27px;
	line-height: 1;
	cursor: pointer;
}

.bbs-whatsapp-modal__eyebrow {
	display: block;
	margin-bottom: 10px;
	color: var(--bbs-cta);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.bbs-whatsapp-modal__panel h2 {
	margin: 0 0 14px;
	color: #fff;
	font-size: clamp(26px, 6vw, 38px);
	line-height: 1.12;
}

.bbs-whatsapp-modal__panel p {
	color: #d7e8f6;
}

.bbs-whatsapp-modal__course {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 22px 0;
	font-size: 17px;
}

.bbs-whatsapp-modal__course span::before {
	content: "•";
	margin-right: 10px;
	color: var(--bbs-cta);
}

body.woocommerce-order-received .bbs-whatsapp-modal__button,
body.woocommerce-order-received .bbs-whatsapp-modal__button:visited {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-height: 54px;
	padding: 15px 20px;
	border-radius: 14px;
	background: var(--bbs-cta);
	color: var(--bbs-navy) !important;
	font-weight: 800;
	text-align: center;
	text-decoration: none !important;
}

body.woocommerce-order-received .bbs-whatsapp-modal__button:hover,
body.woocommerce-order-received .bbs-whatsapp-modal__button:focus-visible {
	background: var(--bbs-cta-hover);
	color: var(--bbs-navy) !important;
}

.bbs-whatsapp-modal__note {
	margin: 14px 0 0;
	font-size: 13px;
}

@media (max-width: 480px) {
	.bbs-whatsapp-confirmed-card {
		align-items: flex-start;
		flex-direction: column;
		padding: 18px;
	}

	body.woocommerce-order-received .bbs-whatsapp-confirmed-card__button {
		width: 100%;
	}

	.bbs-whatsapp-modal {
		padding: 12px;
	}

	.bbs-whatsapp-modal__panel {
		max-height: calc(100vh - 24px);
		border-radius: 16px;
	}

	.bbs-whatsapp-modal__course {
		flex-direction: column;
		gap: 3px;
	}

	.bbs-whatsapp-modal__course span::before {
		content: none;
	}
}

/* Pix Asaas: impede o payload de alargar a pagina em telas pequenas. */
body.woocommerce-order-received .woocommerce-order-details > ul.order_details,
body.woocommerce-order-pay .woocommerce-order-details > ul.order_details,
body.woocommerce-view-order .woocommerce-order-details > ul.order_details {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 28px !important;
	padding: 0 !important;
}

body .woocommerce-order-details > ul.order_details > li.asaas-pix-instructions,
body .woocommerce-order-details > ul.order_details > li.asaas-pix-copy-to-clipboard {
	float: none !important;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	border: 0 !important;
}

body .woocommerce-order-details > ul.order_details > li.asaas-pix-instructions {
	display: flex !important;
	align-items: center;
	gap: 24px;
}

body .asaas-pix-instructions .js-pix-qr-code {
	display: block;
	flex: 0 0 auto;
	box-sizing: border-box;
	width: min(280px, 78vw) !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 auto;
}

body .asaas-pix-instructions__list {
	box-sizing: border-box;
	min-width: 0;
	max-width: 540px;
	margin: 0 !important;
	padding-left: 22px !important;
}

body .asaas-pix-copy-to-clipboard > div {
	box-sizing: border-box;
	min-width: 0;
	width: 100%;
	max-width: 760px;
}

body .asaas-pix-copy-to-clipboard .woocommerce-order-details__asaas-pix-payload {
	display: block;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 76px;
	margin: 0 0 14px !important;
	padding: 12px 14px;
	overflow: hidden !important;
	border: 1px solid #d7e8f6;
	border-radius: 10px;
	background: var(--bbs-soft-blue);
	color: var(--bbs-navy);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 12px;
	line-height: 1.55;
	white-space: normal !important;
	overflow-wrap: anywhere;
	word-break: break-all;
}

body .woocommerce-order-details__asaas-pix-button,
body .woocommerce-order-details__asaas-pix-button:visited {
	min-height: 46px;
	padding: 10px 18px !important;
	border: 1px solid var(--bbs-cta) !important;
	border-radius: 12px !important;
	background: var(--bbs-cta) !important;
	color: var(--bbs-navy) !important;
	font-weight: 700 !important;
}

body .woocommerce-order-details__asaas-pix-button:hover,
body .woocommerce-order-details__asaas-pix-button:focus-visible {
	border-color: var(--bbs-cta-hover) !important;
	background: var(--bbs-cta-hover) !important;
	color: var(--bbs-navy) !important;
}

/* Boleto Asaas parcelado: transforma a lista compacta em cartões legíveis. */
body .woocommerce-order-details > ul.order_details.bbs-ticket-list {
	display: grid !important;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 30px !important;
	padding: 0 !important;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 14px;
	list-style: none !important;
}

body .woocommerce-order-details > ul.order_details.bbs-ticket-list > li {
	float: none !important;
	box-sizing: border-box !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	border: 0 !important;
	text-transform: none !important;
}

body .woocommerce-order-details > ul.order_details.bbs-ticket-list > .bbs-ticket-list__intro {
	grid-column: 1 / -1;
	padding: 15px 18px !important;
	border: 1px solid #b9d8ef !important;
	border-radius: 12px;
	background: var(--bbs-soft-blue);
	color: var(--bbs-navy);
	font-size: 16px;
	font-weight: 750;
	line-height: 1.45;
}

body .woocommerce-order-details > ul.order_details.bbs-ticket-list > .bbs-ticket-card {
	position: relative;
	display: flex !important;
	min-height: 142px;
	padding: 48px 16px 16px !important;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	border: 1px solid #d7e8f6 !important;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(0, 16, 32, 0.07);
	color: #314b5f;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

body .woocommerce-order-details > ul.order_details.bbs-ticket-list > .bbs-ticket-card::before {
	position: absolute;
	top: 15px;
	left: 16px;
	content: "Boleto " attr(data-ticket-number);
	color: var(--bbs-blue);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body .woocommerce-order-details > ul.order_details.bbs-ticket-list > .bbs-ticket-card > br {
	display: none !important;
}

body .woocommerce-order-details__asaas-ticket-button,
body .woocommerce-order-details__asaas-ticket-button:visited {
	display: flex !important;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 48px;
	margin: auto 0 0 !important;
	padding: 11px 16px !important;
	border: 1px solid var(--bbs-cta) !important;
	border-radius: 11px !important;
	background: var(--bbs-cta) !important;
	color: var(--bbs-navy) !important;
	font-weight: 800 !important;
	line-height: 1.25;
	text-align: center;
	text-decoration: none !important;
}

body .woocommerce-order-details__asaas-ticket-button:hover,
body .woocommerce-order-details__asaas-ticket-button:focus-visible {
	border-color: var(--bbs-cta-hover) !important;
	background: var(--bbs-cta-hover) !important;
	color: var(--bbs-navy) !important;
}

/* Estado de confirmacao, atualizado depois que o webhook altera o pedido. */
.bbs-pix-status {
	display: flex;
	box-sizing: border-box;
	align-items: flex-start;
	gap: 16px;
	width: 100%;
	margin: 0 0 28px;
	padding: 20px;
	border: 1px solid #83baf1;
	border-radius: 14px;
	background: var(--bbs-soft-blue);
	color: var(--bbs-navy);
}

.bbs-pix-status h2 {
	margin: 0 0 6px;
	color: var(--bbs-navy);
	font-size: clamp(20px, 4vw, 26px);
}

.bbs-pix-status p {
	margin: 0;
	color: var(--bbs-navy);
}

.bbs-pix-status__loader {
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	margin-top: 3px;
	border: 3px solid rgba(47, 142, 229, 0.24);
	border-top-color: var(--bbs-blue);
	border-radius: 50%;
	animation: bbs-pix-spin 900ms linear infinite;
}

.bbs-pix-status__icon {
	display: grid;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	place-items: center;
	border-radius: 50%;
	background: #16834b;
	color: #fff;
	font-size: 22px;
	font-weight: 800;
}

.bbs-pix-status--paid {
	border-color: #81cfaa;
	background: #effbf5;
}

.bbs-pix-status--closed {
	border-color: #d7dce1;
	background: #f7f8f9;
}

.bbs-pix-status__check {
	margin-top: 12px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--bbs-blue);
	font: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.bbs-pix-status__check:hover,
.bbs-pix-status__check:focus-visible {
	color: var(--bbs-navy);
}

@keyframes bbs-pix-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (max-width: 767px) {
	body .woocommerce-order-details > ul.order_details.bbs-ticket-list {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	body .woocommerce-order-details > ul.order_details.bbs-ticket-list > .bbs-ticket-card {
		min-height: 132px;
	}

	body .woocommerce-order-details > ul.order_details > li.asaas-pix-instructions {
		flex-direction: column-reverse !important;
		align-items: stretch;
		gap: 16px;
	}

	body .asaas-pix-instructions__list {
		max-width: 100%;
		font-size: 14px;
	}

	body .woocommerce-order-details__asaas-pix-button {
		width: 100%;
	}

	.bbs-pix-status {
		padding: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bbs-pix-status__loader {
		animation-duration: 1800ms;
	}
}
