/*
 * Minha conta e obrigado (1.17.0): nota fiscal do pedido, termo de adesão
 * (assinatura) e avisos do termo. Visual da loja: Montserrat, dourado #DC9C34,
 * cartões brancos. Todo seletor começa com html:not(#c38) body:not(#c38) (o peso
 * de dois #id): ganha do widget "Minha conta" do Elementor Pro, do kit e das
 * regras gerais da Minha Conta do núcleo (minha-conta.css, um #id).
 */

html:not(#c38) body:not(#c38) .c38-nf-card,
html:not(#c38) body:not(#c38) .c38-term,
html:not(#c38) body:not(#c38) .c38-term-list,
html:not(#c38) body:not(#c38) .c38-term-done,
html:not(#c38) body:not(#c38) .c38-term-box,
html:not(#c38) body:not(#c38) .c38-term-cta {
	--c38-gold: #dc9c34;
	--c38-gold-dark: #b97f1f;
	--c38-ink: #17181c;
	--c38-muted: #6b6a66;
	--c38-hair: #e6e3dc;
	box-sizing: border-box;
	font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--c38-ink);
}
html:not(#c38) body:not(#c38) .c38-nf-card *, html:not(#c38) body:not(#c38) .c38-term *, html:not(#c38) body:not(#c38) .c38-term-list * { box-sizing: border-box; }
/* Os títulos usam a fonte da loja, não a do tema. */
html:not(#c38) body:not(#c38) .c38-nf-card h2, html:not(#c38) body:not(#c38) .c38-term h2, html:not(#c38) body:not(#c38) .c38-term h3, html:not(#c38) body:not(#c38) .c38-term-doc h1, html:not(#c38) body:not(#c38) .c38-term-doc h2, html:not(#c38) body:not(#c38) .c38-term-doc h3, html:not(#c38) body:not(#c38) .c38-term-list h3, html:not(#c38) body:not(#c38) .c38-term-cta strong { font-family: inherit; letter-spacing: normal; text-transform: none; }

/* ------------------------------------------------------------ Nota fiscal */

html:not(#c38) body:not(#c38) .c38-nf-card {
	margin: 24px 0;
	padding: 20px 22px;
	background: #fff;
	border: 1px solid var(--c38-hair);
	border-radius: 12px;
}
html:not(#c38) body:not(#c38) .c38-nf-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
html:not(#c38) body:not(#c38) .c38-nf-card h2 { font-size: 18px; font-weight: 700; margin: 0; }
html:not(#c38) body:not(#c38) .c38-nf-type { font-size: 12px; font-weight: 600; letter-spacing: .04em; padding: 3px 10px; border-radius: 999px; background: #f6efe1; color: #7a5200; }
html:not(#c38) body:not(#c38) .c38-nf-rows { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px 20px; margin: 0 0 14px; }
html:not(#c38) body:not(#c38) .c38-nf-rows div { min-width: 0; }
html:not(#c38) body:not(#c38) .c38-nf-rows dt { font-size: 12px; color: var(--c38-muted); margin: 0; font-weight: 500; }
html:not(#c38) body:not(#c38) .c38-nf-rows dd { margin: 2px 0 0; font-size: 15px; font-weight: 600; }
html:not(#c38) body:not(#c38) .c38-nf-key { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 10px 12px; background: #fafaf8; border: 1px solid var(--c38-hair); border-radius: 8px; margin-bottom: 14px; }
html:not(#c38) body:not(#c38) .c38-nf-key span { font-size: 12px; color: var(--c38-muted); width: 100%; }
html:not(#c38) body:not(#c38) .c38-nf-key code { font-size: 13px; letter-spacing: .02em; word-break: break-all; background: transparent; padding: 0; flex: 1 1 260px; }
html:not(#c38) body:not(#c38) .c38-nf-card .c38-nf-copy { font: inherit; font-size: 13px; font-weight: 600; border: 1px solid var(--c38-hair); background: #fff; color: var(--c38-ink); border-radius: 6px; padding: 4px 12px; cursor: pointer; }
html:not(#c38) body:not(#c38) .c38-nf-card .c38-nf-copy:hover { border-color: var(--c38-gold); }
html:not(#c38) body:not(#c38) .c38-nf-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0; }
html:not(#c38) body:not(#c38) .c38-nf-card a.c38-nf-btn { display: inline-flex; align-items: center; padding: 9px 16px; border-radius: 8px; background: var(--c38-gold); color: #141414; font-weight: 700; font-size: 14px; text-decoration: none; }
html:not(#c38) body:not(#c38) .c38-nf-card a.c38-nf-btn:hover { background: var(--c38-gold-dark); color: #141414; }
html:not(#c38) body:not(#c38) .c38-nf-card a.c38-nf-link { font-size: 14px; color: var(--c38-gold-dark); font-weight: 600; }

/* --------------------------------------------------- Termo: página de assinatura */

html:not(#c38) body:not(#c38) .c38-term-page { max-width: 820px; }
html:not(#c38) body:not(#c38) .c38-term {
	background: #fff;
	border: 1px solid var(--c38-hair);
	border-radius: 14px;
	padding: 24px;
	margin: 0 0 24px;
}
html:not(#c38) body:not(#c38) .c38-term-head { margin: 0 0 16px; padding: 0; }
html:not(#c38) body:not(#c38) .c38-term-eyebrow { display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c38-gold-dark); margin-bottom: 6px; }
html:not(#c38) body:not(#c38) .c38-term-head h2 { font-size: 24px; line-height: 1.25; font-weight: 800; margin: 0 0 6px; }
html:not(#c38) body:not(#c38) .c38-term-head p { margin: 0; color: var(--c38-muted); font-size: 15px; }
html:not(#c38) body:not(#c38) .c38-term-doc {
	max-height: 420px;
	overflow-y: auto;
	padding: 18px 20px;
	border: 1px solid var(--c38-hair);
	border-radius: 10px;
	background: #fcfbf9;
	font-size: 15px;
	line-height: 1.65;
	overscroll-behavior: contain;
}
html:not(#c38) body:not(#c38) .c38-term-doc:focus { outline: 2px solid var(--c38-gold); outline-offset: 2px; }
html:not(#c38) body:not(#c38) .c38-term-doc p { margin: 0 0 12px; }
html:not(#c38) body:not(#c38) .c38-term-doc h1, html:not(#c38) body:not(#c38) .c38-term-doc h2, html:not(#c38) body:not(#c38) .c38-term-doc h3 { font-size: 17px; margin: 18px 0 8px; }
html:not(#c38) body:not(#c38) .c38-term-doc ul, html:not(#c38) body:not(#c38) .c38-term-doc ol { padding-left: 22px; margin: 0 0 12px; }
html:not(#c38) body:not(#c38) .c38-term-who { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px 20px; margin: 16px 0; }
html:not(#c38) body:not(#c38) .c38-term-who dt { font-size: 12px; color: var(--c38-muted); margin: 0; }
html:not(#c38) body:not(#c38) .c38-term-who dd { margin: 2px 0 0; font-weight: 600; font-size: 15px; overflow-wrap: anywhere; }
html:not(#c38) body:not(#c38) .c38-term-form { margin: 0; }
html:not(#c38) body:not(#c38) .c38-term-field { margin: 0 0 14px; }
html:not(#c38) body:not(#c38) .c38-term-field label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 4px; }
html:not(#c38) body:not(#c38) .c38-term-field input { width: 100%; max-width: 260px; padding: 10px 12px; border: 1px solid #cfcbc2; border-radius: 8px; font: inherit; font-size: 16px; }

html:not(#c38) body:not(#c38) .c38-sig { margin: 0 0 14px; }
html:not(#c38) body:not(#c38) .c38-sig-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; font-size: 13px; font-weight: 600; }
html:not(#c38) body:not(#c38) .c38-term .c38-sig-clear { font: inherit; font-size: 13px; font-weight: 600; background: none; border: 0; color: var(--c38-gold-dark); padding: 4px 0; cursor: pointer; }
html:not(#c38) body:not(#c38) .c38-sig-pad { position: relative; height: 190px; border: 1.5px dashed #cfcbc2; border-radius: 10px; background: #fff; touch-action: none; }
html:not(#c38) body:not(#c38) .c38-sig-pad canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: crosshair; touch-action: none; }
html:not(#c38) body:not(#c38) .c38-sig-hint { position: absolute; left: 0; right: 0; top: 42%; text-align: center; color: #a9a59b; font-size: 14px; pointer-events: none; }
html:not(#c38) body:not(#c38) .c38-sig-hint[hidden] { display: none; }
html:not(#c38) body:not(#c38) .c38-sig-line { position: absolute; left: 24px; right: 24px; bottom: 38px; border-bottom: 1px solid #d9d5cc; pointer-events: none; }

html:not(#c38) body:not(#c38) .c38-term-check { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; margin: 4px 0 14px; cursor: pointer; }
html:not(#c38) body:not(#c38) .c38-term-check input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--c38-gold); flex: 0 0 auto; }
html:not(#c38) body:not(#c38) .c38-term-error { margin: 0 0 12px; padding: 10px 12px; border-radius: 8px; background: #fdeaea; color: #8a1f1f; font-size: 14px; }
html:not(#c38) body:not(#c38) .c38-term-error[hidden] { display: none; }
html:not(#c38) body:not(#c38) .c38-term button.c38-term-submit {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 220px; padding: 13px 22px; border: 0; border-radius: 10px;
	background: var(--c38-gold); color: #141414; font: inherit; font-size: 16px; font-weight: 800; cursor: pointer;
}
html:not(#c38) body:not(#c38) .c38-term button.c38-term-submit:hover { background: var(--c38-gold-dark); }
html:not(#c38) body:not(#c38) .c38-term button.c38-term-submit:disabled { opacity: .6; cursor: progress; }
html:not(#c38) body:not(#c38) .c38-term-legal { margin: 12px 0 0; font-size: 12.5px; color: var(--c38-muted); }

html:not(#c38) body:not(#c38) .c38-term-done { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 12px; background: #e9f6ea; color: #1a5e1a; border: 1px solid #c6e6c7; margin-bottom: 20px; font-size: 15px; }
html:not(#c38) body:not(#c38) .c38-term-done svg { flex: 0 0 auto; margin-top: 1px; }
html:not(#c38) body:not(#c38) .c38-term-done a.c38-term-done-link { display: inline-block; margin-left: 6px; font-weight: 700; color: #1a5e1a; }

html:not(#c38) body:not(#c38) .c38-term-list { background: #fff; border: 1px solid var(--c38-hair); border-radius: 14px; padding: 18px 20px; margin: 0; }
html:not(#c38) body:not(#c38) .c38-term-list h3 { font-size: 16px; font-weight: 700; margin: 0 0 8px; }
html:not(#c38) body:not(#c38) .c38-term-list ul { list-style: none; margin: 0; padding: 0; }
html:not(#c38) body:not(#c38) .c38-term-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--c38-hair); }
html:not(#c38) body:not(#c38) .c38-term-list li:first-child { border-top: 0; }
html:not(#c38) body:not(#c38) .c38-term-list li strong { display: block; font-size: 15px; }
html:not(#c38) body:not(#c38) .c38-term-list li span { font-size: 13px; color: var(--c38-muted); }
html:not(#c38) body:not(#c38) .c38-term-list a { font-weight: 700; color: var(--c38-gold-dark); white-space: nowrap; }
html:not(#c38) body:not(#c38) .c38-term-empty { color: #6b6a66; }

/* ---------------------------------------- Termo: avisos no pedido/assinatura/obrigado */

html:not(#c38) body:not(#c38) .c38-term-box { margin: 18px 0; padding: 12px 14px; border-radius: 10px; border: 1px solid var(--c38-hair); background: #fafaf8; font-size: 14.5px; }
html:not(#c38) body:not(#c38) .c38-term-box a { font-weight: 700; color: var(--c38-gold-dark); }
html:not(#c38) body:not(#c38) .c38-term-box--pending { background: #fff8e8; border-color: #f0d9a8; }

html:not(#c38) body:not(#c38) .c38-term-cta { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 16px 0; padding: 16px 18px; border-radius: 12px; background: #fff8e8; border: 1px solid #f0d9a8; text-align: left; }
html:not(#c38) body:not(#c38) .c38-term-cta strong { display: block; font-size: 17px; }
html:not(#c38) body:not(#c38) .c38-term-cta p { margin: 4px 0 0; font-size: 14px; color: #5f5a4f; }
html:not(#c38) body:not(#c38) .c38-term-cta-eyebrow { display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c38-gold-dark); }

/* Início da Minha Conta: linha do termo no card do plano */
/* (o card do plano é escuro: dourado claro para ler bem) */
html:not(#c38) body:not(#c38) .c38-acc-plan-facts .c38-term-fact a { font-weight: 700; color: var(--c38-gold, #dc9c34); text-decoration: underline; text-underline-offset: 2px; }
html:not(#c38) body:not(#c38) .c38-acc-plan-facts .c38-term-fact--pending { color: #f3c35c; font-weight: 600; }

/* Etiquetas de situação da Minha Conta: "Disponível para retirada na agência dos
 * Correios mais próxima" é longa — quebra a linha em vez de alargar a página. */
html:not(#c38) body:not(#c38) .c38-acc .c38-acc-chip { white-space: normal; max-width: 100%; text-align: left; }
html:not(#c38) body:not(#c38) .c38-acc .c38-acc-row-side .c38-acc-chip { max-width: 240px; }

@media (max-width: 600px) {
	html:not(#c38) body:not(#c38) .c38-term { padding: 16px; border-radius: 12px; }
	html:not(#c38) body:not(#c38) .c38-term-head h2 { font-size: 20px; }
	html:not(#c38) body:not(#c38) .c38-term-doc { max-height: 55vh; padding: 14px; }
	html:not(#c38) body:not(#c38) .c38-sig-pad { height: 170px; }
	html:not(#c38) body:not(#c38) .c38-term button.c38-term-submit { width: 100%; }
	html:not(#c38) body:not(#c38) .c38-nf-card { padding: 16px; }
}
