/**
 * BR Store Checkout — Frontend (Carrinho / Checkout / Pedido realizado).
 *
 * Portado do protótipo validado (prototipo-frontend) para a nomenclatura do
 * plugin. Todo o CSS é escopado sob `.dshe-frontend` para não vazar para
 * o tema quando o shortcode é usado numa página comum.
 *
 * Tokens, reset, cabeçalho (`.dshe-co-header`) e rodapé de confiança (`.dshe-co-socialproof`) ficam em
 * `checkout-base.css` (handle `dshe-checkout-base`, dependência deste arquivo): são reutilizados fora do checkout.
 *
 * @package Devsite_Hub_Ecommerce
 */

/* ============================================================
 * Área principal
 * ============================================================ */
.dshe-checkout-wrap {
	background: var(--wbrsc-bg-page);
	padding: 80px 0 64px 0;
	min-height: 60vh;
}

/* Placeholder enquanto as fases de carrinho/checkout não portam o corpo. */
.dshe-placeholder {
	background: var(--wbrsc-bg-card);
	border: 1px solid var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-md);
	box-shadow: var(--wbrsc-shadow-soft);
	padding: 40px;
	text-align: center;
	color: var(--wbrsc-ink-500);
}

/* ============================================================
 * Aviso de template gerenciado / desativado (frontend, só gestores)
 * ============================================================ */
.dshe-template-notice {
	background: var(--wbrsc-bg-card);
	border: 1px solid var(--wbrsc-line);
	border-left: 4px solid var(--wbrsc-orange-500);
	border-radius: var(--wbrsc-radius-md);
	box-shadow: var(--wbrsc-shadow-soft);
	padding: 28px 32px;
	max-width: 720px;
	margin: 0 auto;
}

.dshe-template-notice--inactive {
	border-left-color: var(--wbrsc-orange-500);
}

.dshe-template-notice__title {
	font-size: 1.15rem;
	color: var(--wbrsc-blue-900);
	margin-bottom: 10px;
}

.dshe-template-notice p {
	color: var(--wbrsc-ink-700);
	margin: 6px 0;
	line-height: 1.5;
}

.dshe-template-notice__link {
	display: inline-block;
	margin-top: 8px;
	font-weight: 700;
	color: var(--wbrsc-blue-800);
	text-decoration: underline;
}

/* ============================================================
 * Botões — HARD RESET
 * ------------------------------------------------------------
 * Temas e o Elementor forçam estilos em `button`/`[type=submit]`
 * (borda, fundo, padding, cor no hover...). Zeramos tudo dentro do
 * nosso escopo com !important para blindar o layout, e reconstruímos
 * os componentes (.dshe-btn*, qty, remove) também com !important.
 * Fica de fora o banner de cookies do núcleo (#dsh-consent): nas páginas próprias (carrinho, checkout, pedido
 * recebido) o <body> leva `.dshe-frontend` e o banner, impresso no rodapé, perdia o visual dos botões. O
 * `:where()` não muda a especificidade do reset.
 * ============================================================ */
.dshe-frontend button:not(:where(#dsh-consent *)),
.dshe-frontend input[type="button"]:not(:where(#dsh-consent *)),
.dshe-frontend input[type="submit"]:not(:where(#dsh-consent *)),
.dshe-frontend input[type="reset"]:not(:where(#dsh-consent *)) {
	-webkit-appearance: none !important;
	appearance: none !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: inherit !important;
	cursor: pointer !important;
	font: inherit !important;
	letter-spacing: normal !important;
	line-height: normal !important;
	margin: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	text-align: inherit !important;
	text-decoration: none !important;
	text-shadow: none !important;
	text-transform: none !important;
	transition: none !important;
	width: auto !important;
}

.dshe-frontend button:not(:where(#dsh-consent *)):hover,
.dshe-frontend button:not(:where(#dsh-consent *)):focus,
.dshe-frontend button:not(:where(#dsh-consent *)):active,
.dshe-frontend input[type="button"]:not(:where(#dsh-consent *)):hover,
.dshe-frontend input[type="button"]:not(:where(#dsh-consent *)):focus,
.dshe-frontend input[type="submit"]:not(:where(#dsh-consent *)):hover,
.dshe-frontend input[type="submit"]:not(:where(#dsh-consent *)):focus {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: inherit !important;
	text-decoration: none !important;
	transition: all .3s ease;
}


/* Componentes (reconstruídos sobre o reset) */
.dshe-frontend .dshe-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	font-family: var(--wbrsc-font-body) !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
	line-height: 1.2 !important;
	padding: 14px 26px !important;
	border: none !important;
	cursor: pointer !important;
	border-radius: var(--wbrsc-radius-pill) !important;
	transition: transform 0.45s var(--wbrsc-ease-out), box-shadow 0.45s var(--wbrsc-ease-out), background 0.45s var(--wbrsc-ease-out) !important;
	white-space: nowrap !important;
	text-align: center !important;
	width: auto;
}

.dshe-frontend .dshe-btn:active {
	transform: scale(0.98) !important;
}

.dshe-frontend .dshe-btn svg {
	flex-shrink: 0;
}

.dshe-frontend .dshe-btn--primary {
	background: var(--wbrsc-orange-500) !important;
	color: #fff !important;
	box-shadow: 0 10px 24px -8px rgba(229, 131, 13, 0.55) !important;
}

.dshe-frontend .dshe-btn--primary:hover {
	background: var(--wbrsc-orange-600) !important;
	color: #fff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 16px 32px -10px rgba(229, 131, 13, 0.6) !important;
}

.dshe-frontend .dshe-btn-secondary {
	border: 1px solid #ccc !important;
}

.dshe-frontend .dshe-btn-secondary:hover {
	color: #181818 !important;
	border-color: currentColor !important;
	background: #e9e9e9 !important;
}

.dshe-frontend .dshe-btn--blue {
	background: var(--dsh-shop-btn2-bg, var(--dsh-btn-secondary-bg, #16346f)) !important;
	color: var(--dsh-shop-btn2-text, var(--dsh-btn-secondary-text, #ffffff)) !important;
	box-shadow: inset 0 0 0 1px var(--dsh-shop-btn2-border, var(--dsh-btn-secondary-border, #16346f)) !important;
}

.dshe-frontend .dshe-btn--blue:hover {
	background: var(--dsh-shop-btn2-bg-hover, var(--dsh-btn-secondary-bg-hover, #1e4494)) !important;
	color: var(--dsh-shop-btn2-text-hover, var(--dsh-btn-secondary-text-hover, #ffffff)) !important;
	box-shadow: inset 0 0 0 1px var(--dsh-shop-btn2-border-hover, var(--dsh-btn-secondary-border-hover, #1e4494)) !important;
	transform: translateY(-2px) !important;
}

.dshe-frontend .dshe-btn--pay {
	background: var(--dsh-shop-btn1-bg, var(--dsh-btn-primary-bg, #199a6a)) !important;
	color: var(--dsh-shop-btn1-text, var(--dsh-btn-primary-text, #ffffff)) !important;
	box-shadow: inset 0 0 0 1px var(--dsh-shop-btn1-border, var(--dsh-btn-primary-border, #199a6a)) !important;
}

.dshe-frontend .dshe-btn--pay:hover {
	background: var(--dsh-shop-btn1-bg-hover, var(--dsh-btn-primary-bg-hover, #14875c)) !important;
	color: var(--dsh-shop-btn1-text-hover, var(--dsh-btn-primary-text-hover, #ffffff)) !important;
	box-shadow: inset 0 0 0 1px var(--dsh-shop-btn1-border-hover, var(--dsh-btn-primary-border-hover, #14875c)) !important;
	transform: translateY(-2px) !important;
}

.dshe-frontend .dshe-btn--full {
	width: 100% !important;
	font-size: 1rem !important;
	padding: 15px !important;
}

.dshe-frontend .dshe-btn--sm {
	padding: 10px 18px !important;
	font-size: 0.85rem !important;
}

.dshe-frontend .dshe-btn .dshe-btn-orb {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.22);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: -10px;
	transition: transform 0.45s var(--wbrsc-ease-out);
}

.dshe-frontend .dshe-btn:hover .dshe-btn-orb {
	transform: translateX(3px);
}

.dshe-frontend .dshe-cancel-actions {
	margin-top: 24px;
	display: flex;
	flex-flow: row wrap;
	gap: 16px;
}

/* ============================================================
 * Carrinho
 * ============================================================ */
.dshe-cart.is-loading {
	opacity: 0.6;
	pointer-events: none;
	transition: opacity 0.2s var(--wbrsc-ease-out);
}

.dshe-cart-urgency {
	display: flex;
	align-items: center;
	gap: 12px;
	justify-content: center;
	text-align: center;
	background: var(--dsh-cart-urgency-bg, #fef6ea);
	border: 1px solid var(--dsh-cart-urgency-border, #fcebd3);
	border-radius: var(--wbrsc-radius-md);
	padding: 14px 22px;
	font-size: 0.86rem;
	color: var(--wbrsc-ink-700);
	line-height: 1.5;
}

.dshe-cart-urgency svg {
	color: var(--dsh-cart-accent, #c96f06);
	flex-shrink: 0;
}

.dshe-cart-urgency strong {
	color: var(--wbrsc-blue-900);
}

.dshe-cart-urgency--top {
	margin: 0 0 24px;
}

.dshe-cart-grid {
	display: grid;
	grid-template-columns: 1.5fr 0.7fr;
	gap: 30px;
	align-items: start;
}

.dshe-cart-list {
	background: #fff;
	border: 1px solid var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-md);
	box-shadow: var(--wbrsc-shadow-soft);
	overflow: hidden;
}

.dshe-cart-list-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 22px;
	border-bottom: 1px solid var(--wbrsc-line);
}

/* Área rolável dos itens: a máscara fica aqui (as bordas do card seguem
 * visíveis) e o hint de rolagem vem logo abaixo, dentro do card. */
.dshe-cart-items-scroll.is-scroll {
	max-height: 360px;
	overflow-y: auto;
	padding-right: 4px;
	-webkit-mask-image: linear-gradient(to bottom, #000 84%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 84%, transparent 100%);
}

.dshe-cart-items-scroll.is-scroll::-webkit-scrollbar {
	width: 5px;
}

.dshe-cart-items-scroll.is-scroll::-webkit-scrollbar-thumb {
	background: var(--wbrsc-line);
	border-radius: 4px;
}

.dshe-cart-list .dshe-cs-scroll-hint {
	padding: 6px 22px 12px;
}

.dshe-cart-list-head strong {
	font-family: var(--wbrsc-font-display);
	color: var(--wbrsc-blue-900);
}

.dshe-cart-list-head span {
	font-size: 0.82rem;
	color: var(--wbrsc-ink-500);
}

/* Linha do carrinho — estrutura do núcleo (DSH_Cart_Item, dsh-cart-item.css);
 * aqui o contexto "Meu Carrinho" pelas classes .dshe-cart-item-{el}. */
.dshe-cart-item {
	--dsh-ci-accent: var(--wbrsc-orange-600);
	--dsh-ci-line: var(--wbrsc-line);
	padding: 18px 22px;
	border-bottom: 1px solid var(--wbrsc-line);
}
.dshe-cart-item > div{
	padding:8px;
}

.dshe-cart-item:last-child {
	border-bottom: none;
}

/* Informações extras abertas: o item ganha borda e a linha extra fica "presa" a ele. */
.dshe-cart-item.is-extra-open {
	padding: 18px 22px;
	border:none;
}
.dshe-cart-item.is-extra-open .dsh-cart-item__row{
	border: 1px solid var(--wbrsc-line);
}

.dshe-cart-item.is-extra-open .dshe-cart-item-product-data{
	border-radius: 14px 14px 0 0;
}
.dshe-cart-item.is-extra-open .dshe-cart-item-product-extra{
	border-radius: 0 0 14px 14px;

}



.dshe-cart-item-product-data {
	display: grid;
	grid-template-columns: 84px 1fr auto;
	gap: 24px;
	align-items: center;
}

.dshe-cart-item-img img {
	width: 84px;
	height: 84px;
	border-radius: 12px;
	object-fit: cover;
}

.dshe-cart-item-name {
	font-weight: 700;
	color: var(--wbrsc-blue-900);
	font-size: 0.98rem;
	line-height: 1.35;
}

.dshe-cart-item-name:hover {
	color: var(--dsh-cart-accent, #c96f06);
	text-decoration: underline;
}

.dshe-cart-item-meta {
	font-size: 0.82rem;
	color: var(--wbrsc-ink-500);
}

.dshe-cart-item-price {
	color: var(--wbrsc-ink-700, #333);
}

.dshe-cart-item-product-extra {
	padding-left: 117px !important;
	font-size: 0.8rem;
	color: var(--wbrsc-ink-600, #555);
}

.dshe-ci-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
}

.dshe-ci-price {
	font-family: var(--wbrsc-font-display);
	font-weight: 800;
	color: var(--dsh-cart-value, #16346f);
	font-size: 1.05rem;
	white-space: nowrap;
}

.dshe-cart-qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-pill);
	overflow: hidden;
}

.dshe-cart-qty button {
	width: 34px !important;
	height: 34px !important;
	font-size: 1.1rem !important;
	color: var(--dsh-cart-value, #16346f) !important;
	cursor: pointer !important;
	justify-content: center;
	align-items: center;
	display: inline-flex;
	transition: background .3s ease;
}

.dshe-frontend .dshe-cart-qty button:hover {
	background: #8d8d8d12 !important;
}

.dshe-cart-qty input {
	width: 38px;
	text-align: center;
	border: none;
	outline: none;
	background: none;
	font-weight: 700;
}

.dshe-cart-remove {
	cursor: pointer !important;
	color: var(--wbrsc-ink-300) !important;
	font-size: 0.78rem !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	transition: color 0.3s var(--wbrsc-ease-out) !important;
}

.dshe-cart-remove:hover {
	color: #d6455b !important;
}

/* Barra de frete grátis */
.dshe-freeship {
	background: #fff;
	border: 1px solid var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-md);
	box-shadow: var(--wbrsc-shadow-soft);
	padding: 16px 20px;
	margin-top: 16px;
}

.dshe-freeship.is-free {
	border-color: #b8e6cb;
	background: #edf7f0;
}

.dshe-freeship-top {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.9rem;
	color: var(--wbrsc-ink-700);
	margin-bottom: 10px;
}

.dshe-freeship-top svg {
	color: var(--dsh-cart-icon-ship, #e5830d);
}

.dshe-freeship.is-free .dshe-freeship-top svg {
	color: var(--wbrsc-green);
}

.dshe-freeship-top strong {
	color: var(--wbrsc-blue-900);
}

.dshe-freeship-bar {
	height: 8px;
	border-radius: 5px;
	background: var(--wbrsc-bg-page);
	overflow: hidden;
}

.dshe-freeship-bar>i {
	display: block;
	height: 100%;
	border-radius: 5px;
	background: linear-gradient(90deg, var(--dsh-cart-bar-start, #e5830d), var(--dsh-cart-bar-end, #199a6a));
	transition: width 0.6s var(--wbrsc-ease-out);
}

/* Cross-sell */
.dshe-cart-crosssell {
	margin-top: 22px;
}

.dshe-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dsh-cart-accent, #c96f06);
	margin-bottom: 14px;
}

.dshe-kicker::before {
	content: "";
	width: 20px;
	height: 2px;
	background: var(--wbrsc-orange-500);
	border-radius: 2px;
}

.dshe-cart-cross-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}

.dshe-cross-card {
	background: #fff;
	border: 1px solid var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-md);
	overflow: hidden;
	box-shadow: var(--wbrsc-shadow-soft);
	display: flex;
	flex-direction: column;
	transition: transform 0.4s var(--wbrsc-ease-out), box-shadow 0.4s var(--wbrsc-ease-out), border-color 0.4s var(--wbrsc-ease-out);
}

.dshe-cross-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--wbrsc-shadow-card);
	border-color: var(--wbrsc-blue-100);
}

.dshe-cc-img {
	height: 150px;
	overflow: hidden;
	background: var(--wbrsc-blue-50);
}

.dshe-cc-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--wbrsc-ease-out);
}

.dshe-cross-card:hover .dshe-cc-img img {
	transform: scale(1.06);
}

.dshe-cc-body {
	padding: 11px 13px 13px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}

.dshe-cc-name {
	font-size: 0.83rem;
	font-weight: 600;
	color: var(--wbrsc-blue-900);
	line-height: 1.3;
}

.dshe-cc-name a:hover {
	color: var(--dsh-cart-accent, #c96f06);
}

.dshe-cc-price {
	font-family: var(--wbrsc-font-display);
	font-weight: 800;
	color: var(--dsh-cart-value, #16346f);
	font-size: 1rem;
	margin-top: auto;
}

.dshe-cc-add {
	margin-top: 4px;
}

.dshe-cart-continue {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--dsh-cart-value, #16346f);
	margin-top: 34px;
}

.dshe-cart-continue:hover {
	color: var(--dsh-cart-accent, #c96f06);
}

/* Resumo */
.dshe-cart-summary {
	position: sticky;
	top: 24px;
	background: #fff;
	border: 1px solid var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-md);
	box-shadow: var(--wbrsc-shadow-card);
	overflow: hidden;
}

.dshe-csum-head {
	padding: 16px 20px;
	border-bottom: 1px solid var(--wbrsc-line);
	font-family: var(--wbrsc-font-display);
	font-weight: 700;
	color: var(--wbrsc-blue-900);
}

.dshe-csum-body {
	padding: 18px 20px;
}

.dshe-csum-sub {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
}

.dshe-cs-label {
	font-size: 0.9rem;
	color: var(--wbrsc-ink-700);
}

.dshe-cs-val {
	font-family: var(--wbrsc-font-display);
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--dsh-cart-value, #16346f);
}

.dshe-csum-note {
	font-size: 0.8rem;
	color: var(--wbrsc-ink-500);
	margin: 6px 0 16px;
}

.dshe-csum-pix {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 0.82rem;
	color: var(--wbrsc-green);
	font-weight: 700;
	margin-top: 12px;
}

.dshe-csum-pix svg {
	color: var(--dsh-cart-icon-trust, #199a6a);
}

/* Confiança */
.dshe-cart-trust {
	margin-top: 14px;
	background: #fff;
	border: 1px solid var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-md);
	box-shadow: var(--wbrsc-shadow-soft);
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.dshe-cst {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.84rem;
	color: var(--wbrsc-ink-700);
}

.dshe-cst svg {
	color: var(--dsh-cart-icon-trust, #199a6a);
	flex-shrink: 0;
}

/* Carrinho vazio */
.dshe-cart-empty {
	background: #fff;
	border: 1px solid var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-md);
	box-shadow: var(--wbrsc-shadow-soft);
	padding: 56px 32px;
	text-align: center;
	color: var(--wbrsc-ink-500);
}

.dshe-cart-empty svg {
	color: var(--wbrsc-ink-300);
	margin: 0 auto 16px;
}

.dshe-cart-empty h2 {
	color: var(--wbrsc-blue-900);
	margin-bottom: 8px;
}

/* Tamanhos fluidos (acompanham a largura da tela). `!important`: o tema/kit do Elementor define o h2 global e as
 * skins definem o título do card com seletores mais fortes que os desta página. */
.dshe-frontend .dshe-cart-empty h2,
.dshe-cart-empty h2 {
	font-size: clamp(22px, calc(14px + 2.2vw), 34px) !important;
	line-height: 1.3 !important;
}

.dshe-cart-empty p {
	font-size: clamp(14px, calc(13px + .25vw), 16px);
	line-height: 1.5;
}

.dshe-cart-empty p {
	margin-bottom: 20px;
}

/* Recomendações (mais vendidos) no carrinho vazio: reaproveita a grade de
 * cross-sell — 3 colunas no desktop, vira linha com rolagem no mobile. */
.dshe-empty-recs {
	/* 120px a partir de 1200px de largura; em telas menores encolhe na proporção (mínimo 56px). */
	margin-top: clamp(56px, 10vw, 120px);
}

/* Cards pelas skins do Elementor (Gestão de Projeto › Loja › Templates / Shortcodes). A grade é desenhada AQUI:
 * nem toda skin traz a própria grade (nos roteiros ela vem do widget de listagem, que não existe nesta página).
 * Em todos os tamanhos: cada card tem pelo menos 260px e, sem espaço, a grade quebra para a linha de baixo. O máximo de
 * colunas é --dshe-er-d (desktop) e, até 560px, --dshe-er-m (mobile). Espaço fixo de 16px. */
.dshe-empty-recs-grid {
	--dshe-er-cols: var(--dshe-er-d, 3);
	--dshe-er-min: 260px;
	--dsh-skin-cols: var(--dshe-er-cols);
	--dsh-skin-gap: 16px;
	display: grid;
	/* A largura ideal (100% dividido pelas colunas) vira o piso quando é maior que 260px: nunca passa do máximo de colunas. */
	grid-template-columns: repeat(auto-fill, minmax(min(100%, max(var(--dshe-er-min), calc((100% - (var(--dshe-er-cols) - 1) * 16px) / var(--dshe-er-cols)))), 1fr));
	gap: 16px;
	margin-top: 14px;
}

.dshe-empty-recs-grid > * {
	min-width: 0;
}

@media (max-width: 560px) {
	/* Mobile: o máximo de colunas vem de --dshe-er-m; o piso de 260px continua valendo (a grade quebra). */
	.dshe-empty-recs-grid {
		--dshe-er-cols: var(--dshe-er-m, 1);
	}
}

/* Cards dentro do carrinho vazio: fontes fluidas, na mesma proporção em qualquer tela (título com entrelinha de 130%). */
.dshe-empty-recs-grid :is(.dshe-rcard__title, .dshe-pcard__title) {
	font-size: clamp(16px, calc(12.5px + .9vw), 22px) !important;
	line-height: 1.3 !important;
}

.dshe-empty-recs-grid .dshe-rcard__date b {
	font-size: clamp(24px, calc(18px + 1.6vw), 36px) !important;
	line-height: 1 !important;
}

.dshe-empty-recs-grid :is(.dshe-rcard__category, .dshe-rcard__date small, .dshe-rcard__date span) {
	font-size: clamp(10px, calc(9px + .2vw), 11px) !important;
}

.dshe-empty-recs-grid :is(.dshe-rcard__place, .dshe-rcard__facts, .dshe-rcard__bottom, .dshe-pcard__info) {
	font-size: clamp(12px, calc(11px + .25vw), 14px) !important;
}

.dshe-empty-recs .dshe-kicker {
	font-size: clamp(11px, calc(10px + .2vw), 13px);
}

@media (max-width: 560px) {
	.dshe-cart-empty {
		padding: 40px 20px;
	}
}

/* ============================================================
 * Responsivo
 * ============================================================ */
@media (max-width: 900px) {
	.dshe-cart-grid {
		grid-template-columns: 1fr;
	}

	.dshe-cart-summary {
		position: static;
	}
}

/* Mobile: a linha do produto quebra em blocos (imagem + info na 1ª linha,
 * preço + quantidade em linha própria abaixo, ocupando toda a largura). */
@media (max-width: 560px) {
	.dshe-cart-item-product-data {
		grid-template-columns: 72px 1fr;
		row-gap: 12px;
	}

	.dshe-cart-item-img img {
		width: 72px;
		height: 72px;
	}

	.dshe-cart-item-product-extra {
		padding-left: 8px !important;
	}

	.dshe-ci-right {
		grid-column: 1 / -1;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		gap: 12px;
	}
}

/* Mobile: "Complete seu pedido" em linha, com rolagem horizontal para
 * economizar espaço vertical. */
@media (max-width: 768px) {
	.dshe-cart-cross-grid {
		display: flex;
		grid-template-columns: none;
		gap: 12px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		padding-bottom: 8px;
		scrollbar-width: thin;
	}

	.dshe-cart-cross-grid>.dshe-cross-card {
		flex: 0 0 62%;
		max-width: 62%;
		scroll-snap-align: start;
	}
}

@media (max-width: 480px) {
	.dshe-cart-cross-grid>.dshe-cross-card {
		flex-basis: 78%;
		max-width: 78%;
	}
}


/* ============================================================
 * Pedido Realizado (order-received)
 * ============================================================ */
/* `hidden` sempre vence: blocos com display próprio (.dshe-ty-hero flex — ex.: "Pedido cancelado" do timer PIX,
   .dshe-ty-two etc.) apareciam mesmo marcados como ocultos. */
.dshe-frontend.dshe-thankyou-app [hidden] { display: none !important; }

/* Contêiner do conteúdo: 24px também nas laterais (antes `24px 0` zerava o respiro lateral). O cabeçalho fica de
   fora: ele tem o próprio padding (esta regra o deixava mais alto só nesta página). */
.dshe-frontend .dshe-thankyou-app .dshe-container:not(.dshe-co-header-inner) {
	padding: 24px;
}

@media (max-width: 560px) {
	.dshe-frontend .dshe-thankyou-app .dshe-container:not(.dshe-co-header-inner) {
		padding: 20px 16px;
	}
}

/* Estado CONFIRMADO */
.dshe-frontend .dshe-ty-hero {
	text-align: center;
	padding: 0px 0 24px;
	display: flex;
	align-items: center;
	flex-flow: column nowrap;
	gap: 16px;
	margin-bottom: 32px;
}

.dshe-frontend .dshe-ty-check {
	width: 78px;
	height: 78px;
	border-radius: 50%;
	margin: 0 auto 20px;
	background: var(--dsh-ty-check-bg, #edf7f0);
	color: var(--dsh-ty-check-icon, #199a6a);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 0 8px rgba(25, 154, 106, 0.08);
}

.dshe-frontend .dshe-ty-check .dsh-i {
	font-size: 38px;
}

.dshe-frontend .dshe-ty-hero h1 {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	color: var(--dsh-ty-title, #102a5c);
	margin-bottom: 8px;
}

.dshe-frontend .dshe-ty-hero p {
	color: var(--wbrsc-ink-700);
	max-width: 52ch;
	margin: 0 auto;
}

.dshe-frontend .dshe-ty-order-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--dsh-ty-badge-bg, #f2f6fc);
	color: var(--dsh-ty-badge-text, #16346f);
	border-radius: var(--wbrsc-radius-pill);
	padding: 8px 18px;
	font-weight: 700;
	font-size: 0.9rem;
	margin-top: 16px;
}

.dshe-frontend .dshe-ty-order-badge--light {
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
	margin-top: 0;
}

/* Estado CANCELADO */

.dshe-frontend .dshe-ty-check--cancel {
	background: #f7eded;
	color: #9a1919;
	box-shadow: 0 0 0 8px rgba(154, 49, 25, 0.08);
}

.dshe-frontend .dshe-cancel-block h1 {
	color: #9a1919;
}


/* Estado PENDENTE */
.dshe-frontend .dshe-pay-urgency {
	display: flex;
	align-items: center;
	gap: 18px;
	color: #fff;
	border-radius: var(--wbrsc-radius-lg);
	padding: 22px 26px;
	margin: 8px 0 22px;
	box-shadow: var(--wbrsc-shadow-lift);
	background: radial-gradient(420px 200px at 90% -30%, rgba(255, 255, 255, 0.18), transparent 60%), linear-gradient(120deg, var(--dsh-ty-urgency-start, #c96f06), var(--dsh-ty-urgency-end, #b5560a));
}

.dshe-frontend .dshe-u-ic {
	width: 54px;
	height: 54px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.16);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.dshe-frontend .dshe-u-ic .dsh-i {
	font-size: 26px;
}

.dshe-frontend .dshe-pay-urgency h1 {
	font-size: clamp(1.3rem, 2.4vw, 1.8rem);
	margin-bottom: 4px;
}

.dshe-frontend .dshe-pay-urgency p {
	color: rgba(255, 255, 255, 0.92);
	font-size: 0.94rem;
}

.dshe-frontend .dshe-pay-urgency .dshe-ty-order-badge--light {
	margin-left: auto;
	flex-shrink: 0;
}

.dshe-frontend .dshe-pay-gateway {
	background: #fff;
	border: 2px solid var(--wbrsc-orange-100);
	border-radius: var(--wbrsc-radius-md);
	box-shadow: var(--wbrsc-shadow-card);
	padding: 26px;
	margin-bottom: 26px;
}

.dshe-frontend .dshe-pay-gateway:empty {
	display: none;
}

/* Pendências */
.dshe-frontend .dshe-pending {
	margin-bottom: 32px;
}

/* Resumo + Entrega */
.dshe-frontend .dshe-ty-two {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: start;
}

.dshe-frontend .dshe-ty-card {
	background: #fff;
	border: 1px solid var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-md);
	box-shadow: var(--wbrsc-shadow-soft);
	overflow: hidden;
}

.dshe-frontend .dshe-ty-card-head {
	padding: 16px 22px;
	border-bottom: 1px solid var(--wbrsc-line);
	font-family: var(--wbrsc-font-display);
	font-weight: 700;
	color: var(--dsh-ty-title, #102a5c);
	display: flex;
	align-items: center;
	gap: 10px;
}

.dshe-frontend .dshe-ty-card-head .dsh-i {
	font-size: 18px;
}

.dshe-frontend .dshe-ty-card-body {
	padding: 18px 22px;
}

.dshe-frontend .dshe-ty-info-row {
	display: flex;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px solid var(--wbrsc-line);
}

.dshe-frontend .dshe-ty-info-row:last-child {
	border-bottom: none;
}

.dshe-frontend .dshe-ty-info-row .dshe-ic {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--dsh-ty-info-bg, #f2f6fc);
	color: var(--dsh-ty-info-icon, #16346f);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.dshe-frontend .dshe-ty-info-row .dshe-ic .dsh-i {
	font-size: 18px;
}

.dshe-frontend .dshe-ty-info-row .dshe-lbl {
	font-size: 0.76rem;
	color: var(--wbrsc-ink-500);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.dshe-frontend .dshe-ty-info-row .dshe-val {
	font-weight: 600;
	color: var(--wbrsc-blue-900);
	font-size: 0.92rem;
}

.dshe-frontend .dshe-ty-prod {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid var(--wbrsc-line);
}

.dshe-frontend .dshe-ty-prod img {
	width: 50px;
	height: 50px;
	border-radius: 10px;
	object-fit: cover;
}

.dshe-frontend .dshe-ty-prod-spacer {
	width: 50px;
	flex-shrink: 0;
}

.dshe-frontend .dshe-ty-prod--ship {
	border: none;
}

.dshe-frontend .dshe-p-name {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--wbrsc-blue-900);
}

.dshe-frontend .dshe-p-qty {
	font-size: 0.78rem;
	color: var(--wbrsc-ink-500);
}

.dshe-frontend .dshe-p-price {
	margin-left: auto;
	font-weight: 700;
	color: var(--wbrsc-ink-900);
}

.dshe-frontend .dshe-ty-total {
	display: flex;
	justify-content: space-between;
	margin-top: 12px;
	padding-top: 14px;
	border-top: 1px solid var(--wbrsc-line);
}

.dshe-frontend .dshe-ty-total strong {
	font-family: var(--wbrsc-font-display);
	font-size: 0.9rem;
	color: var(--dsh-ty-total, #16346f);
}

.dshe-frontend .dshe-ty-total span {
	font-weight: 700;
	color: var(--wbrsc-blue-900);
	align-self: center;
}

/* Ações rápidas */
.dshe-frontend .dshe-ty-actions {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-top: 28px;
}

.dshe-frontend .dshe-ty-action {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
	background: #fff;
	border: 1px solid var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-md);
	padding: 22px 16px;
	box-shadow: var(--wbrsc-shadow-soft);
	text-decoration: none;
	transition: transform 0.4s var(--wbrsc-ease-out), box-shadow 0.4s var(--wbrsc-ease-out), border-color 0.4s var(--wbrsc-ease-out);
}

.dshe-frontend .dshe-ty-action:hover {
	transform: translateY(-5px);
	box-shadow: var(--wbrsc-shadow-lift);
	border-color: var(--wbrsc-orange-100);
}

.dshe-frontend .dshe-ty-action .dshe-ic {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--dsh-ty-action-bg, #f2f6fc);
	color: var(--dsh-ty-action-text, #16346f);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.3s var(--wbrsc-ease-out), color 0.3s var(--wbrsc-ease-out);
}

.dshe-frontend .dshe-ty-action .dshe-ic .dsh-i {
	font-size: 22px;
}

.dshe-frontend .dshe-ty-action:hover .dshe-ic {
	background: var(--dsh-ty-action-bg-hover, #e5830d);
	color: var(--dsh-ty-action-text-hover, #ffffff);
}

.dshe-frontend .dshe-ty-action strong {
	color: var(--dsh-ty-title, #102a5c);
	font-size: 0.95rem;
}

.dshe-frontend .dshe-ty-action span {
	font-size: 0.8rem;
	color: var(--wbrsc-ink-500);
}

.dshe-frontend .dshe-ty-help {
	text-align: center;
	margin-top: 26px;
}

@media (max-width: 900px) {
	.dshe-frontend .dshe-ty-two {
		grid-template-columns: 1fr;
	}

	.dshe-frontend .dshe-ty-actions {
		grid-template-columns: 1fr;
	}

	.dshe-frontend .dshe-pay-urgency {
		flex-wrap: wrap;
	}

	.dshe-frontend .dshe-pay-urgency .dshe-ty-order-badge--light {
		margin-left: 0;
	}
}

/* Vídeo de agradecimento (order-received). */
.dshe-frontend .dshe-ty-video {
	margin: 24px 0;
}

.dshe-frontend .dshe-ty-video-card .dshe-ty-card-body {
	background: #181818 !important;
}

.dshe-frontend .dshe-ty-video-frame {
	position: relative;
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
	border-radius: var(--wbrsc-radius-md);
	overflow: hidden;
	box-shadow: var(--wbrsc-shadow-card);
	background: #000;
}

.dshe-frontend .dshe-ty-video-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Order-received: badge do #pedido no head do Resumo + card de vídeo. */
.dshe-frontend .dshe-ty-head-title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.dshe-frontend .dshe-ty-head-badge {
	margin-left: auto;
	margin-top: 0;
	gap: 5px;
	padding: 5px 12px;
	font-size: 0.82rem;
}

.dshe-frontend .dshe-ty-head-badge .dsh-i {
	font-size: 12px;
}

.dshe-frontend .dshe-ty-video-card {
	margin: 24px 0;
}

.dshe-frontend .dshe-ty-video-card .dshe-ty-video-frame {
	margin: 0 auto;
}

.dshe-frontend .dshe-ty-two--single {
	grid-template-columns: 1fr;
}

/* Contador de reserva do PIX (banner de urgência). */
.dshe-frontend .dshe-u-timer {
	margin-left: auto;
	text-align: center;
	background: rgba(0, 0, 0, 0.2);
	border-radius: var(--wbrsc-radius-md);
	padding: 10px 18px;
	flex-shrink: 0;
}

.dshe-frontend .dshe-u-timer span {
	display: block;
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	opacity: 0.85;
}

.dshe-frontend .dshe-u-timer strong {
	font-family: var(--wbrsc-font-display);
	font-size: 1.5rem;
	font-variant-numeric: tabular-nums;
}

/* Box de pagamento PIX custom (order-received). */
.dshe-frontend .dshe-pixbox {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	background: #fff;
	border: 2px solid var(--wbrsc-orange-100);
	border-radius: var(--wbrsc-radius-md);
	box-shadow: var(--wbrsc-shadow-card);
	padding: 28px;
	margin-bottom: 26px;
	align-items: start;
}

.dshe-frontend .dshe-pixbox-left {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	border-right: 1px solid var(--wbrsc-line);
	padding-right: 24px;
}

.dshe-frontend .dshe-pixbox-tag {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: var(--wbrsc-orange-50);
	color: var(--wbrsc-orange-600);
	font-size: 0.74rem;
	font-weight: 800;
	padding: 5px 13px;
	border-radius: var(--wbrsc-radius-pill);
	margin-bottom: 14px;
}

.dshe-frontend .dshe-pixbox-qr {
	width: 180px;
	height: 180px;
	border-radius: 14px;
	border: 1px solid var(--wbrsc-line);
	margin-bottom: 14px;
}

.dshe-frontend .dshe-pixbox-total {
	font-size: 0.82rem;
	color: var(--wbrsc-ink-500);
}

.dshe-frontend .dshe-pixbox-total strong {
	display: block;
	font-family: var(--wbrsc-font-display);
	font-size: 1.7rem;
	color: var(--wbrsc-blue-800);
}

.dshe-frontend .dshe-pixbox-code {
	display: flex;
	gap: 8px;
	width: 100%;
	margin-top: 14px;
}

.dshe-frontend .dshe-pixbox-code input {
	flex: 1;
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid var(--wbrsc-line);
	border-radius: 10px;
	font-size: 0.76rem;
	color: var(--wbrsc-ink-500);
	background: var(--wbrsc-bg-page);
}

.dshe-frontend .dshe-pixbox-right h3 {
	color: var(--wbrsc-blue-900);
	font-size: 1.15rem;
	margin-bottom: 14px;
}

.dshe-frontend .dshe-paysteps {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.dshe-frontend .dshe-paystep {
	display: flex;
	gap: 14px;
	padding: 11px 0;
}

.dshe-frontend .dshe-paystep:not(:last-child) {
	border-bottom: 1px solid var(--wbrsc-line);
}

.dshe-frontend .dshe-paystep-n {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	flex-shrink: 0;
	background: var(--wbrsc-blue-800);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wbrsc-font-display);
	font-weight: 800;
	font-size: 0.85rem;
}

.dshe-frontend .dshe-paystep-t {
	font-weight: 700;
	color: var(--wbrsc-blue-900);
	font-size: 0.92rem;
}

.dshe-frontend .dshe-paystep-d {
	font-size: 0.84rem;
	color: var(--wbrsc-ink-700);
	margin-top: 2px;
}

/* Botão de ajuda (WhatsApp / Telegram). */
.dshe-frontend .dshe-btn--help {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff !important;
}

.dshe-frontend .dshe-btn--whatsapp {
	background: var(--wbrsc-green-wpp, #25d366) !important;
}

.dshe-frontend .dshe-btn--telegram {
	background: #29a9ea !important;
}

@media (max-width: 768px) {
	.dshe-frontend .dshe-pixbox {
		grid-template-columns: 1fr;
	}

	.dshe-frontend .dshe-pixbox-left {
		border-right: none;
		border-bottom: 1px solid var(--wbrsc-line);
		padding-right: 0;
		padding-bottom: 20px;
	}
}

/* Bloco de pedido cancelado (prazo de pagamento expirado). */
.dshe-frontend .dshe-ty-check--cancel {
	background: #fdecee;
	color: #d6455b;
	box-shadow: 0 0 0 8px rgba(214, 69, 91, 0.08);
}

.dshe-frontend .dshe-cancel-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 22px;
}

.dshe-frontend .dshe-cancel-actions .dshe-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* Layout de Roteiros (turismo) no Resumo do pedido — itens + ações. */
.dshe-frontend .dshe-roteiro-item {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px dashed var(--wbrsc-line);
}

.dshe-frontend .dshe-roteiro-item:last-child {
	border-bottom: none;
}

.dshe-frontend .dshe-roteiro-item img {
	width: 56px;
	height: 56px;
	border-radius: 10px;
	object-fit: cover;
	flex-shrink: 0;
}

.dshe-frontend .dshe-roteiro-info {
	flex: 1;
	min-width: 0;
}

.dshe-frontend .dshe-roteiro-info h3 {
	font-size: 1rem;
	color: var(--wbrsc-blue-900);
	margin-bottom: 3px;
}

.dshe-frontend .dshe-roteiro-info p {
	font-size: 0.85rem;
	color: var(--wbrsc-ink-500);
	line-height: 1.5;
}

.dshe-frontend .dshe-roteiro-actions {
	display: flex;
	gap: 8px;
	flex-shrink: 0;
	flex-wrap: wrap;
}

.dshe-frontend .dshe-btn--dark {
	background: #181818 !important;
	color: #fff !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.dshe-frontend .dshe-btn--dark:hover {
	background: #333 !important;
}

.dshe-frontend .dshe-btn--wpp {
	background: #3eac53 !important;
	color: #fff !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.dshe-frontend .dshe-btn--wpp:hover {
	background: #266f34 !important;
}

@media (max-width: 768px) {
	.dshe-frontend .dshe-roteiro-item {
		flex-wrap: wrap;
	}

	.dshe-frontend .dshe-roteiro-actions {
		width: 100%;
	}

	.dshe-frontend .dshe-roteiro-actions .dshe-btn {
		flex: 1;
		justify-content: center;
	}
}

/* ===== Informações Pendentes (coleta de participantes de roteiro) ===== */
.dshe-frontend .dshe-pending-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.dshe-frontend .dshe-pending-head .dshe-btn svg,
.dshe-frontend .dshe-pending-head .dshe-btn svg path {
	fill: currentColor;
}

.dshe-frontend .dshe-pending-intro {
	margin: 0 0 14px;
	color: var(--wbrsc-ink-500);
	font-size: 14px;
}

/* CTA da Declaração do Participante (reusa o chrome do bloco de pendências). */
.dshe-frontend .dshe-decl-cta-actions { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 10px; }
.dshe-frontend .dshe-decl-cta-actions .dshe-btn { display: inline-flex; align-items: center; gap: 8px; }

.dshe-frontend .dshe-pend-notice {
	display: none;
}

.dshe-frontend .dshe-pend-notice.is-show {
	display: block;
	padding: 12px 14px;
	border-radius: var(--wbrsc-radius-sm);
	margin: 0 0 14px;
	font-size: 14px;
}

.dshe-frontend .dshe-pend-notice.err {
	background: #FDECEC;
	color: #B3261E;
	border: 1px solid #F5C2C0;
}

.dshe-frontend .dshe-pend-notice.ok {
	background: #E7F6EF;
	color: var(--wbrsc-green);
	border: 1px solid #B7E3CE;
}

.dshe-frontend .dshe-pend-items {
	border: 1px solid var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-md);
	overflow: hidden;
}

.dshe-frontend .dshe-pend-master {
	position: relative;
	background: var(--wbrsc-bg-page);
}

.dshe-frontend .dshe-pend-detail {
	position: relative;
	background: var(--wbrsc-bg-card);
}

.dshe-frontend .dshe-pend-tab {
	display: flex !important;
	align-items: center !important;
	gap: 10px;
	width: 100% !important;
	text-align: left !important;
	padding: 12px 14px !important;
	background: none !important;
	border: 0 !important;
	border-bottom: 1px solid var(--wbrsc-line) !important;
	cursor: pointer !important;
	font: inherit !important;
}

.dshe-frontend .dshe-pend-tab.is-active {
	background: var(--wbrsc-bg-card) !important;
}

.dshe-frontend .dshe-pend-badge {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	color: #E0A800;
	display: inline-flex;
}

.dshe-frontend .dshe-pend-tab.is-complete .dshe-pend-badge {
	color: var(--wbrsc-green);
}

.dshe-frontend .dshe-pend-badge svg {
	width: 20px;
	height: 20px;
}

.dshe-frontend .dshe-pend-badge .dsh-i {
	font-size: 20px;
}

.dshe-frontend .dshe-pend-tabtext {
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.35;
}

.dshe-frontend .dshe-pend-tabtext strong {
	display: block;
	color: var(--wbrsc-ink-900);
	font-size: 14px;
}

.dshe-frontend .dshe-pend-vagas {
	font-size: 12px;
	color: var(--wbrsc-ink-500);
}

.dshe-frontend .dshe-pend-var {
	display: block;
	font-size: 12px;
	color: var(--wbrsc-ink-500);
}

/* Atributos/variações do item na aba (repete separado por ", "). */
/* Nome global do produto na aba — não corta a string, reduz via ellipsis. */
.dshe-frontend .dshe-pend-prod-name {
	display: block;
	max-width: 15ch;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--wbrsc-ink-900);
	font-size: 14px;
}
/* Atributos/variações do item na aba (spans separados por ", ", prefixo "|_"). */
.dshe-frontend .dshe-pend-prod-atributes {
	display: block;
	margin: 2px 0 0;
	font-size: 12px;
	line-height: 1.35;
	color: var(--wbrsc-ink-500);
}
.dshe-frontend .dshe-pend-prod-atributes > span { white-space: nowrap; }

/* Nome do roteiro no cabeçalho do painel — reduz via ellipsis (até 25ch). */
.dshe-frontend .dshe-pend-p-name {
	display: block;
	max-width: 25ch;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dshe-frontend .dshe-pend-caret {
	flex: 0 0 auto;
	color: var(--wbrsc-ink-300);
}

.dshe-frontend .dshe-pend-caret svg {
	width: 16px;
	height: 16px;
}

.dshe-frontend .dshe-pend-caret .dsh-i {
	font-size: 16px;
}

.dshe-frontend .dshe-pend-body {
	display: none;
	padding: 16px;
}

.dshe-frontend .dshe-pend-body.is-active {
	display: block;
}

.dshe-frontend .dshe-pend-scrollhint {
	display: none;
	position: sticky;
	bottom: 0;
	z-index: 2;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 6px 0 4px;
	font-size: 12px;
	font-weight: 600;
	color: var(--wbrsc-blue-700);
	pointer-events: none;
	background: linear-gradient(to top, var(--wbrsc-bg-card) 55%, rgba(255, 255, 255, 0));
}

.dshe-frontend .dshe-pend-master .dshe-pend-scrollhint {
	background: linear-gradient(to top, var(--wbrsc-bg-page) 45%, rgba(246, 248, 252, 0));
}

.dshe-frontend .dshe-pend-scrollhint svg {
	width: 16px;
	height: 16px;
	animation: dshe-pend-bounce 1.4s ease-out infinite;
}

.dshe-frontend .dshe-pend-scrollhint .dsh-i {
	font-size: 16px;
}

@keyframes dshe-pend-bounce {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(3px);
	}
}

@media (min-width:1100px) {
	.dshe-frontend .dshe-pend-items {
		display: grid;
		grid-template-columns: 300px 1fr;
		height: 450px;
	}

	.dshe-frontend .dshe-pend-master {
		border-right: 1px solid var(--wbrsc-line);
		height: 450px;
		overflow-y: auto;
	}

	.dshe-frontend .dshe-pend-detail {
		height: 450px;
		overflow-y: auto;
	}

	.dshe-frontend .dshe-pend-caret {
		display: none;
	}
}

@media (max-width:1099px) {
	.dshe-frontend .dshe-pend-items {
		display: block;
	}

	.dshe-frontend .dshe-pend-master {
		max-height: none;
		overflow: visible;
		border-bottom: 0;
		background: transparent;
	}

	.dshe-frontend .dshe-pend-detail {
		display: none;
	}

	.dshe-frontend .dshe-pend-caret {
		display: inline-flex;
	}

	.dshe-frontend .dshe-pend-caret svg {
		transition: transform .2s;
	}

	.dshe-frontend .dshe-pend-tab {
		background: var(--wbrsc-bg-page);
	}

	.dshe-frontend .dshe-pend-tab.is-active {
		background: var(--wbrsc-bg-card);
	}

	.dshe-frontend .dshe-pend-tab.is-active .dshe-pend-caret svg {
		transform: rotate(180deg);
	}

	.dshe-frontend .dshe-pend-body {
		border-bottom: 1px solid var(--wbrsc-line);
		background: var(--wbrsc-bg-card);
	}
}

/* Campos / acordeões de participante */
.dshe-frontend .dshe-pend-checkbox {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	margin: 0 0 4px;
	font-size: 14px;
	color: var(--wbrsc-ink-700);
}

.dshe-frontend .dshe-pend-checkbox input {
	margin-top: 2px;
}

.dshe-frontend .dshe-pend-divider {
	border: 0;
	border-top: 1px solid var(--wbrsc-line);
	margin: 16px 0;
}

.dshe-frontend .dshe-part-list {
	display: block;
}

.dshe-frontend .dshe-part-fields {
	display: flex;
	flex-flow: row wrap;
	gap: 24px;
}

.dshe-frontend .dshe-part-fields .dshe-field {
	margin: 0;
}

.dshe-frontend .dshe-part-name {
	flex: 1 1 100%;
}

.dshe-frontend .dshe-part-doc,
.dshe-frontend .dshe-part-nat,
.dshe-frontend .dshe-part-birth {
	flex: 1 1 40%;
}

.dshe-frontend .dshe-part-fields.is-passport .dshe-part-birth {
	flex-basis: 100%;
}

/* Nacionalidade: select2 normalizado p/ ficar idêntico aos demais campos. */
.dshe-frontend .dshe-part-nat .select2-container.dsh-select2 { width: 100% !important; margin: 0; }
.dshe-frontend .dshe-part-nat .select2-container.dsh-select2 .select2-selection--single {
	display: flex !important;
	align-items: center;
	min-height: 48px;
	width: 100%;
	padding: 10px 36px 10px 14px !important;
	border: 1px solid var(--wbrsc-line) !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	font: inherit;
	font-size: 15px;
	line-height: 1.3;
	color: var(--wbrsc-ink-900);
	transition: border-color .15s, box-shadow .15s;
}
.dshe-frontend .dshe-part-nat .select2-container.dsh-select2.select2-container--focus .select2-selection--single,
.dshe-frontend .dshe-part-nat .select2-container.dsh-select2.select2-container--open .select2-selection--single {
	border-color: var(--wbrsc-blue-700) !important;
	box-shadow: 0 0 0 3px rgba(30, 68, 148, .12) !important;
}
.dshe-frontend .dshe-part-nat .select2-container.dsh-select2 .select2-selection__rendered {
	padding: 0 !important;
	font-size: 15px;
	color: var(--wbrsc-ink-900);
	line-height: 1.3;
}
.dshe-frontend .dshe-part-nat .select2-container.dsh-select2 .select2-selection__placeholder { color: var(--wbrsc-ink-500); }
.dshe-frontend .dshe-part-nat .select2-container.dsh-select2 .select2-selection__arrow { right: 12px; height: 46px; }

/* Painel de opções alinhado ao campo. */
.select2-dropdown.dsh-select2-dropdown {
	border: 1px solid var(--wbrsc-line);
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(16, 24, 40, .12);
	margin-top: 4px;
	overflow: hidden;
	font-size: 14px;
	color: var(--wbrsc-ink-900);
}
.select2-dropdown.dsh-select2-dropdown .select2-results__option { padding: 9px 14px; line-height: 1.3; }
.select2-dropdown.dsh-select2-dropdown .select2-results__option--highlighted[aria-selected] {
	background: var(--wbrsc-bg-page);
	color: var(--wbrsc-ink-900);
}

.dshe-frontend .dshe-pend-detail .dshe-field input:not(:disabled),
.dshe-frontend .dshe-pend-detail .dshe-field select:not(:disabled),
.dshe-frontend .dshe-pend-detail .dshe-part-table input:not(:disabled),
.dshe-frontend .dshe-pend-detail .dshe-part-table select:not(:disabled) {
	background: #fff !important;
}

.dshe-frontend .dshe-part.is-locked input,
.dshe-frontend .dshe-part-fields input:disabled,
.dshe-frontend .dshe-part-fields select:disabled {
	background: var(--wbrsc-bg-page) !important;
	color: var(--wbrsc-ink-500);
}

.dshe-frontend .dshe-part-err {
	display: none;
	margin-top: 4px;
	font-size: 12px;
	color: #B3261E;
}

.dshe-frontend .dshe-part-err.is-show {
	display: block;
}

.dshe-frontend .dshe-part [data-p].is-error {
	border-color: #E5A0A0 !important;
}

.dshe-frontend .dshe-part-acc {
	border: 1px solid var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-sm);
	margin-bottom: 8px;
	background: var(--wbrsc-bg-card);
	overflow: hidden;
}

.dshe-frontend .dshe-part-acc-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px !important;
	width: 100% !important;
	padding: 12px 14px !important;
	margin: 0 !important;
	background: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-align: left !important;
	cursor: pointer !important;
	font: inherit !important;
	color: var(--wbrsc-ink-900) !important;
	line-height: 1.3 !important;
}

.dshe-frontend .dshe-part-acc-head:hover {
	background: var(--wbrsc-bg-page) !important;
}

.dshe-frontend .dshe-part-acc-title {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	font-size: 14px;
}

.dshe-frontend .dshe-part-acc-title em {
	font-style: normal;
	color: var(--wbrsc-ink-500);
}

.dshe-frontend .dshe-part-nm {
	display: inline-block;
	max-width: 14ch;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: bottom;
	font-weight: 600;
}

.dshe-frontend .dshe-part-acc-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
}

.dshe-frontend .dshe-part-acc-actions svg {
	width: 16px;
	height: 16px;
	transition: transform .2s;
}

.dshe-frontend .dshe-part-acc-actions .dsh-i {
	font-size: 16px;
	transition: transform .2s;
}

.dshe-frontend .dshe-part-acc-caret {
	display: inline-flex;
}

.dshe-frontend .dshe-part-acc-caret svg {
	transition: transform .2s;
}

.dshe-frontend .dshe-part-acc.is-open .dshe-part-acc-caret svg {
	transform: rotate(180deg);
}

.dshe-frontend .dshe-part-acc-body {
	display: none;
	padding: 14px;
	border-top: 1px solid var(--wbrsc-line);
}

.dshe-frontend .dshe-part-acc.is-open .dshe-part-acc-body {
	display: block;
}

.dshe-frontend .dshe-part-remove {
	background: none !important;
	border: 0 !important;
	color: #B3261E !important;
	cursor: pointer !important;
	padding: 4px !important;
	display: inline-flex !important;
	box-shadow: none !important;
}

.dshe-frontend .dshe-part-remove svg {
	width: 16px;
	height: 16px;
}

.dshe-frontend .dshe-part-remove .dsh-i {
	font-size: 16px;
}

.dshe-frontend .dshe-part-table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--wbrsc-line);
}

.dshe-frontend .dshe-part-table th,
.dshe-frontend .dshe-part-table td {
	padding: 8px;
	border-bottom: 1px solid var(--wbrsc-line);
	font-size: 13px;
	text-align: left;
	vertical-align: middle;
}

.dshe-frontend .dshe-part-table input {
	width: 100%;
}

.dshe-frontend .dshe-part-no {
	width: 36px;
	color: var(--wbrsc-ink-500);
}

.dshe-frontend .dshe-part-act {
	white-space: nowrap;
	display: flex;
	gap: 6px;
}

.dshe-frontend .dshe-part-add {
	margin-top: 24px !important;
}

/* Cabeçalho fixo do painel de participantes (A2) */
.dshe-frontend .dshe-pend-bodyhead {
	position: sticky;
	top: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 16px;
	margin: -16px -16px 12px;
	background: var(--wbrsc-bg-card);
	border-bottom: 1px solid var(--wbrsc-line);
}

.dshe-frontend .dshe-pend-bodyhead strong {
	font-size: 14px;
	color: var(--wbrsc-ink-900);
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: inline-block;
	max-width: 28ch;
}

.dshe-frontend .dshe-pend-count {
	font-size: 12px;
	color: var(--wbrsc-ink-500);
	white-space: nowrap;
	flex: 0 0 auto;
}

/* Resumo do pedido: lista com scroll + total separado (A1) */
.dshe-frontend .dshe-ty-scroll {
	position: relative;
	max-height: 250px;
	overflow-y: auto;
	padding-right: 10px;
}

.dshe-frontend .dshe-ty-scrollhint {
	display: none;
	position: sticky;
	bottom: 0;
	z-index: 2;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 6px 0 4px;
	font-size: 12px;
	font-weight: 600;
	color: var(--wbrsc-blue-700);
	pointer-events: none;
	background: linear-gradient(to top, var(--wbrsc-bg-card) 55%, rgba(255, 255, 255, 0));
}

.dshe-frontend .dshe-ty-scrollhint svg {
	width: 16px;
	height: 16px;
	animation: dshe-pend-bounce 1.4s ease-out infinite;
}

.dshe-frontend .dshe-ty-scrollhint .dsh-i {
	font-size: 16px;
}

.dshe-frontend .dshe-ty-total {
	margin-top: 6px;
	padding-right: 10px;
}

/* Frete indisponível */
.dshe-frontend .dshe-ship-empty {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 16px;
	border: 1px dashed var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-md);
	background: var(--wbrsc-bg-page);
}

.dshe-frontend .dshe-ship-empty-ic {
	flex: 0 0 auto;
	color: var(--wbrsc-ink-500);
}

.dshe-frontend .dshe-ship-empty strong {
	display: block;
	color: var(--wbrsc-ink-900);
	font-size: 14px;
}

.dshe-frontend .dshe-ship-empty p {
	margin: 4px 0 10px;
	color: var(--wbrsc-ink-500);
	font-size: 13px;
}

/* Modal "Registro Outros Participantes" */
.dshe-frontend .dshe-pmodal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
}

.dshe-frontend .dshe-pmodal.is-open {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}

.dshe-frontend .dshe-pmodal-back {
	position: absolute;
	inset: 0;
	background: rgba(11, 30, 68, .55);
}

.dshe-frontend .dshe-pmodal-panel {
	position: relative;
	width: 100%;
	max-width: 520px;
	max-height: 85vh;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border-radius: var(--wbrsc-radius-md);
	box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
}

.dshe-frontend .dshe-pmodal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 18px;
	border-bottom: 1px solid var(--wbrsc-line);
	font-size: 16px;
	color: var(--wbrsc-ink-900);
}

.dshe-frontend .dshe-pmodal-x {
	background: none;
	border: 0;
	cursor: pointer;
	color: var(--wbrsc-ink-500);
	font-size: 20px;
	line-height: 1;
}

.dshe-frontend .dshe-pmodal-x svg {
	width: 18px;
	height: 18px;
}

.dshe-frontend .dshe-pmodal-x .dsh-i {
	font-size: 18px;
}

.dshe-frontend .dshe-pmodal-intro {
	margin: 0;
	padding: 12px 18px;
	color: var(--wbrsc-ink-500);
	font-size: 13px;
}

.dshe-frontend .dshe-pmodal-body {
	padding: 0 18px 18px;
	max-height: 400px;
	overflow-y: auto;
}

.dshe-frontend .dshe-pmodal-table {
	width: 100%;
	border-collapse: collapse;
}

.dshe-frontend .dshe-pmodal-table thead th {
	position: sticky;
	top: 0;
	background: #fff;
	z-index: 1;
}

.dshe-frontend .dshe-pmodal-table th,
.dshe-frontend .dshe-pmodal-table td {
	padding: 10px 8px;
	border-bottom: 1px solid var(--wbrsc-line);
	text-align: left;
	font-size: 14px;
	vertical-align: middle;
}

.dshe-frontend .dshe-pmodal-table td[colspan="2"] {
	width: 75%;
}

.dshe-frontend .dshe-pmodal-table small {
	color: var(--wbrsc-ink-500);
}

.dshe-frontend .dshe-pmodal-added {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--wbrsc-green);
	font-weight: 600;
	font-size: 13px;
}

.dshe-frontend .dshe-pmodal-added svg,
.dshe-frontend .dshe-pmodal-table .dshe-btn svg {
	width: 16px;
	height: 16px;
}

.dshe-frontend .dshe-pmodal-added .dsh-i,
.dshe-frontend .dshe-pmodal-table .dshe-btn .dsh-i {
	font-size: 16px;
}

.dshe-frontend .dshe-pmodal-empty {
	padding: 16px 0;
	color: var(--wbrsc-ink-500);
}

/* Páginas de Minha Conta (turismo) */
body.woocommerce-informacoes-pendentes .woocommerce-MyAccount-content,
body.woocommerce-outros-participantes .woocommerce-MyAccount-content {
	min-width: 0;
}

.dshe-frontend.dshe-account-box {
	width: 100%;
	min-width: 0;
	font-size: 14px;
}

.dshe-account-pending>.dshe-pending {
	width: 100%;
	margin: 0;
}

.dshe-account-pending .dshe-ty-card-body {
	min-width: 0;
}

.dshe-account-agenda {
	padding: 24px;
	border: 1px solid var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-md);
	background: var(--wbrsc-bg-card);
	box-shadow: var(--wbrsc-shadow-soft);
}

.dshe-frontend .dshe-acc-section-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.dshe-frontend .dshe-acc-section-head p {
	margin: 5px 0 0;
	color: var(--wbrsc-ink-500);
	line-height: 1.5;
}

.dshe-frontend .dshe-acc-h3 {
	margin: 0;
	font-size: 18px;
	color: var(--wbrsc-blue-900);
}

.dshe-frontend .dshe-acc-table-wrap {
	width: 100%;
	margin-bottom: 26px;
	overflow-x: auto;
	border: 1px solid var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-sm);
}

.dshe-frontend .dshe-acc-table {
	width: 100%;
	min-width: 620px;
	border: 0 !important;
	border-collapse: collapse;
	margin: 0 !important;
	background: #fff;
}

.dshe-frontend .dshe-acc-table th,
.dshe-frontend .dshe-acc-table td {
	padding: 13px 14px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--wbrsc-line) !important;
	text-align: left;
	font-size: 14px;
	vertical-align: middle;
}

.dshe-frontend .dshe-acc-table th {
	background: var(--wbrsc-bg-page);
	color: var(--wbrsc-ink-500);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.dshe-frontend .dshe-acc-table tbody tr:last-child td {
	border-bottom: 0 !important;
}

.dshe-frontend .dshe-acc-table td strong {
	color: var(--wbrsc-blue-900);
}

.dshe-frontend .dshe-acc-actions {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

.dshe-frontend .dshe-acc-actions a {
	display: inline-flex;
	padding: 6px 10px;
	border-radius: 7px;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none !important;
}

.dshe-frontend .dshe-acc-edit {
	background: var(--wbrsc-blue-50);
	color: var(--wbrsc-blue-800) !important;
}

.dshe-frontend .dshe-acc-delete {
	background: #FDECEC;
	color: #B3261E !important;
}

.dshe-frontend .dshe-acc-empty {
	margin-bottom: 26px;
	padding: 22px;
	border: 1px dashed var(--wbrsc-line);
	border-radius: var(--wbrsc-radius-sm);
	background: var(--wbrsc-bg-page);
	text-align: center;
}

.dshe-frontend .dshe-acc-empty strong {
	display: block;
	color: var(--wbrsc-blue-900);
}

.dshe-frontend .dshe-acc-empty p {
	margin: 6px 0 0;
	color: var(--wbrsc-ink-500);
}

.dshe-frontend .dshe-acc-form-title {
	padding-top: 22px;
	border-top: 1px solid var(--wbrsc-line);
}

.dshe-frontend .dshe-acc-form {
	width: 100%;
	max-width: none;
	margin-top: 16px;
}

.dshe-frontend .dshe-acc-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.dshe-frontend .dshe-acc-form .dshe-field {
	min-width: 0;
	margin: 0;
}

.dshe-frontend .dshe-acc-field-full {
	grid-column: 1/-1;
}

.dshe-frontend .dshe-acc-form label {
	display: block;
	margin-bottom: 6px;
	color: var(--wbrsc-ink-700);
	font-size: 13px;
	font-weight: 700;
}

.dshe-frontend .dshe-acc-form input,
.dshe-frontend .dshe-acc-form select {
	width: 100% !important;
	min-height: 44px;
	margin: 0 !important;
	padding: 9px 12px !important;
	border: 1px solid var(--wbrsc-line) !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: var(--wbrsc-ink-900) !important;
	box-shadow: none !important;
}

.dshe-frontend .dshe-acc-form input:focus,
.dshe-frontend .dshe-acc-form select:focus {
	border-color: var(--wbrsc-blue-700) !important;
	outline: 2px solid rgba(30, 68, 148, .12) !important;
}

.dshe-frontend .dshe-acc-form-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 18px 0 0;
}

.dshe-frontend .dshe-acc-cancel {
	margin: 0;
	color: var(--wbrsc-ink-500) !important;
	font-weight: 600;
}

@media (max-width:700px) {
	.dshe-account-agenda {
		padding: 16px;
	}

	.dshe-frontend .dshe-acc-form-grid {
		grid-template-columns: 1fr;
	}

	.dshe-frontend .dshe-acc-field-full {
		grid-column: auto;
	}

	.dshe-frontend .dshe-acc-table {
		min-width: 0;
	}

	.dshe-frontend .dshe-acc-table thead {
		display: none;
	}

	.dshe-frontend .dshe-acc-table,
	.dshe-frontend .dshe-acc-table tbody,
	.dshe-frontend .dshe-acc-table tr,
	.dshe-frontend .dshe-acc-table td {
		display: block;
		width: 100%;
	}

	.dshe-frontend .dshe-acc-table tr {
		padding: 12px 14px;
		border-bottom: 1px solid var(--wbrsc-line);
	}

	.dshe-frontend .dshe-acc-table td {
		display: flex;
		justify-content: space-between;
		gap: 14px;
		padding: 5px 0 !important;
		border: 0 !important;
		text-align: right;
	}

	.dshe-frontend .dshe-acc-table td::before {
		content: attr(data-title);
		color: var(--wbrsc-ink-500);
		font-weight: 600;
		text-align: left;
	}

	.dshe-frontend .dshe-acc-actions {
		justify-content: flex-end;
		padding-top: 10px !important;
	}

	.dshe-frontend .dshe-acc-actions::before {
		content: none !important;
	}
}

@media (max-width:560px) {
	.dshe-frontend .dshe-pending-head {
		align-items: stretch;
		flex-direction: column;
	}

	.dshe-frontend .dshe-pending-head .dshe-btn {
		width: 100%;
		justify-content: center;
	}

	.dshe-frontend .dshe-pend-bodyhead {
		align-items: flex-start;
	}

	.dshe-frontend .dshe-pend-bodyhead strong {
		max-width: 18ch;
	}

	.dshe-frontend .dshe-part-fields {
		display: block;
	}

	.dshe-frontend .dshe-part-fields .dshe-field {
		margin-bottom: 10px;
	}

	.dshe-frontend .dshe-part-table {
		display: block;
		overflow-x: auto;
	}
}

/* Cabeçalho do painel de produto (Informações Pendentes) */
.dshe-frontend .dshe-pend-panelhead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 12px;
	padding-bottom: 10px;
	border-bottom: 1px dashed var(--wbrsc-line);
}

.dshe-frontend .dshe-pend-ordbadge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 10px;
	border-radius: var(--wbrsc-radius-pill);
	background: var(--wbrsc-blue-50);
	color: var(--wbrsc-blue-800);
	font-weight: 700;
	font-size: 12px;
}

.dshe-frontend .dshe-pend-viewmore {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--wbrsc-blue-700);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.dshe-frontend .dshe-pend-viewmore svg {
	width: 14px;
	height: 14px;
}

.dshe-frontend .dshe-pend-viewmore .dsh-i {
	font-size: 14px;
}

/* Observação de entrega no frete consolidado */
.dshe-frontend .dshe-ship-obs {
	display: block;
	margin-top: 2px;
	color: var(--wbrsc-ink-500);
	font-size: 12px;
	font-style: italic;
}

/* Input de quantidade digitável no carrinho */
.dshe-frontend .dshe-cart-qty input {
	text-align: center;
	-moz-appearance: textfield;
}

.dshe-frontend .dshe-cart-qty input::-webkit-outer-spin-button,
.dshe-frontend .dshe-cart-qty input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Resumo do pedido: wrapper de detalhes + variação roteiro (form + WhatsApp) */
.dshe-frontend .dshe-p-details {
	flex: 1 1 auto;
	min-width: 0;
}

.dshe-frontend .dshe-p-attrs {
	display: block;
}

.dshe-frontend .dshe-p-price-inline {
	font-weight: 700;
	color: var(--wbrsc-blue-800);
}

.dshe-frontend .dshe-ty-prod--roteiro {
	align-items: flex-start;
}

.dshe-frontend .dshe-ty-prod--roteiro .dshe-roteiro-actions {
	margin-left: auto;
	flex-direction: column;
	gap: 6px;
	align-items: stretch;
}

.dshe-frontend .dshe-ty-prod--roteiro .dshe-roteiro-actions .dshe-btn {
	font-size: 0.76rem;
	padding: 6px 10px;
	white-space: nowrap;
}

@media (max-width:600px) {
	.dshe-frontend .dshe-ty-prod--roteiro {
		flex-wrap: wrap;
	}

	.dshe-frontend .dshe-ty-prod--roteiro .dshe-roteiro-actions {
		width: 100%;
		margin-left: 0;
		flex-direction: row;
	}

	.dshe-frontend .dshe-ty-prod--roteiro .dshe-roteiro-actions .dshe-btn {
		flex: 1;
		justify-content: center;
	}
}

/* Carrinho: input de quantidade mais estreito, sem bordas */
.dshe-frontend .dshe-cart-qty input {
	width: 44px;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 2px;
}

/* ============================================================
 * "Sou Participante" — box com checkbox grande (Informações Pendentes)
 * ============================================================ */
.dshe-frontend .dshe-pend-partbox {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0 0 4px;
	padding: 14px 16px;
	border: 2px solid var(--wbrsc-line);
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	transition: border-color .18s var(--wbrsc-ease-out), background .18s var(--wbrsc-ease-out);
}
.dshe-frontend .dshe-pend-partbox:has( input:checked ) {
	border-color: var(--wbrsc-green);
	background: rgba(25, 154, 106, 0.08);
}
.dshe-frontend .dshe-pend-partbox input { position: absolute; width: 0; height: 0; opacity: 0; }
.dshe-frontend .dshe-pend-partbox-check {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border: 2px solid #cbd5e1;
	border-radius: 7px;
	background: #fff;
	color: #fff;
	transition: background .15s, border-color .15s;
}
.dshe-frontend .dshe-pend-partbox-check .dsh-i { font-size: 15px; opacity: 0; transition: opacity .15s; }
.dshe-frontend .dshe-pend-partbox input:checked + .dshe-pend-partbox-check { background: var(--wbrsc-green); border-color: var(--wbrsc-green); }
.dshe-frontend .dshe-pend-partbox input:checked + .dshe-pend-partbox-check .dsh-i { opacity: 1; }
.dshe-frontend .dshe-pend-partbox input:focus-visible + .dshe-pend-partbox-check { box-shadow: 0 0 0 3px rgba(25,154,106,.25); }
.dshe-frontend .dshe-pend-partbox-text h4 { margin: 0 0 2px; font-size: 14px; font-weight: 800; line-height: 1.3; color: var(--wbrsc-blue-900); }
.dshe-frontend .dshe-pend-partbox-text p { margin: 0; font-size: 13px; line-height: 1.4; color: var(--wbrsc-ink-700); }

/* Acordeão de participante bloqueado (is-locked) → oculta o botão de busca. */
.dshe-frontend .dshe-part.is-locked .dshe-is-btn { display: none!important; }

/* "Alterar Escolhas" — itens com problema de estoque (checkout: abaixo do banner de erro; carrinho: no topo). */
.dshe-order-edit[hidden] { display: none !important; }
.dshe-order-edit { margin: 12px 0 0; }
.dshe-order-edit__title { margin: 0 0 10px; font-size: 15px; font-weight: 700; }
.dshe-order-edit__list { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dshe-order-edit__item { display: flex; align-items: center; gap: 12px; padding: 10px; border: 1px solid rgba(0, 0, 0, .1); border-radius: 10px; background: #fff; }
.dshe-order-edit__thumb { flex: 0 0 56px; width: 56px; height: 56px; overflow: hidden; border-radius: 8px; background: #f3f4f6; }
.dshe-order-edit__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dshe-order-edit__info { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
.dshe-order-edit__name { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.dshe-order-edit__detail { font-size: 12px; opacity: .7; }
.dshe-order-edit__btn { flex: 0 0 auto; padding: 8px 16px; border-radius: 999px; background: #181818; color: #fff !important; font-size: 13px; font-weight: 700; text-decoration: none !important; }
.dshe-order-edit__btn:hover,
.dshe-order-edit__btn:focus-visible { background: #333; }

/* Carrinho: aviso dos itens com problema de estoque. */
.dshe-cart-stock-alert { margin: 0 0 16px; padding: 14px 16px; border-left: 3px solid #c62828; border-radius: 8px; background: #fdf1f1; }
.dshe-cart-stock-alert__msg { margin: 0; color: #9b1c1c; font-size: 14px; font-weight: 600; }


/* Avisos da sessão no topo do carrinho/checkout (DSHE_Shortcodes::print_notices). */
.dshe-flash-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 20px;
}

.dshe-flash {
	background: var(--wbrsc-bg-card);
	border: 1px solid var(--wbrsc-line);
	border-left: 4px solid var(--wbrsc-blue-800);
	border-radius: var(--wbrsc-radius-md);
	padding: 12px 16px;
	color: var(--wbrsc-ink-700);
	font-size: 14px;
	line-height: 1.5;
}

.dshe-flash ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dshe-flash li + li {
	margin-top: 6px;
}

.dshe-flash--error {
	border-left-color: #d63638;
}

.dshe-flash--notice {
	border-left-color: var(--wbrsc-orange-500);
}

.dshe-flash--success {
	border-left-color: var(--wbrsc-green);
}

/* Item indisponível no carrinho/checkout: aviso + botão "Atualizar" no lugar do preço (DSHE_Cart_Edit::action_html). */
.dshe-ci-unavail {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	margin-top: 4px;
}

.dshe-ci-unavail__msg {
	color: var(--wbrsc-orange-600);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
}

.dshe-frontend .dshe-ci-update,
.dsh-cart-item .dshe-ci-update {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: 1px solid var(--wbrsc-orange-500);
	border-radius: var(--wbrsc-radius-pill, 999px);
	background: var(--wbrsc-orange-50);
	color: var(--wbrsc-orange-600) !important;
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	cursor: pointer;
	transition: background .2s var(--wbrsc-ease-out), color .2s var(--wbrsc-ease-out);
}

.dshe-frontend .dshe-ci-update:hover,
.dshe-frontend .dshe-ci-update:focus-visible,
.dsh-cart-item .dshe-ci-update:hover,
.dsh-cart-item .dshe-ci-update:focus-visible {
	background: var(--wbrsc-orange-500);
	color: #fff !important;
}

.dshe-ci-update .dsh-i { font-size: 12px; }

.dsh-cart-item.is-unavailable { background: var(--wbrsc-orange-50); }

/* "Finalizar compra" bloqueado enquanto houver item para atualizar. */
.dshe-frontend .dshe-btn.is-disabled {
	opacity: .5;
	cursor: not-allowed;
	pointer-events: none;
}

.dshe-cart-stock-alert { border-left-color: var(--wbrsc-orange-500); background: var(--wbrsc-orange-50); }
.dshe-cart-stock-alert .dshe-cart-stock-alert__msg { color: var(--wbrsc-orange-600); }


/* ============================================================
 * Pedido recebido › Resumo do pedido: item em telas menores
 * Entre 601px e 768px o bloco de ações (ex.: "Entrar no grupo") ganhava 100% de largura SEM a linha poder quebrar:
 * espremia o nome (uma palavra por linha) e criava rolagem horizontal. Agora a linha sempre pode quebrar: imagem
 * + textos em cima e as ações descem para uma linha própria quando não cabem ao lado.
 * ============================================================ */
.dshe-frontend .dshe-ty-scroll {
	overflow-x: hidden;
}

.dshe-frontend .dshe-ty-prod img {
	flex: 0 0 auto;
}

.dshe-frontend .dshe-ty-prod--roteiro {
	flex-wrap: wrap;
}

.dshe-frontend .dshe-ty-prod--roteiro .dshe-p-details {
	flex: 1 1 220px;
}

.dshe-frontend .dshe-p-name {
	overflow-wrap: anywhere;
}

@media (max-width: 768px) {
	.dshe-frontend .dshe-ty-prod--roteiro .dshe-p-details {
		flex: 1 1 0;
	}

	.dshe-frontend .dshe-ty-prod--roteiro .dshe-roteiro-actions {
		flex: 0 0 100%;
		width: 100%;
		margin-left: 0;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.dshe-frontend .dshe-ty-prod--roteiro .dshe-roteiro-actions .dshe-btn {
		flex: 1 1 160px;
		justify-content: center;
		white-space: normal !important;
	}
}

/* ============================================================
 * Pedido recebido — título da página e tipografia das seções no celular
 * ============================================================ */
.dshe-frontend .dshe-ty-hero h1 {
	line-height: 1.5;
}

@media (max-width: 560px) {
	.dshe-frontend .dshe-ty-hero h1 { font-size: 1.4rem; }
	.dshe-frontend .dshe-ty-hero p { font-size: 0.9rem; line-height: 1.55; }

	/* Cabeçalho e corpo dos cartões (Agradecimento, Informações Pendentes, Resumo do pedido, Dados da entrega…). */
	.dshe-frontend .dshe-ty-card-head { padding: 14px 16px; font-size: 0.92rem; line-height: 1.35; gap: 8px; }
	.dshe-frontend .dshe-ty-head-title { font-size: 0.92rem; line-height: 1.35; }
	.dshe-frontend .dshe-ty-card-head .dsh-i { font-size: 1em; }
	.dshe-frontend .dshe-ty-order-badge.dshe-ty-head-badge { font-size: 0.78rem; }
	.dshe-frontend .dshe-ty-card-body { padding: 14px 16px; }

	/* Textos dentro dos cartões. */
	.dshe-frontend .dshe-pending-intro { font-size: 13px; line-height: 1.5; }
	.dshe-frontend .dshe-ty-info-row .dshe-lbl { font-size: 0.7rem; }
	.dshe-frontend .dshe-ty-info-row .dshe-val { font-size: 0.86rem; line-height: 1.4; }
	.dshe-frontend .dshe-p-name { font-size: 0.84rem; line-height: 1.35; }
}

/* ============================================================
 * Pedido recebido — vídeo de agradecimento com capa (fachada)
 * Capa + botão de play nosso; o player só nasce no clique (checkout.js).
 * O escopo zera <button> com !important: o visual fica nos <span> internos.
 * ============================================================ */
.dshe-frontend .dshe-ty-video-frame--facade {
	background: var(--wbrsc-blue-950);
}

.dshe-frontend .dshe-ty-video-frame .dshe-ty-video-cover {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Véu para o play ficar legível sobre qualquer imagem. */
.dshe-frontend .dshe-ty-video-frame--facade::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: radial-gradient(circle at center, rgba(11, 30, 68, 0.55) 0, rgba(11, 30, 68, 0.15) 55%, rgba(11, 30, 68, 0.3) 100%);
	transition: opacity 0.25s var(--wbrsc-ease-out);
}

.dshe-frontend .dshe-ty-video-play {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 0;
	color: #fff !important;
	text-decoration: none;
	cursor: pointer;
}

.dshe-frontend .dshe-ty-video-play[hidden],
.dshe-frontend .dshe-ty-video-frame--facade.is-playing::before,
.dshe-frontend .dshe-ty-video-frame--facade.is-playing .dshe-ty-video-cover {
	display: none !important;
}

.dshe-frontend .dshe-ty-video-play-ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(64px, 14%, 96px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--wbrsc-orange-500);
	color: #fff;
	border: 3px solid rgba(255, 255, 255, 0.9);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
	transition: transform 0.25s var(--wbrsc-ease-out), background-color 0.25s;
}

.dshe-frontend .dshe-ty-video-play-ic svg {
	width: 46%;
	height: 46%;
	margin-left: 6%; /* compensa o centro óptico do triângulo */
}

.dshe-frontend .dshe-ty-video-play:hover .dshe-ty-video-play-ic {
	transform: scale(1.08);
	background: var(--wbrsc-orange-600);
}

.dshe-frontend .dshe-ty-video-play:focus-visible {
	outline: none;
}

.dshe-frontend .dshe-ty-video-play:focus-visible .dshe-ty-video-play-ic {
	box-shadow: 0 0 0 4px var(--wbrsc-blue-950), 0 0 0 7px #fff, 0 8px 28px rgba(0, 0, 0, 0.45);
}

.dshe-frontend .dshe-ty-video-play-label {
	padding: 6px 16px;
	border-radius: var(--wbrsc-radius-pill);
	background: rgba(11, 30, 68, 0.78);
	font-family: var(--wbrsc-font-body);
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
}

.dshe-frontend .dshe-ty-video-play-label:empty {
	display: none;
}

.dshe-frontend .dshe-ty-video-frame .dshe-ty-video-player {
	position: absolute;
	inset: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	border: 0;
	background: #000;
}

.dshe-frontend .dshe-ty-video-frame video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: #000;
}

@media (prefers-reduced-motion: reduce) {
	.dshe-frontend .dshe-ty-video-play-ic,
	.dshe-frontend .dshe-ty-video-frame--facade::before { transition: none; }
	.dshe-frontend .dshe-ty-video-play:hover .dshe-ty-video-play-ic { transform: none; }
}

@media (max-width: 560px) {
	.dshe-frontend .dshe-ty-video-play-ic { width: 64px; }
	.dshe-frontend .dshe-ty-video-play-label { font-size: 0.8rem; padding: 5px 12px; }
}
