/* TechDescomplicado — loja, carrinho, checkout e Minha conta (só carrega nessas páginas: td-lab/includes/loja.php) */

/* Tela "loja em breve" (visitante) */
.td-loja-embreve {
	max-width: 760px;
	margin: 0 auto;
	padding: clamp(3.5rem, 9vw, 6.5rem) 1.25rem;
	text-align: center;
}

.td-loja-embreve h1 {
	font-family: "Space Grotesk", sans-serif;
	font-size: clamp(2.1rem, 5vw, 3.25rem);
	line-height: 1.1;
	margin: 0 0 1rem;
}

.td-loja-embreve .td-lead {
	margin: 0 auto 2rem;
}

.td-loja-embreve-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
}

.td-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.75rem 1.5rem;
	border-radius: 999px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.td-btn--solido {
	background: var(--td-brand);
	color: #fff !important;
	border: 2px solid var(--td-brand);
}

.td-btn--solido:hover {
	background: #1d4ed8;
	border-color: #1d4ed8;
}

.td-btn--contorno {
	color: var(--td-brand) !important;
	border: 2px solid var(--td-brand);
}

.td-btn--contorno:hover {
	background: var(--td-brand);
	color: #fff !important;
}

html[data-theme="dark"] .td-btn--contorno {
	color: #93c5fd !important;
	border-color: #60a5fa;
}

html[data-theme="dark"] .td-btn--contorno:hover {
	background: var(--td-brand);
	border-color: var(--td-brand);
	color: #fff !important;
}

/* Títulos das páginas da loja no padrão das páginas internas */
.woocommerce-products-header__title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
	font-size: clamp(2rem, 4.5vw, 2.75rem) !important;
	margin-bottom: 1.5rem !important;
}

/* Avisos do Woo (info, sucesso, erro) com os tokens do site */
.woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error),
.woocommerce-page :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) {
	background: var(--td-surface);
	color: inherit;
	border: 1px solid rgb(148 163 184 / 30%);
	border-left: 4px solid var(--td-brand);
	border-radius: var(--td-radius-sm);
	box-shadow: var(--td-shadow);
	padding: 1rem 1.25rem 1rem 3rem;
}

.woocommerce :is(.woocommerce-info, .woocommerce-message)::before,
.woocommerce-page :is(.woocommerce-info, .woocommerce-message)::before {
	color: var(--td-brand);
}

.woocommerce .woocommerce-message,
.woocommerce-page .woocommerce-message {
	border-left-color: #047857;
}

.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-error {
	border-left-color: #b91c1c;
}

html[data-theme="dark"] .woocommerce :is(.woocommerce-info, .woocommerce-message)::before,
html[data-theme="dark"] .woocommerce-page :is(.woocommerce-info, .woocommerce-message)::before {
	color: #60a5fa;
}

/* Carrinho vazio: aviso + botão centralizados, como o estado vazio do site */
.woocommerce-cart .wc-empty-cart-message,
.woocommerce-cart .return-to-shop {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.woocommerce-cart .return-to-shop .button {
	border-radius: 999px;
}

/* Vitrine de produtos: cartões iguais aos do blog */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: var(--td-surface);
	border: 1px solid rgb(148 163 184 / 22%);
	border-radius: var(--td-radius);
	box-shadow: var(--td-shadow);
	overflow: hidden;
	padding-bottom: 1.25rem;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: var(--td-shadow-hover);
}

.woocommerce ul.products li.product :is(.woocommerce-loop-product__title, .price, .button, .ast-woo-product-category) {
	margin-left: 1.25rem;
	margin-right: 1.25rem;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: "Space Grotesk", sans-serif;
}

.woocommerce ul.products li.product .price {
	color: var(--td-brand) !important;
	font-weight: 700;
}

html[data-theme="dark"] .woocommerce ul.products li.product .price {
	color: #93c5fd !important;
}

.woocommerce span.onsale {
	background: var(--td-accent);
	color: #0b1120;
}

/* Minha conta: menu lateral em cartão, item ativo destacado */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	background: var(--td-surface);
	border: 1px solid rgb(148 163 184 / 22%);
	border-radius: var(--td-radius);
	box-shadow: var(--td-shadow);
	overflow: hidden;
	padding: 0.35rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	border: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 0.65rem 0.9rem;
	border-radius: var(--td-radius-sm);
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: rgb(37 99 235 / 10%);
	font-weight: 600;
}

/* Formulários de entrar/cadastrar em cartões */
.woocommerce-account :is(.woocommerce-form-login, .woocommerce-form-register) {
	background: var(--td-surface);
	border: 1px solid rgb(148 163 184 / 22%) !important;
	border-radius: var(--td-radius) !important;
	box-shadow: var(--td-shadow);
}

/* Tabelas (pedidos, carrinho, checkout) */
.woocommerce table.shop_table {
	border-radius: var(--td-radius-sm);
	overflow: hidden;
}

html[data-theme="dark"] .woocommerce table.shop_table,
html[data-theme="dark"] .woocommerce table.shop_table :is(th, td) {
	border-color: rgb(148 163 184 / 22%);
}

/* Respiro entre o cabeçalho fixo e o título das páginas da loja/conta */
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .entry-header {
	margin-top: clamp(1.5rem, 4vw, 3rem);
}
