/*
 * Páginas institucionais e de conta (inc/paginas.php), 29/09/2026.
 * Políticas (body.dd-pg-politica): padrão de texto, só formatação de leitura.
 * Minha conta e Rastreio (body.dd-pg-conta / .dd-pg-rastreio): modelo A de docs/marca/paginas-institucionais.html.
 */

/* ============ Políticas: texto bem formatado, sem enfeite ============ */
body.dd-pg-politica .site-main { max-width: 760px !important; margin-inline: auto; padding: 0 20px 80px; } /* !important: o reset do Hello (body:not([class*=elementor-page-]) .site-main) é mais forte */
.dd-pg-politica .page-header { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 56px 0 6px; text-align: center; }
.dd-pg-politica .page-header::before { content: ""; width: 40px; height: 7px; border-radius: 4px; background: var(--pc-rosa); } /* a tampa do pote */
.dd-pg-politica .page-header .entry-title {
	margin: 0;
	font-family: var(--gd-fonte-marca);
	font-variation-settings: normal;
	font-size: 44px;
	font-weight: 500;
	line-height: 1.12;
	color: var(--pc-ameixa);
}
.dd-pg-politica .page-content { font-size: 16px; line-height: 1.75; color: #2F2A24; }
/* "Última atualização: ..." (primeiro parágrafo do texto) numa cápsula centralizada */
.dd-pg-politica .page-content > p:first-child {
	display: table;
	margin: 0 auto 40px;
	padding: 3px 14px;
	border: 1px solid #DED5C8;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.6;
	color: var(--dd-suave);
}
.dd-pg-politica .page-content h2 {
	margin: 36px 0 10px;
	padding-top: 30px;
	border-top: 1px solid #ECE7E1;
	font-family: var(--gd-fonte-marca);
	font-variation-settings: normal;
	font-size: 23px;
	font-weight: 500;
	line-height: 1.25;
	color: var(--pc-ameixa);
}
.dd-pg-politica .page-content > p:first-child + h2 { margin-top: 0; padding-top: 0; border-top: 0; }
.dd-pg-politica .page-content h3 { margin: 24px 0 6px; font-family: var(--gd-fonte); font-size: 17px; font-weight: 600; color: var(--pc-ameixa); }
.dd-pg-politica .page-content p { margin: 0 0 14px; }
.dd-pg-politica .page-content strong, .dd-pg-politica .page-content b { font-weight: 600; color: var(--pc-ameixa); }
.dd-pg-politica .page-content :is(ul, ol) { margin: 0 0 16px; padding-left: 4px; list-style: none; }
.dd-pg-politica .page-content li { position: relative; margin: 0 0 8px; padding-left: 22px; }
.dd-pg-politica .page-content ul > li::before { content: ""; position: absolute; top: 0.72em; left: 4px; width: 7px; height: 7px; border-radius: 50%; background: var(--pc-rosa); }
.dd-pg-politica .page-content ol { counter-reset: dd-ol; }
.dd-pg-politica .page-content ol > li { counter-increment: dd-ol; }
.dd-pg-politica .page-content ol > li::before { content: counter(dd-ol) "."; position: absolute; left: 0; font-weight: 600; color: var(--pc-rosa-escuro); }
.dd-pg-politica .page-content a { color: var(--pc-rosa-escuro); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.dd-pg-politica .page-content a:hover { color: var(--pc-ameixa); }
.dd-pg-politica .page-content table { width: 100%; margin: 0 0 18px; border-collapse: collapse; font-size: 15px; }
.dd-pg-politica .page-content :is(th, td) { padding: 10px 12px; border-bottom: 1px solid #ECE7E1; text-align: left; }

/* ============ Minha conta e Rastreio: topo blush em curva + cartão com a tampa ============ */
body:is(.dd-pg-conta, .dd-pg-rastreio) { overflow-x: clip; } /* o topo vai de borda a borda */
body:is(.dd-pg-conta, .dd-pg-rastreio) .site-main { max-width: 1240px !important; margin-inline: auto; padding: 0 20px 80px; }
body:is(.dd-pg-conta, .dd-pg-rastreio) .page-header { display: none; } /* o título vem no topo novo */
.dd-pg-topo {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	/* passa por baixo da cápsula do cabeçalho, como o banner da home (mesma medida de .dd-sob-cabecalho, elementor-loja.css) */
	margin: 0 calc(50% - 50vw) 0; /* 30/09/2026: o cabeçalho inteiro fica no topo, o bloco começa abaixo dele */
	padding: 52px 20px 96px;
	border-radius: 0 0 50% 50% / 0 0 48px 48px;
	background: var(--pc-blush);
	text-align: center;
}
.dd-pg-titulo {
	margin: 0;
	font-family: var(--gd-fonte-marca);
	font-variation-settings: normal;
	font-size: 44px;
	font-weight: 500;
	line-height: 1.12;
	color: var(--pc-ameixa);
}
.dd-pg-frase { max-width: 60ch; margin: 0; font-size: 16px; color: var(--dd-suave); }
.dd-pg-cartao {
	position: relative;
	max-width: 560px;
	margin: -52px auto 0;
	padding: 34px 36px;
	border: 1px solid #ECE7E1;
	border-radius: 26px;
	background: #fff;
	color: var(--pc-ameixa);
}
.dd-pg-cartao::before { /* a tampa do pote */
	content: "";
	position: absolute;
	top: -1px;
	left: 50%;
	width: 34px;
	height: 6px;
	border-radius: 0 0 4px 4px;
	background: var(--pc-rosa);
	transform: translateX(-50%);
}
.dd-pg-cartao > .woocommerce > :first-child, .dd-pg-cartao > :first-child { margin-top: 0; }
.dd-pg-cartao .woocommerce-notices-wrapper:empty { display: none; }

/* Formulários (login, rastreio, esqueci a senha): campos em cápsula, botão ameixa */
/* O CSS do WooCommerce (.woocommerce form.login, .woocommerce form .form-row .input-text, .woocommerce button.button)
   é mais específico: por isso os !important abaixo. */
.dd-pg-cartao form { display: flex; flex-direction: column; gap: 16px; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; }
.dd-pg-cartao form .form-row { display: flex; flex-direction: column; gap: 6px; width: 100%; margin: 0; padding: 0; float: none; }
.dd-pg-cartao form label { font-size: 13.5px; font-weight: 500; color: var(--pc-ameixa); }
.dd-pg-cartao form .required { color: var(--pc-rosa-escuro); }
.dd-pg-cartao form :is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], select) {
	width: 100%;
	height: 50px !important;
	padding: 0 20px !important;
	border: 1px solid #DFD9D1 !important;
	border-radius: var(--gk-raio, 6px) !important;
	background: #fff !important;
	font: 500 15px var(--gd-fonte) !important;
	color: var(--pc-ameixa);
	transition: border-color 0.2s, box-shadow 0.2s;
}
.dd-pg-cartao form :is(input, select):focus { border-color: var(--pc-rosa) !important; outline: 0; box-shadow: 0 0 0 3px #D7CBBB; }
.dd-pg-cartao form ::placeholder { color: #A79F95; }
.dd-pg-cartao .password-input { display: block; position: relative; }
.dd-pg-cartao .show-password-input { top: 50%; right: 16px; transform: translateY(-50%); }
.dd-pg-linha { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.dd-pg-linha label { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; }
.dd-pg-linha input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--pc-ameixa); }
.dd-pg-cartao a.dd-pg-link, .dd-pg-cartao .lost_password a { font-size: 13.5px; font-weight: 500; color: var(--dd-suave); text-decoration: underline; text-underline-offset: 3px; }
.dd-pg-cartao a.dd-pg-link:hover { color: var(--pc-rosa-escuro); }
.dd-pg-cartao :is(button.dd-pg-btn, button.button, .button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 48px; /* 30/09/2026: padrão de 48px dos botões */
	margin: 4px 0 0 !important;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: var(--gk-raio, 6px) !important;
	background: var(--pc-ameixa) !important;
	color: var(--pc-papel) !important;
	font: 600 15.5px/1 var(--gd-fonte) !important;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	transition: background-color 0.2s;
}
.dd-pg-cartao :is(button.dd-pg-btn, button.button, .button):hover { background: var(--pc-rosa-escuro) !important; color: #fff !important; }
.dd-pg-cartao button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dd-pg-cartao .woocommerce-ResetPassword > p:first-child { margin: 0; font-size: 15px; color: var(--dd-suave); } /* explicação do "esqueci a senha" */

/* Avisos do WooCommerce (senha errada, pedido não encontrado) em cápsula */
.dd-pg-cartao :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) {
	margin: 0 0 18px;
	padding: 12px 18px;
	border: 0;
	border-radius: 10px;
	background: var(--pc-blush);
	color: var(--pc-ameixa);
	font-size: 14px;
	font-weight: 500;
	list-style: none;
}
.dd-pg-cartao .woocommerce-error { background: #F0ECE6; color: var(--pc-rosa-escuro); }
.dd-pg-cartao :is(.woocommerce-error, .woocommerce-info, .woocommerce-message)::before { display: none; }

/* Rastreio: resultado (status + detalhes do pedido) e os 4 passos */
.dd-pg-rastreio .dd-pg-cartao:has(.woocommerce-order-details) { max-width: 820px; }
.dd-pg-cartao .order-info, .dd-pg-cartao .woocommerce > p:first-child { margin: 0 0 18px; font-size: 16px; }
.dd-pg-cartao mark { padding: 0 4px; border-radius: 6px; background: var(--pc-blush); color: var(--pc-ameixa); font-weight: 600; }
.dd-pg-cartao h2 { margin: 26px 0 12px; font-family: var(--gd-fonte-marca); font-variation-settings: normal; font-size: 21px; font-weight: 500; color: var(--pc-ameixa); }
.dd-pg-cartao table { width: 100%; margin: 0 0 16px; border: 0; border-collapse: collapse; font-size: 14.5px; }
.dd-pg-cartao :is(th, td) { padding: 11px 4px; border: 0; border-bottom: 1px solid #ECE7E1; background: none; text-align: left; }
.dd-pg-cartao tfoot th { font-weight: 500; }
.dd-pg-cartao address { padding: 16px 18px; border: 0; border-radius: 10px; background: var(--pc-papel); font-style: normal; line-height: 1.6; }
.dd-pg-passos {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	max-width: 900px;
	margin: 30px auto 0;
	padding: 0;
	list-style: none;
}
.dd-pg-passos li { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 16px; border: 1px solid #ECE7E1; border-radius: 10px; background: #fff; }
.dd-pg-passos b { font-size: 14px; color: var(--pc-ameixa); }
.dd-pg-passos li > span:last-child { font-size: 12.5px; color: var(--dd-suave); }
.dd-pg-passo-ic { display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: 4px; border-radius: 50%; background: var(--pc-blush); color: var(--pc-rosa-escuro); }
.dd-pg-passo-ic svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Minha conta logada: menu em cápsulas em cima e o conteúdo embaixo, tudo no cartão */
.dd-pg-conta.logged-in .dd-pg-cartao { max-width: 980px; }
.dd-pg-cartao .woocommerce { display: block !important; } /* o WooCommerce põe menu e conteúdo em 2 colunas */
.dd-pg-cartao .woocommerce-MyAccount-navigation { float: none !important; width: auto !important; margin: 0 0 24px; }
.dd-pg-cartao .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dd-pg-cartao .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border: 0; }
.dd-pg-cartao .woocommerce-MyAccount-navigation a { display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border: 1px solid #DED5C8; border-radius: var(--gk-raio, 6px); color: var(--pc-ameixa); font-size: 14px; font-weight: 500; text-decoration: none; }
.dd-pg-cartao .woocommerce-MyAccount-navigation a:hover { background: var(--pc-papel); }
.dd-pg-cartao .woocommerce-MyAccount-navigation .is-active a { border-color: var(--pc-ameixa); background: var(--pc-ameixa); color: var(--pc-papel); }
.dd-pg-cartao .woocommerce-MyAccount-content { float: none !important; width: auto !important; font-size: 15px; line-height: 1.65; }
.dd-pg-cartao .woocommerce-MyAccount-content a { color: var(--pc-rosa-escuro); font-weight: 500; }
.dd-pg-cartao .woocommerce-MyAccount-content .button { width: auto; height: 40px; font-size: 14px; }

@media (max-width: 767px) {
	.dd-pg-politica .page-header { padding-top: 36px; }
	.dd-pg-politica .page-header .entry-title, .dd-pg-titulo { font-size: 32px; }
	.dd-pg-politica .page-content h2 { font-size: 20px; margin-top: 28px; padding-top: 24px; }
	.dd-pg-politica .page-content { font-size: 15.5px; }
	.dd-pg-topo { padding: 48px 20px 64px; border-radius: 0 0 50% 50% / 0 0 32px 32px; } /* 30/09/2026: 48px em cima como as outras seções */
	.dd-pg-frase { font-size: 15px; }
	.dd-pg-cartao { margin-top: -48px; padding: 28px 20px; border-radius: 22px; }
	.dd-pg-passos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
