/* Barra "faltam R$ X para frete grátis". Cores sobrescrevíveis pelo tema via custom properties. */
.rishi-shipping-progress {
	--rishi-sr-accent: #008000;
	--rishi-sr-track: rgba(0, 0, 0, 0.08);
	--rishi-sr-text: inherit;
	--rishi-sr-warning-bg: #fff8e6;
	--rishi-sr-warning-text: #7a5300;
	--rishi-sr-success-bg: #eaf3de;
	--rishi-sr-success-text: #27500a;
	margin: 0 0 12px;
	padding: 10px 14px;
	border-radius: 8px;
	background: #fff;
	color: var(--rishi-sr-text);
	font-size: 14px;
	line-height: 1.4;
}

.rishi-shipping-progress[hidden] {
	display: none;
}

.rishi-shipping-progress__text {
	margin: 0 0 8px;
}

.rishi-shipping-progress__text strong {
	font-weight: 700;
}

.rishi-shipping-progress__compact {
	display: none;
	align-items: center;
	gap: 6px;
	min-width: 0;
	margin: 0;
	white-space: nowrap;
}

.rishi-shipping-progress__compact-text {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Texto completo para leitores de tela na faixa do celular: nunca display: none. */
.rishi-shipping-progress__sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Regras globais de tema (svg { display: block }) quebrariam a linha única. */
.rishi-shipping-progress svg {
	display: inline-block;
	vertical-align: middle;
}

.rishi-shipping-progress--strip {
	display: none;
}

.rishi-shipping-progress__icon {
	flex: none;
	color: var(--rishi-sr-accent);
}

.rishi-shipping-progress__badge {
	flex: none;
	display: inline-block;
	padding: 1px 7px;
	border-radius: 999px;
	background: var(--rishi-sr-success-bg);
	color: var(--rishi-sr-success-text);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
}

/* Selo do modo de teste: só o gerente recebe a regra, então o selo nunca chega a um cliente. */
.rishi-shipping-progress__test {
	flex: none;
	display: inline-block;
	margin-right: 2px;
	padding: 1px 7px;
	border-radius: 999px;
	background: var(--rishi-sr-warning-bg, #fff8e6);
	color: var(--rishi-sr-warning-text, #7a5300);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	vertical-align: middle;
	cursor: help;
}

.rishi-shipping-progress__track {
	position: relative;
	height: 6px;
	border-radius: 999px;
	background: var(--rishi-sr-track);
	overflow: hidden;
}

.rishi-shipping-progress__fill {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--rishi-sr-accent);
	transition: width 0.3s ease;
}

.rishi-shipping-progress__marker {
	position: absolute;
	top: 0;
	width: 2px;
	height: 100%;
	background: rgba(255, 255, 255, 0.9);
}

.rishi-shipping-progress.is-reached .rishi-shipping-progress__text {
	color: var(--rishi-sr-accent);
}

.rishi-shipping-capped-notice {
	--rishi-sr-warning-bg: #fff8e6;
	--rishi-sr-warning-text: #7a5300;
	margin: 6px 0 0;
	padding: 8px 10px;
	border-radius: 6px;
	background: var(--rishi-sr-warning-bg);
	color: var(--rishi-sr-warning-text);
	font-size: 13px;
	line-height: 1.4;
}

.rishi-shipping-rules-original {
	opacity: 0.6;
	font-weight: 400;
}

/* Checkout Rishi: o riscado não soma altura ao rótulo (senão o título sai do centro); ele ocupa a linha da data de entrega, à direita. */
.rishi-shipping-rules-price {
	position: relative;
	display: inline-flex;
	align-items: center;
	flex: none;
	margin-left: auto;
	text-align: right;
}

.rishi-shipping-rules-price .rishi-shipping-rules-original {
	position: absolute;
	top: 100%;
	right: 0;
	margin-top: 4px;
	white-space: nowrap;
	font-size: 12px;
	line-height: 1.2;
	opacity: 0.65;
}

/* Sem data de entrega na linha de baixo, reserva espaço para o riscado não vazar do item. */
#shipping_method li:not(:has(.wc-smart-checkout-delivery-time)) label:has(.rishi-shipping-rules-price) {
	padding-bottom: 20px;
}

/* O checkout deixa todo .woocommerce-Price-amount em negrito; o riscado precisa de peso normal. */
.rishi-shipping-rules-price .rishi-shipping-rules-original,
.rishi-shipping-rules-price .rishi-shipping-rules-original .woocommerce-Price-amount {
	font-weight: 400 !important;
}

/* Celular: faixa de uma linha acima do cartão "Seu pedido", progresso como linha de 3px na borda inferior. */
@media (max-width: 600px) {
	.rishi-shipping-progress--strip {
		position: relative;
		margin: 0 15px 10px;
		padding: 9px 12px;
		border: 1px solid #e2e4e7;
		border-radius: 10px;
		overflow: hidden;
		display: block;
	}

	/* Só no Checkout Rishi (que tem a faixa): no checkout padrão e no shortcode o cartão segue visível. */
	.checkout-layout-sidebar .rishi-shipping-progress--card {
		display: none;
	}

	/* Carrinho clássico: as duas variantes saem juntas, então o celular troca o cartão pela faixa. */
	.cart_totals .rishi-shipping-progress--strip {
		margin: 0 0 12px;
	}

	.cart_totals .rishi-shipping-progress--card {
		display: none;
	}

	.rishi-shipping-progress__compact {
		display: flex;
	}

	.rishi-shipping-progress--strip.is-reached .rishi-shipping-progress__compact {
		color: var(--rishi-sr-accent);
	}

	.rishi-shipping-progress--strip .rishi-shipping-progress__track {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		height: 3px;
		border-radius: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rishi-shipping-progress__fill {
		transition: none;
	}
}

/* Faixa no topo do site: fluxo normal (sem position: fixed), então a barra de admin e o cabeçalho do tema a empurram naturalmente. */
.rishi-shipping-topbar {
	position: relative;
	z-index: auto;
	box-sizing: border-box;
	width: 100%;
	height: 36px;
	background: var(--rishi-sr-topbar-bg, #1d2327);
	color: var(--rishi-sr-topbar-color, #fff);
	font-size: 14px;
	line-height: 36px;
	text-align: center;
}

.rishi-shipping-topbar[hidden] {
	display: none;
}

.rishi-shipping-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 100%;
	padding: 0 12px;
}

.rishi-shipping-topbar__long,
.rishi-shipping-topbar__short {
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.rishi-shipping-topbar__short {
	display: none;
	align-items: center;
	gap: 6px;
}

.rishi-shipping-topbar strong {
	font-weight: 700;
}

.rishi-shipping-topbar svg {
	display: inline-block;
	flex: none;
	vertical-align: middle;
}

/* O ícone e o selo herdam a cor do texto para continuar legíveis em qualquer fundo. */
.rishi-shipping-topbar .rishi-shipping-progress__icon {
	color: currentColor;
}

.rishi-shipping-topbar .rishi-shipping-progress__badge {
	background: rgba(255, 255, 255, 0.2);
	color: inherit;
}

.rishi-shipping-topbar__track {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 2px;
	background: rgba(255, 255, 255, 0.35);
	background: color-mix(in srgb, var(--rishi-sr-topbar-color, #fff) 35%, transparent);
}

.rishi-shipping-topbar__fill {
	display: block;
	height: 100%;
	background: rgba(255, 255, 255, 0.9);
	background: color-mix(in srgb, var(--rishi-sr-topbar-color, #fff) 90%, transparent);
	transition: width 0.3s ease;
}

@media (max-width: 600px) {
	.rishi-shipping-topbar {
		height: 34px;
		font-size: 13px;
		line-height: 34px;
	}

	/* Texto longo continua na árvore de acessibilidade (nunca display: none); só a versão curta aparece. */
	.rishi-shipping-topbar__long {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		border: 0;
	}

	.rishi-shipping-topbar__short {
		display: inline-flex;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rishi-shipping-topbar__fill {
		transition: none;
	}
}
