/**
 * UX storefront: foco visível, toques, barra carrinho mobile, PDP sticky, faixa confiança.
 * Carregado após software-theme.css
 */

/* Foco visível (acessibilidade) */
.gsofts-page a:focus-visible,
.gsofts-page button:focus-visible,
.gsofts-page .btn:focus-visible,
.gsofts-page input:focus-visible,
.gsofts-page select:focus-visible,
.gsofts-page textarea:focus-visible {
	outline: 2px solid var(--gsofts-focus-ring, #0f5d5d);
	outline-offset: 2px;
}

/* Área mínima de toque em CTAs principais */
.gsofts-page .button-comprar,
.gsofts-page .button-comprar-default,
.gsofts-page .button-finalizar-full,
.gsofts-page .button-cupom,
.gsofts-page .cart_btn_gray,
.gsofts-page #calcular.change {
	min-height: 44px;
	min-width: 44px;
	box-sizing: border-box;
}

/* Faixa confiança (footer) */
.gsofts-trust-strip {
	padding: 18px 0 8px;
	margin: 0;
	border-top: 1px solid var(--gsofts-border, #d8e2e8);
	background: rgba(255, 255, 255, 0.55);
}
.gsofts-trust-strip .container {
	padding-left: 15px;
	padding-right: 15px;
}
.gsofts-trust-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.gsofts-trust-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	max-width: 280px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--gsofts-text-secondary, #4a4a4a);
}
.gsofts-trust-item i {
	color: var(--gsofts-primary, #0f5d5d);
	font-size: 18px;
	margin-top: 2px;
	flex-shrink: 0;
}
.gsofts-trust-item strong {
	display: block;
	color: var(--gsofts-text, #1c2733);
	font-weight: 600;
	margin-bottom: 2px;
}

/* Lista: vazio */
.gsofts-empty-catalog {
	text-align: center;
	padding: 40px 20px 48px;
	max-width: 520px;
	margin: 20px auto;
	background: var(--gsofts-surface-2, #fff);
	border: 1px dashed var(--gsofts-border, #d8e2e8);
	border-radius: var(--gsofts-radius-md, 12px);
	box-shadow: var(--gsofts-shadow-soft, 0 10px 28px rgba(7, 35, 49, 0.08));
}
.gsofts-empty-catalog .gsofts-empty-icon {
	font-size: 42px;
	color: var(--gsofts-primary, #0f5d5d);
	opacity: 0.85;
	margin-bottom: 12px;
}
.gsofts-empty-catalog h2 {
	font-size: 20px;
	margin: 0 0 8px;
	color: var(--gsofts-text, #1c2733);
}
.gsofts-empty-catalog p {
	margin: 0 0 16px;
	color: var(--gsofts-text-secondary, #4a4a4a);
}
.gsofts-empty-catalog .btn-trust {
	display: inline-block;
	padding: 10px 20px;
	border-radius: var(--gsofts-radius-sm, 8px);
	background: var(--gsofts-primary, #0f5d5d);
	color: #fff !important;
	font-weight: 600;
	text-decoration: none !important;
	min-height: 44px;
	line-height: 1.3;
}

/* Carrinho vazio */
.gsofts-cart-empty-cell {
	text-align: center;
	padding: 36px 16px !important;
	vertical-align: middle !important;
	font-size: 16px;
	color: var(--gsofts-text-secondary, #4a4a4a);
}
.gsofts-cart-empty-cell a {
	font-weight: 600;
	color: var(--gsofts-link, #0b4f78);
}

/* Barra fixa carrinho (mobile): total + CTA */
.gsofts-cart-mobile-bar {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10040;
	padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0));
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, #fff 40%);
	border-top: 1px solid var(--gsofts-border, #d8e2e8);
	box-shadow: 0 -8px 24px rgba(7, 35, 49, 0.12);
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.gsofts-cart-mobile-bar__total {
	font-size: 14px;
	font-weight: 600;
	color: var(--gsofts-text, #1c2733);
	flex: 1;
	min-width: 0;
}
.gsofts-cart-mobile-bar__total span {
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: var(--gsofts-text-secondary, #4a4a4a);
}
.gsofts-cart-mobile-bar .button-comprar,
.gsofts-cart-mobile-bar .button-finalizar-full {
	white-space: nowrap;
	padding: 12px 18px;
	margin: 0;
}

@media (max-width: 991px) {
	body.gsofts-cart.gsofts-cart-has-items .gsofts-cart-mobile-bar {
		display: flex;
	}
	body.gsofts-cart.gsofts-cart-has-items .privacy.cart-pro {
		padding-bottom: 88px;
	}
}

/* PDP: barra Comprar no mobile */
.gsofts-pdp-sticky {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10030;
	padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0));
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, #fff 45%);
	border-top: 1px solid var(--gsofts-border, #d8e2e8);
	box-shadow: 0 -10px 28px rgba(7, 35, 49, 0.14);
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.gsofts-pdp-sticky__price {
	font-size: 15px;
	font-weight: 700;
	color: var(--gsofts-primary, #0f5d5d);
	flex: 1;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.gsofts-pdp-sticky .button-comprar {
	margin: 0;
	padding: 12px 18px;
	white-space: nowrap;
}

@media (max-width: 767px) {
	body.gsofts-page.gsofts-pdp-has-sticky .gsofts-pdp-sticky--show {
		display: flex;
	}
	body.gsofts-page.gsofts-pdp-has-sticky .content {
		padding-bottom: 72px;
	}
}
